From c5f56cdd6e29ffcc435ddc5937cdef7d30733ed6 Mon Sep 17 00:00:00 2001 From: LastLife <43018861+LastLifeLeft@users.noreply.github.com> Date: Sat, 2 May 2026 15:49:06 +0200 Subject: [PATCH] V1.0 --- .gitignore | 6 + Client/Default Apps/AppManager.sbi | 411 + Client/Default Apps/FileExplorer.sbi | 301 + Client/Default Apps/Settings.sbi | 256 + Client/Default Apps/TextEditor.sbi | 217 + Client/Default Apps/WebBrowser.sbi | 73 + Client/Includes/AppRuntime.sbi | 409 + Client/Includes/Desktop.sbi | 603 + Client/Includes/FS.sbi | 251 + Client/Includes/FileCache.sbi | 166 + Client/Includes/General.sbi | 48 + Client/Includes/Login.sbi | 85 + Client/Includes/Modules.sbi | 69 + Client/Includes/Notify.sbi | 241 + Client/KUMOS.sbp | 85 + Client/Libraries/IDB.sbi | 165 + Client/Main.sb | 37 + Client/kumos.js | 124 + SDK/JS/helloworld.zip | Bin 0 -> 1906 bytes SDK/JS/kumos.js | 124 + SDK/SpiderBasic/KUMOS.sbi | 229 + SDK/SpiderBasic/Template.sb | 123 + Server/Includes/AppStore.pbi | 408 + Server/Includes/Auth.pbi | 121 + Server/Includes/Database.pbi | 420 + Server/Includes/FileSystem.pbi | 299 + Server/Includes/General.pbi | 68 + Server/Includes/Modules.pbi | 87 + Server/Includes/Router.pbi | 117 + Server/KUMOS Server.pbp | 63 + Server/Libraries/FastCGI.pbi | 793 + Server/Libraries/WebServer.pbi | 734 + Server/Main.pb | 98 + Server/www/index.html | 50 + Server/www/js.js | 5803 +++ Server/www/kumos.js | 124 + Server/www/spiderbasic/canvas-toBlob.min.js | 3 + Server/www/spiderbasic/canvas2svg.js | 1214 + Server/www/spiderbasic/cipher/crc.js | 109 + Server/www/spiderbasic/cipher/md5.js | 1 + Server/www/spiderbasic/cipher/sha3.js | 23 + Server/www/spiderbasic/debug.js | 211 + .../dojo/cbtree/errors/CBTErrors.json | 25 + .../dojo/cbtree/icons/fileIconsMS.css | 1 + .../dojo/cbtree/themes/claro/claro.css | 1 + .../www/spiderbasic/dojo/dgrid/css/dgrid.css | 1 + .../css/images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../css/images/ui-icons_ffffff_256x240.png | Bin 0 -> 4979 bytes Server/www/spiderbasic/dojo/dojo.js | 1122 + Server/www/spiderbasic/dojo/nls/colors.js | 10 + Server/www/spiderbasic/dojo/nls/dojo_ar.js | 27 + Server/www/spiderbasic/dojo/nls/dojo_ca.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_cs.js | 18 + Server/www/spiderbasic/dojo/nls/dojo_da.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_de.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_el.js | 26 + Server/www/spiderbasic/dojo/nls/dojo_en-gb.js | 15 + Server/www/spiderbasic/dojo/nls/dojo_en-us.js | 15 + Server/www/spiderbasic/dojo/nls/dojo_es-es.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_fi-fi.js | 17 + Server/www/spiderbasic/dojo/nls/dojo_fr-fr.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_he-il.js | 25 + Server/www/spiderbasic/dojo/nls/dojo_hu.js | 17 + Server/www/spiderbasic/dojo/nls/dojo_it-it.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_ja-jp.js | 19 + Server/www/spiderbasic/dojo/nls/dojo_ko-kr.js | 19 + Server/www/spiderbasic/dojo/nls/dojo_nb.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_nl-nl.js | 15 + Server/www/spiderbasic/dojo/nls/dojo_pl.js | 17 + Server/www/spiderbasic/dojo/nls/dojo_pt-br.js | 17 + Server/www/spiderbasic/dojo/nls/dojo_pt-pt.js | 17 + Server/www/spiderbasic/dojo/nls/dojo_ru.js | 26 + Server/www/spiderbasic/dojo/nls/dojo_sk.js | 17 + Server/www/spiderbasic/dojo/nls/dojo_sl.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_sv.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_th.js | 25 + Server/www/spiderbasic/dojo/nls/dojo_tr.js | 16 + Server/www/spiderbasic/dojo/nls/dojo_zh-cn.js | 20 + Server/www/spiderbasic/dojo/nls/dojo_zh-tw.js | 19 + .../www/spiderbasic/dojo/resources/blank.gif | Bin 0 -> 43 bytes .../spiderbasic/dojo/themes/claro/claro.css | 1 + .../themes/claro/form/images/buttonArrows.png | Bin 0 -> 297 bytes .../claro/form/images/buttonDisabled.png | Bin 0 -> 105 bytes .../claro/form/images/buttonDisabled.svg | 23 + .../claro/form/images/buttonEnabled.png | Bin 0 -> 122 bytes .../claro/form/images/buttonEnabled.svg | 24 + .../images/checkboxAndRadioButtons_IE6.png | Bin 0 -> 2160 bytes .../form/images/checkboxRadioButtonStates.png | Bin 0 -> 3438 bytes .../claro/form/images/commonFormArrows.png | Bin 0 -> 314 bytes .../dojo/themes/claro/form/images/error.png | Bin 0 -> 355 bytes .../themes/claro/form/images/sliderThumbs.png | Bin 0 -> 1222 bytes .../themes/claro/images/activeGradient.png | Bin 0 -> 94 bytes .../themes/claro/images/activeGradient.svg | 19 + .../dojo/themes/claro/images/calendar.png | Bin 0 -> 142 bytes .../themes/claro/images/calendarArrows.png | Bin 0 -> 1238 bytes .../claro/images/calendarArrows8bit.png | Bin 0 -> 998 bytes .../themes/claro/images/checkmarkNoBorder.gif | Bin 0 -> 1658 bytes .../themes/claro/images/checkmarkNoBorder.png | Bin 0 -> 1394 bytes .../themes/claro/images/dialogCloseIcon.png | Bin 0 -> 1423 bytes .../claro/images/dialogCloseIcon8bit.png | Bin 0 -> 649 bytes .../dojo/themes/claro/images/dnd.png | Bin 0 -> 1910 bytes .../themes/claro/images/loadingAnimation.gif | Bin 0 -> 631 bytes .../themes/claro/images/progressBarAnim.gif | Bin 0 -> 4458 bytes .../themes/claro/images/progressBarFull.png | Bin 0 -> 127 bytes .../dojo/themes/claro/images/spriteArrows.png | Bin 0 -> 175 bytes .../themes/claro/images/standardGradient.png | Bin 0 -> 101 bytes .../themes/claro/images/standardGradient.svg | 18 + .../dojo/themes/claro/images/tooltip.png | Bin 0 -> 713 bytes .../dojo/themes/claro/images/tooltip8bit.png | Bin 0 -> 534 bytes .../themes/claro/images/treeExpandImages.png | Bin 0 -> 465 bytes .../claro/images/treeExpandImages8bit.png | Bin 0 -> 744 bytes .../claro/layout/images/tabBottomSelected.png | Bin 0 -> 118 bytes .../claro/layout/images/tabBottomSelected.svg | 18 + .../layout/images/tabBottomUnselected.png | Bin 0 -> 110 bytes .../layout/images/tabBottomUnselected.svg | 19 + .../themes/claro/layout/images/tabClose.png | Bin 0 -> 1410 bytes .../claro/layout/images/tabLeftSelected.png | Bin 0 -> 213 bytes .../claro/layout/images/tabLeftSelected.svg | 17 + .../claro/layout/images/tabLeftUnselected.png | Bin 0 -> 106 bytes .../claro/layout/images/tabLeftUnselected.svg | 16 + .../themes/claro/layout/images/tabNested.png | Bin 0 -> 272 bytes .../claro/layout/images/tabRightSelected.png | Bin 0 -> 210 bytes .../claro/layout/images/tabRightSelected.svg | 17 + .../layout/images/tabRightUnselected.png | Bin 0 -> 105 bytes .../layout/images/tabRightUnselected.svg | 16 + .../claro/layout/images/tabTopSelected.png | Bin 0 -> 120 bytes .../claro/layout/images/tabTopSelected.svg | 18 + .../claro/layout/images/tabTopUnselected.png | Bin 0 -> 121 bytes .../claro/layout/images/tabTopUnselected.svg | 19 + .../www/spiderbasic/dojo/themes/flat/flat.css | 33 + .../css/font-awesome.min.css | 1 + .../font-awesome-4.5.0/fonts/FontAwesome.otf | Bin 0 -> 109688 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 70807 bytes .../fonts/fontawesome-webfont.ttf | Bin 0 -> 142072 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 83588 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 66624 bytes .../flat/images/images/loadingAnimation.gif | Bin 0 -> 718 bytes .../flat/images/images/progressBarStrips.png | Bin 0 -> 1279 bytes .../themes/flat/images/loadingAnimation.gif | Bin 0 -> 718 bytes .../themes/flat/images/progressBarStrips.png | Bin 0 -> 1279 bytes Server/www/spiderbasic/dojo/util/touch.js | 141 + Server/www/spiderbasic/filesaver.min.js | 7 + Server/www/spiderbasic/forge/aes.js | 967 + Server/www/spiderbasic/forge/cipher.js | 311 + Server/www/spiderbasic/forge/cipherModes.js | 816 + Server/www/spiderbasic/forge/forge.js | 71 + Server/www/spiderbasic/forge/md.js | 318 + Server/www/spiderbasic/forge/sha1.js | 228 + Server/www/spiderbasic/forge/sha224.js | 248 + Server/www/spiderbasic/forge/sha256.js | 248 + Server/www/spiderbasic/forge/sha512.js | 463 + Server/www/spiderbasic/forge/util.js | 3040 ++ Server/www/spiderbasic/init.js | 113 + Server/www/spiderbasic/interact.min.js | 4 + Server/www/spiderbasic/jdataview.min.js | 2 + .../www/spiderbasic/jquery-ui.custom.min.js | 6 + Server/www/spiderbasic/jquery.blockUI.min.js | 6 + Server/www/spiderbasic/jquery.injectCSS.js | 176 + Server/www/spiderbasic/jquery.min.js | 2 + Server/www/spiderbasic/jspdf.js | 32935 ++++++++++++++++ Server/www/spiderbasic/localforage.min.js | 7 + Server/www/spiderbasic/main.js | 100 + Server/www/spiderbasic/media/background.png | Bin 0 -> 215514 bytes .../spiderbasic/mousetrap-global-bind.min.js | 1 + Server/www/spiderbasic/mousetrap.min.js | 11 + .../dark-onsen-css-components.min.css | 35 + .../onsenui-css/font_awesome/css/all.min.css | 5 + .../font_awesome/css/brands.min.css | 5 + .../font_awesome/css/fontawesome.min.css | 5 + .../font_awesome/css/regular.min.css | 5 + .../font_awesome/css/solid.min.css | 5 + .../font_awesome/css/svg-with-js.min.css | 5 + .../font_awesome/css/v4-shims.min.css | 5 + .../font_awesome/webfonts/fa-brands-400.eot | Bin 0 -> 129916 bytes .../font_awesome/webfonts/fa-brands-400.svg | 3459 ++ .../font_awesome/webfonts/fa-brands-400.ttf | Bin 0 -> 129612 bytes .../font_awesome/webfonts/fa-brands-400.woff | Bin 0 -> 87688 bytes .../font_awesome/webfonts/fa-brands-400.woff2 | Bin 0 -> 74768 bytes .../font_awesome/webfonts/fa-regular-400.eot | Bin 0 -> 34388 bytes .../font_awesome/webfonts/fa-regular-400.svg | 803 + .../font_awesome/webfonts/fa-regular-400.ttf | Bin 0 -> 34092 bytes .../font_awesome/webfonts/fa-regular-400.woff | Bin 0 -> 16804 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 13552 bytes .../font_awesome/webfonts/fa-solid-900.eot | Bin 0 -> 186728 bytes .../font_awesome/webfonts/fa-solid-900.svg | 4527 +++ .../font_awesome/webfonts/fa-solid-900.ttf | Bin 0 -> 186444 bytes .../font_awesome/webfonts/fa-solid-900.woff | Bin 0 -> 96256 bytes .../font_awesome/webfonts/fa-solid-900.woff2 | Bin 0 -> 74256 bytes .../ionicons/css/ionicons-core.min.css | 11 + .../onsenui-css/ionicons/css/ionicons.min.css | 11 + .../onsenui-css/ionicons/fonts/ionicons.eot | Bin 0 -> 112662 bytes .../onsenui-css/ionicons/fonts/ionicons.svg | 2090 + .../onsenui-css/ionicons/fonts/ionicons.ttf | Bin 0 -> 112484 bytes .../onsenui-css/ionicons/fonts/ionicons.woff | Bin 0 -> 65916 bytes .../onsenui-css/ionicons/fonts/ionicons.woff2 | Bin 0 -> 50556 bytes .../css/material-design-iconic-font.min.css | 1 + .../fonts/Material-Design-Iconic-Font.eot | Bin 0 -> 42495 bytes .../fonts/Material-Design-Iconic-Font.svg | 787 + .../fonts/Material-Design-Iconic-Font.ttf | Bin 0 -> 99212 bytes .../fonts/Material-Design-Iconic-Font.woff | Bin 0 -> 50312 bytes .../fonts/Material-Design-Iconic-Font.woff2 | Bin 0 -> 38384 bytes .../old-onsen-css-components.min.css | 35 + .../onsenui-css/onsen-css-components.min.css | 35 + .../onsenui-css/onsenui-core.min.css | 1 + .../spiderbasic/onsenui-css/onsenui-fonts.css | 4 + .../spiderbasic/onsenui-css/onsenui.min.css | 1 + Server/www/spiderbasic/onsenui.min.js | 11 + Server/www/spiderbasic/pako.min.js | 2 + Server/www/spiderbasic/paper-full.min.js | 32 + Server/www/spiderbasic/pixi-filters.js | 2065 + Server/www/spiderbasic/pixi.min.js | 9 + Server/www/spiderbasic/platform.js | 1130 + Server/www/spiderbasic/preloadjs.min.js | 13 + Server/www/spiderbasic/put.min.js | 4 + Server/www/spiderbasic/seedrandom.min.js | 1 + Server/www/spiderbasic/soundjs.min.js | 18 + Server/www/spiderbasic/sql.min.js | 473 + .../spiderbasic/themes/aeroglass/close.png | Bin 0 -> 198 bytes .../spiderbasic/themes/aeroglass/window.css | 129 + Server/www/spiderbasic/themes/flat/close.png | Bin 0 -> 198 bytes Server/www/spiderbasic/themes/flat/window.css | 129 + Server/www/spiderbasic/wgxpath.min.js | 77 + Server/www/spiderbasic/xdate.min.js | 18 + Server/www/spiderbasic/xregexp.min.js | 2 + 224 files changed, 72888 insertions(+) create mode 100644 .gitignore create mode 100644 Client/Default Apps/AppManager.sbi create mode 100644 Client/Default Apps/FileExplorer.sbi create mode 100644 Client/Default Apps/Settings.sbi create mode 100644 Client/Default Apps/TextEditor.sbi create mode 100644 Client/Default Apps/WebBrowser.sbi create mode 100644 Client/Includes/AppRuntime.sbi create mode 100644 Client/Includes/Desktop.sbi create mode 100644 Client/Includes/FS.sbi create mode 100644 Client/Includes/FileCache.sbi create mode 100644 Client/Includes/General.sbi create mode 100644 Client/Includes/Login.sbi create mode 100644 Client/Includes/Modules.sbi create mode 100644 Client/Includes/Notify.sbi create mode 100644 Client/KUMOS.sbp create mode 100644 Client/Libraries/IDB.sbi create mode 100644 Client/Main.sb create mode 100644 Client/kumos.js create mode 100644 SDK/JS/helloworld.zip create mode 100644 SDK/JS/kumos.js create mode 100644 SDK/SpiderBasic/KUMOS.sbi create mode 100644 SDK/SpiderBasic/Template.sb create mode 100644 Server/Includes/AppStore.pbi create mode 100644 Server/Includes/Auth.pbi create mode 100644 Server/Includes/Database.pbi create mode 100644 Server/Includes/FileSystem.pbi create mode 100644 Server/Includes/General.pbi create mode 100644 Server/Includes/Modules.pbi create mode 100644 Server/Includes/Router.pbi create mode 100644 Server/KUMOS Server.pbp create mode 100644 Server/Libraries/FastCGI.pbi create mode 100644 Server/Libraries/WebServer.pbi create mode 100644 Server/Main.pb create mode 100644 Server/www/index.html create mode 100644 Server/www/js.js create mode 100644 Server/www/kumos.js create mode 100644 Server/www/spiderbasic/canvas-toBlob.min.js create mode 100644 Server/www/spiderbasic/canvas2svg.js create mode 100644 Server/www/spiderbasic/cipher/crc.js create mode 100644 Server/www/spiderbasic/cipher/md5.js create mode 100644 Server/www/spiderbasic/cipher/sha3.js create mode 100644 Server/www/spiderbasic/debug.js create mode 100644 Server/www/spiderbasic/dojo/cbtree/errors/CBTErrors.json create mode 100644 Server/www/spiderbasic/dojo/cbtree/icons/fileIconsMS.css create mode 100644 Server/www/spiderbasic/dojo/cbtree/themes/claro/claro.css create mode 100644 Server/www/spiderbasic/dojo/dgrid/css/dgrid.css create mode 100644 Server/www/spiderbasic/dojo/dgrid/css/images/ui-icons_222222_256x240.png create mode 100644 Server/www/spiderbasic/dojo/dgrid/css/images/ui-icons_ffffff_256x240.png create mode 100644 Server/www/spiderbasic/dojo/dojo.js create mode 100644 Server/www/spiderbasic/dojo/nls/colors.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_ar.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_ca.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_cs.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_da.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_de.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_el.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_en-gb.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_en-us.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_es-es.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_fi-fi.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_fr-fr.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_he-il.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_hu.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_it-it.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_ja-jp.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_ko-kr.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_nb.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_nl-nl.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_pl.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_pt-br.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_pt-pt.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_ru.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_sk.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_sl.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_sv.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_th.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_tr.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_zh-cn.js create mode 100644 Server/www/spiderbasic/dojo/nls/dojo_zh-tw.js create mode 100644 Server/www/spiderbasic/dojo/resources/blank.gif create mode 100644 Server/www/spiderbasic/dojo/themes/claro/claro.css create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/buttonArrows.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/buttonDisabled.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/buttonDisabled.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/buttonEnabled.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/buttonEnabled.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/checkboxAndRadioButtons_IE6.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/checkboxRadioButtonStates.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/commonFormArrows.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/error.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/form/images/sliderThumbs.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/activeGradient.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/activeGradient.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/calendar.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/calendarArrows.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/calendarArrows8bit.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/checkmarkNoBorder.gif create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/checkmarkNoBorder.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/dialogCloseIcon.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/dialogCloseIcon8bit.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/dnd.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/loadingAnimation.gif create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/progressBarAnim.gif create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/progressBarFull.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/spriteArrows.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/standardGradient.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/standardGradient.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/tooltip.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/tooltip8bit.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/treeExpandImages.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/images/treeExpandImages8bit.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomSelected.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomSelected.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomUnselected.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomUnselected.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabClose.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftSelected.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftSelected.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftUnselected.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftUnselected.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabNested.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightSelected.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightSelected.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightUnselected.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightUnselected.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopSelected.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopSelected.svg create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopUnselected.png create mode 100644 Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopUnselected.svg create mode 100644 Server/www/spiderbasic/dojo/themes/flat/flat.css create mode 100644 Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/css/font-awesome.min.css create mode 100644 Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/fonts/FontAwesome.otf create mode 100644 Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/fonts/fontawesome-webfont.eot create mode 100644 Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/fonts/fontawesome-webfont.ttf create mode 100644 Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/fonts/fontawesome-webfont.woff create mode 100644 Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/fonts/fontawesome-webfont.woff2 create mode 100644 Server/www/spiderbasic/dojo/themes/flat/images/images/loadingAnimation.gif create mode 100644 Server/www/spiderbasic/dojo/themes/flat/images/images/progressBarStrips.png create mode 100644 Server/www/spiderbasic/dojo/themes/flat/images/loadingAnimation.gif create mode 100644 Server/www/spiderbasic/dojo/themes/flat/images/progressBarStrips.png create mode 100644 Server/www/spiderbasic/dojo/util/touch.js create mode 100644 Server/www/spiderbasic/filesaver.min.js create mode 100644 Server/www/spiderbasic/forge/aes.js create mode 100644 Server/www/spiderbasic/forge/cipher.js create mode 100644 Server/www/spiderbasic/forge/cipherModes.js create mode 100644 Server/www/spiderbasic/forge/forge.js create mode 100644 Server/www/spiderbasic/forge/md.js create mode 100644 Server/www/spiderbasic/forge/sha1.js create mode 100644 Server/www/spiderbasic/forge/sha224.js create mode 100644 Server/www/spiderbasic/forge/sha256.js create mode 100644 Server/www/spiderbasic/forge/sha512.js create mode 100644 Server/www/spiderbasic/forge/util.js create mode 100644 Server/www/spiderbasic/init.js create mode 100644 Server/www/spiderbasic/interact.min.js create mode 100644 Server/www/spiderbasic/jdataview.min.js create mode 100644 Server/www/spiderbasic/jquery-ui.custom.min.js create mode 100644 Server/www/spiderbasic/jquery.blockUI.min.js create mode 100644 Server/www/spiderbasic/jquery.injectCSS.js create mode 100644 Server/www/spiderbasic/jquery.min.js create mode 100644 Server/www/spiderbasic/jspdf.js create mode 100644 Server/www/spiderbasic/localforage.min.js create mode 100644 Server/www/spiderbasic/main.js create mode 100644 Server/www/spiderbasic/media/background.png create mode 100644 Server/www/spiderbasic/mousetrap-global-bind.min.js create mode 100644 Server/www/spiderbasic/mousetrap.min.js create mode 100644 Server/www/spiderbasic/onsenui-css/dark-onsen-css-components.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/css/all.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/css/brands.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/css/fontawesome.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/css/regular.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/css/solid.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/css/svg-with-js.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/css/v4-shims.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.eot create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.svg create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.ttf create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.woff create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.woff2 create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.eot create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.svg create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.ttf create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.woff create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.woff2 create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.eot create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.svg create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.ttf create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.woff create mode 100644 Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.woff2 create mode 100644 Server/www/spiderbasic/onsenui-css/ionicons/css/ionicons-core.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/ionicons/css/ionicons.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.eot create mode 100644 Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.svg create mode 100644 Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.ttf create mode 100644 Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.woff create mode 100644 Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.woff2 create mode 100644 Server/www/spiderbasic/onsenui-css/material-design-iconic-font/css/material-design-iconic-font.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.eot create mode 100644 Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.svg create mode 100644 Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.ttf create mode 100644 Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff create mode 100644 Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff2 create mode 100644 Server/www/spiderbasic/onsenui-css/old-onsen-css-components.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/onsen-css-components.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/onsenui-core.min.css create mode 100644 Server/www/spiderbasic/onsenui-css/onsenui-fonts.css create mode 100644 Server/www/spiderbasic/onsenui-css/onsenui.min.css create mode 100644 Server/www/spiderbasic/onsenui.min.js create mode 100644 Server/www/spiderbasic/pako.min.js create mode 100644 Server/www/spiderbasic/paper-full.min.js create mode 100644 Server/www/spiderbasic/pixi-filters.js create mode 100644 Server/www/spiderbasic/pixi.min.js create mode 100644 Server/www/spiderbasic/platform.js create mode 100644 Server/www/spiderbasic/preloadjs.min.js create mode 100644 Server/www/spiderbasic/put.min.js create mode 100644 Server/www/spiderbasic/seedrandom.min.js create mode 100644 Server/www/spiderbasic/soundjs.min.js create mode 100644 Server/www/spiderbasic/sql.min.js create mode 100644 Server/www/spiderbasic/themes/aeroglass/close.png create mode 100644 Server/www/spiderbasic/themes/aeroglass/window.css create mode 100644 Server/www/spiderbasic/themes/flat/close.png create mode 100644 Server/www/spiderbasic/themes/flat/window.css create mode 100644 Server/www/spiderbasic/wgxpath.min.js create mode 100644 Server/www/spiderbasic/xdate.min.js create mode 100644 Server/www/spiderbasic/xregexp.min.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bee4995 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +Client/spiderbasic.js +Client/SpiderBasic_Compilation0.html +Server/kumos.db +/Server/blobs +/Server/apps +/Server/tmp diff --git a/Client/Default Apps/AppManager.sbi b/Client/Default Apps/AppManager.sbi new file mode 100644 index 0000000..560c4c1 --- /dev/null +++ b/Client/Default Apps/AppManager.sbi @@ -0,0 +1,411 @@ +DeclareModule AppManager + Declare Open() +EndDeclareModule + +Module AppManager + EnableExplicit + + ;- Layout + #Win_W = 520 + #Win_H = 380 + #Toolbar_H = 40 + #Statusbar_H = 26 + #List_Row_H = 48 + + ;- Colors + Global Color_Bg = RGB( 22, 22, 34) + Global Color_Row_Odd = RGB( 28, 28, 42) + Global Color_Row_Even = RGB( 22, 22, 34) + Global Color_Sel = RGB( 52, 52, 72) + Global Color_Accent = RGB(100, 120, 255) + Global Color_Text = RGB(200, 200, 215) + Global Color_Dim = RGB(110, 110, 135) + Global Color_Sep = RGB( 48, 48, 65) + + Global Font_UI = LoadFont(#PB_Any, "sans-serif", 13) + Global Font_Small = LoadFont(#PB_Any, "sans-serif", 11) + + ;- App list + Structure InstalledApp + ID.s + Name.s + Manifest.s + Permissions.s + EndStructure + + Global NewList _Apps.InstalledApp() + + ;- State + Global Window = 0 + Global _Canvas + Global _StatusLabel + Global _InstallBtn + Global _LaunchBtn + Global _UninstallBtn + Global _Hover = -1 + Global _Selected = -1 + Global _PendingUninstall.s = "" + + ;- Install dialog + Global _InputWin = 0 + Global _URLField + Global _OKBtn + Global _CancelBtn + + ;- Private declarations + Declare _Refresh() + Declare _DrawList() + Declare _UpdateButtons() + Declare _Status(Msg.s) + Declare _OpenInstallDialog() + Declare _CloseInstallDialog() + Declare _ListCallback(Success, DataString.s) + Declare _InstallCallback(Success, DataString.s) + Declare _UninstallCallback(Success, DataString.s) + Declare _DoUninstall(Result) + Declare Handler_Close() + Declare Handler_Canvas() + Declare Handler_Install() + Declare Handler_Launch() + Declare Handler_Uninstall() + Declare Handler_InputOK() + Declare Handler_InputCancel() + Declare Handler_Resize() + + ;- Public + Procedure Open() + If IsWindow(Window) + SetActiveWindow(Window) : ProcedureReturn + EndIf + + Window = OpenWindow(#PB_Any, 160, 100, #Win_W, #Win_H, "App Manager", + #PB_Window_TitleBar | #PB_Window_SizeGadget | #PB_Window_SystemMenu) + SetWindowColor(Window, Color_Bg) + + _InstallBtn = ButtonGadget(#PB_Any, 4, 6, 100, #Toolbar_H - 12, "+ Install") + _LaunchBtn = ButtonGadget(#PB_Any, 112, 6, 80, #Toolbar_H - 12, "Launch") + _UninstallBtn = ButtonGadget(#PB_Any, 200, 6, 90, #Toolbar_H - 12, "Uninstall") + + _Canvas = CanvasGadget(#PB_Any, 0, #Toolbar_H, + #Win_W, #Win_H - #Toolbar_H - #Statusbar_H) + + _StatusLabel = TextGadget(#PB_Any, 4, #Win_H - #Statusbar_H + 4, + #Win_W - 8, #Statusbar_H - 8, "") + SetGadgetColor(_StatusLabel, #PB_Gadget_FrontColor, Color_Dim) + SetGadgetColor(_StatusLabel, #PB_Gadget_BackColor, Color_Bg) + + BindGadgetEvent(_InstallBtn, @Handler_Install()) + BindGadgetEvent(_LaunchBtn, @Handler_Launch()) + BindGadgetEvent(_UninstallBtn, @Handler_Uninstall()) + BindGadgetEvent(_Canvas, @Handler_Canvas()) + BindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Window) + BindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window) + + Desktop::Register("App Manager", Window, "📦") + _UpdateButtons() + _Refresh() + EndProcedure + + ;- Private + Procedure _Refresh() + _Status("Loading...") + ClearList(_Apps()) + _Selected = -1 + _DrawList() + HTTPRequest(#PB_HTTP_Get, "/api/apps/list", "", @_ListCallback()) + EndProcedure + + Procedure _DrawList() + If Not IsGadget(_Canvas) : ProcedureReturn : EndIf + If Not StartDrawing(CanvasOutput(_Canvas)) : ProcedureReturn : EndIf + + Protected W = OutputWidth() + Protected H = OutputHeight() + + Box(0, 0, W, H, Color_Bg) + + If IsFont(Font_UI) : DrawingFont(FontID(Font_UI)) : EndIf + Protected TH = TextHeight("A") + + ForEach _Apps() + Protected i = ListIndex(_Apps()) + Protected Y = i * #List_Row_H + If Y + #List_Row_H > H : Break : EndIf + + Protected RowBg + If i = _Selected + RowBg = Color_Sel + ElseIf i = _Hover + RowBg = RGB(40, 40, 58) + ElseIf i % 2 = 0 + RowBg = Color_Row_Even + Else + RowBg = Color_Row_Odd + EndIf + + Box(0, Y, W, #List_Row_H, RowBg) + If i = _Selected : Box(0, Y, 3, #List_Row_H, Color_Accent) : EndIf + + DrawingMode(#PB_2DDrawing_Transparent) + DrawText(14, Y + (#List_Row_H / 2) - TH - 1, _Apps()\Name, Color_Text) + + If IsFont(Font_Small) : DrawingFont(FontID(Font_Small)) : EndIf + DrawText(14, Y + (#List_Row_H / 2) + 2, _Apps()\ID, Color_Dim) + If IsFont(Font_UI) : DrawingFont(FontID(Font_UI)) : EndIf + + Box(0, Y + #List_Row_H - 1, W, 1, Color_Sep) + Next + + If ListSize(_Apps()) = 0 + DrawingMode(#PB_2DDrawing_Transparent) + If IsFont(Font_UI) : DrawingFont(FontID(Font_UI)) : EndIf + DrawText((W - TextWidth("No apps installed")) / 2, + (H - TH) / 2, "No apps installed", Color_Dim) + EndIf + + StopDrawing() + EndProcedure + + Procedure _UpdateButtons() + DisableGadget(_LaunchBtn, Bool(_Selected < 0)) + DisableGadget(_UninstallBtn, Bool(_Selected < 0)) + EndProcedure + + Procedure _Status(Msg.s) + If IsGadget(_StatusLabel) : SetGadgetText(_StatusLabel, Msg) : EndIf + EndProcedure + + Procedure _OpenInstallDialog() + If IsWindow(_InputWin) : ProcedureReturn : EndIf + + Protected X = WindowX(Window) + (#Win_W / 2) - 170 + Protected Y = WindowY(Window) + (#Win_H / 2) - 50 + + _InputWin = OpenWindow(#PB_Any, X, Y, 340, 100, "Install App from URL", + #PB_Window_TitleBar | #PB_Window_SystemMenu) + TextGadget(#PB_Any, 10, 14, 320, 18, "Package URL (.zip):") + _URLField = StringGadget(#PB_Any, 10, 34, 320, 26, "") + _OKBtn = ButtonGadget(#PB_Any, 10, 68, 150, 24, "Install") + _CancelBtn = ButtonGadget(#PB_Any, 170, 68, 160, 24, "Cancel") + SetActiveGadget(_URLField) + + BindGadgetEvent(_OKBtn, @Handler_InputOK()) + BindGadgetEvent(_CancelBtn, @Handler_InputCancel()) + BindEvent(#PB_Event_CloseWindow, @Handler_InputCancel(), _InputWin) + EndProcedure + + Procedure _CloseInstallDialog() + If Not IsWindow(_InputWin) : ProcedureReturn : EndIf + UnbindGadgetEvent(_OKBtn, @Handler_InputOK()) + UnbindGadgetEvent(_CancelBtn, @Handler_InputCancel()) + UnbindEvent(#PB_Event_CloseWindow, @Handler_InputCancel(), _InputWin) + CloseWindow(_InputWin) + _InputWin = 0 + EndProcedure + + ;- HTTP callbacks + Procedure _ListCallback(Success, DataString.s) + If Not IsWindow(Window) : ProcedureReturn : EndIf + + ClearList(_Apps()) + _Selected = -1 + + If Success And ParseJSON(0, DataString) + Protected Root = JSONValue(0) + Protected Total = JSONArraySize(Root) + Protected i + + For i = 0 To Total - 1 + Protected Item = GetJSONElement(Root, i) + Protected ManiNode = GetJSONMember(Item, "manifest") + + AddElement(_Apps()) + _Apps()\ID = GetJSONString(GetJSONMember(Item, "app_id")) + + Protected N.s = GetJSONString(GetJSONMember(ManiNode, "name")) + If N <> "" + _Apps()\Name = N + Else + _Apps()\Name = _Apps()\ID + EndIf + + ; Re-serialise manifest to a JSON string + Protected Icon.s = GetJSONString(GetJSONMember(ManiNode, "icon")) + _Apps()\Manifest = "{" + + ~"\"id\":\"" + GetJSONString(GetJSONMember(ManiNode, "id")) + ~"\"," + + ~"\"name\":\"" + GetJSONString(GetJSONMember(ManiNode, "name")) + ~"\"," + + ~"\"version\":\"" + GetJSONString(GetJSONMember(ManiNode, "version")) + ~"\"," + + ~"\"icon\":\"" + ReplaceString(Icon, ~"\"", ~"\\\"") + ~"\"," + + ~"\"entry\":\"" + GetJSONString(GetJSONMember(ManiNode, "entry")) + ~"\"}" + + ; Re-serialise permissions array to a JSON string + Protected PermNode = GetJSONMember(Item, "permissions") + Protected PermCount = JSONArraySize(PermNode) + Protected j, Perms.s = "[" + For j = 0 To PermCount - 1 + If j > 0 : Perms + "," : EndIf + Perms + ~"\"" + GetJSONString(GetJSONElement(PermNode, j)) + ~"\"" + Next + _Apps()\Permissions = Perms + "]" + + ; Sync with the desktop start menu + Desktop::InstallThirdPartyApp(_Apps()\ID, _Apps()\Manifest, + _Apps()\Permissions, Icon) + Next + FreeJSON(0) + + Protected Count = ListSize(_Apps()) + If Count = 1 + _Status("1 app installed") + Else + _Status(Str(Count) + " apps installed") + EndIf + Else + _Status("Failed to load app list.") + EndIf + + _DrawList() + _UpdateButtons() + EndProcedure + + Procedure _InstallCallback(Success, DataString.s) + If Not IsWindow(Window) : ProcedureReturn : EndIf + DisableGadget(_InstallBtn, #False) + + If Success And ParseJSON(0, DataString) + Protected Root = JSONValue(0) + If GetJSONBoolean(GetJSONMember(Root, "success")) + Protected AppID.s = GetJSONString(GetJSONMember(Root, "app_id")) + FreeJSON(0) + Notify::Toast("Installed: " + AppID, Notify::#Success) + _Refresh() + ProcedureReturn + EndIf + Protected Err.s = GetJSONString(GetJSONMember(Root, "error")) + FreeJSON(0) + Notify::Toast(Err, Notify::#Error) + Else + Notify::Toast("Install failed.", Notify::#Error) + EndIf + _Status("Ready.") + EndProcedure + + Procedure _UninstallCallback(Success, DataString.s) + If Not IsWindow(Window) : ProcedureReturn : EndIf + If Success And ParseJSON(0, DataString) + If GetJSONBoolean(GetJSONMember(JSONValue(0), "success")) + FreeJSON(0) + Notify::Toast("App uninstalled.", Notify::#Success) + Desktop::UninstallThirdPartyApp(_PendingUninstall) + _PendingUninstall = "" + _Refresh() + ProcedureReturn + EndIf + FreeJSON(0) + EndIf + Notify::Toast("Uninstall failed.", Notify::#Error) + _PendingUninstall = "" + _Status("Ready.") + EndProcedure + + ;- Event handlers + Procedure Handler_Canvas() + Protected EType = EventType() + Protected MY = GetGadgetAttribute(_Canvas, #PB_Canvas_MouseY) + Protected Row = MY / #List_Row_H + + Select EType + Case #PB_EventType_MouseMove + If Row >= ListSize(_Apps()) : Row = -1 : EndIf + If Row <> _Hover + _Hover = Row : _DrawList() + EndIf + + Case #PB_EventType_MouseLeave + If _Hover <> -1 : _Hover = -1 : _DrawList() : EndIf + + Case #PB_EventType_LeftButtonUp + If Row >= 0 And Row < ListSize(_Apps()) + _Selected = Row : _DrawList() : _UpdateButtons() + EndIf + + Case #PB_EventType_LeftDoubleClick + If Row >= 0 And Row < ListSize(_Apps()) + _Selected = Row + Handler_Launch() + EndIf + EndSelect + EndProcedure + + Procedure Handler_Install() + _OpenInstallDialog() + EndProcedure + + Procedure Handler_Launch() + If _Selected < 0 Or Not SelectElement(_Apps(), _Selected) : ProcedureReturn : EndIf + AppRuntime::Launch(_Apps()\ID, _Apps()\Manifest, _Apps()\Permissions) + EndProcedure + + Procedure Handler_Uninstall() + If _Selected < 0 Or Not SelectElement(_Apps(), _Selected) : ProcedureReturn : EndIf + Notify::Confirm("Uninstall " + _Apps()\Name, + "Remove this app? Private storage will also be deleted.", + @_DoUninstall()) + EndProcedure + + Procedure _DoUninstall(Result) + If Not Result Or _Selected < 0 : ProcedureReturn : EndIf + If Not SelectElement(_Apps(), _Selected) : ProcedureReturn : EndIf + _PendingUninstall = _Apps()\ID + _Status("Uninstalling " + _Apps()\ID + "...") + HTTPRequest(#PB_HTTP_Post, "/api/apps/uninstall", + "app_id=" + URLEncoder(_Apps()\ID, #PB_UTF8) + "&keep_data=0", + @_UninstallCallback()) + EndProcedure + + Procedure Handler_InputOK() + Protected URL.s = Trim(GetGadgetText(_URLField)) + If URL = "" : ProcedureReturn : EndIf + _CloseInstallDialog() + _Status("Installing...") + DisableGadget(_InstallBtn, #True) + HTTPRequest(#PB_HTTP_Post, "/api/apps/install", + "url=" + URLEncoder(URL, #PB_UTF8), @_InstallCallback()) + EndProcedure + + Procedure Handler_InputCancel() + _CloseInstallDialog() + EndProcedure + + Procedure Handler_Resize() + Protected W = WindowWidth(Window) + Protected H = WindowHeight(Window) + ResizeGadget(_Canvas, 0, #Toolbar_H, W, H - #Toolbar_H - #Statusbar_H) + ResizeGadget(_StatusLabel, 4, H - #Statusbar_H + 4, W - 8, #Statusbar_H - 8) + _DrawList() + EndProcedure + + Procedure Handler_Close() + _CloseInstallDialog() + UnbindGadgetEvent(_InstallBtn, @Handler_Install()) + UnbindGadgetEvent(_LaunchBtn, @Handler_Launch()) + UnbindGadgetEvent(_UninstallBtn, @Handler_Uninstall()) + UnbindGadgetEvent(_Canvas, @Handler_Canvas()) + UnbindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Window) + UnbindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window) + Desktop::Unregister(Window) + Window = 0 + EndProcedure + +EndModule + +; IDE Options = SpiderBasic 3.10 (Windows - x86) +; CursorPosition = 4 +; FirstLine = 30 +; Folding = DAA5 +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Default Apps/FileExplorer.sbi b/Client/Default Apps/FileExplorer.sbi new file mode 100644 index 0000000..e29fe51 --- /dev/null +++ b/Client/Default Apps/FileExplorer.sbi @@ -0,0 +1,301 @@ +DeclareModule FileExplorer + Declare Open() +EndDeclareModule + +Module FileExplorer + EnableExplicit + + ; Layout constants + #Toolbar_Height = 35 + #Statusbar_Height = 24 + #Window_W = 480 + #Window_H = 400 + #Max_Entries = 512 + + ; Gadgets + Global Window + Global UpButton + Global PathLabel + Global NewFolderButton + Global NewFileButton + Global ListView + Global StatusLabel + + ; Navigation state + Global CurrentPath.s = "/" + Global Dim PathStack.s(64) + Global StackDepth = 0 + + ; Entry cache (populated on each listing) + Global Dim EntryIDs.s(#Max_Entries) + Global Dim EntryNames.s(#Max_Entries) + Global Dim EntryIsDir(#Max_Entries) + Global EntryCount = 0 + + ; Input window state + Global InputWindow = 0 + Global InputField + Global InputMode ; 0 = new folder, 1 = new file + Global ButtonNew + Global CancelBtn + + ; Private declarations + Declare _Load(Path.s) + Declare _ListCallback(Success.i, DataString.s) + Declare _MkdirCallback(Success.i, DataString.s) + Declare _CreateFileCallback(Success.i, DataString.s) + Declare _OpenInputWindow(Mode.i) + Declare _CloseInputWindow() + Declare Handler_Resize() + Declare Handler_Up() + Declare Handler_NewFolder() + Declare Handler_NewFile() + Declare Handler_ListView() + Declare Handler_Close() + Declare Handler_InputConfirm() + Declare Handler_InputCancel() + + ; Public procedures + + Procedure Open() + If IsWindow(Window) + SetActiveWindow(Window) + ProcedureReturn + EndIf + + Window = OpenWindow(#PB_Any, 150, 80, #Window_W, #Window_H, "File Explorer", + #PB_Window_TitleBar | #PB_Window_SizeGadget | #PB_Window_SystemMenu) + + ; Toolbar + UpButton = ButtonGadget(#PB_Any, 2, 4, 30, #Toolbar_Height - 8, "↑") + PathLabel = TextGadget (#PB_Any, 36, 4, #Window_W - 200, #Toolbar_Height - 8, "/") + NewFolderButton= ButtonGadget(#PB_Any, #Window_W - 162, 4, 80, #Toolbar_Height - 8, "+ Folder") + NewFileButton = ButtonGadget(#PB_Any, #Window_W - 78, 4, 74, #Toolbar_Height - 8, "+ File") + + ; File list + ListView = ListViewGadget(#PB_Any, 0, #Toolbar_Height, + #Window_W, #Window_H - #Toolbar_Height - #Statusbar_Height) + + ; Status bar + StatusLabel = TextGadget(#PB_Any, 4, #Window_H - #Statusbar_Height + 4, + #Window_W - 8, #Statusbar_Height - 8, "") + + BindGadgetEvent(UpButton, @Handler_Up()) + BindGadgetEvent(NewFolderButton, @Handler_NewFolder()) + BindGadgetEvent(NewFileButton, @Handler_NewFile()) + BindGadgetEvent(ListView, @Handler_ListView()) + BindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Window) + BindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window) + + Desktop::Register("File Explorer", Window, "📁") + + CurrentPath = "/" + StackDepth = 0 + _Load("/") + EndProcedure + + ; Private procedures + + Procedure _Load(Path.s) + CurrentPath = Path + SetGadgetText(PathLabel, Path) + SetGadgetText(StatusLabel, "Loading...") + ClearGadgetItems(ListView) + EntryCount = 0 + FS::List(Path, @_ListCallback()) + EndProcedure + + Procedure _ListCallback(Success.i, DataString.s) + If Not Success Or Not IsWindow(Window) + Notify::Toast("Failed to load directory.", Notify::#Error) + ProcedureReturn + EndIf + + If Not ParseJSON(0, DataString) + Notify::Toast("Could not read directory.", Notify::#Error) + ProcedureReturn + EndIf + + Protected Root.i = JSONValue(0) + Protected Count.i = JSONArraySize(Root) + Protected i.i, Item.i + + ClearGadgetItems(ListView) + EntryCount = 0 + + For i = 0 To Count - 1 + If EntryCount >= #Max_Entries : Break : EndIf + Item = GetJSONElement(Root, i) + + EntryIDs(EntryCount) = Str(GetJSONInteger(GetJSONMember(Item, "id"))) + EntryNames(EntryCount) = GetJSONString(GetJSONMember(Item, "name")) + EntryIsDir(EntryCount) = GetJSONInteger(GetJSONMember(Item, "is_dir")) + + Protected Prefix.s = "[F] " + If EntryIsDir(EntryCount) : Prefix = "[D] " : EndIf + AddGadgetItem(ListView, -1, Prefix + EntryNames(EntryCount)) + EntryCount + 1 + Next + + FreeJSON(0) + + Protected Status.s = Str(EntryCount) + " item" + If EntryCount <> 1 : Status + "s" : EndIf + SetGadgetText(StatusLabel, Status) + EndProcedure + + Procedure _MkdirCallback(Success.i, DataString.s) + If Not IsWindow(Window) : ProcedureReturn : EndIf + _Load(CurrentPath) ; refresh regardless — server may have created it + EndProcedure + + Procedure _CreateFileCallback(Success.i, DataString.s) + If Not IsWindow(Window) : ProcedureReturn : EndIf + If Success And ParseJSON(0, DataString) + Protected Root.i = JSONValue(0) + If GetJSONBoolean(GetJSONMember(Root, "success")) + Protected ID.s = Str(GetJSONInteger(GetJSONMember(Root, "id"))) + Protected Path.s = CurrentPath + If Right(Path, 1) <> "/" : Path + "/" : EndIf + Path + EntryNames(0) ; name was stored in EntryNames(0) temporarily + FreeJSON(0) + _Load(CurrentPath) + TextEditor::Open(ID, Path) + ProcedureReturn + EndIf + FreeJSON(0) + EndIf + _Load(CurrentPath) + EndProcedure + + Procedure _OpenInputWindow(Mode.i) + If IsWindow(InputWindow) : ProcedureReturn : EndIf + InputMode = Mode + + Protected Title.s = "New Folder" + If Mode = 1 : Title = "New File" : EndIf + + Protected X.i = WindowX(Window) + (#Window_W / 2) - 150 + Protected Y.i = WindowY(Window) + (#Window_H / 2) - 45 + + InputWindow = OpenWindow(#PB_Any, X, Y, 300, 90, Title, + #PB_Window_TitleBar | #PB_Window_SystemMenu) + TextGadget (#PB_Any, 10, 12, 280, 20, "Name:") + InputField = StringGadget(#PB_Any, 10, 32, 280, 24, "") + ButtonNew = ButtonGadget(#PB_Any, 10, 62, 130, 24, "OK") ; EventGadget index 2 + CancelBtn = ButtonGadget(#PB_Any, 150, 62, 140, 24, "Cancel") + + SetActiveGadget(InputField) + BindGadgetEvent(ButtonNew, @Handler_InputConfirm()) + BindGadgetEvent(CancelBtn, @Handler_InputCancel()) + BindEvent(#PB_Event_CloseWindow, @Handler_InputCancel(), InputWindow) + EndProcedure + + Procedure _CloseInputWindow() + If IsWindow(InputWindow) + CloseWindow(InputWindow) + EndIf + EndProcedure + + ; Event handlers + + Procedure Handler_Resize() + Protected W.i = WindowWidth(Window) + Protected H.i = WindowHeight(Window) + ResizeGadget(PathLabel, 36, 4, W - 200, #Toolbar_Height - 8) + ResizeGadget(NewFolderButton, W - 162, 4, 80, #Toolbar_Height - 8) + ResizeGadget(NewFileButton, W - 78, 4, 74, #Toolbar_Height - 8) + ResizeGadget(ListView, 0, #Toolbar_Height, W, H - #Toolbar_Height - #Statusbar_Height) + ResizeGadget(StatusLabel, 4, H - #Statusbar_Height + 4, W - 8, #Statusbar_Height - 8) + EndProcedure + + Procedure Handler_Up() + If StackDepth > 0 + StackDepth - 1 + _Load(PathStack(StackDepth)) + EndIf + EndProcedure + + Procedure Handler_NewFolder() + _OpenInputWindow(0) + EndProcedure + + Procedure Handler_NewFile() + _OpenInputWindow(1) + EndProcedure + + Procedure Handler_ListView() + If EventType() <> #PB_EventType_LeftDoubleClick : ProcedureReturn : EndIf + + Protected Index.i = GetGadgetState(ListView) + If Index < 0 Or Index >= EntryCount : ProcedureReturn : EndIf + + If EntryIsDir(Index) + ; Push current path, navigate in + PathStack(StackDepth) = CurrentPath + StackDepth + 1 + Protected NewPath.s = CurrentPath + If Right(NewPath, 1) <> "/" : NewPath + "/" : EndIf + NewPath + EntryNames(Index) + _Load(NewPath) + Else + ; Open in text editor + Protected Path.s = CurrentPath + If Right(Path, 1) <> "/" : Path + "/" : EndIf + Path + EntryNames(Index) + TextEditor::Open(EntryIDs(Index), Path) + EndIf + EndProcedure + + Procedure Handler_Close() + If IsWindow(InputWindow) + UnbindEvent(#PB_Event_CloseWindow, @Handler_InputCancel(), InputWindow) + UnbindGadgetEvent(ButtonNew, @Handler_InputConfirm()) + UnbindGadgetEvent(CancelBtn, @Handler_InputCancel()) + _CloseInputWindow() + EndIf + + UnbindGadgetEvent(UpButton, @Handler_Up()) + UnbindGadgetEvent(NewFolderButton, @Handler_NewFolder()) + UnbindGadgetEvent(NewFileButton, @Handler_NewFile()) + UnbindGadgetEvent(ListView, @Handler_ListView()) + UnbindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Window) + UnbindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window) + Desktop::Unregister(Window) + InputWindow = 0 + Window = 0 + EndProcedure + + Procedure Handler_InputConfirm() + Protected Name.s = Trim(GetGadgetText(InputField)) + If Name = "" : ProcedureReturn : EndIf + + Protected Path.s = CurrentPath + If Right(Path, 1) <> "/" : Path + "/" : EndIf + Path + Name + + _CloseInputWindow() + + If InputMode = 0 + FS::Mkdir(Path, @_MkdirCallback()) + Else + ; Stash name temporarily for the callback to build the full path + EntryNames(0) = Name + FS::Write("", Path, "", @_CreateFileCallback()) + EndIf + EndProcedure + + Procedure Handler_InputCancel() + _CloseInputWindow() + EndProcedure + +EndModule +; IDE Options = SpiderBasic 3.10 (Windows - x86) +; CursorPosition = 96 +; Folding = CAg +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Default Apps/Settings.sbi b/Client/Default Apps/Settings.sbi new file mode 100644 index 0000000..b2f5a7e --- /dev/null +++ b/Client/Default Apps/Settings.sbi @@ -0,0 +1,256 @@ +DeclareModule Settings + Declare Open() +EndDeclareModule + +Module Settings + EnableExplicit + + #Win_W = 500 + #Win_H = 290 + #Panel_W = 140 + #Row_H = 44 + #Pad = 20 + + Global Color_Panel_Bg = RGB( 22, 22, 34) + Global Color_Sel = RGB( 52, 52, 72) + Global Color_Hover = RGB( 40, 40, 58) + Global Color_Accent = RGB(100, 120, 255) + Global Color_Content_Bg = RGB( 36, 36, 52) + Global Color_Sep = RGB( 48, 48, 65) + Global Color_Text = RGB(200, 200, 215) + Global Color_Dim = RGB(110, 110, 135) + + Global PanelFont = LoadFont(#PB_Any, "sans-serif", 13) + + ; To add a section: add its name below, create its gadgets in Open(), And add a Case to _ShowSection() / _HideSection(). + Enumeration + #Section_Account + ; #Section_Appearance + ; #Section_About + + #Section_Count ; keep in last place + EndEnumeration + + Global Dim _SectionNames.s(#Section_Count) + + ; State + Global Window + Global _PanelCanvas + Global _CurrentSection + Global _PanelHover = -1 + + ; Account section gadgets + Global _LblCurrent, _InCurrent + Global _LblNew, _InNew + Global _LblConfirm, _InConfirm + Global _BtnSave + + ; Private declarations + Declare _DrawPanel() + Declare _HideSection(Section) + Declare _ShowSection(Section) + Declare Handler_Close() + Declare Handler_PanelCanvas() + Declare Handler_Save() + Declare _SaveCallback(Success, DataString.s) + + ; Public procedures + Procedure Open() + If IsWindow(Window) + SetActiveWindow(Window) + ProcedureReturn + EndIf + + _SectionNames(#Section_Account) = "Account" + + Window = OpenWindow(#PB_Any, 200, 150, #Win_W, #Win_H, "Settings", + #PB_Window_TitleBar | #PB_Window_SystemMenu) + SetWindowColor(Window, Color_Content_Bg) + + _PanelCanvas = CanvasGadget(#PB_Any, 0, 0, #Panel_W, #Win_H) + + ; Account section gadgets + Protected CX = #Panel_W + 1 + #Pad + Protected CW = #Win_W - #Panel_W - 1 - #Pad * 2 + Protected Y = 20 + + _LblCurrent = TextGadget (#PB_Any, CX, Y, CW, 18, "Current password") + _InCurrent = StringGadget(#PB_Any, CX, Y + 22, CW, 26, "", #PB_String_Password) + Y + 66 + + _LblNew = TextGadget (#PB_Any, CX, Y, CW, 18, "New password") + _InNew = StringGadget(#PB_Any, CX, Y + 22, CW, 26, "", #PB_String_Password) + Y + 66 + + _LblConfirm = TextGadget (#PB_Any, CX, Y, CW, 18, "Confirm new password") + _InConfirm = StringGadget(#PB_Any, CX, Y + 22, CW, 26, "", #PB_String_Password) + Y + 58 + + _BtnSave = ButtonGadget(#PB_Any, CX, Y, CW, 30, "Change password") + + ; Label colors + SetGadgetColor(_LblCurrent, #PB_Gadget_FrontColor, Color_Text) + SetGadgetColor(_LblNew, #PB_Gadget_FrontColor, Color_Text) + SetGadgetColor(_LblConfirm, #PB_Gadget_FrontColor, Color_Text) + SetGadgetColor(_LblCurrent, #PB_Gadget_BackColor, Color_Content_Bg) + SetGadgetColor(_LblNew, #PB_Gadget_BackColor, Color_Content_Bg) + SetGadgetColor(_LblConfirm, #PB_Gadget_BackColor, Color_Content_Bg) + + BindGadgetEvent(_BtnSave, @Handler_Save()) + BindGadgetEvent(_PanelCanvas, @Handler_PanelCanvas()) + BindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window) + + Desktop::Register("Settings", Window, "⚙") + _DrawPanel() + EndProcedure + + ; Private procedures + Procedure _DrawPanel() + If Not IsGadget(_PanelCanvas) : ProcedureReturn : EndIf + If Not StartDrawing(CanvasOutput(_PanelCanvas)) : ProcedureReturn : EndIf + + Protected W = OutputWidth() + Protected H = OutputHeight() + Protected i, Y, TH + + Box(0, 0, W, H, Color_Panel_Bg) + Box(W - 1, 0, 1, H, Color_Sep) ; right-edge separator + + If IsFont(PanelFont) : DrawingFont(FontID(PanelFont)) : EndIf + TH = TextHeight("A") + + For i = 0 To #Section_Count - 1 + Y = i * #Row_H + If i = _CurrentSection + Box(0, Y, W - 1, #Row_H, Color_Sel) + Box(0, Y, 3, #Row_H, Color_Accent) + ElseIf i = _PanelHover + Box(0, Y, W - 1, #Row_H, Color_Hover) + EndIf + DrawingMode(#PB_2DDrawing_Transparent) + DrawText(14, Y + (#Row_H - TH) / 2, _SectionNames(i), Color_Text) + Next + + StopDrawing() + EndProcedure + + Procedure _HideSection(Section) + Select Section + Case #Section_Account + HideGadget(_LblCurrent, #True) + HideGadget(_InCurrent, #True) + HideGadget(_LblNew, #True) + HideGadget(_InNew, #True) + HideGadget(_LblConfirm, #True) + HideGadget(_InConfirm, #True) + HideGadget(_BtnSave, #True) + EndSelect + EndProcedure + + Procedure _ShowSection(Section) + _HideSection(_CurrentSection) + _CurrentSection = Section + Select Section + Case #Section_Account + HideGadget(_LblCurrent, #False) + HideGadget(_InCurrent, #False) + HideGadget(_LblNew, #False) + HideGadget(_InNew, #False) + HideGadget(_LblConfirm, #False) + HideGadget(_InConfirm, #False) + HideGadget(_BtnSave, #False) + EndSelect + _DrawPanel() + EndProcedure + + ; Event handlers + Procedure Handler_PanelCanvas() + Protected EType = EventType() + Protected MY = GetGadgetAttribute(_PanelCanvas, #PB_Canvas_MouseY) + Protected Row = MY / #Row_H + + Select EType + Case #PB_EventType_MouseMove + If Row < #Section_Count And Row <> _PanelHover + _PanelHover = Row + _DrawPanel() + EndIf + + Case #PB_EventType_MouseLeave + _PanelHover = -1 + _DrawPanel() + + Case #PB_EventType_LeftButtonUp + If Row >= 0 And Row < #Section_Count And Row <> _CurrentSection + _ShowSection(Row) + EndIf + EndSelect + EndProcedure + + Procedure Handler_Save() + Protected Current.s = GetGadgetText(_InCurrent) + Protected New_.s = GetGadgetText(_InNew) + Protected Confirm.s = GetGadgetText(_InConfirm) + + If Current = "" Or New_ = "" Or Confirm = "" + Notify::Toast("Please fill in all fields.", Notify::#Warning) + ProcedureReturn + EndIf + If New_ <> Confirm + Notify::Toast("New passwords do not match.", Notify::#Warning) + ProcedureReturn + EndIf + If Len(New_) < 8 + Notify::Toast("Password must be at least 8 characters.", Notify::#Warning) + ProcedureReturn + EndIf + + DisableGadget(_BtnSave, #True) + HTTPRequest(#PB_HTTP_Post, "/api/auth/password", + "current_password=" + URLEncoder(Current, #PB_UTF8) + + "&new_password=" + URLEncoder(New_, #PB_UTF8), + @_SaveCallback()) + EndProcedure + + Procedure _SaveCallback(Success, DataString.s) + DisableGadget(_BtnSave, #False) + + If Not Success + Notify::Toast("Connection error.", Notify::#Error) + ProcedureReturn + EndIf + + If ParseJSON(0, DataString) + Protected Root = JSONValue(0) + If GetJSONBoolean(GetJSONMember(Root, "success")) + SetGadgetText(_InCurrent, "") + SetGadgetText(_InNew, "") + SetGadgetText(_InConfirm, "") + Notify::Toast("Password changed successfully.", Notify::#Success) + Else + Notify::Toast(GetJSONString(GetJSONMember(Root, "error")), Notify::#Error) + EndIf + FreeJSON(0) + Else + Notify::Toast("Unexpected server response.", Notify::#Error) + EndIf + EndProcedure + + Procedure Handler_Close() + UnbindGadgetEvent(_PanelCanvas, @Handler_PanelCanvas()) + UnbindGadgetEvent(_BtnSave, @Handler_Save()) + UnbindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window) + Desktop::Unregister(Window) + Window = 0 + EndProcedure + +EndModule +; IDE Options = SpiderBasic 3.10 (Windows - x86) +; CursorPosition = 10 +; Folding = Dw +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Default Apps/TextEditor.sbi b/Client/Default Apps/TextEditor.sbi new file mode 100644 index 0000000..608c745 --- /dev/null +++ b/Client/Default Apps/TextEditor.sbi @@ -0,0 +1,217 @@ +DeclareModule TextEditor + Declare Open(FileID.s, Path.s) +EndDeclareModule + +Module TextEditor + EnableExplicit + + #MaxEditors = 16 + #ToolbarHeight = 35 + + Global Dim _Windows.i(#MaxEditors) + Global Dim _Editors.i(#MaxEditors) + Global Dim _SaveBtns.i(#MaxEditors) + Global Dim _FileIDs.s(#MaxEditors) + Global Dim _Paths.s(#MaxEditors) + Global Dim _Dirty.i(#MaxEditors) + Global Dim _Saving.i(#MaxEditors) + Global _Count.i = 0 + Global _Loading_Slot.i = -1 + Global _ClosingSlot.i = -1 ; slot awaiting confirm-close callback + + Declare _FindByWindow(Window.i) + Declare _FindByEditor(Editor.i) + Declare _SetDirty(Slot.i, Dirty.i) + Declare _Save(Slot.i) + Declare _Remove(Slot.i) + Declare _ConfirmCloseCallback(Result.i) + Declare _ReadCallback(Success.i, DataString.s) + Declare _SaveCallback(Success.i, DataString.s) + Declare Handler_Resize() + Declare Handler_Save() + Declare Handler_Change() + Declare Handler_Close() + + Procedure Open(FileID.s, Path.s) + If _Count >= #MaxEditors + Notify::Toast("Too many editors open.", Notify::#Warning) + ProcedureReturn + EndIf + + Protected Slot.i = _Count + Protected W.i = 600 + Protected H.i = 400 + Protected Win.i = OpenWindow(#PB_Any, 120 + Slot * 20, 60 + Slot * 20, W, H, + FS::GetFilePart(Path), + #PB_Window_TitleBar | #PB_Window_SizeGadget | #PB_Window_SystemMenu) + + Protected SaveBtn.i = ButtonGadget(#PB_Any, 5, 3, 80, #ToolbarHeight - 6, "Save") + Protected Editor.i = EditorGadget(#PB_Any, 0, #ToolbarHeight, W, H - #ToolbarHeight) + + _Windows(Slot) = Win + _Editors(Slot) = Editor + _SaveBtns(Slot) = SaveBtn + _FileIDs(Slot) = FileID + _Paths(Slot) = Path + _Dirty(Slot) = #False + _Count + 1 + + BindGadgetEvent(SaveBtn, @Handler_Save()) + BindGadgetEvent(Editor, @Handler_Change()) + BindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Win) + BindEvent(#PB_Event_CloseWindow, @Handler_Close(), Win) + + Desktop::Register(FS::GetFilePart(Path), Win, "📄") + + _Loading_Slot = Slot + FS::Read_(FileID, Path, @_ReadCallback()) + EndProcedure + + ; Private procedures + Procedure.i _FindByWindow(Window.i) + Protected i.i + For i = 0 To _Count - 1 + If _Windows(i) = Window : ProcedureReturn i : EndIf + Next + ProcedureReturn -1 + EndProcedure + + Procedure.i _FindByEditor(Editor.i) + Protected i.i + For i = 0 To _Count - 1 + If _Editors(i) = Editor : ProcedureReturn i : EndIf + Next + ProcedureReturn -1 + EndProcedure + + Procedure _SetDirty(Slot.i, Dirty.i) + _Dirty(Slot) = Dirty + Protected Title.s = FS::GetFilePart(_Paths(Slot)) + If Dirty : Title = "* " + Title : EndIf + SetWindowTitle(_Windows(Slot), Title) + EndProcedure + + Procedure _Save(Slot.i) + If Not IsWindow(_Windows(Slot)) : ProcedureReturn : EndIf + If _Saving(Slot) : ProcedureReturn : EndIf + Protected Content.s = GetGadgetText(_Editors(Slot)) + _Saving(Slot) = #True + DisableGadget(_SaveBtns(Slot), #True) + FS::Write(_FileIDs(Slot), _Paths(Slot), Content, @_SaveCallback()) + EndProcedure + + Procedure _Remove(Slot.i) + UnbindGadgetEvent(_SaveBtns(Slot), @Handler_Save()) + UnbindGadgetEvent(_Editors(Slot), @Handler_Change()) + UnbindEvent(#PB_Event_SizeWindow, @Handler_Resize(), _Windows(Slot)) + UnbindEvent(#PB_Event_CloseWindow, @Handler_Close(), _Windows(Slot)) + Desktop::Unregister(_Windows(Slot)) + + Protected i.i + For i = Slot To _Count - 2 + _Windows(i) = _Windows(i + 1) + _Editors(i) = _Editors(i + 1) + _SaveBtns(i) = _SaveBtns(i + 1) + _FileIDs(i) = _FileIDs(i + 1) + _Paths(i) = _Paths(i + 1) + _Dirty(i) = _Dirty(i + 1) + _Saving(i) = _Saving(i + 1) + Next + _Windows(_Count - 1) = 0 + _Editors(_Count - 1) = 0 + _SaveBtns(_Count - 1) = 0 + _FileIDs(_Count - 1) = "" + _Paths(_Count - 1) = "" + _Dirty(_Count - 1) = #False + _Saving(_Count - 1) = #False + _Count - 1 + + If _Loading_Slot = Slot : _Loading_Slot = -1 : EndIf + If _ClosingSlot = Slot : _ClosingSlot = -1 : EndIf + EndProcedure + + ; Called by Notify::Confirm — Result=1 means discard and close, 0 means cancel. + Procedure _ConfirmCloseCallback(Result.i) + If Result And _ClosingSlot >= 0 + _Remove(_ClosingSlot) + EndIf + _ClosingSlot = -1 + EndProcedure + + ; Callbacks + Procedure _ReadCallback(Success.i, DataString.s) + If _Loading_Slot < 0 : ProcedureReturn : EndIf + Protected Slot.i = _Loading_Slot + _Loading_Slot = -1 + If Not IsWindow(_Windows(Slot)) : ProcedureReturn : EndIf + If Success + SetGadgetText(_Editors(Slot), DataString) + _SetDirty(Slot, #False) + Else + SetGadgetText(_Editors(Slot), "") + _SetDirty(Slot, #True) + EndIf + EndProcedure + + Procedure _SaveCallback(Success.i, DataString.s) + Protected i.i + For i = 0 To _Count - 1 + If _Saving(i) + _Saving(i) = #False + DisableGadget(_SaveBtns(i), #False) + If Success + _SetDirty(i, #False) + Else + Notify::Toast("Save failed — " + FS::GetFilePart(_Paths(i)), Notify::#Error) + EndIf + Break + EndIf + Next + EndProcedure + + ; Event handlers + Procedure Handler_Resize() + Protected Win.i = EventWindow() + Protected Slot.i = _FindByWindow(Win) + If Slot < 0 : ProcedureReturn : EndIf + ResizeGadget(_Editors(Slot), 0, #ToolbarHeight, + WindowWidth(Win), WindowHeight(Win) - #ToolbarHeight) + EndProcedure + + Procedure Handler_Save() + Protected Slot.i = _FindByWindow(EventWindow()) + If Slot >= 0 : _Save(Slot) : EndIf + EndProcedure + + Procedure Handler_Change() + Protected Slot.i = _FindByEditor(EventGadget()) + If Slot >= 0 And Not _Dirty(Slot) + _SetDirty(Slot, #True) + EndIf + EndProcedure + + Procedure Handler_Close() + Protected Win.i = EventWindow() + Protected Slot.i = _FindByWindow(Win) + If Slot < 0 : ProcedureReturn : EndIf + + If _Dirty(Slot) + _ClosingSlot = Slot + Notify::Confirm("Unsaved changes", + "Close " + Chr(34) + FS::GetFilePart(_Paths(Slot)) + Chr(34) + " without saving?", + @_ConfirmCloseCallback()) + Else + _Remove(Slot) + EndIf + EndProcedure + +EndModule +; IDE Options = SpiderBasic 3.10 (Windows - x86) +; CursorPosition = 69 +; Folding = DA5 +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Default Apps/WebBrowser.sbi b/Client/Default Apps/WebBrowser.sbi new file mode 100644 index 0000000..b853c95 --- /dev/null +++ b/Client/Default Apps/WebBrowser.sbi @@ -0,0 +1,73 @@ +DeclareModule WebBrowser + Declare Open() +EndDeclareModule + +Module WebBrowser + EnableExplicit + + #Toolbar_Height = 35 + #Window_W = 800 + #Window_H = 600 + + Global Window.i = 0 + Global UrlBar.i + Global WebView.i + + Declare Handler_Resize() + Declare Handler_Navigate() + Declare Handler_Close() + + Procedure Open() + If IsWindow(Window) + SetActiveWindow(Window) + ProcedureReturn + EndIf + + Window = OpenWindow(#PB_Any, 100, 60, #Window_W, #Window_H, "Web Browser", + #PB_Window_TitleBar | #PB_Window_SizeGadget | #PB_Window_SystemMenu) + + UrlBar = StringGadget(#PB_Any, 4, 5, #Window_W - 8, #Toolbar_Height - 10, "https://lastlife.net") + WebView = WebGadget(#PB_Any, 0, #Toolbar_Height, #Window_W, #Window_H - #Toolbar_Height, "https://lastlife.net") + + BindGadgetEvent(UrlBar, @Handler_Navigate()) + BindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Window) + BindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window) + + Desktop::Register("Web Browser", Window, "🌐") + EndProcedure + + Procedure Handler_Navigate() +; Protected URL.s = Trim(GetGadgetText(UrlBar)) +; If URL = "" : ProcedureReturn : EndIf +; If Left(URL, 4) <> "http" +; URL = "https://" + URL +; SetGadgetText(UrlBar, URL) +; EndIf +; SetGadgetAttribute(WebView, #PB_Web_URL, URL) + EndProcedure + + Procedure Handler_Resize() + Protected W.i = WindowWidth(Window) + Protected H.i = WindowHeight(Window) + ResizeGadget(UrlBar, 4, 5, W - 8, #Toolbar_Height - 10) + ResizeGadget(WebView, 0, #Toolbar_Height, W, H - #Toolbar_Height) + EndProcedure + + Procedure Handler_Close() + UnbindGadgetEvent(UrlBar, @Handler_Navigate()) + UnbindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Window) + UnbindEvent(#PB_Event_CloseWindow, @Handler_Close(), Window) + Desktop::Unregister(Window) + Window = 0 + EndProcedure + +EndModule +; IDE Options = SpiderBasic 3.10 (Windows - x86) +; CursorPosition = 29 +; Folding = -- +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Includes/AppRuntime.sbi b/Client/Includes/AppRuntime.sbi new file mode 100644 index 0000000..1358cd1 --- /dev/null +++ b/Client/Includes/AppRuntime.sbi @@ -0,0 +1,409 @@ +Module AppRuntime + EnableExplicit + + ;- Instance structure + Structure Instance + InstanceID.i ; stable unique ID — used as the JS↔SB bridge key + Window.i + View.i + AppID.s + Perms.s + EndStructure + + Global NewList Instances.Instance() + Global _NextID = 1 ; auto-incrementing ID counter + + ;- Pending async operations + ; One pending op of each type at a time (JS is single-threaded). + + Global _PL_ID = -1 : Global _PL_KMID.s = "" ; list + Global _PS_ID = -1 : Global _PS_KMID.s = "" ; stat (standalone) + Global _PSR_ID = -1 : Global _PSR_KMID.s = "" ; stat-before-read/delete + Global _PR_ID = -1 : Global _PR_KMID.s = "" ; read + Global _PW_ID = -1 : Global _PW_KMID.s = "" ; write / mkdir / delete + Global _PC_ID = -1 : Global _PC_KMID.s = "" ; confirm dialog + + ;- Private declarations + Declare _FindByID(ID) + Declare _FindByWindow(Win) + Declare _HasPerm(ID, Token.s) + Declare _SendResponse(ID, KMID.s, Success, DataString.s) + Declare.s _StoragePath(ID, RelPath.s) + Declare _Remove(ID) + Declare _CloseByID(ID) + Declare _Dispatch(ID, RawMsg.s) + Declare _DoList(ID, KMID.s, Path.s) + Declare _DoStat(ID, KMID.s, Path.s) + Declare _DoStatForRead(ID, KMID.s, Path.s) + Declare _DoRead(ID, KMID.s, FileID) + Declare _DoWrite(ID, KMID.s, Path.s, Content.s) + Declare _DoMkdir(ID, KMID.s, Path.s) + Declare _DoDelete(ID, KMID.s, Path.s) + Declare _ListCallback(Success, DataString.s) + Declare _StatCallback(Success, DataString.s) + Declare _StatForReadCallback(Success, DataString.s) + Declare _ReadCallback(Success, DataString.s) + Declare _WriteCallback(Success, DataString.s) + Declare _ConfirmCallback(Result) + Declare Handler_Resize() + Declare Handler_Close() + + ;- Public procedures + + ; Call once from Desktop::Open. + Procedure Init() + !window._kumos_rt = { instances: {} }; + !window.addEventListener('message', function(e) { + ! var inst; + ! for (var id in window._kumos_rt.instances) { + ! inst = window._kumos_rt.instances[id]; + ! if (inst && inst.frameEl && inst.frameEl.contentWindow === e.source) { + ! if (typeof e.data === 'string') { + ! appruntime$f__dispatch(inst.id, e.data); + ! } + ! return; + ! } + ! } + !}); + EndProcedure + + ; Open a new sandboxed app window. + Procedure Launch(AppID.s, ManifestJSON.s, Permissions.s) + Protected Count, W, H, Win, View, ID + Protected AppName.s, N.s, Src.s + + AppName = AppID + If ParseJSON(0, ManifestJSON) + N = GetJSONString(GetJSONMember(JSONValue(0), "name")) + If N <> "" : AppName = N : EndIf + FreeJSON(0) + EndIf + + Count = ListSize(Instances()) + W = 640 + H = 480 + Win = OpenWindow(#PB_Any, 80 + (Count % 8) * 24, 80 + (Count % 8) * 24, W, H, AppName, #PB_Window_TitleBar | #PB_Window_SizeGadget | #PB_Window_SystemMenu) + View = WebGadget(#PB_Any, 0, 0, W, H, "about:blank") + Src = "/api/apps/" + AppID + "/index.html" + ID = _NextID + _NextID + 1 + + !(function(){ + ! var frames = document.querySelectorAll('iframe[src="about:blank"]:not([data-kumos-instance])'); + ! var f = frames[frames.length - 1]; + ! if (!f) return; + ! f.setAttribute('data-kumos-instance', String(v_id)); + ! // No allow-same-origin -> cross-origin isolation even from same host. + ! f.setAttribute('sandbox', 'allow-scripts allow-forms allow-modals allow-downloads allow-pointer-lock'); + ! window._kumos_rt.instances[v_id] = { id: v_id, frameEl: f, appId: v_appid }; + ! f.src = v_src; + !})(); + + AddElement(Instances()) + Instances()\InstanceID = ID + Instances()\Window = Win + Instances()\View = View + Instances()\AppID = AppID + Instances()\Perms = Permissions + + BindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Win) + BindEvent(#PB_Event_CloseWindow, @Handler_Close(), Win) + + Desktop::Register(AppName, Win, "📦") + EndProcedure + + ;- Private procedures + ; Leaves list cursor on the found element. Returns #True if found. + Procedure _FindByID(ID) + ForEach Instances() + If Instances()\InstanceID = ID : ProcedureReturn #True : EndIf + Next + ProcedureReturn #False + EndProcedure + + Procedure _FindByWindow(Win) + ForEach Instances() + If Instances()\Window = Win : ProcedureReturn #True : EndIf + Next + ProcedureReturn #False + EndProcedure + + Procedure _HasPerm(ID, Token.s) + If Not _FindByID(ID) : ProcedureReturn #False : EndIf + ProcedureReturn Bool(FindString(Instances()\Perms, ~"\"" + Token + ~"\"") > 0) + EndProcedure + + Procedure _SendResponse(ID, KMID.s, Success, DataString.s) + !var inst = window._kumos_rt.instances[v_id]; + !if (!inst || !inst.frameEl) return; + !var resp = { kmid: v_kmid, success: !!v_success }; + !if (v_success) { + ! try { resp.data = JSON.parse(v_datastring); } + ! catch(e) { resp.data = v_datastring || null; } + !} else { + ! resp.error = v_datastring || 'Error'; + !} + !try { inst.frameEl.contentWindow.postMessage(JSON.stringify(resp), '*'); } catch(e) {} + EndProcedure + + Procedure.s _StoragePath(ID, RelPath.s) + Protected Base.s + If Not _FindByID(ID) : ProcedureReturn "" : EndIf + Base = "/.apps/" + Instances()\AppID + "/" + If RelPath = "" Or RelPath = "/" : ProcedureReturn Base : EndIf + If Left(RelPath, 1) = "/" : RelPath = Mid(RelPath, 2) : EndIf + ProcedureReturn Base + RelPath + EndProcedure + + Procedure _Remove(ID) + If Not _FindByID(ID) : ProcedureReturn : EndIf + !delete window._kumos_rt.instances[v_id]; + UnbindEvent(#PB_Event_SizeWindow, @Handler_Resize(), Instances()\Window) + UnbindEvent(#PB_Event_CloseWindow, @Handler_Close(), Instances()\Window) + Desktop::Unregister(Instances()\Window) + DeleteElement(Instances()) + EndProcedure + + Procedure _CloseByID(ID) + _Remove(ID) + EndProcedure + + ;- Message dispatcher + Procedure _Dispatch(ID, RawMsg.s) + Protected Root, Args, TType + Protected KMID.s, Action.s, Path.s, Content.s, Title_.s, Msg.s, MsgType.s + + If Not _FindByID(ID) : ProcedureReturn : EndIf + If Not ParseJSON(0, RawMsg) : ProcedureReturn : EndIf + + Root = JSONValue(0) + KMID = GetJSONString(GetJSONMember(Root, "kmid")) + Action = GetJSONString(GetJSONMember(Root, "action")) + Args = GetJSONMember(Root, "args") + + If KMID = "" : FreeJSON(0) : ProcedureReturn : EndIf + + Path = GetJSONString(GetJSONMember(Args, "path")) + Content = GetJSONString(GetJSONMember(Args, "content")) + Title_ = GetJSONString(GetJSONMember(Args, "title")) + Msg = GetJSONString(GetJSONMember(Args, "message")) + MsgType = GetJSONString(GetJSONMember(Args, "type")) + FreeJSON(0) + + Select Action + + Case "window.ready" + _FindByID(ID) + _SendResponse(ID, KMID, #True, ~"{\"app_id\":\"" + ReplaceString(Instances()\AppID, ~"\"", ~"\\\"") + ~"\"}") + + Case "window.setTitle" + _FindByID(ID) + SetWindowTitle(Instances()\Window, Title_) + _SendResponse(ID, KMID, #True, "") + + Case "window.close" + _SendResponse(ID, KMID, #True, "") + !setTimeout(function(){ appruntime$f__closebyid(v_id); }, 50); + + Case "notify.toast" + If Not _HasPerm(ID, "notify") : _SendResponse(ID, KMID, #False, "Permission denied: notify") : ProcedureReturn : EndIf + TType = Notify::#Info + If MsgType = "success" : TType = Notify::#Success + ElseIf MsgType = "warning" : TType = Notify::#Warning + ElseIf MsgType = "error" : TType = Notify::#Error + EndIf + Notify::Toast(Msg, TType) + _SendResponse(ID, KMID, #True, "") + + Case "notify.confirm" + If Not _HasPerm(ID, "notify") : _SendResponse(ID, KMID, #False, "Permission denied: notify") : ProcedureReturn : EndIf + If _PC_ID >= 0 : _SendResponse(ID, KMID, #False, "A dialog is already open") : ProcedureReturn : EndIf + _PC_ID = ID : _PC_KMID = KMID + Notify::Confirm(Title_, Msg, @_ConfirmCallback()) + + Case "storage.list" : _DoList(ID, KMID, _StoragePath(ID, Path)) + Case "storage.stat" : _DoStat(ID, KMID, _StoragePath(ID, Path)) + Case "storage.read" : _DoStatForRead(ID, KMID, _StoragePath(ID, Path)) + Case "storage.write" : _DoWrite(ID, KMID, _StoragePath(ID, Path), Content) + Case "storage.mkdir" : _DoMkdir(ID, KMID, _StoragePath(ID, Path)) + Case "storage.delete" : _DoDelete(ID, KMID, _StoragePath(ID, Path)) + + Case "fs.list" + If Not _HasPerm(ID, "fs.read") : _SendResponse(ID, KMID, #False, "Permission denied: fs.read") : ProcedureReturn : EndIf + _DoList(ID, KMID, Path) + + Case "fs.stat" + If Not _HasPerm(ID, "fs.read") : _SendResponse(ID, KMID, #False, "Permission denied: fs.read") : ProcedureReturn : EndIf + _DoStat(ID, KMID, Path) + + Case "fs.read" + If Not _HasPerm(ID, "fs.read") : _SendResponse(ID, KMID, #False, "Permission denied: fs.read") : ProcedureReturn : EndIf + _DoStatForRead(ID, KMID, Path) + + Case "fs.write" + If Not _HasPerm(ID, "fs.write") : _SendResponse(ID, KMID, #False, "Permission denied: fs.write") : ProcedureReturn : EndIf + _DoWrite(ID, KMID, Path, Content) + + Default + _SendResponse(ID, KMID, #False, "Unknown action: " + Action) + + EndSelect + EndProcedure + + ;- Async FS helpers + Procedure _DoList(ID, KMID.s, Path.s) + If _PL_ID >= 0 : _SendResponse(ID, KMID, #False, "Busy") : ProcedureReturn : EndIf + _PL_ID = ID : _PL_KMID = KMID + HTTPRequest(#PB_HTTP_Get, "/api/fs/list?path=" + URLEncoder(Path, #PB_UTF8), "", @_ListCallback()) + EndProcedure + + Procedure _DoStat(ID, KMID.s, Path.s) + If _PS_ID >= 0 : _SendResponse(ID, KMID, #False, "Busy") : ProcedureReturn : EndIf + _PS_ID = ID : _PS_KMID = KMID + HTTPRequest(#PB_HTTP_Get, "/api/fs/stat?path=" + URLEncoder(Path, #PB_UTF8), "", @_StatCallback()) + EndProcedure + + Procedure _DoStatForRead(ID, KMID.s, Path.s) + If _PSR_ID >= 0 : _SendResponse(ID, KMID, #False, "Busy") : ProcedureReturn : EndIf + _PSR_ID = ID : _PSR_KMID = KMID + HTTPRequest(#PB_HTTP_Get, "/api/fs/stat?path=" + URLEncoder(Path, #PB_UTF8), "", @_StatForReadCallback()) + EndProcedure + + Procedure _DoRead(ID, KMID.s, FileID) + If _PR_ID >= 0 : _SendResponse(ID, KMID, #False, "Busy") : ProcedureReturn : EndIf + _PR_ID = ID : _PR_KMID = KMID + HTTPRequest(#PB_HTTP_Get, "/api/fs/read?id=" + FileID, "", @_ReadCallback()) + EndProcedure + + Procedure _DoWrite(ID, KMID.s, Path.s, Content.s) + If _PW_ID >= 0 : _SendResponse(ID, KMID, #False, "Busy") : ProcedureReturn : EndIf + _PW_ID = ID : _PW_KMID = KMID + HTTPRequest(#PB_HTTP_Post, "/api/fs/write", "path=" + URLEncoder(Path, #PB_UTF8) + "&content=" + URLEncoder(Content, #PB_UTF8), @_WriteCallback()) + EndProcedure + + Procedure _DoMkdir(ID, KMID.s, Path.s) + If _PW_ID >= 0 : _SendResponse(ID, KMID, #False, "Busy") : ProcedureReturn : EndIf + _PW_ID = ID : _PW_KMID = KMID + HTTPRequest(#PB_HTTP_Post, "/api/fs/mkdir", "path=" + URLEncoder(Path, #PB_UTF8), @_WriteCallback()) + EndProcedure + + Procedure _DoDelete(ID, KMID.s, Path.s) + If _PSR_ID >= 0 : _SendResponse(ID, KMID, #False, "Busy") : ProcedureReturn : EndIf + _PSR_ID = ID : _PSR_KMID = "DEL:" + KMID + HTTPRequest(#PB_HTTP_Get, "/api/fs/stat?path=" + URLEncoder(Path, #PB_UTF8), "", @_StatForReadCallback()) + EndProcedure + + ;- Callbacks + Procedure _ListCallback(Success, DataString.s) + Protected ID + Protected KMID.s + If _PL_ID < 0 : ProcedureReturn : EndIf + ID = _PL_ID : KMID = _PL_KMID + _PL_ID = -1 : _PL_KMID = "" + _SendResponse(ID, KMID, Success, DataString) + EndProcedure + + Procedure _StatCallback(Success, DataString.s) + Protected ID + Protected KMID.s + If _PS_ID < 0 : ProcedureReturn : EndIf + ID = _PS_ID : KMID = _PS_KMID + _PS_ID = -1 : _PS_KMID = "" + _SendResponse(ID, KMID, Success, DataString) + EndProcedure + + Procedure _StatForReadCallback(Success, DataString.s) + Protected ID, IsDelete, IsDir, FileID, Root + Protected Tag.s, KMID.s + + If _PSR_ID < 0 : ProcedureReturn : EndIf + ID = _PSR_ID + Tag = _PSR_KMID + _PSR_ID = -1 : _PSR_KMID = "" + + IsDelete = Bool(Left(Tag, 4) = "DEL:") + If IsDelete : KMID = Mid(Tag, 5) : Else : KMID = Tag : EndIf + + If Not Success : _SendResponse(ID, KMID, #False, "Not found") : ProcedureReturn : EndIf + If Not ParseJSON(0, DataString) : _SendResponse(ID, KMID, #False, "Bad stat response") : ProcedureReturn : EndIf + + Root = JSONValue(0) + IsDir = GetJSONInteger(GetJSONMember(Root, "is_dir")) + FileID = GetJSONInteger(GetJSONMember(Root, "id")) + FreeJSON(0) + + If FileID <= 0 : _SendResponse(ID, KMID, #False, "Not found") : ProcedureReturn : EndIf + + If IsDelete + If _PW_ID >= 0 : _SendResponse(ID, KMID, #False, "Busy") : ProcedureReturn : EndIf + _PW_ID = ID : _PW_KMID = KMID + HTTPRequest(#PB_HTTP_Post, "/api/fs/delete", "id=" + FileID, @_WriteCallback()) + Else + If IsDir : _SendResponse(ID, KMID, #False, "Is a directory") : ProcedureReturn : EndIf + _DoRead(ID, KMID, FileID) + EndIf + EndProcedure + + Procedure _ReadCallback(Success, DataString.s) + Protected ID + Protected KMID.s + If _PR_ID < 0 : ProcedureReturn : EndIf + ID = _PR_ID : KMID = _PR_KMID + _PR_ID = -1 : _PR_KMID = "" + _SendResponse(ID, KMID, Success, DataString) + EndProcedure + + Procedure _WriteCallback(Success, DataString.s) + Protected ID, OK + Protected KMID.s + + If _PW_ID < 0 : ProcedureReturn : EndIf + ID = _PW_ID : KMID = _PW_KMID + _PW_ID = -1 : _PW_KMID = "" + + If Not Success : _SendResponse(ID, KMID, #False, "Request failed") : ProcedureReturn : EndIf + + If ParseJSON(0, DataString) + OK = GetJSONBoolean(GetJSONMember(JSONValue(0), "success")) + FreeJSON(0) + _SendResponse(ID, KMID, OK, "") + Else + _SendResponse(ID, KMID, #False, "Bad server response") + EndIf + EndProcedure + + Procedure _ConfirmCallback(Result) + Protected ID + Protected KMID.s, BoolStr.s + + If _PC_ID < 0 : ProcedureReturn : EndIf + ID = _PC_ID : KMID = _PC_KMID + _PC_ID = -1 : _PC_KMID = "" + + BoolStr = "false" + If Result : BoolStr = "true" : EndIf + _SendResponse(ID, KMID, #True, BoolStr) + EndProcedure + + ;- Window event handlers + Procedure Handler_Resize() + If Not _FindByWindow(EventWindow()) : ProcedureReturn : EndIf + ResizeGadget(Instances()\View, 0, 0, WindowWidth(Instances()\Window), WindowHeight(Instances()\Window)) + EndProcedure + + Procedure Handler_Close() + If Not _FindByWindow(EventWindow()) : ProcedureReturn : EndIf + _Remove(Instances()\InstanceID) + EndProcedure + +EndModule + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 2 +; Folding = BAAA9 +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Includes/Desktop.sbi b/Client/Includes/Desktop.sbi new file mode 100644 index 0000000..6b23a51 --- /dev/null +++ b/Client/Includes/Desktop.sbi @@ -0,0 +1,603 @@ +Module Desktop + EnableExplicit + + ;- Constants + #Timer_Clock = 0 + #Taskbar_Width = 72 + #Taskbar_ItemHeight = 40 + #Icon_Size = 28 + #Menu_W = 240 + #Menu_Rail_W = 52 + #Menu_Header_H = 32 + #Menu_Row_H = 44 + #Menu_Icon_Size = 22 + + ; Hit-test return values for the start menu + Enumeration + #Hit_None = -1 + #Hit_Settings = -2 + #Hit_Logout = -3 + EndEnumeration + + ;- Globals + ; Colors + Global Color_Bar_Bg = RGB( 28, 28, 40) + Global Color_Bar_Active = RGB( 52, 52, 72) + Global Color_Accent = RGB(100, 120, 255) + Global Color_Icon = RGBA(220, 220, 220, 255) + Global Color_Menu_Bg = RGB( 36, 36, 52) + Global Color_Menu_Rail = RGB( 22, 22, 34) + Global Color_Menu_Header = RGB( 22, 22, 34) + Global Color_Menu_Hover = RGB( 55, 55, 78) + Global Color_Menu_Sep = RGB( 48, 48, 65) + Global Color_Menu_Text = RGB(200, 200, 215) + Global Color_Menu_Dim = RGB(110, 110, 135) + Global Color_Logout_Hover = RGB( 65, 30, 35) + Global Color_Logout_Icon = RGBA(200, 90, 90, 255) + + Global IconFont = LoadFont(#PB_Any, "sans-serif", 18) + Global MenuFont = LoadFont(#PB_Any, "sans-serif", 13) + + ; Desktop windows + Global TaskBarWindow + Global ClockLabel + Global StartButton + Global StartMenuWindow + + ; App registry + Structure App + Name.s + IconImg.i + Proc.i + ID.s + EndStructure + #MaxInstalledApps = 32 + Global Dim AppRegistry.App(#MaxInstalledApps) + Global _AppCount + Global _MenuCanvas + Global _MenuHover = #Hit_None + + ; System shortcut icons (created in Open) + Global _IconSettings + Global _IconLogout + + ; Window manager state + Structure Window + Window.i + Button.i + Name.s + Icon.i + EndStructure + Global _ActiveWindow + Global NewList WindowManager.Window() + + ;- Private declarations + Declare _MakeIconImage(Label.s, Size = #Icon_Size, Color = 0) + Declare _MenuHeight() + Declare _HitTest(MX, MY) + Declare _RebuildMenu() + Declare _DrawMenu() + Declare _CloseMenu() + Declare _FindByWindow(Win) + Declare _FindByButton(Btn) + Declare _DrawButton() + Declare _SetActiveButton() + Declare _RebuildButtons() + Declare _LoadInstalledAppsCallback(Success, DataString.s) + Declare Handler_Logout() + Declare LogoutCallback(Success, Response.s) + Declare Handler_Resize() + Declare Handler_Clock() + Declare Handler_StartButton() + Declare Handler_StartMenu_Focus() + Declare Handler_MenuCanvas() + Declare Handler_TaskbarButton() + Declare Handler_AppClose() + Declare Handler_AppActivate() + + ;- Public procedures + Procedure Open(Username.s) + Protected Width, Height + Protected *AppProc + + Width = DesktopWidth(0) + Height = DesktopHeight(0) + + ; System shortcut icons — pass explicit colors at creation time + _IconSettings = _MakeIconImage("⚙", #Menu_Icon_Size, Color_Logout_Icon) + _IconLogout = _MakeIconImage("⏻", #Menu_Icon_Size, Color_Logout_Icon) + + TaskBarWindow = OpenWindow(#PB_Any, 0, 0, #Taskbar_Width, Height, "", #PB_Window_BorderLess) + BindEvent(#PB_Event_ActivateWindow, @Handler_AppActivate(), TaskBarWindow) + StickyWindow(TaskBarWindow, #True) + SetWindowColor(TaskBarWindow, Color_Bar_Bg) + + StartButton = ButtonGadget(#PB_Any, 0, 0, #Taskbar_Width, #Taskbar_ItemHeight, "≡") + BindGadgetEvent(StartButton, @Handler_StartButton()) + + ClockLabel = TextGadget(#PB_Any, 0, Height - #Taskbar_ItemHeight, #Taskbar_Width, #Taskbar_ItemHeight, "", #PB_Text_Center | #PB_Text_VerticalCenter) + SetGadgetColor(ClockLabel, #PB_Gadget_FrontColor, Color_Menu_Text) + Handler_Clock() + AddWindowTimer(TaskBarWindow, #Timer_Clock, 1000) + BindEvent(#PB_Event_Timer, @Handler_Clock(), TaskBarWindow) + + StartMenuWindow = OpenWindow(#PB_Any, #Taskbar_Width + 4, 0, #Menu_W, 100, "", #PB_Window_BorderLess | #PB_Window_Invisible) + StickyWindow(StartMenuWindow, #True) + _MenuCanvas = CanvasGadget(#PB_Any, 0, 0, #Menu_W, 100) + BindGadgetEvent(_MenuCanvas, @Handler_MenuCanvas()) + + BindEvent(#PB_Event_SizeDesktop, @Handler_Resize()) + BindEvent(#PB_Event_DeactivateWindow, @Handler_StartMenu_Focus(), StartMenuWindow) + + AppRuntime::Init() + !p_appproc = fileexplorer$f_open; + InstallApp("File Explorer", *AppProc, "📁") + !p_appproc = webbrowser$f_open; + InstallApp("Web Browser", *AppProc, "🌐") + !p_appproc = appmanager$f_open; + InstallApp("App Manager", *AppProc, "📦") + Handler_Resize() + + HTTPRequest(#PB_HTTP_Get, "/api/apps/list", "", @_LoadInstalledAppsCallback()) + EndProcedure + + Procedure InstallApp(AppName.s, *LaunchProc, Icon.s = "") + Protected Slot + Protected Label.s + + If _AppCount >= #MaxInstalledApps : ProcedureReturn : EndIf + + Slot = _AppCount + Label = Icon + If Label = "" : Label = Left(AppName, 2) : EndIf + + AppRegistry(Slot)\Name = AppName + AppRegistry(Slot)\Proc = *LaunchProc + AppRegistry(Slot)\IconImg = _MakeIconImage(Label, #Menu_Icon_Size) + + _AppCount + 1 + _RebuildMenu() + EndProcedure + + Procedure Register(AppName.s, Win, Icon.s = "") + Protected Y, GadgetList, Btn + Protected Label.s + + AddElement(WindowManager()) + WindowManager()\Window = Win + WindowManager()\Name = AppName + + Label = Icon + If Label = "" : Label = Left(AppName, 2) : EndIf + WindowManager()\Icon = _MakeIconImage(Label) + + Y = #Taskbar_ItemHeight + (ListIndex(WindowManager()) * #Taskbar_ItemHeight) + GadgetList = UseGadgetList(WindowID(TaskBarWindow)) + Btn = CanvasGadget(#PB_Any, 0, Y, #Taskbar_Width, #Taskbar_ItemHeight) + UseGadgetList(GadgetList) + + WindowManager()\Button = Btn + SetGadgetData(Btn, Win) + SetWindowData(Win, Btn) + + BindGadgetEvent(Btn, @Handler_TaskbarButton()) + BindEvent(#PB_Event_CloseWindow, @Handler_AppClose(), Win) + BindEvent(#PB_Event_ActivateWindow, @Handler_AppActivate(), Win) + + _ActiveWindow = Win + _SetActiveButton() + EndProcedure + + Procedure Unregister(Win) + If Not _FindByWindow(Win) : ProcedureReturn : EndIf + UnbindEvent(#PB_Event_CloseWindow, @Handler_AppClose(), Win) + UnbindEvent(#PB_Event_ActivateWindow, @Handler_AppActivate(), Win) + UnbindGadgetEvent(WindowManager()\Button, @Handler_TaskbarButton()) + FreeGadget(WindowManager()\Button) + CloseWindow(Win) + DeleteElement(WindowManager()) + If _ActiveWindow = Win : _ActiveWindow = GetActiveWindow() : EndIf + _RebuildButtons() + EndProcedure + + Procedure InstallThirdPartyApp(AppID.s, ManifestJSON.s, Permissions.s, Icon.s = "") + Protected Slot, i + Protected AppName.s, Label.s, N.s + + Slot = -1 + For i = 0 To _AppCount - 1 + If AppRegistry(i)\ID = AppID : Slot = i : Break : EndIf + Next + + If Slot < 0 + If _AppCount >= #MaxInstalledApps : ProcedureReturn : EndIf + Slot = _AppCount + _AppCount + 1 + Else + If IsImage(AppRegistry(Slot)\IconImg) : FreeImage(AppRegistry(Slot)\IconImg) : EndIf + EndIf + + AppName = AppID + If ParseJSON(0, ManifestJSON) + N = GetJSONString(GetJSONMember(JSONValue(0), "name")) + If N <> "" : AppName = N : EndIf + FreeJSON(0) + EndIf + + AppRegistry(Slot)\Name = AppName + AppRegistry(Slot)\ID = AppID + + !(function() { + ! var _id = v_appid, _m = v_manifestjson, _p = v_permissions; + ! desktop$a_AppRegistry.array[v_slot]._Proc = function() { + ! appruntime$f_launch(_id, _m, _p); + ! }; + !})(); + + Label = Icon + If Label = "" : Label = "📦" : EndIf + AppRegistry(Slot)\IconImg = _MakeIconImage(Label, #Menu_Icon_Size) + + _RebuildMenu() + EndProcedure + + Procedure UninstallThirdPartyApp(AppID.s) + Protected i, j + For i = 0 To _AppCount - 1 + If AppRegistry(i)\ID = AppID + If IsImage(AppRegistry(i)\IconImg) : FreeImage(AppRegistry(i)\IconImg) : EndIf + ; Compact the registry + For j = i To _AppCount - 2 + AppRegistry(j)\Name = AppRegistry(j + 1)\Name + AppRegistry(j)\ID = AppRegistry(j + 1)\ID + AppRegistry(j)\IconImg = AppRegistry(j + 1)\IconImg + AppRegistry(j)\Proc = AppRegistry(j + 1)\Proc + !desktop$a_AppRegistry.array[v_j]._Proc = desktop$a_AppRegistry.array[v_j + 1]._Proc; + Next + AppRegistry(_AppCount - 1)\Name = "" + AppRegistry(_AppCount - 1)\ID = "" + AppRegistry(_AppCount - 1)\IconImg = 0 + AppRegistry(_AppCount - 1)\Proc = 0 + !desktop$a_AppRegistry.array[desktop$g__appcount]._Proc = 0; + _AppCount - 1 + _RebuildMenu() + ProcedureReturn + EndIf + Next + EndProcedure + + ;- Private procedures + Procedure _MakeIconImage(Label.s, Size = #Icon_Size, Color = 0) + Protected Img + + Img = CreateImage(#PB_Any, Size, Size, 32, RGBA(0, 0, 0, 0)) + If Not IsImage(Img) : ProcedureReturn 0 : EndIf + If StartVectorDrawing(ImageVectorOutput(Img)) + VectorFont(IconFont, Size * 0.65) + If Color = 0 + VectorSourceColor(Color_Icon) + Else + VectorSourceColor(Color) + EndIf + + ;MovePathCursor((Size - VectorTextWidth(Label)) / 2, (Size - VectorTextHeight(Label)) / 2) + ;In 3.20 DrawVectorText() draws vertically centered? + MovePathCursor((Size - VectorTextWidth(Label)) / 2, Size - (VectorTextHeight(Label) / 2)) + DrawVectorText(Label) + StopVectorDrawing() + EndIf + ProcedureReturn Img + EndProcedure + + Procedure _MenuHeight() + Protected RightH = #Menu_Header_H + _AppCount * #Menu_Row_H + 8 + Protected MinH = 2 * #Menu_Row_H + 16 ; always room for both rail shortcuts + If RightH < MinH : ProcedureReturn MinH : EndIf + ProcedureReturn RightH + EndProcedure + + ; Returns app index (>=0), #Hit_Settings, #Hit_Logout, or #Hit_None. + Procedure _HitTest(MX, MY) + Protected H, LogoutY, SettingsY, RY + + H = _MenuHeight() + If MX < #Menu_Rail_W + ; Left rail — system shortcuts are bottom-anchored + LogoutY = H - #Menu_Row_H + SettingsY = H - 2 * #Menu_Row_H + If MY >= SettingsY And MY < LogoutY + ProcedureReturn #Hit_Settings + ElseIf MY >= LogoutY And MY < H + ProcedureReturn #Hit_Logout + EndIf + Else + ; Right panel — app rows below header + RY = MY - #Menu_Header_H + If RY >= 0 And RY < _AppCount * #Menu_Row_H + ProcedureReturn RY / #Menu_Row_H + EndIf + EndIf + ProcedureReturn #Hit_None + EndProcedure + + Procedure _RebuildMenu() + Protected H = _MenuHeight() + If IsWindow(StartMenuWindow) : ResizeWindow(StartMenuWindow, #PB_Ignore, #PB_Ignore, #Menu_W, H) : EndIf + If IsGadget(_MenuCanvas) : ResizeGadget(_MenuCanvas, 0, 0, #Menu_W, H) : EndIf + _DrawMenu() + EndProcedure + + Procedure _DrawMenu() + If Not IsGadget(_MenuCanvas) : ProcedureReturn : EndIf + If Not StartDrawing(CanvasOutput(_MenuCanvas)) : ProcedureReturn : EndIf + + Protected W = OutputWidth() + Protected H = OutputHeight() + Protected TH, IX, IY, i, Y + + ; ── Left rail ──────────────────────────────────────────────────────── + Box(0, 0, #Menu_Rail_W, H, Color_Menu_Rail) + + Protected SettingsY = H - 2 * #Menu_Row_H + Protected LogoutY = H - #Menu_Row_H + + If _MenuHover = #Hit_Settings + Box(0, SettingsY, #Menu_Rail_W, #Menu_Row_H, Color_Menu_Hover) + EndIf + If _MenuHover = #Hit_Logout + Box(0, LogoutY, #Menu_Rail_W, #Menu_Row_H, Color_Logout_Hover) + EndIf + + If IsImage(_IconSettings) + IX = (#Menu_Rail_W - #Menu_Icon_Size) / 2 + IY = SettingsY + (#Menu_Row_H - #Menu_Icon_Size) / 2 + DrawAlphaImage(ImageID(_IconSettings), IX, IY) + EndIf + If IsImage(_IconLogout) + IX = (#Menu_Rail_W - #Menu_Icon_Size) / 2 + IY = LogoutY + (#Menu_Row_H - #Menu_Icon_Size) / 2 + DrawAlphaImage(ImageID(_IconLogout), IX, IY) + EndIf + + ; Separator between rail and right panel + Box(#Menu_Rail_W, 0, 1, H, Color_Menu_Sep) + + ; ── Right panel ────────────────────────────────────────────────────── + Box(#Menu_Rail_W + 1, 0, W - #Menu_Rail_W - 1, H, Color_Menu_Bg) + + ; Header + Box(#Menu_Rail_W + 1, 0, W - #Menu_Rail_W - 1, #Menu_Header_H, Color_Menu_Header) + DrawingMode(#PB_2DDrawing_Transparent) + If IsFont(MenuFont) : DrawingFont(FontID(MenuFont)) : EndIf + TH = TextHeight("A") + DrawText(#Menu_Rail_W + 14, (#Menu_Header_H - TH) / 2, "Apps", Color_Menu_Dim) + + ; App rows + Y = #Menu_Header_H + For i = 0 To _AppCount - 1 + If _MenuHover = i + DrawingMode(#PB_2DDrawing_Default) + Box(#Menu_Rail_W + 1, Y, W - #Menu_Rail_W - 1, #Menu_Row_H, Color_Menu_Hover) + EndIf + If IsImage(AppRegistry(i)\IconImg) + IX = #Menu_Rail_W + 12 + IY = Y + (#Menu_Row_H - #Menu_Icon_Size) / 2 + DrawAlphaImage(ImageID(AppRegistry(i)\IconImg), IX, IY) + EndIf + DrawingMode(#PB_2DDrawing_Transparent) + TH = TextHeight("A") + DrawText(#Menu_Rail_W + 12 + #Menu_Icon_Size + 8, + Y + (#Menu_Row_H - TH) / 2, + AppRegistry(i)\Name, Color_Menu_Text) + Y + #Menu_Row_H + Next + + StopDrawing() + EndProcedure + + Procedure _CloseMenu() + HideWindow(StartMenuWindow, #True) + _MenuHover = #Hit_None + _DrawMenu() + EndProcedure + + Procedure _FindByWindow(Win) + ForEach WindowManager() + If WindowManager()\Window = Win : ProcedureReturn #True : EndIf + Next + EndProcedure + + Procedure _FindByButton(Btn) + ForEach WindowManager() + If WindowManager()\Button = Btn : ProcedureReturn #True : EndIf + Next + EndProcedure + + Procedure _DrawButton() + Protected Active, W, H + + Active = Bool(WindowManager()\Window = _ActiveWindow And _ActiveWindow <> 0) + If Not IsGadget(WindowManager()\Button) : ProcedureReturn : EndIf + If StartDrawing(CanvasOutput(WindowManager()\Button)) + W = OutputWidth() + H = OutputHeight() + If Active + Box(0, 0, W, H, Color_Bar_Active) + Box(0, H / 4, 3, H / 2, Color_Accent) + Else + Box(0, 0, W, H, Color_Bar_Bg) + EndIf + If IsImage(WindowManager()\Icon) + DrawAlphaImage(ImageID(WindowManager()\Icon), (W - #Icon_Size) / 2, (H - #Icon_Size) / 2) + EndIf + StopDrawing() + EndIf + EndProcedure + + Procedure _SetActiveButton() + ForEach WindowManager() + _DrawButton() + Next + EndProcedure + + Procedure _RebuildButtons() + ForEach WindowManager() + ResizeGadget(WindowManager()\Button, 0, #Taskbar_ItemHeight + (ListIndex(WindowManager()) * #Taskbar_ItemHeight), #Taskbar_Width, #Taskbar_ItemHeight) + _DrawButton() + Next + EndProcedure + + Procedure _LoadInstalledAppsCallback(Success, DataString.s) + Protected Root, Total, Item, ManiNode, PermNode, PermCount, i, j + Protected AppID.s, Icon.s, Perms.s, ManiStr.s + + If Not Success Or Not ParseJSON(0, DataString) : ProcedureReturn : EndIf + Root = JSONValue(0) + Total = JSONArraySize(Root) + + For i = 0 To Total - 1 + Item = GetJSONElement(Root, i) + ManiNode = GetJSONMember(Item, "manifest") + AppID = GetJSONString(GetJSONMember(Item, "app_id")) + Icon = GetJSONString(GetJSONMember(ManiNode, "icon")) + + PermNode = GetJSONMember(Item, "permissions") + PermCount = JSONArraySize(PermNode) + Perms = "[" + For j = 0 To PermCount - 1 + If j > 0 : Perms + "," : EndIf + Perms + ~"\"" + GetJSONString(GetJSONElement(PermNode, j)) + ~"\"" + Next + Perms + "]" + + ; Re-serialise the manifest object to a JSON string for InstallThirdPartyApp + ManiStr = "{" + + ~"\"id\":\"" + GetJSONString(GetJSONMember(ManiNode, "id")) + ~"\"," + + ~"\"name\":\"" + GetJSONString(GetJSONMember(ManiNode, "name")) + ~"\"," + + ~"\"version\":\"" + GetJSONString(GetJSONMember(ManiNode, "version")) + ~"\"," + + ~"\"icon\":\"" + ReplaceString(Icon, ~"\"", ~"\\\"") + ~"\"," + + ~"\"entry\":\"" + GetJSONString(GetJSONMember(ManiNode, "entry")) + ~"\"}" + + InstallThirdPartyApp(AppID, ManiStr, Perms, Icon) + Next + FreeJSON(0) + EndProcedure + + ;- Event handlers + Procedure Handler_Resize() + Protected Width = DesktopWidth(0) + Protected Height = DesktopHeight(0) + ResizeWindow(TaskBarWindow, 0, 0, #Taskbar_Width, Height) + ResizeGadget(ClockLabel, 0, Height - #Taskbar_ItemHeight, #Taskbar_Width, #Taskbar_ItemHeight) + EndProcedure + + Procedure Handler_Clock() + SetGadgetText(ClockLabel, FormatDate("%hh:%ii:%ss", Date())) + EndProcedure + + Procedure Handler_StartButton() + HideWindow(StartMenuWindow, #False) + SetActiveWindow(StartMenuWindow) + EndProcedure + + Procedure Handler_StartMenu_Focus() + _CloseMenu() + EndProcedure + + Procedure Handler_Logout() + HTTPRequest(#PB_HTTP_Post, "/api/auth/logout", "", @LogoutCallback()) + EndProcedure + + Procedure LogoutCallback(Success, Response.s) + !location.reload() + EndProcedure + + Procedure Handler_MenuCanvas() + Protected EType, MX, MY, Hit + + EType = EventType() + MX = GetGadgetAttribute(_MenuCanvas, #PB_Canvas_MouseX) + MY = GetGadgetAttribute(_MenuCanvas, #PB_Canvas_MouseY) + Hit = _HitTest(MX, MY) + + Select EType + Case #PB_EventType_MouseMove + If Hit <> _MenuHover + _MenuHover = Hit + _DrawMenu() + EndIf + + Case #PB_EventType_MouseLeave + If _MenuHover <> #Hit_None + _MenuHover = #Hit_None + _DrawMenu() + EndIf + + Case #PB_EventType_LeftButtonUp + Select Hit + Case #Hit_Settings + _CloseMenu() + !settings$f_open(); + + Case #Hit_Logout + _CloseMenu() + Handler_Logout() + + Default + If Hit >= 0 And Hit < _AppCount And AppRegistry(Hit)\Proc <> 0 + _CloseMenu() + !desktop$a_AppRegistry.array[v_hit]._Proc(); + EndIf + EndSelect + EndSelect + EndProcedure + + Procedure Handler_TaskbarButton() + Protected Btn, Win + If EventType() <> #PB_EventType_LeftButtonUp : ProcedureReturn : EndIf + Btn = EventGadget() + Win = GetGadgetData(Btn) + If Not IsWindow(Win) : ProcedureReturn : EndIf + If _ActiveWindow = Win + HideWindow(Win, #True) + _ActiveWindow = 0 + Else + HideWindow(Win, #False) + SetActiveWindow(Win) + _ActiveWindow = Win + EndIf + _SetActiveButton() + EndProcedure + + Procedure Handler_AppClose() + Protected Win = EventWindow() + If Not _FindByWindow(Win) : ProcedureReturn : EndIf + UnbindEvent(#PB_Event_CloseWindow, @Handler_AppClose(), Win) + UnbindEvent(#PB_Event_ActivateWindow, @Handler_AppActivate(), Win) + UnbindGadgetEvent(WindowManager()\Button, @Handler_TaskbarButton()) + FreeGadget(WindowManager()\Button) + DeleteElement(WindowManager()) + If _ActiveWindow = Win : _ActiveWindow = GetActiveWindow() : EndIf + _RebuildButtons() + CloseWindow(Win) + EndProcedure + + Procedure Handler_AppActivate() + Protected Win = EventWindow() + If Win = TaskBarWindow : ProcedureReturn : EndIf + _ActiveWindow = Win + _SetActiveButton() + EndProcedure + +EndModule + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 95 +; FirstLine = 82 +; Folding = BAAAg +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Includes/FS.sbi b/Client/Includes/FS.sbi new file mode 100644 index 0000000..ea94391 --- /dev/null +++ b/Client/Includes/FS.sbi @@ -0,0 +1,251 @@ +Module FS + EnableExplicit + + ;- Globals + ; Pending operation state + ; Safe because JS is single-threaded — one Read_ and one Write in flight at most. + Global _R_ID.s, _R_Path.s, _R_Content.s, *_R_Cb + Global _W_ID.s, _W_Path.s, _W_Content.s, *_W_Cb + + ;- Private declarations + Declare _FindLastSlash(Path.s) + Declare _ReadExistsCallback(Success, DataString.s) + Declare _ReadCachedCallback(Success, DataString.s) + Declare _ReadServerCallback(Success, DataString.s) + Declare _ReadCacheStoreCallback(Success, DataString.s) + Declare _WriteCacheCallback(Success, DataString.s) + Declare _WriteServerCallback(Success, DataString.s) + + ;- Public procedures + + ; List directory contents. + ; DataString = JSON array of {id, name, is_dir, mime_type, size, modified_at} + Procedure List(Path.s, *Callback) + HTTPRequest(#PB_HTTP_Get, "/api/fs/list?path=" + URLEncoder(Path, #PB_UTF8), "", *Callback) + EndProcedure + + ; Stat a single node. + ; DataString = JSON object with id, name, is_dir, size, etc. or error. + Procedure Stat(Path.s, *Callback) + HTTPRequest(#PB_HTTP_Get, "/api/fs/stat?path=" + URLEncoder(Path, #PB_UTF8), "", *Callback) + EndProcedure + + ; Read file content. Cache-first: if the file is in IndexedDB, returns it + ; immediately without a server round-trip. Otherwise fetches from server + ; and populates the cache for next time. + ; FileID = string form of the numeric node id (from Stat or List). + ; Path = virtual path, stored in cache meta for Sync to use later. + Procedure Read_(FileID.s, Path.s, *Callback) + _R_ID = FileID + _R_Path = Path + *_R_Cb = *Callback + FileCache::Exists(FileID, @_ReadExistsCallback()) + EndProcedure + + ; Write content. Hits the cache immediately (dirty), fires the callback, + ; then syncs to the server best-effort in the background. + ; If the server write fails the file stays dirty — Sync() will retry it. + Procedure Write(FileID.s, Path.s, Content.s, *Callback) + _W_ID = FileID + _W_Path = Path + _W_Content = Content + *_W_Cb = *Callback + FileCache::Write(FileID, Content, @_WriteCacheCallback()) + EndProcedure + + ; Create a directory. + ; DataString = JSON {success:true, id:N} or error. + Procedure Mkdir(Path.s, *Callback) + HTTPRequest(#PB_HTTP_Post, "/api/fs/mkdir", "path=" + URLEncoder(Path, #PB_UTF8), *Callback) + EndProcedure + + ; Delete a node by ID. Evicts from cache too. + ; DataString = JSON {success:true} or error. + Procedure Delete_(FileID.s, *Callback) + FileCache::Evict(FileID, #Null) ; best-effort, don't wait + HTTPRequest(#PB_HTTP_Post, "/api/fs/delete", "id=" + FileID, *Callback) + EndProcedure + + ; Move/rename a node by ID. + ; DataString = JSON {success:true} or error. + Procedure Move(FileID.s, NewParentID.s, NewName.s, *Callback) + HTTPRequest(#PB_HTTP_Post, "/api/fs/move", "id=" + FileID + "&to_parent_id=" + NewParentID + "&name=" + URLEncoder(NewName, #PB_UTF8), *Callback) + EndProcedure + + ; Push all dirty cached files to the server sequentially. + Procedure Sync(*Callback) + !var _cb = p_callback; + !var _db = window._kumos_idb; + !if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + ! + !// Collect dirty entries from file_meta + !var tx = _db.transaction(['file_meta'], 'readonly'); + !var store = tx.objectStore('file_meta'); + !var req = store.openCursor(); + !var dirty = []; + ! + !req.onsuccess = function(ev) { + ! var cursor = ev.target.result; + ! if (cursor) { + ! try { + ! var meta = JSON.parse(cursor.value); + ! if (meta.dirty) dirty.push({ id: String(cursor.key), path: meta.path }); + ! } catch(e) {} + ! cursor.continue(); + ! } + !}; + ! + !tx.oncomplete = function() { + ! if (dirty.length === 0) { + ! if (_cb) _cb(1, JSON.stringify({ synced: 0, failed: 0 })); + ! return; + ! } + ! + ! var synced = 0, failed = 0, total = dirty.length; + ! + ! function markClean(id, onDone) { + ! var wtx = _db.transaction(['file_meta'], 'readwrite'); + ! var ws = wtx.objectStore('file_meta'); + ! var gr = ws.get(id); + ! gr.onsuccess = function(ev) { + ! var m = {}; + ! try { m = JSON.parse(ev.target.result || '{}'); } catch(e) {} + ! m.dirty = false; + ! ws.put(JSON.stringify(m), id); + ! }; + ! wtx.oncomplete = onDone; + ! wtx.onerror = onDone; + ! } + ! + ! function syncNext(i) { + ! if (i >= total) { + ! if (_cb) _cb(failed === 0 ? 1 : 0, + ! JSON.stringify({ synced: synced, failed: failed })); + ! return; + ! } + ! var entry = dirty[i]; + ! + ! // Read content from IDB + ! var rtx = _db.transaction(['file_content'], 'readonly'); + ! var rreq = rtx.objectStore('file_content').get(entry.id); + ! + ! rreq.onsuccess = function(ev) { + ! var content = ev.target.result !== undefined ? String(ev.target.result) : ''; + ! + ! // POST to server + ! fetch('/api/fs/write', { + ! method: 'POST', + ! headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + ! body: 'path=' + encodeURIComponent(entry.path) + + ! '&content=' + encodeURIComponent(content) + ! }) + ! .then(function(r) { return r.json(); }) + ! .then(function(json) { + ! if (json.success) { + ! markClean(entry.id, function() { synced++; syncNext(i + 1); }); + ! } else { + ! failed++; syncNext(i + 1); + ! } + ! }) + ! .catch(function() { failed++; syncNext(i + 1); }); + ! }; + ! + ! rreq.onerror = function() { failed++; syncNext(i + 1); }; + ! } + ! + ! syncNext(0); + !}; + ! + !tx.onerror = function(e) { + ! if (_cb) _cb(0, e.target.error ? e.target.error.message : 'sync scan failed'); + !}; + EndProcedure + + Procedure.s GetFilePart(Path.s) + Protected Last = _FindLastSlash(Path) + If Last = 0 : ProcedureReturn Path : EndIf + ProcedureReturn Mid(Path, Last + 1) + EndProcedure + + Procedure.s GetPathPart(Path.s) + Protected Last = _FindLastSlash(Path) + If Last = 0 : ProcedureReturn "/" : EndIf ; no slash — return root + ProcedureReturn Left(Path, Last) ; includes the trailing slash + EndProcedure + + ;- Private procedures + + Procedure _FindLastSlash(Path.s) + Protected Pos, Last + Pos = FindString(Path, "/") + While Pos > 0 + Last = Pos + Pos = FindString(Path, "/", Pos + 1) + Wend + ProcedureReturn Last + EndProcedure + + Procedure _ReadExistsCallback(Success, DataString.s) + Debug "Exists → Success=" + Success + " Data=" + DataString + If Success And DataString = "1" + ; Cache hit — return directly + FileCache::Read_(_R_ID, @_ReadCachedCallback()) + Else + ; Cache miss — fetch from server + HTTPRequest(#PB_HTTP_Get, "/api/fs/read?id=" + _R_ID, "", @_ReadServerCallback()) + EndIf + EndProcedure + + Procedure _ReadCachedCallback(Success, DataString.s) + If *_R_Cb + !fs$g__r_cb(v_success, v_datastring); + EndIf + EndProcedure + + Procedure _ReadServerCallback(Success, DataString.s) + If Success + _R_Content = DataString + FileCache::Cache(_R_ID, _R_Path, DataString, @_ReadCacheStoreCallback()) + Else + !fs$g__r_cb(0, v_datastring); + EndIf + EndProcedure + + Procedure _ReadCacheStoreCallback(Success, DataString.s) + Protected Content.s = _R_Content + If *_R_Cb + !fs$g__r_cb(1, v_content); + EndIf + EndProcedure + + Procedure _WriteCacheCallback(Success, DataString.s) + If *_W_Cb + !fs$g__w_cb(v_success, v_datastring); + EndIf + If Success + HTTPRequest(#PB_HTTP_Post, "/api/fs/write", "path=" + URLEncoder(_W_Path, #PB_UTF8) + "&content=" + URLEncoder(_W_Content, #PB_UTF8), @_WriteServerCallback()) + EndIf + EndProcedure + + Procedure _WriteServerCallback(Success, DataString.s) + If Success + If ParseJSON(0, DataString) + If GetJSONBoolean(GetJSONMember(JSONValue(0), "success")) + FileCache::MarkClean(_W_ID, #Null) + EndIf + FreeJSON(0) + EndIf + EndIf + EndProcedure + +EndModule + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 21 +; Folding = BAA- +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Includes/FileCache.sbi b/Client/Includes/FileCache.sbi new file mode 100644 index 0000000..7c387f2 --- /dev/null +++ b/Client/Includes/FileCache.sbi @@ -0,0 +1,166 @@ +Module FileCache + EnableExplicit + + ;- Constants + ; Store names (also used in IDB::Init in General.sbi) + #Store_Content = "file_content" + #Store_Meta = "file_meta" + + ; Metadata JSON shape: + ; { "path": "/home/alice/doc.txt", "dirty": false, "cached_at": 1234567890, "size": 42 } + + ;- Public procedures + + ; Store a file fetched from the server into the cache. + ; Writes content and meta atomically in one transaction. + Procedure Cache(FileID.s, Path.s, Content.s, *Callback) + !var _cb = p_callback; + !var _id = v_fileid; + !var _path = v_path; + !var _content = v_content; + !var _db = window._kumos_idb; + !if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + ! + !var tx = _db.transaction(['file_content','file_meta'], 'readwrite'); + !var contentStore = tx.objectStore('file_content'); + !var metaStore = tx.objectStore('file_meta'); + ! + !var meta = JSON.stringify({ + ! path: _path, + ! dirty: false, + ! cached_at: Date.now(), + ! size: _content.length + !}); + ! + !contentStore.put(_content, _id).onerror = function(e) { tx.abort(); }; + !metaStore.put(meta, _id).onerror = function(e) { tx.abort(); }; + ! + !tx.oncomplete = function() { if (_cb) _cb(1, ''); }; + !tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'cache failed'); }; + !tx.onabort = function(e) { if (_cb) _cb(0, 'cache aborted'); }; + EndProcedure + + ; Read cached content. Data = raw file content string. + ; Data = "" if file is not in cache (Success is still #True). + Procedure Read_(FileID.s, *Callback) + IDB::Get(#Store_Content, FileID, *Callback) + EndProcedure + + ; Write updated content to the cache and mark the file dirty. + ; Patches meta without replacing path or other fields. + Procedure Write(FileID.s, Content.s, *Callback) + !var _cb = p_callback; + !var _id = v_fileid; + !var _content = v_content; + !var _db = window._kumos_idb; + !if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + ! + !var tx = _db.transaction(['file_content','file_meta'], 'readwrite'); + !var contentStore = tx.objectStore('file_content'); + !var metaStore = tx.objectStore('file_meta'); + ! + !contentStore.put(_content, _id); + ! + !var getReq = metaStore.get(_id); + !getReq.onsuccess = function(ev) { + ! var meta = {}; + ! try { meta = JSON.parse(ev.target.result || '{}'); } catch(e) {} + ! meta.dirty = true; + ! meta.size = _content.length; + ! meta.cached_at = Date.now(); + ! metaStore.put(JSON.stringify(meta), _id); + !}; + ! + !tx.oncomplete = function() { if (_cb) _cb(1, ''); }; + !tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'write failed'); }; + EndProcedure + + ; Get the metadata JSON string for a cached file. + Procedure GetMeta(FileID.s, *Callback) + IDB::Get(#Store_Meta, FileID, *Callback) + EndProcedure + + ; Mark a cached file as clean after a successful sync to the server. + Procedure MarkClean(FileID.s, *Callback) + !var _cb = p_callback; + !var _id = v_fileid; + !var _db = window._kumos_idb; + !if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + ! + !var tx = _db.transaction(['file_meta'], 'readwrite'); + !var store = tx.objectStore('file_meta'); + !var req = store.get(_id); + !req.onsuccess = function(ev) { + ! var meta = {}; + ! try { meta = JSON.parse(ev.target.result || '{}'); } catch(e) {} + ! meta.dirty = false; + ! store.put(JSON.stringify(meta), _id); + !}; + ! + !tx.oncomplete = function() { if (_cb) _cb(1, ''); }; + !tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'markclean failed'); }; + EndProcedure + + ; Remove a file from the cache entirely (both content and meta). + Procedure Evict(FileID.s, *Callback) + !var _cb = p_callback; + !var _id = v_fileid; + !var _db = window._kumos_idb; + !if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + ! + !var tx = _db.transaction(['file_content','file_meta'], 'readwrite'); + !tx.objectStore('file_content').delete(_id); + !tx.objectStore('file_meta').delete(_id); + ! + !tx.oncomplete = function() { if (_cb) _cb(1, ''); }; + !tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'evict failed'); }; + EndProcedure + + ; Return all cached file IDs as a JSON array. + Procedure ListCached(*Callback) + IDB::GetAllKeys(#Store_Meta, *Callback) + EndProcedure + + ; Return only the dirty file IDs as a JSON array. + ; These are files that have been written locally but not yet synced. + Procedure ListDirty(*Callback) + !var _cb = p_callback; + !var _db = window._kumos_idb; + !if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + ! + !var tx = _db.transaction(['file_meta'], 'readonly'); + !var store = tx.objectStore('file_meta'); + !var req = store.openCursor(); + !var dirty = []; + ! + !req.onsuccess = function(ev) { + ! var cursor = ev.target.result; + ! if (cursor) { + ! try { + ! var meta = JSON.parse(cursor.value); + ! if (meta.dirty) dirty.push(String(cursor.key)); + ! } catch(e) {} + ! cursor.continue(); + ! } + !}; + ! + !tx.oncomplete = function() { if (_cb) _cb(1, JSON.stringify(dirty)); }; + !tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'listdirty failed'); }; + EndProcedure + + ; Returns "1" if the file is in the cache, "0" if not. + Procedure Exists(FileID.s, *Callback) + IDB::Exists(#Store_Meta, FileID, *Callback) + EndProcedure + +EndModule + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 156 +; Folding = Bw +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Includes/General.sbi b/Client/Includes/General.sbi new file mode 100644 index 0000000..00e4d34 --- /dev/null +++ b/Client/Includes/General.sbi @@ -0,0 +1,48 @@ +Module General + EnableExplicit + + Procedure CheckCallback(Success, Response.s) + Protected Authenticated, Root + Protected Username.s + + If Success + If ParseJSON(0, Response) + Root = JSONValue(0) + Authenticated = GetJSONBoolean(GetJSONMember(Root, "authenticated")) + If Authenticated + Username = GetJSONString(GetJSONMember(Root, "username")) + EndIf + FreeJSON(0) + EndIf + EndIf + + If Authenticated And Username <> "" + Desktop::Open(Username) + Else + Login::Open() + EndIf + EndProcedure + + Procedure IDBCallback(Success, DataString.s) + If Success + HTTPRequest(#PB_HTTP_Get, "/api/auth/check", "", @CheckCallback()) + Else + Debug "IDB Init failed: " + DataString + EndIf + EndProcedure + + Procedure Init() + IDB::Init("kumos", 1, "file_content,file_meta", @IDBCallback()) + EndProcedure + +EndModule + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 38 +; Folding = - +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Includes/Login.sbi b/Client/Includes/Login.sbi new file mode 100644 index 0000000..f5e752a --- /dev/null +++ b/Client/Includes/Login.sbi @@ -0,0 +1,85 @@ +Module Login + EnableExplicit + + ;- Private constants + #Window_Width = 400 + #Window_Height = 165 + + ;- Private variables + Global Window + Global UsernameLabel, UsernameInput, PasswordLabel, PasswordInput, ConnectButton + + ;- Private declarations + Declare Handler_BrowserResize() + Declare Handler_ConnectButton() + Declare Handler_Login(Success, Result.s, UserData) + + ;- Public procedures + Procedure Open() + Window = OpenWindow(#PB_Any, 0, 0, #Window_Width, #Window_Height, "", #PB_Window_ScreenCentered | #PB_Window_BorderLess) + + UsernameLabel = TextGadget(#PB_Any, 30, 33, 100, 20, "Username: ") + UsernameInput = StringGadget(#PB_Any, 120, 30, 250, 20, "") + PasswordLabel = TextGadget(#PB_Any, 30, 73, 100, 20, "Password: ") + PasswordInput = StringGadget(#PB_Any, 120, 70, 250, 20, "", #PB_String_Password) + ConnectButton = ButtonGadget(#PB_Any, 30, 110, #Window_Width - 60, 25, "Connect") + SetActiveGadget(UsernameInput) + + BindGadgetEvent(ConnectButton, @Handler_ConnectButton()) + BindEvent(#PB_Event_SizeDesktop, @Handler_BrowserResize()) + EndProcedure + + ;- Private procedures + Procedure Handler_BrowserResize() + Protected _Width = DesktopWidth(0) + Protected _Height = DesktopHeight(0) + ResizeWindow(Window, (_Width - #Window_Width) * 0.5, (_Height - #Window_Height) * 0.5, #PB_Ignore, #PB_Ignore) + EndProcedure + + Procedure Handler_ConnectButton() + Protected Username.s = GetGadgetText(UsernameInput) + Protected Password.s = GetGadgetText(PasswordInput) + + If Username = "" Or Password = "" + Notify::Toast("Invalid username or password.", Notify::#Error) + ProcedureReturn + EndIf + + HTTPRequest(#PB_HTTP_Post, "/api/auth/login", "username=" + URLEncoder(Username, #PB_UTF8) + "&password=" + URLEncoder(Password, #PB_UTF8), @Handler_Login()) + EndProcedure + + Procedure Handler_Login(Success, Result.s, UserData) + Protected Root, OK + Protected Username.s + + If Success + If ParseJSON(0, Result) + Root = JSONValue(0) + OK = GetJSONBoolean(GetJSONMember(Root, "success")) + If OK + Username = GetJSONString(GetJSONMember(Root, "username")) + UnbindGadgetEvent(ConnectButton, @Handler_ConnectButton()) + UnbindEvent(#PB_Event_SizeDesktop, @Handler_BrowserResize()) + CloseWindow(Window) + Desktop::Open(Username) + Else + Notify::Toast("Invalid username or password.", Notify::#Error) + EndIf + FreeJSON(0) + EndIf + Else + Notify::Toast("Connection failed. Try again.", Notify::#Error) + EndIf + EndProcedure + +EndModule + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 51 +; Folding = h +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Includes/Modules.sbi b/Client/Includes/Modules.sbi new file mode 100644 index 0000000..e5089ea --- /dev/null +++ b/Client/Includes/Modules.sbi @@ -0,0 +1,69 @@ +DeclareModule General + Declare Init() +EndDeclareModule + +DeclareModule FileCache + Declare Cache(FileID.s, Path.s, Content.s, *Callback) + Declare Read_(FileID.s, *Callback) + Declare Write(FileID.s, Content.s, *Callback) + Declare GetMeta(FileID.s, *Callback) + Declare MarkClean(FileID.s, *Callback) + Declare Evict(FileID.s, *Callback) + Declare ListCached(*Callback) + Declare ListDirty(*Callback) + Declare Exists(FileID.s, *Callback) +EndDeclareModule + +DeclareModule FS + Declare List(Path.s, *Callback) + Declare Stat(Path.s, *Callback) + Declare Read_(FileID.s, Path.s, *Callback) + Declare Write(FileID.s, Path.s, Content.s, *Callback) + Declare Mkdir(Path.s, *Callback) + Declare Delete_(FileID.s, *Callback) + Declare Move(FileID.s, NewParentID.s, NewName.s, *Callback) + Declare Sync(*Callback) + + Declare.s GetFilePart(Path.s) + Declare.s GetPathPart(Path.s) +EndDeclareModule + +DeclareModule Login + Declare Open() +EndDeclareModule + +DeclareModule Desktop + Declare Open(Username.s) + Declare InstallApp(AppName.s, *LaunchProc, Icon.s = "") + Declare Register(AppName.s, Win, Icon.s = "") + Declare Unregister(Win) + Declare InstallThirdPartyApp(AppID.s, ManifestJSON.s, Permissions.s, Icon.s = "") + Declare UninstallThirdPartyApp(AppID.s) +EndDeclareModule + +DeclareModule Notify + Enumeration + #Info + #Success + #Warning + #Error + EndEnumeration + + Declare Toast(Message.s, Type = #Info, Duration = 4000) + Declare Confirm(Title.s, Message.s, *Callback) +EndDeclareModule + +DeclareModule AppRuntime + Declare Init() + Declare Launch(AppID.s, ManifestJSON.s, Permissions.s) +EndDeclareModule + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 59 +; Folding = -- +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Includes/Notify.sbi b/Client/Includes/Notify.sbi new file mode 100644 index 0000000..5da8eb0 --- /dev/null +++ b/Client/Includes/Notify.sbi @@ -0,0 +1,241 @@ +Module Notify + EnableExplicit + + ;- Toast constants + #Toast_W = 300 + #Toast_H = 60 + #Toast_Margin = 10 + #Accent_W = 4 + #Toast_Timer = 0 + #MaxToasts = 5 + + ;- Globals + Global _Font = LoadFont(#PB_Any, "sans-serif", 12) + + ; Toast state + Global Dim _Wins.i(#MaxToasts) + Global Dim _Canvases.i(#MaxToasts) + Global Dim _Types.i(#MaxToasts) + Global Dim _Messages.s(#MaxToasts) + Global _Count + + ; Confirm state + Global _ConfirmWin + Global _ConfirmOkBtn + Global _ConfirmCancelBtn + Global *_ConfirmCb + + ;- Private declarations + Declare _TypeColor(Type) + Declare _DrawToast(Slot) + Declare _Dismiss(Slot) + Declare _Reposition() + Declare _FindByWindow(Win) + Declare _FindByCanvas(Canvas) + Declare _CloseConfirm() + Declare _FireConfirm(Result) + Declare Handler_ToastTimer() + Declare Handler_ToastClick() + Declare Handler_ConfirmOK() + Declare Handler_ConfirmCancel() + Declare Handler_ConfirmClose() + + ;- Public procedures + + ; Show a toast in the bottom-right corner. Dismisses after Duration ms or on click. + Procedure Toast(Message.s, Type = #Info, Duration = 4000) + Protected Slot, DW, DH, X, Y, Win, Canvas + + If _Count >= #MaxToasts : ProcedureReturn : EndIf + + Slot = _Count + DW = DesktopWidth(0) + DH = DesktopHeight(0) + X = DW - #Toast_W - #Toast_Margin + Y = DH - (Slot + 1) * (#Toast_H + #Toast_Margin) + Win = OpenWindow(#PB_Any, X, Y, #Toast_W, #Toast_H, "", #PB_Window_BorderLess) + StickyWindow(Win, #True) + Canvas = CanvasGadget(#PB_Any, 0, 0, #Toast_W, #Toast_H) + + _Wins(Slot) = Win + _Canvases(Slot) = Canvas + _Types(Slot) = Type + _Messages(Slot) = Message + _Count + 1 + + _DrawToast(Slot) + + BindGadgetEvent(Canvas, @Handler_ToastClick()) + AddWindowTimer(Win, #Toast_Timer, Duration) + BindEvent(#PB_Event_Timer, @Handler_ToastTimer(), Win) + EndProcedure + + ; Show a modal confirm dialog. *Callback(Result) is called with 1 for OK, 0 for Cancel. + ; Only one confirm can be open at a time — subsequent calls are ignored. + Procedure Confirm(Title.s, Message.s, *Callback) + Protected W, H, DW, DH + + If IsWindow(_ConfirmWin) : ProcedureReturn : EndIf + + W = 340 + H = 130 + DW = DesktopWidth(0) + DH = DesktopHeight(0) + + _ConfirmWin = OpenWindow(#PB_Any, (DW - W) / 2, (DH - H) / 2, W, H, Title, #PB_Window_TitleBar | #PB_Window_SystemMenu) + StickyWindow(_ConfirmWin, #True) + *_ConfirmCb = *Callback + + TextGadget(#PB_Any, 20, 20, W - 40, 50, Message) + _ConfirmOkBtn = ButtonGadget(#PB_Any, W - 190, H - 45, 80, 30, "OK") + _ConfirmCancelBtn = ButtonGadget(#PB_Any, W - 100, H - 45, 80, 30, "Cancel") + + BindGadgetEvent(_ConfirmOkBtn, @Handler_ConfirmOK()) + BindGadgetEvent(_ConfirmCancelBtn, @Handler_ConfirmCancel()) + BindEvent(#PB_Event_CloseWindow, @Handler_ConfirmClose(), _ConfirmWin) + EndProcedure + + ;- Private procedures + + Procedure _TypeColor(Type) + Select Type + Case #Success : ProcedureReturn RGB( 60, 180, 100) + Case #Warning : ProcedureReturn RGB(220, 160, 40) + Case #Error : ProcedureReturn RGB(210, 65, 65) + Default : ProcedureReturn RGB( 50, 130, 220) ; #Info + EndSelect + EndProcedure + + Procedure _DrawToast(Slot) + Protected W, H, MaxW + Protected Msg.s + + If Not IsGadget(_Canvases(Slot)) : ProcedureReturn : EndIf + If Not StartDrawing(CanvasOutput(_Canvases(Slot))) : ProcedureReturn : EndIf + + W = OutputWidth() + H = OutputHeight() + + ; Background + Box(0, 0, W, H, RGB(38, 38, 54)) + + ; Accent bar + Box(0, 0, #Accent_W, H, _TypeColor(_Types(Slot))) + + ; Message — truncate with ellipsis if too wide + DrawingMode(#PB_2DDrawing_Transparent) + If IsFont(_Font) : DrawingFont(FontID(_Font)) : EndIf + + Msg = _Messages(Slot) + MaxW = W - #Accent_W - 24 + While Len(Msg) > 3 And TextWidth(Msg) > MaxW + Msg = Left(Msg, Len(Msg) - 4) + "..." + Wend + + DrawText(#Accent_W + 14, (H - TextHeight("A")) / 2, Msg, RGB(220, 220, 220)) + StopDrawing() + EndProcedure + + Procedure _Dismiss(Slot) + Protected i + + If Not IsWindow(_Wins(Slot)) : ProcedureReturn : EndIf + + UnbindEvent(#PB_Event_Timer, @Handler_ToastTimer(), _Wins(Slot)) + UnbindGadgetEvent(_Canvases(Slot), @Handler_ToastClick()) + CloseWindow(_Wins(Slot)) + + For i = Slot To _Count - 2 + _Wins(i) = _Wins(i + 1) + _Canvases(i) = _Canvases(i + 1) + _Types(i) = _Types(i + 1) + _Messages(i) = _Messages(i + 1) + Next + _Wins(_Count - 1) = 0 + _Canvases(_Count - 1) = 0 + _Types(_Count - 1) = 0 + _Messages(_Count - 1) = "" + _Count - 1 + + _Reposition() + EndProcedure + + Procedure _Reposition() + Protected DW, DH, i + + DW = DesktopWidth(0) + DH = DesktopHeight(0) + For i = 0 To _Count - 1 + ResizeWindow(_Wins(i), DW - #Toast_W - #Toast_Margin, DH - (i + 1) * (#Toast_H + #Toast_Margin), #PB_Ignore, #PB_Ignore) + Next + EndProcedure + + Procedure _FindByWindow(Win) + Protected i + For i = 0 To _Count - 1 + If _Wins(i) = Win : ProcedureReturn i : EndIf + Next + ProcedureReturn -1 + EndProcedure + + Procedure _FindByCanvas(Canvas) + Protected i + For i = 0 To _Count - 1 + If _Canvases(i) = Canvas : ProcedureReturn i : EndIf + Next + ProcedureReturn -1 + EndProcedure + + Procedure _CloseConfirm() + UnbindGadgetEvent(_ConfirmOkBtn, @Handler_ConfirmOK()) + UnbindGadgetEvent(_ConfirmCancelBtn, @Handler_ConfirmCancel()) + UnbindEvent(#PB_Event_CloseWindow, @Handler_ConfirmClose(), _ConfirmWin) + CloseWindow(_ConfirmWin) + _ConfirmWin = 0 + EndProcedure + + Procedure _FireConfirm(Result) + _CloseConfirm() + If *_ConfirmCb + !notify$g__confirmcb(v_result); + *_ConfirmCb = 0 + EndIf + EndProcedure + + ;- Event handlers + + Procedure Handler_ToastTimer() + Protected Slot = _FindByWindow(EventWindow()) + If Slot >= 0 : _Dismiss(Slot) : EndIf + EndProcedure + + Procedure Handler_ToastClick() + Protected Slot + If EventType() <> #PB_EventType_LeftButtonUp : ProcedureReturn : EndIf + Slot = _FindByCanvas(EventGadget()) + If Slot >= 0 : _Dismiss(Slot) : EndIf + EndProcedure + + Procedure Handler_ConfirmOK() + _FireConfirm(1) + EndProcedure + + Procedure Handler_ConfirmCancel() + _FireConfirm(0) + EndProcedure + + Procedure Handler_ConfirmClose() + _FireConfirm(0) + EndProcedure + +EndModule + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 13 +; Folding = BAw +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/KUMOS.sbp b/Client/KUMOS.sbp new file mode 100644 index 0000000..5099282 --- /dev/null +++ b/Client/KUMOS.sbp @@ -0,0 +1,85 @@ + + + +
+ + +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + + +
+
diff --git a/Client/Libraries/IDB.sbi b/Client/Libraries/IDB.sbi new file mode 100644 index 0000000..6d3b549 --- /dev/null +++ b/Client/Libraries/IDB.sbi @@ -0,0 +1,165 @@ +DeclareModule IDB + Declare Init(DBName.s, Version.i, Stores.s, *Callback) + Declare Put(Store.s, Key.s, Value.s, *Callback) + Declare Get(Store.s, Key.s, *Callback) + Declare Exists(Store.s, Key.s, *Callback) + Declare Delete(Store.s, Key.s, *Callback) + Declare GetAllKeys(Store.s, *Callback) + Declare GetAll(Store.s, *Callback) + Declare Clear(Store.s, *Callback) + Declare Count(Store.s, *Callback) +EndDeclareModule + +Module IDB + EnableExplicit + + !window._kumos_idb = null; + + Procedure Init(DBName.s, Version.i, Stores.s, *Callback) + !var _cb = p_callback; + !var _dbname = v_dbname; + !var _ver = v_version; + !var _stores = v_stores; + ! + !var req = indexedDB.open(_dbname, _ver); + ! + !req.onupgradeneeded = function(ev) { + ! var db = ev.target.result; + ! _stores.split(',').forEach(function(name) { + ! name = name.trim(); + ! if (name && !db.objectStoreNames.contains(name)) { + ! db.createObjectStore(name); + ! } + ! }); + !}; + !req.onsuccess = function(ev) { + ! window._kumos_idb = ev.target.result; + ! if (_cb) _cb(1, ''); + !}; + !req.onerror = function(ev) { + ! var msg = ev.target.error ? ev.target.error.message : 'open failed'; + ! if (_cb) _cb(0, msg); + !}; + !req.onblocked = function() { + ! if (_cb) _cb(0, 'IDB blocked - close other tabs using this app'); + !}; + EndProcedure + + Procedure Put(Store.s, Key.s, Value.s, *Callback) + !var _cb = p_callback; + !var _store = v_store; + !var _key = v_key; + !var _val = v_value; + !if (!window._kumos_idb) { if (_cb) _cb(0, 'IDB not open'); return; } + !var tx = window._kumos_idb.transaction([_store], 'readwrite'); + !var st = tx.objectStore(_store); + !var req = st.put(_val, _key); + !req.onsuccess = function() { if (_cb) _cb(1, ''); }; + !req.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'put failed'); }; + EndProcedure + + Procedure Get(Store.s, Key.s, *Callback) + !var _cb = p_callback; + !var _store = v_store; + !var _key = v_key; + !if (!window._kumos_idb) { if (_cb) _cb(0, 'IDB not open'); return; } + !var tx = window._kumos_idb.transaction([_store], 'readonly'); + !var st = tx.objectStore(_store); + !var req = st.get(_key); + !req.onsuccess = function(ev) { + ! var v = ev.target.result; + ! if (_cb) _cb(1, v !== undefined ? String(v) : ''); + !}; + !req.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'get failed'); }; + EndProcedure + + Procedure Exists(Store.s, Key.s, *Callback) + !var _cb = p_callback; + !var _store = v_store; + !var _key = v_key; + !if (!window._kumos_idb) { if (_cb) _cb(0, 'IDB not open'); return; } + !var tx = window._kumos_idb.transaction([_store], 'readonly'); + !var st = tx.objectStore(_store); + !var req = st.getKey(_key); + !req.onsuccess = function(ev) { + ! if (_cb) _cb(1, ev.target.result !== undefined ? '1' : '0'); + !}; + !req.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'exists failed'); }; + EndProcedure + + Procedure Delete(Store.s, Key.s, *Callback) + !var _cb = p_callback; + !var _store = v_store; + !var _key = v_key; + !if (!window._kumos_idb) { if (_cb) _cb(0, 'IDB not open'); return; } + !var tx = window._kumos_idb.transaction([_store], 'readwrite'); + !var st = tx.objectStore(_store); + !var req = st.delete(_key); + !req.onsuccess = function() { if (_cb) _cb(1, ''); }; + !req.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'delete failed'); }; + EndProcedure + + Procedure GetAllKeys(Store.s, *Callback) + !var _cb = p_callback; + !var _store = v_store; + !if (!window._kumos_idb) { if (_cb) _cb(0, 'IDB not open'); return; } + !var tx = window._kumos_idb.transaction([_store], 'readonly'); + !var st = tx.objectStore(_store); + !var req = st.getAllKeys(); + !req.onsuccess = function(ev) { if (_cb) _cb(1, JSON.stringify(ev.target.result || [])); }; + !req.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'getAllKeys failed'); }; + EndProcedure + + Procedure GetAll(Store.s, *Callback) + !var _cb = p_callback; + !var _store = v_store; + !if (!window._kumos_idb) { if (_cb) _cb(0, 'IDB not open'); return; } + !var tx = window._kumos_idb.transaction([_store], 'readonly'); + !var st = tx.objectStore(_store); + !var keysReq = st.getAllKeys(); + !keysReq.onsuccess = function(ev) { + ! var keys = ev.target.result; + ! var valsReq = st.getAll(); + ! valsReq.onsuccess = function(ev2) { + ! var vals = ev2.target.result; + ! var out = {}; + ! for (var i = 0; i < keys.length; i++) out[String(keys[i])] = String(vals[i]); + ! if (_cb) _cb(1, JSON.stringify(out)); + ! }; + ! valsReq.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'getAll/vals failed'); }; + !}; + !keysReq.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'getAll/keys failed'); }; + EndProcedure + + Procedure Clear(Store.s, *Callback) + !var _cb = p_callback; + !var _store = v_store; + !if (!window._kumos_idb) { if (_cb) _cb(0, 'IDB not open'); return; } + !var tx = window._kumos_idb.transaction([_store], 'readwrite'); + !var st = tx.objectStore(_store); + !var req = st.clear(); + !req.onsuccess = function() { if (_cb) _cb(1, ''); }; + !req.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'clear failed'); }; + EndProcedure + + Procedure Count(Store.s, *Callback) + !var _cb = p_callback; + !var _store = v_store; + !if (!window._kumos_idb) { if (_cb) _cb(0, 'IDB not open'); return; } + !var tx = window._kumos_idb.transaction([_store], 'readonly'); + !var st = tx.objectStore(_store); + !var req = st.count(); + !req.onsuccess = function(ev) { if (_cb) _cb(1, String(ev.target.result)); }; + !req.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'count failed'); }; + EndProcedure + +EndModule +; IDE Options = SpiderBasic 3.10 (Windows - x86) +; CursorPosition = 15 +; Folding = Dg +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/Main.sb b/Client/Main.sb new file mode 100644 index 0000000..082c964 --- /dev/null +++ b/Client/Main.sb @@ -0,0 +1,37 @@ +IncludePath "Libraries" +IncludeFile "IDB.sbi" + + +IncludePath "Includes" +IncludeFile "Modules.sbi" +IncludeFile "General.sbi" + +; System +IncludeFile "FileCache.sbi" +IncludeFile "FS.sbi" + +; UI +IncludeFile "Notify.sbi" +IncludeFile "Desktop.sbi" +IncludeFile "Login.sbi" + +; Appstore +IncludeFile "AppRuntime.sbi" + +IncludePath "Default Apps" +IncludeFile "TextEditor.sbi" +IncludeFile "FileExplorer.sbi" +IncludeFile "Settings.sbi" +IncludeFile "WebBrowser.sbi" +IncludeFile "AppManager.sbi" + +General::Init() + +; IDE Options = SpiderBasic 3.10 (Windows - x86) +; CursorPosition = 25 +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Client/kumos.js b/Client/kumos.js new file mode 100644 index 0000000..e2569e8 --- /dev/null +++ b/Client/kumos.js @@ -0,0 +1,124 @@ +/** + * KUMO.S App SDK — include in your app with: + * + * + * All methods return Promises. Call KUMOS.ready() first. + * + * Permissions required per namespace: + * storage.* — always available (private app namespace) + * fs.* — requires "fs.read" or "fs.write" grant + * notify.* — requires "notify" grant + * window.* — always available + */ +(function (global) { + 'use strict'; + + var _pending = {}; // kmid → { resolve, reject, timer } + + // ── Internal helpers ────────────────────────────────────────────────────── + + function _uuid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0; + return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); + }); + } + + function _send(action, args) { + return new Promise(function (resolve, reject) { + var kmid = _uuid(); + var timer = setTimeout(function () { + if (_pending[kmid]) { + delete _pending[kmid]; + reject(new Error('KUMOS timeout: ' + action)); + } + }, 15000); + _pending[kmid] = { resolve: resolve, reject: reject, timer: timer }; + window.parent.postMessage( + JSON.stringify({ kmid: kmid, action: action, args: args || {} }), + '*' + ); + }); + } + + // Incoming responses from the shell + window.addEventListener('message', function (e) { + if (e.source !== window.parent) return; + var msg; + try { msg = JSON.parse(e.data); } catch (err) { return; } + if (!msg || !msg.kmid) return; + var p = _pending[msg.kmid]; + if (!p) return; + clearTimeout(p.timer); + delete _pending[msg.kmid]; + if (msg.success) { + p.resolve(msg.data !== undefined ? msg.data : null); + } else { + p.reject(new Error(msg.error || 'Unknown error')); + } + }); + + // ── Public API ──────────────────────────────────────────────────────────── + + var KUMOS = { + + /** + * Handshake with the shell. Resolves with { app_id }. + * Always call this first and await it before using any other APIs. + */ + ready: function () { + return _send('window.ready', {}); + }, + + // ── Private app storage (no extra permission required) ─────────────── + + storage: { + /** Read a file. Resolves with the content string. */ + read: function (path) { return _send('storage.read', { path: path }); }, + /** Write content to a file. Creates it if it does not exist. */ + write: function (path, content) { return _send('storage.write', { path: path, content: content }); }, + /** List a directory. Resolves with an array of entry objects. */ + list: function (path) { return _send('storage.list', { path: path || '/' }); }, + /** Stat a path. */ + stat: function (path) { return _send('storage.stat', { path: path }); }, + /** Create a directory. */ + mkdir: function (path) { return _send('storage.mkdir', { path: path }); }, + /** Delete a file. */ + delete: function (path) { return _send('storage.delete', { path: path }); } + }, + + // ── User filesystem (requires fs.read / fs.write permission) ───────── + + fs: { + /** Read a file from the user's filesystem. */ + read: function (path) { return _send('fs.read', { path: path }); }, + /** Write content to a file in the user's filesystem. */ + write: function (path, content) { return _send('fs.write', { path: path, content: content }); }, + /** List a directory. */ + list: function (path) { return _send('fs.list', { path: path || '/' }); }, + /** Stat a path. */ + stat: function (path) { return _send('fs.stat', { path: path }); } + }, + + // ── Notifications (requires notify permission) ──────────────────────── + + notify: { + /** Show a toast. type: 'info' | 'success' | 'warning' | 'error' */ + toast: function (message, type) { return _send('notify.toast', { message: message, type: type || 'info' }); }, + /** Show a confirm dialog. Resolves with true (OK) or false (Cancel). */ + confirm: function (title, message) { return _send('notify.confirm', { title: title, message: message }); } + }, + + // ── Window control ──────────────────────────────────────────────────── + + window: { + /** Update the host window title. */ + setTitle: function (title) { return _send('window.setTitle', { title: title }); }, + /** Close this app instance. */ + close: function () { return _send('window.close', {}); } + } + }; + + global.KUMOS = KUMOS; + +}(window)); diff --git a/SDK/JS/helloworld.zip b/SDK/JS/helloworld.zip new file mode 100644 index 0000000000000000000000000000000000000000..af48632bd4665795f532f6e81a37f9234a831ce7 GIT binary patch literal 1906 zcmZ{lc`zIJ0>>l7l|)@j)!8DYH0q4C#L;!1aV#pj(ucU?ZrJJ}jEJo|iVeDoR=cjC z>R4CYN8CqLoQq)Hs#QvBqi^O-r|-S_&G&cA{O0?c&p*G9oh3VmFaQAH2H?^X(3sBV z6(Z}@%L)`A0SLqd`FeYWg~R>Aa6wLvJOK7eiwWPeMBu>yHV)P`z?aE*P?fLk8pL2k z?*&oU8Rhyt8^Xf?A`s$cX%j05e#w8?W03=0Y5Ejpw?48%d+Xo}UG|_%8yKhtyt)SU zfq5o>`0b6MGs8nKNK=A$V`&9pMZR@-xkA0^?~>u?Wl75OLk&Pq^Dv>O3%eND9{PyX z>i{?1zwkuH(kk-DH9EFn_*%Pb)A%{N|KQ+RI19>!T}2=Opp+i~;AP?X26=kn;XdJk z0bf`;SR7~hhGoKKAV?g+-+Zjtl|y*e)sPloD&lEwxTxckqNV7^Wt{vD?tH7!5^h%R zDbJnqi!CU0r|ewj0re4JVFfwrc(C{3078G}efa4#0-LpSS2y9gP5RN? z_{oE~-Om2P8FipV!I2bI<9W70ot!;NZ-4G)^KSRerdD$c>>Oz%0`}}cMi}joO!61` zo2gu&Bw|1RSsTzr_LkdoG85Dh=OnbHdh6ux@A#x~AG-F)Wgmc3ryTP=$(-`-}p~s}SNw8w5l=Z?$aGdmdjZrFh;%Kl$a-q;= zcl#Qbbsh*8VPcd=wx}v@fi1)cmpfegiD-Vo55}+jk>;=+Y2GF>gUv4DtxfT{GD|;3 z`-RiRK-&^-F%>iXbY-NqJO z@g}|E4RC^eORmM(T~&)0-qikq{4r+m=WblfXJF*AB(dhTj;(aHr6P41)QwcJmP1v+@#A{l^tYmhSMaP#TH;tJj$rvyAAM;=&zPMLiCc zZwwt`=GjV#%7W+A6&l)z5JHx6r{8aEL+Q)mlrn2(RBQ{DKk=GvrD!Z@VwFdewwjZL zs&y!ih=#tmG=qpLP1d7sQ z5Kc*qbV4nYJ0h}zcdN0_dkM-5KI2R1D0B!)-G)x zkc)OyfRow&iIdT_W3|E@A5CuaEf`rgrvCZU_(p~|UUXfa>Ap(G2ULuyrW&)s*pQl5 zMg{H6CM|xUOvlVJ?nv*Z^|v-E)Q$Z+@juL~$D32bZwGQZs5O03&( z3W1V$Z)d!rOd`|FePlLiVzB&P-0SV?Q@%jGA}QW_g{$y>A&kdt_z#`zk;=xr53yS@ z;lql_cx{cng~oXhq>O2zl8OksT^8Ti<>e8aA@m+I+!ytcl9GY^^9eSs&16}7T0X{4 z#vLvodza_2&Y_HjV5I_4e#PrzTP?Klu6ZU#Wy|kIh`V$X;d}_xHh-Vbwzgt~nd5B8 z1q+-K`|F}L#67-wsei33ak#~KR!Zr+Tt}C53;l_sao&7^9T32ytzv9z;N1mM}8&Hb<|EcTz znVA4=tUP;gw);k8pnr?(n~(qN%Kz5K*Of!8%CBX@>iZuev9knmo;?m^jY8I1|K;=# DEAe7{ literal 0 HcmV?d00001 diff --git a/SDK/JS/kumos.js b/SDK/JS/kumos.js new file mode 100644 index 0000000..e2569e8 --- /dev/null +++ b/SDK/JS/kumos.js @@ -0,0 +1,124 @@ +/** + * KUMO.S App SDK — include in your app with: + * + * + * All methods return Promises. Call KUMOS.ready() first. + * + * Permissions required per namespace: + * storage.* — always available (private app namespace) + * fs.* — requires "fs.read" or "fs.write" grant + * notify.* — requires "notify" grant + * window.* — always available + */ +(function (global) { + 'use strict'; + + var _pending = {}; // kmid → { resolve, reject, timer } + + // ── Internal helpers ────────────────────────────────────────────────────── + + function _uuid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0; + return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); + }); + } + + function _send(action, args) { + return new Promise(function (resolve, reject) { + var kmid = _uuid(); + var timer = setTimeout(function () { + if (_pending[kmid]) { + delete _pending[kmid]; + reject(new Error('KUMOS timeout: ' + action)); + } + }, 15000); + _pending[kmid] = { resolve: resolve, reject: reject, timer: timer }; + window.parent.postMessage( + JSON.stringify({ kmid: kmid, action: action, args: args || {} }), + '*' + ); + }); + } + + // Incoming responses from the shell + window.addEventListener('message', function (e) { + if (e.source !== window.parent) return; + var msg; + try { msg = JSON.parse(e.data); } catch (err) { return; } + if (!msg || !msg.kmid) return; + var p = _pending[msg.kmid]; + if (!p) return; + clearTimeout(p.timer); + delete _pending[msg.kmid]; + if (msg.success) { + p.resolve(msg.data !== undefined ? msg.data : null); + } else { + p.reject(new Error(msg.error || 'Unknown error')); + } + }); + + // ── Public API ──────────────────────────────────────────────────────────── + + var KUMOS = { + + /** + * Handshake with the shell. Resolves with { app_id }. + * Always call this first and await it before using any other APIs. + */ + ready: function () { + return _send('window.ready', {}); + }, + + // ── Private app storage (no extra permission required) ─────────────── + + storage: { + /** Read a file. Resolves with the content string. */ + read: function (path) { return _send('storage.read', { path: path }); }, + /** Write content to a file. Creates it if it does not exist. */ + write: function (path, content) { return _send('storage.write', { path: path, content: content }); }, + /** List a directory. Resolves with an array of entry objects. */ + list: function (path) { return _send('storage.list', { path: path || '/' }); }, + /** Stat a path. */ + stat: function (path) { return _send('storage.stat', { path: path }); }, + /** Create a directory. */ + mkdir: function (path) { return _send('storage.mkdir', { path: path }); }, + /** Delete a file. */ + delete: function (path) { return _send('storage.delete', { path: path }); } + }, + + // ── User filesystem (requires fs.read / fs.write permission) ───────── + + fs: { + /** Read a file from the user's filesystem. */ + read: function (path) { return _send('fs.read', { path: path }); }, + /** Write content to a file in the user's filesystem. */ + write: function (path, content) { return _send('fs.write', { path: path, content: content }); }, + /** List a directory. */ + list: function (path) { return _send('fs.list', { path: path || '/' }); }, + /** Stat a path. */ + stat: function (path) { return _send('fs.stat', { path: path }); } + }, + + // ── Notifications (requires notify permission) ──────────────────────── + + notify: { + /** Show a toast. type: 'info' | 'success' | 'warning' | 'error' */ + toast: function (message, type) { return _send('notify.toast', { message: message, type: type || 'info' }); }, + /** Show a confirm dialog. Resolves with true (OK) or false (Cancel). */ + confirm: function (title, message) { return _send('notify.confirm', { title: title, message: message }); } + }, + + // ── Window control ──────────────────────────────────────────────────── + + window: { + /** Update the host window title. */ + setTitle: function (title) { return _send('window.setTitle', { title: title }); }, + /** Close this app instance. */ + close: function () { return _send('window.close', {}); } + } + }; + + global.KUMOS = KUMOS; + +}(window)); diff --git a/SDK/SpiderBasic/KUMOS.sbi b/SDK/SpiderBasic/KUMOS.sbi new file mode 100644 index 0000000..d0526f7 --- /dev/null +++ b/SDK/SpiderBasic/KUMOS.sbi @@ -0,0 +1,229 @@ +; ════════════════════════════════════════════════════════════════════════════ +; KUMOS.sbi — SpiderBasic SDK for KUMOS third-party apps +; +; Usage: +; IncludeFile "KUMOS.sbi" +; KUMOS::Init() ; call once at startup, before anything else +; +; All async procedures accept a *Callback procedure pointer. +; Callbacks always have the signature: Procedure Cb(Success.i, Data.s) +; Exception: KUMOS::Notify_Confirm uses: Procedure Cb(Result.i) +; +; The "storage.*" namespace is always available. +; "fs.*" requires the "fs.read" / "fs.write" permission in manifest.json. +; "notify.*" requires the "notify" permission in manifest.json. +; ════════════════════════════════════════════════════════════════════════════ + +DeclareModule KUMOS + ; Toast types — pass to Notify_Toast() + Enumeration + #Info + #Success + #Warning + #Error + EndEnumeration + + ; ── Lifecycle ────────────────────────────────────────────────────────── + Declare Init() + Declare Ready(*Callback) ; Cb(Success, Data) — Data: '{"app_id":"..."}' + Declare Window_SetTitle(Title.s) + Declare Window_Close() + + ; ── Private storage (always available) ──────────────────────────────── + Declare Storage_Read (Path.s, *Callback) ; Cb(Success, Content.s) + Declare Storage_Write (Path.s, Content.s, *Callback); Cb(Success, "") + Declare Storage_List (Path.s, *Callback) ; Cb(Success, JSON array) + Declare Storage_Stat (Path.s, *Callback) ; Cb(Success, JSON object) + Declare Storage_Mkdir (Path.s, *Callback) ; Cb(Success, "") + Declare Storage_Delete(Path.s, *Callback) ; Cb(Success, "") + + ; ── User filesystem (requires fs.read / fs.write) ───────────────────── + Declare FS_Read (Path.s, *Callback) ; Cb(Success, Content.s) + Declare FS_Write (Path.s, Content.s, *Callback) ; Cb(Success, "") + Declare FS_List (Path.s, *Callback) ; Cb(Success, JSON array) + Declare FS_Stat (Path.s, *Callback) ; Cb(Success, JSON object) + + ; ── Notifications (requires notify) ─────────────────────────────────── + Declare Notify_Toast (Message.s, Type.i = #Info) ; fire-and-forget + Declare Notify_Confirm (Title_.s, Message.s, *Callback) ; Cb(Result.i) +EndDeclareModule + +Module KUMOS + EnableExplicit + + ; Inject the JS runtime once, guarded so multiple IncludeFile calls are safe. + Procedure Init() + !if (window._kumos_sb) { return; } + !window._kumos_sb = { + ! pending: {}, + ! uuid: function() { + ! return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { + ! var r = Math.random() * 16 | 0; + ! return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); + ! }); + ! }, + ! send: function(action, args, onSuccess, onError) { + ! var kmid = window._kumos_sb.uuid(); + ! var timer = setTimeout(function() { + ! var p = window._kumos_sb.pending[kmid]; + ! if (p) { delete window._kumos_sb.pending[kmid]; p.onError('Timeout: ' + action); } + ! }, 15000); + ! window._kumos_sb.pending[kmid] = { onSuccess: onSuccess, onError: onError, timer: timer }; + ! window.parent.postMessage( + ! JSON.stringify({ kmid: kmid, action: action, args: args || {} }), '*' + ! ); + ! } + !}; + !window.addEventListener('message', function(e) { + ! if (e.source !== window.parent) { return; } + ! var msg; + ! try { msg = JSON.parse(e.data); } catch(ex) { return; } + ! if (!msg || !msg.kmid) { return; } + ! var p = window._kumos_sb.pending[msg.kmid]; + ! if (!p) { return; } + ! clearTimeout(p.timer); + ! delete window._kumos_sb.pending[msg.kmid]; + ! if (msg.success) { + ! var data = msg.data; + ! if (data === null || data === undefined) { data = ''; } + ! else if (typeof data === 'object') { data = JSON.stringify(data); } + ! else if (typeof data === 'boolean') { data = data ? 'true' : 'false'; } + ! else { data = String(data); } + ! p.onSuccess(data); + ! } else { + ! p.onError(msg.error || 'Error'); + ! } + !}); + EndProcedure + + ; ── Internal send helper ────────────────────────────────────────────────── + ; *Callback must be Procedure Cb(Success.i, Data.s) + ; *ConfirmCallback must be Procedure Cb(Result.i) [used only for confirm] + + Procedure _Send(Action.s, ArgsJSON.s, *Callback) + ! var cb = p_callback; + !window._kumos_sb.send( + ! v_action, + ! (v_argsjson ? JSON.parse(v_argsjson) : {}), + ! function(data) { cb(1, data); }, + ! function(err) { cb(0, err); } + !); + EndProcedure + + ; ── Args builders ───────────────────────────────────────────────────────── + + Procedure.s _PathArgs(Path.s) + ProcedureReturn ~"{\"path\":\"" + ReplaceString(Path, ~"\"", ~"\\\"") + ~"\"}" + EndProcedure + + Procedure.s _PathContentArgs(Path.s, Content.s) + ProcedureReturn ~"{\"path\":\"" + ReplaceString(Path, ~"\"", ~"\\\"") + ~"\"," + + ~"\"content\":\"" + ReplaceString(Content, ~"\"", ~"\\\"") + ~"\"}" + EndProcedure + + Procedure.s _TitleMsgArgs(Title_.s, Message.s) + ProcedureReturn ~"{\"title\":\"" + ReplaceString(Title_, ~"\"", ~"\\\"") + ~"\"," + + ~"\"message\":\"" + ReplaceString(Message, ~"\"", ~"\\\"") + ~"\"}" + EndProcedure + + Procedure.s _TypeStr(Type.i) + Select Type + Case #Success : ProcedureReturn "success" + Case #Warning : ProcedureReturn "warning" + Case #Error : ProcedureReturn "error" + Default : ProcedureReturn "info" + EndSelect + EndProcedure + + ; ── Lifecycle ───────────────────────────────────────────────────────────── + + Procedure Ready(*Callback) + _Send("window.ready", "{}", *Callback) + EndProcedure + + Procedure Window_SetTitle(Title.s) + ; Fire-and-forget — no callback needed + ! window._kumos_sb.send('window.setTitle', + ! { title: v_title }, function(){}, function(){}); + EndProcedure + + Procedure Window_Close() + ! window._kumos_sb.send('window.close', {}, function(){}, function(){}); + EndProcedure + + ; ── Storage ─────────────────────────────────────────────────────────────── + + Procedure Storage_Read(Path.s, *Callback) + _Send("storage.read", _PathArgs(Path), *Callback) + EndProcedure + + Procedure Storage_Write(Path.s, Content.s, *Callback) + _Send("storage.write", _PathContentArgs(Path, Content), *Callback) + EndProcedure + + Procedure Storage_List(Path.s, *Callback) + _Send("storage.list", _PathArgs(Path), *Callback) + EndProcedure + + Procedure Storage_Stat(Path.s, *Callback) + _Send("storage.stat", _PathArgs(Path), *Callback) + EndProcedure + + Procedure Storage_Mkdir(Path.s, *Callback) + _Send("storage.mkdir", _PathArgs(Path), *Callback) + EndProcedure + + Procedure Storage_Delete(Path.s, *Callback) + _Send("storage.delete", _PathArgs(Path), *Callback) + EndProcedure + + ; ── User filesystem ─────────────────────────────────────────────────────── + + Procedure FS_Read(Path.s, *Callback) + _Send("fs.read", _PathArgs(Path), *Callback) + EndProcedure + + Procedure FS_Write(Path.s, Content.s, *Callback) + _Send("fs.write", _PathContentArgs(Path, Content), *Callback) + EndProcedure + + Procedure FS_List(Path.s, *Callback) + _Send("fs.list", _PathArgs(Path), *Callback) + EndProcedure + + Procedure FS_Stat(Path.s, *Callback) + _Send("fs.stat", _PathArgs(Path), *Callback) + EndProcedure + + ; ── Notifications ───────────────────────────────────────────────────────── + + Procedure Notify_Toast(Message.s, Type.i = #Info) + Protected Args.s = ~"{\"message\":\"" + ReplaceString(Message, ~"\"", ~"\\\"") + ~"\"," + + ~"\"type\":\"" + _TypeStr(Type) + ~"\"}" + ! window._kumos_sb.send('notify.toast', + ! JSON.parse(v_args), function(){}, function(){}); + EndProcedure + + ; *Callback must be Procedure Cb(Result.i) — 1 = OK, 0 = Cancel + Procedure Notify_Confirm(Title_.s, Message.s, *Callback) + Protected Args.s = _TitleMsgArgs(Title_, Message) + ! var cb = p_callback; + !window._kumos_sb.send( + ! 'notify.confirm', + ! JSON.parse(v_args), + ! function(data) { cb(data === 'true' ? 1 : 0); }, + ! function() { cb(0); } + !); + EndProcedure + +EndModule + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 1 +; Folding = ---- +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/SDK/SpiderBasic/Template.sb b/SDK/SpiderBasic/Template.sb new file mode 100644 index 0000000..679eb54 --- /dev/null +++ b/SDK/SpiderBasic/Template.sb @@ -0,0 +1,123 @@ +; ════════════════════════════════════════════════════════════════════════════ +; KUMOS App Template +; +; 1. Copy this file and KUMOS.sbi into a new folder. +; 2. Edit manifest.json (also in this folder) with your app's details. +; 3. Compile with SpiderBasic — output: index.html +; 4. Zip index.html + manifest.json → yourapp.zip +; 5. Install via App Manager. +; +; Checklist before shipping: +; ☐ Unique reverse-domain id in manifest.json e.g. com.yourname.yourapp +; ☐ Only request permissions you actually use +; ☐ Call KUMOS::Init() before KUMOS::Ready() +; ☐ All KUMOS calls must happen AFTER Ready() resolves +; ════════════════════════════════════════════════════════════════════════════ + +IncludeFile "KUMOS.sbi" + +; ── State (your app's data goes here) ──────────────────────────────────────── + +Global Count.i = 0 + +; ── UI ─────────────────────────────────────────────────────────────────────── + +OpenWindow(0, 0, 0, 400, 300, "Loading…", + #PB_Window_BorderLess | #PB_Window_ScreenCentered) +SetWindowColor(0, RGB(22, 22, 34)) + +Global Label_Count.i = TextGadget(#PB_Any, + 0, 100, 400, 40, "…", + #PB_Text_Center | #PB_Text_Border) +SetGadgetColor(Label_Count, #PB_Gadget_FrontColor, RGB(100, 120, 255)) +SetGadgetColor(Label_Count, #PB_Gadget_BackColor, RGB(22, 22, 34)) +SetGadgetFont(Label_Count, LoadFont(#PB_Any, "sans-serif", 28)) + +Global Btn_Click.i = ButtonGadget(#PB_Any, 150, 160, 100, 32, "Click me") +Global Btn_Toast.i = ButtonGadget(#PB_Any, 50, 210, 130, 28, "Toast") +Global Btn_Confirm.i= ButtonGadget(#PB_Any, 220, 210, 130, 28, "Confirm") + +; ── Helpers ─────────────────────────────────────────────────────────────────── + +Procedure UpdateUI() + SetGadgetText(Label_Count, Str(Count)) +EndProcedure + +; ── Storage callbacks ───────────────────────────────────────────────────────── + +Procedure OnSaved(Success.i, Data.s) + If Not Success + KUMOS::Notify_Toast("Save failed: " + Data, KUMOS::#Warning) + EndIf +EndProcedure + +Procedure OnLoaded(Success.i, Data.s) + If Success + Protected N.i = Val(Data) + If N > 0 : Count = N : UpdateUI() : EndIf + EndIf + ; File missing on first launch is normal — just start from zero. +EndProcedure + +Procedure SaveCount() + KUMOS::Storage_Write("/count.txt", Str(Count), @OnSaved()) +EndProcedure + +; ── Button events ───────────────────────────────────────────────────────────── + +Procedure OnConfirmResult(Result.i) + If Result + KUMOS::Notify_Toast("You clicked OK!", KUMOS::#Success) + Else + KUMOS::Notify_Toast("You clicked Cancel.", KUMOS::#Info) + EndIf +EndProcedure + +BindGadgetEvent(Btn_Click, @Clicked()) +Procedure Clicked() + Count + 1 + UpdateUI() + SaveCount() +EndProcedure + +BindGadgetEvent(Btn_Toast, @ToastClicked()) +Procedure ToastClicked() + KUMOS::Notify_Toast("Hello from SpiderBasic!", KUMOS::#Success) +EndProcedure + +BindGadgetEvent(Btn_Confirm, @ConfirmClicked()) +Procedure ConfirmClicked() + KUMOS::Notify_Confirm("Are you sure?", "This is a confirm dialog.", @OnConfirmResult()) +EndProcedure + +; ── Boot: always KUMOS::Init() then KUMOS::Ready() ──────────────────────────── + +Procedure OnReady(Success.i, Data.s) + If Not Success + ; Running outside KUMO.S — useful for testing in a plain browser + SetWindowTitle(0, "Template App (standalone)") + UpdateUI() + ProcedureReturn + EndIf + + ; Set the window title via the shell + KUMOS::Window_SetTitle("Template App") + + ; Load persisted state + KUMOS::Storage_Read("/count.txt", @OnLoaded()) + + UpdateUI() +EndProcedure + +KUMOS::Init() +KUMOS::Ready(@OnReady()) + +; IDE Options = SpiderBasic 3.20 (Windows - x86) +; CursorPosition = 1 +; Folding = -- +; iOSAppOrientation = 0 +; AndroidAppCode = 0 +; AndroidAppOrientation = 0 +; EnableXP +; DPIAware +; CompileSourceDirectory \ No newline at end of file diff --git a/Server/Includes/AppStore.pbi b/Server/Includes/AppStore.pbi new file mode 100644 index 0000000..f82cd77 --- /dev/null +++ b/Server/Includes/AppStore.pbi @@ -0,0 +1,408 @@ +Module AppStore + EnableExplicit + + ; Constants + #AppsDir = "apps/" + #TempDir = "tmp/" + #ValidPermCount = 4 + + ; Variables + Global Dim _ValidPerms.s(#ValidPermCount - 1) + + _ValidPerms(0) = "storage" + _ValidPerms(1) = "fs.read" + _ValidPerms(2) = "fs.write" + _ValidPerms(3) = "notify" + + ;- Private declarations + Declare _IsValidAppID(AppID.s) + Declare _IsValidPermission(Perm.s) + Declare _IsValidFilePath(Path.s) + Declare.s _BundleDir(UserID, AppID.s) + Declare _EnsureDir(Path.s) + Declare _DeleteDirRecursive(Path.s) + Declare _WipeBundle(UserID, AppID.s) + Declare _WipeStorage(UserID, AppID.s) + Declare _ExtractZip(ZipFile.s, DestDir.s) + Declare.s _ReadManifestFromZip(ZipFile.s) + Declare.s _ValidateManifest(JSON.s, *OutAppID.String, *OutPerms.String) + + ;- Public procedures + Procedure Init() + If FileSize(#AppsDir) <> -2 : CreateDirectory(#AppsDir) : EndIf + If FileSize(#TempDir) <> -2 : CreateDirectory(#TempDir) : EndIf + EndProcedure + + ; GET /api/apps/list + Procedure HandleList(*Request) + Protected Username.s = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + General::RespondJSON(*Request, Database::AppList(Database::FindUser(Username))) + EndProcedure + + ; POST /api/apps/install body: url= + Procedure HandleInstall(*Request) + Protected UserID, HiddenDir, Home, AppsRoot + Protected Username.s, URL.s, TempZip.s, ManifestJSON.s, ErrMsg.s, AppID.s, BundleDir.s, Perms.s + Protected OutAppID.String, OutPerms.String + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + UserID = Database::FindUser(Username) + + URL = General::GetPostField(*Request, "url") + If URL = "" + General::RespondJSON(*Request, ~"{\"error\":\"Missing url\"}") + ProcedureReturn + EndIf + If Left(URL, 7) <> "http://" And Left(URL, 8) <> "https://" + General::RespondJSON(*Request, ~"{\"error\":\"URL must begin with http:// or https://\"}") + ProcedureReturn + EndIf + + TempZip = #TempDir + "pkg_" + UserID + "_" + ElapsedMilliseconds() + ".zip" + + If Not ReceiveHTTPFile(URL, TempZip) + General::RespondJSON(*Request, ~"{\"error\":\"Failed to download package from URL\"}") + ProcedureReturn + EndIf + + ; Read and validate manifest before touching anything + ManifestJSON = _ReadManifestFromZip(TempZip) + If ManifestJSON = "" + DeleteFile(TempZip) + General::RespondJSON(*Request, ~"{\"error\":\"manifest.json not found or unreadable in package\"}") + ProcedureReturn + EndIf + + ErrMsg = _ValidateManifest(ManifestJSON, @OutAppID, @OutPerms) + If ErrMsg <> "" + DeleteFile(TempZip) + General::RespondJSON(*Request, ~"{\"error\":\"" + ReplaceString(ErrMsg, ~"\"", ~"\\\"") + ~"\"}") + ProcedureReturn + EndIf + + AppID = OutAppID\s + Perms = OutPerms\s + + If Database::AppExists(UserID, AppID) + _WipeBundle(UserID, AppID) + Database::AppUninstall(UserID, AppID) + EndIf + + BundleDir = _BundleDir(UserID, AppID) + If Not _EnsureDir(BundleDir) + DeleteFile(TempZip) + General::RespondJSON(*Request, ~"{\"error\":\"Could not create app directory\"}") + ProcedureReturn + EndIf + + If Not _ExtractZip(TempZip, BundleDir) + DeleteFile(TempZip) + _WipeBundle(UserID, AppID) + General::RespondJSON(*Request, ~"{\"error\":\"Failed to extract package\"}") + ProcedureReturn + EndIf + + DeleteFile(TempZip) + + If Not Database::AppInstall(UserID, AppID, ManifestJSON, Perms) + _WipeBundle(UserID, AppID) + General::RespondJSON(*Request, ~"{\"error\":\"Failed to register app in database\"}") + ProcedureReturn + EndIf + + HiddenDir = Database::FSResolve(UserID, "/.apps/" + AppID) + If HiddenDir = 0 + AppsRoot = Database::FSResolve(UserID, "/.apps") + If AppsRoot = 0 + Home = Database::FSGetOrCreateHome(UserID) + AppsRoot = Database::FSMkdir(UserID, Home, ".apps") + EndIf + If AppsRoot > 0 + Database::FSMkdir(UserID, AppsRoot, AppID) + EndIf + EndIf + + General::RespondJSON(*Request, ~"{\"success\":true,\"app_id\":\"" + ReplaceString(AppID, ~"\"", ~"\\\"") + ~"\"}") + EndProcedure + + ; POST /api/apps/uninstall body: app_id=... [&keep_data=1] + Procedure HandleUninstall(*Request) + Protected UserID, KeepData + Protected Username.s, AppID.s + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + UserID = Database::FindUser(Username) + + AppID = General::GetPostField(*Request, "app_id") + KeepData = Val(General::GetPostField(*Request, "keep_data")) + + If AppID = "" Or Not _IsValidAppID(AppID) + General::RespondJSON(*Request, ~"{\"error\":\"Invalid or missing app_id\"}") + ProcedureReturn + EndIf + If Not Database::AppExists(UserID, AppID) + General::RespondJSON(*Request, ~"{\"error\":\"App not installed\"}", "404 Not Found") + ProcedureReturn + EndIf + + Database::AppUninstall(UserID, AppID) + _WipeBundle(UserID, AppID) + + If Not KeepData : _WipeStorage(UserID, AppID) : EndIf + + General::RespondJSON(*Request, ~"{\"success\":true}") + EndProcedure + + ; GET /api/apps/{app_id}/{filepath} + Procedure HandleServeFile(*Request, AppID.s, FilePath.s) + Protected UserID + Protected Username.s, FullPath.s + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + + If Not _IsValidAppID(AppID) + General::RespondJSON(*Request, ~"{\"error\":\"Bad Request\"}", "400 Bad Request") + ProcedureReturn + EndIf + + If Not _IsValidFilePath(FilePath) + General::RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + + UserID = Database::FindUser(Username) + If Not Database::AppExists(UserID, AppID) + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + ProcedureReturn + EndIf + + FullPath = _BundleDir(UserID, AppID) + FilePath + If FileSize(FullPath) < 0 + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + ProcedureReturn + EndIf + + If Not FastCGI::RespondFile(*Request, FullPath) + General::RespondJSON(*Request, ~"{\"error\":\"Read error\"}", "500 Internal Server Error") + EndIf + EndProcedure + + ;- Private procedures + Procedure _IsValidAppID(AppID.s) + Protected Length, i + Protected c.s + + Length = Len(AppID) + If Length = 0 Or Length > 64 : ProcedureReturn #False : EndIf + For i = 1 To Length + c = Mid(AppID, i, 1) + If Not ((c >= "a" And c <= "z") Or (c >= "A" And c <= "Z") Or (c >= "0" And c <= "9") Or c = "." Or c = "-" Or c = "_") + ProcedureReturn #False + EndIf + Next + ProcedureReturn #True + EndProcedure + + Procedure _IsValidPermission(Perm.s) + Protected i + For i = 0 To #ValidPermCount - 1 + If _ValidPerms(i) = Perm : ProcedureReturn #True : EndIf + Next + ProcedureReturn #False + EndProcedure + + Procedure _IsValidFilePath(Path.s) + If Path = "" : ProcedureReturn #False : EndIf + If Left(Path, 1) = "/" Or Left(Path, 1) = "\" : ProcedureReturn #False : EndIf + If FindString(Path, "..") : ProcedureReturn #False : EndIf + If FindString(Path, "//") Or FindString(Path, "\\") : ProcedureReturn #False : EndIf + ProcedureReturn #True + EndProcedure + + Procedure.s _BundleDir(UserID, AppID.s) + ProcedureReturn #AppsDir + UserID + "/" + AppID + "/" + EndProcedure + + Procedure _EnsureDir(Path.s) + Protected Parts, i + Protected Current.s, Seg.s, Probe.s + + Path = ReplaceString(Path, "\", "/") + If Right(Path, 1) <> "/" : Path + "/" : EndIf + + Parts = CountString(Path, "/") + For i = 1 To Parts + Seg = StringField(Path, i, "/") + If Seg = "" : Continue : EndIf + Current + Seg + "/" + Probe = Left(Current, Len(Current) - 1) + If FileSize(Probe) <> -2 + If Not CreateDirectory(Probe) : ProcedureReturn #False : EndIf + EndIf + Next + ProcedureReturn #True + EndProcedure + + ; Built-in DeleteDirectory with #PB_FileSystem_Recursive handles the walk for us + Procedure _DeleteDirRecursive(Path.s) + If Right(Path, 1) = "/" : Path = Left(Path, Len(Path) - 1) : EndIf + DeleteDirectory(Path, "", #PB_FileSystem_Recursive) + EndProcedure + + Procedure _WipeBundle(UserID, AppID.s) + _DeleteDirRecursive(_BundleDir(UserID, AppID)) + EndProcedure + + Procedure _WipeStorage(UserID, AppID.s) + Protected NodeID + Protected VPath.s = "/.apps/" + AppID + NodeID = Database::FSResolve(UserID, VPath) + If NodeID > 0 : Database::FSDelete(NodeID) : EndIf + EndProcedure + + Procedure _ExtractZip(ZipFile.s, DestDir.s) + Protected OK, LastSlash, Pos + Protected EntryName.s + + If Not OpenPack(0, ZipFile, #PB_PackerPlugin_Zip) : ProcedureReturn #False : EndIf + If Not ExaminePack(0) : ClosePack(0) : ProcedureReturn #False : EndIf + + OK = #True + While NextPackEntry(0) + EntryName = PackEntryName(0) + + If Not _IsValidFilePath(EntryName) : OK = #False : Break : EndIf + + ; Directory entry — just ensure it exists + If Right(EntryName, 1) = "/" + _EnsureDir(DestDir + EntryName) + Continue + EndIf + + ; Ensure parent directory exists + LastSlash = 0 + Pos = FindString(EntryName, "/") + While Pos > 0 + LastSlash = Pos + Pos = FindString(EntryName, "/", Pos + 1) + Wend + If LastSlash > 0 : _EnsureDir(DestDir + Left(EntryName, LastSlash)) : EndIf + + If Not UncompressPackFile(0, DestDir + EntryName, EntryName) + OK = #False : Break + EndIf + Wend + + ClosePack(0) + ProcedureReturn OK + EndProcedure + + Procedure.s _ReadManifestFromZip(ZipFile.s) + Protected Found, Size, FileID, *Buf + Protected TempPath.s, Result.s + + If Not OpenPack(0, ZipFile, #PB_PackerPlugin_Zip) : ProcedureReturn "" : EndIf + + TempPath = #TempDir + "manifest_" + ElapsedMilliseconds() + ".json" + + If ExaminePack(0) + While NextPackEntry(0) + If PackEntryName(0) = "manifest.json" + Found = Bool(UncompressPackFile(0, TempPath, "manifest.json")) + Break + EndIf + Wend + EndIf + ClosePack(0) + + If Not Found : ProcedureReturn "" : EndIf + + Size = FileSize(TempPath) + If Size > 0 And Size < 65536 ; sanity cap: 64 KB + FileID = ReadFile(#PB_Any, TempPath, #PB_File_SharedRead) + If FileID + *Buf = AllocateMemory(Size + 1) + If *Buf + ReadData(FileID, *Buf, Size) + PokeB(*Buf + Size, 0) + Result = PeekS(*Buf, -1, #PB_UTF8) + FreeMemory(*Buf) + EndIf + CloseFile(FileID) + EndIf + EndIf + + DeleteFile(TempPath) + ProcedureReturn Result + EndProcedure + + Procedure.s _ValidateManifest(JSON.s, *OutAppID.String, *OutPerms.String) + Protected Root, PermsNode, PermCount, i + Protected AppID.s, Name_.s, Entry.s, PermsJSON.s, Perm.s + + If Not ParseJSON(0, JSON) : ProcedureReturn "Invalid JSON in manifest" : EndIf + + Root = JSONValue(0) + AppID = GetJSONString(GetJSONMember(Root, "id")) + Name_ = GetJSONString(GetJSONMember(Root, "name")) + Entry = GetJSONString(GetJSONMember(Root, "entry")) + + If AppID = "" Or Name_ = "" Or Entry = "" + FreeJSON(0) + ProcedureReturn "manifest.json missing required field(s): id, name, entry" + EndIf + + If Not _IsValidAppID(AppID) + FreeJSON(0) + ProcedureReturn "Invalid app id '" + AppID + "' (use reverse-domain format)" + EndIf + + If Not _IsValidFilePath(Entry) + FreeJSON(0) + ProcedureReturn "Invalid entry path" + EndIf + + PermsNode = GetJSONMember(Root, "permissions") + PermCount = JSONArraySize(PermsNode) + PermsJSON = ~"[\"storage\"" + + For i = 0 To PermCount - 1 + Perm = GetJSONString(GetJSONElement(PermsNode, i)) + If Perm = "" Or Perm = "storage" : Continue : EndIf + If Not _IsValidPermission(Perm) + FreeJSON(0) + ProcedureReturn "Unknown permission '" + Perm + "'" + EndIf + PermsJSON + ~",\"" + Perm + ~"\"" + Next + PermsJSON + "]" + + *OutAppID\s = AppID + *OutPerms\s = PermsJSON + + FreeJSON(0) + ProcedureReturn "" + EndProcedure + +EndModule +; IDE Options = PureBasic 6.30 (Windows - x64) +; CursorPosition = 402 +; Folding = BAg +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/Includes/Auth.pbi b/Server/Includes/Auth.pbi new file mode 100644 index 0000000..c54a63d --- /dev/null +++ b/Server/Includes/Auth.pbi @@ -0,0 +1,121 @@ +Module Auth + EnableExplicit + + ;- Private helpers + Procedure.s GetFormField(PostData.s, Field.s) + ; Parse a single field from application/x-www-form-urlencoded body + Protected Count = CountString(PostData, "&") + 1, i + Protected Pair.s, Key.s + + For i = 1 To Count + Pair = StringField(PostData, i, "&") + Key = StringField(Pair, 1, "=") + If Key = Field + ProcedureReturn URLDecoder(StringField(Pair, 2, "=")) + EndIf + Next + ProcedureReturn "" + EndProcedure + + Procedure SetSessionCookie(*Request, Token.s) + FastCGI::WriteResponseHeader(*Request, "Set-Cookie", + #SESSION_COOKIE + "=" + Token + + "; Path=/; HttpOnly; SameSite=Strict; Max-Age=" + #SESSION_MAX_AGE) + EndProcedure + + Procedure ClearSessionCookie(*Request) + FastCGI::WriteResponseHeader(*Request, "Set-Cookie", + #SESSION_COOKIE + "=; Path=/; HttpOnly; SameSite=Strict; Max-Age=0") + EndProcedure + + ;- Public handlers + Procedure HandleLogin(*Request) + Protected PostData.s = FastCGI::GetPostData(*Request) + Protected Username.s = GetFormField(PostData, "username") + Protected Password.s = GetFormField(PostData, "password") + + If Username = "" Or Password = "" + General::RespondJSON(*Request, ~"{\"success\":false,\"error\":\"Missing credentials\"}") + ProcedureReturn + EndIf + + Protected ValidUser.s = Database::ValidateCredentials(Username, Password) + + If ValidUser <> "" + Protected UserID.i = Database::FindUser(ValidUser) + Protected Token.s = Database::CreateSession(UserID, ValidUser) + SetSessionCookie(*Request, Token) + FastCGI::WriteResponseHeader(*Request, "Content-Type", "application/json; charset=utf-8") + FastCGI::WriteResponseHeader(*Request, "Cache-Control", "no-cache, no-store") + FastCGI::WriteResponseString(*Request, ~"{\"success\":true,\"username\":\"" + ValidUser + ~"\"}") + FastCGI::FinishResponse(*Request) + Else + ; Uniform error - don't reveal which field was wrong + General::RespondJSON(*Request, ~"{\"success\":false,\"error\":\"Invalid username or password\"}") + EndIf + EndProcedure + + Procedure HandleLogout(*Request) + Protected Token.s = FastCGI::GetCookie(*Request, #SESSION_COOKIE) + If Token <> "" + Database::DeleteSession(Token) + EndIf + ClearSessionCookie(*Request) + General::RespondJSON(*Request, ~"{\"success\":true}") + EndProcedure + + Procedure HandleCheck(*Request) + Protected Token.s = FastCGI::GetCookie(*Request, #SESSION_COOKIE) + Protected Username.s = "" + + If Token <> "" + Username = Database::ValidateSession(Token) + EndIf + + If Username <> "" + General::RespondJSON(*Request, ~"{\"authenticated\":true,\"username\":\"" + Username + ~"\"}") + Else + General::RespondJSON(*Request, ~"{\"authenticated\":false}") + EndIf + EndProcedure + + Procedure.s GetSessionUser(*Request) + Protected Token.s = FastCGI::GetCookie(*Request, #SESSION_COOKIE) + If Token <> "" + ProcedureReturn Database::ValidateSession(Token) + EndIf + ProcedureReturn "" + EndProcedure + + Procedure HandleChangePassword(*Request) + Protected Username.s = GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + + Protected CurrentPwd.s = General::GetPostField(*Request, "current_password") + Protected NewPwd.s = General::GetPostField(*Request, "new_password") + + If CurrentPwd = "" Or NewPwd = "" + General::RespondJSON(*Request, ~"{\"error\":\"Missing fields\"}") + ProcedureReturn + EndIf + + If Database::ValidateCredentials(Username, CurrentPwd) = "" + General::RespondJSON(*Request, ~"{\"error\":\"Current password is incorrect\"}") + ProcedureReturn + EndIf + + Protected UserID.i = Database::FindUser(Username) + Database::ChangePassword(UserID, NewPwd) + General::RespondJSON(*Request, ~"{\"success\":true}") + EndProcedure + +EndModule + +; IDE Options = PureBasic 6.30 (Windows - x64) +; CursorPosition = 29 +; Folding = B5 +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/Includes/Database.pbi b/Server/Includes/Database.pbi new file mode 100644 index 0000000..c7f2035 --- /dev/null +++ b/Server/Includes/Database.pbi @@ -0,0 +1,420 @@ +Module Database + EnableExplicit + + UseSQLiteDatabase() + + ; Private constants + #DB = 0 + + ; Private procedures + Procedure.s SHA256(text.s) + Protected *Buf, Len.i, Hash.s + Len = StringByteLength(text, #PB_UTF8) + If Len = 0 : ProcedureReturn "" : EndIf + *Buf = AllocateMemory(Len) + If *Buf + PokeS(*Buf, text, -1, #PB_UTF8 | #PB_String_NoZero) + Hash = LCase(Fingerprint(*Buf, Len, #PB_Cipher_SHA2, 256)) + FreeMemory(*Buf) + EndIf + ProcedureReturn Hash + EndProcedure + + Procedure.s GenerateHex(Bytes.i) + Protected Token.s, i + For i = 1 To Bytes + Token + RSet(Hex(Random(255)), 2, "0") + Next + ProcedureReturn LCase(Token) + EndProcedure + + Procedure.s JSONEscape(s.s) + s = ReplaceString(s, "\", "\\") + s = ReplaceString(s, ~"\"", ~"\\\"") + s = ReplaceString(s, ~"\n", ~"\\n") + s = ReplaceString(s, ~"\r", ~"\\r") + s = ReplaceString(s, ~"\t", ~"\\t") + ProcedureReturn s + EndProcedure + + ;- Public procedures + Procedure Init(Path.s) + Protected TempFile.i + + If FileSize(Path) = -1 + TempFile = CreateFile(#PB_Any, Path) + CloseFile(TempFile) + EndIf + + If Not OpenDatabase(#DB, Path, "", "", #PB_Database_SQLite) + ProcedureReturn #False + EndIf + + DatabaseUpdate(#DB, "CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, username TEXT UNIQUE NOT NULL COLLATE NOCASE, password_hash TEXT NOT NULL, salt TEXT NOT NULL, created_at INTEGER NOT NULL)") + DatabaseUpdate(#DB, "CREATE TABLE IF NOT EXISTS sessions (token TEXT PRIMARY KEY, user_id INTEGER NOT NULL, username TEXT NOT NULL, created_at INTEGER NOT NULL, expires_at INTEGER NOT NULL)") + DatabaseUpdate(#DB, "CREATE TABLE IF NOT EXISTS installed_apps (id INTEGER PRIMARY KEY, user_id INTEGER NOT NULL, app_id TEXT NOT NULL, manifest TEXT NOT NULL, permissions TEXT NOT NULL, installed_at INTEGER NOT NULL, UNIQUE(user_id, app_id))") + + ProcedureReturn #True + EndProcedure + + Procedure Close() + If IsDatabase(#DB) + CloseDatabase(#DB) + EndIf + EndProcedure + + ; User management + Procedure UserCount() + Protected Count = 0 + If DatabaseQuery(#DB, "SELECT COUNT(*) FROM users") + If NextDatabaseRow(#DB) : Count = GetDatabaseLong(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn Count + EndProcedure + + Procedure FindUser(Username.s) + Protected ID = 0 + SetDatabaseString(#DB, 0, Username) + If DatabaseQuery(#DB, "SELECT id FROM users WHERE username = ? COLLATE NOCASE") + If NextDatabaseRow(#DB) : ID = GetDatabaseLong(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn ID + EndProcedure + + Procedure CreateUser(Username.s, Password.s) + Protected Salt.s = GenerateHex(16) + Protected Hash.s = SHA256(Password + Salt) + SetDatabaseString(#DB, 0, Username) + SetDatabaseString(#DB, 1, Hash) + SetDatabaseString(#DB, 2, Salt) + SetDatabaseLong(#DB, 3, Date()) + ProcedureReturn DatabaseUpdate(#DB, "INSERT INTO users (username, password_hash, salt, created_at) VALUES (?, ?, ?, ?)") + EndProcedure + + Procedure ChangePassword(UserID.i, NewPassword.s) + Protected Salt.s = GenerateHex(16) + Protected Hash.s = SHA256(NewPassword + Salt) + SetDatabaseString(#DB, 0, Hash) + SetDatabaseString(#DB, 1, Salt) + SetDatabaseLong(#DB, 2, UserID) + DatabaseUpdate(#DB, "UPDATE users SET password_hash = ?, salt = ? WHERE id = ?") + EndProcedure + + Procedure.s ValidateCredentials(Username.s, Password.s) + Protected StoredUser.s, Hash.s, Salt.s + SetDatabaseString(#DB, 0, Username) + If DatabaseQuery(#DB, "SELECT username, password_hash, salt FROM users WHERE username = ? COLLATE NOCASE") + If NextDatabaseRow(#DB) + StoredUser = GetDatabaseString(#DB, 0) + Hash = GetDatabaseString(#DB, 1) + Salt = GetDatabaseString(#DB, 2) + EndIf + FinishDatabaseQuery(#DB) + EndIf + If StoredUser = "" : ProcedureReturn "" : EndIf + If SHA256(Password + Salt) = Hash : ProcedureReturn StoredUser : EndIf + ProcedureReturn "" + EndProcedure + + Procedure.s CreateSession(UserID.i, Username.s) + Protected Token.s = GenerateHex(32) + Protected Now.i = Date() + SetDatabaseString(#DB, 0, Token) + SetDatabaseLong(#DB, 1, UserID) + SetDatabaseString(#DB, 2, Username) + SetDatabaseLong(#DB, 3, Now) + SetDatabaseLong(#DB, 4, Now + #SESSION_DURATION) + DatabaseUpdate(#DB, "INSERT OR REPLACE INTO sessions (token, user_id, username, created_at, expires_at) VALUES (?, ?, ?, ?, ?)") + ProcedureReturn Token + EndProcedure + + Procedure.s ValidateSession(Token.s) + Protected Username.s = "" + If Len(Token) <> 64 : ProcedureReturn "" : EndIf + SetDatabaseString(#DB, 0, Token) + SetDatabaseLong(#DB, 1, Date()) + If DatabaseQuery(#DB, "SELECT username FROM sessions WHERE token = ? AND expires_at > ?") + If NextDatabaseRow(#DB) : Username = GetDatabaseString(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn Username + EndProcedure + + Procedure DeleteSession(Token.s) + SetDatabaseString(#DB, 0, Token) + DatabaseUpdate(#DB, "DELETE FROM sessions WHERE token = ?") + EndProcedure + + Procedure CleanExpiredSessions() + SetDatabaseLong(#DB, 0, Date()) + DatabaseUpdate(#DB, "DELETE FROM sessions WHERE expires_at <= ?") + EndProcedure + + ;- File system + Procedure.i FSInit() + Protected Now.i = Date() + DatabaseUpdate(#DB, "CREATE TABLE IF NOT EXISTS fs_nodes (id INTEGER PRIMARY KEY AUTOINCREMENT, owner_id INTEGER NOT NULL, parent_id INTEGER, name TEXT NOT NULL COLLATE NOCASE, is_dir INTEGER NOT NULL DEFAULT 0, mime_type TEXT NOT NULL DEFAULT 'application/octet-stream', size INTEGER NOT NULL DEFAULT 0, created_at INTEGER NOT NULL, modified_at INTEGER NOT NULL)") + DatabaseUpdate(#DB, "CREATE UNIQUE INDEX IF NOT EXISTS idx_fs_unique ON fs_nodes(parent_id, name)") + DatabaseUpdate(#DB, "CREATE INDEX IF NOT EXISTS idx_fs_owner ON fs_nodes(owner_id)") + + ; Shared root - owner_id 0, one row, idempotent + SetDatabaseLong(#DB, 0, Now) + SetDatabaseLong(#DB, 1, Now) + DatabaseUpdate(#DB, "INSERT OR IGNORE INTO fs_nodes (owner_id, parent_id, name, is_dir, created_at, modified_at) VALUES (0, NULL, 'shared', 1, ?, ?)") + + ProcedureReturn #True + EndProcedure + + Procedure.i FSGetOrCreateHome(UserID.i) + Protected ID.i = 0, Now.i + SetDatabaseLong(#DB, 0, UserID) + If DatabaseQuery(#DB, "SELECT id FROM fs_nodes WHERE owner_id = ? AND parent_id IS NULL") + If NextDatabaseRow(#DB) : ID = GetDatabaseLong(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + If ID = 0 + Now = Date() + SetDatabaseLong(#DB, 0, UserID) + SetDatabaseLong(#DB, 1, Now) + SetDatabaseLong(#DB, 2, Now) + DatabaseUpdate(#DB, "INSERT INTO fs_nodes (owner_id, parent_id, name, is_dir, created_at, modified_at) VALUES (?, NULL, 'home', 1, ?, ?)") + If DatabaseQuery(#DB, "SELECT last_insert_rowid()") + If NextDatabaseRow(#DB) : ID = GetDatabaseLong(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + EndIf + ProcedureReturn ID + EndProcedure + + Procedure.i FSResolve(UserID.i, Path.s) + Protected CurrentID.i, SegCount.i, i.i, Seg.s, CandID.i + + While Left(Path, 1) = "/" : Path = Mid(Path, 2) : Wend + While Right(Path, 1) = "/" : Path = Left(Path, Len(Path) - 1) : Wend + + If Path = "shared" Or Left(Path, 7) = "shared/" + If DatabaseQuery(#DB, "SELECT id FROM fs_nodes WHERE owner_id = 0 AND parent_id IS NULL") + If NextDatabaseRow(#DB) : CurrentID = GetDatabaseLong(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + If Path = "shared" : ProcedureReturn CurrentID : EndIf + Path = Mid(Path, 8) ; strip "shared/" + Else + CurrentID = FSGetOrCreateHome(UserID) + If Path = "" : ProcedureReturn CurrentID : EndIf + EndIf + + If CurrentID = 0 : ProcedureReturn 0 : EndIf + + SegCount = CountString(Path, "/") + 1 + For i = 1 To SegCount + Seg = StringField(Path, i, "/") + If Seg = "" : Continue : EndIf + CandID = 0 + SetDatabaseLong(#DB, 0, CurrentID) + SetDatabaseString(#DB, 1, Seg) + If DatabaseQuery(#DB, "SELECT id FROM fs_nodes WHERE parent_id = ? AND name = ?") + If NextDatabaseRow(#DB) : CandID = GetDatabaseLong(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + If CandID = 0 : ProcedureReturn 0 : EndIf + CurrentID = CandID + Next + + ProcedureReturn CurrentID + EndProcedure + + Procedure.s FSList(NodeID.i) + Protected JSON.s = "[", First.i = #True + SetDatabaseLong(#DB, 0, NodeID) + If DatabaseQuery(#DB, "SELECT id, name, is_dir, mime_type, size, modified_at FROM fs_nodes WHERE parent_id = ? ORDER BY is_dir DESC, name") + While NextDatabaseRow(#DB) + If Not First : JSON + "," : EndIf + JSON + ~"{\"id\":" + GetDatabaseLong(#DB, 0) + + ~",\"name\":\"" + JSONEscape(GetDatabaseString(#DB, 1)) + ~"\"" + + ~",\"is_dir\":" + GetDatabaseLong(#DB, 2) + + ~",\"mime_type\":\"" + JSONEscape(GetDatabaseString(#DB, 3)) + ~"\"" + + ~",\"size\":" + GetDatabaseLong(#DB, 4) + + ~",\"modified_at\":" + GetDatabaseLong(#DB, 5) + "}" + First = #False + Wend + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn JSON + "]" + EndProcedure + + Procedure.s FSStat(NodeID.i) + Protected JSON.s = "" + SetDatabaseLong(#DB, 0, NodeID) + If DatabaseQuery(#DB, "SELECT id, owner_id, parent_id, name, is_dir, mime_type, size, created_at, modified_at FROM fs_nodes WHERE id = ?") + If NextDatabaseRow(#DB) + JSON = ~"{\"id\":" + GetDatabaseLong(#DB, 0) + + ~",\"owner_id\":" + GetDatabaseLong(#DB, 1) + + ~",\"parent_id\":" + GetDatabaseLong(#DB, 2) + + ~",\"name\":\"" + JSONEscape(GetDatabaseString(#DB, 3)) + ~"\"" + + ~",\"is_dir\":" + GetDatabaseLong(#DB, 4) + + ~",\"mime_type\":\"" + JSONEscape(GetDatabaseString(#DB, 5)) + ~"\"" + + ~",\"size\":" + GetDatabaseLong(#DB, 6) + + ~",\"created_at\":" + GetDatabaseLong(#DB, 7) + + ~",\"modified_at\":" + GetDatabaseLong(#DB, 8) + "}" + EndIf + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn JSON + EndProcedure + + Procedure.i FSGetOwner(NodeID.i, *IsDir.Integer = 0) + Protected OwnerID.i = -1 + SetDatabaseLong(#DB, 0, NodeID) + If DatabaseQuery(#DB, "SELECT owner_id, is_dir FROM fs_nodes WHERE id = ?") + If NextDatabaseRow(#DB) + OwnerID = GetDatabaseLong(#DB, 0) + If *IsDir : *IsDir\i = GetDatabaseLong(#DB, 1) : EndIf + EndIf + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn OwnerID + EndProcedure + + Procedure.i FSMkdir(UserID.i, ParentID.i, Name.s) + Protected Now.i = Date(), ID.i = 0 + SetDatabaseLong(#DB, 0, UserID) + SetDatabaseLong(#DB, 1, ParentID) + SetDatabaseString(#DB, 2, Name) + SetDatabaseLong(#DB, 3, Now) + SetDatabaseLong(#DB, 4, Now) + DatabaseUpdate(#DB, "INSERT OR IGNORE INTO fs_nodes (owner_id, parent_id, name, is_dir, created_at, modified_at) VALUES (?, ?, ?, 1, ?, ?)") + SetDatabaseLong(#DB, 0, ParentID) + SetDatabaseString(#DB, 1, Name) + If DatabaseQuery(#DB, "SELECT id FROM fs_nodes WHERE parent_id = ? AND name = ?") + If NextDatabaseRow(#DB) : ID = GetDatabaseLong(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn ID + EndProcedure + + Procedure.i FSCreateFile(UserID.i, ParentID.i, Name.s, MimeType.s) + Protected Now.i = Date(), ID.i = 0 + SetDatabaseLong(#DB, 0, UserID) + SetDatabaseLong(#DB, 1, ParentID) + SetDatabaseString(#DB, 2, Name) + SetDatabaseString(#DB, 3, MimeType) + SetDatabaseLong(#DB, 4, Now) + SetDatabaseLong(#DB, 5, Now) + DatabaseUpdate(#DB, "INSERT OR IGNORE INTO fs_nodes (owner_id, parent_id, name, is_dir, mime_type, created_at, modified_at) VALUES (?, ?, ?, 0, ?, ?, ?)") + SetDatabaseLong(#DB, 0, ParentID) + SetDatabaseString(#DB, 1, Name) + If DatabaseQuery(#DB, "SELECT id FROM fs_nodes WHERE parent_id = ? AND name = ?") + If NextDatabaseRow(#DB) : ID = GetDatabaseLong(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn ID + EndProcedure + + Procedure FSUpdateFile(NodeID.i, Size.i) + SetDatabaseLong(#DB, 0, Size) + SetDatabaseLong(#DB, 1, Date()) + SetDatabaseLong(#DB, 2, NodeID) + DatabaseUpdate(#DB, "UPDATE fs_nodes SET size = ?, modified_at = ? WHERE id = ?") + EndProcedure + + Procedure FSDelete(NodeID.i) + Protected NewList ChildIDs.i() + SetDatabaseLong(#DB, 0, NodeID) + If DatabaseQuery(#DB, "SELECT id FROM fs_nodes WHERE parent_id = ?") + While NextDatabaseRow(#DB) + AddElement(ChildIDs()) : ChildIDs() = GetDatabaseLong(#DB, 0) + Wend + FinishDatabaseQuery(#DB) + EndIf + ForEach ChildIDs() + FSDelete(ChildIDs()) + Next + SetDatabaseLong(#DB, 0, NodeID) + DatabaseUpdate(#DB, "DELETE FROM fs_nodes WHERE id = ?") + EndProcedure + + Procedure FSMove(NodeID.i, NewParentID.i, NewName.s) + SetDatabaseLong(#DB, 0, NewParentID) + SetDatabaseString(#DB, 1, NewName) + SetDatabaseLong(#DB, 2, Date()) + SetDatabaseLong(#DB, 3, NodeID) + DatabaseUpdate(#DB, "UPDATE fs_nodes SET parent_id = ?, name = ?, modified_at = ? WHERE id = ?") + EndProcedure + + ;- Applications + Procedure.i AppInstall(UserID.i, AppID.s, Manifest.s, Permissions.s) + SetDatabaseLong(#DB, 0, UserID) + SetDatabaseString(#DB, 1, AppID) + SetDatabaseString(#DB, 2, Manifest) + SetDatabaseString(#DB, 3, Permissions) + SetDatabaseLong(#DB, 4, Date()) + ProcedureReturn DatabaseUpdate(#DB, "INSERT OR REPLACE INTO installed_apps (user_id, app_id, manifest, permissions, installed_at) VALUES (?, ?, ?, ?, ?)") + EndProcedure + + Procedure AppUninstall(UserID.i, AppID.s) + SetDatabaseLong(#DB, 0, UserID) + SetDatabaseString(#DB, 1, AppID) + DatabaseUpdate(#DB, "DELETE FROM installed_apps WHERE user_id = ? AND app_id = ?") + EndProcedure + + Procedure.i AppExists(UserID.i, AppID.s) + Protected Exists.i = #False + SetDatabaseLong(#DB, 0, UserID) + SetDatabaseString(#DB, 1, AppID) + If DatabaseQuery(#DB, "SELECT id FROM installed_apps WHERE user_id = ? AND app_id = ?") + Exists = Bool(NextDatabaseRow(#DB)) + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn Exists + EndProcedure + + Procedure.s AppGetPermissions(UserID.i, AppID.s) + Protected Result.s = "" + SetDatabaseLong(#DB, 0, UserID) + SetDatabaseString(#DB, 1, AppID) + If DatabaseQuery(#DB, "SELECT permissions FROM installed_apps WHERE user_id = ? AND app_id = ?") + If NextDatabaseRow(#DB) : Result = GetDatabaseString(#DB, 0) : EndIf + FinishDatabaseQuery(#DB) + EndIf + ProcedureReturn Result + EndProcedure + + Procedure.s AppList(UserID.i) + Protected JSON.s = "[", First.i = #True + Protected AppID.s, Manifest.s, Perms.s, InstalledAt.i + + SetDatabaseLong(#DB, 0, UserID) + If Not DatabaseQuery(#DB, "SELECT app_id, manifest, permissions, installed_at FROM installed_apps WHERE user_id = ? ORDER BY installed_at ASC") + ProcedureReturn "[]" + EndIf + + While NextDatabaseRow(#DB) + AppID = GetDatabaseString(#DB, 0) + Manifest = GetDatabaseString(#DB, 1) + Perms = GetDatabaseString(#DB, 2) + InstalledAt = GetDatabaseLong(#DB, 3) + + If Not First : JSON + "," : EndIf + First = #False + + ; Manifest and permissions are inlined as-is (already valid JSON) + JSON + ~"{\"app_id\":\"" + JSONEscape(AppID) + ~"\"" + + ~",\"manifest\":" + Manifest + + ~",\"permissions\":" + Perms + + ~",\"installed_at\":" + InstalledAt + "}" + Wend + + FinishDatabaseQuery(#DB) + ProcedureReturn JSON + "]" + EndProcedure + +EndModule + +; IDE Options = PureBasic 6.30 (Windows - x64) +; CursorPosition = 37 +; Folding = BAAAA+ +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/Includes/FileSystem.pbi b/Server/Includes/FileSystem.pbi new file mode 100644 index 0000000..4008a7f --- /dev/null +++ b/Server/Includes/FileSystem.pbi @@ -0,0 +1,299 @@ +Module FileSystem + EnableExplicit + + ; Private constants + #BlobsDir = "blobs/" + + ;- Helpers + Procedure CanAccess(UserID, NodeID) + Protected OwnerID = Database::FSGetOwner(NodeID) + ProcedureReturn Bool(OwnerID = UserID Or OwnerID = 0) + EndProcedure + + Procedure ResolveFromQuery(*Request, UserID) + Protected IDStr.s = General::GetQueryField(*Request, "id") + If IDStr <> "" : ProcedureReturn Val(IDStr) : EndIf + ProcedureReturn Database::FSResolve(UserID, General::GetQueryField(*Request, "path")) + EndProcedure + + Procedure ResolveFromPost(*Request, UserID) + Protected IDStr.s = General::GetPostField(*Request, "id") + If IDStr <> "" : ProcedureReturn Val(IDStr) : EndIf + ProcedureReturn Database::FSResolve(UserID, General::GetPostField(*Request, "path")) + EndProcedure + + Procedure ResolveParent(UserID, Path.s) + While Right(Path, 1) = "/" : Path = Left(Path, Len(Path) - 1) : Wend + ProcedureReturn Database::FSResolve(UserID, Path) + EndProcedure + + ;- Public procedures + + ; GET /api/fs/list?path=... or ?id=... + Procedure HandleList(*Request) + Protected UserID, NodeID + Protected Username.s + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + UserID = Database::FindUser(Username) + NodeID = ResolveFromQuery(*Request, UserID) + + If NodeID = 0 + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + ProcedureReturn + EndIf + If Not CanAccess(UserID, NodeID) + General::RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + + General::RespondJSON(*Request, Database::FSList(NodeID)) + EndProcedure + + ; GET /api/fs/stat?path=... or ?id=... + Procedure HandleStat(*Request) + Protected UserID, NodeID + Protected Username.s, Stat.s + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + UserID = Database::FindUser(Username) + NodeID = ResolveFromQuery(*Request, UserID) + + If NodeID = 0 + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + ProcedureReturn + EndIf + If Not CanAccess(UserID, NodeID) + General::RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + + Stat = Database::FSStat(NodeID) + If Stat = "" + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + Else + General::RespondJSON(*Request, Stat) + EndIf + EndProcedure + + ; GET /api/fs/read?path=... or ?id=... + Procedure HandleRead(*Request) + Protected UserID, NodeID + Protected IsDir.Integer + Protected Username.s + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + UserID = Database::FindUser(Username) + NodeID = ResolveFromQuery(*Request, UserID) + + If NodeID = 0 + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + ProcedureReturn + EndIf + If Not CanAccess(UserID, NodeID) + General::RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + + Database::FSGetOwner(NodeID, @IsDir) + If IsDir\i + General::RespondJSON(*Request, ~"{\"error\":\"Is a directory\"}", "400 Bad Request") + ProcedureReturn + EndIf + + If Not FastCGI::RespondFile(*Request, #BlobsDir + NodeID) + General::RespondJSON(*Request, ~"{\"error\":\"Blob missing\"}", "404 Not Found") + EndIf + EndProcedure + + ; POST /api/fs/write body: path=...&content=... [&mime_type=...] + Procedure HandleWrite(*Request) + Protected UserID, ParentID, NodeID, FileID, BufLen, Size, *Buf + Protected Username.s, Path.s, Content.s, MimeType.s + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + UserID = Database::FindUser(Username) + Path = General::GetPostField(*Request, "path") + Content = General::GetPostField(*Request, "content") + MimeType = General::GetPostField(*Request, "mime_type") + + If Path = "" + General::RespondJSON(*Request, ~"{\"error\":\"Missing path\"}") + ProcedureReturn + EndIf + If MimeType = "" : MimeType = "text/plain" : EndIf + + ParentID = ResolveParent(UserID, GetPathPart(Path)) + If ParentID = 0 + General::RespondJSON(*Request, ~"{\"error\":\"Parent directory not found\"}", "404 Not Found") + ProcedureReturn + EndIf + If Not CanAccess(UserID, ParentID) + General::RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + + NodeID = Database::FSResolve(UserID, Path) + If NodeID = 0 + NodeID = Database::FSCreateFile(UserID, ParentID, GetFilePart(Path), MimeType) + EndIf + If NodeID = 0 + General::RespondJSON(*Request, ~"{\"error\":\"Could not create node\"}", "500 Internal Server Error") + ProcedureReturn + EndIf + + FileID = CreateFile(#PB_Any, #BlobsDir + NodeID) + If FileID + BufLen = StringByteLength(Content, #PB_UTF8) + If BufLen > 0 + *Buf = AllocateMemory(BufLen) + If *Buf + PokeS(*Buf, Content, -1, #PB_UTF8 | #PB_String_NoZero) + WriteData(FileID, *Buf, BufLen) + FreeMemory(*Buf) + EndIf + EndIf + Size = Lof(FileID) + CloseFile(FileID) + Database::FSUpdateFile(NodeID, Size) + General::RespondJSON(*Request, ~"{\"success\":true,\"id\":" + NodeID + "}") + Else + General::RespondJSON(*Request, ~"{\"error\":\"Could not write blob\"}", "500 Internal Server Error") + EndIf + EndProcedure + + ; POST /api/fs/mkdir body: path=... + Procedure HandleMkdir(*Request) + Protected UserID, ParentID, DirID + Protected Username.s, Path.s + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + UserID = Database::FindUser(Username) + Path = General::GetPostField(*Request, "path") + + If Path = "" + General::RespondJSON(*Request, ~"{\"error\":\"Missing path\"}") + ProcedureReturn + EndIf + + ParentID = ResolveParent(UserID, GetPathPart(Path)) + If ParentID = 0 + General::RespondJSON(*Request, ~"{\"error\":\"Parent not found\"}", "404 Not Found") + ProcedureReturn + EndIf + If Not CanAccess(UserID, ParentID) + General::RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + + DirID = Database::FSMkdir(UserID, ParentID, GetFilePart(Path)) + If DirID = 0 + General::RespondJSON(*Request, ~"{\"error\":\"Already exists or could not create\"}", "409 Conflict") + Else + General::RespondJSON(*Request, ~"{\"success\":true,\"id\":" + DirID + "}") + EndIf + EndProcedure + + ; POST /api/fs/delete body: path=... or id=... + Procedure HandleDelete(*Request) + Protected UserID, NodeID, OwnerID + Protected IsDir.Integer + Protected Username.s + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + UserID = Database::FindUser(Username) + NodeID = ResolveFromPost(*Request, UserID) + + If NodeID = 0 + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + ProcedureReturn + EndIf + + OwnerID = Database::FSGetOwner(NodeID, @IsDir) + If OwnerID <> UserID + General::RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + + If Not IsDir\i : DeleteFile(#BlobsDir + NodeID) : EndIf + + Database::FSDelete(NodeID) + General::RespondJSON(*Request, ~"{\"success\":true}") + EndProcedure + + ; POST /api/fs/move body: path=...&to=... or id=...&to_parent_id=...&name=... + Procedure HandleMove(*Request) + Protected UserID, NodeID, NewParentID, OwnerID + Protected IsDir.Integer + Protected Username.s, IDStr.s, NewName.s, FromPath.s, ToPath.s + + Username = Auth::GetSessionUser(*Request) + If Username = "" + General::RespondJSON(*Request, ~"{\"error\":\"Unauthorized\"}", "401 Unauthorized") + ProcedureReturn + EndIf + UserID = Database::FindUser(Username) + IDStr = General::GetPostField(*Request, "id") + + If IDStr <> "" + NodeID = Val(IDStr) + NewParentID = Val(General::GetPostField(*Request, "to_parent_id")) + NewName = General::GetPostField(*Request, "name") + Else + FromPath = General::GetPostField(*Request, "path") + ToPath = General::GetPostField(*Request, "to") + NodeID = Database::FSResolve(UserID, FromPath) + NewParentID = ResolveParent(UserID, GetPathPart(ToPath)) + NewName = GetFilePart(ToPath) + EndIf + + If NodeID = 0 Or NewParentID = 0 Or NewName = "" + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + ProcedureReturn + EndIf + + OwnerID = Database::FSGetOwner(NodeID, @IsDir) + If OwnerID <> UserID + General::RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + If Not CanAccess(UserID, NewParentID) + General::RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + + Database::FSMove(NodeID, NewParentID, NewName) + General::RespondJSON(*Request, ~"{\"success\":true}") + EndProcedure + +EndModule + +; IDE Options = PureBasic 6.30 (Windows - x64) +; CursorPosition = 2 +; Folding = BA- +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/Includes/General.pbi b/Server/Includes/General.pbi new file mode 100644 index 0000000..960c19d --- /dev/null +++ b/Server/Includes/General.pbi @@ -0,0 +1,68 @@ +Module General + EnableExplicit + + Procedure RespondJSON(*Request, JSON.s, Status.s = "200 OK") + FastCGI::WriteResponseHeader(*Request, "Status", Status) + FastCGI::WriteResponseHeader(*Request, "Content-Type", "application/json; charset=utf-8") + FastCGI::WriteResponseHeader(*Request, "Cache-Control", "no-cache, no-store, must-revalidate") + FastCGI::WriteResponseString(*Request, JSON) + FastCGI::FinishResponse(*Request) + EndProcedure + + Procedure.s GetPostField(*Request, Field.s) + Protected PostData.s = FastCGI::GetPostData(*Request) + Protected Count.i = CountString(PostData, "&") + 1 + Protected i.i, Pair.s, Key.s + For i = 1 To Count + Pair = StringField(PostData, i, "&") + Key = StringField(Pair, 1, "=") + If Key = Field + ProcedureReturn URLDecoder(StringField(Pair, 2, "=")) + EndIf + Next + ProcedureReturn "" + EndProcedure + + Procedure.s GetQueryField(*Request, Field.s) + Protected QS.s = FastCGI::GetParameter(*Request, "QUERY_STRING") + Protected Count.i = CountString(QS, "&") + 1 + Protected i.i, Pair.s, Key.s + For i = 1 To Count + Pair = StringField(QS, i, "&") + Key = StringField(Pair, 1, "=") + If Key = Field + ProcedureReturn URLDecoder(StringField(Pair, 2, "=")) + EndIf + Next + ProcedureReturn "" + EndProcedure + + Procedure ServeStatic(*Request, URI.s) + Protected File.s + + If FindString(URI, "..") Or FindString(URI, "//") + RespondJSON(*Request, ~"{\"error\":\"Forbidden\"}", "403 Forbidden") + ProcedureReturn + EndIf + + If URI = "/" Or URI = "" + File = "www/index.html" + Else + File = "www" + URI + EndIf + + If FileSize(File) >= 0 + If Not FastCGI::RespondFile(*Request, File) + RespondJSON(*Request, ~"{\"error\":\"Read error\"}", "500 Internal Server Error") + EndIf + Else + RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + EndIf + EndProcedure + +EndModule +; IDE Options = PureBasic 6.30 (Windows - x64) +; CursorPosition = 24 +; Folding = h +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/Includes/Modules.pbi b/Server/Includes/Modules.pbi new file mode 100644 index 0000000..83e4a7d --- /dev/null +++ b/Server/Includes/Modules.pbi @@ -0,0 +1,87 @@ +DeclareModule Database + ; Public Constants + #SESSION_DURATION = 86400 ; 24 hours + + ; Public procedure declarations + Declare.i Init(Path.s) + Declare Close() + Declare.i UserCount() + Declare.i FindUser(Username.s) + Declare.i CreateUser(Username.s, Password.s) + Declare ChangePassword(UserID.i, NewPassword.s) + Declare.s ValidateCredentials(Username.s, Password.s) + Declare.s CreateSession(UserID.i, Username.s) + Declare.s ValidateSession(Token.s) + Declare DeleteSession(Token.s) + Declare CleanExpiredSessions() + + Declare.i FSInit() + Declare.i FSGetOrCreateHome(UserID.i) + Declare.i FSResolve(UserID.i, Path.s) + Declare.s FSList(NodeID.i) + Declare.s FSStat(NodeID.i) + Declare.i FSGetOwner(NodeID.i, *IsDir.Integer = 0) + Declare.i FSMkdir(UserID.i, ParentID.i, Name.s) + Declare.i FSCreateFile(UserID.i, ParentID.i, Name.s, MimeType.s) + Declare FSUpdateFile(NodeID.i, Size.i) + Declare FSDelete(NodeID.i) + Declare FSMove(NodeID.i, NewParentID.i, NewName.s) + + Declare.i AppInstall(UserID.i, AppID.s, Manifest.s, Permissions.s) + Declare AppUninstall(UserID.i, AppID.s) + Declare.i AppExists(UserID.i, AppID.s) + Declare.s AppGetPermissions(UserID.i, AppID.s) + Declare.s AppList(UserID.i) +EndDeclareModule + +DeclareModule General + ; Public procedure declarations + Declare RespondJSON(*Request, JSON.s, Status.s = "200 OK") + Declare ServeStatic(*Request, URI.s) + Declare.s GetPostField(*Request, Field.s) + Declare.s GetQueryField(*Request, Field.s) +EndDeclareModule + +DeclareModule Auth + ; Public Constants + #SESSION_COOKIE = "kumos_session" + #SESSION_MAX_AGE = "86400" + + ; Public procedure declarations + Declare HandleLogin(*Request) + Declare HandleLogout(*Request) + Declare HandleCheck(*Request) + Declare.s GetSessionUser(*Request) + Declare HandleChangePassword(*Request) +EndDeclareModule + +DeclareModule Router + ; Public procedure declarations + Declare Route(*Request) +EndDeclareModule + +DeclareModule FileSystem + ; Public procedure declarations + Declare HandleList(*Request) + Declare HandleStat(*Request) + Declare HandleRead(*Request) + Declare HandleWrite(*Request) + Declare HandleMkdir(*Request) + Declare HandleDelete(*Request) + Declare HandleMove(*Request) +EndDeclareModule + +DeclareModule AppStore + ; Public procedure declarations + Declare Init() + Declare HandleList(*Request) + Declare HandleInstall(*Request) + Declare HandleUninstall(*Request) + Declare HandleServeFile(*Request, AppID.s, FilePath.s) +EndDeclareModule +; IDE Options = PureBasic 6.30 (Windows - x64) +; CursorPosition = 23 +; FirstLine = 4 +; Folding = -- +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/Includes/Router.pbi b/Server/Includes/Router.pbi new file mode 100644 index 0000000..0320327 --- /dev/null +++ b/Server/Includes/Router.pbi @@ -0,0 +1,117 @@ +Module Router + EnableExplicit + + Procedure _MethodNotAllowed(*Request) + General::RespondJSON(*Request, ~"{\"error\":\"Method not allowed\"}", "405 Method Not Allowed") + EndProcedure + + Procedure Route(*Request) + Protected URI.s = FastCGI::GetParameter(*Request, "REQUEST_URI") + Protected Method.s = FastCGI::GetParameter(*Request, "REQUEST_METHOD") + + Protected QPos.i = FindString(URI, "?") + If QPos > 0 : URI = Left(URI, QPos - 1) : EndIf + + If Left(URI, 5) <> "/api/" + General::ServeStatic(*Request, URI) + ProcedureReturn + EndIf + + If Left(URI, 10) = "/api/apps/" And + URI <> "/api/apps/list" And + URI <> "/api/apps/install" And + URI <> "/api/apps/uninstall" + + ; URI looks like /api/apps// + Protected AppSegment.s = Mid(URI, 11) + Protected SlashPos.i = FindString(AppSegment, "/") + + If SlashPos > 1 + Protected AppID.s = Left(AppSegment, SlashPos - 1) + Protected FilePath.s = Mid(AppSegment, SlashPos + 1) + If FilePath <> "" And Method = "GET" + AppStore::HandleServeFile(*Request, AppID, FilePath) + Else + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + EndIf + Else + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + EndIf + + ProcedureReturn + EndIf + + + Select URI + + ; Auth + Case "/api/auth/login" + If Method = "POST" : Auth::HandleLogin(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/auth/logout" + If Method = "POST" : Auth::HandleLogout(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/auth/check" + Auth::HandleCheck(*Request) + + Case "/api/auth/password" + If Method = "POST" : Auth::HandleChangePassword(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + ; Filesystem + Case "/api/fs/list" + If Method = "GET" : FileSystem::HandleList(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/fs/stat" + If Method = "GET" : FileSystem::HandleStat(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/fs/read" + If Method = "GET" : FileSystem::HandleRead(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/fs/write" + If Method = "POST" : FileSystem::HandleWrite(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/fs/mkdir" + If Method = "POST" : FileSystem::HandleMkdir(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/fs/delete" + If Method = "POST" : FileSystem::HandleDelete(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/fs/move" + If Method = "POST" : FileSystem::HandleMove(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + ; App store + Case "/api/apps/list" + If Method = "GET" : AppStore::HandleList(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/apps/install" + If Method = "POST" : AppStore::HandleInstall(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Case "/api/apps/uninstall" + If Method = "POST" : AppStore::HandleUninstall(*Request) + Else : _MethodNotAllowed(*Request) : EndIf + + Default + General::RespondJSON(*Request, ~"{\"error\":\"Not found\"}", "404 Not Found") + + EndSelect + EndProcedure + +EndModule + +; IDE Options = PureBasic 6.30 (Windows - x64) +; CursorPosition = 111 +; Folding = 6 +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/KUMOS Server.pbp b/Server/KUMOS Server.pbp new file mode 100644 index 0000000..0bcc06b --- /dev/null +++ b/Server/KUMOS Server.pbp @@ -0,0 +1,63 @@ + + + +
+ +
+
+ + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + + +
+
diff --git a/Server/Libraries/FastCGI.pbi b/Server/Libraries/FastCGI.pbi new file mode 100644 index 0000000..47d5eb2 --- /dev/null +++ b/Server/Libraries/FastCGI.pbi @@ -0,0 +1,793 @@ +DeclareModule FastCGI + ; Server + Declare Open(Port, *Callback, BindedIP.s = "") ; Create a FCGI Application on the given port. Return a Server object if succeed or 0 otherwise. Callback format : Callback(Request) + Declare Close(*Server) ; Close the given Server. + + ; Request + Declare FinishResponse(*Request) ; Send the response and close connection + Declare.s GetCookie(*Request, Cookie.s) ; Return the value of the given cookie + Declare.s GetParameter(*Request, Parameter.s) ; Return the value of the given parameter if it exists. + Declare.s GetPostData(*Request) ; Return raw POST data + Declare WriteResponseHeader(*Request, Header.s, Value.s) ; Write a header to the response + Declare WriteResponseData(*Request, *Buffer, Length) ; Add data to the response + Declare WriteResponseString(*Request, String.s, Format = #PB_UTF8) ; Add a string to the response + Declare WriteResponseContentType(*Request, File.s) ; Write the MIME type based on file extension + Declare RespondFile(*Request, File.s) ; Automatically send a file as a response +EndDeclareModule + +Module FastCGI + EnableExplicit + + Global NewMap MIMETypes.s() + + ;{ Constants + #FCGI_VERSION = 1 + + ; Record types + #FCGI_BEGIN_REQUEST = 1 + #FCGI_ABORT_REQUEST = 2 + #FCGI_END_REQUEST = 3 + #FCGI_PARAMS = 4 + #FCGI_STDIN = 5 + #FCGI_STDOUT = 6 + #FCGI_STDERR = 7 + #FCGI_DATA = 8 + #FCGI_GET_VALUES = 9 + #FCGI_GET_VALUES_RESULT = 10 + #FCGI_UNKNOWN_TYPE = 11 + + ; Roles + #FCGI_RESPONDER = 1 + #FCGI_AUTHORIZER = 2 + #FCGI_FILTER = 3 + + ; Flags + #FCGI_KEEP_CONN = 1 + + ; Protocol status + #FCGI_REQUEST_COMPLETE = 0 + #FCGI_CANT_MPX_CONN = 1 + #FCGI_OVERLOADED = 2 + #FCGI_UNKNOWN_ROLE = 3 + + #HEADER_SIZE = 8 + #MAX_CONTENT_LENGTH = 65535 + #MAX_RECORD_SIZE = 65528 ; 65535 - 8 (aligned to 8 bytes) + ;} + + ;{ Structures + Structure FCGI_Header + version.a + type.a + requestIdB1.a + requestIdB0.a + contentLengthB1.a + contentLengthB0.a + paddingLength.a + reserved.a + EndStructure + + Structure FCGI_BeginRequestBody + roleB1.a + roleB0.a + flags.a + reserved.a[5] + EndStructure + + Structure FCGI_EndRequestBody + appStatusB3.a + appStatusB2.a + appStatusB1.a + appStatusB0.a + protocolStatus.a + reserved.a[3] + EndStructure + + Structure Server + ServerID.i + Thread.i + Stop.i + *Callback + Mutex.i + EndStructure + + Structure Request + ClientID.i + RequestID.u + KeepConnection.a + Role.u + ParamsComplete.a + StdinComplete.a + Map Parameters.s() + Map ResponseHeaders.s() + List Cookies.s() + List ResponseData.i() + PostData.s + *PostDataBuffer + PostDataLength.i + EndStructure + ;} + + ;{ Private procedure declarations + Declare ServerThread(*Server) + Declare ProcessNameValuePairs(*Data, *Request.Request, Length) + Declare ReceiveAllData(ClientID, *Buffer, Length) + Declare SendAllData(ClientID, *Buffer, Length) + Declare BuildHeader(*Header.FCGI_Header, Type.a, RequestID.u, ContentLength.u, PaddingLength.a) + Declare SendRecord(ClientID, Type.a, RequestID.u, *Content, ContentLength) + Declare SendEndRequest(ClientID, RequestID.u, AppStatus.l, ProtocolStatus.a) + ;} + + ;{ Helper procedures + ; Receive exactly 'Length' bytes, blocking until complete or error + Procedure ReceiveAllData(ClientID, *Buffer, Length) + Protected Received = 0, Result + + While Received < Length + Result = ReceiveNetworkData(ClientID, *Buffer + Received, Length - Received) + If Result <= 0 + ProcedureReturn -1 ; Connection closed or error + EndIf + Received + Result + Wend + + ProcedureReturn Received + EndProcedure + + ; Send all data, blocking until complete + Procedure SendAllData(ClientID, *Buffer, Length) + Protected Sent = 0, Result + + While Sent < Length + Result = SendNetworkData(ClientID, *Buffer + Sent, Length - Sent) + If Result <= 0 + ProcedureReturn -1 + EndIf + Sent + Result + Wend + + ProcedureReturn Sent + EndProcedure + + ; Build a FastCGI header + Procedure BuildHeader(*Header.FCGI_Header, Type.a, RequestID.u, ContentLength.u, PaddingLength.a) + *Header\version = #FCGI_VERSION + *Header\type = Type + *Header\requestIdB1 = (RequestID >> 8) & $FF + *Header\requestIdB0 = RequestID & $FF + *Header\contentLengthB1 = (ContentLength >> 8) & $FF + *Header\contentLengthB0 = ContentLength & $FF + *Header\paddingLength = PaddingLength + *Header\reserved = 0 + EndProcedure + + ; Send a complete FastCGI record + Procedure SendRecord(ClientID, Type.a, RequestID.u, *Content, ContentLength) + Protected *Packet, PacketSize, PaddingLength.a, Result + + ; Calculate padding to align to 8 bytes + PaddingLength = (8 - (ContentLength % 8)) % 8 + PacketSize = #HEADER_SIZE + ContentLength + PaddingLength + + *Packet = AllocateMemory(PacketSize, #PB_Memory_NoClear) + If Not *Packet + ProcedureReturn #False + EndIf + + ; Build header + BuildHeader(*Packet, Type, RequestID, ContentLength, PaddingLength) + + ; Copy content if any + If *Content And ContentLength > 0 + CopyMemory(*Content, *Packet + #HEADER_SIZE, ContentLength) + EndIf + + ; Zero padding + If PaddingLength > 0 + FillMemory(*Packet + #HEADER_SIZE + ContentLength, PaddingLength, 0) + EndIf + + ; Send + Result = SendAllData(ClientID, *Packet, PacketSize) + FreeMemory(*Packet) + + ProcedureReturn Bool(Result > 0) + EndProcedure + + ; Send FCGI_END_REQUEST record + Procedure SendEndRequest(ClientID, RequestID.u, AppStatus.l, ProtocolStatus.a) + Protected Body.FCGI_EndRequestBody + + Body\appStatusB3 = (AppStatus >> 24) & $FF + Body\appStatusB2 = (AppStatus >> 16) & $FF + Body\appStatusB1 = (AppStatus >> 8) & $FF + Body\appStatusB0 = AppStatus & $FF + Body\protocolStatus = ProtocolStatus + + ProcedureReturn SendRecord(ClientID, #FCGI_END_REQUEST, RequestID, @Body, SizeOf(FCGI_EndRequestBody)) + EndProcedure + + ; Parse name-value pairs from FCGI_PARAMS + Procedure ProcessNameValuePairs(*Data, *Request.Request, Length) + Protected Offset = 0 + Protected NameLength.l, ValueLength.l + Protected Name.s, Value.s + + While Offset < Length + ; Read name length + NameLength = PeekA(*Data + Offset) + If NameLength & $80 ; High bit set = 4-byte length + If Offset + 4 > Length : Break : EndIf + NameLength = ((PeekA(*Data + Offset) & $7F) << 24) | + (PeekA(*Data + Offset + 1) << 16) | + (PeekA(*Data + Offset + 2) << 8) | + PeekA(*Data + Offset + 3) + Offset + 4 + Else + Offset + 1 + EndIf + + ; Read value length + If Offset >= Length : Break : EndIf + ValueLength = PeekA(*Data + Offset) + If ValueLength & $80 ; High bit set = 4-byte length + If Offset + 4 > Length : Break : EndIf + ValueLength = ((PeekA(*Data + Offset) & $7F) << 24) | + (PeekA(*Data + Offset + 1) << 16) | + (PeekA(*Data + Offset + 2) << 8) | + PeekA(*Data + Offset + 3) + Offset + 4 + Else + Offset + 1 + EndIf + + ; Bounds check + If Offset + NameLength + ValueLength > Length + Break + EndIf + + ; Read name and value + If NameLength > 0 + Name = PeekS(*Data + Offset, NameLength, #PB_Ascii) + Offset + NameLength + + If ValueLength > 0 + Value = PeekS(*Data + Offset, ValueLength, #PB_Ascii) + Offset + ValueLength + Else + Value = "" + EndIf + + *Request\Parameters(Name) = Value + Else + Offset + ValueLength + EndIf + Wend + EndProcedure + ;} + + ;{ Public procedures - Server + Procedure Close(*Server.Server) + If *Server + *Server\Stop = #True + ; Wait for thread to finish + If IsThread(*Server\Thread) + WaitThread(*Server\Thread, 5000) + If IsThread(*Server\Thread) + KillThread(*Server\Thread) + EndIf + EndIf + If *Server\Mutex + FreeMutex(*Server\Mutex) + EndIf + FreeMemory(*Server) + EndIf + EndProcedure + + Procedure Open(Port, *Callback, BindedIP.s = "") + Protected ServerID, *Server.Server + + If Not *Callback + ProcedureReturn #Null + EndIf + + ServerID = CreateNetworkServer(#PB_Any, Port, #PB_Network_TCP, BindedIP) + + If ServerID + *Server = AllocateMemory(SizeOf(Server)) + If *Server + *Server\ServerID = ServerID + *Server\Callback = *Callback + *Server\Mutex = CreateMutex() + *Server\Thread = CreateThread(@ServerThread(), *Server) + + If Not *Server\Thread + CloseNetworkServer(ServerID) + If *Server\Mutex : FreeMutex(*Server\Mutex) : EndIf + FreeMemory(*Server) + *Server = #Null + EndIf + Else + CloseNetworkServer(ServerID) + EndIf + EndIf + + ProcedureReturn *Server + EndProcedure + ;} + + ;{ Public procedures - Request + Procedure FinishResponse(*Request.Request) + Protected HeaderString.s, *HeaderData, HeaderLength + Protected *ContentData, ContentLength, TotalLength + Protected Offset, ChunkSize, Result + + If Not *Request + ProcedureReturn + EndIf + + ; Build HTTP headers string + ForEach *Request\ResponseHeaders() + HeaderString + MapKey(*Request\ResponseHeaders()) + ": " + *Request\ResponseHeaders() + #CRLF$ + Next + + ForEach *Request\Cookies() + HeaderString + "Set-Cookie: " + *Request\Cookies() + #CRLF$ + Next + + HeaderString + #CRLF$ ; End of headers + + ; Calculate total response size + HeaderLength = StringByteLength(HeaderString, #PB_Ascii) + ContentLength = 0 + ForEach *Request\ResponseData() + ContentLength + MemorySize(*Request\ResponseData()) + Next + TotalLength = HeaderLength + ContentLength + + ; Allocate combined buffer + *ContentData = AllocateMemory(TotalLength, #PB_Memory_NoClear) + If Not *ContentData + ProcedureReturn + EndIf + + ; Copy headers + PokeS(*ContentData, HeaderString, -1, #PB_Ascii | #PB_String_NoZero) + Offset = HeaderLength + + ; Copy response data + ForEach *Request\ResponseData() + CopyMemory(*Request\ResponseData(), *ContentData + Offset, MemorySize(*Request\ResponseData())) + Offset + MemorySize(*Request\ResponseData()) + FreeMemory(*Request\ResponseData()) + Next + ClearList(*Request\ResponseData()) + + ; Send STDOUT records (split if necessary) + Offset = 0 + While Offset < TotalLength + ChunkSize = TotalLength - Offset + If ChunkSize > #MAX_RECORD_SIZE + ChunkSize = #MAX_RECORD_SIZE + EndIf + + Result = SendRecord(*Request\ClientID, #FCGI_STDOUT, *Request\RequestID, *ContentData + Offset, ChunkSize) + If Not Result + Break + EndIf + Offset + ChunkSize + Wend + + FreeMemory(*ContentData) + + ; Send empty STDOUT to signal end of output + SendRecord(*Request\ClientID, #FCGI_STDOUT, *Request\RequestID, #Null, 0) + + ; Send END_REQUEST + SendEndRequest(*Request\ClientID, *Request\RequestID, 0, #FCGI_REQUEST_COMPLETE) + + ; Close connection if not keep-alive + If Not *Request\KeepConnection + CloseNetworkConnection(*Request\ClientID) + EndIf + + ; Clean up POST data buffer if allocated + If *Request\PostDataBuffer + FreeMemory(*Request\PostDataBuffer) + *Request\PostDataBuffer = #Null + EndIf + EndProcedure + + Procedure.s GetCookie(*Request.Request, Cookie.s) + Protected CookieHeader.s, Result.s + Protected SearchStr.s, StartPos, EndPos + + If Not *Request + ProcedureReturn "" + EndIf + + CookieHeader = *Request\Parameters("HTTP_COOKIE") + If CookieHeader = "" + ProcedureReturn "" + EndIf + + SearchStr = Cookie + "=" + StartPos = FindString(CookieHeader, SearchStr) + + If StartPos + StartPos + Len(SearchStr) + EndPos = FindString(CookieHeader, ";", StartPos) + + If EndPos = 0 + EndPos = Len(CookieHeader) + 1 + EndIf + + Result = Trim(Mid(CookieHeader, StartPos, EndPos - StartPos)) + EndIf + + ProcedureReturn Result + EndProcedure + + Procedure.s GetParameter(*Request.Request, Parameter.s) + If *Request + ProcedureReturn *Request\Parameters(Parameter) + EndIf + ProcedureReturn "" + EndProcedure + + Procedure.s GetPostData(*Request.Request) + If *Request + ProcedureReturn *Request\PostData + EndIf + ProcedureReturn "" + EndProcedure + + Procedure WriteResponseHeader(*Request.Request, Header.s, Value.s) + If *Request + If LCase(Header) = "set-cookie" Or Header = #PB_CGI_HeaderSetCookie + AddElement(*Request\Cookies()) + *Request\Cookies() = Value + Else + *Request\ResponseHeaders(Header) = Value + EndIf + EndIf + EndProcedure + + Procedure WriteResponseString(*Request.Request, String.s, Format = #PB_UTF8) + Protected *Buffer, Length + + If *Request And String <> "" + Length = StringByteLength(String, Format) + *Buffer = AllocateMemory(Length, #PB_Memory_NoClear) + If *Buffer + PokeS(*Buffer, String, -1, Format | #PB_String_NoZero) + AddElement(*Request\ResponseData()) + *Request\ResponseData() = *Buffer + EndIf + EndIf + EndProcedure + + Procedure WriteResponseData(*Request.Request, *Buffer, Length) + Protected *Copy + + If *Request And *Buffer And Length > 0 + *Copy = AllocateMemory(Length, #PB_Memory_NoClear) + If *Copy + CopyMemory(*Buffer, *Copy, Length) + AddElement(*Request\ResponseData()) + *Request\ResponseData() = *Copy + EndIf + EndIf + EndProcedure + + Procedure WriteResponseContentType(*Request.Request, File.s) + Protected Extension.s, MIMEType.s + + If *Request + Extension = LCase(GetExtensionPart(File)) + If FindMapElement(MIMETypes(), Extension) + MIMEType = MIMETypes() + Else + MIMEType = "application/octet-stream" + EndIf + *Request\ResponseHeaders("Content-Type") = MIMEType + EndIf + EndProcedure + + Procedure RespondFile(*Request.Request, File.s) + Protected Result = #False + Protected FileID, FileSize, *FileData + + If Not *Request + ProcedureReturn #False + EndIf + + FileID = ReadFile(#PB_Any, File, #PB_File_SharedRead) + If FileID + FileSize = Lof(FileID) + If FileSize > 0 + *FileData = AllocateMemory(FileSize, #PB_Memory_NoClear) + If *FileData + ReadData(FileID, *FileData, FileSize) + WriteResponseContentType(*Request, File) + WriteResponseData(*Request, *FileData, FileSize) + FreeMemory(*FileData) + Result = #True + EndIf + EndIf + CloseFile(FileID) + + If Result + FinishResponse(*Request) + EndIf + EndIf + + ProcedureReturn Result + EndProcedure + ;} + + ;{ Server thread + Procedure ServerThread(*Server.Server) + Protected Header.FCGI_Header + Protected BeginBody.FCGI_BeginRequestBody + Protected ContentLength, PaddingLength + Protected *ContentBuffer, *PaddingBuffer + Protected Event, ClientID + Protected NewMap Requests.Request() + Protected *Request.Request + Protected RequestKey.s + + *ContentBuffer = AllocateMemory(#MAX_CONTENT_LENGTH) + *PaddingBuffer = AllocateMemory(256) + + If Not *ContentBuffer Or Not *PaddingBuffer + If *ContentBuffer : FreeMemory(*ContentBuffer) : EndIf + If *PaddingBuffer : FreeMemory(*PaddingBuffer) : EndIf + ProcedureReturn + EndIf + + Repeat + Event = NetworkServerEvent(*Server\ServerID) + + Select Event + Case #PB_NetworkEvent_None + Delay(1) + + Case #PB_NetworkEvent_Connect + ClientID = EventClient() + ; New connection - request will be created on BEGIN_REQUEST + + Case #PB_NetworkEvent_Data + ClientID = EventClient() + RequestKey = Str(ClientID) + + ; Read header + If ReceiveAllData(ClientID, @Header, #HEADER_SIZE) = #HEADER_SIZE + ContentLength = (Header\contentLengthB1 << 8) | Header\contentLengthB0 + PaddingLength = Header\paddingLength + + ; Read content + If ContentLength > 0 + If ReceiveAllData(ClientID, *ContentBuffer, ContentLength) <> ContentLength + Continue + EndIf + EndIf + + ; Read padding + If PaddingLength > 0 + ReceiveAllData(ClientID, *PaddingBuffer, PaddingLength) + EndIf + + ; Process based on record type + Select Header\type + Case #FCGI_BEGIN_REQUEST + ; Create new request + *Request = AddMapElement(Requests(), RequestKey) + If *Request + *Request\ClientID = ClientID + *Request\RequestID = (Header\requestIdB1 << 8) | Header\requestIdB0 + + If ContentLength >= SizeOf(FCGI_BeginRequestBody) + CopyMemory(*ContentBuffer, @BeginBody, SizeOf(FCGI_BeginRequestBody)) + *Request\Role = (BeginBody\roleB1 << 8) | BeginBody\roleB0 + *Request\KeepConnection = Bool(BeginBody\flags & #FCGI_KEEP_CONN) + EndIf + EndIf + + Case #FCGI_PARAMS + *Request = FindMapElement(Requests(), RequestKey) + If *Request + If ContentLength > 0 + ProcessNameValuePairs(*ContentBuffer, *Request, ContentLength) + Else + ; Empty PARAMS record signals end of parameters + *Request\ParamsComplete = #True + EndIf + EndIf + + Case #FCGI_STDIN + *Request = FindMapElement(Requests(), RequestKey) + If *Request + If ContentLength > 0 + ; Accumulate POST data + Protected *NewBuffer, NewLength + NewLength = *Request\PostDataLength + ContentLength + *NewBuffer = AllocateMemory(NewLength) + If *NewBuffer + If *Request\PostDataBuffer + CopyMemory(*Request\PostDataBuffer, *NewBuffer, *Request\PostDataLength) + FreeMemory(*Request\PostDataBuffer) + EndIf + CopyMemory(*ContentBuffer, *NewBuffer + *Request\PostDataLength, ContentLength) + *Request\PostDataBuffer = *NewBuffer + *Request\PostDataLength = NewLength + EndIf + Else + ; Empty STDIN record signals end of input + *Request\StdinComplete = #True + + ; Convert POST data to string + If *Request\PostDataBuffer And *Request\PostDataLength > 0 + *Request\PostData = PeekS(*Request\PostDataBuffer, *Request\PostDataLength, #PB_UTF8 | #PB_ByteLength) + EndIf + + ; Request is complete - call handler + If *Request\ParamsComplete + Protected Callback.i = *Server\Callback + If Callback + CallFunctionFast(Callback, *Request) + EndIf + + ; Clean up request from map after response + DeleteMapElement(Requests(), RequestKey) + EndIf + EndIf + EndIf + + Case #FCGI_ABORT_REQUEST + *Request = FindMapElement(Requests(), RequestKey) + If *Request + If *Request\PostDataBuffer + FreeMemory(*Request\PostDataBuffer) + EndIf + ForEach *Request\ResponseData() + FreeMemory(*Request\ResponseData()) + Next + DeleteMapElement(Requests(), RequestKey) + EndIf + + EndSelect + EndIf + + Case #PB_NetworkEvent_Disconnect + ClientID = EventClient() + RequestKey = Str(ClientID) + + ; Clean up any pending request + *Request = FindMapElement(Requests(), RequestKey) + If *Request + If *Request\PostDataBuffer + FreeMemory(*Request\PostDataBuffer) + EndIf + ForEach *Request\ResponseData() + FreeMemory(*Request\ResponseData()) + Next + DeleteMapElement(Requests(), RequestKey) + EndIf + + EndSelect + + Until *Server\Stop + + ; Cleanup + FreeMemory(*ContentBuffer) + FreeMemory(*PaddingBuffer) + + ; Clean up remaining requests + ForEach Requests() + If Requests()\PostDataBuffer + FreeMemory(Requests()\PostDataBuffer) + EndIf + ForEach Requests()\ResponseData() + FreeMemory(Requests()\ResponseData()) + Next + Next + + CloseNetworkServer(*Server\ServerID) + EndProcedure + ;} + + ;{ MIME Types + Procedure LoadMimeTypes() + Protected.s Ext, Type + Restore MimeData + Read.s Ext + While Ext <> "END" + Read.s Type + MIMETypes(Ext) = Type + Read.s Ext + Wend + EndProcedure + + LoadMimeTypes() + + DataSection + MimeData: + Data.s "aac", "audio/aac", "abw", "application/x-abiword", "apng", "image/apng", "avi", "video/x-msvideo", "bin", "application/octet-stream", "bmp", "image/bmp" + Data.s "css", "text/css", "csv", "text/csv", "doc", "application/msword", "gif", "image/gif", "htm", "text/html", "html", "text/html", "ico", "image/x-icon" + Data.s "jpeg", "image/jpeg", "jpg", "image/jpeg", "js", "text/javascript", "json", "application/json", "mp3", "audio/mpeg", "mp4", "video/mp4", "mpeg", "video/mpeg" + Data.s "otf", "font/otf", "png", "image/png", "pdf", "application/pdf", "php", "application/x-httpd-php", "svg", "image/svg+xml", "txt", "text/plain" + Data.s "wav", "audio/wav", "webm", "video/webm", "webp", "image/webp", "woff", "font/woff", "woff2", "font/woff2", "xml", "application/xml", "zip", "application/zip" + Data.s "END" + EndDataSection + ;} +EndModule + +;{ Test/Demo code +CompilerIf #PB_Compiler_IsMainFile + + Global *ImageData + Global ImageSize + + ; Load test image + If ReadFile(0, #PB_Compiler_Home + "examples/sources/Data/Map.bmp") + ImageSize = Lof(0) + *ImageData = AllocateMemory(ImageSize) + ReadData(0, *ImageData, ImageSize) + CloseFile(0) + Else + ; Create a simple test response if image not found + *ImageData = #Null + ImageSize = 0 + EndIf + + Procedure RequestHandler(*Request) + Protected URI.s + + URI = FastCGI::GetParameter(*Request, "REQUEST_URI") + + Debug "Request received: " + URI + Debug "Method: " + FastCGI::GetParameter(*Request, "REQUEST_METHOD") + Debug "Query: " + FastCGI::GetParameter(*Request, "QUERY_STRING") + + If *ImageData And ImageSize > 0 + FastCGI::WriteResponseContentType(*Request, "test.bmp") + FastCGI::WriteResponseData(*Request, *ImageData, ImageSize) + Else + FastCGI::WriteResponseHeader(*Request, "Content-Type", "text/html") + FastCGI::WriteResponseString(*Request, "

FastCGI Test

Request URI: " + URI + "

") + EndIf + + FastCGI::FinishResponse(*Request) + EndProcedure + + OpenConsole("FastCGI Demo") + PrintN("Starting FastCGI server on port 5600...") + PrintN("Press Enter to stop") + + Global Server = FastCGI::Open(5600, @RequestHandler()) + + If Server + PrintN("Server started successfully") + Input() + FastCGI::Close(Server) + PrintN("Server closed") + Else + PrintN("Failed to start server!") + EndIf + + If *ImageData + FreeMemory(*ImageData) + EndIf + + PrintN("Press Enter to exit") + Input() +CompilerEndIf +;} + +; IDE Options = PureBasic 6.30 (Windows - x64) +; ExecutableFormat = Console +; CursorPosition = 55 +; Folding = GAAAA9 +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/Libraries/WebServer.pbi b/Server/Libraries/WebServer.pbi new file mode 100644 index 0000000..50ecf63 --- /dev/null +++ b/Server/Libraries/WebServer.pbi @@ -0,0 +1,734 @@ +; ============================================================ +; WebServer.pbi: Simple HTTP / FastCGI gateway for services +; development. +; +; Routing: +; - Path matching a registered FCGI prefix -> forward to FCGI +; - Otherwise: try local file, fall back to FCGI on miss +; ============================================================ + +DeclareModule WebServer + Declare Open(Port, WebRoot.s, FcgiHost.s = "127.0.0.1", FcgiPort = 5600) + Declare Close(*Server) + Declare AddFcgiPrefix(*Server, Prefix.s) +EndDeclareModule + +Module WebServer + EnableExplicit + + ;{ Structures + Structure Server + ServerID.i + Thread.i + Stop.i + Port.i + WebRoot.s + FcgiHost.s + FcgiPort.l + List Prefixes.s() + EndStructure + + Structure HttpConn + *Buffer + AllocSize.i + Received.i + HeadersEnd.i ; byte AFTER \r\n\r\n; 0 means not yet found + ContentLength.i ; -1 = not yet parsed + EndStructure + + Structure FCGI_Header + version.a + type.a + requestIdB1.a + requestIdB0.a + contentLengthB1.a + contentLengthB0.a + paddingLength.a + reserved.a + EndStructure + + Structure FCGI_BeginRequestBody + roleB1.a + roleB0.a + flags.a + reserved.a[5] + EndStructure + ;} + + ;{ Constants + #FCGI_VERSION = 1 + #FCGI_BEGIN_REQUEST = 1 + #FCGI_END_REQUEST = 3 + #FCGI_PARAMS = 4 + #FCGI_STDIN = 5 + #FCGI_STDOUT = 6 + #FCGI_RESPONDER = 1 + #FCGI_HEADER_SIZE = 8 + #FCGI_MAX_RECORD = 65528 + ;} + + ;{ MIME Types + Global NewMap MIMETypes.s() + + Procedure LoadMimeTypes() + Protected.s Ext, Type + Restore MimeData + Read.s Ext + While Ext <> "END" + Read.s Type + MIMETypes(Ext) = Type + Read.s Ext + Wend + EndProcedure + + LoadMimeTypes() + + DataSection + MimeData: + Data.s "aac", "audio/aac", "abw", "application/x-abiword", "apng", "image/apng", "avi", "video/x-msvideo", "bin", "application/octet-stream", "bmp", "image/bmp" + Data.s "css", "text/css", "csv", "text/csv", "doc", "application/msword", "gif", "image/gif", "htm", "text/html", "html", "text/html", "ico", "image/x-icon" + Data.s "jpeg", "image/jpeg", "jpg", "image/jpeg", "js", "text/javascript", "json", "application/json", "mp3", "audio/mpeg", "mp4", "video/mp4", "mpeg", "video/mpeg" + Data.s "otf", "font/otf", "png", "image/png", "pdf", "application/pdf", "php", "application/x-httpd-php", "svg", "image/svg+xml", "txt", "text/plain" + Data.s "wav", "audio/wav", "webm", "video/webm", "webp", "image/webp", "woff", "font/woff", "woff2", "font/woff2", "xml", "application/xml", "zip", "application/zip" + Data.s "END" + EndDataSection + ;} + + ;- Private declarations + Declare ServerThread(*Server.Server) + Declare HandleRequest(*Server.Server, ClientID, *Data, DataLen) + Declare ForwardToFcgi(*Server.Server, ClientID, Method.s, FullURI.s, Path.s, QueryString.s, Map ReqHdrs.s(), *Body, BodyLen) + Declare FcgiBuildAndSendParams(FcgiConn, *Server.Server, ReqID.u, Method.s, FullURI.s, Path.s, QueryString.s, Map ReqHdrs.s(), BodyLen) + Declare FcgiSendBody(FcgiConn, ReqID.u, *Body, BodyLen) + Declare FcgiReadResponse(FcgiConn, *OutLen) + Declare FcgiSendHttpResponse(ClientID, *RespBuf, RespLen) + Declare ServeStaticFile(ClientID, FilePath.s) + Declare SendErrorResponse(ClientID, Code, Reason.s) + Declare SendRawHttpResponse(ClientID, StatusLine.s, Headers.s, *Body, BodyLen) + Declare ReceiveAll(ConnID, *Buffer, Length) + Declare SendAll(ConnID, *Buffer, Length) + Declare SendFcgiRecord(ConnID, Type.a, RequestID.u, *Content, ContentLen) + Declare AppendNVP(*Buffer, Offset, Name.s, Value.s) + Declare.s GetMime(FilePath.s) + Declare.s GetHeaderCI(Map H.s(), Name.s) + + ;- Public API + Procedure Open(Port, WebRoot.s, FcgiHost.s = "127.0.0.1", FcgiPort = 5600) + Protected ServerID = CreateNetworkServer(#PB_Any, Port, #PB_Network_TCP, "") + Protected *Server.Server + If Not ServerID : ProcedureReturn #Null : EndIf + + *Server = AllocateMemory(SizeOf(Server)) + If *Server + InitializeStructure(*Server, Server) + *Server\ServerID = ServerID + *Server\Port = Port + *Server\WebRoot = WebRoot + *Server\FcgiHost = FcgiHost + *Server\FcgiPort = FcgiPort + *Server\Thread = CreateThread(@ServerThread(), *Server) + If Not *Server\Thread + CloseNetworkServer(ServerID) + FreeStructure(*Server) + *Server = #Null + EndIf + Else + CloseNetworkServer(ServerID) + EndIf + ProcedureReturn *Server + EndProcedure + + Procedure Close(*Server.Server) + If *Server + *Server\Stop = #True + If IsThread(*Server\Thread) + WaitThread(*Server\Thread, 5000) + If IsThread(*Server\Thread) : KillThread(*Server\Thread) : EndIf + EndIf + FreeMemory(*Server) + EndIf + EndProcedure + + Procedure AddFcgiPrefix(*Server.Server, Prefix.s) + If *Server + AddElement(*Server\Prefixes()) + *Server\Prefixes() = Prefix + EndIf + EndProcedure + + ;- Private procedures + ; Helpers + Procedure.s GetHeaderCI(Map H.s(), Name.s) + ; Case-insensitive header lookup so we don't depend on which capitalisation + ; the browser used (Chrome and Firefox usually send "Content-Type:" but + ; HTTP/2 frontends and some proxies will lowercase headers). + Protected Lower.s = LCase(Name) + ForEach H() + If LCase(MapKey(H())) = Lower + ProcedureReturn H() + EndIf + Next + ProcedureReturn "" + EndProcedure + + Procedure.s GetMime(FilePath.s) + If FindMapElement(MimeTypes(), LCase(GetExtensionPart(FilePath))) + ProcedureReturn MimeTypes() + EndIf + ProcedureReturn "application/octet-stream" + EndProcedure + + ; Network helpers + Procedure ReceiveAll(ConnID, *Buffer, Length) + Protected Received = 0, Got + While Received < Length + Got = ReceiveNetworkData(ConnID, *Buffer + Received, Length - Received) + If Got <= 0 + Received = -1 + Break + EndIf + Received + Got + Wend + ProcedureReturn Received + EndProcedure + + Procedure SendAll(ConnID, *Buffer, Length) + Protected Sent = 0, Chunk + While Sent < Length + Chunk = SendNetworkData(ConnID, *Buffer + Sent, Length - Sent) + If Chunk <= 0 + Sent = -1 + Break + EndIf + Sent + Chunk + Wend + ProcedureReturn Sent + EndProcedure + + ; FCGI helpers + Procedure SendFcgiRecord(ConnID, Type.a, RequestID.u, *Content, ContentLen) + Protected Result = #False + Protected Padding = (8 - (ContentLen % 8)) % 8 + Protected PktSize = #FCGI_HEADER_SIZE + ContentLen + Padding + Protected *Pkt = AllocateMemory(PktSize, #PB_Memory_NoClear) + + If *Pkt + PokeA(*Pkt, #FCGI_VERSION) + PokeA(*Pkt + 1, Type) + PokeA(*Pkt + 2, (RequestID >> 8) & $FF) + PokeA(*Pkt + 3, RequestID & $FF) + PokeA(*Pkt + 4, (ContentLen >> 8) & $FF) + PokeA(*Pkt + 5, ContentLen & $FF) + PokeA(*Pkt + 6, Padding) + PokeA(*Pkt + 7, 0) + + If *Content And ContentLen > 0 + CopyMemory(*Content, *Pkt + #FCGI_HEADER_SIZE, ContentLen) + EndIf + If Padding > 0 + FillMemory(*Pkt + #FCGI_HEADER_SIZE + ContentLen, Padding, 0) + EndIf + + Result = Bool(SendAll(ConnID, *Pkt, PktSize) > 0) + FreeMemory(*Pkt) + EndIf + + ProcedureReturn Result + EndProcedure + + Procedure AppendNVP(*Buffer, Offset, Name.s, Value.s) + Protected NameLen = StringByteLength(Name, #PB_Ascii) + Protected ValueLen = StringByteLength(Value, #PB_UTF8) + + If NameLen < 128 + PokeA(*Buffer + Offset, NameLen) : Offset + 1 + Else + PokeA(*Buffer + Offset, ((NameLen >> 24) & $7F) | $80) + PokeA(*Buffer + Offset + 1, (NameLen >> 16) & $FF) + PokeA(*Buffer + Offset + 2, (NameLen >> 8) & $FF) + PokeA(*Buffer + Offset + 3, NameLen & $FF) + Offset + 4 + EndIf + + If ValueLen < 128 + PokeA(*Buffer + Offset, ValueLen) : Offset + 1 + Else + PokeA(*Buffer + Offset, ((ValueLen >> 24) & $7F) | $80) + PokeA(*Buffer + Offset + 1, (ValueLen >> 16) & $FF) + PokeA(*Buffer + Offset + 2, (ValueLen >> 8) & $FF) + PokeA(*Buffer + Offset + 3, ValueLen & $FF) + Offset + 4 + EndIf + + If NameLen > 0 + PokeS(*Buffer + Offset, Name, -1, #PB_Ascii | #PB_String_NoZero) + Offset + NameLen + EndIf + If ValueLen > 0 + PokeS(*Buffer + Offset, Value, -1, #PB_UTF8 | #PB_String_NoZero) + Offset + ValueLen + EndIf + + ProcedureReturn Offset + EndProcedure + + ; HTTP response helpers + Procedure SendRawHttpResponse(ClientID, StatusLine.s, Headers.s, *Body, BodyLen) + ; FIX: ensure Headers ends with CRLF so the appended CRLF below produces + ; the CRLFCRLF that terminates the header block. Without this, FCGI-forwarded + ; responses (whose CgiHdrs has no trailing CRLF after PeekS) produced output + ; with only one CRLF between headers and body - some browsers (notably Chrome + ; on POST) refused to display the result. + If Headers <> "" And Right(Headers, 2) <> #CRLF$ + Headers + #CRLF$ + EndIf + + Protected Hdr.s = StatusLine + #CRLF$ + "Connection: close" + #CRLF$ + Headers + #CRLF$ + Protected HdrLen = StringByteLength(Hdr, #PB_Ascii) + Protected *HdrBuf = AllocateMemory(HdrLen, #PB_Memory_NoClear) + If *HdrBuf + PokeS(*HdrBuf, Hdr, -1, #PB_Ascii | #PB_String_NoZero) + SendAll(ClientID, *HdrBuf, HdrLen) + FreeMemory(*HdrBuf) + EndIf + + If *Body And BodyLen > 0 + SendAll(ClientID, *Body, BodyLen) + EndIf + CloseNetworkConnection(ClientID) + EndProcedure + + Procedure SendErrorResponse(ClientID, Code, Reason.s) + Protected Body.s = "

" + Str(Code) + " " + Reason + "

" + Protected BodyLen = StringByteLength(Body, #PB_Ascii) + Protected *B = AllocateMemory(BodyLen, #PB_Memory_NoClear) + If *B + PokeS(*B, Body, -1, #PB_Ascii | #PB_String_NoZero) + SendRawHttpResponse(ClientID, "HTTP/1.1 " + Str(Code) + " " + Reason, + "Content-Type: text/html" + #CRLF$ + "Content-Length: " + Str(BodyLen) + #CRLF$, + *B, BodyLen) + FreeMemory(*B) + EndIf + EndProcedure + + Procedure ServeStaticFile(ClientID, FilePath.s) + Protected Result, FileSize, FileID = ReadFile(#PB_Any, FilePath, #PB_File_SharedRead) + Protected *FileData + + If FileID + FileSize = Lof(FileID) + *FileData = AllocateMemory(FileSize, #PB_Memory_NoClear) + If *FileData + ReadData(FileID, *FileData, FileSize) + SendRawHttpResponse(ClientID, "HTTP/1.1 200 OK", + "Content-Type: " + GetMime(FilePath) + #CRLF$ + "Content-Length: " + Str(FileSize) + #CRLF$, + *FileData, FileSize) + FreeMemory(*FileData) + EndIf + Result = #True + CloseFile(FileID) + EndIf + + ProcedureReturn Result + EndProcedure + + ; FCGI gateway + Procedure FcgiBuildAndSendParams(FcgiConn, *Server.Server, ReqID.u, Method.s, FullURI.s, Path.s, QueryString.s, Map ReqHdrs.s(), BodyLen) + Protected *Params, PO, PSent, PChunk, Result + Protected HName.s, HLower.s, CType.s + + *Params = AllocateMemory(65536) + If Not *Params : ProcedureReturn #False : EndIf + + PO = AppendNVP(*Params, PO, "GATEWAY_INTERFACE", "CGI/1.1") + PO = AppendNVP(*Params, PO, "SERVER_PROTOCOL", "HTTP/1.1") + PO = AppendNVP(*Params, PO, "SERVER_SOFTWARE", "KUMO.S/1.0") + PO = AppendNVP(*Params, PO, "SERVER_NAME", "localhost") + PO = AppendNVP(*Params, PO, "SERVER_PORT", Str(*Server\Port)) + PO = AppendNVP(*Params, PO, "REQUEST_METHOD", Method) + PO = AppendNVP(*Params, PO, "REQUEST_URI", FullURI) + PO = AppendNVP(*Params, PO, "SCRIPT_NAME", Path) + PO = AppendNVP(*Params, PO, "PATH_INFO", Path) + PO = AppendNVP(*Params, PO, "QUERY_STRING", QueryString) + PO = AppendNVP(*Params, PO, "DOCUMENT_ROOT", *Server\WebRoot) + PO = AppendNVP(*Params, PO, "SCRIPT_FILENAME", *Server\WebRoot + Path) + PO = AppendNVP(*Params, PO, "CONTENT_LENGTH", Str(BodyLen)) + PO = AppendNVP(*Params, PO, "REMOTE_ADDR", "127.0.0.1") + PO = AppendNVP(*Params, PO, "REMOTE_PORT", "0") + + ; FIX: case-insensitive lookup + CType = GetHeaderCI(ReqHdrs(), "Content-Type") + If CType <> "" + PO = AppendNVP(*Params, PO, "CONTENT_TYPE", CType) + EndIf + + ForEach ReqHdrs() + HName = MapKey(ReqHdrs()) + HLower = LCase(HName) + If HLower <> "content-type" And HLower <> "content-length" + PO = AppendNVP(*Params, PO, "HTTP_" + UCase(ReplaceString(HName, "-", "_")), ReqHdrs()) + EndIf + Next + + While PSent < PO + PChunk = PO - PSent + If PChunk > #FCGI_MAX_RECORD : PChunk = #FCGI_MAX_RECORD : EndIf + If Not SendFcgiRecord(FcgiConn, #FCGI_PARAMS, ReqID, *Params + PSent, PChunk) : Break : EndIf + PSent + PChunk + Wend + FreeMemory(*Params) + + Result = Bool(Bool(PSent >= PO) And SendFcgiRecord(FcgiConn, #FCGI_PARAMS, ReqID, #Null, 0)) + ProcedureReturn Result + EndProcedure + + Procedure FcgiSendBody(FcgiConn, ReqID.u, *Body, BodyLen) + Protected SSent, SChunk, Result = #True + + If *Body And BodyLen > 0 + While SSent < BodyLen And Result + SChunk = BodyLen - SSent + If SChunk > #FCGI_MAX_RECORD : SChunk = #FCGI_MAX_RECORD : EndIf + Result = SendFcgiRecord(FcgiConn, #FCGI_STDIN, ReqID, *Body + SSent, SChunk) + SSent + SChunk + Wend + EndIf + If Result + Result = SendFcgiRecord(FcgiConn, #FCGI_STDIN, ReqID, #Null, 0) + EndIf + + ProcedureReturn Result + EndProcedure + + Procedure FcgiReadResponse(FcgiConn, *OutLen) + Protected FcgiHdr.FCGI_Header, PadBuf.q + Protected *RecBuf, *RespBuf, *Grown + Protected RecLen, RecPad, RespLen, RespAlloced = 65536 + + *RespBuf = AllocateMemory(RespAlloced) + *RecBuf = AllocateMemory(65536) + If Not *RespBuf Or Not *RecBuf + If *RespBuf : FreeMemory(*RespBuf) : EndIf + If *RecBuf : FreeMemory(*RecBuf) : EndIf + ProcedureReturn 0 + EndIf + + Repeat + If ReceiveAll(FcgiConn, @FcgiHdr, #FCGI_HEADER_SIZE) <> #FCGI_HEADER_SIZE : Break : EndIf + RecLen = (FcgiHdr\contentLengthB1 << 8) | FcgiHdr\contentLengthB0 + RecPad = FcgiHdr\paddingLength + + If RecLen > 0 And ReceiveAll(FcgiConn, *RecBuf, RecLen) <> RecLen : Break : EndIf + If RecPad > 0 : ReceiveAll(FcgiConn, @PadBuf, RecPad) : EndIf + + Select FcgiHdr\type + Case #FCGI_STDOUT + If RecLen > 0 + While RespLen + RecLen > RespAlloced + RespAlloced * 2 + *Grown = ReAllocateMemory(*RespBuf, RespAlloced) + If Not *Grown : FreeMemory(*RespBuf) : FreeMemory(*RecBuf) : ProcedureReturn 0 : EndIf + *RespBuf = *Grown + Wend + CopyMemory(*RecBuf, *RespBuf + RespLen, RecLen) + RespLen + RecLen + EndIf + + Case #FCGI_END_REQUEST + FreeMemory(*RecBuf) + PokeI(*OutLen, RespLen) + ProcedureReturn *RespBuf + EndSelect + ForEver + + FreeMemory(*RecBuf) + FreeMemory(*RespBuf) + ProcedureReturn 0 + EndProcedure + + Procedure FcgiSendHttpResponse(ClientID, *RespBuf, RespLen) + Protected k, SepPos = -1, BodyOff, CgiBodyLen, StatusCode = 200, StatusPos, SEnd, SpPos + Protected.s CgiHdrs, ExtraHdrs, StatusText = "OK", SVal + + For k = 0 To RespLen - 4 + If PeekA(*RespBuf + k) = $0D And PeekA(*RespBuf + k + 1) = $0A And + PeekA(*RespBuf + k + 2) = $0D And PeekA(*RespBuf + k + 3) = $0A + SepPos = k : Break + EndIf + Next + + If SepPos >= 0 + CgiHdrs = PeekS(*RespBuf, SepPos, #PB_Ascii) + BodyOff = SepPos + 4 + CgiBodyLen = RespLen - BodyOff + Else + BodyOff = 0 : CgiBodyLen = RespLen + EndIf + + StatusPos = FindString(CgiHdrs, "Status:", 1, #PB_String_NoCase) + If StatusPos + SEnd = FindString(CgiHdrs, #CRLF$, StatusPos) + If SEnd = 0 : SEnd = Len(CgiHdrs) + 1 : EndIf + SVal = Trim(Mid(CgiHdrs, StatusPos + 7, SEnd - StatusPos - 7)) + StatusCode = Val(SVal) + SpPos = FindString(SVal, " ") + If SpPos : StatusText = Trim(Mid(SVal, SpPos + 1)) : EndIf + CgiHdrs = Left(CgiHdrs, StatusPos - 1) + Mid(CgiHdrs, SEnd + 2) + EndIf + + If FindString(CgiHdrs, "Content-Length:", 1, #PB_String_NoCase) = 0 + ExtraHdrs = "Content-Length: " + Str(CgiBodyLen) + #CRLF$ + EndIf + + ; CgiHdrs from PeekS does NOT end with CRLF; SendRawHttpResponse normalises that. + SendRawHttpResponse(ClientID, "HTTP/1.1 " + Str(StatusCode) + " " + StatusText, + ExtraHdrs + CgiHdrs, *RespBuf + BodyOff, CgiBodyLen) + EndProcedure + + Procedure ForwardToFcgi(*Server.Server, ClientID, Method.s, FullURI.s, Path.s, QueryString.s, Map ReqHdrs.s(), *Body, BodyLen) + Protected FcgiConn, ReqID.u = 1, RespLen, *RespBuf + Protected BeginBody.FCGI_BeginRequestBody + + FcgiConn = OpenNetworkConnection(*Server\FcgiHost, *Server\FcgiPort) + If Not FcgiConn + SendErrorResponse(ClientID, 502, "Bad Gateway") : ProcedureReturn + EndIf + + FillMemory(@BeginBody, SizeOf(FCGI_BeginRequestBody), 0) + BeginBody\roleB0 = #FCGI_RESPONDER + + ; FIX: actually check that BEGIN_REQUEST went through + If Not SendFcgiRecord(FcgiConn, #FCGI_BEGIN_REQUEST, ReqID, @BeginBody, SizeOf(FCGI_BeginRequestBody)) + CloseNetworkConnection(FcgiConn) + SendErrorResponse(ClientID, 502, "Bad Gateway") : ProcedureReturn + EndIf + + If Not FcgiBuildAndSendParams(FcgiConn, *Server, ReqID, Method, FullURI, Path, QueryString, ReqHdrs(), BodyLen) Or + Not FcgiSendBody(FcgiConn, ReqID, *Body, BodyLen) + CloseNetworkConnection(FcgiConn) + SendErrorResponse(ClientID, 502, "Bad Gateway") : ProcedureReturn + EndIf + + *RespBuf = FcgiReadResponse(FcgiConn, @RespLen) + CloseNetworkConnection(FcgiConn) + + If *RespBuf + FcgiSendHttpResponse(ClientID, *RespBuf, RespLen) + FreeMemory(*RespBuf) + Else + SendErrorResponse(ClientID, 502, "Bad Gateway") + EndIf + EndProcedure + + Procedure HandleRequest(*Server.Server, ClientID, *Data, DataLen) + Protected LineEnd = -1, i, Sp1, Sp2, QPos, HdrStart, HdrEnd, NLines, j, ColPos, BodyStart, BodyLen, GoFcgi + Protected *Body + Protected.s ReqLine, Method, FullURI, Path, QueryStr, HdrStr, Line, FilePath + Protected NewMap ReqHdrs.s() + + For i = 0 To DataLen - 2 + If PeekA(*Data + i) = $0D And PeekA(*Data + i + 1) = $0A + LineEnd = i : Break + EndIf + Next + If LineEnd < 0 : SendErrorResponse(ClientID, 400, "Bad Request") : ProcedureReturn : EndIf + + ReqLine = PeekS(*Data, LineEnd, #PB_Ascii) + Sp1 = FindString(ReqLine, " ") + Sp2 = FindString(ReqLine, " ", Sp1 + 1) + If Sp1 = 0 Or Sp2 = 0 : SendErrorResponse(ClientID, 400, "Bad Request") : ProcedureReturn : EndIf + + Method = Left(ReqLine, Sp1 - 1) + FullURI = Mid(ReqLine, Sp1 + 1, Sp2 - Sp1 - 1) + + If Method <> "GET" And Method <> "POST" + SendErrorResponse(ClientID, 405, "Method Not Allowed") : ProcedureReturn + EndIf + + QPos = FindString(FullURI, "?") + If QPos + Path = URLDecoder(Left(FullURI, QPos - 1)) + QueryStr = Mid(FullURI, QPos + 1) + Else + Path = URLDecoder(FullURI) + QueryStr = "" + EndIf + + If FindString(Path, "..") : Path = "/" : EndIf + + HdrStart = LineEnd + 2 + For i = HdrStart To DataLen - 4 + If PeekA(*Data + i) = $0D And PeekA(*Data + i + 1) = $0A And + PeekA(*Data + i + 2) = $0D And PeekA(*Data + i + 3) = $0A + HdrEnd = i : Break + EndIf + Next + If HdrEnd = 0 : HdrEnd = DataLen : EndIf + + HdrStr = PeekS(*Data + HdrStart, HdrEnd - HdrStart, #PB_Ascii) + NLines = CountString(HdrStr, #CRLF$) + 1 + For j = 1 To NLines + Line.s = StringField(HdrStr, j, #CRLF$) + ColPos = FindString(Line, ":") + If ColPos > 1 + ReqHdrs(Trim(Left(Line, ColPos - 1))) = Trim(Mid(Line, ColPos + 1)) + EndIf + Next + + BodyStart = HdrEnd + 4 + If BodyStart < DataLen + *Body = *Data + BodyStart + BodyLen = DataLen - BodyStart + EndIf + + ForEach *Server\Prefixes() + If Left(Path, Len(*Server\Prefixes())) = *Server\Prefixes() + GoFcgi = #True : Break + EndIf + Next + + If GoFcgi + ForwardToFcgi(*Server, ClientID, Method, FullURI, Path, QueryStr, ReqHdrs(), *Body, BodyLen) + ProcedureReturn + EndIf + + FilePath.s = *Server\WebRoot + Path + If Right(FilePath, 1) = "/" : FilePath + "index.html" : EndIf + + If FileSize(FilePath) >= 0 + If Not ServeStaticFile(ClientID, FilePath) + SendErrorResponse(ClientID, 500, "Internal Server Error") + EndIf + Else + ForwardToFcgi(*Server, ClientID, Method, FullURI, Path, QueryStr, ReqHdrs(), *Body, BodyLen) + EndIf + EndProcedure + + Procedure ServerThread(*Server.Server) + Protected NewMap Conns.HttpConn() + Protected Got, si, CLPos, CLEnd, ReallocFailed, Event, SearchFrom, ClientID, Key.s, HBlock.s, *Grown, *Conn.HttpConn, *ChunkBuf + + *ChunkBuf = AllocateMemory(8192) + If Not *ChunkBuf : ProcedureReturn : EndIf + + Repeat + Event = NetworkServerEvent(*Server\ServerID) + If Event = #PB_NetworkEvent_None + Delay(1) + Else + ClientID = EventClient() + Key = Str(ClientID) + Select Event + Case #PB_NetworkEvent_Connect + *Conn = AddMapElement(Conns(), Key) + *Conn\AllocSize = 8192 + *Conn\Buffer = AllocateMemory(*Conn\AllocSize) + *Conn\ContentLength = -1 + If Not *Conn\Buffer + DeleteMapElement(Conns(), Key) + CloseNetworkConnection(ClientID) + EndIf + + Case #PB_NetworkEvent_Data + *Conn = FindMapElement(Conns(), Key) + If Not *Conn : Continue : EndIf + + Got = ReceiveNetworkData(ClientID, *ChunkBuf, 8192) + If Got <= 0 : Continue : EndIf + + ReallocFailed = #False + While *Conn\Received + Got > *Conn\AllocSize + *Conn\AllocSize * 2 + *Grown = ReAllocateMemory(*Conn\Buffer, *Conn\AllocSize) + If *Grown + *Conn\Buffer = *Grown + Else + FreeMemory(*Conn\Buffer) + DeleteMapElement(Conns(), Key) + CloseNetworkConnection(ClientID) + ReallocFailed = #True : Break + EndIf + Wend + If ReallocFailed : Continue : EndIf + + CopyMemory(*ChunkBuf, *Conn\Buffer + *Conn\Received, Got) + *Conn\Received + Got + + If *Conn\HeadersEnd = 0 And *Conn\Received >= 4 + SearchFrom = *Conn\Received - Got - 3 + If SearchFrom < 0 : SearchFrom = 0 : EndIf + For si = SearchFrom To *Conn\Received - 4 + If PeekA(*Conn\Buffer + si) = $0D And PeekA(*Conn\Buffer + si + 1) = $0A And + PeekA(*Conn\Buffer + si + 2) = $0D And PeekA(*Conn\Buffer + si + 3) = $0A + *Conn\HeadersEnd = si + 4 : Break + EndIf + Next + EndIf + + If *Conn\HeadersEnd > 0 And *Conn\ContentLength < 0 + ; FIX: removed duplicate PeekS call from your version + HBlock = PeekS(*Conn\Buffer, *Conn\HeadersEnd - 4, #PB_Ascii) + CLPos = FindString(HBlock, "Content-Length:", 1, #PB_String_NoCase) + If CLPos + CLEnd = FindString(HBlock, #CRLF$, CLPos) + If CLEnd = 0 : CLEnd = Len(HBlock) + 1 : EndIf + *Conn\ContentLength = Val(Trim(Mid(HBlock, CLPos + 15, CLEnd - CLPos - 15))) + Else + *Conn\ContentLength = 0 + EndIf + EndIf + + If *Conn\HeadersEnd > 0 And *Conn\ContentLength >= 0 + If *Conn\Received >= *Conn\HeadersEnd + *Conn\ContentLength + HandleRequest(*Server, ClientID, *Conn\Buffer, *Conn\Received) + FreeMemory(*Conn\Buffer) + DeleteMapElement(Conns(), Key) + EndIf + EndIf + + Case #PB_NetworkEvent_Disconnect + *Conn = FindMapElement(Conns(), Key) + If *Conn + If *Conn\Buffer : FreeMemory(*Conn\Buffer) : EndIf + DeleteMapElement(Conns(), Key) + EndIf + EndSelect + EndIf + Until *Server\Stop + + FreeMemory(*ChunkBuf) + ForEach Conns() + If Conns()\Buffer : FreeMemory(Conns()\Buffer) : EndIf + Next + CloseNetworkServer(*Server\ServerID) + EndProcedure + +EndModule + +CompilerIf #PB_Compiler_IsMainFile + OpenConsole("KUMO.S WebServer") + + Define Port = 8080 + Define WebRoot.s = "C:\KUMOS\www" + + Define *Srv = WebServer::Open(Port, WebRoot) + If *Srv + WebServer::AddFcgiPrefix(*Srv, "/api/") + PrintN("WebServer running on :" + Str(Port)) + PrintN(" Static root : " + WebRoot) + PrintN(" FCGI backend: 127.0.0.1:5600 (prefix: /api/)") + PrintN("Press Enter to stop.") + Input() + WebServer::Close(*Srv) + PrintN("Server stopped.") + Else + PrintN("ERROR: could not bind to port " + Str(Port)) + EndIf + Input() +CompilerEndIf + +; IDE Options = PureBasic 6.30 (Windows - x64) +; CursorPosition = 17 +; Folding = jAAA9 +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/Main.pb b/Server/Main.pb new file mode 100644 index 0000000..2f6d7eb --- /dev/null +++ b/Server/Main.pb @@ -0,0 +1,98 @@ +UseZipPacker() ; must be at the top — compiler directive + +IncludePath "Libraries" +IncludeFile "FastCGI.pbi" +CompilerIf #PB_Compiler_Debugger + IncludeFile "WebServer.pbi" +CompilerEndIf + +IncludePath "Includes" +IncludeFile "Modules.pbi" +IncludeFile "Database.pbi" +IncludeFile "General.pbi" +IncludeFile "Auth.pbi" +IncludeFile "FileSystem.pbi" +IncludeFile "AppStore.pbi" +IncludeFile "Router.pbi" + +#FCGI_PORT = 9683 +#DB_PATH = "kumos.db" + +Procedure RequestHandler(*Request) + Router::Route(*Request) +EndProcedure + +OpenConsole("KUMO.S Server") +UseSHA2Fingerprint() + +If Not Database::Init(#DB_PATH) + PrintN("[ERROR] Cannot open database: " + #DB_PATH) + Input() : End 1 +EndIf +PrintN("[ OK] Database ready: " + #DB_PATH) + +If Database::UserCount() = 0 + Database::CreateUser("admin", "admin") + PrintN("[INFO] Created default account: admin / admin") + PrintN("[WARN] Change this password immediately after first login!") +EndIf + +Database::FSInit() +PrintN("[ OK] Filesystem tables ready") + +If FileSize("blobs") = -1 + CreateDirectory("blobs") + PrintN("[ OK] Created blobs directory") +EndIf + +AppStore::Init() ; creates apps/ and tmp/ dirs, runs AppInit() DB migration +PrintN("[ OK] App store ready") + +Global *Server = FastCGI::Open(#FCGI_PORT, @RequestHandler(), "127.0.0.1") + +If Not *Server + PrintN("[ERROR] Failed to start FastCGI server on port " + Str(#FCGI_PORT)) + Database::Close() + Input() : End 1 +EndIf + +PrintN("[ OK] FastCGI listening on port " + Str(#FCGI_PORT)) + +CompilerIf #PB_Compiler_Debugger + PrintN("Debug mode. Start a HTTP server on port 8080") + *HTTP_Srv = WebServer::Open(8080, "./www", "127.0.0.1", 9683) + If *HTTP_Srv + WebServer::AddFcgiPrefix(*HTTP_Srv, "/api/") + PrintN("[ OK] HTTP server ready. Visit http://localhost:8080/") + Else + PrintN("[ERROR] Failed to start HTTP server. Port 8080 already in use?") + EndIf +CompilerEndIf + + +PrintN("") +PrintN("Press Enter to stop.") +PrintN("") + +LastClean.i = Date() +Repeat + Delay(100) + If Date() - LastClean > 60 + Database::CleanExpiredSessions() + LastClean = Date() + EndIf +Until Inkey() = Chr(13) + +PrintN("Shutting down...") +FastCGI::Close(*Server) +Database::Close() +PrintN("Done. Press Enter to exit.") +Input() + +; IDE Options = PureBasic 6.30 (Windows - x64) +; ExecutableFormat = Console +; CursorPosition = 89 +; FirstLine = 14 +; Folding = - +; EnableXP +; DPIAware \ No newline at end of file diff --git a/Server/www/index.html b/Server/www/index.html new file mode 100644 index 0000000..024254d --- /dev/null +++ b/Server/www/index.html @@ -0,0 +1,50 @@ + + + + + + + + +KUMO.S. + + + + + + + + + + + + + + + + + + + + + diff --git a/Server/www/js.js b/Server/www/js.js new file mode 100644 index 0000000..cd12ae6 --- /dev/null +++ b/Server/www/js.js @@ -0,0 +1,5803 @@ +if (typeof spider === 'undefined') { var spider = {}; } +spider.windowTheme = "flat"; +spider.gadgetTheme = "flat"; +spider.dpiAware = 1; +function spider_InitJSON_DEBUG(){return spider_InitJSON()}function spider_FreeJSON_DEBUG(a){return spider_FreeJSON(a)}function spider_IsJSON_DEBUG(a){return spider_IsJSON(a)}function spider_JSON_Parse_DEBUG(a,b){return spider_JSON_Parse(a,b)}function spider_JSON_GetValue_DEBUG(a){return spider_JSON_GetValue(a)}function spider_JSON_SetValue_DEBUG(a,b){return spider_JSON_SetValue(a,b)}function spider_CreateJSON_DEBUG(a,b){return spider_CreateJSON(a,b)} +function spider_JSONValue_DEBUG(a){return spider_JSONValue(a)}function spider_JSONType_DEBUG(a){return spider_JSONType(a)}function spider_ComposeJSON_DEBUG(a,b){return spider_ComposeJSON(a,b)}function spider_ParseJSON_DEBUG(a,b,c){return spider_ParseJSON(a,b,c)}function spider_LoadJSON_DEBUG(a,b,c){return spider_LoadJSON(a,b,c)}function spider_AddJSONMember_DEBUG(a,b){return spider_AddJSONMember(a,b)}function spider_AddJSONElement_DEBUG(a,b){return spider_AddJSONElement(a,b)} +function spider_ClearJSONElements_DEBUG(a){return spider_ClearJSONElements(a)}function spider_ClearJSONMembers_DEBUG(a){return spider_ClearJSONMembers(a)}function spider_InsertJSONArray_DEBUG(a,b,c){return spider_InsertJSONArray(a,b,c)}function spider_InsertJSONList_DEBUG(a,b,c){return spider_InsertJSONList(a,b,c)}function spider_InsertJSONMap_DEBUG(a,b,c){return spider_InsertJSONMap(a,b,c)}function spider_InsertJSONStructure_DEBUG(a,b,c){return spider_InsertJSONStructure(a,b,c)} +function spider_JSON_ExtractStructure_DEBUG(a,b){return spider_JSON_ExtractStructure(a,b)}function spider_JSON_ExtractNativeElement_DEBUG(a,b){return spider_JSON_ExtractNativeElement(a,b)}function spider_JSON_ExtractArray_DEBUG(a,b){return spider_JSON_ExtractArray(a,b)}function spider_JSON_ExtractList_DEBUG(a,b){return spider_JSON_ExtractList(a,b)}function spider_JSON_ExtractMap_DEBUG(a,b){return spider_JSON_ExtractMap(a,b)} +function spider_ExtractJSONArray_DEBUG(a,b,c){return spider_ExtractJSONArray(a,b,c)}function spider_ExtractJSONList_DEBUG(a,b,c){return spider_ExtractJSONList(a,b,c)}function spider_ExtractJSONMap_DEBUG(a,b,c){return spider_ExtractJSONMap(a,b,c)}function spider_ExtractJSONStructure_DEBUG(a,b,c){return spider_ExtractJSONStructure(a,b,c)}function spider_ExportJSON_DEBUG(a,b,c){return spider_ExportJSON(a,b,c)}function spider_ExamineJSONMembers_DEBUG(a){return spider_ExamineJSONMembers(a)} +function spider_NextJSONMember_DEBUG(a){return spider_NextJSONMember(a)}function spider_JSONMemberKey_DEBUG(a){return spider_JSONMemberKey(a)}function spider_JSONMemberValue_DEBUG(a){return spider_JSONMemberValue(a)}function spider_SetJSONArray_DEBUG(a){return spider_SetJSONArray(a)}function spider_SetJSONObject_DEBUG(a){return spider_SetJSONObject(a)}function spider_SetJSONBoolean_DEBUG(a,b){return spider_SetJSONBoolean(a,b)} +function spider_SetJSONString_DEBUG(a,b){return spider_SetJSONString(a,b)}function spider_SetJSONInteger_DEBUG(a,b){return spider_SetJSONInteger(a,b)}function spider_SetJSONQuad_DEBUG(a,b){return spider_SetJSONQuad(a,b)}function spider_SetJSONFloat_DEBUG(a,b){return spider_SetJSONFloat(a,b)}function spider_SetJSONDouble_DEBUG(a,b){return spider_SetJSONDouble(a,b)}function spider_SetJSONNull_DEBUG(a){return spider_SetJSONNull(a)} +function spider_JSONArraySize_DEBUG(a){return spider_JSONArraySize(a)}function spider_JSONObjectSize_DEBUG(a){return spider_JSONObjectSize(a)}function spider_GetJSONElement_DEBUG(a,b){return spider_GetJSONElement(a,b)}function spider_GetJSONMember_DEBUG(a,b){return spider_GetJSONMember(a,b)}function spider_RemoveJSONElement_DEBUG(a,b){return spider_RemoveJSONElement(a,b)}function spider_RemoveJSONMember_DEBUG(a,b){return spider_RemoveJSONMember(a,b)} +function spider_ResizeJSONElements_DEBUG(a,b){return spider_ResizeJSONElements(a,b)}function spider_GetJSONQuad_DEBUG(a){return spider_GetJSONQuad(a)}function spider_GetJSONInteger_DEBUG(a){return spider_GetJSONInteger(a)}function spider_GetJSONDouble_DEBUG(a){return spider_GetJSONDouble(a)}function spider_GetJSONFloat_DEBUG(a){return spider_GetJSONFloat(a)}function spider_GetJSONBoolean_DEBUG(a){return spider_GetJSONBoolean(a)} +function spider_GetJSONString_DEBUG(a){return spider_GetJSONString(a)}function spider_JSONErrorMessage_DEBUG(){return spider_JSONErrorMessage()}function spider_JSONErrorLine_DEBUG(){return spider_JSONErrorLine()}function spider_JSONErrorPosition_DEBUG(){return spider_JSONErrorPosition()}; + +function spider_HTTPRequest_DEBUG(a,b,c,d,e,f){return spider_HTTPRequest(a,b,c,d,e,f)}function spider_URLEncoder_DEBUG(a){return spider_URLEncoder(a)}function spider_URLDecoder_DEBUG(a){return spider_URLDecoder(a)}; + +function spider_gadget_CheckId(a){spider.debug.CheckId(spider_gadget_CheckId.caller.name,"Gadget",a)}function spider_gadget_CheckObject(a){spider.debug.CheckObject(spider_gadget_CheckObject.caller.name,"Gadget",spider_IsGadget(a))}function spider_InitGadget_DEBUG(){return spider_InitGadget()}function spider_FreeGadget_DEBUG(a){-1!==a&&spider_gadget_CheckObject(a);return spider_FreeGadget(a)} +function spider_ButtonGadget_DEBUG(a,b,c,d,e,f,g){spider_gadget_CheckId(a);return spider_ButtonGadget(a,b,c,d,e,f,g)}function spider_ButtonImageGadget_DEBUG(a,b,c,d,e,f,g){spider_gadget_CheckId(a);return spider_ButtonImageGadget(a,b,c,d,e,f,g)}function spider_CalendarGadget_DEBUG(a,b,c,d,e,f,g){spider_gadget_CheckId(a);return spider_CalendarGadget(a,b,c,d,e,f,g)}function spider_CanvasGadget_DEBUG(a,b,c,d,e,f){spider_gadget_CheckId(a);return spider_CanvasGadget(a,b,c,d,e,f)} +function spider_CheckBoxGadget_DEBUG(a,b,c,d,e,f,g){spider_gadget_CheckId(a);return spider_CheckBoxGadget(a,b,c,d,e,f,g)}function spider_ComboBoxGadget_DEBUG(a,b,c,d,e,f){spider_gadget_CheckId(a);return spider_ComboBoxGadget(a,b,c,d,e,f)}function spider_ContainerGadget_DEBUG(a,b,c,d,e,f){spider_gadget_CheckId(a);return spider_ContainerGadget(a,b,c,d,e,f)}function spider_DateGadget_DEBUG(a,b,c,d,e,f,g,h){spider_gadget_CheckId(a);return spider_DateGadget(a,b,c,d,e,f,g,h)} +function spider_EditorGadget_DEBUG(a,b,c,d,e,f){spider_gadget_CheckId(a);return spider_EditorGadget(a,b,c,d,e,f)}function spider_FrameGadget_DEBUG(a,b,c,d,e,f,g){spider_gadget_CheckId(a);return spider_FrameGadget(a,b,c,d,e,f,g)}function spider_HyperLinkGadget_DEBUG(a,b,c,d,e,f,g,h){spider_gadget_CheckId(a);return spider_HyperLinkGadget(a,b,c,d,e,f,g,h)}function spider_ImageGadget_DEBUG(a,b,c,d,e,f,g){spider_gadget_CheckId(a);return spider_ImageGadget(a,b,c,d,e,f,g)} +function spider_ListViewGadget_DEBUG(a,b,c,d,e,f){spider_gadget_CheckId(a);return spider_ListViewGadget(a,b,c,d,e,f)}function spider_ListIconGadget_DEBUG(a,b,c,d,e,f,g,h){spider_gadget_CheckId(a);return spider_ListIconGadget(a,b,c,d,e,f,g,h)}function spider_OptionGadget_DEBUG(a,b,c,d,e,f){spider_gadget_CheckId(a);return spider_OptionGadget(a,b,c,d,e,f)}function spider_PanelGadget_DEBUG(a,b,c,d,e){spider_gadget_CheckId(a);return spider_PanelGadget(a,b,c,d,e)} +function spider_ProgressBarGadget_DEBUG(a,b,c,d,e,f,g,h){spider_gadget_CheckId(a);return spider_ProgressBarGadget(a,b,c,d,e,f,g,h)}function spider_ScrollAreaGadget_DEBUG(a,b,c,d,e,f,g,h,k){spider_gadget_CheckId(a);return spider_ScrollAreaGadget(a,b,c,d,e,f,g,h,k)}function spider_ScrollBarGadget_DEBUG(a,b,c,d,e,f,g,h,k){spider_gadget_CheckId(a);return spider_ScrollBarGadget(a,b,c,d,e,f,g,h,k)} +function spider_SpinGadget_DEBUG(a,b,c,d,e,f,g,h){spider_gadget_CheckId(a);return spider_SpinGadget(a,b,c,d,e,f,g,h)}function spider_SplitterGadget_DEBUG(a,b,c,d,e,f,g,h){spider_gadget_CheckId(a);return spider_SplitterGadget(a,b,c,d,e,f,g,h)}function spider_StringGadget_DEBUG(a,b,c,d,e,f,g){spider_gadget_CheckId(a);return spider_StringGadget(a,b,c,d,e,f,g)}function spider_TextGadget_DEBUG(a,b,c,d,e,f,g){spider_gadget_CheckId(a);return spider_TextGadget(a,b,c,d,e,f,g)} +function spider_TrackBarGadget_DEBUG(a,b,c,d,e,f,g,h){spider_gadget_CheckId(a);return spider_TrackBarGadget(a,b,c,d,e,f,g,h)}function spider_TreeGadget_DEBUG(a,b,c,d,e,f){spider_gadget_CheckId(a);return spider_TreeGadget(a,b,c,d,e,f)}function spider_WebGadget_DEBUG(a,b,c,d,e,f,g){spider_gadget_CheckId(a);return spider_WebGadget(a,b,c,d,e,f,g)}function spider_CanvasOutput_DEBUG(a){spider_gadget_CheckObject(a);return spider_CanvasOutput(a)} +function spider_CanvasVectorOutput_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_CanvasVectorOutput(a,b)}function spider_AddGadgetItem_DEBUG(a,b,c,d,e){spider_gadget_CheckObject(a);return spider_AddGadgetItem(a,b,c,d,e)}function spider_RemoveGadgetItem_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_RemoveGadgetItem(a,b)}function spider_ClearGadgetItems_DEBUG(a){spider_gadget_CheckObject(a);return spider_ClearGadgetItems(a)} +function spider_CountGadgetItems_DEBUG(a){spider_gadget_CheckObject(a);return spider_CountGadgetItems(a)}function spider_AddGadgetColumn_DEBUG(a,b,c,d){spider_gadget_CheckObject(a);return spider_AddGadgetColumn(a,b,c,d)}function spider_RemoveGadgetColumn_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_RemoveGadgetColumn(a,b)}function spider_DisableGadget_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_DisableGadget(a,b)} +function spider_BindGadgetEvent_DEBUG(a,b,c){spider_gadget_CheckObject(a);return spider_BindGadgetEvent(a,b,c)}function spider_UnbindGadgetEvent_DEBUG(a,b,c){spider_gadget_CheckObject(a);return spider_UnbindGadgetEvent(a,b,c)}function spider_UseGadgetList_DEBUG(a){return spider_UseGadgetList(a)}function spider_OpenGadgetList_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_OpenGadgetList(a,b)}function spider_CloseGadgetList_DEBUG(){return spider_CloseGadgetList()} +function spider_GetActiveGadget_DEBUG(){return spider_GetActiveGadget()}function spider_SetActiveGadget_DEBUG(a){spider_gadget_CheckObject(a);return spider_SetActiveGadget(a)}function spider_GetGadgetState_DEBUG(a){spider_gadget_CheckObject(a);return spider_GetGadgetState(a)}function spider_SetGadgetState_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_SetGadgetState(a,b)}function spider_GetGadgetAttribute_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_GetGadgetAttribute(a,b)} +function spider_SetGadgetAttribute_DEBUG(a,b,c){spider_gadget_CheckObject(a);return spider_SetGadgetAttribute(a,b,c)}function spider_GetGadgetData_DEBUG(a){spider_gadget_CheckObject(a);return spider_GetGadgetData(a)}function spider_SetGadgetData_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_SetGadgetData(a,b)}function spider_GetGadgetText_DEBUG(a){spider_gadget_CheckObject(a);return spider_GetGadgetText(a)} +function spider_SetGadgetText_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_SetGadgetText(a,b)}function spider_GetGadgetColor_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_GetGadgetColor(a,b)}function spider_SetGadgetColor_DEBUG(a,b,c){spider_gadget_CheckObject(a);return spider_SetGadgetColor(a,b,c)}function spider_GetGadgetItemState_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_GetGadgetItemState(a,b)} +function spider_SetGadgetItemState_DEBUG(a,b,c){spider_gadget_CheckObject(a);return spider_SetGadgetItemState(a,b,c)}function spider_GetGadgetItemData_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_GetGadgetItemData(a,b)}function spider_SetGadgetItemData_DEBUG(a,b,c){spider_gadget_CheckObject(a);return spider_SetGadgetItemData(a,b,c)}function spider_GetGadgetItemText_DEBUG(a,b,c){spider_gadget_CheckObject(a);return spider_GetGadgetItemText(a,b,c)} +function spider_SetGadgetItemText_DEBUG(a,b,c,d){spider_gadget_CheckObject(a);return spider_SetGadgetItemText(a,b,c,d)}function spider_GetGadgetItemAttribute_DEBUG(a,b,c,d){spider_gadget_CheckObject(a);return spider_GetGadgetItemAttribute(a,b,c,d)}function spider_SetGadgetItemAttribute_DEBUG(a,b,c,d,e){spider_gadget_CheckObject(a);return spider_SetGadgetItemAttribute(a,b,c,d,e)}function spider_SetGadgetItemImage_DEBUG(a,b,c){spider_gadget_CheckObject(a);return spider_SetGadgetItemImage(a,b,c)} +function spider_SetGadgetFont_DEBUG(a,b){-1!==a&&spider_gadget_CheckObject(a);return spider_SetGadgetFont(a,b)}function spider_HideGadget_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_HideGadget(a,b)}function spider_ResizeGadget_DEBUG(a,b,c,d,e){spider_gadget_CheckObject(a);return spider_ResizeGadget(a,b,c,d,e)}function spider_GadgetType_DEBUG(a){spider_gadget_CheckObject(a);return spider_GadgetType(a)} +function spider_GadgetHeight_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_GadgetHeight(a,b)}function spider_GadgetWidth_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_GadgetWidth(a,b)}function spider_GadgetToolTip_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_GadgetToolTip(a,b)}function spider_GadgetX_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_GadgetX(a,b)}function spider_GadgetY_DEBUG(a,b){spider_gadget_CheckObject(a);return spider_GadgetY(a,b)} +function spider_GadgetID_DEBUG(a){spider_gadget_CheckObject(a);return spider_GadgetID(a)}function spider_IsGadget_DEBUG(a){return spider_IsGadget(a)}; + +function spider_ResetPath_DEBUG(){return spider_ResetPath()}function spider_SaveVectorState_DEBUG(){return spider_SaveVectorState()}function spider_RestoreVectorState_DEBUG(){return spider_RestoreVectorState()}function spider_StartVectorDrawing_DEBUG(a){return spider_StartVectorDrawing(a)}function spider_StopVectorDrawing_DEBUG(){return spider_StopVectorDrawing()}function spider_IsPathEmpty_DEBUG(){return spider_IsPathEmpty()} +function spider_ConvertCoordinateX_DEBUG(a,b,c,d){return spider_ConvertCoordinateX(a,b,c,d)}function spider_ConvertCoordinateY_DEBUG(a,b,c,d){return spider_ConvertCoordinateY(a,b,c,d)}function spider_MovePathCursor_DEBUG(a,b,c){return spider_MovePathCursor(a,b,c)}function spider_AddPathEllipse_DEBUG(a,b,c,d,e,f,g){return spider_AddPathEllipse(a,b,c,d,e,f,g)}function spider_AddPathCurve_DEBUG(a,b,c,d,e,f,g){return spider_AddPathCurve(a,b,c,d,e,f,g)} +function spider_AddPathArc_DEBUG(a,b,c,d,e,f){return spider_AddPathArc(a,b,c,d,e,f)}function spider_AddPathCircle_DEBUG(a,b,c,d,e,f,g){return spider_AddPathCircle(a,b,c,d,e,f,g)}function spider_AddPathLine_DEBUG(a,b,c){return spider_AddPathLine(a,b,c)}function spider_AddPathBox_DEBUG(a,b,c,d,e){return spider_AddPathBox(a,b,c,d,e)}function spider_AddPathText_DEBUG(a){return spider_AddPathText(a)}function spider_ClipPath_DEBUG(a){return spider_ClipPath(a)} +function spider_VectorSourceImage_DEBUG(a,b,c,d,e){return spider_VectorSourceImage(a,b,c,d,e)}function spider_VectorSourceColor_DEBUG(a){return spider_VectorSourceColor(a)}function spider_VectorSourceLinearGradient_DEBUG(a,b,c,d){return spider_VectorSourceLinearGradient(a,b,c,d)}function spider_VectorSourceCircularGradient_DEBUG(a,b,c,d,e){return spider_VectorSourceCircularGradient(a,b,c,d,e)}function spider_VectorSourceGradientColor_DEBUG(a,b){return spider_VectorSourceGradientColor(a,b)} +function spider_ClosePath_DEBUG(){return spider_ClosePath()}function spider_StrokePath_DEBUG(a,b){return spider_StrokePath(a,b)}function spider_CustomDashPath_DEBUG(a,b,c,d){return spider_CustomDashPath(a,b,c,d)}function spider_DashPath_DEBUG(a,b,c,d){return spider_DashPath(a,b,c,d)}function spider_DotPath_DEBUG(a,b,c,d){return spider_DotPath(a,b,c,d)}function spider_AddPathSegments_DEBUG(a,b){return spider_AddPathSegments(a,b)}function spider_PathSegments_DEBUG(){return spider_PathSegments()} +function spider_FillPath_DEBUG(a){return spider_FillPath(a)}function spider_BeginVectorLayer_DEBUG(a){return spider_BeginVectorLayer(a)}function spider_EndVectorLayer_DEBUG(){return spider_EndVectorLayer()}function spider_FillVectorOutput_DEBUG(){return spider_FillVectorOutput()}function spider_IsInsidePath_DEBUG(a,b,c){return spider_IsInsidePath(a,b,c)}function spider_IsInsideStroke_DEBUG(a,b,c,d){return spider_IsInsideStroke(a,b,c,d)} +function spider_PathBoundsX_DEBUG(){return spider_PathBoundsX()}function spider_PathBoundsY_DEBUG(){return spider_PathBoundsY()}function spider_PathBoundsWidth_DEBUG(){return spider_PathBoundsWidth()}function spider_PathBoundsHeight_DEBUG(){return spider_PathBoundsHeight()}function spider_PathLength_DEBUG(){return spider_PathLength()}function spider_PathPointX_DEBUG(a){return spider_PathPointX(a)}function spider_PathPointY_DEBUG(a){return spider_PathPointY(a)} +function spider_PathPointAngle_DEBUG(a){return spider_PathPointAngle(a)}function spider_VectorFont_DEBUG(a,b){return spider_VectorFont(a,b)}function spider_DrawVectorText_DEBUG(a){return spider_DrawVectorText(a)}function spider_DrawVectorParagraph_DEBUG(a,b,c,d){return spider_DrawVectorParagraph(a,b,c,d)}function spider_VectorTextWidth_DEBUG(a,b){return spider_VectorTextWidth(a,b)}function spider_VectorTextHeight_DEBUG(a,b){return spider_VectorTextHeight(a,b)} +function spider_VectorUnit_DEBUG(){return spider_VectorUnit()}function spider_DrawVectorImage_DEBUG(a,b,c,d){return spider_DrawVectorImage(a,b,c,d)}function spider_PathCursorX_DEBUG(){return spider_PathCursorX()}function spider_PathCursorY_DEBUG(){return spider_PathCursorY()}function spider_FlipCoordinatesX_DEBUG(a,b){return spider_FlipCoordinatesX(a,b)}function spider_FlipCoordinatesY_DEBUG(a,b){return spider_FlipCoordinatesY(a,b)} +function spider_ResetCoordinates_DEBUG(){return spider_ResetCoordinates()}function spider_RotateCoordinates_DEBUG(a,b,c,d){return spider_RotateCoordinates(a,b,c,d)}function spider_ScaleCoordinates_DEBUG(a,b,c){return spider_ScaleCoordinates(a,b,c)}function spider_TranslateCoordinates_DEBUG(a,b,c){return spider_TranslateCoordinates(a,b,c)}function spider_SkewCoordinates_DEBUG(a,b,c){return spider_SkewCoordinates(a,b,c)}function spider_VectorOutputWidth_DEBUG(){return spider_VectorOutputWidth()} +function spider_VectorOutputHeight_DEBUG(){return spider_VectorOutputHeight()}function spider_VectorResolutionX_DEBUG(){return spider_VectorResolutionX()}function spider_VectorResolutionY_DEBUG(){return spider_VectorResolutionY()}function spider_NewVectorPage_DEBUG(){return spider_NewVectorPage()}; + +function spider_Random_DEBUG(b,a){"undefined"===typeof a&&(a=0);0>a&&spider.debug.Error("'Min' can't be negative.");0>b&&spider.debug.Error("'Max' can't be negative.");a>b&&spider.debug.Error("'Min' value can't be superior to 'Max' value.");return spider_Random(b,a)}; + +function spider_InitList_DEBUG(){return spider_InitList()}function spider_AddElement_DEBUG(a){return spider_AddElement(a)}function spider_InsertElement_DEBUG(a){return spider_InsertElement(a)}function spider_ListIndex_DEBUG(a){return spider_ListIndex(a)}function spider_LastElement_DEBUG(a){return spider_LastElement(a)}function spider_MergeLists_DEBUG(a,b,c){return spider_MergeLists(a,b,c)}function spider_MoveElement_DEBUG(a,b,c){return spider_MoveElement(a,b,c)} +function spider_NextElement_DEBUG(a){return spider_NextElement(a)}function spider_PushListPosition_DEBUG(a){return spider_PushListPosition(a)}function spider_PopListPosition_DEBUG(a){return spider_PopListPosition(a)}function spider_PreviousElement_DEBUG(a){return spider_PreviousElement(a)}function spider_ResetList_DEBUG(a){return spider_ResetList(a)}function spider_ListSize_DEBUG(a){return spider_ListSize(a)}function spider_ChangeCurrentElement_DEBUG(a,b){return spider_ChangeCurrentElement(a,b)} +function spider_CopyList_DEBUG(a,b,c,d){return spider_CopyList(a,b,c,d)}function spider_ClearList_DEBUG(a){return spider_ClearList(a)}function spider_DeleteElement_DEBUG(a,b){return spider_DeleteElement(a,b)}function spider_FreeList_DEBUG(a){return spider_FreeList(a)}function spider_FirstElement_DEBUG(a){return spider_FirstElement(a)}function spider_SelectElement_DEBUG(a,b){return spider_SelectElement(a,b)}function spider_SplitList_DEBUG(a,b,c){return spider_SplitList(a,b,c)} +function spider_SwapElements_DEBUG(a,b,c){return spider_SwapElements(a,b,c)}; + +function spider_window_CheckId(a){spider.debug.CheckId(spider_window_CheckId.caller.name,"Window",a)}function spider_window_CheckObject(a){spider.debug.CheckObject(spider_window_CheckObject.caller.name,"Window",spider_IsWindow(a))}function spider_CloseWindow_DEBUG(a){-1!==a&&spider_window_CheckObject(a);return spider_CloseWindow(a)} +function spider_OpenWindow_DEBUG(a,b,c,d,e,h,f,g){"undefined"===typeof f&&(f=16);"undefined"===typeof g&&(g=null);spider_window_CheckId(a);return spider_OpenWindow(a,b,c,d,e,h,f,g)}function spider_AddKeyboardShortcut_DEBUG(a,b,c){spider_window_CheckObject(a);return spider_AddKeyboardShortcut(a,b,c)}function spider_RemoveKeyboardShortcut_DEBUG(a,b){spider_window_CheckObject(a);return spider_RemoveKeyboardShortcut(a,b)} +function spider_AddWindowTimer_DEBUG(a,b,c){spider_window_CheckObject(a);return spider_AddWindowTimer(a,b,c)}function spider_RemoveWindowTimer_DEBUG(a,b){spider_window_CheckObject(a);return spider_RemoveWindowTimer(a,b)}function spider_DisableWindow_DEBUG(a,b){spider_window_CheckObject(a);return spider_DisableWindow(a,b)} +function spider_HideWindow_DEBUG(a,b,c){"undefined"===typeof c&&(c=0);spider_window_CheckObject(a);spider.debug.CheckCombinationFlags("Flags",c,[2048,1,2]);return spider_HideWindow(a,b,c)}function spider_GetWindowTitle_DEBUG(a){spider_window_CheckObject(a);return spider_GetWindowTitle(a)}function spider_SetWindowTitle_DEBUG(a,b){spider_window_CheckObject(a);return spider_SetWindowTitle(a,b)}function spider_GetWindowColor_DEBUG(a){spider_window_CheckObject(a);return spider_GetWindowColor(a)} +function spider_SetWindowColor_DEBUG(a,b){spider_window_CheckObject(a);return spider_SetWindowColor(a,b)}function spider_GetWindowData_DEBUG(a){spider_window_CheckObject(a);return spider_GetWindowData(a)}function spider_SetWindowData_DEBUG(a,b){spider_window_CheckObject(a);return spider_SetWindowData(a,b)}function spider_GetActiveWindow_DEBUG(){return spider_GetActiveWindow()}function spider_SetActiveWindow_DEBUG(a){spider_window_CheckObject(a);return spider_SetActiveWindow(a)} +function spider_StickyWindow_DEBUG(a,b){spider_window_CheckObject(a);return spider_StickyWindow(a,b)}function spider_ResizeWindow_DEBUG(a,b,c,d,e){spider_window_CheckObject(a);return spider_ResizeWindow(a,b,c,d,e)}function spider_WindowBounds_DEBUG(a,b,c,d,e){spider_window_CheckObject(a);return spider_WindowBounds(a,b,c,d,e)}function spider_WindowX_DEBUG(a,b){"undefined"===typeof b&&(b=1);spider_window_CheckObject(a);spider.debug.CheckSingleFlags("Mode",b,[1,0]);return spider_WindowX(a,b)} +function spider_WindowY_DEBUG(a,b){"undefined"===typeof b&&(b=1);spider_window_CheckObject(a);spider.debug.CheckSingleFlags("Mode",b,[1,0]);return spider_WindowY(a,b)}function spider_WindowWidth_DEBUG(a,b){"undefined"===typeof b&&(b=1);spider_window_CheckObject(a);spider.debug.CheckSingleFlags("Mode",b,[1,0]);return spider_WindowWidth(a,b)} +function spider_WindowHeight_DEBUG(a,b){"undefined"===typeof b&&(b=1);spider_window_CheckObject(a);spider.debug.CheckSingleFlags("Mode",b,[1,0]);return spider_WindowHeight(a,b)}function spider_WindowMouseX_DEBUG(a){spider_window_CheckObject(a);return spider_WindowMouseX(a)}function spider_WindowMouseY_DEBUG(a){spider_window_CheckObject(a);return spider_WindowMouseY(a)}function spider_WindowOpacity_DEBUG(a,b){spider_window_CheckObject(a);return spider_WindowOpacity(a,b)} +function spider_WindowID_DEBUG(a){spider_window_CheckObject(a);return spider_WindowID(a)}function spider_IsWindow_DEBUG(a){return spider_IsWindow(a)}; + +function spider_font_CheckId(a){spider.debug.CheckId(spider_font_CheckId.caller.name,"Font",a)}function spider_font_CheckObject(a){spider.debug.CheckObject(spider_font_CheckObject.caller.name,"Font",spider_IsFont(a))}function spider_InitFont_DEBUG(){return spider_InitFont_DEBUG()}function spider_FreeFont_DEBUG(a){-1!==a&&spider_font_CheckObject(a);return spider_FreeFont(a)}function spider_LoadFont_DEBUG(a,b,c,d){spider_font_CheckId(a);return spider_LoadFont(a,b,c,d)} +function spider_FontID_DEBUG(a){spider_font_CheckObject(a);return spider_FontID(a)}function spider_IsFont_DEBUG(a){return spider_IsFont(a)}; + +function spider_BindEvent_DEBUG(a,b,c,d,e){return spider_BindEvent(a,b,c,d,e)}function spider_UnbindEvent_DEBUG(a,b,c,d,e){return spider_UnbindEvent(a,b,c,d,e)}function spider_PostEvent_DEBUG(a,b,c,d,e,f){return spider_PostEvent(a,b,c,d,e,f)}function spider_Event_DEBUG(){return spider_Event()}function spider_EventWindow_DEBUG(){return spider_EventWindow()}function spider_EventMenu_DEBUG(){return spider_EventMenu()}function spider_EventGadget_DEBUG(){return spider_EventGadget()} +function spider_EventTimer_DEBUG(){return spider_EventTimer()}function spider_EventWebSocket_DEBUG(){return spider_EventWebSocket()}function spider_EventMobile_DEBUG(){return spider_EventMobile()}function spider_EventType_DEBUG(){return spider_EventType()}function spider_EventData_DEBUG(){return spider_EventData()}function spider_EventString_DEBUG(){return spider_EventString()}function spider_EventNotification_DEBUG(){return spider_EventNotification()}; + +function spider_DesktopWidth_DEBUG(a){0!==a&&spider.debug.Error("Invalid #Desktop.");return spider_DesktopWidth(a)}function spider_DesktopHeight_DEBUG(a){0!==a&&spider.debug.Error("Invalid #Desktop.");return spider_DesktopHeight(a)}function spider_DesktopFrequency_DEBUG(a){0!==a&&spider.debug.Error("Invalid #Desktop.");return spider_DesktopFrequency(a)}function spider_DesktopMouseX_DEBUG(){return spider_DesktopMouseX()}function spider_DesktopMouseY_DEBUG(){return spider_DesktopMouseY()} +function spider_DesktopX_DEBUG(a){0!==a&&spider.debug.Error("Invalid #Desktop.");return spider_DesktopX(a)}function spider_DesktopY_DEBUG(a){0!==a&&spider.debug.Error("Invalid #Desktop.");return spider_DesktopY(a)}function spider_ExamineDesktops_DEBUG(){return spider_ExamineDesktops()}function spider_DesktopDepth_DEBUG(a){0!==a&&spider.debug.Error("Invalid #Desktop.");return spider_DesktopDepth(a)} +function spider_DesktopName_DEBUG(a){0!==a&&spider.debug.Error("Invalid #Desktop.");return spider_DesktopName(a)}; + + + +function spider_2ddrawing_CheckCurrent(){null==spider.drawing.output&&spider.debug.Error("StartDrawing() must be called before using a 2D drawing command.",spider_2ddrawing_CheckCurrent.caller.name)}function spider_StartDrawing_DEBUG(a){return spider_StartDrawing(a)}function spider_Box_DEBUG(a,b,c,d,e){"undefined"===typeof e&&(e=spider.drawing.frontColor);spider_2ddrawing_CheckCurrent();return spider_Box(a,b,c,d,e)} +function spider_DrawAlphaImage_DEBUG(a,b,c,d){"undefined"===typeof d&&(d=255);spider_2ddrawing_CheckCurrent();return spider_DrawAlphaImage(a,b,c,d)}function spider_DrawImage_DEBUG(a,b,c,d,e){spider_2ddrawing_CheckCurrent();return spider_DrawImage(a,b,c,d,e)}function spider_Plot_DEBUG(a,b,c){"undefined"===typeof c&&(c=spider.drawing.frontColor);spider_2ddrawing_CheckCurrent();return spider_Plot(a,b,c)}function spider_Point_DEBUG(a,b){spider_2ddrawing_CheckCurrent();return spider_Point(a,b)} +function spider_OutputDepth_DEBUG(){spider_2ddrawing_CheckCurrent();return spider_OutputDepth()}function spider_OutputWidth_DEBUG(){spider_2ddrawing_CheckCurrent();return spider_OutputWidth()}function spider_OutputHeight_DEBUG(){spider_2ddrawing_CheckCurrent();return spider_OutputHeight()}function spider_Line_DEBUG(a,b,c,d,e){"undefined"===typeof e&&(e=spider.drawing.frontColor);spider_2ddrawing_CheckCurrent();return spider_Line(a,b,c,d,e)} +function spider_LineXY_DEBUG(a,b,c,d,e){"undefined"===typeof e&&(e=spider.drawing.frontColor);spider_2ddrawing_CheckCurrent();return spider_LineXY(a,b,c,d,e)}function spider_DrawText_DEBUG(a,b,c,d,e){"undefined"===typeof d&&(d=spider.drawing.frontColor);"undefined"===typeof e&&(e=spider.drawing.backColor);spider_2ddrawing_CheckCurrent();return spider_DrawText(a,b,c,d,e)} +function spider_Circle_DEBUG(a,b,c,d){"undefined"===typeof d&&(d=spider.drawing.frontColor);spider_2ddrawing_CheckCurrent();return spider_Circle(a,b,c,d)}function spider_Ellipse_DEBUG(a,b,c,d,e){"undefined"===typeof e&&(e=spider.drawing.frontColor);spider_2ddrawing_CheckCurrent();return spider_Ellipse(a,b,c,d,e)}function spider_DrawingFont_DEBUG(a){spider_2ddrawing_CheckCurrent();return spider_DrawingFont(a)} +function spider_DrawingMode_DEBUG(a){spider_2ddrawing_CheckCurrent();return spider_DrawingMode(a)}function spider_StopDrawing_DEBUG(){spider_2ddrawing_CheckCurrent();return spider_StopDrawing()}function spider_RoundBox_DEBUG(a,b,c,d,e,f,g){spider_2ddrawing_CheckCurrent();return spider_RoundBox(a,b,c,d,e,f,g)}function spider_RGB_DEBUG(a,b,c){return spider_RGB(a,b,c)}function spider_RGBA_DEBUG(a,b,c,d){return spider_RGBA(a,b,c,d)}function spider_Red_DEBUG(a){return spider_Red(a)} +function spider_Green_DEBUG(a){return spider_Green(a)}function spider_Blue_DEBUG(a){return spider_Blue(a)}function spider_Alpha_DEBUG(a){return spider_Alpha(a)}function spider_BackColor_DEBUG(a){spider_2ddrawing_CheckCurrent();return spider_BackColor(a)}function spider_FrontColor_DEBUG(a){spider_2ddrawing_CheckCurrent();return spider_FrontColor(a)}function spider_TextHeight_DEBUG(a){spider_2ddrawing_CheckCurrent();return spider_TextHeight(a)} +function spider_TextWidth_DEBUG(a){spider_2ddrawing_CheckCurrent();return spider_TextWidth(a)}; + +function spider_image_CheckId(a){spider.debug.CheckId(spider_image_CheckId.caller.name,"Image",a)}function spider_image_CheckObject(a){spider.debug.CheckObject(spider_image_CheckObject.caller.name,"Image",spider_IsImage(a))}function spider_InitImage_DEBUG(){return spider_InitImage()}function spider_FreeImage_DEBUG(a){-1!==a&&spider_image_CheckObject(a);return spider_FreeImage(a)}function spider_LoadImage_DEBUG(a,b,c){spider_image_CheckId(a);return spider_LoadImage(a,b,c)} +function spider_CopyImage_DEBUG(a,b){spider_image_CheckObject(a);spider_image_CheckId(b);return spider_CopyImage(a,b)}function spider_CreateImage_DEBUG(a,b,c,d,e){spider_image_CheckId(a);0>=b?spider.debug.Error("'With' is too small, must be greater than 0."):0>=c&&spider.debug.Error("'Height' is too small, must be greater than 0.");return spider_CreateImage(a,b,c,d,e)} +function spider_GrabImage_DEBUG(a,b,c,d,e,f){spider_image_CheckObject(a);spider_image_CheckId(b);0>c?spider.debug.Error("'x' can't be negative."):0>d?spider.debug.Error("'y' can't be negative."):0>f?spider.debug.Error("'Height' can't be negative."):0>e&&spider.debug.Error("'Width' can't be negative.");return spider_GrabImage(a,b,c,d,e,f)}function spider_ImageOutput_DEBUG(a){spider_image_CheckObject(a);return spider_ImageOutput(a)} +function spider_ImageVectorOutput_DEBUG(a,b){spider_image_CheckObject(a);return spider_ImageVectorOutput(a,b)}function spider_EncodeImage_DEBUG(a,b,c){spider_image_CheckObject(a);return spider_EncodeImage(a,b,c)}function spider_ExportImage_DEBUG(a,b,c){spider_image_CheckObject(a);return spider_ExportImage(a,b,c)}function spider_ImageDepth_DEBUG(a){spider_image_CheckObject(a);return spider_ImageDepth(a)}function spider_ImageFormat_DEBUG(a){spider_image_CheckObject(a);return spider_ImageFormat(a)} +function spider_ImageWidth_DEBUG(a){spider_image_CheckObject(a);return spider_ImageWidth(a)}function spider_ImageHeight_DEBUG(a){spider_image_CheckObject(a);return spider_ImageHeight(a)}function spider_ResizeImage_DEBUG(a,b,c,d){spider_image_CheckObject(a);return spider_ResizeImage(a,b,c,d)}function spider_ImageID_DEBUG(a){spider_image_CheckObject(a);return spider_ImageID(a)}function spider_IsImage_DEBUG(a){return spider_IsImage(a)}; + +function spider_InitImageDecoder_DEBUG(){return spider_InitImageDecoder()}; + +function spider_FinishDirectory_DEBUG(a){return spider_FinishDirectory(a)}function spider_RequestFileSystem_DEBUG(a,b,c){return spider_RequestFileSystem(a,b,c)}function spider_ExamineDirectory_DEBUG(a,b,c,d){return spider_ExamineDirectory(a,b,c,d)}function spider_GetExtensionPart_DEBUG(a){return spider_GetExtensionPart(a)}; + +function spider_AddDate_DEBUG(b,a,c){spider.debug.CheckSingleFlags("Type",a,[0,1,2,3,4,5,6]);return spider_AddDate(b,a,c)}; + +function spider_Bin_DEBUG(a,b){return spider_Bin(a,b)}function spider_Chr_DEBUG(a){return spider_Chr(a)}function spider_FindString_DEBUG(a,b,c,d){return spider_FindString(a,b,c,d)}function spider_Space_DEBUG(a){return spider_Space(a)}function spider_Str_DEBUG(a){return spider_Str(a)}function spider_StrD_DEBUG(a,b){return spider_StrD(a,b)}function spider_StrF_DEBUG(a,b){return spider_StrF(a,b)}function spider_StrU_DEBUG(a,b){return spider_StrU(a,b)} +function spider_LTrim_DEBUG(a,b){return spider_LTrim(a,b)}function spider_RTrim_DEBUG(a,b){return spider_RTrim(a,b)}function spider_Trim_DEBUG(a,b){return spider_Trim(a,b)}function spider_ReplaceString_DEBUG(a,b,c,d,e,f){return spider_ReplaceString(a,b,c,d,e,f)}function spider_RemoveString_DEBUG(a,b,c,d,e){return spider_RemoveString(a,b,c,d,e)}function spider_Hex_DEBUG(a,b){return spider_Hex(a,b)}function spider_StringField_DEBUG(a,b,c){return spider_StringField(a,b,c)} +function spider_StringByteLength_DEBUG(a){return spider_StringByteLength(a)}; + +function spider_PeekB_DEBUG(a,b){return spider_PeekB(a,b)}function spider_PeekA_DEBUG(a,b){return spider_PeekA(a,b)}function spider_PeekW_DEBUG(a,b){return spider_PeekW(a,b)}function spider_PeekU_DEBUG(a,b){return spider_PeekU(a,b)}function spider_PeekC_DEBUG(a,b){return spider_PeekC(a,b)}function spider_PeekL_DEBUG(a,b){return spider_PeekL(a,b)}function spider_PeekF_DEBUG(a,b){return spider_PeekF(a,b)}function spider_PeekD_DEBUG(a,b){return spider_PeekD(a,b)} +function spider_PeekS_DEBUG(a,b,c,d){return spider_PeekS(a,b,c,d)}function spider_PokeB_DEBUG(a,b,c){return spider_PokeB(a,b,c)}function spider_PokeA_DEBUG(a,b,c){return spider_PokeA(a,b,c)}function spider_PokeW_DEBUG(a,b,c){return spider_PokeW(a,b,c)}function spider_PokeU_DEBUG(a,b,c){return spider_PokeU(a,b,c)}function spider_PokeC_DEBUG(a,b,c){return spider_PokeC(a,b,c)}function spider_PokeL_DEBUG(a,b,c){return spider_PokeL(a,b,c)}function spider_PokeF_DEBUG(a,b,c){return spider_PokeF(a,b,c)} +function spider_PokeD_DEBUG(a,b,c){return spider_PokeD(a,b,c)}function spider_PokeS_DEBUG(a,b,c,d,e){return spider_PokeS(a,b,c,d,e)}function spider_AllocateMemory_DEBUG(a,b){return spider_AllocateMemory(a,b)}function spider_ReAllocateMemory_DEBUG(a,b,c){return spider_ReAllocateMemory(a,b,c)}function spider_FreeMemory_DEBUG(a){return spider_FreeMemory(a)}function spider_CompareMemory_DEBUG(a,b,c,d,e){return spider_CompareMemory(a,b,c,d,e)} +function spider_MemorySize_DEBUG(a){return spider_MemorySize(a)}function spider_AllocateStructure_DEBUG(a,b){return spider_AllocateStructure(a,b)}function spider_FreeStructure_DEBUG(a){return spider_FreeStructure(a)}function spider_ClearStructure_DEBUG(a,b){return spider_ClearStructure(a,b)}function spider_CopyStructure_DEBUG(a,b,c){return spider_CopyStructure(a,b,c)}; + +function spider_InitMap_DEBUG(){return spider_InitMap()}function spider_AddMapElement_DEBUG(a,b){return spider_AddMapElement(a,b)}function spider_GetMapElement_DEBUG(a,b){return spider_GetMapElement(a,b)}function spider_ResetMap_DEBUG(a){return spider_ResetMap(a)}function spider_NextMapElement_DEBUG(a){return spider_NextMapElement(a)}function spider_MapKey_DEBUG(a){return spider_MapKey(a)}function spider_MapSize_DEBUG(a){return spider_MapSize(a)} +function spider_DeleteMapElement_DEBUG(a,b){return spider_DeleteMapElement(a,b)}function spider_FindMapElement_DEBUG(a,b){return spider_FindMapElement(a,b)}function spider_CopyMap_DEBUG(a,b,c,d){return spider_CopyMap(a,b,c,d)}function spider_ClearMap_DEBUG(a){return spider_ClearMap(a)}function spider_FreeMap_DEBUG(a){return spider_FreeMap(a)}function spider_PushMapPosition_DEBUG(a){return spider_PushMapPosition(a)}function spider_PopMapPosition_DEBUG(a){return spider_PopMapPosition(a)}; + + + +var _S165="Installed: "; +var _S3=""; +var _S24="/api/fs/write"; +var _S127="+ Folder"; +var _S84="window.ready"; +var _S69="username="; +var _S11="/api/fs/stat?path="; +var _S102="fs.read"; +var _S130="Failed to load directory."; +var _S50="\""; +var _S49=","; +var _S19="/"; +var _S22="1"; +var _S169="Uninstall failed."; +var _S81="title"; +var _S146="New passwords do not match."; +var _S140="Settings"; +var _S132="[F] "; +var _S48="["; +var _S137="New File"; +var _S51="]"; +var _S31="A"; +var _S79="path"; +var _S55="\",\"version\":\""; +var _S162="1 app installed"; +var _S44="manifest"; +var _S60="entry"; +var _S135="s"; +var _S77="action"; +var _S67="Invalid username or password."; +var _S115="Bad server response"; +var _S35="File Explorer"; +var _S47="permissions"; +var _S54="\",\"name\":\""; +var _S39="App Manager"; +var _S95="storage.list"; +var _S12="/api/fs/mkdir"; +var _S80="content"; +var _S172="Uninstalling "; +var _S30="..."; +var _S94="A dialog is already open"; +var _S59="\",\"entry\":\""; +var _S128="+ File"; +var _S15="id="; +var _S173="/api/apps/uninstall"; +var _S98="storage.write"; +var _S43="Apps"; +var _S73="/api/apps/"; +var _S87="window.close"; +var _S61="\"}"; +var _S36="📁"; +var _S120="📄"; +var _S155="+ Install"; +var _S46="icon"; +var _S29="Cancel"; +var _S40="📦"; +var _S154="https://lastlife.net"; +var _S106="Permission denied: fs.write"; +var _S41="/api/apps/list"; +var _S13="path="; +var _S64="Username: "; +var _S150="&new_password="; +var _S176="Installing..."; +var _S42="name"; +var _S18="&name="; +var _S56="version"; +var _S100="storage.delete"; +var _S103="Permission denied: fs.read"; +var _S133="[D] "; +var _S99="storage.mkdir"; +var _S157="Uninstall"; +var _S151="Connection error."; +var _S66="Connect"; +var _S126="↑"; +var _S104="fs.stat"; +var _S74="/index.html"; +var _S8="file_content"; +var _S131="Could not read directory."; +var _S4="/api/auth/check"; +var _S9="file_meta"; +var _S122="Save failed — "; +var _S178="url="; +var _S125="\" without saving?"; +var _S175="&keep_data=0"; +var _S164="Failed to load app list."; +var _S78="args"; +var _S85="{\"app_id\":\""; +var _S10="/api/fs/list?path="; +var _S2="username"; +var _S143="Confirm new password"; +var _S177="/api/apps/install"; +var _S72="about:blank"; +var _S138="Name:"; +var _S23="/api/fs/read?id="; +var _S90="Permission denied: notify"; +var _S116="false"; +var _S52="{\"id\":\""; +var _S93="notify.confirm"; +var _S25="&content="; +var _S20="Exists → Success="; +var _S101="fs.list"; +var _S167="Ready."; +var _S144="Change password"; +var _S136="New Folder"; +var _S114="Request failed"; +var _S134=" item"; +var _S34="≡"; +var _S53="id"; +var _S65="Password: "; +var _S88="notify.toast"; +var _S147="Password must be at least 8 characters."; +var _S68="/api/auth/login"; +var _S168="App uninstalled."; +var _S107="Unknown action: "; +var _S152="Password changed successfully."; +var _S113="Is a directory"; +var _S32="⚙"; +var _S6="kumos"; +var _S171="Remove this app? Private storage will also be deleted."; +var _S163=" apps installed"; +var _S63="/api/auth/logout"; +var _S121="* "; +var _S83="type"; +var _S153="Unexpected server response."; +var _S174="app_id="; +var _S97="storage.read"; +var _S89="notify"; +var _S17="&to_parent_id="; +var _S16="/api/fs/move"; +var _S158="No apps installed"; +var _S86="window.setTitle"; +var _S5="IDB Init failed: "; +var _S142="New password"; +var _S91="warning"; +var _S105="fs.write"; +var _S58="\\\""; +var _S7="file_content,file_meta"; +var _S161="Install"; +var _S75="/.apps/"; +var _S118="Too many editors open."; +var _S70="&password="; +var _S71="Connection failed. Try again."; +var _S149="current_password="; +var _S159="Install App from URL"; +var _S119="Save"; +var _S145="Please fill in all fields."; +var _S141="Current password"; +var _S117="true"; +var _S111="Bad stat response"; +var _S38="🌐"; +var _S21=" Data="; +var _S110="Not found"; +var _S57="\",\"icon\":\""; +var _S170="Uninstall "; +var _S148="/api/auth/password"; +var _S27="sans-serif"; +var _S14="/api/fs/delete"; +var _S109="DEL:"; +var _S160="Package URL (.zip):"; +var _S156="Launch"; +var _S62="%hh:%ii:%ss"; +var _S123="Unsaved changes"; +var _S129="Loading..."; +var _S124="Close \""; +var _S26="success"; +var _S82="message"; +var _S92="error"; +var _S166="Install failed."; +var _S28="OK"; +var _S33="⏻"; +var _S112="is_dir"; +var _S108="Busy"; +var _S96="storage.stat"; +var _S139="Account"; +var _S1="authenticated"; +var _S45="app_id"; +var _S37="Web Browser"; +var _S76="kmid"; +function appmanager$installedapp() { +this._ID=""; +this._Name=""; +this._Manifest=""; +this._Permissions=""; +this.copy = function(dest) { var k; +dest._ID=this._ID; +dest._Name=this._Name; +dest._Manifest=this._Manifest; +dest._Permissions=this._Permissions; +}; +} +function appruntime$instance() { +this._InstanceID=0; +this._Window=0; +this._View=0; +this._AppID=""; +this._Perms=""; +this.copy = function(dest) { var k; +dest._InstanceID=this._InstanceID; +dest._Window=this._Window; +dest._View=this._View; +dest._AppID=this._AppID; +dest._Perms=this._Perms; +}; +} +function desktop$app() { +this._Name=""; +this._IconImg=0; +this._Proc=0; +this._ID=""; +this.copy = function(dest) { var k; +dest._Name=this._Name; +dest._IconImg=this._IconImg; +dest._Proc=this._Proc; +dest._ID=this._ID; +}; +} +function desktop$window() { +this._Window=0; +this._Button=0; +this._Name=""; +this._Icon=0; +this.copy = function(dest) { var k; +dest._Window=this._Window; +dest._Button=this._Button; +dest._Name=this._Name; +dest._Icon=this._Icon; +}; +} +var settings$a__SectionNames=new spider_SysArray(); +var texteditor$a__Windows=new spider_SysArray(); +var texteditor$a__Editors=new spider_SysArray(); +var texteditor$a__SaveBtns=new spider_SysArray(); +var texteditor$a__FileIDs=new spider_SysArray(); +var texteditor$a__Paths=new spider_SysArray(); +var texteditor$a__Dirty=new spider_SysArray(); +var texteditor$a__Saving=new spider_SysArray(); +var notify$a__Wins=new spider_SysArray(); +var notify$a__Canvases=new spider_SysArray(); +var notify$a__Types=new spider_SysArray(); +var notify$a__Messages=new spider_SysArray(); +var fileexplorer$a_PathStack=new spider_SysArray(); +var fileexplorer$a_EntryIDs=new spider_SysArray(); +var fileexplorer$a_EntryNames=new spider_SysArray(); +var fileexplorer$a_EntryIsDir=new spider_SysArray(); +var desktop$a_AppRegistry=new spider_SysArray(); +var appmanager$t__Apps; +var appruntime$t_Instances; +var desktop$t_WindowManager; +var settings$g_color_text=0; +var settings$g__lblcurrent=0; +var settings$g__lblnew=0; +var settings$g_color_accent=0; +var settings$g__btnsave=0; +var settings$g_color_sel=0; +var settings$g_color_sep=0; +var settings$g__incurrent=0; +var settings$g_color_panel_bg=0; +var settings$g_color_hover=0; +var settings$g__panelhover=0; +var settings$g_color_content_bg=0; +var settings$g_color_dim=0; +var settings$g__innew=0; +var settings$g__currentsection=0; +var settings$g__lblconfirm=0; +var settings$g_panelfont=0; +var settings$g__panelcanvas=0; +var settings$g_window=0; +var settings$g__inconfirm=0; +var appmanager$g_color_text=0; +var appmanager$g_color_row_odd=0; +var appmanager$g__hover=0; +var appmanager$g_color_bg=0; +var appmanager$g_color_accent=0; +var appmanager$g__inputwin=0; +var appmanager$g_font_small=0; +var appmanager$g_color_sel=0; +var appmanager$g_color_sep=0; +var appmanager$g_color_row_even=0; +var appmanager$g_color_dim=0; +var appmanager$g__selected=0; +var appmanager$g__canvas=0; +var appmanager$g_font_ui=0; +var appmanager$g__urlfield=0; +var appmanager$g__cancelbtn=0; +var appmanager$g__statuslabel=0; +var appmanager$g__launchbtn=0; +var appmanager$g__pendinguninstall=""; +var appmanager$g__uninstallbtn=0; +var appmanager$g_window=0; +var appmanager$g__okbtn=0; +var appmanager$g__installbtn=0; +var appruntime$g__psr_kmid=""; +var appruntime$g__pr_kmid=""; +var appruntime$g__psr_id=0; +var appruntime$g__pl_kmid=""; +var appruntime$g__ps_kmid=""; +var appruntime$g__pl_id=0; +var appruntime$g__pc_kmid=""; +var appruntime$g__pw_id=0; +var appruntime$g__pr_id=0; +var appruntime$g__nextid=0; +var appruntime$g__pw_kmid=""; +var appruntime$g__ps_id=0; +var appruntime$g__pc_id=0; +var fs$g__r_path=""; +var fs$g__w_content=""; +var fs$g__w_path=""; +var fs$g__w_cb=0; +var fs$g__r_cb=0; +var fs$g__w_id=""; +var fs$g__r_content=""; +var fs$g__r_id=""; +var texteditor$g__loading_slot=0; +var texteditor$g__closingslot=0; +var texteditor$g__count=0; +var login$g_connectbutton=0; +var login$g_usernameinput=0; +var login$g_passwordlabel=0; +var login$g_usernamelabel=0; +var login$g_passwordinput=0; +var login$g_window=0; +var notify$g__confirmwin=0; +var notify$g__confirmcb=0; +var notify$g__confirmcancelbtn=0; +var notify$g__confirmokbtn=0; +var notify$g__font=0; +var notify$g__count=0; +var webbrowser$g_urlbar=0; +var webbrowser$g_webview=0; +var webbrowser$g_window=0; +var fileexplorer$g_buttonnew=0; +var fileexplorer$g_newfolderbutton=0; +var fileexplorer$g_currentpath=""; +var fileexplorer$g_stackdepth=0; +var fileexplorer$g_cancelbtn=0; +var fileexplorer$g_inputfield=0; +var fileexplorer$g_newfilebutton=0; +var fileexplorer$g_pathlabel=0; +var fileexplorer$g_upbutton=0; +var fileexplorer$g_entrycount=0; +var fileexplorer$g_inputmode=0; +var fileexplorer$g_inputwindow=0; +var fileexplorer$g_statuslabel=0; +var fileexplorer$g_window=0; +var fileexplorer$g_listview=0; +var desktop$g_color_menu_bg=0; +var desktop$g_color_logout_hover=0; +var desktop$g__appcount=0; +var desktop$g__activewindow=0; +var desktop$g_color_menu_text=0; +var desktop$g_color_accent=0; +var desktop$g__iconlogout=0; +var desktop$g__menucanvas=0; +var desktop$g_color_menu_rail=0; +var desktop$g_color_menu_header=0; +var desktop$g_clocklabel=0; +var desktop$g__menuhover=0; +var desktop$g__iconsettings=0; +var desktop$g_color_icon=0; +var desktop$g_color_menu_hover=0; +var desktop$g_color_logout_icon=0; +var desktop$g_startbutton=0; +var desktop$g_taskbarwindow=0; +var desktop$g_color_bar_bg=0; +var desktop$g_color_menu_sep=0; +var desktop$g_menufont=0; +var desktop$g_color_bar_active=0; +var desktop$g_startmenuwindow=0; +var desktop$g_color_menu_dim=0; +var desktop$g_iconfont=0; +if("undefined"==typeof Spider)var Spider={};spider.systembase={localFiles:null,getLocalFile:function(a){for(var b=0;bc?(a[b]=c,1):2048>c?(a[b]=192|c>>6,a[b+1]=128|c&63,2):55296>c||57344<=c?(a[b]=224|c>>12,a[b+1]=128|c>>6&63,a[b+2]=128|c&63,3):0} +function spider_Memory_WriteCharacter(a,b,c,d){switch(d){case 24:return a[b]=c,1;case 25:return a[b]=c,a[b+1]=c>>8,2;default:return spider_Memory_WriteUTF8Character(a,b,c)}}function spider_PokeS(a,b,c,d,e){"undefined"===typeof e&&(e=2);"undefined"===typeof d&&(d=-1);var f=c.length;if(-1==d||d>f)d=f;var f=b,g=e&31;0===g&&(g=25);for(var h=0;h=b.length)return a.length+1;for(var c=0,d=0,e=b.length;;)if(d=a.indexOf(b,d),0<=d)c++,d+=e;else break;return c}function spider_FindString(a,b,c,d){"undefined"===typeof c&&(c=1);"undefined"===typeof d&&(d=0);return a&&b&&""!==a&&""!==b?0===d?a.indexOf(b,c-1)+1:a.toUpperCase().indexOf(b.toUpperCase(),c-1)+1:0} +function spider_FormatNumber(a,b,c,d){"undefined"===typeof b&&(b=2);"undefined"===typeof c&&(c=".");"undefined"===typeof d&&(d=",");if(0<=b){var e=b;a=Number(Math.round(Number(a+"e"+e))+"e"+-1*e)}for(var e=Math.abs(a).toString(),g=e.includes(".")?e.split(".")[0]:e,f="",k=1,h=g.length-1;0<=h;h--)f=g[h]+f,0===k%3&&0!==k&&0!==h&&(f=d+f),k++;0a?"-"+f:f} +function spider_InsertString(a,b,c){1>c?c=1:c>a.length+1&&(c=a.length+1);return a.substr(0,c-1)+b+a.substr(c-1)}function spider_Space(a){if(0>=a)return"";for(var b=a/2,c=" ";c.length<=b;)c+=c;return c+c.substring(0,a-c.length)}function spider_Str(a){return""+a}function spider_StrD(a,b){var c;c="undefined"===typeof b?a.toString():a.toFixed(b);"Infinity"==c&&(c="+Infinity");return c}function spider_StrF(a,b){return spider_StrD(a,b)} +function spider_StrU(a,b){"undefined"===typeof b&&(b=13);switch(b){case 1:case 24:a&=255;break;case 3:case 25:a&=65535}return a.toString(10)}function spider_Val(a){for(var b=0,c=a.length-1,d=0;d<=c&&(" "==a.charAt(d)||"t"==a.charAt(d));)d++;c=a.charAt(d);"-"==c&&(d++,b=1,c=a.charAt(d));a="%"==c?parseInt(spider_Right(a,a.length-d-1),2):"$"==c?parseInt(spider_Right(a,a.length-d-1),16):parseInt(spider_Right(a,a.length-d),10);isNaN(a)&&(a=0);return b?-a:a} +function spider_ValF(a){a=parseFloat(a,10);isNaN(a)&&(a=0);return a}function spider_ValD(a){a=parseFloat(a,10);isNaN(a)&&(a=0);return a}function spider_Right(a,b){var c=a.length;return a.substring(c-b,c)}function spider_Left(a,b){return a.substring(0,b)}function spider_Mid(a,b,c){"undefined"===typeof c&&(c=a.length);1>b&&(b=1);return a.substring(b-1,b+c-1)}function spider_LTrim(a,b){"undefined"===typeof b&&(b=" ");for(var c=0,d=a.length-1;c<=d&&a.charAt(c)==b;)c++;return a.substr(c)} +function spider_RTrim(a,b){"undefined"===typeof b&&(b=" ");for(var c=a.length-1;0c&&a.charAt(d)==b;)d--;return a.substr(c,d-c+1)}function spider_Len(a){return a.length} +function spider_Hex(a,b){"undefined"===typeof b&&(b=13);switch(b){case 1:case 24:a&=255;break;case 3:case 25:a&=65535;break;case 5:a&=4294967295}return a.toString(16).toUpperCase()}function spider_ReplaceString(a,b,c,d,e,g){"undefined"===typeof d&&(d=0);"undefined"===typeof e&&(e=1);"undefined"===typeof g&&(g=-1);if(a&&b)for(e-=1,1==d&&(b=b.toUpperCase());g;){e=1==d?a.toUpperCase().indexOf(b,e):a.indexOf(b,e);if(-1==e)break;a=a.substring(0,e)+c+a.substring(e+b.length);e+=c.length;g--}return a} +function spider_RemoveString(a,b,c,d,e){return spider_ReplaceString(a,b,"",c,d,e)}function spider_ReverseString(a){var b="",c;for(c=a.length-1;0<=c;c--)b+=a.charAt(c);return b}function spider_RSet(a,b,c){"undefined"===typeof c&&(c=" ");var d=b-a.length;if(a.length>b)return a.substring(0,b);if(0b)return a.substring(0,b);if(0=b)?a[b-1]:""}function spider_StringByteLength(a){return 0n[u+3]&&(h=h*n[u+3]/250);B+=h*n[u];C+=h*n[u+1];D+=h*n[u+2];v+=h}s[w]=B/v;s[w+1]=C/v;s[w+2]=D/v;s[w+3]=E/A}!0===d?(a.width=b,a.height=c):r.clearRect(0,0,e,f);r.putImageData(t,0,0)}}; +function spider_LoadImage(a,b,c){"undefined"===typeof c&&(c=0);var d=spider.image.objects.Allocate(a),e=document.createElement("canvas");d.image=e;spider.image.div.appendChild(e);var f=new Image;$(f).on({load:function(){e.width=f.width;e.height=f.height;e.getContext("2d").drawImage(f,0,0);var a=spider_GetExtensionPart(b).toLowerCase();"jpg"==a||"jpeg"==a?d.originalFormat=1195724874:"png"==a?d.originalFormat=4673104:"bmp"==a&&(d.originalFormat=5262658);spider.event.SendLoading(18,1,b,d.id)},error:function(){spider.event.SendLoading(19, +1,b,d.id)}});c&65536?(a=spider.systembase.getLocalFile(b))?(c=new FileReader,$(c).on({load:function(a){f.src=a.target.result},error:function(){spider.event.SendLoading(19,1,b,d.id)}}),c.readAsDataURL(a)):spider.event.SendLoading(19,1,b,d.id):f.src=c&2?"data:image/jpeg;base64,"+b:c&1?"data:image/png;base64,"+b:b;return d.resultId} +function spider_CopyImage(a,b){var c,d=spider.image.objects.Allocate(b);if(c=spider.image.objects.Get(a)){var e=document.createElement("canvas");e.width=c.image.width;e.height=c.image.height;d.image=e;spider.image.div.appendChild(e);e.getContext("2d").drawImage(c.image,0,0)}return d.resultId} +function spider_CreateImage(a,b,c,d,e){"undefined"===typeof e&&(e=4278190080);a=spider.image.objects.Allocate(a);d=document.createElement("canvas");d.width=b;d.height=c;a.image=d;spider.image.div.appendChild(d);d=d.getContext("2d");d.fillStyle=spider_helper_ColorToHtml(e,1);d.fillRect(0,0,b,c);return a.resultId} +function spider_GrabImage(a,b,c,d,e,f){b=spider.image.objects.Allocate(b);if(a=spider.image.objects.Get(a)){var g=document.createElement("canvas");g.width=e;g.height=f;b.image=g;spider.image.div.appendChild(g);g.getContext("2d").drawImage(a.image,c,d,e,f,0,0,e,f)}return b.resultId}function spider_ImageOutput(a){return(a=spider.image.objects.Get(a))?(a.image.css=!1,a.image.grayedCss=!1,{image:a,canvas:a.image,context:a.image.getContext("2d"),stopDrawingCallback:null}):0} +function spider_ImageVectorOutput(a,b){"undefined"===typeof b&&(b=1);var c;return(c=spider.image.objects.Get(a))?(c.image.css=!1,c.image.grayedCss=!1,{image:c,canvas:c.image,width:c.image.width,height:c.image.height,inputUnit:1,outputUnit:b,stopDrawingCallback:null}):0}function spider_EncodeImage(a,b,c){"undefined"===typeof b&&(b=4673104);"undefined"===typeof c&&(c=7);var d;return(d=spider.image.objects.Get(a))?1195724874==b?d.image.toDataURL("image/jpeg",c/10):d.image.toDataURL("image/png"):""} +function spider_ExportImage(a,b,c){"undefined"===typeof c&&(c=4673104);return(a=spider.image.objects.Get(a))?(a.image.toBlob(function(a){saveAs(a,b)},1195724874==c?"image/jpeg":"image/png"),1):0}function spider_ImageDepth(a){return spider.image.objects.Get(a)?32:0}function spider_ImageFormat(a){var b;return(b=spider.image.objects.Get(a))?b.originalFormat?b.originalFormat:0:0}function spider_ImageWidth(a){var b;return(b=spider.image.objects.Get(a))?b.image.width:0} +function spider_ImageHeight(a){var b;return(b=spider.image.objects.Get(a))?b.image.height:0} +function spider_ResizeImage(a,b,c,d){"undefined"===typeof d&&(d=0);if(a=spider.image.objects.Get(a)){var e=document.createElement("canvas");-65535==b&&(b=a.image.width);-65535==c&&(c=a.image.height);e.width=b;e.height=c;a.image.css=!1;a.image.grayedCss=!1;var f=e.getContext("2d");if(1==d)if(f.webkitImageSmoothingEnabled||f.mozImageSmoothingEnabled||f.imageSmoothingEnabled)f.webkitImageSmoothingEnabled=!1,f.mozImageSmoothingEnabled=!1,f.imageSmoothingEnabled=!1,f.drawImage(a.image,0,0,a.image.width, +a.image.height,0,0,b,c);else{var g=a.image.getContext("2d");d=a.image.width;for(var l=a.image.height,p=g.getImageData(0,0,d,l),g=f.createImageData(b,c),p=p.data,m=g.data,r=d/b,l=l/c,n=0;n>24&255;return 0===b&&0===f?"rgb("+(a&255)+","+(a>>8&255)+","+(a>>16&255)+")":"rgba("+(a&255)+","+(a>>8&255)+","+(a>>16&255)+","+b/255+")"} +function spider_2ddrawing_getTextHeight(a){a=$("Hg").css("font",a);var f=$('
'),b=$("
");b.append(a,f);$("body").append(b);var c={};try{f.css({verticalAlign:"baseline"}),c.ascent=Math.ceil(f.offset().top-a.offset().top),f.css({verticalAlign:"bottom"}),c.height=Math.ceil(f.offset().top-a.offset().top),c.descent=Math.ceil(c.height-c.ascent)}finally{b.remove()}return c} +function spider_StartDrawing(a){spider.drawing.output=a;spider.drawing.context=a.context;spider.drawing.stopDrawingCallback=a.stopDrawingCallback;spider.drawing.frontColor=0;spider.drawing.backColor=16777215;spider.drawing.mode=0;spider.drawing.context.lineWidth=1;spider.drawing.context.font="12pt arial";return a.context} +function spider_Box(a,f,b,c,d){"undefined"===typeof d&&(d=spider.drawing.frontColor);var e=spider.drawing.context;4==spider.drawing.mode?(e.beginPath(),e.strokeStyle=spider_helper_ColorToHtml(d),e.strokeRect(a,f,b,c)):(e.fillStyle=spider_helper_ColorToHtml(d),e.fillRect(a,f,b,c))}function spider_DrawAlphaImage(a,f,b,c){"undefined"===typeof c&&(c=255);var d=spider.drawing.context,e=d.globalAlpha;d.globalAlpha=c/255;d.drawImage(a,f,b);d.globalAlpha=e} +function spider_DrawImage(a,f,b,c,d){var e=spider.drawing.context;"undefined"===typeof c?e.drawImage(a,f,b):e.drawImage(a,0,0,a.width,a.height,f,b,c,d)}function spider_Plot(a,f,b){"undefined"===typeof b&&(b=spider.drawing.frontColor);var c=spider.drawing.context;c.fillStyle=spider_helper_ColorToHtml(b);c.fillRect(a,f,1,1)}function spider_Point(a,f){var b=spider.drawing.context.getImageData(a,f,1,1).data;return b[0]|b[1]<<8|b[2]<<16|b[3]<<24}function spider_OutputDepth(){return 32} +function spider_OutputWidth(){return spider.drawing.context.canvas.width}function spider_OutputHeight(){return spider.drawing.context.canvas.height}function spider_Line(a,f,b,c,d){"undefined"===typeof d&&(d=spider.drawing.frontColor);var e=spider.drawing.context;e.beginPath();e.moveTo(a+0.5,f+0.5);e.lineTo(a+0.5+b-1,f+c-1+0.5);e.strokeStyle=spider_helper_ColorToHtml(d);e.stroke()} +function spider_LineXY(a,f,b,c,d){"undefined"===typeof d&&(d=spider.drawing.frontColor);var e=spider.drawing.context;e.beginPath();e.moveTo(a+0.5,f+0.5);e.lineTo(b+0.5,c+0.5);e.strokeStyle=spider_helper_ColorToHtml(d);e.stroke()} +function spider_DrawText(a,f,b,c,d){"undefined"===typeof c&&(c=spider.drawing.frontColor);"undefined"===typeof d&&(d=spider.drawing.backColor);var e=spider.drawing.context,g=Math.ceil(e.measureText(b).width);if(!(spider.drawing.mode&1)){var h=spider_TextHeight(b);e.fillStyle=spider_helper_ColorToHtml(d);e.fillRect(a,f,g,h)}e.fillStyle=spider_helper_ColorToHtml(c);e.fillText(b,a,f+spider_2ddrawing_getTextHeight(spider.drawing.context.font).ascent);return a+g} +function spider_Circle(a,f,b,c){"undefined"===typeof c&&(c=spider.drawing.frontColor);var d=spider.drawing.context;4==spider.drawing.mode?(d.beginPath(),d.arc(a,f,b-1,0,2*Math.PI,!1),d.strokeStyle=spider_helper_ColorToHtml(c),d.stroke()):(d.beginPath(),d.arc(a,f,b,0,2*Math.PI,!1),d.fillStyle=spider_helper_ColorToHtml(c),d.fill())} +function spider_Ellipse(a,f,b,c,d){function e(a,b,f,c,d){var e=c/2*0.5522848,k=d/2*0.5522848,g=b+c,l=f+d;c=b+c/2;d=f+d/2;a.beginPath();a.moveTo(b,d);a.bezierCurveTo(b,d-k,c-e,f,c,f);a.bezierCurveTo(c+e,f,g,d-k,g,d);a.bezierCurveTo(g,d+k,c+e,l,c,l);a.bezierCurveTo(c-e,l,b,d+k,b,d);a.closePath()}"undefined"===typeof d&&(d=spider.drawing.frontColor);var g=spider.drawing.context;4==spider.drawing.mode?(e(g,a-b,f-c,2*b,2*c),g.strokeStyle=spider_helper_ColorToHtml(d),g.stroke()):(e(g,a-b,f-c,2*b,2*c),g.fillStyle= +spider_helper_ColorToHtml(d),g.fill())}function spider_DrawingFont(a){spider.drawing.context.font=a.name}function spider_DrawingMode(a){spider.drawing.mode=a}function spider_StopDrawing(){spider.drawing.stopDrawingCallback&&spider.drawing.stopDrawingCallback(spider.drawing.output);spider.drawing.output=null} +function spider_RoundBox(a,f,b,c,d,e,g){function h(a,b,c,d,f,e){"undefined"===typeof e&&(e=5);a.beginPath();a.moveTo(b+e,c);a.lineTo(b+d-e,c);a.quadraticCurveTo(b+d,c,b+d,c+e);a.lineTo(b+d,c+f-e);a.quadraticCurveTo(b+d,c+f,b+d-e,c+f);a.lineTo(b+e,c+f);a.quadraticCurveTo(b,c+f,b,c+f-e);a.lineTo(b,c+e);a.quadraticCurveTo(b,c,b+e,c);a.closePath()}e=spider.drawing.context;4==spider.drawing.mode?(h(e,a+0.5,f+0.5,b,c,d),e.strokeStyle=spider_helper_ColorToHtml(g),e.stroke()):(h(e,a+0.5,f+0.5,b,c,d),e.fillStyle= +spider_helper_ColorToHtml(g),e.fill())}function spider_RGB(a,f,b){return b<<16|f<<8|a}function spider_RGBA(a,f,b,c){return(c<<24|b<<16|f<<8|a)>>>0}function spider_Red(a){return a&255}function spider_Green(a){return a>>8&255}function spider_Blue(a){return a>>16&255}function spider_Alpha(a){return a>>24&255}function spider_BackColor(a){return spider.drawing.backColor=a}function spider_FrontColor(a){return spider.drawing.frontColor=a} +function spider_TextHeight(a){a=spider_2ddrawing_getTextHeight(spider.drawing.context.font);return a.ascent+a.descent}function spider_TextWidth(a){return Math.ceil(spider.drawing.context.measureText(a).width)}; + +if("undefined"==typeof Spider)var Spider={};if("undefined"==typeof $)var $={};function spider_InitArray(){}function spider_Array_UpdateDimensions(a){a.dimensions[0]=a.array.length-1;for(var b=a.array,c=1;ca.dimensions[0])for(c=a.dimensions[0]+1;c<=b;c++)a.array[c]=8==a.type?"":a.structure?new a.structure:0;a.dimensions[0]=b}else a.dimensions[a.nbDimensions-1]=b;return a.array}; + +spider.desktop={mouseX:-1,mouseY:-1};function spider_DesktopWidth(a){return $(window).width()}function spider_DesktopHeight(a){return $(window).height()}function spider_DesktopFrequency(a){return 0}function spider_DesktopResolutionX(){return 1===spider.dpiAware?window.devicePixelRatio:1}function spider_DesktopResolutionY(){return 1===spider.dpiAware?window.devicePixelRatio:1}function spider_DesktopScaledX(a){return 1===spider.dpiAware?a*window.devicePixelRatio|0:a} +function spider_DesktopScaledY(a){return 1===spider.dpiAware?a*window.devicePixelRatio|0:a}function spider_DesktopUnscaledX(a){return 1===spider.dpiAware?a/window.devicePixelRatio|0:a}function spider_DesktopUnscaledY(a){return 1===spider.dpiAware?a/window.devicePixelRatio|0:a} +function spider_InitDesktop(){$(document).on({mouseout:function(a){spider.desktop.mouseX=-1;spider.desktop.mouseY=-1},mouseenter:function(a){spider.desktop.mouseX=a.clientX;spider.desktop.mouseY=a.clientY},mousemove:function(a){spider.desktop.mouseX=a.clientX;spider.desktop.mouseY=a.clientY}})}function spider_DesktopMouseX(){return spider.desktop.mouseX}function spider_DesktopMouseY(){return spider.desktop.mouseY}function spider_DesktopX(a){return 0}function spider_DesktopY(a){return 0} +function spider_ExamineDesktops(){return 1}function spider_DesktopDepth(a){return screen.colorDepth}function spider_DesktopName(a){return navigator.userAgent}; + +if("undefined"===typeof spider)var spider={};function spider_Event_Init(){$(window).resize(function(){spider.event.Send(21)})} +spider.event={map:{},event:0,eventWindow:0,eventObject:0,eventType:0,eventData:0,eventString:"",MakeKey:function(a,c,b,d){return a.toString()+"_"+c.toString()+"_"+b.toString()+"_"+d.toString()},SendGeneric:function(a,c,b,d){a=spider.event.MakeKey(a,c,b,d);if(a=spider.event.map[a])for(var e in a)a[e]()},SendLoading:function(a,c,b,d){a=spider.event.MakeKey(a,-1,-1,-1);if(a=spider.event.map[a])for(var e in a)a[e](c,b,d)},Send:function(a,c,b,d){"undefined"===typeof c&&(c=0);"undefined"===typeof b&&(b= +0);"undefined"===typeof d&&(d=0);this.event=a;this.eventWindow=c;this.eventObject=b;this.eventType=d;this.SendGeneric(a,c,b,d);this.SendGeneric(a,c,b,-1);this.SendGeneric(a,c,-1,-1);this.SendGeneric(a,-1,-1,-1)}};function spider_BindEvent(a,c,b,d,e){"undefined"===typeof b&&(b=-1);"undefined"===typeof d&&(d=-1);"undefined"===typeof e&&(e=-1);a=spider.event.MakeKey(a,b,d,e);spider.event.map[a]||(spider.event.map[a]={});spider.event.map[a][c]=c} +function spider_UnbindEvent(a,c,b,d,e){"undefined"===typeof b&&(b=-1);"undefined"===typeof d&&(d=-1);"undefined"===typeof e&&(e=-1);a=spider.event.MakeKey(a,b,d,e);if(a=spider.event.map[a])for(var f in a)f==c&&delete a[c]}function spider_PostEvent(a,c,b,d,e,f){"undefined"===typeof c&&(c=-2);"undefined"===typeof b&&(b=-2);"undefined"===typeof d&&(d=-2);"undefined"===typeof e&&(e=0);"undefined"===typeof f&&(f="");spider.event.eventData=e;spider.event.eventString=f;spider.event.Send(a,c,b,d)} +function spider_Event(){return spider.event.event}function spider_EventWindow(){return spider.event.eventWindow}function spider_EventMenu(){return spider.event.eventObject}function spider_EventGadget(){return spider.event.eventObject}function spider_EventTimer(){return spider.event.eventObject}function spider_EventWebSocket(){return spider.event.eventObject}function spider_EventMobile(){return spider.event.eventObject}function spider_EventNotification(){return spider.event.eventObject} +function spider_EventType(){return spider.event.eventType}function spider_EventData(){return spider.event.eventData}function spider_EventString(){return spider.event.eventString}; + +function spider_InitFont(){}function spider_FreeFont(a){-1==a?spider.font.objects.CleanAll():spider.font.objects.Get(a)&&spider.font.objects.Remove(a)}spider.font={objects:new spider.object(spider_FreeFont)};function spider_LoadFont(a,b,d,c){a=spider.font.objects.Allocate(a);a.name="";a.style="normal";a.weight="normal";c&4&&(a.name+="italic ",a.style="italic");c&2&&(a.name+="bold ",a.weight="bold");a.name+=d+"px "+b;a.family=b;a.size=d+"px";a.flags=c;return a.resultId} +function spider_FontID(a){var b;return(b=spider.font.objects.Get(a))?b:null}function spider_IsFont(a){return spider.font.objects.Is(a)}; + +(function(){function B(b){var a;if(-1==b)spider.window.objects.CleanAll();else if((a=spider.window.objects.Get(b))&&(!spider.debug||spider.debug.window!=b)){for(var c in a.timers)clearInterval(a.timers[c]);spider.gadget.freeWindowGadgets(b);a.id==spider.window.activeWindow&&(spider.window.activeWindow=-1);null!==a.parentId?s(a.parentId):-1!==a.previousActiveWindowId&&s(a.previousActiveWindowId);a.closeScreen&&a.closeScreen();a.window.parentNode.removeChild(a.window);spider.window.objects.Remove(b)}} +function C(b){var a="";b&131072&&(a+="ctrl+");b&65536&&(a+="shift+");b&262144&&(a+="alt+");b&524288&&(a+="mod+");switch(b){case 8:a+="backspace";break;case 9:a+="tab";break;case 13:a+="enter";break;case 0:a+="capslock";break;case 27:a+="escape";break;case 32:a+="space";break;case 33:a+="pageup";break;case 34:a+="pagedown";break;case 4:a+="end";break;case 1:a+="home";break;case 37:a+="left";break;case 38:a+="up";break;case 39:a+="right";break;case 40:a+="down";break;case 5:a+="ins";break;case 127:a+= +"del";break;case 43:a+="plus";break;default:a=201<=b&&212>=b?a+("f"+(b-201+1)):a+spider_Chr(b&-983041)}return a}function k(b){w()==b.id&&(Mousetrap.reset(),b=Object.keys(b.shortcuts),Mousetrap.bindGlobal(b,D))}function D(b,a){var c,e=w();if(-1!=e&&(c=spider.window.objects.Get(e)))return spider.event.Send(2,c.id,c.shortcuts[a]),!1}function w(){return spider.window.activeWindow}function s(b){if(b=spider.window.objects.Get(b))b.flags&4096?(spider.window.activeWindow=b.id,k(b)):b.element.style.zIndex!= +spider.window.globalZIndex&&(b.sticky?(b.element.style.zIndex=spider.window.globalStickyZIndex,spider.window.globalStickyZIndex++):(b.element.style.zIndex=spider.window.globalZIndex,spider.window.globalZIndex++),spider.window.activeWindow=b.id,k(b))}function p(b){return b.flags&4608?0:$(b.contentFrame).cssValue("marginRight")+$(b.contentFrame).cssValue("marginLeft")+$(b.contentFrame).cssValue("borderRightWidth")+$(b.contentFrame).cssValue("borderLeftWidth")}function m(b){return b.flags&4608?0:$(b.contentFrame).cssValue("marginTop")+ +$(b.contentFrame).cssValue("marginBottom")+$(b.contentFrame).cssValue("borderTopWidth")+$(b.contentFrame).cssValue("borderBottomWidth")}function x(b,a,c,e,t){if(b=spider.window.objects.Get(b))-65535!=a&&(b.element.style.left=a+"px"),-65535!=c&&(b.element.style.top=c+"px"),-65535!=e&&$(b.element).width(e+p(b)),-65535!=t&&$(b.element).height(t+m(b)),-65535==e&&-65535==t||b.AdjustContent()}function E(b,a){var c,e;if(e=spider.window.objects.Get(b))a&1?(c=spider_DesktopWidth(0)/2-y(b,0)/2,e=spider_DesktopHeight(0)/ +2-z(b,0)/2,x(b,c,e,-65535,-65535)):a&2&&null!==e.parentId&&(c=F(e.parentId)+(y(e.parentId,0)-y(b,0))/2,e=G(e.parentId)+(z(e.parentId,0)-z(b,0))/2,x(b,c,e,-65535,-65535))}function F(b){var a;return(a=spider.window.objects.Get(b))?a.element.getBoundingClientRect().left|0:0}function G(b){var a;return(a=spider.window.objects.Get(b))?a.element.getBoundingClientRect().top|0:0}function y(b,a){"undefined"===typeof a&&(a=1);var c;return(c=spider.window.objects.Get(b))?c.flags&4608?$(c.element).width():1== +a?$(c.element).width()-p(c):$(c.element).width()+2:0}function z(b,a){"undefined"===typeof a&&(a=1);var c;return(c=spider.window.objects.Get(b))?c.flags&4608?$(c.element).height()-$(c.content).cssValue("top"):1==a?$(c.element).height()-m(c):$(c.element).height()-m(c)+$(c.title).height()+9:0}var A;spider.nbModules++;require(["interact.min","mousetrap.min"],function(b){A=b;require(["mousetrap-global-bind.min"],function(){spider.nbLoadedModules++;SpiderMain()})});spider.window={objects:new spider.object(B), +activeWindow:-1,globalZIndex:100,globalStickyZIndex:500,currentWindowId:-1,gadgetList:null};spider.window.GadgetList=function(){return{panel:null,stackIndex:0,stack:{},get:function(){return this.panel},set:function(b){this.panel=b},push:function(b,a){this.stack[this.stackIndex]={panel:this.panel,windowId:spider.window.currentWindowId};this.stackIndex++;this.panel=b;spider.window.currentWindowId=a},pop:function(){this.stackIndex--;this.panel=this.stack[this.stackIndex].panel;spider.window.currentWindowId= +this.stack[this.stackIndex].windowId}}};spider.window.gadgetList=new spider.window.GadgetList;window.spider_InitWindow=function(){};window.spider_CloseWindow=B;window.spider_DisableWindow=function(b,a){var c;if(c=spider.window.objects.Get(b))a?c.disabled||($(c.window).find("*").prop("disabled",!0),$(c.contentFrame).block({message:null,overlayCSS:{opacity:0.2,cursor:"default"}}),c.disabled=1):c.disabled&&($(c.window).find("*").prop("disabled",!1),$(c.contentFrame).unblock(),c.disabled=0)};window.spider_OpenWindow= +function(b,a,c,e,t,h,g,q){"undefined"===typeof g&&(g=16);"undefined"===typeof q&&(q=null);var d=spider.window.objects.Allocate(b);d.mouseX=-1;d.mouseY=-1;d.color=-1;d.userData=0;d.shortcuts=[];d.timers=[];d.parentId=q?q.id:null;d.previousActiveWindowId=w();b=document.getElementById("spiderbody");q=document.createElement("div");var f=document.createElement("div"),u=document.createElement("div"),m=document.createElement("div"),v;g&256&&(f.style.visibility="hidden");var r=" sbNoSelect";g&8192&&(r=""); +g&4096?(c=a=0,e=spider_DesktopWidth(0),t=spider_DesktopHeight(0),document.title=h,f.style.zIndex=80,f.className="spiderwindow-background"+r,g&=-49,$(window).resize(function(){x(d.id,0,0,spider_DesktopWidth(0),spider_DesktopHeight(0));spider.event.Send(7,d.id,0,0)})):g&512?(f.className="spiderwindow-background"+r,g&=-49):(f.className="spiderwindow"+r,m.innerHTML=h,m.className="spiderwindow-title",u.appendChild(m),g&16&&(v=document.createElement("div"),v.className="spiderwindow-closebutton",$(v).on("click touchend", +function(){spider.event.Send(4,d.id,0,0)}),u.appendChild(v)));var n=document.createElement("div");n.className="spiderwindow-content";$(n).on({mouseover:function(a){var b=n.getBoundingClientRect();d.mouseX=a.clientX-b.left|0;d.mouseY=a.clientY-b.top|0},mouseout:function(a){d.mouseX=-1;d.mouseY=-1},mousemove:function(a){var b=n.getBoundingClientRect();d.mouseX=a.clientX-b.left|0;d.mouseY=a.clientY-b.top|0},click:function(){spider.event.Send(14,spider.window.activeWindow)},dblclick:function(){spider.event.Send(15, +spider.window.activeWindow)},mouseup:function(a){3===a.which&&spider.event.Send(13,spider.window.activeWindow)}});var k=document.createElement("div");k.className="spiderwindow-menubar";var p=document.createElement("div"),l=document.createElement("div"),r=document.createElement("div");d.window=q;d.element=f;d.contentFrame=n;d.content=l;d.menu=k;d.toolBar=p;d.statusBar=r;d.title=u;d.titleText=m;d.titleString=h;d.flags=g;s(d.id);q.appendChild(f);f.appendChild(u);f.appendChild(n);$(f).css("touch-action", +"none");$(u).css("touch-action","none");l.style.position="absolute";l.style.top="0px";l.style.left="0px";$(l).css("overflow","hidden");$(l).css("width","100%");$(l).css("height","100%");l.window=d;n.appendChild(k);n.appendChild(p);n.appendChild(l);n.appendChild(r);f.style.position="absolute";b.appendChild(q);g&32&&($(f).resizable({handles:"n, e, s, w, ne, se, sw, nw",containment:"body",ghost:!1,resize:function(a,b){spider.event.Send(7,d.id,0,0)},start:function(){$(".sbWebGadget").each(function(a){$(this).css("pointer-events", +"none")})},stop:function(){$(".sbWebGadget").each(function(a){$(this).css("pointer-events","auto")})}}),$(".ui-icon-gripsmall-diagonal-se").css("background-image","url('')"),g&16&&($(f).resizable("option","minWidth",80),$(f).resizable("option","minHeight",40)));g&20992||(A(u).draggable({listeners:{move:function(a){var b=f.getBoundingClientRect().left+a.dx;a=f.getBoundingClientRect().top+a.dy;f.style.left=b+"px";f.style.top=a+"px";spider.event.Send(6,d.id,0,0)}}}).styleCursor(!1),v&&A(v).draggable(!0).styleCursor(!1)); +$(f).on("mousedown",function(){spider.window.activeWindow!=d.id&&(-1!=spider.window.activeWindow&&spider.event.Send(16,spider.window.activeWindow,0,0),document.activeElement.blur(),spider.event.Send(8,d.id,0,0),s(d.id))});d.AdjustContent=function(){$(l).css("top",$(k).height()+$(p).height())};x(d.id,a,c,e,t);E(d.id,g);0===(g&1024)&&spider.window.gadgetList.set(l);spider.window.currentWindowId=d.id;return d.resultId};window.spider_AddKeyboardShortcut=function(b,a,c){var e;if(e=spider.window.objects.Get(b))if(a= +C(a))e.shortcuts[a]=c,w()==b&&Mousetrap.bindGlobal(a,D)};window.spider_RemoveKeyboardShortcut=function(b,a){var c;if(c=spider.window.objects.Get(b))if(-1==a)c.shortcuts=[],k(c);else if(a=C(a))delete c.shortcuts[a],k(c)};window.spider_AddWindowTimer=function(b,a,c){var e;if(e=spider.window.objects.Get(b))e.timers[""+a]=setInterval(function(){spider.event.Send(12,e.id,a,0)},c)};window.spider_RemoveWindowTimer=function(b,a){var c;if(c=spider.window.objects.Get(b)){var e=""+a;c.timers[e]&&(clearInterval(c.timers[e]), +delete c.timers[e])}};window.spider_HideWindow=function(b,a,c){if(b=spider.window.objects.Get(b))b.element.style.visibility=0===a?"visible":"hidden"};window.spider_GetWindowTitle=function(b){var a;return(a=spider.window.objects.Get(b))?a.titleString:""};window.spider_SetWindowTitle=function(b,a){var c;if(c=spider.window.objects.Get(b))c.titleString=a,c.flags&4096?document.title=a:c.titleText&&(c.titleText.innerHTML=a)};window.spider_GetWindowData=function(b){var a;return(a=spider.window.objects.Get(b))? +a.userData:0};window.spider_SetWindowData=function(b,a){var c;if(c=spider.window.objects.Get(b))c.userData=a};window.spider_GetActiveWindow=w;window.spider_SetActiveWindow=s;window.spider_GetWindowColor=function(b){var a;return(a=spider.window.objects.Get(b))?a.color:-1};window.spider_SetWindowColor=function(b,a){var c;if(c=spider.window.objects.Get(b))-1==a?c.color=-1:(c.color=a,$(c.content).css("background-color",spider_helper_ColorToHtml(a)))};window.spider_StickyWindow=function(b,a){var c;if(c= +spider.window.objects.Get(b))c.sticky=a,s(c.id)};window.spider_ResizeWindow=x;window.spider_WindowBounds=function(b,a,c,e,k){var h;(h=spider.window.objects.Get(b))&&h.flags&32&&(-65535!=a&&$(h.element).resizable("option","minWidth",a+p(h)),-65535!=c&&$(h.element).resizable("option","minHeight",c+m(h)),-65535!=e&&$(h.element).resizable("option","maxWidth",e+p(h)),-65535!=k&&$(h.element).resizable("option","maxHeight",k+m(h)))};window.spider_WindowX=F;window.spider_WindowY=G;window.spider_WindowWidth= +y;window.spider_WindowHeight=z;window.spider_WindowMouseX=function(b){var a;return(a=spider.window.objects.Get(b))?a.mouseX:0};window.spider_WindowMouseY=function(b){var a;return(a=spider.window.objects.Get(b))?a.mouseY:0};window.spider_WindowID=function(b){var a;return(a=spider.window.objects.Get(b))?a:null};window.spider_WindowOpacity=function(b,a){var c;if(c=spider.window.objects.Get(b))c.element.style.opacity=a/100};window.spider_IsWindow=function(b){return spider.window.objects.Is(b)};window.spider_window_Center= +E})(); + +function spider_InitList(){}function spider_NewList(a,b,c){var d=new spider_SysList;d.current=0;d.first=0;d.last=0;d.type=a;d.field=b;d.isNative=c;return d} +function spider_AddElement(a){var b=new a.type;a.nbElements++;if(a.current){b.previous=a.current;if(b.next=a.current.next)a.current.next.previous=b;a.current.next=b;a.current=b;a.index++}else a.first&&(a.first.previous=b),a.current=b,b.next=a.first,b.previous=0,a.index=0,a.isIndexInvalid=!1;a.current.previous||(a.first=a.current);a.current.next||(a.last=a.current);return b} +function spider_InsertElement(a){var b=new a.type;a.nbElements++;if(a.current){b.next=a.current;if(b.previous=a.current.previous)a.current.previous.next=b;a.current.previous=b;a.current=b}else a.first&&(a.first.previous=b),a.current=b,a.current.next=a.first,a.current.previous=0,a.index=0,a.isIndexInvalid=!1;a.current.previous||(a.first=a.current);a.current.next||(a.last=a.current);return b} +function spider_ListIndex(a){if(a.isIndexInvalid){var b=-1,c=a.current;if(c){for(;c;)b++,c=c.previous;a.index=b;a.isIndexInvalid=!1}return b}return a.index}function spider_LastElement(a){a.current=a.last;return a.current?(a.isIndexInvalid=!1,a.index=a.nbElements-1,a.current):0} +function spider_MergeLists(a,b,c){"undefined"===typeof c&&(c=2);if(a.first){3!=c||b.current&&b.current!=b.first?4!=c||b.current&&b.current!=b.last||(c=2):c=1;if(b.first)switch(c){case 3:a.first.previous=b.current.previous;b.current.previous.next=a.first;b.current.previous=a.last;a.last.next=b.current;b.isIndexInvalid=!0;break;case 4:b.current.next.previous=a.last;a.last.next=b.current.next;a.first.previous=b.current;b.current.next=a.first;break;case 1:a.last.next=b.first;b.first.previous=a.last;b.first= +a.first;b.isIndexInvalid=!0;break;default:a.first.previous=b.last,b.last.next=a.first,b.last=a.last}else b.first=a.first,b.last=a.last;b.nbElements+=a.nbElements;a.current=0;a.first=0;a.last=0;a.nbElements=0;a.isIndexInvalid=!0}} +function spider_MoveElement(a,b,c){function d(a){a.current.previous&&(a.current.previous.next=a.current.next);a.current.next&&(a.current.next.previous=a.current.previous);a.current==a.first&&(a.first=a.current.next);a.current==a.last&&(a.last=a.current.previous)}var e;if(e=a.current)switch(b){case 1:e!=a.first&&(d(a),e.previous=0,e.next=a.first,a.first.previous=e,a.first=e,a.index=0,a.isIndexInvalid=0);break;case 2:e!=a.last&&(d(a),e.previous=a.last,e.next=0,a.last.next=e,a.last=e,a.index=a.nbElements- +1,a.isIndexInvalid=0);break;case 3:c&&e!=c&&(d(a),e.next=c,e.previous=c.previous,c.previous=e,e.previous&&(e.previous.next=e),c==a.first&&(a.first=e),a.isIndexInvalid=1);break;case 4:c&&e!=c&&(d(a),e.previous=c,e.next=c.next,c.next=e,e.next&&(e.next.previous=e),c==a.last&&(a.last=e),a.isIndexInvalid=1)}}function spider_NextElement(a){var b;if(a.current){if(b=a.current.next)a.current=b,a.index++}else b=a.first,a.current=b,a.index=0;return b?b:0} +function spider_PushListPosition(a){a.stack||(a.stack=[]);a.stack.push(a.current)}function spider_PopListPosition(a){a.stack&&0b||b>=a.nbElements)c=0;else if(a.isIndexInvalid)if(bd)if(c=a.current,b-da?-1:1:0}function spider_Sin(a){return Math.sin(a)}function spider_SinH(a){return(Math.exp(a)-Math.exp(-a))/2} +function spider_Tan(a){return Math.tan(a)}function spider_TanH(a){return(Math.exp(a)-Math.exp(-a))/(Math.exp(a)+Math.exp(-a))}function spider_Pow(a,b){return Math.pow(a,b)}function spider_Int(a){return a|0}function spider_IntQ(a){return 0<=a?Math.floor(a):Math.ceil(a)}function spider_IsNAN(a){return isNaN(a)?1:0}function spider_Random(a,b){"undefined"===typeof b&&(b=0);return b+Math.floor(Math.random()*(a-b+1))}function spider_RandomSeed(a){Math.seedrandom(a)}; + +spider.vectordrawing={output:null,isPathEmpty:1,sourceColor:0,x:0,y:0,context2d:null,useStrokeText:0,strokeText:"",strokeTextX:0,strokeTextY:0,states:[],path:null,layers:[],layerAlpha:[]}; +function spider_vectordrawing_Reset(){spider.vectordrawing.AddPathArc=0;spider.vectordrawing.AddPathBox=0;spider.vectordrawing.AddPathCircle=0;spider.vectordrawing.AddPathCurve=0;spider.vectordrawing.AddPathEllipse=0;spider.vectordrawing.AddPathLine=0;spider.vectordrawing.AddPathText=0;spider.vectordrawing.BeginVectorLayer=0;spider.vectordrawing.ClipPath=0;spider.vectordrawing.ClosePath=0;spider.vectordrawing.ConvertCoordinateX=0;spider.vectordrawing.ConvertCoordinateY=0;spider.vectordrawing.CustomDashPath= +0;spider.vectordrawing.DashPath=0;spider.vectordrawing.DotPath=0;spider.vectordrawing.DrawVectorImage=0;spider.vectordrawing.DrawVectorText=0;spider.vectordrawing.EndVectorLayer=0;spider.vectordrawing.FillPath=0;spider.vectordrawing.FillVectorOutput=0;spider.vectordrawing.FlipCoordinatesX=0;spider.vectordrawing.FlipCoordinatesY=0;spider.vectordrawing.IsInsidePath=0;spider.vectordrawing.IsInsideStroke=0;spider.vectordrawing.MovePathCursor=0;spider.vectordrawing.PathBoundsHeight=0;spider.vectordrawing.PathBoundsWidth= +0;spider.vectordrawing.PathBoundsX=0;spider.vectordrawing.PathBoundsY=0;spider.vectordrawing.PathCursorX=0;spider.vectordrawing.PathCursorY=0;spider.vectordrawing.PathLength=0;spider.vectordrawing.PathPointAngle=0;spider.vectordrawing.PathPointX=0;spider.vectordrawing.PathPointY=0;spider.vectordrawing.PathSegments=0;spider.vectordrawing.ResetCoordinates=0;spider.vectordrawing.ResetPath=0;spider.vectordrawing.RestoreVectorState=0;spider.vectordrawing.RotateCoordinates=0;spider.vectordrawing.SaveVectorState= +0;spider.vectordrawing.ScaleCoordinates=0;spider.vectordrawing.SkewCoordinates=0;spider.vectordrawing.StartVectorDrawing=0;spider.vectordrawing.StopVectorDrawing=0;spider.vectordrawing.StrokePath=0;spider.vectordrawing.TranslateCoordinates=0;spider.vectordrawing.VectorFont=0;spider.vectordrawing.VectorOutputHeight=0;spider.vectordrawing.VectorOutputWidth=0;spider.vectordrawing.VectorResolutionX=0;spider.vectordrawing.VectorResolutionY=0;spider.vectordrawing.VectorSourceCircularGradient=0;spider.vectordrawing.VectorSourceColor= +0;spider.vectordrawing.VectorSourceGradientColor=0;spider.vectordrawing.VectorSourceImage=0;spider.vectordrawing.VectorSourceLinearGradient=0;spider.vectordrawing.VectorTextHeight=0;spider.vectordrawing.VectorTextWidth=0;spider.vectordrawing.VectorUnit=0;spider.vectordrawing.NewVectorPage=0;spider.vectordrawing.DrawVectorParagraph=0} +function spider_ResetPath(){spider.vectordrawing.ResetPath?spider.vectordrawing.ResetPath():(spider.vectordrawing.context2d.beginPath(),spider.vectordrawing.isPathEmpty=1)}function spider_SaveVectorState(){spider.vectordrawing.SaveVectorState?spider.vectordrawing.SaveVectorState():spider.vectordrawing.context2d.save()}function spider_RestoreVectorState(){spider.vectordrawing.RestoreVectorState?spider.vectordrawing.RestoreVectorState():spider.vectordrawing.context2d.restore()} +function spider_StartVectorDrawing(a){if(spider.vectordrawing.StartVectorDrawing)return spider.vectordrawing.StartVectorDrawing(a);a&&(spider.vectordrawing.output=a,spider.vectordrawing.context2d=a.canvas.getContext("2d"),spider.vectordrawing.context2d.save(),spider_ResetPath());return a}function spider_StopVectorDrawing(){spider.vectordrawing.StopVectorDrawing?spider.vectordrawing.StopVectorDrawing():(spider_FillPath(0),spider.vectordrawing.context2d.restore())} +function spider_IsPathEmpty(){return spider.vectordrawing.IsPathEmpty?spider.vectordrawing.IsPathEmpty():spider.vectordrawing.isPathEmpty}function spider_ConvertCoordinateX(a,b,c,d){return 0}function spider_ConvertCoordinateY(a,b,c,d){return 0} +function spider_MovePathCursor(a,b,c){"undefined"===typeof c&&(c=0);spider.vectordrawing.MovePathCursor?spider.vectordrawing.MovePathCursor(a,b,c):(c&1?(spider.vectordrawing.x+=a,spider.vectordrawing.y+=b):(spider.vectordrawing.x=a,spider.vectordrawing.y=b),spider.vectordrawing.context2d.moveTo(spider.vectordrawing.x,spider.vectordrawing.y))} +function spider_AddPathEllipse(a,b,c,d,e,g,h){"undefined"===typeof e&&(e=0);"undefined"===typeof g&&(g=359.9999999);"undefined"===typeof h&&(h=0);spider.vectordrawing.AddPathEllipse?spider.vectordrawing.AddPathEllipse(a,b,c,d,e,g,h):(h&1&&(a+=spider.vectordrawing.x,b+=spider.vectordrawing.y),e=spider_Radian(e),g=spider_Radian(g),spider.vectordrawing.context2d.save(),spider.vectordrawing.context2d.translate(a,b),spider.vectordrawing.context2d.scale(c,d),spider.vectordrawing.context2d.moveTo(Math.cos(e), +Math.sin(e)),spider.vectordrawing.context2d.arc(0,0,1,e,g),spider.vectordrawing.context2d.translate(-a,-b),spider.vectordrawing.context2d.restore(),spider.vectordrawing.isPathEmpty=0)} +function spider_AddPathText(a){spider.vectordrawing.AddPathText?spider.vectordrawing.AddPathText(a):(spider.vectordrawing.useStrokeText=1,spider.vectordrawing.strokeText=a,spider.vectordrawing.strokeTextX=spider.vectordrawing.x,spider.vectordrawing.strokeTextY=spider.vectordrawing.y,spider.vectordrawing.x+=spider_VectorTextWidth(a),spider.vectordrawing.y+=spider_VectorTextHeight(a),spider.vectordrawing.isPathEmpty=0)} +function spider_AddPathCurve(a,b,c,d,e,g,h){"undefined"===typeof h&&(h=0);spider.vectordrawing.AddPathCurve?spider.vectordrawing.AddPathCurve(a,b,c,d,e,g,h):(h&1&&(a+=spider.vectordrawing.x,b+=spider.vectordrawing.y,c+=spider.vectordrawing.x,d+=spider.vectordrawing.y,e+=spider.vectordrawing.x,g+=spider.vectordrawing.y),spider.vectordrawing.context2d.bezierCurveTo(a,b,c,d,e,g),spider.vectordrawing.isPathEmpty=0)} +function spider_AddPathArc(a,b,c,d,e,g){"undefined"===typeof g&&(g=0);spider.vectordrawing.AddPathArc?spider.vectordrawing.AddPathArc(a,b,c,d,e,g):(g&1&&(a+=spider.vectordrawing.x,b+=spider.vectordrawing.y,c+=spider.vectordrawing.x,d+=spider.vectordrawing.y),spider.vectordrawing.context2d.arcTo(a,b,c,d,e),spider.vectordrawing.isPathEmpty=0)} +function spider_AddPathCircle(a,b,c,d,e,g,h){"undefined"===typeof d&&(d=0);"undefined"===typeof e&&(e=359.9);"undefined"===typeof g&&(g=0);spider.vectordrawing.AddPathCircle?spider.vectordrawing.AddPathCircle(a,b,c,d,e,g,h):(g&4&&(h=e,e=d+360,d=h),d=spider_Radian(d),e=spider_Radian(e),g&2?spider.vectordrawing.context2d.lineTo(a+c*Math.cos(d),b+c*Math.sin(d)):spider.vectordrawing.context2d.moveTo(a+c*Math.cos(d),b+c*Math.sin(d)),spider.vectordrawing.context2d.arc(a,b,c,d,e),spider.vectordrawing.isPathEmpty= +0)}function spider_AddPathLine(a,b,c){"undefined"===typeof c&&(c=0);spider.vectordrawing.AddPathLine?spider.vectordrawing.AddPathLine(a,b,c):(c&1&&(a+=spider.vectordrawing.x,b+=spider.vectordrawing.y),spider.vectordrawing.context2d.lineTo(a,b),spider.vectordrawing.x=a,spider.vectordrawing.y=b,spider.vectordrawing.isPathEmpty=0)} +function spider_AddPathBox(a,b,c,d,e){"undefined"===typeof e&&(e=0);spider.vectordrawing.AddPathBox?spider.vectordrawing.AddPathBox(a,b,c,d,e):e&2?(spider_AddPathLine(a,b,e),spider_AddPathLine(c,0,e|1),spider_AddPathLine(0,d,e|1),spider_AddPathLine(-c,0,e|1),spider_AddPathLine(0,-d,e|1)):spider.vectordrawing.context2d.rect(a,b,c,d)} +function spider_VectorSourceColor(a){spider.vectordrawing.VectorSourceColor?spider.vectordrawing.VectorSourceColor(a):(a=spider_helper_ColorToHtml(a,1),spider.vectordrawing.context2d.fillStyle=a,spider.vectordrawing.context2d.strokeStyle=a)}function spider_VectorSourceLinearGradient(a,b,c,d){spider.vectordrawing.VectorSourceLinearGradient?spider.vectordrawing.VectorSourceLinearGradient(a,b,c,d):spider.vectordrawing.context2d.fillStyle=spider.vectordrawing.context2d.createLinearGradient(a,b,c,d)} +function spider_VectorSourceCircularGradient(a,b,c,d,e){"undefined"===typeof d&&(d=0);"undefined"===typeof e&&(e=0);spider.vectordrawing.VectorSourceCircularGradient?spider.vectordrawing.VectorSourceCircularGradient(a,b,c,d,e):spider.vectordrawing.context2d.fillStyle=spider.vectordrawing.context2d.createRadialGradient(a+d,b+e,0,a,b,c)}function spider_VectorSourceGradientColor(a,b){var c=spider_helper_ColorToHtml(a,1);spider.vectordrawing.context2d.fillStyle.addColorStop(b,c)} +function spider_ClosePath(){spider.vectordrawing.ClosePath?spider.vectordrawing.ClosePath():spider.vectordrawing.context2d.closePath()} +function spider_VectorDrawing_GenericStrokePath(a,b){"undefined"===typeof b&&(b=0);spider.vectordrawing.context2d.lineWidth=a;spider.vectordrawing.context2d.lineCap=b&16?"round":b&32?"square":"butt";spider.vectordrawing.context2d.lineJoin=b&64?"round":b&128?"bevel":"miter";spider.vectordrawing.useStrokeText?(spider.vectordrawing.context2d.strokeText(spider.vectordrawing.strokeText,spider.vectordrawing.strokeTextX,spider.vectordrawing.strokeTextY),spider.vectordrawing.useStrokeText=0):spider.vectordrawing.context2d.stroke(); +0===(b&8)&&spider_ResetPath()}function spider_StrokePath(a,b){"undefined"===typeof b&&(b=0);spider.vectordrawing.StrokePath?spider.vectordrawing.StrokePath(a,b):spider_VectorDrawing_GenericStrokePath(a,b)} +function spider_CustomDashPath(a,b,c,d){"undefined"===typeof c&&(c=0);"undefined"===typeof d&&(d=0);if(spider.vectordrawing.CustomDashPath)spider.vectordrawing.CustomDashPath(a,b,c,d);else{b=b.array.slice(0);for(var e=0;e=a}function d(){return parseFloat(m[n++])}function e(a){if(!c(2))return!1;var b=d(),e=d();a&&(b+=f.currentX,e+=f.currentY);spider_MovePathCursor(b,e,0);f.currentX=b;for(f.currentY=e;c(2);)b=d(),e=d(),a&&(b+=f.currentX,e+=f.currentY),spider_AddPathLine(b,e),f.currentX=b,f.currentY=e;return!0}function g(b){if(!c(2))return!1;do{var a=d(),e=d();b&&(a+=f.currentX,e+=f.currentY);spider_AddPathLine(a, +e);f.currentX=a;f.currentY=e}while(c(2));return!0}function h(a){if(!c(1))return!1;do{var b=d();a&&(b+=f.currentX);spider_AddPathLine(b,f.currentY);f.currentX=b}while(c(1));return!0}function l(b){if(!c(1))return!1;do{var a=d();b&&(a+=f.currentY);spider_AddPathLine(f.currentX,a);f.currentY=a}while(c(1));return!0}function q(a){if(!c(6))return!1;do{var b=d(),e=d(),g=d(),p=d(),h=d(),k=d();a&&(b+=f.currentX,e+=f.currentY,g+=f.currentX,p+=f.currentY,h+=f.currentX,k+=f.currentY);spider_AddPathCurve(b,e,g, +p,h,k,0);f.controlX=g;f.controlY=p;f.currentX=h;f.currentY=k}while(c(6));return!0}function r(b){if(!c(4))return!1;do{var a=d(),e=d(),g=d(),h=d(),k,l;"C"===f.lastCommand||"c"===f.lastCommand||"S"===f.lastCommand||"s"===f.lastCommand?(k=2*f.currentX-f.controlX,l=2*f.currentY-f.controlY):(k=f.currentX,l=f.currentY);b&&(a+=f.currentX,e+=f.currentY,g+=f.currentX,h+=f.currentY);spider_AddPathCurve(k,l,a,e,g,h,0);f.controlX=a;f.controlY=e;f.currentX=g;f.currentY=h}while(c(4));return!0}function s(a){if(!c(4))return!1; +do{var b=d(),e=d(),g=d(),h=d();a&&(b+=f.currentX,e+=f.currentY,g+=f.currentX,h+=f.currentY);spider_AddPathCurve(f.currentX+2/3*(b-f.currentX),f.currentY+2/3*(e-f.currentY),g+2/3*(b-g),h+2/3*(e-h),g,h,0);f.controlX=b;f.controlY=e;f.currentX=g;f.currentY=h}while(c(4));return!0}function t(b){if(!c(2))return!1;do{var a=d(),e=d(),g,h;"Q"===f.lastCommand||"q"===f.lastCommand||"T"===f.lastCommand||"t"===f.lastCommand?(g=2*f.currentX-f.controlX,h=2*f.currentY-f.controlY):(g=f.currentX,h=f.currentY);b&&(a+= +f.currentX,e+=f.currentY);spider_AddPathCurve(f.currentX+2/3*(g-f.currentX),f.currentY+2/3*(h-f.currentY),a+2/3*(g-a),e+2/3*(h-e),a,e,0);f.controlX=g;f.controlY=h;f.currentX=a;f.currentY=e}while(c(2));return!0}"undefined"===typeof b&&(b=0);var m=a.replace(","," ").split(" ").filter(function(a){return 0=e.min&&c<=e.max)}return!0},onChange:function(){n(b,9)}}),k=document.createElement("div");$(k).css("overflow","hidden");k.spiderId=b.id;k.appendChild(a.domNode);b.Disable=function(c){b.isDisabled= +c;a._populateGrid()};b.GetState=function(){var b=a.get("value");return c(b)};b.SetState=function(b){a.set("value",e(b))};b.GetAttribute=function(b){switch(b){case 1:return c(a.attr("constraints").min);case 2:return c(a.attr("constraints").max)}return 0};b.SetAttribute=function(b,c){var d=a.attr("constraints");switch(b){case 1:d.min=e(c);a.attr("constraints",d);a._populateGrid();break;case 2:d.max=e(c),a.attr("constraints",d),a._populateGrid()}};b.SetActive=function(){var a=A(k,"span","dijitDownArrowButton"); +spider.DigitFocus.focus(a)};b.GetRequiredSize=function(){var a=$(k).find("table").first(),a={width:a.get(0).clientWidth+6,height:a.get(0).clientHeight},b=$(k).find(".dijitCalendarMonthContainer").first();a.height+=b.get(0).clientHeight;b=$(k).find(".dijitCalendarYearContainer").first();a.height+=b.get(0).clientHeight;return a};b.Resize=function(b,c,e,d){var f=u(a.domNode);t(k,b,c,e,d);x(a,0,0,e-f.x,d-f.y)};spider.gadget.register(b,20,k,a);b.Resize(f,g,l,p);b.SetState(m);a._populateGrid();return b.resultId}; +window.spider_CanvasGadget=function(d,f,g,l,p,m){function h(a){k(a,!1);n(b,65539)}function e(a){k(a,!1);0===a.button?(n(b,65541),b.buttons&=-2):1===a.button?(n(b,65545),b.buttons&=-5):2===a.button&&(n(b,1),n(b,65543),b.buttons&=-3);window.removeEventListener("mouseup",e);window.removeEventListener("mousemove",h)}"undefined"===typeof m&&(m=0);var c=!1,b=spider.gadget.objects.Allocate(d),a=document.createElement("canvas");b.canvas=a;b.mouseX=0;b.mouseY=0;b.mouseWheelDelta=0;b.buttons=0;b.lastKey=0; +b.lastInput=0;b.modifiers=0;b.resolutionX=spider_DesktopResolutionX();"undefined"!==typeof ResizeObserver&&(new ResizeObserver(function(a){n(b,15)})).observe(a);m&4&&a.setAttribute("tabindex","0");var k=function(c,e){var d=a.getBoundingClientRect();if(e){if(0>=c.touches.length)return;b.mouseX=c.touches[0].clientX-d.left|0;b.mouseY=c.touches[0].clientY-d.top|0}else b.mouseX=c.clientX-d.left,b.mouseY=c.clientY-d.top;0>b.mouseX&&(b.mouseX=0);0>b.mouseY&&(b.mouseY=0);b.mouseX>=(a.width/b.resolutionX| +0)&&(b.mouseX=(a.width/b.resolutionX|0)-1);b.mouseY>=(a.height/b.resolutionX|0)&&(b.mouseY=(a.height/b.resolutionX|0)-1)};$(a).on({click:function(){n(b,0)},dblclick:function(){n(b,2)},mouseover:function(a){n(b,65537)},touchstart:function(a){k(a,!0);n(b,65537);b.buttons|=1;n(b,65540);c=!0},mouseout:function(a){n(b,65538)},"touchend touchcancel touchleave":function(a){k(a,!0);b.buttons&=-2;n(b,65541);n(b,65538)},touchmove:function(a){k(a,!0);n(b,65539)},mousemove:function(a){k(a,!1);n(b,65539)},mousedown:function(a){if(!c){var d; +k(a,!1);0===a.button?(d=65540,b.buttons|=1):1===a.button?(d=65544,b.buttons|=4):2===a.button&&(d=65542,b.buttons|=2);n(b,d);a.preventDefault();window.addEventListener("mouseup",e);window.addEventListener("mousemove",h);if(1===a.button)return!1}},focus:function(){n(b,7)},blur:function(){n(b,8)},wheel:function(a){a=a.originalEvent;b.mouseWheelDelta=0>a.deltaY?1:-1;n(b,65546);return!1},keydown:function(a){b.lastKey=a.keyCode;65<=b.lastKey&&90>=b.lastKey&&(b.lastKey+=32);16==a.keyCode&&(b.modifiers|= +1);17==a.keyCode&&(b.modifiers|=4);18==a.keyCode&&(b.modifiers|=2);n(b,65547)},keyup:function(a){b.lastKey=a.keyCode;65<=b.lastKey&&90>=b.lastKey&&(b.lastKey+=32);16==a.keyCode&&(b.modifiers&=-2);17==a.keyCode&&(b.modifiers&=-5);18==a.keyCode&&(b.modifiers&=-3);n(b,65548)},keypress:function(a){b.lastInput=a.which;b.lastInput&&n(b,65549)}});var r=document.createElement("div");r.appendChild(a);m&1&&$(r).addClass("sbCanvasBorder");b.Disable=function(a){b.isDisabled=a};b.GetAttribute=function(c){switch(c){case 1:return a; +case 4:return b.buttons;case 2:return b.mouseX*b.resolutionX|0;case 3:return b.mouseY*b.resolutionX|0;case 8:return b.mouseWheelDelta;case 5:return b.lastKey;case 9:return b.lastInput;case 6:return b.modifiers}};b.SetAttribute=function(c,e){switch(c){case 1:a.getContext("2d").drawImage(e,0,0);break;case 7:switch(b.cursor=e,e){case 0:a.style.cursor="default";b.cursor=-1;break;case 3:a.style.cursor="pointer";break;case 1:a.style.cursor="crosshair";break;case 2:a.style.cursor="text";break;case 4:a.style.cursor= +"wait";break;case 5:a.style.cursor="no-drop";break;case 6:a.style.cursor="move";break;case 7:a.style.cursor="w-resize";break;case 6:a.style.cursor="s-resize";break;case 8:a.style.cursor="se-resize";break;case 9:a.style.cursor="sw-resize";break;case 10:a.style.cursor="none"}}};b.SetActive=function(){$(a).focus()};b.Resize=function(c,e,d,k){var f=u(r);if(a.width!=(d*b.resolutionX|0)-f.x||a.height!=(k*b.resolutionX|0)-f.y)if(a.width=(d*b.resolutionX|0)-f.x,a.height=(k*b.resolutionX|0)-f.y,0===(m&16)){var g= +a.getContext("2d");g.fillStyle="#FFF";g.fillRect(0,0,a.width,a.height)}a.style.width=d+"px";a.style.height=k+"px";t(r,c,e,d-f.x,k-f.y)};spider.gadget.register(b,33,r,a);m&32&&spider.window.gadgetList.push(r,spider.window.currentWindowId);b.Resize(f,g,l,p);return b.resultId};window.spider_CanvasOutput=function(d){var f;return(f=spider.gadget.objects.Get(d))?{gadget:f,canvas:f.canvas,context:f.canvas.getContext("2d"),stopDrawingCallback:null}:0};window.spider_CanvasVectorOutput=function(d,f){"undefined"=== +typeof f&&(f=1);var g;return(g=spider.gadget.objects.Get(d))?{gadget:g,canvas:g.canvas,width:g.canvas.width,height:g.canvas.height,inputUnit:1,outputUnit:f,stopDrawingCallback:null}:0};window.spider_CheckBoxGadget=function(d,f,g,l,p,m,h){"undefined"===typeof h&&(h=0);var e=spider.gadget.objects.Allocate(d);d="spidercheckbox_"+e.id;var c=new dijit.form.CheckBox({id:d,onClick:function(){n(e,0)}}),b=document.createElement("div"),a=document.createElement("span");a.className="sbVerticalCenter";b.appendChild(a); +a.appendChild(c.domNode);var k=put(a,"label",{htmlFor:d});$(k).css("padding-left","5px");$(k).css("display","inline-block");c.label=k;h&1?$(k).css("text-align","right"):h&2&&$(k).css("text-align","center");e.Disable=function(a){$(k).css("color",a?"gray":"");c.set("disabled",a?!0:!1)};e.GetState=function(){return c.get("checked")?1:0};e.SetState=function(a){-1==a?c.set("value","mixed"):c.set("checked",a)};e.GetText=function(){return k.innerHTML};e.SetText=function(b){k.innerHTML=b;""===b?a.removeChild(k): +a.appendChild(k)};e.GetRequiredSize=function(){var a=$(b).css("fontSize")+" "+$(b).css("fontFamily"),a=z(e,a,e.GetText());a.width+=28;a.height+=6;return a};e.Resize=function(e,d,f,g){t(b,e,d,f,g);$(a).width(f);$(a).height(g);$(k).width(f-$(c.domNode).outerWidth(!0)-5)};spider.gadget.register(e,4,b,c);c.startup();e.SetText(m);e.Resize(f,g,l,p);return e.resultId};window.spider_ClearGadgetItems=function(d){var f;(f=spider.gadget.objects.Get(d))&&f.ClearItems&&f.ClearItems()};window.spider_CloseGadgetList= +function(){spider.window.gadgetList.pop()};window.spider_ComboBoxGadget=function(d,f,g,l,p,m){"undefined"===typeof m&&(m=0);var h=spider.gadget.objects.Allocate(d),e=0,c=spider_NewList(function(){return{id:null,text:null}}),b=new spider.StoreMemory,a=new dijit.form.ComboBox({store:b,onChange:function(){n(h,9)},onFocus:function(){spider.DigitFocus.focus(a.focusNode);n(h,7)},onBlur:function(){n(h,8)}});m&1||$(a.focusNode).attr("readOnly",!0);var k=document.createElement("div");k.appendChild(a.domNode); +$(a._buttonNode).css("height","100%");var r=-1,q=function(){b=new spider.StoreMemory;e=0;spider_ResetList(c);for(var d;d=spider_NextElement(c);)b.add({name:d.text,id:e}),e++;a.set("store",b)};a.watch("item",function(a,b,c){c&&(r=c.id)});h.GetState=function(){return r};h.SetState=function(c){b.get(c)?(a.set("value",b.get(c).name),r=c):(a.set("value",""),r=-1)};h.GetText=function(){return a.get("value")};h.SetText=function(b){a.set("value",b);r=-1};h.AddItem=function(a,d,k,f){-1==a&&(a=spider_ListSize(c)); +0>=a?spider_ResetList(c):spider_SelectElement(c,a-1);a=spider_AddElement(c);a.id=e;a.text=d;a.imageId=k;b.add({name:"",id:e});d=spider_ListIndex(c);do b.put({name:a.text},b.get(d)),d++;while(a=spider_NextElement(c));e++};h.RemoveItem=function(a){spider_ListSize(c)>a&&0<=a&&(spider_SelectElement(c,a),spider_DeleteElement(c),q(),r==a&&h.SetState(a))};h.ClearItems=function(){spider_ClearList(c);q();a.set("value","");r=-1};h.CountItems=function(){return spider_ListSize(c)};h.SetColor=function(b,c){C(h, +a.focusNode.parentNode,a.focusNode,b,c)};h.GetItemData=function(a){var b;return(b=spider_SelectElement(c,a))?b.data?b.data:0:0};h.SetItemData=function(a,b){var d;if(d=spider_SelectElement(c,a))d.data=b};h.GetItemText=function(a,b){var d;return(d=spider_SelectElement(c,a))?d.text:""};h.SetItemText=function(a,d,e){if(e=spider_SelectElement(c,a))e.text=d,a=b.get(a),a.name=d,b.put(a)};h.GetRequiredSize=function(){var a=$(k).css("fontSize")+" "+$(k).css("fontFamily"),a=z(h,a,"Hg");a.width=50;a.height+= +5;return a};h.Resize=function(b,c,d,e){t(k,b,c,d,e);b=u(a.domNode);x(a,0,0,d-b.x,e-b.y);"claro"==spider.gadgetTheme?$(a.focusNode).height(e-b.y-2):$(a.focusNode).height(e-b.y)};spider.gadget.register(h,8,k,a);h.Resize(f,g,l,p);return h.resultId};window.spider_ContainerGadget=function(d,f,g,l,p,m){var h=spider.gadget.objects.Allocate(d);"undefined"===typeof m&&(m=0);var e=new dijit.layout.ContentPane({style:"overflow: hidden; padding: 0px;",content:""}),c=document.createElement("div");e.placeAt(c); +m&1?$(c).addClass("sbContainerBorder"):m&4?$(c).addClass("sbContainerBorderSingle"):m&2?$(c).addClass("sbContainerBorderRaised"):m&8&&$(c).addClass("sbContainerBorderDouble");h.GetColor=function(b){return 2==b?h.backColor?h.backColor:-1:-1};h.SetColor=function(b,a){2==b&&($(c).css("background-color",spider_helper_ColorToHtml(a)),h.backColor=a)};h.GetHeight=function(b){return 1==b?B(h.id).width:c.clientHeight};h.GetWidth=function(b){return 1==b?B(h.id).width:c.clientWidth};h.Resize=function(b,a,d, +f){var g=u(c);t(c,b,a,d,f);x(e,0,0,d-g.x,f-g.y);e.resize()};spider.gadget.register(h,11,c,e);spider.window.gadgetList.push(e.domNode,spider.window.currentWindowId);h.Resize(f,g,l,p);spider.DojoAspect.after(e,"resize",function(b,a){n(h,15)});return h.resultId};window.spider_CountGadgetItems=function(d){var f;return(f=spider.gadget.objects.Get(d))&&f.CountItems?f.CountItems():0};window.spider_DateGadget=function(d,f,g,l,p,m,h,e){function c(a){a=spider_ReplaceString(a,"%yyyy","yyyy");a=spider_ReplaceString(a, +"%mm","MM");return a=spider_ReplaceString(a,"%dd","dd")}function b(a){return new Date(spider_Year(a),spider_Month(a)-1,spider_Day(a))}function a(a){return spider_Date(a.getFullYear(),a.getMonth()+1,a.getDate(),0,0,0)}"undefined"===typeof m&&(m="%yyyy/%mm/%dd");"undefined"===typeof h&&(h=spider_Date());"undefined"===typeof e&&(e=0);var k=spider.gadget.objects.Allocate(d),r,q=new dijit.form.DateTextBox({constraints:{min:new Date(1601,0,0),max:new Date(9999,0,0),datePattern:c(m)},onChange:function(){n(k, +9)}});$(q._buttonNode).css("height","100%");var w=document.createElement("div"),s=0;e&2&&(r=new dijit.form.CheckBox({onClick:function(){r.get("checked")?k.SetState(q.get("value")):k.SetState(0)}}),w.appendChild(r.domNode),s=21,$(q.domNode).css("margin-left",s));w.appendChild(q.domNode);k.Disable=function(a){E(k,q.focusNode.parentNode,q.focusNode,a)};k.GetText=function(){return e&2&&!1===r.get("checked")?"":q.get("displayedValue")};k.SetText=function(a){var b=q.get("value");q.attr("constraints").datePattern= +c(a);q.set("value",b)};k.GetState=function(){return e&2&&!1===r.get("checked")?0:a(q.get("value"))};k.SetState=function(a){if(e&2){var c=0===a;k.Disable(c);r.set("checked",!c)}0!==(e&2)&&0===a||q.set("value",b(a))};k.GetAttribute=function(b){switch(b){case 1:return a(q.attr("constraints").min);case 2:return a(q.attr("constraints").max)}return 0};k.SetAttribute=function(a,c){var d=q.attr("constraints");switch(a){case 1:d.min=b(c);q.attr("constraints",d);break;case 2:d.max=b(c),q.attr("constraints", +d)}};k.GetColor=function(a){switch(a){case 2:return k.backColor?k.backColor:-1;case 1:return k.frontColor?k.frontColor:-1}return-1};k.SetColor=function(a,b){C(k,q.focusNode.parentNode,q.focusNode,a,b)};k.GetRequiredSize=function(){var a=$(w).css("fontSize")+" "+$(w).css("fontFamily"),a=z(k,a,"Hg");a.width=60;a.height+=5;return a};k.Resize=function(a,b,c,d){t(w,a,b,c,d);a=u(q._popupStateNode);x(q,0,0,c-a.x-s,d-a.y);$(q.domNode).height(d-a.y);"claro"==spider.gadgetTheme?$(q.focusNode).height(d-a.y- +2):$(q.focusNode).height(d-a.y)};spider.gadget.register(k,21,w,q);k.SetState(h);k.Resize(f,g,l,p);return k.resultId};window.spider_DisableGadget=function(d,f){var g;if(g=spider.gadget.objects.Get(d))g.Disable?g.Disable(f):g.gadget instanceof dijit._WidgetBase&&g.gadget.set("disabled",f?!0:!1)};window.spider_EditorGadget=function(d,f,g,l,p,m){"undefined"===typeof m&&(m=0);var h=spider.gadget.objects.Allocate(d),e=new dijit.form.SimpleTextarea({style:"overflow: auto; resize: none;",intermediateChanges:!0, +onChange:function(){n(h,9)},onFocus:function(){spider.DigitFocus.focus(e.focusNode);n(h,7)},onBlur:function(){n(h,8)}});d=e.domNode;var c=document.createElement("div");c.appendChild(d);h.editor=e;m&2||$(e.focusNode).attr("wrap","off");m&1&&$(e.focusNode).attr("readOnly",!0);h.Disable=function(b){E(h,e.focusNode,e.focusNode,b)};h.GetText=function(){return e.get("value")};h.SetText=function(b){e.set("value","");e.set("value",b);e.textbox.scrollTop=e.textbox.scrollHeight};h.GetAttribute=function(b){switch(b){case 2:return"off"== +$(e.focusNode).attr("wrap")?0:1;case 1:return $(e.focusNode).attr("readOnly")?1:0}return 0};h.SetAttribute=function(b,a){switch(b){case 2:$(e.focusNode).attr("wrap",a?"":"off");break;case 1:$(e.focusNode).attr("readOnly",a?!0:!1)}};h.GetColor=function(b){switch(b){case 2:return h.backColor?h.backColor:-1;case 1:return h.frontColor?h.frontColor:-1}return-1};h.SetColor=function(b,a){C(h,e.focusNode,e.focusNode,b,a)};h.SetFont=function(b){G(e.focusNode,b)};h.Resize=function(b,a,d,f){t(c,b,a,d,f);b=u(e.focusNode); +x(e,0,0,d-b.x,f-b.y)};spider.gadget.register(h,22,c,e);h.Resize(f,g,l,p);return h.resultId};window.spider_FrameGadget=function(d,f,g,l,p,m,h){"undefined"===typeof h&&(h=0);var e=spider.gadget.objects.Allocate(d),c=document.createElement("fieldset");$(c).css("margin",0);$(c).addClass("sbFrameBorder");var b=document.createElement("div");b.appendChild(c);var a=document.createElement("legend");e.legend=a;e.GetText=function(){return a.innerHTML};e.SetText=function(b){a.innerHTML=b;""===b?c.hasChildNodes()&& +c.removeChild(a):c.appendChild(a)};e.SetFont=function(a){var c=u(b),d=parseInt($(e.div).css("left"),10),f=parseInt($(e.div).css("top"),10),g=$(b).width()+c.x,c=$(b).height()+c.y;G(b,a);e.Resize(d,f,g,c)};e.GetRequiredSize=function(){var a={width:0,height:0};$.each($(b).children(),function(b,c){a.width+=$(c).outerWidth(!0);a.height+=$(c).outerHeight(!0)});var d=u(c);a.width-=d.x;a.height-=d.y;return a};e.Resize=function(a,d,e,f){t(b,a,d,e,f);a=u(c);t(c,0,0,e-a.x,f-a.y)};e.SetText(m);spider.gadget.register(e, +7,b,c);e.Resize(f,g,l,p);return e.resultId};window.spider_FreeGadget=F;window.spider_GadgetHeight=L;window.spider_GadgetID=function(d){var f;return(f=spider.gadget.objects.Get(d))?f:null};window.spider_GadgetToolTip=function(d,f){var g;if(g=spider.gadget.objects.Get(d))g.tooltip||(g.tooltip=new dijit.Tooltip({connectId:g.div})),g.tooltip.set("label",f)};window.spider_GadgetType=function(d){if(d=spider.gadget.objects.Get(d))return d.type};window.spider_GadgetWidth=M;window.spider_GadgetX=N;window.spider_GadgetY= +O;window.spider_GetActiveGadget=function(){var d=-1,f;f=spider.DigitFocus.curNode;for(var g;!g&&f;)f.hasOwnProperty("spiderId")?g=f:(g=spider.DigitRegistry.byNode(f),f=f.parentElement?f.parentElement:null,g&&!g.hasOwnProperty("spiderId")&&(g=null));(f=g)&&f.hasOwnProperty("spiderId")&&(d=f.spiderId);return d};window.spider_GetGadgetAttribute=function(d,f){var g;return(g=spider.gadget.objects.Get(d))&&g.GetAttribute?g.GetAttribute(f):0};window.spider_GetGadgetColor=function(d,f){var g;return(g=spider.gadget.objects.Get(d))&& +g.GetColor?g.GetColor(f):0};window.spider_GetGadgetData=function(d){var f;return(f=spider.gadget.objects.Get(d))?f.userData:0};window.spider_GetGadgetItemAttribute=function(d,f,g,l){"undefined"===typeof l&&(l=-1);var p;return(p=spider.gadget.objects.Get(d))&&p.GetItemAttribute?p.GetItemAttribute(f,g,l):0};window.spider_GetGadgetItemData=function(d,f){var g;return(g=spider.gadget.objects.Get(d))&&g.GetItemData?g.GetItemData(f):0};window.spider_GetGadgetItemState=function(d,f){var g;return(g=spider.gadget.objects.Get(d))&& +g.GetItemState?g.GetItemState(f):0};window.spider_GetGadgetItemText=function(d,f,g){"undefined"===typeof g&&(g=-1);var l;return(l=spider.gadget.objects.Get(d))&&l.GetItemText?l.GetItemText(f,g):""};window.spider_GetGadgetState=function(d){var f;return(f=spider.gadget.objects.Get(d))&&f.GetState?f.GetState():0};window.spider_GetGadgetText=function(d){var f;return(f=spider.gadget.objects.Get(d))&&f.GetText?f.GetText():""};window.spider_HideGadget=function(d,f){var g;(g=spider.gadget.objects.Get(d))&& +$(g.div).css("display",f?"none":"block")};window.spider_HyperLinkGadget=function(d,f,g,l,p,m,h,e){"undefined"===typeof e&&(e=0);var c=spider.gadget.objects.Allocate(d),b=document.createElement("a");b.innerHTML=m;b.href="";0===(e&1)&&$(b).css("text-decoration","none");$(b).hover(function(a){$(this).css("color",spider_helper_ColorToHtml("mouseenter"===a.type?h:c.frontColor))});$(b).on("click",function(a){a.preventDefault();a.stopPropagation();n(c,0)});var a=document.createElement("div"),k=document.createElement("span"); +k.className="sbVerticalCenter";a.appendChild(k);k.appendChild(b);c.GetText=function(){return b.innerHTML};c.SetText=function(a){b.innerHTML=a};c.GetColor=function(a){switch(a){case 2:return c.backColor?c.backColor:-1;case 1:return c.frontColor?c.frontColor:-1}return-1};c.SetColor=function(d,e){switch(d){case 2:$(a).css("background-color",spider_helper_ColorToHtml(e));c.backColor=e;break;case 1:b.style.color=spider_helper_ColorToHtml(e),c.frontColor=e}};c.GetRequiredSize=function(){var b=$(a).css("fontSize")+ +" "+$(a).css("fontFamily"),b=z(c,b,c.GetText());b.width+=16;b.height+=8;return b};c.Resize=function(b,c,d,e){t(a,b,c,d,e);$(k).width(d);$(k).height(e)};c.SetColor(1,0);spider.gadget.register(c,10,a,b);c.Resize(f,g,l,p);return c.resultId};window.spider_ImageGadget=function(d,f,g,l,p,m,h){"undefined"===typeof h&&(h=0);var e=spider.gadget.objects.Allocate(d),c=document.createElement("div"),b=document.createElement("canvas");b.style.width=l+"px";b.style.height=p+"px";put(c,b);h&2&&$(c).addClass("sbImageBorder"); +$(c).on({click:function(){n(e,0)},dblclick:function(){n(e,2)},mouseup:function(a){3===a.which&&1===a.originalEvent.detail&&n(e,1)}});e.GetState=function(){return e.image};e.SetState=function(a){a?(b.width!=a.width&&(b.width=a.width),b.height!=a.height&&(b.height=a.height),b.getContext("2d").drawImage(a,0,0)):(b.width=0,b.height=0);e.image=a};e.Resize=function(a,d,e,f){var g=u(c);b.style.width=e+"px";b.style.height=f+"px";t(c,a,d,e-g.x,f-g.y)};e.Free=function(){$(b).remove();b=null;c.parentNode&&$(c).remove()}; +spider.gadget.register(e,9,c,c);e.Resize(f,g,l,p);e.SetState(m);return e.resultId};window.spider_IsGadget=function(d){var f;return(f=spider.gadget.objects.Get(d))&&f.div.parentNode?1:0};window.spider_ListIconGadget=function(d,f,g,l,p,m,h,e){function c(a,b){for(var c=a;c<=b;c++)q.put({id:c})}function b(){for(var a=0;a=b?spider_ResetList(k):spider_SelectElement(k,b-1);b=spider_AddElement(k);b.text= +d;w&1&&(b.checkBox=new dijit.form.CheckBox({onClick:function(){n(a,9)}}));e&&(b.image=e);d=spider_ListIndex(k);q.add({id:spider_ListSize(k)-1});c(d,spider_ListSize(k)-1)};a.RemoveItem=function(b){var d=spider_ListSize(k);if(d>b&&0<=b){var e=a.GetState();e>b&&a.SetState(e-1);spider_SelectElement(k,b);spider_DeleteElement(k);q.remove(d-1);c(b,d-2)}};a.ClearItems=function(){spider_ClearList(k);q=new r;s.set("collection",q)};a.CountItems=function(){return spider_ListSize(k)};a.AddColumn=function(a,c, +d){v.splice(a,0,{field:"",index:0,label:c,width:d,sortable:!1,renderCell:function(a,b,c,d){b=spider_SelectElement(k,a.id);a=put("div");e&4||$(c).css("border","none");0===this.index&&(b.checkBox&&(c=put("div"),$(c).css("float","left"),$(c).css("padding-right","8px"),put(c,b.checkBox.domNode),a.appendChild(c)),b.image&&(c=put("div"),$(c).css("float","left"),$(c).css("padding-right","8px"),c.className=spider.image.GetCSS(b.image),a.appendChild(c)));c=put("div",spider_StringField(b.text,this.index+1, +spider_Chr(10)));$(c).css("white-space","nowrap");a.appendChild(c);return a}});b()};a.RemoveColumn=function(a){v.splice(a,1);b()};a.GetState=function(){var b=-1;if(a.previousSelection)b=a.previousSelection;else for(var c in s.selection){b=c;break}return+b};a.SetState=function(a){s.clearSelection();0<=a&&a=b?spider_ResetList(a):spider_SelectElement(a,b-1);spider_AddElement(a).text=c;b=spider_ListIndex(a);k.add({id:spider_ListSize(a)-1});e(b,spider_ListSize(a)-1)};c.RemoveItem=function(b){var d=spider_ListSize(a); +if(d>b&&0<=b){var f=c.GetState();f>b&&c.SetState(f-1);spider_SelectElement(a,b);spider_DeleteElement(a);k.remove(d-1);e(b,d-2)}};c.ClearItems=function(){h()};c.CountItems=function(){return spider_ListSize(a)};c.GetState=function(){var a=-1;if(c.previousSelection)a=c.previousSelection;else for(var b in r.selection){a=b;break}return+a};c.SetState=function(b){r.clearSelection();0<=b&&bc.oldValue?n(c,4):aa.get("maximum")?b=a.get("maximum"):b=d?spider_ResetList(c):spider_SelectElement(c,d-1);d=spider_AddElement(c);d.id=a;d.text=e;d.subLevel=g;f&&(d.image=f);f="";var h;spider_ListIndex(c);if(0a&&0<=a&&(a=spider_SelectElement(c,a),spider_DeleteElement(c),b.remove(a.id),q.set("selectedItems", +[]),s())};e.ClearItems=function(){for(var a=spider_ListSize(c),b=0;b=0 && v_row<1 && v_row!=settings$g__currentsection) { +spiderLine=12583096; +settings$f__showsection(v_row); +} +spiderLine=12583097; +} +spiderLine=12583099; +return 0; +} +function settings$f_handler_save() { +var v_confirm=""; +var v_current=""; +var v_new_=""; +spiderLine=12583101; +spiderLine=12583102; +v_current=spider_GetGadgetText_DEBUG(settings$g__incurrent); +spiderLine=12583103; +v_new_=spider_GetGadgetText_DEBUG(settings$g__innew); +spiderLine=12583104; +v_confirm=spider_GetGadgetText_DEBUG(settings$g__inconfirm); +spiderLine=12583106; +if (v_current==_S3 || v_new_==_S3 || v_confirm==_S3) { +spiderLine=12583107; +notify$f_toast(_S145,2,4000); +spiderLine=12583108; +if (1) return 0; +} +spiderLine=12583109; +spiderLine=12583110; +if (v_new_!=v_confirm) { +spiderLine=12583111; +notify$f_toast(_S146,2,4000); +spiderLine=12583112; +if (1) return 0; +} +spiderLine=12583113; +spiderLine=12583114; +if (spider_Len(v_new_)<8) { +spiderLine=12583115; +notify$f_toast(_S147,2,4000); +spiderLine=12583116; +if (1) return 0; +} +spiderLine=12583117; +spiderLine=12583119; +spider_DisableGadget_DEBUG(settings$g__btnsave,1); +spiderLine=12583123; +spider_HTTPRequest(1,_S148,_S149+spider_URLEncoder_DEBUG(v_current,2)+_S150+spider_URLEncoder_DEBUG(v_new_,2),settings$f__savecallback); +spiderLine=12583124; +return 0; +} +function settings$f__showsection(v_section) { +spiderLine=12583061; +spiderLine=12583062; +settings$f__hidesection(settings$g__currentsection); +spiderLine=12583063; +settings$g__currentsection=v_section; +spiderLine=12583064; +var sb_select6=v_section; +spiderLine=12583065; +if (sb_select6==0) { +spiderLine=12583066; +spider_HideGadget_DEBUG(settings$g__lblcurrent,0); +spiderLine=12583067; +spider_HideGadget_DEBUG(settings$g__incurrent,0); +spiderLine=12583068; +spider_HideGadget_DEBUG(settings$g__lblnew,0); +spiderLine=12583069; +spider_HideGadget_DEBUG(settings$g__innew,0); +spiderLine=12583070; +spider_HideGadget_DEBUG(settings$g__lblconfirm,0); +spiderLine=12583071; +spider_HideGadget_DEBUG(settings$g__inconfirm,0); +spiderLine=12583072; +spider_HideGadget_DEBUG(settings$g__btnsave,0); +} +spiderLine=12583074; +settings$f__drawpanel(); +spiderLine=12583075; +return 0; +} +function settings$f__hidesection(v_section) { +spiderLine=12583048; +spiderLine=12583049; +var sb_select5=v_section; +spiderLine=12583050; +if (sb_select5==0) { +spiderLine=12583051; +spider_HideGadget_DEBUG(settings$g__lblcurrent,1); +spiderLine=12583052; +spider_HideGadget_DEBUG(settings$g__incurrent,1); +spiderLine=12583053; +spider_HideGadget_DEBUG(settings$g__lblnew,1); +spiderLine=12583054; +spider_HideGadget_DEBUG(settings$g__innew,1); +spiderLine=12583055; +spider_HideGadget_DEBUG(settings$g__lblconfirm,1); +spiderLine=12583056; +spider_HideGadget_DEBUG(settings$g__inconfirm,1); +spiderLine=12583057; +spider_HideGadget_DEBUG(settings$g__btnsave,1); +} +spiderLine=12583059; +return 0; +} +function settings$f__drawpanel() { +var v_h=0; +var v_i=0; +var v_w=0; +var v_y=0; +var v_th=0; +spiderLine=12583019; +spiderLine=12583020; +if (!(spider_IsGadget_DEBUG(settings$g__panelcanvas))) { +spiderLine=12583020; +if (1) return 0; +} +spiderLine=12583020; +spiderLine=12583021; +if (!(spider_StartDrawing_DEBUG(spider_CanvasOutput_DEBUG(settings$g__panelcanvas)))) { +spiderLine=12583021; +if (1) return 0; +} +spiderLine=12583021; +spiderLine=12583023; +v_w=spider_OutputWidth_DEBUG(); +spiderLine=12583024; +v_h=spider_OutputHeight_DEBUG();;;; +spiderLine=12583027; +spider_Box_DEBUG(0,0,v_w,v_h,settings$g_color_panel_bg); +spiderLine=12583028; +spider_Box_DEBUG((v_w+-1),0,1,v_h,settings$g_color_sep); +spiderLine=12583030; +if (spider_IsFont_DEBUG(settings$g_panelfont)) { +spiderLine=12583030; +spider_DrawingFont_DEBUG(spider_FontID_DEBUG(settings$g_panelfont)); +} +spiderLine=12583030; +spiderLine=12583031; +v_th=spider_BankerRound(spider_TextHeight_DEBUG(_S31)); +spiderLine=12583033; +v_i=0; +for (;0>=v_i;v_i+=1) { +spiderLine=12583034; +v_y=(v_i*44); +spiderLine=12583035; +if (v_i==settings$g__currentsection) { +spiderLine=12583036; +spider_Box_DEBUG(0,v_y,(v_w+-1),44,settings$g_color_sel); +spiderLine=12583037; +spider_Box_DEBUG(0,v_y,3,44,settings$g_color_accent); +spiderLine=12583038; +} else if (v_i==settings$g__panelhover) { +spiderLine=12583039; +spider_Box_DEBUG(0,v_y,(v_w+-1),44,settings$g_color_hover); +} +spiderLine=12583040; +spiderLine=12583041; +spider_DrawingMode_DEBUG(1); +spiderLine=12583042; +spider_DrawText_DEBUG(14,(v_y+(((((-(v_th))+44))/2))),settings$a__SectionNames.array[v_i],settings$g_color_text); +spiderLine=12583043; +} +spiderLine=12583045; +spider_StopDrawing_DEBUG(); +spiderLine=12583046; +return 0; +} +function appmanager$f__closeinstalldialog() { +spiderLine=14680260; +spiderLine=14680261; +if (!(spider_IsWindow_DEBUG(appmanager$g__inputwin))) { +spiderLine=14680261; +if (1) return 0; +} +spiderLine=14680261; +spiderLine=14680262; +spider_UnbindGadgetEvent_DEBUG(appmanager$g__okbtn,appmanager$f_handler_inputok); +spiderLine=14680263; +spider_UnbindGadgetEvent_DEBUG(appmanager$g__cancelbtn,appmanager$f_handler_inputcancel); +spiderLine=14680264; +spider_UnbindEvent(4,appmanager$f_handler_inputcancel,appmanager$g__inputwin); +spiderLine=14680265; +spider_CloseWindow_DEBUG(appmanager$g__inputwin); +spiderLine=14680266; +appmanager$g__inputwin=0; +spiderLine=14680267; +return 0; +} +function appmanager$f__openinstalldialog() { +var v_x=0; +var v_y=0; +spiderLine=14680241; +spiderLine=14680242; +if (spider_IsWindow_DEBUG(appmanager$g__inputwin)) { +spiderLine=14680242; +if (1) return 0; +} +spiderLine=14680242; +spiderLine=14680244; +v_x=(spider_WindowX_DEBUG(appmanager$g_window)+90); +spiderLine=14680245; +v_y=(spider_WindowY_DEBUG(appmanager$g_window)+140); +spiderLine=14680248; +appmanager$g__inputwin=spider_OpenWindow_DEBUG(-1,v_x,v_y,340,100,_S159,24); +spiderLine=14680249; +spider_TextGadget_DEBUG(-1,10,14,320,18,_S160); +spiderLine=14680250; +appmanager$g__urlfield=spider_StringGadget_DEBUG(-1,10,34,320,26,_S3); +spiderLine=14680251; +appmanager$g__okbtn=spider_ButtonGadget_DEBUG(-1,10,68,150,24,_S161); +spiderLine=14680252; +appmanager$g__cancelbtn=spider_ButtonGadget_DEBUG(-1,170,68,160,24,_S29); +spiderLine=14680253; +spider_SetActiveGadget_DEBUG(appmanager$g__urlfield); +spiderLine=14680255; +spider_BindGadgetEvent_DEBUG(appmanager$g__okbtn,appmanager$f_handler_inputok); +spiderLine=14680256; +spider_BindGadgetEvent_DEBUG(appmanager$g__cancelbtn,appmanager$f_handler_inputcancel); +spiderLine=14680257; +spider_BindEvent_DEBUG(4,appmanager$f_handler_inputcancel,appmanager$g__inputwin); +spiderLine=14680258; +return 0; +} +function appmanager$f_open() { +spiderLine=14680139; +spiderLine=14680140; +if (spider_IsWindow_DEBUG(appmanager$g_window)) { +spiderLine=14680141; +spider_SetActiveWindow_DEBUG(appmanager$g_window); +spiderLine=14680141; +if (1) return 0; +} +spiderLine=14680142; +spiderLine=14680145; +appmanager$g_window=spider_OpenWindow_DEBUG(-1,160,100,520,380,_S39,56); +spiderLine=14680146; +spider_SetWindowColor_DEBUG(appmanager$g_window,appmanager$g_color_bg); +spiderLine=14680148; +appmanager$g__installbtn=spider_ButtonGadget_DEBUG(-1,4,6,100,28,_S155); +spiderLine=14680149; +appmanager$g__launchbtn=spider_ButtonGadget_DEBUG(-1,112,6,80,28,_S156); +spiderLine=14680150; +appmanager$g__uninstallbtn=spider_ButtonGadget_DEBUG(-1,200,6,90,28,_S157); +spiderLine=14680153; +appmanager$g__canvas=spider_CanvasGadget_DEBUG(-1,0,40,520,314); +spiderLine=14680156; +appmanager$g__statuslabel=spider_TextGadget_DEBUG(-1,4,358,512,18,_S3); +spiderLine=14680157; +spider_SetGadgetColor_DEBUG(appmanager$g__statuslabel,1,appmanager$g_color_dim); +spiderLine=14680158; +spider_SetGadgetColor_DEBUG(appmanager$g__statuslabel,2,appmanager$g_color_bg); +spiderLine=14680160; +spider_BindGadgetEvent_DEBUG(appmanager$g__installbtn,appmanager$f_handler_install); +spiderLine=14680161; +spider_BindGadgetEvent_DEBUG(appmanager$g__launchbtn,appmanager$f_handler_launch); +spiderLine=14680162; +spider_BindGadgetEvent_DEBUG(appmanager$g__uninstallbtn,appmanager$f_handler_uninstall); +spiderLine=14680163; +spider_BindGadgetEvent_DEBUG(appmanager$g__canvas,appmanager$f_handler_canvas); +spiderLine=14680164; +spider_BindEvent_DEBUG(7,appmanager$f_handler_resize,appmanager$g_window); +spiderLine=14680165; +spider_BindEvent_DEBUG(4,appmanager$f_handler_close,appmanager$g_window); +spiderLine=14680167; +desktop$f_register(_S39,appmanager$g_window,_S40); +spiderLine=14680168; +appmanager$f__updatebuttons(); +spiderLine=14680169; +appmanager$f__refresh(); +spiderLine=14680170; +return 0; +} +function appmanager$f_handler_launch() { +spiderLine=14680407; +spiderLine=14680408; +if (appmanager$g__selected<0 || !(spider_SelectElement_DEBUG(appmanager$t__Apps,appmanager$g__selected))) { +spiderLine=14680408; +if (1) return 0; +} +spiderLine=14680408; +spiderLine=14680409; +appruntime$f_launch(appmanager$t__Apps.current._ID,appmanager$t__Apps.current._Manifest,appmanager$t__Apps.current._Permissions); +spiderLine=14680410; +return 0; +} +function appmanager$f_handler_close() { +spiderLine=14680451; +spiderLine=14680452; +appmanager$f__closeinstalldialog(); +spiderLine=14680453; +spider_UnbindGadgetEvent_DEBUG(appmanager$g__installbtn,appmanager$f_handler_install); +spiderLine=14680454; +spider_UnbindGadgetEvent_DEBUG(appmanager$g__launchbtn,appmanager$f_handler_launch); +spiderLine=14680455; +spider_UnbindGadgetEvent_DEBUG(appmanager$g__uninstallbtn,appmanager$f_handler_uninstall); +spiderLine=14680456; +spider_UnbindGadgetEvent_DEBUG(appmanager$g__canvas,appmanager$f_handler_canvas); +spiderLine=14680457; +spider_UnbindEvent(7,appmanager$f_handler_resize,appmanager$g_window); +spiderLine=14680458; +spider_UnbindEvent(4,appmanager$f_handler_close,appmanager$g_window); +spiderLine=14680459; +desktop$f_unregister(appmanager$g_window); +spiderLine=14680460; +appmanager$g_window=0; +spiderLine=14680461; +return 0; +} +function appmanager$f__updatebuttons() { +spiderLine=14680232; +spiderLine=14680233; +spider_DisableGadget_DEBUG(appmanager$g__launchbtn,(appmanager$g__selected<0?1:0)); +spiderLine=14680234; +spider_DisableGadget_DEBUG(appmanager$g__uninstallbtn,(appmanager$g__selected<0?1:0)); +spiderLine=14680235; +return 0; +} +function appmanager$f__listcallback(v_success,v_datastring) { +var v_permcount=0; +var v_icon=""; +var v_i=0; +var v_j=0; +var v_n=""; +var v_maninode=0; +var v_root=0; +var v_permnode=0; +var v_item=0; +var v_count=0; +var v_total=0; +var v_perms=""; +spiderLine=14680270; +spiderLine=14680271; +if (!(spider_IsWindow_DEBUG(appmanager$g_window))) { +spiderLine=14680271; +if (1) return 0; +} +spiderLine=14680271; +spiderLine=14680273; +spider_ClearList_DEBUG(appmanager$t__Apps); +spiderLine=14680274; +appmanager$g__selected=-1; +spiderLine=14680276; +if (v_success && spider_ParseJSON_DEBUG(0,v_datastring)) { +spiderLine=14680277; +v_root=spider_JSONValue_DEBUG(0); +spiderLine=14680278; +v_total=spider_JSONArraySize_DEBUG(v_root);; +spiderLine=14680281; +v_i=0; +for (;(v_total+-1)>=v_i;v_i+=1) { +spiderLine=14680282; +v_item=spider_GetJSONElement_DEBUG(v_root,v_i); +spiderLine=14680283; +v_maninode=spider_GetJSONMember_DEBUG(v_item,_S44); +spiderLine=14680285; +spider_AddElement_DEBUG(appmanager$t__Apps); +spiderLine=14680286; +appmanager$t__Apps.current._ID=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_item,_S45)); +spiderLine=14680288; +v_n=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S42)); +spiderLine=14680289; +if (v_n!=_S3) { +spiderLine=14680290; +appmanager$t__Apps.current._Name=v_n; +spiderLine=14680291; +} else { +spiderLine=14680291; +spiderLine=14680292; +appmanager$t__Apps.current._Name=appmanager$t__Apps.current._ID; +} +spiderLine=14680293; +spiderLine=14680296; +v_icon=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S46)); +spiderLine=14680302; +appmanager$t__Apps.current._Manifest=_S52+spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S53))+_S54+spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S42))+_S55+spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S56))+_S57+spider_ReplaceString_DEBUG(v_icon,_S50,_S58)+_S59+spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S60))+_S61; +spiderLine=14680305; +v_permnode=spider_GetJSONMember_DEBUG(v_item,_S47); +spiderLine=14680306; +v_permcount=spider_JSONArraySize_DEBUG(v_permnode);; +spiderLine=14680307; +v_perms=_S48; +spiderLine=14680308; +v_j=0; +for (;(v_permcount+-1)>=v_j;v_j+=1) { +spiderLine=14680309; +if (v_j>0) { +spiderLine=14680309; +v_perms=v_perms+_S49; +} +spiderLine=14680309; +spiderLine=14680310; +v_perms=v_perms+_S50+spider_GetJSONString_DEBUG(spider_GetJSONElement_DEBUG(v_permnode,v_j))+_S50; +spiderLine=14680311; +} +spiderLine=14680312; +appmanager$t__Apps.current._Permissions=v_perms+_S51; +spiderLine=14680316; +desktop$f_installthirdpartyapp(appmanager$t__Apps.current._ID,appmanager$t__Apps.current._Manifest,appmanager$t__Apps.current._Permissions,v_icon); +spiderLine=14680317; +} +spiderLine=14680318; +spider_FreeJSON_DEBUG(0); +spiderLine=14680320; +v_count=spider_ListSize_DEBUG(appmanager$t__Apps); +spiderLine=14680321; +if (v_count==1) { +spiderLine=14680322; +appmanager$f__status(_S162); +spiderLine=14680323; +} else { +spiderLine=14680323; +spiderLine=14680324; +appmanager$f__status(spider_Str(v_count)+_S163); +} +spiderLine=14680325; +spiderLine=14680326; +} else { +spiderLine=14680326; +spiderLine=14680327; +appmanager$f__status(_S164); +} +spiderLine=14680328; +spiderLine=14680330; +appmanager$f__drawlist(); +spiderLine=14680331; +appmanager$f__updatebuttons(); +spiderLine=14680332; +return 0; +} +function appmanager$f__installcallback(v_success,v_datastring) { +var v_err=""; +var v_root=0; +var v_appid=""; +spiderLine=14680334; +spiderLine=14680335; +if (!(spider_IsWindow_DEBUG(appmanager$g_window))) { +spiderLine=14680335; +if (1) return 0; +} +spiderLine=14680335; +spiderLine=14680336; +spider_DisableGadget_DEBUG(appmanager$g__installbtn,0); +spiderLine=14680338; +if (v_success && spider_ParseJSON_DEBUG(0,v_datastring)) { +spiderLine=14680339; +v_root=spider_JSONValue_DEBUG(0); +spiderLine=14680340; +if (spider_GetJSONBoolean_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S26))) { +spiderLine=14680341; +v_appid=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S45)); +spiderLine=14680342; +spider_FreeJSON_DEBUG(0); +spiderLine=14680343; +notify$f_toast(_S165+v_appid,1,4000); +spiderLine=14680344; +appmanager$f__refresh(); +spiderLine=14680345; +if (1) return 0; +} +spiderLine=14680346; +spiderLine=14680347; +v_err=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S92)); +spiderLine=14680348; +spider_FreeJSON_DEBUG(0); +spiderLine=14680349; +notify$f_toast(v_err,3,4000); +spiderLine=14680350; +} else { +spiderLine=14680350; +spiderLine=14680351; +notify$f_toast(_S166,3,4000); +} +spiderLine=14680352; +spiderLine=14680353; +appmanager$f__status(_S167); +spiderLine=14680354; +return 0; +} +function appmanager$f__uninstallcallback(v_success,v_datastring) { +spiderLine=14680356; +spiderLine=14680357; +if (!(spider_IsWindow_DEBUG(appmanager$g_window))) { +spiderLine=14680357; +if (1) return 0; +} +spiderLine=14680357; +spiderLine=14680358; +if (v_success && spider_ParseJSON_DEBUG(0,v_datastring)) { +spiderLine=14680359; +if (spider_GetJSONBoolean_DEBUG(spider_GetJSONMember_DEBUG(spider_JSONValue_DEBUG(0),_S26))) { +spiderLine=14680360; +spider_FreeJSON_DEBUG(0); +spiderLine=14680361; +notify$f_toast(_S168,1,4000); +spiderLine=14680362; +desktop$f_uninstallthirdpartyapp(appmanager$g__pendinguninstall); +spiderLine=14680363; +appmanager$g__pendinguninstall=_S3; +spiderLine=14680364; +appmanager$f__refresh(); +spiderLine=14680365; +if (1) return 0; +} +spiderLine=14680366; +spiderLine=14680367; +spider_FreeJSON_DEBUG(0); +} +spiderLine=14680368; +spiderLine=14680369; +notify$f_toast(_S169,3,4000); +spiderLine=14680370; +appmanager$g__pendinguninstall=_S3; +spiderLine=14680371; +appmanager$f__status(_S167); +spiderLine=14680372; +return 0; +} +function appmanager$f__status(v_msg) { +spiderLine=14680237; +spiderLine=14680238; +if (spider_IsGadget_DEBUG(appmanager$g__statuslabel)) { +spiderLine=14680238; +spider_SetGadgetText_DEBUG(appmanager$g__statuslabel,v_msg); +} +spiderLine=14680238; +spiderLine=14680239; +return 0; +} +function appmanager$f_handler_inputok() { +var v_url=""; +spiderLine=14680429; +spiderLine=14680430; +v_url=spider_Trim_DEBUG(spider_GetGadgetText_DEBUG(appmanager$g__urlfield)); +spiderLine=14680431; +if (v_url==_S3) { +spiderLine=14680431; +if (1) return 0; +} +spiderLine=14680431; +spiderLine=14680432; +appmanager$f__closeinstalldialog(); +spiderLine=14680433; +appmanager$f__status(_S176); +spiderLine=14680434; +spider_DisableGadget_DEBUG(appmanager$g__installbtn,1); +spiderLine=14680436; +spider_HTTPRequest(1,_S177,_S178+spider_URLEncoder_DEBUG(v_url,2),appmanager$f__installcallback); +spiderLine=14680437; +return 0; +} +function appmanager$f__douninstall(v_result) { +spiderLine=14680419; +spiderLine=14680420; +if (!(v_result) || appmanager$g__selected<0) { +spiderLine=14680420; +if (1) return 0; +} +spiderLine=14680420; +spiderLine=14680421; +if (!(spider_SelectElement_DEBUG(appmanager$t__Apps,appmanager$g__selected))) { +spiderLine=14680421; +if (1) return 0; +} +spiderLine=14680421; +spiderLine=14680422; +appmanager$g__pendinguninstall=appmanager$t__Apps.current._ID; +spiderLine=14680423; +appmanager$f__status(_S172+appmanager$t__Apps.current._ID+_S30); +spiderLine=14680426; +spider_HTTPRequest(1,_S173,_S174+spider_URLEncoder_DEBUG(appmanager$t__Apps.current._ID,2)+_S175,appmanager$f__uninstallcallback); +spiderLine=14680427; +return 0; +} +function appmanager$f__drawlist() { +var v_h=0; +var v_i=0; +var v_w=0; +var v_y=0; +var v_th=0; +var v_rowbg=0; +spiderLine=14680181; +spiderLine=14680182; +if (!(spider_IsGadget_DEBUG(appmanager$g__canvas))) { +spiderLine=14680182; +if (1) return 0; +} +spiderLine=14680182; +spiderLine=14680183; +if (!(spider_StartDrawing_DEBUG(spider_CanvasOutput_DEBUG(appmanager$g__canvas)))) { +spiderLine=14680183; +if (1) return 0; +} +spiderLine=14680183; +spiderLine=14680185; +v_w=spider_OutputWidth_DEBUG(); +spiderLine=14680186; +v_h=spider_OutputHeight_DEBUG(); +spiderLine=14680188; +spider_Box_DEBUG(0,0,v_w,v_h,appmanager$g_color_bg); +spiderLine=14680190; +if (spider_IsFont_DEBUG(appmanager$g_font_ui)) { +spiderLine=14680190; +spider_DrawingFont_DEBUG(spider_FontID_DEBUG(appmanager$g_font_ui)); +} +spiderLine=14680190; +spiderLine=14680191; +v_th=spider_BankerRound(spider_TextHeight_DEBUG(_S31)); +spiderLine=14680193; +spider_ResetList(appmanager$t__Apps); while (spider_NextElement(appmanager$t__Apps)) { +spiderLine=14680193; +spiderLine=14680194; +v_i=spider_ListIndex_DEBUG(appmanager$t__Apps); +spiderLine=14680195; +v_y=(v_i*48); +spiderLine=14680196; +if ((v_y+48)>v_h) { +spiderLine=14680196; +break; +} +spiderLine=14680196;; +spiderLine=14680199; +if (v_i==appmanager$g__selected) { +spiderLine=14680200; +v_rowbg=appmanager$g_color_sel; +spiderLine=14680201; +} else if (v_i==appmanager$g__hover) { +spiderLine=14680202; +v_rowbg=spider_RGB_DEBUG(40,40,58); +spiderLine=14680203; +} else if ((v_i%2)==0) { +spiderLine=14680204; +v_rowbg=appmanager$g_color_row_even; +spiderLine=14680205; +} else { +spiderLine=14680205; +spiderLine=14680206; +v_rowbg=appmanager$g_color_row_odd; +} +spiderLine=14680207; +spiderLine=14680209; +spider_Box_DEBUG(0,v_y,v_w,48,v_rowbg); +spiderLine=14680210; +if (v_i==appmanager$g__selected) { +spiderLine=14680210; +spider_Box_DEBUG(0,v_y,3,48,appmanager$g_color_accent); +} +spiderLine=14680210; +spiderLine=14680212; +spider_DrawingMode_DEBUG(1); +spiderLine=14680213; +spider_DrawText_DEBUG(14,((v_y-v_th)+23),appmanager$t__Apps.current._Name,appmanager$g_color_text); +spiderLine=14680215; +if (spider_IsFont_DEBUG(appmanager$g_font_small)) { +spiderLine=14680215; +spider_DrawingFont_DEBUG(spider_FontID_DEBUG(appmanager$g_font_small)); +} +spiderLine=14680215; +spiderLine=14680216; +spider_DrawText_DEBUG(14,(v_y+26),appmanager$t__Apps.current._ID,appmanager$g_color_dim); +spiderLine=14680217; +if (spider_IsFont_DEBUG(appmanager$g_font_ui)) { +spiderLine=14680217; +spider_DrawingFont_DEBUG(spider_FontID_DEBUG(appmanager$g_font_ui)); +} +spiderLine=14680217; +spiderLine=14680219; +spider_Box_DEBUG(0,(v_y+47),v_w,1,appmanager$g_color_sep); +spiderLine=14680220; +} +spiderLine=14680222; +if (spider_ListSize_DEBUG(appmanager$t__Apps)==0) { +spiderLine=14680223; +spider_DrawingMode_DEBUG(1); +spiderLine=14680224; +if (spider_IsFont_DEBUG(appmanager$g_font_ui)) { +spiderLine=14680224; +spider_DrawingFont_DEBUG(spider_FontID_DEBUG(appmanager$g_font_ui)); +} +spiderLine=14680224; +spiderLine=14680226; +spider_DrawText_DEBUG(((((v_w-spider_TextWidth_DEBUG(_S158)))/2)),((((v_h-v_th))/2)),_S158,appmanager$g_color_dim); +} +spiderLine=14680227; +spiderLine=14680229; +spider_StopDrawing_DEBUG(); +spiderLine=14680230; +return 0; +} +function appmanager$f_handler_inputcancel() { +spiderLine=14680439; +spiderLine=14680440; +appmanager$f__closeinstalldialog(); +spiderLine=14680441; +return 0; +} +function appmanager$f_handler_install() { +spiderLine=14680403; +spiderLine=14680404; +appmanager$f__openinstalldialog(); +spiderLine=14680405; +return 0; +} +function appmanager$f_handler_resize() { +var v_h=0; +var v_w=0; +spiderLine=14680443; +spiderLine=14680444; +v_w=spider_WindowWidth_DEBUG(appmanager$g_window); +spiderLine=14680445; +v_h=spider_WindowHeight_DEBUG(appmanager$g_window); +spiderLine=14680446; +spider_ResizeGadget_DEBUG(appmanager$g__canvas,0,40,v_w,(v_h+-66)); +spiderLine=14680447; +spider_ResizeGadget_DEBUG(appmanager$g__statuslabel,4,(v_h+-22),(v_w+-8),18); +spiderLine=14680448; +appmanager$f__drawlist(); +spiderLine=14680449; +return 0; +} +function appmanager$f__refresh() { +spiderLine=14680173; +spiderLine=14680174; +appmanager$f__status(_S129); +spiderLine=14680175; +spider_ClearList_DEBUG(appmanager$t__Apps); +spiderLine=14680176; +appmanager$g__selected=-1; +spiderLine=14680177; +appmanager$f__drawlist(); +spiderLine=14680178; +spider_HTTPRequest(0,_S41,_S3,appmanager$f__listcallback); +spiderLine=14680179; +return 0; +} +function appmanager$f_handler_uninstall() { +spiderLine=14680412; +spiderLine=14680413; +if (appmanager$g__selected<0 || !(spider_SelectElement_DEBUG(appmanager$t__Apps,appmanager$g__selected))) { +spiderLine=14680413; +if (1) return 0; +} +spiderLine=14680413; +spiderLine=14680416; +notify$f_confirm(_S170+appmanager$t__Apps.current._Name,_S171,appmanager$f__douninstall); +spiderLine=14680417; +return 0; +} +function appmanager$f_handler_canvas() { +var v_my=0; +var v_row=0; +var v_etype=0; +spiderLine=14680375; +spiderLine=14680376; +v_etype=spider_EventType(); +spiderLine=14680377; +v_my=spider_GetGadgetAttribute_DEBUG(appmanager$g__canvas,3); +spiderLine=14680378; +v_row=((v_my/48)|0); +spiderLine=14680380; +var sb_select8=v_etype; +spiderLine=14680381; +if (sb_select8==65539) { +spiderLine=14680382; +if (v_row>=spider_ListSize_DEBUG(appmanager$t__Apps)) { +spiderLine=14680382; +v_row=-1; +} +spiderLine=14680382; +spiderLine=14680383; +if (v_row!=appmanager$g__hover) { +spiderLine=14680384; +appmanager$g__hover=v_row; +spiderLine=14680384; +appmanager$f__drawlist(); +} +spiderLine=14680385; +spiderLine=14680387; +} else if (sb_select8==65538) { +spiderLine=14680388; +if (appmanager$g__hover!=-1) { +spiderLine=14680388; +appmanager$g__hover=-1; +spiderLine=14680388; +appmanager$f__drawlist(); +} +spiderLine=14680388; +spiderLine=14680390; +} else if (sb_select8==65541) { +spiderLine=14680391; +if (v_row>=0 && v_row=0 && v_row=0) { +spiderLine=9437444; +appruntime$f__sendresponse(v_id,v_kmid,0,_S108); +spiderLine=9437444; +if (1) return 0; +} +spiderLine=9437444; +spiderLine=9437445; +appruntime$g__ps_id=v_id; +spiderLine=9437445; +appruntime$g__ps_kmid=v_kmid; +spiderLine=9437446; +spider_HTTPRequest(0,_S11+spider_URLEncoder_DEBUG(v_path,2),_S3,appruntime$f__statcallback); +spiderLine=9437447; +return 0; +} +function appruntime$f_handler_close() { +spiderLine=9437577; +spiderLine=9437578; +if (!(appruntime$f__findbywindow(spider_EventWindow_DEBUG()))) { +spiderLine=9437578; +if (1) return 0; +} +spiderLine=9437578; +spiderLine=9437579; +appruntime$f__remove(appruntime$t_Instances.current._InstanceID); +spiderLine=9437580; +return 0; +} +function appruntime$f__listcallback(v_success,v_datastring) { +var v_kmid=""; +var v_id=0; +spiderLine=9437480;;; +spiderLine=9437483; +if (appruntime$g__pl_id<0) { +spiderLine=9437483; +if (1) return 0; +} +spiderLine=9437483; +spiderLine=9437484; +v_id=appruntime$g__pl_id; +spiderLine=9437484; +v_kmid=appruntime$g__pl_kmid; +spiderLine=9437485; +appruntime$g__pl_id=-1; +spiderLine=9437485; +appruntime$g__pl_kmid=_S3; +spiderLine=9437486; +appruntime$f__sendresponse(v_id,v_kmid,v_success,v_datastring); +spiderLine=9437487; +return 0; +} +function appruntime$f__dolist(v_id,v_kmid,v_path) { +spiderLine=9437437; +spiderLine=9437438; +if (appruntime$g__pl_id>=0) { +spiderLine=9437438; +appruntime$f__sendresponse(v_id,v_kmid,0,_S108); +spiderLine=9437438; +if (1) return 0; +} +spiderLine=9437438; +spiderLine=9437439; +appruntime$g__pl_id=v_id; +spiderLine=9437439; +appruntime$g__pl_kmid=v_kmid; +spiderLine=9437440; +spider_HTTPRequest(0,_S10+spider_URLEncoder_DEBUG(v_path,2),_S3,appruntime$f__listcallback); +spiderLine=9437441; +return 0; +} +function appruntime$f__confirmcallback(v_result) { +var v_kmid=""; +var v_id=0; +var v_boolstr=""; +spiderLine=9437558;;;; +spiderLine=9437562; +if (appruntime$g__pc_id<0) { +spiderLine=9437562; +if (1) return 0; +} +spiderLine=9437562; +spiderLine=9437563; +v_id=appruntime$g__pc_id; +spiderLine=9437563; +v_kmid=appruntime$g__pc_kmid; +spiderLine=9437564; +appruntime$g__pc_id=-1; +spiderLine=9437564; +appruntime$g__pc_kmid=_S3; +spiderLine=9437566; +v_boolstr=_S116; +spiderLine=9437567; +if (v_result) { +spiderLine=9437567; +v_boolstr=_S117; +} +spiderLine=9437567; +spiderLine=9437568; +appruntime$f__sendresponse(v_id,v_kmid,1,v_boolstr); +spiderLine=9437569; +return 0; +} +function appruntime$f__dowrite(v_id,v_kmid,v_path,v_content) { +spiderLine=9437461; +spiderLine=9437462; +if (appruntime$g__pw_id>=0) { +spiderLine=9437462; +appruntime$f__sendresponse(v_id,v_kmid,0,_S108); +spiderLine=9437462; +if (1) return 0; +} +spiderLine=9437462; +spiderLine=9437463; +appruntime$g__pw_id=v_id; +spiderLine=9437463; +appruntime$g__pw_kmid=v_kmid; +spiderLine=9437464; +spider_HTTPRequest(1,_S24,_S13+spider_URLEncoder_DEBUG(v_path,2)+_S25+spider_URLEncoder_DEBUG(v_content,2),appruntime$f__writecallback); +spiderLine=9437465; +return 0; +} +function appruntime$f_init() { +spiderLine=9437237; +window._kumos_rt = { instances: {} }; +window.addEventListener('message', function(e) { + var inst; + for (var id in window._kumos_rt.instances) { + inst = window._kumos_rt.instances[id]; + if (inst && inst.frameEl && inst.frameEl.contentWindow === e.source) { + if (typeof e.data === 'string') { + appruntime$f__dispatch(inst.id, e.data); + } + return; + } + } +}); +spiderLine=9437251; +return 0; +} +function appruntime$f__writecallback(v_success,v_datastring) { +var v_kmid=""; +var v_id=0; +var v_ok=0; +spiderLine=9437539;;;; +spiderLine=9437543; +if (appruntime$g__pw_id<0) { +spiderLine=9437543; +if (1) return 0; +} +spiderLine=9437543; +spiderLine=9437544; +v_id=appruntime$g__pw_id; +spiderLine=9437544; +v_kmid=appruntime$g__pw_kmid; +spiderLine=9437545; +appruntime$g__pw_id=-1; +spiderLine=9437545; +appruntime$g__pw_kmid=_S3; +spiderLine=9437547; +if (!(v_success)) { +spiderLine=9437547; +appruntime$f__sendresponse(v_id,v_kmid,0,_S114); +spiderLine=9437547; +if (1) return 0; +} +spiderLine=9437547; +spiderLine=9437549; +if (spider_ParseJSON_DEBUG(0,v_datastring)) { +spiderLine=9437550; +v_ok=spider_GetJSONBoolean_DEBUG(spider_GetJSONMember_DEBUG(spider_JSONValue_DEBUG(0),_S26)); +spiderLine=9437551; +spider_FreeJSON_DEBUG(0); +spiderLine=9437552; +appruntime$f__sendresponse(v_id,v_kmid,v_ok,_S3); +spiderLine=9437553; +} else { +spiderLine=9437553; +spiderLine=9437554; +appruntime$f__sendresponse(v_id,v_kmid,0,_S115); +} +spiderLine=9437555; +spiderLine=9437556; +return 0; +} +function appruntime$f__dodelete(v_id,v_kmid,v_path) { +spiderLine=9437473; +spiderLine=9437474; +if (appruntime$g__psr_id>=0) { +spiderLine=9437474; +appruntime$f__sendresponse(v_id,v_kmid,0,_S108); +spiderLine=9437474; +if (1) return 0; +} +spiderLine=9437474; +spiderLine=9437475; +appruntime$g__psr_id=v_id; +spiderLine=9437475; +appruntime$g__psr_kmid=_S109+v_kmid; +spiderLine=9437476; +spider_HTTPRequest(0,_S11+spider_URLEncoder_DEBUG(v_path,2),_S3,appruntime$f__statforreadcallback); +spiderLine=9437477; +return 0; +} +function appruntime$f__domkdir(v_id,v_kmid,v_path) { +spiderLine=9437467; +spiderLine=9437468; +if (appruntime$g__pw_id>=0) { +spiderLine=9437468; +appruntime$f__sendresponse(v_id,v_kmid,0,_S108); +spiderLine=9437468; +if (1) return 0; +} +spiderLine=9437468; +spiderLine=9437469; +appruntime$g__pw_id=v_id; +spiderLine=9437469; +appruntime$g__pw_kmid=v_kmid; +spiderLine=9437470; +spider_HTTPRequest(1,_S12,_S13+spider_URLEncoder_DEBUG(v_path,2),appruntime$f__writecallback); +spiderLine=9437471; +return 0; +} +function appruntime$f__hasperm(v_id,v_token) { +spiderLine=9437314; +spiderLine=9437315; +if (!(appruntime$f__findbyid(v_id))) { +spiderLine=9437315; +if (1) return 0; +} +spiderLine=9437315; +spiderLine=9437316; +if (1) return (spider_FindString_DEBUG(appruntime$t_Instances.current._Perms,_S50+v_token+_S50)>0?1:0); +spiderLine=9437317; +return 0; +} +function appruntime$f__findbywindow(v_win) { +spiderLine=9437307; +spiderLine=9437308; +spider_ResetList(appruntime$t_Instances); while (spider_NextElement(appruntime$t_Instances)) { +spiderLine=9437308; +spiderLine=9437309; +if (appruntime$t_Instances.current._Window==v_win) { +spiderLine=9437309; +if (1) return 1; +} +spiderLine=9437309; +spiderLine=9437310; +} +spiderLine=9437311; +if (1) return 0; +spiderLine=9437312; +return 0; +} +function appruntime$f__storagepath(v_id,v_relpath) { +var v_base=""; +spiderLine=9437332;; +spiderLine=9437334; +if (!(appruntime$f__findbyid(v_id))) { +spiderLine=9437334; +if (1) return _S3; +} +spiderLine=9437334; +spiderLine=9437335; +v_base=_S75+appruntime$t_Instances.current._AppID+_S19; +spiderLine=9437336; +if (v_relpath==_S3 || v_relpath==_S19) { +spiderLine=9437336; +if (1) return v_base; +} +spiderLine=9437336; +spiderLine=9437337; +if (spider_Left(v_relpath,1)==_S19) { +spiderLine=9437337; +v_relpath=spider_Mid(v_relpath,2); +} +spiderLine=9437337; +spiderLine=9437338; +if (1) return v_base+v_relpath; +spiderLine=9437339; +return ""; +} +function appruntime$f_handler_resize() { +spiderLine=9437572; +spiderLine=9437573; +if (!(appruntime$f__findbywindow(spider_EventWindow_DEBUG()))) { +spiderLine=9437573; +if (1) return 0; +} +spiderLine=9437573; +spiderLine=9437574; +spider_ResizeGadget_DEBUG(appruntime$t_Instances.current._View,0,0,spider_WindowWidth_DEBUG(appruntime$t_Instances.current._Window),spider_WindowHeight_DEBUG(appruntime$t_Instances.current._Window)); +spiderLine=9437575; +return 0; +} +function appruntime$f__remove(v_id) { +spiderLine=9437341; +spiderLine=9437342; +if (!(appruntime$f__findbyid(v_id))) { +spiderLine=9437342; +if (1) return 0; +} +spiderLine=9437342; +delete window._kumos_rt.instances[v_id]; +spiderLine=9437344; +spider_UnbindEvent(7,appruntime$f_handler_resize,appruntime$t_Instances.current._Window); +spiderLine=9437345; +spider_UnbindEvent(4,appruntime$f_handler_close,appruntime$t_Instances.current._Window); +spiderLine=9437346; +desktop$f_unregister(appruntime$t_Instances.current._Window); +spiderLine=9437347; +spider_DeleteElement_DEBUG(appruntime$t_Instances); +spiderLine=9437348; +return 0; +} +function appruntime$f__readcallback(v_success,v_datastring) { +var v_kmid=""; +var v_id=0; +spiderLine=9437530;;; +spiderLine=9437533; +if (appruntime$g__pr_id<0) { +spiderLine=9437533; +if (1) return 0; +} +spiderLine=9437533; +spiderLine=9437534; +v_id=appruntime$g__pr_id; +spiderLine=9437534; +v_kmid=appruntime$g__pr_kmid; +spiderLine=9437535; +appruntime$g__pr_id=-1; +spiderLine=9437535; +appruntime$g__pr_kmid=_S3; +spiderLine=9437536; +appruntime$f__sendresponse(v_id,v_kmid,v_success,v_datastring); +spiderLine=9437537; +return 0; +} +function appruntime$f__doread(v_id,v_kmid,v_fileid) { +spiderLine=9437455; +spiderLine=9437456; +if (appruntime$g__pr_id>=0) { +spiderLine=9437456; +appruntime$f__sendresponse(v_id,v_kmid,0,_S108); +spiderLine=9437456; +if (1) return 0; +} +spiderLine=9437456; +spiderLine=9437457; +appruntime$g__pr_id=v_id; +spiderLine=9437457; +appruntime$g__pr_kmid=v_kmid; +spiderLine=9437458; +spider_HTTPRequest(0,_S23+spider_Str(v_fileid),_S3,appruntime$f__readcallback); +spiderLine=9437459; +return 0; +} +function appruntime$f__sendresponse(v_id,v_kmid,v_success,v_datastring) { +spiderLine=9437319; +var inst = window._kumos_rt.instances[v_id]; +if (!inst || !inst.frameEl) return; +var resp = { kmid: v_kmid, success: !!v_success }; +if (v_success) { + try { resp.data = JSON.parse(v_datastring); } + catch(e) { resp.data = v_datastring || null; } +} else { + resp.error = v_datastring || 'Error'; +} +try { inst.frameEl.contentWindow.postMessage(JSON.stringify(resp), '*'); } catch(e) {} +spiderLine=9437330; +return 0; +} +function appruntime$f__statforreadcallback(v_success,v_datastring) { +var v_kmid=""; +var v_id=0; +var v_fileid=0; +var v_tag=""; +var v_root=0; +var v_isdelete=0; +var v_isdir=0; +spiderLine=9437498;;;;;;;; +spiderLine=9437502; +if (appruntime$g__psr_id<0) { +spiderLine=9437502; +if (1) return 0; +} +spiderLine=9437502; +spiderLine=9437503; +v_id=appruntime$g__psr_id; +spiderLine=9437504; +v_tag=appruntime$g__psr_kmid; +spiderLine=9437505; +appruntime$g__psr_id=-1; +spiderLine=9437505; +appruntime$g__psr_kmid=_S3; +spiderLine=9437507; +v_isdelete=(spider_Left(v_tag,4)==_S109?1:0); +spiderLine=9437508; +if (v_isdelete) { +spiderLine=9437508; +v_kmid=spider_Mid(v_tag,5); +spiderLine=9437508; +} else { +spiderLine=9437508; +spiderLine=9437508; +v_kmid=v_tag; +} +spiderLine=9437508; +spiderLine=9437510; +if (!(v_success)) { +spiderLine=9437510; +appruntime$f__sendresponse(v_id,v_kmid,0,_S110); +spiderLine=9437510; +if (1) return 0; +} +spiderLine=9437510; +spiderLine=9437511; +if (!(spider_ParseJSON_DEBUG(0,v_datastring))) { +spiderLine=9437511; +appruntime$f__sendresponse(v_id,v_kmid,0,_S111); +spiderLine=9437511; +if (1) return 0; +} +spiderLine=9437511; +spiderLine=9437513; +v_root=spider_JSONValue_DEBUG(0); +spiderLine=9437514; +v_isdir=spider_GetJSONInteger_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S112)); +spiderLine=9437515; +v_fileid=spider_GetJSONInteger_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S53)); +spiderLine=9437516; +spider_FreeJSON_DEBUG(0); +spiderLine=9437518; +if (v_fileid<=0) { +spiderLine=9437518; +appruntime$f__sendresponse(v_id,v_kmid,0,_S110); +spiderLine=9437518; +if (1) return 0; +} +spiderLine=9437518; +spiderLine=9437520; +if (v_isdelete) { +spiderLine=9437521; +if (appruntime$g__pw_id>=0) { +spiderLine=9437521; +appruntime$f__sendresponse(v_id,v_kmid,0,_S108); +spiderLine=9437521; +if (1) return 0; +} +spiderLine=9437521; +spiderLine=9437522; +appruntime$g__pw_id=v_id; +spiderLine=9437522; +appruntime$g__pw_kmid=v_kmid; +spiderLine=9437523; +spider_HTTPRequest(1,_S14,_S15+spider_Str(v_fileid),appruntime$f__writecallback); +spiderLine=9437524; +} else { +spiderLine=9437524; +spiderLine=9437525; +if (v_isdir) { +spiderLine=9437525; +appruntime$f__sendresponse(v_id,v_kmid,0,_S113); +spiderLine=9437525; +if (1) return 0; +} +spiderLine=9437525; +spiderLine=9437526; +appruntime$f__doread(v_id,v_kmid,v_fileid); +} +spiderLine=9437527; +spiderLine=9437528; +return 0; +} +function appruntime$f__dispatch(v_id,v_rawmsg) { +var v_kmid=""; +var v_title_=""; +var v_path=""; +var v_msg=""; +var v_args=0; +var v_root=0; +var v_action=""; +var v_msgtype=""; +var v_content=""; +var v_ttype=0; +spiderLine=9437355;;;;;;;;;;; +spiderLine=9437359; +if (!(appruntime$f__findbyid(v_id))) { +spiderLine=9437359; +if (1) return 0; +} +spiderLine=9437359; +spiderLine=9437360; +if (!(spider_ParseJSON_DEBUG(0,v_rawmsg))) { +spiderLine=9437360; +if (1) return 0; +} +spiderLine=9437360; +spiderLine=9437362; +v_root=spider_JSONValue_DEBUG(0); +spiderLine=9437363; +v_kmid=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S76)); +spiderLine=9437364; +v_action=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S77)); +spiderLine=9437365; +v_args=spider_GetJSONMember_DEBUG(v_root,_S78); +spiderLine=9437367; +if (v_kmid==_S3) { +spiderLine=9437367; +spider_FreeJSON_DEBUG(0); +spiderLine=9437367; +if (1) return 0; +} +spiderLine=9437367; +spiderLine=9437369; +v_path=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_args,_S79)); +spiderLine=9437370; +v_content=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_args,_S80)); +spiderLine=9437371; +v_title_=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_args,_S81)); +spiderLine=9437372; +v_msg=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_args,_S82)); +spiderLine=9437373; +v_msgtype=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_args,_S83)); +spiderLine=9437374; +spider_FreeJSON_DEBUG(0); +spiderLine=9437376; +var sb_select4=v_action; +spiderLine=9437378; +if (sb_select4==_S84) { +spiderLine=9437379; +appruntime$f__findbyid(v_id); +spiderLine=9437380; +appruntime$f__sendresponse(v_id,v_kmid,1,_S85+spider_ReplaceString_DEBUG(appruntime$t_Instances.current._AppID,_S50,_S58)+_S61); +spiderLine=9437382; +} else if (sb_select4==_S86) { +spiderLine=9437383; +appruntime$f__findbyid(v_id); +spiderLine=9437384; +spider_SetWindowTitle_DEBUG(appruntime$t_Instances.current._Window,v_title_); +spiderLine=9437385; +appruntime$f__sendresponse(v_id,v_kmid,1,_S3); +spiderLine=9437387; +} else if (sb_select4==_S87) { +spiderLine=9437388; +appruntime$f__sendresponse(v_id,v_kmid,1,_S3); +setTimeout(function(){ appruntime$f__closebyid(v_id); }, 50); +spiderLine=9437391; +} else if (sb_select4==_S88) { +spiderLine=9437392; +if (!(appruntime$f__hasperm(v_id,_S89))) { +spiderLine=9437392; +appruntime$f__sendresponse(v_id,v_kmid,0,_S90); +spiderLine=9437392; +if (1) return 0; +} +spiderLine=9437392; +spiderLine=9437393; +v_ttype=0; +spiderLine=9437394; +if (v_msgtype==_S26) { +spiderLine=9437394; +v_ttype=1; +spiderLine=9437395; +} else if (v_msgtype==_S91) { +spiderLine=9437395; +v_ttype=2; +spiderLine=9437396; +} else if (v_msgtype==_S92) { +spiderLine=9437396; +v_ttype=3; +} +spiderLine=9437397; +spiderLine=9437398; +notify$f_toast(v_msg,v_ttype,4000); +spiderLine=9437399; +appruntime$f__sendresponse(v_id,v_kmid,1,_S3); +spiderLine=9437401; +} else if (sb_select4==_S93) { +spiderLine=9437402; +if (!(appruntime$f__hasperm(v_id,_S89))) { +spiderLine=9437402; +appruntime$f__sendresponse(v_id,v_kmid,0,_S90); +spiderLine=9437402; +if (1) return 0; +} +spiderLine=9437402; +spiderLine=9437403; +if (appruntime$g__pc_id>=0) { +spiderLine=9437403; +appruntime$f__sendresponse(v_id,v_kmid,0,_S94); +spiderLine=9437403; +if (1) return 0; +} +spiderLine=9437403; +spiderLine=9437404; +appruntime$g__pc_id=v_id; +spiderLine=9437404; +appruntime$g__pc_kmid=v_kmid; +spiderLine=9437405; +notify$f_confirm(v_title_,v_msg,appruntime$f__confirmcallback); +spiderLine=9437407; +} else if (sb_select4==_S95) { +spiderLine=9437407; +appruntime$f__dolist(v_id,v_kmid,appruntime$f__storagepath(v_id,v_path)); +spiderLine=9437408; +} else if (sb_select4==_S96) { +spiderLine=9437408; +appruntime$f__dostat(v_id,v_kmid,appruntime$f__storagepath(v_id,v_path)); +spiderLine=9437409; +} else if (sb_select4==_S97) { +spiderLine=9437409; +appruntime$f__dostatforread(v_id,v_kmid,appruntime$f__storagepath(v_id,v_path)); +spiderLine=9437410; +} else if (sb_select4==_S98) { +spiderLine=9437410; +appruntime$f__dowrite(v_id,v_kmid,appruntime$f__storagepath(v_id,v_path),v_content); +spiderLine=9437411; +} else if (sb_select4==_S99) { +spiderLine=9437411; +appruntime$f__domkdir(v_id,v_kmid,appruntime$f__storagepath(v_id,v_path)); +spiderLine=9437412; +} else if (sb_select4==_S100) { +spiderLine=9437412; +appruntime$f__dodelete(v_id,v_kmid,appruntime$f__storagepath(v_id,v_path)); +spiderLine=9437414; +} else if (sb_select4==_S101) { +spiderLine=9437415; +if (!(appruntime$f__hasperm(v_id,_S102))) { +spiderLine=9437415; +appruntime$f__sendresponse(v_id,v_kmid,0,_S103); +spiderLine=9437415; +if (1) return 0; +} +spiderLine=9437415; +spiderLine=9437416; +appruntime$f__dolist(v_id,v_kmid,v_path); +spiderLine=9437418; +} else if (sb_select4==_S104) { +spiderLine=9437419; +if (!(appruntime$f__hasperm(v_id,_S102))) { +spiderLine=9437419; +appruntime$f__sendresponse(v_id,v_kmid,0,_S103); +spiderLine=9437419; +if (1) return 0; +} +spiderLine=9437419; +spiderLine=9437420; +appruntime$f__dostat(v_id,v_kmid,v_path); +spiderLine=9437422; +} else if (sb_select4==_S102) { +spiderLine=9437423; +if (!(appruntime$f__hasperm(v_id,_S102))) { +spiderLine=9437423; +appruntime$f__sendresponse(v_id,v_kmid,0,_S103); +spiderLine=9437423; +if (1) return 0; +} +spiderLine=9437423; +spiderLine=9437424; +appruntime$f__dostatforread(v_id,v_kmid,v_path); +spiderLine=9437426; +} else if (sb_select4==_S105) { +spiderLine=9437427; +if (!(appruntime$f__hasperm(v_id,_S105))) { +spiderLine=9437427; +appruntime$f__sendresponse(v_id,v_kmid,0,_S106); +spiderLine=9437427; +if (1) return 0; +} +spiderLine=9437427; +spiderLine=9437428; +appruntime$f__dowrite(v_id,v_kmid,v_path,v_content); +spiderLine=9437430; +} else { +spiderLine=9437430; +spiderLine=9437431; +appruntime$f__sendresponse(v_id,v_kmid,0,_S107+v_action); +} +spiderLine=9437434; +return 0; +} +function appruntime$f__dostatforread(v_id,v_kmid,v_path) { +spiderLine=9437449; +spiderLine=9437450; +if (appruntime$g__psr_id>=0) { +spiderLine=9437450; +appruntime$f__sendresponse(v_id,v_kmid,0,_S108); +spiderLine=9437450; +if (1) return 0; +} +spiderLine=9437450; +spiderLine=9437451; +appruntime$g__psr_id=v_id; +spiderLine=9437451; +appruntime$g__psr_kmid=v_kmid; +spiderLine=9437452; +spider_HTTPRequest(0,_S11+spider_URLEncoder_DEBUG(v_path,2),_S3,appruntime$f__statforreadcallback); +spiderLine=9437453; +return 0; +} +function appruntime$f_launch(v_appid,v_manifestjson,v_permissions) { +var v_id=0; +var v_h=0; +var v_view=0; +var v_n=""; +var v_w=0; +var v_win=0; +var v_src=""; +var v_count=0; +var v_appname=""; +spiderLine=9437254;;;;;;;;;; +spiderLine=9437258; +v_appname=v_appid; +spiderLine=9437259; +if (spider_ParseJSON_DEBUG(0,v_manifestjson)) { +spiderLine=9437260; +v_n=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(spider_JSONValue_DEBUG(0),_S42)); +spiderLine=9437261; +if (v_n!=_S3) { +spiderLine=9437261; +v_appname=v_n; +} +spiderLine=9437261; +spiderLine=9437262; +spider_FreeJSON_DEBUG(0); +} +spiderLine=9437263; +spiderLine=9437265; +v_count=spider_ListSize_DEBUG(appruntime$t_Instances); +spiderLine=9437266; +v_w=640; +spiderLine=9437267; +v_h=480; +spiderLine=9437268; +v_win=spider_OpenWindow_DEBUG(-1,((((v_count%8))*24)+80),((((v_count%8))*24)+80),v_w,v_h,v_appname,56); +spiderLine=9437269; +v_view=spider_WebGadget_DEBUG(-1,0,0,v_w,v_h,_S72); +spiderLine=9437270; +v_src=_S73+v_appid+_S74; +spiderLine=9437271; +v_id=appruntime$g__nextid; +spiderLine=9437272; +appruntime$g__nextid=(appruntime$g__nextid+1); +(function(){ + var frames = document.querySelectorAll('iframe[src="about:blank"]:not([data-kumos-instance])'); + var f = frames[frames.length - 1]; + if (!f) return; + f.setAttribute('data-kumos-instance', String(v_id)); + // No allow-same-origin -> cross-origin isolation even from same host. + f.setAttribute('sandbox', 'allow-scripts allow-forms allow-modals allow-downloads allow-pointer-lock'); + window._kumos_rt.instances[v_id] = { id: v_id, frameEl: f, appId: v_appid }; + f.src = v_src; +})(); +spiderLine=9437285; +spider_AddElement_DEBUG(appruntime$t_Instances); +spiderLine=9437286; +appruntime$t_Instances.current._InstanceID=v_id; +spiderLine=9437287; +appruntime$t_Instances.current._Window=v_win; +spiderLine=9437288; +appruntime$t_Instances.current._View=v_view; +spiderLine=9437289; +appruntime$t_Instances.current._AppID=v_appid; +spiderLine=9437290; +appruntime$t_Instances.current._Perms=v_permissions; +spiderLine=9437292; +spider_BindEvent_DEBUG(7,appruntime$f_handler_resize,v_win); +spiderLine=9437293; +spider_BindEvent_DEBUG(4,appruntime$f_handler_close,v_win); +spiderLine=9437295; +desktop$f_register(v_appname,v_win,_S40); +spiderLine=9437296; +return 0; +} +function general$f_init() { +spiderLine=3145761; +spiderLine=3145762; +idb$f_init(_S6,1,_S7,general$f_idbcallback); +spiderLine=3145763; +return 0; +} +function general$f_checkcallback(v_success,v_response) { +var v_authenticated=0; +var v_username=""; +var v_root=0; +spiderLine=3145731;;;; +spiderLine=3145735; +if (v_success) { +spiderLine=3145736; +if (spider_ParseJSON_DEBUG(0,v_response)) { +spiderLine=3145737; +v_root=spider_JSONValue_DEBUG(0); +spiderLine=3145738; +v_authenticated=spider_GetJSONBoolean_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S1)); +spiderLine=3145739; +if (v_authenticated) { +spiderLine=3145740; +v_username=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S2)); +} +spiderLine=3145741; +spiderLine=3145742; +spider_FreeJSON_DEBUG(0); +} +spiderLine=3145743; +} +spiderLine=3145744; +spiderLine=3145746; +if (v_authenticated && v_username!=_S3) { +spiderLine=3145747; +desktop$f_open(v_username); +spiderLine=3145748; +} else { +spiderLine=3145748; +spiderLine=3145749; +login$f_open(); +} +spiderLine=3145750; +spiderLine=3145751; +return 0; +} +function general$f_idbcallback(v_success,v_datastring) { +spiderLine=3145753; +spiderLine=3145754; +if (v_success) { +spiderLine=3145755; +spider_HTTPRequest(0,_S4,_S3,general$f_checkcallback); +spiderLine=3145756; +} else { +spiderLine=3145756; +spiderLine=3145757; +spider.debug.Print(_S5+v_datastring); +} +spiderLine=3145758; +spiderLine=3145759; +return 0; +} +function fs$f__readservercallback(v_success,v_datastring) { +spiderLine=5243084; +spiderLine=5243085; +if (v_success) { +spiderLine=5243086; +fs$g__r_content=v_datastring; +spiderLine=5243087; +filecache$f_cache(fs$g__r_id,fs$g__r_path,v_datastring,fs$f__readcachestorecallback); +spiderLine=5243088; +} else { +spiderLine=5243088; +fs$g__r_cb(0, v_datastring); +} +spiderLine=5243090; +spiderLine=5243091; +return 0; +} +function fs$f__readexistscallback(v_success,v_datastring) { +spiderLine=5243067; +spiderLine=5243068; +spider.debug.Print(_S20+spider_Str(v_success)+_S21+v_datastring); +spiderLine=5243069; +if (v_success && v_datastring==_S22) { +spiderLine=5243071; +filecache$f_read_(fs$g__r_id,fs$f__readcachedcallback); +spiderLine=5243072; +} else { +spiderLine=5243072; +spiderLine=5243074; +spider_HTTPRequest(0,_S23+fs$g__r_id,_S3,fs$f__readservercallback); +} +spiderLine=5243075; +spiderLine=5243076; +return 0; +} +function fs$f_stat(v_path,p_callback) { +spiderLine=5242908; +spiderLine=5242909; +spider_HTTPRequest(0,_S11+spider_URLEncoder_DEBUG(v_path,2),_S3,p_callback); +spiderLine=5242910; +return 0; +} +function fs$f_getfilepart(v_path) { +var v_last=0; +spiderLine=5243043; +spiderLine=5243044; +v_last=fs$f__findlastslash(v_path); +spiderLine=5243045; +if (v_last==0) { +spiderLine=5243045; +if (1) return v_path; +} +spiderLine=5243045; +spiderLine=5243046; +if (1) return spider_Mid(v_path,(v_last+1)); +spiderLine=5243047; +return ""; +} +function fs$f_sync(p_callback) { +spiderLine=5242955; +var _cb = p_callback; +var _db = window._kumos_idb; +if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + +// Collect dirty entries from file_meta +var tx = _db.transaction(['file_meta'], 'readonly'); +var store = tx.objectStore('file_meta'); +var req = store.openCursor(); +var dirty = []; + +req.onsuccess = function(ev) { + var cursor = ev.target.result; + if (cursor) { + try { + var meta = JSON.parse(cursor.value); + if (meta.dirty) dirty.push({ id: String(cursor.key), path: meta.path }); + } catch(e) {} + cursor.continue(); + } +}; + +tx.oncomplete = function() { + if (dirty.length === 0) { + if (_cb) _cb(1, JSON.stringify({ synced: 0, failed: 0 })); + return; + } + + var synced = 0, failed = 0, total = dirty.length; + + function markClean(id, onDone) { + var wtx = _db.transaction(['file_meta'], 'readwrite'); + var ws = wtx.objectStore('file_meta'); + var gr = ws.get(id); + gr.onsuccess = function(ev) { + var m = {}; + try { m = JSON.parse(ev.target.result || '{}'); } catch(e) {} + m.dirty = false; + ws.put(JSON.stringify(m), id); + }; + wtx.oncomplete = onDone; + wtx.onerror = onDone; + } + + function syncNext(i) { + if (i >= total) { + if (_cb) _cb(failed === 0 ? 1 : 0, + JSON.stringify({ synced: synced, failed: failed })); + return; + } + var entry = dirty[i]; + + // Read content from IDB + var rtx = _db.transaction(['file_content'], 'readonly'); + var rreq = rtx.objectStore('file_content').get(entry.id); + + rreq.onsuccess = function(ev) { + var content = ev.target.result !== undefined ? String(ev.target.result) : ''; + + // POST to server + fetch('/api/fs/write', { + method: 'POST', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + body: 'path=' + encodeURIComponent(entry.path) + + '&content=' + encodeURIComponent(content) + }) + .then(function(r) { return r.json(); }) + .then(function(json) { + if (json.success) { + markClean(entry.id, function() { synced++; syncNext(i + 1); }); + } else { + failed++; syncNext(i + 1); + } + }) + .catch(function() { failed++; syncNext(i + 1); }); + }; + + rreq.onerror = function() { failed++; syncNext(i + 1); }; + } + + syncNext(0); +}; + +tx.onerror = function(e) { + if (_cb) _cb(0, e.target.error ? e.target.error.message : 'sync scan failed'); +}; +spiderLine=5243041; +return 0; +} +function fs$f_list(v_path,p_callback) { +spiderLine=5242902; +spiderLine=5242903; +spider_HTTPRequest(0,_S10+spider_URLEncoder_DEBUG(v_path,2),_S3,p_callback); +spiderLine=5242904; +return 0; +} +function fs$f__writecachecallback(v_success,v_datastring) { +spiderLine=5243100; +spiderLine=5243101; +if (fs$g__w_cb) { +fs$g__w_cb(v_success, v_datastring); +} +spiderLine=5243103; +spiderLine=5243104; +if (v_success) { +spiderLine=5243105; +spider_HTTPRequest(1,_S24,_S13+spider_URLEncoder_DEBUG(fs$g__w_path,2)+_S25+spider_URLEncoder_DEBUG(fs$g__w_content,2),fs$f__writeservercallback); +} +spiderLine=5243106; +spiderLine=5243107; +return 0; +} +function fs$f_getpathpart(v_path) { +var v_last=0; +spiderLine=5243049; +spiderLine=5243050; +v_last=fs$f__findlastslash(v_path); +spiderLine=5243051; +if (v_last==0) { +spiderLine=5243051; +if (1) return _S19; +} +spiderLine=5243051; +spiderLine=5243052; +if (1) return spider_Left(v_path,v_last); +spiderLine=5243053; +return ""; +} +function fs$f__readcachestorecallback(v_success,v_datastring) { +var v_content=""; +spiderLine=5243093; +spiderLine=5243094; +v_content=fs$g__r_content; +spiderLine=5243095; +if (fs$g__r_cb) { +fs$g__r_cb(1, v_content); +} +spiderLine=5243097; +spiderLine=5243098; +return 0; +} +function fs$f__readcachedcallback(v_success,v_datastring) { +spiderLine=5243078; +spiderLine=5243079; +if (fs$g__r_cb) { +fs$g__r_cb(v_success, v_datastring); +} +spiderLine=5243081; +spiderLine=5243082; +return 0; +} +function fs$f__findlastslash(v_path) { +var v_last=0; +var v_pos=0; +spiderLine=5243057;;; +spiderLine=5243059; +v_pos=spider_FindString_DEBUG(v_path,_S19); +while (v_pos>0) { +spiderLine=5243061; +v_last=v_pos; +spiderLine=5243062; +v_pos=spider_FindString_DEBUG(v_path,_S19,(v_pos+1)); +spiderLine=5243063; +} +il_wend17:; +spiderLine=5243064; +if (1) return v_last; +spiderLine=5243065; +return 0; +} +function fs$f_read_(v_fileid,v_path,p_callback) { +spiderLine=5242917; +spiderLine=5242918; +fs$g__r_id=v_fileid; +spiderLine=5242919; +fs$g__r_path=v_path; +spiderLine=5242920; +fs$g__r_cb=p_callback; +spiderLine=5242921; +filecache$f_exists(v_fileid,fs$f__readexistscallback); +spiderLine=5242922; +return 0; +} +function fs$f__writeservercallback(v_success,v_datastring) { +spiderLine=5243109; +spiderLine=5243110; +if (v_success) { +spiderLine=5243111; +if (spider_ParseJSON_DEBUG(0,v_datastring)) { +spiderLine=5243112; +if (spider_GetJSONBoolean_DEBUG(spider_GetJSONMember_DEBUG(spider_JSONValue_DEBUG(0),_S26))) { +spiderLine=5243113; +filecache$f_markclean(fs$g__w_id,0); +} +spiderLine=5243114; +spiderLine=5243115; +spider_FreeJSON_DEBUG(0); +} +spiderLine=5243116; +} +spiderLine=5243117; +spiderLine=5243118; +return 0; +} +function fs$f_write(v_fileid,v_path,v_content,p_callback) { +spiderLine=5242927; +spiderLine=5242928; +fs$g__w_id=v_fileid; +spiderLine=5242929; +fs$g__w_path=v_path; +spiderLine=5242930; +fs$g__w_content=v_content; +spiderLine=5242931; +fs$g__w_cb=p_callback; +spiderLine=5242932; +filecache$f_write(v_fileid,v_content,fs$f__writecachecallback); +spiderLine=5242933; +return 0; +} +function fs$f_move(v_fileid,v_newparentid,v_newname,p_callback) { +spiderLine=5242950; +spiderLine=5242951; +spider_HTTPRequest(1,_S16,_S15+v_fileid+_S17+v_newparentid+_S18+spider_URLEncoder_DEBUG(v_newname,2),p_callback); +spiderLine=5242952; +return 0; +} +function fs$f_delete_(v_fileid,p_callback) { +spiderLine=5242943; +spiderLine=5242944; +filecache$f_evict(v_fileid,0); +spiderLine=5242945; +spider_HTTPRequest(1,_S14,_S15+v_fileid,p_callback); +spiderLine=5242946; +return 0; +} +function fs$f_mkdir(v_path,p_callback) { +spiderLine=5242937; +spiderLine=5242938; +spider_HTTPRequest(1,_S12,_S13+spider_URLEncoder_DEBUG(v_path,2),p_callback); +spiderLine=5242939; +return 0; +} +function texteditor$f__confirmclosecallback(v_result) { +spiderLine=10485893; +spiderLine=10485894; +if (v_result && texteditor$g__closingslot>=0) { +spiderLine=10485895; +texteditor$f__remove(texteditor$g__closingslot); +} +spiderLine=10485896; +spiderLine=10485897; +texteditor$g__closingslot=-1; +spiderLine=10485898; +return 0; +} +function texteditor$f__save(v_slot) { +var v_content=""; +spiderLine=10485853; +spiderLine=10485854; +if (!(spider_IsWindow_DEBUG(texteditor$a__Windows.array[v_slot]))) { +spiderLine=10485854; +if (1) return 0; +} +spiderLine=10485854; +spiderLine=10485855; +if (texteditor$a__Saving.array[v_slot]) { +spiderLine=10485855; +if (1) return 0; +} +spiderLine=10485855; +spiderLine=10485856; +v_content=spider_GetGadgetText_DEBUG(texteditor$a__Editors.array[v_slot]); +spiderLine=10485857; +texteditor$a__Saving.array[v_slot]=1; +spiderLine=10485858; +spider_DisableGadget_DEBUG(texteditor$a__SaveBtns.array[v_slot],1); +spiderLine=10485859; +fs$f_write(texteditor$a__FileIDs.array[v_slot],texteditor$a__Paths.array[v_slot],v_content,texteditor$f__savecallback); +spiderLine=10485860; +return 0; +} +function texteditor$f_open(v_fileid,v_path) { +var v_slot=0; +var v_editor=0; +var v_h=0; +var v_w=0; +var v_savebtn=0; +var v_win=0; +spiderLine=10485794; +spiderLine=10485795; +if (texteditor$g__count>=16) { +spiderLine=10485796; +notify$f_toast(_S118,2,4000); +spiderLine=10485797; +if (1) return 0; +} +spiderLine=10485798; +spiderLine=10485800; +v_slot=texteditor$g__count; +spiderLine=10485801; +v_w=600; +spiderLine=10485802; +v_h=400; +spiderLine=10485805; +v_win=spider_OpenWindow_DEBUG(-1,((v_slot*20)+120),((v_slot*20)+60),v_w,v_h,fs$f_getfilepart(v_path),56); +spiderLine=10485807; +v_savebtn=spider_ButtonGadget_DEBUG(-1,5,3,80,29,_S119); +spiderLine=10485808; +v_editor=spider_EditorGadget_DEBUG(-1,0,35,v_w,(v_h+-35)); +spiderLine=10485810; +texteditor$a__Windows.array[v_slot]=v_win; +spiderLine=10485811; +texteditor$a__Editors.array[v_slot]=v_editor; +spiderLine=10485812; +texteditor$a__SaveBtns.array[v_slot]=v_savebtn; +spiderLine=10485813; +texteditor$a__FileIDs.array[v_slot]=v_fileid; +spiderLine=10485814; +texteditor$a__Paths.array[v_slot]=v_path; +spiderLine=10485815; +texteditor$a__Dirty.array[v_slot]=0; +spiderLine=10485816; +texteditor$g__count=(texteditor$g__count+1); +spiderLine=10485818; +spider_BindGadgetEvent_DEBUG(v_savebtn,texteditor$f_handler_save); +spiderLine=10485819; +spider_BindGadgetEvent_DEBUG(v_editor,texteditor$f_handler_change); +spiderLine=10485820; +spider_BindEvent_DEBUG(7,texteditor$f_handler_resize,v_win); +spiderLine=10485821; +spider_BindEvent_DEBUG(4,texteditor$f_handler_close,v_win); +spiderLine=10485823; +desktop$f_register(fs$f_getfilepart(v_path),v_win,_S120); +spiderLine=10485825; +texteditor$g__loading_slot=v_slot; +spiderLine=10485826; +fs$f_read_(v_fileid,v_path,texteditor$f__readcallback); +spiderLine=10485827; +return 0; +} +function texteditor$f_handler_change() { +var v_slot=0; +spiderLine=10485945; +spiderLine=10485946; +v_slot=texteditor$f__findbyeditor(spider_EventGadget_DEBUG()); +spiderLine=10485947; +if (v_slot>=0 && !(texteditor$a__Dirty.array[v_slot])) { +spiderLine=10485948; +texteditor$f__setdirty(v_slot,1); +} +spiderLine=10485949; +spiderLine=10485950; +return 0; +} +function texteditor$f__savecallback(v_success,v_datastring) { +var v_i=0; +spiderLine=10485915;; +spiderLine=10485917; +v_i=0; +for (;(texteditor$g__count+-1)>=v_i;v_i+=1) { +spiderLine=10485918; +if (texteditor$a__Saving.array[v_i]) { +spiderLine=10485919; +texteditor$a__Saving.array[v_i]=0; +spiderLine=10485920; +spider_DisableGadget_DEBUG(texteditor$a__SaveBtns.array[v_i],0); +spiderLine=10485921; +if (v_success) { +spiderLine=10485922; +texteditor$f__setdirty(v_i,0); +spiderLine=10485923; +} else { +spiderLine=10485923; +spiderLine=10485924; +notify$f_toast(_S122+fs$f_getfilepart(texteditor$a__Paths.array[v_i]),3,4000); +} +spiderLine=10485925; +spiderLine=10485926; +break; +} +spiderLine=10485927; +spiderLine=10485928; +} +spiderLine=10485929; +return 0; +} +function texteditor$f_handler_close() { +var v_slot=0; +var v_win=0; +spiderLine=10485952; +spiderLine=10485953; +v_win=spider_EventWindow_DEBUG(); +spiderLine=10485954; +v_slot=texteditor$f__findbywindow(v_win); +spiderLine=10485955; +if (v_slot<0) { +spiderLine=10485955; +if (1) return 0; +} +spiderLine=10485955; +spiderLine=10485957; +if (texteditor$a__Dirty.array[v_slot]) { +spiderLine=10485958; +texteditor$g__closingslot=v_slot; +spiderLine=10485961; +notify$f_confirm(_S123,_S124+fs$f_getfilepart(texteditor$a__Paths.array[v_slot])+_S125,texteditor$f__confirmclosecallback); +spiderLine=10485962; +} else { +spiderLine=10485962; +spiderLine=10485963; +texteditor$f__remove(v_slot); +} +spiderLine=10485964; +spiderLine=10485965; +return 0; +} +function texteditor$f__findbyeditor(v_editor) { +var v_i=0; +spiderLine=10485838;; +spiderLine=10485840; +v_i=0; +for (;(texteditor$g__count+-1)>=v_i;v_i+=1) { +spiderLine=10485841; +if (texteditor$a__Editors.array[v_i]==v_editor) { +spiderLine=10485841; +if (1) return v_i; +} +spiderLine=10485841; +spiderLine=10485842; +} +spiderLine=10485843; +if (1) return -1; +spiderLine=10485844; +return 0; +} +function texteditor$f__findbywindow(v_window) { +var v_i=0; +spiderLine=10485830;; +spiderLine=10485832; +v_i=0; +for (;(texteditor$g__count+-1)>=v_i;v_i+=1) { +spiderLine=10485833; +if (texteditor$a__Windows.array[v_i]==v_window) { +spiderLine=10485833; +if (1) return v_i; +} +spiderLine=10485833; +spiderLine=10485834; +} +spiderLine=10485835; +if (1) return -1; +spiderLine=10485836; +return 0; +} +function texteditor$f_handler_resize() { +var v_slot=0; +var v_win=0; +spiderLine=10485932; +spiderLine=10485933; +v_win=spider_EventWindow_DEBUG(); +spiderLine=10485934; +v_slot=texteditor$f__findbywindow(v_win); +spiderLine=10485935; +if (v_slot<0) { +spiderLine=10485935; +if (1) return 0; +} +spiderLine=10485935; +spiderLine=10485937; +spider_ResizeGadget_DEBUG(texteditor$a__Editors.array[v_slot],0,35,spider_WindowWidth_DEBUG(v_win),(spider_WindowHeight_DEBUG(v_win)+-35)); +spiderLine=10485938; +return 0; +} +function texteditor$f_handler_save() { +var v_slot=0; +spiderLine=10485940; +spiderLine=10485941; +v_slot=texteditor$f__findbywindow(spider_EventWindow_DEBUG()); +spiderLine=10485942; +if (v_slot>=0) { +spiderLine=10485942; +texteditor$f__save(v_slot); +} +spiderLine=10485942; +spiderLine=10485943; +return 0; +} +function texteditor$f__remove(v_slot) { +var v_i=0; +spiderLine=10485862; +spiderLine=10485863; +spider_UnbindGadgetEvent_DEBUG(texteditor$a__SaveBtns.array[v_slot],texteditor$f_handler_save); +spiderLine=10485864; +spider_UnbindGadgetEvent_DEBUG(texteditor$a__Editors.array[v_slot],texteditor$f_handler_change); +spiderLine=10485865; +spider_UnbindEvent(7,texteditor$f_handler_resize,texteditor$a__Windows.array[v_slot]); +spiderLine=10485866; +spider_UnbindEvent(4,texteditor$f_handler_close,texteditor$a__Windows.array[v_slot]); +spiderLine=10485867; +desktop$f_unregister(texteditor$a__Windows.array[v_slot]);; +spiderLine=10485870; +v_i=v_slot; +for (;(texteditor$g__count+-2)>=v_i;v_i+=1) { +spiderLine=10485871; +texteditor$a__Windows.array[v_i]=texteditor$a__Windows.array[(v_i+1)]; +spiderLine=10485872; +texteditor$a__Editors.array[v_i]=texteditor$a__Editors.array[(v_i+1)]; +spiderLine=10485873; +texteditor$a__SaveBtns.array[v_i]=texteditor$a__SaveBtns.array[(v_i+1)]; +spiderLine=10485874; +texteditor$a__FileIDs.array[v_i]=texteditor$a__FileIDs.array[(v_i+1)]; +spiderLine=10485875; +texteditor$a__Paths.array[v_i]=texteditor$a__Paths.array[(v_i+1)]; +spiderLine=10485876; +texteditor$a__Dirty.array[v_i]=texteditor$a__Dirty.array[(v_i+1)]; +spiderLine=10485877; +texteditor$a__Saving.array[v_i]=texteditor$a__Saving.array[(v_i+1)]; +spiderLine=10485878; +} +spiderLine=10485879; +texteditor$a__Windows.array[(texteditor$g__count+-1)]=0; +spiderLine=10485880; +texteditor$a__Editors.array[(texteditor$g__count+-1)]=0; +spiderLine=10485881; +texteditor$a__SaveBtns.array[(texteditor$g__count+-1)]=0; +spiderLine=10485882; +texteditor$a__FileIDs.array[(texteditor$g__count+-1)]=_S3; +spiderLine=10485883; +texteditor$a__Paths.array[(texteditor$g__count+-1)]=_S3; +spiderLine=10485884; +texteditor$a__Dirty.array[(texteditor$g__count+-1)]=0; +spiderLine=10485885; +texteditor$a__Saving.array[(texteditor$g__count+-1)]=0; +spiderLine=10485886; +texteditor$g__count=(texteditor$g__count+-1); +spiderLine=10485888; +if (texteditor$g__loading_slot==v_slot) { +spiderLine=10485888; +texteditor$g__loading_slot=-1; +} +spiderLine=10485888; +spiderLine=10485889; +if (texteditor$g__closingslot==v_slot) { +spiderLine=10485889; +texteditor$g__closingslot=-1; +} +spiderLine=10485889; +spiderLine=10485890; +return 0; +} +function texteditor$f__readcallback(v_success,v_datastring) { +var v_slot=0; +spiderLine=10485901; +spiderLine=10485902; +if (texteditor$g__loading_slot<0) { +spiderLine=10485902; +if (1) return 0; +} +spiderLine=10485902; +spiderLine=10485903; +v_slot=texteditor$g__loading_slot; +spiderLine=10485904; +texteditor$g__loading_slot=-1; +spiderLine=10485905; +if (!(spider_IsWindow_DEBUG(texteditor$a__Windows.array[v_slot]))) { +spiderLine=10485905; +if (1) return 0; +} +spiderLine=10485905; +spiderLine=10485906; +if (v_success) { +spiderLine=10485907; +spider_SetGadgetText_DEBUG(texteditor$a__Editors.array[v_slot],v_datastring); +spiderLine=10485908; +texteditor$f__setdirty(v_slot,0); +spiderLine=10485909; +} else { +spiderLine=10485909; +spiderLine=10485910; +spider_SetGadgetText_DEBUG(texteditor$a__Editors.array[v_slot],_S3); +spiderLine=10485911; +texteditor$f__setdirty(v_slot,1); +} +spiderLine=10485912; +spiderLine=10485913; +return 0; +} +function texteditor$f__setdirty(v_slot,v_dirty) { +var v_title=""; +spiderLine=10485846; +spiderLine=10485847; +texteditor$a__Dirty.array[v_slot]=v_dirty; +spiderLine=10485848; +v_title=fs$f_getfilepart(texteditor$a__Paths.array[v_slot]); +spiderLine=10485849; +if (v_dirty) { +spiderLine=10485849; +v_title=_S121+v_title; +} +spiderLine=10485849; +spiderLine=10485850; +spider_SetWindowTitle_DEBUG(texteditor$a__Windows.array[v_slot],v_title); +spiderLine=10485851; +return 0; +} +function login$f_handler_connectbutton() { +var v_password=""; +var v_username=""; +spiderLine=8388646; +spiderLine=8388647; +v_username=spider_GetGadgetText_DEBUG(login$g_usernameinput); +spiderLine=8388648; +v_password=spider_GetGadgetText_DEBUG(login$g_passwordinput); +spiderLine=8388650; +if (v_username==_S3 || v_password==_S3) { +spiderLine=8388651; +notify$f_toast(_S67,3,4000); +spiderLine=8388652; +if (1) return 0; +} +spiderLine=8388653; +spiderLine=8388655; +spider_HTTPRequest(1,_S68,_S69+spider_URLEncoder_DEBUG(v_username,2)+_S70+spider_URLEncoder_DEBUG(v_password,2),login$f_handler_login); +spiderLine=8388656; +return 0; +} +function login$f_open() { +spiderLine=8388625; +spiderLine=8388626; +login$g_window=spider_OpenWindow_DEBUG(-1,0,0,400,165,_S3,513); +spiderLine=8388628; +login$g_usernamelabel=spider_TextGadget_DEBUG(-1,30,33,100,20,_S64); +spiderLine=8388629; +login$g_usernameinput=spider_StringGadget_DEBUG(-1,120,30,250,20,_S3); +spiderLine=8388630; +login$g_passwordlabel=spider_TextGadget_DEBUG(-1,30,73,100,20,_S65); +spiderLine=8388631; +login$g_passwordinput=spider_StringGadget_DEBUG(-1,120,70,250,20,_S3,1); +spiderLine=8388632; +login$g_connectbutton=spider_ButtonGadget_DEBUG(-1,30,110,340,25,_S66); +spiderLine=8388633; +spider_SetActiveGadget_DEBUG(login$g_usernameinput); +spiderLine=8388635; +spider_BindGadgetEvent_DEBUG(login$g_connectbutton,login$f_handler_connectbutton); +spiderLine=8388636; +spider_BindEvent_DEBUG(21,login$f_handler_browserresize); +spiderLine=8388637; +return 0; +} +function login$f_handler_browserresize() { +var v__height=0; +var v__width=0; +spiderLine=8388640; +spiderLine=8388641; +v__width=spider_DesktopWidth_DEBUG(0); +spiderLine=8388642; +v__height=spider_DesktopHeight_DEBUG(0); +spiderLine=8388643; +spider_ResizeWindow_DEBUG(login$g_window,spider_BankerRound((((v__width+-400))*0.5)),spider_BankerRound((((v__height+-165))*0.5)),-65535,-65535); +spiderLine=8388644; +return 0; +} +function login$f_handler_login(v_success,v_result,v_userdata) { +var v_username=""; +var v_ok=0; +var v_root=0; +spiderLine=8388658;;;; +spiderLine=8388662; +if (v_success) { +spiderLine=8388663; +if (spider_ParseJSON_DEBUG(0,v_result)) { +spiderLine=8388664; +v_root=spider_JSONValue_DEBUG(0); +spiderLine=8388665; +v_ok=spider_GetJSONBoolean_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S26)); +spiderLine=8388666; +if (v_ok) { +spiderLine=8388667; +v_username=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S2)); +spiderLine=8388668; +spider_UnbindGadgetEvent_DEBUG(login$g_connectbutton,login$f_handler_connectbutton); +spiderLine=8388669; +spider_UnbindEvent(21,login$f_handler_browserresize); +spiderLine=8388670; +spider_CloseWindow_DEBUG(login$g_window); +spiderLine=8388671; +desktop$f_open(v_username); +spiderLine=8388672; +} else { +spiderLine=8388672; +spiderLine=8388673; +notify$f_toast(_S67,3,4000); +} +spiderLine=8388674; +spiderLine=8388675; +spider_FreeJSON_DEBUG(0); +} +spiderLine=8388676; +spiderLine=8388677; +} else { +spiderLine=8388677; +spiderLine=8388678; +notify$f_toast(_S71,3,4000); +} +spiderLine=8388679; +spiderLine=8388680; +return 0; +} +function notify$f__fireconfirm(v_result) { +spiderLine=6291652; +spiderLine=6291653; +notify$f__closeconfirm(); +spiderLine=6291654; +if (notify$g__confirmcb) { +notify$g__confirmcb(v_result); +spiderLine=6291656; +notify$g__confirmcb=0; +} +spiderLine=6291657; +spiderLine=6291658; +return 0; +} +function notify$f_handler_confirmclose() { +spiderLine=6291682; +spiderLine=6291683; +notify$f__fireconfirm(0); +spiderLine=6291684; +return 0; +} +function notify$f_confirm(v_title,v_message,p_callback) { +var v_h=0; +var v_w=0; +var v_dh=0; +var v_dw=0; +spiderLine=6291530;;;;; +spiderLine=6291533; +if (spider_IsWindow_DEBUG(notify$g__confirmwin)) { +spiderLine=6291533; +if (1) return 0; +} +spiderLine=6291533; +spiderLine=6291535; +v_w=340; +spiderLine=6291536; +v_h=130; +spiderLine=6291537; +v_dw=spider_DesktopWidth_DEBUG(0); +spiderLine=6291538; +v_dh=spider_DesktopHeight_DEBUG(0); +spiderLine=6291540; +notify$g__confirmwin=spider_OpenWindow_DEBUG(-1,((((v_dw-v_w))/2)|0),((((v_dh-v_h))/2)|0),v_w,v_h,v_title,24); +spiderLine=6291541; +spider_StickyWindow_DEBUG(notify$g__confirmwin,1); +spiderLine=6291542; +notify$g__confirmcb=p_callback; +spiderLine=6291544; +spider_TextGadget_DEBUG(-1,20,20,(v_w+-40),50,v_message); +spiderLine=6291545; +notify$g__confirmokbtn=spider_ButtonGadget_DEBUG(-1,(v_w+-190),(v_h+-45),80,30,_S28); +spiderLine=6291546; +notify$g__confirmcancelbtn=spider_ButtonGadget_DEBUG(-1,(v_w+-100),(v_h+-45),80,30,_S29); +spiderLine=6291548; +spider_BindGadgetEvent_DEBUG(notify$g__confirmokbtn,notify$f_handler_confirmok); +spiderLine=6291549; +spider_BindGadgetEvent_DEBUG(notify$g__confirmcancelbtn,notify$f_handler_confirmcancel); +spiderLine=6291550; +spider_BindEvent_DEBUG(4,notify$f_handler_confirmclose,notify$g__confirmwin); +spiderLine=6291551; +return 0; +} +function notify$f_handler_confirmcancel() { +spiderLine=6291678; +spiderLine=6291679; +notify$f__fireconfirm(0); +spiderLine=6291680; +return 0; +} +function notify$f__findbycanvas(v_canvas) { +var v_i=0; +spiderLine=6291636;; +spiderLine=6291638; +v_i=0; +for (;(notify$g__count+-1)>=v_i;v_i+=1) { +spiderLine=6291639; +if (notify$a__Canvases.array[v_i]==v_canvas) { +spiderLine=6291639; +if (1) return v_i; +} +spiderLine=6291639; +spiderLine=6291640; +} +spiderLine=6291641; +if (1) return -1; +spiderLine=6291642; +return 0; +} +function notify$f__typecolor(v_type) { +spiderLine=6291555; +spiderLine=6291556; +var sb_select1=v_type; +spiderLine=6291557; +if (sb_select1==1) { +spiderLine=6291557; +if (1) return spider_RGB_DEBUG(60,180,100); +spiderLine=6291558; +} else if (sb_select1==2) { +spiderLine=6291558; +if (1) return spider_RGB_DEBUG(220,160,40); +spiderLine=6291559; +} else if (sb_select1==3) { +spiderLine=6291559; +if (1) return spider_RGB_DEBUG(210,65,65); +spiderLine=6291560; +} else { +spiderLine=6291560; +spiderLine=6291560; +if (1) return spider_RGB_DEBUG(50,130,220); +} +spiderLine=6291562; +return 0; +} +function notify$f__dismiss(v_slot) { +var v_i=0; +spiderLine=6291594;; +spiderLine=6291597; +if (!(spider_IsWindow_DEBUG(notify$a__Wins.array[v_slot]))) { +spiderLine=6291597; +if (1) return 0; +} +spiderLine=6291597; +spiderLine=6291599; +spider_UnbindEvent(12,notify$f_handler_toasttimer,notify$a__Wins.array[v_slot]); +spiderLine=6291600; +spider_UnbindGadgetEvent_DEBUG(notify$a__Canvases.array[v_slot],notify$f_handler_toastclick); +spiderLine=6291601; +spider_CloseWindow_DEBUG(notify$a__Wins.array[v_slot]); +spiderLine=6291603; +v_i=v_slot; +for (;(notify$g__count+-2)>=v_i;v_i+=1) { +spiderLine=6291604; +notify$a__Wins.array[v_i]=notify$a__Wins.array[(v_i+1)]; +spiderLine=6291605; +notify$a__Canvases.array[v_i]=notify$a__Canvases.array[(v_i+1)]; +spiderLine=6291606; +notify$a__Types.array[v_i]=notify$a__Types.array[(v_i+1)]; +spiderLine=6291607; +notify$a__Messages.array[v_i]=notify$a__Messages.array[(v_i+1)]; +spiderLine=6291608; +} +spiderLine=6291609; +notify$a__Wins.array[(notify$g__count+-1)]=0; +spiderLine=6291610; +notify$a__Canvases.array[(notify$g__count+-1)]=0; +spiderLine=6291611; +notify$a__Types.array[(notify$g__count+-1)]=0; +spiderLine=6291612; +notify$a__Messages.array[(notify$g__count+-1)]=_S3; +spiderLine=6291613; +notify$g__count=(notify$g__count+-1); +spiderLine=6291615; +notify$f__reposition(); +spiderLine=6291616; +return 0; +} +function notify$f__findbywindow(v_win) { +var v_i=0; +spiderLine=6291628;; +spiderLine=6291630; +v_i=0; +for (;(notify$g__count+-1)>=v_i;v_i+=1) { +spiderLine=6291631; +if (notify$a__Wins.array[v_i]==v_win) { +spiderLine=6291631; +if (1) return v_i; +} +spiderLine=6291631; +spiderLine=6291632; +} +spiderLine=6291633; +if (1) return -1; +spiderLine=6291634; +return 0; +} +function notify$f__closeconfirm() { +spiderLine=6291644; +spiderLine=6291645; +spider_UnbindGadgetEvent_DEBUG(notify$g__confirmokbtn,notify$f_handler_confirmok); +spiderLine=6291646; +spider_UnbindGadgetEvent_DEBUG(notify$g__confirmcancelbtn,notify$f_handler_confirmcancel); +spiderLine=6291647; +spider_UnbindEvent(4,notify$f_handler_confirmclose,notify$g__confirmwin); +spiderLine=6291648; +spider_CloseWindow_DEBUG(notify$g__confirmwin); +spiderLine=6291649; +notify$g__confirmwin=0; +spiderLine=6291650; +return 0; +} +function notify$f_handler_toasttimer() { +var v_slot=0; +spiderLine=6291662; +spiderLine=6291663; +v_slot=notify$f__findbywindow(spider_EventWindow_DEBUG()); +spiderLine=6291664; +if (v_slot>=0) { +spiderLine=6291664; +notify$f__dismiss(v_slot); +} +spiderLine=6291664; +spiderLine=6291665; +return 0; +} +function notify$f_handler_confirmok() { +spiderLine=6291674; +spiderLine=6291675; +notify$f__fireconfirm(1); +spiderLine=6291676; +return 0; +} +function notify$f__reposition() { +var v_i=0; +var v_dh=0; +var v_dw=0; +spiderLine=6291618;;;; +spiderLine=6291621; +v_dw=spider_DesktopWidth_DEBUG(0); +spiderLine=6291622; +v_dh=spider_DesktopHeight_DEBUG(0); +spiderLine=6291623; +v_i=0; +for (;(notify$g__count+-1)>=v_i;v_i+=1) { +spiderLine=6291624; +spider_ResizeWindow_DEBUG(notify$a__Wins.array[v_i],(v_dw+-310),(v_dh-(((v_i+1))*(70))),-65535,-65535); +spiderLine=6291625; +} +spiderLine=6291626; +return 0; +} +function notify$f_handler_toastclick() { +var v_slot=0; +spiderLine=6291667;; +spiderLine=6291669; +if (spider_EventType()!=65541) { +spiderLine=6291669; +if (1) return 0; +} +spiderLine=6291669; +spiderLine=6291670; +v_slot=notify$f__findbycanvas(spider_EventGadget_DEBUG()); +spiderLine=6291671; +if (v_slot>=0) { +spiderLine=6291671; +notify$f__dismiss(v_slot); +} +spiderLine=6291671; +spiderLine=6291672; +return 0; +} +function notify$f__drawtoast(v_slot) { +var v_h=0; +var v_w=0; +var v_msg=""; +var v_maxw=0; +spiderLine=6291564;;;;; +spiderLine=6291568; +if (!(spider_IsGadget_DEBUG(notify$a__Canvases.array[v_slot]))) { +spiderLine=6291568; +if (1) return 0; +} +spiderLine=6291568; +spiderLine=6291569; +if (!(spider_StartDrawing_DEBUG(spider_CanvasOutput_DEBUG(notify$a__Canvases.array[v_slot])))) { +spiderLine=6291569; +if (1) return 0; +} +spiderLine=6291569; +spiderLine=6291571; +v_w=spider_OutputWidth_DEBUG(); +spiderLine=6291572; +v_h=spider_OutputHeight_DEBUG(); +spiderLine=6291575; +spider_Box_DEBUG(0,0,v_w,v_h,spider_RGB_DEBUG(38,38,54)); +spiderLine=6291578; +spider_Box_DEBUG(0,0,4,v_h,notify$f__typecolor(notify$a__Types.array[v_slot])); +spiderLine=6291581; +spider_DrawingMode_DEBUG(1); +spiderLine=6291582; +if (spider_IsFont_DEBUG(notify$g__font)) { +spiderLine=6291582; +spider_DrawingFont_DEBUG(spider_FontID_DEBUG(notify$g__font)); +} +spiderLine=6291582; +spiderLine=6291584; +v_msg=notify$a__Messages.array[v_slot]; +spiderLine=6291585; +v_maxw=(v_w+-28); +while (spider_Len(v_msg)>3 && spider_TextWidth_DEBUG(v_msg)>v_maxw) { +spiderLine=6291587; +v_msg=spider_Left(v_msg,(spider_Len(v_msg)+-4))+_S30; +spiderLine=6291588; +} +il_wend48:; +spiderLine=6291590; +spider_DrawText_DEBUG(18,((((v_h-spider_TextHeight_DEBUG(_S31)))/2)),v_msg,spider_RGB_DEBUG(220,220,220)); +spiderLine=6291591; +spider_StopDrawing_DEBUG(); +spiderLine=6291592; +return 0; +} +function notify$f_toast(v_message,v_type,v_duration) { +var v_slot=0; +var v_canvas=0; +var v_x=0; +var v_y=0; +var v_win=0; +var v_dh=0; +var v_dw=0; +spiderLine=6291501;;;;;;;; +spiderLine=6291504; +if (notify$g__count>=5) { +spiderLine=6291504; +if (1) return 0; +} +spiderLine=6291504; +spiderLine=6291506; +v_slot=notify$g__count; +spiderLine=6291507; +v_dw=spider_DesktopWidth_DEBUG(0); +spiderLine=6291508; +v_dh=spider_DesktopHeight_DEBUG(0); +spiderLine=6291509; +v_x=(v_dw+-310); +spiderLine=6291510; +v_y=(v_dh-(((v_slot+1))*(70))); +spiderLine=6291511; +v_win=spider_OpenWindow_DEBUG(-1,v_x,v_y,300,60,_S3,512); +spiderLine=6291512; +spider_StickyWindow_DEBUG(v_win,1); +spiderLine=6291513; +v_canvas=spider_CanvasGadget_DEBUG(-1,0,0,300,60); +spiderLine=6291515; +notify$a__Wins.array[v_slot]=v_win; +spiderLine=6291516; +notify$a__Canvases.array[v_slot]=v_canvas; +spiderLine=6291517; +notify$a__Types.array[v_slot]=v_type; +spiderLine=6291518; +notify$a__Messages.array[v_slot]=v_message; +spiderLine=6291519; +notify$g__count=(notify$g__count+1); +spiderLine=6291521; +notify$f__drawtoast(v_slot); +spiderLine=6291523; +spider_BindGadgetEvent_DEBUG(v_canvas,notify$f_handler_toastclick); +spiderLine=6291524; +spider_AddWindowTimer_DEBUG(v_win,0,v_duration); +spiderLine=6291525; +spider_BindEvent_DEBUG(12,notify$f_handler_toasttimer,v_win); +spiderLine=6291526; +return 0; +} +function filecache$f_evict(v_fileid,p_callback) { +spiderLine=4194408; +var _cb = p_callback; +var _id = v_fileid; +var _db = window._kumos_idb; +if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + +var tx = _db.transaction(['file_content','file_meta'], 'readwrite'); +tx.objectStore('file_content').delete(_id); +tx.objectStore('file_meta').delete(_id); + +tx.oncomplete = function() { if (_cb) _cb(1, ''); }; +tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'evict failed'); }; +spiderLine=4194420; +return 0; +} +function filecache$f_getmeta(v_fileid,p_callback) { +spiderLine=4194382; +spiderLine=4194383; +idb$f_get(_S9,v_fileid,p_callback); +spiderLine=4194384; +return 0; +} +function filecache$f_exists(v_fileid,p_callback) { +spiderLine=4194455; +spiderLine=4194456; +idb$f_exists(_S9,v_fileid,p_callback); +spiderLine=4194457; +return 0; +} +function filecache$f_listcached(p_callback) { +spiderLine=4194423; +spiderLine=4194424; +idb$f_getallkeys(_S9,p_callback); +spiderLine=4194425; +return 0; +} +function filecache$f_cache(v_fileid,v_path,v_content,p_callback) { +spiderLine=4194319; +var _cb = p_callback; +var _id = v_fileid; +var _path = v_path; +var _content = v_content; +var _db = window._kumos_idb; +if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + +var tx = _db.transaction(['file_content','file_meta'], 'readwrite'); +var contentStore = tx.objectStore('file_content'); +var metaStore = tx.objectStore('file_meta'); + +var meta = JSON.stringify({ + path: _path, + dirty: false, + cached_at: Date.now(), + size: _content.length +}); + +contentStore.put(_content, _id).onerror = function(e) { tx.abort(); }; +metaStore.put(meta, _id).onerror = function(e) { tx.abort(); }; + +tx.oncomplete = function() { if (_cb) _cb(1, ''); }; +tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'cache failed'); }; +tx.onabort = function(e) { if (_cb) _cb(0, 'cache aborted'); }; +spiderLine=4194344; +return 0; +} +function filecache$f_read_(v_fileid,p_callback) { +spiderLine=4194348; +spiderLine=4194349; +idb$f_get(_S8,v_fileid,p_callback); +spiderLine=4194350; +return 0; +} +function filecache$f_markclean(v_fileid,p_callback) { +spiderLine=4194387; +var _cb = p_callback; +var _id = v_fileid; +var _db = window._kumos_idb; +if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + +var tx = _db.transaction(['file_meta'], 'readwrite'); +var store = tx.objectStore('file_meta'); +var req = store.get(_id); +req.onsuccess = function(ev) { + var meta = {}; + try { meta = JSON.parse(ev.target.result || '{}'); } catch(e) {} + meta.dirty = false; + store.put(JSON.stringify(meta), _id); +}; + +tx.oncomplete = function() { if (_cb) _cb(1, ''); }; +tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'markclean failed'); }; +spiderLine=4194405; +return 0; +} +function filecache$f_write(v_fileid,v_content,p_callback) { +spiderLine=4194354; +var _cb = p_callback; +var _id = v_fileid; +var _content = v_content; +var _db = window._kumos_idb; +if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + +var tx = _db.transaction(['file_content','file_meta'], 'readwrite'); +var contentStore = tx.objectStore('file_content'); +var metaStore = tx.objectStore('file_meta'); + +contentStore.put(_content, _id); + +var getReq = metaStore.get(_id); +getReq.onsuccess = function(ev) { + var meta = {}; + try { meta = JSON.parse(ev.target.result || '{}'); } catch(e) {} + meta.dirty = true; + meta.size = _content.length; + meta.cached_at = Date.now(); + metaStore.put(JSON.stringify(meta), _id); +}; + +tx.oncomplete = function() { if (_cb) _cb(1, ''); }; +tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'write failed'); }; +spiderLine=4194379; +return 0; +} +function filecache$f_listdirty(p_callback) { +spiderLine=4194429; +var _cb = p_callback; +var _db = window._kumos_idb; +if (!_db) { if (_cb) _cb(0, 'IDB not open'); return; } + +var tx = _db.transaction(['file_meta'], 'readonly'); +var store = tx.objectStore('file_meta'); +var req = store.openCursor(); +var dirty = []; + +req.onsuccess = function(ev) { + var cursor = ev.target.result; + if (cursor) { + try { + var meta = JSON.parse(cursor.value); + if (meta.dirty) dirty.push(String(cursor.key)); + } catch(e) {} + cursor.continue(); + } +}; + +tx.oncomplete = function() { if (_cb) _cb(1, JSON.stringify(dirty)); }; +tx.onerror = function(e) { if (_cb) _cb(0, e.target.error ? e.target.error.message : 'listdirty failed'); }; +spiderLine=4194452; +return 0; +} +function webbrowser$f_open() { +spiderLine=13631507; +spiderLine=13631508; +if (spider_IsWindow_DEBUG(webbrowser$g_window)) { +spiderLine=13631509; +spider_SetActiveWindow_DEBUG(webbrowser$g_window); +spiderLine=13631510; +if (1) return 0; +} +spiderLine=13631511; +spiderLine=13631514; +webbrowser$g_window=spider_OpenWindow_DEBUG(-1,100,60,800,600,_S37,56); +spiderLine=13631516; +webbrowser$g_urlbar=spider_StringGadget_DEBUG(-1,4,5,792,25,_S154); +spiderLine=13631517; +webbrowser$g_webview=spider_WebGadget_DEBUG(-1,0,35,800,565,_S154); +spiderLine=13631519; +spider_BindGadgetEvent_DEBUG(webbrowser$g_urlbar,webbrowser$f_handler_navigate); +spiderLine=13631520; +spider_BindEvent_DEBUG(7,webbrowser$f_handler_resize,webbrowser$g_window); +spiderLine=13631521; +spider_BindEvent_DEBUG(4,webbrowser$f_handler_close,webbrowser$g_window); +spiderLine=13631523; +desktop$f_register(_S37,webbrowser$g_window,_S38); +spiderLine=13631524; +return 0; +} +function webbrowser$f_handler_close() { +spiderLine=13631543; +spiderLine=13631544; +spider_UnbindGadgetEvent_DEBUG(webbrowser$g_urlbar,webbrowser$f_handler_navigate); +spiderLine=13631545; +spider_UnbindEvent(7,webbrowser$f_handler_resize,webbrowser$g_window); +spiderLine=13631546; +spider_UnbindEvent(4,webbrowser$f_handler_close,webbrowser$g_window); +spiderLine=13631547; +desktop$f_unregister(webbrowser$g_window); +spiderLine=13631548; +webbrowser$g_window=0; +spiderLine=13631549; +return 0; +} +function webbrowser$f_handler_navigate() { +spiderLine=13631526; +spiderLine=13631534; +return 0; +} +function webbrowser$f_handler_resize() { +var v_h=0; +var v_w=0; +spiderLine=13631536; +spiderLine=13631537; +v_w=spider_WindowWidth_DEBUG(webbrowser$g_window); +spiderLine=13631538; +v_h=spider_WindowHeight_DEBUG(webbrowser$g_window); +spiderLine=13631539; +spider_ResizeGadget_DEBUG(webbrowser$g_urlbar,4,5,(v_w+-8),25); +spiderLine=13631540; +spider_ResizeGadget_DEBUG(webbrowser$g_webview,0,35,v_w,(v_h+-35)); +spiderLine=13631541; +return 0; +} +function fileexplorer$f_open() { +spiderLine=11534395; +spiderLine=11534396; +if (spider_IsWindow_DEBUG(fileexplorer$g_window)) { +spiderLine=11534397; +spider_SetActiveWindow_DEBUG(fileexplorer$g_window); +spiderLine=11534398; +if (1) return 0; +} +spiderLine=11534399; +spiderLine=11534402; +fileexplorer$g_window=spider_OpenWindow_DEBUG(-1,150,80,480,400,_S35,56); +spiderLine=11534405; +fileexplorer$g_upbutton=spider_ButtonGadget_DEBUG(-1,2,4,30,27,_S126); +spiderLine=11534406; +fileexplorer$g_pathlabel=spider_TextGadget_DEBUG(-1,36,4,280,27,_S19); +spiderLine=11534407; +fileexplorer$g_newfolderbutton=spider_ButtonGadget_DEBUG(-1,318,4,80,27,_S127); +spiderLine=11534408; +fileexplorer$g_newfilebutton=spider_ButtonGadget_DEBUG(-1,402,4,74,27,_S128); +spiderLine=11534412; +fileexplorer$g_listview=spider_ListViewGadget_DEBUG(-1,0,35,480,341); +spiderLine=11534416; +fileexplorer$g_statuslabel=spider_TextGadget_DEBUG(-1,4,380,472,16,_S3); +spiderLine=11534418; +spider_BindGadgetEvent_DEBUG(fileexplorer$g_upbutton,fileexplorer$f_handler_up); +spiderLine=11534419; +spider_BindGadgetEvent_DEBUG(fileexplorer$g_newfolderbutton,fileexplorer$f_handler_newfolder); +spiderLine=11534420; +spider_BindGadgetEvent_DEBUG(fileexplorer$g_newfilebutton,fileexplorer$f_handler_newfile); +spiderLine=11534421; +spider_BindGadgetEvent_DEBUG(fileexplorer$g_listview,fileexplorer$f_handler_listview); +spiderLine=11534422; +spider_BindEvent_DEBUG(7,fileexplorer$f_handler_resize,fileexplorer$g_window); +spiderLine=11534423; +spider_BindEvent_DEBUG(4,fileexplorer$f_handler_close,fileexplorer$g_window); +spiderLine=11534425; +desktop$f_register(_S35,fileexplorer$g_window,_S36); +spiderLine=11534427; +fileexplorer$g_currentpath=_S19; +spiderLine=11534428; +fileexplorer$g_stackdepth=0; +spiderLine=11534429; +fileexplorer$f__load(_S19); +spiderLine=11534430; +return 0; +} +function fileexplorer$f_handler_close() { +spiderLine=11534585; +spiderLine=11534586; +if (spider_IsWindow_DEBUG(fileexplorer$g_inputwindow)) { +spiderLine=11534587; +spider_UnbindEvent(4,fileexplorer$f_handler_inputcancel,fileexplorer$g_inputwindow); +spiderLine=11534588; +spider_UnbindGadgetEvent_DEBUG(fileexplorer$g_buttonnew,fileexplorer$f_handler_inputconfirm); +spiderLine=11534589; +spider_UnbindGadgetEvent_DEBUG(fileexplorer$g_cancelbtn,fileexplorer$f_handler_inputcancel); +spiderLine=11534590; +fileexplorer$f__closeinputwindow(); +} +spiderLine=11534591; +spiderLine=11534593; +spider_UnbindGadgetEvent_DEBUG(fileexplorer$g_upbutton,fileexplorer$f_handler_up); +spiderLine=11534594; +spider_UnbindGadgetEvent_DEBUG(fileexplorer$g_newfolderbutton,fileexplorer$f_handler_newfolder); +spiderLine=11534595; +spider_UnbindGadgetEvent_DEBUG(fileexplorer$g_newfilebutton,fileexplorer$f_handler_newfile); +spiderLine=11534596; +spider_UnbindGadgetEvent_DEBUG(fileexplorer$g_listview,fileexplorer$f_handler_listview); +spiderLine=11534597; +spider_UnbindEvent(7,fileexplorer$f_handler_resize,fileexplorer$g_window); +spiderLine=11534598; +spider_UnbindEvent(4,fileexplorer$f_handler_close,fileexplorer$g_window); +spiderLine=11534599; +desktop$f_unregister(fileexplorer$g_window); +spiderLine=11534600; +fileexplorer$g_inputwindow=0; +spiderLine=11534601; +fileexplorer$g_window=0; +spiderLine=11534602; +return 0; +} +function fileexplorer$f__listcallback(v_success,v_datastring) { +var v_i=0; +var v_root=0; +var v_status=""; +var v_item=0; +var v_count=0; +var v_prefix=""; +spiderLine=11534443; +spiderLine=11534444; +if (!(v_success) || !(spider_IsWindow_DEBUG(fileexplorer$g_window))) { +spiderLine=11534445; +notify$f_toast(_S130,3,4000); +spiderLine=11534446; +if (1) return 0; +} +spiderLine=11534447; +spiderLine=11534449; +if (!(spider_ParseJSON_DEBUG(0,v_datastring))) { +spiderLine=11534450; +notify$f_toast(_S131,3,4000); +spiderLine=11534451; +if (1) return 0; +} +spiderLine=11534452; +spiderLine=11534454; +v_root=spider_JSONValue_DEBUG(0); +spiderLine=11534455; +v_count=spider_JSONArraySize_DEBUG(v_root);;; +spiderLine=11534458; +spider_ClearGadgetItems_DEBUG(fileexplorer$g_listview); +spiderLine=11534459; +fileexplorer$g_entrycount=0; +spiderLine=11534461; +v_i=0; +for (;(v_count+-1)>=v_i;v_i+=1) { +spiderLine=11534462; +if (fileexplorer$g_entrycount>=512) { +spiderLine=11534462; +break; +} +spiderLine=11534462; +spiderLine=11534463; +v_item=spider_GetJSONElement_DEBUG(v_root,v_i); +spiderLine=11534465; +fileexplorer$a_EntryIDs.array[fileexplorer$g_entrycount]=spider_Str(spider_GetJSONInteger_DEBUG(spider_GetJSONMember_DEBUG(v_item,_S53))); +spiderLine=11534466; +fileexplorer$a_EntryNames.array[fileexplorer$g_entrycount]=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_item,_S42)); +spiderLine=11534467; +fileexplorer$a_EntryIsDir.array[fileexplorer$g_entrycount]=spider_GetJSONInteger_DEBUG(spider_GetJSONMember_DEBUG(v_item,_S112)); +spiderLine=11534469; +v_prefix=_S132; +spiderLine=11534470; +if (fileexplorer$a_EntryIsDir.array[fileexplorer$g_entrycount]) { +spiderLine=11534470; +v_prefix=_S133; +} +spiderLine=11534470; +spiderLine=11534471; +spider_AddGadgetItem_DEBUG(fileexplorer$g_listview,-1,v_prefix+fileexplorer$a_EntryNames.array[fileexplorer$g_entrycount]); +spiderLine=11534472; +fileexplorer$g_entrycount=(fileexplorer$g_entrycount+1); +spiderLine=11534473; +} +spiderLine=11534475; +spider_FreeJSON_DEBUG(0); +spiderLine=11534477; +v_status=spider_Str(fileexplorer$g_entrycount)+_S134; +spiderLine=11534478; +if (fileexplorer$g_entrycount!=1) { +spiderLine=11534478; +v_status=v_status+_S135; +} +spiderLine=11534478; +spiderLine=11534479; +spider_SetGadgetText_DEBUG(fileexplorer$g_statuslabel,v_status); +spiderLine=11534480; +return 0; +} +function fileexplorer$f_handler_inputconfirm() { +var v_path=""; +var v_name=""; +spiderLine=11534604; +spiderLine=11534605; +v_name=spider_Trim_DEBUG(spider_GetGadgetText_DEBUG(fileexplorer$g_inputfield)); +spiderLine=11534606; +if (v_name==_S3) { +spiderLine=11534606; +if (1) return 0; +} +spiderLine=11534606; +spiderLine=11534608; +v_path=fileexplorer$g_currentpath; +spiderLine=11534609; +if (spider_Right(v_path,1)!=_S19) { +spiderLine=11534609; +v_path=v_path+_S19; +} +spiderLine=11534609; +spiderLine=11534610; +v_path=v_path+v_name; +spiderLine=11534612; +fileexplorer$f__closeinputwindow(); +spiderLine=11534614; +if (fileexplorer$g_inputmode==0) { +spiderLine=11534615; +fs$f_mkdir(v_path,fileexplorer$f__mkdircallback); +spiderLine=11534616; +} else { +spiderLine=11534616; +spiderLine=11534618; +fileexplorer$a_EntryNames.array[0]=v_name; +spiderLine=11534619; +fs$f_write(_S3,v_path,_S3,fileexplorer$f__createfilecallback); +} +spiderLine=11534620; +spiderLine=11534621; +return 0; +} +function fileexplorer$f_handler_newfile() { +spiderLine=11534558; +spiderLine=11534559; +fileexplorer$f__openinputwindow(1); +spiderLine=11534560; +return 0; +} +function fileexplorer$f_handler_newfolder() { +spiderLine=11534554; +spiderLine=11534555; +fileexplorer$f__openinputwindow(0); +spiderLine=11534556; +return 0; +} +function fileexplorer$f_handler_inputcancel() { +spiderLine=11534623; +spiderLine=11534624; +fileexplorer$f__closeinputwindow(); +spiderLine=11534625; +return 0; +} +function fileexplorer$f__createfilecallback(v_success,v_datastring) { +var v_id=""; +var v_path=""; +var v_root=0; +spiderLine=11534487; +spiderLine=11534488; +if (!(spider_IsWindow_DEBUG(fileexplorer$g_window))) { +spiderLine=11534488; +if (1) return 0; +} +spiderLine=11534488; +spiderLine=11534489; +if (v_success && spider_ParseJSON_DEBUG(0,v_datastring)) { +spiderLine=11534490; +v_root=spider_JSONValue_DEBUG(0); +spiderLine=11534491; +if (spider_GetJSONBoolean_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S26))) { +spiderLine=11534492; +v_id=spider_Str(spider_GetJSONInteger_DEBUG(spider_GetJSONMember_DEBUG(v_root,_S53))); +spiderLine=11534493; +v_path=fileexplorer$g_currentpath; +spiderLine=11534494; +if (spider_Right(v_path,1)!=_S19) { +spiderLine=11534494; +v_path=v_path+_S19; +} +spiderLine=11534494; +spiderLine=11534495; +v_path=v_path+fileexplorer$a_EntryNames.array[0]; +spiderLine=11534496; +spider_FreeJSON_DEBUG(0); +spiderLine=11534497; +fileexplorer$f__load(fileexplorer$g_currentpath); +spiderLine=11534498; +texteditor$f_open(v_id,v_path); +spiderLine=11534499; +if (1) return 0; +} +spiderLine=11534500; +spiderLine=11534501; +spider_FreeJSON_DEBUG(0); +} +spiderLine=11534502; +spiderLine=11534503; +fileexplorer$f__load(fileexplorer$g_currentpath); +spiderLine=11534504; +return 0; +} +function fileexplorer$f__mkdircallback(v_success,v_datastring) { +spiderLine=11534482; +spiderLine=11534483; +if (!(spider_IsWindow_DEBUG(fileexplorer$g_window))) { +spiderLine=11534483; +if (1) return 0; +} +spiderLine=11534483; +spiderLine=11534484; +fileexplorer$f__load(fileexplorer$g_currentpath); +spiderLine=11534485; +return 0; +} +function fileexplorer$f__closeinputwindow() { +spiderLine=11534529; +spiderLine=11534530; +if (spider_IsWindow_DEBUG(fileexplorer$g_inputwindow)) { +spiderLine=11534531; +spider_CloseWindow_DEBUG(fileexplorer$g_inputwindow); +} +spiderLine=11534532; +spiderLine=11534533; +return 0; +} +function fileexplorer$f_handler_resize() { +var v_h=0; +var v_w=0; +spiderLine=11534537; +spiderLine=11534538; +v_w=spider_WindowWidth_DEBUG(fileexplorer$g_window); +spiderLine=11534539; +v_h=spider_WindowHeight_DEBUG(fileexplorer$g_window); +spiderLine=11534540; +spider_ResizeGadget_DEBUG(fileexplorer$g_pathlabel,36,4,(v_w+-200),27); +spiderLine=11534541; +spider_ResizeGadget_DEBUG(fileexplorer$g_newfolderbutton,(v_w+-162),4,80,27); +spiderLine=11534542; +spider_ResizeGadget_DEBUG(fileexplorer$g_newfilebutton,(v_w+-78),4,74,27); +spiderLine=11534543; +spider_ResizeGadget_DEBUG(fileexplorer$g_listview,0,35,v_w,(v_h+-59)); +spiderLine=11534544; +spider_ResizeGadget_DEBUG(fileexplorer$g_statuslabel,4,(v_h+-20),(v_w+-8),16); +spiderLine=11534545; +return 0; +} +function fileexplorer$f__openinputwindow(v_mode) { +var v_title=""; +var v_x=0; +var v_y=0; +spiderLine=11534506; +spiderLine=11534507; +if (spider_IsWindow_DEBUG(fileexplorer$g_inputwindow)) { +spiderLine=11534507; +if (1) return 0; +} +spiderLine=11534507; +spiderLine=11534508; +fileexplorer$g_inputmode=v_mode; +spiderLine=11534510; +v_title=_S136; +spiderLine=11534511; +if (v_mode==1) { +spiderLine=11534511; +v_title=_S137; +} +spiderLine=11534511; +spiderLine=11534513; +v_x=(spider_WindowX_DEBUG(fileexplorer$g_window)+90); +spiderLine=11534514; +v_y=(spider_WindowY_DEBUG(fileexplorer$g_window)+155); +spiderLine=11534517; +fileexplorer$g_inputwindow=spider_OpenWindow_DEBUG(-1,v_x,v_y,300,90,v_title,24); +spiderLine=11534518; +spider_TextGadget_DEBUG(-1,10,12,280,20,_S138); +spiderLine=11534519; +fileexplorer$g_inputfield=spider_StringGadget_DEBUG(-1,10,32,280,24,_S3); +spiderLine=11534520; +fileexplorer$g_buttonnew=spider_ButtonGadget_DEBUG(-1,10,62,130,24,_S28); +spiderLine=11534521; +fileexplorer$g_cancelbtn=spider_ButtonGadget_DEBUG(-1,150,62,140,24,_S29); +spiderLine=11534523; +spider_SetActiveGadget_DEBUG(fileexplorer$g_inputfield); +spiderLine=11534524; +spider_BindGadgetEvent_DEBUG(fileexplorer$g_buttonnew,fileexplorer$f_handler_inputconfirm); +spiderLine=11534525; +spider_BindGadgetEvent_DEBUG(fileexplorer$g_cancelbtn,fileexplorer$f_handler_inputcancel); +spiderLine=11534526; +spider_BindEvent_DEBUG(4,fileexplorer$f_handler_inputcancel,fileexplorer$g_inputwindow); +spiderLine=11534527; +return 0; +} +function fileexplorer$f__load(v_path) { +spiderLine=11534434; +spiderLine=11534435; +fileexplorer$g_currentpath=v_path; +spiderLine=11534436; +spider_SetGadgetText_DEBUG(fileexplorer$g_pathlabel,v_path); +spiderLine=11534437; +spider_SetGadgetText_DEBUG(fileexplorer$g_statuslabel,_S129); +spiderLine=11534438; +spider_ClearGadgetItems_DEBUG(fileexplorer$g_listview); +spiderLine=11534439; +fileexplorer$g_entrycount=0; +spiderLine=11534440; +fs$f_list(v_path,fileexplorer$f__listcallback); +spiderLine=11534441; +return 0; +} +function fileexplorer$f_handler_listview() { +var v_path=""; +var v_newpath=""; +var v_index=0; +spiderLine=11534562; +spiderLine=11534563; +if (spider_EventType()!=2) { +spiderLine=11534563; +if (1) return 0; +} +spiderLine=11534563; +spiderLine=11534565; +v_index=spider_GetGadgetState_DEBUG(fileexplorer$g_listview); +spiderLine=11534566; +if (v_index<0 || v_index>=fileexplorer$g_entrycount) { +spiderLine=11534566; +if (1) return 0; +} +spiderLine=11534566; +spiderLine=11534568; +if (fileexplorer$a_EntryIsDir.array[v_index]) { +spiderLine=11534570; +fileexplorer$a_PathStack.array[fileexplorer$g_stackdepth]=fileexplorer$g_currentpath; +spiderLine=11534571; +fileexplorer$g_stackdepth=(fileexplorer$g_stackdepth+1); +spiderLine=11534572; +v_newpath=fileexplorer$g_currentpath; +spiderLine=11534573; +if (spider_Right(v_newpath,1)!=_S19) { +spiderLine=11534573; +v_newpath=v_newpath+_S19; +} +spiderLine=11534573; +spiderLine=11534574; +v_newpath=v_newpath+fileexplorer$a_EntryNames.array[v_index]; +spiderLine=11534575; +fileexplorer$f__load(v_newpath); +spiderLine=11534576; +} else { +spiderLine=11534576; +spiderLine=11534578; +v_path=fileexplorer$g_currentpath; +spiderLine=11534579; +if (spider_Right(v_path,1)!=_S19) { +spiderLine=11534579; +v_path=v_path+_S19; +} +spiderLine=11534579; +spiderLine=11534580; +v_path=v_path+fileexplorer$a_EntryNames.array[v_index]; +spiderLine=11534581; +texteditor$f_open(fileexplorer$a_EntryIDs.array[v_index],v_path); +} +spiderLine=11534582; +spiderLine=11534583; +return 0; +} +function fileexplorer$f_handler_up() { +spiderLine=11534547; +spiderLine=11534548; +if (fileexplorer$g_stackdepth>0) { +spiderLine=11534549; +fileexplorer$g_stackdepth=(fileexplorer$g_stackdepth+-1); +spiderLine=11534550; +fileexplorer$f__load(fileexplorer$a_PathStack.array[fileexplorer$g_stackdepth]); +} +spiderLine=11534551; +spiderLine=11534552; +return 0; +} +function desktop$f_handler_logout() { +spiderLine=7340546; +spiderLine=7340547; +spider_HTTPRequest(1,_S63,_S3,desktop$f_logoutcallback); +spiderLine=7340548; +return 0; +} +function desktop$f_installthirdpartyapp(v_appid,v_manifestjson,v_permissions,v_icon) { +var v_slot=0; +var v_i=0; +var v_n=""; +var v_label=""; +var v_appname=""; +spiderLine=7340234;;;;;; +spiderLine=7340238; +v_slot=-1; +spiderLine=7340239; +v_i=0; +for (;(desktop$g__appcount+-1)>=v_i;v_i+=1) { +spiderLine=7340240; +if (desktop$a_AppRegistry.array[v_i]._ID==v_appid) { +spiderLine=7340240; +v_slot=v_i; +spiderLine=7340240; +break; +} +spiderLine=7340240; +spiderLine=7340241; +} +spiderLine=7340243; +if (v_slot<0) { +spiderLine=7340244; +if (desktop$g__appcount>=32) { +spiderLine=7340244; +if (1) return 0; +} +spiderLine=7340244; +spiderLine=7340245; +v_slot=desktop$g__appcount; +spiderLine=7340246; +desktop$g__appcount=(desktop$g__appcount+1); +spiderLine=7340247; +} else { +spiderLine=7340247; +spiderLine=7340248; +if (spider_IsImage_DEBUG(desktop$a_AppRegistry.array[v_slot]._IconImg)) { +spiderLine=7340248; +spider_FreeImage_DEBUG(desktop$a_AppRegistry.array[v_slot]._IconImg); +} +spiderLine=7340248; +} +spiderLine=7340249; +spiderLine=7340251; +v_appname=v_appid; +spiderLine=7340252; +if (spider_ParseJSON_DEBUG(0,v_manifestjson)) { +spiderLine=7340253; +v_n=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(spider_JSONValue_DEBUG(0),_S42)); +spiderLine=7340254; +if (v_n!=_S3) { +spiderLine=7340254; +v_appname=v_n; +} +spiderLine=7340254; +spiderLine=7340255; +spider_FreeJSON_DEBUG(0); +} +spiderLine=7340256; +spiderLine=7340258; +desktop$a_AppRegistry.array[v_slot]._Name=v_appname; +spiderLine=7340259; +desktop$a_AppRegistry.array[v_slot]._ID=v_appid; +(function() { + var _id = v_appid, _m = v_manifestjson, _p = v_permissions; + desktop$a_AppRegistry.array[v_slot]._Proc = function() { + appruntime$f_launch(_id, _m, _p); + }; +})(); +spiderLine=7340268; +v_label=v_icon; +spiderLine=7340269; +if (v_label==_S3) { +spiderLine=7340269; +v_label=_S40; +} +spiderLine=7340269; +spiderLine=7340270; +desktop$a_AppRegistry.array[v_slot]._IconImg=desktop$f__makeiconimage(v_label,22,0); +spiderLine=7340272; +desktop$f__rebuildmenu(); +spiderLine=7340273; +return 0; +} +function desktop$f__rebuildmenu() { +var v_h=0; +spiderLine=7340362; +spiderLine=7340363; +v_h=desktop$f__menuheight(); +spiderLine=7340364; +if (spider_IsWindow_DEBUG(desktop$g_startmenuwindow)) { +spiderLine=7340364; +spider_ResizeWindow_DEBUG(desktop$g_startmenuwindow,-65535,-65535,240,v_h); +} +spiderLine=7340364; +spiderLine=7340365; +if (spider_IsGadget_DEBUG(desktop$g__menucanvas)) { +spiderLine=7340365; +spider_ResizeGadget_DEBUG(desktop$g__menucanvas,0,0,240,v_h); +} +spiderLine=7340365; +spiderLine=7340366; +desktop$f__drawmenu(); +spiderLine=7340367; +return 0; +} +function desktop$f_unregister(v_win) { +spiderLine=7340222; +spiderLine=7340223; +if (!(desktop$f__findbywindow(v_win))) { +spiderLine=7340223; +if (1) return 0; +} +spiderLine=7340223; +spiderLine=7340224; +spider_UnbindEvent(4,desktop$f_handler_appclose,v_win); +spiderLine=7340225; +spider_UnbindEvent(8,desktop$f_handler_appactivate,v_win); +spiderLine=7340226; +spider_UnbindGadgetEvent_DEBUG(desktop$t_WindowManager.current._Button,desktop$f_handler_taskbarbutton); +spiderLine=7340227; +spider_FreeGadget_DEBUG(desktop$t_WindowManager.current._Button); +spiderLine=7340228; +spider_CloseWindow_DEBUG(v_win); +spiderLine=7340229; +spider_DeleteElement_DEBUG(desktop$t_WindowManager); +spiderLine=7340230; +if (desktop$g__activewindow==v_win) { +spiderLine=7340230; +desktop$g__activewindow=spider_GetActiveWindow_DEBUG(); +} +spiderLine=7340230; +spiderLine=7340231; +desktop$f__rebuildbuttons(); +spiderLine=7340232; +return 0; +} +function desktop$f_open(v_username) { +var v_width=0; +var v_height=0; +var p_appproc=0; +spiderLine=7340130;;;; +spiderLine=7340134; +v_width=spider_DesktopWidth_DEBUG(0); +spiderLine=7340135; +v_height=spider_DesktopHeight_DEBUG(0); +spiderLine=7340138; +desktop$g__iconsettings=desktop$f__makeiconimage(_S32,22,desktop$g_color_logout_icon); +spiderLine=7340139; +desktop$g__iconlogout=desktop$f__makeiconimage(_S33,22,desktop$g_color_logout_icon); +spiderLine=7340141; +desktop$g_taskbarwindow=spider_OpenWindow_DEBUG(-1,0,0,72,v_height,_S3,512); +spiderLine=7340142; +spider_BindEvent_DEBUG(8,desktop$f_handler_appactivate,desktop$g_taskbarwindow); +spiderLine=7340143; +spider_StickyWindow_DEBUG(desktop$g_taskbarwindow,1); +spiderLine=7340144; +spider_SetWindowColor_DEBUG(desktop$g_taskbarwindow,desktop$g_color_bar_bg); +spiderLine=7340146; +desktop$g_startbutton=spider_ButtonGadget_DEBUG(-1,0,0,72,40,_S34); +spiderLine=7340147; +spider_BindGadgetEvent_DEBUG(desktop$g_startbutton,desktop$f_handler_startbutton); +spiderLine=7340149; +desktop$g_clocklabel=spider_TextGadget_DEBUG(-1,0,(v_height+-40),72,40,_S3,9); +spiderLine=7340150; +spider_SetGadgetColor_DEBUG(desktop$g_clocklabel,1,desktop$g_color_menu_text); +spiderLine=7340151; +desktop$f_handler_clock(); +spiderLine=7340152; +spider_AddWindowTimer_DEBUG(desktop$g_taskbarwindow,0,1000); +spiderLine=7340153; +spider_BindEvent_DEBUG(12,desktop$f_handler_clock,desktop$g_taskbarwindow); +spiderLine=7340155; +desktop$g_startmenuwindow=spider_OpenWindow_DEBUG(-1,76,0,240,100,_S3,768); +spiderLine=7340156; +spider_StickyWindow_DEBUG(desktop$g_startmenuwindow,1); +spiderLine=7340157; +desktop$g__menucanvas=spider_CanvasGadget_DEBUG(-1,0,0,240,100); +spiderLine=7340158; +spider_BindGadgetEvent_DEBUG(desktop$g__menucanvas,desktop$f_handler_menucanvas); +spiderLine=7340160; +spider_BindEvent_DEBUG(21,desktop$f_handler_resize); +spiderLine=7340161; +spider_BindEvent_DEBUG(16,desktop$f_handler_startmenu_focus,desktop$g_startmenuwindow); +spiderLine=7340163; +appruntime$f_init(); +p_appproc = fileexplorer$f_open; +spiderLine=7340165; +desktop$f_installapp(_S35,p_appproc,_S36); +p_appproc = webbrowser$f_open; +spiderLine=7340167; +desktop$f_installapp(_S37,p_appproc,_S38); +p_appproc = appmanager$f_open; +spiderLine=7340169; +desktop$f_installapp(_S39,p_appproc,_S40); +spiderLine=7340170; +desktop$f_handler_resize(); +spiderLine=7340172; +spider_HTTPRequest(0,_S41,_S3,desktop$f__loadinstalledappscallback); +spiderLine=7340173; +return 0; +} +function desktop$f__makeiconimage(v_label,v_size,v_color) { +var v_img=0; +var v_th=0; +var v_tw=0; +spiderLine=7340301;;;; +spiderLine=7340305; +v_img=spider_CreateImage_DEBUG(-1,v_size,v_size,32,spider_RGBA_DEBUG(0,0,0,0)); +spiderLine=7340306; +if (!(spider_IsImage_DEBUG(v_img))) { +spiderLine=7340306; +if (1) return 0; +} +spiderLine=7340306; +spiderLine=7340307; +if (spider_StartVectorDrawing_DEBUG(spider_ImageVectorOutput_DEBUG(v_img))) { +spiderLine=7340308; +spider_VectorFont_DEBUG(desktop$g_iconfont,(v_size*0.65000000000000002220446049250313080847263336181640625)); +spiderLine=7340309; +if (v_color==0) { +spiderLine=7340310; +spider_VectorSourceColor_DEBUG(desktop$g_color_icon); +spiderLine=7340311; +} else { +spiderLine=7340311; +spiderLine=7340312; +spider_VectorSourceColor_DEBUG(v_color); +} +spiderLine=7340313; +spiderLine=7340314; +v_tw=spider_VectorTextWidth_DEBUG(v_label); +spiderLine=7340315; +v_th=spider_VectorTextHeight_DEBUG(v_label); +spiderLine=7340324; +spider_MovePathCursor_DEBUG(((((v_size-v_tw))/2)),(v_size-(((v_th/2))))); +spiderLine=7340325; +spider_DrawVectorText_DEBUG(v_label); +spiderLine=7340326; +spider_StopVectorDrawing_DEBUG(); +} +spiderLine=7340327; +spiderLine=7340328; +if (1) return v_img; +spiderLine=7340329; +return 0; +} +function desktop$f_handler_startbutton() { +spiderLine=7340537; +spiderLine=7340538; +spider_HideWindow_DEBUG(desktop$g_startmenuwindow,0); +spiderLine=7340539; +spider_SetActiveWindow_DEBUG(desktop$g_startmenuwindow); +spiderLine=7340540; +return 0; +} +function desktop$f_uninstallthirdpartyapp(v_appid) { +var v_i=0; +var v_j=0; +spiderLine=7340275;;; +spiderLine=7340277; +v_i=0; +for (;(desktop$g__appcount+-1)>=v_i;v_i+=1) { +spiderLine=7340278; +if (desktop$a_AppRegistry.array[v_i]._ID==v_appid) { +spiderLine=7340279; +if (spider_IsImage_DEBUG(desktop$a_AppRegistry.array[v_i]._IconImg)) { +spiderLine=7340279; +spider_FreeImage_DEBUG(desktop$a_AppRegistry.array[v_i]._IconImg); +} +spiderLine=7340279; +spiderLine=7340281; +v_j=v_i; +for (;(desktop$g__appcount+-2)>=v_j;v_j+=1) { +spiderLine=7340282; +desktop$a_AppRegistry.array[v_j]._Name=desktop$a_AppRegistry.array[(v_j+1)]._Name; +spiderLine=7340283; +desktop$a_AppRegistry.array[v_j]._ID=desktop$a_AppRegistry.array[(v_j+1)]._ID; +spiderLine=7340284; +desktop$a_AppRegistry.array[v_j]._IconImg=desktop$a_AppRegistry.array[(v_j+1)]._IconImg; +spiderLine=7340285; +desktop$a_AppRegistry.array[v_j]._Proc=desktop$a_AppRegistry.array[(v_j+1)]._Proc; +desktop$a_AppRegistry.array[v_j]._Proc = desktop$a_AppRegistry.array[v_j + 1]._Proc; +spiderLine=7340287; +} +spiderLine=7340288; +desktop$a_AppRegistry.array[(desktop$g__appcount+-1)]._Name=_S3; +spiderLine=7340289; +desktop$a_AppRegistry.array[(desktop$g__appcount+-1)]._ID=_S3; +spiderLine=7340290; +desktop$a_AppRegistry.array[(desktop$g__appcount+-1)]._IconImg=0; +spiderLine=7340291; +desktop$a_AppRegistry.array[(desktop$g__appcount+-1)]._Proc=0; +desktop$a_AppRegistry.array[desktop$g__appcount]._Proc = 0; +spiderLine=7340293; +desktop$g__appcount=(desktop$g__appcount+-1); +spiderLine=7340294; +desktop$f__rebuildmenu(); +spiderLine=7340295; +if (1) return 0; +} +spiderLine=7340296; +spiderLine=7340297; +} +spiderLine=7340298; +return 0; +} +function desktop$f_handler_appactivate() { +var v_win=0; +spiderLine=7340624; +spiderLine=7340625; +v_win=spider_EventWindow_DEBUG(); +spiderLine=7340626; +if (v_win==desktop$g_taskbarwindow) { +spiderLine=7340626; +if (1) return 0; +} +spiderLine=7340626; +spiderLine=7340627; +desktop$g__activewindow=v_win; +spiderLine=7340628; +desktop$f__setactivebutton(); +spiderLine=7340629; +return 0; +} +function desktop$f_handler_taskbarbutton() { +var v_win=0; +var v_btn=0; +spiderLine=7340594;;; +spiderLine=7340596; +if (spider_EventType()!=65541) { +spiderLine=7340596; +if (1) return 0; +} +spiderLine=7340596; +spiderLine=7340597; +v_btn=spider_EventGadget_DEBUG(); +spiderLine=7340598; +v_win=spider_GetGadgetData_DEBUG(v_btn); +spiderLine=7340599; +if (!(spider_IsWindow_DEBUG(v_win))) { +spiderLine=7340599; +if (1) return 0; +} +spiderLine=7340599; +spiderLine=7340600; +if (desktop$g__activewindow==v_win) { +spiderLine=7340601; +spider_HideWindow_DEBUG(v_win,1); +spiderLine=7340602; +desktop$g__activewindow=0; +spiderLine=7340603; +} else { +spiderLine=7340603; +spiderLine=7340604; +spider_HideWindow_DEBUG(v_win,0); +spiderLine=7340605; +spider_SetActiveWindow_DEBUG(v_win); +spiderLine=7340606; +desktop$g__activewindow=v_win; +} +spiderLine=7340607; +spiderLine=7340608; +desktop$f__setactivebutton(); +spiderLine=7340609; +return 0; +} +function desktop$f__loadinstalledappscallback(v_success,v_datastring) { +var v_permcount=0; +var v_icon=""; +var v_i=0; +var v_j=0; +var v_manistr=""; +var v_maninode=0; +var v_root=0; +var v_permnode=0; +var v_item=0; +var v_appid=""; +var v_total=0; +var v_perms=""; +spiderLine=7340489;;;;;;;;;;;;; +spiderLine=7340493; +if (!(v_success) || !(spider_ParseJSON_DEBUG(0,v_datastring))) { +spiderLine=7340493; +if (1) return 0; +} +spiderLine=7340493; +spiderLine=7340494; +v_root=spider_JSONValue_DEBUG(0); +spiderLine=7340495; +v_total=spider_JSONArraySize_DEBUG(v_root); +spiderLine=7340497; +v_i=0; +for (;(v_total+-1)>=v_i;v_i+=1) { +spiderLine=7340498; +v_item=spider_GetJSONElement_DEBUG(v_root,v_i); +spiderLine=7340499; +v_maninode=spider_GetJSONMember_DEBUG(v_item,_S44); +spiderLine=7340500; +v_appid=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_item,_S45)); +spiderLine=7340501; +v_icon=spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S46)); +spiderLine=7340503; +v_permnode=spider_GetJSONMember_DEBUG(v_item,_S47); +spiderLine=7340504; +v_permcount=spider_JSONArraySize_DEBUG(v_permnode); +spiderLine=7340505; +v_perms=_S48; +spiderLine=7340506; +v_j=0; +for (;(v_permcount+-1)>=v_j;v_j+=1) { +spiderLine=7340507; +if (v_j>0) { +spiderLine=7340507; +v_perms=v_perms+_S49; +} +spiderLine=7340507; +spiderLine=7340508; +v_perms=v_perms+_S50+spider_GetJSONString_DEBUG(spider_GetJSONElement_DEBUG(v_permnode,v_j))+_S50; +spiderLine=7340509; +} +spiderLine=7340510; +v_perms=v_perms+_S51; +spiderLine=7340518; +v_manistr=_S52+spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S53))+_S54+spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S42))+_S55+spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S56))+_S57+spider_ReplaceString_DEBUG(v_icon,_S50,_S58)+_S59+spider_GetJSONString_DEBUG(spider_GetJSONMember_DEBUG(v_maninode,_S60))+_S61; +spiderLine=7340520; +desktop$f_installthirdpartyapp(v_appid,v_manistr,v_perms,v_icon); +spiderLine=7340521; +} +spiderLine=7340522; +spider_FreeJSON_DEBUG(0); +spiderLine=7340523; +return 0; +} +function desktop$f_handler_clock() { +spiderLine=7340533; +spiderLine=7340534; +spider_SetGadgetText_DEBUG(desktop$g_clocklabel,spider_FormatDate(_S62,spider_Date())); +spiderLine=7340535; +return 0; +} +function desktop$f__findbybutton(v_btn) { +spiderLine=7340449; +spiderLine=7340450; +spider_ResetList(desktop$t_WindowManager); while (spider_NextElement(desktop$t_WindowManager)) { +spiderLine=7340450; +spiderLine=7340451; +if (desktop$t_WindowManager.current._Button==v_btn) { +spiderLine=7340451; +if (1) return 1; +} +spiderLine=7340451; +spiderLine=7340452; +} +spiderLine=7340453; +return 0; +} +function desktop$f_register(v_appname,v_win,v_icon) { +var v_y=0; +var v_label=""; +var v_btn=0; +var v_gadgetlist=0; +spiderLine=7340193;;;;; +spiderLine=7340197; +spider_AddElement_DEBUG(desktop$t_WindowManager); +spiderLine=7340198; +desktop$t_WindowManager.current._Window=v_win; +spiderLine=7340199; +desktop$t_WindowManager.current._Name=v_appname; +spiderLine=7340201; +v_label=v_icon; +spiderLine=7340202; +if (v_label==_S3) { +spiderLine=7340202; +v_label=spider_Left(v_appname,2); +} +spiderLine=7340202; +spiderLine=7340203; +desktop$t_WindowManager.current._Icon=desktop$f__makeiconimage(v_label,28,0); +spiderLine=7340205; +v_y=(((spider_ListIndex_DEBUG(desktop$t_WindowManager)*40))+40); +spiderLine=7340206; +v_gadgetlist=spider_UseGadgetList_DEBUG(spider_WindowID_DEBUG(desktop$g_taskbarwindow)); +spiderLine=7340207; +v_btn=spider_CanvasGadget_DEBUG(-1,0,v_y,72,40); +spiderLine=7340208; +spider_UseGadgetList_DEBUG(v_gadgetlist); +spiderLine=7340210; +desktop$t_WindowManager.current._Button=v_btn; +spiderLine=7340211; +spider_SetGadgetData_DEBUG(v_btn,v_win); +spiderLine=7340212; +spider_SetWindowData_DEBUG(v_win,v_btn); +spiderLine=7340214; +spider_BindGadgetEvent_DEBUG(v_btn,desktop$f_handler_taskbarbutton); +spiderLine=7340215; +spider_BindEvent_DEBUG(4,desktop$f_handler_appclose,v_win); +spiderLine=7340216; +spider_BindEvent_DEBUG(8,desktop$f_handler_appactivate,v_win); +spiderLine=7340218; +desktop$g__activewindow=v_win; +spiderLine=7340219; +desktop$f__setactivebutton(); +spiderLine=7340220; +return 0; +} +function desktop$f_handler_startmenu_focus() { +spiderLine=7340542; +spiderLine=7340543; +desktop$f__closemenu(); +spiderLine=7340544; +return 0; +} +function desktop$f_installapp(v_appname,p_launchproc,v_icon) { +var v_slot=0; +var v_label=""; +spiderLine=7340175;;; +spiderLine=7340179; +if (desktop$g__appcount>=32) { +spiderLine=7340179; +if (1) return 0; +} +spiderLine=7340179; +spiderLine=7340181; +v_slot=desktop$g__appcount; +spiderLine=7340182; +v_label=v_icon; +spiderLine=7340183; +if (v_label==_S3) { +spiderLine=7340183; +v_label=spider_Left(v_appname,2); +} +spiderLine=7340183; +spiderLine=7340185; +desktop$a_AppRegistry.array[v_slot]._Name=v_appname; +spiderLine=7340186; +desktop$a_AppRegistry.array[v_slot]._Proc=p_launchproc; +spiderLine=7340187; +desktop$a_AppRegistry.array[v_slot]._IconImg=desktop$f__makeiconimage(v_label,22,0); +spiderLine=7340189; +desktop$g__appcount=(desktop$g__appcount+1); +spiderLine=7340190; +desktop$f__rebuildmenu(); +spiderLine=7340191; +return 0; +} +function desktop$f__menuheight() { +var v_minh=0; +var v_righth=0; +spiderLine=7340331; +spiderLine=7340332; +v_righth=((desktop$g__appcount*44)+40); +spiderLine=7340333; +v_minh=104; +spiderLine=7340334; +if (v_righth=v_settingsy && v_my=v_logouty && v_my=0 && v_ry<(desktop$g__appcount*44)) { +spiderLine=7340356; +if (1) return ((v_ry/44)|0); +} +spiderLine=7340357; +} +spiderLine=7340358; +spiderLine=7340359; +if (1) return -1; +spiderLine=7340360; +return 0; +} +function desktop$f__findbywindow(v_win) { +spiderLine=7340443; +spiderLine=7340444; +spider_ResetList(desktop$t_WindowManager); while (spider_NextElement(desktop$t_WindowManager)) { +spiderLine=7340444; +spiderLine=7340445; +if (desktop$t_WindowManager.current._Window==v_win) { +spiderLine=7340445; +if (1) return 1; +} +spiderLine=7340445; +spiderLine=7340446; +} +spiderLine=7340447; +return 0; +} +function desktop$f_handler_resize() { +var v_width=0; +var v_height=0; +spiderLine=7340526; +spiderLine=7340527; +v_width=spider_DesktopWidth_DEBUG(0); +spiderLine=7340528; +v_height=spider_DesktopHeight_DEBUG(0); +spiderLine=7340529; +spider_ResizeWindow_DEBUG(desktop$g_taskbarwindow,0,0,72,v_height); +spiderLine=7340530; +spider_ResizeGadget_DEBUG(desktop$g_clocklabel,0,(v_height+-40),72,40); +spiderLine=7340531; +return 0; +} +function desktop$f_handler_menucanvas() { +var v_mx=0; +var v_my=0; +var v_hit=0; +var v_etype=0; +spiderLine=7340554;;;;; +spiderLine=7340557; +v_etype=spider_EventType(); +spiderLine=7340558; +v_mx=spider_GetGadgetAttribute_DEBUG(desktop$g__menucanvas,2); +spiderLine=7340559; +v_my=spider_GetGadgetAttribute_DEBUG(desktop$g__menucanvas,3); +spiderLine=7340560; +v_hit=desktop$f__hittest(v_mx,v_my); +spiderLine=7340562; +var sb_select2=v_etype; +spiderLine=7340563; +if (sb_select2==65539) { +spiderLine=7340564; +if (v_hit!=desktop$g__menuhover) { +spiderLine=7340565; +desktop$g__menuhover=v_hit; +spiderLine=7340566; +desktop$f__drawmenu(); +} +spiderLine=7340567; +spiderLine=7340569; +} else if (sb_select2==65538) { +spiderLine=7340570; +if (desktop$g__menuhover!=-1) { +spiderLine=7340571; +desktop$g__menuhover=-1; +spiderLine=7340572; +desktop$f__drawmenu(); +} +spiderLine=7340573; +spiderLine=7340575; +} else if (sb_select2==65541) { +spiderLine=7340576; +var sb_select3=v_hit; +spiderLine=7340577; +if (sb_select3==-2) { +spiderLine=7340578; +desktop$f__closemenu(); +settings$f_open(); +spiderLine=7340581; +} else if (sb_select3==-3) { +spiderLine=7340582; +desktop$f__closemenu(); +spiderLine=7340583; +desktop$f_handler_logout(); +spiderLine=7340585; +} else { +spiderLine=7340585; +spiderLine=7340586; +if (v_hit>=0 && v_hit=v_i;v_i+=1) { +spiderLine=7340417; +if (desktop$g__menuhover==v_i) { +spiderLine=7340418; +spider_DrawingMode_DEBUG(0); +spiderLine=7340419; +spider_Box_DEBUG(53,v_y,(v_w+-53),44,desktop$g_color_menu_hover); +} +spiderLine=7340420; +spiderLine=7340421; +if (spider_IsImage_DEBUG(desktop$a_AppRegistry.array[v_i]._IconImg)) { +spiderLine=7340422; +v_ix=64; +spiderLine=7340423; +v_iy=(v_y+11); +spiderLine=7340424; +spider_DrawAlphaImage_DEBUG(spider_ImageID_DEBUG(desktop$a_AppRegistry.array[v_i]._IconImg),v_ix,v_iy); +} +spiderLine=7340425; +spiderLine=7340426; +spider_DrawingMode_DEBUG(1); +spiderLine=7340427; +v_th=spider_BankerRound(spider_TextHeight_DEBUG(_S31)); +spiderLine=7340430; +spider_DrawText_DEBUG(94,(v_y+(((((-(v_th))+44))/2))),desktop$a_AppRegistry.array[v_i]._Name,desktop$g_color_menu_text); +spiderLine=7340431; +v_y=(v_y+44); +spiderLine=7340432; +} +spiderLine=7340434; +spider_StopDrawing_DEBUG(); +spiderLine=7340435; +return 0; +} +function desktop$f_logoutcallback(v_success,v_response) { +spiderLine=7340550; +location.reload() +spiderLine=7340552; +return 0; +} +function desktop$f__closemenu() { +spiderLine=7340437; +spiderLine=7340438; +spider_HideWindow_DEBUG(desktop$g_startmenuwindow,1); +spiderLine=7340439; +desktop$g__menuhover=-1; +spiderLine=7340440; +desktop$f__drawmenu(); +spiderLine=7340441; +return 0; +} +function desktop$f_handler_appclose() { +var v_win=0; +spiderLine=7340611; +spiderLine=7340612; +v_win=spider_EventWindow_DEBUG(); +spiderLine=7340613; +if (!(desktop$f__findbywindow(v_win))) { +spiderLine=7340613; +if (1) return 0; +} +spiderLine=7340613; +spiderLine=7340614; +spider_UnbindEvent(4,desktop$f_handler_appclose,v_win); +spiderLine=7340615; +spider_UnbindEvent(8,desktop$f_handler_appactivate,v_win); +spiderLine=7340616; +spider_UnbindGadgetEvent_DEBUG(desktop$t_WindowManager.current._Button,desktop$f_handler_taskbarbutton); +spiderLine=7340617; +spider_FreeGadget_DEBUG(desktop$t_WindowManager.current._Button); +spiderLine=7340618; +spider_DeleteElement_DEBUG(desktop$t_WindowManager); +spiderLine=7340619; +if (desktop$g__activewindow==v_win) { +spiderLine=7340619; +desktop$g__activewindow=spider_GetActiveWindow_DEBUG(); +} +spiderLine=7340619; +spiderLine=7340620; +desktop$f__rebuildbuttons(); +spiderLine=7340621; +spider_CloseWindow_DEBUG(v_win); +spiderLine=7340622; +return 0; +} +// +SpiderLaunch = function() { + spider.debug.Init(); + spider_InitFunctions(); +spiderLine=1048576; +window._kumos_idb = null; +spiderLine=1048732; +spiderLine=2097152; +spiderLine=2097212; +spiderLine=3145728; +spiderLine=3145767; +spiderLine=4194304; +spiderLine=4194461; +spiderLine=5242880;;;;;;;;; +spiderLine=5243122; +spiderLine=6291456; +spiderLine=6291468; +notify$g__font=spider_LoadFont_DEBUG(-1,_S27,12); +spiderLine=6291471; +spider_Dim(notify$a__Wins,21,[5],null);; +spiderLine=6291472; +spider_Dim(notify$a__Canvases,21,[5],null);; +spiderLine=6291473; +spider_Dim(notify$a__Types,21,[5],null);; +spiderLine=6291474; +spider_Dim(notify$a__Messages,8,[5],null);;;;;;; +spiderLine=6291688; +spiderLine=7340032; +spiderLine=7340055; +desktop$g_color_bar_bg=spider_RGB_DEBUG(28,28,40); +spiderLine=7340056; +desktop$g_color_bar_active=spider_RGB_DEBUG(52,52,72); +spiderLine=7340057; +desktop$g_color_accent=spider_RGB_DEBUG(100,120,255); +spiderLine=7340058; +desktop$g_color_icon=spider_RGBA_DEBUG(220,220,220,255); +spiderLine=7340059; +desktop$g_color_menu_bg=spider_RGB_DEBUG(36,36,52); +spiderLine=7340060; +desktop$g_color_menu_rail=spider_RGB_DEBUG(22,22,34); +spiderLine=7340061; +desktop$g_color_menu_header=spider_RGB_DEBUG(22,22,34); +spiderLine=7340062; +desktop$g_color_menu_hover=spider_RGB_DEBUG(55,55,78); +spiderLine=7340063; +desktop$g_color_menu_sep=spider_RGB_DEBUG(48,48,65); +spiderLine=7340064; +desktop$g_color_menu_text=spider_RGB_DEBUG(200,200,215); +spiderLine=7340065; +desktop$g_color_menu_dim=spider_RGB_DEBUG(110,110,135); +spiderLine=7340066; +desktop$g_color_logout_hover=spider_RGB_DEBUG(65,30,35); +spiderLine=7340067; +desktop$g_color_logout_icon=spider_RGBA_DEBUG(200,90,90,255); +spiderLine=7340069; +desktop$g_iconfont=spider_LoadFont_DEBUG(-1,_S27,18); +spiderLine=7340070; +desktop$g_menufont=spider_LoadFont_DEBUG(-1,_S27,13);;;;; +spiderLine=7340086; +spider_Dim(desktop$a_AppRegistry,7,[32],desktop$app);;;; +spiderLine=7340089; +desktop$g__menuhover=-1;;;; +spiderLine=7340103; +desktop$t_WindowManager=spider_NewList(desktop$window,"object",false);; +spiderLine=7340633; +spiderLine=8388608;;;;;;; +spiderLine=8388684; +spiderLine=9437184; +spiderLine=9437196; +appruntime$t_Instances=spider_NewList(appruntime$instance,"object",false);; +spiderLine=9437197; +appruntime$g__nextid=1; +spiderLine=9437202; +appruntime$g__pl_id=-1; +spiderLine=9437202; +appruntime$g__pl_kmid=_S3; +spiderLine=9437203; +appruntime$g__ps_id=-1; +spiderLine=9437203; +appruntime$g__ps_kmid=_S3; +spiderLine=9437204; +appruntime$g__psr_id=-1; +spiderLine=9437204; +appruntime$g__psr_kmid=_S3; +spiderLine=9437205; +appruntime$g__pr_id=-1; +spiderLine=9437205; +appruntime$g__pr_kmid=_S3; +spiderLine=9437206; +appruntime$g__pw_id=-1; +spiderLine=9437206; +appruntime$g__pw_kmid=_S3; +spiderLine=9437207; +appruntime$g__pc_id=-1; +spiderLine=9437207; +appruntime$g__pc_kmid=_S3; +spiderLine=9437584; +spiderLine=10485760; +spiderLine=10485770; +spider_Dim(texteditor$a__Windows,21,[16],null);; +spiderLine=10485771; +spider_Dim(texteditor$a__Editors,21,[16],null);; +spiderLine=10485772; +spider_Dim(texteditor$a__SaveBtns,21,[16],null);; +spiderLine=10485773; +spider_Dim(texteditor$a__FileIDs,8,[16],null);; +spiderLine=10485774; +spider_Dim(texteditor$a__Paths,8,[16],null);; +spiderLine=10485775; +spider_Dim(texteditor$a__Dirty,21,[16],null);; +spiderLine=10485776; +spider_Dim(texteditor$a__Saving,21,[16],null);; +spiderLine=10485777; +texteditor$g__count=0; +spiderLine=10485778; +texteditor$g__loading_slot=-1; +spiderLine=10485779; +texteditor$g__closingslot=-1; +spiderLine=10485968; +spiderLine=11534336;;;;;;;; +spiderLine=11534360; +fileexplorer$g_currentpath=_S19; +spiderLine=11534361; +spider_Dim(fileexplorer$a_PathStack,8,[64],null);; +spiderLine=11534362; +fileexplorer$g_stackdepth=0; +spiderLine=11534365; +spider_Dim(fileexplorer$a_EntryIDs,8,[512],null);; +spiderLine=11534366; +spider_Dim(fileexplorer$a_EntryNames,8,[512],null);; +spiderLine=11534367; +spider_Dim(fileexplorer$a_EntryIsDir,21,[512],null);; +spiderLine=11534368; +fileexplorer$g_entrycount=0; +spiderLine=11534371; +fileexplorer$g_inputwindow=0;;;;; +spiderLine=11534628; +spiderLine=12582912; +spiderLine=12582925; +settings$g_color_panel_bg=spider_RGB_DEBUG(22,22,34); +spiderLine=12582926; +settings$g_color_sel=spider_RGB_DEBUG(52,52,72); +spiderLine=12582927; +settings$g_color_hover=spider_RGB_DEBUG(40,40,58); +spiderLine=12582928; +settings$g_color_accent=spider_RGB_DEBUG(100,120,255); +spiderLine=12582929; +settings$g_color_content_bg=spider_RGB_DEBUG(36,36,52); +spiderLine=12582930; +settings$g_color_sep=spider_RGB_DEBUG(48,48,65); +spiderLine=12582931; +settings$g_color_text=spider_RGB_DEBUG(200,200,215); +spiderLine=12582932; +settings$g_color_dim=spider_RGB_DEBUG(110,110,135); +spiderLine=12582934; +settings$g_panelfont=spider_LoadFont_DEBUG(-1,_S27,13); +spiderLine=12582945; +spider_Dim(settings$a__SectionNames,8,[1],null);;;;; +spiderLine=12582951; +settings$g__panelhover=-1;;;;;;;; +spiderLine=12583159; +spiderLine=13631488; +spiderLine=13631499; +webbrowser$g_window=0;;; +spiderLine=13631552; +spiderLine=14680064; +spiderLine=14680079; +appmanager$g_color_bg=spider_RGB_DEBUG(22,22,34); +spiderLine=14680080; +appmanager$g_color_row_odd=spider_RGB_DEBUG(28,28,42); +spiderLine=14680081; +appmanager$g_color_row_even=spider_RGB_DEBUG(22,22,34); +spiderLine=14680082; +appmanager$g_color_sel=spider_RGB_DEBUG(52,52,72); +spiderLine=14680083; +appmanager$g_color_accent=spider_RGB_DEBUG(100,120,255); +spiderLine=14680084; +appmanager$g_color_text=spider_RGB_DEBUG(200,200,215); +spiderLine=14680085; +appmanager$g_color_dim=spider_RGB_DEBUG(110,110,135); +spiderLine=14680086; +appmanager$g_color_sep=spider_RGB_DEBUG(48,48,65); +spiderLine=14680088; +appmanager$g_font_ui=spider_LoadFont_DEBUG(-1,_S27,13); +spiderLine=14680089; +appmanager$g_font_small=spider_LoadFont_DEBUG(-1,_S27,11); +spiderLine=14680099; +appmanager$t__Apps=spider_NewList(appmanager$installedapp,"object",false);; +spiderLine=14680102; +appmanager$g_window=0;;;;;; +spiderLine=14680108; +appmanager$g__hover=-1; +spiderLine=14680109; +appmanager$g__selected=-1; +spiderLine=14680110; +appmanager$g__pendinguninstall=_S3; +spiderLine=14680113; +appmanager$g__inputwin=0;;;; +spiderLine=14680465; +spiderLine=27; +general$f_init(); +spiderLine=29; + +} + + +function spider_InitFunctions() { +spider_InitMap(); +spider_InitImageDecoder(); +spider_InitImage(); +spider_Init2DDrawing(); +spider_InitArray(); +spider_InitDesktop(); +spider_Event_Init(); +spider_InitFont(); +spider_InitWindow(); +spider_InitList(); +spider_InitGadget(); +spider_InitJSON(); +} + + +spider.nbLoadedModules++ + + diff --git a/Server/www/kumos.js b/Server/www/kumos.js new file mode 100644 index 0000000..e2569e8 --- /dev/null +++ b/Server/www/kumos.js @@ -0,0 +1,124 @@ +/** + * KUMO.S App SDK — include in your app with: + * + * + * All methods return Promises. Call KUMOS.ready() first. + * + * Permissions required per namespace: + * storage.* — always available (private app namespace) + * fs.* — requires "fs.read" or "fs.write" grant + * notify.* — requires "notify" grant + * window.* — always available + */ +(function (global) { + 'use strict'; + + var _pending = {}; // kmid → { resolve, reject, timer } + + // ── Internal helpers ────────────────────────────────────────────────────── + + function _uuid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0; + return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16); + }); + } + + function _send(action, args) { + return new Promise(function (resolve, reject) { + var kmid = _uuid(); + var timer = setTimeout(function () { + if (_pending[kmid]) { + delete _pending[kmid]; + reject(new Error('KUMOS timeout: ' + action)); + } + }, 15000); + _pending[kmid] = { resolve: resolve, reject: reject, timer: timer }; + window.parent.postMessage( + JSON.stringify({ kmid: kmid, action: action, args: args || {} }), + '*' + ); + }); + } + + // Incoming responses from the shell + window.addEventListener('message', function (e) { + if (e.source !== window.parent) return; + var msg; + try { msg = JSON.parse(e.data); } catch (err) { return; } + if (!msg || !msg.kmid) return; + var p = _pending[msg.kmid]; + if (!p) return; + clearTimeout(p.timer); + delete _pending[msg.kmid]; + if (msg.success) { + p.resolve(msg.data !== undefined ? msg.data : null); + } else { + p.reject(new Error(msg.error || 'Unknown error')); + } + }); + + // ── Public API ──────────────────────────────────────────────────────────── + + var KUMOS = { + + /** + * Handshake with the shell. Resolves with { app_id }. + * Always call this first and await it before using any other APIs. + */ + ready: function () { + return _send('window.ready', {}); + }, + + // ── Private app storage (no extra permission required) ─────────────── + + storage: { + /** Read a file. Resolves with the content string. */ + read: function (path) { return _send('storage.read', { path: path }); }, + /** Write content to a file. Creates it if it does not exist. */ + write: function (path, content) { return _send('storage.write', { path: path, content: content }); }, + /** List a directory. Resolves with an array of entry objects. */ + list: function (path) { return _send('storage.list', { path: path || '/' }); }, + /** Stat a path. */ + stat: function (path) { return _send('storage.stat', { path: path }); }, + /** Create a directory. */ + mkdir: function (path) { return _send('storage.mkdir', { path: path }); }, + /** Delete a file. */ + delete: function (path) { return _send('storage.delete', { path: path }); } + }, + + // ── User filesystem (requires fs.read / fs.write permission) ───────── + + fs: { + /** Read a file from the user's filesystem. */ + read: function (path) { return _send('fs.read', { path: path }); }, + /** Write content to a file in the user's filesystem. */ + write: function (path, content) { return _send('fs.write', { path: path, content: content }); }, + /** List a directory. */ + list: function (path) { return _send('fs.list', { path: path || '/' }); }, + /** Stat a path. */ + stat: function (path) { return _send('fs.stat', { path: path }); } + }, + + // ── Notifications (requires notify permission) ──────────────────────── + + notify: { + /** Show a toast. type: 'info' | 'success' | 'warning' | 'error' */ + toast: function (message, type) { return _send('notify.toast', { message: message, type: type || 'info' }); }, + /** Show a confirm dialog. Resolves with true (OK) or false (Cancel). */ + confirm: function (title, message) { return _send('notify.confirm', { title: title, message: message }); } + }, + + // ── Window control ──────────────────────────────────────────────────── + + window: { + /** Update the host window title. */ + setTitle: function (title) { return _send('window.setTitle', { title: title }); }, + /** Close this app instance. */ + close: function () { return _send('window.close', {}); } + } + }; + + global.KUMOS = KUMOS; + +}(window)); diff --git a/Server/www/spiderbasic/canvas-toBlob.min.js b/Server/www/spiderbasic/canvas-toBlob.min.js new file mode 100644 index 0000000..6f9dd30 --- /dev/null +++ b/Server/www/spiderbasic/canvas-toBlob.min.js @@ -0,0 +1,3 @@ +(function(a){var l=a.Uint8Array,d=(a=a.HTMLCanvasElement)&&a.prototype,t=/\s*;\s*base64\s*(?:;|$)/i,n="toDataURL",s;l&&(s=new l([62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,0,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]));a&&!d.toBlob&&(d.toBlob=function(a,g){g||(g="image/png");if(this.mozGetAsFile)a(this.mozGetAsFile("canvas",g));else if(this.msToBlob&&/^\s*image\/png\s*(?:$|;)/i.test(g))a(this.msToBlob()); +else{var e=Array.prototype.slice.call(arguments,1),b=this[n].apply(this,e),f=b.indexOf(","),e=b.substring(f+1),b=t.test(b.substring(0,f)),c;if(Blob.fake)c=new Blob,c.encoding=b?"base64":"URI",c.data=e,c.size=e.length;else if(l)if(b){c=Blob;for(var b=e.length,f=new l(b/4*3|0),d=0,p=0,h=[0,0],q=0,k=0,m,r;b--;)r=e.charCodeAt(d++),m=s[r-43],255!==m&&void 0!==m&&(h[1]=h[0],h[0]=r,k=k<<6|m,q++,4===q&&(f[p++]=k>>>16,61!==h[1]&&(f[p++]=k>>>8),61!==h[0]&&(f[p++]=k),q=0));c=new c([f],{type:g})}else c=new Blob([decodeURIComponent(e)], +{type:g});a(c)}},d.toBlobHD=d.toDataURLHD?function(){n="toDataURLHD";var a=this.toBlob();n="toDataURL";return a}:d.toBlob)})("undefined"!==typeof self&&self||"undefined"!==typeof window&&window||this.content||this); diff --git a/Server/www/spiderbasic/canvas2svg.js b/Server/www/spiderbasic/canvas2svg.js new file mode 100644 index 0000000..f71d359 --- /dev/null +++ b/Server/www/spiderbasic/canvas2svg.js @@ -0,0 +1,1214 @@ +/*!! + * Canvas 2 Svg v1.0.19 + * A low level canvas to SVG converter. Uses a mock canvas context to build an SVG document. + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/mit-license.php + * + * Author: + * Kerry Liu + * + * Copyright (c) 2014 Gliffy Inc. + */ + +;(function () { + "use strict"; + + var STYLES, ctx, CanvasGradient, CanvasPattern, namedEntities; + + //helper function to format a string + function format(str, args) { + var keys = Object.keys(args), i; + for (i=0; i 1) { + options = defaultOptions; + options.width = arguments[0]; + options.height = arguments[1]; + } else if ( !o ) { + options = defaultOptions; + } else { + options = o; + } + + if (!(this instanceof ctx)) { + //did someone call this without new? + return new ctx(options); + } + + //setup options + this.width = options.width || defaultOptions.width; + this.height = options.height || defaultOptions.height; + this.enableMirroring = options.enableMirroring !== undefined ? options.enableMirroring : defaultOptions.enableMirroring; + + this.canvas = this; ///point back to this instance! + this.__document = options.document || document; + + // allow passing in an existing context to wrap around + // if a context is passed in, we know a canvas already exist + if (options.ctx) { + this.__ctx = options.ctx; + } else { + this.__canvas = this.__document.createElement("canvas"); + this.__ctx = this.__canvas.getContext("2d"); + } + + this.__setDefaultStyles(); + this.__stack = [this.__getStyleState()]; + this.__groupStack = []; + + //the root svg element + this.__root = this.__document.createElementNS("http://www.w3.org/2000/svg", "svg"); + this.__root.setAttribute("version", 1.1); + this.__root.setAttribute("xmlns", "http://www.w3.org/2000/svg"); + this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xlink", "http://www.w3.org/1999/xlink"); + this.__root.setAttribute("width", this.width); + this.__root.setAttribute("height", this.height); + + //make sure we don't generate the same ids in defs + this.__ids = {}; + + //defs tag + this.__defs = this.__document.createElementNS("http://www.w3.org/2000/svg", "defs"); + this.__root.appendChild(this.__defs); + + //also add a group child. the svg element can't use the transform attribute + this.__currentElement = this.__document.createElementNS("http://www.w3.org/2000/svg", "g"); + this.__root.appendChild(this.__currentElement); + }; + + + /** + * Creates the specified svg element + * @private + */ + ctx.prototype.__createElement = function (elementName, properties, resetFill) { + if (typeof properties === "undefined") { + properties = {}; + } + + var element = this.__document.createElementNS("http://www.w3.org/2000/svg", elementName), + keys = Object.keys(properties), i, key; + if (resetFill) { + //if fill or stroke is not specified, the svg element should not display. By default SVG's fill is black. + element.setAttribute("fill", "none"); + element.setAttribute("stroke", "none"); + } + for (i=0; i 0) { + if (this.__currentElement.nodeName === "path") { + if (!this.__currentElementsToStyle) this.__currentElementsToStyle = {element: parent, children: []}; + this.__currentElementsToStyle.children.push(this.__currentElement) + this.__applyCurrentDefaultPath(); + } + + var group = this.__createElement("g"); + parent.appendChild(group); + this.__currentElement = group; + } + + var transform = this.__currentElement.getAttribute("transform"); + if (transform) { + transform += " "; + } else { + transform = ""; + } + transform += t; + this.__currentElement.setAttribute("transform", transform); + }; + + /** + * scales the current element + */ + ctx.prototype.scale = function (x, y) { + if (y === undefined) { + y = x; + } + this.__addTransform(format("scale({x},{y})", {x:x, y:y})); + }; + + /** + * rotates the current element + */ + ctx.prototype.rotate = function (angle) { + var degrees = (angle * 180 / Math.PI); + this.__addTransform(format("rotate({angle},{cx},{cy})", {angle:degrees, cx:0, cy:0})); + }; + + /** + * translates the current element + */ + ctx.prototype.translate = function (x, y) { + this.__addTransform(format("translate({x},{y})", {x:x,y:y})); + }; + + /** + * applies a transform to the current element + */ + ctx.prototype.transform = function (a, b, c, d, e, f) { + this.__addTransform(format("matrix({a},{b},{c},{d},{e},{f})", {a:a, b:b, c:c, d:d, e:e, f:f})); + }; + + /** + * Create a new Path Element + */ + ctx.prototype.beginPath = function () { + var path, parent; + + // Note that there is only one current default path, it is not part of the drawing state. + // See also: https://html.spec.whatwg.org/multipage/scripting.html#current-default-path + this.__currentDefaultPath = ""; + this.__currentPosition = {}; + + path = this.__createElement("path", {}, true); + parent = this.__closestGroupOrSvg(); + parent.appendChild(path); + this.__currentElement = path; + }; + + /** + * Helper function to apply currentDefaultPath to current path element + * @private + */ + ctx.prototype.__applyCurrentDefaultPath = function () { + var currentElement = this.__currentElement; + if (currentElement.nodeName === "path") { + currentElement.setAttribute("d", this.__currentDefaultPath); + } else { + console.error("Attempted to apply path command to node", currentElement.nodeName); + } + }; + + /** + * Helper function to add path command + * @private + */ + ctx.prototype.__addPathCommand = function (command) { + this.__currentDefaultPath += " "; + this.__currentDefaultPath += command; + }; + + /** + * Adds the move command to the current path element, + * if the currentPathElement is not empty create a new path element + */ + ctx.prototype.moveTo = function (x,y) { + if (this.__currentElement.nodeName !== "path") { + this.beginPath(); + } + + // creates a new subpath with the given point + this.__currentPosition = {x: x, y: y}; + this.__addPathCommand(format("M {x} {y}", {x:x, y:y})); + }; + + /** + * Closes the current path + */ + ctx.prototype.closePath = function () { + if (this.__currentDefaultPath) { + this.__addPathCommand("Z"); + } + }; + + /** + * Adds a line to command + */ + ctx.prototype.lineTo = function (x, y) { + this.__currentPosition = {x: x, y: y}; + if (this.__currentDefaultPath.indexOf('M') > -1) { + this.__addPathCommand(format("L {x} {y}", {x:x, y:y})); + } else { + this.__addPathCommand(format("M {x} {y}", {x:x, y:y})); + } + }; + + /** + * Add a bezier command + */ + ctx.prototype.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) { + this.__currentPosition = {x: x, y: y}; + this.__addPathCommand(format("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}", + {cp1x:cp1x, cp1y:cp1y, cp2x:cp2x, cp2y:cp2y, x:x, y:y})); + }; + + /** + * Adds a quadratic curve to command + */ + ctx.prototype.quadraticCurveTo = function (cpx, cpy, x, y) { + this.__currentPosition = {x: x, y: y}; + this.__addPathCommand(format("Q {cpx} {cpy} {x} {y}", {cpx:cpx, cpy:cpy, x:x, y:y})); + }; + + + /** + * Return a new normalized vector of given vector + */ + var normalize = function (vector) { + var len = Math.sqrt(vector[0] * vector[0] + vector[1] * vector[1]); + return [vector[0] / len, vector[1] / len]; + }; + + /** + * Adds the arcTo to the current path + * + * @see http://www.w3.org/TR/2015/WD-2dcontext-20150514/#dom-context-2d-arcto + */ + ctx.prototype.arcTo = function (x1, y1, x2, y2, radius) { + // Let the point (x0, y0) be the last point in the subpath. + var x0 = this.__currentPosition && this.__currentPosition.x; + var y0 = this.__currentPosition && this.__currentPosition.y; + + // First ensure there is a subpath for (x1, y1). + if (typeof x0 == "undefined" || typeof y0 == "undefined") { + return; + } + + // Negative values for radius must cause the implementation to throw an IndexSizeError exception. + if (radius < 0) { + throw new Error("IndexSizeError: The radius provided (" + radius + ") is negative."); + } + + // If the point (x0, y0) is equal to the point (x1, y1), + // or if the point (x1, y1) is equal to the point (x2, y2), + // or if the radius radius is zero, + // then the method must add the point (x1, y1) to the subpath, + // and connect that point to the previous point (x0, y0) by a straight line. + if (((x0 === x1) && (y0 === y1)) + || ((x1 === x2) && (y1 === y2)) + || (radius === 0)) { + this.lineTo(x1, y1); + return; + } + + // Otherwise, if the points (x0, y0), (x1, y1), and (x2, y2) all lie on a single straight line, + // then the method must add the point (x1, y1) to the subpath, + // and connect that point to the previous point (x0, y0) by a straight line. + var unit_vec_p1_p0 = normalize([x0 - x1, y0 - y1]); + var unit_vec_p1_p2 = normalize([x2 - x1, y2 - y1]); + if (unit_vec_p1_p0[0] * unit_vec_p1_p2[1] === unit_vec_p1_p0[1] * unit_vec_p1_p2[0]) { + this.lineTo(x1, y1); + return; + } + + // Otherwise, let The Arc be the shortest arc given by circumference of the circle that has radius radius, + // and that has one point tangent to the half-infinite line that crosses the point (x0, y0) and ends at the point (x1, y1), + // and that has a different point tangent to the half-infinite line that ends at the point (x1, y1), and crosses the point (x2, y2). + // The points at which this circle touches these two lines are called the start and end tangent points respectively. + + // note that both vectors are unit vectors, so the length is 1 + var cos = (unit_vec_p1_p0[0] * unit_vec_p1_p2[0] + unit_vec_p1_p0[1] * unit_vec_p1_p2[1]); + var theta = Math.acos(Math.abs(cos)); + + // Calculate origin + var unit_vec_p1_origin = normalize([ + unit_vec_p1_p0[0] + unit_vec_p1_p2[0], + unit_vec_p1_p0[1] + unit_vec_p1_p2[1] + ]); + var len_p1_origin = radius / Math.sin(theta / 2); + var x = x1 + len_p1_origin * unit_vec_p1_origin[0]; + var y = y1 + len_p1_origin * unit_vec_p1_origin[1]; + + // Calculate start angle and end angle + // rotate 90deg clockwise (note that y axis points to its down) + var unit_vec_origin_start_tangent = [ + -unit_vec_p1_p0[1], + unit_vec_p1_p0[0] + ]; + // rotate 90deg counter clockwise (note that y axis points to its down) + var unit_vec_origin_end_tangent = [ + unit_vec_p1_p2[1], + -unit_vec_p1_p2[0] + ]; + var getAngle = function (vector) { + // get angle (clockwise) between vector and (1, 0) + var x = vector[0]; + var y = vector[1]; + if (y >= 0) { // note that y axis points to its down + return Math.acos(x); + } else { + return -Math.acos(x); + } + }; + var startAngle = getAngle(unit_vec_origin_start_tangent); + var endAngle = getAngle(unit_vec_origin_end_tangent); + + // Connect the point (x0, y0) to the start tangent point by a straight line + this.lineTo(x + unit_vec_origin_start_tangent[0] * radius, + y + unit_vec_origin_start_tangent[1] * radius); + + // Connect the start tangent point to the end tangent point by arc + // and adding the end tangent point to the subpath. + this.arc(x, y, radius, startAngle, endAngle); + }; + + /** + * Sets the stroke property on the current element + */ + ctx.prototype.stroke = function () { + if (this.__currentElement.nodeName === "path") { + this.__currentElement.setAttribute("paint-order", "fill stroke markers"); + } + this.__applyCurrentDefaultPath(); + this.__applyStyleToCurrentElement("stroke"); + }; + + /** + * Sets fill properties on the current element + */ + ctx.prototype.fill = function () { + if (this.__currentElement.nodeName === "path") { + this.__currentElement.setAttribute("paint-order", "stroke fill markers"); + } + this.__applyCurrentDefaultPath(); + this.__applyStyleToCurrentElement("fill"); + }; + + /** + * Adds a rectangle to the path. + */ + ctx.prototype.rect = function (x, y, width, height) { + if (this.__currentElement.nodeName !== "path") { + this.beginPath(); + } + this.moveTo(x, y); + this.lineTo(x+width, y); + this.lineTo(x+width, y+height); + this.lineTo(x, y+height); + this.lineTo(x, y); + this.closePath(); + }; + + + /** + * adds a rectangle element + */ + ctx.prototype.fillRect = function (x, y, width, height) { + var rect, parent; + rect = this.__createElement("rect", { + x : x, + y : y, + width : width, + height : height + }, true); + parent = this.__closestGroupOrSvg(); + parent.appendChild(rect); + this.__currentElement = rect; + this.__applyStyleToCurrentElement("fill"); + }; + + /** + * Draws a rectangle with no fill + * @param x + * @param y + * @param width + * @param height + */ + ctx.prototype.strokeRect = function (x, y, width, height) { + var rect, parent; + rect = this.__createElement("rect", { + x : x, + y : y, + width : width, + height : height + }, true); + parent = this.__closestGroupOrSvg(); + parent.appendChild(rect); + this.__currentElement = rect; + this.__applyStyleToCurrentElement("stroke"); + }; + + + /** + * Clear entire canvas: + * 1. save current transforms + * 2. remove all the childNodes of the root g element + */ + ctx.prototype.__clearCanvas = function () { + var current = this.__closestGroupOrSvg(), + transform = current.getAttribute("transform"); + var rootGroup = this.__root.childNodes[1]; + var childNodes = rootGroup.childNodes; + for (var i = childNodes.length - 1; i >= 0; i--) { + if (childNodes[i]) { + rootGroup.removeChild(childNodes[i]); + } + } + this.__currentElement = rootGroup; + //reset __groupStack as all the child group nodes are all removed. + this.__groupStack = []; + if (transform) { + this.__addTransform(transform); + } + }; + + /** + * "Clears" a canvas by just drawing a white rectangle in the current group. + */ + ctx.prototype.clearRect = function (x, y, width, height) { + //clear entire canvas + if (x === 0 && y === 0 && width === this.width && height === this.height) { + this.__clearCanvas(); + return; + } + var rect, parent = this.__closestGroupOrSvg(); + rect = this.__createElement("rect", { + x : x, + y : y, + width : width, + height : height, + fill : "#FFFFFF" + }, true); + parent.appendChild(rect); + }; + + /** + * Adds a linear gradient to a defs tag. + * Returns a canvas gradient object that has a reference to it's parent def + */ + ctx.prototype.createLinearGradient = function (x1, y1, x2, y2) { + var grad = this.__createElement("linearGradient", { + id : randomString(this.__ids), + x1 : x1+"px", + x2 : x2+"px", + y1 : y1+"px", + y2 : y2+"px", + "gradientUnits" : "userSpaceOnUse" + }, false); + this.__defs.appendChild(grad); + return new CanvasGradient(grad, this); + }; + + /** + * Adds a radial gradient to a defs tag. + * Returns a canvas gradient object that has a reference to it's parent def + */ + ctx.prototype.createRadialGradient = function (x0, y0, r0, x1, y1, r1) { + var grad = this.__createElement("radialGradient", { + id : randomString(this.__ids), + cx : x1+"px", + cy : y1+"px", + r : r1+"px", + fx : x0+"px", + fy : y0+"px", + "gradientUnits" : "userSpaceOnUse" + }, false); + this.__defs.appendChild(grad); + return new CanvasGradient(grad, this); + + }; + + /** + * Parses the font string and returns svg mapping + * @private + */ + ctx.prototype.__parseFont = function () { + var regex = /^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-,\'\"\sa-z0-9]+?)\s*$/i; + var fontPart = regex.exec( this.font ); + var data = { + style : fontPart[1] || 'normal', + size : fontPart[4] || '10px', + family : fontPart[6] || 'sans-serif', + weight: fontPart[3] || 'normal', + decoration : fontPart[2] || 'normal', + href : null + }; + + //canvas doesn't support underline natively, but we can pass this attribute + if (this.__fontUnderline === "underline") { + data.decoration = "underline"; + } + + //canvas also doesn't support linking, but we can pass this as well + if (this.__fontHref) { + data.href = this.__fontHref; + } + + return data; + }; + + /** + * Helper to link text fragments + * @param font + * @param element + * @return {*} + * @private + */ + ctx.prototype.__wrapTextLink = function (font, element) { + if (font.href) { + var a = this.__createElement("a"); + a.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", font.href); + a.appendChild(element); + return a; + } + return element; + }; + + /** + * Fills or strokes text + * @param text + * @param x + * @param y + * @param action - stroke or fill + * @private + */ + ctx.prototype.__applyText = function (text, x, y, action) { + var font = this.__parseFont(), + parent = this.__closestGroupOrSvg(), + textElement = this.__createElement("text", { + "font-family" : font.family, + "font-size" : font.size, + "font-style" : font.style, + "font-weight" : font.weight, + "text-decoration" : font.decoration, + "x" : x, + "y" : y, + "text-anchor": getTextAnchor(this.textAlign), + "dominant-baseline": getDominantBaseline(this.textBaseline) + }, true); + + textElement.appendChild(this.__document.createTextNode(text)); + this.__currentElement = textElement; + this.__applyStyleToCurrentElement(action); + parent.appendChild(this.__wrapTextLink(font,textElement)); + }; + + /** + * Creates a text element + * @param text + * @param x + * @param y + */ + ctx.prototype.fillText = function (text, x, y) { + this.__applyText(text, x, y, "fill"); + }; + + /** + * Strokes text + * @param text + * @param x + * @param y + */ + ctx.prototype.strokeText = function (text, x, y) { + this.__applyText(text, x, y, "stroke"); + }; + + /** + * No need to implement this for svg. + * @param text + * @return {TextMetrics} + */ + ctx.prototype.measureText = function (text) { + this.__ctx.font = this.font; + return this.__ctx.measureText(text); + }; + + /** + * Arc command! + */ + ctx.prototype.arc = function (x, y, radius, startAngle, endAngle, counterClockwise) { + // in canvas no circle is drawn if no angle is provided. + if (startAngle === endAngle) { + return; + } + startAngle = startAngle % (2*Math.PI); + endAngle = endAngle % (2*Math.PI); + if (startAngle === endAngle) { + //circle time! subtract some of the angle so svg is happy (svg elliptical arc can't draw a full circle) + endAngle = ((endAngle + (2*Math.PI)) - 0.001 * (counterClockwise ? -1 : 1)) % (2*Math.PI); + } + var endX = x+radius*Math.cos(endAngle), + endY = y+radius*Math.sin(endAngle), + startX = x+radius*Math.cos(startAngle), + startY = y+radius*Math.sin(startAngle), + sweepFlag = counterClockwise ? 0 : 1, + largeArcFlag = 0, + diff = endAngle - startAngle; + + // https://github.com/gliffy/canvas2svg/issues/4 + if (diff < 0) { + diff += 2*Math.PI; + } + + if (counterClockwise) { + largeArcFlag = diff > Math.PI ? 0 : 1; + } else { + largeArcFlag = diff > Math.PI ? 1 : 0; + } + + this.lineTo(startX, startY); + this.__addPathCommand(format("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}", + {rx:radius, ry:radius, xAxisRotation:0, largeArcFlag:largeArcFlag, sweepFlag:sweepFlag, endX:endX, endY:endY})); + + this.__currentPosition = {x: endX, y: endY}; + }; + + /** + * Generates a ClipPath from the clip command. + */ + ctx.prototype.clip = function () { + var group = this.__closestGroupOrSvg(), + clipPath = this.__createElement("clipPath"), + id = randomString(this.__ids), + newGroup = this.__createElement("g"); + + this.__applyCurrentDefaultPath(); + group.removeChild(this.__currentElement); + clipPath.setAttribute("id", id); + clipPath.appendChild(this.__currentElement); + + this.__defs.appendChild(clipPath); + + //set the clip path to this group + group.setAttribute("clip-path", format("url(#{id})", {id:id})); + + //clip paths can be scaled and transformed, we need to add another wrapper group to avoid later transformations + // to this path + group.appendChild(newGroup); + + this.__currentElement = newGroup; + + }; + + /** + * Draws a canvas, image or mock context to this canvas. + * Note that all svg dom manipulation uses node.childNodes rather than node.children for IE support. + * http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-drawimage + */ + ctx.prototype.drawImage = function () { + //convert arguments to a real array + var args = Array.prototype.slice.call(arguments), + image=args[0], + dx, dy, dw, dh, sx=0, sy=0, sw, sh, parent, svg, defs, group, + currentElement, svgImage, canvas, context, id; + + if (args.length === 3) { + dx = args[1]; + dy = args[2]; + sw = image.width; + sh = image.height; + dw = sw; + dh = sh; + } else if (args.length === 5) { + dx = args[1]; + dy = args[2]; + dw = args[3]; + dh = args[4]; + sw = image.width; + sh = image.height; + } else if (args.length === 9) { + sx = args[1]; + sy = args[2]; + sw = args[3]; + sh = args[4]; + dx = args[5]; + dy = args[6]; + dw = args[7]; + dh = args[8]; + } else { + throw new Error("Invalid number of arguments passed to drawImage: " + arguments.length); + } + + parent = this.__closestGroupOrSvg(); + currentElement = this.__currentElement; + var translateDirective = "translate(" + dx + ", " + dy + ")"; + if (image instanceof ctx) { + //canvas2svg mock canvas context. In the future we may want to clone nodes instead. + //also I'm currently ignoring dw, dh, sw, sh, sx, sy for a mock context. + svg = image.getSvg().cloneNode(true); + if (svg.childNodes && svg.childNodes.length > 1) { + defs = svg.childNodes[0]; + while(defs.childNodes.length) { + id = defs.childNodes[0].getAttribute("id"); + this.__ids[id] = id; + this.__defs.appendChild(defs.childNodes[0]); + } + group = svg.childNodes[1]; + if (group) { + //save original transform + var originTransform = group.getAttribute("transform"); + var transformDirective; + if (originTransform) { + transformDirective = originTransform+" "+translateDirective; + } else { + transformDirective = translateDirective; + } + group.setAttribute("transform", transformDirective); + parent.appendChild(group); + } + } + } else if (image.nodeName === "CANVAS" || image.nodeName === "IMG") { + //canvas or image + svgImage = this.__createElement("image"); + svgImage.setAttribute("width", dw); + svgImage.setAttribute("height", dh); + svgImage.setAttribute("preserveAspectRatio", "none"); + + if (sx || sy || sw !== image.width || sh !== image.height) { + //crop the image using a temporary canvas + canvas = this.__document.createElement("canvas"); + canvas.width = dw; + canvas.height = dh; + context = canvas.getContext("2d"); + context.drawImage(image, sx, sy, sw, sh, 0, 0, dw, dh); + image = canvas; + } + svgImage.setAttribute("transform", translateDirective); + svgImage.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", + image.nodeName === "CANVAS" ? image.toDataURL() : image.getAttribute("src")); + parent.appendChild(svgImage); + } + }; + + /** + * Generates a pattern tag + */ + ctx.prototype.createPattern = function (image, repetition) { + var pattern = this.__document.createElementNS("http://www.w3.org/2000/svg", "pattern"), id = randomString(this.__ids), + img; + pattern.setAttribute("id", id); + pattern.setAttribute("width", image.width); + pattern.setAttribute("height", image.height); + if (image.nodeName === "CANVAS" || image.nodeName === "IMG") { + img = this.__document.createElementNS("http://www.w3.org/2000/svg", "image"); + img.setAttribute("width", image.width); + img.setAttribute("height", image.height); + img.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:href", + image.nodeName === "CANVAS" ? image.toDataURL() : image.getAttribute("src")); + pattern.appendChild(img); + this.__defs.appendChild(pattern); + } else if (image instanceof ctx) { + pattern.appendChild(image.__root.childNodes[1]); + this.__defs.appendChild(pattern); + } + return new CanvasPattern(pattern, this); + }; + + ctx.prototype.setLineDash = function (dashArray) { + if (dashArray && dashArray.length > 0) { + this.lineDash = dashArray.join(","); + } else { + this.lineDash = null; + } + }; + + /** + * Not yet implemented + */ + ctx.prototype.drawFocusRing = function () {}; + ctx.prototype.createImageData = function () {}; + ctx.prototype.getImageData = function () {}; + ctx.prototype.putImageData = function () {}; + ctx.prototype.globalCompositeOperation = function () {}; + ctx.prototype.setTransform = function () {}; + + //add options for alternative namespace + if (typeof window === "object") { + window.C2S = ctx; + } + + // CommonJS/Browserify + if (typeof module === "object" && typeof module.exports === "object") { + module.exports = ctx; + } + +}()); diff --git a/Server/www/spiderbasic/cipher/crc.js b/Server/www/spiderbasic/cipher/crc.js new file mode 100644 index 0000000..26dba67 --- /dev/null +++ b/Server/www/spiderbasic/cipher/crc.js @@ -0,0 +1,109 @@ +/* + * js-crc v0.1.0 + * https://github.com/emn178/js-crc + * + * Copyright 2015, emn178@gmail.com + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ +;(function(root, undefined) { + 'use strict'; + + var NODE_JS = typeof(module) != 'undefined'; + if(NODE_JS) { + root = global; + } + var HEX_CHARS = '0123456789abcdef'.split(''); + + var Modules = [ + { + name: 'crc32', + polynom: 0xEDB88320, + initValue: -1, + bytes: 4 + }, + { + name: 'crc16', + polynom: 0xA001, + initValue: 0, + bytes: 2 + } + ]; + + var i, j, k, b; + for(i = 0;i < Modules.length;++i) { + var m = Modules[i]; + m.method = (function(m) { + // SpiderBasic hack + return function(message, initValue) { + return crc(message, m, initValue); + }; + })(m); + m.table = []; + for(j = 0;j < 256;++j) { + b = j; + for(k = 0;k < 8;++k) { + b = b & 1 ? m.polynom ^ (b >>> 1) : b >>> 1; + } + m.table[j] = b >>> 0; + } + } + + var crc = function(message, module, initValue) { + var notString = typeof(message) != 'string'; + if(notString && message.constructor == ArrayBuffer) { + message = new Uint8Array(message); + } + + // SpiderBasic hack + var crc = initValue ^ 0xffffffff, code, i, length = message.length, table = module.table; + if(notString) { + for(i = 0;i < length;++i) { + crc = table[(crc ^ message[i]) & 0xFF] ^ (crc >>> 8); + } + } else { + for(i = 0;i < length;++i) { + code = message.charCodeAt(i); + if (code < 0x80) { + crc = table[(crc ^ code) & 0xFF] ^ (crc >>> 8); + } else if (code < 0x800) { + crc = table[(crc ^ (0xc0 | (code >> 6))) & 0xFF] ^ (crc >>> 8); + crc = table[(crc ^ (0x80 | (code & 0x3f))) & 0xFF] ^ (crc >>> 8); + } else if (code < 0xd800 || code >= 0xe000) { + crc = table[(crc ^ (0xe0 | (code >> 12))) & 0xFF] ^ (crc >>> 8); + crc = table[(crc ^ (0x80 | ((code >> 6) & 0x3f))) & 0xFF] ^ (crc >>> 8); + crc = table[(crc ^ (0x80 | (code & 0x3f))) & 0xFF] ^ (crc >>> 8); + } else { + code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++i) & 0x3ff)); + crc = table[(crc ^ (0xf0 | (code >> 18))) & 0xFF] ^ (crc >>> 8); + crc = table[(crc ^ (0x80 | ((code >> 12) & 0x3f))) & 0xFF] ^ (crc >>> 8); + crc = table[(crc ^ (0x80 | ((code >> 6) & 0x3f))) & 0xFF] ^ (crc >>> 8); + crc = table[(crc ^ (0x80 | (code & 0x3f))) & 0xFF] ^ (crc >>> 8); + } + } + } + // SpiderBasic hack + crc ^= 0xffffffff; + + var hex = ''; + if(module.bytes > 2) { + hex += HEX_CHARS[(crc >> 28) & 0x0F] + HEX_CHARS[(crc >> 24) & 0x0F] + + HEX_CHARS[(crc >> 20) & 0x0F] + HEX_CHARS[(crc >> 16) & 0x0F]; + } + hex += HEX_CHARS[(crc >> 12) & 0x0F] + HEX_CHARS[(crc >> 8) & 0x0F] + + HEX_CHARS[(crc >> 4) & 0x0F] + HEX_CHARS[crc & 0x0F]; + return hex; + }; + + var exports; + if(!root.HI_CRC32_TEST && NODE_JS) { + exports = module.exports = {}; + } else if(root) { + exports = root; + } + for(i = 0;i < Modules.length;++i) { + var m = Modules[i]; + exports[m.name] = m.method; + } +}(this)); diff --git a/Server/www/spiderbasic/cipher/md5.js b/Server/www/spiderbasic/cipher/md5.js new file mode 100644 index 0000000..916b2ab --- /dev/null +++ b/Server/www/spiderbasic/cipher/md5.js @@ -0,0 +1 @@ +(function(factory){if(typeof exports==="object"){module.exports=factory()}else if(typeof define==="function"&&define.amd){define(factory)}else{var glob;try{glob=window}catch(e){glob=self}glob.SparkMD5=factory()}})(function(undefined){"use strict";var add32=function(a,b){return a+b&4294967295},hex_chr=["0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"];function cmn(q,a,b,x,s,t){a=add32(add32(a,q),add32(x,t));return add32(a<>>32-s,b)}function ff(a,b,c,d,x,s,t){return cmn(b&c|~b&d,a,b,x,s,t)}function gg(a,b,c,d,x,s,t){return cmn(b&d|c&~d,a,b,x,s,t)}function hh(a,b,c,d,x,s,t){return cmn(b^c^d,a,b,x,s,t)}function ii(a,b,c,d,x,s,t){return cmn(c^(b|~d),a,b,x,s,t)}function md5cycle(x,k){var a=x[0],b=x[1],c=x[2],d=x[3];a=ff(a,b,c,d,k[0],7,-680876936);d=ff(d,a,b,c,k[1],12,-389564586);c=ff(c,d,a,b,k[2],17,606105819);b=ff(b,c,d,a,k[3],22,-1044525330);a=ff(a,b,c,d,k[4],7,-176418897);d=ff(d,a,b,c,k[5],12,1200080426);c=ff(c,d,a,b,k[6],17,-1473231341);b=ff(b,c,d,a,k[7],22,-45705983);a=ff(a,b,c,d,k[8],7,1770035416);d=ff(d,a,b,c,k[9],12,-1958414417);c=ff(c,d,a,b,k[10],17,-42063);b=ff(b,c,d,a,k[11],22,-1990404162);a=ff(a,b,c,d,k[12],7,1804603682);d=ff(d,a,b,c,k[13],12,-40341101);c=ff(c,d,a,b,k[14],17,-1502002290);b=ff(b,c,d,a,k[15],22,1236535329);a=gg(a,b,c,d,k[1],5,-165796510);d=gg(d,a,b,c,k[6],9,-1069501632);c=gg(c,d,a,b,k[11],14,643717713);b=gg(b,c,d,a,k[0],20,-373897302);a=gg(a,b,c,d,k[5],5,-701558691);d=gg(d,a,b,c,k[10],9,38016083);c=gg(c,d,a,b,k[15],14,-660478335);b=gg(b,c,d,a,k[4],20,-405537848);a=gg(a,b,c,d,k[9],5,568446438);d=gg(d,a,b,c,k[14],9,-1019803690);c=gg(c,d,a,b,k[3],14,-187363961);b=gg(b,c,d,a,k[8],20,1163531501);a=gg(a,b,c,d,k[13],5,-1444681467);d=gg(d,a,b,c,k[2],9,-51403784);c=gg(c,d,a,b,k[7],14,1735328473);b=gg(b,c,d,a,k[12],20,-1926607734);a=hh(a,b,c,d,k[5],4,-378558);d=hh(d,a,b,c,k[8],11,-2022574463);c=hh(c,d,a,b,k[11],16,1839030562);b=hh(b,c,d,a,k[14],23,-35309556);a=hh(a,b,c,d,k[1],4,-1530992060);d=hh(d,a,b,c,k[4],11,1272893353);c=hh(c,d,a,b,k[7],16,-155497632);b=hh(b,c,d,a,k[10],23,-1094730640);a=hh(a,b,c,d,k[13],4,681279174);d=hh(d,a,b,c,k[0],11,-358537222);c=hh(c,d,a,b,k[3],16,-722521979);b=hh(b,c,d,a,k[6],23,76029189);a=hh(a,b,c,d,k[9],4,-640364487);d=hh(d,a,b,c,k[12],11,-421815835);c=hh(c,d,a,b,k[15],16,530742520);b=hh(b,c,d,a,k[2],23,-995338651);a=ii(a,b,c,d,k[0],6,-198630844);d=ii(d,a,b,c,k[7],10,1126891415);c=ii(c,d,a,b,k[14],15,-1416354905);b=ii(b,c,d,a,k[5],21,-57434055);a=ii(a,b,c,d,k[12],6,1700485571);d=ii(d,a,b,c,k[3],10,-1894986606);c=ii(c,d,a,b,k[10],15,-1051523);b=ii(b,c,d,a,k[1],21,-2054922799);a=ii(a,b,c,d,k[8],6,1873313359);d=ii(d,a,b,c,k[15],10,-30611744);c=ii(c,d,a,b,k[6],15,-1560198380);b=ii(b,c,d,a,k[13],21,1309151649);a=ii(a,b,c,d,k[4],6,-145523070);d=ii(d,a,b,c,k[11],10,-1120210379);c=ii(c,d,a,b,k[2],15,718787259);b=ii(b,c,d,a,k[9],21,-343485551);x[0]=add32(a,x[0]);x[1]=add32(b,x[1]);x[2]=add32(c,x[2]);x[3]=add32(d,x[3])}function md5blk(s){var md5blks=[],i;for(i=0;i<64;i+=4){md5blks[i>>2]=s.charCodeAt(i)+(s.charCodeAt(i+1)<<8)+(s.charCodeAt(i+2)<<16)+(s.charCodeAt(i+3)<<24)}return md5blks}function md5blk_array(a){var md5blks=[],i;for(i=0;i<64;i+=4){md5blks[i>>2]=a[i]+(a[i+1]<<8)+(a[i+2]<<16)+(a[i+3]<<24)}return md5blks}function md51(s){var n=s.length,state=[1732584193,-271733879,-1732584194,271733878],i,length,tail,tmp,lo,hi;for(i=64;i<=n;i+=64){md5cycle(state,md5blk(s.substring(i-64,i)))}s=s.substring(i-64);length=s.length;tail=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(i=0;i>2]|=s.charCodeAt(i)<<(i%4<<3)}tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(state,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=n*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(state,tail);return state}function md51_array(a){var n=a.length,state=[1732584193,-271733879,-1732584194,271733878],i,length,tail,tmp,lo,hi;for(i=64;i<=n;i+=64){md5cycle(state,md5blk_array(a.subarray(i-64,i)))}a=i-64>2]|=a[i]<<(i%4<<3)}tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(state,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=n*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(state,tail);return state}function rhex(n){var s="",j;for(j=0;j<4;j+=1){s+=hex_chr[n>>j*8+4&15]+hex_chr[n>>j*8&15]}return s}function hex(x){var i;for(i=0;i>16)+(y>>16)+(lsw>>16);return msw<<16|lsw&65535}}if(typeof ArrayBuffer!=="undefined"&&!ArrayBuffer.prototype.slice){(function(){function clamp(val,length){val=val|0||0;if(val<0){return Math.max(val+length,0)}return Math.min(val,length)}ArrayBuffer.prototype.slice=function(from,to){var length=this.byteLength,begin=clamp(from,length),end=length,num,target,targetArray,sourceArray;if(to!==undefined){end=clamp(to,length)}if(begin>end){return new ArrayBuffer(0)}num=end-begin;target=new ArrayBuffer(num);targetArray=new Uint8Array(target);sourceArray=new Uint8Array(this,begin,num);targetArray.set(sourceArray);return target}})()}function toUtf8(str){if(/[\u0080-\uFFFF]/.test(str)){str=unescape(encodeURIComponent(str))}return str}function utf8Str2ArrayBuffer(str,returnUInt8Array){var length=str.length,buff=new ArrayBuffer(length),arr=new Uint8Array(buff),i;for(i=0;i>2]|=buff.charCodeAt(i)<<(i%4<<3)}this._finish(tail,length);ret=hex(this._hash);if(raw){ret=hexToBinaryString(ret)}this.reset();return ret};SparkMD5.prototype.reset=function(){this._buff="";this._length=0;this._hash=[1732584193,-271733879,-1732584194,271733878];return this};SparkMD5.prototype.getState=function(){return{buff:this._buff,length:this._length,hash:this._hash}};SparkMD5.prototype.setState=function(state){this._buff=state.buff;this._length=state.length;this._hash=state.hash;return this};SparkMD5.prototype.destroy=function(){delete this._hash;delete this._buff;delete this._length};SparkMD5.prototype._finish=function(tail,length){var i=length,tmp,lo,hi;tail[i>>2]|=128<<(i%4<<3);if(i>55){md5cycle(this._hash,tail);for(i=0;i<16;i+=1){tail[i]=0}}tmp=this._length*8;tmp=tmp.toString(16).match(/(.*?)(.{0,8})$/);lo=parseInt(tmp[2],16);hi=parseInt(tmp[1],16)||0;tail[14]=lo;tail[15]=hi;md5cycle(this._hash,tail)};SparkMD5.hash=function(str,raw){return SparkMD5.hashBinary(toUtf8(str),raw)};SparkMD5.hashBinary=function(content,raw){var hash=md51(content),ret=hex(hash);return raw?hexToBinaryString(ret):ret};SparkMD5.ArrayBuffer=function(){this.reset()};SparkMD5.ArrayBuffer.prototype.append=function(arr){var buff=concatenateArrayBuffers(this._buff.buffer,arr,true),length=buff.length,i;this._length+=arr.byteLength;for(i=64;i<=length;i+=64){md5cycle(this._hash,md5blk_array(buff.subarray(i-64,i)))}this._buff=i-64>2]|=buff[i]<<(i%4<<3)}this._finish(tail,length);ret=hex(this._hash);if(raw){ret=hexToBinaryString(ret)}this.reset();return ret};SparkMD5.ArrayBuffer.prototype.reset=function(){this._buff=new Uint8Array(0);this._length=0;this._hash=[1732584193,-271733879,-1732584194,271733878];return this};SparkMD5.ArrayBuffer.prototype.getState=function(){var state=SparkMD5.prototype.getState.call(this);state.buff=arrayBuffer2Utf8Str(state.buff);return state};SparkMD5.ArrayBuffer.prototype.setState=function(state){state.buff=utf8Str2ArrayBuffer(state.buff,true);return SparkMD5.prototype.setState.call(this,state)};SparkMD5.ArrayBuffer.prototype.destroy=SparkMD5.prototype.destroy;SparkMD5.ArrayBuffer.prototype._finish=SparkMD5.prototype._finish;SparkMD5.ArrayBuffer.hash=function(arr,raw){var hash=md51_array(new Uint8Array(arr)),ret=hex(hash);return raw?hexToBinaryString(ret):ret};return SparkMD5}); diff --git a/Server/www/spiderbasic/cipher/sha3.js b/Server/www/spiderbasic/cipher/sha3.js new file mode 100644 index 0000000..f74f7cf --- /dev/null +++ b/Server/www/spiderbasic/cipher/sha3.js @@ -0,0 +1,23 @@ +/* + * js-sha3 v0.5.1 + * https://github.com/emn178/js-sha3 + * + * Copyright 2015, emn178@gmail.com + * + * Licensed under the MIT license: + * http://www.opensource.org/licenses/MIT + */ +(function(r,ma){function n(a,b,c){this.blocks=[];this.s=[];this.padding=b;this.outputBits=c;this.reset=!0;this.start=this.block=0;this.blockCount=1600-(a<<1)>>5;this.byteCount=this.blockCount<<2;this.outputBlocks=c>>5;this.extraBytes=(c&31)>>3;for(a=0;50>a;++a)this.s[a]=0}var ga="undefined"!=typeof module;ga&&(r=global,r.JS_SHA3_TEST&&(r.navigator={userAgent:"Chrome"}));for(var l="0123456789abcdef".split(""),p=[0,8,16,24],ha=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0, +2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],t=[224,256,384,512],w=["hex","buffer","array"],ia=function(a,b,c){return function(e){return(new n(a,b,a)).update(e)[c]()}},ja=function(a,b,c){return function(e,g){return(new n(a,b,g)).update(e)[c]()}},q=function(a,b){var c=ia(a, +b,"hex");c.create=function(){return new n(a,b,a)};c.update=function(a){return c.create().update(a)};for(var e=0;e>2]|=a[h]<m?e[d>>2]|=m<m?e[d>>2]|=(192|m>>6)<m||57344<=m?e[d>>2]|=(224|m>>12)<>2]|=(240|m>>18)<>2]|=(128|m>>12&63)<>2]|=(128|m>>6&63)<>2]|=(128|m&63)<=g){this.start=d-g;this.block=e[k];for(d=0;d>2]|=this.padding[b&3];if(this.lastByteIndex==this.byteCount)for(a[0]=a[c],b=1;b>4&15]+l[f&15]+l[f>>12&15]+l[f>>8&15]+l[f>> +20&15]+l[f>>16&15]+l[f>>28&15]+l[f>>24&15];0==k%a&&v(b)}e&&(f=b[g],0>4&15]+l[f&15]),1>12&15]+l[f>>8&15]),2>20&15]+l[f>>16&15]));return h};n.prototype.buffer=function(){this.finalize();var a=this.blockCount,b=this.s,c=this.outputBlocks,e=this.extraBytes,g=0,k=0,h=this.outputBits>>3,f;f=e?new ArrayBuffer(c+1<<2):new ArrayBuffer(h);for(var d=new Uint32Array(f);k>8&255,h[f+2]=d>>16&255,h[f+3]=d>>24&255;0==k%a&&v(b)}e&&(f=k<<2,d=b[g],0>8&255),2>16&255));return h};var v=function(a){var b,c,e,g,k,h,f,d,m,l,n,p,q,r,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,aa,ba,ca,da;for(e=0;48>e;e+=2)g=a[0]^ +a[10]^a[20]^a[30]^a[40],k=a[1]^a[11]^a[21]^a[31]^a[41],h=a[2]^a[12]^a[22]^a[32]^a[42],f=a[3]^a[13]^a[23]^a[33]^a[43],d=a[4]^a[14]^a[24]^a[34]^a[44],m=a[5]^a[15]^a[25]^a[35]^a[45],l=a[6]^a[16]^a[26]^a[36]^a[46],n=a[7]^a[17]^a[27]^a[37]^a[47],p=a[8]^a[18]^a[28]^a[38]^a[48],q=a[9]^a[19]^a[29]^a[39]^a[49],b=p^(h<<1|f>>>31),c=q^(f<<1|h>>>31),a[0]^=b,a[1]^=c,a[10]^=b,a[11]^=c,a[20]^=b,a[21]^=c,a[30]^=b,a[31]^=c,a[40]^=b,a[41]^=c,b=g^(d<<1|m>>>31),c=k^(m<<1|d>>>31),a[2]^=b,a[3]^=c,a[12]^=b,a[13]^=c,a[22]^= +b,a[23]^=c,a[32]^=b,a[33]^=c,a[42]^=b,a[43]^=c,b=h^(l<<1|n>>>31),c=f^(n<<1|l>>>31),a[4]^=b,a[5]^=c,a[14]^=b,a[15]^=c,a[24]^=b,a[25]^=c,a[34]^=b,a[35]^=c,a[44]^=b,a[45]^=c,b=d^(p<<1|q>>>31),c=m^(q<<1|p>>>31),a[6]^=b,a[7]^=c,a[16]^=b,a[17]^=c,a[26]^=b,a[27]^=c,a[36]^=b,a[37]^=c,a[46]^=b,a[47]^=c,b=l^(g<<1|k>>>31),c=n^(k<<1|g>>>31),a[8]^=b,a[9]^=c,a[18]^=b,a[19]^=c,a[28]^=b,a[29]^=c,a[38]^=b,a[39]^=c,a[48]^=b,a[49]^=c,b=a[0],c=a[1],M=a[11]<<4|a[10]>>>28,N=a[10]<<4|a[11]>>>28,u=a[20]<<3|a[21]>>>29,v= +a[21]<<3|a[20]>>>29,aa=a[31]<<9|a[30]>>>23,ba=a[30]<<9|a[31]>>>23,I=a[40]<<18|a[41]>>>14,J=a[41]<<18|a[40]>>>14,A=a[2]<<1|a[3]>>>31,B=a[3]<<1|a[2]>>>31,g=a[13]<<12|a[12]>>>20,k=a[12]<<12|a[13]>>>20,O=a[22]<<10|a[23]>>>22,P=a[23]<<10|a[22]>>>22,w=a[33]<<13|a[32]>>>19,x=a[32]<<13|a[33]>>>19,ca=a[42]<<2|a[43]>>>30,da=a[43]<<2|a[42]>>>30,U=a[5]<<30|a[4]>>>2,V=a[4]<<30|a[5]>>>2,C=a[14]<<6|a[15]>>>26,D=a[15]<<6|a[14]>>>26,h=a[25]<<11|a[24]>>>21,f=a[24]<<11|a[25]>>>21,Q=a[34]<<15|a[35]>>>17,R=a[35]<<15| +a[34]>>>17,y=a[45]<<29|a[44]>>>3,z=a[44]<<29|a[45]>>>3,p=a[6]<<28|a[7]>>>4,q=a[7]<<28|a[6]>>>4,W=a[17]<<23|a[16]>>>9,X=a[16]<<23|a[17]>>>9,E=a[26]<<25|a[27]>>>7,F=a[27]<<25|a[26]>>>7,d=a[36]<<21|a[37]>>>11,m=a[37]<<21|a[36]>>>11,S=a[47]<<24|a[46]>>>8,T=a[46]<<24|a[47]>>>8,K=a[8]<<27|a[9]>>>5,L=a[9]<<27|a[8]>>>5,r=a[18]<<20|a[19]>>>12,t=a[19]<<20|a[18]>>>12,Y=a[29]<<7|a[28]>>>25,Z=a[28]<<7|a[29]>>>25,G=a[38]<<8|a[39]>>>24,H=a[39]<<8|a[38]>>>24,l=a[48]<<14|a[49]>>>18,n=a[49]<<14|a[48]>>>18,a[0]=b^~g& +h,a[1]=c^~k&f,a[10]=p^~r&u,a[11]=q^~t&v,a[20]=A^~C&E,a[21]=B^~D&F,a[30]=K^~M&O,a[31]=L^~N&P,a[40]=U^~W&Y,a[41]=V^~X&Z,a[2]=g^~h&d,a[3]=k^~f&m,a[12]=r^~u&w,a[13]=t^~v&x,a[22]=C^~E&G,a[23]=D^~F&H,a[32]=M^~O&Q,a[33]=N^~P&R,a[42]=W^~Y&aa,a[43]=X^~Z&ba,a[4]=h^~d&l,a[5]=f^~m&n,a[14]=u^~w&y,a[15]=v^~x&z,a[24]=E^~G&I,a[25]=F^~H&J,a[34]=O^~Q&S,a[35]=P^~R&T,a[44]=Y^~aa&ca,a[45]=Z^~ba&da,a[6]=d^~l&b,a[7]=m^~n&c,a[16]=w^~y&p,a[17]=x^~z&q,a[26]=G^~I&A,a[27]=H^~J&B,a[36]=Q^~S&K,a[37]=R^~T&L,a[46]=aa^~ca&U,a[47]= +ba^~da&V,a[8]=l^~b&g,a[9]=n^~c&k,a[18]=y^~p&r,a[19]=z^~q&t,a[28]=I^~A&C,a[29]=J^~B&D,a[38]=S^~K&M,a[39]=T^~L&N,a[48]=ca^~U&W,a[49]=da^~V&X,a[0]^=ha[e],a[1]^=ha[e+1]};if(!r.JS_SHA3_TEST&&ga)module.exports=x;else if(r)for(var ka in x)r[ka]=x[ka]})(this); diff --git a/Server/www/spiderbasic/debug.js b/Server/www/spiderbasic/debug.js new file mode 100644 index 0000000..3a665ff --- /dev/null +++ b/Server/www/spiderbasic/debug.js @@ -0,0 +1,211 @@ + +spider.debug = { + y : 0, + window : null, + editorGadget : null, + disabled: false, + fatalError: false, + Init : function() { + + // A webview is attached, don't display the built-in debug window + if (window.spiderDebug) + { + return; + } + + this.window = spider_OpenWindow(-1, 0, 0, 350, 150, "SpiderBasic - Debug output", (1 << 4) | (1 << 5)); + + this.editorGadget = spider_EditorGadget(-1, 5, 5, spider_WindowWidth(spider.debug.window) - 10, spider_WindowHeight(spider.debug.window) - 10, (1 << 0)); + spider_StickyWindow(this.window, 1); + + // Position the window in the top/right corner + spider_ResizeWindow(this.window, spider_DesktopWidth() - spider_WindowWidth(this.window, 1)-10, 10, -0xFFFF , -0xFFFF) + + spider_BindEvent(4, // PB_Event_CloseWindow + function() { + spider_CloseWindow(spider.debug.window); + spider.debug.disabled = true; + }, + this.window); + + spider_BindEvent(7, // PB_Event_SizeWindow + function() { + spider_ResizeGadget(spider.debug.editorGadget, 5, 5, spider_WindowWidth(spider.debug.window) - 10, spider_WindowHeight(spider.debug.window) - 10); + }, + this.window); + }, + + RawPrint : function(text) { + + if (this.editorGadget && !this.disabled) + { + spider_SetGadgetText(this.editorGadget, spider_GetGadgetText(this.editorGadget)+text+"\n"); + + var editorTextArea = spider_GadgetID(this.editorGadget).gadget.domNode; + + // Use jquery animate to scroll down automatically + $(editorTextArea).animate({ + scrollTop:$(editorTextArea)[0].scrollHeight - $(editorTextArea).height() + },0); + } + }, + + Print : function(text) { + + if (spider.debug.fatalError) // Don't do anything if the program has already crash + return; + + // log in browser console first, just in case the GUI text doesn't work + console.log(text); + + // A webview is attached, forward the debug to the IDE debug output + if (window.spiderDebug) + { + window.spiderDebug({"command": 5, "text": ""+text }); + } + else + { + this.RawPrint(text); + } + }, + + CheckSingleFlags : function(parameter, flags, allowedFlags) + { + var callerName = spider.debug.CheckSingleFlags.caller.name; + var functionName = callerName.substring(7, callerName.length - 6); // remove 'spider_' and '_DEBUG' + + if (allowedFlags.indexOf(flags) === -1) + throw new Error(functionName+"(): : invalid value specified for parameter '"+parameter+"'.", { cause: "spider" }); + }, + + CheckCombinationFlags : function(parameter, flags, allowedFlags) + { + var callerName = spider.debug.CheckCombinationFlags.caller.name; + var functionName = callerName.substring(7, callerName.length - 6); // remove 'spider_' and '_DEBUG' + + var allFlags = 0; + for (var k = 0; k < allowedFlags.length; k++) + { + allFlags |= allowedFlags[k]; + } + + if ((allFlags & flags) !== flags) // Something is wrong is the specified value doesn't fit in the flags + throw new Error(functionName+"(): : invalid value specified for parameter '"+parameter+"'.", { cause: "spider" }); + }, + + Error : function(text, callerName) + { + if (spider.debug.fatalError) // Don't do anything if the program has already crash + return; + + if (typeof callerName === "undefined") + { + callerName = spider.debug.Error.caller.name; + } + + functionName = callerName.substring(7, callerName.length - 6); // remove 'spider_' and '_DEBUG' + + throw new Error(functionName+"(): "+text, { cause: "spider" }); + }, + + CheckId : function(callerName, ObjectName, id) + { + if (spider.debug.fatalError) // Don't do anything if the program has already crash + return; + + var functionName = callerName.substring(7, callerName.length - 6); // remove 'spider_' and '_DEBUG' + + if (id < -1) + throw new Error(functionName+"(): #"+ObjectName+" object number can't be negative (value: "+id+").", { cause: "spider" }); + else if (id >= 10000) + throw new Error(functionName+"(): #"+ObjectName+" object number is very high (over 10000), are you sure of that ?", { cause: "spider" }); + }, + + CheckObject : function(callerName, ObjectName, isObject) + { + if (spider.debug.fatalError) // Don't do anything if the program has already crash + return; + + var functionName = callerName.substring(7, callerName.length - 6); // remove 'spider_' and '_DEBUG' + + if (isObject === 0) + throw new Error(functionName+"(): The specified #"+ObjectName+" is not initialised.", { cause: "spider" }); + }, + + ThrowError : function(functionName, text) + { + if (spider.debug.fatalError) // Don't do anything if the program has already crash + return; + + throw new Error(functionName+"(): "+ text, { cause: "spider" }); + }, + + DebuggerLineGetLine : function(a) + { + return ((a) & ((1 << 20)-1)); + }, + + DebuggerLineGetFile : function(a) + { + return (((a) >> 20) & ((1 << (32-20))-1)); + }, + + DisplayError : function(text) + { + if (spider.debug.fatalError) // Don't do anything if the program has already crash + return; + + // A webview is attached + if (window.spiderDebug) + { + window.spiderDebug( { "command": 8, "lineId": spiderLine, "text": text } ); + } + else + { + var line = spider.debug.DebuggerLineGetLine(spiderLine)+1; + var fileIndex = spider.debug.DebuggerLineGetFile(spiderLine); + var filename = spider.debugFilename; + + if (fileIndex > 0) // It's an include file + { + filename = spider.debugIncludes[fileIndex-1]; + } + + spider.debug.Print(filename+":"+line+" "+text); + } + } +}; + + +// temporary Shortcut +spider.Debug = function(text) { + spider.debug.Print(text); +}; + +// temporary Shortcut +function debug(text) { + spider.debug.Print(text); +} + +// global error handler +window.addEventListener("error", (event) => { + + if (spider.debug.fatalError) // Don't do anything if the program has already crash + return; + + var text; + if (event.error.cause == "spider") // It's a SpiderBasic exception + { + text = event.error.message; + } + else + { + // Not a SpiderBasic exception, put the full details + text = `${event.type}: ${event.message} (${event.filename}, line: ${event.lineno})`; + } + + spider.debug.DisplayError(text); + + spider.debug.fatalError = true; +}); + diff --git a/Server/www/spiderbasic/dojo/cbtree/errors/CBTErrors.json b/Server/www/spiderbasic/dojo/cbtree/errors/CBTErrors.json new file mode 100644 index 0000000..db21b3f --- /dev/null +++ b/Server/www/spiderbasic/dojo/cbtree/errors/CBTErrors.json @@ -0,0 +1,25 @@ +[ + {"AbstractOnlyError": {"text":"method is abstract only and requires implementation"} }, + {"AccessError": {"text":"requested or required access is not allowed"} }, + {"ItemExistError": {"text":"object with specified ID already exist"} }, + {"InvalidAccessError": {"text":"operation or parameter is not allowed"} }, + {"InvalidDataError": {"text":"store data must be an array of objects"} }, + {"InvalidParameterError": {"text":"Invalid parameter specified"} }, + {"InvalidPropertyError": {"text":"invalid property or type specified"} }, + {"InvalidObjectError": {"text":"item is not an a valid store object"} }, + {"InvalidPathError": {"text":"invalid path"} }, + {"InvalidResponseError": {"text":"function returned an invalid or unexpected response"} }, + {"InvalidTypeError": {"text":"parameter or property type is invalid"} }, + {"InvalidVersionError": {"text":"invalid dojo or dijit version"} }, + {"InvalidWidgetError": {"text":"invalid widget"} }, + {"MethodMissingError": {"text":"a required function is missing"} }, + {"NotFoundError": {"text":"the object can not be found here."} }, + {"ParameterMissingError": {"text":"required parameter is missing"} }, + {"PropertyMissingError": {"text":"required property is missing"} }, + {"ReadOnlyError": {"text":"property is READ-ONLY"} }, + {"RequestCancelError": {"text":"request was canceled"} }, + {"RequestError": {"text":"XHR request failed"} }, + {"RequestPendingError": {"text":"another request is still pending"} }, + {"UnknownVersionError": {"text":"unknown dojo and/or dijit version"} } +] + diff --git a/Server/www/spiderbasic/dojo/cbtree/icons/fileIconsMS.css b/Server/www/spiderbasic/dojo/cbtree/icons/fileIconsMS.css new file mode 100644 index 0000000..018d29d --- /dev/null +++ b/Server/www/spiderbasic/dojo/cbtree/icons/fileIconsMS.css @@ -0,0 +1 @@ +.fileIcon {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -990px; width: 18px;}.fileIcon.fileIconCollapsed {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -36px; width: 18px;}.fileIcon.fileIconExpanded {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -54px; width: 18px;}.fileIconDIR.fileIconDIRCollapsed {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -36px; width: 18px;}.fileIconDIR.fileIconDIRExpanded {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -54px; width: 18px;}.fileIconMsi {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -90px; width: 18px;}.fileIconExe, .fileIconCgi {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -108px; width: 18px;}.fileIconDll, .fileIconSo {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -144px; width: 18px;}.fileIconBat, .fileIconSh, .fileIconShar, .fileIconCsh, .fileIconKsh, .fileIconTcl {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -162px; width: 18px;}.fileIconBin, .fileIconObj, .fileIconO {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -180px; width: 18px;}.fileIconConf {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -198px; width: 18px;}.fileIconIni, .fileIconInf {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -216px; width: 18px;}.fileIconReg {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -234px; width: 18px;}.fileIconAsm {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -270px; width: 18px;}.fileIconC {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -288px; width: 18px;}.fileIconCpp {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -306px; width: 18px;}.fileIconCs {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -324px; width: 18px;}.fileIconH, .fileIconHpp {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -342px; width: 18px;}.fileIconJs {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -360px; width: 18px;}.fileIconPhp {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -378px; width: 18px;}.fileIconPl {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -396px; width: 18px;}.fileIconPm {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -414px; width: 18px;}.fileIconPy {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -432px; width: 18px;}.fileIconVb {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -450px; width: 18px;}.fileIconVbs {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -468px; width: 18px;}.fileIconSnippet {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -486px; width: 18px;}.fileIconCsproj {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -630px; width: 18px;}.fileIconVbproj {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -648px; width: 18px;}.fileIconVcproj {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -666px; width: 18px;}.fileIconVsmacro {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -684px; width: 18px;}.fileIconSln {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -702px; width: 18px;}.fileIconSuo {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -720px; width: 18px;}.fileIconExp {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -738px; width: 18px;}.fileIconLib {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -756px; width: 18px;}.fileIconLib {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -756px; width: 18px;}.fileIconPdb {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -774px; width: 18px;}.fileIconMk {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -792px; width: 18px;}.fileIconIdb {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -810px; width: 18px;}.fileIconIlk {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -828px; width: 18px;}.fileIconRc {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -846px; width: 18px;}.fileIconRct {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -864px; width: 18px;}.fileIconRes {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -864px; width: 18px;}.fileIconUnknown {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -990px; width: 18px;}.fileIconHtm, .fileIconHtml, .fileIconShtml {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -972px; width: 18px;}.fileIconDoc {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1026px; width: 18px;}.fileIconDocx {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1044px; width: 18px;}.fileIconDotx {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1062px; width: 18px;}.fileIconPpt {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1080px; width: 18px;}.fileIconPptx {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1098px; width: 18px;}.fileIconPotx {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1116px; width: 18px;}.fileIconXls, .fileIconCsv {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1134px; width: 18px;}.fileIconXlsx {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1152px; width: 18px;}.fileIconXlts {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1170px; width: 18px;}.fileIconVsd, .fileIconVsdx {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1188px; width: 18px;}.fileIconPst {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1242px; width: 18px;}.fileIconMsg {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1260px; width: 18px;}.fileIconPip {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1278px; width: 18px;}.fileIconBmp, .fileIconIco, .fileIconTif, .fileIconTiff {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1350px; width: 18px;}.fileIconGif {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1368px; width: 18px;}.fileIconJpg, .fileIconJpeg {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1386px; width: 18px;}.fileIconPng {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1404px; width: 18px;}.fileIconAif, .fileIconAifc, .fileIconAiff, .fileIconMid, .fileIconMidi, .fileIconMp2, .fileIconMp3, .fileIconMpa, .fileIconMpe, .fileIconMpg, .fileIconMpeg, .fileIconVoc, .fileIconWav {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1422px; width: 18px;}.fileIconMp4 {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1440px; width: 18px;}.fileIconAsf, .fileIconAsr, .fileIconAsx, .fileIconAvi, .fileIconMov, .fileIconMovie, .fileIconQt, .fileIconVdo, .fileIconViv, .fileIconVivo, .fileIconWmv, .fileIconWmx, .fileIconWvx {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1458px; width: 18px;}.fileIconPdf {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1710px; width: 18px;}.fileIconPs, .fileIconAi {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1728px; width: 18px;}.fileIconCss, .fileIconJava, .fileIconJson, .fileIconMd, .fileIconTxt, .fileIconXml {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1746px; width: 18px;}.fileIconWmf {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1800px; width: 18px;}.fileIconWxs {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1818px; width: 18px;}.fileIconXsd {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1836px; width: 18px;}.fileIconXsl {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1854px; width: 18px;}.fileIconXslt {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1872px; width: 18px;}.fileIconJar {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1908px; width: 18px;}.fileIconGz, .fileIconTar, .fileIconTgz, .fileIconZ, .fileIconZip {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1926px; width: 18px;}.fileIconPs1 {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1980px; width: 18px;}.fileIconThmx {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -1998px; width: 18px;}.fileIconKmz {background-image: url('images/fileIconsMS.gif'); background-repeat: no-repeat; background-position: -2016px; width: 18px;} \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/cbtree/themes/claro/claro.css b/Server/www/spiderbasic/dojo/cbtree/themes/claro/claro.css new file mode 100644 index 0000000..caad399 --- /dev/null +++ b/Server/www/spiderbasic/dojo/cbtree/themes/claro/claro.css @@ -0,0 +1 @@ +.claro .cbtreeCheckBox {background-image: url('images/spriteCheckbox.gif'); background-repeat: no-repeat; width: 16px; height: 16px; margin: 0; padding: 0;}.claro .cbtreeCheckBox {background-position: -16px;}.claro .cbtreeCheckBoxChecked {background-position: 0px;}.claro .cbtreeCheckBoxMixed {background-position: -32px;}.claro .cbtreeCheckBoxDisabled {background-position: -64px;}.claro .cbtreeCheckBoxCheckedDisabled {background-position: -48px;}.claro .cbtreeCheckBoxMixedDisabled {background-position: -80px;}.claro .cbtreeCheckBoxReadOnly {background-position: -64px;}.claro .cbtreeCheckBoxCheckedReadOnly {background-position: -48px;}.claro .cbtreeCheckBoxMixedReadOnly {background-position: -80px;}.claro .cbtreeCheckBoxHover {background-position: -112px;}.claro .cbtreeCheckBoxCheckedHover {background-position: -96px;}.claro .cbtreeCheckBoxMixedHover {background-position: -128px;} \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/dgrid/css/dgrid.css b/Server/www/spiderbasic/dojo/dgrid/css/dgrid.css new file mode 100644 index 0000000..a0b173a --- /dev/null +++ b/Server/www/spiderbasic/dojo/dgrid/css/dgrid.css @@ -0,0 +1 @@ +.dgrid {overflow: hidden; border: 1px solid #ddd; display: block;}.dgrid-header {background-color: #eee;}.dgrid-header-row {position: absolute; right: 17px; left: 0;}.dgrid-header-scroll {position: absolute; top: 0; right: 0;}.dgrid-footer {position: absolute; bottom: 0; width: 100%;}.dgrid-header-hidden {font-size: 0; height: 0 !important; border-top: none !important; border-bottom: none !important; margin-top: 0 !important; margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important;}.dgrid-footer-hidden {display: none;}.dgrid-sortable {cursor: pointer;}.dgrid-header,.dgrid-header-row,.dgrid-footer {overflow: hidden; background-color: #eee;}.dgrid-row-table {border-collapse: collapse; border: none; table-layout: fixed; empty-cells: show; width: 100%; height: 100%;}.dgrid-cell {padding: 3px; text-align: left; overflow: hidden; vertical-align: top; border: 1px solid #ddd; border-top-style: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}.dgrid-content {position: relative; height: 99%;}.dgrid-scroller {overflow-x: auto; overflow-y: scroll; position: absolute; top: 0px; margin-top: 25px; bottom: 0px; width: 100%; background: white;}.dgrid-preload {font-size: 0; line-height: 0;}.dgrid-loading {position: relative; height: 100%;}.dgrid-above {position: absolute; bottom: 0;}.ui-icon {width: 16px; height: 16px; background-image: url("images/ui-icons_222222_256x240.png");}.dgrid-sort-arrow {background-position: -64px -16px; display: block; float: right; margin: 0 4px 0 5px; height: 12px;}.dgrid-sort-up .dgrid-sort-arrow {background-position: 0px -16px;}.dgrid-selected {background-color: #BFD6EB;}.dgrid-input {width: 99%;}html.has-mozilla .dgrid .dgrid-row:focus,html.has-mozilla .dgrid .dgrid-cell:focus {outline: 1px dotted;}html.has-mozilla .dgrid-focus {outline-offset: -1px;}.dgrid-scrollbar-measure {width: 100px; height: 100px; overflow: scroll; position: absolute; top: -9999px;}.dgrid-autoheight {height: auto;}.dgrid-autoheight .dgrid-scroller {position: relative; overflow-y: hidden;}.dgrid-autoheight .dgrid-header-scroll {display: none;}.dgrid-autoheight .dgrid-header {right: 0;}.dgrid-column-set {overflow: hidden; width: 100%; position: relative; height: 100%; -ms-touch-action: pan-y; touch-action: pan-y;}.dgrid-column-set-cell {vertical-align: top; height: 100%;}.dgrid-column-set-scroller-container {font-size: 0; position: absolute; bottom: 0;}.dgrid-autoheight .dgrid-column-set-scroller-container {position: relative;}.dgrid-column-set-scroller {display: inline-block; overflow-x: auto; overflow-y: hidden;}.dgrid-column-set-scroller-content {height: 1px;}.ui-icon-triangle-1-e {background-position: -32px -16px;}.ui-icon-triangle-1-se {background-position: -48px -16px;}.dgrid-expando-icon {width: 16px; height: 16px;}.dgrid-tree-container {-webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; -o-transition-duration: 0.3s; -ms-transition-duration: 0.3s; transition-duration: 0.3s; overflow: hidden;}.dgrid-tree-container.dgrid-tree-resetting {-webkit-transition-duration: 0; -moz-transition-duration: 0; -o-transition-duration: 0; -ms-transition-duration: 0; transition-duration: 0;}.dgrid-hider-toggle {background-position: 0 -192px; background-color: transparent; border: none; cursor: pointer; position: absolute; right: 0; top: 0;}.dgrid-rtl-swap .dgrid-hider-toggle {right: auto; left: 0;}.dgrid-hider-menu {position: absolute; top: 0; right: 17px; width: 184px; background-color: #fff; border: 1px solid #000; z-index: 99999; padding: 4px; overflow-x: hidden; overflow-y: auto;}.dgrid-rtl-swap .dgrid-hider-menu {right: auto; left: 17px;}.dgrid-hider-menu-row {position: relative; padding: 2px;}.dgrid-hider-menu-check {position: absolute; top: 2px; left: 2px; padding: 0;}.dgrid-hider-menu-label {display: block; padding-left: 20px;}.dgrid-header .dojoDndTarget .dgrid-cell {display: table-cell;}.dgrid-header .dojoDndItemBefore {border-left: 2px dotted #000 !important;}.dgrid-header .dojoDndItemAfter {border-right: 2px dotted #000 !important;}.dgrid-column-resizer {cursor: col-resize; position: absolute; width: 2px; background-color: #666; z-index: 1000;}.dgrid-resize-handle {height: 100px; width: 0; position: absolute; right: -4px; top: -4px; cursor: col-resize; z-index: 999; border-left: 5px solid transparent; outline: none;}.dgrid-resize-header-container {height: 100%;}.dgrid-resize-guard {cursor: col-resize; position: absolute; bottom: 0; left: 0; right: 0; top: 0;}html.has-touch .dgrid-resize-handle {border-left: 20px solid transparent;}html.has-touch .dgrid-column-resizer {width: 2px;}.dgrid-resize-header-container {position: relative;}.dgrid-header .dgrid-cell {overflow: hidden;}.dgrid-spacer-row {height: 0;}.dgrid-spacer-row th {padding-top: 0; padding-bottom: 0; border-top: none; border-bottom: none;}.dgrid-status {padding: 2px;}.dgrid-pagination .dgrid-status {float: left;}.dgrid-pagination .dgrid-navigation,.dgrid-pagination .dgrid-page-size {float: right;}.dgrid-navigation .dgrid-page-link {cursor: pointer; font-weight: bold; text-decoration: none; color: inherit; padding: 0 4px;}.dgrid-first,.dgrid-last,.dgrid-next,.dgrid-previous {font-size: 130%;}.dgrid-pagination .dgrid-page-disabled {color: #aaa; cursor: default;}.dgrid-page-input {margin-top: 1px; width: 2em; text-align: center;}.dgrid-page-size {margin: 1px 4px 0 4px;}.dgrid-rtl-swap .dgrid-header-row {right: 0; left: 17px;}.dgrid-rtl-swap .dgrid-header-scroll {left: 0px; right: auto;}.dgrid-rtl .dgrid-cell {text-align: right;}.dgrid-rtl .dgrid-sort-arrow {float: left; margin: 0 5px 0 4px;}.dgrid-rtl .ui-icon-triangle-1-e {background-position: -96px -16px;}.dgrid-rtl .ui-icon-triangle-1-se {background-position: -80px -16px;}.dgrid-rtl .dgrid-pagination .dgrid-status {float: right;}.dgrid-rtl .dgrid-pagination .dgrid-page-size {float: right;}.dgrid-rtl .dgrid-pagination .dgrid-navigation {float: left;}.dgrid-rtl.dgrid-autoheight .dgrid-header {left: 0;} \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/dgrid/css/images/ui-icons_222222_256x240.png b/Server/www/spiderbasic/dojo/dgrid/css/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..b273ff111d219c9b9a8b96d57683d0075fb7871a GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/dgrid/css/images/ui-icons_ffffff_256x240.png b/Server/www/spiderbasic/dojo/dgrid/css/images/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..5c386cf5335a252826ae80b9841465b15d91558f GIT binary patch literal 4979 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 Ps%PM?roKj*8WQt=B_hRQ literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/dojo.js b/Server/www/spiderbasic/dojo/dojo.js new file mode 100644 index 0000000..6ed6314 --- /dev/null +++ b/Server/www/spiderbasic/dojo/dojo.js @@ -0,0 +1,1122 @@ +//>>built +(function(f,p){var k,n=function(){},e=function(a){for(var c in a)return 0;return 1},h={}.toString,q=function(a){return"[object Function]"==h.call(a)},d=function(a){return"[object String]"==h.call(a)},b=function(a){return"[object Array]"==h.call(a)},a=function(a,c){if(a)for(var b=0;bk;)try{if(G=Q[k++],new ActiveXObject(G))break}catch(J){}H=function(){return new ActiveXObject(G)}}r.getXhr=H;u.add("dojo-gettext-api", +1);r.getText=function(a,c,b){var g=H();g.open("GET",oa(a),!1);g.send(null);if(200==g.status||!location.host&&!g.status)b&&b(g.responseText,c);else throw l("xhrFailed",g.status);return g.responseText};var F=u("csp-restrictions")?function(){}:new Function("return eval(arguments[0]);");r.eval=function(a,b){return F(a+"\r\n//# sourceURL\x3d"+b)};var D={},C=r.signal=function(c,g){var l=D[c];a(l&&l.slice(0),function(a){a.apply(null,b(g)?g:[g])})},P=r.on=function(a,b){var c=D[a]||(D[a]=[]);c.push(b);return{remove:function(){for(var a= +0;aq("ie")&&this.defer(function(){try{var a=k.getComputedStyle(this.domNode);if(a){var b=a.fontFamily;if(b){var c=this.domNode.getElementsByTagName("INPUT");if(c)for(a=0;aq("ie")&&(d.prototype._isTextSelected=function(){var a=this.ownerDocument.selection.createRange();return a.parentElement()==this.textbox&&0s.clientHeight)&&(a+=s.clientLeft);return 8>l||g?a+s.clientWidth-s.scrollWidth:-a}return a};d.position=function(a,b){a=k.byId(a);var l=p.body(a.ownerDocument),g=a.getBoundingClientRect(),g={x:g.left,y:g.top,w:g.right-g.left,h:g.bottom-g.top};9>f("ie")&&(g.x-=f("quirks")?l.clientLeft+l.offsetLeft:0,g.y-=f("quirks")?l.clientTop+l.offsetTop:0);b&&(l=d.docScroll(a.ownerDocument),g.x+=l.x,g.y+=l.y);return g};d.getMarginSize=function(a, +b){a=k.byId(a);var l=d.getMarginExtents(a,b||n.getComputedStyle(a)),g=a.getBoundingClientRect();return{w:g.right-g.left+l.w,h:g.bottom-g.top+l.h}};d.normalizeEvent=function(a){"layerX"in a||(a.layerX=a.offsetX,a.layerY=a.offsetY);if(!("pageX"in a)){var b=a.target,b=b&&b.ownerDocument||document,l=f("quirks")?b.body:b.documentElement;a.pageX=a.clientX+d.fixIeBiDiScrollLeft(l.scrollLeft||0,b);a.pageY=a.clientY+(l.scrollTop||0)}};return d})},"dijit/_base/scroll":function(){define(["dojo/window","../main"], +function(f,p){p.scrollIntoView=function(k,n){f.scrollIntoView(k,n)}})},"dijit/_TemplatedMixin":function(){define("dojo/cache dojo/_base/declare dojo/dom-construct dojo/_base/lang dojo/on dojo/sniff dojo/string ./_AttachMixin".split(" "),function(f,p,k,n,e,h,q,d){var b=p("dijit._TemplatedMixin",d,{templateString:null,templatePath:null,_skipNodeCache:!1,searchContainerNode:!0,_stringRepl:function(a){var b=this.declaredClass,l=this;return q.substitute(a,this,function(a,s){"!"==s.charAt(0)&&(a=n.getObject(s.substr(1), +!1,l));if("undefined"==typeof a)throw Error(b+" template:"+s);return null==a?"":"!"==s.charAt(0)?a:this._escapeValue(""+a)},this)},_escapeValue:function(a){return a.replace(/["'<>&]/g,function(a){return{"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;",'"':"\x26quot;","'":"\x26#x27;"}[a]})},buildRendering:function(){if(!this._rendered){this.templateString||(this.templateString=f(this.templatePath,{sanitize:!0}));var a=b.getCachedTemplate(this.templateString,this._skipNodeCache,this.ownerDocument), +c;if(n.isString(a)){if(c=k.toDom(this._stringRepl(a),this.ownerDocument),1!=c.nodeType)throw Error("Invalid template: "+a);}else c=a.cloneNode(!0);this.domNode=c}this.inherited(arguments);this._rendered||this._fillContent(this.srcNodeRef);this._rendered=!0},_fillContent:function(a){var b=this.containerNode;if(a&&b)for(;a.hasChildNodes();)b.appendChild(a.firstChild)}});b._templateCache={};b.getCachedTemplate=function(a,c,l){var g=b._templateCache,s=a,r=g[s];if(r){try{if(!r.ownerDocument||r.ownerDocument== +(l||document))return r}catch(m){}k.destroy(r)}a=q.trim(a);if(c||a.match(/\$\{([^\}]+)\}/g))return g[s]=a;c=k.toDom(a,l);if(1!=c.nodeType)throw Error("Invalid template: "+a);return g[s]=c};h("ie")&&e(window,"unload",function(){var a=b._templateCache,c;for(c in a){var l=a[c];"object"==typeof l&&k.destroy(l);delete a[c]}});return b})},"dojo/_base/unload":function(){define(["./kernel","./lang","../on"],function(f,p,k){var n=window,e={addOnWindowUnload:function(e,q){f.windowUnloaded||k(n,"unload",f.windowUnloaded= +function(){});k(n,"unload",p.hitch(e,q))},addOnUnload:function(e,q){k(n,"beforeunload",p.hitch(e,q))}};f.addOnWindowUnload=e.addOnWindowUnload;f.addOnUnload=e.addOnUnload;return e})},"dijit/_CssStateMixin":function(){define("dojo/_base/array dojo/_base/declare dojo/dom dojo/dom-class dojo/has dojo/_base/lang dojo/on dojo/domReady dojo/touch dojo/_base/window ./a11yclick ./registry".split(" "),function(f,p,k,n,e,h,q,d,b,a,c,l){p=p("dijit._CssStateMixin",[],{hovering:!1,active:!1,_applyAttributes:function(){this.inherited(arguments); +f.forEach("disabled readOnly checked selected focused state hovering active _opened".split(" "),function(a){this.watch(a,h.hitch(this,"_setStateClass"))},this);for(var a in this.cssStateNodes||{})this._trackMouseState(this[a],this.cssStateNodes[a]);this._trackMouseState(this.domNode,this.baseClass);this._setStateClass()},_cssMouseEvent:function(a){if(!this.disabled)switch(a.type){case "mouseover":case "MSPointerOver":case "pointerover":this._set("hovering",!0);this._set("active",this._mouseDown); +break;case "mouseout":case "MSPointerOut":case "pointerout":this._set("hovering",!1);this._set("active",!1);break;case "mousedown":case "touchstart":case "MSPointerDown":case "pointerdown":case "keydown":this._set("active",!0);break;case "mouseup":case "dojotouchend":case "MSPointerUp":case "pointerup":case "keyup":this._set("active",!1)}},_setStateClass:function(){function a(c){b=b.concat(f.map(b,function(a){return a+c}),"dijit"+c)}var b=this.baseClass.split(" ");this.isLeftToRight()||a("Rtl");var c= +"mixed"==this.checked?"Mixed":this.checked?"Checked":"";this.checked&&a(c);this.state&&a(this.state);this.selected&&a("Selected");this._opened&&a("Opened");this.disabled?a("Disabled"):this.readOnly?a("ReadOnly"):this.active?a("Active"):this.hovering&&a("Hover");this.focused&&a("Focused");var c=this.stateNode||this.domNode,m={};f.forEach(c.className.split(" "),function(a){m[a]=!0});"_stateClasses"in this&&f.forEach(this._stateClasses,function(a){delete m[a]});f.forEach(b,function(a){m[a]=!0});var l= +[],d;for(d in m)l.push(d);c.className=l.join(" ");this._stateClasses=b},_subnodeCssMouseEvent:function(a,b,c){function m(c){n.toggle(a,b+"Active",c)}if(!this.disabled&&!this.readOnly)switch(c.type){case "mouseover":case "MSPointerOver":case "pointerover":n.toggle(a,b+"Hover",!0);break;case "mouseout":case "MSPointerOut":case "pointerout":n.toggle(a,b+"Hover",!1);m(!1);break;case "mousedown":case "touchstart":case "MSPointerDown":case "pointerdown":case "keydown":m(!0);break;case "mouseup":case "MSPointerUp":case "pointerup":case "dojotouchend":case "keyup":m(!1); +break;case "focus":case "focusin":n.toggle(a,b+"Focused",!0);break;case "blur":case "focusout":n.toggle(a,b+"Focused",!1)}},_trackMouseState:function(a,b){a._cssState=b}});d(function(){function g(a,b,c){if(!c||!k.isDescendant(c,b))for(;b&&b!=c;b=b.parentNode)if(b._cssState){var g=l.getEnclosingWidget(b);g&&(b==g.domNode?g._cssMouseEvent(a):g._subnodeCssMouseEvent(b,b._cssState,a))}}var s=a.body(),r;q(s,b.over,function(a){g(a,a.target,a.relatedTarget)});q(s,b.out,function(a){g(a,a.target,a.relatedTarget)}); +q(s,c.press,function(a){r=a.target;g(a,r)});q(s,c.release,function(a){g(a,r);r=null});q(s,"focusin, focusout",function(a){var b=a.target;if(b._cssState&&!b.getAttribute("widgetId")){var c=l.getEnclosingWidget(b);c&&c._subnodeCssMouseEvent(b,b._cssState,a)}})});return p})},"dojo/selector/_loader":function(){define(["../has","require"],function(f,p){if("undefined"!==typeof document){var k=document.createElement("div");f.add("dom-qsa2.1",!!k.querySelectorAll);f.add("dom-qsa3",function(){try{return k.innerHTML= +"\x3cp class\x3d'TEST'\x3e\x3c/p\x3e",1==k.querySelectorAll(".TEST:empty").length}catch(e){}})}var n;return{load:function(e,h,q,d){if(d&&d.isBuild)q();else{d=p;e="default"==e?f("config-selectorEngine")||"css3":e;e="css2"==e||"lite"==e?"./lite":"css2.1"==e?f("dom-qsa2.1")?"./lite":"./acme":"css3"==e?f("dom-qsa3")?"./lite":"./acme":"acme"==e?"./acme":(d=h)&&e;if("?"==e.charAt(e.length-1)){e=e.substring(0,e.length-1);var b=!0}if(b&&(f("dom-compliant-qsa")||n))return q(n);d([e],function(a){"./lite"!= +e&&(n=a);q(a)})}}}})},"dijit/layout/ScrollingTabController":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-class dojo/dom-geometry dojo/dom-style dojo/_base/fx dojo/_base/lang dojo/on dojo/query dojo/sniff ../registry dojo/text!./templates/ScrollingTabController.html dojo/text!./templates/_ScrollingTabControllerButton.html ./TabController ./utils ../_WidgetsInTemplateMixin ../Menu ../MenuItem ../form/Button ../_HasDropDown dojo/NodeList-dom ../a11yclick".split(" "),function(f,p,k, +n,e,h,q,d,b,a,c,l,g,s,r,m,t,w,u,v){l=p("dijit.layout.ScrollingTabController",[s,m],{baseClass:"dijitTabController dijitScrollingTabController",templateString:l,useMenu:!0,useSlider:!0,tabStripClass:"",_minScroll:5,_setClassAttr:{node:"containerNode",type:"class"},buildRendering:function(){this.inherited(arguments);var a=this.domNode;this.scrollNode=this.tablistWrapper;this._initButtons();this.tabStripClass||(this.tabStripClass="dijitTabContainer"+this.tabPosition.charAt(0).toUpperCase()+this.tabPosition.substr(1).replace(/-.*/, +"")+"None",k.add(a,"tabStrip-disabled"));k.add(this.tablistWrapper,this.tabStripClass)},onStartup:function(){this.inherited(arguments);e.set(this.domNode,"visibility","");this._postStartup=!0;this.own(d(this.containerNode,"attrmodified-label, attrmodified-iconclass",q.hitch(this,function(a){this._dim&&this.resize(this._dim)})))},onAddChild:function(a,b){this.inherited(arguments);e.set(this.containerNode,"width",e.get(this.containerNode,"width")+200+"px")},onRemoveChild:function(a,b){var c=this.pane2button(a.id); +this._selectedTab===c.domNode&&(this._selectedTab=null);this.inherited(arguments)},_initButtons:function(){this._btnWidth=0;this._buttons=b("\x3e .tabStripButton",this.domNode).filter(function(a){if(this.useMenu&&a==this._menuBtn.domNode||this.useSlider&&(a==this._rightBtn.domNode||a==this._leftBtn.domNode))return this._btnWidth+=n.getMarginSize(a).w,!0;e.set(a,"display","none");return!1},this)},_getTabsWidth:function(){var a=this.getChildren();if(a.length){var b=a[this.isLeftToRight()?0:a.length- +1].domNode,a=a[this.isLeftToRight()?a.length-1:0].domNode;return a.offsetLeft+a.offsetWidth-b.offsetLeft}return 0},_enableBtn:function(a){var b=this._getTabsWidth();a=a||e.get(this.scrollNode,"width");return 0a("ie")||a("trident")&&a("quirks")||a("webkit")?this.scrollNode.scrollLeft:e.get(this.containerNode,"width")-e.get(this.scrollNode,"width")+(a("trident")||a("edge")?-1:1)*this.scrollNode.scrollLeft},_convertToScrollLeft:function(b){if(this.isLeftToRight()||8>a("ie")||a("trident")&&a("quirks")||a("webkit"))return b;var c=e.get(this.containerNode,"width")-e.get(this.scrollNode,"width");return(a("trident")||a("edge")?-1:1)*(b-c)},onSelectChild:function(a, +b){var c=this.pane2button(a.id);if(c){var g=c.domNode;if(g!=this._selectedTab&&(this._selectedTab=g,this._postResize)){var m=this._getScroll();m>g.offsetLeft||m+e.get(this.scrollNode,"width")b)return{min:this.isLeftToRight()? +0:a[a.length-1].domNode.offsetLeft,max:this.isLeftToRight()?a[a.length-1].domNode.offsetLeft+a[a.length-1].domNode.offsetWidth-b:c};a=this.isLeftToRight()?0:c;return{min:a,max:a}},_getScrollForSelectedTab:function(){var a=this._selectedTab,b=e.get(this.scrollNode,"width"),c=this._getScrollBounds(),a=a.offsetLeft+e.get(a,"width")/2-b/2;return a=Math.min(Math.max(a,c.min),c.max)},createSmoothScroll:function(a){if(0=b.max)}});g=p("dijit.layout._ScrollingTabControllerButtonMixin",null,{baseClass:"dijitTab tabStripButton",templateString:g, +tabIndex:"",isFocusable:function(){return!1}});p("dijit.layout._ScrollingTabControllerButton",[u,g]);p("dijit.layout._ScrollingTabControllerMenuButton",[u,v,g],{containerId:"",tabIndex:"-1",isLoaded:function(){return!1},loadDropDown:function(a){this.dropDown=new t({id:this.containerId+"_menu",ownerDocument:this.ownerDocument,dir:this.dir,lang:this.lang,textDir:this.textDir});var b=c.byId(this.containerId);f.forEach(b.getChildren(),function(a){var c=new w({id:a.id+"_stcMi",label:a.title,iconClass:a.iconClass, +disabled:a.disabled,ownerDocument:this.ownerDocument,dir:a.dir,lang:a.lang,textDir:a.textDir||b.textDir,onClick:function(){b.selectChild(a)}});this.dropDown.addChild(c)},this);a()},closeDropDown:function(a){this.inherited(arguments);this.dropDown&&(this._popupStateNode.removeAttribute("aria-owns"),this.dropDown.destroyRecursive(),delete this.dropDown)}});return l})},"dijit/place":function(){define("dojo/_base/array dojo/dom-geometry dojo/dom-style dojo/_base/kernel dojo/_base/window ./Viewport ./main".split(" "), +function(f,p,k,n,e,h,q){function d(a,b,l,g){var s=h.getEffectiveBox(a.ownerDocument);(!a.parentNode||"body"!=String(a.parentNode.tagName).toLowerCase())&&e.body(a.ownerDocument).appendChild(a);var r=null;f.some(b,function(b){var c=b.corner,m=b.pos,d=0,t={w:{L:s.l+s.w-m.x,R:m.x-s.l,M:s.w}[c.charAt(1)],h:{T:s.t+s.h-m.y,B:m.y-s.t,M:s.h}[c.charAt(0)]},e=a.style;e.left=e.right="auto";l&&(d=l(a,b.aroundCorner,c,t,g),d="undefined"==typeof d?0:d);var h=a.style,q=h.display,f=h.visibility;"none"==h.display&& +(h.visibility="hidden",h.display="");e=p.position(a);h.display=q;h.visibility=f;q={L:m.x,R:m.x-e.w,M:Math.max(s.l,Math.min(s.l+s.w,m.x+(e.w>>1))-e.w)}[c.charAt(1)];f={T:m.y,B:m.y-e.h,M:Math.max(s.t,Math.min(s.t+s.h,m.y+(e.h>>1))-e.h)}[c.charAt(0)];m=Math.max(s.l,q);h=Math.max(s.t,f);q=Math.min(s.l+s.w,q+e.w);f=Math.min(s.t+s.h,f+e.h);q-=m;f-=h;d+=e.w-q+(e.h-f);if(null==r||d>1)}[a.charAt(1)],y:{T:y,B:y+B,M:y+(B>>1)}[a.charAt(0)]}})}var m;if("string"==typeof b||"offsetWidth"in b||"ownerSVGElement"in b){if(m=p.position(b,!0),/^(above|below)/.test(l[0])){var t=p.getBorderExtents(b),e=b.firstChild?p.getBorderExtents(b.firstChild):{t:0,l:0,b:0,r:0},h=p.getBorderExtents(a),q=a.firstChild?p.getBorderExtents(a.firstChild):{t:0,l:0,b:0,r:0};m.y+=Math.min(t.t+e.t,h.t+q.t);m.h-= +Math.min(t.t+e.t,h.t+q.t)+Math.min(t.b+e.b,h.b+q.b)}}else m=b;if(b.parentNode){t="absolute"==k.getComputedStyle(b).position;for(b=b.parentNode;b&&1==b.nodeType&&"BODY"!=b.nodeName;){e=p.position(b,!0);h=k.getComputedStyle(b);/relative|absolute/.test(h.position)&&(t=!1);if(!t&&/hidden|auto|scroll/.test(h.overflow)){var q=Math.min(m.y+m.h,e.y+e.h),x=Math.min(m.x+m.w,e.x+e.w);m.x=Math.max(m.x,e.x);m.y=Math.max(m.y,e.y);m.h=q-m.y;m.w=x-m.x}"absolute"==h.position&&(t=!0);b=b.parentNode}}var z=m.x,y=m.y, +A="w"in m?m.w:m.w=m.width,B="h"in m?m.h:(n.deprecated("place.around: dijit/place.__Rectangle: { x:"+z+", y:"+y+", height:"+m.height+", width:"+A+" } has been deprecated. Please use { x:"+z+", y:"+y+", h:"+m.height+", w:"+A+" }","","2.0"),m.h=m.height),E=[];f.forEach(l,function(a){var b=g;switch(a){case "above-centered":r("TM","BM");break;case "below-centered":r("BM","TM");break;case "after-centered":b=!b;case "before-centered":r(b?"ML":"MR",b?"MR":"ML");break;case "after":b=!b;case "before":r(b? +"TL":"TR",b?"TR":"TL");r(b?"BL":"BR",b?"BR":"BL");break;case "below-alt":b=!b;case "below":r(b?"BL":"BR",b?"TL":"TR");r(b?"BR":"BL",b?"TR":"TL");break;case "above-alt":b=!b;case "above":r(b?"TL":"TR",b?"BL":"BR");r(b?"TR":"TL",b?"BR":"BL");break;default:r(a.aroundCorner,a.corner)}});a=d(a,E,s,{w:A,h:B});a.aroundNodePos=m;return a}}})},"dijit/_HasDropDown":function(){define("dojo/_base/declare dojo/_base/Deferred dojo/dom dojo/dom-attr dojo/dom-class dojo/dom-geometry dojo/dom-style dojo/has dojo/keys dojo/_base/lang dojo/on dojo/touch ./registry ./focus ./popup ./_FocusMixin".split(" "), +function(f,p,k,n,e,h,q,d,b,a,c,l,g,s,r,m){return f("dijit._HasDropDown",m,{_buttonNode:null,_arrowWrapperNode:null,_popupStateNode:null,_aroundNode:null,dropDown:null,autoWidth:!0,forceWidth:!1,maxHeight:-1,dropDownPosition:["below","above"],_stopClickEvents:!0,_onDropDownMouseDown:function(b){!this.disabled&&!this.readOnly&&("MSPointerDown"!=b.type&&"pointerdown"!=b.type&&b.preventDefault(),this.own(c.once(this.ownerDocument,l.release,a.hitch(this,"_onDropDownMouseUp"))),this.toggleDropDown())}, +_onDropDownMouseUp:function(a){var b=this.dropDown,c=!1;if(a&&this._opened){var m=h.position(this._buttonNode,!0);if(!(a.pageX>=m.x&&a.pageX<=m.x+m.w)||!(a.pageY>=m.y&&a.pageY<=m.y+m.h)){for(m=a.target;m&&!c;)e.contains(m,"dijitPopup")?c=!0:m=m.parentNode;if(c){m=a.target;if(b.onItemClick){for(var l;m&&!(l=g.byNode(m));)m=m.parentNode;if(l&&l.onClick&&l.getParent)l.getParent().onItemClick(l,a)}return}}}if(this._opened){if(b.focus&&(!1!==b.autoFocus||"mouseup"==a.type&&!this.hovering))this._focusDropDownTimer= +this.defer(function(){b.focus();delete this._focusDropDownTimer})}else this.focus&&this.defer("focus")},_onDropDownClick:function(a){this._stopClickEvents&&(a.stopPropagation(),a.preventDefault())},buildRendering:function(){this.inherited(arguments);this._buttonNode=this._buttonNode||this.focusNode||this.domNode;this._popupStateNode=this._popupStateNode||this.focusNode||this._buttonNode;var a={after:this.isLeftToRight()?"Right":"Left",before:this.isLeftToRight()?"Left":"Right",above:"Up",below:"Down", +left:"Left",right:"Right"}[this.dropDownPosition[0]]||this.dropDownPosition[0]||"Down";e.add(this._arrowWrapperNode||this._buttonNode,"dijit"+a+"ArrowButton")},postCreate:function(){this.inherited(arguments);var b=this.focusNode||this.domNode;this.own(c(this._buttonNode,l.press,a.hitch(this,"_onDropDownMouseDown")),c(this._buttonNode,"click",a.hitch(this,"_onDropDownClick")),c(b,"keydown",a.hitch(this,"_onKey")),c(b,"keyup",a.hitch(this,"_onKeyUp")))},destroy:function(){this._opened&&this.closeDropDown(!0); +this.dropDown&&(this.dropDown._destroyed||this.dropDown.destroyRecursive(),delete this.dropDown);this.inherited(arguments)},_onKey:function(a){if(!this.disabled&&!this.readOnly){var c=this.dropDown,g=a.target;if(c&&(this._opened&&c.handleKey)&&!1===c.handleKey(a))a.stopPropagation(),a.preventDefault();else if(c&&this._opened&&a.keyCode==b.ESCAPE)this.closeDropDown(),a.stopPropagation(),a.preventDefault();else if(!this._opened&&(a.keyCode==b.DOWN_ARROW||(a.keyCode==b.ENTER||a.keyCode==b.SPACE&&(!this._searchTimer|| +a.ctrlKey||a.altKey||a.metaKey))&&("input"!==(g.tagName||"").toLowerCase()||g.type&&"text"!==g.type.toLowerCase())))this._toggleOnKeyUp=!0,a.stopPropagation(),a.preventDefault()}},_onKeyUp:function(){if(this._toggleOnKeyUp){delete this._toggleOnKeyUp;this.toggleDropDown();var b=this.dropDown;b&&b.focus&&this.defer(a.hitch(b,"focus"),1)}},_onBlur:function(){this.closeDropDown(!1);this.inherited(arguments)},isLoaded:function(){return!0},loadDropDown:function(a){a()},loadAndOpenDropDown:function(){var b= +new p,c=a.hitch(this,function(){this.openDropDown();b.resolve(this.dropDown)});this.isLoaded()?c():this.loadDropDown(c);return b},toggleDropDown:function(){!this.disabled&&!this.readOnly&&(this._opened?this.closeDropDown(!0):this.loadAndOpenDropDown())},openDropDown:function(){var b=this.dropDown,c=b.domNode,g=this._aroundNode||this.domNode,m=this,l=r.open({parent:this,popup:b,around:g,orient:this.dropDownPosition,maxHeight:this.maxHeight,onExecute:function(){m.closeDropDown(!0)},onCancel:function(){m.closeDropDown(!0)}, +onClose:function(){n.set(m._popupStateNode,"popupActive",!1);e.remove(m._popupStateNode,"dijitHasDropDownOpen");m._set("_opened",!1)}});if(this.forceWidth||this.autoWidth&&g.offsetWidth>b._popupWrapper.offsetWidth){var g=g.offsetWidth-b._popupWrapper.offsetWidth,s={w:b.domNode.offsetWidth+g};this._origStyle=c.style.cssText;a.isFunction(b.resize)?b.resize(s):h.setMarginBox(c,s);"R"==l.corner[1]&&(b._popupWrapper.style.left=b._popupWrapper.style.left.replace("px","")-g+"px")}n.set(this._popupStateNode, +"popupActive","true");e.add(this._popupStateNode,"dijitHasDropDownOpen");this._set("_opened",!0);this._popupStateNode.setAttribute("aria-expanded","true");this._popupStateNode.setAttribute("aria-owns",b.id);"presentation"!==c.getAttribute("role")&&!c.getAttribute("aria-labelledby")&&c.setAttribute("aria-labelledby",this.id);return l},closeDropDown:function(a){this._focusDropDownTimer&&(this._focusDropDownTimer.remove(),delete this._focusDropDownTimer);this._opened&&(this._popupStateNode.setAttribute("aria-expanded", +"false"),a&&this.focus&&this.focus(),r.close(this.dropDown),this._opened=!1);this._origStyle&&(this.dropDown.domNode.style.cssText=this._origStyle,delete this._origStyle)}})})},"dijit/tree/TreeStoreModel":function(){define(["dojo/_base/array","dojo/aspect","dojo/_base/declare","dojo/_base/lang"],function(f,p,k,n){return k("dijit.tree.TreeStoreModel",null,{store:null,childrenAttrs:["children"],newItemIdAttr:"id",labelAttr:"",root:null,query:null,deferItemLoadingUntilExpand:!1,constructor:function(e){n.mixin(this, +e);this.connects=[];e=this.store;if(!e.getFeatures()["dojo.data.api.Identity"])throw Error("dijit.tree.TreeStoreModel: store must support dojo.data.Identity");e.getFeatures()["dojo.data.api.Notification"]&&(this.connects=this.connects.concat([p.after(e,"onNew",n.hitch(this,"onNewItem"),!0),p.after(e,"onDelete",n.hitch(this,"onDeleteItem"),!0),p.after(e,"onSet",n.hitch(this,"onSetItem"),!0)]))},destroy:function(){for(var e;e=this.connects.pop();)e.remove()},getRoot:function(e,h){this.root?e(this.root): +this.store.fetch({query:this.query,onComplete:n.hitch(this,function(h){if(1!=h.length)throw Error("dijit.tree.TreeStoreModel: root query returned "+h.length+" items, but must return exactly one");this.root=h[0];e(this.root)}),onError:h})},mayHaveChildren:function(e){return f.some(this.childrenAttrs,function(h){return this.store.hasAttribute(e,h)},this)},getChildren:function(e,h,q){var d=this.store;if(d.isItemLoaded(e)){for(var b=[],a=0;athis.passivePopupDelay&&(this.passive_hover_timer&&this.passive_hover_timer.remove(),this.passive_hover_timer=this.defer(function(){this.onItemClick(a,{type:"click"})},this.passivePopupDelay));this._hoveredChild=a;a._set("hovering",!0)},_onChildDeselect:function(a){this._stopPopupTimer();this.currentPopupItem==a&&(this._stopPendingCloseTimer(),this._pendingClose_timer=this.defer(function(){this.currentPopupItem= +this._pendingClose_timer=null;a._closePopup()},this.popupDelay))},onItemUnhover:function(a){this._hoveredChild==a&&(this._hoveredChild=null);this.passive_hover_timer&&(this.passive_hover_timer.remove(),this.passive_hover_timer=null);a._set("hovering",!1)},_stopPopupTimer:function(){this.hover_timer&&(this.hover_timer=this.hover_timer.remove())},_stopPendingCloseTimer:function(){this._pendingClose_timer&&(this._pendingClose_timer=this._pendingClose_timer.remove())},_getTopMenu:function(){for(var a= +this;a.parentMenu;a=a.parentMenu);return a},onItemClick:function(a,b){this.passive_hover_timer&&this.passive_hover_timer.remove();this.focusChild(a);if(a.disabled)return!1;if(a.popup){this.set("selected",a);this.set("activated",!0);var c=/^key/.test(b._origType||b.type)||0==b.clientX&&0==b.clientY;this._openItemPopup(a,c)}else this.onExecute(),a._onClick?a._onClick(b):a.onClick(b)},_openItemPopup:function(a,b){if(a!=this.currentPopupItem){this.currentPopupItem&&(this._stopPendingCloseTimer(),this.currentPopupItem._closePopup()); +this._stopPopupTimer();var c=a.popup;c.parentMenu=this;this.own(this._mouseoverHandle=d.once(c.domNode,"mouseover",h.hitch(this,"_onPopupHover")));var g=this;a._openPopup({parent:this,orient:this._orient||["after","before"],onCancel:function(){b&&g.focusChild(a);g._cleanUp()},onExecute:h.hitch(this,"_cleanUp",!0),onClose:function(){g._mouseoverHandle&&(g._mouseoverHandle.remove(),delete g._mouseoverHandle)}},b);this.currentPopupItem=a}},onOpen:function(){this.isShowingNow=!0;this.set("activated", +!0)},onClose:function(){this.set("activated",!1);this.set("selected",null);this.isShowingNow=!1;this.parentMenu=null},_closeChild:function(){this._stopPopupTimer();this.currentPopupItem&&(this.focused&&(n.set(this.selected.focusNode,"tabIndex",this.tabIndex),this.selected.focusNode.focus()),this.currentPopupItem._closePopup(),this.currentPopupItem=null)},_onItemFocus:function(a){if(this._hoveredChild&&this._hoveredChild!=a)this.onItemUnhover(this._hoveredChild);this.set("selected",a)},_onBlur:function(){this._cleanUp(!0); +this.inherited(arguments)},_cleanUp:function(a){this._closeChild();"undefined"==typeof this.isShowingNow&&this.set("activated",!1);a&&this.set("selected",null)}})})},"dojo/dom-prop":function(){define("exports ./_base/kernel ./sniff ./_base/lang ./dom ./dom-style ./dom-construct ./_base/connect".split(" "),function(f,p,k,n,e,h,q,d){function b(a){var c="";a=a.childNodes;for(var l=0,m;m=a[l];l++)8!=m.nodeType&&(c=1==m.nodeType?c+b(m):c+m.nodeValue);return c}var a={},c=1,l=p._scopeName+"attrid";k.add("dom-textContent", +function(a,b,c){return"textContent"in c});f.names={"class":"className","for":"htmlFor",tabindex:"tabIndex",readonly:"readOnly",colspan:"colSpan",frameborder:"frameBorder",rowspan:"rowSpan",textcontent:"textContent",valuetype:"valueType"};f.get=function(a,c){a=e.byId(a);var l=c.toLowerCase(),l=f.names[l]||c;return"textContent"==l&&!k("dom-textContent")?b(a):a[l]};f.set=function(b,s,r){b=e.byId(b);if(2==arguments.length&&"string"!=typeof s){for(var m in s)f.set(b,m,s[m]);return b}m=s.toLowerCase(); +m=f.names[m]||s;if("style"==m&&"string"!=typeof r)return h.set(b,r),b;if("innerHTML"==m)return k("ie")&&b.tagName.toLowerCase()in{col:1,colgroup:1,table:1,tbody:1,tfoot:1,thead:1,tr:1,title:1}?(q.empty(b),b.appendChild(q.toDom(r,b.ownerDocument))):b[m]=r,b;if("textContent"==m&&!k("dom-textContent"))return q.empty(b),b.appendChild(b.ownerDocument.createTextNode(r)),b;if(n.isFunction(r)){var t=b[l];t||(t=c++,b[l]=t);a[t]||(a[t]={});var w=a[t][m];if(w)d.disconnect(w);else try{delete b[m]}catch(u){}r? +a[t][m]=d.connect(b,m,r):b[m]=null;return b}b[m]=r;return b}})},"dojo/errors/CancelError":function(){define(["./create"],function(f){return f("CancelError",null,null,{dojoType:"cancel"})})},"dojo/_base/xhr":function(){define("./kernel ./sniff require ../io-query ../dom ../dom-form ./Deferred ./config ./json ./lang ./array ../on ../aspect ../request/watch ../request/xhr ../request/util".split(" "),function(f,p,k,n,e,h,q,d,b,a,c,l,g,s,r,m){f._xhrObj=r._create;var t=f.config;f.objectToQuery=n.objectToQuery; +f.queryToObject=n.queryToObject;f.fieldToObject=h.fieldToObject;f.formToObject=h.toObject;f.formToQuery=h.toQuery;f.formToJson=h.toJson;f._blockAsync=!1;var w=f._contentHandlers=f.contentHandlers={text:function(a){return a.responseText},json:function(a){return b.fromJson(a.responseText||null)},"json-comment-filtered":function(a){a=a.responseText;var c=a.indexOf("/*"),g=a.lastIndexOf("*/");if(-1==c||-1==g)throw Error("JSON was not comment filtered");return b.fromJson(a.substring(c+2,g))},javascript:function(a){return f.eval(a.responseText)}, +xml:function(a){var b=a.responseXML;b&&(p("dom-qsa2.1")&&!b.querySelectorAll&&p("dom-parser"))&&(b=(new DOMParser).parseFromString(a.responseText,"application/xml"));if(p("ie")&&(!b||!b.documentElement)){var g=function(a){return"MSXML"+a+".DOMDocument"},g=["Microsoft.XMLDOM",g(6),g(4),g(3),g(2)];c.some(g,function(c){try{var g=new ActiveXObject(c);g.async=!1;g.loadXML(a.responseText);b=g}catch(l){return!1}return!0})}return b},"json-comment-optional":function(a){return a.responseText&&/^[^{\[]*\/\*/.test(a.responseText)? +w["json-comment-filtered"](a):w.json(a)}};f._ioSetArgs=function(b,c,g,l){var m={args:b,url:b.url},d=null;if(b.form){var d=e.byId(b.form),s=d.getAttributeNode("action");m.url=m.url||(s?s.value:f.doc?f.doc.URL:null);d=h.toObject(d)}s=[{}];d&&s.push(d);b.content&&s.push(b.content);b.preventCache&&s.push({"dojo.preventCache":(new Date).valueOf()});m.query=n.objectToQuery(a.mixin.apply(null,s));m.handleAs=b.handleAs||"text";var r=new q(function(a){a.canceled=!0;c&&c(a);var b=a.ioArgs.error;b||(b=Error("request cancelled"), +b.dojoType="cancel",a.ioArgs.error=b);return b});r.addCallback(g);var u=b.load;u&&a.isFunction(u)&&r.addCallback(function(a){return u.call(b,a,m)});var w=b.error;w&&a.isFunction(w)&&r.addErrback(function(a){return w.call(b,a,m)});var k=b.handle;k&&a.isFunction(k)&&r.addBoth(function(a){return k.call(b,a,m)});r.addErrback(function(a){return l(a,r)});t.ioPublish&&(f.publish&&!1!==m.args.ioPublish)&&(r.addCallbacks(function(a){f.publish("/dojo/io/load",[r,a]);return a},function(a){f.publish("/dojo/io/error", +[r,a]);return a}),r.addBoth(function(a){f.publish("/dojo/io/done",[r,a]);return a}));r.ioArgs=m;return r};var u=function(a){a=w[a.ioArgs.handleAs](a.ioArgs.xhr);return void 0===a?null:a},v=function(a,b){b.ioArgs.args.failOk||console.error(a);return a},x=function(a){0>=z&&(z=0,t.ioPublish&&(f.publish&&(!a||a&&!1!==a.ioArgs.args.ioPublish))&&f.publish("/dojo/io/stop"))},z=0;g.after(s,"_onAction",function(){z-=1});g.after(s,"_onInFlight",x);f._ioCancelAll=s.cancelAll;f._ioNotifyStart=function(a){t.ioPublish&& +(f.publish&&!1!==a.ioArgs.args.ioPublish)&&(z||f.publish("/dojo/io/start"),z+=1,f.publish("/dojo/io/send",[a]))};f._ioWatch=function(b,c,g,m){b.ioArgs.options=b.ioArgs.args;a.mixin(b,{response:b.ioArgs,isValid:function(a){return c(b)},isReady:function(a){return g(b)},handleResponse:function(a){return m(b)}});s(b);x(b)};f._ioAddQueryToUrl=function(a){a.query.length&&(a.url+=(-1==a.url.indexOf("?")?"?":"\x26")+a.query,a.query=null)};f.xhr=function(a,b,c){var g,m=f._ioSetArgs(b,function(a){g&&g.cancel()}, +u,v),l=m.ioArgs;"postData"in b?l.query=b.postData:"putData"in b?l.query=b.putData:"rawBody"in b?l.query=b.rawBody:(2e.total&&d.count==e.length&&(a=!0):d.count==e.length&&(a=!0);this.nextButton.style.display=a?"":"none";k.set(this.nextButton,"id",this.id+"_next")},clearResultList:function(){for(var e=this.containerNode;2m.total)l=m.total;m.nextPage=function(g){c.direction=g=!1!==g;c.count=l;g?(c.start+=m.length,c.start>=m.total&&(c.count=0)):(c.start-=l,0>c.start&&(c.count=Math.max(l+c.start,0),c.start=0));0>=c.count?(m.length=0,b.onSearch(m,a,c)):s()};b.onSearch(m,a,c)})},function(a){b._fetchHandle=null;b._cancelingQuery|| +console.error(b.declaredClass+" "+a.toString())})};k.mixin(c,this.fetchProperties);this.store._oldAPI?g=l:(g=this._patternToRegExp(l),g.toString=function(){return l});this._lastQuery=a[this.searchAttr]=g;this._queryDeferHandle=this.defer(s,this.searchDelay)},constructor:function(){this.query={};this.fetchProperties={}},postMixInProperties:function(){if(!this.store){var d=this.list;d&&(this.store=q.byId(d))}this.inherited(arguments)}})})},"dojo/parser":function(){define("require ./_base/kernel ./_base/lang ./_base/array ./_base/config ./dom ./_base/window ./_base/url ./aspect ./promise/all ./date/stamp ./Deferred ./has ./query ./on ./ready".split(" "), +function(f,p,k,n,e,h,q,d,b,a,c,l,g,s,r,m){function t(a){return eval("("+a+")")}function w(a){var b=a._nameCaseMap,c=a.prototype;if(!b||b._extendCnt.*$/,""),x=n.map(q.split(/\s+/),function(a){var b=a.toLowerCase();return{name:a,value:"LI"==m.nodeName&&"value"==a||"enctype"==b?m.getAttribute(b):m.getAttributeNode(b).value}})); +var J=e.scope||p._scopeName;q="data-"+J+"-";var F={};"dojo"!==J&&(F[q+"props"]="data-dojo-props",F[q+"type"]="data-dojo-type",F[q+"mixins"]="data-dojo-mixins",F[J+"type"]="dojotype",F[q+"id"]="data-dojo-id");for(var D=0,C,J=[],P,N;C=x[D++];){var K=C.name,R=K.toLowerCase();C=C.value;switch(F[R]||R){case "data-dojo-type":case "dojotype":case "data-dojo-mixins":break;case "data-dojo-props":N=C;break;case "data-dojo-id":case "jsid":P=C;break;case "data-dojo-attach-point":case "dojoattachpoint":v.dojoAttachPoint= +C;break;case "data-dojo-attach-event":case "dojoattachevent":v.dojoAttachEvent=C;break;case "class":v["class"]=m.className;break;case "style":v.style=m.style&&m.style.cssText;break;default:if(K in u||(K=w(a)[R]||K),K in u)switch(typeof u[K]){case "string":v[K]=C;break;case "number":v[K]=C.length?Number(C):NaN;break;case "boolean":v[K]="false"!=C.toLowerCase();break;case "function":""===C||-1!=C.search(/[^\w\.]+/i)?v[K]=new Function(C):v[K]=k.getObject(C,!1)||new Function(C);J.push(K);break;default:R= +u[K],v[K]=R&&"length"in R?C?C.split(/\s*,\s*/):[]:R instanceof Date?""==C?new Date(""):"now"==C?new Date:c.fromISOString(C):R instanceof d?p.baseUrl+C:t(C)}else v[K]=C}}for(x=0;xh[0]&&q.setFullYear(h[0]||1970);var d=0,b=h[7]&&h[7].charAt(0);"Z"!=b&&(d=60*(h[8]||0)+(Number(h[9])||0),"-"!=b&&(d*=-1));b&&(d-=q.getTimezoneOffset());d&&q.setTime(q.getTime()+6E4*d)}return q};k.toISOString=function(f,e){var h=function(a){return 10>a?"0"+a:a};e=e||{};var q=[],d=e.zulu?"getUTC":"get",b="";"time"!=e.selector&&(b=f[d+"FullYear"](),b=["0000".substr((b+"").length)+b,h(f[d+"Month"]()+ +1),h(f[d+"Date"]())].join("-"));q.push(b);if("date"!=e.selector){b=[h(f[d+"Hours"]()),h(f[d+"Minutes"]()),h(f[d+"Seconds"]())].join(":");d=f[d+"Milliseconds"]();e.milliseconds&&(b+="."+(100>d?"0":"")+h(d));if(e.zulu)b+="Z";else if("time"!=e.selector)var d=f.getTimezoneOffset(),a=Math.abs(d),b=b+((0q.max&&(c=q.max);a&&c>>0;if("function"!=typeof f)throw new TypeError; +for(var e=0;e>>0;if("function"!=typeof f)throw new TypeError;for(var e=[],h=0;h>>0; +if("[object Function]"!=={}.toString.call(f))throw new TypeError(f+" is not a function");p&&(k=p);for(n=0;n>>0;if(0===k)return-1;var n=0;1=k)return-1;for(n=0<= +n?n:Math.max(k-Math.abs(n),0);n>>0;if(0===k)return-1;var n=k;1>>0;if("[object Function]"!={}.toString.call(f))throw new TypeError(f+" is not a function");p&&(k=p);n=Array(q);for(e=0;e>>0;if("function"!=typeof f)throw new TypeError;for(var e=0;ee){a.splice(d+1,0,{start:b,count:g-b});return}g>=m&&(b=Math.min(b,m),g=Math.max(g,e),a.splice(d,1))}a.unshift({start:b,count:g-b})}var b=0,a={track:function(){function a(){return function(){var a=this,b=this.inherited(arguments); +n(b,function(b){b=a._results=b.slice();a._partialResults&&(a._partialResults=null);a._ranges=[];d(a._ranges,0,b.length)});return b}}function l(){return function(a){var b=this,c=a.start,g=a.end,l=this.inherited(arguments);this._results||n(l,function(a){return n(a.totalLength,function(l){var m=b._partialResults||(b._partialResults=[]);g=Math.min(g,c+a.length);m.length=l;l=[c,g-c].concat(a);m.splice.apply(m,l);d(b._ranges,c,g);return a})});return l}}function g(a,c){b++;var g=c.target;c=f.delegate(c, +v[a]);n(w._results||w._partialResults,function(b){if(b){var l,d,m,r=w._ranges,t,q="id"in c?c.id:e.getIdentity(g),f=-1,n=-1,k=-1,p=-1;if("delete"===a||"update"===a)for(l=0;-1===f&&l=Math.max(0,t.start-1)&&f<=t.start+t.count?f:e.defaultNewToStart?0:n.length),n.splice(d,0,g),q=h.indexOf(u(n),g),N=t.start+q,0===q&&0!==t.start?m=l-1:q>=n.length-1&&N=m)c.splice(g,1);else{l.start=b;l.count=m-l.start;break a}else if(ad){c.splice(g,1,{start:d,count:a-d},{start:b,count:m-b});break a}else l.count=a-l.start}for(c=a;cc.value.length&&(c.value=b,a.selectInputText(c,d))):(c.value=b,a.selectInputText(c))},_openResultList:function(a,b,c){var d=this.dropDown.getHighlightedOption();this.dropDown.clearResultList();!a.length&&0==c.start?this.closeDropDown():(this._nextSearch=this.dropDown.onPage=e.hitch(this,function(b){a.nextPage(-1!== +b);this.focus()}),this.dropDown.createOptions(a,c,e.hitch(this,"_getMenuLabelFromItem")),this._showResultList(),"direction"in c?(c.direction?this.dropDown.highlightFirstOption():c.direction||this.dropDown.highlightLastOption(),d&&this._announceOption(this.dropDown.getHighlightedOption())):this.autoComplete&&(!this._prev_key_backspace&&!/^[*]+$/.test(b[this.searchAttr].toString()))&&this._announceOption(this.dropDown.containerNode.firstChild.nextSibling))},_showResultList:function(){this.closeDropDown(!0); +this.openDropDown();this.domNode.setAttribute("aria-expanded","true")},loadDropDown:function(){this._startSearchAll()},isLoaded:function(){return!1},closeDropDown:function(){this._abortQuery();this._opened&&(this.inherited(arguments),this.domNode.setAttribute("aria-expanded","false"))},_setBlurValue:function(){var a=this.get("displayedValue"),b=this.dropDown;b&&(a==b._messages.previousMessage||a==b._messages.nextMessage)?this._setValueAttr(this._lastValueReported,!0):"undefined"==typeof this.item? +(this.item=null,this.set("displayedValue",a)):(this.value!=this._lastValueReported&&this._handleOnChange(this.value,!0),this._refreshState());this.focusNode.removeAttribute("aria-activedescendant")},_setItemAttr:function(a,b,c){var d="";a&&(c||(c=this.store._oldAPI?this.store.getValue(a,this.searchAttr):a[this.searchAttr]),d=this._getValueField()!=this.searchAttr?this.store.getIdentity(a):c);this.set("value",d,b,c,a)},_announceOption:function(a){if(a){var b;if(a==this.dropDown.nextButton||a==this.dropDown.previousButton)b= +a.innerHTML,this.item=void 0,this.value="";else{var c=this.dropDown.items[a.getAttribute("item")];b=(this.store._oldAPI?this.store.getValue(c,this.searchAttr):c[this.searchAttr]).toString();this.set("item",c,!1,b)}this.focusNode.value=this.focusNode.value.substring(0,this._lastInput.length);this.focusNode.setAttribute("aria-activedescendant",k.get(a,"id"));this._autoCompleteText(b)}},_selectOption:function(a){this.closeDropDown();a&&this._announceOption(a);this._setCaretPos(this.focusNode,this.focusNode.value.length); +this._handleOnChange(this.value,!0);this.focusNode.removeAttribute("aria-activedescendant")},_startSearchAll:function(){this._startSearch("")},_startSearchFromInput:function(){this.item=void 0;this.inherited(arguments)},_startSearch:function(a){if(!this.dropDown){var b=this.id+"_popup";this.dropDown=new (e.isString(this.dropDownClass)?e.getObject(this.dropDownClass,!1):this.dropDownClass)({onChange:e.hitch(this,this._selectOption),id:b,dir:this.dir,textDir:this.textDir})}this._lastInput=a;this.inherited(arguments)}, +_getValueField:function(){return this.searchAttr},postMixInProperties:function(){this.inherited(arguments);if(!this.store&&this.srcNodeRef&&(this.store=new b({},this.srcNodeRef),!("value"in this.params))){var a=this.item=this.store.fetchSelectedItem();if(a){var c=this._getValueField();this.value=this.store._oldAPI?this.store.getValue(a,c):a[c]}}},postCreate:function(){var a=h('label[for\x3d"'+this.id+'"]');a.length&&(a[0].id||(a[0].id=this.id+"_label"),this.domNode.setAttribute("aria-labelledby", +a[0].id));this.inherited(arguments);f.after(this,"onSearch",e.hitch(this,"_openResultList"),!0)},_getMenuLabelFromItem:function(a){a=this.labelFunc(a,this.store);var b=this.labelType;"none"!=this.highlightMatch&&("text"==this.labelType&&this._lastInput)&&(a=this.doHighlight(a,this._lastInput),b="html");return{html:"html"==b,label:a}},doHighlight:function(a,b){var c=(this.ignoreCase?"i":"")+("all"==this.highlightMatch?"g":""),d=this.queryExpr.indexOf("${0}");b=q.escapeString(b);return this._escapeHtml(a.replace(RegExp((0== +d?"^":"")+"("+b+")"+(d==this.queryExpr.length-4?"$":""),c),"\uffff$1\uffff")).replace(/\uFFFF([^\uFFFF]+)\uFFFF/g,'\x3cspan class\x3d"dijitComboBoxHighlightMatch"\x3e$1\x3c/span\x3e')},_escapeHtml:function(a){return a=String(a).replace(/&/gm,"\x26amp;").replace(//gm,"\x26gt;").replace(/"/gm,"\x26quot;")},reset:function(){this.item=null;this.inherited(arguments)},labelFunc:function(a,b){return(b._oldAPI?b.getValue(a,this.labelAttr||this.searchAttr):a[this.labelAttr||this.searchAttr]).toString()}, +_setValueAttr:function(a,b,c,d){this._set("item",d||null);null==a&&(a="");this.inherited(arguments)}});d("dojo-bidi")&&p.extend({_setTextDirAttr:function(a){this.inherited(arguments);this.dropDown&&this.dropDown._set("textDir",a)}});return p})},"dijit/form/MappedTextBox":function(){define(["dojo/_base/declare","dojo/sniff","dojo/dom-construct","./ValidationTextBox"],function(f,p,k,n){return f("dijit.form.MappedTextBox",n,{postMixInProperties:function(){this.inherited(arguments);this.nameAttrSetting= +""},_setNameAttr:"valueNode",serialize:function(e){return e.toString?e.toString():""},toString:function(){var e=this.filter(this.get("value"));return null!=e?"string"==typeof e?e:this.serialize(e,this.constraints):""},validate:function(){this.valueNode.value=this.toString();return this.inherited(arguments)},buildRendering:function(){this.inherited(arguments);this.valueNode=k.place("\x3cinput type\x3d'hidden'"+(this.name&&!p("msapp")?' name\x3d"'+this.name.replace(/"/g,"\x26quot;")+'"':"")+"/\x3e", +this.textbox,"after")},reset:function(){this.valueNode.value="";this.inherited(arguments)}})})},"cbtree/store/Hierarchy":function(){define("module dojo/_base/declare dojo/_base/lang dojo/store/util/QueryResults ./Natural ../errors/createError!../errors/CBTErrors.json".split(" "),function(f,p,k,n,e,h){var q=h(f.id);return p([e],{indexChildren:!0,multiParented:"auto",parentProperty:"parent",hierarchical:!0,_indexParent:{},_indexChild:{},constructor:function(){this.indexChildren=this._indexStore?this.indexChildren: +!1},destroy:function(){this._indexParent={};this._indexChild={};this.inherited(arguments)},_getParentArray:function(d){d=d[this.parentProperty];return void 0!=d?this.multiParented?d:[d]:[]},_getParentIds:function(d,b){var a=[];b&&(b=b instanceof Array?b:[b],b.forEach(function(b){switch(typeof b){case "object":b=this.getIdentity(b);case "string":case "number":void 0!=b&&b!=d&&-1==a.indexOf(b)&&a.push(b);break;default:throw new q("InvalidType","_getParentId");}},this));return a},_loadData:function(d){this._indexParent= +{};this._indexChild={};d instanceof Array&&"auto"==this.multiParented&&(this.multiParented=d.some(function(b){return b[this.parentProperty]instanceof Array},this));this.inherited(arguments)},_parentIdsChanged:function(d,b){return d.length==b.length?!b.every(function(a){return-1!=d.indexOf(a)}):!0},_setParentType:function(d){!0===this.multiParented?d instanceof Array||(d=d?[d]:[]):!1===this.multiParented?d instanceof Array&&(d=d.length?d[0]:void 0):"auto"===this.multiParented&&(this.multiParented= +d instanceof Array);return d},_updateHierarchy:function(d,b,a){if(this.indexChildren){a=this.getIdentity(d);var c=this._indexParent[a]||[],l=this._getParentArray(d),g=this._parentIdsChanged(l,c);g&&c.forEach(function(a){if(-1==l.indexOf(a)){var b=this._indexChild[a],c=b.indexOf(d);-1=b||48<=b&&57>=b||b==e.SPACE)return;b=!1;for(var l in e)if(e[l]===a.keyCode){b=!0;break}if(!b)return}}(b=32<=a.charCode?String.fromCharCode(a.charCode):a.charCode)||(b=65<=a.keyCode&& +90>=a.keyCode||48<=a.keyCode&&57>=a.keyCode||a.keyCode==e.SPACE?String.fromCharCode(a.keyCode):a.keyCode);b||(b=229);if("keypress"==a.type){if("string"!=typeof b)return;if("a"<=b&&"z">=b||"A"<=b&&"Z">=b||"0"<=b&&"9">=b||" "===b)if(a.ctrlKey||a.metaKey||a.altKey)return}var g={faux:!0},d;for(d in a)/^(layer[XY]|returnValue|keyLocation)$/.test(d)||(l=a[d],"function"!=typeof l&&"undefined"!=typeof l&&(g[d]=l));h.mixin(g,{charOrCode:b,_wasConsumed:!1,preventDefault:function(){g._wasConsumed=!0;a.preventDefault()}, +stopPropagation:function(){a.stopPropagation()}});this._lastInputProducingEvent=g;!1===this.onInput(g)&&(g.preventDefault(),g.stopPropagation());if(!g._wasConsumed&&9>=n("ie"))switch(a.keyCode){case e.TAB:case e.ESCAPE:case e.DOWN_ARROW:case e.UP_ARROW:case e.LEFT_ARROW:case e.RIGHT_ARROW:break;default:if(a.keyCode==e.ENTER&&"textarea"!=this.textbox.tagName.toLowerCase())break;this.defer(function(){this.textbox.value!==this._lastInputEventValue&&q.emit(this.textbox,"input",{bubbles:!0})})}})),q(this.textbox, +"input",h.hitch(this,"_onInput")),q(this.domNode,"keypress",function(a){a.stopPropagation()}))},_blankValue:"",filter:function(a){if(null===a)return this._blankValue;if("string"!=typeof a)return a;this.trim&&(a=h.trim(a));this.uppercase&&(a=a.toUpperCase());this.lowercase&&(a=a.toLowerCase());this.propercase&&(a=a.replace(/[^\s]+/g,function(a){return a.substring(0,1).toUpperCase()+a.substring(1)}));return a},_setBlurValue:function(){this._setValueAttr(this.get("value"),!0)},_onBlur:function(a){this.disabled|| +(this._setBlurValue(),this.inherited(arguments))},_isTextSelected:function(){return this.textbox.selectionStart!=this.textbox.selectionEnd},_onFocus:function(a){!this.disabled&&!this.readOnly&&(this.selectOnClick&&"mouse"==a&&(this._selectOnClickHandle=q.once(this.domNode,"mouseup, touchend",h.hitch(this,function(a){this._isTextSelected()||b.selectInputText(this.textbox)})),this.own(this._selectOnClickHandle),this.defer(function(){this._selectOnClickHandle&&(this._selectOnClickHandle.remove(),this._selectOnClickHandle= +null)},500)),this.inherited(arguments),this._refreshState())},reset:function(){this.textbox.value="";this.inherited(arguments)}});n("dojo-bidi")&&(b=p("dijit.form._TextBoxMixin",b,{_setValueAttr:function(){this.inherited(arguments);this.applyTextDir(this.focusNode)},_setDisplayedValueAttr:function(){this.inherited(arguments);this.applyTextDir(this.focusNode)},_onInput:function(){this.applyTextDir(this.focusNode);this.inherited(arguments)}}));b._setSelectionRange=d._setSelectionRange=function(a,b, +l){a.setSelectionRange&&a.setSelectionRange(b,l)};b.selectInputText=d.selectInputText=function(a,c,l){a=k.byId(a);isNaN(c)&&(c=0);isNaN(l)&&(l=a.value?a.value.length:0);try{a.focus(),b._setSelectionRange(a,c,l)}catch(g){}};return b})},"dojo/Evented":function(){define(["./aspect","./on"],function(f,p){function k(){}var n=f.after;k.prototype={on:function(e,h){return p.parse(this,e,h,function(e,d){return n(e,"on"+d,h,!0)})},emit:function(e,h){var q=[this];q.push.apply(q,arguments);return p.emit.apply(p, +q)}};return k})},"dijit/form/SimpleTextarea":function(){define(["dojo/_base/declare","dojo/dom-class","dojo/sniff","./TextBox"],function(f,p,k,n){return f("dijit.form.SimpleTextarea",n,{baseClass:"dijitTextBox dijitTextArea",rows:"3",cols:"20",templateString:"\x3ctextarea ${!nameAttrSetting} data-dojo-attach-point\x3d'focusNode,containerNode,textbox' autocomplete\x3d'off'\x3e\x3c/textarea\x3e",postMixInProperties:function(){!this.value&&this.srcNodeRef&&(this.value=this.srcNodeRef.value);this.inherited(arguments)}, +buildRendering:function(){this.inherited(arguments);k("ie")&&this.cols&&p.add(this.textbox,"dijitTextAreaCols")},filter:function(e){e&&(e=e.replace(/\r/g,""));return this.inherited(arguments)},_onInput:function(e){if(this.maxLength){var h=parseInt(this.maxLength),q=this.textbox.value.replace(/\r/g,""),h=q.length-h;if(0=e("ie")?d.outerHTML="":q.body().removeChild(d)}}); +h(function(){e("highcontrast")&&k.add(q.body(),"dj_a11y")});return e})},"dijit/form/RadioButton":function(){define(["dojo/_base/declare","./CheckBox","./_RadioButtonMixin"],function(f,p,k){return f("dijit.form.RadioButton",[p,k],{baseClass:"dijitRadio"})})},"dojo/aspect":function(){define([],function(){function f(e,d,b,a){var c=e[d],l="around"==d,g;if(l){var s=b(function(){return c.advice(this,arguments)});g={remove:function(){s&&(s=e=b=null)},advice:function(a,b){return s?s.apply(a,b):c.advice(a, +b)}}}else g={remove:function(){if(g.advice){var a=g.previous,c=g.next;!c&&!a?delete e[d]:(a?a.next=c:e[d]=c,c&&(c.previous=a));e=b=g.advice=null}},id:e.nextId++,advice:b,receiveArguments:a};if(c&&!l)if("after"==d){for(;c.next&&(c=c.next););c.next=g;g.previous=c}else"before"==d&&(e[d]=g,g.next=c,c.previous=g);else e[d]=g;return g}function p(e){return function(d,b,a,c){var l=d[b],g;if(!l||l.target!=d)d[b]=g=function(){for(var a=g.nextId,b=arguments,c=g.before;c;)c.advice&&(b=c.advice.apply(this,b)|| +b),c=c.next;if(g.around)var l=g.around.advice(this,b);for(c=g.after;c&&c.idh},gte:function(e,h){return e>=h},match:function(e,h,f){return h.test(e,f)},contains:function(e, +h,f,d){var b=this;return p.every(h.data||h,function(a){if("object"===typeof a&&a.type){var c=b._getFilterComparator(a.type);return p.some(e,function(l){return c.call(b,l,a.args[1],f,d)})}return-1c&&null!==c)?-1:1}if(0!==c)return c}return 0});return f}}})})},"dojo/errors/create":function(){define(["../_base/lang"],function(f){return function(p,k,n,e){n=n||Error;var h=function(e){if(n===Error){Error.captureStackTrace&&Error.captureStackTrace(this,h);var d=Error.call(this,e),b;for(b in d)d.hasOwnProperty(b)&&(this[b]=d[b]);this.message=e;this.stack=d.stack}else n.apply(this,arguments);k&&k.apply(this,arguments)};h.prototype=f.delegate(n.prototype, +e);h.prototype.name=p;return h.prototype.constructor=h}})},"dstore/Promised":function(){define(["dojo/_base/declare","dojo/Deferred","./QueryResults","dojo/when"],function(f,p,k,n){function e(e,f){return function(){var d=new p;try{d.resolve(this[e].apply(this,arguments))}catch(b){d.reject(b)}return f?(d=new k(d.promise),d.totalLength=n(d.totalLength),d):d.promise}}return f(null,{get:e("getSync"),put:e("putSync"),add:e("addSync"),remove:e("removeSync"),fetch:e("fetchSync",!0),fetchRange:e("fetchRangeSync", +!0)})})},"dijit/_OnDijitClickMixin":function(){define("dojo/on dojo/_base/array dojo/keys dojo/_base/declare dojo/has ./a11yclick".split(" "),function(f,p,k,n,e,h){f=n("dijit._OnDijitClickMixin",null,{connect:function(e,d,b){return this.inherited(arguments,[e,"ondijitclick"==d?h:d,b])}});f.a11yclick=h;return f})},"dojo/dnd/autoscroll":function(){define("../_base/lang ../sniff ../_base/window ../dom-geometry ../dom-style ../window".split(" "),function(f,p,k,n,e,h){var q={};f.setObject("dojo.dnd.autoscroll", +q);q.getViewport=h.getBox;q.V_TRIGGER_AUTOSCROLL=32;q.H_TRIGGER_AUTOSCROLL=32;q.V_AUTOSCROLL_VALUE=16;q.H_AUTOSCROLL_VALUE=16;var d,b=k.doc,a=Infinity,c=Infinity;q.autoScrollStart=function(l){b=l;d=h.getBox(b);l=k.body(b).parentNode;a=Math.max(l.scrollHeight-d.h,0);c=Math.max(l.scrollWidth-d.w,0)};q.autoScroll=function(l){var g=d||h.getBox(b),e=k.body(b).parentNode,r=0,m=0;l.clientXg.w-q.H_TRIGGER_AUTOSCROLL&&(r=Math.min(q.H_AUTOSCROLL_VALUE, +c-e.scrollLeft));l.clientYg.h-q.V_TRIGGER_AUTOSCROLL&&(m=Math.min(q.V_AUTOSCROLL_VALUE,a-e.scrollTop));window.scrollBy(r,m)};q._validNodes={div:1,p:1,td:1};q._validOverflow={auto:1,scroll:1};q.autoScrollNodes=function(a){for(var b,c,d,m,h,f,u=0,v=0,x=a.target;x;){if(1==x.nodeType&&x.tagName.toLowerCase()in q._validNodes){d=e.getComputedStyle(x);m=d.overflow.toLowerCase()in q._validOverflow;h=d.overflowX.toLowerCase()in q._validOverflow;f=d.overflowY.toLowerCase()in +q._validOverflow;if(m||h||f)b=n.getContentBox(x,d),c=n.position(x,!0);if(m||h){d=Math.min(q.H_TRIGGER_AUTOSCROLL,b.w/2);h=a.pageX-c.x;if(p("webkit")||p("opera"))h+=k.body().scrollLeft;u=0;0b.w-d&&(u=d),x.scrollLeft+=u)}if(m||f){m=Math.min(q.V_TRIGGER_AUTOSCROLL,b.h/2);f=a.pageY-c.y;if(p("webkit")||p("opera"))f+=k.body().scrollTop;v=0;0b.h-m&&(v=m),x.scrollTop+=v)}if(u||v)return}try{x=x.parentNode}catch(z){x=null}}q.autoScroll(a)};return q})},"dijit/form/_RadioButtonMixin":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-attr dojo/_base/lang dojo/query!css2 ../registry".split(" "), +function(f,p,k,n,e,h){return p("dijit.form._RadioButtonMixin",null,{type:"radio",_getRelatedWidgets:function(){var f=[];e("input[type\x3dradio]",this.focusNode.form||this.ownerDocument).forEach(n.hitch(this,function(d){d.name==this.name&&d.form==this.focusNode.form&&(d=h.getEnclosingWidget(d))&&f.push(d)}));return f},_setCheckedAttr:function(e){this.inherited(arguments);this._created&&e&&f.forEach(this._getRelatedWidgets(),n.hitch(this,function(d){d!=this&&d.checked&&d.set("checked",!1)}))},_getSubmitValue:function(e){return null== +e?"on":e},_onClick:function(e){if(this.checked||this.disabled)return e.stopPropagation(),e.preventDefault(),!1;if(this.readOnly)return e.stopPropagation(),e.preventDefault(),f.forEach(this._getRelatedWidgets(),n.hitch(this,function(a){k.set(this.focusNode||this.domNode,"checked",a.checked)})),!1;var d=!1,b;f.some(this._getRelatedWidgets(),function(a){return a.checked?(b=a,!0):!1});this.checked=!0;b&&(b.checked=!1);if(!1===this.onClick(e)||e.defaultPrevented)d=!0;this.checked=!1;b&&(b.checked=!0); +d?e.preventDefault():this.set("checked",!0);return!d}})})},"dojo/data/ItemFileWriteStore":function(){define("../_base/lang ../_base/declare ../_base/array ../_base/json ../_base/kernel ./ItemFileReadStore ../date/stamp".split(" "),function(f,p,k,n,e,h,q){return p("dojo.data.ItemFileWriteStore",h,{constructor:function(d){this._features["dojo.data.api.Write"]=!0;this._features["dojo.data.api.Notification"]=!0;this._pending={_newItems:{},_modifiedItems:{},_deletedItems:{}};this._datatypeMap.Date.serialize|| +(this._datatypeMap.Date.serialize=function(b){return q.toISOString(b,{zulu:!0})});d&&!1===d.referenceIntegrity&&(this.referenceIntegrity=!1);this._saveInProgress=!1},referenceIntegrity:!0,_assert:function(d){if(!d)throw Error("assertion failed in ItemFileWriteStore");},_getIdentifierAttribute:function(){return this.getFeatures()["dojo.data.api.Identity"]},newItem:function(d,b){this._assert(!this._saveInProgress);this._loadFinished||this._forceLoad();if("object"!=typeof d&&"undefined"!=typeof d)throw Error("newItem() was passed something other than an object"); +var a=null,c=this._getIdentifierAttribute();if(c===Number)a=this._arrayOfAllItems.length;else{a=d[c];if("undefined"===typeof a)throw Error("newItem() was not passed an identity for the new item");if(f.isArray(a))throw Error("newItem() was not passed an single-valued identity");}this._itemsByIdentity&&this._assert("undefined"===typeof this._itemsByIdentity[a]);this._assert("undefined"===typeof this._pending._newItems[a]);this._assert("undefined"===typeof this._pending._deletedItems[a]);var l={};l[this._storeRefPropName]= +this;l[this._itemNumPropName]=this._arrayOfAllItems.length;this._itemsByIdentity&&(this._itemsByIdentity[a]=l,l[c]=[a]);this._arrayOfAllItems.push(l);c=null;if(b&&b.parent&&b.attribute){var c={item:b.parent,attribute:b.attribute,oldValue:void 0},g=this.getValues(b.parent,b.attribute);if(g&&0w.indexOf(p))){q=p;k=s;(r||!a)&&g.splice(s,1);break}}}if(r){if(a&&(r.matches?r.matches(a):r([a]).length))s=-1c.indexOf(" "+e+" ")&&(c+=e+" ");lthis._cancelDrag&&(this._isDragging=!1),this._cancelDrag= +null);this._hoveredNode=h;this.onHover(h);this._isDragging&&this._setSelectedAttr(h,!1)}})})},"cbtree/model/_base/Prologue":function(){define([],function(){return function(f,p){if(p&&p.parent&&!0!==this.hierarchical){var k=this.parentProperty,n=this.getIdentity(f),e=p.parent,h,q=[],d;if(e instanceof Array)for(d=0;dn.attributes.length);k.clearElement=function(e){e.innerHTML="";return e};k.normalize=function(e,h){var f=e.match(/[\?:]|[^:\?]*/g),d=0,b=function(a){var c=f[d++];if(":"==c)return 0;if("?"==f[d++]){if(!a&&k(c))return b();b(!0);return b(a)}return c||0};return(e=b())&&h(e)};k.load=function(e,h,f){e?h([e],f):f()};return k})},"dojo/cookie":function(){define(["./_base/kernel", +"./regexp"],function(f,p){f.cookie=function(f,n,e){var h=document.cookie,q;if(1==arguments.length)q=(q=h.match(RegExp("(?:^|; )"+p.escapeString(f)+"\x3d([^;]*)")))?decodeURIComponent(q[1]):void 0;else{e=e||{};h=e.expires;if("number"==typeof h){var d=new Date;d.setTime(d.getTime()+864E5*h);h=e.expires=d}h&&h.toUTCString&&(e.expires=h.toUTCString());n=encodeURIComponent(n);var h=f+"\x3d"+n,b;for(b in e)h+="; "+b,d=e[b],!0!==d&&(h+="\x3d"+d);document.cookie=h}return q};f.cookie.isSupported=function(){"cookieEnabled"in +navigator||(this("__djCookieTest__","CookiesAllowed"),navigator.cookieEnabled="CookiesAllowed"==this("__djCookieTest__"),navigator.cookieEnabled&&this("__djCookieTest__","",{expires:-1}));return navigator.cookieEnabled};return f.cookie})},"dojo/cache":function(){define(["./_base/kernel","./text"],function(f){return f.cache})},"dijit/ProgressBar":function(){define("require dojo/_base/declare dojo/dom-class dojo/_base/lang dojo/number ./_Widget ./_TemplatedMixin dojo/text!./templates/ProgressBar.html".split(" "), +function(f,p,k,n,e,h,q,d){return p("dijit.ProgressBar",[h,q],{progress:"0",value:"",maximum:100,places:0,indeterminate:!1,label:"",name:"",templateString:d,_indeterminateHighContrastImagePath:f.toUrl("./themes/a11y/indeterminate_progress.gif"),postMixInProperties:function(){this.inherited(arguments);this.params&&"value"in this.params||(this.value=this.indeterminate?Infinity:this.progress)},buildRendering:function(){this.inherited(arguments);this.indeterminateHighContrastImage.setAttribute("src",this._indeterminateHighContrastImagePath.toString()); +this.update()},_setDirAttr:function(b){var a="rtl"==b.toLowerCase();k.toggle(this.domNode,"dijitProgressBarRtl",a);k.toggle(this.domNode,"dijitProgressBarIndeterminateRtl",this.indeterminate&&a);this.inherited(arguments)},update:function(b){n.mixin(this,b||{});b=this.internalProgress;var a=this.domNode,c=1;this.indeterminate?a.removeAttribute("aria-valuenow"):(-1!=String(this.progress).indexOf("%")?(c=Math.min(parseFloat(this.progress)/100,1),this.progress=c*this.maximum):(this.progress=Math.min(this.progress, +this.maximum),c=this.maximum?this.progress/this.maximum:0),a.setAttribute("aria-valuenow",this.progress));a.setAttribute("aria-labelledby",this.labelNode.id);a.setAttribute("aria-valuemin",0);a.setAttribute("aria-valuemax",this.maximum);this.labelNode.innerHTML=this.report(c);k.toggle(this.domNode,"dijitProgressBarIndeterminate",this.indeterminate);k.toggle(this.domNode,"dijitProgressBarIndeterminateRtl",this.indeterminate&&!this.isLeftToRight());b.style.width=100*c+"%";this.onChange()},_setValueAttr:function(b){this._set("value", +b);Infinity==b?this.update({indeterminate:!0}):this.update({indeterminate:!1,progress:b})},_setLabelAttr:function(b){this._set("label",b);this.update()},_setIndeterminateAttr:function(b){this._set("indeterminate",b);this.update()},report:function(b){return this.label?this.label:this.indeterminate?"\x26#160;":e.format(b,{type:"percent",places:this.places,locale:this.lang})},onChange:function(){}})})},"dijit/_base/popup":function(){define(["dojo/dom-class","dojo/_base/window","../popup","../BackgroundIframe"], +function(f,p,k){var n=k._createWrapper;k._createWrapper=function(e){e.declaredClass||(e={_popupWrapper:e.parentNode&&f.contains(e.parentNode,"dijitPopup")?e.parentNode:null,domNode:e,destroy:function(){},ownerDocument:e.ownerDocument,ownerDocumentBody:p.body(e.ownerDocument)});return n.call(this,e)};var e=k.open;k.open=function(h){if(h.orient&&"string"!=typeof h.orient&&!("length"in h.orient)){var f=[],d;for(d in h.orient)f.push({aroundCorner:d,corner:h.orient[d]});h.orient=f}return e.call(this,h)}; +return k})},"dojo/request/util":function(){define("exports ../errors/RequestError ../errors/CancelError ../Deferred ../io-query ../_base/array ../_base/lang ../promise/Promise".split(" "),function(f,p,k,n,e,h,q,d){function b(a){return c(a)}function a(a){return void 0!==a.data?a.data:a.text}f.deepCopy=function(a,b){for(var c in b){var d=a[c],e=b[c];d!==e&&(d&&"object"===typeof d&&e&&"object"===typeof e?f.deepCopy(d,e):a[c]=e)}return a};f.deepCreate=function(a,b){b=b||{};var c=q.delegate(a),d,e;for(d in a)(e= +a[d])&&"object"===typeof e&&(c[d]=f.deepCreate(e,b[d]));return f.deepCopy(c,b)};var c=Object.freeze||function(a){return a};f.deferred=function(l,g,e,r,m,h){var w=new n(function(a){g&&g(w,l);return!a||!(a instanceof p)&&!(a instanceof k)?new k("Request canceled",l):a});w.response=l;w.isValid=e;w.isReady=r;w.handleResponse=m;e=w.then(b).otherwise(function(a){a.response=l;throw a;});f.notify&&e.then(q.hitch(f.notify,"emit","load"),q.hitch(f.notify,"emit","error"));r=e.then(a);m=new d;for(var u in r)r.hasOwnProperty(u)&& +(m[u]=r[u]);m.response=e;c(m);h&&w.then(function(a){h.call(w,a)},function(a){h.call(w,l,a)});w.promise=m;w.then=m.then;return w};f.addCommonMethods=function(a,b){h.forEach(b||["GET","POST","PUT","DELETE"],function(b){a[("DELETE"===b?"DEL":b).toLowerCase()]=function(c,g){g=q.delegate(g||{});g.method=b;return a(c,g)}})};f.parseArgs=function(a,b,c){var d=b.data,m=b.query;if(d&&!c&&"object"===typeof d&&!(d instanceof ArrayBuffer||d instanceof Blob))b.data=e.objectToQuery(d);m?("object"===typeof m&&(m= +e.objectToQuery(m)),b.preventCache&&(m+=(m?"\x26":"")+"request.preventCache\x3d"+ +new Date)):b.preventCache&&(m="request.preventCache\x3d"+ +new Date);a&&m&&(a+=(~a.indexOf("?")?"\x26":"?")+m);return{url:a,options:b,getHeader:function(a){return null}}};f.checkStatus=function(a){a=a||0;return 200<=a&&300>a||304===a||1223===a||!a}})},"dojo/promise/all":function(){define(["../_base/array","../Deferred","../when"],function(f,p,k){var n=f.some;return function(e){var h,f;e instanceof Array?f=e:e&&"object"=== +typeof e&&(h=e);var d,b=[];if(h){f=[];for(var a in h)Object.hasOwnProperty.call(h,a)&&(b.push(a),f.push(h[a]));d={}}else f&&(d=[]);if(!f||!f.length)return(new p).resolve(d);var c=new p;c.promise.always(function(){d=b=null});var l=f.length;n(f,function(a,e){h||b.push(e);k(a,function(a){c.isFulfilled()||(d[b[e]]=a,0===--l&&c.resolve(d))},c.reject);return c.isFulfilled()});return c.promise}})},"dijit/form/NumberTextBox":function(){define("dojo/_base/declare dojo/_base/lang dojo/i18n dojo/string dojo/number ./RangeBoundTextBox".split(" "), +function(f,p,k,n,e,h){var q=function(b){b=b||{};var a=k.getLocalization("dojo.cldr","number",k.normalizeLocale(b.locale)),c=b.pattern?b.pattern:a[(b.type||"decimal")+"Format"];b="number"==typeof b.places?b.places:"string"===typeof b.places&&0c,e=-1!=this.textbox.value.indexOf(this._decimalInfo.sep), +r=(this.maxLength||20)-this.textbox.value.length,m=e?this.textbox.value.split(this._decimalInfo.sep)[1].replace(/[^0-9]/g,""):"",d=e?d+"."+m:d+"",r=n.rep("9",r),e=c;g?e=Number(d+r):c=Number(d+r);return!(b&&cthis.constraints.max)}});f=f("dijit.form.NumberTextBox",[h,d],{baseClass:"dijitTextBox dijitNumberTextBox"});f.Mixin=d;return f})},"dojo/_base/url":function(){define(["./kernel"],function(f){var p=/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/,k=/^((([^\[:]+):)?([^@]+)@)?(\[([^\]]+)\]|([^\[:]*))(:([0-9]+))?$/, +n=function(){for(var e=arguments,h=[e[0]],f=1;f/im, +"");var b=a.match(/]*>\s*([\s\S]+)\s*<\/body>/im);b&&(a=b[1])}else a="";return a},d={},b={};f.cache=function(a,b,d){var g;"string"==typeof a?/\//.test(a)?(g=a,d=b):g=p.toUrl(a.replace(/\./g,"/")+(b?"/"+b:"")):(g=a+"",d=b);a=void 0!=d&&"string"!=typeof d?d.value:d;d=d&&d.sanitize;if("string"==typeof a)return h[g]=a,d?q(a):a;if(null===a)return delete h[g],null;g in h||e(g,!0,function(a){h[g]=a});return d?q(h[g]):h[g]};return{dynamic:!0,normalize:function(a,b){var d=a.split("!"),g=d[0];return(/^\./.test(g)? +b(g):g)+(d[1]?"!"+d[1]:"")},load:function(a,c,l){a=a.split("!");var g=1=f("ie"))try{document.execCommand("BackgroundImageCache", +!1,!0)}catch(n){}var e={};f("ie")?e.byId=function(e,d){if("string"!=typeof e)return e;var b=d||p.doc,a=e&&b.getElementById(e);if(a&&(a.attributes.id.value==e||a.id==e))return a;b=b.all[e];if(!b||b.nodeName)b=[b];for(var c=0;a=b[c++];)if(a.attributes&&a.attributes.id&&a.attributes.id.value==e||a.id==e)return a}:e.byId=function(e,d){return("string"==typeof e?(d||p.doc).getElementById(e):e)||null};k=k.global.document||null;f.add("dom-contains",!(!k||!k.contains));e.isDescendant=f("dom-contains")?function(h, +d){return!(!(d=e.byId(d))||!d.contains(e.byId(h)))}:function(h,d){try{h=e.byId(h);for(d=e.byId(d);h;){if(h==d)return!0;h=h.parentNode}}catch(b){}return!1};f.add("css-user-select",function(e,d,b){if(!b)return!1;e=b.style;d=["Khtml","O","Moz","Webkit"];b=d.length;var a="userSelect";do if("undefined"!==typeof e[a])return a;while(b--&&(a=d[b]+"UserSelect"));return!1});var h=f("css-user-select");e.setSelectable=h?function(f,d){e.byId(f).style[h]=d?"":"none"}:function(h,d){h=e.byId(h);var b=h.getElementsByTagName("*"), +a=b.length;if(d)for(h.removeAttribute("unselectable");a--;)b[a].removeAttribute("unselectable");else for(h.setAttribute("unselectable","on");a--;)b[a].setAttribute("unselectable","on")};return e})},"dijit/layout/LayoutContainer":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-class dojo/dom-style dojo/_base/lang ../_WidgetBase ./_LayoutWidget ./utils".split(" "),function(f,p,k,n,e,h,q,d){p=p("dijit.layout.LayoutContainer",q,{design:"headline",baseClass:"dijitLayoutContainer",startup:function(){this._started|| +(f.forEach(this.getChildren(),this._setupChild,this),this.inherited(arguments))},_setupChild:function(b){this.inherited(arguments);b.region&&k.add(b.domNode,this.baseClass+"Pane")},_getOrderedChildren:function(){var b=f.map(this.getChildren(),function(a,b){return{pane:a,weight:["center"==a.region?Infinity:0,a.layoutPriority,("sidebar"==this.design?1:-1)*(/top|bottom/.test(a.region)?1:-1),b]}},this);b.sort(function(a,b){for(var d=a.weight,g=b.weight,e=0;e=g)){var l=b.columns[c],m;if(l&&(m={grid:b,columnId:c,width:g,bubbles:!0,cancelable:!0},d&&(m.parentType=d),!b._resizedColumns||k.emit(b.headerNode,"dgrid-columnresize",m)))return"auto"===g?delete l.width:(l.width=g,g+="px"),(d=b._columnSizes[c])?d.set("width",g):d=a.addCssRule("#"+a.escapeCssIdentifier(b.domNode.id)+" .dgrid-column-"+a.escapeCssIdentifier(c,"-"),"width: "+g+";"),b._columnSizes[c]=d,!1!==e&&b.resize(),!0}}var s,r,m=0,t={create:function(){s= +q.create("div",{className:"dgrid-column-resizer"});r=q.create("div",{className:"dgrid-resize-guard"})},destroy:function(){q.destroy(s);q.destroy(r);s=r=null},show:function(a){var b=d.position(a.domNode,!0);s.style.top=b.y+"px";s.style.height=b.h+"px";document.body.appendChild(s);a.domNode.appendChild(r)},move:function(a){s.style.left=a+"px"},hide:function(){s.parentNode.removeChild(s);r.parentNode.removeChild(r)}};return f(null,{resizeNode:null,minWidth:40,adjustLastColumn:!0,_resizedColumns:!1,buildRendering:function(){this.inherited(arguments); +m||t.create();m++},destroy:function(){this.inherited(arguments);for(var a in this._columnSizes)this._columnSizes[a].remove();--m||t.destroy()},resizeColumnWidth:function(a,b){return g(this,a,b)},configStructure:function(){var a=this._oldColumnSizes=e.mixin({},this._columnSizes),b;this._resizedColumns=!1;this._columnSizes={};this.inherited(arguments);for(b in a)b in this._columnSizes||a[b].remove();delete this._oldColumnSizes},_configColumn:function(b){this.inherited(arguments);var c=b.id,g;"width"in +b&&((g=this._oldColumnSizes[c])?g.set("width",b.width+"px"):g=a.addCssRule("#"+a.escapeCssIdentifier(this.domNode.id)+" .dgrid-column-"+a.escapeCssIdentifier(c,"-"),"width: "+b.width+"px;"),this._columnSizes[c]=g)},renderHeader:function(){this.inherited(arguments);var c=this,g;if(this.columnSets&&this.columnSets.length)for(var d=this.columnSets.length;d--;)g=e.mixin(g||{},l(this.columnSets[d]));else this.subRows&&1>1)-h.y+"px",this.connectorNode.style.left=""):"M"==h.corner.charAt(1)&&"M"==h.aroundCorner.charAt(1)?this.connectorNode.style.left=s.x+(s.w-this.connectorNode.offsetWidth>> +1)-h.x+"px":(this.connectorNode.style.left="",this.connectorNode.style.top="");q.set(this.domNode,"opacity",0);this.fadeIn.play();this.isShowingNow=!0;this.aroundNode=b;this.onMouseEnter=m||u;this.onMouseLeave=r||u}},orient:function(a,b,g,d,e){this.connectorNode.style.top="";var l=d.h;d=d.w;a.className="dijitTooltip "+{"MR-ML":"dijitTooltipRight","ML-MR":"dijitTooltipLeft","TM-BM":"dijitTooltipAbove","BM-TM":"dijitTooltipBelow","BL-TL":"dijitTooltipBelow dijitTooltipABLeft","TL-BL":"dijitTooltipAbove dijitTooltipABLeft", +"BR-TR":"dijitTooltipBelow dijitTooltipABRight","TR-BR":"dijitTooltipAbove dijitTooltipABRight","BR-BL":"dijitTooltipRight","BL-BR":"dijitTooltipLeft"}[b+"-"+g];this.domNode.style.width="auto";var m=h.position(this.domNode);if(c("ie")||c("trident"))m.w+=2;var r=Math.min(Math.max(d,1),m.w);h.setMarginBox(this.domNode,{w:r});"B"==g.charAt(0)&&"B"==b.charAt(0)?(a=h.position(a),b=this.connectorNode.offsetHeight,a.h>l?(this.connectorNode.style.top=l-(e.h+b>>1)+"px",this.connectorNode.style.bottom=""): +(this.connectorNode.style.bottom=Math.min(Math.max(e.h/2-b/2,0),a.h-b)+"px",this.connectorNode.style.top="")):(this.connectorNode.style.top="",this.connectorNode.style.bottom="");return Math.max(0,m.w-d)},_onShow:function(){c("ie")&&(this.domNode.style.filter="")},hide:function(a){this._onDeck&&this._onDeck[1]==a?this._onDeck=null:this.aroundNode===a&&(this.fadeIn.stop(),this.isShowingNow=!1,this.aroundNode=null,this.fadeOut.play());this.onMouseEnter=this.onMouseLeave=u},_onHide:function(){this.domNode.style.cssText= +"";this.containerNode.innerHTML="";this._onDeck&&(this.show.apply(this,this._onDeck),this._onDeck=null)}});c("dojo-bidi")&&v.extend({_setAutoTextDir:function(a){this.applyTextDir(a);f.forEach(a.children,function(a){this._setAutoTextDir(a)},this)},_setTextDirAttr:function(a){this._set("textDir",a);"auto"==a?this._setAutoTextDir(this.containerNode):this.containerNode.dir=this.textDir}});w.showTooltip=function(a,b,c,g,d,e,l){c&&(c=f.map(c,function(a){return{after:"after-centered",before:"before-centered"}[a]|| +a}));x._masterTT||(w._masterTT=x._masterTT=new v);return x._masterTT.show(a,b,c,g,d,e,l)};w.hideTooltip=function(a){return x._masterTT&&x._masterTT.hide(a)};var x=p("dijit.Tooltip",s,{label:"",showDelay:400,hideDelay:400,connectId:[],position:[],selector:"",_setConnectIdAttr:function(c){f.forEach(this._connections||[],function(a){f.forEach(a,function(a){a.remove()})},this);this._connectIds=f.filter(d.isArrayLike(c)?c:c?[c]:[],function(a){return n.byId(a,this.ownerDocument)},this);this._connections= +f.map(this._connectIds,function(c){c=n.byId(c,this.ownerDocument);var g=this.selector,e=g?function(b){return a.selector(g,b)}:function(a){return a},l=this;return[a(c,e(b.enter),function(){l._onHover(this)}),a(c,e("focusin"),function(){l._onHover(this)}),a(c,e(b.leave),d.hitch(l,"_onUnHover")),a(c,e("focusout"),d.hitch(l,"set","state","DORMANT"))]},this);this._set("connectId",c)},addTarget:function(a){a=a.id||a;-1==f.indexOf(this._connectIds,a)&&this.set("connectId",this._connectIds.concat(a))},removeTarget:function(a){a= +f.indexOf(this._connectIds,a.id||a);0<=a&&(this._connectIds.splice(a,1),this.set("connectId",this._connectIds))},buildRendering:function(){this.inherited(arguments);e.add(this.domNode,"dijitTooltipData")},startup:function(){this.inherited(arguments);var a=this.connectId;f.forEach(d.isArrayLike(a)?a:[a],this.addTarget,this)},getContent:function(a){return this.label||this.domNode.innerHTML},state:"DORMANT",_setStateAttr:function(a){if(!(this.state==a||"SHOW TIMER"==a&&"SHOWING"==this.state||"HIDE TIMER"== +a&&"DORMANT"==this.state)){this._hideTimer&&(this._hideTimer.remove(),delete this._hideTimer);this._showTimer&&(this._showTimer.remove(),delete this._showTimer);switch(a){case "DORMANT":this._connectNode&&(x.hide(this._connectNode),delete this._connectNode,this.onHide());break;case "SHOW TIMER":"SHOWING"!=this.state&&(this._showTimer=this.defer(function(){this.set("state","SHOWING")},this.showDelay));break;case "SHOWING":var b=this.getContent(this._connectNode);if(!b){this.set("state","DORMANT"); +return}x.show(b,this._connectNode,this.position,!this.isLeftToRight(),this.textDir,d.hitch(this,"set","state","SHOWING"),d.hitch(this,"set","state","HIDE TIMER"));this.onShow(this._connectNode,this.position);break;case "HIDE TIMER":this._hideTimer=this.defer(function(){this.set("state","DORMANT")},this.hideDelay)}this._set("state",a)}},_onHover:function(a){this._connectNode&&a!=this._connectNode&&this.set("state","DORMANT");this._connectNode=a;this.set("state","SHOW TIMER")},_onUnHover:function(a){this.set("state", +"HIDE TIMER")},open:function(a){this.set("state","DORMANT");this._connectNode=a;this.set("state","SHOWING")},close:function(){this.set("state","DORMANT")},onShow:function(){},onHide:function(){},destroy:function(){this.set("state","DORMANT");f.forEach(this._connections||[],function(a){f.forEach(a,function(a){a.remove()})},this);this.inherited(arguments)}});x._MasterTooltip=v;x.show=w.showTooltip;x.hide=w.hideTooltip;x.defaultPosition=["after-centered","before-centered"];return x})},"dojo/string":function(){define(["./_base/kernel", +"./_base/lang"],function(f,p){var k=/[&<>'"\/]/g,n={"\x26":"\x26amp;","\x3c":"\x26lt;","\x3e":"\x26gt;",'"':"\x26quot;","'":"\x26#x27;","/":"\x26#x2F;"},e={};p.setObject("dojo.string",e);e.escape=function(e){return!e?"":e.replace(k,function(e){return n[e]})};e.rep=function(e,f){if(0>=f||!e)return"";for(var d=[];;){f&1&&d.push(e);if(!(f>>=1))break;e+=e}return d.join("")};e.pad=function(h,f,d,b){d||(d="0");h=String(h);f=e.rep(d,Math.ceil((f-h.length)/d.length));return b?h+f:f+h};e.substitute=function(e, +n,d,b){b=b||f.global;d=d?p.hitch(b,d):function(a){return a};return e.replace(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g,function(a,c,e){if(""==c)return"$";a=p.getObject(c,!1,n);e&&(a=p.getObject(e,!1,b).call(b,a,c));return d(a,c).toString()})};e.trim=String.prototype.trim?p.trim:function(e){e=e.replace(/^\s+/,"");for(var f=e.length-1;0<=f;f--)if(/\S/.test(e.charAt(f))){e=e.substring(0,f+1);break}return e};return e})},"dijit/form/VerticalSlider":function(){define(["dojo/_base/declare","./HorizontalSlider", +"dojo/text!./templates/VerticalSlider.html"],function(f,p,k){return f("dijit.form.VerticalSlider",p,{templateString:k,_mousePixelCoord:"pageY",_pixelCount:"h",_startingPixelCoord:"y",_handleOffsetCoord:"top",_progressPixelSize:"height",_descending:!0,_isReversed:function(){return this._descending}})})},"dijit/dijit":function(){define("./main ./_base dojo/parser ./_Widget ./_TemplatedMixin ./_Container ./layout/_LayoutWidget ./form/_FormWidget ./form/_FormValueWidget".split(" "),function(f){return f})}, +"dijit/form/DropDownButton":function(){define("dojo/_base/declare dojo/_base/kernel dojo/_base/lang dojo/query ../registry ../popup ./Button ../_Container ../_HasDropDown dojo/text!./templates/DropDownButton.html ../a11yclick".split(" "),function(f,p,k,n,e,h,q,d,b,a){return f("dijit.form.DropDownButton",[q,d,b],{baseClass:"dijitDropDownButton",templateString:a,_fillContent:function(){var a=this.srcNodeRef,b=this.containerNode;if(a&&b)for(;a.hasChildNodes();){var g=a.firstChild;g.hasAttribute&&(g.hasAttribute("data-dojo-type")|| +g.hasAttribute("dojoType")||g.hasAttribute("data-"+p._scopeName+"-type")||g.hasAttribute(p._scopeName+"Type"))?(this.dropDownContainer=this.ownerDocument.createElement("div"),this.dropDownContainer.appendChild(g)):b.appendChild(g)}},startup:function(){this._started||(!this.dropDown&&this.dropDownContainer&&(this.dropDown=e.byNode(this.dropDownContainer.firstChild),delete this.dropDownContainer),this.dropDown&&h.hide(this.dropDown),this.inherited(arguments))},isLoaded:function(){var a=this.dropDown; +return!!a&&(!a.href||a.isLoaded)},loadDropDown:function(a){var b=this.dropDown,g=b.on("load",k.hitch(this,function(){g.remove();a()}));b.refresh()},isFocusable:function(){return this.inherited(arguments)&&!this._mouseDown}})})},"dijit/form/_FormValueMixin":function(){define("dojo/_base/declare dojo/dom-attr dojo/keys dojo/_base/lang dojo/on ./_FormWidgetMixin".split(" "),function(f,p,k,n,e,h){return f("dijit.form._FormValueMixin",h,{readOnly:!1,_setReadOnlyAttr:function(e){p.set(this.focusNode,"readOnly", +e);this._set("readOnly",e)},postCreate:function(){this.inherited(arguments);void 0===this._resetValue&&(this._lastValueReported=this._resetValue=this.value)},_setValueAttr:function(e,d){this._handleOnChange(e,d)},_handleOnChange:function(e,d){this._set("value",e);this.inherited(arguments)},undo:function(){this._setValueAttr(this._lastValueReported,!1)},reset:function(){this._hasBeenBlurred=!1;this._setValueAttr(this._resetValue,!0)}})})},"dijit/form/_FormWidgetMixin":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-attr dojo/dom-style dojo/_base/lang dojo/mouse dojo/on dojo/sniff dojo/window ../a11y".split(" "), +function(f,p,k,n,e,h,q,d,b,a){return p("dijit.form._FormWidgetMixin",null,{name:"",alt:"",value:"",type:"text","aria-label":"focusNode",tabIndex:"0",_setTabIndexAttr:"focusNode",disabled:!1,intermediateChanges:!1,scrollOnFocus:!0,_setIdAttr:"focusNode",_setDisabledAttr:function(b){this._set("disabled",b);/^(button|input|select|textarea|optgroup|option|fieldset)$/i.test(this.focusNode.tagName)?k.set(this.focusNode,"disabled",b):this.focusNode.setAttribute("aria-disabled",b?"true":"false");this.valueNode&& +k.set(this.valueNode,"disabled",b);b?(this._set("hovering",!1),this._set("active",!1),b="tabIndex"in this.attributeMap?this.attributeMap.tabIndex:"_setTabIndexAttr"in this?this._setTabIndexAttr:"focusNode",f.forEach(e.isArray(b)?b:[b],function(b){b=this[b];d("webkit")||a.hasDefaultTabStop(b)?b.setAttribute("tabIndex","-1"):b.removeAttribute("tabIndex")},this)):""!=this.tabIndex&&this.set("tabIndex",this.tabIndex)},_onFocus:function(a){if("mouse"==a&&this.isFocusable())var l=this.own(q(this.focusNode, +"focus",function(){h.remove();l.remove()}))[0],g=d("pointer-events")?"pointerup":d("MSPointer")?"MSPointerUp":d("touch-events")?"touchend, mouseup":"mouseup",h=this.own(q(this.ownerDocumentBody,g,e.hitch(this,function(a){h.remove();l.remove();this.focused&&("touchend"==a.type?this.defer("focus"):this.focus())})))[0];this.scrollOnFocus&&this.defer(function(){b.scrollIntoView(this.domNode)});this.inherited(arguments)},isFocusable:function(){return!this.disabled&&this.focusNode&&"none"!=n.get(this.domNode, +"display")},focus:function(){if(!this.disabled&&this.focusNode.focus)try{this.focusNode.focus()}catch(a){}},compare:function(a,b){return"number"==typeof a&&"number"==typeof b?isNaN(a)&&isNaN(b)?0:a-b:a>b?1:ae)?-1:1;return 0}),e.sort(l));if(a&&(a.start||a.count))l=e.length,e=e.slice(a.start||0,(a.start||0)+(a.count||Infinity)),e.total=l;return e}var l=a&&!!a.ignoreCase,g=function(){},s=!1;switch(typeof b){case "undefined":case "object":s=e(b);g=function(a){var c,g,d;for(c in b)if(d= +b[c],g=s?n(c,a):a[c],!h(g,d,l)&&!("function"==typeof d&&d(g,c,a)))return!1;return!0};break;case "string":if(!this[b]||"function"!=typeof this[b])throw new d("MethodMissing","QueryEngine","No filter function "+b+" was found in store");g=this[b];break;case "function":g=b;break;default:throw new d("InvalidType","QueryEngine","Can not query with a "+typeof b);}c.matches=g;return c}})},"dojo/request/handlers":function(){define(["../json","../_base/kernel","../_base/array","../has","../selector/_loader"], +function(f,p,k,n){function e(b){var d=a[b.options.handleAs];b.data=d?d(b):b.data||b.text;return b}n.add("activex","undefined"!==typeof ActiveXObject);n.add("dom-parser",function(a){return"DOMParser"in a});var h;if(n("activex")){var q=["Msxml2.DOMDocument.6.0","Msxml2.DOMDocument.4.0","MSXML2.DOMDocument.3.0","MSXML.DOMDocument"],d;h=function(a){function b(a){try{var c=new ActiveXObject(a);c.async=!1;c.loadXML(e);g=c;d=a}catch(l){return!1}return!0}var g=a.data,e=a.text;g&&(n("dom-qsa2.1")&&!g.querySelectorAll&& +n("dom-parser"))&&(g=(new DOMParser).parseFromString(e,"application/xml"));if(!g||!g.documentElement)(!d||!b(d))&&k.some(q,b);return g}}var b=function(a){return!n("native-xhr2-blob")&&"blob"===a.options.handleAs&&"undefined"!==typeof Blob?new Blob([a.xhr.response],{type:a.xhr.getResponseHeader("Content-Type")}):a.xhr.response},a={javascript:function(a){return p.eval(a.text||"")},json:function(a){return f.parse(a.text||null)},xml:h,blob:b,arraybuffer:b,document:b};e.register=function(b,d){a[b]=d}; +return e})},"dojo/date":function(){define(["./has","./_base/lang"],function(f,p){var k={getDaysInMonth:function(f){var e=f.getMonth();return 1==e&&k.isLeapYear(f)?29:[31,28,31,30,31,30,31,31,30,31,30,31][e]},isLeapYear:function(f){f=f.getFullYear();return!(f%400)||!(f%4)&&!!(f%100)},getTimezoneName:function(f){var e=f.toString(),h="",k=e.indexOf("(");if(-1e?1:fh&&(l=-1);c+=e;if(0==c||6==c)l=0q)switch(!0){case 6==a:b=0;break;case 0==a:b=1;break;case 6==e:b=2;break;case 0==e:b=1;break;case 0>f+d:b=2}q=q+b-2*h}d=q;break;case "year":d=q;break;case "month":d=e.getMonth()-f.getMonth()+12*q;break; +case "week":d=parseInt(k.difference(f,e,"day")/7);break;case "day":d/=24;case "hour":d/=60;case "minute":d/=60;case "second":d/=1E3;case "millisecond":d*=e.getTime()-f.getTime()}return Math.round(d)}};p.mixin(p.getObject("dojo.date",!0),k);return k})},"dijit/tree/ObjectStoreModel":function(){define("dojo/_base/array dojo/aspect dojo/_base/declare dojo/Deferred dojo/_base/lang dojo/when ../Destroyable".split(" "),function(f,p,k,n,e,h,q){return k("dijit.tree.ObjectStoreModel",q,{store:null,labelAttr:"name", +labelType:"text",root:null,query:null,constructor:function(d){e.mixin(this,d);this.childrenCache={}},getRoot:function(d,b){if(this.root)d(this.root);else{var a=this.store.query(this.query);a.then&&this.own(a);h(a,e.hitch(this,function(b){if(1!=b.length)throw Error("dijit.tree.ObjectStoreModel: root query returned "+b.length+" items, but must return exactly one");this.root=b[0];d(this.root);a.observe&&a.observe(e.hitch(this,function(a){this.onChange(a)}),!0)}),b)}},mayHaveChildren:function(){return!0}, +getChildren:function(d,b,a){var c=this.store.getIdentity(d);if(this.childrenCache[c])h(this.childrenCache[c],b,a);else{var l=this.childrenCache[c]=this.store.getChildren(d);l.then&&this.own(l);l.observe&&this.own(l.observe(e.hitch(this,function(a,b,c){this.onChange(a);b!=c&&h(l,e.hitch(this,"onChildrenChange",d))}),!0));h(l,b,a)}},isItem:function(){return!0},getIdentity:function(d){return this.store.getIdentity(d)},getLabel:function(d){return d[this.labelAttr]},newItem:function(d,b,a,c){return this.store.put(d, +{parent:b,before:c})},pasteItem:function(d,b,a,c,l,g){var h=new n;if(b===a&&!c&&!g)return h.resolve(!0),h;b&&!c?this.getChildren(b,e.hitch(this,function(c){c=[].concat(c);var e=f.indexOf(c,d);c.splice(e,1);this.onChildrenChange(b,c);h.resolve(this.store.put(d,{overwrite:!0,parent:a,oldParent:b,before:g}))})):h.resolve(this.store.put(d,{overwrite:!0,parent:a,oldParent:b,before:g}));return h},onChange:function(){},onChildrenChange:function(){},onDelete:function(){}})})},"dijit/Destroyable":function(){define(["dojo/_base/array", +"dojo/aspect","dojo/_base/declare"],function(f,p,k){return k("dijit.Destroyable",null,{destroy:function(f){this._destroyed=!0},own:function(){var k=["destroyRecursive","destroy","remove"];f.forEach(arguments,function(e){function h(){d.remove();f.forEach(b,function(a){a.remove()})}var q,d=p.before(this,"destroy",function(a){e[q](a)}),b=[];e.then?(q="cancel",e.then(h,h)):f.forEach(k,function(a){"function"===typeof e[a]&&(q||(q=a),b.push(p.after(e,a,h,!0)))})},this);return arguments}})})},"dijit/layout/_ContentPaneResizeMixin":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-class dojo/dom-geometry dojo/dom-style dojo/_base/lang dojo/query ../registry ../Viewport ./utils".split(" "), +function(f,p,k,n,e,h,q,d,b,a){return p("dijit.layout._ContentPaneResizeMixin",null,{doLayout:!0,isLayoutContainer:!0,startup:function(){if(!this._started){var a=this.getParent();this._childOfLayoutWidget=a&&a.isLayoutContainer;this._needLayout=!this._childOfLayoutWidget;this.inherited(arguments);this._isShown()&&this._onShow();this._childOfLayoutWidget||this.own(b.on("resize",h.hitch(this,"resize")))}},_checkIfSingleChild:function(){if(this.doLayout){var a=[],b=!1;q("\x3e *",this.containerNode).some(function(g){var e= +d.byNode(g);e&&e.resize?a.push(e):!/script|link|style/i.test(g.nodeName)&&g.offsetHeight&&(b=!0)});this._singleChild=1==a.length&&!b?a[0]:null;k.toggle(this.containerNode,this.baseClass+"SingleChild",!!this._singleChild)}},resize:function(a,b){this._resizeCalled=!0;this._scheduleLayout(a,b)},_scheduleLayout:function(a,b){this._isShown()?this._layout(a,b):(this._needLayout=!0,this._changeSize=a,this._resultSize=b)},_layout:function(b,d){delete this._needLayout;!this._wasShown&&!1!==this.open&&this._onShow(); +b&&n.setMarginBox(this.domNode,b);var g=this.containerNode;if(g===this.domNode){var e=d||{};h.mixin(e,b||{});if(!("h"in e)||!("w"in e))e=h.mixin(n.getMarginBox(g),e);this._contentBox=a.marginBox2contentBox(g,e)}else this._contentBox=n.getContentBox(g);this._layoutChildren()},_layoutChildren:function(){this._checkIfSingleChild();if(this._singleChild&&this._singleChild.resize){var a=this._contentBox||n.getContentBox(this.containerNode);this._singleChild.resize({w:a.w,h:a.h})}else for(var a=this.getChildren(), +b,g=0;b=a[g++];)b.resize&&b.resize()},_isShown:function(){if(this._childOfLayoutWidget)return this._resizeCalled&&"open"in this?this.open:this._resizeCalled;if("open"in this)return this.open;var a=this.domNode,b=this.domNode.parentNode;return"none"!=a.style.display&&"hidden"!=a.style.visibility&&!k.contains(a,"dijitHidden")&&b&&b.style&&"none"!=b.style.display},_onShow:function(){this._wasShown=!0;this._needLayout&&this._layout(this._changeSize,this._resultSize);this.inherited(arguments)}})})},"dijit/WidgetSet":function(){define(["dojo/_base/array", +"dojo/_base/declare","dojo/_base/kernel","./registry"],function(f,p,k,n){var e=p("dijit.WidgetSet",null,{constructor:function(){this._hash={};this.length=0},add:function(e){if(this._hash[e.id])throw Error("Tried to register widget with id\x3d\x3d"+e.id+" but that id is already registered");this._hash[e.id]=e;this.length++},remove:function(e){this._hash[e]&&(delete this._hash[e],this.length--)},forEach:function(e,f){f=f||k.global;var d=0,b;for(b in this._hash)e.call(f,this._hash[b],d++,this._hash); +return this},filter:function(h,f){f=f||k.global;var d=new e,b=0,a;for(a in this._hash){var c=this._hash[a];h.call(f,c,b++,this._hash)&&d.add(c)}return d},byId:function(e){return this._hash[e]},byClass:function(h){var f=new e,d,b;for(d in this._hash)b=this._hash[d],b.declaredClass==h&&f.add(b);return f},toArray:function(){var e=[],f;for(f in this._hash)e.push(this._hash[f]);return e},map:function(e,k){return f.map(this.toArray(),e,k)},every:function(e,f){f=f||k.global;var d=0,b;for(b in this._hash)if(!e.call(f, +this._hash[b],d++,this._hash))return!1;return!0},some:function(e,f){f=f||k.global;var d=0,b;for(b in this._hash)if(e.call(f,this._hash[b],d++,this._hash))return!0;return!1}});f.forEach("forEach filter byClass map every some".split(" "),function(f){n[f]=e.prototype[f]});return e})},"dijit/form/RangeBoundTextBox":function(){define(["dojo/_base/declare","dojo/i18n","./MappedTextBox","dojo/i18n!./nls/validate"],function(f,p,k){return f("dijit.form.RangeBoundTextBox",k,{rangeMessage:"",rangeCheck:function(f, +e){return("min"in e?0<=this.compare(f,e.min):!0)&&("max"in e?0>=this.compare(f,e.max):!0)},isInRange:function(){return this.rangeCheck(this.get("value"),this.constraints)},_isDefinitelyOutOfRange:function(){var f=this.get("value");if(null==f)return!1;var e=!1;"min"in this.constraints&&(e=this.constraints.min,e=0>this.compare(f,"number"==typeof e&&0<=e&&0!=f?0:e));!e&&"max"in this.constraints&&(e=this.constraints.max,e=0this.delay||Math.abs(a.pageY-this._lastY)>this.delay)this.onMouseUp(a),this.onDragDetected(a);a.stopPropagation();a.preventDefault()},onMouseUp:function(a){for(var b=0;2>b;++b)this.events.pop().remove();a.stopPropagation();a.preventDefault()},onSelectStart:function(b){if(!this.skip||!a.isFormElement(b))b.stopPropagation(), +b.preventDefault()},onDragDetected:function(a){new this.mover(this.node,a,this)},onMoveStart:function(a){d.publish("/dnd/move/start",a);e.add(l.body(),"dojoMove");e.add(this.node,"dojoMoveItem")},onMoveStop:function(a){d.publish("/dnd/move/stop",a);e.remove(l.body(),"dojoMove");e.remove(this.node,"dojoMoveItem")},onFirstMove:function(){},onMove:function(a,b){this.onMoving(a,b);var c=a.node.style;c.left=b.l+"px";c.top=b.t+"px";this.onMoved(a,b)},onMoving:function(){},onMoved:function(){}})})},"dgrid/Grid":function(){define("dojo/_base/declare dojo/_base/lang dojo/dom-construct dojo/dom-class dojo/on dojo/has ./List ./util/misc dojo/_base/sniff".split(" "), +function(f,p,k,n,e,h,q,d){function b(a,b){b&&b.nodeType&&a.appendChild(b)}f=f(q,{columns:null,hasNeutralSort:!1,cellNavigation:!0,tabableHeader:!0,showHeader:!0,column:function(a){return"object"!==typeof a?this.columns[a]:this.cell(a).column},listType:"grid",cell:function(a,b){if(a.column&&a.element)return a;a.target&&a.target.nodeType&&(a=a.target);var d;if(a.nodeType){do{if(this._rowIdToObject[a.id])break;var g=a.columnId;if(g){b=g;d=a;break}a=a.parentNode}while(a&&a!==this.domNode)}if(!d&&"undefined"!== +typeof b){var e=this.row(a);if(g=e&&e.element)for(var g=g.getElementsByTagName("td"),r=0;rh("ie")?k.create("tbody",null,r):r,t,n,q,p,x,z,y,A,B,E;e=e||this.subRows;n=0;for(q=e.length;nb.offsetWidth)b.style.width=d+"px"},destroy:function(){this._destroyColumns();this._sortListener&& +this._sortListener.remove();this.inherited(arguments)},_setSort:function(){this.inherited(arguments);this.updateSortArrow(this.sort)},_findSortArrowParent:function(a){var b=this.columns,d;for(d in b){var g=b[d];if(g.field===a)return g.headerNode}},updateSortArrow:function(a,b){this._lastSortedArrow&&(n.remove(this._lastSortedArrow.parentNode,"dgrid-sort-up dgrid-sort-down"),k.destroy(this._lastSortedArrow),delete this._lastSortedArrow);b&&(this.sort=a);if(a[0]){var d=a[0].property,g=a[0].descending, +d=this._sortNode||this._findSortArrowParent(d);delete this._sortNode;d&&(d=d.contents||d,this._lastSortedArrow=k.create("div",{className:"dgrid-sort-arrow ui-icon",innerHTML:"\x26nbsp;",role:"presentation"},d,"first"),n.add(d,"dgrid-sort-"+(g?"down":"up")),this.resize())}},styleColumn:function(a,b){return this.addCssRule("#"+d.escapeCssIdentifier(this.domNode.id)+" .dgrid-column-"+d.escapeCssIdentifier(a,"-"),b)},_configColumns:function(a,b){var e=[],g=b instanceof Array;d.each(b,function(d,r){"string"=== +typeof d&&(b[r]=d={label:d});!g&&!d.field&&(d.field=r);r=d.id=d.id||(isNaN(r)?r:a+r);this._configColumn&&(this._configColumn(d,b,a),r=d.id);g&&(this.columns[r]=d);d.grid=this;e.push(d)},this);return g?b:e},_destroyColumns:function(){this.cleanup()},configStructure:function(){var a=this.subRows,b=this._columns=this.columns;this.columns=!b||b instanceof Array?{}:b;if(a)for(b=0;b=q[r].priority;r++);q.splice(r,0,d);b()},c=f.config.addOnLoad;if(c)a[e.isArray(c)?"apply":"call"](f,c);f.config.parseOnLoad&&!f.isAsync&&a(99,function(){f.parser||(f.deprecated("Add explicit require(['dojo/parser']);","","2.0"),k(["dojo/parser"]))});n?n(p):p();return a})},"dojo/store/util/SimpleQueryEngine":function(){define(["../../_base/array"],function(f){return function(p,k){function n(e){e=f.filter(e,p);var n=k&&k.sort;n&&e.sort("function"== +typeof n?n:function(b,a){for(var c,d=0;c=n[d];d++){var g=b[c.attribute],e=a[c.attribute],g=null!=g?g.valueOf():g,e=null!=e?e.valueOf():e;if(g!=e)return!!c.descending==(null==g||g>e)?-1:1}return 0});if(k&&(k.start||k.count)){var d=e.length;e=e.slice(k.start||0,(k.start||0)+(k.count||Infinity));e.total=d}return e}switch(typeof p){default:throw Error("Can not query with a "+typeof p);case "object":case "undefined":var e=p;p=function(f){for(var k in e){var d=e[k];if(d&&d.test){if(!d.test(f[k],f))return!1}else if(d!= +f[k])return!1}return!0};break;case "string":if(!this[p])throw Error("No filter function "+p+" was found in store");p=this[p];case "function":}n.matches=p;return n}})},"dijit/form/_ExpandingTextAreaMixin":function(){define("dojo/_base/declare dojo/dom-construct dojo/has dojo/_base/lang dojo/on dojo/_base/window ../Viewport".split(" "),function(f,p,k,n,e,h,q){k.add("textarea-needs-help-shrinking",function(){var d=h.body(),b=p.create("textarea",{rows:"5",cols:"20",value:" ",style:{zoom:1,fontSize:"12px", +height:"96px",overflow:"hidden",visibility:"hidden",position:"absolute",border:"5px solid white",margin:"0",padding:"0",boxSizing:"border-box",MsBoxSizing:"border-box",WebkitBoxSizing:"border-box",MozBoxSizing:"border-box"}},d,"last"),a=b.scrollHeight>=b.clientHeight;d.removeChild(b);return a});return f("dijit.form._ExpandingTextAreaMixin",null,{_setValueAttr:function(){this.inherited(arguments);this.resize()},postCreate:function(){this.inherited(arguments);var d=this.textbox;d.style.overflowY="hidden"; +this.own(e(d,"focus, resize",n.hitch(this,"_resizeLater")))},startup:function(){this.inherited(arguments);this.own(q.on("resize",n.hitch(this,"_resizeLater")));this._resizeLater()},_onInput:function(d){this.inherited(arguments);this.resize()},_estimateHeight:function(){var d=this.textbox;d.rows=(d.value.match(/\n/g)||[]).length+1},_resizeLater:function(){this.defer("resize")},resize:function(){function d(){var a=!1;""===b.value&&(b.value=" ",a=!0);var c=b.scrollHeight;a&&(b.value="");return c}var b= +this.textbox;"hidden"==b.style.overflowY&&(b.scrollTop=0);if(!this.busyResizing){this.busyResizing=!0;if(d()||b.offsetHeight){var a=d()+Math.max(b.offsetHeight-b.clientHeight,0),c=a+"px";c!=b.style.height&&(b.style.height=c,b.rows=1);if(k("textarea-needs-help-shrinking")){var e=d(),g=b.style.minHeight,f=4,r=b.scrollTop;b.style.minHeight=c;for(b.style.height="auto";0b.clientHeight?"auto":"hidden";"hidden"==b.style.overflowY&&(b.scrollTop=0)}else this._estimateHeight();this.busyResizing=!1}}})})},"dojo/_base/Deferred":function(){define("./kernel ../Deferred ../promise/Promise ../errors/CancelError ../has ./lang ../when".split(" "),function(f,p,k,n,e,h,q){var d=function(){},b=Object.freeze||function(){},a=f.Deferred=function(c){function l(a){if(r)throw Error("This deferred has already been resolved");f=a;r=!0;g()}function g(){for(var a;!a&& +v;){var b=v;v=v.next;if(a=b.progress==d)r=!1;var c=q?b.error:b.resolved;e("config-useDeferredInstrumentation")&&q&&p.instrumentRejected&&p.instrumentRejected(f,!!c);if(c)try{var g=c(f);g&&"function"===typeof g.then?g.then(h.hitch(b.deferred,"resolve"),h.hitch(b.deferred,"reject"),h.hitch(b.deferred,"progress")):(c=a&&void 0===g,a&&!c&&(q=g instanceof Error),b.deferred[c&&q?"reject":"resolve"](c?f:g))}catch(l){b.deferred.reject(l)}else q?b.deferred.reject(f):b.deferred.resolve(f)}}var f,r,m,t,q,u, +v,x=this.promise=new k;this.isResolved=x.isResolved=function(){return 0==t};this.isRejected=x.isRejected=function(){return 1==t};this.isFulfilled=x.isFulfilled=function(){return 0<=t};this.isCanceled=x.isCanceled=function(){return m};this.resolve=this.callback=function(a){this.fired=t=0;this.results=[a,null];l(a)};this.reject=this.errback=function(a){q=!0;this.fired=t=1;e("config-useDeferredInstrumentation")&&p.instrumentRejected&&p.instrumentRejected(a,!!v);l(a);this.results=[null,a]};this.progress= +function(a){for(var b=v;b;){var c=b.progress;c&&c(a);b=b.next}};this.addCallbacks=function(a,b){this.then(a,b,d);return this};x.then=this.then=function(b,c,e){var l=e==d?this:new a(x.cancel);b={resolved:b,error:c,progress:e,deferred:l};v?u=u.next=b:v=u=b;r&&g();return l.promise};var z=this;x.cancel=this.cancel=function(){if(!r){var a=c&&c(z);r||(a instanceof Error||(a=new n(a)),a.log=!1,z.reject(a))}m=!0};b(x)};h.extend(a,{addCallback:function(a){return this.addCallbacks(h.hitch.apply(f,arguments))}, +addErrback:function(a){return this.addCallbacks(null,h.hitch.apply(f,arguments))},addBoth:function(a){var b=h.hitch.apply(f,arguments);return this.addCallbacks(b,b)},fired:-1});a.when=f.when=q;return a})},"dijit/typematic":function(){define("dojo/_base/array dojo/_base/connect dojo/_base/lang dojo/on dojo/sniff ./main".split(" "),function(f,p,k,n,e,h){var q=h.typematic={_fireEventAndReload:function(){this._timer=null;this._callback(++this._count,this._node,this._evt);this._currentTimeout=Math.max(0> +this._currentTimeout?this._initialDelay:1e("ie")&&(q.trigger(f,b,d,a,d,c,l,g),setTimeout(k.hitch(this,q.stop),50))}))];return{remove:function(){f.forEach(h,function(a){a.remove()})}}},addListener:function(d,b,a,c,e,g,h,r){var m=[this.addKeyListener(b,a,c,e,g,h,r),this.addMouseListener(d,c,e,g,h,r)];return{remove:function(){f.forEach(m, +function(a){a.remove()})}}}};return q})},"dgrid/util/misc":function(){define(["dojo/has"],function(f){f.add("dom-contains",function(d,b,a){return!!a.contains});var p=[],k,n,e,h=/([^A-Za-z0-9_\u00A0-\uFFFF-])/g,q={defaultDelay:15,throttle:function(d,b,a){var c=!1;a=a||q.defaultDelay;return function(){c||(c=!0,d.apply(b,arguments),setTimeout(function(){c=!1},a))}},throttleDelayed:function(d,b,a){var c=!1;a=a||q.defaultDelay;return function(){if(!c){c=!0;var e=arguments;setTimeout(function(){c=!1;d.apply(b, +e)},a)}}},debounce:function(d,b,a){var c;a=a||q.defaultDelay;return function(){c&&(clearTimeout(c),c=null);var e=arguments;c=setTimeout(function(){d.apply(b,e)},a)}},each:function(d,b,a){var c,e;if(d)if("number"===typeof d.length){c=0;for(e=d.length;cb&&p[d]--}}}},escapeCssIdentifier:function(d,b){return"string"===typeof d?d.replace(h,b||"\\$1"):d}};return q})},"dijit/MenuItem":function(){define("dojo/_base/declare dojo/dom dojo/dom-attr dojo/dom-class dojo/_base/kernel dojo/sniff dojo/_base/lang ./_Widget ./_TemplatedMixin ./_Contained ./_CssStateMixin dojo/text!./templates/MenuItem.html".split(" "), +function(f,p,k,n,e,h,q,d,b,a,c,l){q=f("dijit.MenuItem"+(h("dojo-bidi")?"_NoBidi":""),[d,b,a,c],{templateString:l,baseClass:"dijitMenuItem",label:"",_setLabelAttr:function(a){this._set("label",a);var b="",c;c=a.search(/{\S}/);if(0<=c){var b=a.charAt(c+1),d=a.substr(0,c);a=a.substr(c+3);c=d+b+a;a=d+'\x3cspan class\x3d"dijitMenuItemShortcutKey"\x3e'+b+"\x3c/span\x3e"+a}else c=a;this.domNode.setAttribute("aria-label",c+" "+this.accelKey);this.containerNode.innerHTML=a;this._set("shortcutKey",b)},iconClass:"dijitNoIcon", +_setIconClassAttr:{node:"iconNode",type:"class"},accelKey:"",disabled:!1,_fillContent:function(a){a&&!("label"in this.params)&&this._set("label",a.innerHTML)},buildRendering:function(){this.inherited(arguments);k.set(this.containerNode,"id",this.id+"_text");this.accelKeyNode&&k.set(this.accelKeyNode,"id",this.id+"_accel");p.setSelectable(this.domNode,!1)},onClick:function(){},focus:function(){try{8==h("ie")&&this.containerNode.focus(),this.focusNode.focus()}catch(a){}},_setSelected:function(a){n.toggle(this.domNode, +"dijitMenuItemSelected",a)},setLabel:function(a){e.deprecated("dijit.MenuItem.setLabel() is deprecated. Use set('label', ...) instead.","","2.0");this.set("label",a)},setDisabled:function(a){e.deprecated("dijit.Menu.setDisabled() is deprecated. Use set('disabled', bool) instead.","","2.0");this.set("disabled",a)},_setDisabledAttr:function(a){this.focusNode.setAttribute("aria-disabled",a?"true":"false");this._set("disabled",a)},_setAccelKeyAttr:function(a){this.accelKeyNode&&(this.accelKeyNode.style.display= +a?"":"none",this.accelKeyNode.innerHTML=a,k.set(this.containerNode,"colSpan",a?"1":"2"));this._set("accelKey",a)}});h("dojo-bidi")&&(q=f("dijit.MenuItem",q,{_setLabelAttr:function(a){this.inherited(arguments);"auto"===this.textDir&&this.applyTextDir(this.textDirNode)}}));return q})},"dijit/MenuBarItem":function(){define(["dojo/_base/declare","./MenuItem","dojo/text!./templates/MenuBarItem.html"],function(f,p,k){k=f("dijit._MenuBarItemMixin",null,{templateString:k,_setIconClassAttr:null});f=f("dijit.MenuBarItem", +[p,k],{});f._MenuBarItemMixin=k;return f})},"dijit/layout/TabController":function(){define("dojo/_base/declare dojo/dom dojo/dom-attr dojo/dom-class dojo/has dojo/i18n dojo/_base/lang ./StackController ../registry ../Menu ../MenuItem dojo/text!./templates/_TabButton.html dojo/i18n!../nls/common".split(" "),function(f,p,k,n,e,h,q,d,b,a,c,l){l=f("dijit.layout._TabButton"+(e("dojo-bidi")?"_NoBidi":""),d.StackButton,{baseClass:"dijitTab",cssStateNodes:{closeNode:"dijitTabCloseButton"},templateString:l, +_setNameAttr:"focusNode",scrollOnFocus:!1,buildRendering:function(){this.inherited(arguments);p.setSelectable(this.containerNode,!1)},startup:function(){this.inherited(arguments);var a=this.domNode;this.defer(function(){a.className=a.className},1)},_setCloseButtonAttr:function(a){this._set("closeButton",a);n.toggle(this.domNode,"dijitClosable",a);this.closeNode.style.display=a?"":"none";a&&(a=h.getLocalization("dijit","common"),this.closeNode&&k.set(this.closeNode,"title",a.itemClose))},_setDisabledAttr:function(a){this.inherited(arguments); +if(this.closeNode)if(a)k.remove(this.closeNode,"title");else{var b=h.getLocalization("dijit","common");k.set(this.closeNode,"title",b.itemClose)}},_setLabelAttr:function(a){this.inherited(arguments);!this.showLabel&&!this.params.title&&(this.iconNode.alt=q.trim(this.containerNode.innerText||this.containerNode.textContent||""))}});e("dojo-bidi")&&(l=f("dijit.layout._TabButton",l,{_setLabelAttr:function(a){this.inherited(arguments);this.applyTextDir(this.iconNode,this.iconNode.alt)}}));f=f("dijit.layout.TabController", +d,{baseClass:"dijitTabController",templateString:"\x3cdiv role\x3d'tablist' data-dojo-attach-event\x3d'onkeydown:onkeydown'\x3e\x3c/div\x3e",tabPosition:"top",buttonWidget:l,buttonWidgetCloseClass:"dijitTabCloseButton",postCreate:function(){this.inherited(arguments);var d=new a({id:this.id+"_Menu",ownerDocument:this.ownerDocument,dir:this.dir,lang:this.lang,textDir:this.textDir,targetNodeIds:[this.domNode],selector:function(a){return n.contains(a,"dijitClosable")&&!n.contains(a,"dijitTabDisabled")}}); +this.own(d);var e=h.getLocalization("dijit","common"),l=this;d.addChild(new c({label:e.itemClose,ownerDocument:this.ownerDocument,dir:this.dir,lang:this.lang,textDir:this.textDir,onClick:function(a){a=b.byNode(this.getParent().currentTarget);l.onCloseButtonClick(a.page)}}))}});f.TabButton=l;return f})},"dojo/cldr/supplemental":function(){define(["../_base/lang","../i18n"],function(f,p){var k={};f.setObject("dojo.cldr.supplemental",k);k.getFirstDayOfWeek=function(f){f={bd:5,mv:5,ae:6,af:6,bh:6,dj:6, +dz:6,eg:6,iq:6,ir:6,jo:6,kw:6,ly:6,ma:6,om:6,qa:6,sa:6,sd:6,sy:6,ye:6,ag:0,ar:0,as:0,au:0,br:0,bs:0,bt:0,bw:0,by:0,bz:0,ca:0,cn:0,co:0,dm:0,"do":0,et:0,gt:0,gu:0,hk:0,hn:0,id:0,ie:0,il:0,"in":0,jm:0,jp:0,ke:0,kh:0,kr:0,la:0,mh:0,mm:0,mo:0,mt:0,mx:0,mz:0,ni:0,np:0,nz:0,pa:0,pe:0,ph:0,pk:0,pr:0,py:0,sg:0,sv:0,th:0,tn:0,tt:0,tw:0,um:0,us:0,ve:0,vi:0,ws:0,za:0,zw:0}[k._region(f)];return void 0===f?1:f};k._region=function(f){f=p.normalizeLocale(f);f=f.split("-");var e=f[1];e?4==e.length&&(e=f[2]):e={aa:"et", +ab:"ge",af:"za",ak:"gh",am:"et",ar:"eg",as:"in",av:"ru",ay:"bo",az:"az",ba:"ru",be:"by",bg:"bg",bi:"vu",bm:"ml",bn:"bd",bo:"cn",br:"fr",bs:"ba",ca:"es",ce:"ru",ch:"gu",co:"fr",cr:"ca",cs:"cz",cv:"ru",cy:"gb",da:"dk",de:"de",dv:"mv",dz:"bt",ee:"gh",el:"gr",en:"us",es:"es",et:"ee",eu:"es",fa:"ir",ff:"sn",fi:"fi",fj:"fj",fo:"fo",fr:"fr",fy:"nl",ga:"ie",gd:"gb",gl:"es",gn:"py",gu:"in",gv:"gb",ha:"ng",he:"il",hi:"in",ho:"pg",hr:"hr",ht:"ht",hu:"hu",hy:"am",ia:"fr",id:"id",ig:"ng",ii:"cn",ik:"us","in":"id", +is:"is",it:"it",iu:"ca",iw:"il",ja:"jp",ji:"ua",jv:"id",jw:"id",ka:"ge",kg:"cd",ki:"ke",kj:"na",kk:"kz",kl:"gl",km:"kh",kn:"in",ko:"kr",ks:"in",ku:"tr",kv:"ru",kw:"gb",ky:"kg",la:"va",lb:"lu",lg:"ug",li:"nl",ln:"cd",lo:"la",lt:"lt",lu:"cd",lv:"lv",mg:"mg",mh:"mh",mi:"nz",mk:"mk",ml:"in",mn:"mn",mo:"ro",mr:"in",ms:"my",mt:"mt",my:"mm",na:"nr",nb:"no",nd:"zw",ne:"np",ng:"na",nl:"nl",nn:"no",no:"no",nr:"za",nv:"us",ny:"mw",oc:"fr",om:"et",or:"in",os:"ge",pa:"in",pl:"pl",ps:"af",pt:"br",qu:"pe",rm:"ch", +rn:"bi",ro:"ro",ru:"ru",rw:"rw",sa:"in",sd:"in",se:"no",sg:"cf",si:"lk",sk:"sk",sl:"si",sm:"ws",sn:"zw",so:"so",sq:"al",sr:"rs",ss:"za",st:"za",su:"id",sv:"se",sw:"tz",ta:"in",te:"in",tg:"tj",th:"th",ti:"et",tk:"tm",tl:"ph",tn:"za",to:"to",tr:"tr",ts:"za",tt:"ru",ty:"pf",ug:"cn",uk:"ua",ur:"pk",uz:"uz",ve:"za",vi:"vn",wa:"be",wo:"sn",xh:"za",yi:"il",yo:"ng",za:"cn",zh:"cn",zu:"za",ace:"id",ady:"ru",agq:"cm",alt:"ru",amo:"ng",asa:"tz",ast:"es",awa:"in",bal:"pk",ban:"id",bas:"cm",bax:"cm",bbc:"id", +bem:"zm",bez:"tz",bfq:"in",bft:"pk",bfy:"in",bhb:"in",bho:"in",bik:"ph",bin:"ng",bjj:"in",bku:"ph",bqv:"ci",bra:"in",brx:"in",bss:"cm",btv:"pk",bua:"ru",buc:"yt",bug:"id",bya:"id",byn:"er",cch:"ng",ccp:"in",ceb:"ph",cgg:"ug",chk:"fm",chm:"ru",chp:"ca",chr:"us",cja:"kh",cjm:"vn",ckb:"iq",crk:"ca",csb:"pl",dar:"ru",dav:"ke",den:"ca",dgr:"ca",dje:"ne",doi:"in",dsb:"de",dua:"cm",dyo:"sn",dyu:"bf",ebu:"ke",efi:"ng",ewo:"cm",fan:"gq",fil:"ph",fon:"bj",fur:"it",gaa:"gh",gag:"md",gbm:"in",gcr:"gf",gez:"et", +gil:"ki",gon:"in",gor:"id",grt:"in",gsw:"ch",guz:"ke",gwi:"ca",haw:"us",hil:"ph",hne:"in",hnn:"ph",hoc:"in",hoj:"in",ibb:"ng",ilo:"ph",inh:"ru",jgo:"cm",jmc:"tz",kaa:"uz",kab:"dz",kaj:"ng",kam:"ke",kbd:"ru",kcg:"ng",kde:"tz",kdt:"th",kea:"cv",ken:"cm",kfo:"ci",kfr:"in",kha:"in",khb:"cn",khq:"ml",kht:"in",kkj:"cm",kln:"ke",kmb:"ao",koi:"ru",kok:"in",kos:"fm",kpe:"lr",krc:"ru",kri:"sl",krl:"ru",kru:"in",ksb:"tz",ksf:"cm",ksh:"de",kum:"ru",lag:"tz",lah:"pk",lbe:"ru",lcp:"cn",lep:"in",lez:"ru",lif:"np", +lis:"cn",lki:"ir",lmn:"in",lol:"cd",lua:"cd",luo:"ke",luy:"ke",lwl:"th",mad:"id",mag:"in",mai:"in",mak:"id",man:"gn",mas:"ke",mdf:"ru",mdh:"ph",mdr:"id",men:"sl",mer:"ke",mfe:"mu",mgh:"mz",mgo:"cm",min:"id",mni:"in",mnk:"gm",mnw:"mm",mos:"bf",mua:"cm",mwr:"in",myv:"ru",nap:"it",naq:"na",nds:"de","new":"np",niu:"nu",nmg:"cm",nnh:"cm",nod:"th",nso:"za",nus:"sd",nym:"tz",nyn:"ug",pag:"ph",pam:"ph",pap:"bq",pau:"pw",pon:"fm",prd:"ir",raj:"in",rcf:"re",rej:"id",rjs:"np",rkt:"in",rof:"tz",rwk:"tz",saf:"gh", +sah:"ru",saq:"ke",sas:"id",sat:"in",saz:"in",sbp:"tz",scn:"it",sco:"gb",sdh:"ir",seh:"mz",ses:"ml",shi:"ma",shn:"mm",sid:"et",sma:"se",smj:"se",smn:"fi",sms:"fi",snk:"ml",srn:"sr",srr:"sn",ssy:"er",suk:"tz",sus:"gn",swb:"yt",swc:"cd",syl:"bd",syr:"sy",tbw:"ph",tcy:"in",tdd:"cn",tem:"sl",teo:"ug",tet:"tl",tig:"er",tiv:"ng",tkl:"tk",tmh:"ne",tpi:"pg",trv:"tw",tsg:"ph",tts:"th",tum:"mw",tvl:"tv",twq:"ne",tyv:"ru",tzm:"ma",udm:"ru",uli:"fm",umb:"ao",unr:"in",unx:"in",vai:"lr",vun:"tz",wae:"ch",wal:"et", +war:"ph",xog:"ug",xsr:"np",yao:"mz",yap:"fm",yav:"cm",zza:"tr"}[f[0]];return e};k.getWeekend=function(f){var e=k._region(f);f={"in":0,af:4,dz:4,ir:4,om:4,sa:4,ye:4,ae:5,bh:5,eg:5,il:5,iq:5,jo:5,kw:5,ly:5,ma:5,qa:5,sd:5,sy:5,tn:5}[e];e={af:5,dz:5,ir:5,om:5,sa:5,ye:5,ae:6,bh:5,eg:6,il:6,iq:6,jo:6,kw:6,ly:6,ma:6,qa:6,sd:6,sy:6,tn:6}[e];void 0===f&&(f=6);void 0===e&&(e=0);return{start:f,end:e}};return k})},"dijit/MenuBar":function(){define(["dojo/_base/declare","dojo/keys","./_MenuBase","dojo/text!./templates/MenuBar.html"], +function(f,p,k,n){return f("dijit.MenuBar",k,{templateString:n,baseClass:"dijitMenuBar",popupDelay:0,_isMenuBar:!0,_orient:["below"],_moveToPopup:function(e){if(this.focusedChild&&this.focusedChild.popup&&!this.focusedChild.disabled)this.onItemClick(this.focusedChild,e)},focusChild:function(e){this.inherited(arguments);this.activated&&(e.popup&&!e.disabled)&&this._openItemPopup(e,!0)},_onChildDeselect:function(e){this.currentPopupItem==e&&(this.currentPopupItem=null,e._closePopup());this.inherited(arguments)}, +_onLeftArrow:function(){this.focusPrev()},_onRightArrow:function(){this.focusNext()},_onDownArrow:function(e){this._moveToPopup(e)},_onUpArrow:function(){},onItemClick:function(e,f){e.popup&&e.popup.isShowingNow&&(!/^key/.test(f.type)||f.keyCode!==p.DOWN_ARROW)?(e.focusNode.focus(),this._cleanUp(!0)):this.inherited(arguments)}})})},"dijit/ToolbarSeparator":function(){define(["dojo/_base/declare","dojo/dom","./_Widget","./_TemplatedMixin"],function(f,p,k,n){return f("dijit.ToolbarSeparator",[k,n], +{templateString:'\x3cdiv class\x3d"dijitToolbarSeparator dijitInline" role\x3d"presentation"\x3e\x3c/div\x3e',buildRendering:function(){this.inherited(arguments);p.setSelectable(this.domNode,!1)},isFocusable:function(){return!1}})})},"dijit/layout/_LayoutWidget":function(){define("dojo/_base/lang ../_Widget ../_Container ../_Contained ../Viewport dojo/_base/declare dojo/dom-class dojo/dom-geometry dojo/dom-style".split(" "),function(f,p,k,n,e,h,q,d,b){return h("dijit.layout._LayoutWidget",[p,k,n], +{baseClass:"dijitLayoutContainer",isLayoutContainer:!0,_setTitleAttr:null,buildRendering:function(){this.inherited(arguments);q.add(this.domNode,"dijitContainer")},startup:function(){if(!this._started){this.inherited(arguments);var a=this.getParent&&this.getParent();if(!a||!a.isLayoutContainer)this.resize(),this.own(e.on("resize",f.hitch(this,"resize")))}},resize:function(a,c){var e=this.domNode;a&&d.setMarginBox(e,a);var g=c||{};f.mixin(g,a||{});if(!("h"in g)||!("w"in g))g=f.mixin(d.getMarginBox(e), +g);var h=b.getComputedStyle(e),r=d.getMarginExtents(e,h),m=d.getBorderExtents(e,h),g=this._borderBox={w:g.w-(r.w+m.w),h:g.h-(r.h+m.h)},r=d.getPadExtents(e,h);this._contentBox={l:b.toPixelValue(e,h.paddingLeft),t:b.toPixelValue(e,h.paddingTop),w:g.w-r.w,h:g.h-r.h};this.layout()},layout:function(){},_setupChild:function(a){q.add(a.domNode,this.baseClass+"-child "+(a.baseClass?this.baseClass+"-"+a.baseClass:""))},addChild:function(a,b){this.inherited(arguments);this._started&&this._setupChild(a)},removeChild:function(a){q.remove(a.domNode, +this.baseClass+"-child"+(a.baseClass?" "+this.baseClass+"-"+a.baseClass:""));this.inherited(arguments)}})})},"dojo/selector/lite":function(){define(["../has","../_base/kernel"],function(f,p){var k=document.createElement("div"),n=k.matches||k.webkitMatchesSelector||k.mozMatchesSelector||k.msMatchesSelector||k.oMatchesSelector,e=k.querySelectorAll,h=/([^\s,](?:"(?:\\.|[^"])+"|'(?:\\.|[^'])+'|[^,])*)/g;f.add("dom-matches-selector",!!n);f.add("dom-qsa",!!e);var q=function(c,l){if(a&&-1|.+\s+))([\w\-\*]+)(\S*$)/).exec(c);l=l||g;if(h){var r=8===f("ie")&&f("quirks")?l.nodeType===g.nodeType:null!==l.parentNode&&9!==l.nodeType&&l.parentNode===g;if(h[2]&&r){var m=p.byId?p.byId(h[2],g):g.getElementById(h[2]);if(!m||h[1]&&h[1]!=m.tagName.toLowerCase())return[];if(l!=g)for(g=m;g!=l;)if(g=g.parentNode,!g)return[];return h[3]?q(h[3],m):[m]}if(h[3]&&l.getElementsByClassName)return l.getElementsByClassName(h[4]); +if(h[5])if(m=l.getElementsByTagName(h[5]),h[4]||h[6])c=(h[4]||"")+h[6];else return m}if(e)return 1===l.nodeType&&"object"!==l.nodeName.toLowerCase()?d(l,c,l.querySelectorAll):l.querySelectorAll(c);m||(m=l.getElementsByTagName("*"));h=[];g=0;for(r=m.length;g ])\s*)|(#|\.)?((?:\\.|[\w-])+)|\[\s*([\w-]+)\s*(.?=)?\s*("(?:\\.|[^"])+"|'(?:\\.|[^'])+'|(?:\\.|[^\]])*)\s*\]/g,function(f,h,r,t,n,q,p){t?k=e(k,m[r||""](t.replace(/\\/g,""))):h?k=(" "==h?b:d)(k):n&&(k=e(k,a(n,p,q)));return""}))throw Error("Syntax error in query"); +if(!k)return!0;n[h]=k}return k(f,r)}}();if(!f("dom-qsa"))var a=function(a,b){for(var d=a.match(h),e=[],f=0;fH&&(L=d.getComputedStyle(k),d.set(E,{overflowY:"scroll",height:H+"px",border:L.borderLeftWidth+" "+L.borderLeftStyle+" "+L.borderLeftColor}),k._originalStyle=k.style.cssText,k.style.border="none");e.set(E,{id:B,style:{zIndex:this._beginZIndex+ +f.length},"class":"dijitPopup "+(h.baseClass||h["class"]||"").split(" ")[0]+"Popup",dijitPopupParent:m.parent?m.parent.id:""});0==f.length&&A&&(this._firstAroundNode=A,this._firstAroundPosition=q.position(A,!0),this._aroundMoveListener=setTimeout(c.hitch(this,"_repositionAll"),50));b("config-bgIframe")&&!h.bgIframe&&(h.bgIframe=new s(E));B=h.orient?c.hitch(h,"orient"):null;t=A?g.around(E,A,t,p,B):g.at(E,m,"R"==t?["TR","BR","TL","BL"]:["TL","BL","TR","BR"],m.padding,B);E.style.visibility="visible"; +k.style.visibility="visible";k=[];k.push(l(E,"keydown",c.hitch(this,function(b){if(b.keyCode==a.ESCAPE&&m.onCancel)b.stopPropagation(),b.preventDefault(),m.onCancel();else if(b.keyCode==a.TAB&&(b.stopPropagation(),b.preventDefault(),(b=this.getTopPopup())&&b.onCancel))b.onCancel()})));h.onCancel&&m.onCancel&&k.push(h.on("cancel",m.onCancel));k.push(h.on(h.onExecute?"execute":"change",c.hitch(this,function(){var a=this.getTopPopup();if(a&&a.onExecute)a.onExecute()})));f.push({widget:h,wrapper:E,parent:m.parent, +onExecute:m.onExecute,onCancel:m.onCancel,onClose:m.onClose,handlers:k});if(h.onOpen)h.onOpen(t);return t},close:function(a){for(var b=this._stack;a&&f.some(b,function(b){return b.widget==a})||!a&&b.length;){var c=b.pop(),d=c.widget,e=c.onClose;d.bgIframe&&(d.bgIframe.destroy(),delete d.bgIframe);if(d.onClose)d.onClose();for(var g;g=c.handlers.pop();)g.remove();d&&d.domNode&&this.hide(d);e&&e()}0==b.length&&this._aroundMoveListener&&(clearTimeout(this._aroundMoveListener),this._firstAroundNode=this._firstAroundPosition= +this._aroundMoveListener=null)}});return m.popup=new k})},"dijit/_base/manager":function(){define(["dojo/_base/array","dojo/_base/config","dojo/_base/lang","../registry","../main"],function(f,p,k,n,e){var h={};f.forEach("byId getUniqueId findWidgets _destroyAll byNode getEnclosingWidget".split(" "),function(e){h[e]=n[e]});k.mixin(h,{defaultDuration:p.defaultDuration||200});k.mixin(e,h);return e})},"dijit/layout/StackController":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-class dojo/dom-construct dojo/keys dojo/_base/lang dojo/on dojo/topic ../focus ../registry ../_Widget ../_TemplatedMixin ../_Container ../form/ToggleButton dojo/touch".split(" "), +function(f,p,k,n,e,h,q,d,b,a,c,l,g,s){n=p("dijit.layout._StackButton",s,{tabIndex:"-1",closeButton:!1,_aria_attr:"aria-selected",buildRendering:function(a){this.inherited(arguments);(this.focusNode||this.domNode).setAttribute("role","tab")}});p=p("dijit.layout.StackController",[c,l,g],{baseClass:"dijitStackController",templateString:"\x3cspan role\x3d'tablist' data-dojo-attach-event\x3d'onkeydown'\x3e\x3c/span\x3e",containerId:"",buttonWidget:n,buttonWidgetCloseClass:"dijitStackCloseButton",pane2button:function(b){return a.byId(this.id+ +"_"+b)},postCreate:function(){this.inherited(arguments);this.own(d.subscribe(this.containerId+"-startup",h.hitch(this,"onStartup")),d.subscribe(this.containerId+"-addChild",h.hitch(this,"onAddChild")),d.subscribe(this.containerId+"-removeChild",h.hitch(this,"onRemoveChild")),d.subscribe(this.containerId+"-selectChild",h.hitch(this,"onSelectChild")),d.subscribe(this.containerId+"-containerKeyDown",h.hitch(this,"onContainerKeyDown")));this.containerNode.dojoClick=!0;this.own(q(this.containerNode,"click", +h.hitch(this,function(b){var c=a.getEnclosingWidget(b.target);if(c!=this.containerNode&&!c.disabled&&c.page)for(b=b.target;b!==this.containerNode;b=b.parentNode)if(k.contains(b,this.buttonWidgetCloseClass)){this.onCloseButtonClick(c.page);break}else if(b==c.domNode){this.onButtonClick(c.page);break}})))},onStartup:function(b){this.textDir=b.textDir;f.forEach(b.children,this.onAddChild,this);if(b.selected)this.onSelectChild(b.selected);var c=a.byId(this.containerId).containerNode,d=h.hitch(this,"pane2button"); +b={title:"label",showtitle:"showLabel",iconclass:"iconClass",closable:"closeButton",tooltip:"title",disabled:"disabled",textdir:"textdir"};var e=function(a,b){return q(c,"attrmodified-"+a,function(a){var c=d(a.detail&&a.detail.widget&&a.detail.widget.id);c&&c.set(b,a.detail.newValue)})},g;for(g in b)this.own(e(g,b[g]))},destroy:function(a){this.destroyDescendants(a);this.inherited(arguments)},onAddChild:function(a,b){var c=new (h.isString(this.buttonWidget)?h.getObject(this.buttonWidget):this.buttonWidget)({id:this.id+ +"_"+a.id,name:this.id+"_"+a.id,label:a.title,disabled:a.disabled,ownerDocument:this.ownerDocument,dir:a.dir,lang:a.lang,textDir:a.textDir||this.textDir,showLabel:a.showTitle,iconClass:a.iconClass,closeButton:a.closable,title:a.tooltip,page:a});this.addChild(c,b);a.controlButton=c;if(!this._currentChild)this.onSelectChild(a);c=a._wrapper.getAttribute("aria-labelledby")?a._wrapper.getAttribute("aria-labelledby")+" "+c.id:c.id;a._wrapper.removeAttribute("aria-label");a._wrapper.setAttribute("aria-labelledby", +c)},onRemoveChild:function(a){this._currentChild===a&&(this._currentChild=null);var b=this.pane2button(a.id);b&&(this.removeChild(b),b.destroy());delete a.controlButton},onSelectChild:function(b){if(b){if(this._currentChild){var c=this.pane2button(this._currentChild.id);c.set("checked",!1);c.focusNode.setAttribute("tabIndex","-1")}c=this.pane2button(b.id);c.set("checked",!0);this._currentChild=b;c.focusNode.setAttribute("tabIndex","0");a.byId(this.containerId)}},onButtonClick:function(c){var d=this.pane2button(c.id); +b.focus(d.focusNode);this._currentChild&&this._currentChild.id===c.id&&d.set("checked",!0);a.byId(this.containerId).selectChild(c)},onCloseButtonClick:function(c){a.byId(this.containerId).closeChild(c);this._currentChild&&(c=this.pane2button(this._currentChild.id))&&b.focus(c.focusNode||c.domNode)},adjacent:function(a){if(!this.isLeftToRight()&&(!this.tabPosition||/top|bottom/.test(this.tabPosition)))a=!a;var b=this.getChildren(),c=f.indexOf(b,this.pane2button(this._currentChild.id)),d=b[c],e;do c= +(c+(a?1:b.length-1))%b.length,e=b[c];while(e.disabled&&e!=d);return e},onkeydown:function(a,b){if(!this.disabled&&!a.altKey){var c=null;if(a.ctrlKey||!a._djpage){switch(a.keyCode){case e.LEFT_ARROW:case e.UP_ARROW:a._djpage||(c=!1);break;case e.PAGE_UP:a.ctrlKey&&(c=!1);break;case e.RIGHT_ARROW:case e.DOWN_ARROW:a._djpage||(c=!0);break;case e.PAGE_DOWN:a.ctrlKey&&(c=!0);break;case e.HOME:for(var d=this.getChildren(),g=0;gd("ie")?(b="\x3ciframe src\x3d'"+(k.dojoBlankHtmlUrl||f.toUrl("dojo/resources/blank.html")||'javascript:""')+"' role\x3d'presentation' style\x3d'position: absolute; left: 0px; top: 0px;z-index: -1; filter:Alpha(Opacity\x3d\"0\");'\x3e",b=document.createElement(b)):(b=n.create("iframe"),b.src='javascript:""',b.className="dijitBackgroundIframe",b.setAttribute("role","presentation"),e.set(b,"opacity",0.1)), +b.tabIndex=-1);return b};this.push=function(b){b.style.display="none";a.push(b)}};p.BackgroundIframe=function(a){if(!a.id)throw Error("no id");if(d("config-bgIframe")){var c=this.iframe=b.pop();a.appendChild(c);7>d("ie")||d("quirks")?(this.resize(a),this._conn=q(a,"resize",h.hitch(this,"resize",a))):e.set(c,{width:"100%",height:"100%"})}};h.extend(p.BackgroundIframe,{resize:function(a){this.iframe&&e.set(this.iframe,{width:a.offsetWidth+"px",height:a.offsetHeight+"px"})},destroy:function(){this._conn&& +(this._conn.remove(),this._conn=null);this.iframe&&(this.iframe.parentNode.removeChild(this.iframe),b.push(this.iframe),delete this.iframe)}});return p.BackgroundIframe})},"dojo/dnd/Avatar":function(){define("../_base/declare ../_base/window ../dom ../dom-attr ../dom-class ../dom-construct ../hccss ../query".split(" "),function(f,p,k,n,e,h,q,d){return f("dojo.dnd.Avatar",null,{constructor:function(b){this.manager=b;this.construct()},construct:function(){var b=h.create("table",{"class":"dojoDndAvatar", +style:{position:"absolute",zIndex:"1999",margin:"0px"}}),a=this.manager.source,c,d=h.create("tbody",null,b),e=h.create("tr",null,d),f=h.create("td",null,e),r=Math.min(5,this.manager.nodes.length),m=0;q("highcontrast")&&h.create("span",{id:"a11yIcon",innerHTML:this.manager.copy?"+":"\x3c"},f);h.create("span",{innerHTML:a.generateText?this._generateText():""},f);for(n.set(e,{"class":"dojoDndAvatarHeader",style:{opacity:0.9}});mm?(m=k+m,0>m&&(m=e)):m=m>=k?k+g:m;for(k&&"string"==typeof f&&(f=f.split(""));m!=n;m+=c)if(f[m]==h)return m;return-1}}var q={},d,b={every:e(!1),some:e(!0),indexOf:h(!0),lastIndexOf:h(!1),forEach:function(a,b,d){var e=0,f=a&&a.length||0;f&&"string"==typeof a&&(a=a.split(""));"string"==typeof b&&(b=q[b]||n(b));if(d)for(;ek("jscript"))&&!k("config-_allow_leaks")){"undefined"==typeof _dojoIEListeners_&&(_dojoIEListeners_=[]);var d=a[b];if(!d||!d.listeners){var e=d,d=Function("event","var callee \x3d arguments.callee; for(var i \x3d 0; i\x3ccallee.listeners.length; i++){var listener \x3d _dojoIEListeners_[callee.listeners[i]]; if(listener){listener.call(this,event);}}");d.listeners=[];a[b]=d;d.global=this;e&&d.listeners.push(_dojoIEListeners_.push(e)-1)}d.listeners.push(a=d.global._dojoIEListeners_.push(c)- +1);return new m(a)}return f.after(a,b,c,!0)},u=function(){this.cancelBubble=!0},v=d._preventDefault=function(){this.bubbledKeyCode=this.keyCode;if(this.ctrlKey)try{this.keyCode=0}catch(a){}this.defaultPrevented=!0;this.returnValue=!1;this.modified=!0}}if(k("touch"))var x=function(){},z=window.orientation,y=function(a){return function(b){var c=b.corrected;if(!c){var d=b.type;try{delete b.type}catch(e){}if(b.type){if(k("touch-can-modify-event-delegate"))x.prototype=b,c=new x;else{var c={},g;for(g in b)c[g]= +b[g]}c.preventDefault=function(){b.preventDefault()};c.stopPropagation=function(){b.stopPropagation()}}else c=b,c.type=d;b.corrected=c;if("resize"==d){if(z==window.orientation)return null;z=window.orientation;c.type="orientationchange";return a.call(this,c)}"rotation"in c||(c.rotation=0,c.scale=1);var d=c.changedTouches[0],f;for(f in d)delete c[f],c[f]=d[f]}return a.call(this,c)}};return d})},"dijit/form/_CheckBoxMixin":function(){define(["dojo/_base/declare","dojo/dom-attr"],function(f,p){return f("dijit.form._CheckBoxMixin", +null,{type:"checkbox",value:"on",readOnly:!1,_aria_attr:"aria-checked",_setReadOnlyAttr:function(f){this._set("readOnly",f);p.set(this.focusNode,"readOnly",f)},_setLabelAttr:void 0,_getSubmitValue:function(f){return null==f||""===f?"on":f},_setValueAttr:function(f){f=this._getSubmitValue(f);this._set("value",f);p.set(this.focusNode,"value",f)},reset:function(){this.inherited(arguments);this._set("value",this._getSubmitValue(this.params.value));p.set(this.focusNode,"value",this.value)},_onClick:function(f){return this.readOnly? +(f.stopPropagation(),f.preventDefault(),!1):this.inherited(arguments)}})})},"dojo/_base/fx":function(){define("./kernel ./config ./lang ../Evented ./Color ../aspect ../sniff ../dom ../dom-style".split(" "),function(f,p,k,n,e,h,q,d,b){var a=k.mixin,c={},l=c._Line=function(a,b){this.start=a;this.end=b};l.prototype.getValue=function(a){return(this.end-this.start)*a+this.start};var g=c.Animation=function(b){a(this,b);k.isArray(this.curve)&&(this.curve=new l(this.curve[0],this.curve[1]))};g.prototype= +new n;k.extend(g,{duration:350,repeat:0,rate:20,_percent:0,_startRepeatCount:0,_getStep:function(){var a=this._percent,b=this.easing;return b?b(a):a},_fire:function(a,b){var c=b||[];if(this[a])if(p.debugAtAllCosts)this[a].apply(this,c);else try{this[a].apply(this,c)}catch(d){console.error("exception in animation handler for:",a),console.error(d)}return this},play:function(a,b){this._delayTimer&&this._clearTimer();if(b)this._stopTimer(),this._active=this._paused=!1,this._percent=0;else if(this._active&& +!this._paused)return this;this._fire("beforeBegin",[this.node]);var c=a||this.delay,d=k.hitch(this,"_play",b);if(0this._percent?this._startTimer():(this._active=!1,0=s&&(clearInterval(r),r=null,s=0)}});var t=q("ie")?function(a){var c=a.style;!c.width.length&&"auto"==b.get(a,"width")&&(c.width="auto")}:function(){};c._fade=function(e){e.node=d.byId(e.node);var g=a({properties:{}},e);e=g.properties.opacity={};e.start=!("start"in g)?function(){return+b.get(g.node,"opacity")||0}:g.start;e.end=g.end;e=c.animateProperty(g);h.after(e,"beforeBegin",k.partial(t,g.node),!0);return e};c.fadeIn= +function(b){return c._fade(a({end:1},b))};c.fadeOut=function(b){return c._fade(a({end:0},b))};c._defaultEasing=function(a){return 0.5+Math.sin((a+1.5)*Math.PI)/2};var w=function(a){this._properties=a;for(var b in a){var c=a[b];c.start instanceof e&&(c.tempColor=new e)}};w.prototype.getValue=function(a){var b={},c;for(c in this._properties){var d=this._properties[c],g=d.start;g instanceof e?b[c]=e.blendColors(g,d.end,a,d.tempColor).toCss():k.isArray(g)||(b[c]=(d.end-g)*a+g+("opacity"!=c?d.units||"px": +0))}return b};c.animateProperty=function(c){var m=c.node=d.byId(c.node);c.easing||(c.easing=f._defaultEasing);c=new g(c);h.after(c,"beforeBegin",k.hitch(c,function(){var c={},d;for(d in this.properties){if("width"==d||"height"==d)this.node.display="block";var g=this.properties[d];k.isFunction(g)&&(g=g(m));g=c[d]=a({},k.isObject(g)?g:{end:g});k.isFunction(g.start)&&(g.start=g.start(m));k.isFunction(g.end)&&(g.end=g.end(m));var f=0<=d.toLowerCase().indexOf("color"),l=function(a,c){var d={height:a.offsetHeight, +width:a.offsetWidth}[c];if(void 0!==d)return d;d=b.get(a,c);return"opacity"==c?+d:f?d:parseFloat(d)};"end"in g?"start"in g||(g.start=l(m,d)):g.end=l(m,d);f?(g.start=new e(g.start),g.end=new e(g.end)):g.start="opacity"==d?+g.start:parseFloat(g.start)}this.curve=new w(c)}),!0);h.after(c,"onAnimate",k.hitch(b,"set",c.node),!0);return c};c.anim=function(a,b,d,e,f,m){return c.animateProperty({node:a,duration:d||g.prototype.duration,properties:b,easing:e,onEnd:f}).play(m||0)};a(f,c);f._Animation=g;return c})}, +"dijit/layout/ContentPane":function(){define("dojo/_base/kernel dojo/_base/lang ../_Widget ../_Container ./_ContentPaneResizeMixin dojo/string dojo/html dojo/_base/array dojo/_base/declare dojo/_base/Deferred dojo/dom dojo/dom-attr dojo/dom-construct dojo/_base/xhr dojo/i18n dojo/when dojo/i18n!../nls/loading".split(" "),function(f,p,k,n,e,h,q,d,b,a,c,l,g,s,r,m){return b("dijit.layout.ContentPane",[k,n,e],{href:"",content:"",extractContent:!1,parseOnLoad:!0,parserScope:f._scopeName,preventCache:!1, +preload:!1,refreshOnShow:!1,loadingMessage:"\x3cspan class\x3d'dijitContentPaneLoading'\x3e\x3cspan class\x3d'dijitInline dijitIconLoading'\x3e\x3c/span\x3e${loadingState}\x3c/span\x3e",errorMessage:"\x3cspan class\x3d'dijitContentPaneError'\x3e\x3cspan class\x3d'dijitInline dijitIconError'\x3e\x3c/span\x3e${errorState}\x3c/span\x3e",isLoaded:!1,baseClass:"dijitContentPane",ioArgs:{},onLoadDeferred:null,_setTitleAttr:null,stopParser:!0,template:!1,markupFactory:function(a,b,c){var d=new c(a,b);return!d.href&& +d._contentSetter&&d._contentSetter.parseDeferred&&!d._contentSetter.parseDeferred.isFulfilled()?d._contentSetter.parseDeferred.then(function(){return d}):d},create:function(a,b){if((!a||!a.template)&&b&&!("href"in a)&&!("content"in a)){b=c.byId(b);for(var d=b.ownerDocument.createDocumentFragment();b.firstChild;)d.appendChild(b.firstChild);a=p.delegate(a,{content:d})}this.inherited(arguments,[a,b])},postMixInProperties:function(){this.inherited(arguments);var a=r.getLocalization("dijit","loading", +this.lang);this.loadingMessage=h.substitute(this.loadingMessage,a);this.errorMessage=h.substitute(this.errorMessage,a)},buildRendering:function(){this.inherited(arguments);this.containerNode||(this.containerNode=this.domNode);this.domNode.removeAttribute("title")},startup:function(){this.inherited(arguments);this._contentSetter&&d.forEach(this._contentSetter.parseResults,function(a){!a._started&&(!a._destroyed&&p.isFunction(a.startup))&&(a.startup(),a._started=!0)},this)},_startChildren:function(){d.forEach(this.getChildren(), +function(a){!a._started&&(!a._destroyed&&p.isFunction(a.startup))&&(a.startup(),a._started=!0)});this._contentSetter&&d.forEach(this._contentSetter.parseResults,function(a){!a._started&&(!a._destroyed&&p.isFunction(a.startup))&&(a.startup(),a._started=!0)},this)},setHref:function(a){f.deprecated("dijit.layout.ContentPane.setHref() is deprecated. Use set('href', ...) instead.","","2.0");return this.set("href",a)},_setHrefAttr:function(b){this.cancel();this.onLoadDeferred=new a(p.hitch(this,"cancel")); +this.onLoadDeferred.then(p.hitch(this,"onLoad"));this._set("href",b);this.preload||this._created&&this._isShown()?this._load():this._hrefChanged=!0;return this.onLoadDeferred},setContent:function(a){f.deprecated("dijit.layout.ContentPane.setContent() is deprecated. Use set('content', ...) instead.","","2.0");this.set("content",a)},_setContentAttr:function(b){this._set("href","");this.cancel();this.onLoadDeferred=new a(p.hitch(this,"cancel"));this._created&&this.onLoadDeferred.then(p.hitch(this,"onLoad")); +this._setContent(b||"");this._isDownloaded=!1;return this.onLoadDeferred},_getContentAttr:function(){return this.containerNode.innerHTML},cancel:function(){this._xhrDfd&&-1==this._xhrDfd.fired&&this._xhrDfd.cancel();delete this._xhrDfd;this.onLoadDeferred=null},destroy:function(){this.cancel();this.inherited(arguments)},destroyRecursive:function(a){this._beingDestroyed||this.inherited(arguments)},_onShow:function(){this.inherited(arguments);if(this.href&&!this._xhrDfd&&(!this.isLoaded||this._hrefChanged|| +this.refreshOnShow))return this.refresh()},refresh:function(){this.cancel();this.onLoadDeferred=new a(p.hitch(this,"cancel"));this.onLoadDeferred.then(p.hitch(this,"onLoad"));this._load();return this.onLoadDeferred},_load:function(){this._setContent(this.onDownloadStart(),!0);var a=this,b={preventCache:this.preventCache||this.refreshOnShow,url:this.href,handleAs:"text"};p.isObject(this.ioArgs)&&p.mixin(b,this.ioArgs);var c=this._xhrDfd=(this.ioMethod||s.get)(b),d;c.then(function(b){d=b;try{return a._isDownloaded= +!0,a._setContent(b,!1)}catch(c){a._onError("Content",c)}},function(b){c.canceled||a._onError("Download",b);delete a._xhrDfd;return b}).then(function(){a.onDownloadEnd();delete a._xhrDfd;return d});delete this._hrefChanged},_onLoadHandler:function(a){this._set("isLoaded",!0);try{this.onLoadDeferred.resolve(a)}catch(b){console.error("Error "+this.widgetId+" running custom onLoad code: "+b.message)}},_onUnloadHandler:function(){this._set("isLoaded",!1);try{this.onUnload()}catch(a){console.error("Error "+ +this.widgetId+" running custom onUnload code: "+a.message)}},destroyDescendants:function(a){this.isLoaded&&this._onUnloadHandler();var b=this._contentSetter;d.forEach(this.getChildren(),function(b){b.destroyRecursive?b.destroyRecursive(a):b.destroy&&b.destroy(a);b._destroyed=!0});b&&(d.forEach(b.parseResults,function(b){b._destroyed||(b.destroyRecursive?b.destroyRecursive(a):b.destroy&&b.destroy(a),b._destroyed=!0)}),delete b.parseResults);a||g.empty(this.containerNode);delete this._singleChild}, +_setContent:function(a,b){a=this.preprocessContent(a);this.destroyDescendants();var c=this._contentSetter;c&&c instanceof q._ContentSetter||(c=this._contentSetter=new q._ContentSetter({node:this.containerNode,_onError:p.hitch(this,this._onError),onContentError:p.hitch(this,function(a){a=this.onContentError(a);try{this.containerNode.innerHTML=a}catch(b){console.error("Fatal "+this.id+" could not change content due to "+b.message,b)}})}));var d=p.mixin({cleanContent:this.cleanContent,extractContent:this.extractContent, +parseContent:!a.domNode&&this.parseOnLoad,parserScope:this.parserScope,startup:!1,dir:this.dir,lang:this.lang,textDir:this.textDir},this._contentSetterParams||{}),d=c.set(p.isObject(a)&&a.domNode?a.domNode:a,d),e=this;return m(d&&d.then?d:c.parseDeferred,function(){delete e._contentSetterParams;b||(e._started&&(e._startChildren(),e._scheduleLayout()),e._onLoadHandler(a))})},preprocessContent:function(a){return a},_onError:function(a,b,c){this.onLoadDeferred.reject(b);a=this["on"+a+"Error"].call(this, +b);c?console.error(c,b):a&&this._setContent(a,!0)},onLoad:function(){},onUnload:function(){},onDownloadStart:function(){return this.loadingMessage},onContentError:function(){},onDownloadError:function(){return this.errorMessage},onDownloadEnd:function(){}})})},"cbtree/store/Natural":function(){define(["dojo/_base/declare","./Memory"],function(f,p){return f([p],{_insertBefore:function(f,n,e){var h=f.length;e&&(h=f.indexOf(e),-1!=h&&(e=f.indexOf(n),-1!=e&&(h=h>e?h-1:h,f.splice(e,1))));f.splice(h,0, +n);return h},_writeObject:function(f,n,e,h){if(h&&h.before){var q=this._anyToObject(h.before);if(!e||-1==e)this._applyDefaults(f,n),this.total++;this._insertBefore(this._data,n,q);this._indexData();return f}return this.inherited(arguments)},toString:function(){return"[object NaturalStore]"}})})},"dijit/_Contained":function(){define(["dojo/_base/declare","./registry"],function(f,p){return f("dijit._Contained",null,{_getSibling:function(f){var n=this.getParent();return n&&n._getSiblingOfChild&&n._getSiblingOfChild(this, +"previous"==f?-1:1)||null},getPreviousSibling:function(){return this._getSibling("previous")},getNextSibling:function(){return this._getSibling("next")},getIndexInParent:function(){var f=this.getParent();return!f||!f.getIndexOfChild?-1:f.getIndexOfChild(this)}})})},"dijit/_KeyNavContainer":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-attr dojo/_base/kernel dojo/keys dojo/_base/lang ./registry ./_Container ./_FocusMixin ./_KeyNavMixin".split(" "),function(f,p,k,n,e,h,q,d,b,a){return p("dijit._KeyNavContainer", +[b,a,d],{connectKeyNavHandlers:function(a,b){var d=this._keyNavCodes={},k=h.hitch(this,"focusPrev"),r=h.hitch(this,"focusNext");f.forEach(a,function(a){d[a]=k});f.forEach(b,function(a){d[a]=r});d[e.HOME]=h.hitch(this,"focusFirstChild");d[e.END]=h.hitch(this,"focusLastChild")},startupKeyNavChildren:function(){n.deprecated("startupKeyNavChildren() call no longer needed","","2.0")},startup:function(){this.inherited(arguments);f.forEach(this.getChildren(),h.hitch(this,"_startupChild"))},addChild:function(a, +b){this.inherited(arguments);this._startupChild(a)},_startupChild:function(a){a.set("tabIndex","-1")},_getFirst:function(){var a=this.getChildren();return a.length?a[0]:null},_getLast:function(){var a=this.getChildren();return a.length?a[a.length-1]:null},focusNext:function(){this.focusChild(this._getNextFocusableChild(this.focusedChild,1))},focusPrev:function(){this.focusChild(this._getNextFocusableChild(this.focusedChild,-1),!0)},childSelector:function(a){return(a=q.byNode(a))&&a.getParent()==this}})})}, +"dijit/layout/utils":function(){define(["dojo/_base/array","dojo/dom-class","dojo/dom-geometry","dojo/dom-style","dojo/_base/lang"],function(f,p,k,n,e){function h(d,b){var a=d.resize?d.resize(b):k.setMarginBox(d.domNode,b);a?e.mixin(d,a):(e.mixin(d,k.getMarginBox(d.domNode)),e.mixin(d,b))}var q={marginBox2contentBox:function(d,b){var a=n.getComputedStyle(d),c=k.getMarginExtents(d,a),e=k.getPadBorderExtents(d,a);return{l:n.toPixelValue(d,a.paddingLeft),t:n.toPixelValue(d,a.paddingTop),w:b.w-(c.w+e.w), +h:b.h-(c.h+e.h)}},layoutChildren:function(d,b,a,c,l){b=e.mixin({},b);p.add(d,"dijitLayoutContainer");a=f.filter(a,function(a){return"center"!=a.region&&"client"!=a.layoutAlign}).concat(f.filter(a,function(a){return"center"==a.region||"client"==a.layoutAlign}));f.forEach(a,function(a){var d=a.domNode,e=a.region||a.layoutAlign;if(!e)throw Error("No region setting for "+a.id);var f=d.style;f.left=b.l+"px";f.top=b.t+"px";f.position="absolute";p.add(d,"dijitAlign"+(e.substring(0,1).toUpperCase()+e.substring(1))); +d={};c&&c==a.id&&(d["top"==a.region||"bottom"==a.region?"h":"w"]=l);"leading"==e&&(e=a.isLeftToRight()?"left":"right");"trailing"==e&&(e=a.isLeftToRight()?"right":"left");"top"==e||"bottom"==e?(d.w=b.w,h(a,d),b.h-=a.h,"top"==e?b.t+=a.h:f.top=b.t+b.h+"px"):"left"==e||"right"==e?(d.h=b.h,h(a,d),b.w-=a.w,"left"==e?b.l+=a.w:f.left=b.l+b.w+"px"):("client"==e||"center"==e)&&h(a,b)})}};e.setObject("dijit.layout.utils",q);return q})},"dgrid/List":function(){define("dojo/_base/declare dojo/dom-construct dojo/dom-class dojo/on dojo/has ./util/misc dojo/_base/sniff".split(" "), +function(f,p,k,n,e,h){function q(a,b){a.className="dgrid-scrollbar-measure";document.body.appendChild(a);var c=a["offset"+b]-a["client"+b];a.className="";a.parentNode&&document.body.removeChild(a);return c}function d(a){k.replace(this.domNode,a,this._class||"");this._class=a}function b(){return this._class}var a=[];e("mozilla")&&a.push("has-mozilla");e("touch")&&a.push("has-touch");k.add(document.documentElement,a);e.add("pointer",function(a){return"PointerEvent"in a?"pointer":"MSPointerEvent"in a? +"MSPointer":!1});var c,l;e.add("dom-scrollbar-width",function(a,b,c){return q(c,"Width")});e.add("dom-scrollbar-height",function(a,b,c){return q(c,"Height")});e.add("dom-rtl-scrollbar-left",function(a,b,c){a=document.createElement("div");c.className="dgrid-scrollbar-measure";c.setAttribute("dir","rtl");c.appendChild(a);document.body.appendChild(c);b=!!e("ie")||!!e("trident")||/\bEdge\//.test(navigator.userAgent)||a.offsetLeft>=e("dom-scrollbar-width");c.className="";c.parentNode&&document.body.removeChild(c); +p.destroy(a);c.removeAttribute("dir");return b});var g=0,s=function(){this._started&&this.resize()},r=f(null,{tabableHeader:!1,showHeader:!1,showFooter:!1,maintainOddEven:!0,cleanAddedRules:!0,addUiClasses:!0,highlightDuration:250,postscript:function(a,b){var c=this;(this._Row=function(a,b,c){this.id=a;this.data=b;this.element=c}).prototype.remove=function(){c.removeRow(this.element)};b&&(this.srcNodeRef=b=b.nodeType?b:document.getElementById(b));this.create(a,b)},listType:"list",create:function(a, +b){var c=this.domNode=b||document.createElement("div"),e;a&&(this.params=a,f.safeMixin(this,a),e=a["class"]||a.className||c.className);this.sort=this.sort||[];this._listeners=[];this._rowIdToObject={};this.postMixInProperties&&this.postMixInProperties();this.id=c.id=c.id||this.id||r.autoIdPrefix+g++;this.buildRendering();e&&d.call(this,e);this.postCreate();delete this.srcNodeRef;this.domNode.offsetHeight&&this.startup()},buildRendering:function(){var a=this.domNode,b=this.addUiClasses,c=this,d,g, +f;f=this.isRTL="rtl"===(document.body.dir||document.documentElement.dir||document.body.style.direction).toLowerCase();a.className="";a.setAttribute("role","grid");k.add(a,"dgrid dgrid-"+this.listType+(b?" ui-widget":""));d=this.headerNode=p.create("div",{className:"dgrid-header dgrid-header-row"+(b?" ui-widget-header":"")+(this.showHeader?"":" dgrid-header-hidden")},a);g=this.bodyNode=p.create("div",{className:"dgrid-scroller"},a);e("ff")&&(g.tabIndex=-1);this.headerScrollNode=p.create("div",{className:"dgrid-header dgrid-header-scroll dgrid-scrollbar-width"+ +(b?" ui-widget-header":"")},a);this.footerNode=p.create("div",{className:"dgrid-footer"+(this.showFooter?"":" dgrid-footer-hidden")},a);f&&(a.className+=" dgrid-rtl"+(e("dom-rtl-scrollbar-left")?" dgrid-rtl-swap":""));n(g,"scroll",function(b){c.showHeader&&(d.scrollLeft=b.scrollLeft||g.scrollLeft);b.stopPropagation();n.emit(a,"scroll",{scrollTarget:g})});this.configStructure();this.renderHeader();this.contentNode=this.touchNode=p.create("div",{className:"dgrid-content"+(b?" ui-widget-content":"")}, +this.bodyNode);this._listeners.push(this._resizeHandle=n(window,"resize",h.throttleDelayed(s,this)))},postCreate:function(){},startup:function(){this._started||(this.inherited(arguments),this._started=!0,this.resize(),this.set("sort",this.sort))},configStructure:function(){},resize:function(){var a=this.bodyNode,b=this.footerNode,b=this.showFooter?b.offsetHeight:0;this.headerScrollNode.style.height=a.style.marginTop=this.headerNode.offsetHeight+"px";a.style.marginBottom=b+"px";c||(c=e("dom-scrollbar-width"), +l=e("dom-scrollbar-height"),e("ie")&&(c++,l++),h.addCssRule(".dgrid-scrollbar-width","width: "+c+"px"),h.addCssRule(".dgrid-scrollbar-height","height: "+l+"px"),17!==c&&(h.addCssRule(".dgrid-header-row","right: "+c+"px"),h.addCssRule(".dgrid-rtl-swap .dgrid-header-row","left: "+c+"px")))},addCssRule:function(a,b){var c=h.addCssRule(a,b);this.cleanAddedRules&&this._listeners.push(c);return c},on:function(a,b){var c=n(this.domNode,a,b);e("dom-addeventlistener")||this._listeners.push(c);return c},cleanup:function(){for(var a in this._rowIdToObject)if(this._rowIdToObject[a]!== +this.columns){var b=document.getElementById(a);b&&this.removeRow(b,!0)}},destroy:function(){if(this._listeners){for(var a=this._listeners.length;a--;)this._listeners[a].remove();this._listeners=null}this._started=!1;this.cleanup();p.destroy(this.domNode)},refresh:function(){this.cleanup();this._rowIdToObject={};this._autoRowId=0;this.contentNode.innerHTML="";this.scrollTo({x:0,y:0})},highlightRow:function(a,b){var c="dgrid-highlight"+(this.addUiClasses?" ui-state-highlight":"");a=a.element||a;k.add(a, +c);setTimeout(function(){k.remove(a,c)},b||this.highlightDuration)},adjustRowIndices:function(a){var b=a.rowIndex;if(-1b?"previousSibling":"nextSibling"]){do if((e= +a)&&-1<(e.className+" ").indexOf(c+" ")){g=e;b+=0>b?1:-1;break}while(a=(!d||!e.hidden)&&e[0>b?"lastChild":"firstChild"])}else if(e=e.parentNode,!e||e===this.bodyNode||e===this.headerNode)break;while(b);return g},up:function(a,b,c){a.element||(a=this.row(a));return this.row(this._move(a,-(b||1),"dgrid-row",c))},down:function(a,b,c){a.element||(a=this.row(a));return this.row(this._move(a,b||1,"dgrid-row",c))},scrollTo:function(a){"undefined"!==typeof a.x&&(this.bodyNode.scrollLeft=a.x);"undefined"!== +typeof a.y&&(this.bodyNode.scrollTop=a.y)},getScrollPosition:function(){return{x:this.bodyNode.scrollLeft,y:this.bodyNode.scrollTop}},get:function(a){var b="_get"+a.charAt(0).toUpperCase()+a.slice(1);return"function"===typeof this[b]?this[b].apply(this,[].slice.call(arguments,1)):this[a]},set:function(a,b){if("object"===typeof a)for(var c in a)this.set(c,a[c]);else c="_set"+a.charAt(0).toUpperCase()+a.slice(1),"function"===typeof this[c]?this[c].apply(this,[].slice.call(arguments,1)):this[a]=b;return this}, +_getClass:b,_setClass:d,_getClassName:b,_setClassName:d,_setSort:function(a,b){this.sort="string"!==typeof a?a:[{property:a,descending:b}];this._applySort()},_applySort:function(){this.refresh();if(this._lastCollection){var a=this.sort;if(a&&0g!==c?1:-1})}this.renderArray(this._lastCollection)}},_setShowHeader:function(a){var b=this.headerNode; +this.showHeader=a;k.toggle(b,"dgrid-header-hidden",!a);this.renderHeader();this.resize();a&&(b.scrollLeft=this.getScrollPosition().x)},_setShowFooter:function(a){this.showFooter=a;k.toggle(this.footerNode,"dgrid-footer-hidden",!a);this.resize()}});r.autoIdPrefix="dgrid_";return r})},"dijit/form/DataList":function(){define("dojo/_base/declare dojo/dom dojo/_base/lang dojo/query dojo/store/Memory ../registry".split(" "),function(f,p,k,n,e,h){function q(d){return{id:d.value,value:d.value,name:k.trim(d.innerText|| +d.textContent||"")}}return f("dijit.form.DataList",e,{constructor:function(d,b){this.domNode=p.byId(b);k.mixin(this,d);this.id&&h.add(this);this.domNode.style.display="none";this.inherited(arguments,[{data:n("option",this.domNode).map(q)}])},destroy:function(){h.remove(this.id)},fetchSelectedItem:function(){var d=n("\x3e option[selected]",this.domNode)[0]||n("\x3e option",this.domNode)[0];return d&&q(d)}})})},"dojo/promise/tracer":function(){define(["../_base/lang","./Promise","../Evented"],function(f, +p,k){function n(f){setTimeout(function(){h.apply(e,f)},0)}var e=new k,h=e.emit;e.emit=null;p.prototype.trace=function(){var e=f._toArray(arguments);this.then(function(d){n(["resolved",d].concat(e))},function(d){n(["rejected",d].concat(e))},function(d){n(["progress",d].concat(e))});return this};p.prototype.traceRejected=function(){var e=f._toArray(arguments);this.otherwise(function(d){n(["rejected",d].concat(e))});return this};return e})},"dijit/form/CheckBox":function(){define("require dojo/_base/declare dojo/dom-attr dojo/has dojo/query dojo/ready ./ToggleButton ./_CheckBoxMixin dojo/text!./templates/CheckBox.html dojo/NodeList-dom ../a11yclick".split(" "), +function(f,p,k,n,e,h,q,d,b){n("dijit-legacy-requires")&&h(0,function(){f(["dijit/form/RadioButton"])});return p("dijit.form.CheckBox",[q,d],{templateString:b,baseClass:"dijitCheckBox",_setValueAttr:function(a,b){"string"==typeof a&&(this.inherited(arguments),a=!0);this._created&&this.set("checked",a,b)},_getValueAttr:function(){return this.checked&&this._get("value")},_setIconClassAttr:null,_setNameAttr:"focusNode",postMixInProperties:function(){this.inherited(arguments);this.checkedAttrSetting=""}, +_fillContent:function(){},_onFocus:function(){this.id&&e("label[for\x3d'"+this.id+"']").addClass("dijitFocusedLabel");this.inherited(arguments)},_onBlur:function(){this.id&&e("label[for\x3d'"+this.id+"']").removeClass("dijitFocusedLabel");this.inherited(arguments)}})})},"dojo/dom-style":function(){define(["./sniff","./dom"],function(f,p){function k(b,d,e){d=d.toLowerCase();if("auto"==e){if("height"==d)return b.offsetHeight;if("width"==d)return b.offsetWidth}if("fontweight"==d)switch(e){case 700:return"bold"; +default:return"normal"}d in a||(a[d]=c.test(d));return a[d]?h(b,e):e}var n,e={};n=f("webkit")?function(a){var b;if(1==a.nodeType){var c=a.ownerDocument.defaultView;b=c.getComputedStyle(a,null);!b&&a.style&&(a.style.display="",b=c.getComputedStyle(a,null))}return b||{}}:f("ie")&&(9>f("ie")||f("quirks"))?function(a){return 1==a.nodeType&&a.currentStyle?a.currentStyle:{}}:function(a){return 1==a.nodeType?a.ownerDocument.defaultView.getComputedStyle(a,null):{}};e.getComputedStyle=n;var h;h=f("ie")?function(a, +b){if(!b)return 0;if("medium"==b)return 4;if(b.slice&&"px"==b.slice(-2))return parseFloat(b);var c=a.style,d=a.runtimeStyle,e=c.left,f=d.left;d.left=a.currentStyle.left;try{c.left=b,b=c.pixelLeft}catch(l){b=0}c.left=e;d.left=f;return b}:function(a,b){return parseFloat(b)||0};e.toPixelValue=h;var q=function(a,b){try{return a.filters.item("DXImageTransform.Microsoft.Alpha")}catch(c){return b?{}:null}},d=9>f("ie")||10>f("ie")&&f("quirks")?function(a){try{return q(a).Opacity/100}catch(b){return 1}}:function(a){return n(a).opacity}, +b=9>f("ie")||10>f("ie")&&f("quirks")?function(a,c){""===c&&(c=1);var d=100*c;1===c?(a.style.zoom="",q(a)&&(a.style.filter=a.style.filter.replace(/\s*progid:DXImageTransform.Microsoft.Alpha\([^\)]+?\)/i,""))):(a.style.zoom=1,q(a)?q(a,1).Opacity=d:a.style.filter+=" progid:DXImageTransform.Microsoft.Alpha(Opacity\x3d"+d+")",q(a,1).Enabled=!0);if("tr"==a.tagName.toLowerCase())for(d=a.firstChild;d;d=d.nextSibling)"td"==d.tagName.toLowerCase()&&b(d,c);return c}:function(a,b){return a.style.opacity=b},a= +{left:!0,top:!0},c=/margin|padding|width|height|max|min|offset/,l={cssFloat:1,styleFloat:1,"float":1};e.get=function(a,b){var c=p.byId(a),f=arguments.length;if(2==f&&"opacity"==b)return d(c);b=l[b]?"cssFloat"in c.style?"cssFloat":"styleFloat":b;var h=e.getComputedStyle(c);return 1==f?h:k(c,b,h[b]||c.style[b])};e.set=function(a,c,d){var f=p.byId(a),h=arguments.length,k="opacity"==c;c=l[c]?"cssFloat"in f.style?"cssFloat":"styleFloat":c;if(3==h)return k?b(f,d):f.style[c]=d;for(var n in c)e.set(a,n,c[n]); +return e.getComputedStyle(f)};return e})},"dijit/tree/_dndSelector":function(){define("dojo/_base/array dojo/_base/declare dojo/_base/kernel dojo/_base/lang dojo/dnd/common dojo/dom dojo/mouse dojo/on dojo/touch ../a11yclick ./_dndContainer".split(" "),function(f,p,k,n,e,h,q,d,b,a,c){return p("dijit.tree._dndSelector",c,{constructor:function(){this.selection={};this.anchor=null;this.events.push(d(this.tree.domNode,b.press,n.hitch(this,"onMouseDown")),d(this.tree.domNode,b.release,n.hitch(this,"onMouseUp")), +d(this.tree.domNode,b.move,n.hitch(this,"onMouseMove")),d(this.tree.domNode,a.press,n.hitch(this,"onClickPress")),d(this.tree.domNode,a.release,n.hitch(this,"onClickRelease")))},singular:!1,getSelectedTreeNodes:function(){var a=[],b=this.selection,c;for(c in b)a.push(b[c]);return a},selectNone:function(){this.setSelection([]);return this},destroy:function(){this.inherited(arguments);this.selection=this.anchor=null},addTreeNode:function(a,b){this.setSelection(this.getSelectedTreeNodes().concat([a])); +b&&(this.anchor=a);return a},removeTreeNode:function(a){var b=f.filter(this.getSelectedTreeNodes(),function(b){return!h.isDescendant(b.domNode,a.domNode)});this.setSelection(b);return a},isTreeNodeSelected:function(a){return a.id&&!!this.selection[a.id]},setSelection:function(a){var b=this.getSelectedTreeNodes();f.forEach(this._setDifference(b,a),n.hitch(this,function(a){a.setSelected(!1);this.anchor==a&&delete this.anchor;delete this.selection[a.id]}));f.forEach(this._setDifference(a,b),n.hitch(this, +function(a){a.setSelected(!0);this.selection[a.id]=a}));this._updateSelectionProperties()},_setDifference:function(a,b){f.forEach(b,function(a){a.__exclude__=!0});var c=f.filter(a,function(a){return!a.__exclude__});f.forEach(b,function(a){delete a.__exclude__});return c},_updateSelectionProperties:function(){var a=this.getSelectedTreeNodes(),b=[],c=[];f.forEach(a,function(a){var d=a.getTreePath();c.push(a);b.push(d)},this);a=f.map(c,function(a){return a.item});this.tree._set("paths",b);this.tree._set("path", +b[0]||[]);this.tree._set("selectedNodes",c);this.tree._set("selectedNode",c[0]||null);this.tree._set("selectedItems",a);this.tree._set("selectedItem",a[0]||null)},onClickPress:function(a){if(!this.current||!this.current.isExpandable||!this.tree.isExpandoNode(a.target,this.current)){"mousedown"==a.type&&q.isLeft(a)&&a.preventDefault();var b="keydown"==a.type?this.tree.focusedChild:this.current;if(b){var c=e.getCopyKeyState(a),d=b.id;!this.singular&&!a.shiftKey&&this.selection[d]?this._doDeselect=!0: +(this._doDeselect=!1,this.userSelect(b,c,a.shiftKey))}}},onClickRelease:function(a){this._doDeselect&&(this._doDeselect=!1,this.userSelect("keyup"==a.type?this.tree.focusedChild:this.current,e.getCopyKeyState(a),a.shiftKey))},onMouseMove:function(){this._doDeselect=!1},onMouseDown:function(){},onMouseUp:function(){},_compareNodes:function(a,b){if(a===b)return 0;if("sourceIndex"in document.documentElement)return a.sourceIndex-b.sourceIndex;if("compareDocumentPosition"in document.documentElement)return a.compareDocumentPosition(b)& +2?1:-1;if(document.createRange){var c=doc.createRange();c.setStartBefore(a);var d=doc.createRange();d.setStartBefore(b);return c.compareBoundaryPoints(c.END_TO_END,d)}throw Error("dijit.tree._compareNodes don't know how to compare two different nodes in this browser");},userSelect:function(a,b,c){if(this.singular)this.anchor==a&&b?this.selectNone():(this.setSelection([a]),this.anchor=a);else if(c&&this.anchor){b=this._compareNodes(this.anchor.rowNode,a.rowNode);c=this.anchor;0>b?b=c:(b=a,a=c);for(c= +[];b!=a;)c.push(b),b=this.tree._getNext(b);c.push(a);this.setSelection(c)}else this.selection[a.id]&&b?this.removeTreeNode(a):b?this.addTreeNode(a,!0):(this.setSelection([a]),this.anchor=a)},getItem:function(a){return{data:this.selection[a],type:["treeNode"]}},forInSelectedItems:function(a,b){b=b||k.global;for(var c in this.selection)a.call(b,this.getItem(c),c,this)}})})},"cbtree/store/ObjectStore":function(){define("module dojo/_base/declare dojo/_base/lang dojo/store/util/QueryResults ./Hierarchy ../Evented ../errors/createError!../errors/CBTErrors.json".split(" "), +function(f,p,k,n,e,h,q){var d=q(f.id);return p([e,h],{eventable:!0,add:function(b,a){var c=this.inherited(arguments);void 0!=c&&this.emit("new",{type:"new",detail:{item:b}});return c},put:function(b,a){var c=this._getObjectId(b,a),e=this._indexId[c],g,f=!1;if(0<=e){if(a&&!1===a.overwrite)throw new d("ItemExist","put");g=this._data[e];f=!0}c=this._writeObject(c,b,e,a);f?this.emit("change",{type:"change",detail:{item:b,oldItem:g}}):this.emit("new",{type:"new",detail:{item:b}});return c},remove:function(b){var a= +this.get(b);if(a){var c=this.inherited(arguments);c&&this.emit("delete",{type:"delete",detail:{item:a}});return c}return!1}})})},"dojo/dom-construct":function(){define("exports ./_base/kernel ./sniff ./_base/window ./dom ./dom-attr".split(" "),function(f,p,k,n,e,h){function q(a,b){var c=b.parentNode;c&&c.insertBefore(a,b)}function d(a){if("innerHTML"in a)try{a.innerHTML="";return}catch(b){}for(var c;c=a.lastChild;)a.removeChild(c)}var b={option:["select"],tbody:["table"],thead:["table"],tfoot:["table"], +tr:["table","tbody"],td:["table","tbody","tr"],th:["table","thead","tr"],legend:["fieldset"],caption:["table"],colgroup:["table"],col:["table","colgroup"],li:["ul"]},a=/<\s*([\w\:]+)/,c={},l=0,g="__"+p._scopeName+"ToDomId",s;for(s in b)b.hasOwnProperty(s)&&(p=b[s],p.pre="option"==s?'\x3cselect multiple\x3d"multiple"\x3e':"\x3c"+p.join("\x3e\x3c")+"\x3e",p.post="\x3c/"+p.reverse().join("\x3e\x3c/")+"\x3e");var r;8>=k("ie")&&(r=function(a){a.__dojo_html5_tested="yes";var b=m("div",{innerHTML:"\x3cnav\x3ea\x3c/nav\x3e", +style:{visibility:"hidden"}},a.body);1!==b.childNodes.length&&"abbr article aside audio canvas details figcaption figure footer header hgroup mark meter nav output progress section summary time video".replace(/\b\w+\b/g,function(b){a.createElement(b)});t(b)});f.toDom=function(d,e){e=e||n.doc;var f=e[g];f||(e[g]=f=++l+"",c[f]=e.createElement("div"));8>=k("ie")&&!e.__dojo_html5_tested&&e.body&&r(e);d+="";var m=d.match(a),h=m?m[1].toLowerCase():"",f=c[f];if(m&&b[h]){m=b[h];f.innerHTML=m.pre+d+m.post; +for(m=m.length;m;--m)f=f.firstChild}else f.innerHTML=d;if(1==f.childNodes.length)return f.removeChild(f.firstChild);for(h=e.createDocumentFragment();m=f.firstChild;)h.appendChild(m);return h};f.place=function(a,b,c){b=e.byId(b);"string"==typeof a&&(a=/^\s*c?0:c])}else switch(c){case "before":q(a,b);break;case "after":c=a;(d=b.parentNode)&&(d.lastChild==b?d.appendChild(c): +d.insertBefore(c,b.nextSibling));break;case "replace":b.parentNode.replaceChild(a,b);break;case "only":f.empty(b);b.appendChild(a);break;case "first":if(b.firstChild){q(a,b.firstChild);break}default:b.appendChild(a)}return a};var m=f.create=function(a,b,c,d){var g=n.doc;c&&(c=e.byId(c),g=c.ownerDocument);"string"==typeof a&&(a=g.createElement(a));b&&h.set(a,b);c&&f.place(a,c,d);return a};f.empty=function(a){d(e.byId(a))};var t=f.destroy=function(a){if(a=e.byId(a)){var b=a;a=a.parentNode;b.firstChild&& +d(b);a&&(k("ie")&&a.canHaveChildren&&"removeNode"in b?b.removeNode(!1):a.removeChild(b))}}})},"dijit/_Container":function(){define(["dojo/_base/array","dojo/_base/declare","dojo/dom-construct","dojo/_base/kernel"],function(f,p,k,n){return p("dijit._Container",null,{buildRendering:function(){this.inherited(arguments);this.containerNode||(this.containerNode=this.domNode)},addChild:function(e,f){var n=this.containerNode;if(0arguments.length&&(b=this==l.manager().target);if(b){if(this.copyOnly)return this.selfCopy}else return this.copyOnly;return!1},destroy:function(){g.superclass.destroy.call(this);f.forEach(this.topics,function(a){a.remove()});this.targetAnchor=null},onMouseMove:function(b){if(!(this.isDragging&&"Disabled"==this.targetState)){g.superclass.onMouseMove.call(this,b);var c=l.manager();if(!this.isDragging&&this.mouseDown&&this.isSource&&(Math.abs(b.pageX-this._lastX)>this.delay||Math.abs(b.pageY- +this._lastY)>this.delay)){var d=this.getSelectedNodes();d.length&&c.startDrag(this,d,this.copyState(a.getCopyKeyState(b),!0))}if(this.isDragging){d=!1;if(this.current){if(!this.targetBox||this.targetAnchor!=this.current)this.targetBox=h.position(this.current,!0);d=this.horizontal?b.pageX-this.targetBox.x]+>|]*>[\s\S]*?<\/title>)/ig,"")},_emptyNode:h.empty,_setNodeContent:function(a,b){h.empty(a);if(b)if("number"==typeof b&&(b=b.toString()),"string"==typeof b&&(b=h.toDom(b,a.ownerDocument)),!b.nodeType&&p.isArrayLike(b))for(var d=b.length,e=0;e]*>\s*([\s\S]+)\s*<\/body>/im);c&&(a=c[1])}this.empty();this.content=a;return this.node},onEnd:function(){this.parseContent&&this._parse();return this.node},tearDown:function(){delete this.parseResults;delete this.parseDeferred;delete this.node;delete this.content},onContentError:function(a){return"Error occurred setting content: "+a},onExecError:function(a){return"Error occurred executing scripts: "+ +a},_mixin:function(a){var b={},d;for(d in a)d in b||(this[d]=a[d])},_parse:function(){var a=this.node;try{var b={};k.forEach(["dir","lang","textDir"],function(a){this[a]&&(b[a]=this[a])},this);var d=this;this.parseDeferred=q.parse({rootNode:a,noStart:!this.startup,inherited:b,scope:this.parserScope}).then(function(a){return d.parseResults=a},function(a){d._onError("Content",a,"Error parsing in _ContentSetter#"+this.id)})}catch(e){this._onError("Content",e,"Error parsing in _ContentSetter#"+this.id)}}, +_onError:function(a,c,d){a=this["on"+a+"Error"].call(this,c);d?console.error(d,c):a&&b._setNodeContent(this.node,a,!0)}}),set:function(a,c,d){void 0==c&&(c="");"number"==typeof c&&(c=c.toString());return d?(new b._ContentSetter(p.mixin(d,{content:c,node:a}))).set():b._setNodeContent(a,c,!0)}};p.setObject("dojo.html",b);return b})},"dijit/form/ValidationTextBox":function(){define("dojo/_base/declare dojo/_base/kernel dojo/_base/lang dojo/i18n ./TextBox ../Tooltip dojo/text!./templates/ValidationTextBox.html dojo/i18n!./nls/validate".split(" "), +function(f,p,k,n,e,h,q){var d=f("dijit.form.ValidationTextBox",e,{templateString:q,required:!1,promptMessage:"",invalidMessage:"$_unset_$",missingMessage:"$_unset_$",message:"",constraints:{},pattern:".*",regExp:"",regExpGen:function(){},state:"",tooltipPosition:[],_deprecateRegExp:function(b,a){a!=d.prototype[b]&&(p.deprecated("ValidationTextBox id\x3d"+this.id+", set('"+b+"', ...) is deprecated. Use set('pattern', ...) instead.","","2.0"),this.set("pattern",a))},_setRegExpGenAttr:function(b){this._deprecateRegExp("regExpGen", +b);this._set("regExpGen",this._computeRegexp)},_setRegExpAttr:function(b){this._deprecateRegExp("regExp",b)},_setValueAttr:function(){this.inherited(arguments);this._refreshState()},validator:function(b,a){return RegExp("^(?:"+this._computeRegexp(a)+")"+(this.required?"":"?")+"$").test(b)&&(!this.required||!this._isEmpty(b))&&(this._isEmpty(b)||void 0!==this.parse(b,a))},_isValidSubset:function(){return 0==this.textbox.value.search(this._partialre)},isValid:function(){return this.validator(this.textbox.value, +this.get("constraints"))},_isEmpty:function(b){return(this.trim?/^\s*$/:/^$/).test(b)},getErrorMessage:function(){var b="$_unset_$"==this.invalidMessage?this.messages.invalidMessage:!this.invalidMessage?this.promptMessage:this.invalidMessage,a="$_unset_$"==this.missingMessage?this.messages.missingMessage:!this.missingMessage?b:this.missingMessage;return this.required&&this._isEmpty(this.textbox.value)?a:b},getPromptMessage:function(){return this.promptMessage},_maskValidSubsetError:!0,validate:function(b){var a= +"",c=this.disabled||this.isValid(b);c&&(this._maskValidSubsetError=!0);var d=this._isEmpty(this.textbox.value),e=!c&&b&&this._isValidSubset();this._set("state",c?"":((!this._hasBeenBlurred||b)&&d||e)&&(this._maskValidSubsetError||e&&!this._hasBeenBlurred&&b)?"Incomplete":"Error");this.focusNode.setAttribute("aria-invalid","Error"==this.state?"true":"false");"Error"==this.state?(this._maskValidSubsetError=b&&e,a=this.getErrorMessage(b)):"Incomplete"==this.state?(a=this.getPromptMessage(b),this._maskValidSubsetError= +!this._hasBeenBlurred||b):d&&(a=this.getPromptMessage(b));this.set("message",a);return c},displayMessage:function(b){b&&this.focused?h.show(b,this.domNode,this.tooltipPosition,!this.isLeftToRight()):h.hide(this.domNode)},_refreshState:function(){this._created&&this.validate(this.focused);this.inherited(arguments)},constructor:function(b){this.constraints=k.clone(this.constraints);this.baseClass+=" dijitValidationTextBox"},startup:function(){this.inherited(arguments);this._refreshState()},_setConstraintsAttr:function(b){!b.locale&& +this.lang&&(b.locale=this.lang);this._set("constraints",b);this._refreshState()},_setPatternAttr:function(b){this._set("pattern",b);this._refreshState()},_computeRegexp:function(b){var a=this.pattern;"function"==typeof a&&(a=a.call(this,b));if(a!=this._lastRegExp){var c="";this._lastRegExp=a;".*"!=a&&a.replace(/\\.|\[\]|\[.*?[^\\]{1}\]|\{.*?\}|\(\?[=:!]|./g,function(a){switch(a.charAt(0)){case "{":case "+":case "?":case "*":case "^":case "$":case "|":case "(":c+=a;break;case ")":c+="|$)";break;default:c+= +"(?:"+a+"|$)"}});try{"".search(c)}catch(d){c=this.pattern}this._partialre="^(?:"+c+")$"}return a},postMixInProperties:function(){this.inherited(arguments);this.messages=n.getLocalization("dijit.form","validate",this.lang);this._setConstraintsAttr(this.constraints)},_setDisabledAttr:function(b){this.inherited(arguments);this._refreshState()},_setRequiredAttr:function(b){this._set("required",b);this.focusNode.setAttribute("aria-required",b);this._refreshState()},_setMessageAttr:function(b){this._set("message", +b);this.displayMessage(b)},reset:function(){this._maskValidSubsetError=!0;this.inherited(arguments)},_onBlur:function(){this.displayMessage("");this.inherited(arguments)},destroy:function(){h.hide(this.domNode);this.inherited(arguments)}});return d})},"dijit/selection":function(){define("dojo/_base/array dojo/dom dojo/_base/lang dojo/sniff dojo/_base/window dijit/focus".split(" "),function(f,p,k,n,e,h){var q=function(b){var a=b.document;this.getType=function(){if(a.getSelection){var c="text",d;try{d= +b.getSelection()}catch(e){}d&&1==d.rangeCount&&(d=d.getRangeAt(0),d.startContainer==d.endContainer&&(1==d.endOffset-d.startOffset&&3!=d.startContainer.nodeType)&&(c="control"));return c}return a.selection.type.toLowerCase()};this.getSelectedText=function(){if(a.getSelection){var c=b.getSelection();return c?c.toString():""}return"control"==this.getType()?null:a.selection.createRange().text};this.getSelectedHtml=function(){if(a.getSelection){var c=b.getSelection();if(c&&c.rangeCount){var d,e="";for(d= +0;d=q||7==q&&m?!1:p("position-fixed-support")&&"fixed"==h.get(a,"position").toLowerCase()},x=this,z=function(a,b,c){"BODY"==a.tagName||"HTML"==a.tagName?x.get(a.ownerDocument).scrollBy(b,c):(b&&(a.scrollLeft+=b),c&&(a.scrollTop+=c))};if(!r(b))for(;v;){v==d&&(v=c);var y=e.position(v),A=r(v),B="rtl"==h.getComputedStyle(v).direction.toLowerCase();if(v==c){y.w=t;y.h=w;if(c==f&&(q||p("trident"))&& +B)y.x+=c.offsetWidth-y.w;y.x=0;y.y=0}else{var E=e.getPadBorderExtents(v);y.w-=E.w;y.h-=E.h;y.x+=E.l;y.y+=E.t;var H=v.clientWidth,L=y.w-H;0y.y&&(y.h+=y.y,y.y=0),0>y.x&&(y.w+=y.x,y.x=0),y.y+y.h>w&&(y.h=w-y.y),y.x+y.w>t&&(y.w=t-y.x));var M=u.x-y.x,Q=u.y-y.y,G=M+u.w-y.w,J=Q+u.h-y.h,F,D;if(0v.offsetHeight)){F=Math[0>M?"max":"min"](M,G);if(B&& +(8==q&&!m||5<=p("trident")))F=-F;D=v.scrollLeft;z(v,F,0);F=v.scrollLeft-D;u.x-=F}if(0v.offsetHeight))F=Math.ceil(Math[0>Q?"max":"min"](Q,J)),D=v.scrollTop,z(v,0,F),F=v.scrollTop-D,u.y-=F;v=v!=c&&!A&&v.parentNode}}}catch(C){console.error("scrollIntoView: "+C),b.scrollIntoView(!1)}}};f.setObject("dojo.window",d);return d})},"dojo/number":function(){define(["./_base/lang","./i18n","./i18n!./cldr/nls/number","./string","./regexp"],function(f,p,k,n,e){var h={}; +f.setObject("dojo.number",h);h.format=function(d,b){b=f.mixin({},b||{});var a=p.normalizeLocale(b.locale),a=p.getLocalization("dojo.cldr","number",a);b.customs=a;a=b.pattern||a[(b.type||"decimal")+"Format"];return isNaN(d)||Infinity==Math.abs(d)?null:h._applyPattern(d,a,b)};h._numberPatternRE=/[#0,]*[#0](?:\.0*#*)?/;h._applyPattern=function(d,b,a){a=a||{};var c=a.customs.group,e=a.customs.decimal;b=b.split(";");var f=b[0];b=b[0>d?1:0]||"-"+f;if(-1!=b.indexOf("%"))d*=100;else if(-1!=b.indexOf("\u2030"))d*= +1E3;else if(-1!=b.indexOf("\u00a4"))c=a.customs.currencyGroup||c,e=a.customs.currencyDecimal||e,b=b.replace(/([\s\xa0]*)(\u00a4{1,3})([\s\xa0]*)/,function(b,c,d,e){b=a[["symbol","currency","displayName"][d.length-1]]||a.currency||"";return!b?"":c+b+e});else if(-1!=b.indexOf("E"))throw Error("exponential notation not supported");var k=h._numberPatternRE,f=f.match(k);if(!f)throw Error("unable to find a number expression in pattern: "+b);!1===a.fractional&&(a.places=0);return b.replace(k,h._formatAbsolute(d, +f[0],{decimal:e,group:c,places:a.places,round:a.round}))};h.round=function(d,b,a){a=10/(a||10);return(a*+d).toFixed(b)/a};if(0==(0.9).toFixed()){var q=h.round;h.round=function(d,b,a){var c=Math.pow(10,-b||0),e=Math.abs(d);if(!d||e>=c)c=0;else if(e/=c,0.5>e||0.95<=e)c=0;return q(d,b,a)+(0a.round||(d=h.round(d,e,a.round));d=String(Math.abs(d)).split(".");var f=d[1]||"";b[1]||a.places?(c&&(a.places=a.places.substring(0,c)),c=void 0!==a.places?a.places:b[1]&&b[1].lastIndexOf("0")+1,c>f.length&&(d[1]=n.pad(f,c,"0",!0)),ed[0].length&&(d[0]=n.pad(d[0],c)),-1==e.indexOf("#")&&(d[0]=d[0].substr(d[0].length-c)));var e=b[0].lastIndexOf(","),k,r;-1!= +e&&(k=b[0].length-e-1,b=b[0].substr(0,e),e=b.lastIndexOf(","),-1!=e&&(r=b.length-e-1));b=[];for(e=d[0];e;)c=e.length-k,b.push(0d||90d||111d||192d||222e?e-48:!a.shiftKey&&65<=e&&90>=e?e+32:c[e]||e}d=g(a,{type:"keypress",faux:!0,charCode:e});b.call(a.currentTarget,d);if(q("ie"))try{a.keyCode=d.keyCode}catch(f){}}}),e=p(a,"keypress",function(a){var c=a.charCode;a=g(a,{charCode:32<=c?c:0,faux:!0});return b.call(this,a)});return{remove:function(){d.remove();e.remove()}}}: +q("opera")?function(a,b){return p(a,"keypress",function(a){var c=a.which;3==c&&(c=99);c=32>c&&!a.shiftKey?0:c;a.ctrlKey&&(!a.shiftKey&&65<=c&&90>=c)&&(c+=32);return b.call(this,g(a,{charCode:c}))})}:function(b,c){return p(b,"keypress",function(b){a(b);return c.call(this,b)})};var r={_keypress:s,connect:function(a,c,d,e,f){var g=arguments,h=[],l=0;h.push("string"==typeof g[0]?null:g[l++],g[l++]);var k=g[l+1];h.push("string"==typeof k||"function"==typeof k?g[l++]:null,g[l++]);for(k=g.length;ln("ff")?"-moz-none":"none";c&&"msUserSelect"!==c?f.style[c]=g:n("dom-selectstart")?!b&&!a._selectstartHandle?a._selectstartHandle=k(f,"selectstart",function(a){var b=a.target&&a.target.tagName;"INPUT"!==b&&"TEXTAREA"!==b&&a.preventDefault()}):b&&a._selectstartHandle&& +(a._selectstartHandle.remove(),delete a._selectstartHandle):(d(f,!b),!b&&!a._unselectableHandle?a._unselectableHandle=e.after(a,"renderRow",function(a){d(a,!0);return a}):b&&a._unselectableHandle&&(a._unselectableHandle.remove(),delete a._unselectableHandle))}n.add("dom-comparedocumentposition",function(a,b,c){return!!c.compareDocumentPosition});n.add("dom-selectstart","undefined"!==typeof document.onselectstart);var a=n("mac")?"metaKey":"ctrlKey",c=n("css-user-select"),l=(h=n("pointer"))&&"MS"=== +h.slice(0,2),g=h?h+(l?"Down":"down"):"mousedown",s=h?h+(l?"Up":"up"):"mouseup";"WebkitUserSelect"===c&&"undefined"!==typeof document.documentElement.style.msUserSelect&&(c=!1);return f(null,{selectionDelegate:".dgrid-row",selectionEvents:g+","+s+",dgrid-cellfocusin",selectionTouchEvents:n("touch")?q.tap:null,deselectOnRefresh:!0,allowSelectAll:!1,selection:{},selectionMode:"extended",allowTextSelection:void 0,_selectionTargetType:"rows",create:function(){this.selection={};return this.inherited(arguments)}, +postCreate:function(){this.inherited(arguments);this._initSelectionEvents();var a=this.selectionMode;this.selectionMode="";this._setSelectionMode(a)},destroy:function(){this.inherited(arguments);this._selectstartHandle&&this._selectstartHandle.remove();this._unselectableHandle&&this._unselectableHandle.remove();this._removeDeselectSignals&&this._removeDeselectSignals()},_setSelectionMode:function(a){a!==this.selectionMode&&(this.clearSelection(),this.selectionMode=a,this._selectionHandlerName="_"+ +a+"SelectionHandler",this._setAllowTextSelection(this.allowTextSelection))},_setAllowTextSelection:function(a){"undefined"!==typeof a?b(this,a):b(this,"none"===this.selectionMode);this.allowTextSelection=a},_handleSelect:function(a,b){if(this[this._selectionHandlerName]&&this.allowSelect(this.row(b))&&!("dgrid-cellfocusin"===a.type&&"mousedown"===a.parentType||a.type===s&&b!==this._waitForMouseUp)){this._waitForMouseUp=null;this._selectionTriggerEvent=a;if(!a.keyCode||!a.ctrlKey||32===a.keyCode)if(!a.shiftKey&& +a.type===g&&this.isSelected(b))this._waitForMouseUp=b;else this[this._selectionHandlerName](a,b);this._selectionTriggerEvent=null}},_singleSelectionHandler:function(b,c){var d=b.keyCode?b.ctrlKey:b[a];this._lastSelected===c?this.select(c,null,!d||!this.isSelected(c)):(this.clearSelection(),this.select(c),this._lastSelected=c)},_multipleSelectionHandler:function(b,c){var d=this._lastSelected,e=b.keyCode?b.ctrlKey:b[a],f;b.shiftKey||(f=e?null:!0,d=null);this.select(c,d,f);d||(this._lastSelected=c)}, +_extendedSelectionHandler:function(b,c){(2===b.button?!this.isSelected(c):!(b.keyCode?b.ctrlKey:b[a]))&&this.clearSelection(null,!0);this._multipleSelectionHandler(b,c)},_toggleSelectionHandler:function(a,b){this.select(b,null,null)},_initSelectionEvents:function(){var b=this,c=this.contentNode,d=this.selectionDelegate;this._selectionEventQueues={deselect:[],select:[]};n("touch")&&!n("pointer")&&this.selectionTouchEvents?(k(c,q.selector(d,this.selectionTouchEvents),function(a){b._handleSelect(a,this); +b._ignoreMouseSelect=this}),k(c,k.selector(d,this.selectionEvents),function(a){b._ignoreMouseSelect!==this?b._handleSelect(a,this):a.type===s&&(b._ignoreMouseSelect=null)})):k(c,k.selector(d,this.selectionEvents),function(a){b._handleSelect(a,this)});this.addKeyHandler&&this.addKeyHandler(32,function(a){b._handleSelect(a,a.target)});if(this.allowSelectAll)this.on("keydown",function(c){c[a]&&(65===c.keyCode&&!/\bdgrid-input\b/.test(c.target.className))&&(c.preventDefault(),b[b.allSelected?"clearSelection": +"selectAll"]())});this._setCollection&&e.before(this,"_setCollection",function(a){b._updateDeselectionAspect(a)});this._updateDeselectionAspect()},_updateDeselectionAspect:function(a){function b(a,d){var e=c.row(a);if(e&&c.selection[e.id])c[d](e)}var c=this,d;this._removeDeselectSignals&&this._removeDeselectSignals();d=a&&a.track&&this._observeCollection?[e.before(this,"_observeCollection",function(a){d.push(a.on("delete",function(a){"undefined"===typeof a.index&&b(a.id,"deselect")}))}),e.after(this, +"_observeCollection",function(a){d.push(a.on("update",function(c){"undefined"!==typeof c.index&&b(a.getIdentity(c.target),"select")}))},!0)]:[e.before(this,"removeRow",function(a,b){var c;b||(c=this.row(a))&&c.id in this.selection&&this.deselect(c)})];this._removeDeselectSignals=function(){for(var a=d.length;a--;)d[a].remove();d=[]}},allowSelect:function(){return!0},_fireSelectionEvent:function(a){var b=this._selectionEventQueues[a],c=this._selectionTriggerEvent,d;d={bubbles:!0,grid:this};c&&(d.parentType= +c.type);d[this._selectionTargetType]=b;this._selectionEventQueues[a]=[];k.emit(this.contentNode,"dgrid-"+a,d)},_fireSelectionEvents:function(){var a=this._selectionEventQueues,b;for(b in a)a[b].length&&this._fireSelectionEvent(b)},_select:function(a,b,c){var d,e,f;"undefined"===typeof c&&(c=!0);a.element||(a=this.row(a));if(!1===c||this.allowSelect(a))if(d=this.selection,e=!!d[a.id],null===c&&(c=!e),f=a.element,!c&&!this.allSelected?delete this.selection[a.id]:d[a.id]=c,f&&(c?p.add(f,"dgrid-selected"+ +(this.addUiClasses?" ui-state-active":"")):p.remove(f,"dgrid-selected ui-state-active")),c!==e&&f&&this._selectionEventQueues[(c?"":"de")+"select"].push(a),b)if(b.element||(b=this.row(b)),b){if(b=b.element){d=this._determineSelectionDirection(f,b);d||(b=document.getElementById(b.id),d=this._determineSelectionDirection(f,b));for(;a.element!==b&&(a=this[d](a));)this._select(a,null,c)}}else this._lastSelected=f},_determineSelectionDirection:n("dom-comparedocumentposition")?function(a,b){var c=b.compareDocumentPosition(a); +return c&1?!1:2===c?"down":"up"}:function(a,b){return 1>b.sourceIndex?!1:b.sourceIndex>a.sourceIndex?"down":"up"},select:function(a,b,c){this._select(a,b,c);this._fireSelectionEvents()},deselect:function(a,b){this.select(a,b,!1)},clearSelection:function(a,b){this.allSelected=!1;for(var c in this.selection)a!==c&&this._select(c,null,!1);b||(this._lastSelected=null);this._fireSelectionEvents()},selectAll:function(){this.allSelected=!0;this.selection={};for(var a in this._rowIdToObject){var b=this.row(this._rowIdToObject[a]); +this._select(b.id,null,!0)}this._fireSelectionEvents()},isSelected:function(a){if("undefined"===typeof a||null===a)return!1;a.element||(a=this.row(a));return a.id in this.selection?!!this.selection[a.id]:this.allSelected&&(!a.data||this.allowSelect(a))},refresh:function(){this.deselectOnRefresh&&this.clearSelection();this._lastSelected=null;return this.inherited(arguments)},renderArray:function(){var a=this.inherited(arguments),b=this.selection,c,d,e;for(c=0;cf.max)&&f.max--,h=f[m],h.parentNode===b&&e.removeRow(h,!1,d),f.splice(m,1),("delete"===a.type||"update"===a.type&&(m=f.min&&k<=f.max)){"max"in f&&(void 0===m||mf.max)&&f.max++;if(f.length){if(m=f[k],!m&&(m=f[k-1]))m=(m.connected||m).nextSibling}else m=e._getFirstRowSibling&&e._getFirstRowSibling(b);h&&(m&&h.id===m.id)&&(m=(m.connected||m).nextSibling);m&&!m.parentNode&&(m=document.getElementById(m.id));f.splice(k,0,void 0);h=e.insertRow(a.target,b,m,k,d);e.highlightRow(h)}h=null}),a.on("add, delete, update",function(b){var c="undefined"!==typeof b.previousIndex?b.previousIndex:Infinity, +d="undefined"!==typeof b.index?b.index:Infinity,h=Math.min(c,d);c!==d&&f[h]&&e.adjustRowIndices(f[h]);Infinity!==c&&(e._processScroll&&(f[c]||f[c-1]))&&e._processScroll();e._onNotification(f,b,a);a===e._renderedCollection&&"totalLength"in b&&(e._total=b.totalLength)})];return{remove:function(){for(;0n||null==f)e=1;return e};p.createSortFunction=function(f,n){function e(a,b,c,d){return function(e,f){var h=d.getValue(e,a),l=d.getValue(f,a);return b*c(h,l)}}for(var h=[],q,d=n.comparatorMap,b=p.basicComparator,a=0;aa?(h=n(p),p=""):(h=n(p.slice(0,a)),p=n(p.slice(a+1)));"string"==typeof e[h]&&(e[h]=[e[h]]);f.isArray(e[h])?e[h].push(p):e[h]=p}return e}}})},"dojo/_base/loader":function(){define("./kernel ../has require module ../json ./lang ./array".split(" "),function(f,p,k,n,e,h,q){var d=function(a){return a.replace(/\./g,"/")},b=/\/\/>>built/,a=[],c=[],l=function(b,d,e){a.push(e);q.forEach(b.split(","),function(a){a=M(a,d.module);c.push(a);Q(a)});g()},g=function(){var b,c;for(c in H)if(b= +H[c],void 0===b.noReqPluginCheck&&(b.noReqPluginCheck=/loadInit\!/.test(c)||/require\!/.test(c)?1:0),!b.executed&&!b.noReqPluginCheck&&b.injected==x)return;P(function(){var b=a;a=[];q.forEach(b,function(a){a(1)})})},s=function(a,b,c){var d=/\(|\)/g,e=1;for(d.lastIndex=b;(b=d.exec(a))&&!(e=")"==b[0]?e-1:e+1,0==e););if(0!=e)throw"unmatched paren around character "+d.lastIndex+" in: "+a;return[f.trim(a.substring(c,d.lastIndex))+";\n",d.lastIndex]},r=/(\/\*([\s\S]*?)\*\/|\/\/(.*)$)/mg,m=/(^|\s)dojo\.(loadInit|require|provide|requireLocalization|requireIf|requireAfterIf|platformRequire)\s*\(/mg, +t=/(^|\s)(require|define)\s*\(/m,w=function(a,b){var c,d,e,f=[],g=[];c=[];for(b=b||a.replace(r,function(a){m.lastIndex=t.lastIndex=0;return m.test(a)||t.test(a)?"":a});c=m.exec(b);)d=m.lastIndex,e=d-c[0].length,d=s(b,d,e),"loadInit"==c[2]?f.push(d[0]):g.push(d[0]),m.lastIndex=d[1];c=f.concat(g);return c.length||!t.test(b)?[a.replace(/(^|\s)dojo\.loadInit\s*\(/g,"\n0 \x26\x26 dojo.loadInit("),c.join(""),c]:0},u=k.initSyncLoader(l,g,function(a,c){var d,f,g=[],h=[];if(b.test(c)||!(d=w(c)))return 0;f= +a.mid+"-*loadInit";for(var m in M("dojo",a).result.scopeMap)g.push(m),h.push('"'+m+'"');return"// xdomain rewrite of "+a.mid+"\ndefine('"+f+"',{\n\tnames:"+e.stringify(g)+",\n\tdef:function("+g.join(",")+"){"+d[1]+"}});\n\ndefine("+e.stringify(g.concat(["dojo/loadInit!"+f]))+", function("+g.join(",")+"){\n"+d[0]+"});"}),v=u.sync,x=u.requested,z=u.arrived,y=u.nonmodule,A=u.executing,B=u.executed,E=u.syncExecStack,H=u.modules,L=u.execQ,M=u.getModule,Q=u.injectModule,G=u.setArrived,J=u.signal,F=u.finishExec, +D=u.execModule,C=u.getLegacyMode,P=u.guardCheckComplete,l=u.dojoRequirePlugin;f.provide=function(a){var b=E[0],c=h.mixin(M(d(a),k.module),{executed:A,result:h.getObject(a,!0)});G(c);b&&(b.provides||(b.provides=[])).push(function(){c.result=h.getObject(a);delete c.provides;c.executed!==B&&F(c)});return c.result};p.add("config-publishRequireResult",1,0,0);f.require=function(a,b){var c=function(a,b){var c=M(d(a),k.module);if(E.length&&E[0].finish)E[0].finish.push(a);else{if(c.executed)return c.result; +b&&(c.result=y);var e=C();Q(c);e=C();c.executed!==B&&c.injected===z&&u.guardCheckComplete(function(){D(c)});if(c.executed)return c.result;e==v?c.cjs?L.unshift(c):E.length&&(E[0].finish=[a]):L.push(c)}}(a,b);p("config-publishRequireResult")&&(!h.exists(a)&&void 0!==c)&&h.setObject(a,c);return c};f.loadInit=function(a){a()};f.registerModulePath=function(a,b){var c={};c[a.replace(/\./g,"/")]=b;k({paths:c})};f.platformRequire=function(a){a=(a.common||[]).concat(a[f._name]||a["default"]||[]);for(var b;a.length;)h.isArray(b= +a.shift())?f.require.apply(f,b):f.require(b)};f.requireIf=f.requireAfterIf=function(a,b,c){a&&f.require(b,c)};f.requireLocalization=function(a,b,c){k(["../i18n"],function(d){d.getLocalization(a,b,c)})};return{extractLegacyApiApplications:w,require:l,loadInit:function(a,b,c){b([a],function(a){b(a.names,function(){for(var e="",g=[],h=0;he?"eraAbbr":"eraNames"][0>a.getFullYear()?0:1];break;case "y":f=a.getFullYear();switch(e){case 1:break;case 2:if(!c.fullYear){f=String(f);f=f.substr(f.length-2);break}default:h=!0}break;case "Q":case "q":f=Math.ceil((a.getMonth()+1)/3);h=!0;break;case "M":case "L":f=a.getMonth();3>e?(f+=1,h=!0):(l=["months","L"==l?"standAlone": +"format",k[e-3]].join("-"),f=b[l][f]);break;case "w":f=g._getWeekOfYear(a,0);h=!0;break;case "d":f=a.getDate();h=!0;break;case "D":f=g._getDayOfYear(a);h=!0;break;case "e":case "c":if(f=a.getDay(),2>e){f=(f-n.getFirstDayOfWeek(c.locale)+8)%7;break}case "E":f=a.getDay();3>e?(f+=1,h=!0):(l=["days","c"==l?"standAlone":"format",k[e-3]].join("-"),f=b[l][f]);break;case "a":l=12>a.getHours()?"am":"pm";f=c[l]||b["dayPeriods-format-wide-"+l];break;case "h":case "H":case "K":case "k":h=a.getHours();switch(l){case "h":f= +h%12||12;break;case "H":f=h;break;case "K":f=h%12;break;case "k":f=h||24}h=!0;break;case "m":f=a.getMinutes();h=!0;break;case "s":f=a.getSeconds();h=!0;break;case "S":f=Math.round(a.getMilliseconds()*Math.pow(10,e-3));h=!0;break;case "v":case "z":if(f=g._getZone(a,!0,c))break;e=4;case "Z":l=g._getZone(a,!1,c);l=[0>=l?"+":"-",q.pad(Math.floor(Math.abs(l)/60),2),q.pad(Math.abs(l)%60,2)];4==e&&(l.splice(0,0,"GMT"),l.splice(3,0,":"));f=l.join("");break;default:throw Error("dojo.date.locale.format: invalid pattern char: "+ +d);}h&&(f=q.pad(f,e));return f})}function c(a,b,c,d){var e=function(a){return a};b=b||e;c=c||e;d=d||e;var f=a.match(/(''|[^'])+/g),g="'"==a.charAt(0);p.forEach(f,function(a,d){a?(f[d]=(g?c:b)(a.replace(/''/g,"'")),g=!g):f[d]=""});return d(f.join(""))}function l(a,b,c,d){d=h.escapeString(d);c.strict||(d=d.replace(" a"," ?a"));return d.replace(/([a-z])\1*/ig,function(d){var e;e=d.charAt(0);var f=d.length,g="",h="";c.strict?(1a)a=Number(a),d=""+(new Date).getFullYear(),g=100*d.substring(0,2),d=Math.min(Number(d.substring(2,4))+20,99),l[0]=ad?l[3]=d+12:"a"===n&&12==d&&(l[3]=0);d=new Date(l[0],l[1],l[2],l[3],l[4],l[5],l[6]);b.strict&&d.setFullYear(l[0]);var q=e.join(""),r=-1!=q.indexOf("d"), +q=-1!=q.indexOf("M");if(!c||q&&d.getMonth()>l[1]||r&&d.getDate()>l[2])return null;if(q&&d.getMonth()=c.start&&d<=c.end};g._getDayOfYear=function(a){return k.difference(new Date(a.getFullYear(),0,1,a.getHours()),a)+1};g._getWeekOfYear=function(a,b){1==arguments.length&&(b=0);var c=(new Date(a.getFullYear(),0,1)).getDay(),d=Math.floor((g._getDayOfYear(a)+ +(c-b+7)%7-1)/7);c==b&&d++;return d};return g})},"dijit/tree/_dndContainer":function(){define("dojo/aspect dojo/_base/declare dojo/dom-class dojo/_base/lang dojo/on dojo/touch".split(" "),function(f,p,k,n,e,h){return p("dijit.tree._dndContainer",null,{constructor:function(p,d){this.tree=p;this.node=p.domNode;n.mixin(this,d);this.containerState="";k.add(this.node,"dojoDndContainer");this.events=[e(this.node,h.enter,n.hitch(this,"onOverEvent")),e(this.node,h.leave,n.hitch(this,"onOutEvent")),f.after(this.tree, +"_onNodeMouseEnter",n.hitch(this,"onMouseOver"),!0),f.after(this.tree,"_onNodeMouseLeave",n.hitch(this,"onMouseOut"),!0),e(this.node,"dragstart, selectstart",function(b){b.preventDefault()})]},destroy:function(){for(var e;e=this.events.pop();)e.remove();this.node=this.parent=null},onMouseOver:function(e){this.current=e},onMouseOut:function(){this.current=null},_changeState:function(e,d){var b="dojoDnd"+e,a=e.toLowerCase()+"State";k.replace(this.node,b+d,b+this[a]);this[a]=d},_addItemClass:function(e, +d){k.add(e,"dojoDndItem"+d)},_removeItemClass:function(e,d){k.remove(e,"dojoDndItem"+d)},onOverEvent:function(){this._changeState("Container","Over")},onOutEvent:function(){this._changeState("Container","")}})})},"dijit/_base/wai":function(){define(["dojo/dom-attr","dojo/_base/lang","../main","../hccss"],function(f,p,k){p.mixin(k,{hasWaiRole:function(f,e){var h=this.getWaiRole(f);return e?-1b[g]?1:b[g]> +a[g]?-1:0})}e.onFetch&&(c=e.onFetch.call(this,c,e));f.forEach(c,function(a){this._addOptionForItem(a)},this);this._queryRes.observe&&(this._observeHandle=this._queryRes.observe(b.hitch(this,function(a,b,c){b==c?this._onSetItem(a):(-1!=b&&this._onDeleteItem(a),-1!=c&&this._onNewItem(a))}),!0));this._loadingStore=!1;this.set("value","_pendingValue"in this?this._pendingValue:d);delete this._pendingValue;this.loadChildrenOnOpen?this._pseudoLoadChildren(c):this._loadChildren();this.onLoadDeferred.resolve(!0); +this.onSetStore()}),b.hitch(this,function(a){console.error("dijit.form.Select: "+a.toString());this.onLoadDeferred.reject(a)})));return g},_setValueAttr:function(a,c){this._onChangeActive||(c=null);if(this._loadingStore)this._pendingValue=a;else if(null!=a){a=b.isArrayLike(a)?f.map(a,function(a){return b.isObject(a)?a:{value:a}}):b.isObject(a)?[a]:[{value:a}];a=f.filter(this.getOptions(a),function(a){return a&&a.value});var d=this.getOptions()||[];if(!this.multiple&&(!a[0]||!a[0].value)&&d.length)a[0]= +d[0];f.forEach(d,function(b){b.selected=f.some(a,function(a){return a.value===b.value})});d=f.map(a,function(a){return a.value});if(!("undefined"==typeof d||"undefined"==typeof d[0])){var e=f.map(a,function(a){return a.label});this._setDisplay(this.multiple?e:e[0]);this.inherited(arguments,[this.multiple?d:d[0],c]);this._updateSelection()}}},_getDisplayedValueAttr:function(){var a=f.map([].concat(this.get("selectedOptions")),function(a){return a&&"label"in a?a.label:a?a.value:null},this);return this.multiple? +a:a[0]},_setDisplayedValueAttr:function(a){this.set("value",this.getOptions("string"==typeof a?{label:a}:a))},_loadChildren:function(){this._loadingStore||(f.forEach(this._getChildren(),function(a){a.destroyRecursive()}),f.forEach(this.options,this._addOptionItem,this),this._updateSelection())},_updateSelection:function(){this.focusedChild=null;this._set("value",this._getValueFromOpts());var a=[].concat(this.value);if(a&&a[0]){var b=this;f.forEach(this._getChildren(),function(c){var d=f.some(a,function(a){return c.option&& +a===c.option.value});d&&!b.multiple&&(b.focusedChild=c);q.toggle(c.domNode,this.baseClass.replace(/\s+|$/g,"SelectedOption "),d);c.domNode.setAttribute("aria-selected",d?"true":"false")},this)}},_getValueFromOpts:function(){var a=this.getOptions()||[];if(!this.multiple&&a.length){var b=f.filter(a,function(a){return a.selected})[0];if(b&&b.value)return b.value;a[0].selected=!0;return a[0].value}return this.multiple?f.map(f.filter(a,function(a){return a.selected}),function(a){return a.value})||[]:""}, +_onNewItem:function(a,b){(!b||!b.parent)&&this._addOptionForItem(a)},_onDeleteItem:function(a){this.removeOption({value:this.store.getIdentity(a)})},_onSetItem:function(a){this.updateOption(this._getOptionObjForItem(a))},_getOptionObjForItem:function(a){var b=this.store,c=this.labelAttr&&this.labelAttr in a?a[this.labelAttr]:b.getLabel(a);return{value:c?b.getIdentity(a):null,label:c,item:a}},_addOptionForItem:function(a){var b=this.store;b.isItemLoaded&&!b.isItemLoaded(a)?b.loadItem({item:a,onItem:function(a){this._addOptionForItem(a)}, +scope:this}):(a=this._getOptionObjForItem(a),this.addOption(a))},constructor:function(a){this._oValue=(a||{}).value||null;this._notifyConnections=[]},buildRendering:function(){this.inherited(arguments);h.setSelectable(this.focusNode,!1)},_fillContent:function(){this.options||(this.options=this.srcNodeRef?a("\x3e *",this.srcNodeRef).map(function(a){return"separator"===a.getAttribute("type")?{value:"",label:"",selected:!1,disabled:!1}:{value:a.getAttribute("data-"+d._scopeName+"-value")||a.getAttribute("value"), +label:String(a.innerHTML),selected:a.getAttribute("selected")||!1,disabled:a.getAttribute("disabled")||!1}},this):[]);this.value?this.multiple&&"string"==typeof this.value&&this._set("value",this.value.split(",")):this._set("value",this._getValueFromOpts())},postCreate:function(){this.inherited(arguments);k.after(this,"onChange",b.hitch(this,"_updateSelection"));var a=this.store;if(a&&(a.getIdentity||a.getFeatures()["dojo.data.api.Identity"]))this.store=null,this._deprecatedSetStore(a,this._oValue, +{query:this.query,queryOptions:this.queryOptions});this._storeInitialized=!0},startup:function(){this._loadChildren();this.inherited(arguments)},destroy:function(){for(var a;a=this._notifyConnections.pop();)a.remove();this._queryRes&&this._queryRes.close&&this._queryRes.close();this._observeHandle&&this._observeHandle.remove&&(this._observeHandle.remove(),this._observeHandle=null);this.inherited(arguments)},_addOptionItem:function(){},_removeOptionItem:function(){},_setDisplay:function(){},_getChildren:function(){return[]}, +_getSelectedOptionsAttr:function(){return this.getOptions({selected:!0})},_pseudoLoadChildren:function(){},onSetStore:function(){}})})},"dijit/form/Select":function(){define("dojo/_base/array dojo/_base/declare dojo/dom-attr dojo/dom-class dojo/dom-geometry dojo/i18n dojo/keys dojo/_base/lang dojo/on dojo/sniff ./_FormSelectWidget ../_HasDropDown ../DropDownMenu ../MenuItem ../MenuSeparator ../Tooltip ../_KeyNavMixin ../registry dojo/text!./templates/Select.html dojo/i18n!./nls/validate".split(" "), +function(f,p,k,n,e,h,q,d,b,a,c,l,g,s,r,m,t,w,u){function v(a){return function(b){this._isLoaded?this.inherited(a,arguments):this.loadDropDown(d.hitch(this,a,b))}}var x=p("dijit.form._SelectMenu",g,{autoFocus:!0,buildRendering:function(){this.inherited(arguments);this.domNode.setAttribute("role","listbox")},postCreate:function(){this.inherited(arguments);this.own(b(this.domNode,"selectstart",function(a){a.preventDefault();a.stopPropagation()}))},focus:function(){var a=!1,b=this.parentWidget.value; +d.isArray(b)&&(b=b[b.length-1]);b&&f.forEach(this.parentWidget._getChildren(),function(c){c.option&&b===c.option.value&&(a=!0,this.focusChild(c,!1))},this);a||this.inherited(arguments)}});e=p("dijit.form.Select"+(a("dojo-bidi")?"_NoBidi":""),[c,l,t],{baseClass:"dijitSelect dijitValidationTextBox",templateString:u,_buttonInputDisabled:a("ie")?"disabled":"",required:!1,state:"",message:"",tooltipPosition:[],emptyLabel:"\x26#160;",_isLoaded:!1,_childrenLoaded:!1,labelType:"html",_fillContent:function(){this.inherited(arguments); +if(this.options.length&&!this.value&&this.srcNodeRef){var a=this.srcNodeRef.selectedIndex||0;this._set("value",this.options[0<=a?a:0].value)}this.dropDown=new x({id:this.id+"_menu",parentWidget:this});n.add(this.dropDown.domNode,this.baseClass.replace(/\s+|$/g,"Menu "))},_getMenuItemForOption:function(a){if(!a.value&&!a.label)return new r({ownerDocument:this.ownerDocument});var b=d.hitch(this,"_setValueAttr",a);a=new s({option:a,label:("text"===this.labelType?(a.label||"").toString().replace(/&/g, +"\x26amp;").replace(/a?"previousSibling":"nextSibling"])&&"getAttribute"in b){var c=q.byNode(b);if(c)return c}return null}})})},"dijit/form/_ListBase":function(){define(["dojo/_base/declare","dojo/on","dojo/window"],function(f,p,k){return f("dijit.form._ListBase",null,{selected:null,_listConnect:function(f,e){var h=this;return h.own(p(h.containerNode,p.selector(function(e,d,b){return e.parentNode== +b},f),function(f){h[e](f,this)}))},selectFirstNode:function(){for(var f=this.containerNode.firstChild;f&&"none"==f.style.display;)f=f.nextSibling;this._setSelectedAttr(f,!0)},selectLastNode:function(){for(var f=this.containerNode.lastChild;f&&"none"==f.style.display;)f=f.previousSibling;this._setSelectedAttr(f,!0)},selectNextNode:function(){var f=this.selected;if(f){for(f=f.nextSibling;f&&"none"==f.style.display;)f=f.nextSibling;f?this._setSelectedAttr(f,!0):this.selectFirstNode()}else this.selectFirstNode()}, +selectPreviousNode:function(){var f=this.selected;if(f){for(f=f.previousSibling;f&&"none"==f.style.display;)f=f.previousSibling;f?this._setSelectedAttr(f,!0):this.selectLastNode()}else this.selectLastNode()},_setSelectedAttr:function(f,e){if(this.selected!=f){var h=this.selected;if(h)this.onDeselect(h);f&&(e&&k.scrollIntoView(f),this.onSelect(f));this._set("selected",f)}else if(f)this.onSelect(f)}})})},"dijit/form/_FormWidget":function(){define("dojo/_base/declare dojo/sniff dojo/_base/kernel dojo/ready ../_Widget ../_CssStateMixin ../_TemplatedMixin ./_FormWidgetMixin".split(" "), +function(f,p,k,n,e,h,q,d){p("dijit-legacy-requires")&&n(0,function(){require(["dijit/form/_FormValueWidget"])});return f("dijit.form._FormWidget",[e,q,h,d],{setDisabled:function(b){k.deprecated("setDisabled("+b+") is deprecated. Use set('disabled',"+b+") instead.","","2.0");this.set("disabled",b)},setValue:function(b){k.deprecated("dijit.form._FormWidget:setValue("+b+") is deprecated. Use set('value',"+b+") instead.","","2.0");this.set("value",b)},getValue:function(){k.deprecated(this.declaredClass+ +"::getValue() is deprecated. Use get('value') instead.","","2.0");return this.get("value")},postMixInProperties:function(){this.nameAttrSetting=this.name&&!p("msapp")?'name\x3d"'+this.name.replace(/"/g,"\x26quot;")+'"':"";this.inherited(arguments)}})})},"dojo/_base/Color":function(){define(["./kernel","./lang","./array","./config"],function(f,p,k,n){var e=f.Color=function(e){e&&this.setColor(e)};e.named={black:[0,0,0],silver:[192,192,192],gray:[128,128,128],white:[255,255,255],maroon:[128,0,0],red:[255, +0,0],purple:[128,0,128],fuchsia:[255,0,255],green:[0,128,0],lime:[0,255,0],olive:[128,128,0],yellow:[255,255,0],navy:[0,0,128],blue:[0,0,255],teal:[0,128,128],aqua:[0,255,255],transparent:n.transparentColor||[0,0,0,0]};p.extend(e,{r:255,g:255,b:255,a:1,_set:function(e,f,d,b){this.r=e;this.g=f;this.b=d;this.a=b},setColor:function(f){p.isString(f)?e.fromString(f,this):p.isArray(f)?e.fromArray(f,this):(this._set(f.r,f.g,f.b,f.a),f instanceof e||this.sanitize());return this},sanitize:function(){return this}, +toRgb:function(){return[this.r,this.g,this.b]},toRgba:function(){return[this.r,this.g,this.b,this.a]},toHex:function(){return"#"+k.map(["r","g","b"],function(e){e=this[e].toString(16);return 2>e.length?"0"+e:e},this).join("")},toCss:function(e){var f=this.r+", "+this.g+", "+this.b;return(e?"rgba("+f+", "+this.a:"rgb("+f)+")"},toString:function(){return this.toCss(!0)}});e.blendColors=f.blendColors=function(f,n,d,b){var a=b||new e;k.forEach(["r","g","b","a"],function(b){a[b]=f[b]+(n[b]-f[b])*d;"a"!= +b&&(a[b]=Math.round(a[b]))});return a.sanitize()};e.fromRgb=f.colorFromRgb=function(f,k){var d=f.toLowerCase().match(/^rgba?\(([\s\.,0-9]+)\)/);return d&&e.fromArray(d[1].split(/\s*,\s*/),k)};e.fromHex=f.colorFromHex=function(f,n){var d=n||new e,b=4==f.length?4:8,a=(1<>=b;d[c]=4==b?17*e:e});d.a=1;return d};e.fromArray=f.colorFromArray=function(f,k){var d=k||new e;d._set(Number(f[0]),Number(f[1]), +Number(f[2]),Number(f[3]));isNaN(d.a)&&(d.a=1);return d.sanitize()};e.fromString=f.colorFromString=function(f,k){var d=e.named[f];return d&&e.fromArray(d,k)||e.fromRgb(f,k)||e.fromHex(f,k)};return e})},"dstore/Store":function(){define("dojo/_base/lang dojo/_base/array dojo/aspect dojo/has dojo/when dojo/Deferred dojo/_base/declare ./QueryMethod ./Filter dojo/Evented".split(" "),function(f,p,k,n,e,h,q,d,b,a){function c(a){return function(b,c){var d=this;e(b,function(b){b={target:b};var e=c[1]||{}; +"beforeId"in e&&(b.beforeId=e.beforeId);d.emit(a,b)});return b}}n.add("object-proto",!!{}.__proto__&&!{}.watch);var l=n("object-proto");return q(a,{constructor:function(b){b&&q.safeMixin(this,b);this.Model&&this.Model.createSubclass&&(this.Model=this.Model.createSubclass([]).extend({_store:this}));this.storage=new a;var d=this;this.autoEmitEvents&&(k.after(this,"add",c("add")),k.after(this,"put",c("update")),k.after(this,"remove",function(a,b){e(a,function(){d.emit("delete",{id:b[0]})});return a}))}, +autoEmitEvents:!0,idProperty:"id",queryAccessors:!0,getIdentity:function(a){return a.get?a.get(this.idProperty):a[this.idProperty]},_setIdentity:function(a,b){a.set?a.set(this.idProperty,b):a[this.idProperty]=b},forEach:function(a,b){var c=this;return e(this.fetch(),function(d){for(var e=0,f;void 0!==(f=d[e]);e++)a.call(b,f,e,c);return d})},on:function(a,b){return this.storage.on(a,b)},emit:function(a,b){b=b||{};b.type=a;try{return this.storage.emit(a,b)}finally{return b.cancelable}},parse:null,stringify:null, +Model:null,_restore:function(a,b){var c=this.Model;if(c&&a){var d=c.prototype,e=d._restore;e?a=e.call(a,c,b):l&&b?a.__proto__=d:a=f.delegate(d,a)}return a},create:function(a){return new this.Model(a)},_createSubCollection:function(a){var b=f.delegate(this.constructor.prototype),c;for(c in this)this._includePropertyInSubCollection(c,b)&&(b[c]=this[c]);return q.safeMixin(b,a)},_includePropertyInSubCollection:function(a,b){return!(a in b)||b[a]!==this[a]},queryLog:[],filter:new d({type:"filter",normalizeArguments:function(a){var b= +this.Filter;return a instanceof b?[a]:[new b(a)]}}),Filter:b,sort:new d({type:"sort",normalizeArguments:function(a,b){var c;"function"===typeof a?c=[a]:(c=a instanceof Array?a.slice():"object"===typeof a?[].slice.call(arguments):[{property:a,descending:b}],c=p.map(c,function(a){a=f.mixin({},a);a.descending=!!a.descending;return a}),c=[c]);return c}}),select:new d({type:"select"}),_getQuerierFactory:function(a){return this["_create"+(a[0].toUpperCase()+a.substr(1))+"Querier"]}})})},"dojo/errors/RequestError":function(){define(["./create"], +function(f){return f("RequestError",function(f,k){this.response=k})})},"dojo/dnd/common":function(){define(["../sniff","../_base/kernel","../_base/lang","../dom"],function(f,p,k,n){var e=k.getObject("dojo.dnd",!0);e.getCopyKeyState=function(e){return e[f("mac")?"metaKey":"ctrlKey"]};e._uniqueId=0;e.getUniqueId=function(){var f;do f=p._scopeName+"Unique"+ ++e._uniqueId;while(n.byId(f));return f};e._empty={};e.isFormElement=function(e){e=e.target;3==e.nodeType&&(e=e.parentNode);return 0<=" a button textarea input select option ".indexOf(" "+ +e.tagName.toLowerCase()+" ")};return e})},"dijit/CalendarLite":function(){define("dojo/_base/array dojo/_base/declare dojo/cldr/supplemental dojo/date dojo/date/locale dojo/date/stamp dojo/dom dojo/dom-class dojo/_base/lang dojo/on dojo/sniff dojo/string ./_WidgetBase ./_TemplatedMixin dojo/text!./templates/Calendar.html ./a11yclick ./hccss".split(" "),function(f,p,k,n,e,h,q,d,b,a,c,l,g,s,r){var m=p("dijit.CalendarLite",[g,s],{templateString:r,dowTemplateString:'\x3cth class\x3d"dijitReset dijitCalendarDayLabelTemplate" role\x3d"columnheader" scope\x3d"col"\x3e\x3cspan class\x3d"dijitCalendarDayLabel"\x3e${d}\x3c/span\x3e\x3c/th\x3e', +dateTemplateString:'\x3ctd class\x3d"dijitReset" role\x3d"gridcell" data-dojo-attach-point\x3d"dateCells"\x3e\x3cspan class\x3d"dijitCalendarDateLabel" data-dojo-attach-point\x3d"dateLabels"\x3e\x3c/span\x3e\x3c/td\x3e',weekTemplateString:'\x3ctr class\x3d"dijitReset dijitCalendarWeekTemplate" role\x3d"row"\x3e${d}${d}${d}${d}${d}${d}${d}\x3c/tr\x3e',value:new Date(""),datePackage:"",dayWidth:"narrow",tabIndex:"0",dayOffset:-1,currentFocus:new Date,_setSummaryAttr:"gridNode",baseClass:"dijitCalendar dijitCalendarLite", +_isValidDate:function(a){return a&&!isNaN(a)&&"object"==typeof a&&a.toString()!=this.constructor.prototype.value.toString()},_getValueAttr:function(){var a=this._get("value");if(a&&!isNaN(a)){var b=new this.dateClassObj(a);b.setHours(0,0,0,0);b.getDate()b&&(g-=7);if(!this.summary){var h=this.dateLocaleModule.getNames("months","wide","standAlone",this.lang,a);this.gridNode.setAttribute("summary",h[a.getMonth()])}this._date2cell={};f.forEach(this.dateCells,function(f,h){var l=h+g,k=new this.dateClassObj(a),m="dijitCalendar",n=0;l=b+c?(l=l-b-c+1,n=1,m+="Next"):(l=l-b+1,m+="Current");n&&(k=this.dateModule.add(k,"month",n));k.setDate(l);this.dateModule.compare(k,e,"date")||(m="dijitCalendarCurrentDate "+m);this.isDisabledDate(k,this.lang)?(m="dijitCalendarDisabledDate "+m,f.setAttribute("aria-disabled","true")):(m="dijitCalendarEnabledDate "+m,f.removeAttribute("aria-disabled"),f.setAttribute("aria-selected","false"));(n=this.getClassForDate(k,this.lang))&&(m=n+" "+m);f.className=m+"Month dijitCalendarDateTemplate"; +m=k.valueOf();this._date2cell[m]=f;f.dijitDateValue=m;this._setText(this.dateLabels[h],k.getDateLocalized?k.getDateLocalized(this.lang):k.getDate())},this)},_populateControls:function(){var a=new this.dateClassObj(this.currentFocus);a.setDate(1);this.monthWidget.set("month",a);var b=a.getFullYear()-1,c=new this.dateClassObj;f.forEach(["previous","current","next"],function(a){c.setFullYear(b++);this._setText(this[a+"YearLabelNode"],this.dateLocaleModule.format(c,{selector:"year",locale:this.lang}))}, +this)},goToToday:function(){this.set("value",new this.dateClassObj)},constructor:function(a){this.dateModule=a.datePackage?b.getObject(a.datePackage,!1):n;this.dateClassObj=this.dateModule.Date||Date;this.dateLocaleModule=a.datePackage?b.getObject(a.datePackage+".locale",!1):e},_createMonthWidget:function(){return m._MonthWidget({id:this.id+"_mddb",lang:this.lang,dateLocaleModule:this.dateLocaleModule},this.monthNode)},buildRendering:function(){var a=this.dowTemplateString,b=this.dateLocaleModule.getNames("days", +this.dayWidth,"standAlone",this.lang),c=0<=this.dayOffset?this.dayOffset:k.getFirstDayOfWeek(this.lang);this.dayCellsHtml=l.substitute([a,a,a,a,a,a,a].join(""),{d:""},function(){return b[c++%7]});a=l.substitute(this.weekTemplateString,{d:this.dateTemplateString});this.dateRowsHtml=[a,a,a,a,a,a].join("");this.dateCells=[];this.dateLabels=[];this.inherited(arguments);q.setSelectable(this.domNode,!1);a=new this.dateClassObj(this.currentFocus);this.monthWidget=this._createMonthWidget();this.set("currentFocus", +a,!1)},postCreate:function(){this.inherited(arguments);this._connectControls()},_connectControls:function(){var c=b.hitch(this,function(c,d,e){this[c].dojoClick=!0;return a(this[c],"click",b.hitch(this,function(){this._setCurrentFocusAttr(this.dateModule.add(this.currentFocus,d,e))}))});this.own(c("incrementMonth","month",1),c("decrementMonth","month",-1),c("nextYearLabelNode","year",1),c("previousYearLabelNode","year",-1))},_setCurrentFocusAttr:function(a,b){var d=this.currentFocus,e=this._getNodeByDate(d); +a=this._patchDate(a);this._set("currentFocus",a);if(!this._date2cell||0!=this.dateModule.difference(d,a,"month"))this._populateGrid(),this._populateControls(),this._markSelectedDates([this.value]);d=this._getNodeByDate(a);d.setAttribute("tabIndex",this.tabIndex);(this.focused||b)&&d.focus();e&&e!=d&&(c("webkit")?e.setAttribute("tabIndex","-1"):e.removeAttribute("tabIndex"))},focus:function(){this._setCurrentFocusAttr(this.currentFocus,!0)},_onDayClick:function(a){a.stopPropagation();a.preventDefault(); +for(a=a.target;a&&!a.dijitDateValue;a=a.parentNode);a&&!d.contains(a,"dijitCalendarDisabledDate")&&this.set("value",a.dijitDateValue)},_getNodeByDate:function(a){return(a=this._patchDate(a))&&this._date2cell?this._date2cell[a.valueOf()]:null},_markSelectedDates:function(a){function c(a,b){d.toggle(b,"dijitCalendarSelectedDate",a);b.setAttribute("aria-selected",a?"true":"false")}f.forEach(this._selectedCells||[],b.partial(c,!1));this._selectedCells=f.filter(f.map(a,this._getNodeByDate,this),function(a){return a}); +f.forEach(this._selectedCells,b.partial(c,!0))},onChange:function(){},isDisabledDate:function(){},getClassForDate:function(){}});m._MonthWidget=p("dijit.CalendarLite._MonthWidget",g,{_setMonthAttr:function(a){var b=this.dateLocaleModule.getNames("months","wide","standAlone",this.lang,a),d=6==c("ie")?"":"\x3cdiv class\x3d'dijitSpacer'\x3e"+f.map(b,function(a){return"\x3cdiv\x3e"+a+"\x3c/div\x3e"}).join("")+"\x3c/div\x3e";this.domNode.innerHTML=d+"\x3cdiv class\x3d'dijitCalendarMonthLabel dijitCalendarCurrentMonthLabel'\x3e"+ +b[a.getMonth()]+"\x3c/div\x3e"}});return m})},"dijit/Viewport":function(){define(["dojo/Evented","dojo/on","dojo/domReady","dojo/sniff","dojo/window"],function(f,p,k,n,e){var h=new f,q;k(function(){var d=e.getBox();h._rlh=p(window,"resize",function(){var a=e.getBox();d.h==a.h&&d.w==a.w||(d=a,h.emit("resize"))});if(8==n("ie")){var b=screen.deviceXDPI;setInterval(function(){screen.deviceXDPI!=b&&(b=screen.deviceXDPI,h.emit("resize"))},500)}n("ios")&&(p(document,"focusin",function(a){q=a.target}),p(document, +"focusout",function(a){q=null}))});h.getEffectiveBox=function(d){d=e.getBox(d);var b=q&&q.tagName&&q.tagName.toLowerCase();if(n("ios")&&q&&!q.readOnly&&("textarea"==b||"input"==b&&/^(color|email|number|password|search|tel|text|url)$/.test(q.type)))d.h*=0==orientation||180==orientation?0.66:0.4,b=q.getBoundingClientRect(),d.h=Math.max(d.h,b.top+b.height);return d};return h})},"dojo/topic":function(){define(["./Evented"],function(f){var p=new f;return{publish:function(f,n){return p.emit.apply(p,arguments)}, +subscribe:function(f,n){return p.on.apply(p,arguments)}}})},"dijit/_base/place":function(){define(["dojo/_base/array","dojo/_base/lang","dojo/window","../place","../main"],function(f,p,k,n,e){var h={getViewport:function(){return k.getBox()}};h.placeOnScreen=n.at;h.placeOnScreenAroundElement=function(e,d,b,a){var c;if(p.isArray(b))c=b;else{c=[];for(var f in b)c.push({aroundCorner:f,corner:b[f]})}return n.around(e,d,c,!0,a)};h.placeOnScreenAroundNode=h.placeOnScreenAroundElement;h.placeOnScreenAroundRectangle= +h.placeOnScreenAroundElement;h.getPopupAroundAlignment=function(e,d){var b={};f.forEach(e,function(a){var c=d;switch(a){case "after":b[d?"BR":"BL"]=d?"BL":"BR";break;case "before":b[d?"BL":"BR"]=d?"BR":"BL";break;case "below-alt":c=!c;case "below":b[c?"BL":"BR"]=c?"TL":"TR";b[c?"BR":"BL"]=c?"TR":"TL";break;case "above-alt":c=!c;default:b[c?"TL":"TR"]=c?"BL":"BR",b[c?"TR":"TL"]=c?"BR":"BL"}});return b};p.mixin(e,h);return e})},"dijit/MenuSeparator":function(){define("dojo/_base/declare dojo/dom ./_WidgetBase ./_TemplatedMixin ./_Contained dojo/text!./templates/MenuSeparator.html".split(" "), +function(f,p,k,n,e,h){return f("dijit.MenuSeparator",[k,n,e],{templateString:h,buildRendering:function(){this.inherited(arguments);p.setSelectable(this.domNode,!1)},isFocusable:function(){return!1}})})},"dijit/form/_ComboBoxMenu":function(){define("dojo/_base/declare dojo/dom-class dojo/dom-style dojo/keys ../_WidgetBase ../_TemplatedMixin ./_ComboBoxMenuMixin ./_ListMouseMixin".split(" "),function(f,p,k,n,e,h,q,d){return f("dijit.form._ComboBoxMenu",[e,h,d,q],{templateString:"\x3cdiv class\x3d'dijitReset dijitMenu' data-dojo-attach-point\x3d'containerNode' style\x3d'overflow: auto; overflow-x: hidden;' role\x3d'listbox'\x3e\x3cdiv class\x3d'dijitMenuItem dijitMenuPreviousButton' data-dojo-attach-point\x3d'previousButton' role\x3d'option'\x3e\x3c/div\x3e\x3cdiv class\x3d'dijitMenuItem dijitMenuNextButton' data-dojo-attach-point\x3d'nextButton' role\x3d'option'\x3e\x3c/div\x3e\x3c/div\x3e", +baseClass:"dijitComboBoxMenu",postCreate:function(){this.inherited(arguments);this.isLeftToRight()||(p.add(this.previousButton,"dijitMenuItemRtl"),p.add(this.nextButton,"dijitMenuItemRtl"));this.containerNode.setAttribute("role","listbox")},_createMenuItem:function(){var b=this.ownerDocument.createElement("div");b.className="dijitReset dijitMenuItem"+(this.isLeftToRight()?"":" dijitMenuItemRtl");b.setAttribute("role","option");return b},onHover:function(b){p.add(b,"dijitMenuItemHover")},onUnhover:function(b){p.remove(b, +"dijitMenuItemHover")},onSelect:function(b){p.add(b,"dijitMenuItemSelected")},onDeselect:function(b){p.remove(b,"dijitMenuItemSelected")},_page:function(b){var a=0,c=this.domNode.scrollTop,d=k.get(this.domNode,"height");for(this.getHighlightedOption()||this.selectNextNode();ab&&(b=this.length+b);this[b]&&a.push(this[b])},this);return a._stash(this)}});var w=b(d,r);f.query=b(d,function(a){return r(a)});w.load=function(a,c,d){q.load(a,c,function(a){d(b(a,r))})};f._filterQueryResult=w._filterResult=function(a,b,c){return new r(w.filter(a, +b,c))};f.NodeList=w.NodeList=r;return w})},"dijit/_base/focus":function(){define("dojo/_base/array dojo/dom dojo/_base/lang dojo/topic dojo/_base/window ../focus ../selection ../main".split(" "),function(f,p,k,n,e,h,q,d){h.focus=function(b){if(b){var a="node"in b?b.node:b,c=b.bookmark;b=b.openedForWindow;var f=c?c.isCollapsed:!1;if(a){var g="iframe"==a.tagName.toLowerCase()?a.contentWindow:a;if(g&&g.focus)try{g.focus()}catch(k){}h._onFocusNode(a)}if(c&&e.withGlobal(b||e.global,d.isCollapsed)&&!f){b&& +b.focus();try{e.withGlobal(b||e.global,d.moveToBookmark,null,[c])}catch(n){}}}};h.watch("curNode",function(b,a,c){d._curFocus=c;d._prevFocus=a;c&&n.publish("focusNode",c)});h.watch("activeStack",function(b,a,c){d._activeStack=c});h.on("widget-blur",function(b,a){n.publish("widgetBlur",b,a)});h.on("widget-focus",function(b,a){n.publish("widgetFocus",b,a)});k.mixin(d,{_curFocus:null,_prevFocus:null,isCollapsed:function(){return d.getBookmark().isCollapsed},getBookmark:function(){return(e.global==window? +q:new q.SelectionManager(e.global)).getBookmark()},moveToBookmark:function(b){return(e.global==window?q:new q.SelectionManager(e.global)).moveToBookmark(b)},getFocus:function(b,a){var c=!h.curNode||b&&p.isDescendant(h.curNode,b.domNode)?d._prevFocus:h.curNode;return{node:c,bookmark:c&&c==h.curNode&&e.withGlobal(a||e.global,d.getBookmark),openedForWindow:a}},_activeStack:[],registerIframe:function(b){return h.registerIframe(b)},unregisterIframe:function(b){b&&b.remove()},registerWin:function(b,a){return h.registerWin(b, +a)},unregisterWin:function(b){b&&b.remove()}});return d})},"dgrid/OnDemandList":function(){define("./List ./_StoreMixin dojo/_base/declare dojo/_base/lang dojo/dom-construct dojo/on dojo/when ./util/misc".split(" "),function(f,p,k,n,e,h,q,d){return k([f,p],{minRowsPerPage:25,maxRowsPerPage:250,maxEmptySpace:Infinity,bufferRows:10,farOffRemoval:2E3,queryRowsOverlap:0,pagingMethod:"debounce",pagingDelay:d.defaultDelay,keepScrollPosition:!1,rowHeight:0,postCreate:function(){this.inherited(arguments); +var b=this;h(this.bodyNode,"scroll",d[this.pagingMethod](function(a){b._processScroll(a)},null,this.pagingDelay))},renderQuery:function(b,a){var c=this,d=a&&a.container||this.contentNode,f={query:b,count:0},h,k=this.preload,m={node:e.create("div",{className:"dgrid-preload",style:{height:"0"}},d),count:0,query:b,next:f};m.node.rowIndex=0;f.node=h=e.create("div",{className:"dgrid-preload"},d);f.previous=m;h.rowIndex=this.minRowsPerPage;k?((f.next=k.next)&&h.offsetTop>=k.node.offsetTop?f.previous=k: +(f.next=k,f.previous=k.previous),f.previous.next=f,f.next.previous=f):this.preload=f;var p=e.create("div",{className:"dgrid-loading"},h,"before");e.create("div",{className:"dgrid-below"},p).innerHTML=this.loadingMessage;a=n.mixin({start:0,count:this.minRowsPerPage},"level"in b?{queryLevel:b.level}:null);return this._trackError(function(){var d=b(a);return c.renderQueryResults(d,h,a).then(function(b){return d.totalLength.then(function(d){var l=b.length,k=h.parentNode;c._rows&&(c._rows.min=0,c._rows.max= +l===d?Infinity:l-1);e.destroy(p);"queryLevel"in a||(c._total=d);0===d&&k&&(c.noDataNode&&e.destroy(c.noDataNode),c._insertNoDataNode(k));c._calcAverageRowHeight(b);d-=l;f.count=d;h.rowIndex=l;d?h.style.height=Math.min(d*c.rowHeight,c.maxEmptySpace)+"px":h.style.display="none";c._previousScrollPosition&&(c.scrollTo(c._previousScrollPosition),delete c._previousScrollPosition);return q(c._processScroll()).then(function(){return b})})}).otherwise(function(a){e.destroy(p);throw a;})})},refresh:function(b){var a= +this,c=b&&b.keepScrollPosition;"undefined"===typeof c&&(c=this.keepScrollPosition);c&&(this._previousScrollPosition=this.getScrollPosition());this.inherited(arguments);if(this._renderedCollection)return this.renderQuery(function(b){return a._renderedCollection.fetchRange({start:b.start,end:b.start+b.count})}).then(function(){a._emitRefreshComplete()})},resize:function(){this.inherited(arguments);this.rowHeight||this._calcAverageRowHeight(this.contentNode.getElementsByClassName("dgrid-row"));this._processScroll()}, +cleanup:function(){this.inherited(arguments);this.preload=null},renderQueryResults:function(b){var a=this.inherited(arguments),c=this._renderedCollection;c&&c.releaseRange&&a.then(function(a){a[0]&&!a[0].parentNode.tagName&&b.totalLength.then(function(){c.releaseRange(a[0].rowIndex,a[a.length-1].rowIndex+1)})});return a},_getFirstRowSibling:function(b){return b.lastChild},_calcRowHeight:function(b){var a=b.nextSibling;return a&&!/\bdgrid-preload\b/.test(a.className)?a.offsetTop-b.offsetTop:b.offsetHeight}, +_calcAverageRowHeight:function(b){for(var a=b.length,c=0,d=0;d2*k){for(var m,n=l[d],p=0,q=0,r=[],s=n&&n.rowIndex,t;m=n;){var u=f._calcRowHeight(m);if(p+u+k>b||0>n.className.indexOf("dgrid-row")&&0>n.className.indexOf("dgrid-loading"))break;n=m[d];p+=u;q+=m.count||1;f.removeRow(m,!0);r.push(m);"rowIndex"in m&&(t=m.rowIndex)}f._renderedCollection.releaseRange&& +("number"===typeof s&&"number"===typeof t)&&(h?f._renderedCollection.releaseRange(t,s+1):f._renderedCollection.releaseRange(s,t+1),f._rows[h?"max":"min"]=t,f._rows.max>=f._total-1&&(f._rows.max=Infinity));a.count+=q;h?(l.rowIndex-=q,c(a)):l.style.height=l.offsetHeight+p+"px";var A=document.createElement("div");for(a=r.length;a--;)A.appendChild(r[a]);setTimeout(function(){e.destroy(A)},1)}}function c(a,b){a.node.style.height=Math.min(a.count*f.rowHeight,b?Infinity:f.maxEmptySpace)+"px"}function d(a, +b){do a=b?a.next:a.previous;while(a&&!a.node.offsetWidth);return a}if(this.rowHeight){var f=this,h=f.bodyNode;b=b&&b.scrollTop||this.getScrollPosition().y;var h=h.offsetHeight+b,k,m,n=f.preload,p=f.lastScrollTop,q=f.bufferRows*f.rowHeight,v=q-f.rowHeight,x,z=!0;for(f.lastScrollTop=b;n&&!n.node.offsetWidth;)n=n.previous;for(;n&&n!==k;){k=f.preload;f.preload=n;m=n.node;var y=m.offsetTop;if(h+1+vy+m.offsetHeight)n=d(n,z=!0);else{var y=((m.rowIndex?b-q:h)-y)/f.rowHeight,A= +(h-b+2*q)/f.rowHeight,B=Math.max(Math.min((b-p)*f.rowHeight,f.maxRowsPerPage/2),f.maxRowsPerPage/-2),A=A+Math.min(Math.abs(B),10);0===m.rowIndex&&(y-=A);y=Math.max(y,0);10>y&&(0b)&&n;if(M){var Q=n.previous;Q&&(a(Q,b-(Q.node.offsetTop+ +Q.node.offsetHeight),"nextSibling"),0f._total||0>E.count)){var G=e.create("div",{className:"dgrid-loading",style:{height:A*f.rowHeight+"px"}},H,"before");e.create("div",{className:"dgrid-"+(M?"below":"above"),innerHTML:f.loadingMessage},G);G.count=A;f._trackError(function(){(function(a,b,d){var h=n.query(E);x=f.renderQueryResults(h,a,E).then(function(k){var l=f._rows;l&&(!("queryLevel"in E)&&k.length)&&(b?(l.max<=l.min&&(l.min=k[0].rowIndex), +l.max=k[k.length-1].rowIndex):(l.max<=l.min&&(l.max=k[k.length-1].rowIndex),l.min=k[0].rowIndex));H=a.nextSibling;e.destroy(a);d&&(H&&H.offsetWidth)&&(l=f.getScrollPosition(),f.scrollTo({x:l.x,y:l.y+H.offsetTop-d,preserveMomentum:!0}));h.totalLength.then(function(a){"queryLevel"in E||(f._total=a,f._rows&&f._rows.max>=f._total-1&&(f._rows.max=Infinity));b&&(b.count=a-b.node.rowIndex,c(b))});f._processScroll();return k},function(b){e.destroy(a);throw b;})})(G,M,L)});n=n.previous}}}}return x}}})})}, +"dijit/a11y":function(){define("dojo/_base/array dojo/dom dojo/dom-attr dojo/dom-style dojo/_base/lang dojo/sniff ./main".split(" "),function(f,p,k,n,e,h,q){var d={_isElementShown:function(b){var a=n.get(b);return"hidden"!=a.visibility&&"collapsed"!=a.visibility&&"none"!=a.display&&"hidden"!=k.get(b,"type")},hasDefaultTabStop:function(b){switch(b.nodeName.toLowerCase()){case "a":return k.has(b,"href");case "area":case "button":case "input":case "object":case "select":case "textarea":return!0;case "iframe":var a; +try{var c=b.contentDocument;if("designMode"in c&&"on"==c.designMode)return!0;a=c.body}catch(d){try{a=b.contentWindow.document.body}catch(e){return!1}}return a&&("true"==a.contentEditable||a.firstChild&&"true"==a.firstChild.contentEditable);default:return"true"==b.contentEditable}},effectiveTabIndex:function(b){return k.get(b,"disabled")?void 0:k.has(b,"tabIndex")?+k.get(b,"tabIndex"):d.hasDefaultTabStop(b)?0:void 0},isTabNavigable:function(b){return 0<=d.effectiveTabIndex(b)},isFocusable:function(b){return-1<= +d.effectiveTabIndex(b)},_getTabNavigable:function(b){function a(a){return a&&"input"==a.tagName.toLowerCase()&&a.type&&"radio"==a.type.toLowerCase()&&a.name&&a.name.toLowerCase()}var c,e,f,n,p,m,q={},w=d._isElementShown,u=d.effectiveTabIndex,v=function(b){for(b=b.firstChild;b;b=b.nextSibling)if(!(1!=b.nodeType||9>=h("ie")&&"HTML"!==b.scopeName||!w(b))){var d=u(b);if(0<=d){if(0==d)c||(c=b),e=b;else if(0=m)m=d,p=b}d=a(b);k.get(b,"checked")&&d&&(q[d]=b)}"SELECT"!=b.nodeName.toUpperCase()&& +v(b)}};w(b)&&v(b);return{first:q[a(c)]||c,last:q[a(e)]||e,lowest:q[a(f)]||f,highest:q[a(p)]||p}},getFirstInTabbingOrder:function(b,a){var c=d._getTabNavigable(p.byId(b,a));return c.lowest?c.lowest:c.first},getLastInTabbingOrder:function(b,a){var c=d._getTabNavigable(p.byId(b,a));return c.last?c.last:c.highest}};e.mixin(q,d);return d})},"cbtree/model/ForestStoreModel":function(){define("module dojo/_base/declare dojo/_base/lang dojo/Deferred dojo/when ./_base/CheckedStoreModel ../errors/createError!../errors/CBTErrors.json".split(" "), +function(f,p,k,n,e,h,q){var d=q(f.id);return p([h],{rootId:"$root$",rootLabel:"ROOT",constructor:function(b){b={id:this.rootId,root:!0};var a=this.store;b[this.checkedAttr]=this.checkedState;b[this.labelAttr]=this.rootLabel||this.rootId;if(this._methods.queryEngine)this._rootQuery=a.queryEngine(this.query);else throw new d("MethodMissing","_createForestRoot","store has no query engine");this._forest=!0;this.root=b},getChildren:function(b,a,c){this._getChildren(b,function(a,b){return a==this.root? +this.store.query(this.query,this.options):this.store.getChildren(a,this.options)},a,c)},getParents:function(b){if(b&&b!=this.root){var a=this;return this.inherited(arguments).then(function(c){a.isChildOf(b,a.root)&&c.push(a.root);return c})}return(new n).resolve([])},mayHaveChildren:function(b){if(b&&b==this.root){var a=this.getIdentity(b);return!!this._childrenCache[a]}return this.inherited(arguments)},getIdentity:function(b){return b==this.root?this.root.id:this.store.getIdentity(b)},isChildOf:function(b, +a){return a&&b?a==this.root?this._rootQuery.matches?this._rootQuery.matches(b):!!this._rootQuery([b]).length:this.inherited(arguments):!1},_setValue:function(b,a,c){if(b[a]!==c)if(b==this.root){var d=k.mixin(null,b);b[a]=c;this._onChange(b,d)}else this.inherited(arguments);return c},_onSetItem:function(b,a,c,d){if(this.query&&a in this.query){var f=this;e(this._childrenCache[this.root.id],function(a){a=a?a.indexOf(b):-1;var c=f.isChildOf(b,f.root);if(c!=-1a?"0"+ +a:a});if(b.valueOf()!==b)return p(b.valueOf(),a,c);var g=h?a+h:"",n=h?" ":"",r=h?"\n":"";if(b instanceof Array){var n=b.length,m=[];for(c=0;cH+1E3)&&d.call(this,a)});return{remove:function(){e.remove();f.remove()}}}:function(b,c){return h(b,a,c)}}function l(a){do if(void 0!== +a.dojoClick)return a;while(a=a.parentNode)}function g(b,c,e){if(!d.isRight(b)){var f=l(b.target);if(u=!b.target.disabled&&f&&f.dojoClick)if(x=(v="useTarget"==u)?f:b.target,v&&b.preventDefault(),z=b.changedTouches?b.changedTouches[0].pageX-a.global.pageXOffset:b.clientX,y=b.changedTouches?b.changedTouches[0].pageY-a.global.pageYOffset:b.clientY,A=("object"==typeof u?u.x:"number"==typeof u?u:0)||4,B=("object"==typeof u?u.y:"number"==typeof u?u:0)||4,!w){w=!0;var g=function(b){u=v?k.isDescendant(a.doc.elementFromPoint(b.changedTouches? +b.changedTouches[0].pageX-a.global.pageXOffset:b.clientX,b.changedTouches?b.changedTouches[0].pageY-a.global.pageYOffset:b.clientY),x):u&&(b.changedTouches?b.changedTouches[0].target:b.target)==x&&Math.abs((b.changedTouches?b.changedTouches[0].pageX-a.global.pageXOffset:b.clientX)-z)<=A&&Math.abs((b.changedTouches?b.changedTouches[0].pageY-a.global.pageYOffset:b.clientY)-y)<=B};a.doc.addEventListener(c,function(a){d.isRight(a)||(g(a),v&&a.preventDefault())},!0);a.doc.addEventListener(e,function(a){if(!d.isRight(a)&& +(g(a),u)){E=(new Date).getTime();var b=v?x:a.target;"LABEL"===b.tagName&&(b=k.byId(b.getAttribute("for"))||b);var c=a.changedTouches?a.changedTouches[0]:a,e=function(b){var d=document.createEvent("MouseEvents");d._dojo_click=!0;d.initMouseEvent(b,!0,!0,a.view,a.detail,c.screenX,c.screenY,c.clientX,c.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,0,null);return d},f=e("mousedown"),l=e("mouseup"),m=e("click");setTimeout(function(){h.emit(b,"mousedown",f);h.emit(b,"mouseup",l);h.emit(b,"click",m);E= +(new Date).getTime()},0)}},!0);b=function(b){a.doc.addEventListener(b,function(a){var c=a.target;u&&(!a._dojo_click&&(new Date).getTime()<=E+1E3&&!("INPUT"==c.tagName&&n.contains(c,"dijitOffScreen")))&&(a.stopPropagation(),a.stopImmediatePropagation&&a.stopImmediatePropagation(),"click"==b&&(("INPUT"!=c.tagName||"radio"==c.type&&(n.contains(c,"dijitCheckBoxInput")||n.contains(c,"mblRadioButton"))||"checkbox"==c.type&&(n.contains(c,"dijitCheckBoxInput")||n.contains(c,"mblCheckBox")))&&"TEXTAREA"!= +c.tagName&&"AUDIO"!=c.tagName&&"VIDEO"!=c.tagName)&&a.preventDefault())},!0)};b("click");b("mousedown");b("mouseup")}}}var s=5>q("ios"),r=q("pointer-events")||q("MSPointer"),m=function(){var a={},b;for(b in{down:1,move:1,up:1,cancel:1,over:1,out:1})a[b]=q("MSPointer")?"MSPointer"+b.charAt(0).toUpperCase()+b.slice(1):"pointer"+b;return a}(),t=q("touch-events"),w,u,v=!1,x,z,y,A,B,E,H,L;q("touch")&&(r?b(function(){a.doc.addEventListener(m.down,function(a){g(a,m.move,m.up)},!0)}):b(function(){function b(a){var c= +e.delegate(a,{bubbles:!0});6<=q("ios")&&(c.touches=a.touches,c.altKey=a.altKey,c.changedTouches=a.changedTouches,c.ctrlKey=a.ctrlKey,c.metaKey=a.metaKey,c.shiftKey=a.shiftKey,c.targetTouches=a.targetTouches);return c}L=a.body();a.doc.addEventListener("touchstart",function(a){H=(new Date).getTime();var b=L;L=a.target;h.emit(b,"dojotouchout",{relatedTarget:L,bubbles:!0});h.emit(L,"dojotouchover",{relatedTarget:b,bubbles:!0});g(a,"touchmove","touchend")},!0);h(a.doc,"touchmove",function(c){H=(new Date).getTime(); +var d=a.doc.elementFromPoint(c.pageX-(s?0:a.global.pageXOffset),c.pageY-(s?0:a.global.pageYOffset));d&&(L!==d&&(h.emit(L,"dojotouchout",{relatedTarget:d,bubbles:!0}),h.emit(d,"dojotouchover",{relatedTarget:L,bubbles:!0}),L=d),h.emit(d,"dojotouchmove",b(c))||c.preventDefault())});h(a.doc,"touchend",function(c){H=(new Date).getTime();var d=a.doc.elementFromPoint(c.pageX-(s?0:a.global.pageXOffset),c.pageY-(s?0:a.global.pageYOffset))||a.body();h.emit(d,"dojotouchend",b(c))})}));p={press:c("mousedown", +"touchstart",m.down),move:c("mousemove","dojotouchmove",m.move),release:c("mouseup","dojotouchend",m.up),cancel:c(d.leave,"touchcancel",r?m.cancel:null),over:c("mouseover","dojotouchover",m.over),out:c("mouseout","dojotouchout",m.out),enter:d._eventHandler(c("mouseover","dojotouchover",m.over)),leave:d._eventHandler(c("mouseout","dojotouchout",m.out))};return f.touch=p})},"dojo/fx":function(){define("./_base/lang ./Evented ./_base/kernel ./_base/array ./aspect ./_base/fx ./dom ./dom-style ./dom-geometry ./ready require".split(" "), +function(f,p,k,n,e,h,q,d,b,a,c){k.isAsync||a(0,function(){c(["./fx/Toggler"])});k=k.fx={};a={_fire:function(a,b){this[a]&&this[a].apply(this,b||[]);return this}};var l=function(a){this._index=-1;this._animations=a||[];this._current=this._onAnimateCtx=this._onEndCtx=null;this.duration=0;n.forEach(this._animations,function(a){a&&("undefined"!=typeof a.duration&&(this.duration+=a.duration),a.delay&&(this.duration+=a.delay))},this)};l.prototype=new p;f.extend(l,{_onAnimate:function(){this._fire("onAnimate", +arguments)},_onEnd:function(){this._onAnimateCtx.remove();this._onEndCtx.remove();this._onAnimateCtx=this._onEndCtx=null;this._index+1==this._animations.length?this._fire("onEnd"):(this._current=this._animations[++this._index],this._onAnimateCtx=e.after(this._current,"onAnimate",f.hitch(this,"_onAnimate"),!0),this._onEndCtx=e.after(this._current,"onEnd",f.hitch(this,"_onEnd"),!0),this._current.play(0,!0))},play:function(a,b){this._current||(this._current=this._animations[this._index=0]);if(!b&&"playing"== +this._current.status())return this;var c=e.after(this._current,"beforeBegin",f.hitch(this,function(){this._fire("beforeBegin")}),!0),d=e.after(this._current,"onBegin",f.hitch(this,function(a){this._fire("onBegin",arguments)}),!0),g=e.after(this._current,"onPlay",f.hitch(this,function(a){this._fire("onPlay",arguments);c.remove();d.remove();g.remove()}));this._onAnimateCtx&&this._onAnimateCtx.remove();this._onAnimateCtx=e.after(this._current,"onAnimate",f.hitch(this,"_onAnimate"),!0);this._onEndCtx&& +this._onEndCtx.remove();this._onEndCtx=e.after(this._current,"onEnd",f.hitch(this,"_onEnd"),!0);this._current.play.apply(this._current,arguments);return this},pause:function(){if(this._current){var a=e.after(this._current,"onPause",f.hitch(this,function(b){this._fire("onPause",arguments);a.remove()}),!0);this._current.pause()}return this},gotoPercent:function(a,b){this.pause();var c=this.duration*a;this._current=null;n.some(this._animations,function(a,b){if(c<=a.duration)return this._current=a,this._index= +b,!0;c-=a.duration;return!1},this);this._current&&this._current.gotoPercent(c/this._current.duration);b&&this.play();return this},stop:function(a){if(this._current){if(a){for(;this._index+1this._animations.length&&this._fire("onEnd")},_call:function(a,b){var c=this._pseudoAnimation;c[a].apply(c,b)},play:function(a, +b){this._finished=0;this._doAction("play",arguments);this._call("play",arguments);return this},pause:function(){this._doAction("pause",arguments);this._call("pause",arguments);return this},gotoPercent:function(a,b){var c=this.duration*a;n.forEach(this._animations,function(a){a.gotoPercent(a.duration"file|submit|image|reset|button".indexOf(l)&&!a.disabled){var g=k,n=c, +a=e.fieldToObject(a);if(null!==a){var r=g[n];"string"==typeof r?g[n]=[r,a]:f.isArray(r)?r.push(a):g[n]=a}"image"==l&&(k[c+".x"]=k[c+".y"]=k[c].x=k[c].y=0)}}return k},toQuery:function(f){return k.objectToQuery(e.toObject(f))},toJson:function(f,k){return n.stringify(e.toObject(f),null,k?4:0)}};return e})},"dojo/request":function(){define(["./request/default!"],function(f){return f})},"dijit/form/HorizontalSlider":function(){define("dojo/_base/array dojo/_base/declare dojo/dnd/move dojo/_base/fx dojo/dom-geometry dojo/dom-style dojo/keys dojo/_base/lang dojo/sniff dojo/dnd/Moveable dojo/dnd/Mover dojo/query dojo/mouse dojo/on ../_base/manager ../focus ../typematic ./Button ./_FormValueWidget ../_Container dojo/text!./templates/HorizontalSlider.html".split(" "), +function(f,p,k,n,e,h,q,d,b,a,c,l,g,s,r,m,t,w,u,v,x){var z=p("dijit.form._SliderMover",c,{onMouseMove:function(a){var b=this.widget,c=b._abspos;c||(c=b._abspos=e.position(b.sliderBarContainer,!0),b._setPixelValue_=d.hitch(b,"_setPixelValue"),b._isReversed_=b._isReversed());a=a[b._mousePixelCoord]-c[b._startingPixelCoord];b._setPixelValue_(b._isReversed_?c[b._pixelCount]-a:a,c[b._pixelCount],!1)},destroy:function(a){c.prototype.destroy.apply(this,arguments);var b=this.widget;b._abspos=null;b._setValueAttr(b.value, +!0)}});k=p("dijit.form.HorizontalSlider",[u,v],{templateString:x,value:0,showButtons:!0,minimum:0,maximum:100,discreteValues:Infinity,pageIncrement:2,clickSelect:!0,slideDuration:r.defaultDuration,_setIdAttr:"",_setNameAttr:"valueNode",baseClass:"dijitSlider",cssStateNodes:{incrementButton:"dijitSliderIncrementButton",decrementButton:"dijitSliderDecrementButton",focusNode:"dijitSliderThumb"},_mousePixelCoord:"pageX",_pixelCount:"w",_startingPixelCoord:"x",_handleOffsetCoord:"left",_progressPixelSize:"width", +_onKeyUp:function(a){!this.disabled&&(!this.readOnly&&!a.altKey&&!a.ctrlKey&&!a.metaKey)&&this._setValueAttr(this.value,!0)},_onKeyDown:function(a){if(!this.disabled&&!this.readOnly&&!a.altKey&&!a.ctrlKey&&!a.metaKey){switch(a.keyCode){case q.HOME:this._setValueAttr(this.minimum,!1);break;case q.END:this._setValueAttr(this.maximum,!1);break;case this._descending||this.isLeftToRight()?q.RIGHT_ARROW:q.LEFT_ARROW:case !1===this._descending?q.DOWN_ARROW:q.UP_ARROW:case !1===this._descending?q.PAGE_DOWN: +q.PAGE_UP:this.increment(a);break;case this._descending||this.isLeftToRight()?q.LEFT_ARROW:q.RIGHT_ARROW:case !1===this._descending?q.UP_ARROW:q.DOWN_ARROW:case !1===this._descending?q.PAGE_UP:q.PAGE_DOWN:this.decrement(a);break;default:return}a.stopPropagation();a.preventDefault()}},_onHandleClick:function(a){!this.disabled&&!this.readOnly&&(b("ie")||m.focus(this.sliderHandle),a.stopPropagation(),a.preventDefault())},_isReversed:function(){return!this.isLeftToRight()},_onBarClick:function(a){if(!this.disabled&& +!this.readOnly&&this.clickSelect){m.focus(this.sliderHandle);a.stopPropagation();a.preventDefault();var b=e.position(this.sliderBarContainer,!0),c=a[this._mousePixelCoord]-b[this._startingPixelCoord];this._setPixelValue(this._isReversed()?b[this._pixelCount]-c:c,b[this._pixelCount],!0);this._movable.onMouseDown(a)}},_setPixelValue:function(a,b,c){if(!this.disabled&&!this.readOnly){var d=this.discreteValues;if(1>=d||Infinity==d)d=b;d--;a=Math.round(a/(b/d));this._setValueAttr(Math.max(Math.min((this.maximum- +this.minimum)*a/d+this.minimum,this.maximum),this.minimum),c)}},_setValueAttr:function(a,b){this._set("value",a);this.valueNode.value=a;this.focusNode.setAttribute("aria-valuenow",a);this.inherited(arguments);var c=this.maximum>this.minimum?(a-this.minimum)/(this.maximum-this.minimum):0,d=!1===this._descending?this.remainingBar:this.progressBar,e=!1===this._descending?this.progressBar:this.remainingBar;this._inProgressAnim&&"stopped"!=this._inProgressAnim.status&&this._inProgressAnim.stop(!0);if(b&& +0k&&(k=0-k),g[this._progressPixelSize]={start:h,end:100*c,units:"%"},this._inProgressAnim=n.animateProperty({node:d,duration:k,onAnimate:function(a){e.style[f._progressPixelSize]=100-parseFloat(a[f._progressPixelSize])+"%"},onEnd:function(){delete f._inProgressAnim},properties:g}),this._inProgressAnim.play())}else d.style[this._progressPixelSize]= +100*c+"%",e.style[this._progressPixelSize]=100*(1-c)+"%"},_bumpValue:function(a,b){if(!this.disabled&&!(this.readOnly||this.maximum<=this.minimum)){var c=h.getComputedStyle(this.sliderBarContainer),d=e.getContentBox(this.sliderBarContainer,c),c=this.discreteValues;if(1>=c||Infinity==c)c=d[this._pixelCount];c--;d=Math.round((this.value-this.minimum)*c/(this.maximum-this.minimum))+a;0>d&&(d=0);d>c&&(d=c);d=d*(this.maximum-this.minimum)/c+this.minimum;this._setValueAttr(d,b)}},_onClkBumper:function(a){!this.disabled&& +(!this.readOnly&&this.clickSelect)&&this._setValueAttr(a,!0)},_onClkIncBumper:function(){this._onClkBumper(!1===this._descending?this.minimum:this.maximum)},_onClkDecBumper:function(){this._onClkBumper(!1===this._descending?this.maximum:this.minimum)},decrement:function(a){this._bumpValue(a.keyCode==q.PAGE_DOWN?-this.pageIncrement:-1)},increment:function(a){this._bumpValue(a.keyCode==q.PAGE_UP?this.pageIncrement:1)},_mouseWheeled:function(a){this.focused&&(a.stopPropagation(),a.preventDefault(),this._bumpValue(0> +a.wheelDelta?-1:1,!0))},startup:function(){this._started||(f.forEach(this.getChildren(),function(a){this[a.container]!=this.containerNode&&this[a.container].appendChild(a.domNode)},this),this.inherited(arguments))},_typematicCallback:function(a,b,c){if(-1==a)this._setValueAttr(this.value,!0);else this[b==(this._descending?this.incrementButton:this.decrementButton)?"decrement":"increment"](c)},buildRendering:function(){this.inherited(arguments);this.showButtons&&(this.incrementButton.style.display= +"",this.decrementButton.style.display="");var a=l('label[for\x3d"'+this.id+'"]');a.length&&(a[0].id||(a[0].id=this.id+"_label"),this.focusNode.setAttribute("aria-labelledby",a[0].id));this.focusNode.setAttribute("aria-valuemin",this.minimum);this.focusNode.setAttribute("aria-valuemax",this.maximum)},postCreate:function(){this.inherited(arguments);this.showButtons&&this.own(t.addMouseListener(this.decrementButton,this,"_typematicCallback",25,500),t.addMouseListener(this.incrementButton,this,"_typematicCallback", +25,500));this.own(s(this.domNode,g.wheel,d.hitch(this,"_mouseWheeled")));var b=p(z,{widget:this});this._movable=new a(this.sliderHandle,{mover:b});this._layoutHackIE7()},destroy:function(){this._movable.destroy();this._inProgressAnim&&"stopped"!=this._inProgressAnim.status&&this._inProgressAnim.stop(!0);this.inherited(arguments)}});k._Mover=z;return k})},"dijit/Tree":function(){define("dojo/_base/array dojo/aspect dojo/cookie dojo/_base/declare dojo/Deferred dojo/promise/all dojo/dom dojo/dom-class dojo/dom-geometry dojo/dom-style dojo/errors/create dojo/fx dojo/has dojo/_base/kernel dojo/keys dojo/_base/lang dojo/on dojo/topic dojo/touch dojo/when ./a11yclick ./focus ./registry ./_base/manager ./_Widget ./_TemplatedMixin ./_Container ./_Contained ./_CssStateMixin ./_KeyNavMixin dojo/text!./templates/TreeNode.html dojo/text!./templates/Tree.html ./tree/TreeStoreModel ./tree/ForestStoreModel ./tree/_dndSelector dojo/query!css2".split(" "), +function(f,p,k,n,e,h,q,d,b,a,c,l,g,s,r,m,t,w,u,v,x,z,y,A,B,E,H,L,M,Q,G,J,F,D,C){function P(a){return m.delegate(a.promise||a,{addCallback:function(a){this.then(a)},addErrback:function(a){this.otherwise(a)}})}var N=n("dijit._TreeNode",[B,E,H,L,M],{item:null,isTreeNode:!0,label:"",_setLabelAttr:function(a){this.labelNode["html"==this.labelType?"innerHTML":"innerText"in this.labelNode?"innerText":"textContent"]=a;this._set("label",a);g("dojo-bidi")&&this.applyTextDir(this.labelNode)},labelType:"text", +isExpandable:null,isExpanded:!1,state:"NotLoaded",templateString:G,baseClass:"dijitTreeNode",cssStateNodes:{rowNode:"dijitTreeRow"},_setTooltipAttr:{node:"rowNode",type:"attribute",attribute:"title"},buildRendering:function(){this.inherited(arguments);this._setExpando();this._updateItemClasses(this.item);this.isExpandable&&this.labelNode.setAttribute("aria-expanded",this.isExpanded);this.setSelected(!1)},_setIndentAttr:function(b){var c=Math.max(b,0)*this.tree._nodePixelIndent+"px";a.set(this.domNode, +"backgroundPosition",c+" 0px");a.set(this.rowNode,this.isLeftToRight()?"paddingLeft":"paddingRight",c);f.forEach(this.getChildren(),function(a){a.set("indent",b+1)});this._set("indent",b)},markProcessing:function(){this.state="Loading";this._setExpando(!0)},unmarkProcessing:function(){this._setExpando(!1)},_updateItemClasses:function(a){var b=this.tree,c=b.model;b._v10Compat&&a===c.root&&(a=null);this._applyClassAndStyle(a,"icon","Icon");this._applyClassAndStyle(a,"label","Label");this._applyClassAndStyle(a, +"row","Row");this.tree._startPaint(!0)},_applyClassAndStyle:function(b,c,e){var f="_"+c+"Class";c+="Node";var g=this[f];this[f]=this.tree["get"+e+"Class"](b,this.isExpanded);d.replace(this[c],this[f]||"",g||"");a.set(this[c],this.tree["get"+e+"Style"](b,this.isExpanded)||{})},_updateLayout:function(){var a=this.getParent(),a=!a||!a.rowNode||"none"==a.rowNode.style.display;d.toggle(this.domNode,"dijitTreeIsRoot",a);d.toggle(this.domNode,"dijitTreeIsLast",!a&&!this.getNextSibling())},_setExpando:function(a){var b= +["dijitTreeExpandoLoading","dijitTreeExpandoOpened","dijitTreeExpandoClosed","dijitTreeExpandoLeaf"];a=a?0:this.isExpandable?this.isExpanded?1:2:3;d.replace(this.expandoNode,b[a],b);this.expandoNodeText.innerHTML=["*","-","+","*"][a]},expand:function(){if(this._expandDeferred)return P(this._expandDeferred);this._collapseDeferred&&(this._collapseDeferred.cancel(),delete this._collapseDeferred);this.isExpanded=!0;this.labelNode.setAttribute("aria-expanded","true");(this.tree.showRoot||this!==this.tree.rootNode)&& +this.containerNode.setAttribute("role","group");d.add(this.contentNode,"dijitTreeContentExpanded");this._setExpando();this._updateItemClasses(this.item);this==this.tree.rootNode&&this.tree.showRoot&&this.tree.domNode.setAttribute("aria-expanded","true");var a=l.wipeIn({node:this.containerNode,duration:A.defaultDuration}),b=this._expandDeferred=new e(function(){a.stop()});p.after(a,"onEnd",function(){b.resolve(!0)},!0);a.play();return P(b)},collapse:function(){if(this._collapseDeferred)return P(this._collapseDeferred); +this._expandDeferred&&(this._expandDeferred.cancel(),delete this._expandDeferred);this.isExpanded=!1;this.labelNode.setAttribute("aria-expanded","false");this==this.tree.rootNode&&this.tree.showRoot&&this.tree.domNode.setAttribute("aria-expanded","false");d.remove(this.contentNode,"dijitTreeContentExpanded");this._setExpando();this._updateItemClasses(this.item);var a=l.wipeOut({node:this.containerNode,duration:A.defaultDuration}),b=this._collapseDeferred=new e(function(){a.stop()});p.after(a,"onEnd", +function(){b.resolve(!0)},!0);a.play();return P(b)},indent:0,setChildItems:function(a){var b=this.tree,c=b.model,d=[],e=b.focusedChild,g=this.getChildren();f.forEach(g,function(a){H.prototype.removeChild.call(this,a)},this);this.defer(function(){f.forEach(g,function(a){if(!a._destroyed&&!a.getParent()){b.dndController.removeTreeNode(a);var d=function(a){var e=c.getIdentity(a.item),g=b._itemNodesMap[e];1==g.length?delete b._itemNodesMap[e]:(e=f.indexOf(g,a),-1!=e&&g.splice(e,1));f.forEach(a.getChildren(), +d)};d(a);if(b.persist){var g=f.map(a.getTreePath(),function(a){return b.model.getIdentity(a)}).join("/"),h;for(h in b._openedNodes)h.substr(0,g.length)==g&&delete b._openedNodes[h];b._saveExpandedNodes()}b.lastFocusedChild&&!q.isDescendant(b.lastFocusedChild,b.domNode)&&delete b.lastFocusedChild;e&&!q.isDescendant(e,b.domNode)&&b.focus();a.destroyRecursive()}})});this.state="Loaded";a&&0=this._outstandingPaintOperations&&(!this._adjustWidthsTimer&&this._started)&&(this._adjustWidthsTimer=this.defer("_adjustWidths"))});v(a,b,b)},_adjustWidths:function(){this._adjustWidthsTimer&&(this._adjustWidthsTimer.remove(),delete this._adjustWidthsTimer);this.containerNode.style.width="auto";this.containerNode.style.width=this.domNode.scrollWidth>this.domNode.offsetWidth?"auto":"100%"},_createTreeNode:function(a){return new N(a)},focus:function(){this.lastFocusedChild? +this.focusNode(this.lastFocusedChild):this.focusFirstChild()}});g("dojo-bidi")&&K.extend({_setTextDirAttr:function(a){a&&this.textDir!=a&&(this._set("textDir",a),this.rootNode.set("textDir",a))}});K.PathError=c("TreePathError");K._TreeNode=N;return K})},"dijit/form/_FormValueWidget":function(){define(["dojo/_base/declare","dojo/sniff","./_FormWidget","./_FormValueMixin"],function(f,p,k,n){return f("dijit.form._FormValueWidget",[k,n],{_layoutHackIE7:function(){if(7==p("ie"))for(var e=this.domNode, +f=e.parentNode,k=e.firstChild||e,d=k.style.filter,b=this;f&&0==f.clientHeight;)(function(){var a=b.connect(f,"onscroll",function(){b.disconnect(a);k.style.filter=(new Date).getMilliseconds();b.defer(function(){k.style.filter=d})})})(),f=f.parentNode}})})},"dgrid/Keyboard":function(){define("dojo/_base/declare dojo/aspect dojo/dom-class dojo/on dojo/_base/lang dojo/has ./util/misc dojo/_base/sniff".split(" "),function(f,p,k,n,e,h,q){function d(a){a.preventDefault()}var b={checkbox:1,radio:1,button:1}, +a=/\bdgrid-cell\b/,c=/\bdgrid-row\b/,l=f(null,{pageSkip:10,tabIndex:0,keyMap:null,headerKeyMap:null,postMixInProperties:function(){this.inherited(arguments);this.keyMap||(this.keyMap=e.mixin({},l.defaultKeyMap));this.headerKeyMap||(this.headerKeyMap=e.mixin({},l.defaultHeaderKeyMap))},postCreate:function(){function d(a){var c=a.target;return c.type&&(!b[c.type]||32===a.keyCode)}function e(b){function g(){f._focusedHeaderNode&&(f._focusedHeaderNode.tabIndex=-1);if(f.showHeader){if(k)for(var a=f.headerNode.getElementsByTagName("th"), +b=0,c;c=a[b];++b){if(l.test(c.className)){f._focusedHeaderNode=q=c;break}}else f._focusedHeaderNode=q=f.headerNode;q&&(q.tabIndex=f.tabIndex)}}function h(){var a=f._focusedNode||q;if(!l.test(a.className)||!b.contains(a)){for(var c=b.getElementsByTagName("*"),d=0,e;e=c[d];++d)if(l.test(e.className)){a=f._focusedNode=e;break}q.tabIndex=-1;a.tabIndex=f.tabIndex}}var k=f.cellNavigation,l=k?a:c,m=b===f.headerNode,q=b;m?(g(),p.after(f,"renderHeader",g,!0)):(p.after(f,"renderArray",h,!0),p.after(f,"_onNotification", +function(a,c){0===c.totalLength?b.tabIndex=0:1===c.totalLength&&"add"===c.type&&h()},!0));f._listeners.push(n(b,"mousedown",function(a){d(a)||f._focusOnNode(a.target,m,a)}));f._listeners.push(n(b,"keydown",function(a){if(!a.metaKey&&!a.altKey){var b=f[m?"headerKeyMap":"keyMap"][a.keyCode];b&&!d(a)&&b.call(f,a)}}))}this.inherited(arguments);var f=this;this.tabableHeader&&(e(this.headerNode),n(this.headerNode,"dgrid-cellfocusin",function(){f.scrollTo({x:this.scrollLeft})}));e(this.contentNode);this._debouncedEnsureScroll= +q.debounce(this._ensureScroll,this)},removeRow:function(a){if(!this._focusedNode)return this.inherited(arguments);var b=this,c=document.activeElement===this._focusedNode,d=this[this.cellNavigation?"cell":"row"](this._focusedNode),e=d.row||d,f;a=a.element||a;if(a===e.element){f=this.down(e,!0);if(!f||f.element===a)f=this.up(e,!0);this._removedFocus={active:c,rowId:e.id,columnId:d.column&&d.column.id,siblingId:!f||f.element===a?void 0:f.id};setTimeout(function(){b._removedFocus&&b._restoreFocus(e.id)}, +0);this._focusedNode=null}this.inherited(arguments)},insertRow:function(){var a=this.inherited(arguments);this._removedFocus&&!this._removedFocus.wait&&this._restoreFocus(a);return a},_restoreFocus:function(a){var b=this._removedFocus,c;if((a=(a=a&&this.row(a))&&a.element&&a.id===b.rowId?a:"undefined"!==typeof b.siblingId&&this.row(b.siblingId))&&a.element){if(!a.element.parentNode.parentNode){b.wait=!0;return}"undefined"!==typeof b.columnId&&(c=this.cell(a,b.columnId))&&c.element&&(a=c);b.active&& +0!==a.element.offsetHeight?this._focusOnNode(a,!1,null):(k.add(a.element,"dgrid-focus"),a.element.tabIndex=this.tabIndex,this._focusedNode=a.element)}delete this._removedFocus},addKeyHandler:function(a,b,c){return p.after(this[c?"headerKeyMap":"keyMap"],a,b,!0)},_ensureRowScroll:function(a){var b=this.getScrollPosition().y;b>a.offsetTop?this.scrollTo({y:a.offsetTop}):b+this.contentNode.offsetHeightc)this.scrollTo({x:c});else{var d=this.bodyNode.clientWidth;a=a.offsetWidth;var e=c+a;b+da?e-d:c})}},_ensureScroll:function(a,b){this.cellNavigation&&((this.columnSets||1k.className.indexOf("dgrid-row");)k=k[(b?"next":"previous")+"Sibling"];if(!k)return}!g||1>d.offsetHeight?(c&&(k=this.cell(k,this.cell(a).column.id)),this._focusOnNode(k,!1,a)):(h("dom-addeventlistener")||(a=e.mixin({},a)),l=p.after(this,"renderArray",function(d){var e=d[b?0:d.length-1];c&&(e=this.cell(e,this.cell(a).column.id));this._focusOnNode(e,!1,a);l.remove();return d}))},y=l.moveFocusHome=function(a){z.call(this,a,!0)};l.defaultKeyMap= +{32:d,33:r,34:m,35:z,36:y,37:w,38:f,39:u,40:s};l.defaultHeaderKeyMap={32:d,35:v,36:x,37:w,39:u};return l})},"url:dijit/templates/Menu.html":'\x3ctable class\x3d"dijit dijitMenu dijitMenuPassive dijitReset dijitMenuTable" role\x3d"menu" tabIndex\x3d"${tabIndex}"\n\t cellspacing\x3d"0"\x3e\n\t\x3ctbody class\x3d"dijitReset" data-dojo-attach-point\x3d"containerNode"\x3e\x3c/tbody\x3e\n\x3c/table\x3e\n',"url:dijit/templates/TreeNode.html":'\x3cdiv class\x3d"dijitTreeNode" role\x3d"presentation"\n\t\x3e\x3cdiv data-dojo-attach-point\x3d"rowNode" class\x3d"dijitTreeRow" role\x3d"presentation"\n\t\t\x3e\x3cspan data-dojo-attach-point\x3d"expandoNode" class\x3d"dijitInline dijitTreeExpando" role\x3d"presentation"\x3e\x3c/span\n\t\t\x3e\x3cspan data-dojo-attach-point\x3d"expandoNodeText" class\x3d"dijitExpandoText" role\x3d"presentation"\x3e\x3c/span\n\t\t\x3e\x3cspan data-dojo-attach-point\x3d"contentNode"\n\t\t\tclass\x3d"dijitTreeContent" role\x3d"presentation"\x3e\n\t\t\t\x3cspan role\x3d"presentation" class\x3d"dijitInline dijitIcon dijitTreeIcon" data-dojo-attach-point\x3d"iconNode"\x3e\x3c/span\n\t\t\t\x3e\x3cspan data-dojo-attach-point\x3d"labelNode,focusNode" class\x3d"dijitTreeLabel" role\x3d"treeitem"\n\t\t\t\t tabindex\x3d"-1" aria-selected\x3d"false" id\x3d"${id}_label"\x3e\x3c/span\x3e\n\t\t\x3c/span\n\t\x3e\x3c/div\x3e\n\t\x3cdiv data-dojo-attach-point\x3d"containerNode" class\x3d"dijitTreeNodeContainer" role\x3d"presentation"\n\t\t style\x3d"display: none;" aria-labelledby\x3d"${id}_label"\x3e\x3c/div\x3e\n\x3c/div\x3e\n', +"url:dijit/form/templates/Spinner.html":'\x3cdiv class\x3d"dijit dijitReset dijitInline dijitLeft"\n\tid\x3d"widget_${id}" role\x3d"presentation"\n\t\x3e\x3cdiv class\x3d"dijitReset dijitButtonNode dijitSpinnerButtonContainer"\n\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputField dijitSpinnerButtonInner" type\x3d"text" tabIndex\x3d"-1" readonly\x3d"readonly" role\x3d"presentation"\n\t\t/\x3e\x3cdiv class\x3d"dijitReset dijitLeft dijitButtonNode dijitArrowButton dijitUpArrowButton"\n\t\t\tdata-dojo-attach-point\x3d"upArrowNode"\n\t\t\t\x3e\x3cdiv class\x3d"dijitArrowButtonInner"\n\t\t\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputField" value\x3d"\x26#9650; " type\x3d"text" tabIndex\x3d"-1" readonly\x3d"readonly" role\x3d"presentation"\n\t\t\t\t\t${_buttonInputDisabled}\n\t\t\t/\x3e\x3c/div\n\t\t\x3e\x3c/div\n\t\t\x3e\x3cdiv class\x3d"dijitReset dijitLeft dijitButtonNode dijitArrowButton dijitDownArrowButton"\n\t\t\tdata-dojo-attach-point\x3d"downArrowNode"\n\t\t\t\x3e\x3cdiv class\x3d"dijitArrowButtonInner"\n\t\t\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputField" value\x3d"\x26#9660; " type\x3d"text" tabIndex\x3d"-1" readonly\x3d"readonly" role\x3d"presentation"\n\t\t\t\t\t${_buttonInputDisabled}\n\t\t\t/\x3e\x3c/div\n\t\t\x3e\x3c/div\n\t\x3e\x3c/div\n\t\x3e\x3cdiv class\x3d\'dijitReset dijitValidationContainer\'\n\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputField dijitValidationIcon dijitValidationInner" value\x3d"\x26#935; " type\x3d"text" tabIndex\x3d"-1" readonly\x3d"readonly" role\x3d"presentation"\n\t/\x3e\x3c/div\n\t\x3e\x3cdiv class\x3d"dijitReset dijitInputField dijitInputContainer"\n\t\t\x3e\x3cinput class\x3d\'dijitReset dijitInputInner\' data-dojo-attach-point\x3d"textbox,focusNode" type\x3d"${type}" data-dojo-attach-event\x3d"onkeydown:_onKeyDown"\n\t\t\trole\x3d"spinbutton" autocomplete\x3d"off" ${!nameAttrSetting}\n\t/\x3e\x3c/div\n\x3e\x3c/div\x3e\n', +"url:dijit/templates/MenuBar.html":'\x3cdiv class\x3d"dijitMenuBar dijitMenuPassive" data-dojo-attach-point\x3d"containerNode" role\x3d"menubar" tabIndex\x3d"${tabIndex}"\n\t \x3e\x3c/div\x3e\n',"url:dijit/templates/MenuSeparator.html":'\x3ctr class\x3d"dijitMenuSeparator" role\x3d"separator"\x3e\n\t\x3ctd class\x3d"dijitMenuSeparatorIconCell"\x3e\n\t\t\x3cdiv class\x3d"dijitMenuSeparatorTop"\x3e\x3c/div\x3e\n\t\t\x3cdiv class\x3d"dijitMenuSeparatorBottom"\x3e\x3c/div\x3e\n\t\x3c/td\x3e\n\t\x3ctd colspan\x3d"3" class\x3d"dijitMenuSeparatorLabelCell"\x3e\n\t\t\x3cdiv class\x3d"dijitMenuSeparatorTop dijitMenuSeparatorLabel"\x3e\x3c/div\x3e\n\t\t\x3cdiv class\x3d"dijitMenuSeparatorBottom"\x3e\x3c/div\x3e\n\t\x3c/td\x3e\n\x3c/tr\x3e\n', +"url:dijit/templates/ProgressBar.html":'\x3cdiv class\x3d"dijitProgressBar dijitProgressBarEmpty" role\x3d"progressbar"\n\t\x3e\x3cdiv data-dojo-attach-point\x3d"internalProgress" class\x3d"dijitProgressBarFull"\n\t\t\x3e\x3cdiv class\x3d"dijitProgressBarTile" role\x3d"presentation"\x3e\x3c/div\n\t\t\x3e\x3cspan style\x3d"visibility:hidden"\x3e\x26#160;\x3c/span\n\t\x3e\x3c/div\n\t\x3e\x3cdiv data-dojo-attach-point\x3d"labelNode" class\x3d"dijitProgressBarLabel" id\x3d"${id}_label"\x3e\x3c/div\n\t\x3e\x3cspan data-dojo-attach-point\x3d"indeterminateHighContrastImage"\n\t\t class\x3d"dijitInline dijitProgressBarIndeterminateHighContrastImage"\x3e\x3c/span\n\x3e\x3c/div\x3e\n', +"url:dijit/form/templates/DropDownButton.html":'\x3cspan class\x3d"dijit dijitReset dijitInline"\n\t\x3e\x3cspan class\x3d\'dijitReset dijitInline dijitButtonNode\'\n\t\tdata-dojo-attach-event\x3d"ondijitclick:__onClick" data-dojo-attach-point\x3d"_buttonNode"\n\t\t\x3e\x3cspan class\x3d"dijitReset dijitStretch dijitButtonContents"\n\t\t\tdata-dojo-attach-point\x3d"focusNode,titleNode,_arrowWrapperNode,_popupStateNode"\n\t\t\trole\x3d"button" aria-haspopup\x3d"true" aria-labelledby\x3d"${id}_label"\n\t\t\t\x3e\x3cspan class\x3d"dijitReset dijitInline dijitIcon"\n\t\t\t\tdata-dojo-attach-point\x3d"iconNode"\n\t\t\t\x3e\x3c/span\n\t\t\t\x3e\x3cspan class\x3d"dijitReset dijitInline dijitButtonText"\n\t\t\t\tdata-dojo-attach-point\x3d"containerNode"\n\t\t\t\tid\x3d"${id}_label"\n\t\t\t\x3e\x3c/span\n\t\t\t\x3e\x3cspan class\x3d"dijitReset dijitInline dijitArrowButtonInner"\x3e\x3c/span\n\t\t\t\x3e\x3cspan class\x3d"dijitReset dijitInline dijitArrowButtonChar"\x3e\x26#9660;\x3c/span\n\t\t\x3e\x3c/span\n\t\x3e\x3c/span\n\t\x3e\x3cinput ${!nameAttrSetting} type\x3d"${type}" value\x3d"${value}" class\x3d"dijitOffScreen" tabIndex\x3d"-1"\n\t\tdata-dojo-attach-event\x3d"onclick:_onClick" data-dojo-attach-point\x3d"valueNode" aria-hidden\x3d"true"\n/\x3e\x3c/span\x3e\n', +"url:dijit/form/templates/DropDownBox.html":'\x3cdiv class\x3d"dijit dijitReset dijitInline dijitLeft"\n\tid\x3d"widget_${id}"\n\trole\x3d"combobox"\n\taria-haspopup\x3d"true"\n\tdata-dojo-attach-point\x3d"_popupStateNode"\n\t\x3e\x3cdiv class\x3d\'dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton dijitArrowButtonContainer\'\n\t\tdata-dojo-attach-point\x3d"_buttonNode" role\x3d"presentation"\n\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputField dijitArrowButtonInner" value\x3d"\x26#9660; " type\x3d"text" tabIndex\x3d"-1" readonly\x3d"readonly" role\x3d"button presentation" aria-hidden\x3d"true"\n\t\t\t${_buttonInputDisabled}\n\t/\x3e\x3c/div\n\t\x3e\x3cdiv class\x3d\'dijitReset dijitValidationContainer\'\n\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputField dijitValidationIcon dijitValidationInner" value\x3d"\x26#935; " type\x3d"text" tabIndex\x3d"-1" readonly\x3d"readonly" role\x3d"presentation"\n\t/\x3e\x3c/div\n\t\x3e\x3cdiv class\x3d"dijitReset dijitInputField dijitInputContainer"\n\t\t\x3e\x3cinput class\x3d\'dijitReset dijitInputInner\' ${!nameAttrSetting} type\x3d"${type}" autocomplete\x3d"off"\n\t\t\tdata-dojo-attach-point\x3d"textbox,focusNode" role\x3d"textbox"\n\t/\x3e\x3c/div\n\x3e\x3c/div\x3e\n', +"url:dijit/templates/Tooltip.html":'\x3cdiv class\x3d"dijitTooltip dijitTooltipLeft" id\x3d"dojoTooltip" data-dojo-attach-event\x3d"mouseenter:onMouseEnter,mouseleave:onMouseLeave"\n\t\x3e\x3cdiv class\x3d"dijitTooltipConnector" data-dojo-attach-point\x3d"connectorNode"\x3e\x3c/div\n\t\x3e\x3cdiv class\x3d"dijitTooltipContainer dijitTooltipContents" data-dojo-attach-point\x3d"containerNode" role\x3d\'alert\'\x3e\x3c/div\n\x3e\x3c/div\x3e\n',"url:dijit/form/templates/ValidationTextBox.html":'\x3cdiv class\x3d"dijit dijitReset dijitInline dijitLeft"\n\tid\x3d"widget_${id}" role\x3d"presentation"\n\t\x3e\x3cdiv class\x3d\'dijitReset dijitValidationContainer\'\n\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputField dijitValidationIcon dijitValidationInner" value\x3d"\x26#935; " type\x3d"text" tabIndex\x3d"-1" readonly\x3d"readonly" role\x3d"presentation"\n\t/\x3e\x3c/div\n\t\x3e\x3cdiv class\x3d"dijitReset dijitInputField dijitInputContainer"\n\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputInner" data-dojo-attach-point\x3d\'textbox,focusNode\' autocomplete\x3d"off"\n\t\t\t${!nameAttrSetting} type\x3d\'${type}\'\n\t/\x3e\x3c/div\n\x3e\x3c/div\x3e\n', +"url:dijit/layout/templates/_ScrollingTabControllerButton.html":'\x3cdiv data-dojo-attach-event\x3d"ondijitclick:_onClick" class\x3d"dijitTabInnerDiv dijitTabContent dijitButtonContents" data-dojo-attach-point\x3d"focusNode" role\x3d"button"\x3e\n\t\x3cspan role\x3d"presentation" class\x3d"dijitInline dijitTabStripIcon" data-dojo-attach-point\x3d"iconNode"\x3e\x3c/span\x3e\n\t\x3cspan data-dojo-attach-point\x3d"containerNode,titleNode" class\x3d"dijitButtonText"\x3e\x3c/span\x3e\n\x3c/div\x3e',"url:dijit/layout/templates/TabContainer.html":'\x3cdiv class\x3d"dijitTabContainer"\x3e\n\t\x3cdiv class\x3d"dijitTabListWrapper" data-dojo-attach-point\x3d"tablistNode"\x3e\x3c/div\x3e\n\t\x3cdiv data-dojo-attach-point\x3d"tablistSpacer" class\x3d"dijitTabSpacer ${baseClass}-spacer"\x3e\x3c/div\x3e\n\t\x3cdiv class\x3d"dijitTabPaneWrapper ${baseClass}-container" data-dojo-attach-point\x3d"containerNode"\x3e\x3c/div\x3e\n\x3c/div\x3e\n', +"url:dijit/templates/Tree.html":'\x3cdiv role\x3d"tree"\x3e\n\t\x3cdiv class\x3d"dijitInline dijitTreeIndent" style\x3d"position: absolute; top: -9999px" data-dojo-attach-point\x3d"indentDetector"\x3e\x3c/div\x3e\n\t\x3cdiv class\x3d"dijitTreeExpando dijitTreeExpandoLoading" data-dojo-attach-point\x3d"rootLoadingIndicator"\x3e\x3c/div\x3e\n\t\x3cdiv data-dojo-attach-point\x3d"containerNode" class\x3d"dijitTreeContainer" role\x3d"presentation"\x3e\n\t\x3c/div\x3e\n\x3c/div\x3e\n',"url:dijit/form/templates/TextBox.html":'\x3cdiv class\x3d"dijit dijitReset dijitInline dijitLeft" id\x3d"widget_${id}" role\x3d"presentation"\n\t\x3e\x3cdiv class\x3d"dijitReset dijitInputField dijitInputContainer"\n\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputInner" data-dojo-attach-point\x3d\'textbox,focusNode\' autocomplete\x3d"off"\n\t\t\t${!nameAttrSetting} type\x3d\'${type}\'\n\t/\x3e\x3c/div\n\x3e\x3c/div\x3e\n', +"url:dijit/form/templates/Select.html":'\x3ctable class\x3d"dijit dijitReset dijitInline dijitLeft"\n\tdata-dojo-attach-point\x3d"_buttonNode,tableNode,focusNode,_popupStateNode" cellspacing\x3d\'0\' cellpadding\x3d\'0\'\n\trole\x3d"listbox" aria-haspopup\x3d"true"\n\t\x3e\x3ctbody role\x3d"presentation"\x3e\x3ctr role\x3d"presentation"\n\t\t\x3e\x3ctd class\x3d"dijitReset dijitStretch dijitButtonContents" role\x3d"presentation"\n\t\t\t\x3e\x3cdiv class\x3d"dijitReset dijitInputField dijitButtonText" data-dojo-attach-point\x3d"containerNode,textDirNode" role\x3d"presentation"\x3e\x3c/div\n\t\t\t\x3e\x3cdiv class\x3d"dijitReset dijitValidationContainer"\n\t\t\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputField dijitValidationIcon dijitValidationInner" value\x3d"\x26#935; " type\x3d"text" tabIndex\x3d"-1" readonly\x3d"readonly" role\x3d"presentation"\n\t\t\t/\x3e\x3c/div\n\t\t\t\x3e\x3cinput type\x3d"hidden" ${!nameAttrSetting} data-dojo-attach-point\x3d"valueNode" value\x3d"${value}" aria-hidden\x3d"true"\n\t\t/\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset dijitRight dijitButtonNode dijitArrowButton dijitDownArrowButton dijitArrowButtonContainer"\n\t\t\tdata-dojo-attach-point\x3d"titleNode" role\x3d"presentation"\n\t\t\t\x3e\x3cinput class\x3d"dijitReset dijitInputField dijitArrowButtonInner" value\x3d"\x26#9660; " type\x3d"text" tabIndex\x3d"-1" readonly\x3d"readonly" role\x3d"presentation"\n\t\t\t\t${_buttonInputDisabled}\n\t\t/\x3e\x3c/td\n\t\x3e\x3c/tr\x3e\x3c/tbody\n\x3e\x3c/table\x3e\n', +"url:dijit/templates/MenuItem.html":'\x3ctr class\x3d"dijitReset" data-dojo-attach-point\x3d"focusNode" role\x3d"menuitem" tabIndex\x3d"-1"\x3e\n\t\x3ctd class\x3d"dijitReset dijitMenuItemIconCell" role\x3d"presentation"\x3e\n\t\t\x3cspan role\x3d"presentation" class\x3d"dijitInline dijitIcon dijitMenuItemIcon" data-dojo-attach-point\x3d"iconNode"\x3e\x3c/span\x3e\n\t\x3c/td\x3e\n\t\x3ctd class\x3d"dijitReset dijitMenuItemLabel" colspan\x3d"2" data-dojo-attach-point\x3d"containerNode,textDirNode"\n\t\trole\x3d"presentation"\x3e\x3c/td\x3e\n\t\x3ctd class\x3d"dijitReset dijitMenuItemAccelKey" style\x3d"display: none" data-dojo-attach-point\x3d"accelKeyNode"\x3e\x3c/td\x3e\n\t\x3ctd class\x3d"dijitReset dijitMenuArrowCell" role\x3d"presentation"\x3e\n\t\t\x3cspan data-dojo-attach-point\x3d"arrowWrapper" style\x3d"visibility: hidden"\x3e\n\t\t\t\x3cspan class\x3d"dijitInline dijitIcon dijitMenuExpand"\x3e\x3c/span\x3e\n\t\t\t\x3cspan class\x3d"dijitMenuExpandA11y"\x3e+\x3c/span\x3e\n\t\t\x3c/span\x3e\n\t\x3c/td\x3e\n\x3c/tr\x3e\n', +"url:dijit/templates/MenuBarItem.html":'\x3cdiv class\x3d"dijitReset dijitInline dijitMenuItem dijitMenuItemLabel" data-dojo-attach-point\x3d"focusNode"\n\t \trole\x3d"menuitem" tabIndex\x3d"-1"\x3e\n\t\x3cspan data-dojo-attach-point\x3d"containerNode,textDirNode"\x3e\x3c/span\x3e\n\x3c/div\x3e\n',"url:dijit/layout/templates/_TabButton.html":'\x3cdiv role\x3d"presentation" data-dojo-attach-point\x3d"titleNode,innerDiv,tabContent" class\x3d"dijitTabInner dijitTabContent"\x3e\n\t\x3cspan role\x3d"presentation" class\x3d"dijitInline dijitIcon dijitTabButtonIcon" data-dojo-attach-point\x3d"iconNode"\x3e\x3c/span\x3e\n\t\x3cspan data-dojo-attach-point\x3d\'containerNode,focusNode\' class\x3d\'tabLabel\'\x3e\x3c/span\x3e\n\t\x3cspan class\x3d"dijitInline dijitTabCloseButton dijitTabCloseIcon" data-dojo-attach-point\x3d\'closeNode\'\n\t\t role\x3d"presentation"\x3e\n\t\t\x3cspan data-dojo-attach-point\x3d\'closeText\' class\x3d\'dijitTabCloseText\'\x3e[x]\x3c/span\n\t\t\t\t\x3e\x3c/span\x3e\n\x3c/div\x3e\n', +"url:dijit/form/templates/HorizontalSlider.html":'\x3ctable class\x3d"dijit dijitReset dijitSlider dijitSliderH" cellspacing\x3d"0" cellpadding\x3d"0" border\x3d"0" rules\x3d"none" data-dojo-attach-event\x3d"onkeydown:_onKeyDown, onkeyup:_onKeyUp"\n\trole\x3d"presentation"\n\t\x3e\x3ctr class\x3d"dijitReset"\n\t\t\x3e\x3ctd class\x3d"dijitReset" colspan\x3d"2"\x3e\x3c/td\n\t\t\x3e\x3ctd data-dojo-attach-point\x3d"topDecoration" class\x3d"dijitReset dijitSliderDecoration dijitSliderDecorationT dijitSliderDecorationH"\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset" colspan\x3d"2"\x3e\x3c/td\n\t\x3e\x3c/tr\n\t\x3e\x3ctr class\x3d"dijitReset"\n\t\t\x3e\x3ctd class\x3d"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerH"\n\t\t\t\x3e\x3cdiv class\x3d"dijitSliderDecrementIconH" style\x3d"display:none" data-dojo-attach-point\x3d"decrementButton"\x3e\x3cspan class\x3d"dijitSliderButtonInner"\x3e-\x3c/span\x3e\x3c/div\n\t\t\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset"\n\t\t\t\x3e\x3cdiv class\x3d"dijitSliderBar dijitSliderBumper dijitSliderBumperH dijitSliderLeftBumper" data-dojo-attach-event\x3d"press:_onClkDecBumper"\x3e\x3c/div\n\t\t\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset"\n\t\t\t\x3e\x3cinput data-dojo-attach-point\x3d"valueNode" type\x3d"hidden" ${!nameAttrSetting}\n\t\t\t/\x3e\x3cdiv class\x3d"dijitReset dijitSliderBarContainerH" role\x3d"presentation" data-dojo-attach-point\x3d"sliderBarContainer"\n\t\t\t\t\x3e\x3cdiv role\x3d"presentation" data-dojo-attach-point\x3d"progressBar" class\x3d"dijitSliderBar dijitSliderBarH dijitSliderProgressBar dijitSliderProgressBarH" data-dojo-attach-event\x3d"press:_onBarClick"\n\t\t\t\t\t\x3e\x3cdiv class\x3d"dijitSliderMoveable dijitSliderMoveableH"\n\t\t\t\t\t\t\x3e\x3cdiv data-dojo-attach-point\x3d"sliderHandle,focusNode" class\x3d"dijitSliderImageHandle dijitSliderImageHandleH" data-dojo-attach-event\x3d"press:_onHandleClick" role\x3d"slider"\x3e\x3c/div\n\t\t\t\t\t\x3e\x3c/div\n\t\t\t\t\x3e\x3c/div\n\t\t\t\t\x3e\x3cdiv role\x3d"presentation" data-dojo-attach-point\x3d"remainingBar" class\x3d"dijitSliderBar dijitSliderBarH dijitSliderRemainingBar dijitSliderRemainingBarH" data-dojo-attach-event\x3d"press:_onBarClick"\x3e\x3c/div\n\t\t\t\x3e\x3c/div\n\t\t\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset"\n\t\t\t\x3e\x3cdiv class\x3d"dijitSliderBar dijitSliderBumper dijitSliderBumperH dijitSliderRightBumper" data-dojo-attach-event\x3d"press:_onClkIncBumper"\x3e\x3c/div\n\t\t\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerH"\n\t\t\t\x3e\x3cdiv class\x3d"dijitSliderIncrementIconH" style\x3d"display:none" data-dojo-attach-point\x3d"incrementButton"\x3e\x3cspan class\x3d"dijitSliderButtonInner"\x3e+\x3c/span\x3e\x3c/div\n\t\t\x3e\x3c/td\n\t\x3e\x3c/tr\n\t\x3e\x3ctr class\x3d"dijitReset"\n\t\t\x3e\x3ctd class\x3d"dijitReset" colspan\x3d"2"\x3e\x3c/td\n\t\t\x3e\x3ctd data-dojo-attach-point\x3d"containerNode,bottomDecoration" class\x3d"dijitReset dijitSliderDecoration dijitSliderDecorationB dijitSliderDecorationH"\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset" colspan\x3d"2"\x3e\x3c/td\n\t\x3e\x3c/tr\n\x3e\x3c/table\x3e\n', +"url:dijit/form/templates/CheckBox.html":'\x3cdiv class\x3d"dijit dijitReset dijitInline" role\x3d"presentation"\n\t\x3e\x3cinput\n\t \t${!nameAttrSetting} type\x3d"${type}" role\x3d"${type}" aria-checked\x3d"false" ${checkedAttrSetting}\n\t\tclass\x3d"dijitReset dijitCheckBoxInput"\n\t\tdata-dojo-attach-point\x3d"focusNode"\n\t \tdata-dojo-attach-event\x3d"ondijitclick:_onClick"\n/\x3e\x3c/div\x3e\n',"url:dijit/form/templates/VerticalSlider.html":'\x3ctable class\x3d"dijit dijitReset dijitSlider dijitSliderV" cellspacing\x3d"0" cellpadding\x3d"0" border\x3d"0" rules\x3d"none" data-dojo-attach-event\x3d"onkeydown:_onKeyDown,onkeyup:_onKeyUp"\n\trole\x3d"presentation"\n\t\x3e\x3ctr class\x3d"dijitReset"\n\t\t\x3e\x3ctd class\x3d"dijitReset"\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerV"\n\t\t\t\x3e\x3cdiv class\x3d"dijitSliderIncrementIconV" style\x3d"display:none" data-dojo-attach-point\x3d"decrementButton"\x3e\x3cspan class\x3d"dijitSliderButtonInner"\x3e+\x3c/span\x3e\x3c/div\n\t\t\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset"\x3e\x3c/td\n\t\x3e\x3c/tr\n\t\x3e\x3ctr class\x3d"dijitReset"\n\t\t\x3e\x3ctd class\x3d"dijitReset"\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset"\n\t\t\t\x3e\x3ccenter\x3e\x3cdiv class\x3d"dijitSliderBar dijitSliderBumper dijitSliderBumperV dijitSliderTopBumper" data-dojo-attach-event\x3d"press:_onClkIncBumper"\x3e\x3c/div\x3e\x3c/center\n\t\t\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset"\x3e\x3c/td\n\t\x3e\x3c/tr\n\t\x3e\x3ctr class\x3d"dijitReset"\n\t\t\x3e\x3ctd data-dojo-attach-point\x3d"leftDecoration" class\x3d"dijitReset dijitSliderDecoration dijitSliderDecorationL dijitSliderDecorationV"\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset dijitSliderDecorationC" style\x3d"height:100%;"\n\t\t\t\x3e\x3cinput data-dojo-attach-point\x3d"valueNode" type\x3d"hidden" ${!nameAttrSetting}\n\t\t\t/\x3e\x3ccenter class\x3d"dijitReset dijitSliderBarContainerV" role\x3d"presentation" data-dojo-attach-point\x3d"sliderBarContainer"\n\t\t\t\t\x3e\x3cdiv role\x3d"presentation" data-dojo-attach-point\x3d"remainingBar" class\x3d"dijitSliderBar dijitSliderBarV dijitSliderRemainingBar dijitSliderRemainingBarV" data-dojo-attach-event\x3d"press:_onBarClick"\x3e\x3c!--#5629--\x3e\x3c/div\n\t\t\t\t\x3e\x3cdiv role\x3d"presentation" data-dojo-attach-point\x3d"progressBar" class\x3d"dijitSliderBar dijitSliderBarV dijitSliderProgressBar dijitSliderProgressBarV" data-dojo-attach-event\x3d"press:_onBarClick"\n\t\t\t\t\t\x3e\x3cdiv class\x3d"dijitSliderMoveable dijitSliderMoveableV" style\x3d"vertical-align:top;"\n\t\t\t\t\t\t\x3e\x3cdiv data-dojo-attach-point\x3d"sliderHandle,focusNode" class\x3d"dijitSliderImageHandle dijitSliderImageHandleV" data-dojo-attach-event\x3d"press:_onHandleClick" role\x3d"slider"\x3e\x3c/div\n\t\t\t\t\t\x3e\x3c/div\n\t\t\t\t\x3e\x3c/div\n\t\t\t\x3e\x3c/center\n\t\t\x3e\x3c/td\n\t\t\x3e\x3ctd data-dojo-attach-point\x3d"containerNode,rightDecoration" class\x3d"dijitReset dijitSliderDecoration dijitSliderDecorationR dijitSliderDecorationV"\x3e\x3c/td\n\t\x3e\x3c/tr\n\t\x3e\x3ctr class\x3d"dijitReset"\n\t\t\x3e\x3ctd class\x3d"dijitReset"\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset"\n\t\t\t\x3e\x3ccenter\x3e\x3cdiv class\x3d"dijitSliderBar dijitSliderBumper dijitSliderBumperV dijitSliderBottomBumper" data-dojo-attach-event\x3d"press:_onClkDecBumper"\x3e\x3c/div\x3e\x3c/center\n\t\t\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset"\x3e\x3c/td\n\t\x3e\x3c/tr\n\t\x3e\x3ctr class\x3d"dijitReset"\n\t\t\x3e\x3ctd class\x3d"dijitReset"\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset dijitSliderButtonContainer dijitSliderButtonContainerV"\n\t\t\t\x3e\x3cdiv class\x3d"dijitSliderDecrementIconV" style\x3d"display:none" data-dojo-attach-point\x3d"incrementButton"\x3e\x3cspan class\x3d"dijitSliderButtonInner"\x3e-\x3c/span\x3e\x3c/div\n\t\t\x3e\x3c/td\n\t\t\x3e\x3ctd class\x3d"dijitReset"\x3e\x3c/td\n\t\x3e\x3c/tr\n\x3e\x3c/table\x3e\n', +"url:dijit/templates/Calendar.html":'\x3cdiv class\x3d"dijitCalendarContainer dijitInline" role\x3d"presentation" aria-labelledby\x3d"${id}_mddb ${id}_year"\x3e\n\t\x3cdiv class\x3d"dijitReset dijitCalendarMonthContainer" role\x3d"presentation"\x3e\n\t\t\x3cdiv class\x3d\'dijitReset dijitCalendarArrow dijitCalendarDecrementArrow\' data-dojo-attach-point\x3d"decrementMonth"\x3e\n\t\t\t\x3cimg src\x3d"${_blankGif}" alt\x3d"" class\x3d"dijitCalendarIncrementControl dijitCalendarDecrease" role\x3d"presentation"/\x3e\n\t\t\t\x3cspan data-dojo-attach-point\x3d"decreaseArrowNode" class\x3d"dijitA11ySideArrow"\x3e-\x3c/span\x3e\n\t\t\x3c/div\x3e\n\t\t\x3cdiv class\x3d\'dijitReset dijitCalendarArrow dijitCalendarIncrementArrow\' data-dojo-attach-point\x3d"incrementMonth"\x3e\n\t\t\t\x3cimg src\x3d"${_blankGif}" alt\x3d"" class\x3d"dijitCalendarIncrementControl dijitCalendarIncrease" role\x3d"presentation"/\x3e\n\t\t\t\x3cspan data-dojo-attach-point\x3d"increaseArrowNode" class\x3d"dijitA11ySideArrow"\x3e+\x3c/span\x3e\n\t\t\x3c/div\x3e\n\t\t\x3cdiv data-dojo-attach-point\x3d"monthNode" class\x3d"dijitInline"\x3e\x3c/div\x3e\n\t\x3c/div\x3e\n\t\x3ctable cellspacing\x3d"0" cellpadding\x3d"0" role\x3d"grid" data-dojo-attach-point\x3d"gridNode"\x3e\n\t\t\x3cthead\x3e\n\t\t\t\x3ctr role\x3d"row"\x3e\n\t\t\t\t${!dayCellsHtml}\n\t\t\t\x3c/tr\x3e\n\t\t\x3c/thead\x3e\n\t\t\x3ctbody data-dojo-attach-point\x3d"dateRowsNode" data-dojo-attach-event\x3d"ondijitclick: _onDayClick" class\x3d"dijitReset dijitCalendarBodyContainer"\x3e\n\t\t\t\t${!dateRowsHtml}\n\t\t\x3c/tbody\x3e\n\t\x3c/table\x3e\n\t\x3cdiv class\x3d"dijitReset dijitCalendarYearContainer" role\x3d"presentation"\x3e\n\t\t\x3cdiv class\x3d"dijitCalendarYearLabel"\x3e\n\t\t\t\x3cspan data-dojo-attach-point\x3d"previousYearLabelNode" class\x3d"dijitInline dijitCalendarPreviousYear" role\x3d"button"\x3e\x3c/span\x3e\n\t\t\t\x3cspan data-dojo-attach-point\x3d"currentYearLabelNode" class\x3d"dijitInline dijitCalendarSelectedYear" role\x3d"button" id\x3d"${id}_year"\x3e\x3c/span\x3e\n\t\t\t\x3cspan data-dojo-attach-point\x3d"nextYearLabelNode" class\x3d"dijitInline dijitCalendarNextYear" role\x3d"button"\x3e\x3c/span\x3e\n\t\t\x3c/div\x3e\n\t\x3c/div\x3e\n\x3c/div\x3e\n', +"url:dijit/layout/templates/ScrollingTabController.html":'\x3cdiv class\x3d"dijitTabListContainer-${tabPosition}" style\x3d"visibility:hidden"\x3e\n\t\x3cdiv data-dojo-type\x3d"dijit.layout._ScrollingTabControllerMenuButton"\n\t\t class\x3d"tabStripButton-${tabPosition}"\n\t\t id\x3d"${id}_menuBtn"\n\t\t data-dojo-props\x3d"containerId: \'${containerId}\', iconClass: \'dijitTabStripMenuIcon\',\n\t\t\t\t\tdropDownPosition: [\'below-alt\', \'above-alt\']"\n\t\t data-dojo-attach-point\x3d"_menuBtn" showLabel\x3d"false" title\x3d""\x3e\x26#9660;\x3c/div\x3e\n\t\x3cdiv data-dojo-type\x3d"dijit.layout._ScrollingTabControllerButton"\n\t\t class\x3d"tabStripButton-${tabPosition}"\n\t\t id\x3d"${id}_leftBtn"\n\t\t data-dojo-props\x3d"iconClass:\'dijitTabStripSlideLeftIcon\', showLabel:false, title:\'\'"\n\t\t data-dojo-attach-point\x3d"_leftBtn" data-dojo-attach-event\x3d"onClick: doSlideLeft"\x3e\x26#9664;\x3c/div\x3e\n\t\x3cdiv data-dojo-type\x3d"dijit.layout._ScrollingTabControllerButton"\n\t\t class\x3d"tabStripButton-${tabPosition}"\n\t\t id\x3d"${id}_rightBtn"\n\t\t data-dojo-props\x3d"iconClass:\'dijitTabStripSlideRightIcon\', showLabel:false, title:\'\'"\n\t\t data-dojo-attach-point\x3d"_rightBtn" data-dojo-attach-event\x3d"onClick: doSlideRight"\x3e\x26#9654;\x3c/div\x3e\n\t\x3cdiv class\x3d\'dijitTabListWrapper\' data-dojo-attach-point\x3d\'tablistWrapper\'\x3e\n\t\t\x3cdiv role\x3d\'tablist\' data-dojo-attach-event\x3d\'onkeydown:onkeydown\'\n\t\t\t data-dojo-attach-point\x3d\'containerNode\' class\x3d\'nowrapTabStrip\'\x3e\x3c/div\x3e\n\t\x3c/div\x3e\n\x3c/div\x3e', +"url:dijit/form/templates/Button.html":'\x3cspan class\x3d"dijit dijitReset dijitInline" role\x3d"presentation"\n\t\x3e\x3cspan class\x3d"dijitReset dijitInline dijitButtonNode"\n\t\tdata-dojo-attach-event\x3d"ondijitclick:__onClick" role\x3d"presentation"\n\t\t\x3e\x3cspan class\x3d"dijitReset dijitStretch dijitButtonContents"\n\t\t\tdata-dojo-attach-point\x3d"titleNode,focusNode"\n\t\t\trole\x3d"button" aria-labelledby\x3d"${id}_label"\n\t\t\t\x3e\x3cspan class\x3d"dijitReset dijitInline dijitIcon" data-dojo-attach-point\x3d"iconNode"\x3e\x3c/span\n\t\t\t\x3e\x3cspan class\x3d"dijitReset dijitToggleButtonIconChar"\x3e\x26#x25CF;\x3c/span\n\t\t\t\x3e\x3cspan class\x3d"dijitReset dijitInline dijitButtonText"\n\t\t\t\tid\x3d"${id}_label"\n\t\t\t\tdata-dojo-attach-point\x3d"containerNode"\n\t\t\t\x3e\x3c/span\n\t\t\x3e\x3c/span\n\t\x3e\x3c/span\n\t\x3e\x3cinput ${!nameAttrSetting} type\x3d"${type}" value\x3d"${value}" class\x3d"dijitOffScreen"\n\t\tdata-dojo-attach-event\x3d"onclick:_onClick"\n\t\ttabIndex\x3d"-1" aria-hidden\x3d"true" data-dojo-attach-point\x3d"valueNode"\n/\x3e\x3c/span\x3e\n', +"*now":function(f){f(['dojo/i18n!*preload*dojo/nls/dojo*["ar","ca","cs","da","de","el","en-gb","en-us","es-es","fi-fi","fr-fr","he-il","hu","it-it","ja-jp","ko-kr","nl-nl","nb","pl","pt-br","pt-pt","ru","sk","sl","sv","th","tr","zh-tw","zh-cn","ROOT"]'])}}});(function(){var f=this.require;f({cache:{}});!f.async&&f(["dojo"]);f.boot&&f.apply(null,f.boot)})(); +//# sourceMappingURL=dojo.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/colors.js b/Server/www/spiderbasic/dojo/nls/colors.js new file mode 100644 index 0000000..c722d34 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/colors.js @@ -0,0 +1,10 @@ +//>>built +define("dojo/nls/colors",{root:{aliceblue:"alice blue",antiquewhite:"antique white",aqua:"aqua",aquamarine:"aquamarine",azure:"azure",beige:"beige",bisque:"bisque",black:"black",blanchedalmond:"blanched almond",blue:"blue",blueviolet:"blue-violet",brown:"brown",burlywood:"burlywood",cadetblue:"cadet blue",chartreuse:"chartreuse",chocolate:"chocolate",coral:"coral",cornflowerblue:"cornflower blue",cornsilk:"cornsilk",crimson:"crimson",cyan:"cyan",darkblue:"dark blue",darkcyan:"dark cyan",darkgoldenrod:"dark goldenrod", +darkgray:"dark gray",darkgreen:"dark green",darkgrey:"dark gray",darkkhaki:"dark khaki",darkmagenta:"dark magenta",darkolivegreen:"dark olive green",darkorange:"dark orange",darkorchid:"dark orchid",darkred:"dark red",darksalmon:"dark salmon",darkseagreen:"dark sea green",darkslateblue:"dark slate blue",darkslategray:"dark slate gray",darkslategrey:"dark slate gray",darkturquoise:"dark turquoise",darkviolet:"dark violet",deeppink:"deep pink",deepskyblue:"deep sky blue",dimgray:"dim gray",dimgrey:"dim gray", +dodgerblue:"dodger blue",firebrick:"fire brick",floralwhite:"floral white",forestgreen:"forest green",fuchsia:"fuchsia",gainsboro:"gainsboro",ghostwhite:"ghost white",gold:"gold",goldenrod:"goldenrod",gray:"gray",green:"green",greenyellow:"green-yellow",grey:"gray",honeydew:"honeydew",hotpink:"hot pink",indianred:"indian red",indigo:"indigo",ivory:"ivory",khaki:"khaki",lavender:"lavender",lavenderblush:"lavender blush",lawngreen:"lawn green",lemonchiffon:"lemon chiffon",lightblue:"light blue",lightcoral:"light coral", +lightcyan:"light cyan",lightgoldenrodyellow:"light goldenrod yellow",lightgray:"light gray",lightgreen:"light green",lightgrey:"light gray",lightpink:"light pink",lightsalmon:"light salmon",lightseagreen:"light sea green",lightskyblue:"light sky blue",lightslategray:"light slate gray",lightslategrey:"light slate gray",lightsteelblue:"light steel blue",lightyellow:"light yellow",lime:"lime",limegreen:"lime green",linen:"linen",magenta:"magenta",maroon:"maroon",mediumaquamarine:"medium aquamarine", +mediumblue:"medium blue",mediumorchid:"medium orchid",mediumpurple:"medium purple",mediumseagreen:"medium sea green",mediumslateblue:"medium slate blue",mediumspringgreen:"medium spring green",mediumturquoise:"medium turquoise",mediumvioletred:"medium violet-red",midnightblue:"midnight blue",mintcream:"mint cream",mistyrose:"misty rose",moccasin:"moccasin",navajowhite:"navajo white",navy:"navy",oldlace:"old lace",olive:"olive",olivedrab:"olive drab",orange:"orange",orangered:"orange red",orchid:"orchid", +palegoldenrod:"pale goldenrod",palegreen:"pale green",paleturquoise:"pale turquoise",palevioletred:"pale violet-red",papayawhip:"papaya whip",peachpuff:"peach puff",peru:"peru",pink:"pink",plum:"plum",powderblue:"powder blue",purple:"purple",red:"red",rosybrown:"rosy brown",royalblue:"royal blue",saddlebrown:"saddle brown",salmon:"salmon",sandybrown:"sandy brown",seagreen:"sea green",seashell:"seashell",sienna:"sienna",silver:"silver",skyblue:"sky blue",slateblue:"slate blue",slategray:"slate gray", +slategrey:"slate gray",snow:"snow",springgreen:"spring green",steelblue:"steel blue",tan:"tan",teal:"teal",thistle:"thistle",tomato:"tomato",transparent:"transparent",turquoise:"turquoise",violet:"violet",wheat:"wheat",white:"white",whitesmoke:"white smoke",yellow:"yellow",yellowgreen:"yellow green"},bs:!0,mk:!0,sr:!0,zh:!0,"zh-tw":!0,uk:!0,tr:!0,th:!0,sv:!0,sl:!0,sk:!0,ru:!0,ro:!0,pt:!0,"pt-pt":!0,pl:!0,nl:!0,nb:!0,ko:!0,kk:!0,ja:!0,it:!0,id:!0,hu:!0,hr:!0,he:!0,fr:!0,fi:!0,eu:!0,es:!0,el:!0,de:!0, +da:!0,cs:!0,ca:!0,bg:!0,az:!0,ar:!0}); +//# sourceMappingURL=colors.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_ar.js b/Server/www/spiderbasic/dojo/nls/dojo_ar.js new file mode 100644 index 0000000..8d552f4 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_ar.js @@ -0,0 +1,27 @@ +//>>built +define("dojo/nls/dojo_ar",{"dijit/form/nls/validate":{invalidMessage:"\u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u062a\u064a \u062a\u0645 \u0627\u062f\u062e\u0627\u0644\u0647\u0627 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d\u0629.",rangeMessage:"\u0647\u0630\u0647 \u0627\u0644\u0642\u064a\u0645\u0629 \u0644\u064a\u0633 \u0628\u0627\u0644\u0645\u062f\u0649 \u0627\u0644\u0635\u062d\u064a\u062d.",_localized:{},missingMessage:"\u064a\u062c\u0628 \u0627\u062f\u062e\u0627\u0644 \u0647\u0630\u0647 \u0627\u0644\u0642\u064a\u0645\u0629."}, +"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "),"months-format-narrow":"\u064a\u0641\u0645\u0623\u0648\u0646\u0644\u063a\u0633\u0643\u0628\u062f".split(""),"field-second-relative+0":"\u0627\u0644\u0622\u0646", +"quarters-standAlone-narrow":["\u0661","\u0662","\u0663","\u0664"],"field-weekday":"\u0627\u0644\u064a\u0648\u0645","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E\u060c d/M/y","field-wed-relative+0":"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062d\u0627\u0644\u064a","field-wed-relative+1":"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062a\u0627\u0644\u064a","dateFormatItem-GyMMMEd":"E\u060c d MMM\u060c y G","dateFormatItem-MMMEd":"E\u060c d MMM",eraNarrow:["\u0642.\u0645", +"\u0645"],"dateFormatItem-yMM":"MM/y","field-tue-relative+-1":"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0645\u0627\u0636\u064a","days-format-short":"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}", +"dateFormat-long":"d MMMM\u060c y","field-fri-relative+-1":"\u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0645\u0627\u0636\u064a\u0629","field-wed-relative+-1":"\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u0645\u0627\u0636\u064a","months-format-wide":"\u064a\u0646\u0627\u064a\u0631 \u0641\u0628\u0631\u0627\u064a\u0631 \u0645\u0627\u0631\u0633 \u0623\u0628\u0631\u064a\u0644 \u0645\u0627\u064a\u0648 \u064a\u0648\u0646\u064a\u0648 \u064a\u0648\u0644\u064a\u0648 \u0623\u063a\u0633\u0637\u0633 \u0633\u0628\u062a\u0645\u0628\u0631 \u0623\u0643\u062a\u0648\u0628\u0631 \u0646\u0648\u0641\u0645\u0628\u0631 \u062f\u064a\u0633\u0645\u0628\u0631".split(" "), +"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"\u0645","dateFormat-full":"EEEE\u060c d MMMM\u060c y","field-thu-relative+-1":"\u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u0645\u0627\u0636\u064a","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d/M/y","field-era":"\u0627\u0644\u0639\u0635\u0631","dateFormatItem-yM":"M/y","months-standAlone-wide":"\u064a\u0646\u0627\u064a\u0631 \u0641\u0628\u0631\u0627\u064a\u0631 \u0645\u0627\u0631\u0633 \u0623\u0628\u0631\u064a\u0644 \u0645\u0627\u064a\u0648 \u064a\u0648\u0646\u064a\u0648 \u064a\u0648\u0644\u064a\u0648 \u0623\u063a\u0633\u0637\u0633 \u0633\u0628\u062a\u0645\u0628\u0631 \u0623\u0643\u062a\u0648\u0628\u0631 \u0646\u0648\u0641\u0645\u0628\u0631 \u062f\u064a\u0633\u0645\u0628\u0631".split(" "), +"timeFormat-short":"h:mm a","quarters-format-wide":["\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0623\u0648\u0644","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0646\u064a","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0644\u062b","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0631\u0627\u0628\u0639"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"h:mm:ss a z","field-year":"\u0627\u0644\u0633\u0646\u0629","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}", +"field-hour":"\u0627\u0644\u0633\u0627\u0639\u0627\u062a","dateFormatItem-MMdd":"dd/MM","months-format-abbr":"\u064a\u0646\u0627\u064a\u0631 \u0641\u0628\u0631\u0627\u064a\u0631 \u0645\u0627\u0631\u0633 \u0623\u0628\u0631\u064a\u0644 \u0645\u0627\u064a\u0648 \u064a\u0648\u0646\u064a\u0648 \u064a\u0648\u0644\u064a\u0648 \u0623\u063a\u0633\u0637\u0633 \u0633\u0628\u062a\u0645\u0628\u0631 \u0623\u0643\u062a\u0648\u0628\u0631 \u0646\u0648\u0641\u0645\u0628\u0631 \u062f\u064a\u0633\u0645\u0628\u0631".split(" "), +"field-sat-relative+0":"\u0627\u0644\u0633\u0628\u062a \u0627\u0644\u062d\u0627\u0644\u064a","field-sat-relative+1":"\u0627\u0644\u0633\u0628\u062a \u0627\u0644\u062a\u0627\u0644\u064a","timeFormat-full":"h:mm:ss a zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"\u0627\u0644\u064a\u0648\u0645","field-thu-relative+0":"\u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062d\u0627\u0644\u064a","field-day-relative+1":"\u063a\u062f\u064b\u0627","field-thu-relative+1":"\u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062a\u0627\u0644\u064a", +"dateFormatItem-GyMMMd":"d MMM\u060c y G","field-day-relative+2":"\u0628\u0639\u062f \u0627\u0644\u063a\u062f","dateFormatItem-H":"HH","months-standAlone-abbr":"\u064a\u0646\u0627\u064a\u0631 \u0641\u0628\u0631\u0627\u064a\u0631 \u0645\u0627\u0631\u0633 \u0623\u0628\u0631\u064a\u0644 \u0645\u0627\u064a\u0648 \u064a\u0648\u0646\u064a\u0648 \u064a\u0648\u0644\u064a\u0648 \u0623\u063a\u0633\u0637\u0633 \u0633\u0628\u062a\u0645\u0628\u0631 \u0623\u0643\u062a\u0648\u0628\u0631 \u0646\u0648\u0641\u0645\u0628\u0631 \u062f\u064a\u0633\u0645\u0628\u0631".split(" "), +"quarters-format-abbr":["\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0623\u0648\u0644","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0646\u064a","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0644\u062b","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0631\u0627\u0628\u0639"],"quarters-standAlone-wide":["\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0623\u0648\u0644","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0646\u064a","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0644\u062b", +"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0631\u0627\u0628\u0639"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "),"dateFormatItem-MMMMd":"d MMMM","dayPeriods-format-abbr-noon":"noon", +"timeFormat-medium":"h:mm:ss a","field-sun-relative+0":"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u062d\u0627\u0644\u064a","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u062a\u0627\u0644\u064a","quarters-standAlone-abbr":["\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0623\u0648\u0644","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0646\u064a","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u062b\u0627\u0644\u062b","\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0631\u0627\u0628\u0639"], +eraAbbr:["\u0642.\u0645","\u0645"],"field-minute":"\u0627\u0644\u062f\u0642\u0627\u0626\u0642","field-dayperiod":"\u0635/\u0645","days-standAlone-abbr":"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["\u0661", +"\u0662","\u0663","\u0664"],"field-day-relative+-1":"\u0623\u0645\u0633","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","field-day-relative+-2":"\u0623\u0648\u0644 \u0623\u0645\u0633","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E\u060c d/M","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"\u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629","field-fri-relative+1":"\u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u062a\u0627\u0644\u064a\u0629", +"dateFormatItem-yMMMM":"MMMM y","field-day":"\u064a\u0648\u0645","days-format-wide":"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "),"field-zone":"\u0627\u0644\u062a\u0648\u0642\u064a\u062a","months-standAlone-narrow":"\u064a\u0641\u0645\u0623\u0648\u0646\u0644\u063a\u0633\u0643\u0628\u062f".split(""), +"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"\u0627\u0644\u0633\u0646\u0629 \u0627\u0644\u0645\u0627\u0636\u064a\u0629","field-month-relative+-1":"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u0645\u0627\u0636\u064a","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621 \u0627\u0644\u062e\u0645\u064a\u0633 \u0627\u0644\u062c\u0645\u0639\u0629 \u0627\u0644\u0633\u0628\u062a".split(" "), +eraNames:["\u0642\u0628\u0644 \u0627\u0644\u0645\u064a\u0644\u0627\u062f","\u0645\u064a\u0644\u0627\u062f\u064a"],"dateFormatItem-yMMMd":"d MMM\u060c y","days-format-narrow":"\u062d\u0646\u062b\u0631\u062e\u062c\u0633".split(""),"field-month":"\u0627\u0644\u0634\u0647\u0631","days-standAlone-narrow":"\u062d\u0646\u062b\u0631\u062e\u062c\u0633".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u062d\u0627\u0644\u064a","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})", +"field-tue-relative+1":"\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621 \u0627\u0644\u062a\u0627\u0644\u064a","dayPeriods-format-wide-am":"\u0635","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-MMMMEd":"E\u060c d MMMM","dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"\u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062d\u0627\u0644\u064a","field-mon-relative+1":"\u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u062a\u0627\u0644\u064a", +"dateFormat-short":"d/M/y","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"\u0627\u0644\u062b\u0648\u0627\u0646\u064a","field-sat-relative+-1":"\u0627\u0644\u0633\u0628\u062a \u0627\u0644\u0645\u0627\u0636\u064a","dateFormatItem-yMMMEd":"E\u060c d MMM\u060c y","field-sun-relative+-1":"\u0627\u0644\u0623\u062d\u062f \u0627\u0644\u0645\u0627\u0636\u064a","field-month-relative+0":"\u0647\u0630\u0627 \u0627\u0644\u0634\u0647\u0631", +"field-month-relative+1":"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u062a\u0627\u0644\u064a","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E\u060c d","field-week":"\u0627\u0644\u0623\u0633\u0628\u0648\u0639","dateFormat-medium":"dd/MM/y","field-week-relative+-1":"\u0627\u0644\u0623\u0633\u0628\u0648\u0639 \u0627\u0644\u0645\u0627\u0636\u064a","field-year-relative+0":"\u0647\u0630\u0647 \u0627\u0644\u0633\u0646\u0629","field-year-relative+1":"\u0627\u0644\u0633\u0646\u0629 \u0627\u0644\u062a\u0627\u0644\u064a\u0629", +"dayPeriods-format-narrow-pm":"p","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"\u0627\u0644\u0627\u062b\u0646\u064a\u0646 \u0627\u0644\u0645\u0627\u0636\u064a","field-week-relative+0":"\u0647\u0630\u0627 \u0627\u0644\u0623\u0633\u0628\u0648\u0639","field-week-relative+1":"\u0627\u0644\u0623\u0633\u0628\u0648\u0639 \u0627\u0644\u062a\u0627\u0644\u064a"},"dijit/nls/loading":{_localized:{}, +loadingState:"\u062c\u0627\u0631\u064a \u0627\u0644\u062a\u062d\u0645\u064a\u0644...",errorState:"\u0639\u0641\u0648\u0627\u060c \u062d\u062f\u062b \u062e\u0637\u0623"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0\u062a\u0631\u0644\u064a\u0648","currencySpacing-afterCurrency-insertBetween":"\u00a0", +nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4#,##0.00;(\u00a4#,##0.00)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:",",percentFormat:"#,##0%","decimalFormat-long":"000 \u062a\u0631\u064a\u0644\u064a\u0648\u0646",decimalFormat:"#,##0.###",decimal:".","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"\u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u0633\u0627\u0628\u0642\u0629", +_localized:{},nextMessage:"\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631\u0627\u062a"},"dijit/nls/common":{buttonOk:"\u062d\u0633\u0646\u0627",buttonCancel:"\u0627\u0644\u063a\u0627\u0621",_localized:{},buttonSave:"\u062d\u0641\u0638",itemClose:"\u0627\u063a\u0644\u0627\u0642"}}); +//# sourceMappingURL=dojo_ar.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_ca.js b/Server/www/spiderbasic/dojo/nls/dojo_ca.js new file mode 100644 index 0000000..0e701fb --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_ca.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_ca",{"dijit/form/nls/validate":{invalidMessage:"El valor introdu\u00eft no \u00e9s v\u00e0lid",rangeMessage:"Aquest valor \u00e9s fora de l'interval",_localized:{},missingMessage:"Aquest valor \u00e9s necessari"},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"dg. dl. dm. dc. dj. dv. ds.".split(" "),"months-format-narrow":"GN FB M\u00c7 AB MG JN JL AG ST OC NV DS".split(" "),"field-second-relative+0":"ara","quarters-standAlone-narrow":["1", +"2","3","4"],"field-weekday":"dia de la setmana","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E, d/M/y","field-wed-relative+0":"aquest dimecres","field-wed-relative+1":"dimecres que ve","dateFormatItem-GyMMMEd":"E, d MMM, y G","dateFormatItem-MMMEd":"E d MMM",eraNarrow:["aC","dC"],"field-tue-relative+-1":"dimarts passat","days-format-short":"dg. dl. dt. dc. dj. dv. ds.".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d MMMM 'de' y","field-fri-relative+-1":"divendres passat", +"field-wed-relative+-1":"dimecres passat","months-format-wide":"gener febrer mar\u00e7 abril maig juny juliol agost setembre octubre novembre desembre".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"p. m.","dateFormat-full":"EEEE, d MMMM 'de' y","field-thu-relative+-1":"dijous passat","dateFormatItem-Md":"d/M","dateFormatItem-GyMMMM":"LLLL 'de' y G",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon", +"dateFormatItem-yMd":"d/M/y","field-era":"era","dateFormatItem-yM":"M/y","months-standAlone-wide":"gener febrer mar\u00e7 abril maig juny juliol agost setembre octubre novembre desembre".split(" "),"timeFormat-short":"H:mm","quarters-format-wide":["1r trimestre","2n trimestre","3r trimestre","4t trimestre"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"H:mm:ss z","field-year":"any","dateFormatItem-yMMM":"LLL y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"hora","months-format-abbr":"gen. feb. mar\u00e7 abr. maig juny jul. ag. set. oct. nov. des.".split(" "), +"field-sat-relative+0":"aquest dissabte","field-sat-relative+1":"dissabte que ve","timeFormat-full":"H:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"avui","field-thu-relative+0":"aquest dijous","field-day-relative+1":"dem\u00e0","field-thu-relative+1":"dijous que ve","dateFormatItem-GyMMMd":"d MMM y G","field-day-relative+2":"dem\u00e0 passat","dateFormatItem-H":"H","months-standAlone-abbr":"gen. feb. mar\u00e7 abr. maig juny jul. ag. set. oct. nov. des.".split(" "), +"quarters-format-abbr":["1T","2T","3T","4T"],"quarters-standAlone-wide":["1r trimestre","2n trimestre","3r trimestre","4t trimestre"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"diumenge dilluns dimarts dimecres dijous divendres dissabte".split(" "),"dateFormatItem-MMMMd":"d MMMM","dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"H:mm:ss","field-sun-relative+0":"aquest diumenge","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"diumenge que ve","quarters-standAlone-abbr":["1T", +"2T","3T","4T"],eraAbbr:["aC","dC"],"field-minute":"minut","field-dayperiod":"a. m./p. m.","days-standAlone-abbr":"dg. dl. dt. dc. dj. dv. ds.".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"ahir","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"a.m.","dateFormatItem-h":"h a","field-day-relative+-2":"abans-d'ahir","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E d/M","dateTimeFormat-full":"{1} {0}", +"field-fri-relative+0":"aquest divendres","field-fri-relative+1":"divendres que ve","dateFormatItem-yMMMM":"LLLL 'de' y","field-day":"dia","days-format-wide":"diumenge dilluns dimarts dimecres dijous divendres dissabte".split(" "),"field-zone":"zona","months-standAlone-narrow":"GN FB M\u00c7 AB MG JN JL AG ST OC NV DS".split(" "),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"l'any passat","field-month-relative+-1":"el mes passat","dateTimeFormats-appendItem-Year":"{1} {0}", +"dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"dg. dl. dt. dc. dj. dv. ds.".split(" "),eraNames:["abans de Crist","a. de la n. e.","despr\u00e9s de Crist","de la n. e."],"dateFormatItem-yMMMd":"d MMM y","days-format-narrow":"dg dl dt dc dj dv ds".split(" "),"field-month":"mes","days-standAlone-narrow":"dg dl dt dc dj dv ds".split(" "),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"aquest dimarts","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})", +"field-tue-relative+1":"dimarts que ve","dayPeriods-format-wide-am":"a. m.","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-MMMMEd":"E d MMMM","dateFormatItem-EHm":"E H:mm","field-mon-relative+0":"aquest dilluns","field-mon-relative+1":"dilluns que ve","dateFormat-short":"d/M/yy","dateFormatItem-EHms":"E H:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"segon","field-sat-relative+-1":"dissabte passat", +"dateFormatItem-yMMMEd":"E, d MMM, y","field-sun-relative+-1":"diumenge passat","field-month-relative+0":"aquest mes","field-month-relative+1":"el mes que ve","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d","field-week":"setmana","dateFormat-medium":"dd/MM/y","field-week-relative+-1":"la setmana passada","field-year-relative+0":"enguany","field-year-relative+1":"l'any que ve","dayPeriods-format-narrow-pm":"p.m.","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss", +"dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"LLL y G","field-mon-relative+-1":"dilluns passat","field-week-relative+0":"aquesta setmana","field-week-relative+1":"la setmana que ve"},"dijit/nls/loading":{_localized:{},loadingState:"S'est\u00e0 carregant...",errorState:"Ens sap greu. S'ha produ\u00eft un error."},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%", +minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0B","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4;(#,##0.00\u00a0\u00a4)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:".",percentFormat:"#,##0%","decimalFormat-long":"000 bilions",decimalFormat:"#,##0.###",decimal:",", +"currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Opcions anteriors",_localized:{},nextMessage:"M\u00e9s opcions"},"dijit/nls/common":{buttonOk:"D'acord",buttonCancel:"Cancel\u00b7la",_localized:{},buttonSave:"Desa",itemClose:"Tanca"}}); +//# sourceMappingURL=dojo_ca.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_cs.js b/Server/www/spiderbasic/dojo/nls/dojo_cs.js new file mode 100644 index 0000000..1475fd4 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_cs.js @@ -0,0 +1,18 @@ +//>>built +define("dojo/nls/dojo_cs",{"dijit/form/nls/validate":{invalidMessage:"Zadan\u00e1 hodnota nen\u00ed platn\u00e1.",rangeMessage:"Tato hodnota je mimo rozsah.",_localized:{},missingMessage:"Tato hodnota je vy\u017eadov\u00e1na."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"ne po \u00fat st \u010dt p\u00e1 so".split(" "),"months-format-narrow":"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),"field-second-relative+0":"nyn\u00ed","quarters-standAlone-narrow":["1","2","3", +"4"],"field-weekday":"Den v t\u00fddnu","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E d. M. y","field-wed-relative+0":"tuto st\u0159edu","field-wed-relative+1":"p\u0159\u00ed\u0161t\u00ed st\u0159edu","dateFormatItem-GyMMMEd":"E d. M. y G","dateFormatItem-MMMEd":"E d. M.",eraNarrow:["p\u0159.n.l.","n.l."],"field-tue-relative+-1":"minul\u00e9 \u00fater\u00fd","days-format-short":"ne po \u00fat st \u010dt p\u00e1 so".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d. MMMM y", +"field-fri-relative+-1":"minul\u00fd p\u00e1tek","field-wed-relative+-1":"minulou st\u0159edu","months-format-wide":"ledna \u00fanora b\u0159ezna dubna kv\u011btna \u010dervna \u010dervence srpna z\u00e1\u0159\u00ed \u0159\u00edjna listopadu prosince".split(" "),"dateTimeFormat-medium":"{1} {0}","dateFormatItem-yMMMMd":"d. MMMM y","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE d. MMMM y","field-thu-relative+-1":"minul\u00fd \u010dtvrtek","dateFormatItem-Md":"d. M.",_localized:{},"dayPeriods-format-abbr-am":"AM", +"dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d. M. y","field-era":"Letopo\u010det","dateFormatItem-yM":"M/y","months-standAlone-wide":"leden \u00fanor b\u0159ezen duben kv\u011bten \u010derven \u010dervenec srpen z\u00e1\u0159\u00ed \u0159\u00edjen listopad prosinec".split(" "),"timeFormat-short":"H:mm","quarters-format-wide":["1. \u010dtvrtlet\u00ed","2. \u010dtvrtlet\u00ed","3. \u010dtvrtlet\u00ed","4. \u010dtvrtlet\u00ed"],"dateFormatItem-yQQQQ":"QQQQ y", +"timeFormat-long":"H:mm:ss z","field-year":"Rok","dateFormatItem-yMMM":"LLLL y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"Hodina","months-format-abbr":"led \u00fano b\u0159e dub kv\u011b \u010dvn \u010dvc srp z\u00e1\u0159 \u0159\u00edj lis pro".split(" "),"field-sat-relative+0":"tuto sobotu","field-sat-relative+1":"p\u0159\u00ed\u0161t\u00ed sobotu","timeFormat-full":"H:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"dnes","field-thu-relative+0":"tento \u010dtvrtek", +"field-day-relative+1":"z\u00edtra","field-thu-relative+1":"p\u0159\u00ed\u0161t\u00ed \u010dtvrtek","dateFormatItem-GyMMMd":"d. M. y G","field-day-relative+2":"poz\u00edt\u0159\u00ed","dateFormatItem-H":"H","months-standAlone-abbr":"led \u00fano b\u0159e dub kv\u011b \u010dvn \u010dvc srp z\u00e1\u0159 \u0159\u00edj lis pro".split(" "),"quarters-format-abbr":["Q1","Q2","Q3","Q4"],"quarters-standAlone-wide":["1. \u010dtvrtlet\u00ed","2. \u010dtvrtlet\u00ed","3. \u010dtvrtlet\u00ed","4. \u010dtvrtlet\u00ed"], +"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"ned\u011ble pond\u011bl\u00ed \u00fater\u00fd st\u0159eda \u010dtvrtek p\u00e1tek sobota".split(" "),"dateFormatItem-MMMMd":"d. MMMM","dateFormatItem-GyMMMMd":"d. MMMM y G","dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"H:mm:ss","field-sun-relative+0":"tuto ned\u011bli","dateFormatItem-Hm":"H:mm","field-sun-relative+1":"p\u0159\u00ed\u0161t\u00ed ned\u011bli","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],eraAbbr:["p\u0159. n. l.", +"n. l."],"field-minute":"Minuta","field-dayperiod":"AM/PM","days-standAlone-abbr":"ne po \u00fat st \u010dt p\u00e1 so".split(" "),"dateFormatItem-d":"d.","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"v\u010dera","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateFormatItem-h":"h a","field-day-relative+-2":"p\u0159edev\u010d\u00edrem","dateFormatItem-MMMd":"d. M.","dateFormatItem-MEd":"E d. M.","dateTimeFormat-full":"{1} {0}", +"field-fri-relative+0":"tento p\u00e1tek","field-fri-relative+1":"p\u0159\u00ed\u0161t\u00ed p\u00e1tek","dateFormatItem-yMMMM":"LLLL y","field-day":"Den","days-format-wide":"ned\u011ble pond\u011bl\u00ed \u00fater\u00fd st\u0159eda \u010dtvrtek p\u00e1tek sobota".split(" "),"field-zone":"\u010casov\u00e9 p\u00e1smo","months-standAlone-narrow":"l\u00fabdk\u010d\u010dsz\u0159lp".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"minul\u00fd rok", +"field-month-relative+-1":"minul\u00fd m\u011bs\u00edc","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"ne po \u00fat st \u010dt p\u00e1 so".split(" "),eraNames:["p\u0159. n. l.","n. l."],"dateFormatItem-yMMMd":"d. M. y","days-format-narrow":"NP\u00daS\u010cPS".split(""),"field-month":"M\u011bs\u00edc","days-standAlone-narrow":"NP\u00daS\u010cPS".split(""),"dateFormatItem-MMM":"LLL", +"field-tue-relative+0":"toto \u00fater\u00fd","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"p\u0159\u00ed\u0161t\u00ed \u00fater\u00fd","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-MMMMEd":"E d. MMMM","dateFormatItem-EHm":"E H:mm","field-mon-relative+0":"toto pond\u011bl\u00ed","field-mon-relative+1":"p\u0159\u00ed\u0161t\u00ed pond\u011bl\u00ed","dateFormat-short":"dd.MM.yy", +"dateFormatItem-EHms":"E H:mm:ss","dateFormatItem-yMMMMEd":"E d. MMMM y","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"Sekunda","field-sat-relative+-1":"minulou sobotu","dateFormatItem-yMMMEd":"E d. M. y","field-sun-relative+-1":"minulou ned\u011bli","field-month-relative+0":"tento m\u011bs\u00edc","field-month-relative+1":"p\u0159\u00ed\u0161t\u00ed m\u011bs\u00edc","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d.","field-week":"T\u00fdden", +"dateFormat-medium":"d. M. y","field-week-relative+-1":"minul\u00fd t\u00fdden","field-year-relative+0":"tento rok","field-year-relative+1":"p\u0159\u00ed\u0161t\u00ed rok","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"H:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"LLLL y G","field-mon-relative+-1":"minul\u00e9 pond\u011bl\u00ed","dateFormatItem-GyMMMMEd":"E d. MMMM y G","field-week-relative+0":"tento t\u00fdden","field-week-relative+1":"p\u0159\u00ed\u0161t\u00ed t\u00fdden"}, +"dijit/nls/loading":{_localized:{},loadingState:"Prob\u00edh\u00e1 na\u010d\u00edt\u00e1n\u00ed...",errorState:"Omlouv\u00e1me se, do\u0161lo k chyb\u011b"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0bil'.'","currencySpacing-afterCurrency-insertBetween":"\u00a0", +nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0\u00a0%","decimalFormat-long":"000 bilion\u016f",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"P\u0159edchoz\u00ed volby",_localized:{},nextMessage:"Dal\u0161\u00ed volby"}, +"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Storno",_localized:{},buttonSave:"Ulo\u017eit",itemClose:"Zav\u0159\u00edt"}}); +//# sourceMappingURL=dojo_cs.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_da.js b/Server/www/spiderbasic/dojo/nls/dojo_da.js new file mode 100644 index 0000000..fdb3513 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_da.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_da",{"dijit/form/nls/validate":{invalidMessage:"Den angivne v\u00e6rdi er ugyldig.",rangeMessage:"V\u00e6rdien er uden for intervallet.",_localized:{},missingMessage:"V\u00e6rdien er p\u00e5kr\u00e6vet."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h.mm a","days-standAlone-short":"s\u00f8 ma ti on to fr l\u00f8".split(" "),"months-format-narrow":"JFMAMJJASOND".split(""),"field-second-relative+0":"nu","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"Ugedag", +"dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E d/M/y","field-wed-relative+0":"denne onsdag","field-wed-relative+1":"n\u00e6ste onsdag","dateFormatItem-GyMMMEd":"E d. MMM y G","dateFormatItem-MMMEd":"E d. MMM",eraNarrow:["fKr","fvt","eKr","vt"],"dateFormatItem-yMM":"MM/y","field-tue-relative+-1":"sidste tirsdag","days-format-short":"s\u00f8 ma ti on to fr l\u00f8".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d. MMM y","field-fri-relative+-1":"sidste fredag", +"field-wed-relative+-1":"sidste onsdag","months-format-wide":"januar februar marts april maj juni juli august september oktober november december".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE 'den' d. MMMM y","field-thu-relative+-1":"sidste torsdag","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"middag","dateFormatItem-yMd":"d/M/y", +"field-era":"\u00c6ra","dateFormatItem-yM":"M/y","months-standAlone-wide":"januar februar marts april maj juni juli august september oktober november december".split(" "),"timeFormat-short":"HH.mm","quarters-format-wide":["1. kvartal","2. kvartal","3. kvartal","4. kvartal"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"HH.mm.ss z","field-year":"\u00c5r","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"Time","dateFormatItem-MMdd":"dd/MM","months-format-abbr":"jan. feb. mar. apr. maj jun. jul. aug. sep. okt. nov. dec.".split(" "), +"field-sat-relative+0":"denne l\u00f8rdag","field-sat-relative+1":"n\u00e6ste l\u00f8rdag","timeFormat-full":"HH.mm.ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"i dag","field-thu-relative+0":"denne torsdag","field-day-relative+1":"i morgen","field-thu-relative+1":"n\u00e6ste torsdag","dateFormatItem-GyMMMd":"d. MMM y G","field-day-relative+2":"i overmorgen","dateFormatItem-H":"HH","months-standAlone-abbr":"jan feb mar apr maj jun jul aug sep okt nov dec".split(" "), +"quarters-format-abbr":["K1","K2","K3","K4"],"quarters-standAlone-wide":["1. kvartal","2. kvartal","3. kvartal","4. kvartal"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"M","days-standAlone-wide":"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),"dayPeriods-format-abbr-noon":"middag","timeFormat-medium":"HH.mm.ss","field-sun-relative+0":"denne s\u00f8ndag","dateFormatItem-Hm":"HH.mm","field-sun-relative+1":"n\u00e6ste s\u00f8ndag","quarters-standAlone-abbr":["K1","K2","K3", +"K4"],eraAbbr:["f.Kr.","e.Kr."],"field-minute":"Minut","field-dayperiod":"AM/PM","days-standAlone-abbr":"s\u00f8n man tir ons tor fre l\u00f8r".split(" "),"dateFormatItem-d":"d.","dateFormatItem-ms":"mm.ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"i g\u00e5r","dateTimeFormat-long":"{1} 'kl.' {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","field-day-relative+-2":"i forg\u00e5rs","dateFormatItem-MMMd":"d. MMM","dateFormatItem-MEd":"E d/M","dateTimeFormat-full":"{1} 'kl.' {0}", +"field-fri-relative+0":"denne fredag","field-fri-relative+1":"n\u00e6ste fredag","field-day":"Dag","days-format-wide":"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),"field-zone":"Tidszone","months-standAlone-narrow":"JFMAMJJASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"sidste \u00e5r","field-month-relative+-1":"sidste m\u00e5ned","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h.mm a", +"dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"s\u00f8n. man. tir. ons. tor. fre. l\u00f8r.".split(" "),eraNames:["f.Kr.","f\u00f8r vesterlandsk tidsregning","e.Kr.","vesterlandsk tidsregning"],"dateFormatItem-yMMMd":"d. MMM y","days-format-narrow":"SMTOTFL".split(""),"field-month":"M\u00e5ned","days-standAlone-narrow":"SMTOTFL".split(""),"dateFormatItem-MMM":"MMM","field-tue-relative+0":"denne tirsdag","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})", +"field-tue-relative+1":"n\u00e6ste tirsdag","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-MMMMEd":"E d. MMMM","dateFormatItem-EHm":"E HH.mm","field-mon-relative+0":"denne mandag","field-mon-relative+1":"n\u00e6ste mandag","dateFormat-short":"dd/MM/yy","dateFormatItem-EHms":"E HH.mm.ss","dateFormatItem-Ehms":"E h.mm.ss a","dayPeriods-format-narrow-noon":"middag","field-second":"Sekund","field-sat-relative+-1":"sidste l\u00f8rdag", +"dateFormatItem-yMMMEd":"E d. MMM y","field-sun-relative+-1":"sidste s\u00f8ndag","field-month-relative+0":"denne m\u00e5ned","field-month-relative+1":"n\u00e6ste m\u00e5ned","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E 'd'. d.","field-week":"Uge","dateFormat-medium":"dd/MM/y","field-week-relative+-1":"sidste uge","field-year-relative+0":"i \u00e5r","field-year-relative+1":"n\u00e6ste \u00e5r","dayPeriods-format-narrow-pm":"p","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH.mm.ss", +"dateFormatItem-hms":"h.mm.ss a","dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"sidste mandag","field-week-relative+0":"denne uge","field-week-relative+1":"n\u00e6ste uge"},"dijit/nls/loading":{_localized:{},loadingState:"Indl\u00e6ser...",errorState:"Der er opst\u00e5et en fejl"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]", +_localized:{},"decimalFormat-short":"000\u00a0bill","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:".",percentFormat:"#,##0\u00a0%","decimalFormat-long":"000 billioner",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Forrige valg", +_localized:{},nextMessage:"Flere valg"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Annull\u00e9r",_localized:{},buttonSave:"Gem",itemClose:"Luk"}}); +//# sourceMappingURL=dojo_da.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_de.js b/Server/www/spiderbasic/dojo/nls/dojo_de.js new file mode 100644 index 0000000..21df161 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_de.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_de",{"dijit/form/nls/validate":{invalidMessage:"Der eingegebene Wert ist ung\u00fcltig. ",rangeMessage:"Dieser Wert liegt au\u00dferhalb des g\u00fcltigen Bereichs. ",_localized:{},missingMessage:"Dieser Wert ist erforderlich."},"dojo/cldr/nls/gregorian":{"dateTimeFormats-appendItem-Year":"{1} {0}","field-tue-relative+-1":"Letzten Dienstag","field-year":"Jahr","dateFormatItem-Hm":"HH:mm","field-wed-relative+0":"Diesen Mittwoch","field-wed-relative+1":"N\u00e4chsten Mittwoch", +"dayPeriods-format-wide-night":"nachts","dateFormatItem-ms":"mm:ss","timeFormat-short":"HH:mm","field-minute":"Minute","dateTimeFormat-short":"{1} {0}","field-day-relative+0":"Heute","field-day-relative+1":"Morgen","field-day-relative+2":"\u00dcbermorgen","field-tue-relative+0":"Diesen Dienstag","field-tue-relative+1":"N\u00e4chsten Dienstag","dayPeriods-format-narrow-am":"a","dateFormatItem-MMMd":"d. MMM","dayPeriods-format-abbr-am":"AM","field-week-relative+0":"Diese Woche","field-month-relative+0":"Dieser Monat", +"field-week-relative+1":"N\u00e4chste Woche","field-month-relative+1":"N\u00e4chster Monat","timeFormat-medium":"HH:mm:ss","field-second-relative+0":"jetzt","dayPeriods-format-wide-afternoon":"nachmittags","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","months-standAlone-narrow":"JFMAMJJASOND".split(""),eraNames:["v. Chr.","n. Chr."],"dateFormatItem-GyMMMEd":"E, d. MMM y G","field-day":"Tag","field-year-relative+-1":"Letztes Jahr","dayPeriods-format-wide-am":"vorm.","field-wed-relative+-1":"Letzten Mittwoch", +"dateTimeFormat-medium":"{1} {0}","field-second":"Sekunde","days-standAlone-narrow":"SMDMDFS".split(""),"dateFormatItem-Ehms":"E, h:mm:ss a","dateFormat-long":"d. MMMM y","dateFormatItem-GyMMMd":"d. MMM y G","dateFormatItem-yMMMEd":"E, d. MMM y","quarters-standAlone-wide":["1. Quartal","2. Quartal","3. Quartal","4. Quartal"],"days-format-narrow":"SMDMDFS".split(""),"dateTimeFormats-appendItem-Timezone":"{0} {1}","field-mon-relative+-1":"Letzten Montag","dateFormatItem-GyMMM":"MMM y G","field-month":"Monat", +"dateFormatItem-MMM":"LLL","field-dayperiod":"Tagesh\u00e4lfte","dayPeriods-format-narrow-pm":"p","dateFormat-medium":"dd.MM.y",eraAbbr:["v. Chr.","n. Chr."],"quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],"dayPeriods-format-abbr-pm":"PM","dateFormatItem-MMd":"d.MM.","field-mon-relative+0":"Diesen Montag","field-mon-relative+1":"N\u00e4chsten Montag","months-format-narrow":"JFMAMJJASOND".split(""),"days-format-short":"So. Mo. Di. Mi. Do. Fr. Sa.".split(" "),"quarters-format-narrow":["1","2","3", +"4"],"dayPeriods-format-wide-pm":"nachm.","field-sat-relative+-1":"Letzten Samstag","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dateTimeFormat-long":"{1} {0}","dateFormatItem-Md":"d.M.","field-hour":"Stunde","dateFormatItem-yQQQQ":"QQQQ y","months-format-wide":"Januar Februar M\u00e4rz April Mai Juni Juli August September Oktober November Dezember".split(" "),"dateFormat-full":"EEEE, d. MMMM y","field-month-relative+-1":"Letzter Monat","dayPeriods-format-wide-earlyMorning":"morgens","dateFormatItem-Hms":"HH:mm:ss", +"field-fri-relative+0":"Diesen Freitag","field-fri-relative+1":"N\u00e4chsten Freitag","dayPeriods-format-narrow-noon":"n","dayPeriods-format-wide-morning":"vormittags","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})",_localized:{},"field-week-relative+-1":"Letzte Woche","dateFormatItem-Ehm":"E h:mm a","months-format-abbr":"Jan. Feb. M\u00e4rz Apr. Mai Juni Juli Aug. Sep. Okt. Nov. Dez.".split(" "),"timeFormat-long":"HH:mm:ss z","dateFormatItem-yMMM":"MMM y","dateFormat-short":"dd.MM.yy","days-standAlone-wide":"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag".split(" "), +"dateTimeFormats-appendItem-Era":"{1} {0}","dateFormatItem-H":"HH 'Uhr'","dateFormatItem-M":"L","months-standAlone-wide":"Januar Februar M\u00e4rz April Mai Juni Juli August September Oktober November Dezember".split(" "),"field-sun-relative+-1":"Letzten Sonntag","dateFormatItem-MMMMEd":"E, d. MMMM","days-standAlone-abbr":"So Mo Di Mi Do Fr Sa".split(" "),"dateTimeFormat-full":"{1} {0}","dateFormatItem-hm":"h:mm a","dateFormatItem-d":"d","field-weekday":"Wochentag","field-sat-relative+0":"Diesen Samstag", +"dateFormatItem-h":"h a","field-sat-relative+1":"N\u00e4chsten Samstag","months-standAlone-abbr":"Jan Feb M\u00e4r Apr Mai Jun Jul Aug Sep Okt Nov Dez".split(" "),"dateFormatItem-yMM":"MM.y","timeFormat-full":"HH:mm:ss zzzz","dateFormatItem-MEd":"E, d.M.","dateFormatItem-y":"y","field-thu-relative+0":"Diesen Donnerstag","field-thu-relative+1":"N\u00e4chsten Donnerstag","dateFormatItem-hms":"h:mm:ss a","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dayPeriods-format-abbr-noon":"noon","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})", +"field-thu-relative+-1":"Letzten Donnerstag","dateFormatItem-yMd":"d.M.y","field-week":"Woche","quarters-standAlone-narrow":["1","2","3","4"],"quarters-format-wide":["1. Quartal","2. Quartal","3. Quartal","4. Quartal"],"dateFormatItem-Ed":"E, d.","dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","days-standAlone-short":"So. Mo. Di. Mi. Do. Fr. Sa.".split(" "),"dayPeriods-format-wide-evening":"abends","dateFormatItem-yMMdd":"dd.MM.y","quarters-format-abbr":["Q1","Q2","Q3","Q4"],"field-year-relative+0":"Dieses Jahr", +"field-year-relative+1":"N\u00e4chstes Jahr","field-fri-relative+-1":"Letzten Freitag",eraNarrow:["v. Chr.","n. Chr."],"dayPeriods-format-wide-noon":"Mittag","dateFormatItem-yQQQ":"QQQ y","days-format-wide":"Sonntag Montag Dienstag Mittwoch Donnerstag Freitag Samstag".split(" "),"dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateFormatItem-EHm":"E, HH:mm","field-zone":"Zeitzone","dateFormatItem-yM":"M.y","dateFormatItem-yMMMM":"MMMM y","dateFormatItem-MMMEd":"E, d. MMM","dateFormatItem-EHms":"E, HH:mm:ss", +"dateFormatItem-yMEd":"E, d.M.y","field-day-relative+-1":"Gestern","field-day-relative+-2":"Vorgestern","days-format-abbr":"So. Mo. Di. Mi. Do. Fr. Sa.".split(" "),"field-sun-relative+0":"Diesen Sonntag","dateFormatItem-MMdd":"dd.MM.","field-sun-relative+1":"N\u00e4chsten Sonntag","dateFormatItem-yMMMd":"d. MMM y","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-Gy":"y G","field-era":"Epoche"},"dijit/nls/loading":{_localized:{},loadingState:"Wird geladen...",errorState:"Es ist ein Fehler aufgetreten."}, +"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00b7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0Bio","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]", +perMille:"\u2030",group:".",percentFormat:"#,##0\u00a0%","decimalFormat-long":"000 Billionen",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Vorherige Auswahl",_localized:{},nextMessage:"Weitere Auswahlm\u00f6glichkeiten"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Abbrechen",_localized:{},buttonSave:"Speichern",itemClose:"Schlie\u00dfen"}}); +//# sourceMappingURL=dojo_de.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_el.js b/Server/www/spiderbasic/dojo/nls/dojo_el.js new file mode 100644 index 0000000..d502487 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_el.js @@ -0,0 +1,26 @@ +//>>built +define("dojo/nls/dojo_el",{"dijit/form/nls/validate":{invalidMessage:"\u0397 \u03c4\u03b9\u03bc\u03ae \u03c0\u03bf\u03c5 \u03ba\u03b1\u03c4\u03b1\u03c7\u03c9\u03c1\u03ae\u03c3\u03b1\u03c4\u03b5 \u03b4\u03b5\u03bd \u03b5\u03af\u03bd\u03b1\u03b9 \u03ad\u03b3\u03ba\u03c5\u03c1\u03b7.",rangeMessage:"\u0397 \u03c4\u03b9\u03bc\u03ae \u03b1\u03c5\u03c4\u03ae \u03b4\u03b5\u03bd \u03b1\u03bd\u03ae\u03ba\u03b5\u03b9 \u03c3\u03c4\u03bf \u03b5\u03cd\u03c1\u03bf\u03c2 \u03ad\u03b3\u03ba\u03c5\u03c1\u03c9\u03bd \u03c4\u03b9\u03bc\u03ce\u03bd.", +_localized:{},missingMessage:"\u0397 \u03c4\u03b9\u03bc\u03ae \u03b1\u03c5\u03c4\u03ae \u03c0\u03c1\u03ad\u03c0\u03b5\u03b9 \u03b1\u03c0\u03b1\u03c1\u03b1\u03af\u03c4\u03b7\u03c4\u03b1 \u03bd\u03b1 \u03ba\u03b1\u03b8\u03bf\u03c1\u03b9\u03c3\u03c4\u03b5\u03af."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"\u039a\u03c5 \u0394\u03b5 \u03a4\u03c1 \u03a4\u03b5 \u03a0\u03ad \u03a0\u03b1 \u03a3\u03ac".split(" "),"months-format-narrow":"\u0399\u03a6\u039c\u0391\u039c\u0399\u0399\u0391\u03a3\u039f\u039d\u0394".split(""), +"field-second-relative+0":"\u03c4\u03ce\u03c1\u03b1","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"\u0397\u03bc\u03ad\u03c1\u03b1 \u03b5\u03b2\u03b4\u03bf\u03bc\u03ac\u03b4\u03b1\u03c2","dateFormatItem-yQQQ":"y QQQ","dateFormatItem-yMEd":"E, d/M/y","field-wed-relative+0":"\u03b1\u03c5\u03c4\u03ae\u03bd \u03c4\u03b7\u03bd \u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7","field-wed-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b7 \u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7","dateFormatItem-GyMMMEd":"E, d MMM y G", +"dateFormatItem-MMMEd":"E, d MMM",eraNarrow:["\u03c0.\u03a7.","\u03bc.\u03a7."],"field-tue-relative+-1":"\u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7 \u03a4\u03c1\u03af\u03c4\u03b7","days-format-short":"\u039a\u03c5 \u0394\u03b5 \u03a4\u03c1 \u03a4\u03b5 \u03a0\u03ad \u03a0\u03b1 \u03a3\u03ac".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d MMMM y","field-fri-relative+-1":"\u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7 \u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae", +"field-wed-relative+-1":"\u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7 \u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7","months-format-wide":"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5 \u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5 \u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5 \u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5 \u039c\u03b1\u0390\u03bf\u03c5 \u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5 \u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5 \u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5 \u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5 \u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5 \u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5 \u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split(" "), +"dateTimeFormat-medium":"{1} - {0}","dayPeriods-format-wide-pm":"\u03bc.\u03bc.","dateFormat-full":"EEEE, d MMMM y","field-thu-relative+-1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b7 \u03a0\u03ad\u03bc\u03c0\u03c4\u03b7","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d/M/y","field-era":"\u03a0\u03b5\u03c1\u03af\u03bf\u03b4\u03bf\u03c2","dateFormatItem-yM":"M/y", +"months-standAlone-wide":"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2 \u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2 \u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2 \u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2 \u039c\u03ac\u03b9\u03bf\u03c2 \u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2 \u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2 \u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2 \u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2 \u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2 \u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2 \u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split(" "), +"timeFormat-short":"h:mm a","quarters-format-wide":["1\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf","2\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf","3\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf","4\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf"],"dateFormatItem-yQQQQ":"y QQQQ","timeFormat-long":"h:mm:ss a z","field-year":"\u0388\u03c4\u03bf\u03c2","dateFormatItem-yMMM":"LLL y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"\u038f\u03c1\u03b1","months-format-abbr":"\u0399\u03b1\u03bd \u03a6\u03b5\u03b2 \u039c\u03b1\u03c1 \u0391\u03c0\u03c1 \u039c\u03b1\u0390 \u0399\u03bf\u03c5\u03bd \u0399\u03bf\u03c5\u03bb \u0391\u03c5\u03b3 \u03a3\u03b5\u03c0 \u039f\u03ba\u03c4 \u039d\u03bf\u03b5 \u0394\u03b5\u03ba".split(" "), +"field-sat-relative+0":"\u03b1\u03c5\u03c4\u03cc \u03c4\u03bf \u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf","field-sat-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf \u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf","timeFormat-full":"h:mm:ss a zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"\u03c3\u03ae\u03bc\u03b5\u03c1\u03b1","field-thu-relative+0":"\u03b1\u03c5\u03c4\u03ae\u03bd \u03c4\u03b7\u03bd \u03a0\u03ad\u03bc\u03c0\u03c4\u03b7","field-day-relative+1":"\u03b1\u03cd\u03c1\u03b9\u03bf", +"field-thu-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b7 \u03a0\u03ad\u03bc\u03c0\u03c4\u03b7","dateFormatItem-GyMMMd":"d MMM y G","field-day-relative+2":"\u03bc\u03b5\u03b8\u03b1\u03cd\u03c1\u03b9\u03bf","dateFormatItem-H":"HH","months-standAlone-abbr":"\u0399\u03b1\u03bd \u03a6\u03b5\u03b2 \u039c\u03ac\u03c1 \u0391\u03c0\u03c1 \u039c\u03ac\u03b9 \u0399\u03bf\u03cd\u03bd \u0399\u03bf\u03cd\u03bb \u0391\u03cd\u03b3 \u03a3\u03b5\u03c0 \u039f\u03ba\u03c4 \u039d\u03bf\u03ad \u0394\u03b5\u03ba".split(" "), +"quarters-format-abbr":["\u03a41","\u03a42","\u03a43","\u03a44"],"quarters-standAlone-wide":["1\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf","2\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf","3\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf","4\u03bf \u03c4\u03c1\u03af\u03bc\u03b7\u03bd\u03bf"],"dateFormatItem-Gy":"y G","dateFormatItem-HHmmss":"HH:mm:ss","dateFormatItem-M":"L","days-standAlone-wide":"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae \u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1 \u03a4\u03c1\u03af\u03c4\u03b7 \u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7 \u03a0\u03ad\u03bc\u03c0\u03c4\u03b7 \u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae \u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split(" "), +"dateFormatItem-MMMMd":"d MMMM","dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"h:mm:ss a","field-sun-relative+0":"\u03b1\u03c5\u03c4\u03ae\u03bd \u03c4\u03b7\u03bd \u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b7 \u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae","quarters-standAlone-abbr":["\u03a41","\u03a42","\u03a43","\u03a44"],eraAbbr:["\u03c0.\u03a7.","\u03bc.\u03a7."],"field-minute":"\u039b\u03b5\u03c0\u03c4\u03cc", +"field-dayperiod":"\u03c0.\u03bc./\u03bc.\u03bc.","days-standAlone-abbr":"\u039a\u03c5\u03c1 \u0394\u03b5\u03c5 \u03a4\u03c1\u03af \u03a4\u03b5\u03c4 \u03a0\u03ad\u03bc \u03a0\u03b1\u03c1 \u03a3\u03ac\u03b2".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"\u03c7\u03b8\u03b5\u03c2","dateTimeFormat-long":"{1} - {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","field-day-relative+-2":"\u03c0\u03c1\u03bf\u03c7\u03b8\u03ad\u03c2", +"dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E, d/M","dateTimeFormat-full":"{1} - {0}","field-fri-relative+0":"\u03b1\u03c5\u03c4\u03ae\u03bd \u03c4\u03b7\u03bd \u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae","field-fri-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b7 \u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae","dateFormatItem-yMMMM":"LLLL y","field-day":"\u0397\u03bc\u03ad\u03c1\u03b1","days-format-wide":"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae \u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1 \u03a4\u03c1\u03af\u03c4\u03b7 \u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7 \u03a0\u03ad\u03bc\u03c0\u03c4\u03b7 \u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae \u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split(" "), +"field-zone":"\u0396\u03ce\u03bd\u03b7","months-standAlone-narrow":"\u0399\u03a6\u039c\u0391\u039c\u0399\u0399\u0391\u03a3\u039f\u039d\u0394".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"\u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03ad\u03c4\u03bf\u03c2","field-month-relative+-1":"\u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2","dateTimeFormats-appendItem-Year":"{1} {0}", +"dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"\u039a\u03c5\u03c1 \u0394\u03b5\u03c5 \u03a4\u03c1\u03af \u03a4\u03b5\u03c4 \u03a0\u03ad\u03bc \u03a0\u03b1\u03c1 \u03a3\u03ac\u03b2".split(" "),eraNames:["\u03c0.\u03a7.","\u03bc.\u03a7."],"dateFormatItem-yMMMd":"d MMM y","days-format-narrow":"\u039a\u0394\u03a4\u03a4\u03a0\u03a0\u03a3".split(""),"field-month":"\u039c\u03ae\u03bd\u03b1\u03c2","days-standAlone-narrow":"\u039a\u0394\u03a4\u03a4\u03a0\u03a0\u03a3".split(""), +"dateFormatItem-MMM":"LLL","dateFormatItem-HHmm":"HH:mm","field-tue-relative+0":"\u03b1\u03c5\u03c4\u03ae\u03bd \u03c4\u03b7\u03bd \u03a4\u03c1\u03af\u03c4\u03b7","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b7 \u03a4\u03c1\u03af\u03c4\u03b7","dayPeriods-format-wide-am":"\u03c0.\u03bc.","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-MMMMEd":"E, d MMMM", +"dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"\u03b1\u03c5\u03c4\u03ae\u03bd \u03c4\u03b7 \u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1","field-mon-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b7 \u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1","dateFormat-short":"d/M/yy","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"\u0394\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03bf","field-sat-relative+-1":"\u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf", +"dateFormatItem-yMMMEd":"E, d MMM y","field-sun-relative+-1":"\u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7 \u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae","field-month-relative+0":"\u03c4\u03c1\u03ad\u03c7\u03c9\u03bd \u03bc\u03ae\u03bd\u03b1\u03c2","field-month-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d","field-week":"\u0395\u03b2\u03b4\u03bf\u03bc\u03ac\u03b4\u03b1", +"dateFormat-medium":"d MMM y","field-week-relative+-1":"\u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7 \u03b5\u03b2\u03b4\u03bf\u03bc\u03ac\u03b4\u03b1","field-year-relative+0":"\u03c6\u03ad\u03c4\u03bf\u03c2","field-year-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03bf \u03ad\u03c4\u03bf\u03c2","dayPeriods-format-narrow-pm":"p","dateTimeFormat-short":"{1} - {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"LLL y G","field-mon-relative+-1":"\u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7 \u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1", +"field-week-relative+0":"\u03b1\u03c5\u03c4\u03ae\u03bd \u03c4\u03b7\u03bd \u03b5\u03b2\u03b4\u03bf\u03bc\u03ac\u03b4\u03b1","field-week-relative+1":"\u03b5\u03c0\u03cc\u03bc\u03b5\u03bd\u03b7 \u03b5\u03b2\u03b4\u03bf\u03bc\u03ac\u03b4\u03b1"},"dijit/nls/loading":{_localized:{},loadingState:"\u03a6\u03cc\u03c1\u03c4\u03c9\u03c3\u03b7...",errorState:"\u03a3\u03b1\u03c2 \u03b6\u03b7\u03c4\u03bf\u03cd\u03bc\u03b5 \u03c3\u03c5\u03b3\u03bd\u03ce\u03bc\u03b7, \u03c0\u03b1\u03c1\u03bf\u03c5\u03c3\u03b9\u03ac\u03c3\u03c4\u03b7\u03ba\u03b5 \u03c3\u03c6\u03ac\u03bb\u03bc\u03b1"}, +"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0\u03c4\u03c1\u03b9\u03c3'.'","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4", +"currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:".",percentFormat:"#,##0%","decimalFormat-long":"000 \u03c4\u03c1\u03b9\u03c3\u03b5\u03ba\u03b1\u03c4\u03bf\u03bc\u03bc\u03cd\u03c1\u03b9\u03b1",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"e"},"dijit/form/nls/ComboBox":{previousMessage:"\u03a0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b5\u03c2 \u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2", +_localized:{},nextMessage:"\u03a0\u03b5\u03c1\u03b9\u03c3\u03c3\u03cc\u03c4\u03b5\u03c1\u03b5\u03c2 \u03b5\u03c0\u03b9\u03bb\u03bf\u03b3\u03ad\u03c2"},"dijit/nls/common":{buttonOk:"\u039f\u039a",buttonCancel:"\u0391\u03ba\u03cd\u03c1\u03c9\u03c3\u03b7",_localized:{},buttonSave:"\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7",itemClose:"\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf"}}); +//# sourceMappingURL=dojo_el.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_en-gb.js b/Server/www/spiderbasic/dojo/nls/dojo_en-gb.js new file mode 100644 index 0000000..b46b556 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_en-gb.js @@ -0,0 +1,15 @@ +//>>built +define("dojo/nls/dojo_en-gb",{"dijit/form/nls/validate":{invalidMessage:"The value entered is not valid.",rangeMessage:"This value is out of range.",_localized:{},missingMessage:"This value is required."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"Su Mo Tu We Th Fr Sa".split(" "),"months-format-narrow":"JFMAMJJASOND".split(""),"field-second-relative+0":"now","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"Day of the Week","dateFormatItem-yQQQ":"QQQ y", +"dateFormatItem-yMEd":"E, dd/MM/y","field-wed-relative+0":"this Wednesday","field-wed-relative+1":"next Wednesday","dateFormatItem-GyMMMEd":"E, d MMM y G","dateFormatItem-MMMEd":"E d MMM",eraNarrow:["B","A"],"field-tue-relative+-1":"last Tuesday","days-format-short":"Su Mo Tu We Th Fr Sa".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d MMMM y","field-fri-relative+-1":"last Friday","field-wed-relative+-1":"last Wednesday","months-format-wide":"January February March April May June July August September October November December".split(" "), +"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"pm","dateFormat-full":"EEEE, d MMMM y","field-thu-relative+-1":"last Thursday","dateFormatItem-Md":"dd/MM",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"dd/MM/y","field-era":"Era","dateFormatItem-yM":"MM/y","months-standAlone-wide":"January February March April May June July August September October November December".split(" "), +"timeFormat-short":"HH:mm","quarters-format-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"HH:mm:ss z","field-year":"Year","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{0} {1}","field-hour":"Hour","dateFormatItem-MMdd":"dd/MM","months-format-abbr":"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),"field-sat-relative+0":"this Saturday","field-sat-relative+1":"next Saturday","timeFormat-full":"HH:mm:ss zzzz", +"dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"today","field-thu-relative+0":"this Thursday","field-day-relative+1":"tomorrow","field-thu-relative+1":"next Thursday","dateFormatItem-GyMMMd":"d MMM y G","dateFormatItem-H":"HH","months-standAlone-abbr":"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),"quarters-format-abbr":["Q1","Q2","Q3","Q4"],"quarters-standAlone-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"LL", +"days-standAlone-wide":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),"dateFormatItem-MMMMd":"d MMMM","dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"HH:mm:ss","field-sun-relative+0":"this Sunday","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"next Sunday","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],eraAbbr:["BC","AD"],"field-minute":"Minute","field-dayperiod":"am/pm","days-standAlone-abbr":"Sun Mon Tue Wed Thu Fri Sat".split(" "),"dateFormatItem-d":"d", +"dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"yesterday","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E dd/MM","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"this Friday","field-fri-relative+1":"next Friday","dateFormatItem-yMMMM":"MMMM y","field-day":"Day","days-format-wide":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "), +"field-zone":"Time Zone","months-standAlone-narrow":"JFMAMJJASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"last year","field-month-relative+-1":"last month","dateTimeFormats-appendItem-Year":"{0} {1}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"Sun Mon Tue Wed Thu Fri Sat".split(" "),eraNames:["Before Christ","Anno Domini"],"dateFormatItem-yMMMd":"d MMM y", +"days-format-narrow":"SMTWTFS".split(""),"field-month":"Month","days-standAlone-narrow":"SMTWTFS".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"this Tuesday","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"next Tuesday","dayPeriods-format-wide-am":"am","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"this Monday","field-mon-relative+1":"next Monday", +"dateFormat-short":"dd/MM/y","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"Second","field-sat-relative+-1":"last Saturday","dateFormatItem-yMMMEd":"E, d MMM y","field-sun-relative+-1":"last Sunday","field-month-relative+0":"this month","field-month-relative+1":"next month","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d","field-week":"Week","dateFormat-medium":"d MMM y","field-week-relative+-1":"last week", +"field-year-relative+0":"this year","field-year-relative+1":"next year","dayPeriods-format-narrow-pm":"p","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"last Monday","field-week-relative+0":"this week","field-week-relative+1":"next week"},"dijit/nls/loading":{_localized:{},loadingState:"Loading...",errorState:"Sorry, an error occurred"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]", +infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4#,##0.00;(\u00a4#,##0.00)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:",",percentFormat:"#,##0%","decimalFormat-long":"000 trillion", +decimalFormat:"#,##0.###",decimal:".","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Previous choices",_localized:{},nextMessage:"More choices"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Cancel",_localized:{},buttonSave:"Save",itemClose:"Close"}}); +//# sourceMappingURL=dojo_en-gb.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_en-us.js b/Server/www/spiderbasic/dojo/nls/dojo_en-us.js new file mode 100644 index 0000000..c44a9ed --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_en-us.js @@ -0,0 +1,15 @@ +//>>built +define("dojo/nls/dojo_en-us",{"dijit/form/nls/validate":{invalidMessage:"The value entered is not valid.",rangeMessage:"This value is out of range.",_localized:{},missingMessage:"This value is required."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"Su Mo Tu We Th Fr Sa".split(" "),"months-format-narrow":"JFMAMJJASOND".split(""),"field-second-relative+0":"now","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"Day of the Week","dateFormatItem-yQQQ":"QQQ y", +"dateFormatItem-yMEd":"E, M/d/y","field-wed-relative+0":"this Wednesday","field-wed-relative+1":"next Wednesday","dateFormatItem-GyMMMEd":"E, MMM d, y G","dateFormatItem-MMMEd":"E, MMM d",eraNarrow:["B","A"],"field-tue-relative+-1":"last Tuesday","days-format-short":"Su Mo Tu We Th Fr Sa".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"MMMM d, y","field-fri-relative+-1":"last Friday","field-wed-relative+-1":"last Wednesday","months-format-wide":"January February March April May June July August September October November December".split(" "), +"dateTimeFormat-medium":"{1}, {0}","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE, MMMM d, y","field-thu-relative+-1":"last Thursday","dateFormatItem-Md":"M/d",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"M/d/y","field-era":"Era","dateFormatItem-yM":"M/y","months-standAlone-wide":"January February March April May June July August September October November December".split(" "), +"timeFormat-short":"h:mm a","quarters-format-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"h:mm:ss a z","field-year":"Year","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{0} {1}","field-hour":"Hour","months-format-abbr":"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),"field-sat-relative+0":"this Saturday","field-sat-relative+1":"next Saturday","timeFormat-full":"h:mm:ss a zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})", +"field-day-relative+0":"today","field-thu-relative+0":"this Thursday","field-day-relative+1":"tomorrow","field-thu-relative+1":"next Thursday","dateFormatItem-GyMMMd":"MMM d, y G","dateFormatItem-H":"HH","months-standAlone-abbr":"Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),"quarters-format-abbr":["Q1","Q2","Q3","Q4"],"quarters-standAlone-wide":["1st quarter","2nd quarter","3rd quarter","4th quarter"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "), +"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"h:mm:ss a","field-sun-relative+0":"this Sunday","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"next Sunday","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],eraAbbr:["BC","AD"],"field-minute":"Minute","field-dayperiod":"AM/PM","days-standAlone-abbr":"Sun Mon Tue Wed Thu Fri Sat".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"yesterday","dateTimeFormat-long":"{1} 'at' {0}", +"dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","dateFormatItem-MMMd":"MMM d","dateFormatItem-MEd":"E, M/d","dateTimeFormat-full":"{1} 'at' {0}","field-fri-relative+0":"this Friday","field-fri-relative+1":"next Friday","field-day":"Day","days-format-wide":"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),"field-zone":"Time Zone","months-standAlone-narrow":"JFMAMJJASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"last year", +"field-month-relative+-1":"last month","dateTimeFormats-appendItem-Year":"{0} {1}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"Sun Mon Tue Wed Thu Fri Sat".split(" "),eraNames:["Before Christ","Anno Domini"],"dateFormatItem-yMMMd":"MMM d, y","days-format-narrow":"SMTWTFS".split(""),"field-month":"Month","days-standAlone-narrow":"SMTWTFS".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"this Tuesday", +"dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"next Tuesday","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"this Monday","field-mon-relative+1":"next Monday","dateFormat-short":"M/d/yy","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"Second","field-sat-relative+-1":"last Saturday", +"dateFormatItem-yMMMEd":"E, MMM d, y","field-sun-relative+-1":"last Sunday","field-month-relative+0":"this month","field-month-relative+1":"next month","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"d E","field-week":"Week","dateFormat-medium":"MMM d, y","field-week-relative+-1":"last week","field-year-relative+0":"this year","field-year-relative+1":"next year","dayPeriods-format-narrow-pm":"p","dateTimeFormat-short":"{1}, {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a", +"dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"last Monday","field-week-relative+0":"this week","field-week-relative+1":"next week"},"dijit/nls/loading":{_localized:{},loadingState:"Loading...",errorState:"Sorry, an error occurred"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{}, +"decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4#,##0.00;(\u00a4#,##0.00)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:",",percentFormat:"#,##0%","decimalFormat-long":"000 trillion",decimalFormat:"#,##0.###",decimal:".","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Previous choices", +_localized:{},nextMessage:"More choices"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Cancel",_localized:{},buttonSave:"Save",itemClose:"Close"}}); +//# sourceMappingURL=dojo_en-us.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_es-es.js b/Server/www/spiderbasic/dojo/nls/dojo_es-es.js new file mode 100644 index 0000000..b3946e0 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_es-es.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_es-es",{"dijit/form/nls/validate":{invalidMessage:"El valor especificado no es v\u00e1lido.",rangeMessage:"Este valor est\u00e1 fuera del intervalo.",_localized:{},missingMessage:"Este valor es necesario."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E, h:mm a","days-standAlone-short":"DO LU MA MI JU VI SA".split(" "),"months-format-narrow":"EFMAMJJASOND".split(""),"field-second-relative+0":"ahora","quarters-standAlone-narrow":["1T","2T","3T","4T"],"field-weekday":"d\u00eda de la semana", +"dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"EEE, d/M/y","field-wed-relative+0":"este mi\u00e9rcoles","field-wed-relative+1":"el pr\u00f3ximo mi\u00e9rcoles","dateFormatItem-GyMMMEd":"E, d 'de' MMMM 'de' y G","dateFormatItem-MMMEd":"E d 'de' MMM",eraNarrow:["a. C.","d. C."],"dateFormatItem-yMM":"M/y","field-tue-relative+-1":"el martes pasado","dateFormatItem-MMMdd":"dd-MMM","days-format-short":"DO LU MA MI JU VI SA".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d 'de' MMMM 'de' y", +"field-fri-relative+-1":"el viernes pasado","field-wed-relative+-1":"el mi\u00e9rcoles pasado","months-format-wide":"enero febrero marzo abril mayo junio julio agosto septiembre octubre noviembre diciembre".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"p. m.","dateFormat-full":"EEEE, d 'de' MMMM 'de' y","field-thu-relative+-1":"el jueves pasado","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})", +"dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d/M/y","field-era":"era","dateFormatItem-yM":"M/y","months-standAlone-wide":"Enero Febrero Marzo Abril Mayo Junio Julio Agosto Septiembre Octubre Noviembre Diciembre".split(" "),"timeFormat-short":"H:mm","quarters-format-wide":["1.er trimestre","2.\u00ba trimestre","3.er trimestre","4.\u00ba trimestre"],"dateFormatItem-yQQQQ":"QQQQ 'de' y","timeFormat-long":"H:mm:ss z","field-year":"a\u00f1o","dateFormatItem-yMMM":"MMM 'de' y","dateTimeFormats-appendItem-Era":"{1} {0}", +"field-hour":"hora","dateFormatItem-MMdd":"d/M","months-format-abbr":"ene. feb. mar. abr. may. jun. jul. ago. sept. oct. nov. dic.".split(" "),"field-sat-relative+0":"este s\u00e1bado","field-sat-relative+1":"el pr\u00f3ximo s\u00e1bado","timeFormat-full":"H:mm:ss (zzzz)","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"hoy","field-thu-relative+0":"este jueves","field-day-relative+1":"ma\u00f1ana","field-thu-relative+1":"el pr\u00f3ximo jueves","dateFormatItem-GyMMMd":"d MMM 'de' y G", +"field-day-relative+2":"pasado ma\u00f1ana","dateFormatItem-H":"H","months-standAlone-abbr":"Ene. Feb. Mar. Abr. May. Jun. Jul. Ago. Sept. Oct. Nov. Dic.".split(" "),"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["1.er trimestre","2.\u00ba trimestre","3.er trimestre","4.\u00ba trimestre"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"Domingo Lunes Martes Mi\u00e9rcoles Jueves Viernes S\u00e1bado".split(" "),"dateFormatItem-MMMMd":"d 'de' MMMM", +"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"H:mm:ss","field-sun-relative+0":"este domingo","dateFormatItem-Hm":"H:mm","field-sun-relative+1":"el pr\u00f3ximo domingo","quarters-standAlone-abbr":["T1","T2","T3","T4"],eraAbbr:["a. C.","d. C."],"field-minute":"minuto","field-dayperiod":"periodo del d\u00eda","days-standAlone-abbr":"Dom. Lun. Mar. Mi\u00e9. Jue. Vie. S\u00e1b.".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1T","2T","3T","4T"],"field-day-relative+-1":"ayer", +"dateTimeFormat-long":"{1}, {0}","dayPeriods-format-narrow-am":"a.m.","dateFormatItem-h":"h a","field-day-relative+-2":"antes de ayer","dateFormatItem-MMMd":"d 'de' MMM","dateFormatItem-MEd":"E, d/M","dateTimeFormat-full":"{1}, {0}","field-fri-relative+0":"este viernes","field-fri-relative+1":"el pr\u00f3ximo viernes","dateFormatItem-yMMMM":"MMMM 'de' y","field-day":"d\u00eda","days-format-wide":"domingo lunes martes mi\u00e9rcoles jueves viernes s\u00e1bado".split(" "),"field-zone":"zona horaria", +"months-standAlone-narrow":"EFMAMJJASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"el a\u00f1o pasado","field-month-relative+-1":"el mes pasado","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"dom. lun. mar. mi\u00e9. jue. vie. s\u00e1b.".split(" "),eraNames:["antes de Cristo","anno D\u00f3mini"],"dateFormatItem-yMMMd":"d 'de' MMM 'de' y", +"days-format-narrow":"DLMXJVS".split(""),"field-month":"mes","days-standAlone-narrow":"DLMXJVS".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"este martes","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"el pr\u00f3ximo martes","dayPeriods-format-wide-am":"a. m.","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E, H:mm","field-mon-relative+0":"este lunes","field-mon-relative+1":"el pr\u00f3ximo lunes", +"dateFormat-short":"d/M/yy","dateFormatItem-MMd":"d/M","dateFormatItem-EHms":"E, H:mm:ss","dateFormatItem-Ehms":"E, h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"segundo","field-sat-relative+-1":"el s\u00e1bado pasado","dateFormatItem-yMMMEd":"EEE, d 'de' MMMM 'de' y","field-sun-relative+-1":"el domingo pasado","field-month-relative+0":"este mes","field-month-relative+1":"el pr\u00f3ximo mes","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d","field-week":"semana", +"dateFormat-medium":"d/M/y","field-week-relative+-1":"la semana pasada","field-year-relative+0":"este a\u00f1o","field-year-relative+1":"el pr\u00f3ximo a\u00f1o","dayPeriods-format-narrow-pm":"p.m.","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"H:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"MMM 'de' y G","field-mon-relative+-1":"el lunes pasado","field-week-relative+0":"esta semana","field-week-relative+1":"la pr\u00f3xima semana"},"dijit/nls/loading":{_localized:{},loadingState:"Cargando...", +errorState:"Lo siento, se ha producido un error"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000B","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4", +"currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:".",percentFormat:"#,##0%","decimalFormat-long":"000 billones",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Opciones anteriores",_localized:{},nextMessage:"M\u00e1s opciones"},"dijit/nls/common":{buttonOk:"Aceptar",buttonCancel:"Cancelar",_localized:{},buttonSave:"Guardar",itemClose:"Cerrar"}}); +//# sourceMappingURL=dojo_es-es.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_fi-fi.js b/Server/www/spiderbasic/dojo/nls/dojo_fi-fi.js new file mode 100644 index 0000000..c5a5fad --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_fi-fi.js @@ -0,0 +1,17 @@ +//>>built +define("dojo/nls/dojo_fi-fi",{"dijit/form/nls/validate":{invalidMessage:"Annettu arvo ei kelpaa.",rangeMessage:"T\u00e4m\u00e4 arvo on sallitun alueen ulkopuolella.",_localized:{},missingMessage:"T\u00e4m\u00e4 arvo on pakollinen."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h.mm a","days-standAlone-short":"su ma ti ke to pe la".split(" "),"months-format-narrow":"THMHTKHESLMJ".split(""),"field-second-relative+0":"nyt","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"viikonp\u00e4iv\u00e4", +"dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E d.M.y","field-wed-relative+0":"t\u00e4n\u00e4 keskiviikkona","field-wed-relative+1":"ensi keskiviikkona","dateFormatItem-GyMMMEd":"E d. MMM y G","dateFormatItem-MMMEd":"ccc d. MMM",eraNarrow:["eK","jK"],"dateFormatItem-yMM":"M.y","field-tue-relative+-1":"viime tiistaina","days-format-short":"su ma ti ke to pe la".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d. MMMM y","field-fri-relative+-1":"viime perjantaina", +"field-wed-relative+-1":"viime keskiviikkona","months-format-wide":"tammikuuta helmikuuta maaliskuuta huhtikuuta toukokuuta kes\u00e4kuuta hein\u00e4kuuta elokuuta syyskuuta lokakuuta marraskuuta joulukuuta".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"ip.","dateFormat-full":"cccc d. MMMM y","field-thu-relative+-1":"viime torstaina","dateFormatItem-Md":"d.M.","dayPeriods-standAlone-wide-pm":"ip.",_localized:{},"dayPeriods-format-abbr-am":"ap.","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})", +"dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d.M.y","field-era":"aikakausi","dateFormatItem-yM":"L.y","months-standAlone-wide":"tammikuu helmikuu maaliskuu huhtikuu toukokuu kes\u00e4kuu hein\u00e4kuu elokuu syyskuu lokakuu marraskuu joulukuu".split(" "),"timeFormat-short":"H.mm","quarters-format-wide":["1. nelj\u00e4nnes","2. nelj\u00e4nnes","3. nelj\u00e4nnes","4. nelj\u00e4nnes"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"H.mm.ss z","field-year":"vuosi","dateFormatItem-yMMM":"LLL y", +"dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"tunti","months-format-abbr":"tammikuuta helmikuuta maaliskuuta huhtikuuta toukokuuta kes\u00e4kuuta hein\u00e4kuuta elokuuta syyskuuta lokakuuta marraskuuta joulukuuta".split(" "),"field-sat-relative+0":"t\u00e4n\u00e4 lauantaina","field-sat-relative+1":"ensi lauantaina","timeFormat-full":"H.mm.ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"t\u00e4n\u00e4\u00e4n","field-thu-relative+0":"t\u00e4n\u00e4 torstaina", +"field-day-relative+1":"huomenna","field-thu-relative+1":"ensi torstaina","dateFormatItem-GyMMMd":"d. MMM y G","field-day-relative+2":"ylihuomenna","dateFormatItem-H":"H","months-standAlone-abbr":"tammi helmi maalis huhti touko kes\u00e4 hein\u00e4 elo syys loka marras joulu".split(" "),"quarters-format-abbr":["1. nelj.","2. nelj.","3. nelj.","4. nelj."],"quarters-standAlone-wide":["1. nelj\u00e4nnes","2. nelj\u00e4nnes","3. nelj\u00e4nnes","4. nelj\u00e4nnes"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L", +"days-standAlone-wide":"sunnuntai maanantai tiistai keskiviikko torstai perjantai lauantai".split(" "),"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"H.mm.ss","field-sun-relative+0":"t\u00e4n\u00e4 sunnuntaina","dateFormatItem-Hm":"H.mm","field-sun-relative+1":"ensi sunnuntaina","quarters-standAlone-abbr":["1. nelj.","2. nelj.","3. nelj.","4. nelj."],eraAbbr:["eKr.","jKr."],"field-minute":"minuutti","field-dayperiod":"vuorokaudenaika","days-standAlone-abbr":"su ma ti ke to pe la".split(" "), +"dateFormatItem-d":"d","dateFormatItem-ms":"m.ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"eilen","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"ap.","dateFormatItem-h":"h a","field-day-relative+-2":"toissap\u00e4iv\u00e4n\u00e4","dateFormatItem-MMMd":"d. MMM","dateFormatItem-MEd":"E d.M.","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"t\u00e4n\u00e4 perjantaina","field-fri-relative+1":"ensi perjantaina","dateFormatItem-yMMMM":"LLLL y","field-day":"p\u00e4iv\u00e4", +"dateFormatItem-yMMMMccccd":"cccc d. MMMM y","days-format-wide":"sunnuntaina maanantaina tiistaina keskiviikkona torstaina perjantaina lauantaina".split(" "),"field-zone":"aikavy\u00f6hyke","months-standAlone-narrow":"THMHTKHESLMJ".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"viime vuonna","field-month-relative+-1":"viime kuussa","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h.mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})", +"dayPeriods-format-abbr-pm":"ip.","days-format-abbr":"su ma ti ke to pe la".split(" "),eraNames:["ennen Kristuksen syntym\u00e4\u00e4","j\u00e4lkeen Kristuksen syntym\u00e4n"],"dateFormatItem-yMMMd":"d. MMM y","days-format-narrow":"SMTKTPL".split(""),"field-month":"kuukausi","days-standAlone-narrow":"SMTKTPL".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"t\u00e4n\u00e4 tiistaina","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"ensi tiistaina","dayPeriods-format-wide-am":"ap.", +"dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dayPeriods-standAlone-wide-am":"ap.","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E H.mm","field-mon-relative+0":"t\u00e4n\u00e4 maanantaina","field-mon-relative+1":"ensi maanantaina","dateFormat-short":"d.M.y","dateFormatItem-EHms":"E H.mm.ss","dateFormatItem-Ehms":"E h.mm.ss a","dayPeriods-format-narrow-noon":"n","field-second":"sekunti","field-sat-relative+-1":"viime lauantaina","dateFormatItem-yMMMEd":"E d. MMM y", +"field-sun-relative+-1":"viime sunnuntaina","field-month-relative+0":"t\u00e4ss\u00e4 kuussa","field-month-relative+1":"ensi kuussa","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d.","field-week":"viikko","dateFormat-medium":"d.M.y","field-week-relative+-1":"viime viikolla","field-year-relative+0":"t\u00e4n\u00e4 vuonna","field-year-relative+1":"ensi vuonna","dayPeriods-format-narrow-pm":"ip.","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"H.mm.ss","dateFormatItem-hms":"h.mm.ss a", +"dateFormatItem-GyMMM":"LLL y G","field-mon-relative+-1":"viime maanantaina","field-week-relative+0":"t\u00e4ll\u00e4 viikolla","field-week-relative+1":"ensi viikolla"},"dijit/nls/loading":{_localized:{},loadingState:"Lataus on meneill\u00e4\u00e4n...",errorState:"On ilmennyt virhe."},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"\u2212","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]", +_localized:{},"decimalFormat-short":"000\u00a0bilj'.'","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"ep\u00e4luku",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0\u00a0%","decimalFormat-long":"000 biljoonaa",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"}, +"dijit/form/nls/ComboBox":{previousMessage:"Edelliset valinnat",_localized:{},nextMessage:"Lis\u00e4\u00e4 valintoja"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Peruuta",_localized:{},buttonSave:"Tallenna",itemClose:"Sulje"}}); +//# sourceMappingURL=dojo_fi-fi.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_fr-fr.js b/Server/www/spiderbasic/dojo/nls/dojo_fr-fr.js new file mode 100644 index 0000000..b163edb --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_fr-fr.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_fr-fr",{"dijit/form/nls/validate":{invalidMessage:"La valeur indiqu\u00e9e n'est pas correcte.",rangeMessage:"Cette valeur n'est pas comprise dans la plage autoris\u00e9e.",_localized:{},missingMessage:"Cette valeur est requise."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"dim. lun. mar. mer. jeu. ven. sam.".split(" "),"months-format-narrow":"JFMAMJJASOND".split(""),"field-second-relative+0":"maintenant","quarters-standAlone-narrow":["1", +"2","3","4"],"field-weekday":"jour de la semaine","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E d/M/y","field-wed-relative+0":"ce mercredi","field-wed-relative+1":"mercredi prochain","dateFormatItem-GyMMMEd":"E d MMM y G","dateFormatItem-MMMEd":"E d MMM",eraNarrow:["av. J.-C.","ap. J.-C."],"field-tue-relative+-1":"mardi dernier","dayPeriods-format-wide-morning":"matin","days-format-short":"di lu ma me je ve sa".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d MMMM y", +"field-fri-relative+-1":"vendredi dernier","field-wed-relative+-1":"mercredi dernier","months-format-wide":"janvier f\u00e9vrier mars avril mai juin juillet ao\u00fbt septembre octobre novembre d\u00e9cembre".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE d MMMM y","field-thu-relative+-1":"jeudi dernier","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"midi", +"dateFormatItem-yMd":"d/M/y","field-era":"\u00e8re","dateFormatItem-yM":"M/y","months-standAlone-wide":"janvier f\u00e9vrier mars avril mai juin juillet ao\u00fbt septembre octobre novembre d\u00e9cembre".split(" "),"timeFormat-short":"HH:mm","quarters-format-wide":["1er trimestre","2e trimestre","3e trimestre","4e trimestre"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"HH:mm:ss z","field-year":"ann\u00e9e","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"heure", +"months-format-abbr":"janv. f\u00e9vr. mars avr. mai juin juil. ao\u00fbt sept. oct. nov. d\u00e9c.".split(" "),"field-sat-relative+0":"ce samedi","field-sat-relative+1":"samedi prochain","timeFormat-full":"HH:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"aujourd\u2019hui","dayPeriods-format-narrow-morning":"matin","field-thu-relative+0":"ce jeudi","field-day-relative+1":"demain","field-thu-relative+1":"jeudi prochain","dateFormatItem-GyMMMd":"d MMM y G","field-day-relative+2":"apr\u00e8s-demain", +"dateFormatItem-H":"HH 'h'","months-standAlone-abbr":"janv. f\u00e9vr. mars avr. mai juin juil. ao\u00fbt sept. oct. nov. d\u00e9c.".split(" "),"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["1er trimestre","2e trimestre","3e trimestre","4e trimestre"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"dimanche lundi mardi mercredi jeudi vendredi samedi".split(" "),"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"HH:mm:ss","field-sun-relative+0":"ce dimanche", +"dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"dimanche prochain","quarters-standAlone-abbr":["T1","T2","T3","T4"],eraAbbr:["av. J.-C.","ap. J.-C."],"field-minute":"minute","field-dayperiod":"cadran","days-standAlone-abbr":"dim. lun. mar. mer. jeu. ven. sam.".split(" "),"dayPeriods-format-wide-night":"soir","dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"hier","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"a", +"dateFormatItem-h":"h a","field-day-relative+-2":"avant-hier","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E d/M","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"ce vendredi","field-fri-relative+1":"vendredi prochain","dateFormatItem-yMMMM":"MMMM y","field-day":"jour","days-format-wide":"dimanche lundi mardi mercredi jeudi vendredi samedi".split(" "),"field-zone":"fuseau horaire","months-standAlone-narrow":"JFMAMJJASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})", +"field-year-relative+-1":"l\u2019ann\u00e9e derni\u00e8re","dayPeriods-format-narrow-night":"soir","field-month-relative+-1":"le mois dernier","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"dim. lun. mar. mer. jeu. ven. sam.".split(" "),eraNames:["avant J\u00e9sus-Christ","apr\u00e8s J\u00e9sus-Christ"],"dateFormatItem-yMMMd":"d MMM y","days-format-narrow":"DLMMJVS".split(""), +"field-month":"mois","days-standAlone-narrow":"DLMMJVS".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"ce mardi","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"mardi prochain","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"ce lundi","field-mon-relative+1":"lundi prochain","dateFormat-short":"dd/MM/y","dayPeriods-format-wide-afternoon":"apr\u00e8s-midi", +"dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"midi","field-second":"seconde","field-sat-relative+-1":"samedi dernier","dateFormatItem-yMMMEd":"E d MMM y","field-sun-relative+-1":"dimanche dernier","field-month-relative+0":"ce mois-ci","field-month-relative+1":"le mois prochain","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d","field-week":"semaine","dateFormat-medium":"d MMM y","field-week-relative+-1":"la semaine derni\u00e8re", +"field-year-relative+0":"cette ann\u00e9e","field-year-relative+1":"l\u2019ann\u00e9e prochaine","dayPeriods-format-narrow-pm":"p","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"lundi dernier","field-week-relative+0":"cette semaine","field-week-relative+1":"la semaine prochaine"},"dijit/nls/loading":{_localized:{},loadingState:"Chargement...",errorState:"Une erreur est survenue"},"dojo/cldr/nls/number":{scientificFormat:"#E0", +"currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0Bn","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4;(#,##0.00\u00a0\u00a4)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]", +perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0\u00a0%","decimalFormat-long":"000 billions",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Choix pr\u00e9c\u00e9dents",_localized:{},nextMessage:"Plus de choix"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Annuler",_localized:{},buttonSave:"Enregistrer",itemClose:"Fermer"}}); +//# sourceMappingURL=dojo_fr-fr.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_he-il.js b/Server/www/spiderbasic/dojo/nls/dojo_he-il.js new file mode 100644 index 0000000..ffbf0ae --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_he-il.js @@ -0,0 +1,25 @@ +//>>built +define("dojo/nls/dojo_he-il",{"dijit/form/nls/validate":{invalidMessage:"\u05d4\u05e2\u05e8\u05da \u05e9\u05e6\u05d5\u05d9\u05df \u05d0\u05d9\u05e0\u05d5 \u05d7\u05d5\u05e7\u05d9.",rangeMessage:"\u05d4\u05e2\u05e8\u05da \u05de\u05d7\u05d5\u05e5 \u05dc\u05d8\u05d5\u05d5\u05d7.",_localized:{},missingMessage:"\u05d6\u05d4\u05d5 \u05e2\u05e8\u05da \u05d3\u05e8\u05d5\u05e9."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"\u05d0\u05f3 \u05d1\u05f3 \u05d2\u05f3 \u05d3\u05f3 \u05d4\u05f3 \u05d5\u05f3 \u05e9\u05f3".split(" "), +"months-format-narrow":"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),"field-second-relative+0":"\u05e2\u05db\u05e9\u05d9\u05d5","quarters-standAlone-narrow":["\u05e81","\u05e82","\u05e83","\u05e84"],"field-weekday":"\u05d9\u05d5\u05dd \u05d1\u05e9\u05d1\u05d5\u05e2","dateFormatItem-yQQQ":"y QQQ","dateFormatItem-yMEd":"E, d/M/y","field-wed-relative+0":"\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9","field-wed-relative+1":"\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9 \u05d4\u05d1\u05d0","dateFormatItem-GyMMMEd":"E, d \u05d1MMM y G", +"dateFormatItem-MMMEd":"E, d \u05d1MMM",eraNarrow:["\u05dc\u05e4\u05e0\u05d4\u05f4\u05e1","BCE","\u05dc\u05e1\u05d4\u05f4\u05e0","CE"],"dateFormatItem-yMM":"MM/y","field-tue-relative+-1":"\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9 \u05e9\u05e2\u05d1\u05e8","days-format-short":"\u05d0\u05f3 \u05d1\u05f3 \u05d2\u05f3 \u05d3\u05f3 \u05d4\u05f3 \u05d5\u05f3 \u05e9\u05f3".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d \u05d1MMMM y","field-fri-relative+-1":"\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9 \u05e9\u05e2\u05d1\u05e8", +"field-wed-relative+-1":"\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9 \u05e9\u05e2\u05d1\u05e8","months-format-wide":"\u05d9\u05e0\u05d5\u05d0\u05e8 \u05e4\u05d1\u05e8\u05d5\u05d0\u05e8 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05d9\u05dc \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05d9 \u05d9\u05d5\u05dc\u05d9 \u05d0\u05d5\u05d2\u05d5\u05e1\u05d8 \u05e1\u05e4\u05d8\u05de\u05d1\u05e8 \u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8 \u05e0\u05d5\u05d1\u05de\u05d1\u05e8 \u05d3\u05e6\u05de\u05d1\u05e8".split(" "), +"dateTimeFormat-medium":"{1}, {0}","dayPeriods-format-wide-pm":"\u05d0\u05d7\u05d4\u05f4\u05e6","dateFormat-full":"EEEE, d \u05d1MMMM y","field-thu-relative+-1":"\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9 \u05e9\u05e2\u05d1\u05e8","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d.M.y","field-era":"\u05ea\u05e7\u05d5\u05e4\u05d4","dateFormatItem-yM":"M.y", +"months-standAlone-wide":"\u05d9\u05e0\u05d5\u05d0\u05e8 \u05e4\u05d1\u05e8\u05d5\u05d0\u05e8 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05d9\u05dc \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05d9 \u05d9\u05d5\u05dc\u05d9 \u05d0\u05d5\u05d2\u05d5\u05e1\u05d8 \u05e1\u05e4\u05d8\u05de\u05d1\u05e8 \u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8 \u05e0\u05d5\u05d1\u05de\u05d1\u05e8 \u05d3\u05e6\u05de\u05d1\u05e8".split(" "),"timeFormat-short":"HH:mm","quarters-format-wide":["\u05e8\u05d1\u05e2\u05d5\u05df 1","\u05e8\u05d1\u05e2\u05d5\u05df 2", +"\u05e8\u05d1\u05e2\u05d5\u05df 3","\u05e8\u05d1\u05e2\u05d5\u05df 4"],"dateFormatItem-yQQQQ":"y QQQQ","timeFormat-long":"HH:mm:ss z","field-year":"\u05e9\u05e0\u05d4","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"\u05e9\u05e2\u05d4","months-format-abbr":"\u05d9\u05e0\u05d5\u05f3 \u05e4\u05d1\u05e8\u05f3 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05f3 \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05d9 \u05d9\u05d5\u05dc\u05d9 \u05d0\u05d5\u05d2\u05f3 \u05e1\u05e4\u05d8\u05f3 \u05d0\u05d5\u05e7\u05f3 \u05e0\u05d5\u05d1\u05f3 \u05d3\u05e6\u05de\u05f3".split(" "), +"field-sat-relative+0":"\u05d4\u05e9\u05d1\u05ea \u05d4\u05d6\u05d0\u05ea","field-sat-relative+1":"\u05d4\u05e9\u05d1\u05ea \u05d4\u05d1\u05d0\u05d4","timeFormat-full":"HH:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"\u05d4\u05d9\u05d5\u05dd","field-thu-relative+0":"\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9","field-day-relative+1":"\u05de\u05d7\u05e8","field-thu-relative+1":"\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9 \u05d4\u05d1\u05d0","dateFormatItem-GyMMMd":"d \u05d1MMM y G", +"field-day-relative+2":"\u05de\u05d7\u05e8\u05ea\u05d9\u05d9\u05dd","dateFormatItem-H":"HH","months-standAlone-abbr":"\u05d9\u05e0\u05d5\u05f3 \u05e4\u05d1\u05e8\u05f3 \u05de\u05e8\u05e5 \u05d0\u05e4\u05e8\u05f3 \u05de\u05d0\u05d9 \u05d9\u05d5\u05e0\u05d9 \u05d9\u05d5\u05dc\u05d9 \u05d0\u05d5\u05d2\u05f3 \u05e1\u05e4\u05d8\u05f3 \u05d0\u05d5\u05e7\u05f3 \u05e0\u05d5\u05d1\u05f3 \u05d3\u05e6\u05de\u05f3".split(" "),"quarters-format-abbr":["\u05e8\u05d1\u05e2\u05d5\u05df 1","\u05e8\u05d1\u05e2\u05d5\u05df 2", +"\u05e8\u05d1\u05e2\u05d5\u05df 3","\u05e8\u05d1\u05e2\u05d5\u05df 4"],"quarters-standAlone-wide":["\u05e8\u05d1\u05e2\u05d5\u05df 1","\u05e8\u05d1\u05e2\u05d5\u05df 2","\u05e8\u05d1\u05e2\u05d5\u05df 3","\u05e8\u05d1\u05e2\u05d5\u05df 4"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df;\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9;\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9;\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea".split(";"), +"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"HH:mm:ss","field-sun-relative+0":"\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df \u05d4\u05d1\u05d0","quarters-standAlone-abbr":["\u05e8\u05d1\u05e2\u05d5\u05df 1","\u05e8\u05d1\u05e2\u05d5\u05df 2","\u05e8\u05d1\u05e2\u05d5\u05df 3","\u05e8\u05d1\u05e2\u05d5\u05df 4"],eraAbbr:["\u05dc\u05e4\u05e0\u05d4\u05f4\u05e1","BCE","\u05dc\u05e1\u05d4\u05f4\u05e0", +"CE"],"field-minute":"\u05d3\u05e7\u05d4","field-dayperiod":"\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6/\u05d0\u05d7\u05d4\u05f4\u05e6","days-standAlone-abbr":"\u05d9\u05d5\u05dd \u05d0\u05f3;\u05d9\u05d5\u05dd \u05d1\u05f3;\u05d9\u05d5\u05dd \u05d2\u05f3;\u05d9\u05d5\u05dd \u05d3\u05f3;\u05d9\u05d5\u05dd \u05d4\u05f3;\u05d9\u05d5\u05dd \u05d5\u05f3;\u05e9\u05d1\u05ea".split(";"),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"\u05d0\u05ea\u05de\u05d5\u05dc", +"dateTimeFormat-long":"{1} \u05d1\u05e9\u05e2\u05d4 {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","field-day-relative+-2":"\u05e9\u05dc\u05e9\u05d5\u05dd","dateFormatItem-MMMd":"d \u05d1MMM","dateFormatItem-MEd":"E, d/M","dateTimeFormat-full":"{1} \u05d1\u05e9\u05e2\u05d4 {0}","field-fri-relative+0":"\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9","field-fri-relative+1":"\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9 \u05d4\u05d1\u05d0","dateFormatItem-yMMMM":"MMMM y","field-day":"\u05d9\u05d5\u05dd", +"days-format-wide":"\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df;\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9;\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e8\u05d1\u05d9\u05e2\u05d9;\u05d9\u05d5\u05dd \u05d7\u05de\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d9\u05e9\u05d9;\u05d9\u05d5\u05dd \u05e9\u05d1\u05ea".split(";"),"field-zone":"\u05d0\u05d6\u05d5\u05e8","months-standAlone-narrow":"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})", +"field-year-relative+-1":"\u05d4\u05e9\u05e0\u05d4 \u05e9\u05e2\u05d1\u05e8\u05d4","field-month-relative+-1":"\u05d4\u05d7\u05d5\u05d3\u05e9 \u05e9\u05e2\u05d1\u05e8","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"\u05d9\u05d5\u05dd \u05d0\u05f3;\u05d9\u05d5\u05dd \u05d1\u05f3;\u05d9\u05d5\u05dd \u05d2\u05f3;\u05d9\u05d5\u05dd \u05d3\u05f3;\u05d9\u05d5\u05dd \u05d4\u05f3;\u05d9\u05d5\u05dd \u05d5\u05f3;\u05e9\u05d1\u05ea".split(";"), +eraNames:["\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e1\u05e4\u05d9\u05e8\u05d4","\u05dc\u05e1\u05e4\u05d9\u05e8\u05d4","\u05dc\u05e1\u05d4\u05f4\u05e0","CE"],"dateFormatItem-yMMMd":"d \u05d1MMM y","days-format-narrow":"\u05d0\u05f3 \u05d1\u05f3 \u05d2\u05f3 \u05d3\u05f3 \u05d4\u05f3 \u05d5\u05f3 \u05e9\u05f3".split(" "),"field-month":"\u05d7\u05d5\u05d3\u05e9","days-standAlone-narrow":"\u05d0\u05f3 \u05d1\u05f3 \u05d2\u05f3 \u05d3\u05f3 \u05d4\u05f3 \u05d5\u05f3 \u05e9\u05f3".split(" "),"dateFormatItem-MMM":"LLL", +"field-tue-relative+0":"\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"\u05d9\u05d5\u05dd \u05e9\u05dc\u05d9\u05e9\u05d9 \u05d4\u05d1\u05d0","dayPeriods-format-wide-am":"\u05dc\u05e4\u05e0\u05d4\u05f4\u05e6","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E H:mm","field-mon-relative+0":"\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9 \u05d4\u05d6\u05d4", +"field-mon-relative+1":"\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9 \u05d4\u05d1\u05d0","dateFormat-short":"dd/MM/yy","dateFormatItem-EHms":"E H:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"\u05e9\u05e0\u05d9\u05d9\u05d4","field-sat-relative+-1":"\u05d4\u05e9\u05d1\u05ea \u05e9\u05e2\u05d1\u05e8\u05d4","dateFormatItem-yMMMEd":"E, d \u05d1MMM y","field-sun-relative+-1":"\u05d9\u05d5\u05dd \u05e8\u05d0\u05e9\u05d5\u05df \u05e9\u05e2\u05d1\u05e8","field-month-relative+0":"\u05d4\u05d7\u05d5\u05d3\u05e9", +"field-month-relative+1":"\u05d4\u05d7\u05d5\u05d3\u05e9 \u05d4\u05d1\u05d0","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E \u05d4-d","field-week":"\u05e9\u05d1\u05d5\u05e2","dateFormat-medium":"d \u05d1MMM y","field-week-relative+-1":"\u05d4\u05e9\u05d1\u05d5\u05e2 \u05e9\u05e2\u05d1\u05e8","field-year-relative+0":"\u05d4\u05e9\u05e0\u05d4","field-year-relative+1":"\u05d4\u05e9\u05e0\u05d4 \u05d4\u05d1\u05d0\u05d4","dayPeriods-format-narrow-pm":"p","dateTimeFormat-short":"{1}, {0}", +"dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"\u05d9\u05d5\u05dd \u05e9\u05e0\u05d9 \u05e9\u05e2\u05d1\u05e8","field-week-relative+0":"\u05d4\u05e9\u05d1\u05d5\u05e2","field-week-relative+1":"\u05d4\u05e9\u05d1\u05d5\u05e2 \u05d4\u05d1\u05d0"},"dijit/nls/loading":{_localized:{},loadingState:"\u05d8\u05e2\u05d9\u05e0\u05d4...",errorState:"\u05d0\u05d9\u05e8\u05e2\u05d4 \u05e9\u05d2\u05d9\u05d0\u05d4"},"dojo/cldr/nls/number":{scientificFormat:"#E0", +"currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:",", +percentFormat:"#,##0%","decimalFormat-long":"000 \u05d8\u05e8\u05d9\u05dc\u05d9\u05d5\u05df",decimalFormat:"#,##0.###",decimal:".","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"\u05d4\u05d0\u05e4\u05e9\u05e8\u05d5\u05d9\u05d5\u05ea \u05d4\u05e7\u05d5\u05d3\u05de\u05d5\u05ea",_localized:{},nextMessage:"\u05d0\u05e4\u05e9\u05e8\u05d5\u05d9\u05d5\u05ea \u05e0\u05d5\u05e1\u05e4\u05d5\u05ea"},"dijit/nls/common":{buttonOk:"\u05d0\u05d9\u05e9\u05d5\u05e8", +buttonCancel:"\u05d1\u05d9\u05d8\u05d5\u05dc",_localized:{},buttonSave:"\u05e9\u05de\u05d9\u05e8\u05d4",itemClose:"\u05e1\u05d2\u05d9\u05e8\u05d4"}}); +//# sourceMappingURL=dojo_he-il.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_hu.js b/Server/www/spiderbasic/dojo/nls/dojo_hu.js new file mode 100644 index 0000000..2033c6c --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_hu.js @@ -0,0 +1,17 @@ +//>>built +define("dojo/nls/dojo_hu",{"dijit/form/nls/validate":{invalidMessage:"A megadott \u00e9rt\u00e9k \u00e9rv\u00e9nytelen.",rangeMessage:"Az \u00e9rt\u00e9k k\u00edv\u00fcl van a megengedett tartom\u00e1nyon.",_localized:{},missingMessage:"Meg kell adni egy \u00e9rt\u00e9ket."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"V H K Sze Cs P Szo".split(" "),"months-format-narrow":"J F M \u00c1 M J J A Sz O N D".split(" "),"field-second-relative+0":"most","quarters-standAlone-narrow":["1.", +"2.","3.","4."],"field-weekday":"h\u00e9t napja","dateFormatItem-yQQQ":"y. QQQ","dateFormatItem-yMEd":"y. MM. dd., E","field-wed-relative+0":"ez a szerda","field-wed-relative+1":"k\u00f6vetkez\u0151 szerda","dateFormatItem-GyMMMEd":"G y. MMM d., E","dateFormatItem-MMMEd":"MMM d., E",eraNarrow:["ie.","isz."],"field-tue-relative+-1":"el\u0151z\u0151 kedd","days-format-short":"V H K Sze Cs P Szo".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"y. MMMM d.","field-fri-relative+-1":"el\u0151z\u0151 p\u00e9ntek", +"field-wed-relative+-1":"el\u0151z\u0151 szerda","months-format-wide":"janu\u00e1r febru\u00e1r m\u00e1rcius \u00e1prilis m\u00e1jus j\u00fanius j\u00falius augusztus szeptember okt\u00f3ber november december".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"du.","dateFormat-full":"y. MMMM d., EEEE","field-thu-relative+-1":"el\u0151z\u0151 cs\u00fct\u00f6rt\u00f6k","dateFormatItem-Md":"M. d.",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})", +"dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"y. MM. dd.","field-era":"\u00e9ra","dateFormatItem-yM":"y. M.","months-standAlone-wide":"janu\u00e1r febru\u00e1r m\u00e1rcius \u00e1prilis m\u00e1jus j\u00fanius j\u00falius augusztus szeptember okt\u00f3ber november december".split(" "),"timeFormat-short":"H:mm","quarters-format-wide":["I. negyed\u00e9v","II. negyed\u00e9v","III. negyed\u00e9v","IV. negyed\u00e9v"],"dateFormatItem-yQQQQ":"y. QQQQ","timeFormat-long":"H:mm:ss z","field-year":"\u00e9v", +"dateFormatItem-yMMM":"y. MMM","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"\u00f3ra","months-format-abbr":"jan. febr. m\u00e1rc. \u00e1pr. m\u00e1j. j\u00fan. j\u00fal. aug. szept. okt. nov. dec.".split(" "),"field-sat-relative+0":"ez a szombat","field-sat-relative+1":"k\u00f6vetkez\u0151 szombat","timeFormat-full":"H:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"ma","field-thu-relative+0":"ez a cs\u00fct\u00f6rt\u00f6k","field-day-relative+1":"holnap", +"field-thu-relative+1":"k\u00f6vetkez\u0151 cs\u00fct\u00f6rt\u00f6k","dateFormatItem-GyMMMd":"G y. MMM d.","field-day-relative+2":"holnaput\u00e1n","dateFormatItem-H":"H","months-standAlone-abbr":"jan. febr. m\u00e1rc. \u00e1pr. m\u00e1j. j\u00fan. j\u00fal. aug. szept. okt. nov. dec.".split(" "),"quarters-format-abbr":["N1","N2","N3","N4"],"quarters-standAlone-wide":["1. negyed\u00e9v","2. negyed\u00e9v","3. negyed\u00e9v","4. negyed\u00e9v"],"dateFormatItem-Gy":"G y.","dateFormatItem-M":"L","days-standAlone-wide":"vas\u00e1rnap h\u00e9tf\u0151 kedd szerda cs\u00fct\u00f6rt\u00f6k p\u00e9ntek szombat".split(" "), +"dateFormatItem-MMMMd":"MMMM d.","dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"H:mm:ss","field-sun-relative+0":"ez a vas\u00e1rnap","dateFormatItem-Hm":"H:mm","field-sun-relative+1":"k\u00f6vetkez\u0151 vas\u00e1rnap","quarters-standAlone-abbr":["N1","N2","N3","N4"],eraAbbr:["i. e.","i. sz."],"field-minute":"perc","field-dayperiod":"napszak","days-standAlone-abbr":"V H K Sze Cs P Szo".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1.","2.","3.", +"4."],"field-day-relative+-1":"tegnap","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"de.","dateFormatItem-h":"a h","field-day-relative+-2":"tegnapel\u0151tt","dateFormatItem-MMMd":"MMM d.","dateFormatItem-MEd":"M. d., E","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"ez a p\u00e9ntek","field-fri-relative+1":"k\u00f6vetkez\u0151 p\u00e9ntek","dateFormatItem-yMMMM":"y. MMMM","field-day":"nap","days-format-wide":"vas\u00e1rnap h\u00e9tf\u0151 kedd szerda cs\u00fct\u00f6rt\u00f6k p\u00e9ntek szombat".split(" "), +"field-zone":"id\u0151z\u00f3na","months-standAlone-narrow":"J F M \u00c1 M J J A Sz O N D".split(" "),"dateFormatItem-y":"y.","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"el\u0151z\u0151 \u00e9v","field-month-relative+-1":"el\u0151z\u0151 h\u00f3nap","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"a h:mm","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"V H K Sze Cs P Szo".split(" "),eraNames:["id\u0151sz\u00e1m\u00edt\u00e1sunk el\u0151tt", +"id\u0151sz\u00e1m\u00edt\u00e1sunk szerint"],"dateFormatItem-yMMMd":"y. MMM d.","days-format-narrow":"V H K Sz Cs P Sz".split(" "),"field-month":"h\u00f3nap","days-standAlone-narrow":"V H K Sz Cs P Sz".split(" "),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"ez a kedd","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"k\u00f6vetkez\u0151 kedd","dayPeriods-format-wide-am":"de.","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})", +"dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"ez a h\u00e9tf\u0151","field-mon-relative+1":"k\u00f6vetkez\u0151 h\u00e9tf\u0151","dateFormat-short":"y. MM. dd.","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"m\u00e1sodperc","field-sat-relative+-1":"el\u0151z\u0151 szombat","dateFormatItem-yMMMEd":"y. MMM d., E","field-sun-relative+-1":"el\u0151z\u0151 vas\u00e1rnap","field-month-relative+0":"ez a h\u00f3nap","field-month-relative+1":"k\u00f6vetkez\u0151 h\u00f3nap", +"dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"d., E","field-week":"h\u00e9t","dateFormat-medium":"y. MMM d.","field-week-relative+-1":"el\u0151z\u0151 h\u00e9t","field-year-relative+0":"ez az \u00e9v","field-year-relative+1":"k\u00f6vetkez\u0151 \u00e9v","dayPeriods-format-narrow-pm":"du.","dateFormatItem-mmss":"mm:ss","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"H:mm:ss","dateFormatItem-hms":"a h:mm:ss","dateFormatItem-GyMMM":"G y. MMM","field-mon-relative+-1":"el\u0151z\u0151 h\u00e9tf\u0151", +"field-week-relative+0":"ez a h\u00e9t","field-week-relative+1":"k\u00f6vetkez\u0151 h\u00e9t"},"dijit/nls/loading":{_localized:{},loadingState:"Bet\u00f6lt\u00e9s...",errorState:"Sajn\u00e1lom, hiba t\u00f6rt\u00e9nt"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0B", +"currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0%","decimalFormat-long":"000 billi\u00f3",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"El\u0151z\u0151 men\u00fcpontok", +_localized:{},nextMessage:"Tov\u00e1bbi men\u00fcpontok"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"M\u00e9gse",_localized:{},buttonSave:"Ment\u00e9s",itemClose:"Bez\u00e1r\u00e1s"}}); +//# sourceMappingURL=dojo_hu.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_it-it.js b/Server/www/spiderbasic/dojo/nls/dojo_it-it.js new file mode 100644 index 0000000..8afa5e3 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_it-it.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_it-it",{"dijit/form/nls/validate":{invalidMessage:"Il valore immesso non \u00e8 valido.",rangeMessage:"Questo valore \u00e8 fuori dall'intervallo consentito.",_localized:{},missingMessage:"Questo valore \u00e8 obbligatorio."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h.mm a","days-standAlone-short":"dom lun mar mer gio ven sab".split(" "),"months-format-narrow":"GFMAMGLASOND".split(""),"field-second-relative+0":"ora","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"giorno della settimana", +"dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E d/M/y","field-wed-relative+0":"questo mercoled\u00ec","field-wed-relative+1":"mercoled\u00ec prossimo","dateFormatItem-GyMMMEd":"E d MMM y G","dateFormatItem-MMMEd":"E d MMM",eraNarrow:["aC","BCE","dC","CE"],"field-tue-relative+-1":"marted\u00ec scorso","days-format-short":"dom lun mar mer gio ven sab".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"dd MMMM y","field-fri-relative+-1":"venerd\u00ec scorso","field-wed-relative+-1":"mercoled\u00ec scorso", +"months-format-wide":"gennaio febbraio marzo aprile maggio giugno luglio agosto settembre ottobre novembre dicembre".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE d MMMM y","field-thu-relative+-1":"gioved\u00ec scorso","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d/M/y","field-era":"era","dateFormatItem-yM":"M/y", +"months-standAlone-wide":"Gennaio Febbraio Marzo Aprile Maggio Giugno Luglio Agosto Settembre Ottobre Novembre Dicembre".split(" "),"timeFormat-short":"HH:mm","quarters-format-wide":["1\u00ba trimestre","2\u00ba trimestre","3\u00ba trimestre","4\u00ba trimestre"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"HH:mm:ss z","field-year":"anno","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"ora","months-format-abbr":"gen feb mar apr mag giu lug ago set ott nov dic".split(" "), +"field-sat-relative+0":"questo sabato","field-sat-relative+1":"sabato prossimo","timeFormat-full":"HH:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"oggi","field-thu-relative+0":"questo gioved\u00ec","field-day-relative+1":"domani","field-thu-relative+1":"gioved\u00ec prossimo","dateFormatItem-GyMMMd":"d MMM y G","field-day-relative+2":"dopodomani","dateFormatItem-H":"HH","months-standAlone-abbr":"gen feb mar apr mag giu lug ago set ott nov dic".split(" "), +"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["Primo trimestre","Secondo trimestre","Terzo trimestre","Quarto trimestre"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"Domenica Luned\u00ec Marted\u00ec Mercoled\u00ec Gioved\u00ec Venerd\u00ec Sabato".split(" "),"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"HH:mm:ss","field-sun-relative+0":"questa domenica","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"domenica prossima","quarters-standAlone-abbr":["T1", +"T2","T3","T4"],eraAbbr:["aC","BCE","dC","CE"],"field-minute":"minuto","field-dayperiod":"periodo del giorno","days-standAlone-abbr":"dom lun mar mer gio ven sab".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"ieri","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"m.","dateFormatItem-h":"hh a","field-day-relative+-2":"l'altro ieri","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E d/M","dateTimeFormat-full":"{1} {0}", +"field-fri-relative+0":"questo venerd\u00ec","field-fri-relative+1":"venerd\u00ec prossimo","dateFormatItem-yMMMM":"MMMM y","field-day":"giorno","days-format-wide":"domenica luned\u00ec marted\u00ec mercoled\u00ec gioved\u00ec venerd\u00ec sabato".split(" "),"field-zone":"fuso orario","months-standAlone-narrow":"GFMAMGLASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"anno scorso","field-month-relative+-1":"mese scorso","dateTimeFormats-appendItem-Year":"{1} {0}", +"dateFormatItem-hm":"hh:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"dom lun mar mer gio ven sab".split(" "),eraNames:["a.C.","BCE","d.C.","CE"],"dateFormatItem-yMMMd":"d MMM y","days-format-narrow":"DLMMGVS".split(""),"field-month":"mese","days-standAlone-narrow":"DLMMGVS".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"questo marted\u00ec","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"marted\u00ec prossimo", +"dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E HH.mm","field-mon-relative+0":"questo luned\u00ec","field-mon-relative+1":"luned\u00ec prossimo","dateFormat-short":"dd/MM/yy","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"secondo","field-sat-relative+-1":"sabato scorso","dateFormatItem-yMMMEd":"E d MMM y","field-sun-relative+-1":"domenica scorsa", +"field-month-relative+0":"questo mese","field-month-relative+1":"mese prossimo","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d","field-week":"settimana","dateFormat-medium":"dd/MMM/y","field-week-relative+-1":"settimana scorsa","field-year-relative+0":"quest'anno","field-year-relative+1":"anno prossimo","dayPeriods-format-narrow-pm":"p.","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"hh:mm:ss a","dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"luned\u00ec scorso", +"field-week-relative+0":"questa settimana","field-week-relative+1":"settimana prossima"},"dijit/nls/loading":{_localized:{},loadingState:"Caricamento in corso...",errorState:"Si \u00e8 verificato un errore"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0Bln", +"currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:".",percentFormat:"#,##0%","decimalFormat-long":"000 bilioni",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Scelte precedenti",_localized:{}, +nextMessage:"Scelte successive"},"dijit/nls/common":{buttonOk:"Ok",buttonCancel:"Annulla",_localized:{},buttonSave:"Salva",itemClose:"Chiudi"}}); +//# sourceMappingURL=dojo_it-it.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_ja-jp.js b/Server/www/spiderbasic/dojo/nls/dojo_ja-jp.js new file mode 100644 index 0000000..dc885ab --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_ja-jp.js @@ -0,0 +1,19 @@ +//>>built +define("dojo/nls/dojo_ja-jp",{"dijit/form/nls/validate":{invalidMessage:"\u5165\u529b\u3057\u305f\u5024\u306f\u7121\u52b9\u3067\u3059\u3002",rangeMessage:"\u3053\u306e\u5024\u306f\u7bc4\u56f2\u5916\u3067\u3059\u3002",_localized:{},missingMessage:"\u3053\u306e\u5024\u306f\u5fc5\u9808\u3067\u3059\u3002"},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"a K \u6642 mm \u5206 (E)","days-standAlone-short":"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""),"months-format-narrow":"1 2 3 4 5 6 7 8 9 10 11 12".split(" "), +"field-second-relative+0":"\u4eca\u3059\u3050","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"\u66dc\u65e5","dateFormatItem-yQQQ":"y/QQQ","dateFormatItem-yMEd":"y/M/d(E)","field-wed-relative+0":"\u4eca\u9031\u306e\u6c34\u66dc\u65e5","field-wed-relative+1":"\u6765\u9031\u306e\u6c34\u66dc\u65e5","dateFormatItem-GyMMMEd":"Gy\u5e74M\u6708d\u65e5(E)","dateFormatItem-MMMEd":"M\u6708d\u65e5(E)",eraNarrow:["BC","BCE","AD","CE"],"dateFormatItem-yMM":"y/MM","field-tue-relative+-1":"\u5148\u9031\u306e\u706b\u66dc\u65e5", +"days-format-short":"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"y\u5e74M\u6708d\u65e5","field-fri-relative+-1":"\u5148\u9031\u306e\u91d1\u66dc\u65e5","field-wed-relative+-1":"\u5148\u9031\u306e\u6c34\u66dc\u65e5","months-format-wide":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"\u5348\u5f8c", +"dateFormat-full":"y\u5e74M\u6708d\u65e5EEEE","field-thu-relative+-1":"\u5148\u9031\u306e\u6728\u66dc\u65e5","dateFormatItem-Md":"M/d",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"\u6b63\u5348","dateFormatItem-yMd":"y/M/d","field-era":"\u6642\u4ee3","dateFormatItem-yM":"y/M","months-standAlone-wide":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),"timeFormat-short":"H:mm", +"quarters-format-wide":["\u7b2c1\u56db\u534a\u671f","\u7b2c2\u56db\u534a\u671f","\u7b2c3\u56db\u534a\u671f","\u7b2c4\u56db\u534a\u671f"],"dateFormatItem-MEEEEd":"M/dEEEE","dateFormatItem-yQQQQ":"yQQQQ","timeFormat-long":"H:mm:ss z","field-year":"\u5e74","dateFormatItem-yMMM":"y\u5e74M\u6708","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"\u6642","months-format-abbr":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),"field-sat-relative+0":"\u4eca\u9031\u306e\u571f\u66dc\u65e5", +"field-sat-relative+1":"\u6765\u9031\u306e\u571f\u66dc\u65e5","timeFormat-full":"H\u6642mm\u5206ss\u79d2 zzzz","dateFormatItem-yMEEEEd":"y/M/dEEEE","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"\u4eca\u65e5","field-thu-relative+0":"\u4eca\u9031\u306e\u6728\u66dc\u65e5","field-day-relative+1":"\u660e\u65e5","field-thu-relative+1":"\u6765\u9031\u306e\u6728\u66dc\u65e5","dateFormatItem-GyMMMd":"Gy\u5e74M\u6708d\u65e5","field-day-relative+2":"\u660e\u5f8c\u65e5","dateFormatItem-H":"H\u6642", +"months-standAlone-abbr":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),"quarters-format-abbr":["Q1","Q2","Q3","Q4"],"quarters-standAlone-wide":["\u7b2c1\u56db\u534a\u671f","\u7b2c2\u56db\u534a\u671f","\u7b2c3\u56db\u534a\u671f","\u7b2c4\u56db\u534a\u671f"],"dateFormatItem-Gy":"Gy\u5e74","dateFormatItem-M":"M\u6708","days-standAlone-wide":"\u65e5\u66dc\u65e5 \u6708\u66dc\u65e5 \u706b\u66dc\u65e5 \u6c34\u66dc\u65e5 \u6728\u66dc\u65e5 \u91d1\u66dc\u65e5 \u571f\u66dc\u65e5".split(" "), +"dateFormatItem-yMMMEEEEd":"y\u5e74M\u6708d\u65e5EEEE","dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"H:mm:ss","field-sun-relative+0":"\u4eca\u9031\u306e\u65e5\u66dc\u65e5","dateFormatItem-Hm":"H:mm","field-sun-relative+1":"\u6765\u9031\u306e\u65e5\u66dc\u65e5","quarters-standAlone-abbr":["Q1","Q2","Q3","Q4"],eraAbbr:["\u7d00\u5143\u524d","\u897f\u66a6"],"field-minute":"\u5206","field-dayperiod":"\u5348\u524d/\u5348\u5f8c","days-standAlone-abbr":"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""), +"dateFormatItem-d":"d\u65e5","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"\u6628\u65e5","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"\u5348\u524d","dateFormatItem-h":"aK\u6642","field-day-relative+-2":"\u4e00\u6628\u65e5","dateFormatItem-MMMd":"M\u6708d\u65e5","dateFormatItem-EEEEd":"d\u65e5EEEE","dateFormatItem-MEd":"M/d(E)","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"\u4eca\u9031\u306e\u91d1\u66dc\u65e5","field-fri-relative+1":"\u6765\u9031\u306e\u91d1\u66dc\u65e5", +"field-day":"\u65e5","days-format-wide":"\u65e5\u66dc\u65e5 \u6708\u66dc\u65e5 \u706b\u66dc\u65e5 \u6c34\u66dc\u65e5 \u6728\u66dc\u65e5 \u91d1\u66dc\u65e5 \u571f\u66dc\u65e5".split(" "),"field-zone":"\u30bf\u30a4\u30e0\u30be\u30fc\u30f3","months-standAlone-narrow":"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),"dateFormatItem-y":"y\u5e74","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"\u6628\u5e74","field-month-relative+-1":"\u5148\u6708","dateTimeFormats-appendItem-Year":"{1} {0}", +"dateFormatItem-hm":"aK:mm","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dateFormatItem-GyMMMEEEEd":"Gy\u5e74M\u6708d\u65e5EEEE","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""),eraNames:["\u7d00\u5143\u524d","\u897f\u66a6\u7d00\u5143\u524d","\u897f\u66a6"],"dateFormatItem-yMMMd":"y\u5e74M\u6708d\u65e5","days-format-narrow":"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""),"dateFormatItem-MMMEEEEd":"M\u6708d\u65e5EEEE","field-month":"\u6708", +"days-standAlone-narrow":"\u65e5\u6708\u706b\u6c34\u6728\u91d1\u571f".split(""),"dateFormatItem-MMM":"M\u6708","field-tue-relative+0":"\u4eca\u9031\u306e\u706b\u66dc\u65e5","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"\u6765\u9031\u306e\u706b\u66dc\u65e5","dayPeriods-format-wide-am":"\u5348\u524d","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"HH \u6642 mm \u5206 (E)","field-mon-relative+0":"\u4eca\u9031\u306e\u6708\u66dc\u65e5", +"field-mon-relative+1":"\u6765\u9031\u306e\u6708\u66dc\u65e5","dateFormat-short":"y/MM/dd","dateFormatItem-EHms":"HH \u6642 mm \u5206 ss \u79d2 (E)","dateFormatItem-Ehms":"a K \u6642 mm \u5206 ss \u79d2 (E)","dayPeriods-format-narrow-noon":"\u6b63\u5348","field-second":"\u79d2","field-sat-relative+-1":"\u5148\u9031\u306e\u571f\u66dc\u65e5","dateFormatItem-yMMMEd":"y\u5e74M\u6708d\u65e5(E)","field-sun-relative+-1":"\u5148\u9031\u306e\u65e5\u66dc\u65e5","field-month-relative+0":"\u4eca\u6708","field-month-relative+1":"\u7fcc\u6708", +"dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"d\u65e5(E)","field-week":"\u9031","dateFormat-medium":"y/MM/dd","field-week-relative+-1":"\u5148\u9031","field-year-relative+0":"\u4eca\u5e74","field-year-relative+1":"\u7fcc\u5e74","dayPeriods-format-narrow-pm":"\u5348\u5f8c","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"H:mm:ss","dateFormatItem-hms":"aK:mm:ss","dateFormatItem-GyMMM":"Gy\u5e74M\u6708","field-mon-relative+-1":"\u5148\u9031\u306e\u6708\u66dc\u65e5","field-week-relative+0":"\u4eca\u9031", +"field-week-relative+1":"\u7fcc\u9031"},"dijit/nls/loading":{_localized:{},loadingState:"\u30ed\u30fc\u30c9\u4e2d...",errorState:"\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u5146","currencySpacing-afterCurrency-insertBetween":"\u00a0", +nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4#,##0.00;(\u00a4#,##0.00)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:",",percentFormat:"#,##0%","decimalFormat-long":"000\u5146",decimalFormat:"#,##0.###",decimal:".","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"\u4ee5\u524d\u306e\u9078\u629e\u9805\u76ee",_localized:{},nextMessage:"\u8ffd\u52a0\u306e\u9078\u629e\u9805\u76ee"}, +"dijit/nls/common":{buttonOk:"OK",buttonCancel:"\u30ad\u30e3\u30f3\u30bb\u30eb",_localized:{},buttonSave:"\u4fdd\u5b58",itemClose:"\u9589\u3058\u308b"}}); +//# sourceMappingURL=dojo_ja-jp.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_ko-kr.js b/Server/www/spiderbasic/dojo/nls/dojo_ko-kr.js new file mode 100644 index 0000000..f275237 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_ko-kr.js @@ -0,0 +1,19 @@ +//>>built +define("dojo/nls/dojo_ko-kr",{"dijit/form/nls/validate":{invalidMessage:"\uc785\ub825\ub41c \uac12\uc774 \uc62c\ubc14\ub974\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.",rangeMessage:"\uc774 \uac12\uc740 \ubc94\uc704\ub97c \ubc97\uc5b4\ub0a9\ub2c8\ub2e4.",_localized:{},missingMessage:"\uc774 \uac12\uc740 \ud544\uc218\uc785\ub2c8\ub2e4."},"dojo/cldr/nls/gregorian":{"dateTimeFormats-appendItem-Year":"{1} {0}","field-tue-relative+-1":"\uc9c0\ub09c \ud654\uc694\uc77c","field-year":"\ub144","dateFormatItem-MEEEEd":"M. d. EEEE", +"dateFormatItem-Hm":"HH:mm","field-wed-relative+0":"\uc774\ubc88 \uc218\uc694\uc77c","field-wed-relative+1":"\ub2e4\uc74c \uc218\uc694\uc77c","dateFormatItem-ms":"mm:ss","timeFormat-short":"a h:mm","field-minute":"\ubd84","dateTimeFormat-short":"{1} {0}","field-day-relative+0":"\uc624\ub298","field-day-relative+1":"\ub0b4\uc77c","field-day-relative+2":"\ubaa8\ub808","field-tue-relative+0":"\uc774\ubc88 \ud654\uc694\uc77c","field-tue-relative+1":"\ub2e4\uc74c \ud654\uc694\uc77c","dayPeriods-format-narrow-am":"a", +"dateFormatItem-MMMd":"MMM d\uc77c","dayPeriods-format-abbr-am":"AM","field-week-relative+0":"\uc774\ubc88 \uc8fc","field-month-relative+0":"\uc774\ubc88 \ub2ec","field-week-relative+1":"\ub2e4\uc74c \uc8fc","field-month-relative+1":"\ub2e4\uc74c \ub2ec","timeFormat-medium":"a h:mm:ss","field-second-relative+0":"\uc9c0\uae08","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","months-standAlone-narrow":"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "), +eraNames:["\uc11c\ub825\uae30\uc6d0\uc804","\uc11c\ub825\uae30\uc6d0"],"dateFormatItem-GyMMMEd":"G y\ub144 MMM d\uc77c (E)","field-day":"\uc77c","field-year-relative+-1":"\uc9c0\ub09c\ud574","dayPeriods-format-wide-am":"\uc624\uc804","field-wed-relative+-1":"\uc9c0\ub09c \uc218\uc694\uc77c","dateTimeFormat-medium":"{1} {0}","field-second":"\ucd08","days-standAlone-narrow":"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),"dateFormatItem-Ehms":"(E) a h:mm:ss","dateFormat-long":"y\ub144 M\uc6d4 d\uc77c", +"dateFormatItem-GyMMMd":"G y\ub144 MMM d\uc77c","dateFormatItem-yMMMEd":"y\ub144 MMM d\uc77c (E)","dateFormatItem-MMMEEEEd":"MMM d\uc77c EEEE","quarters-standAlone-wide":["\uc81c 1/4\ubd84\uae30","\uc81c 2/4\ubd84\uae30","\uc81c 3/4\ubd84\uae30","\uc81c 4/4\ubd84\uae30"],"days-format-narrow":"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),"dateTimeFormats-appendItem-Timezone":"{0} {1}","field-mon-relative+-1":"\uc9c0\ub09c \uc6d4\uc694\uc77c","dateFormatItem-GyMMM":"G y\ub144 MMM","field-month":"\uc6d4", +"dateFormatItem-MMM":"LLL","field-dayperiod":"\uc624\uc804/\uc624\ud6c4","dayPeriods-format-narrow-pm":"p","dateFormat-medium":"y. M. d.","dateFormatItem-EEEEd":"d\uc77c EEEE",eraAbbr:["\uae30\uc6d0\uc804","\uc11c\uae30"],"quarters-standAlone-abbr":["1\ubd84\uae30","2\ubd84\uae30","3\ubd84\uae30","4\ubd84\uae30"],"dayPeriods-format-abbr-pm":"PM","field-mon-relative+0":"\uc774\ubc88 \uc6d4\uc694\uc77c","field-mon-relative+1":"\ub2e4\uc74c \uc6d4\uc694\uc77c","months-format-narrow":"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "), +"days-format-short":"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),"quarters-format-narrow":["1","2","3","4"],"dayPeriods-format-wide-pm":"\uc624\ud6c4","field-sat-relative+-1":"\uc9c0\ub09c \ud1a0\uc694\uc77c","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dateTimeFormat-long":"{1} {0}","dateFormatItem-Md":"M. d.","field-hour":"\uc2dc","dateFormatItem-yQQQQ":"y\ub144 QQQQ","months-format-wide":"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "), +"dateFormat-full":"y\ub144 M\uc6d4 d\uc77c EEEE","field-month-relative+-1":"\uc9c0\ub09c\ub2ec","dateFormatItem-Hms":"H\uc2dc m\ubd84 s\ucd08","field-fri-relative+0":"\uc774\ubc88 \uae08\uc694\uc77c","field-fri-relative+1":"\ub2e4\uc74c \uae08\uc694\uc77c","dayPeriods-format-narrow-noon":"n","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})",_localized:{},"field-week-relative+-1":"\uc9c0\ub09c\uc8fc","dateFormatItem-Ehm":"(E) a h:mm","months-format-abbr":"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "), +"timeFormat-long":"a h\uc2dc m\ubd84 s\ucd08 z","dateFormatItem-yMMM":"y\ub144 MMM","dateFormat-short":"yy. M. d.","days-standAlone-wide":"\uc77c\uc694\uc77c \uc6d4\uc694\uc77c \ud654\uc694\uc77c \uc218\uc694\uc77c \ubaa9\uc694\uc77c \uae08\uc694\uc77c \ud1a0\uc694\uc77c".split(" "),"dateFormatItem-yMMMEEEEd":"y\ub144 MMM d\uc77c EEEE","dateTimeFormats-appendItem-Era":"{1} {0}","dateFormatItem-mmss":"mm:ss","dateFormatItem-H":"H\uc2dc","dateFormatItem-M":"M\uc6d4","months-standAlone-wide":"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "), +"field-sun-relative+-1":"\uc9c0\ub09c \uc77c\uc694\uc77c","days-standAlone-abbr":"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),"dateTimeFormat-full":"{1} {0}","dateFormatItem-HHmmss":"HH:mm:ss","dateFormatItem-hm":"a h:mm","dateFormatItem-d":"d\uc77c","field-weekday":"\uc694\uc77c","field-sat-relative+0":"\uc774\ubc88 \ud1a0\uc694\uc77c","dateFormatItem-h":"a h\uc2dc","field-sat-relative+1":"\ub2e4\uc74c \ud1a0\uc694\uc77c","months-standAlone-abbr":"1\uc6d4 2\uc6d4 3\uc6d4 4\uc6d4 5\uc6d4 6\uc6d4 7\uc6d4 8\uc6d4 9\uc6d4 10\uc6d4 11\uc6d4 12\uc6d4".split(" "), +"dateFormatItem-yMM":"y. M.","timeFormat-full":"a h\uc2dc m\ubd84 s\ucd08 zzzz","dateFormatItem-MEd":"M. d. (E)","dateFormatItem-y":"y\ub144","field-thu-relative+0":"\uc774\ubc88 \ubaa9\uc694\uc77c","field-thu-relative+1":"\ub2e4\uc74c \ubaa9\uc694\uc77c","dateFormatItem-hms":"a h:mm:ss","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dayPeriods-format-abbr-noon":"noon","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-thu-relative+-1":"\uc9c0\ub09c \ubaa9\uc694\uc77c","dateFormatItem-yMd":"y. M. d.", +"field-week":"\uc8fc","quarters-standAlone-narrow":["1","2","3","4"],"quarters-format-wide":["\uc81c 1/4\ubd84\uae30","\uc81c 2/4\ubd84\uae30","\uc81c 3/4\ubd84\uae30","\uc81c 4/4\ubd84\uae30"],"dateFormatItem-Ed":"d\uc77c (E)","dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","days-standAlone-short":"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),"quarters-format-abbr":["1\ubd84\uae30","2\ubd84\uae30","3\ubd84\uae30","4\ubd84\uae30"],"field-year-relative+0":"\uc62c\ud574","field-year-relative+1":"\ub0b4\ub144", +"field-fri-relative+-1":"\uc9c0\ub09c \uae08\uc694\uc77c",eraNarrow:["\uae30\uc6d0\uc804","\uc11c\uae30"],"dayPeriods-format-wide-noon":"noon","dateFormatItem-yQQQ":"y\ub144 QQQ","days-format-wide":"\uc77c\uc694\uc77c \uc6d4\uc694\uc77c \ud654\uc694\uc77c \uc218\uc694\uc77c \ubaa9\uc694\uc77c \uae08\uc694\uc77c \ud1a0\uc694\uc77c".split(" "),"dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateFormatItem-EHm":"(E) HH:mm","dateFormatItem-GyMMMEEEEd":"G y\ub144 MMM d\uc77c EEEE","field-zone":"\uc2dc\uac04\ub300", +"dateFormatItem-yM":"y. M.","dateFormatItem-MMMEd":"MMM d\uc77c (E)","dateFormatItem-EHms":"(E) HH:mm:ss","dateFormatItem-yMEd":"y. M. d. (E)","field-day-relative+-1":"\uc5b4\uc81c","field-day-relative+-2":"\uadf8\uc800\uaed8","days-format-abbr":"\uc77c\uc6d4\ud654\uc218\ubaa9\uae08\ud1a0".split(""),"field-sun-relative+0":"\uc774\ubc88 \uc77c\uc694\uc77c","field-sun-relative+1":"\ub2e4\uc74c \uc77c\uc694\uc77c","dateFormatItem-yMMMd":"y\ub144 MMM d\uc77c","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})", +"dateFormatItem-Gy":"G y\ub144","field-era":"\uc5f0\ud638","dateFormatItem-yMEEEEd":"y. M. d. EEEE"},"dijit/nls/loading":{_localized:{},loadingState:"\ub85c\ub4dc \uc911...",errorState:"\uc8c4\uc1a1\ud569\ub2c8\ub2e4. \uc624\ub958\uac00 \ubc1c\uc0dd\ud588\uc2b5\ub2c8\ub2e4."},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]", +_localized:{},"decimalFormat-short":"000\uc870","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4#,##0.00;(\u00a4#,##0.00)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:",",percentFormat:"#,##0%","decimalFormat-long":"000\uc870",decimalFormat:"#,##0.###",decimal:".","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"\uc774\uc804 \uc120\ud0dd\uc0ac\ud56d", +_localized:{},nextMessage:"\uae30\ud0c0 \uc120\ud0dd\uc0ac\ud56d"},"dijit/nls/common":{buttonOk:"\ud655\uc778",buttonCancel:"\ucde8\uc18c",_localized:{},buttonSave:"\uc800\uc7a5",itemClose:"\ub2eb\uae30"}}); +//# sourceMappingURL=dojo_ko-kr.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_nb.js b/Server/www/spiderbasic/dojo/nls/dojo_nb.js new file mode 100644 index 0000000..191876a --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_nb.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_nb",{"dijit/form/nls/validate":{invalidMessage:"Den angitte verdien er ikke gyldig.",rangeMessage:"Denne verdien er utenfor gyldig omr\u00e5de.",_localized:{},missingMessage:"Denne verdien er obligatorisk."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h.mm a","days-standAlone-short":"s\u00f8. ma. ti. on. to. fr. l\u00f8.".split(" "),"months-format-narrow":"JFMAMJJASOND".split(""),"field-second-relative+0":"n\u00e5","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"Ukedag", +"dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E d.MM.y","field-wed-relative+0":"onsdag denne uken","field-wed-relative+1":"onsdag neste uke","dateFormatItem-GyMMMEd":"E d. MMM y G","dateFormatItem-MMMEd":"E d. MMM",eraNarrow:["f.Kr.","fvt.","e.Kr.","vt"],"dateFormatItem-yMM":"MM.y","field-tue-relative+-1":"tirsdag sist uke","days-format-short":"s\u00f8. ma. ti. on. to. fr. l\u00f8.".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d. MMMM y","field-fri-relative+-1":"fredag sist uke", +"field-wed-relative+-1":"onsdag sist uke","months-format-wide":"januar februar mars april mai juni juli august september oktober november desember".split(" "),"dateTimeFormat-medium":"{1}, {0}","dayPeriods-format-wide-pm":"p.m.","dateFormat-full":"EEEE d. MMMM y","field-thu-relative+-1":"torsdag sist uke","dateFormatItem-Md":"d.M.",_localized:{},"dayPeriods-format-abbr-am":"a.m.","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d.M.y", +"field-era":"Tidsalder","dateFormatItem-yM":"M.y","months-standAlone-wide":"januar februar mars april mai juni juli august september oktober november desember".split(" "),"timeFormat-short":"HH.mm","quarters-format-wide":["1. kvartal","2. kvartal","3. kvartal","4. kvartal"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"HH.mm.ss z","field-year":"\u00c5r","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"Time","dateFormatItem-MMdd":"d.M.","months-format-abbr":"jan. feb. mar. apr. mai jun. jul. aug. sep. okt. nov. des.".split(" "), +"field-sat-relative+0":"l\u00f8rdag denne uken","field-sat-relative+1":"l\u00f8rdag neste uke","timeFormat-full":"HH.mm.ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"i dag","field-thu-relative+0":"torsdag denne uken","field-day-relative+1":"i morgen","field-thu-relative+1":"torsdag neste uke","dateFormatItem-GyMMMd":"d. MMM y G","field-day-relative+2":"i overmorgen","dateFormatItem-H":"HH","months-standAlone-abbr":"jan feb mar apr mai jun jul aug sep okt nov des".split(" "), +"quarters-format-abbr":["K1","K2","K3","K4"],"quarters-standAlone-wide":["1. kvartal","2. kvartal","3. kvartal","4. kvartal"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L.","days-standAlone-wide":"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"HH.mm.ss","field-sun-relative+0":"s\u00f8ndag denne uken","dateFormatItem-Hm":"HH.mm","field-sun-relative+1":"s\u00f8ndag neste uke","quarters-standAlone-abbr":["K1","K2", +"K3","K4"],eraAbbr:["f.Kr.","e.Kr."],"field-minute":"Minutt","field-dayperiod":"AM/PM","days-standAlone-abbr":"s\u00f8. ma. ti. on. to. fr. l\u00f8.".split(" "),"dateFormatItem-d":"d.","dateFormatItem-ms":"mm.ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"i g\u00e5r","dateTimeFormat-long":"{1} 'kl.' {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","field-day-relative+-2":"i forg\u00e5rs","dateFormatItem-MMMd":"d. MMM","dateFormatItem-MEd":"E d.M","dateTimeFormat-full":"{1} {0}", +"field-fri-relative+0":"fredag denne uken","field-fri-relative+1":"fredag neste uke","dateFormatItem-yMMMM":"MMMM y","field-day":"Dag","days-format-wide":"s\u00f8ndag mandag tirsdag onsdag torsdag fredag l\u00f8rdag".split(" "),"field-zone":"Tidssone","months-standAlone-narrow":"JFMAMJJASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"I fjor","field-month-relative+-1":"Sist m\u00e5ned","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h.mm a", +"dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"p.m.","days-format-abbr":"s\u00f8n. man. tir. ons. tor. fre. l\u00f8r.".split(" "),eraNames:["f.Kr.","e.Kr."],"dateFormatItem-yMMMd":"d. MMM y","days-format-narrow":"SMTOTFL".split(""),"field-month":"M\u00e5ned","days-standAlone-narrow":"SMTOTFL".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"tirsdag denne uken","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"tirsdag neste uke", +"dayPeriods-format-wide-am":"a.m.","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E HH.mm","field-mon-relative+0":"mandag denne uken","field-mon-relative+1":"mandag neste uke","dateFormat-short":"dd.MM.yy","dateFormatItem-EHms":"E HH.mm.ss","dateFormatItem-Ehms":"E h.mm.ss a","dayPeriods-format-narrow-noon":"n","field-second":"Sekund","field-sat-relative+-1":"l\u00f8rdag sist uke","dateFormatItem-yMMMEd":"E d. MMM y", +"field-sun-relative+-1":"s\u00f8ndag sist uke","field-month-relative+0":"Denne m\u00e5neden","field-month-relative+1":"Neste m\u00e5ned","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d.","field-week":"Uke","dateFormat-medium":"d. MMM y","field-week-relative+-1":"Sist uke","field-year-relative+0":"Dette \u00e5ret","field-year-relative+1":"Neste \u00e5r","dayPeriods-format-narrow-pm":"p","dateTimeFormat-short":"{1}, {0}","dateFormatItem-Hms":"HH.mm.ss","dateFormatItem-hms":"h.mm.ss a", +"dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"mandag sist uke","field-week-relative+0":"Denne uken","field-week-relative+1":"Neste uke"},"dijit/nls/loading":{_localized:{},loadingState:"Laster inn...",errorState:"Det oppsto en feil"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"\u2212","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]", +_localized:{},"decimalFormat-short":"000\u00a0bill","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4\u00a0#,##0.00","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0\u00a0%","decimalFormat-long":"000 billioner",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Tidligere valg", +_localized:{},nextMessage:"Flere valg"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Avbryt",_localized:{},buttonSave:"Lagre",itemClose:"Lukk"}}); +//# sourceMappingURL=dojo_nb.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_nl-nl.js b/Server/www/spiderbasic/dojo/nls/dojo_nl-nl.js new file mode 100644 index 0000000..b63bf3b --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_nl-nl.js @@ -0,0 +1,15 @@ +//>>built +define("dojo/nls/dojo_nl-nl",{"dijit/form/nls/validate":{invalidMessage:"De opgegeven waarde is ongeldig.",rangeMessage:"Deze waarde is niet toegestaan.",_localized:{},missingMessage:"Deze waarde is verplicht."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"zo ma di wo do vr za".split(" "),"months-format-narrow":"JFMAMJJASOND".split(""),"field-second-relative+0":"nu","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"Dag van de week","dateFormatItem-yQQQ":"QQQ y", +"dateFormatItem-yMEd":"E d-M-y","field-wed-relative+0":"deze woensdag","field-wed-relative+1":"volgende week woensdag","dateFormatItem-GyMMMEd":"E d MMM y G","dateFormatItem-MMMEd":"E d MMM",eraNarrow:["v.C.","vgj","n.C.","gj"],"field-tue-relative+-1":"afgelopen dinsdag","days-format-short":"zo ma di wo do vr za".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d MMMM y","field-fri-relative+-1":"afgelopen vrijdag","field-wed-relative+-1":"afgelopen woensdag","months-format-wide":"januari februari maart april mei juni juli augustus september oktober november december".split(" "), +"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE d MMMM y","field-thu-relative+-1":"afgelopen donderdag","dateFormatItem-Md":"d-M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"12 uur 's middags","dateFormatItem-yMd":"d-M-y","field-era":"Tijdperk","dateFormatItem-yM":"M-y","months-standAlone-wide":"januari februari maart april mei juni juli augustus september oktober november december".split(" "), +"timeFormat-short":"HH:mm","quarters-format-wide":["1e kwartaal","2e kwartaal","3e kwartaal","4e kwartaal"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"HH:mm:ss z","field-year":"Jaar","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"Uur","months-format-abbr":"jan. feb. mrt. apr. mei jun. jul. aug. sep. okt. nov. dec.".split(" "),"field-sat-relative+0":"deze zaterdag","field-sat-relative+1":"volgende week zaterdag","timeFormat-full":"HH:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})", +"field-day-relative+0":"vandaag","field-thu-relative+0":"deze donderdag","field-day-relative+1":"morgen","field-thu-relative+1":"volgende week donderdag","dateFormatItem-GyMMMd":"d MMM y G","field-day-relative+2":"overmorgen","dateFormatItem-H":"HH","months-standAlone-abbr":"jan feb mrt apr mei jun jul aug sep okt nov dec".split(" "),"quarters-format-abbr":["K1","K2","K3","K4"],"quarters-standAlone-wide":["1e kwartaal","2e kwartaal","3e kwartaal","4e kwartaal"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L", +"days-standAlone-wide":"zondag maandag dinsdag woensdag donderdag vrijdag zaterdag".split(" "),"dateFormatItem-MMMMd":"d MMMM","dayPeriods-format-abbr-noon":"12 uur 's middags","timeFormat-medium":"HH:mm:ss","field-sun-relative+0":"deze zondag","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"volgende week zondag","quarters-standAlone-abbr":["K1","K2","K3","K4"],eraAbbr:["v.Chr.","n.Chr."],"field-minute":"Minuut","field-dayperiod":"AM/PM","days-standAlone-abbr":"zo ma di wo do vr za".split(" "), +"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"gisteren","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"AM","dateFormatItem-h":"h a","field-day-relative+-2":"eergisteren","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E d-M","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"deze vrijdag","field-fri-relative+1":"volgende week vrijdag","dateFormatItem-yMMMM":"MMMM y","field-day":"Dag","days-format-wide":"zondag maandag dinsdag woensdag donderdag vrijdag zaterdag".split(" "), +"field-zone":"Zone","months-standAlone-narrow":"JFMAMJJASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"vorig jaar","field-month-relative+-1":"vorige maand","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"zo ma di wo do vr za".split(" "),eraNames:["Voor Christus","v\u00f3\u00f3r gewone jaartelling","na Christus", +"gewone jaartelling"],"dateFormatItem-yMMMd":"d MMM y","days-format-narrow":"ZMDWDVZ".split(""),"field-month":"Maand","days-standAlone-narrow":"ZMDWDVZ".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"deze dinsdag","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"volgende week dinsdag","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"deze maandag", +"field-mon-relative+1":"volgende week maandag","dateFormat-short":"dd-MM-yy","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"Seconde","field-sat-relative+-1":"afgelopen zaterdag","dateFormatItem-yMMMEd":"E d MMM y","field-sun-relative+-1":"afgelopen zondag","field-month-relative+0":"deze maand","field-month-relative+1":"volgende maand","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d","field-week":"Week", +"dateFormat-medium":"d MMM y","field-week-relative+-1":"vorige week","field-year-relative+0":"dit jaar","field-year-relative+1":"volgend jaar","dayPeriods-format-narrow-pm":"PM","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"afgelopen maandag","field-week-relative+0":"deze week","field-week-relative+1":"volgende week"},"dijit/nls/loading":{_localized:{},loadingState:"Bezig met laden...",errorState:"Er is een fout opgetreden"}, +"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0bln'.'","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4\u00a0#,##0.00;(\u00a4\u00a0#,##0.00)", +"currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:".",percentFormat:"#,##0%","decimalFormat-long":"000 biljoen",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Eerdere opties",_localized:{},nextMessage:"Meer opties"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Annuleren",_localized:{},buttonSave:"Opslaan",itemClose:"Sluiten"}}); +//# sourceMappingURL=dojo_nl-nl.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_pl.js b/Server/www/spiderbasic/dojo/nls/dojo_pl.js new file mode 100644 index 0000000..3bb51e9 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_pl.js @@ -0,0 +1,17 @@ +//>>built +define("dojo/nls/dojo_pl",{"dijit/form/nls/validate":{invalidMessage:"Wprowadzona warto\u015b\u0107 jest nieprawid\u0142owa.",rangeMessage:"Ta warto\u015b\u0107 jest spoza zakresu.",_localized:{},missingMessage:"Ta warto\u015b\u0107 jest wymagana."},"dojo/cldr/nls/gregorian":{"dateTimeFormats-appendItem-Year":"{1} {0}","field-tue-relative+-1":"w zesz\u0142y wtorek","field-year":"rok","dateFormatItem-Hm":"HH:mm","field-wed-relative+0":"w t\u0119 \u015brod\u0119","field-wed-relative+1":"w przysz\u0142\u0105 \u015brod\u0119", +"dayPeriods-format-wide-night":"w nocy","dateFormatItem-ms":"mm:ss","timeFormat-short":"HH:mm","field-minute":"minuta","dateTimeFormat-short":"{1}, {0}","field-day-relative+0":"dzisiaj","field-day-relative+1":"jutro","field-day-relative+2":"pojutrze","field-tue-relative+0":"w ten wtorek","field-tue-relative+1":"w przysz\u0142y wtorek","dayPeriods-format-narrow-am":"a","dateFormatItem-MMMd":"d MMM","dayPeriods-format-abbr-am":"AM","field-week-relative+0":"w tym tygodniu","field-month-relative+0":"w tym miesi\u0105cu", +"field-week-relative+1":"w przysz\u0142ym tygodniu","field-month-relative+1":"w przysz\u0142ym miesi\u0105cu","timeFormat-medium":"HH:mm:ss","field-second-relative+0":"teraz","dayPeriods-format-wide-afternoon":"po po\u0142udniu","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","months-standAlone-narrow":"slmkmclswplg".split(""),eraNames:["p.n.e.","n.e."],"dateFormatItem-GyMMMEd":"E, d MMM y G","field-day":"dzie\u0144","field-year-relative+-1":"w zesz\u0142ym roku","dayPeriods-format-wide-am":"AM", +"field-wed-relative+-1":"w zesz\u0142\u0105 \u015brod\u0119","dateTimeFormat-medium":"{1}, {0}","field-second":"sekunda","days-standAlone-narrow":"NPW\u015aCPS".split(""),"dateFormatItem-Ehms":"E, h:mm:ss a","dateFormat-long":"d MMMM y","dateFormatItem-GyMMMd":"d MMM y G","dateFormatItem-yMMMEd":"E, d MMM y","quarters-standAlone-wide":["I kwarta\u0142","II kwarta\u0142","III kwarta\u0142","IV kwarta\u0142"],"days-format-narrow":"NPW\u015aCPS".split(""),"dateTimeFormats-appendItem-Timezone":"{0} {1}", +"field-mon-relative+-1":"w zesz\u0142y poniedzia\u0142ek","dateFormatItem-GyMMM":"MMM y G","field-month":"miesi\u0105c","dateFormatItem-MMM":"LLL","field-dayperiod":"rano / po po\u0142udniu / wieczorem","dayPeriods-format-narrow-pm":"p","dateFormat-medium":"d MMM y",eraAbbr:["p.n.e.","n.e."],"quarters-standAlone-abbr":["1 kw.","2 kw.","3 kw.","4 kw."],"dayPeriods-format-abbr-pm":"PM","field-mon-relative+0":"w ten poniedzia\u0142ek","field-mon-relative+1":"w przysz\u0142y poniedzia\u0142ek","months-format-narrow":"slmkmclswplg".split(""), +"days-format-short":"niedz. pon. wt. \u015br. czw. pt. sob.".split(" "),"quarters-format-narrow":["1","2","3","4"],"dayPeriods-format-wide-pm":"PM","field-sat-relative+-1":"w zesz\u0142\u0105 sobot\u0119","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dateTimeFormat-long":"{1} {0}","dateFormatItem-Md":"d.MM","field-hour":"godzina","dateFormatItem-yQQQQ":"QQQQ y","months-format-wide":"stycznia lutego marca kwietnia maja czerwca lipca sierpnia wrze\u015bnia pa\u017adziernika listopada grudnia".split(" "), +"dateFormat-full":"EEEE, d MMMM y","field-month-relative+-1":"w zesz\u0142ym miesi\u0105cu","dayPeriods-format-wide-earlyMorning":"nad ranem","dateFormatItem-Hms":"HH:mm:ss","field-fri-relative+0":"w ten pi\u0105tek","field-fri-relative+1":"w przysz\u0142y pi\u0105tek","dayPeriods-format-narrow-noon":"n","dayPeriods-format-wide-morning":"rano","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})",_localized:{},"field-week-relative+-1":"Zesz\u0142y tydzie\u0144","dateFormatItem-Ehm":"E, h:mm a","months-format-abbr":"sty lut mar kwi maj cze lip sie wrz pa\u017a lis gru".split(" "), +"timeFormat-long":"HH:mm:ss z","dateFormatItem-yMMM":"LLL y","dateFormat-short":"dd.MM.y","days-standAlone-wide":"niedziela poniedzia\u0142ek wtorek \u015broda czwartek pi\u0105tek sobota".split(" "),"dateTimeFormats-appendItem-Era":"{1} {0}","dateFormatItem-MMMMd":"d MMMM","dateFormatItem-H":"HH","dateFormatItem-M":"L","months-standAlone-wide":"stycze\u0144 luty marzec kwiecie\u0144 maj czerwiec lipiec sierpie\u0144 wrzesie\u0144 pa\u017adziernik listopad grudzie\u0144".split(" "),"field-sun-relative+-1":"w zesz\u0142\u0105 niedziel\u0119", +"days-standAlone-abbr":"niedz. pon. wt. \u015br. czw. pt. sob.".split(" "),"dateTimeFormat-full":"{1} {0}","dateFormatItem-hm":"h:mm a","dateFormatItem-d":"d","field-weekday":"dzie\u0144 tygodnia","field-sat-relative+0":"w t\u0119 sobot\u0119","dateFormatItem-h":"h a","field-sat-relative+1":"w przysz\u0142\u0105 sobot\u0119","dayPeriods-format-wide-lateMorning":"przed po\u0142udniem","months-standAlone-abbr":"sty lut mar kwi maj cze lip sie wrz pa\u017a lis gru".split(" "),"dateFormatItem-yMM":"MM.y", +"timeFormat-full":"HH:mm:ss zzzz","dateFormatItem-MEd":"E, d.MM","dateFormatItem-y":"y","field-thu-relative+0":"w ten czwartek","field-thu-relative+1":"w przysz\u0142y czwartek","dateFormatItem-hms":"h:mm:ss a","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dayPeriods-format-abbr-noon":"noon","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-thu-relative+-1":"w zesz\u0142y czwartek","dateFormatItem-yMd":"d.MM.y","field-week":"tydzie\u0144","quarters-standAlone-narrow":["1","2","3","4"], +"quarters-format-wide":["I kwarta\u0142","II kwarta\u0142","III kwarta\u0142","IV kwarta\u0142"],"dateFormatItem-Ed":"E, d","dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","days-standAlone-short":"niedz. pon. wt. \u015br. czw. pt. sob.".split(" "),"dayPeriods-format-wide-evening":"wieczorem","quarters-format-abbr":["K1","K2","K3","K4"],"field-year-relative+0":"w tym roku","field-year-relative+1":"w przysz\u0142ym roku","field-fri-relative+-1":"w zesz\u0142y pi\u0105tek",eraNarrow:["p.n.e.","n.e."], +"dayPeriods-format-wide-noon":"w po\u0142udnie","dateFormatItem-yQQQ":"QQQ y","days-format-wide":"niedziela poniedzia\u0142ek wtorek \u015broda czwartek pi\u0105tek sobota".split(" "),"dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateFormatItem-EHm":"E, HH:mm","field-zone":"strefa czasowa","dateFormatItem-yM":"MM.y","dateFormatItem-yMMMM":"LLLL y","dateFormatItem-MMMEd":"E, d MMM","dateFormatItem-EHms":"E, HH:mm:ss","dateFormatItem-yMEd":"E, d.MM.y","field-day-relative+-1":"wczoraj","field-day-relative+-2":"przedwczoraj", +"days-format-abbr":"niedz. pon. wt. \u015br. czw. pt. sob.".split(" "),"field-sun-relative+0":"w t\u0119 niedziel\u0119","dateFormatItem-MMdd":"d.MM","field-sun-relative+1":"w przysz\u0142\u0105 niedziel\u0119","dateFormatItem-yMMMd":"d MMM y","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-Gy":"y G","field-era":"era"},"dijit/nls/loading":{_localized:{},loadingState:"\u0141adowanie...",errorState:"Niestety, wyst\u0105pi\u0142 b\u0142\u0105d"},"dojo/cldr/nls/number":{scientificFormat:"#E0", +"currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0bln","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4;(#,##0.00\u00a0\u00a4)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]", +perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0%","decimalFormat-long":"000 biliona",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Poprzednie wybory",_localized:{},nextMessage:"Wi\u0119cej wybor\u00f3w"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Anuluj",_localized:{},buttonSave:"Zapisz",itemClose:"Zamknij"}}); +//# sourceMappingURL=dojo_pl.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_pt-br.js b/Server/www/spiderbasic/dojo/nls/dojo_pt-br.js new file mode 100644 index 0000000..586bb83 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_pt-br.js @@ -0,0 +1,17 @@ +//>>built +define("dojo/nls/dojo_pt-br",{"dijit/form/nls/validate":{invalidMessage:"O valor inserido n\u00e3o \u00e9 v\u00e1lido.",rangeMessage:"Este valor est\u00e1 fora do intervalo. ",_localized:{},missingMessage:"Este valor \u00e9 necess\u00e1rio."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E, h:mm a","days-standAlone-short":"dom seg ter qua qui sex s\u00e1b".split(" "),"months-format-narrow":"JFMAMJJASOND".split(""),"field-second-relative+0":"agora","quarters-standAlone-narrow":["1","2","3","4"], +"field-weekday":"Dia da semana","dateFormatItem-yQQQ":"y QQQ","dateFormatItem-yMEd":"E, dd/MM/y","field-wed-relative+0":"esta quarta-feira","field-wed-relative+1":"pr\u00f3xima quarta-feira","dateFormatItem-GyMMMEd":"E, d 'de' MMM 'de' y G","dateFormatItem-MMMEd":"E, d 'de' MMM",eraNarrow:["a.C.","d.C."],"dateFormatItem-yMM":"MM/y","field-tue-relative+-1":"ter\u00e7a-feira passada","dayPeriods-format-wide-morning":"manh\u00e3","days-format-short":"dom seg ter qua qui sex s\u00e1b".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}", +"dateFormat-long":"d 'de' MMMM 'de' y","field-fri-relative+-1":"sexta-feira passada","field-wed-relative+-1":"quarta-feira passada","months-format-wide":"janeiro fevereiro mar\u00e7o abril maio junho julho agosto setembro outubro novembro dezembro".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE, d 'de' MMMM 'de' y","field-thu-relative+-1":"quinta-feira passada","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})", +"dayPeriods-format-wide-noon":"meio-dia","dateFormatItem-yMd":"dd/MM/y","field-era":"Era","dateFormatItem-yM":"MM/y","months-standAlone-wide":"janeiro fevereiro mar\u00e7o abril maio junho julho agosto setembro outubro novembro dezembro".split(" "),"timeFormat-short":"HH:mm","quarters-format-wide":["1\u00ba trimestre","2\u00ba trimestre","3\u00ba trimestre","4\u00ba trimestre"],"dateFormatItem-yQQQQ":"y QQQQ","timeFormat-long":"HH:mm:ss z","field-year":"Ano","dateFormatItem-yMMM":"MMM 'de' y","dateTimeFormats-appendItem-Era":"{1} {0}", +"field-hour":"Hora","dateFormatItem-MMdd":"dd/MM","months-format-abbr":"jan fev mar abr mai jun jul ago set out nov dez".split(" "),"field-sat-relative+0":"este s\u00e1bado","field-sat-relative+1":"pr\u00f3ximo s\u00e1bado","timeFormat-full":"HH:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"hoje","field-thu-relative+0":"esta quinta-feira","field-day-relative+1":"amanh\u00e3","field-thu-relative+1":"pr\u00f3xima quinta-feira","dateFormatItem-GyMMMd":"d 'de' MMM 'de' y G", +"field-day-relative+2":"depois de amanh\u00e3","dateFormatItem-H":"HH","months-standAlone-abbr":"jan fev mar abr mai jun jul ago set out nov dez".split(" "),"quarters-format-abbr":["T1","T2","T3","T4"],"quarters-standAlone-wide":["1\u00ba trimestre","2\u00ba trimestre","3\u00ba trimestre","4\u00ba trimestre"],"dateFormatItem-Gy":"y G","dateFormatItem-HHmmss":"HH:mm:ss","dateFormatItem-M":"L","days-standAlone-wide":"domingo segunda-feira ter\u00e7a-feira quarta-feira quinta-feira sexta-feira s\u00e1bado".split(" "), +"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"HH:mm:ss","field-sun-relative+0":"este domingo","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"pr\u00f3ximo domingo","quarters-standAlone-abbr":["T1","T2","T3","T4"],eraAbbr:["a.C.","d.C."],"field-minute":"Minuto","field-dayperiod":"Per\u00edodo do dia","days-standAlone-abbr":"dom seg ter qua qui sex s\u00e1b".split(" "),"dayPeriods-format-wide-night":"noite","dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1", +"2","3","4"],"field-day-relative+-1":"ontem","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","field-day-relative+-2":"anteontem","dateFormatItem-MMMd":"d 'de' MMM","dateFormatItem-MEd":"E, dd/MM","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"esta sexta-feira","field-fri-relative+1":"pr\u00f3xima sexta-feira","field-day":"Dia","days-format-wide":"domingo segunda-feira ter\u00e7a-feira quarta-feira quinta-feira sexta-feira s\u00e1bado".split(" "), +"field-zone":"Fuso","months-standAlone-narrow":"JFMAMJJASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"ano passado","field-month-relative+-1":"m\u00eas passado","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"dom seg ter qua qui sex s\u00e1b".split(" "),eraNames:["Antes de Cristo","Ano do Senhor"],"dateFormatItem-yMMMd":"d 'de' MMM 'de' y", +"days-format-narrow":"DSTQQSS".split(""),"field-month":"M\u00eas","days-standAlone-narrow":"DSTQQSS".split(""),"dateFormatItem-MMM":"LLL","dateFormatItem-HHmm":"HH:mm","field-tue-relative+0":"esta ter\u00e7a-feira","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"pr\u00f3xima ter\u00e7a-feira","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E, HH:mm","field-mon-relative+0":"esta segunda-feira", +"field-mon-relative+1":"pr\u00f3xima segunda-feira","dateFormat-short":"dd/MM/yy","dayPeriods-format-wide-afternoon":"tarde","dateFormatItem-EHms":"E, HH:mm:ss","dateFormatItem-Ehms":"E, h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"Segundo","field-sat-relative+-1":"s\u00e1bado passado","dateFormatItem-yMMMEd":"E, d 'de' MMM 'de' y","field-sun-relative+-1":"domingo passado","field-month-relative+0":"este m\u00eas","field-month-relative+1":"pr\u00f3ximo m\u00eas","dateTimeFormats-appendItem-Timezone":"{0} {1}", +"dateFormatItem-Ed":"E, d","field-week":"Semana","dateFormat-medium":"dd/MM/y","field-week-relative+-1":"semana passada","field-year-relative+0":"este ano","field-year-relative+1":"pr\u00f3ximo ano","dayPeriods-format-narrow-pm":"p","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"MMM 'de' y G","field-mon-relative+-1":"segunda-feira passada","field-week-relative+0":"esta semana","field-week-relative+1":"pr\u00f3xima semana"}, +"dijit/nls/loading":{_localized:{},loadingState:"Carregando...",errorState:"Desculpe, ocorreu um erro"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0tri","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]", +currencyFormat:"\u00a4#,##0.00;(\u00a4#,##0.00)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:".",percentFormat:"#,##0%","decimalFormat-long":"000 trilh\u00f5es",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Op\u00e7\u00f5es anteriores",_localized:{},nextMessage:"Mais op\u00e7\u00f5es"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Cancelar",_localized:{}, +buttonSave:"Salvar",itemClose:"Fechar"}}); +//# sourceMappingURL=dojo_pt-br.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_pt-pt.js b/Server/www/spiderbasic/dojo/nls/dojo_pt-pt.js new file mode 100644 index 0000000..9ecffca --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_pt-pt.js @@ -0,0 +1,17 @@ +//>>built +define("dojo/nls/dojo_pt-pt",{"dijit/form/nls/validate":{invalidMessage:"O valor introduzido n\u00e3o \u00e9 v\u00e1lido.",rangeMessage:"Este valor encontra-se fora do intervalo.",_localized:{},missingMessage:"Este valor \u00e9 requerido."},"dojo/cldr/nls/gregorian":{"dateTimeFormats-appendItem-Year":"{1} {0}","field-tue-relative+-1":"ter\u00e7a-feira passada","field-year":"Ano","dateFormatItem-Hm":"HH:mm","field-wed-relative+0":"esta quarta-feira","field-wed-relative+1":"pr\u00f3xima quarta-feira", +"dayPeriods-format-wide-night":"noite","dateFormatItem-ms":"mm:ss","timeFormat-short":"HH:mm","field-minute":"Minuto","dateTimeFormat-short":"{1}, {0}","field-day-relative+0":"hoje","field-day-relative+1":"amanh\u00e3","field-day-relative+2":"depois de amanh\u00e3","field-tue-relative+0":"esta ter\u00e7a-feira","field-tue-relative+1":"pr\u00f3xima ter\u00e7a-feira","dayPeriods-format-narrow-am":"a.m.","dateFormatItem-MMMd":"d/MM","dayPeriods-format-abbr-am":"a.m.","field-week-relative+0":"esta semana", +"field-month-relative+0":"este m\u00eas","field-week-relative+1":"pr\u00f3xima semana","field-month-relative+1":"pr\u00f3ximo m\u00eas","timeFormat-medium":"HH:mm:ss","field-second-relative+0":"agora","dayPeriods-format-wide-afternoon":"tarde","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","months-standAlone-narrow":"JFMAMJJASOND".split(""),eraNames:["a.C.","d.C."],"dayPeriods-standAlone-abbr-pm":"p.m.","dateFormatItem-GyMMMEd":"E, d 'de' MMM 'de' y G","field-day":"Dia","field-year-relative+-1":"ano passado", +"dayPeriods-format-wide-am":"da manh\u00e3","field-wed-relative+-1":"quarta-feira passada","dateTimeFormat-medium":"{1}, {0}","field-second":"Segundo","days-standAlone-narrow":"DSTQQSS".split(""),"dayPeriods-standAlone-wide-pm":"p.m.","dateFormatItem-Ehms":"E, h:mm:ss a","dateFormat-long":"d 'de' MMMM 'de' y","dateFormatItem-GyMMMd":"d 'de' MMM 'de' y G","dateFormatItem-yMMMEd":"E, d/MM/y","quarters-standAlone-wide":["1.\u00ba trimestre","2.\u00ba trimestre","3.\u00ba trimestre","4.\u00ba trimestre"], +"days-format-narrow":"DSTQQSS".split(""),"dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-HHmm":"HH:mm","field-mon-relative+-1":"segunda-feira passada","dateFormatItem-GyMMM":"MMM 'de' y G","field-month":"M\u00eas","dateFormatItem-MMM":"LLL","field-dayperiod":"Da manh\u00e3/da tarde","dayPeriods-format-narrow-pm":"p.m.","dateFormat-medium":"dd/MM/y",eraAbbr:["a.C.","d.C."],"quarters-standAlone-abbr":["T1","T2","T3","T4"],"dayPeriods-format-abbr-pm":"p.m.","field-mon-relative+0":"esta segunda-feira", +"field-mon-relative+1":"pr\u00f3xima segunda-feira","months-format-narrow":"JFMAMJJASOND".split(""),"days-format-short":"do sg te qu qi sx sb".split(" "),"quarters-format-narrow":["1","2","3","4"],"dayPeriods-format-wide-pm":"da tarde","field-sat-relative+-1":"s\u00e1bado passado","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dateTimeFormat-long":"{1} '\u00e0s' {0}","dateFormatItem-Md":"d/M","field-hour":"Hora","dateFormatItem-yQQQQ":"QQQQ 'de' y","months-format-wide":"Janeiro Fevereiro Mar\u00e7o Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro".split(" "), +"dateFormat-full":"EEEE, d 'de' MMMM 'de' y","field-month-relative+-1":"m\u00eas passado","dateFormatItem-Hms":"HH:mm:ss","field-fri-relative+0":"esta sexta-feira","field-fri-relative+1":"pr\u00f3xima sexta-feira","dayPeriods-format-narrow-noon":"n","dayPeriods-format-wide-morning":"manh\u00e3","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})",_localized:{},"field-week-relative+-1":"semana passada","dateFormatItem-Ehm":"E, h:mm a","months-format-abbr":"Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez".split(" "), +"timeFormat-long":"HH:mm:ss z","dateFormatItem-yMMM":"MM/y","dateFormat-short":"dd/MM/yy","days-standAlone-wide":"domingo segunda-feira ter\u00e7a-feira quarta-feira quinta-feira sexta-feira s\u00e1bado".split(" "),"dateTimeFormats-appendItem-Era":"{1} {0}","dateFormatItem-yMMMEEEEd":"EEEE, d/MM/y","dateFormatItem-MMMMd":"d 'de' MMMM","dateFormatItem-H":"HH","dateFormatItem-M":"L","months-standAlone-wide":"Janeiro Fevereiro Mar\u00e7o Abril Maio Junho Julho Agosto Setembro Outubro Novembro Dezembro".split(" "), +"dateFormatItem-yMMMMEd":"E, d 'de' MMMM 'de' y","field-sun-relative+-1":"domingo passado","days-standAlone-abbr":"dom seg ter qua qui sex s\u00e1b".split(" "),"dateFormatItem-MMMMEd":"E, d 'de' MMMM","dateTimeFormat-full":"{1} '\u00e0s' {0}","dateFormatItem-HHmmss":"HH:mm:ss","dateFormatItem-hm":"h:mm a","dateFormatItem-d":"d","field-weekday":"Dia da semana","field-sat-relative+0":"este s\u00e1bado","dateFormatItem-h":"h a","field-sat-relative+1":"pr\u00f3ximo s\u00e1bado","months-standAlone-abbr":"Jan Fev Mar Abr Mai Jun Jul Ago Set Out Nov Dez".split(" "), +"dateFormatItem-yMM":"MM/y","timeFormat-full":"HH:mm:ss zzzz","dateFormatItem-MEd":"E, dd/MM","dateFormatItem-y":"y","field-thu-relative+0":"esta quinta-feira","field-thu-relative+1":"pr\u00f3xima quinta-feira","dateFormatItem-hms":"h:mm:ss a","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dayPeriods-format-abbr-noon":"noon","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-thu-relative+-1":"quinta-feira passada","dateFormatItem-yMd":"dd/MM/y","field-week":"Semana","quarters-standAlone-narrow":["1", +"2","3","4"],"quarters-format-wide":["1.\u00ba trimestre","2.\u00ba trimestre","3.\u00ba trimestre","4.\u00ba trimestre"],"dateFormatItem-Ed":"E, d","dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","days-standAlone-short":"do sg te qu qi sx sb".split(" "),"quarters-format-abbr":["T1","T2","T3","T4"],"field-year-relative+0":"este ano","field-year-relative+1":"pr\u00f3ximo ano","field-fri-relative+-1":"sexta-feira passada",eraNarrow:["a.C.","d.C."],"dayPeriods-format-wide-noon":"meio-dia","dateFormatItem-yQQQ":"QQQQ 'de' y", +"days-format-wide":"domingo segunda-feira ter\u00e7a-feira quarta-feira quinta-feira sexta-feira s\u00e1bado".split(" "),"dateFormatItem-yMMMMd":"d 'de' MMMM 'de' y","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateFormatItem-EHm":"E, HH:mm","field-zone":"Fuso hor\u00e1rio","dateFormatItem-yM":"MM/y","dateFormatItem-yMMMM":"MMMM 'de' y","dateFormatItem-MMMEd":"E, d/MM","dateFormatItem-EHms":"E, HH:mm:ss","dateFormatItem-yMEd":"E, dd/MM/y","field-day-relative+-1":"ontem","dayPeriods-standAlone-abbr-am":"a.m.", +"field-day-relative+-2":"anteontem","days-format-abbr":"dom seg ter qua qui sex s\u00e1b".split(" "),"field-sun-relative+0":"este domingo","dateFormatItem-MMdd":"dd/MM","field-sun-relative+1":"pr\u00f3ximo domingo","dateFormatItem-yMMMd":"d/MM/y","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-Gy":"y G","field-era":"Era","dayPeriods-standAlone-wide-am":"a.m."},"dijit/nls/loading":{_localized:{},loadingState:"A carregar...",errorState:"Lamentamos, mas ocorreu um erro"},"dojo/cldr/nls/number":{scientificFormat:"#E0", +"currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0Bi","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4;(#,##0.00\u00a0\u00a4)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]", +perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0%","decimalFormat-long":"000 bili\u00f5es",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Op\u00e7\u00f5es anteriores",_localized:{},nextMessage:"Mais op\u00e7\u00f5es"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Cancelar",_localized:{},buttonSave:"Guardar",itemClose:"Fechar"}}); +//# sourceMappingURL=dojo_pt-pt.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_ru.js b/Server/www/spiderbasic/dojo/nls/dojo_ru.js new file mode 100644 index 0000000..11ef836 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_ru.js @@ -0,0 +1,26 @@ +//>>built +define("dojo/nls/dojo_ru",{"dijit/form/nls/validate":{invalidMessage:"\u0423\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0435\u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.",rangeMessage:"\u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0432\u043d\u0435 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0430.",_localized:{},missingMessage:"\u042d\u0442\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435."}, +"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"\u0432\u0441 \u043f\u043d \u0432\u0442 \u0441\u0440 \u0447\u0442 \u043f\u0442 \u0441\u0431".split(" "),"months-format-narrow":"\u042f\u0424\u041c\u0410\u041c\u0418\u0418\u0410\u0421\u041e\u041d\u0414".split(""),"field-second-relative+0":"\u0441\u0435\u0439\u0447\u0430\u0441","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"\u0414\u0435\u043d\u044c \u043d\u0435\u0434\u0435\u043b\u0438","dateFormatItem-yQQQ":"QQQ y '\u0433'.", +"dateFormatItem-yMEd":"ccc, d.MM.y '\u0433'.","field-wed-relative+0":"\u0432 \u044d\u0442\u0443 \u0441\u0440\u0435\u0434\u0443","field-wed-relative+1":"\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0440\u0435\u0434\u0443","dateFormatItem-GyMMMEd":"E, d MMM y G","dateFormatItem-MMMEd":"ccc, d MMM",eraNarrow:["\u0434\u043e \u043d.\u044d.","\u043d.\u044d."],"dateFormatItem-yMM":"MM.y","field-tue-relative+-1":"\u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0432\u0442\u043e\u0440\u043d\u0438\u043a", +"days-format-short":"\u0432\u0441 \u043f\u043d \u0432\u0442 \u0441\u0440 \u0447\u0442 \u043f\u0442 \u0441\u0431".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d MMMM y '\u0433'.","field-fri-relative+-1":"\u0432 \u043f\u0440\u043e\u0448\u043b\u0443\u044e \u043f\u044f\u0442\u043d\u0438\u0446\u0443","field-wed-relative+-1":"\u0432 \u043f\u0440\u043e\u0448\u043b\u0443\u044e \u0441\u0440\u0435\u0434\u0443","months-format-wide":"\u044f\u043d\u0432\u0430\u0440\u044f \u0444\u0435\u0432\u0440\u0430\u043b\u044f \u043c\u0430\u0440\u0442\u0430 \u0430\u043f\u0440\u0435\u043b\u044f \u043c\u0430\u044f \u0438\u044e\u043d\u044f \u0438\u044e\u043b\u044f \u0430\u0432\u0433\u0443\u0441\u0442\u0430 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u043e\u043a\u0442\u044f\u0431\u0440\u044f \u043d\u043e\u044f\u0431\u0440\u044f \u0434\u0435\u043a\u0430\u0431\u0440\u044f".split(" "), +"dateTimeFormat-medium":"{1}, {0}","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE, d MMMM y '\u0433'.","field-thu-relative+-1":"\u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u0447\u0435\u0442\u0432\u0435\u0440\u0433","dateFormatItem-Md":"dd.MM",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"dd.MM.y","field-era":"\u042d\u0440\u0430","dateFormatItem-yM":"MM.y","months-standAlone-wide":"\u042f\u043d\u0432\u0430\u0440\u044c \u0424\u0435\u0432\u0440\u0430\u043b\u044c \u041c\u0430\u0440\u0442 \u0410\u043f\u0440\u0435\u043b\u044c \u041c\u0430\u0439 \u0418\u044e\u043d\u044c \u0418\u044e\u043b\u044c \u0410\u0432\u0433\u0443\u0441\u0442 \u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c \u041e\u043a\u0442\u044f\u0431\u0440\u044c \u041d\u043e\u044f\u0431\u0440\u044c \u0414\u0435\u043a\u0430\u0431\u0440\u044c".split(" "), +"timeFormat-short":"H:mm","quarters-format-wide":["1-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b","2-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b","3-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b","4-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b"],"dateFormatItem-yQQQQ":"QQQQ y '\u0433'.","timeFormat-long":"H:mm:ss z","field-year":"\u0413\u043e\u0434","dateFormatItem-yMMM":"LLL y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"\u0427\u0430\u0441","dateFormatItem-MMdd":"dd.MM", +"months-format-abbr":"\u044f\u043d\u0432. \u0444\u0435\u0432\u0440. \u043c\u0430\u0440\u0442\u0430 \u0430\u043f\u0440. \u043c\u0430\u044f \u0438\u044e\u043d\u044f \u0438\u044e\u043b\u044f \u0430\u0432\u0433. \u0441\u0435\u043d\u0442. \u043e\u043a\u0442. \u043d\u043e\u044f\u0431. \u0434\u0435\u043a.".split(" "),"field-sat-relative+0":"\u0432 \u044d\u0442\u0443 \u0441\u0443\u0431\u0431\u043e\u0442\u0443","field-sat-relative+1":"\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0443\u0431\u0431\u043e\u0442\u0443", +"timeFormat-full":"H:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"\u0441\u0435\u0433\u043e\u0434\u043d\u044f","dateFormatItem-E":"ccc","field-thu-relative+0":"\u0432 \u044d\u0442\u043e\u0442 \u0447\u0435\u0442\u0432\u0435\u0440\u0433","field-day-relative+1":"\u0437\u0430\u0432\u0442\u0440\u0430","field-thu-relative+1":"\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0447\u0435\u0442\u0432\u0435\u0440\u0433","dateFormatItem-GyMMMd":"d MMM y '\u0433'. G", +"field-day-relative+2":"\u043f\u043e\u0441\u043b\u0435\u0437\u0430\u0432\u0442\u0440\u0430","dateFormatItem-H":"H","months-standAlone-abbr":"\u042f\u043d\u0432. \u0424\u0435\u0432\u0440. \u041c\u0430\u0440\u0442 \u0410\u043f\u0440. \u041c\u0430\u0439 \u0418\u044e\u043d\u044c \u0418\u044e\u043b\u044c \u0410\u0432\u0433. \u0421\u0435\u043d\u0442. \u041e\u043a\u0442. \u041d\u043e\u044f\u0431. \u0414\u0435\u043a.".split(" "),"quarters-format-abbr":["1-\u0439 \u043a\u0432.","2-\u0439 \u043a\u0432.","3-\u0439 \u043a\u0432.", +"4-\u0439 \u043a\u0432."],"quarters-standAlone-wide":["1-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b","2-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b","3-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b","4-\u0439 \u043a\u0432\u0430\u0440\u0442\u0430\u043b"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"\u0412\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435 \u041f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a \u0412\u0442\u043e\u0440\u043d\u0438\u043a \u0421\u0440\u0435\u0434\u0430 \u0427\u0435\u0442\u0432\u0435\u0440\u0433 \u041f\u044f\u0442\u043d\u0438\u0446\u0430 \u0421\u0443\u0431\u0431\u043e\u0442\u0430".split(" "), +"dateFormatItem-yLLLL":"LLLL y","dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"H:mm:ss","field-sun-relative+0":"\u0432 \u044d\u0442\u043e \u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","dateFormatItem-Hm":"H:mm","field-sun-relative+1":"\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435 \u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","quarters-standAlone-abbr":["1-\u0439 \u043a\u0432.","2-\u0439 \u043a\u0432.","3-\u0439 \u043a\u0432.", +"4-\u0439 \u043a\u0432."],eraAbbr:["\u0434\u043e \u043d. \u044d.","\u043d. \u044d."],"field-minute":"\u041c\u0438\u043d\u0443\u0442\u0430","field-dayperiod":"\u0414\u041f/\u041f\u041f","days-standAlone-abbr":"\u0412\u0441 \u041f\u043d \u0412\u0442 \u0421\u0440 \u0427\u0442 \u041f\u0442 \u0421\u0431".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"\u0432\u0447\u0435\u0440\u0430","dateTimeFormat-long":"{1}, {0}","dayPeriods-format-narrow-am":"AM", +"dateFormatItem-h":"h a","field-day-relative+-2":"\u043f\u043e\u0437\u0430\u0432\u0447\u0435\u0440\u0430","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E, dd.MM","dateTimeFormat-full":"{1}, {0}","field-fri-relative+0":"\u0432 \u044d\u0442\u0443 \u043f\u044f\u0442\u043d\u0438\u0446\u0443","field-fri-relative+1":"\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043f\u044f\u0442\u043d\u0438\u0446\u0443","dateFormatItem-yMMMM":"LLLL y","field-day":"\u0414\u0435\u043d\u044c","days-format-wide":"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435 \u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a \u0432\u0442\u043e\u0440\u043d\u0438\u043a \u0441\u0440\u0435\u0434\u0430 \u0447\u0435\u0442\u0432\u0435\u0440\u0433 \u043f\u044f\u0442\u043d\u0438\u0446\u0430 \u0441\u0443\u0431\u0431\u043e\u0442\u0430".split(" "), +"field-zone":"\u0427\u0430\u0441\u043e\u0432\u043e\u0439 \u043f\u043e\u044f\u0441","months-standAlone-narrow":"\u042f\u0424\u041c\u0410\u041c\u0418\u0418\u0410\u0421\u041e\u041d\u0414".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"\u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u0433\u043e\u0434\u0443","field-month-relative+-1":"\u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u043c \u043c\u0435\u0441\u044f\u0446\u0435","dateTimeFormats-appendItem-Year":"{1} {0}", +"dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"\u0432\u0441 \u043f\u043d \u0432\u0442 \u0441\u0440 \u0447\u0442 \u043f\u0442 \u0441\u0431".split(" "),eraNames:["\u0434\u043e \u043d.\u044d.","\u043d.\u044d."],"dateFormatItem-yMMMd":"d MMM y '\u0433'.","days-format-narrow":"\u0432\u0441 \u043f\u043d \u0432\u0442 \u0441\u0440 \u0447\u0442 \u043f\u0442 \u0441\u0431".split(" "),"field-month":"\u041c\u0435\u0441\u044f\u0446", +"days-standAlone-narrow":"\u0412\u041f\u0412\u0421\u0427\u041f\u0421".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"\u0432 \u044d\u0442\u043e\u0442 \u0432\u0442\u043e\u0440\u043d\u0438\u043a","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0442\u043e\u0440\u043d\u0438\u043a","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})", +"dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"\u0432 \u044d\u0442\u043e\u0442 \u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","field-mon-relative+1":"\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","dateFormat-short":"dd.MM.yy","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"\u0421\u0435\u043a\u0443\u043d\u0434\u0430", +"field-sat-relative+-1":"\u0432 \u043f\u0440\u043e\u0448\u043b\u0443\u044e \u0441\u0443\u0431\u0431\u043e\u0442\u0443","dateFormatItem-yMMMEd":"E, d MMM y","field-sun-relative+-1":"\u0432 \u043f\u0440\u043e\u0448\u043b\u043e\u0435 \u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","field-month-relative+0":"\u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u044f\u0446\u0435","field-month-relative+1":"\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u043c\u0435\u0441\u044f\u0446\u0435", +"dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"ccc, d","field-week":"\u041d\u0435\u0434\u0435\u043b\u044f","dateFormat-medium":"d MMM y '\u0433'.","field-week-relative+-1":"\u043d\u0430 \u043f\u0440\u043e\u0448\u043b\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u0435","field-year-relative+0":"\u0432 \u044d\u0442\u043e\u043c\u0443 \u0433\u043e\u0434\u0443","field-year-relative+1":"\u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c \u0433\u043e\u0434\u0443","dayPeriods-format-narrow-pm":"PM", +"dateTimeFormat-short":"{1}, {0}","dateFormatItem-Hms":"H:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"LLL y G","field-mon-relative+-1":"\u0432 \u043f\u0440\u043e\u0448\u043b\u044b\u0439 \u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","field-week-relative+0":"\u043d\u0430 \u044d\u0442\u043e\u0439 \u043d\u0435\u0434\u0435\u043b\u0435","field-week-relative+1":"\u043d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u043d\u0435\u0434\u0435\u043b\u0435"}, +"dijit/nls/loading":{_localized:{},loadingState:"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430...",errorState:"\u0418\u0437\u0432\u0438\u043d\u0438\u0442\u0435, \u0432\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]", +_localized:{},"decimalFormat-short":"000\u00a0\u0442\u0440\u043b\u043d","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"\u043d\u0435\u00a0\u0447\u0438\u0441\u043b\u043e",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0\u00a0%","decimalFormat-long":"000 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430",decimalFormat:"#,##0.###", +decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b",_localized:{},nextMessage:"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"\u041e\u0442\u043c\u0435\u043d\u0430",_localized:{},buttonSave:"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c", +itemClose:"\u0417\u0430\u043a\u0440\u044b\u0442\u044c"}}); +//# sourceMappingURL=dojo_ru.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_sk.js b/Server/www/spiderbasic/dojo/nls/dojo_sk.js new file mode 100644 index 0000000..f9b99d3 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_sk.js @@ -0,0 +1,17 @@ +//>>built +define("dojo/nls/dojo_sk",{"dijit/form/nls/validate":{invalidMessage:"Zadan\u00e1 hodnota nie je platn\u00e1.",rangeMessage:"T\u00e1to hodnota je mimo rozsah.",_localized:{},missingMessage:"T\u00e1to hodnota je povinn\u00e1."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm","days-standAlone-short":"Ne Po Ut St \u0160t Pi So".split(" "),"months-format-narrow":"jfmamjjasond".split(""),"field-second-relative+0":"teraz","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"De\u0148 v t\u00fd\u017edni", +"dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E d. M. y","field-wed-relative+0":"T\u00fato stredu","field-wed-relative+1":"Bud\u00facu stredu","dateFormatItem-GyMMMEd":"E, d. MMM y G","dateFormatItem-MMMEd":"E, d. MMM.",eraNarrow:["pred n.l.","n.l."],"field-tue-relative+-1":"Minul\u00fd utorok","days-format-short":"Ne Po Ut St \u0160t Pi So".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d. MMMM y","field-fri-relative+-1":"Minul\u00fd piatok","field-wed-relative+-1":"Minul\u00fa stredu", +"months-format-wide":"janu\u00e1ra febru\u00e1ra marca apr\u00edla m\u00e1ja j\u00fana j\u00fala augusta septembra okt\u00f3bra novembra decembra".split(" "),"dateTimeFormat-medium":"{1} {0}","dateFormatItem-yMMMMd":"d. MMMM y","dayPeriods-format-wide-pm":"PM","dateFormat-full":"EEEE, d. MMMM y","field-thu-relative+-1":"Minul\u00fd \u0161tvrtok","dateFormatItem-Md":"d.M.",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon", +"dateFormatItem-yMd":"d.M.y","field-era":"\u00c9ra","dateFormatItem-yM":"M.y","months-standAlone-wide":"janu\u00e1r febru\u00e1r marec apr\u00edl m\u00e1j j\u00fan j\u00fal august september okt\u00f3ber november december".split(" "),"timeFormat-short":"H:mm","quarters-format-wide":["1. \u0161tvr\u0165rok","2. \u0161tvr\u0165rok","3. \u0161tvr\u0165rok","4. \u0161tvr\u0165rok"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"H:mm:ss z","field-year":"Rok","dateFormatItem-yMMM":"LLL y","dateTimeFormats-appendItem-Era":"{1} {0}", +"field-hour":"Hodina","months-format-abbr":"jan feb mar apr m\u00e1j j\u00fan j\u00fal aug sep okt nov dec".split(" "),"field-sat-relative+0":"T\u00fato sobotu","field-sat-relative+1":"Bud\u00facu sobotu","timeFormat-full":"H:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"Dnes","field-thu-relative+0":"Tento \u0161tvrtok","field-day-relative+1":"Zajtra","field-thu-relative+1":"Bud\u00faci \u0161tvrtok","dateFormatItem-GyMMMd":"d.M.y G","field-day-relative+2":"Pozajtra", +"dateFormatItem-H":"H","months-standAlone-abbr":"jan feb mar apr m\u00e1j j\u00fan j\u00fal aug sep okt nov dec".split(" "),"quarters-format-abbr":["Q1","Q2","Q3","Q4"],"quarters-standAlone-wide":["1. \u0161tvr\u0165rok","2. \u0161tvr\u0165rok","3. \u0161tvr\u0165rok","4. \u0161tvr\u0165rok"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L.","days-standAlone-wide":"nede\u013ea pondelok utorok streda \u0161tvrtok piatok sobota".split(" "),"dateFormatItem-MMMMd":"d. MMMM","dateFormatItem-GyMMMMd":"d. MMMM y G", +"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"H:mm:ss","field-sun-relative+0":"T\u00fato nede\u013eu","dateFormatItem-Hm":"H:mm","field-sun-relative+1":"Bud\u00facu nede\u013eu","quarters-standAlone-abbr":["1Q","2Q","3Q","4Q"],eraAbbr:["pred n.l.","n.l."],"field-minute":"Min\u00fata","field-dayperiod":"\u010cas\u0165 d\u0148a","days-standAlone-abbr":"ne po ut st \u0161t pi so".split(" "),"dateFormatItem-d":"d.","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"V\u010dera", +"dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","field-day-relative+-2":"Predv\u010derom","dateFormatItem-MMMd":"d. MMM.","dateFormatItem-MEd":"E, d.M.","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"Tento piatok","field-fri-relative+1":"Bud\u00faci piatok","dateFormatItem-yMMMM":"LLLL y","field-day":"De\u0148","days-format-wide":"nede\u013ea pondelok utorok streda \u0161tvrtok piatok sobota".split(" "),"field-zone":"\u010casov\u00e9 p\u00e1smo", +"months-standAlone-narrow":"jfmamjjasond".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"Minul\u00fd rok","field-month-relative+-1":"Posledn\u00fd mesiac","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"ne po ut st \u0161t pi so".split(" "),eraNames:["pred n.l.","n.l."],"dateFormatItem-yMMMd":"d.M.y","days-format-narrow":"NPUS\u0160PS".split(""), +"field-month":"Mesiac","days-standAlone-narrow":"NPUS\u0160PS".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"Tento utorok","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"Bud\u00faci utorok","dayPeriods-format-wide-am":"AM","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-MMMMEd":"E, d. MMMM","dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"Tento pondelok","field-mon-relative+1":"Bud\u00faci pondelok", +"dateFormat-short":"d.M.y","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss","dayPeriods-format-narrow-noon":"n","field-second":"Sekunda","field-sat-relative+-1":"Minul\u00fa sobotu","dateFormatItem-yMMMEd":"E, d. MMM y","field-sun-relative+-1":"Minul\u00fa nede\u013eu","field-month-relative+0":"Tento mesiac","field-month-relative+1":"Bud\u00faci mesiac","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d.","field-week":"T\u00fd\u017ede\u0148","dateFormat-medium":"d.M.y", +"field-week-relative+-1":"Minul\u00fd t\u00fd\u017ede\u0148","field-year-relative+0":"Tento rok","field-year-relative+1":"Bud\u00faci rok","dayPeriods-format-narrow-pm":"p","dateFormatItem-mmss":"mm:ss","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"H:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"LLL y G","field-mon-relative+-1":"Minul\u00fd pondelok","field-week-relative+0":"Tento t\u00fd\u017ede\u0148","field-week-relative+1":"Bud\u00faci t\u00fd\u017ede\u0148"},"dijit/nls/loading":{_localized:{}, +loadingState:"Zav\u00e1dza sa...",errorState:"\u013dutujeme, ale vyskytla sa chyba"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0bil'.'","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]", +currencyFormat:"#,##0.00\u00a0\u00a4;(#,##0.00\u00a0\u00a4)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0\u00a0%","decimalFormat-long":"000 bili\u00f3nov",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"Predch\u00e1dzaj\u00face mo\u017enosti",_localized:{},nextMessage:"Viac mo\u017enost\u00ed"},"dijit/nls/common":{buttonOk:"OK", +buttonCancel:"Zru\u0161i\u0165",_localized:{},buttonSave:"Ulo\u017ei\u0165",itemClose:"Zatvori\u0165"}}); +//# sourceMappingURL=dojo_sk.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_sl.js b/Server/www/spiderbasic/dojo/nls/dojo_sl.js new file mode 100644 index 0000000..c6735af --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_sl.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_sl",{"dijit/form/nls/validate":{invalidMessage:"Vnesena vrednost ni veljavna.",rangeMessage:"Ta vrednost je izven obmo\u010dja.",_localized:{},missingMessage:"Ta vrednost je zahtevana."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h.mm a","days-standAlone-short":"ned. pon. tor. sre. \u010det. pet. sob.".split(" "),"months-format-narrow":"jfmamjjasond".split(""),"field-second-relative+0":"zdaj","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"Dan v tednu", +"dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E, d. M. y","field-wed-relative+0":"To sredo","field-wed-relative+1":"Naslednjo sredo","dateFormatItem-GyMMMEd":"E, d. MMM y G","dateFormatItem-MMMEd":"E, d. MMM",eraNarrow:["pr. n. \u0161t.","po Kr.","po n. \u0161t."],"field-tue-relative+-1":"Prej\u0161nji torek","days-format-short":"ned. pon. tor. sre. \u010det. pet. sob.".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"dd. MMMM y","field-fri-relative+-1":"Prej\u0161nji petek", +"field-wed-relative+-1":"Prej\u0161njo sredo","months-format-wide":"januar februar marec april maj junij julij avgust september oktober november december".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"pop.","dateFormat-full":"EEEE, dd. MMMM y","field-thu-relative+-1":"Prej\u0161nji \u010detrtek","dateFormatItem-Md":"d. M.",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d. M. y", +"field-era":"Doba","dateFormatItem-yM":"M/y","months-standAlone-wide":"januar februar marec april maj junij julij avgust september oktober november december".split(" "),"timeFormat-short":"HH.mm","quarters-format-wide":["1. \u010detrtletje","2. \u010detrtletje","3. \u010detrtletje","4. \u010detrtletje"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"HH.mm.ss z","field-year":"Leto","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"Ura","months-format-abbr":"jan. feb. mar. apr. maj jun. jul. avg. sep. okt. nov. dec.".split(" "), +"field-sat-relative+0":"To soboto","field-sat-relative+1":"Naslednjo soboto","timeFormat-full":"HH.mm.ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"Danes","field-thu-relative+0":"Ta \u010detrtek","field-day-relative+1":"Jutri","field-thu-relative+1":"Naslednji \u010detrtek","dateFormatItem-GyMMMd":"d. MMM y G","field-day-relative+2":"Pojutri\u0161njem","dateFormatItem-H":"HH","months-standAlone-abbr":"jan feb mar apr maj jun jul avg sep okt nov dec".split(" "), +"quarters-format-abbr":["Q1","Q2","Q3","Q4"],"quarters-standAlone-wide":["1. \u010detrtletje","2. \u010detrtletje","3. \u010detrtletje","4. \u010detrtletje"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"nedelja ponedeljek torek sreda \u010detrtek petek sobota".split(" "),"dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"HH.mm.ss","field-sun-relative+0":"To nedeljo","dateFormatItem-Hm":"HH.mm","field-sun-relative+1":"Naslednjo nedeljo","quarters-standAlone-abbr":["Q1", +"Q2","Q3","Q4"],eraAbbr:["pr. n. \u0161t.","po Kr.","po n. \u0161t."],"field-minute":"Minuta","field-dayperiod":"\u010cas dneva","days-standAlone-abbr":"ned pon tor sre \u010det pet sob".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm.ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"V\u010deraj","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","field-day-relative+-2":"Predv\u010deraj\u0161njim","dateFormatItem-MMMd":"d. MMM", +"dateFormatItem-MEd":"E, d. MM.","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"Ta petek","field-fri-relative+1":"Naslednji petek","dateFormatItem-yMMMM":"MMMM y","field-day":"Dan","days-format-wide":"nedelja ponedeljek torek sreda \u010detrtek petek sobota".split(" "),"field-zone":"Obmo\u010dje","months-standAlone-narrow":"jfmamjjasond".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"Lani","field-month-relative+-1":"Prej\u0161nji mesec", +"dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h.mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"ned. pon. tor. sre. \u010det. pet. sob.".split(" "),"dateFormatItem-GyM":"M/y G",eraNames:["pred na\u0161im \u0161tetjem","na\u0161e \u0161tetje","po n. \u0161t."],"dateFormatItem-yMMMd":"d. MMM y","days-format-narrow":"npts\u010dps".split(""),"field-month":"Mesec","days-standAlone-narrow":"npts\u010dps".split(""),"dateFormatItem-MMM":"LLL", +"field-tue-relative+0":"Ta torek","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"Naslednji torek","dayPeriods-format-wide-am":"dop.","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-EHm":"E HH.mm","field-mon-relative+0":"Ta ponedeljek","field-mon-relative+1":"Naslednji ponedeljek","dateFormat-short":"d. MM. yy","dateFormatItem-EHms":"E HH.mm.ss","dateFormatItem-Ehms":"E h.mm.ss a","dayPeriods-format-narrow-noon":"n", +"field-second":"Sekunda","field-sat-relative+-1":"Prej\u0161njo soboto","dateFormatItem-yMMMEd":"E, d. MMM y","field-sun-relative+-1":"Prej\u0161njo nedeljo","field-month-relative+0":"Ta mesec","field-month-relative+1":"Naslednji mesec","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E, d.","field-week":"Teden","dateFormat-medium":"d. MMM y","field-week-relative+-1":"Prej\u0161nji teden","field-year-relative+0":"Letos","field-year-relative+1":"Naslednje leto","dayPeriods-format-narrow-pm":"p", +"dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH.mm.ss","dateFormatItem-hms":"h.mm.ss a","dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"Prej\u0161nji ponedeljek","field-week-relative+0":"Ta teden","field-week-relative+1":"Naslednji teden"},"dijit/nls/loading":{_localized:{},loadingState:"Nalaganje ...",errorState:"Oprostite, pri\u0161lo je do napake."},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7", +list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0bil'.'","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4;(#,##0.00\u00a0\u00a4)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:".",percentFormat:"#,##0%","decimalFormat-long":"000 bilijonov",decimalFormat:"#,##0.###", +decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"e"},"dijit/form/nls/ComboBox":{previousMessage:"Prej\u0161nje izbire",_localized:{},nextMessage:"Dodatne izbire"},"dijit/nls/common":{buttonOk:"V redu",buttonCancel:"Prekli\u010di",_localized:{},buttonSave:"Shrani",itemClose:"Zapri"}}); +//# sourceMappingURL=dojo_sl.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_sv.js b/Server/www/spiderbasic/dojo/nls/dojo_sv.js new file mode 100644 index 0000000..e4c4665 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_sv.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_sv",{"dijit/form/nls/validate":{invalidMessage:"Angivet v\u00e4rde \u00e4r inte giltigt.",rangeMessage:"V\u00e4rdet ligger utanf\u00f6r intervallet.",_localized:{},missingMessage:"V\u00e4rdet kr\u00e4vs."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"S\u00f6 M\u00e5 Ti On To Fr L\u00f6".split(" "),"months-format-narrow":"JFMAMJJASOND".split(""),"field-second-relative+0":"nu","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"Veckodag", +"dateFormatItem-yQQQ":"y QQQ","dateFormatItem-yMEd":"E, y-MM-dd","field-wed-relative+0":"onsdag denna vecka","field-wed-relative+1":"onsdag n\u00e4sta vecka","dateFormatItem-GyMMMEd":"E d MMM y G","dateFormatItem-MMMEd":"E d MMM",eraNarrow:["f.Kr.","fvt","e.Kr.","vt"],"dateFormatItem-yMM":"y-MM","field-tue-relative+-1":"tisdag f\u00f6rra veckan","days-format-short":"s\u00f6 m\u00e5 ti on to fr l\u00f6".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d MMMM y","field-fri-relative+-1":"fredag f\u00f6rra veckan", +"field-wed-relative+-1":"onsdag f\u00f6rra veckan","months-format-wide":"januari februari mars april maj juni juli augusti september oktober november december".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"em","dateFormat-full":"EEEE d MMMM y","field-thu-relative+-1":"torsdag f\u00f6rra veckan","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"FM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"y-MM-dd", +"field-era":"Era","dateFormatItem-yM":"y-MM","months-standAlone-wide":"Januari Februari Mars April Maj Juni Juli Augusti September Oktober November December".split(" "),"timeFormat-short":"HH:mm","quarters-format-wide":["1:a kvartalet","2:a kvartalet","3:e kvartalet","4:e kvartalet"],"dateFormatItem-yQQQQ":"y QQQQ","timeFormat-long":"HH:mm:ss z","field-year":"\u00c5r","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"timme","dateFormatItem-MMdd":"dd/MM","months-format-abbr":"jan feb mar apr maj jun jul aug sep okt nov dec".split(" "), +"field-sat-relative+0":"l\u00f6rdag denna vecka","field-sat-relative+1":"l\u00f6rdag n\u00e4sta vecka","timeFormat-full":"'kl'. HH:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"i dag","field-thu-relative+0":"torsdag denna vecka","field-day-relative+1":"i morgon","field-thu-relative+1":"torsdag n\u00e4sta vecka","dateFormatItem-GyMMMd":"d MMM y G","field-day-relative+2":"i \u00f6vermorgon","dateFormatItem-H":"HH","months-standAlone-abbr":"Jan Feb Mar Apr Maj Jun Jul Aug Sep Okt Nov Dec".split(" "), +"quarters-format-abbr":["K1","K2","K3","K4"],"quarters-standAlone-wide":["1:a kvartalet","2:a kvartalet","3:e kvartalet","4:e kvartalet"],"dateFormatItem-Gy":"y G","dateFormatItem-M":"L","days-standAlone-wide":"S\u00f6ndag M\u00e5ndag Tisdag Onsdag Torsdag Fredag L\u00f6rdag".split(" "),"dateFormatItem-MMMMd":"d MMMM","dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"HH:mm:ss","field-sun-relative+0":"s\u00f6ndag denna vecka","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"s\u00f6ndag n\u00e4sta vecka", +"quarters-standAlone-abbr":["K1","K2","K3","K4"],eraAbbr:["f.Kr.","e.Kr."],"field-minute":"Minut","field-dayperiod":"fm/em","days-standAlone-abbr":"S\u00f6n M\u00e5n Tis Ons Tor Fre L\u00f6r".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"i g\u00e5r","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"f","dateFormatItem-h":"h a","field-day-relative+-2":"i f\u00f6rrg\u00e5r","dateFormatItem-MMMd":"d MMM", +"dateFormatItem-MEd":"E d/M","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"fredag denna vecka","field-fri-relative+1":"fredag n\u00e4sta vecka","field-day":"Dag","days-format-wide":"s\u00f6ndag m\u00e5ndag tisdag onsdag torsdag fredag l\u00f6rdag".split(" "),"field-zone":"Tidszon","months-standAlone-narrow":"JFMAMJJASOND".split(""),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"i fjol","field-month-relative+-1":"f\u00f6rra m\u00e5naden", +"dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"EM","days-format-abbr":"s\u00f6n m\u00e5n tis ons tors fre l\u00f6r".split(" "),eraNames:["f\u00f6re Kristus","f\u00f6re v\u00e4sterl\u00e4ndsk tider\u00e4kning","efter Kristus","v\u00e4sterl\u00e4ndsk tider\u00e4kning"],"dateFormatItem-yMMMd":"d MMM y","days-format-narrow":"SMTOTFL".split(""),"field-month":"M\u00e5nad","days-standAlone-narrow":"SMTOTFL".split(""), +"dateFormatItem-MMM":"LLL","field-tue-relative+0":"tisdag denna vecka","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"tisdag n\u00e4sta vecka","dayPeriods-format-wide-am":"fm","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-MMMMEd":"E d MMMM","dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"m\u00e5ndag denna vecka","field-mon-relative+1":"m\u00e5ndag n\u00e4sta vecka","dateFormat-short":"y-MM-dd", +"dateFormatItem-MMd":"d/M","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"Sekund","field-sat-relative+-1":"l\u00f6rdag f\u00f6rra veckan","dateFormatItem-yMMMEd":"E d MMM y","field-sun-relative+-1":"s\u00f6ndag f\u00f6rra veckan","field-month-relative+0":"denna m\u00e5nad","field-month-relative+1":"n\u00e4sta m\u00e5nad","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d","field-week":"Vecka","dateFormat-medium":"d MMM y", +"field-week-relative+-1":"f\u00f6rra veckan","field-year-relative+0":"i \u00e5r","field-year-relative+1":"n\u00e4sta \u00e5r","dayPeriods-format-narrow-pm":"e","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"MMM y G","field-mon-relative+-1":"m\u00e5ndag f\u00f6rra veckan","field-week-relative+0":"denna vecka","field-week-relative+1":"n\u00e4sta vecka"},"dijit/nls/loading":{_localized:{},loadingState:"L\u00e4ser in...",errorState:"Det har intr\u00e4ffat ett fel."}, +"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00b7",list:";",percentSign:"%",minusSign:"\u2212","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0bn","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"\u00a4\u00a4\u00a4",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]", +perMille:"\u2030",group:"\u00a0",percentFormat:"#,##0\u00a0%","decimalFormat-long":"000 biljoner",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"\u00d710^"},"dijit/form/nls/ComboBox":{previousMessage:"Tidigare val",_localized:{},nextMessage:"Fler val"},"dijit/nls/common":{buttonOk:"OK",buttonCancel:"Avbryt",_localized:{},buttonSave:"Spara",itemClose:"St\u00e4ng"}}); +//# sourceMappingURL=dojo_sv.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_th.js b/Server/www/spiderbasic/dojo/nls/dojo_th.js new file mode 100644 index 0000000..4c9714b --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_th.js @@ -0,0 +1,25 @@ +//>>built +define("dojo/nls/dojo_th",{"dijit/form/nls/validate":{invalidMessage:"\u0e04\u0e48\u0e32\u0e17\u0e35\u0e48\u0e1b\u0e49\u0e2d\u0e19\u0e44\u0e21\u0e48\u0e16\u0e39\u0e01\u0e15\u0e49\u0e2d\u0e07",rangeMessage:"\u0e04\u0e48\u0e32\u0e19\u0e35\u0e49\u0e40\u0e01\u0e34\u0e19\u0e0a\u0e48\u0e27\u0e07",_localized:{},missingMessage:"\u0e08\u0e33\u0e40\u0e1b\u0e47\u0e19\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e04\u0e48\u0e32\u0e19\u0e35\u0e49"},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E h:mm a","days-standAlone-short":"\u0e2d\u0e32. \u0e08. \u0e2d. \u0e1e. \u0e1e\u0e24. \u0e28. \u0e2a.".split(" "), +"months-format-narrow":"\u0e21.\u0e04. \u0e01.\u0e1e. \u0e21\u0e35.\u0e04. \u0e40\u0e21.\u0e22. \u0e1e.\u0e04. \u0e21\u0e34.\u0e22. \u0e01.\u0e04. \u0e2a.\u0e04. \u0e01.\u0e22. \u0e15.\u0e04. \u0e1e.\u0e22. \u0e18.\u0e04.".split(" "),"field-second-relative+0":"\u0e02\u0e13\u0e30\u0e19\u0e35\u0e49","quarters-standAlone-narrow":["1","2","3","4"],"field-weekday":"\u0e27\u0e31\u0e19\u0e43\u0e19\u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c","dateFormatItem-yQQQ":"QQQ y","dateFormatItem-yMEd":"E d/M/y","field-wed-relative+0":"\u0e1e\u0e38\u0e18\u0e19\u0e35\u0e49", +"field-wed-relative+1":"\u0e1e\u0e38\u0e18\u0e2b\u0e19\u0e49\u0e32","dateFormatItem-GyMMMEd":"E d MMM G y","dateFormatItem-MMMEd":"E d MMM",eraNarrow:["\u0e01\u0e48\u0e2d\u0e19 \u0e04.\u0e28.","\u0e01.\u0e2a.\u0e28.","\u0e04.\u0e28.","\u0e2a.\u0e28."],"field-tue-relative+-1":"\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27","days-format-short":"\u0e2d\u0e32. \u0e08. \u0e2d. \u0e1e. \u0e1e\u0e24. \u0e28. \u0e2a.".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}", +"dateFormat-long":"d MMMM y","field-fri-relative+-1":"\u0e28\u0e38\u0e01\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27","field-wed-relative+-1":"\u0e1e\u0e38\u0e18\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27","months-format-wide":"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21 \u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c \u0e21\u0e35\u0e19\u0e32\u0e04\u0e21 \u0e40\u0e21\u0e29\u0e32\u0e22\u0e19 \u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21 \u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19 \u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21 \u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21 \u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19 \u0e15\u0e38\u0e25\u0e32\u0e04\u0e21 \u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19 \u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split(" "), +"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07","dateFormat-full":"EEEE\u0e17\u0e35\u0e48 d MMMM G y","field-thu-relative+-1":"\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27","dateFormatItem-Md":"d/M",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon","dateFormatItem-yMd":"d/M/y","field-era":"\u0e2a\u0e21\u0e31\u0e22", +"dateFormatItem-yM":"M/y","months-standAlone-wide":"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21 \u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c \u0e21\u0e35\u0e19\u0e32\u0e04\u0e21 \u0e40\u0e21\u0e29\u0e32\u0e22\u0e19 \u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21 \u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19 \u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21 \u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21 \u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19 \u0e15\u0e38\u0e25\u0e32\u0e04\u0e21 \u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19 \u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split(" "), +"timeFormat-short":"HH:mm","quarters-format-wide":["\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 1","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 2","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 3","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 4"],"dateFormatItem-yQQQQ":"QQQQ y","timeFormat-long":"H \u0e19\u0e32\u0e2c\u0e34\u0e01\u0e32 mm \u0e19\u0e32\u0e17\u0e35 ss \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 z","field-year":"\u0e1b\u0e35","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}","field-hour":"\u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07", +"months-format-abbr":"\u0e21.\u0e04. \u0e01.\u0e1e. \u0e21\u0e35.\u0e04. \u0e40\u0e21.\u0e22. \u0e1e.\u0e04. \u0e21\u0e34.\u0e22. \u0e01.\u0e04. \u0e2a.\u0e04. \u0e01.\u0e22. \u0e15.\u0e04. \u0e1e.\u0e22. \u0e18.\u0e04.".split(" "),"field-sat-relative+0":"\u0e40\u0e2a\u0e32\u0e23\u0e4c\u0e19\u0e35\u0e49","field-sat-relative+1":"\u0e40\u0e2a\u0e32\u0e23\u0e4c\u0e2b\u0e19\u0e49\u0e32","timeFormat-full":"H \u0e19\u0e32\u0e2c\u0e34\u0e01\u0e32 mm \u0e19\u0e32\u0e17\u0e35 ss \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35 zzzz", +"dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49","field-thu-relative+0":"\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e19\u0e35\u0e49","field-day-relative+1":"\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49","field-thu-relative+1":"\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e2b\u0e19\u0e49\u0e32","dateFormatItem-GyMMMd":"d MMM G y","field-day-relative+2":"\u0e21\u0e30\u0e23\u0e37\u0e19\u0e19\u0e35\u0e49","dateFormatItem-H":"HH","months-standAlone-abbr":"\u0e21.\u0e04. \u0e01.\u0e1e. \u0e21\u0e35.\u0e04. \u0e40\u0e21.\u0e22. \u0e1e.\u0e04. \u0e21\u0e34.\u0e22. \u0e01.\u0e04. \u0e2a.\u0e04. \u0e01.\u0e22. \u0e15.\u0e04. \u0e1e.\u0e22. \u0e18.\u0e04.".split(" "), +"quarters-format-abbr":["\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 1","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 2","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 3","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 4"],"quarters-standAlone-wide":["\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 1","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 2","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 3","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 4"],"dateFormatItem-Gy":"G y","dateFormatItem-M":"L","days-standAlone-wide":"\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c \u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c \u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23 \u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18 \u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35 \u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c \u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c".split(" "), +"dateFormatItem-MMMMd":"d MMMM","dayPeriods-format-abbr-noon":"noon","timeFormat-medium":"HH:mm:ss","field-sun-relative+0":"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c\u0e19\u0e35\u0e49","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c\u0e2b\u0e19\u0e49\u0e32","quarters-standAlone-abbr":["\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 1","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 2","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 3","\u0e44\u0e15\u0e23\u0e21\u0e32\u0e2a 4"],eraAbbr:["\u0e1b\u0e35\u0e01\u0e48\u0e2d\u0e19 \u0e04.\u0e28.", +"\u0e04.\u0e28."],"field-minute":"\u0e19\u0e32\u0e17\u0e35","field-dayperiod":"\u0e0a\u0e48\u0e27\u0e07\u0e27\u0e31\u0e19","days-standAlone-abbr":"\u0e2d\u0e32. \u0e08. \u0e2d. \u0e1e. \u0e1e\u0e24. \u0e28. \u0e2a.".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1","2","3","4"],"field-day-relative+-1":"\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19","dateTimeFormat-long":"{1} {0}","dayPeriods-format-narrow-am":"a","dateFormatItem-h":"h a","field-day-relative+-2":"\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e0b\u0e37\u0e19", +"dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"E d/M","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"\u0e28\u0e38\u0e01\u0e23\u0e4c\u0e19\u0e35\u0e49","field-fri-relative+1":"\u0e28\u0e38\u0e01\u0e23\u0e4c\u0e2b\u0e19\u0e49\u0e32","dateFormatItem-yMMMM":"MMMM y","field-day":"\u0e27\u0e31\u0e19","days-format-wide":"\u0e27\u0e31\u0e19\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c \u0e27\u0e31\u0e19\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c \u0e27\u0e31\u0e19\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23 \u0e27\u0e31\u0e19\u0e1e\u0e38\u0e18 \u0e27\u0e31\u0e19\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35 \u0e27\u0e31\u0e19\u0e28\u0e38\u0e01\u0e23\u0e4c \u0e27\u0e31\u0e19\u0e40\u0e2a\u0e32\u0e23\u0e4c".split(" "), +"field-zone":"\u0e40\u0e02\u0e15\u0e40\u0e27\u0e25\u0e32","months-standAlone-narrow":"\u0e21.\u0e04. \u0e01.\u0e1e. \u0e21\u0e35.\u0e04. \u0e40\u0e21.\u0e22. \u0e1e.\u0e04. \u0e21\u0e34.\u0e22. \u0e01.\u0e04. \u0e2a.\u0e04. \u0e01.\u0e22. \u0e15.\u0e04. \u0e1e.\u0e22. \u0e18.\u0e04.".split(" "),"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"\u0e1b\u0e35\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27","field-month-relative+-1":"\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27", +"dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"h:mm a","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"\u0e2d\u0e32. \u0e08. \u0e2d. \u0e1e. \u0e1e\u0e24. \u0e28. \u0e2a.".split(" "),eraNames:["\u0e1b\u0e35\u0e01\u0e48\u0e2d\u0e19\u0e04\u0e23\u0e34\u0e2a\u0e15\u0e4c\u0e28\u0e31\u0e01\u0e23\u0e32\u0e0a","\u0e01\u0e48\u0e2d\u0e19\u0e2a\u0e32\u0e21\u0e31\u0e0d\u0e28\u0e31\u0e01\u0e23\u0e32\u0e0a","\u0e04\u0e23\u0e34\u0e2a\u0e15\u0e4c\u0e28\u0e31\u0e01\u0e23\u0e32\u0e0a", +"\u0e2a\u0e32\u0e21\u0e31\u0e0d\u0e28\u0e31\u0e01\u0e23\u0e32\u0e0a"],"dateFormatItem-yMMMd":"d MMM y","days-format-narrow":"\u0e2d\u0e32 \u0e08 \u0e2d \u0e1e \u0e1e\u0e24 \u0e28 \u0e2a".split(" "),"field-month":"\u0e40\u0e14\u0e37\u0e2d\u0e19","days-standAlone-narrow":"\u0e2d\u0e32 \u0e08 \u0e2d \u0e1e \u0e1e\u0e24 \u0e28 \u0e2a".split(" "),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23\u0e19\u0e35\u0e49","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})", +"field-tue-relative+1":"\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23\u0e2b\u0e19\u0e49\u0e32","dayPeriods-format-wide-am":"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-MMMMEd":"E d MMMM","dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c\u0e19\u0e35\u0e49","field-mon-relative+1":"\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c\u0e2b\u0e19\u0e49\u0e32", +"dateFormat-short":"d/M/yy","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E h:mm:ss a","dayPeriods-format-narrow-noon":"n","field-second":"\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35","field-sat-relative+-1":"\u0e40\u0e2a\u0e32\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27","dateFormatItem-yMMMEd":"E d MMM y","field-sun-relative+-1":"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27","field-month-relative+0":"\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e19\u0e35\u0e49", +"field-month-relative+1":"\u0e40\u0e14\u0e37\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"E d","field-week":"\u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c","dateFormat-medium":"d MMM y","field-week-relative+-1":"\u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27","field-year-relative+0":"\u0e1b\u0e35\u0e19\u0e35\u0e49","field-year-relative+1":"\u0e1b\u0e35\u0e2b\u0e19\u0e49\u0e32","dayPeriods-format-narrow-pm":"p", +"dateFormatItem-mmss":"mm:ss","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"h:mm:ss a","dateFormatItem-GyMMM":"MMM G y","field-mon-relative+-1":"\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27","field-week-relative+0":"\u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c\u0e19\u0e35\u0e49","field-week-relative+1":"\u0e2a\u0e31\u0e1b\u0e14\u0e32\u0e2b\u0e4c\u0e2b\u0e19\u0e49\u0e32"},"dijit/nls/loading":{_localized:{},loadingState:"\u0e01\u0e33\u0e25\u0e31\u0e07\u0e42\u0e2b\u0e25\u0e14...", +errorState:"\u0e02\u0e2d\u0e2d\u0e20\u0e31\u0e22 \u0e40\u0e01\u0e34\u0e14\u0e02\u0e49\u0e2d\u0e1c\u0e34\u0e14\u0e1e\u0e25\u0e32\u0e14"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0\u0e25'.'\u0e25'.'","currencySpacing-afterCurrency-insertBetween":"\u00a0", +nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4#,##0.00;(\u00a4#,##0.00)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:",",percentFormat:"#,##0%","decimalFormat-long":"000 \u0e25\u0e49\u0e32\u0e19\u0e25\u0e49\u0e32\u0e19",decimalFormat:"#,##0.###",decimal:".","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"\u0e01\u0e32\u0e23\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e01\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32", +_localized:{},nextMessage:"\u0e01\u0e32\u0e23\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e40\u0e15\u0e34\u0e21"},"dijit/nls/common":{buttonOk:"\u0e15\u0e01\u0e25\u0e07",buttonCancel:"\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01",_localized:{},buttonSave:"\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01",itemClose:"\u0e1b\u0e34\u0e14"}}); +//# sourceMappingURL=dojo_th.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_tr.js b/Server/www/spiderbasic/dojo/nls/dojo_tr.js new file mode 100644 index 0000000..443de84 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_tr.js @@ -0,0 +1,16 @@ +//>>built +define("dojo/nls/dojo_tr",{"dijit/form/nls/validate":{invalidMessage:"Girilen de\u011fer ge\u00e7ersiz.",rangeMessage:"Bu de\u011fer aral\u0131k d\u0131\u015f\u0131nda.",_localized:{},missingMessage:"Bu de\u011fer gerekli."},"dojo/cldr/nls/gregorian":{"dateFormatItem-Ehm":"E a h:mm","days-standAlone-short":"Pa Pt Sa \u00c7a Pe Cu Ct".split(" "),"months-format-narrow":"O\u015eMNMHTAEEKA".split(""),"field-second-relative+0":"\u015fimdi","quarters-standAlone-narrow":["1.","2.","3.","4."],"field-weekday":"Haftan\u0131n G\u00fcn\u00fc", +"dateFormatItem-yQQQ":"y/QQQ","dateFormatItem-yMEd":"dd.MM.y E","field-wed-relative+0":"bu \u00e7ar\u015famba","field-wed-relative+1":"gelecek \u00e7ar\u015famba","dateFormatItem-GyMMMEd":"G d MMM y E","dateFormatItem-MMMEd":"d MMMM E",eraNarrow:["M\u00d6","MS"],"dateFormatItem-yMM":"MM.y","field-tue-relative+-1":"ge\u00e7en sal\u0131","days-format-short":"Pa Pt Sa \u00c7a Pe Cu Ct".split(" "),"dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","dateFormat-long":"d MMMM y","field-fri-relative+-1":"ge\u00e7en cuma", +"field-wed-relative+-1":"ge\u00e7en \u00e7ar\u015famba","months-format-wide":"Ocak \u015eubat Mart Nisan May\u0131s Haziran Temmuz A\u011fustos Eyl\u00fcl Ekim Kas\u0131m Aral\u0131k".split(" "),"dateTimeFormat-medium":"{1} {0}","dayPeriods-format-wide-pm":"\u00d6S","dateFormat-full":"d MMMM y EEEE","field-thu-relative+-1":"ge\u00e7en per\u015fembe","dateFormatItem-Md":"dd/MM",_localized:{},"dayPeriods-format-abbr-am":"AM","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","dayPeriods-format-wide-noon":"noon", +"dateFormatItem-yMd":"dd.MM.y","field-era":"Miladi D\u00f6nem","dateFormatItem-yM":"MM/y","months-standAlone-wide":"Ocak \u015eubat Mart Nisan May\u0131s Haziran Temmuz A\u011fustos Eyl\u00fcl Ekim Kas\u0131m Aral\u0131k".split(" "),"timeFormat-short":"HH:mm","quarters-format-wide":["1. \u00e7eyrek","2. \u00e7eyrek","3. \u00e7eyrek","4. \u00e7eyrek"],"dateFormatItem-yQQQQ":"y/QQQQ","timeFormat-long":"HH:mm:ss z","field-year":"Y\u0131l","dateFormatItem-yMMM":"MMM y","dateTimeFormats-appendItem-Era":"{1} {0}", +"field-hour":"Saat","months-format-abbr":"Oca \u015eub Mar Nis May Haz Tem A\u011fu Eyl Eki Kas Ara".split(" "),"field-sat-relative+0":"bu cumartesi","field-sat-relative+1":"gelecek cumartesi","timeFormat-full":"HH:mm:ss zzzz","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-day-relative+0":"bug\u00fcn","field-thu-relative+0":"bu per\u015fembe","field-day-relative+1":"yar\u0131n","field-thu-relative+1":"gelecek per\u015fembe","dateFormatItem-GyMMMd":"G dd MMM y","field-day-relative+2":"\u00f6b\u00fcr g\u00fcn", +"dateFormatItem-H":"HH","months-standAlone-abbr":"Oca \u015eub Mar Nis May Haz Tem A\u011fu Eyl Eki Kas Ara".split(" "),"quarters-format-abbr":["\u00c71","\u00c72","\u00c73","\u00c74"],"quarters-standAlone-wide":["1. \u00e7eyrek","2. \u00e7eyrek","3. \u00e7eyrek","4. \u00e7eyrek"],"dateFormatItem-Gy":"G y","dateFormatItem-M":"L","days-standAlone-wide":"Pazar Pazartesi Sal\u0131 \u00c7ar\u015famba Per\u015fembe Cuma Cumartesi".split(" "),"dateFormatItem-MMMMd":"dd MMMM","dayPeriods-format-abbr-noon":"noon", +"timeFormat-medium":"HH:mm:ss","field-sun-relative+0":"bu pazar","dateFormatItem-Hm":"HH:mm","field-sun-relative+1":"gelecek pazar","quarters-standAlone-abbr":["\u00c71","\u00c72","\u00c73","\u00c74"],eraAbbr:["M\u00d6","MS"],"field-minute":"Dakika","field-dayperiod":"\u00d6\u00d6/\u00d6S","days-standAlone-abbr":"Paz Pzt Sal \u00c7ar Per Cum Cmt".split(" "),"dateFormatItem-d":"d","dateFormatItem-ms":"mm:ss","quarters-format-narrow":["1.","2.","3.","4."],"field-day-relative+-1":"d\u00fcn","dateTimeFormat-long":"{1} {0}", +"dayPeriods-format-narrow-am":"a","dateFormatItem-h":"a h","field-day-relative+-2":"evvelsi g\u00fcn","dateFormatItem-MMMd":"d MMM","dateFormatItem-MEd":"dd/MM E","dateTimeFormat-full":"{1} {0}","field-fri-relative+0":"bu cuma","field-fri-relative+1":"gelecek cuma","dateFormatItem-yMMMM":"MMMM y","field-day":"G\u00fcn","days-format-wide":"Pazar Pazartesi Sal\u0131 \u00c7ar\u015famba Per\u015fembe Cuma Cumartesi".split(" "),"field-zone":"Saat Dilimi","months-standAlone-narrow":"O\u015eMNMHTAEEKA".split(""), +"dateFormatItem-y":"y","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","field-year-relative+-1":"ge\u00e7en y\u0131l","field-month-relative+-1":"ge\u00e7en ay","dateTimeFormats-appendItem-Year":"{1} {0}","dateFormatItem-hm":"a h:mm","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dayPeriods-format-abbr-pm":"PM","days-format-abbr":"Paz Pzt Sal \u00c7ar Per Cum Cmt".split(" "),eraNames:["Milattan \u00d6nce","Milattan Sonra"],"dateFormatItem-yMMMd":"dd MMM y","days-format-narrow":"PPS\u00c7PCC".split(""), +"field-month":"Ay","days-standAlone-narrow":"PPS\u00c7PCC".split(""),"dateFormatItem-MMM":"LLL","field-tue-relative+0":"bu sal\u0131","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})","field-tue-relative+1":"gelecek sal\u0131","dayPeriods-format-wide-am":"\u00d6\u00d6","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-MMMMEd":"dd MMMM E","dateFormatItem-EHm":"E HH:mm","field-mon-relative+0":"bu pazartesi","field-mon-relative+1":"gelecek pazartesi", +"dateFormat-short":"d.MM.y","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-Ehms":"E a h:mm:ss","dayPeriods-format-narrow-noon":"n","field-second":"Saniye","field-sat-relative+-1":"ge\u00e7en cumartesi","dateFormatItem-yMMMEd":"d MMM y E","field-sun-relative+-1":"ge\u00e7en pazar","field-month-relative+0":"bu ay","field-month-relative+1":"gelecek ay","dateTimeFormats-appendItem-Timezone":"{0} {1}","dateFormatItem-Ed":"d E","field-week":"Hafta","dateFormat-medium":"d MMM y","field-week-relative+-1":"ge\u00e7en hafta", +"field-year-relative+0":"bu y\u0131l","field-year-relative+1":"gelecek y\u0131l","dayPeriods-format-narrow-pm":"p","dateFormatItem-mmss":"mm:ss","dateTimeFormat-short":"{1} {0}","dateFormatItem-Hms":"HH:mm:ss","dateFormatItem-hms":"a h:mm:ss","dateFormatItem-GyMMM":"G MMM y","field-mon-relative+-1":"ge\u00e7en pazartesi","field-week-relative+0":"bu hafta","field-week-relative+1":"gelecek hafta"},"dijit/nls/loading":{_localized:{},loadingState:"Y\u00fckleniyor...",errorState:"\u00dczg\u00fcn\u00fcz, bir hata olu\u015ftu"}, +"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u00a0Tn","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"#,##0.00\u00a0\u00a4;(#,##0.00\u00a0\u00a4)", +"currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:".",percentFormat:"%#,##0","decimalFormat-long":"000 trilyon",decimalFormat:"#,##0.###",decimal:",","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"\u00d6nceki se\u00e7enekler",_localized:{},nextMessage:"Di\u011fer se\u00e7enekler"},"dijit/nls/common":{buttonOk:"Tamam",buttonCancel:"\u0130ptal",_localized:{},buttonSave:"Kaydet",itemClose:"Kapat"}}); +//# sourceMappingURL=dojo_tr.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_zh-cn.js b/Server/www/spiderbasic/dojo/nls/dojo_zh-cn.js new file mode 100644 index 0000000..e11d5c2 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_zh-cn.js @@ -0,0 +1,20 @@ +//>>built +define("dojo/nls/dojo_zh-cn",{"dijit/form/nls/validate":{invalidMessage:"\u8f93\u5165\u7684\u503c\u65e0\u6548\u3002",rangeMessage:"\u6b64\u503c\u8d85\u51fa\u8303\u56f4\u3002",_localized:{},missingMessage:"\u8be5\u503c\u662f\u5fc5\u9700\u7684\u3002"},"dojo/cldr/nls/gregorian":{"dateTimeFormats-appendItem-Year":"{1} {0}","field-tue-relative+-1":"\u4e0a\u5468\u4e8c","field-year":"\u5e74","dayPeriods-format-wide-weeHours":"\u51cc\u6668","dateFormatItem-Hm":"HH:mm","field-wed-relative+0":"\u672c\u5468\u4e09", +"field-wed-relative+1":"\u4e0b\u5468\u4e09","dayPeriods-format-wide-night":"\u665a\u4e0a","dateFormatItem-ms":"mm:ss","timeFormat-short":"ah:mm","field-minute":"\u5206\u949f","dateTimeFormat-short":"{1} {0}","field-day-relative+0":"\u4eca\u5929","field-day-relative+1":"\u660e\u5929","field-day-relative+2":"\u540e\u5929","field-tue-relative+0":"\u672c\u5468\u4e8c","field-tue-relative+1":"\u4e0b\u5468\u4e8c","dayPeriods-format-narrow-am":"\u4e0a\u5348","dateFormatItem-MMMd":"M\u6708d\u65e5","dayPeriods-format-abbr-am":"AM", +"dayPeriods-format-narrow-earlyMorning":"\u6e05\u6668","field-week-relative+0":"\u672c\u5468","field-month-relative+0":"\u672c\u6708","field-week-relative+1":"\u4e0b\u5468","field-month-relative+1":"\u4e0b\u4e2a\u6708","timeFormat-medium":"ah:mm:ss","dateFormatItem-MMMMdd":"M\u6708dd\u65e5","field-second-relative+0":"\u73b0\u5728","dayPeriods-format-wide-afternoon":"\u4e0b\u5348","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","months-standAlone-narrow":"1 2 3 4 5 6 7 8 9 10 11 12".split(" "), +eraNames:["\u516c\u5143\u524d","\u516c\u5143"],"dateFormatItem-GyMMMEd":"Gy\u5e74M\u6708d\u65e5E","field-day":"\u65e5","field-year-relative+-1":"\u53bb\u5e74","dayPeriods-format-wide-am":"\u4e0a\u5348","dayPeriods-format-narrow-midDay":"\u4e2d\u5348","field-wed-relative+-1":"\u4e0a\u5468\u4e09","dateTimeFormat-medium":"{1} {0}","field-second":"\u79d2\u949f","days-standAlone-narrow":"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),"dateFormatItem-Ehms":"Eah:mm:ss","dateFormat-long":"y\u5e74M\u6708d\u65e5", +"dateFormatItem-GyMMMd":"Gy\u5e74M\u6708d\u65e5","dateFormatItem-yMMMEd":"y\u5e74M\u6708d\u65e5E","quarters-standAlone-wide":["\u7b2c\u4e00\u5b63\u5ea6","\u7b2c\u4e8c\u5b63\u5ea6","\u7b2c\u4e09\u5b63\u5ea6","\u7b2c\u56db\u5b63\u5ea6"],"days-format-narrow":"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),"dateTimeFormats-appendItem-Timezone":"{1}{0}","field-mon-relative+-1":"\u4e0a\u5468\u4e00","dateFormatItem-GyMMM":"Gy\u5e74M\u6708","field-month":"\u6708","dateFormatItem-MMM":"LLL","field-dayperiod":"\u4e0a\u5348/\u4e0b\u5348", +"dayPeriods-format-narrow-pm":"\u4e0b\u5348","dateFormat-medium":"y\u5e74M\u6708d\u65e5",eraAbbr:["\u516c\u5143\u524d","\u516c\u5143"],"quarters-standAlone-abbr":["1\u5b63\u5ea6","2\u5b63\u5ea6","3\u5b63\u5ea6","4\u5b63\u5ea6"],"dayPeriods-format-abbr-pm":"PM","field-mon-relative+0":"\u672c\u5468\u4e00","field-mon-relative+1":"\u4e0b\u5468\u4e00","months-format-narrow":"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),"days-format-short":"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "), +"quarters-format-narrow":["1","2","3","4"],"dayPeriods-format-wide-pm":"\u4e0b\u5348","field-sat-relative+-1":"\u4e0a\u5468\u516d","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dateTimeFormat-long":"{1} {0}","dateFormatItem-Md":"M/d","field-hour":"\u5c0f\u65f6","dateFormatItem-yQQQQ":"y\u5e74\u7b2cQ\u5b63\u5ea6","months-format-wide":"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" "), +"dateFormat-full":"y\u5e74M\u6708d\u65e5EEEE","field-month-relative+-1":"\u4e0a\u4e2a\u6708","dayPeriods-format-wide-earlyMorning":"\u6e05\u6668","dateFormatItem-Hms":"HH:mm:ss","field-fri-relative+0":"\u672c\u5468\u4e94","field-fri-relative+1":"\u4e0b\u5468\u4e94","dayPeriods-format-narrow-noon":"\u4e2d\u5348","dayPeriods-format-narrow-morning":"\u4e0a\u5348","dayPeriods-format-wide-morning":"\u4e0a\u5348","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})",_localized:{},"field-week-relative+-1":"\u4e0a\u5468", +"dateFormatItem-Ehm":"Eah:mm","months-format-abbr":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),"timeFormat-long":"zah:mm:ss","dateFormatItem-yMMM":"y\u5e74M\u6708","dateFormat-short":"yy/M/d","days-standAlone-wide":"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),"dateTimeFormats-appendItem-Era":"{1} {0}","dateFormatItem-H":"H\u65f6", +"dateFormatItem-M":"M\u6708","months-standAlone-wide":"\u4e00\u6708 \u4e8c\u6708 \u4e09\u6708 \u56db\u6708 \u4e94\u6708 \u516d\u6708 \u4e03\u6708 \u516b\u6708 \u4e5d\u6708 \u5341\u6708 \u5341\u4e00\u6708 \u5341\u4e8c\u6708".split(" "),"field-sun-relative+-1":"\u4e0a\u5468\u65e5","days-standAlone-abbr":"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),"dateTimeFormat-full":"{1} {0}","dateFormatItem-hm":"ah:mm","dayPeriods-format-wide-midDay":"\u4e2d\u5348", +"dateFormatItem-d":"d\u65e5","field-weekday":"\u661f\u671f","field-sat-relative+0":"\u672c\u5468\u516d","dateFormatItem-h":"ah\u65f6","field-sat-relative+1":"\u4e0b\u5468\u516d","months-standAlone-abbr":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),"dateFormatItem-yMM":"y\u5e74M\u6708","timeFormat-full":"zzzzah:mm:ss","dateFormatItem-MEd":"M/dE","dateFormatItem-y":"y\u5e74","field-thu-relative+0":"\u672c\u5468\u56db","field-thu-relative+1":"\u4e0b\u5468\u56db", +"dateFormatItem-hms":"ah:mm:ss","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dayPeriods-format-abbr-noon":"noon","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-thu-relative+-1":"\u4e0a\u5468\u56db","dateFormatItem-yMd":"y/M/d","field-week":"\u5468","quarters-standAlone-narrow":["1","2","3","4"],"quarters-format-wide":["\u7b2c\u4e00\u5b63\u5ea6","\u7b2c\u4e8c\u5b63\u5ea6","\u7b2c\u4e09\u5b63\u5ea6","\u7b2c\u56db\u5b63\u5ea6"],"dayPeriods-format-narrow-weeHours":"\u51cc\u6668","dateFormatItem-Ed":"d\u65e5E", +"dayPeriods-format-narrow-afternoon":"\u4e0b\u5348","dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","days-standAlone-short":"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),"quarters-format-abbr":["1\u5b63\u5ea6","2\u5b63\u5ea6","3\u5b63\u5ea6","4\u5b63\u5ea6"],"field-year-relative+0":"\u4eca\u5e74","field-year-relative+1":"\u660e\u5e74","field-fri-relative+-1":"\u4e0a\u5468\u4e94",eraNarrow:["\u516c\u5143\u524d","\u516c\u5143"],"dayPeriods-format-wide-noon":"\u4e2d\u5348", +"dateFormatItem-yQQQ":"y\u5e74\u7b2cQ\u5b63\u5ea6","days-format-wide":"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),"dayPeriods-format-narrow-night":"\u665a\u4e0a","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})","dateFormatItem-EHm":"EHH:mm","field-zone":"\u65f6\u533a","dateFormatItem-yM":"y/M","dateFormatItem-yMMMM":"y\u5e74M\u6708","dateFormatItem-MMMEd":"M\u6708d\u65e5E","dateFormatItem-EHms":"EHH:mm:ss", +"dateFormatItem-yMEd":"y/M/dE","field-day-relative+-1":"\u6628\u5929","field-day-relative+-2":"\u524d\u5929","days-format-abbr":"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),"field-sun-relative+0":"\u672c\u5468\u65e5","dateFormatItem-MMdd":"MM/dd","field-sun-relative+1":"\u4e0b\u5468\u65e5","dateFormatItem-yMMMd":"y\u5e74M\u6708d\u65e5","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-Gy":"Gy\u5e74","field-era":"\u7eaa\u5143"}, +"dijit/nls/loading":{_localized:{},loadingState:"\u6b63\u5728\u52a0\u8f7d...",errorState:"\u5bf9\u4e0d\u8d77\uff0c\u53d1\u751f\u4e86\u9519\u8bef"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",superscriptingExponent:"\u00d7",list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000\u5146","currencySpacing-afterCurrency-insertBetween":"\u00a0", +nan:"NaN",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4#,##0.00;(\u00a4#,##0.00)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:",",percentFormat:"#,##0%","decimalFormat-long":"000\u5146",decimalFormat:"#,##0.###",decimal:".","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"\u5148\u524d\u9009\u9879",_localized:{},nextMessage:"\u66f4\u591a\u9009\u9879"}, +"dijit/nls/common":{buttonOk:"\u786e\u5b9a",buttonCancel:"\u53d6\u6d88",_localized:{},buttonSave:"\u4fdd\u5b58",itemClose:"\u5173\u95ed"}}); +//# sourceMappingURL=dojo_zh-cn.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/nls/dojo_zh-tw.js b/Server/www/spiderbasic/dojo/nls/dojo_zh-tw.js new file mode 100644 index 0000000..63678f5 --- /dev/null +++ b/Server/www/spiderbasic/dojo/nls/dojo_zh-tw.js @@ -0,0 +1,19 @@ +//>>built +define("dojo/nls/dojo_zh-tw",{"dijit/form/nls/validate":{invalidMessage:"\u8f38\u5165\u7684\u503c\u7121\u6548\u3002",rangeMessage:"\u6b64\u503c\u8d85\u51fa\u7bc4\u570d\u3002",_localized:{},missingMessage:"\u5fc5\u9808\u63d0\u4f9b\u6b64\u503c\u3002"},"dojo/cldr/nls/gregorian":{"dateTimeFormats-appendItem-Year":"{1} {0}","field-tue-relative+-1":"\u4e0a\u9031\u4e8c","field-year":"\u5e74","dayPeriods-format-wide-weeHours":"\u51cc\u6668","dateFormatItem-Hm":"HH:mm","field-wed-relative+0":"\u672c\u9031\u4e09", +"field-wed-relative+1":"\u4e0b\u9031\u4e09","dayPeriods-format-wide-night":"\u665a\u4e0a","dateFormatItem-ms":"mm:ss","timeFormat-short":"ah:mm","field-minute":"\u5206\u9418","dateTimeFormat-short":"{1} {0}","field-day-relative+0":"\u4eca\u5929","field-day-relative+1":"\u660e\u5929","field-day-relative+2":"\u5f8c\u5929","field-tue-relative+0":"\u672c\u9031\u4e8c","field-tue-relative+1":"\u4e0b\u9031\u4e8c","dayPeriods-format-narrow-am":"\u4e0a\u5348","dateFormatItem-MMMd":"M\u6708d\u65e5","dayPeriods-format-abbr-am":"AM", +"dayPeriods-format-narrow-earlyMorning":"\u6e05\u6668","field-week-relative+0":"\u672c\u9031","field-month-relative+0":"\u672c\u6708","field-week-relative+1":"\u4e0b\u9031","field-month-relative+1":"\u4e0b\u500b\u6708","timeFormat-medium":"ah:mm:ss","dateFormatItem-MMMMdd":"M\u6708dd\u65e5","field-second-relative+0":"\u73fe\u5728","dayPeriods-format-wide-afternoon":"\u4e0b\u5348","dateTimeFormats-appendItem-Second":"{0} ({2}: {1})","months-standAlone-narrow":"1 2 3 4 5 6 7 8 9 10 11 12".split(" "), +eraNames:["\u897f\u5143\u524d","\u897f\u5143"],"dateFormatItem-GyMMMEd":"G y \u5e74 M \u6708 d \u65e5E","field-day":"\u65e5","field-year-relative+-1":"\u53bb\u5e74","dayPeriods-format-wide-am":"\u4e0a\u5348","dayPeriods-format-narrow-midDay":"\u4e2d\u5348","field-wed-relative+-1":"\u4e0a\u9031\u4e09","dateTimeFormat-medium":"{1} {0}","field-second":"\u79d2","days-standAlone-narrow":"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),"dateFormatItem-Ehms":"E a h:mm:ss","dateFormat-long":"y\u5e74M\u6708d\u65e5", +"dateFormatItem-GyMMMd":"G y \u5e74 M \u6708 d \u65e5","dateFormatItem-yMMMEd":"y\u5e74M\u6708d\u65e5E",$locale:"zh-hant-tw","quarters-standAlone-wide":["\u7b2c1\u5b63","\u7b2c2\u5b63","\u7b2c3\u5b63","\u7b2c4\u5b63"],"days-format-narrow":"\u65e5\u4e00\u4e8c\u4e09\u56db\u4e94\u516d".split(""),"dateTimeFormats-appendItem-Timezone":"{0} {1}","field-mon-relative+-1":"\u4e0a\u9031\u4e00","dateFormatItem-GyMMM":"G y \u5e74 M \u6708","field-month":"\u6708","dateFormatItem-MMM":"LLL","field-dayperiod":"\u4e0a\u5348/\u4e0b\u5348", +"dayPeriods-format-narrow-pm":"\u4e0b\u5348","dateFormat-medium":"y\u5e74M\u6708d\u65e5",eraAbbr:["\u897f\u5143\u524d","\u897f\u5143"],"quarters-standAlone-abbr":["\u7b2c1\u5b63","\u7b2c2\u5b63","\u7b2c3\u5b63","\u7b2c4\u5b63"],"dayPeriods-format-abbr-pm":"PM","field-mon-relative+0":"\u672c\u9031\u4e00","field-mon-relative+1":"\u4e0b\u9031\u4e00","months-format-narrow":"1 2 3 4 5 6 7 8 9 10 11 12".split(" "),"days-format-short":"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "), +"quarters-format-narrow":["1","2","3","4"],"dayPeriods-format-wide-pm":"\u4e0b\u5348","field-sat-relative+-1":"\u4e0a\u9031\u516d","dateTimeFormats-appendItem-Hour":"{0} ({2}: {1})","dateTimeFormat-long":"{1} {0}","dateFormatItem-Md":"M/d","field-hour":"\u5c0f\u6642","dateFormatItem-yQQQQ":"y\u5e74QQQQ","months-format-wide":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "),"dateFormat-full":"y\u5e74M\u6708d\u65e5EEEE","field-month-relative+-1":"\u4e0a\u500b\u6708", +"dayPeriods-format-wide-earlyMorning":"\u6e05\u6668","dateFormatItem-Hms":"HH:mm:ss","field-fri-relative+0":"\u672c\u9031\u4e94","field-fri-relative+1":"\u4e0b\u9031\u4e94","dayPeriods-format-narrow-noon":"\u4e2d\u5348","dayPeriods-format-narrow-morning":"\u4e0a\u5348","dayPeriods-format-wide-morning":"\u4e0a\u5348","dateTimeFormats-appendItem-Quarter":"{0} ({2}: {1})",_localized:{},"field-week-relative+-1":"\u4e0a\u9031","dateFormatItem-Ehm":"E a h:mm","months-format-abbr":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "), +"timeFormat-long":"zah\u6642mm\u5206ss\u79d2","dateFormatItem-yMMM":"y\u5e74M\u6708","dateFormat-short":"y/M/d","days-standAlone-wide":"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),"dateTimeFormats-appendItem-Era":"{1} {0}","dateFormatItem-H":"H\u6642","dateFormatItem-M":"M\u6708","months-standAlone-wide":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "), +"field-sun-relative+-1":"\u4e0a\u9031\u65e5","days-standAlone-abbr":"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),"dateTimeFormat-full":"{1}{0}","dateFormatItem-hm":"ah:mm","dayPeriods-format-wide-midDay":"\u4e2d\u5348","dateFormatItem-d":"d\u65e5","field-weekday":"\u9031\u5929","field-sat-relative+0":"\u672c\u9031\u516d","dateFormatItem-h":"ah\u6642","field-sat-relative+1":"\u4e0b\u9031\u516d","months-standAlone-abbr":"1\u6708 2\u6708 3\u6708 4\u6708 5\u6708 6\u6708 7\u6708 8\u6708 9\u6708 10\u6708 11\u6708 12\u6708".split(" "), +"dateFormatItem-yMM":"y-MM","timeFormat-full":"zzzzah\u6642mm\u5206ss\u79d2","dateFormatItem-MEd":"M/d\uff08E\uff09","dateFormatItem-y":"y\u5e74","field-thu-relative+0":"\u672c\u9031\u56db","field-thu-relative+1":"\u4e0b\u9031\u56db","dateFormatItem-hms":"ah:mm:ss","dateTimeFormats-appendItem-Day":"{0} ({2}: {1})","dayPeriods-format-abbr-noon":"noon","dateTimeFormats-appendItem-Week":"{0} ({2}: {1})","field-thu-relative+-1":"\u4e0a\u9031\u56db","dateFormatItem-yMd":"y/M/d","field-week":"\u9031","quarters-standAlone-narrow":["1", +"2","3","4"],"quarters-format-wide":["\u7b2c1\u5b63","\u7b2c2\u5b63","\u7b2c3\u5b63","\u7b2c4\u5b63"],"dayPeriods-format-narrow-weeHours":"\u51cc\u6668","dateFormatItem-Ed":"d\u65e5\uff08E\uff09","dayPeriods-format-narrow-afternoon":"\u4e0b\u5348","dateTimeFormats-appendItem-Day-Of-Week":"{0} {1}","days-standAlone-short":"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),"quarters-format-abbr":["\u7b2c1\u5b63","\u7b2c2\u5b63","\u7b2c3\u5b63","\u7b2c4\u5b63"], +"field-year-relative+0":"\u4eca\u5e74","field-year-relative+1":"\u660e\u5e74","field-fri-relative+-1":"\u4e0a\u9031\u4e94",eraNarrow:["\u897f\u5143\u524d","\u897f\u5143"],"dayPeriods-format-wide-noon":"\u4e2d\u5348","dateFormatItem-yQQQ":"y\u5e74QQQ","days-format-wide":"\u661f\u671f\u65e5 \u661f\u671f\u4e00 \u661f\u671f\u4e8c \u661f\u671f\u4e09 \u661f\u671f\u56db \u661f\u671f\u4e94 \u661f\u671f\u516d".split(" "),"dayPeriods-format-narrow-night":"\u665a\u4e0a","dateTimeFormats-appendItem-Month":"{0} ({2}: {1})", +"dateFormatItem-EHm":"E HH:mm","field-zone":"\u6642\u5340","dateFormatItem-yM":"y/M","dateFormatItem-yMMMM":"y\u5e74M\u6708","dateFormatItem-MMMEd":"M\u6708d\u65e5E","dateFormatItem-EHms":"E HH:mm:ss","dateFormatItem-yMEd":"y/M/d\uff08E\uff09","field-day-relative+-1":"\u6628\u5929","field-day-relative+-2":"\u524d\u5929","days-format-abbr":"\u5468\u65e5 \u5468\u4e00 \u5468\u4e8c \u5468\u4e09 \u5468\u56db \u5468\u4e94 \u5468\u516d".split(" "),"field-sun-relative+0":"\u672c\u9031\u65e5","dateFormatItem-MMdd":"MM/dd", +"field-sun-relative+1":"\u4e0b\u9031\u65e5","dateFormatItem-yMMMd":"y\u5e74M\u6708d\u65e5","dateTimeFormats-appendItem-Minute":"{0} ({2}: {1})","dateFormatItem-Gy":"G y \u5e74","field-era":"\u5e74\u4ee3"},"dijit/nls/loading":{_localized:{},loadingState:"\u8f09\u5165\u4e2d...",errorState:"\u62b1\u6b49\uff0c\u767c\u751f\u932f\u8aa4"},"dojo/cldr/nls/number":{scientificFormat:"#E0","currencySpacing-afterCurrency-currencyMatch":"[:^S:]",infinity:"\u221e",$locale:"zh-hant-tw",superscriptingExponent:"\u00d7", +list:";",percentSign:"%",minusSign:"-","currencySpacing-beforeCurrency-surroundingMatch":"[:digit:]",_localized:{},"decimalFormat-short":"000T","currencySpacing-afterCurrency-insertBetween":"\u00a0",nan:"\u975e\u6578\u503c",plusSign:"+","currencySpacing-afterCurrency-surroundingMatch":"[:digit:]",currencyFormat:"\u00a4#,##0.00;(\u00a4#,##0.00)","currencySpacing-beforeCurrency-currencyMatch":"[:^S:]",perMille:"\u2030",group:",",percentFormat:"#,##0%","decimalFormat-long":"000\u5146",decimalFormat:"#,##0.###", +decimal:".","currencySpacing-beforeCurrency-insertBetween":"\u00a0",exponential:"E"},"dijit/form/nls/ComboBox":{previousMessage:"\u524d\u4e00\u500b\u9078\u64c7\u9805",_localized:{},nextMessage:"\u5176\u4ed6\u9078\u64c7\u9805"},"dijit/nls/common":{buttonOk:"\u78ba\u5b9a",buttonCancel:"\u53d6\u6d88",_localized:{},buttonSave:"\u5132\u5b58",itemClose:"\u95dc\u9589"}}); +//# sourceMappingURL=dojo_zh-tw.js.map \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/resources/blank.gif b/Server/www/spiderbasic/dojo/resources/blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..e565824aafafe632011b281cba976baf8b3ba89a GIT binary patch literal 43 qcmZ?wbhEHbWMp7uXkcLY4+e@qSs1y10y+#p0Fq%~V)9{Rum%7ZWeN!Z literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/claro.css b/Server/www/spiderbasic/dojo/themes/claro/claro.css new file mode 100644 index 0000000..dde8cbd --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/claro.css @@ -0,0 +1 @@ +.dijitReset {margin:0; border:0; padding:0; font: inherit; line-height:normal; color: inherit;}.dj_a11y .dijitReset {-moz-appearance: none;}.dijitInline {display:inline-block; #zoom: 1; #display:inline; border:0; padding:0; vertical-align:middle; #vertical-align: auto;}table.dijitInline {display:inline-table; box-sizing: content-box; -moz-box-sizing: content-box;}.dijitHidden {display: none !important;}.dijitVisible {display: block !important; position: relative;}.dj_ie6 .dijitComboBox .dijitInputContainer,.dijitInputContainer {#zoom: 1; overflow: hidden; float: none !important; position: relative;}.dj_ie7 .dijitInputContainer {float: left !important; clear: left; display: inline-block !important;}.dj_ie .dijitSelect input,.dj_ie input.dijitTextBox,.dj_ie .dijitTextBox input {font-size: 100%;}.dijitSelect .dijitButtonText {float: left; vertical-align: top;}TABLE.dijitSelect {padding: 0 !important; border-collapse: separate;}.dijitTextBox .dijitSpinnerButtonContainer,.dijitTextBox .dijitArrowButtonContainer,.dijitValidationTextBox .dijitValidationContainer {float: right; text-align: center;}.dijitSelect input.dijitInputField,.dijitTextBox input.dijitInputField {padding-left: 0 !important; padding-right: 0 !important;}.dijitValidationTextBox .dijitValidationContainer {display: none;}.dijitTeeny {font-size:1px; line-height:1px;}.dijitOffScreen {position: absolute !important; left: -10000px !important; top: -10000px !important;}.dijitPopup {position: absolute; background-color: transparent; margin: 0; border: 0; padding: 0; -webkit-overflow-scrolling: touch;}.dijitPositionOnly {padding: 0 !important; border: 0 !important; background-color: transparent !important; background-image: none !important; height: auto !important; width: auto !important;}.dijitNonPositionOnly {float: none !important; position: static !important; margin: 0 0 0 0 !important; vertical-align: middle !important;}.dijitBackgroundIframe {position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; border: 0; padding: 0; margin: 0;}.dijitDisplayNone {display:none !important;}.dijitContainer {overflow: hidden;}.dj_a11y .dijitIcon,.dj_a11y div.dijitArrowButtonInner, .dj_a11y span.dijitArrowButtonInner,.dj_a11y img.dijitArrowButtonInner,.dj_a11y .dijitCalendarIncrementControl,.dj_a11y .dijitTreeExpando {display: none;}.dijitSpinner div.dijitArrowButtonInner {display: block;}.dj_a11y .dijitA11ySideArrow {display: inline !important; cursor: pointer;}.dj_a11y .dijitCalendarDateLabel {padding: 1px; border: 0px !important;}.dj_a11y .dijitCalendarSelectedDate .dijitCalendarDateLabel {border-style: solid !important; border-width: 1px !important; padding: 0;}.dj_a11y .dijitCalendarDateTemplate {padding-bottom: 0.1em !important; border: 0px !important;}.dj_a11y .dijitButtonNode {border: black outset medium !important; padding: 0 !important;}.dj_a11y .dijitArrowButton {padding: 0 !important;}.dj_a11y .dijitButtonContents {margin: 0.15em;}.dj_a11y .dijitTextBoxReadOnly .dijitInputField,.dj_a11y .dijitTextBoxReadOnly .dijitButtonNode {border-style: outset!important; border-width: medium!important; border-color: #999 !important; color:#999 !important;}.dijitButtonNode * {vertical-align: middle;}.dijitSelect .dijitArrowButtonInner,.dijitButtonNode .dijitArrowButtonInner {background: no-repeat center; width: 12px; height: 12px; direction: ltr;}.dijitLeft {background-position:left top; background-repeat:no-repeat;}.dijitStretch {white-space:nowrap; background-repeat:repeat-x;}.dijitRight {#display:inline; background-position:right top; background-repeat:no-repeat;}.dj_gecko .dj_a11y .dijitButtonDisabled .dijitButtonNode {opacity: 0.5;}.dijitToggleButton,.dijitButton,.dijitDropDownButton,.dijitComboButton {vertical-align: middle;}.dijitButtonContents {display: block;}td.dijitButtonContents {display: table-cell;}.dijitButtonNode img {vertical-align:middle;}.dijitToolbar .dijitComboButton {border-collapse: separate;}.dijitToolbar .dijitToggleButton,.dijitToolbar .dijitButton,.dijitToolbar .dijitDropDownButton,.dijitToolbar .dijitComboButton {margin: 0;}.dijitToolbar .dijitButtonContents {padding: 1px 2px;}.dj_webkit .dijitToolbar .dijitDropDownButton {padding-left: 0.3em;}.dj_gecko .dijitToolbar .dijitButtonNode::-moz-focus-inner {padding:0;}.dijitSelect {border:1px solid gray;}.dijitButtonNode {border:1px solid gray; margin:0; line-height:normal; vertical-align: middle; #vertical-align: auto; text-align:center; white-space: nowrap;}.dj_webkit .dijitSpinner .dijitSpinnerButtonContainer {line-height:inherit;}.dijitTextBox .dijitButtonNode {border-width: 0;}.dijitSelect,.dijitSelect *,.dijitButtonNode,.dijitButtonNode * {cursor: pointer; -webkit-tap-highlight-color: transparent;}.dj_ie .dijitButtonNode {zoom: 1;}.dj_ie .dijitButtonNode button {overflow: visible;}div.dijitArrowButton {float: right;}.dijitTextBox {border: solid black 1px; #overflow: hidden; width: 15em; vertical-align: middle;}.dijitTextBoxReadOnly,.dijitTextBoxDisabled {color: gray;}.dj_safari .dijitTextBoxDisabled input {color: #B0B0B0;}.dj_safari textarea.dijitTextAreaDisabled {color: #333;}.dj_gecko .dijitTextBoxReadOnly input.dijitInputField, .dj_gecko .dijitTextBoxDisabled input {-moz-user-input: none;}.dijitPlaceHolder {color: #AAAAAA; font-style: italic; position: absolute; top: 0; left: 0; #filter: "";}.dijitTimeTextBox {width: 8em;}.dijitTextBox input:focus {outline: none;}.dijitTextBoxFocused {outline: 5px -webkit-focus-ring-color;}.dijitSelect input,.dijitTextBox input {float: left;}.dj_ie6 input.dijitTextBox,.dj_ie6 .dijitTextBox input {float: none;}.dijitInputInner {border:0 !important; background-color:transparent !important; width:100% !important; padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important;}.dj_a11y .dijitTextBox input {margin: 0 !important;}.dijitValidationTextBoxError input.dijitValidationInner,.dijitSelect input,.dijitTextBox input.dijitArrowButtonInner {text-indent: -2em !important; direction: ltr !important; text-align: left !important; height: auto !important; #text-indent: 0 !important; #letter-spacing: -5em !important; #text-align: right !important;}.dj_ie .dijitSelect input,.dj_ie .dijitTextBox input,.dj_ie input.dijitTextBox {overflow-y: visible; line-height: normal;}.dijitSelect .dijitSelectLabel span {line-height: 100%;}.dj_ie .dijitSelect .dijitSelectLabel {line-height: normal;}.dj_ie6 .dijitSelect .dijitSelectLabel,.dj_ie7 .dijitSelect .dijitSelectLabel,.dj_ie8 .dijitSelect .dijitSelectLabel,.dj_iequirks .dijitSelect .dijitSelectLabel,.dijitSelect td,.dj_ie6 .dijitSelect input,.dj_iequirks .dijitSelect input,.dj_ie6 .dijitSelect .dijitValidationContainer,.dj_ie6 .dijitTextBox input,.dj_ie6 input.dijitTextBox,.dj_iequirks .dijitTextBox input.dijitValidationInner,.dj_iequirks .dijitTextBox input.dijitArrowButtonInner,.dj_iequirks .dijitTextBox input.dijitSpinnerButtonInner,.dj_iequirks .dijitTextBox input.dijitInputInner,.dj_iequirks input.dijitTextBox {line-height: 100%;}.dj_a11y input.dijitValidationInner,.dj_a11y input.dijitArrowButtonInner {text-indent: 0 !important; width: 1em !important; #text-align: left !important; color: black !important;}.dijitValidationTextBoxError .dijitValidationContainer {display: inline; cursor: default;}.dijitSpinner .dijitSpinnerButtonContainer,.dijitComboBox .dijitArrowButtonContainer {border-width: 0 0 0 1px !important;}.dj_a11y .dijitSelect .dijitArrowButtonContainer,.dijitToolbar .dijitComboBox .dijitArrowButtonContainer {border-width: 0 !important;}.dijitComboBoxMenu {list-style-type: none;}.dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode {border-width: 0;}.dj_ie .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode {clear: both;}.dj_ie .dijitToolbar .dijitComboBox {vertical-align: middle;}.dijitTextBox .dijitSpinnerButtonContainer {width: 1em; position: relative !important; overflow: hidden;}.dijitSpinner .dijitSpinnerButtonInner {width:1em; visibility:hidden !important; overflow-x:hidden;}.dijitComboBox .dijitButtonNode,.dijitSpinnerButtonContainer .dijitButtonNode {border-width: 0;}.dj_a11y .dijitSpinnerButtonContainer .dijitButtonNode {border-width: 0px !important; border-style: solid !important;}.dj_a11y .dijitTextBox .dijitSpinnerButtonContainer,.dj_a11y .dijitSpinner .dijitArrowButtonInner,.dj_a11y .dijitSpinnerButtonContainer input {width: 1em !important;}.dj_a11y .dijitSpinner .dijitArrowButtonInner {margin: 0 auto !important;}.dj_ie .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {padding-left: 0.3em !important; padding-right: 0.3em !important; margin-left: 0.3em !important; margin-right: 0.3em !important; width: 1.4em !important;}.dj_ie7 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {padding-left: 0 !important; padding-right: 0 !important; width: 1em !important;}.dj_ie6 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {margin-left: 0.1em !important; margin-right: 0.1em !important; width: 1em !important;}.dj_iequirks .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {margin-left: 0 !important; margin-right: 0 !important; width: 2em !important;}.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {padding: 0; position: absolute !important; right: 0; float: none; height: 50%; width: 100%; bottom: auto; left: 0; right: auto;}.dj_iequirks .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {width: auto;}.dj_a11y .dijitSpinnerButtonContainer .dijitArrowButton {overflow: visible !important;}.dijitSpinner .dijitSpinnerButtonContainer .dijitDownArrowButton {top: 50%; border-top-width: 1px !important;}.dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton {#bottom: 50%; top: 0;}.dijitSpinner .dijitArrowButtonInner {margin: auto; overflow-x: hidden; height: 100% !important;}.dj_iequirks .dijitSpinner .dijitArrowButtonInner {height: auto !important;}.dijitSpinner .dijitArrowButtonInner .dijitInputField {-moz-transform: scale(0.5); -moz-transform-origin: center top; -webkit-transform: scale(0.5); -webkit-transform-origin: center top; -o-transform: scale(0.5); -o-transform-origin: center top; transform: scale(0.5); transform-origin: left top; padding-top: 0; padding-bottom: 0; padding-left: 0 !important; padding-right: 0 !important; width: 100%; visibility: hidden;}.dj_ie .dijitSpinner .dijitArrowButtonInner .dijitInputField {zoom: 50%;}.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButtonInner {overflow: hidden;}.dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {width: 100%;}.dj_iequirks .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {width: 1em;}.dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {vertical-align:top; visibility: visible;}.dj_a11y .dijitSpinnerButtonContainer {width: 1em;}.dijitCheckBox,.dijitRadio,.dijitCheckBoxInput {padding: 0; border: 0; width: 16px; height: 16px; background-position:center center; background-repeat:no-repeat; overflow: hidden;}.dijitCheckBox input,.dijitRadio input {margin: 0; padding: 0; display: block;}.dijitCheckBoxInput {opacity: 0.01;}.dj_ie .dijitCheckBoxInput {filter: alpha(opacity=0);}.dj_a11y .dijitCheckBox,.dj_a11y .dijitRadio {width: auto !important; height: auto !important;}.dj_a11y .dijitCheckBoxInput {opacity: 1; filter: none; width: auto; height: auto;}.dj_a11y .dijitFocusedLabel {border: 1px dotted; outline: 0px !important;}.dijitProgressBar {z-index: 0;}.dijitProgressBarEmpty {position:relative;overflow:hidden; border:1px solid black; z-index:0;}.dijitProgressBarFull {position:absolute; overflow:hidden; z-index:-1; top:0; width:100%;}.dj_ie6 .dijitProgressBarFull {height:1.6em;}.dijitProgressBarTile {position:absolute; overflow:hidden; top:0; left:0; bottom:0; right:0; margin:0; padding:0; width: 100%; height:auto; background-color:#aaa; background-attachment: fixed;}.dj_a11y .dijitProgressBarTile {border-width:2px; border-style:solid; background-color:transparent !important;}.dj_ie6 .dijitProgressBarTile {position:static; height:1.6em;}.dijitProgressBarIndeterminate .dijitProgressBarTile {}.dijitProgressBarIndeterminateHighContrastImage {display:none;}.dj_a11y .dijitProgressBarIndeterminate .dijitProgressBarIndeterminateHighContrastImage {display:block; position:absolute; top:0; bottom:0; margin:0; padding:0; width:100%; height:auto;}.dijitProgressBarLabel {display:block; position:static; width:100%; text-align:center; background-color:transparent !important;}.dijitTooltip {position: absolute; z-index: 2000; display: block; left: 0; top: -10000px; overflow: visible;}.dijitTooltipContainer {border: solid black 2px; background: #b8b5b5; color: black; font-size: small;}.dijitTooltipFocusNode {padding: 2px 2px 2px 2px;}.dijitTooltipConnector {position: absolute;}.dj_a11y .dijitTooltipConnector {display: none;}.dijitTooltipData {display:none;}.dijitLayoutContainer {position: relative; display: block; overflow: hidden;}.dijitAlignTop,.dijitAlignBottom,.dijitAlignLeft,.dijitAlignRight {position: absolute; overflow: hidden;}body .dijitAlignClient {position: absolute;}.dijitBorderContainer, .dijitBorderContainerNoGutter {position:relative; overflow: hidden; z-index: 0;}.dijitBorderContainerPane,.dijitBorderContainerNoGutterPane {position: absolute !important; z-index: 2;}.dijitBorderContainer > .dijitTextArea {resize: none;}.dijitGutter {position: absolute; font-size: 1px;}.dijitSplitter {position: absolute; overflow: hidden; z-index: 10; background-color: #fff; border-color: gray; border-style: solid; border-width: 0;}.dj_ie .dijitSplitter {z-index: 1;}.dijitSplitterActive {z-index: 11 !important;}.dijitSplitterCover {position:absolute; z-index:-1; top:0; left:0; width:100%; height:100%;}.dijitSplitterCoverActive {z-index:3 !important;}.dj_ie .dijitSplitterCover {background: white; opacity: 0;}.dj_ie6 .dijitSplitterCover,.dj_ie7 .dijitSplitterCover,.dj_ie8 .dijitSplitterCover {filter: alpha(opacity=0);}.dijitSplitterH {height: 7px; border-top:1px; border-bottom:1px; cursor: row-resize; -webkit-tap-highlight-color: transparent;}.dijitSplitterV {width: 7px; border-left:1px; border-right:1px; cursor: col-resize; -webkit-tap-highlight-color: transparent;}.dijitSplitContainer {position: relative; overflow: hidden; display: block;}.dijitSplitPane {position: absolute;}.dijitSplitContainerSizerH,.dijitSplitContainerSizerV {position:absolute; font-size: 1px; background-color: ThreeDFace; border: 1px solid; border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight; margin: 0;}.dijitSplitContainerSizerH .thumb, .dijitSplitterV .dijitSplitterThumb {overflow:hidden; position:absolute; top:49%;}.dijitSplitContainerSizerV .thumb, .dijitSplitterH .dijitSplitterThumb {position:absolute; left:49%;}.dijitSplitterShadow,.dijitSplitContainerVirtualSizerH,.dijitSplitContainerVirtualSizerV {font-size: 1px; background-color: ThreeDShadow; -moz-opacity: 0.5; opacity: 0.5; filter: Alpha(Opacity=50); margin: 0;}.dijitSplitContainerSizerH, .dijitSplitContainerVirtualSizerH {cursor: col-resize;}.dijitSplitContainerSizerV, .dijitSplitContainerVirtualSizerV {cursor: row-resize;}.dj_a11y .dijitSplitterH {border-top:1px solid #d3d3d3 !important; border-bottom:1px solid #d3d3d3 !important;}.dj_a11y .dijitSplitterV {border-left:1px solid #d3d3d3 !important; border-right:1px solid #d3d3d3 !important;}.dijitContentPane {display: block; overflow: auto; -webkit-overflow-scrolling: touch;}.dijitContentPaneSingleChild {overflow: hidden;}.dijitContentPaneLoading .dijitIconLoading,.dijitContentPaneError .dijitIconError {margin-right: 9px;}.dijitTitlePane {display: block; overflow: hidden;}.dijitFieldset {border: 1px solid gray;}.dijitTitlePaneTitle, .dijitFieldset legend {cursor: pointer; -webkit-tap-highlight-color: transparent;}.dijitFixedOpen, .dijitFixedClosed {cursor: default;}.dijitFixedOpen .dijitArrowNode, .dijitFixedOpen .dijitArrowNodeInner,.dijitFixedClosed .dijitArrowNode, .dijitFixedClosed .dijitArrowNodeInner{display: none;}.dijitTitlePaneTitle * {vertical-align: middle;}.dijitTitlePane .dijitArrowNodeInner, .dijitFieldset .dijitArrowNodeInner {display: none;}.dj_a11y .dijitTitlePane .dijitArrowNodeInner, .dj_a11y .dijitFieldset .dijitArrowNodeInner {display:inline !important; font-family: monospace;}.dj_a11y .dijitTitlePane .dijitArrowNode, .dj_a11y .dijitFieldset .dijitArrowNode {display:none;}.dj_ie6 .dijitTitlePaneContentOuter,.dj_ie6 .dijitTitlePane .dijitTitlePaneTitle {zoom: 1;}.dijitColorPalette {border: 1px solid #999; background: #fff; position: relative;}.dijitColorPalette .dijitPaletteTable {padding: 2px 3px 3px 3px; position: relative; overflow: hidden; outline: 0; border-collapse: separate;}.dj_ie6 .dijitColorPalette .dijitPaletteTable,.dj_ie7 .dijitColorPalette .dijitPaletteTable,.dj_iequirks .dijitColorPalette .dijitPaletteTable {padding: 0; margin: 2px 3px 3px 3px;}.dijitColorPalette .dijitPaletteCell {font-size: 1px; vertical-align: middle; text-align: center; background: none;}.dijitColorPalette .dijitPaletteImg {padding: 1px; border: 1px solid #999; margin: 2px 1px; cursor: default; font-size: 1px;}.dj_gecko .dijitColorPalette .dijitPaletteImg {padding-bottom: 0;}.dijitColorPalette .dijitColorPaletteSwatch {width: 14px; height: 12px;}.dijitPaletteTable td {padding: 0;}.dijitColorPalette .dijitPaletteCell:hover .dijitPaletteImg {border: 1px solid #000;}.dijitColorPalette .dijitPaletteCell:active .dijitPaletteImg,.dijitColorPalette .dijitPaletteTable .dijitPaletteCellSelected .dijitPaletteImg {border: 2px solid #000; margin: 1px 0;}.dj_a11y .dijitColorPalette .dijitPaletteTable,.dj_a11y .dijitColorPalette .dijitPaletteTable * {background-color: transparent !important;}.dijitAccordionContainer {border:1px solid #b7b7b7; border-top:0 !important;}.dijitAccordionTitle {cursor: pointer; -webkit-tap-highlight-color: transparent;}.dijitAccordionTitleSelected {cursor: default;}.dijitAccordionTitle .arrowTextUp,.dijitAccordionTitle .arrowTextDown {display: none; font-size: 0.65em; font-weight: normal !important;}.dj_a11y .dijitAccordionTitle .arrowTextUp,.dj_a11y .dijitAccordionTitleSelected .arrowTextDown {display: inline;}.dj_a11y .dijitAccordionTitleSelected .arrowTextUp {display: none;}.dijitAccordionChildWrapper {overflow: hidden;}.dijitCalendarContainer {width: auto;}.dijitCalendarContainer th, .dijitCalendarContainer td {padding: 0; vertical-align: middle;}.dijitCalendarYearLabel {white-space: nowrap;}.dijitCalendarNextYear {margin:0 0 0 0.55em;}.dijitCalendarPreviousYear {margin:0 0.55em 0 0;}.dijitCalendarIncrementControl {vertical-align: middle;}.dijitCalendarIncrementControl,.dijitCalendarDateTemplate,.dijitCalendarMonthLabel,.dijitCalendarPreviousYear,.dijitCalendarNextYear {cursor: pointer; -webkit-tap-highlight-color: transparent;}.dijitCalendarDisabledDate {color: gray; text-decoration: line-through; cursor: default;}.dijitSpacer {position: relative; height: 1px; overflow: hidden; visibility: hidden;}.dijitCalendarMonthMenu .dijitCalendarMonthLabel {text-align:center;}.dijitMenu {border:1px solid black; background-color:white;}.dijitMenuTable {border-collapse:collapse; border-width:0; background-color:white;}.dj_webkit .dijitMenuTable td[colspan="2"]{border-right:hidden;}.dijitMenuItem {text-align: left; white-space: nowrap; padding:.1em .2em; cursor:pointer; -webkit-tap-highlight-color: transparent;}.dijitMenuItem:focus {outline: none}.dijitMenuPassive .dijitMenuItemHover,.dijitMenuItemSelected {background-color:black; color:white;}.dijitMenuItemIcon, .dijitMenuExpand {background-repeat: no-repeat;}.dijitMenuItemDisabled * {opacity:0.5; cursor:default;}.dj_ie .dj_a11y .dijitMenuItemDisabled,.dj_ie .dj_a11y .dijitMenuItemDisabled *,.dj_ie .dijitMenuItemDisabled * {color: gray; filter: alpha(opacity=35);}.dijitMenuItemLabel {position: relative; vertical-align: middle;}.dj_a11y .dijitMenuItemSelected {border: 1px dotted black !important;}.dj_a11y .dijitMenuItemSelected .dijitMenuItemLabel {border-width: 1px; border-style: solid;}.dj_ie8 .dj_a11y .dijitMenuItemLabel {position:static;}.dijitMenuExpandA11y {display: none;}.dj_a11y .dijitMenuExpandA11y {display: inline;}.dijitMenuSeparator td {border: 0; padding: 0;}.dijitMenuSeparatorTop {height: 50%; margin: 0; margin-top:3px; font-size: 1px;}.dijitMenuSeparatorBottom {height: 50%; margin: 0; margin-bottom:3px; font-size: 1px;}.dijitMenuItemIconChar {display: none; visibility: hidden;}.dj_a11y .dijitMenuItemIconChar {display: inline;}.dijitCheckedMenuItemChecked .dijitMenuItemIconChar,.dijitRadioMenuItemChecked .dijitMenuItemIconChar {visibility: visible;}.dj_ie .dj_a11y .dijitMenuBar .dijitMenuItem {margin: 0;}.dijitStackController .dijitToggleButtonChecked * {cursor: default;}.dijitTabContainer {z-index: 0; overflow: visible;}.dj_ie6 .dijitTabContainer {overflow: hidden;}.dijitTabContainerNoLayout {width: 100%;}.dijitTabContainerBottom-tabs,.dijitTabContainerTop-tabs,.dijitTabContainerLeft-tabs,.dijitTabContainerRight-tabs {z-index: 1; overflow: visible !important;}.dijitTabController {z-index: 1;}.dijitTabContainerBottom-container,.dijitTabContainerTop-container,.dijitTabContainerLeft-container,.dijitTabContainerRight-container {z-index:0; overflow: hidden; border: 1px solid black;}.nowrapTabStrip {width: 50000px; display: block; position: relative; text-align: left; z-index: 1;}.dijitTabListWrapper {overflow: hidden; z-index: 1;}.dj_a11y .tabStripButton img {display: none;}.dijitTabContainerTop-tabs {border-bottom: 1px solid black;}.dijitTabContainerTop-container {border-top: 0;}.dijitTabContainerLeft-tabs {border-right: 1px solid black; float: left;}.dijitTabContainerLeft-container {border-left: 0;}.dijitTabContainerBottom-tabs {border-top: 1px solid black;}.dijitTabContainerBottom-container {border-bottom: 0;}.dijitTabContainerRight-tabs {border-left: 1px solid black; float: left;}.dijitTabContainerRight-container {border-right: 0;}div.dijitTabDisabled, .dj_ie div.dijitTabDisabled {cursor: auto;}.dijitTab {position:relative; cursor:pointer; -webkit-tap-highlight-color: transparent; white-space:nowrap; z-index:3;}.dijitTab * {vertical-align: middle;}.dijitTabChecked {cursor: default;}.dijitTabContainerTop-tabs .dijitTab {top: 1px;}.dijitTabContainerBottom-tabs .dijitTab {top: -1px;}.dijitTabContainerLeft-tabs .dijitTab {left: 1px;}.dijitTabContainerRight-tabs .dijitTab {left: -1px;}.dijitTabContainerTop-tabs .dijitTab,.dijitTabContainerBottom-tabs .dijitTab {display:inline-block; #zoom: 1; #display:inline;}.tabStripButton {z-index: 12;}.dijitTabButtonDisabled .tabStripButton {display: none;}.dijitTabCloseButton {margin-left: 1em;}.dijitTabCloseText {display:none;}.dijitTab .tabLabel {min-height: 15px; display: inline-block;}.dijitNoIcon {display: none;}.dj_ie6 .dijitTab .dijitNoIcon {display: inline; height: 15px; width: 1px;}.dj_a11y .dijitTabCloseButton {background-image: none !important; width: auto !important; height: auto !important;}.dj_a11y .dijitTabCloseText {display: inline;}.dijitTabPane,.dijitStackContainer-child,.dijitAccordionContainer-child {border: none !important;}.dijitInlineEditBoxDisplayMode {border: 1px solid transparent; cursor: text;}.dj_a11y .dijitInlineEditBoxDisplayMode,.dj_ie6 .dijitInlineEditBoxDisplayMode {border: none;}.dijitInlineEditBoxDisplayModeHover,.dj_a11y .dijitInlineEditBoxDisplayModeHover,.dj_ie6 .dijitInlineEditBoxDisplayModeHover {background-color: #e2ebf2; border: solid 1px black;}.dijitInlineEditBoxDisplayModeDisabled {cursor: default;}.dijitTree {overflow: auto; -webkit-tap-highlight-color: transparent;}.dijitTreeContainer {float: left;}.dijitTreeIndent {width: 19px;}.dijitTreeRow, .dijitTreeContent {white-space: nowrap;}.dj_ie .dijitTreeLabel:focus {outline: 1px dotted black;}.dijitTreeRow img {vertical-align: middle;}.dijitTreeContent {cursor: default;}.dijitExpandoText {display: none;}.dj_a11y .dijitExpandoText {display: inline; padding-left: 10px; padding-right: 10px; font-family: monospace; border-style: solid; border-width: thin; cursor: pointer;}.dijitTreeLabel {margin: 0 4px;}.dijitDialog {position: absolute; z-index: 999; overflow: hidden;}.dijitDialogTitleBar {cursor: move;}.dijitDialogFixed .dijitDialogTitleBar {cursor:default;}.dijitDialogCloseIcon {cursor: pointer; -webkit-tap-highlight-color: transparent;}.dijitDialogPaneContent {-webkit-overflow-scrolling: touch;}.dijitDialogUnderlayWrapper {position: absolute; left: 0; top: 0; z-index: 998; display: none; background: transparent !important;}.dijitDialogUnderlay {background: #eee; opacity: 0.5;}.dj_ie .dijitDialogUnderlay {filter: alpha(opacity=50);}.dj_a11y .dijitSpinnerButtonContainer,.dj_a11y .dijitDialog {opacity: 1 !important; background-color: white !important;}.dijitDialog .closeText {display:none; position:absolute;}.dj_a11y .dijitDialog .closeText {display:inline;}.dijitSliderMoveable {z-index:99; position:absolute !important; display:block; vertical-align:middle;}.dijitSliderMoveableH {right:0;}.dijitSliderMoveableV {right:50%;}.dj_a11y div.dijitSliderImageHandle,.dijitSliderImageHandle {margin:0; padding:0; position:relative !important; border:8px solid gray; width:0; height:0; cursor: pointer; -webkit-tap-highlight-color: transparent;}.dj_iequirks .dj_a11y .dijitSliderImageHandle {font-size: 0;}.dj_ie7 .dijitSliderImageHandle {overflow: hidden;}.dj_ie7 .dj_a11y .dijitSliderImageHandle {overflow: visible;}.dj_a11y .dijitSliderFocused .dijitSliderImageHandle {border:4px solid #000; height:8px; width:8px;}.dijitSliderImageHandleV {top:-8px; right: -50%;}.dijitSliderImageHandleH {left:50%; top:-5px; vertical-align:top;}.dijitSliderBar {border-style:solid; border-color:black; cursor: pointer; -webkit-tap-highlight-color: transparent;}.dijitSliderBarContainerV {position:relative; height:100%; z-index:1;}.dijitSliderBarContainerH {position:relative; z-index:1;}.dijitSliderBarH {height:4px; border-width:1px 0;}.dijitSliderBarV {width:4px; border-width:0 1px;}.dijitSliderProgressBar {background-color:red; z-index:1;}.dijitSliderProgressBarV {position:static !important; height:0; vertical-align:top; text-align:left;}.dijitSliderProgressBarH {position:absolute !important; width:0; vertical-align:middle; overflow:visible;}.dijitSliderRemainingBar {overflow:hidden; background-color:transparent; z-index:1;}.dijitSliderRemainingBarV {height:100%; text-align:left;}.dijitSliderRemainingBarH {width:100% !important;}.dijitSliderBumper {overflow:hidden; z-index:1;}.dijitSliderBumperV {width:4px; height:8px; border-width:0 1px;}.dijitSliderBumperH {width:8px; height:4px; border-width:1px 0;}.dijitSliderBottomBumper,.dijitSliderLeftBumper {background-color:red;}.dijitSliderTopBumper,.dijitSliderRightBumper {background-color:transparent;}.dijitSliderDecoration {text-align:center;}.dijitSliderDecorationC,.dijitSliderDecorationV {position: relative;}.dijitSliderDecorationH {width: 100%;}.dijitSliderDecorationV {height: 100%; white-space: nowrap;}.dijitSliderButton {font-family:monospace; margin:0; padding:0; display:block;}.dj_a11y .dijitSliderButtonInner {visibility:visible !important;}.dijitSliderButtonContainer {text-align:center; height:0;}.dijitSliderButtonContainer * {cursor: pointer; -webkit-tap-highlight-color: transparent;}.dijitSlider .dijitButtonNode {padding:0; display:block;}.dijitRuleContainer {position:relative; overflow:visible;}.dijitRuleContainerV {height:100%; line-height:0; float:left; text-align:left;}.dj_opera .dijitRuleContainerV {line-height:2%;}.dj_ie .dijitRuleContainerV {line-height:normal;}.dj_gecko .dijitRuleContainerV {margin:0 0 1px 0;}.dijitRuleMark {position:absolute; border:1px solid black; line-height:0; height:100%;}.dijitRuleMarkH {width:0; border-top-width:0 !important; border-bottom-width:0 !important; border-left-width:0 !important;}.dijitRuleLabelContainer {position:absolute;}.dijitRuleLabelContainerH {text-align:center; display:inline-block;}.dijitRuleLabelH {position:relative; left:-50%;}.dijitRuleLabelV {text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}.dijitRuleMarkV {height:0; border-right-width:0 !important; border-bottom-width:0 !important; border-left-width:0 !important; width:100%; left:0;}.dj_ie .dijitRuleLabelContainerV {margin-top:-.55em;}.dj_a11y .dijitSliderReadOnly,.dj_a11y .dijitSliderDisabled {opacity:0.6;}.dj_ie .dj_a11y .dijitSliderReadOnly .dijitSliderBar,.dj_ie .dj_a11y .dijitSliderDisabled .dijitSliderBar {filter: alpha(opacity=40);}.dj_a11y .dijitSlider .dijitSliderButtonContainer div {font-family: monospace; font-size: 1em; line-height: 1em; height: auto; width: auto; margin: 0 4px;}.dj_a11y .dijitButtonContents .dijitButtonText,.dj_a11y .dijitTab .tabLabel {display: inline !important;}.dj_a11y .dijitSelect .dijitButtonText {display: inline-block !important;}.dijitTextArea {width:100%; overflow-y: auto;}.dijitTextArea[cols] {width:auto;}.dj_ie .dijitTextAreaCols {width:auto;}.dijitExpandingTextArea {resize: none;}.dijitToolbarSeparator {height: 18px; width: 5px; padding: 0 1px; margin: 0;}.dijitIEFixedToolbar {position:absolute; top: expression(eval((document.documentElement||document.body).scrollTop));}.dijitEditor {display: block;}.dijitEditorDisabled,.dijitEditorReadOnly {color: gray;}.dijitTimePicker {background-color: white;}.dijitTimePickerItem {cursor:pointer; -webkit-tap-highlight-color: transparent;}.dijitTimePickerItemHover {background-color:gray; color:white;}.dijitTimePickerItemSelected {font-weight:bold; color:#333; background-color:#b7cdee;}.dijitTimePickerItemDisabled {color:gray; text-decoration:line-through;}.dijitTimePickerItemInner {text-align:center; border:0; padding:2px 8px 2px 8px;}.dijitTimePickerTick,.dijitTimePickerMarker {border-bottom:1px solid gray;}.dijitTimePicker .dijitDownArrowButton {border-top: none !important;}.dijitTimePickerTick {color:#CCC;}.dijitTimePickerMarker {color:black; background-color:#CCC;}.dj_a11y .dijitTimePickerItemSelected .dijitTimePickerItemInner {border: solid 4px black;}.dj_a11y .dijitTimePickerItemHover .dijitTimePickerItemInner {border: dashed 4px black;}.dijitToggleButtonIconChar {display:none !important;}.dj_a11y .dijitToggleButton .dijitToggleButtonIconChar {display:inline !important; visibility:hidden;}.dj_ie6 .dijitToggleButtonIconChar, .dj_ie6 .tabStripButton .dijitButtonText {font-family: "Arial Unicode MS";}.dj_a11y .dijitToggleButtonChecked .dijitToggleButtonIconChar {display: inline !important; visibility:visible !important;}.dijitArrowButtonChar {display:none !important;}.dj_a11y .dijitArrowButtonChar {display:inline !important;}.dj_a11y .dijitDropDownButton .dijitArrowButtonInner,.dj_a11y .dijitComboButton .dijitArrowButtonInner {display:none !important;}.dj_a11y .dijitSelect {border-collapse: separate !important; border-width: 1px; border-style: solid;}.dj_ie .dijitSelect {vertical-align: middle;}.dj_ie6 .dijitSelect .dijitValidationContainer,.dj_ie8 .dijitSelect .dijitButtonText {vertical-align: top;}.dj_ie6 .dijitTextBox .dijitInputContainer,.dj_iequirks .dijitTextBox .dijitInputContainer,.dj_ie6 .dijitTextBox .dijitArrowButtonInner,.dj_ie6 .dijitSpinner .dijitSpinnerButtonInner,.dijitSelect .dijitSelectLabel {vertical-align: baseline;}.dijitNumberTextBox {text-align: left; direction: ltr;}.dijitNumberTextBox .dijitInputInner {text-align: inherit;}.dijitToolbar .dijitSelect {margin: 0;}.dj_webkit .dijitToolbar .dijitSelect {padding-left: 0.3em;}.dijitSelect .dijitButtonContents {padding: 0; white-space: nowrap; text-align: left; border-style: none solid none none; border-width: 1px;}.dijitSelectFixedWidth .dijitButtonContents {width: 100%;}.dijitSelectMenu .dijitMenuItemIcon {display:none;}.dj_ie6 .dijitSelectMenu .dijitMenuItemLabel,.dj_ie7 .dijitSelectMenu .dijitMenuItemLabel {position: static;}.dijitSelectLabel *{vertical-align: baseline;}.dijitSelectSelectedOption * {font-weight: bold;}.dijitSelectMenu {border-width: 1px;}.dijitForceStatic {position: static !important;}.dijitReadOnly *,.dijitDisabled *,.dijitReadOnly,.dijitDisabled {cursor: default;}.dojoDndItem {padding: 2px; -webkit-touch-callout: none; -webkit-user-select: none;}.dojoDndHorizontal .dojoDndItem {#display: inline; display: inline-block;}.dojoDndItemBefore,.dojoDndItemAfter {border: 0px solid #369;}.dojoDndItemBefore {border-width: 2px 0 0 0; padding: 0 2px 2px 2px;}.dojoDndItemAfter {border-width: 0 0 2px 0; padding: 2px 2px 0 2px;}.dojoDndHorizontal .dojoDndItemBefore {border-width: 0 0 0 2px; padding: 2px 2px 2px 0;}.dojoDndHorizontal .dojoDndItemAfter {border-width: 0 2px 0 0; padding: 2px 0 2px 2px;}.dojoDndItemOver {cursor:pointer;}.dj_gecko .dijitArrowButtonInner INPUT,.dj_gecko INPUT.dijitArrowButtonInner {-moz-user-focus:ignore;}.dijitFocused .dijitMenuItemShortcutKey {text-decoration: underline;}.dijitIconSave,.dijitIconPrint,.dijitIconCut,.dijitIconCopy,.dijitIconClear,.dijitIconDelete,.dijitIconUndo,.dijitIconEdit,.dijitIconNewTask,.dijitIconEditTask,.dijitIconEditProperty,.dijitIconTask,.dijitIconFilter,.dijitIconConfigure,.dijitIconSearch,.dijitIconApplication,.dijitIconBookmark,.dijitIconChart,.dijitIconConnector,.dijitIconDatabase,.dijitIconDocuments,.dijitIconMail,.dijitLeaf,.dijitIconFile,.dijitIconFunction,.dijitIconKey,.dijitIconPackage,.dijitIconSample,.dijitIconTable,.dijitIconUsers,.dijitFolderClosed,.dijitIconFolderClosed,.dijitFolderOpened,.dijitIconFolderOpen,.dijitIconError {background-image: url("../../icons/images/commonIconsObjActEnabled.png"); width: 16px; height: 16px;}.dj_ie6 .dijitIconSave,.dj_ie6 .dijitIconPrint,.dj_ie6 .dijitIconCut,.dj_ie6 .dijitIconCopy,.dj_ie6 .dijitIconClear,.dj_ie6 .dijitIconDelete,.dj_ie6 .dijitIconUndo,.dj_ie6 .dijitIconEdit,.dj_ie6 .dijitIconNewTask,.dj_ie6 .dijitIconEditTask,.dj_ie6 .dijitIconEditProperty,.dj_ie6 .dijitIconTask,.dj_ie6 .dijitIconFilter,.dj_ie6 .dijitIconConfigure,.dj_ie6 .dijitIconSearch,.dj_ie6 .dijitIconApplication,.dj_ie6 .dijitIconBookmark,.dj_ie6 .dijitIconChart,.dj_ie6 .dijitIconConnector,.dj_ie6 .dijitIconDatabase,.dj_ie6 .dijitIconDocuments,.dj_ie6 .dijitIconMail,.dj_ie6 .dijitLeaf,.dj_ie6 .dijitIconFile,.dj_ie6 .dijitIconFunction,.dj_ie6 .dijitIconKey,.dj_ie6 .dijitIconPackage,.dj_ie6 .dijitIconSample,.dj_ie6 .dijitIconTable,.dj_ie6 .dijitIconUsers,.dj_ie6 .dijitFolderClosed,.dj_ie6 .dijitIconFolderClosed,.dj_ie6 .dijitFolderOpened,.dj_ie6 .dijitIconFolderOpen,.dj_ie6 .dijitIconError {background-image: url("../../icons/images/commonIconsObjActEnabled8bit.png");}.dijitDisabled .dijitIconSave,.dijitDisabled .dijitIconPrint,.dijitDisabled .dijitIconCut,.dijitDisabled .dijitIconCopy,.dijitDisabled .dijitIconClear,.dijitDisabled .dijitIconDelete,.dijitDisabled .dijitIconUndo,.dijitDisabled .dijitIconEdit,.dijitDisabled .dijitIconNewTask,.dijitDisabled .dijitIconEditTask,.dijitDisabled .dijitIconEditProperty,.dijitDisabled .dijitIconTask,.dijitDisabled .dijitIconFilter,.dijitDisabled .dijitIconConfigure,.dijitDisabled .dijitIconSearch,.dijitDisabled .dijitIconApplication,.dijitDisabled .dijitIconBookmark,.dijitDisabled .dijitIconChart,.dijitDisabled .dijitIconConnector,.dijitDisabled .dijitIconDatabase,.dijitDisabled .dijitIconDocuments,.dijitDisabled .dijitIconMail,.dijitDisabled .dijitLeaf,.dijitDisabled .dijitIconFile,.dijitDisabled .dijitIconFunction,.dijitDisabled .dijitIconKey,.dijitDisabled .dijitIconPackage,.dijitDisabled .dijitIconSample,.dijitDisabled .dijitIconTable,.dijitDisabled .dijitIconUsers,.dijitDisabled .dijitFolderClosed,.dijitDisabled .dijitIconFolderClosed,.dijitDisabled .dijitFolderOpened,.dijitDisabled .dijitIconFolderOpen,.dijitDisabled .dijitIconError {background-image: url("../../icons/images/commonIconsObjActDisabled.png");}.dijitIconSave {background-position: 0;}.dijitIconPrint {background-position: -16px;}.dijitIconCut {background-position: -32px;}.dijitIconCopy {background-position: -48px;}.dijitIconClear {background-position: -64px;}.dijitIconDelete {background-position: -80px;}.dijitIconUndo {background-position: -96px;}.dijitIconEdit {background-position: -112px;}.dijitIconNewTask {background-position: -128px;}.dijitIconEditTask {background-position: -144px;}.dijitIconEditProperty {background-position: -160px;}.dijitIconTask {background-position: -176px;}.dijitIconFilter {background-position: -192px;}.dijitIconConfigure {background-position: -208px;}.dijitIconSearch {background-position: -224px;}.dijitIconError {background-position: -496px;} .dijitIconApplication {background-position: -240px;}.dijitIconBookmark {background-position: -256px;}.dijitIconChart {background-position: -272px;}.dijitIconConnector {background-position: -288px;}.dijitIconDatabase {background-position: -304px;}.dijitIconDocuments {background-position: -320px;}.dijitIconMail {background-position: -336px;}.dijitIconFile, .dijitLeaf {background-position: -352px;}.dijitIconFunction {background-position: -368px;}.dijitIconKey {background-position: -384px;}.dijitIconPackage{background-position: -400px;}.dijitIconSample {background-position: -416px;}.dijitIconTable {background-position: -432px;}.dijitIconUsers {background-position: -448px;}.dijitIconFolderClosed, .dijitFolderClosed {background-position: -464px;}.dijitIconFolderOpen, .dijitFolderOpened {background-position: -480px;}.dijitIconLoading {background: url("../../icons/images/loadingAnimation.gif") no-repeat; height: 20px; width: 20px;}.claro .dijitPopup {-webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);}.claro .dijitTooltipDialogPopup {-webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none;}.claro .dijitComboBoxHighlightMatch {background-color: #abd6ff;}.claro .dijitFocusedLabel {outline: 1px dotted #494949;}.claro .dojoDndItem {border-color: rgba(0, 0, 0, 0); -webkit-transition-duration: 0.25s; -moz-transition-duration: 0.25s; transition-duration: 0.25s; -webkit-transition-property: background-color, border-color; -moz-transition-property: background-color, border-color; transition-property: background-color, border-color;}.claro .dojoDndItemOver {background-color: #abd6ff; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 1px; border: solid 1px #759dc0; color: #000000;}.claro .dojoDndItemAnchor,.claro .dojoDndItemSelected {background-color: #cfe5fa; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 1px; border: solid 1px #759dc0; color: #000000;}.claro .dojoDndItemBefore,.claro .dojoDndItemAfter {border-color: #759dc0;}.claro table.dojoDndAvatar {border: 1px solid #b5bcc7; border-collapse: collapse; background-color: #ffffff; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25);}.claro .dojoDndAvatarHeader td {height: 20px; padding-left: 21px;}.claro.dojoDndMove .dojoDndAvatarHeader,.claro.dojoDndCopy .dojoDndAvatarHeader {background-image: url("images/dnd.png"); background-repeat: no-repeat; background-position: 2px -122px;}.claro .dojoDndAvatarItem td {padding: 5px;}.claro.dojoDndMove .dojoDndAvatarHeader {background-color: #f58383; background-position: 2px -103px;}.claro.dojoDndCopy .dojoDndAvatarHeader {background-color: #f58383; background-position: 2px -68px;}.claro.dojoDndMove .dojoDndAvatarCanDrop .dojoDndAvatarHeader {background-color: #97e68d; background-position: 2px -33px;}.claro.dojoDndCopy .dojoDndAvatarCanDrop .dojoDndAvatarHeader {background-color: #97e68d; background-position: 2px 2px;}.claro .dijitTextBox,.claro .dijitInputInner {color: #000000;}.claro .dijitValidationTextBoxError .dijitValidationContainer {background-color: #d46464; background-image: url("form/images/error.png"); background-position: top center; border: solid #d46464 0; width: 9px;}.claro .dijitTextBoxError .dijitValidationContainer {border-left-width: 1px;}.claro .dijitValidationTextBoxError .dijitValidationIcon {width: 0; background-color: transparent;}.claro .dijitTextArea,.claro .dijitInputField .dijitPlaceHolder {padding: 2px;}.claro .dijitSelect .dijitInputField,.claro .dijitTextBox .dijitInputField {padding: 1px 2px;}.dj_gecko .claro .dijitTextBox .dijitInputInner,.dj_webkit .claro .dijitTextBox .dijitInputInner {padding-left: 1px; padding-right: 1px;}.claro .dijitSelect,.claro .dijitSelect .dijitButtonContents,.claro .dijitTextBox,.claro .dijitTextBox .dijitButtonNode {border-color: #b5bcc7; -webkit-transition-property: background-color, border; -moz-transition-property: background-color, border; transition-property: background-color, border; -webkit-transition-duration: 0.35s; -moz-transition-duration: 0.35s; transition-duration: 0.35s;}.claro .dijitSelect,.claro .dijitTextBox {background-color: #ffffff;}.claro .dijitSelectHover,.claro .dijitSelectHover .dijitButtonContents,.claro .dijitTextBoxHover,.claro .dijitTextBoxHover .dijitButtonNode {border-color: #759dc0; -webkit-transition-duration: 0.25s; -moz-transition-duration: 0.25s; transition-duration: 0.25s;}.claro .dijitTextBoxHover {background-color: #e5f2fe; background-image: -moz-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: -webkit-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: -o-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px);}.claro .dijitSelectError,.claro .dijitSelectError .dijitButtonContents,.claro .dijitTextBoxError,.claro .dijitTextBoxError .dijitButtonNode {border-color: #d46464;}.claro .dijitSelectFocused,.claro .dijitSelectFocused .dijitButtonContents,.claro .dijitTextBoxFocused,.claro .dijitTextBoxFocused .dijitButtonNode {border-color: #759dc0; -webkit-transition-duration: 0.1s; -moz-transition-duration: 0.1s; transition-duration: 0.1s;}.claro .dijitTextBoxFocused {background-color: #ffffff; background-image: -moz-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: -webkit-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: -o-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px);}.claro .dijitTextBoxFocused .dijitInputContainer {background: #ffffff;}.claro .dijitSelectErrorFocused,.claro .dijitSelectErrorFocused .dijitButtonContents,.claro .dijitTextBoxErrorFocused,.claro .dijitTextBoxErrorFocused .dijitButtonNode {border-color: #ce5050;}.claro .dijitSelectDisabled,.claro .dijitSelectDisabled .dijitButtonContents,.claro .dijitTextBoxDisabled,.claro .dijitTextBoxDisabled .dijitButtonNode {border-color: #d3d3d3;}.claro .dijitSelectDisabled,.claro .dijitTextBoxDisabled,.claro .dijitTextBoxDisabled .dijitInputContainer {background-color: #efefef; background-image: none;}.claro .dijitSelectDisabled,.claro .dijitTextBoxDisabled,.claro .dijitTextBoxDisabled .dijitInputInner {color: #818181;}.dj_webkit .claro .dijitDisabled input {color: #757575;}.dj_webkit .claro textarea.dijitTextAreaDisabled {color: #1b1b1b;}.claro .dijitSelect .dijitArrowButtonInner,.claro .dijitComboBox .dijitArrowButtonInner {background-image: url("form/images/commonFormArrows.png"); background-position: -35px 53%; background-repeat: no-repeat; margin: 0; width: 16px;}.claro .dijitComboBox .dijitArrowButtonInner {border: 1px solid #ffffff;}.claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner {border: none;}.claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner {border: none;}.claro .dijitSelectLabel,.claro .dijitTextBox .dijitInputInner,.claro .dijitValidationTextBox .dijitValidationContainer {padding: 0px 0;}.claro .dijitComboBox .dijitButtonNode {background-color: #efefef; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitComboBoxOpenOnClickHover .dijitButtonNode,.claro .dijitComboBox .dijitDownArrowButtonHover,.claro .dijitComboBoxFocused .dijitArrowButton {background-color: #abd6ff;}.claro .dijitComboBoxOpenOnClickHover .dijitArrowButtonInner,.claro .dijitComboBox .dijitDownArrowButtonHover .dijitArrowButtonInner {background-position: -70px 53%;}.claro .dijitComboBox .dijitHasDropDownOpen {background-color: #7dbdfa; background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 1px;}.dj_iequirks .claro .dijitComboBox .dijitHasDropDownOpen {padding: 1px 0;}.claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner {background-position: -70px 53%; border: 0 none;}.claro div.dijitComboBoxDisabled .dijitArrowButtonInner {background-position: 0 50%; background-color: #efefef;}.dj_ff3 .claro .dijitInputField input[type="hidden"] {display: none; height: 0; width: 0;}.dj_borderbox .claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner {width: 18px;}.dj_borderbox .claro .dijitComboBoxFocused .dijitHasDropDownOpen .dijitArrowButtonInner {width: 16px;}.claro .dijitButtonNode {-webkit-transition-property: background-color; -moz-transition-property: background-color; transition-property: background-color; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; transition-duration: 0.3s;}.claro .dijitButton .dijitButtonNode,.claro .dijitDropDownButton .dijitButtonNode,.claro .dijitComboButton .dijitButtonNode,.claro .dijitToggleButton .dijitButtonNode {border: 1px solid #759dc0; color: #000000; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15); background-color: #bcd8f4; background-image: url("form/images/buttonEnabled.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(#ffffff 0px, rgba(255, 255, 255, 0) 3px, rgba(255, 255, 255, 0.75) 100%); background-image: -webkit-linear-gradient(#ffffff 0px, rgba(255, 255, 255, 0) 3px, rgba(255, 255, 255, 0.75) 100%); background-image: -o-linear-gradient(#ffffff 0px, rgba(255, 255, 255, 0) 3px, rgba(255, 255, 255, 0.75) 100%); background-image: linear-gradient(#ffffff 0px, rgba(255, 255, 255, 0) 3px, rgba(255, 255, 255, 0.75) 100%); _background-image: none;}.claro .dijitComboButton .dijitArrowButton {border-left-width: 0; padding: 4px 2px 4px 2px;}.claro .dijitArrowButtonInner {width: 15px; height: 15px; margin: 0 auto; background-image: url("form/images/buttonArrows.png"); background-repeat: no-repeat; background-position: -51px 53%;}.claro .dijitLeftArrowButton .dijitArrowButtonInner {background-position: -77px 53%;}.claro .dijitRightArrowButton .dijitArrowButtonInner {background-position: -26px 53%;}.claro .dijitUpArrowButton .dijitArrowButtonInner {background-position: 0 53%;}.claro .dijitDisabled .dijitArrowButtonInner {background-position: -151px 53%;}.claro .dijitDisabled .dijitLeftArrowButton .dijitArrowButtonInner {background-position: -177px 53%;}.claro .dijitDisabled .dijitRightArrowButton .dijitArrowButtonInner {background-position: -126px 53%;}.claro .dijitDisabled .dijitUpArrowButton .dijitArrowButtonInner {background-position: -100px 53%;}.claro .dijitButtonText {padding: 0 0.3em; text-align: center;}.claro .dijitButtonHover .dijitButtonNode,.claro .dijitDropDownButtonHover .dijitButtonNode,.claro .dijitComboButton .dijitButtonNodeHover,.claro .dijitComboButton .dijitDownArrowButtonHover,.claro .dijitToggleButtonHover .dijitButtonNode {background-color: #86bdf2; color: #000000; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s;}.claro .dijitButtonActive .dijitButtonNode,.claro .dijitDropDownButtonActive .dijitButtonNode,.claro .dijitComboButtonActive .dijitButtonNode,.claro .dijitToggleButtonActive .dijitButtonNode,.claro .dijitToggleButtonChecked .dijitButtonNode {background-color: #86bdf2; -webkit-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2); -moz-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2); box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2); -webkit-transition-duration: 0.1s; -moz-transition-duration: 0.1s; transition-duration: 0.1s;}.claro .dijitButtonDisabled,.claro .dijitDropDownButtonDisabled,.claro .dijitComboButtonDisabled,.claro .dijitToggleButtonDisabled {background-image: none; outline: none;}.claro .dijitButtonDisabled .dijitButtonNode,.claro .dijitDropDownButtonDisabled .dijitButtonNode,.claro .dijitComboButtonDisabled .dijitButtonNode,.claro .dijitToggleButtonDisabled .dijitButtonNode {background-color: #efefef; border: solid 1px #d3d3d3; color: #818181; -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 rgba(0, 0, 0, 0); background-image: url("form/images/buttonDisabled.png"); background-image: -moz-linear-gradient(#ffffff 0%, rgba(255, 255, 255, 0) 40%); background-image: -webkit-linear-gradient(#ffffff 0%, rgba(255, 255, 255, 0) 40%); background-image: -o-linear-gradient(#ffffff 0%, rgba(255, 255, 255, 0) 40%); background-image: linear-gradient(#ffffff 0%, rgba(255, 255, 255, 0) 40%); _background-image: none;}.claro .dijitComboButtonDisabled .dijitArrowButton {border-left-width: 0;}.claro table.dijitComboButton {border-collapse: separate;}.claro .dijitComboButton .dijitStretch {-moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px;}.claro .dijitComboButton .dijitArrowButton {-moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0;}.claro .dijitToggleButton .dijitCheckBoxIcon {background-image: url("images/checkmarkNoBorder.png");}.dj_ie6 .claro .dijitToggleButton .dijitCheckBoxIcon {background-image: url("images/checkmarkNoBorder.gif");}.claro .dijitCheckBox,.claro .dijitCheckBoxIcon {background-image: url("form/images/checkboxRadioButtonStates.png"); background-repeat: no-repeat; width: 15px; height: 16px; margin: 0 2px 0 0; padding: 0;}.dj_ie6 .claro .dijitCheckBox,.dj_ie6 .claro .dijitCheckBoxIcon {background-image: url("form/images/checkboxAndRadioButtons_IE6.png");}.claro .dijitCheckBox,.claro .dijitToggleButton .dijitCheckBoxIcon {background-position: -15px;}.claro .dijitCheckBoxChecked,.claro .dijitToggleButtonChecked .dijitCheckBoxIcon {background-position: 0;}.claro .dijitCheckBoxDisabled {background-position: -75px;}.claro .dijitCheckBoxCheckedDisabled {background-position: -60px;}.claro .dijitCheckBoxHover {background-position: -45px;}.claro .dijitCheckBoxCheckedHover {background-position: -30px;}.claro .dijitToggleButton .dijitRadio,.claro .dijitToggleButton .dijitRadioIcon {background-image: url("form/images/checkboxRadioButtonStates.png");}.dj_ie6 .claro .dijitToggleButton .dijitRadio,.dj_ie6 .claro .dijitToggleButton .dijitRadioIcon {background-image: url("form/images/checkboxAndRadioButtons_IE6.png");}.claro .dijitRadio,.claro .dijitRadioIcon {background-image: url("form/images/checkboxRadioButtonStates.png"); background-repeat: no-repeat; width: 15px; height: 15px; margin: 0 2px 0 0; padding: 0;}.dj_ie6 .claro .dijitRadio,.dj_ie6 .claro .dijitRadioIcon {background-image: url("form/images/checkboxAndRadioButtons_IE6.png");}.claro .dijitRadio {background-position: -105px;}.claro .dijitToggleButton .dijitRadioIcon {background-position: -107px;}.claro .dijitRadioDisabled {background-position: -165px;}.claro .dijitRadioHover {background-position: -135px;}.claro .dijitRadioChecked {background-position: -90px;}.claro .dijitToggleButtonChecked .dijitRadioIcon {background-position: -92px;}.claro .dijitRadioCheckedHover {background-position: -120px;}.claro .dijitRadioCheckedDisabled {background-position: -150px;}.claro .dijitSelect .dijitArrowButtonContainer {border: 1px solid #ffffff;}.claro .dijitSelect .dijitArrowButton {padding: 0; background-color: #efefef; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitSelect .dijitArrowButton .dijitArrowButtonInner {height: 16px;}.claro .dijitSelectHover {background-color: #e5f2fe; background-image: -moz-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: -webkit-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: -o-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-repeat: repeat-x;}.claro .dijitSelectHover .dijitArrowButton {background-color: #abd6ff;}.claro .dijitSelectHover .dijitArrowButton .dijitArrowButtonInner {background-position: -70px 53%;}.claro .dijitSelectFocused .dijitArrowButton {background-color: #7dbefa; background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitSelectFocused .dijitArrowButton {border: none; padding: 1px;}.claro .dijitSelectFocused .dijitArrowButton .dijitArrowButtonInner {background-position: -70px 53%;}.claro .dijitSelectDisabled {border-color: #d3d3d3; background-color: #efefef; background-image: none; color: #818181;}.claro .dijitSelectDisabled .dijitArrowButton .dijitArrowButtonInner {background-position: 0 53%;}.claro .dijitSelectMenu td.dijitMenuItemIconCell,.claro .dijitSelectMenu td.dijitMenuArrowCell {display: none;}.claro .dijitSelectMenu td.dijitMenuItemLabel {padding: 2px;}.claro .dijitSelectMenu .dijitMenuSeparatorTop {border-bottom: 1px solid #759dc0;}.claro .dijitTabPaneWrapper {background: #ffffff;}.claro .dijitTabPaneWrapper,.claro .dijitTabContainerTop-tabs,.claro .dijitTabContainerBottom-tabs,.claro .dijitTabContainerLeft-tabs,.claro .dijitTabContainerRight-tabs {border-color: #b5bcc7;}.claro .dijitTabCloseButton {background: url("layout/images/tabClose.png") no-repeat; width: 14px; height: 14px; margin-left: 5px; margin-right: -5px;}.claro .dijitTabCloseButtonHover {background-position: -14px;}.claro .dijitTabCloseButtonActive {background-position: -28px;}.claro .dijitTabSpacer {display: none;}.claro .dijitTab {border: 1px solid #b5bcc7; background-color: #efefef; -webkit-transition-property: background-color, border; -moz-transition-property: background-color, border; transition-property: background-color, border; -webkit-transition-duration: 0.35s; -moz-transition-duration: 0.35s; transition-duration: 0.35s; color: #494949;}.claro .dijitTabHover {border-color: #759dc0; background-color: #abd6ff; -webkit-transition-duration: 0.25s; -moz-transition-duration: 0.25s; transition-duration: 0.25s; color: #000000;}.claro .dijitTabActive {border-color: #759dc0; background-color: #7dbdfa; color: #000000; -webkit-transition-duration: 0.1s; -moz-transition-duration: 0.1s; transition-duration: 0.1s;}.claro .dijitTabChecked {border-color: #b5bcc7; background-color: #cfe5fa; color: #000000;}.claro .dijitTabDisabled {background-color: #d3d3d3;}.claro .tabStripButton {background-color: transparent; border: none;}.claro .dijitTabContainerTop-tabs .dijitTab {top: 1px; margin-right: 1px; padding: 3px 6px; border-bottom-width: 0; min-width: 60px; text-align: center; background-image: url("layout/images/tabTopUnselected.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); -webkit-box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04); -moz-box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04); box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.04);}.claro .dijitTabContainerTop-tabs .dijitTabChecked {padding-bottom: 4px; padding-top: 9px; background-image: url("layout/images/tabTopSelected.png"); background-image: -moz-linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px, #ffffff 7px); background-image: -webkit-linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px, #ffffff 7px); background-image: -o-linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px, #ffffff 7px); background-image: linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px, #ffffff 7px); -webkit-box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05); box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.05);}.claro .dijitTabContainerBottom-tabs .dijitTab {top: -1px; margin-right: 1px; padding: 3px 6px; border-top-width: 0; min-width: 60px; text-align: center; background-image: url("layout/images/tabBottomUnselected.png"); background-repeat: repeat-x; background-position: bottom; background-image: -moz-linear-gradient(bottom, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(bottom, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(bottom, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(bottom, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04); box-shadow: 0 1px 1px rgba(0, 0, 0, 0.04);}.claro .dijitTabContainerBottom-tabs .dijitTabChecked {padding-bottom: 9px; padding-top: 4px; background-image: url("layout/images/tabBottomSelected.png"); background-image: -moz-linear-gradient(bottom, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px, #ffffff 7px); background-image: -webkit-linear-gradient(bottom, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px, #ffffff 7px); background-image: -o-linear-gradient(bottom, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px, #ffffff 7px); background-image: linear-gradient(bottom, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px, #ffffff 7px); -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);}.claro .dijitTabContainerLeft-tabs .dijitTab {left: 1px; margin-bottom: 1px; padding: 3px 8px 4px 4px; background-image: url("layout/images/tabLeftUnselected.png"); background-repeat: repeat-y; background-image: -moz-linear-gradient(left, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(left, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(left, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(left, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%);}.claro .dijitTabContainerLeft-tabs .dijitTabChecked {border-right-width: 0; padding-right: 9px; background-image: url("layout/images/tabLeftSelected.png"); background-image: -moz-linear-gradient(left, rgba(255, 255, 255, 0.5) 0px, #ffffff 30px); background-image: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.5) 0px, #ffffff 30px); background-image: -o-linear-gradient(left, rgba(255, 255, 255, 0.5) 0px, #ffffff 30px); background-image: linear-gradient(left, rgba(255, 255, 255, 0.5) 0px, #ffffff 30px); -webkit-box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05); box-shadow: -1px 0 2px rgba(0, 0, 0, 0.05);}.claro .dijitTabContainerRight-tabs .dijitTab {left: -1px; margin-bottom: 1px; padding: 3px 8px 4px 4px; background-image: url("layout/images/tabRightUnselected.png"); background-repeat: repeat-y; background-position: right; background-image: -moz-linear-gradient(right, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(right, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(right, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(right, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0.1) 2px, rgba(255, 255, 255, 0.6) 7px, rgba(255, 255, 255, 0) 100%);}.claro .dijitTabContainerRight-tabs .dijitTabChecked {padding-left: 5px; border-left-width: 0; background-image: url("layout/images/tabRightSelected.png"); background-image: -moz-linear-gradient(right, rgba(255, 255, 255, 0.5) 0px, #ffffff 30px); background-image: -webkit-linear-gradient(right, rgba(255, 255, 255, 0.5) 0px, #ffffff 30px); background-image: -o-linear-gradient(right, rgba(255, 255, 255, 0.5) 0px, #ffffff 30px); background-image: linear-gradient(right, rgba(255, 255, 255, 0.5) 0px, #ffffff 30px); -webkit-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07); -moz-box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07); box-shadow: 1px 0 2px rgba(0, 0, 0, 0.07);}.claro .dijitTabContainerTop-tabs .dijitTab {-moz-border-radius: 2px 2px 0 0; border-radius: 2px 2px 0 0;}.claro .dijitTabContainerBottom-tabs .dijitTab {-moz-border-radius: 0 0 2px 2px; border-radius: 0 0 2px 2px;}.claro .dijitTabContainerLeft-tabs .dijitTab {-moz-border-radius: 2px 0 0 2px; border-radius: 2px 0 0 2px;}.claro .dijitTabContainerRight-tabs .dijitTab {-moz-border-radius: 0 2px 2px 0; border-radius: 0 2px 2px 0;}.claro .tabStripButton {background-color: #e5f2fe; border: 1px solid #b5bcc7;}.claro .dijitTabListContainer-top .tabStripButton {padding: 4px 3px; margin-top: 7px; background-image: -moz-linear-gradient(top, #ffffff 0px, rgba(255, 255, 255, 0.1) 1px, rgba(255, 255, 255, 0.6) 6px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(top, #ffffff 0px, rgba(255, 255, 255, 0.1) 1px, rgba(255, 255, 255, 0.6) 6px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(top, #ffffff 0px, rgba(255, 255, 255, 0.1) 1px, rgba(255, 255, 255, 0.6) 6px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(top, #ffffff 0px, rgba(255, 255, 255, 0.1) 1px, rgba(255, 255, 255, 0.6) 6px, rgba(255, 255, 255, 0) 100%);}.claro .dijitTabListContainer-bottom .tabStripButton {padding: 4px 3px; margin-bottom: 7px; background-image: -moz-linear-gradient(bottom, #ffffff 0px, rgba(255, 255, 255, 0.1) 1px, rgba(255, 255, 255, 0.6) 6px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(bottom, #ffffff 0px, rgba(255, 255, 255, 0.1) 1px, rgba(255, 255, 255, 0.6) 6px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(bottom, #ffffff 0px, rgba(255, 255, 255, 0.1) 1px, rgba(255, 255, 255, 0.6) 6px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(bottom, #ffffff 0px, rgba(255, 255, 255, 0.1) 1px, rgba(255, 255, 255, 0.6) 6px, rgba(255, 255, 255, 0) 100%);}.claro .tabStripButtonHover {background-color: #abd6ff;}.claro .tabStripButtonActive {background-color: #7dbdfa;}.claro .dijitTabStripIcon {height: 15px; width: 15px; margin: 0 auto; background: url("form/images/buttonArrows.png") no-repeat -75px 50%; background-color: transparent;}.claro .dijitTabStripSlideRightIcon {background-position: -24px 50%;}.claro .dijitTabStripMenuIcon {background-position: -51px 50%;}.claro .dijitTabListContainer-top .tabStripButtonDisabled,.claro .dijitTabListContainer-bottom .tabStripButtonDisabled {background-color: #d3d3d3; border: 1px solid #b5bcc7;}.claro .tabStripButtonDisabled .dijitTabStripSlideLeftIcon {background-position: -175px 50%;}.claro .tabStripButtonDisabled .dijitTabStripSlideRightIcon {background-position: -124px 50%;}.claro .tabStripButtonDisabled .dijitTabStripMenuIcon {background-position: -151px 50%;}.claro .dijitTabContainerNested .dijitTabListWrapper {height: auto;}.claro .dijitTabContainerNested .dijitTabContainerTop-tabs {border-bottom: solid 1px #b5bcc7; padding: 2px 2px 4px;}.claro .dijitTabContainerTabListNested .dijitTab {background-color: rgba(255, 255, 255, 0); border: none; padding: 4px; border-color: rgba(118, 157, 192, 0); -webkit-transition-property: background-color, border-color; -moz-transition-property: background-color, border-color; transition-property: background-color, border-color; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; transition-duration: 0.3s; -moz-border-radius: 2px; border-radius: 2px; top: 0; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; background-image: url("layout/images/tabNested.png") repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 17%, rgba(255, 255, 255, 0) 83%, rgba(255, 255, 255, 0.61) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 17%, rgba(255, 255, 255, 0) 83%, rgba(255, 255, 255, 0.61) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 17%, rgba(255, 255, 255, 0) 83%, rgba(255, 255, 255, 0.61) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.61) 0%, rgba(255, 255, 255, 0) 17%, rgba(255, 255, 255, 0) 83%, rgba(255, 255, 255, 0.61) 100%);}.claro .dijitTabContainerTabListNested .dijitTabHover {background-color: #e5f2fe; border: solid 1px #cfe5fa; padding: 3px; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s;}.claro .dijitTabContainerTabListNested .dijitTabHover .tabLabel {text-decoration: none;}.claro .dijitTabContainerTabListNested .dijitTabActive {border: solid 1px #759dc0; padding: 3px; -webkit-transition-duration: 0.1s; -moz-transition-duration: 0.1s; transition-duration: 0.1s;}.claro .dijitTabContainerTabListNested .dijitTabChecked {padding: 3px; border: solid 1px #759dc0; background-color: #cfe5fa;}.claro .dijitTabContainerTabListNested .dijitTabChecked .tabLabel {text-decoration: none; background-image: none;}.claro .dijitTabPaneWrapperNested {border: none;}.claro .dijitTabContainer .dijitTab,.claro .dijitTabContainer .tabStripButton {_background-image: none;}.claro .dijitDialog {border: 1px solid #759dc0; -webkit-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25); box-shadow: 0 1px 5px rgba(0, 0, 0, 0.25);}.claro .dijitDialogPaneContent {background: #ffffff repeat-x top left; border-top: 1px solid #759dc0; padding: 10px 8px; position: relative;}.claro .dijitDialogPaneContentArea {margin: -10px -8px; padding: 10px 8px;}.claro .dijitDialogPaneActionBar {background-color: #efefef; padding: 3px 5px 2px 7px; text-align: right; border-top: 1px solid #d3d3d3; margin: 10px -8px -10px;}.claro .dijitTooltipDialog .dijitDialogPaneActionBar {-webkit-border-bottom-right-radius: 4px; -webkit-border-bottom-left-radius: 4px; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px; -moz-border-radius-bottomright: 4px; -moz-border-radius-bottomleft: 4px; margin: 10px -10px -8px;}.claro .dijitDialogPaneActionBar .dijitButton {float: none;}.claro .dijitDialogTitleBar {border: 1px solid #ffffff; border-top: none; background-color: #abd6ff; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 5px 7px 4px 7px;}.claro .dijitDialogTitle {padding: 0 1px; font-size: 1.091em; color: #000000;}.claro .dijitDialogCloseIcon {background: url("images/dialogCloseIcon.png"); background-repeat: no-repeat; position: absolute; right: 5px; height: 15px; width: 21px;}.dj_ie6 .claro .dijitDialogCloseIcon {background-image: url("images/dialogCloseIcon8bit.png");}.claro .dijitDialogCloseIconHover {background-position: -21px;}.claro .dijitDialogCloseIcon:active {background-position: -42px;}.claro .dijitTooltip,.claro .dijitTooltipDialog {background: transparent;}.dijitTooltipBelow {padding-top: 13px; padding-left: 3px; padding-right: 3px;}.dijitTooltipAbove {padding-bottom: 13px; padding-left: 3px; padding-right: 3px;}.claro .dijitTooltipContainer {background-color: #ffffff; background-image: -moz-linear-gradient(bottom, rgba(207, 229, 250, 0.1) 0px, #ffffff 10px); background-image: -webkit-linear-gradient(bottom, rgba(207, 229, 250, 0.1) 0px, #ffffff 10px); background-image: -o-linear-gradient(bottom, rgba(207, 229, 250, 0.1) 0px, #ffffff 10px); background-image: linear-gradient(bottom, rgba(207, 229, 250, 0.1) 0px, #ffffff 10px); background-position: bottom; border: 1px solid #759dc0; padding: 6px 8px; -moz-border-radius: 4px; border-radius: 4px; -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.25); font-size: 1em; color: #000000;}.claro .dijitTooltipConnector {border: 0; z-index: 2; background-image: url("images/tooltip.png"); background-repeat: no-repeat; width: 16px; height: 14px;}.dj_ie6 .claro .dijitTooltipConnector {background-image: url("images/tooltip8bit.png");}.claro .dijitTooltipBelow .dijitTooltipConnector {top: 0; left: 3px; background-position: -31px 0; width: 16px; height: 14px;}.claro .dijitTooltipAbove .dijitTooltipConnector {bottom: 0; left: 3px; background-position: -15px 0; width: 16px; height: 14px;}.dj_ie7 .claro .dijitTooltipAbove .dijitTooltipConnector,.dj_ie6 .claro .dijitTooltipAbove .dijitTooltipConnector {bottom: -1px;}.claro .dijitTooltipABRight .dijitTooltipConnector {left: auto; right: 3px;}.claro .dijitTooltipLeft {padding-right: 14px;}.claro .dijitTooltipLeft .dijitTooltipConnector {right: 0; background-position: 0 0; width: 16px; height: 14px;}.claro .dijitTooltipRight {padding-left: 14px;}.claro .dijitTooltipRight .dijitTooltipConnector {left: 0; background-position: -48px 0; width: 16px; height: 14px;}.claro .dijitDialogUnderlay {background: #ffffff;}.claro .dijitAccordionContainer {border: none;}.claro .dijitAccordionInnerContainer {background-color: #efefef; border: solid 1px #b5bcc7; margin-bottom: 1px; -webkit-transition-property: background-color, border; -moz-transition-property: background-color, border; transition-property: background-color, border; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; transition-duration: 0.3s; -webkit-transition-timing-function: linear; -moz-transition-timing-function: linear; transition-timing-function: linear;}.claro .dijitAccordionTitle {background-color: transparent; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 5px 7px 2px 7px; min-height: 17px; color: #494949;}.claro .dijitAccordionContainer .dijitAccordionChildWrapper {background-color: #ffffff; border: 1px solid #759dc0; margin: 0 2px 2px;}.claro .dijitAccordionContainer .dijitAccordionContainer-child {padding: 9px;}.claro .dijitAccordionInnerContainerHover {border: 1px solid #759dc0; background-color: #abd6ff; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s;}.claro .dijitAccordionInnerContainerHover .dijitAccordionTitle {color: #000000;}.claro .dijitAccordionInnerContainerActive {border: 1px solid #759dc0; background-color: #7dbdfa; -webkit-transition-duration: 0.1s; -moz-transition-duration: 0.1s; transition-duration: 0.1s;}.claro .dijitAccordionInnerContainerActive .dijitAccordionTitle {background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none; color: #000000;}.claro .dijitAccordionInnerContainerSelected {border-color: #759dc0; background-color: #cfe5fa;}.claro .dijitAccordionInnerContainerSelected .dijitAccordionTitle {color: #000000; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitContentPane {}.claro .dijitTabContainerTop-dijitContentPane,.claro .dijitTabContainerLeft-dijitContentPane,.claro .dijitTabContainerBottom-dijitContentPane,.claro .dijitTabContainerRight-dijitContentPane,.claro .dijitAccordionContainer-dijitContentPane {background-color: #ffffff;}.claro .dijitSplitContainer-dijitContentPane,.claro .dijitBorderContainer-dijitContentPane {background-color: #ffffff;}.claro .dijitCalendar {border: solid 1px #b5bcc7; border-collapse: separate; -moz-border-radius: 4px; border-radius: 4px; background-color: #cfe5fa; background-image: url("images/calendar.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(#ffffff 0px, rgba(255, 255, 255, 0.4) 2px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(#ffffff 0px, rgba(255, 255, 255, 0.4) 2px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(#ffffff 0px, rgba(255, 255, 255, 0.4) 2px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(#ffffff 0px, rgba(255, 255, 255, 0.4) 2px, rgba(255, 255, 255, 0) 100%); text-align: center; padding: 6px 5px 3px 5px;}.dj_ie6 .claro .dijitCalendar {background-image: none;}.claro .dijitCalendar img {border: none;}.claro .dijitCalendarHover,.claro .dijitCalendar:hover,.claro .dijitCalendarActive {background-color: #abd6ff; border: solid 1px #759dc0;}.claro .dijitCalendarMonthContainer th {text-align: center; padding-bottom: 4px; vertical-align: middle;}.claro .dijitCalendarMonthLabel {color: #000000; font-size: 1.091em; padding: 0 4px;}.claro .dijitCalendarIncrementControl {width: 18px; height: 16px; background-image: url("images/calendarArrows.png"); background-repeat: no-repeat;}.dj_ie6 .claro .dijitCalendarIncrementControl {background-image: url("images/calendarArrows8bit.png");}.claro .dijitCalendarIncrease {background-position: -18px 0;}.claro .dijitCalendarArrowHover .dijitCalendarDecrease,.claro .dijitCalendarArrow:hover .dijitCalendarDecrease {background-position: -36px 0;}.claro .dijitCalendarArrowHover .dijitCalendarIncrease,.claro .dijitCalendarArrow:hover .dijitCalendarIncrease {background-position: -55px 0;}.claro .dijitCalendarArrowActive .dijitCalendarDecrease,.claro .dijitCalendarArrow:active .dijitCalendarDecrease {background-position: -72px 0;}.claro .dijitCalendarArrowActive .dijitCalendarIncrease,.claro .dijitCalendarArrow:active .dijitCalendarIncrease {background-position: -91px 0;}.claro .dijitA11ySideArrow {display: none;}.claro .dijitCalendarDayLabelTemplate {padding-bottom: 0; text-align: center; border-bottom: 1px solid #b5bcc7; padding: 0 3px 2px;}.claro .dijitCalendarDayLabel {padding: 0 4px 0 4px; font-weight: bold; font-size: 0.909em; text-align: center; color: #000000;}.claro .dijitCalendarDateTemplate {background-color: #ffffff; border-bottom: 1px solid #d3d3d3; padding-top: 0; font-size: 0.909em; font-family: Arial; font-weight: bold; letter-spacing: .05em; text-align: center; color: #000000;}.dj_ie6 .claro .dijitCalendarDateTemplate {background-image: none;}.claro .dijitCalendarPreviousMonth,.claro .dijitCalendarNextMonth {background-color: #e5f2fe; background-image: none; border-bottom: solid 1px #d3d3d3;}.claro .dijitCalendarDateTemplate .dijitCalendarDateLabel {text-decoration: none; display: block; padding: 3px 5px 3px 4px; border: solid 1px #ffffff; background-color: rgba(171, 212, 251, 0); -webkit-transition-property: background-color, border; -moz-transition-property: background-color, border; transition-property: background-color, border; -webkit-transition-duration: 0.35s; -moz-transition-duration: 0.35s; transition-duration: 0.35s;}.claro .dijitCalendarPreviousMonth .dijitCalendarDateLabel,.claro .dijitCalendarNextMonth .dijitCalendarDateLabel {color: #759dc0; border-color: #e5f2fe;}.claro .dijitCalendarYearContainer {vertical-align: middle;}.claro .dijitCalendarYearControl {padding: 1px 2px 2px 2px;}.claro .dijitCalendarYearLabel {padding: 2px 0 0 0; margin: 0; font-size: 1.17em;}.claro .dijitCalendarYearLabel span {vertical-align: middle;}.claro .dijitCalendarSelectedYear {padding: 0 3px;}.claro .dijitCalendarNextYear,.claro .dijitCalendarPreviousYear {padding: 1px 6px 1px 6px; font-size: 0.909em;}.claro .dijitCalendarSelectedYear {font-size: 1.091em; color: #000000;}.claro .dijitCalendarHoveredDate .dijitCalendarDateLabel,.claro .dijitCalendarEnabledDate:hover .dijitCalendarDateLabel {background-color: #abd6ff; border: solid 1px #759dc0; color: #000000; -webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s;}.claro .dijitCalendarNextYearHover,.claro .dijitCalendarNextYear:hover,.claro .dijitCalendarPreviousYearHover,.claro .dijitCalendarPreviousYear:hover {color: #000000; border: solid 1px #ffffff; padding: 0 5px 0 5px; background-color: #e5f2fe;}.claro .dijitCalendarNextYearActive,.claro .dijitCalendarNextYear:active .claro .dijitCalendarPreviousYearActive,.claro .dijitCalendarPreviousYear:active {border: solid 1px #759dc0; padding: 0 5px 0 5px; background-color: #7dbdfa;}.claro .dijitCalendarActiveDate .dijitCalendarDateLabel,.claro .dijitCalendarEnabledDate:active .dijitCalendarDateLabel {background-color: #7dbdfa; border: solid 1px #ffffff; -webkit-transition-duration: 0.1s; -moz-transition-duration: 0.1s; transition-duration: 0.1s;}.dj_ie6 .claro .dijitCalendarActiveDate .dijitCalendarDateLabel {background-image: none;}.claro .dijitCalendarSelectedDate .dijitCalendarDateLabel {color: #000000; background-color: #abd6ff; border-color: #759dc0;}.claro .dijitCalendarDisabledDate .dijitCalendarDateLabel {color: #818181; text-decoration: line-through;}.claro .dijitCalendar .dijitDropDownButton {margin: 0;}.claro .dijitCalendar .dijitButtonText {padding: 1px 0 3px; margin-right: -4px;}.claro .dijitCalendar .dijitDropDownButton .dijitButtonNode {padding: 0 3px 0 2px; border: solid 1px #b5bcc7; -webkit-box-shadow: 0 0 0 rgba(0, 0, 0, 0); -moz-box-shadow: 0 0 0 rgba(0, 0, 0, 0); box-shadow: 0 0 0 rgba(0, 0, 0, 0); background-color: transparent; background-image: none;}.claro .dijitCalendar .dijitDropDownButtonHover .dijitButtonNode,.claro .dijitCalendar .dijitDropDownButton:hover .dijitButtonNode {background-color: #e5f2fe; border: solid 1px #ffffff;}.claro .dijitCalendarMonthMenu {border-color: #759dc0; background-color: #ffffff; text-align: center; background-image: none;}.claro .dijitCalendarMonthMenu .dijitCalendarMonthLabel {border-top: solid 1px #ffffff; border-bottom: solid 1px #ffffff; padding: 2px 0;}.claro .dijitCalendarMonthMenu .dijitCalendarMonthLabelHover,.claro .dijitCalendarMonthMenu .dijitCalendarMonthLabel:hover {border-color: #759dc0; border-width: 1px 0; background-color: #abd6ff; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0)); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0)); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0)); background-image: linear-gradient(rgba(255, 255, 255, 0.7), rgba(255, 255, 255, 0)); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr= #ffffff , endColorstr= #abd6ff );}.claro .dijitMenuBar {border: 1px solid #b5bcc7; margin: 0; padding: 0; background-color: #efefef; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitMenu {background-color: #ffffff; border: 1px solid #759dc0;}.claro .dijitMenuItem {color: #000000;}.claro .dijitMenuBar .dijitMenuItem {padding: 6px 10px 7px; margin: -1px;}.claro .dijitMenuBar .dijitMenuItemHover,.claro .dijitMenuBar .dijitMenuItemSelected {border: solid 1px #759dc0; padding: 5px 9px 6px;}.claro .dijitMenuTable {border-collapse: separate; border-spacing: 0 0; padding: 0;}.claro .dijitMenu .dijitMenuItem td,.claro .dijitComboBoxMenu .dijitMenuItem {padding: 2px 6px; border-width: 1px 0 1px 0; border-style: solid; border-color: #ffffff;}.claro .dijitMenu .dijitMenuItemHover td,.claro .dijitMenu .dijitMenuItemSelected td,.claro .dijitMenuItemHover,.claro .dijitComboBoxMenu .dijitMenuItemHover,.claro .dijitMenuItemSelected {border-color: #759dc0; background-color: #abd6ff; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitMenuItemActive {background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none;}.dj_ie .claro .dijitMenuActive .dijitMenuItemHover,.dj_ie .claro .dijitMenuActive .dijitMenuItemSelected,.dj_ie .claro .dijitMenuPassive .dijitMenuItemHover,.dj_ie .claro .dijitMenuPassive .dijitMenuItemSelected {padding-top: 6px; padding-bottom: 5px; margin-top: -3px;}.claro td.dijitMenuItemIconCell {padding: 2px; margin: 0 0 0 4px;}.claro td.dijitMenuItemLabel {padding-top: 5px; padding-bottom: 5px;}.claro .dijitMenuExpand {width: 7px; height: 7px; background-image: url("images/spriteArrows.png"); background-position: -14px 0; margin-right: 3px; margin-bottom: 4px;}.claro .dijitMenuItemDisabled .dijitMenuItemIconCell {opacity: 1;}.claro .dijitMenuSeparatorTop {height: auto; margin-top: 1px; border-bottom: 1px solid #b5bcc7;}.claro .dijitMenuSeparatorBottom {height: auto; margin-bottom: 1px;}.claro .dijitCheckedMenuItem .dijitMenuItemIcon,.claro .dijitRadioMenuItem .dijitMenuItemIcon {background-image: url("form/images/checkboxRadioButtonStates.png"); background-repeat: no-repeat; background-position: -15px 50%; width: 15px; height: 16px;}.dj_ie6 .claro .dijitCheckedMenuItem .dijitMenuItemIcon,.dj_ie6 .claro .dijitRadioMenuItem .dijitMenuItemIcon {background-image: url("form/images/checkboxAndRadioButtons_IE6.png");}.claro .dijitCheckedMenuItemChecked .dijitCheckedMenuItemIcon {background-position: 0 50%;}.claro .dijitRadioMenuItem .dijitMenuItemIcon {background-position: -105px 50%;}.claro .dijitRadioMenuItemChecked .dijitMenuItemIcon {background-position: -90px 50%;}.claro .dijitComboBoxMenu {margin-left: 0; background-image: none;}.claro .dijitMenu .dijitMenuItemSelected td,.claro .dijitComboBoxMenu .dijitMenuItemSelected {color: #000000; border-color: #759dc0; background-color: #abd6ff;}.claro .dijitComboBoxMenuActive .dijitMenuItemSelected {background-color: #7dbdfa;}.claro .dijitMenuPreviousButton,.claro .dijitMenuNextButton {font-style: italic;}.claro .dijitSliderBar {border-style: solid; outline: 1px;}.claro .dijitSliderFocused .dijitSliderBar {border-color: #759dc0;}.claro .dijitSliderHover .dijitSliderBar {border-color: #759dc0;}.claro .dijitSliderDisabled .dijitSliderBar {background-image: none; border-color: #d3d3d3;}.claro .dijitRuleLabelsContainer {color: #000000;}.claro .dijitRuleLabelsContainerH {padding: 2px 0;}.claro .dijitSlider .dijitSliderProgressBarH,.claro .dijitSlider .dijitSliderLeftBumper {border-color: #b5bcc7; background-color: #cfe5fa; background-image: -moz-linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px); background-image: -webkit-linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px); background-image: -o-linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px); background-image: linear-gradient(top, #ffffff 0px, #ffffff 1px, rgba(255, 255, 255, 0) 2px);}.claro .dijitSlider .dijitSliderRemainingBarH,.claro .dijitSlider .dijitSliderRightBumper {border-color: #b5bcc7; background-color: #ffffff;}.claro .dijitSliderRightBumper {border-right: solid 1px #b5bcc7;}.claro .dijitSliderLeftBumper {border-left: solid 1px #b5bcc7;}.claro .dijitSliderHover .dijitSliderProgressBarH,.claro .dijitSliderHover .dijitSliderLeftBumper {background-color: #abd6ff; border-color: #759dc0;}.claro .dijitSliderHover .dijitSliderRemainingBarH,.claro .dijitSliderHover .dijitSliderRightBumper {background-color: #ffffff; border-color: #759dc0;}.claro .dijitSliderFocused .dijitSliderProgressBarH,.claro .dijitSliderFocused .dijitSliderLeftBumper {background-color: #abd6ff; border-color: #759dc0; -webkit-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2); -moz-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2); box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2);}.claro .dijitSliderFocused .dijitSliderRemainingBarH,.claro .dijitSliderFocused .dijitSliderRightBumper {background-color: #ffffff; border-color: #759dc0; -webkit-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2); -moz-box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2); box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.2);}.claro .dijitSliderDisabled .dijitSliderProgressBarH,.claro .dijitSliderDisabled .dijitSliderLeftBumper {background-color: #d3d3d3; background-image: none;}.claro .dijitSliderDisabled .dijitSliderRemainingBarH,.claro .dijitSliderDisabled .dijitSliderRightBumper {background-color: #efefef;}.claro .dijitRuleLabelsContainerV {padding: 0 2px;}.claro .dijitSlider .dijitSliderProgressBarV,.claro .dijitSlider .dijitSliderBottomBumper {border-color: #b5bcc7; background-color: #cfe5fa; background-image: -moz-linear-gradient(left, #ffffff 0px, rgba(255, 255, 255, 0) 1px); background-image: -webkit-linear-gradient(left, #ffffff 0px, rgba(255, 255, 255, 0) 1px); background-image: -o-linear-gradient(left, #ffffff 0px, rgba(255, 255, 255, 0) 1px); background-image: linear-gradient(left, #ffffff 0px, rgba(255, 255, 255, 0) 1px);}.claro .dijitSlider .dijitSliderRemainingBarV,.claro .dijitSlider .dijitSliderTopBumper {border-color: #b5bcc7; background-color: #ffffff;}.claro .dijitSliderBottomBumper {border-bottom: solid 1px #b5bcc7;}.claro .dijitSliderTopBumper {border-top: solid 1px #b5bcc7;}.claro .dijitSliderHover .dijitSliderProgressBarV,.claro .dijitSliderHover .dijitSliderBottomBumper {background-color: #abd6ff; border-color: #759dc0;}.claro .dijitSliderHover .dijitSliderRemainingBarV,.claro .dijitSliderHover .dijitSliderTopBumper {background-color: #ffffff; border-color: #759dc0;}.claro .dijitSliderFocused .dijitSliderProgressBarV,.claro .dijitSliderFocused .dijitSliderBottomBumper {background-color: #abd6ff; border-color: #759dc0; -webkit-box-shadow: inset 1px 0px 1px rgba(0, 0, 0, 0.2); -moz-box-shadow: inset 1px 0px 1px rgba(0, 0, 0, 0.2); box-shadow: inset 1px 0px 1px rgba(0, 0, 0, 0.2);}.claro .dijitSliderFocused .dijitSliderRemainingBarV,.claro .dijitSliderFocused .dijitSliderTopBumper {background-color: #ffffff; border-color: #759dc0; -webkit-box-shadow: inset 1px 0px 1px rgba(0, 0, 0, 0.2); -moz-box-shadow: inset 1px 0px 1px rgba(0, 0, 0, 0.2); box-shadow: inset 1px 0px 1px rgba(0, 0, 0, 0.2);}.claro .dijitSliderDisabled .dijitSliderProgressBarV,.claro .dijitSliderDisabled .dijitSliderBottomBumper {background-color: #d3d3d3;}.claro .dijitSliderDisabled .dijitSliderRemainingBarV,.claro .dijitSliderDisabled .dijitSliderTopBumper {background-color: #efefef;}.claro .dijitSliderImageHandleH {border: 0; width: 18px; height: 16px; background-image: url("form/images/sliderThumbs.png"); background-repeat: no-repeat; background-position: 0 0;}.claro .dijitSliderHover .dijitSliderImageHandleH {background-position: -18px 0;}.claro .dijitSliderFocused .dijitSliderImageHandleH {background-position: -36px 0;}.claro .dijitSliderProgressBarH .dijitSliderThumbHover {background-position: -36px 0;}.claro .dijitSliderProgressBarH .dijitSliderThumbActive {background-position: -36px 0;}.claro .dijitSliderReadOnly .dijitSliderImageHandleH,.claro .dijitSliderDisabled .dijitSliderImageHandleH {background-position: -54px 0;}.claro .dijitSliderImageHandleV {border: 0; width: 18px; height: 16px; background-image: url("form/images/sliderThumbs.png"); background-repeat: no-repeat; background-position: -289px 0;}.claro .dijitSliderHover .dijitSliderImageHandleV {background-position: -307px 0;}.claro .dijitSliderFocused .dijitSliderImageHandleV {background-position: -325px 0;}.claro .dijitSliderProgressBarV .dijitSliderThumbHover {background-position: -325px 0;}.claro .dijitSliderProgressBarV .dijitSliderThumbActive {background-position: -325px 0;}.claro .dijitSliderReadOnly .dijitSliderImageHandleV,.claro .dijitSliderDisabled .dijitSliderImageHandleV {background-position: -343px 0;}.claro .dijitSliderButtonContainerH {padding: 1px 3px 1px 2px;}.claro .dijitSliderButtonContainerV {padding: 3px 1px 2px 1px;}.claro .dijitSliderDecrementIconH,.claro .dijitSliderIncrementIconH,.claro .dijitSliderDecrementIconV,.claro .dijitSliderIncrementIconV {background-image: url("form/images/commonFormArrows.png"); background-repeat: no-repeat; background-color: #efefef; -moz-border-radius: 2px; border-radius: 2px; border: solid 1px #b5bcc7; font-size: 1px;}.claro .dijitSliderDecrementIconH,.claro .dijitSliderIncrementIconH {height: 12px; width: 9px;}.claro .dijitSliderDecrementIconV,.claro .dijitSliderIncrementIconV {height: 9px; width: 12px;}.claro .dijitSliderActive .dijitSliderDecrementIconH,.claro .dijitSliderActive .dijitSliderIncrementIconH,.claro .dijitSliderActive .dijitSliderDecrementIconV,.claro .dijitSliderActive .dijitSliderIncrementIconV,.claro .dijitSliderHover .dijitSliderDecrementIconH,.claro .dijitSliderHover .dijitSliderIncrementIconH,.claro .dijitSliderHover .dijitSliderDecrementIconV,.claro .dijitSliderHover .dijitSliderIncrementIconV {border: solid 1px #759dc0; background-color: #ffffff;}.claro .dijitSliderDecrementIconH {background-position: -357px 50%;}.claro .dijitSliderActive .dijitSliderDecrementIconH .claro .dijitSliderHover .dijitSliderDecrementIconH {background-position: -393px 50%;}.claro .dijitSliderIncrementIconH {background-position: -251px 50%;}.claro .dijitSliderActive .dijitSliderIncrementIconH .claro .dijitSliderHover .dijitSliderIncrementIconH {background-position: -283px 50%;}.claro .dijitSliderDecrementIconV {background-position: -38px 50%;}.claro .dijitSliderActive .dijitSliderDecrementIconV .claro .dijitSliderHover .dijitSliderDecrementIconV {background-position: -73px 50%;}.claro .dijitSliderIncrementIconV {background-position: -143px 49%;}.claro .dijitSliderActive .dijitSliderIncrementIconV .claro .dijitSliderHover .dijitSliderIncrementIconV {background-position: -178px 49%;}.claro .dijitSliderButtonContainerV .dijitSliderDecrementButtonHover,.claro .dijitSliderButtonContainerH .dijitSliderDecrementButtonHover,.claro .dijitSliderButtonContainerV .dijitSliderIncrementButtonHover,.claro .dijitSliderButtonContainerH .dijitSliderIncrementButtonHover {background-color: #cfe5fa;}.claro .dijitSliderButtonContainerV .dijitSliderDecrementButtonActive,.claro .dijitSliderButtonContainerH .dijitSliderDecrementButtonActive,.claro .dijitSliderButtonContainerV .dijitSliderIncrementButtonActive,.claro .dijitSliderButtonContainerH .dijitSliderIncrementButtonActive {background-color: #abd6ff; border-color: #759dc0;}.claro .dijitSliderButtonInner {visibility: hidden;}.claro .dijitSliderDisabled .dijitSliderBar {border-color: #d3d3d3;}.claro .dijitSliderReadOnly *,.claro .dijitSliderDisabled * {border-color: #d3d3d3; color: #818181;}.claro .dijitSliderReadOnly .dijitSliderDecrementIconH,.claro .dijitSliderDisabled .dijitSliderDecrementIconH {background-position: -321px 50%; background-color: #efefef;}.claro .dijitSliderReadOnly .dijitSliderIncrementIconH,.claro .dijitSliderDisabled .dijitSliderIncrementIconH {background-position: -215px 50%; background-color: #efefef;}.claro .dijitSliderReadOnly .dijitSliderDecrementIconV,.claro .dijitSliderDisabled .dijitSliderDecrementIconV {background-position: -3px 49%; background-color: #efefef;}.claro .dijitSliderReadOnly .dijitSliderIncrementIconV,.claro .dijitSliderDisabled .dijitSliderIncrementIconV {background-position: -107px 49%; background-color: #efefef;}.claro .dijitColorPalette {border: 1px solid #b5bcc7; background: #ffffff; -moz-border-radius: 0; border-radius: 0;}.claro .dijitColorPalette .dijitPaletteImg {border: 1px solid #d3d3d3;}.claro .dijitColorPalette .dijitPaletteCell:hover .dijitPaletteImg {border: 1px solid #000000;}.claro .dijitColorPalette .dijitPaletteCell:active .dijitPaletteImg,.claro .dijitColorPalette .dijitPaletteTable .dijitPaletteCellSelected .dijitPaletteImg {border: 2px solid #000000;}.claro .dijitInlineEditBoxDisplayMode {border: 1px solid transparent;}.claro .dijitInlineEditBoxDisplayModeHover {background-color: #e5f2fe; border: solid 1px #759dc0;}.dj_ie6 .claro .dijitInlineEditBoxDisplayMode {border: none;}.claro .dijitProgressBar {margin: 0;}.claro .dijitProgressBarEmpty {background-color: #ffffff; border-color: #759dc0;}.claro .dijitProgressBarTile {background-color: #abd6ff; background-image: url("images/progressBarFull.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.93) 0px, rgba(255, 255, 255, 0.41) 1px, rgba(255, 255, 255, 0.7) 2px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.93) 0px, rgba(255, 255, 255, 0.41) 1px, rgba(255, 255, 255, 0.7) 2px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.93) 0px, rgba(255, 255, 255, 0.41) 1px, rgba(255, 255, 255, 0.7) 2px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.93) 0px, rgba(255, 255, 255, 0.41) 1px, rgba(255, 255, 255, 0.7) 2px, rgba(255, 255, 255, 0) 100%); background-attachment: scroll;}.dj_ie6 .claro .dijitProgressBarTile {background-image: none;}.claro .dijitProgressBarFull {border: 0px solid #759dc0; border-right-width: 1px; -webkit-transition-property: width; -moz-transition-property: width; transition-property: width; -webkit-transition-duration: 0.25s; -moz-transition-duration: 0.25s; transition-duration: 0.25s; height:100%;}.claro .dijitProgressBarLabel {color: #000000;}.claro .dijitProgressBarIndeterminate .dijitProgressBarTile {background: #efefef url("images/progressBarAnim.gif") repeat-x top;}.claro .dijitTimePicker .dijitButtonNode {padding: 0 0; -moz-border-radius: 0; border-radius: 0;}.claro .dijitTimePicker {border: 1px #b5bcc7 solid; border-top: none; border-bottom: none; background-color: #fff;}.claro .dijitTimePickerItem {background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; border-top: solid 1px #b5bcc7; border-bottom: solid 1px #b5bcc7; margin-top: -1px;}.claro .dijitTimePickerTick {color: #818181; background-color: #efefef; font-size: 0.818em;}.claro .dijitTimePickerMarker {background-color: #e5f2fe; font-size: 1em; white-space: nowrap;}.claro .dijitTimePickerTickHover,.claro .dijitTimePickerMarkerHover,.claro .dijitTimePickerMarkerSelected,.claro .dijitTimePickerTickSelected {background-color: #7dbdfa; color: #000000;}.claro .dijitTimePickerMarkerSelected,.claro .dijitTimePickerTickSelected {font-size: 1em;}.claro .dijitTimePickerTick .dijitTimePickerItemInner {padding: 1px; margin: 0;}.claro .dijitTimePicker .dijitButtonNode {border-left: none; border-right: none; border-color: #b5bcc7; background-color: #efefef; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitTimePicker .dijitArrowButtonInner {height: 100%; background-image: url("form/images/commonFormArrows.png"); background-repeat: no-repeat; background-position: -140px 45%;}.claro .dijitTimePicker .dijitDownArrowButton .dijitArrowButtonInner {background-position: -35px 45%;}.claro .dijitTimePicker .dijitUpArrowHover,.claro .dijitTimePicker .dijitDownArrowHover {background-color: #abd6ff;}.claro .dijitTimePicker .dijitUpArrowHover .dijitArrowButtonInner {background-position: -175px 45%;}.claro .dijitTimePicker .dijitDownArrowHover .dijitArrowButtonInner {background-position: -70px 45%;}.claro .dijitBorderContainer {padding: 5px;}.claro .dijitSplitContainer-child,.claro .dijitBorderContainer-child {border: 1px #b5bcc7 solid;}.claro .dijitBorderContainer-dijitTabContainerTop,.claro .dijitBorderContainer-dijitTabContainerBottom,.claro .dijitBorderContainer-dijitTabContainerLeft,.claro .dijitBorderContainer-dijitTabContainerRight,.claro .dijitBorderContainer-dijitAccordionContainer {border: none;}.claro .dijitBorderContainer-dijitBorderContainer {border: 0; padding: 0;}.claro .dijitSplitterH,.claro .dijitGutterH {background: none; border: 0; height: 5px;}.dj_ios .claro .dijitSplitterH,.dj_android .claro .dijitSplitterH {height: 11px;}.claro .dijitSplitterH .dijitSplitterThumb {background: #b5bcc7 none; height: 1px; top: 2px; width: 19px;}.dj_ios .claro .dijitSplitterH .dijitSplitterThumb,.dj_android .claro .dijitSplitterH .dijitSplitterThumb {top: 5px;}.claro .dijitSplitterV,.claro .dijitGutterV {background: none; border: 0; width: 5px; margin: 0;}.dj_ios .claro .dijitSplitterV,.dj_android .claro .dijitSplitterV {width: 11px;}.claro .dijitSplitterV .dijitSplitterThumb {background: #b5bcc7 none; height: 19px; left: 2px; width: 1px; margin: 0;}.dj_ios .claro .dijitSplitterV .dijitSplitterThumb,.dj_android .claro .dijitSplitterV .dijitSplitterThumb {left: 5px;}.claro .dijitSplitterHHover,.claro .dijitSplitterVHover {font-size: 1px; background-color: #cfe5fa;}.claro .dijitSplitterHHover {background-image: -moz-linear-gradient(left, #ffffff 0px, rgba(255, 255, 255, 0) 50%, #ffffff 100%); background-image: -webkit-linear-gradient(left, #ffffff 0px, rgba(255, 255, 255, 0) 50%, #ffffff 100%); background-image: -o-linear-gradient(left, #ffffff 0px, rgba(255, 255, 255, 0) 50%, #ffffff 100%); background-image: linear-gradient(left, #ffffff 0px, rgba(255, 255, 255, 0) 50%, #ffffff 100%);}.claro .dijitSplitterVHover {background-image: -moz-linear-gradient(top, #ffffff 0px, rgba(255, 255, 255, 0) 50%, #ffffff 100%); background-image: -webkit-linear-gradient(top, #ffffff 0px, rgba(255, 255, 255, 0) 50%, #ffffff 100%); background-image: -o-linear-gradient(top, #ffffff 0px, rgba(255, 255, 255, 0) 50%, #ffffff 100%); background-image: linear-gradient(top, #ffffff 0px, rgba(255, 255, 255, 0) 50%, #ffffff 100%);}.claro .dijitSplitterHHover .dijitSplitterThumb,.claro .dijitSplitterVHover .dijitSplitterThumb {background: #759dc0 none;}.claro .dijitSplitterHActive,.claro .dijitSplitterVActive {font-size: 1px; background-color: #abd6ff; background-image: none;}.claro .dijitTreeNode {zoom: 1;}.claro .dijitTreeIsRoot {background-image: none;}.claro .dijitTreeRow,.claro .dijitTreeNode .dojoDndItemBefore,.claro .dijitTreeNode .dojoDndItemAfter {padding: 4px 0 2px 0; background-color: none; background-color: transparent; background-color: rgba(171, 214, 255, 0); background-position: 0 0; background-repeat: repeat-x; border: solid 0 transparent; color: #000000; -webkit-transition-property: background-color, border-color; -moz-transition-property: background-color, border-color; transition-property: background-color, border-color; -webkit-transition-duration: 0.25s; -moz-transition-duration: 0.25s; transition-duration: 0.25s; -webkit-transition-timing-function: ease-out; -moz-transition-timing-function: ease-out; transition-timing-function: ease-out;}.claro .dijitTreeRowSelected {background-color: #cfe5fa; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 3px 0 1px; border-color: #759dc0; border-width: 1px 0; color: #000000;}.claro .dijitTreeRowHover {background-color: #abd6ff; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 3px 0 1px; border-color: #759dc0; border-width: 1px 0; color: #000000; -webkit-transition-duration: 0.25s; -moz-transition-duration: 0.25s; transition-duration: 0.25s;}.claro .dijitTreeRowActive {background-color: #7dbdfa; background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 3px 0 1px; border-color: #759dc0; border-width: 1px 0; color: #000000;}.claro .dijitTreeRowFocused {background-repeat: repeat;}.claro .dijitTreeExpando {background-image: url("images/treeExpandImages.png"); width: 16px; height: 16px; background-position: -35px 0;}.dj_ie6 .claro .dijitTreeExpando {background-image: url("images/treeExpandImages8bit.png");}.claro .dijitTreeRowHover .dijitTreeExpandoOpened {background-position: -53px 0;}.claro .dijitTreeExpandoClosed {background-position: 1px 0;}.claro .dijitTreeRowHover .dijitTreeExpandoClosed {background-position: -17px 0;}.claro .dijitTreeExpandoLeaf,.dj_ie6 .claro .dijitTreeExpandoLeaf {background-image: none;}.claro .dijitTreeExpandoLoading {background-image: url("images/loadingAnimation.gif");}.claro .dijitTreeNode .dojoDndItemBefore .dijitTreeContent {border-top: 2px solid #759dc0;}.claro .dijitTreeNode .dojoDndItemAfter .dijitTreeContent {border-bottom: 2px solid #759dc0;} .claro .dijitToolbar {border-bottom: 1px solid #b5bcc7; background-color: #efefef; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 2px 0 2px 4px; zoom: 1;}.claro .dijitToolbar label {padding: 0 3px 0 6px;}.claro .dijitToolbar .dijitButton .dijitButtonNode,.claro .dijitToolbar .dijitDropDownButton .dijitButtonNode,.claro .dijitToolbar .dijitComboButton .dijitButtonNode,.claro .dijitToolbar .dijitToggleButton .dijitButtonNode,.claro .dijitToolbar .dijitComboBox .dijitButtonNode {border-width: 0; padding: 2px; -moz-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; -webkit-transition-property: background-color; -moz-transition-property: background-color; transition-property: background-color; -webkit-transition-duration: 0.3s; -moz-transition-duration: 0.3s; transition-duration: 0.3s; background-color: rgba(171, 214, 255, 0); background-image: none;}.dj_ie .claro .dijitToolbar .dijitButton .dijitButtonNode,.dj_ie .claro .dijitToolbar .dijitDropDownButton .dijitButtonNode,.dj_ie .claro .dijitToolbar .dijitComboButton .dijitButtonNode,.dj_ie .claro .dijitToolbar .dijitToggleButton .dijitButtonNode,.dj_ie .claro .dijitToolbar .dijitComboBox .dijitButtonNode {background-color: transparent;}.dj_ie .claro .dijitToolbar .dijitButtonHover .dijitButtonNode,.dj_ie .claro .dijitToolbar .dijitDropDownButtonHover .dijitButtonNode,.dj_ie .claro .dijitToolbar .dijitComboButton .dijitButtonNodeHover,.dj_ie .claro .dijitToolbar .dijitComboButton .dijitDownArrowButtonHover,.dj_ie .claro .dijitToolbar .dijitToggleButtonHover .dijitButtonNode {background-color: #abd6ff;}.dj_ie .claro .dijitToolbar .dijitButtonActive .dijitButtonNode,.dj_ie .claro .dijitToolbar .dijitDropDownButtonActive .dijitButtonNode,.dj_ie .claro .dijitToolbar .dijitComboButtonActive .dijitButtonNode,.dj_ie .claro .dijitToolbar .dijitToggleButtonActive .dijitButtonNode {background-color: #abd6ff;}.claro .dijitToolbar .dijitComboButton .dijitStretch {-moz-border-radius: 2px 0 0 2px; border-radius: 2px 0 0 2px;}.claro .dijitToolbar .dijitComboButton .dijitArrowButton {-moz-border-radius: 0 2px 2px 0; border-radius: 0 2px 2px 0;}.claro .dijitToolbar .dijitComboBox .dijitButtonNode {padding: 0;}.claro .dijitToolbar .dijitButtonHover .dijitButtonNode,.claro .dijitToolbar .dijitDropDownButtonHover .dijitButtonNode,.claro .dijitToolbar .dijitToggleButtonHover .dijitButtonNode,.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNode {border-width: 1px; background-color: #abd6ff; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 1px;}.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNode,.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton {background-color: #f3ffff;}.claro .dijitToolbar .dijitComboButtonHover .dijitButtonNodeHover,.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButtonHover {background-color: #abd6ff;}.claro .dijitToolbar .dijitButtonActive .dijitButtonNode,.claro .dijitToolbar .dijitDropDownButtonActive .dijitButtonNode,.claro .dijitToolbar .dijitToggleButtonActive .dijitButtonNode {border-width: 1px; background-color: #7dbdfa; background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none; padding: 1px;}.claro .dijitToolbar .dijitComboButtonActive {-webkit-transition-duration: 0.2s; -moz-transition-duration: 0.2s; transition-duration: 0.2s; border-width: 1px; padding: 0;}.claro .dijitToolbar .dijitComboButtonActive .dijitButtonNode,.claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButton {background-color: #f3ffff; padding: 2px;}.claro .dijitToolbar .dijitComboButtonActive .dijitButtonNodeActive {background-color: #7dbdfa; background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButtonActive {background-color: #7dbdfa; background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton,.claro .dijitToolbar .dijitComboButtonActive .dijitDownArrowButton {border-left-width: 0;}.claro .dijitToolbar .dijitComboButtonHover .dijitDownArrowButton {padding-left: 2px;}.claro .dijitToolbar .dijitToggleButtonChecked .dijitButtonNode {margin: 0; border-width: 1px; border-style: solid; background-image: none; border-color: #759dc0; background-color: #ffffff; padding: 1px;}.claro .dijitToolbarSeparator {background: url("../../icons/images/editorIconsEnabled.png");}.claro .dijitDisabled .dijitToolbar {background: none; background-color: #efefef; border-bottom: 1px solid #d3d3d3;}.claro .dijitToolbar .dijitComboBoxDisabled .dijitArrowButtonInner {background-position: 0 50%;}.claro .dijitEditorIFrameContainer {padding: 3px 3px 1px 10px;}.claro .dijitEditorIFrame {background-color: #ffffff;}.claro .dijitEditor {border: 1px solid #b5bcc7;}.claro .dijitEditor .dijitEditorIFrameContainer {background-color: #ffffff; background-repeat: repeat-x;}.claro .dijitEditorHover .dijitEditorIFrameContainer,.claro .dijitEditorHover .dijitEditorIFrameContainer .dijitEditorIFrame {background-color: #e5f2fe;}.claro .dijitEditorFocused .dijitEditorIFrameContainer,.claro .dijitEditorFocused .dijitEditorIFrameContainer .dijitEditorIFrame {background-color: #ffffff;}.claro .dijitEditorHover .dijitEditorIFrameContainer,.claro .dijitEditorFocused .dijitEditorIFrameContainer {background-image: -moz-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: -webkit-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: -o-linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px); background-image: linear-gradient(rgba(127, 127, 127, 0.2) 0%, rgba(127, 127, 127, 0) 2px);}.claro .dijitEditorDisabled {border: 1px solid #d3d3d3; color: #818181;}.claro .dijitDisabled .dijitEditorIFrame,.claro .dijitDisabled .dijitEditorIFrameContainer,.claro .dijitDisabled .dijitEditorIFrameContainer .dijitEditorIFrame {background-color: #efefef; background-image: none;}.dijitEditorIcon {background-image: url("../../icons/images/editorIconsEnabled.png"); background-repeat: no-repeat; width: 18px; height: 18px; text-align: center;}.dijitDisabled .dijitEditorIcon {background-image: url("../../icons/images/editorIconsDisabled.png");}.dijitEditorIconSep {background-position: 0;}.dijitEditorIconSave {background-position: -18px;}.dijitEditorIconPrint {background-position: -36px;}.dijitEditorIconCut {background-position: -54px;}.dijitEditorIconCopy {background-position: -72px;}.dijitEditorIconPaste {background-position: -90px;}.dijitEditorIconDelete {background-position: -108px;}.dijitEditorIconCancel {background-position: -126px;}.dijitEditorIconUndo {background-position: -144px;}.dijitEditorIconRedo {background-position: -162px;}.dijitEditorIconSelectAll {background-position: -180px;}.dijitEditorIconBold {background-position: -198px;}.dijitEditorIconItalic {background-position: -216px;}.dijitEditorIconUnderline {background-position: -234px;}.dijitEditorIconStrikethrough {background-position: -252px;}.dijitEditorIconSuperscript {background-position: -270px;}.dijitEditorIconSubscript {background-position: -288px;}.dijitEditorIconJustifyCenter {background-position: -306px;}.dijitEditorIconJustifyFull {background-position: -324px;}.dijitEditorIconJustifyLeft {background-position: -342px;}.dijitEditorIconJustifyRight {background-position: -360px;}.dijitEditorIconIndent {background-position: -378px;}.dijitEditorIconOutdent {background-position: -396px;}.dijitEditorIconListBulletIndent {background-position: -414px;}.dijitEditorIconListBulletOutdent {background-position: -432px;}.dijitEditorIconListNumIndent {background-position: -450px;}.dijitEditorIconListNumOutdent {background-position: -468px;}.dijitEditorIconTabIndent {background-position: -486px;}.dijitEditorIconLeftToRight {background-position: -504px;}.dijitEditorIconRightToLeft, .dijitEditorIconToggleDir {background-position: -522px;}.dijitEditorIconBackColor {background-position: -540px;}.dijitEditorIconForeColor {background-position: -558px;}.dijitEditorIconHiliteColor {background-position: -576px;}.dijitEditorIconNewPage {background-position: -594px;}.dijitEditorIconInsertImage {background-position: -612px;}.dijitEditorIconInsertTable {background-position: -630px;}.dijitEditorIconSpace {background-position: -648px;}.dijitEditorIconInsertHorizontalRule {background-position: -666px;}.dijitEditorIconInsertOrderedList {background-position: -684px;}.dijitEditorIconInsertUnorderedList {background-position: -702px;}.dijitEditorIconCreateLink {background-position: -720px;}.dijitEditorIconUnlink {background-position: -738px;}.dijitEditorIconViewSource {background-position: -756px;}.dijitEditorIconRemoveFormat {background-position: -774px;}.dijitEditorIconFullScreen {background-position: -792px;}.dijitEditorIconWikiword {background-position: -810px;} .claro .dijitTitlePaneTitle {background-color: #efefef; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; border: 1px solid #b5bcc7; padding: 0 7px 3px 7px; min-height: 17px; color: #494949;}.claro .dijitFieldset {-moz-border-radius: 4px; border-radius: 4px;}.claro .dijitTitlePaneTitleOpen,.claro .dijitTitlePaneTitleFixedOpen {background-color: #cfe5fa; color: #000000;}.claro .dijitTitlePaneTitleHover {background-color: #abd6ff; border-color: #759dc0;}.claro .dijitTitlePaneTitleActive {background-color: #7dbdfa; border-color: #759dc0; background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitTitlePaneTitleFocus {margin-top: 3px; padding-bottom: 2px;}.claro .dijitTitlePane .dijitArrowNode,.claro .dijitFieldset .dijitArrowNode {background-image: url("images/spriteArrows.png"); background-repeat: no-repeat; height: 8px; width: 7px;}.claro .dijitTitlePaneTitleOpen .dijitArrowNode,.claro .dijitFieldsetTitleOpen .dijitArrowNode {background-position: 0 0;}.claro .dijitTitlePaneTitleClosed .dijitArrowNode,.claro .dijitFieldsetTitleClosed .dijitArrowNode {background-position: -14px 0;}.claro .dijitTitlePaneContentOuter {background: #ffffff; border: 1px solid #b5bcc7; border-top: none;}.claro .dijitTitlePaneContentInner {padding: 10px;}.claro .dijitFieldsetContentInner {padding: 4px;}.claro .dijitTitlePaneTextNode,.claro .dijitFieldsetLegendNode {margin-left: 4px; margin-right: 4px; vertical-align: text-top;}.claro .dijitSpinnerButtonContainer {overflow: hidden; position: relative; width: auto; padding: 0 2px;}.claro .dijitSpinnerButtonContainer .dijitSpinnerButtonInner {border-width: 1px 0; border-style: solid none;}.claro .dijitSpinner .dijitArrowButton {width: auto; background-color: #efefef; background-image: url("images/standardGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(255, 255, 255, 0.7) 0%, rgba(255, 255, 255, 0) 100%); _background-image: none; overflow: hidden;}.dj_iequirks .claro .dijitSpinner .dijitArrowButton {overflow: visible;}.claro .dijitSpinner .dijitSpinnerButtonInner {width: 15px;}.claro .dijitSpinner .dijitArrowButtonInner {border: solid 1px #ffffff; border-bottom-width: 0; background-image: url("form/images/commonFormArrows.png"); background-repeat: no-repeat; height: 100%; width: 15px; padding-left: 1px; padding-right: 1px; background-position: -139px center; display: block; margin: -1px 0 -1px 0;}.dj_iequirks .claro .dijitSpinner .dijitArrowButtonInner,.dj_ie6 .claro .dijitSpinner .dijitArrowButtonInner,.dj_ie7 .claro .dijitSpinner .dijitArrowButtonInner,.dj_ie8 .claro .dijitSpinner .dijitArrowButtonInner {margin-top: 0;}.dj_iequirks .claro .dijitSpinner .dijitArrowButtonInner {width: 19px;}.claro .dijitSpinner .dijitDownArrowButton .dijitArrowButtonInner {background-position: -34px;}.claro .dijitSpinner .dijitArrowButtonInner .dijitInputField {padding: 0;}.claro .dijitUpArrowButtonActive,.claro .dijitDownArrowButtonActive {background-color: #abd6ff;}.claro .dijitSpinner .dijitUpArrowButtonHover,.claro .dijitSpinner .dijitDownArrowButtonHover,.claro .dijitSpinnerFocused .dijitArrowButton {background-color: #abd6ff;}.claro .dijitSpinner .dijitUpArrowButtonHover .dijitArrowButtonInner {background-position: -174px;}.claro .dijitSpinner .dijitDownArrowButtonHover .dijitArrowButtonInner {background-position: -69px;}.claro .dijitSpinnerFocused {background-color: #ffffff; background-image: none;}.claro .dijitSpinner .dijitDownArrowButtonActive,.claro .dijitSpinner .dijitUpArrowButtonActive {background-color: #7dbefa; background-image: url("images/activeGradient.png"); background-repeat: repeat-x; background-image: -moz-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -webkit-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: -o-linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); background-image: linear-gradient(rgba(190, 190, 190, 0.98) 0px, rgba(255, 255, 255, 0.65) 3px, rgba(255, 255, 255, 0) 100%); _background-image: none;}.claro .dijitSpinner .dijitUpArrowButtonActive .dijitArrowButtonInner,.claro .dijitSpinner .dijitDownArrowButtonActive .dijitArrowButtonInner {border: 0; padding: 1px; margin-right: 2px; margin-bottom: 1px;}.claro .dijitSpinner .dijitUpArrowButtonActive .dijitArrowButtonInner {background-position: -173px;}.claro .dijitSpinner .dijitDownArrowButtonActive .dijitArrowButtonInner {background-position: -68px;}.claro .dijitSpinnerDisabled .dijitArrowButtonInner {background-color: #efefef;}.claro .dijitSpinnerDisabled .dijitUpArrowButton .dijitArrowButtonInner {background-position: -104px;}.claro .dijitSpinnerDisabled .dijitDownArrowButton .dijitArrowButtonInner {background-position: 1px;}.dj_ie7 .claro .dijitSpinner {overflow: visible;}.dijitRtl .dijitOffScreen {left: auto !important; right: -10000px !important;}.dijitRtl .dijitPlaceHolder {left: auto; right: 0;}.dijitMenuItemRtl {text-align: right;}.dj_iequirks .dijitComboButtonRtl button {float:left;}.dj_ie .dijitTextBoxRtl .dijitInputContainer {clear: right;}.dijitTextBoxRtl .dijitValidationContainer,.dijitTextBoxRtl .dijitSpinnerButtonContainer,.dijitComboBoxRtl .dijitArrowButtonContainer {border-right-width: 1px !important; border-left-width: 0 !important;}.dijitSpinnerRtl .dijitSpinnerButtonContainer .dijitArrowButton {right: 0; left: auto;}.dijitSelectRtl .dijitButtonText {float: right;}.dijitTextBoxRtl .dijitSpinnerButtonContainer,.dijitValidationTextBoxRtl .dijitValidationContainer,.dijitTextBoxRtl .dijitArrowButtonContainer {float: left;}div.dijitNumberTextBoxRtl {text-align: right;}.dijitCalendarRtl .dijitCalendarNextYear {margin:0 0.55em 0 0;}.dijitCalendarRtl .dijitCalendarPreviousYear {margin:0 0 0 0.55em;}.dijitSliderRtl .dijitSliderImageHandleV {left:auto;}.dijitSliderRtl .dijitSliderImageHandleH {left:-50%;}.dijitSliderRtl .dijitSliderMoveableH {right:auto; left:0;}.dijitSliderRtl .dijitRuleContainerV {float:right;}.dj_ie .dijitSliderRtl .dijitRuleContainerV {text-align:right;}.dj_ie .dijitSliderRtl .dijitRuleLabelV {text-align:left;}.dj_ie .dijitSliderRtl .dijitRuleLabelH {zoom:1;}.dijitSliderRtl .dijitSliderProgressBarH {float:right; right:0; left:auto;}.dijitRtl .dijitContentPaneLoading .dijitIconLoading,.dijitRtl .dijitContentPaneError .dijitIconError {margin-right: 0; margin-left: 9px;}.dijitTabControllerRtl .nowrapTabStrip {text-align: right;}.dijitTabRtl .dijitTabCloseButton {margin-left: 0; margin-right: 1em;}.dj_ie6 .dijitTabRtl .tabLabel,.dj_ie6 .dijitTabContainerRight-tabs .dijitTabRtl,.dj_ie6 .dijitTabContainerLeft-tabs .dijitTabRtl,.dj_ie7 .dijitTabContainerRight-tabs .dijitTabRtl,.dj_ie7 .dijitTabContainerLeft-tabs .dijitTabRtl {zoom: 1;}.dj_ie6 .dijitTabContainerRight-tabs .dijitTabRtl,.dj_ie7 .dijitTabContainerRight-tabs .dijitTabRtl {left: 0;}.dj_ie6 .dijitTabContainerRightRtl .dijitTabContainerRight-tabs,.dj_ie6 .dijitTabContainerLeftRtl .dijitTabContainerLeft-tabs {width: 1%;}.dj_ie .dijitTimePickerRtl .dijitTimePickerItem {width:100%;}.dijitColorPaletteRtl .dijitColorPaletteUnder {left: auto; right: 0;}.dijitSelectRtl .dijitButtonContents {border-style: none none none solid; text-align: right;}.dijitTreeRtl .dijitTreeContainer {float: right;}.dijitRtl .dojoDndHorizontal .dojoDndItemBefore {border-width: 0 2px 0 0; padding: 2px 0 2px 2px;}.dijitRtl .dojoDndHorizontal .dojoDndItemAfter {border-width: 0 0 0 2px; padding: 2px 2px 2px 0;}.claro .dijitTextBoxRtlError .dijitValidationContainer {border-left-width: 0; border-right-width: 1px;}.claro .dijitComboButtonRtl .dijitStretch {-moz-border-radius: 0 4px 4px 0; border-radius: 0 4px 4px 0;}.claro .dijitComboButtonRtl .dijitArrowButton {-moz-border-radius: 4px 0 0 4px; border-radius: 4px 0 0 4px; padding: 3px 0 4px; border-left-width: 1px; border-right-width: 0;}.claro .dijitTabContainerTop-tabs .dijitTabRtl,.claro .dijitTabContainerBottom-tabs .dijitTabRtl {margin-right: 0; margin-left: 1px;}.claro .dijitSliderRtl .dijitSliderProgressBarH,.claro .dijitSliderRtl .dijitSliderRemainingBarH,.claro .dijitSliderRtl .dijitSliderLeftBumper,.claro .dijitSliderRtl .dijitSliderRightBumper,.claro .dijitSliderRtl .dijitSliderTopBumper {background-position: top right;}.claro .dijitSliderRtl .dijitSliderProgressBarV,.claro .dijitSliderRtl .dijitSliderRemainingBarV,.claro .dijitSliderRtl .dijitSliderBottomBumper {background-position: bottom right;}.claro .dijitSliderRtl .dijitSliderLeftBumper {border-left-width: 0; border-right-width: 1px;}.claro .dijitSliderRtl .dijitSliderRightBumper {border-left-width: 1px; border-right-width: 0;}.claro .dijitSliderRtl .dijitSliderIncrementIconH {background-position: -357px 50%;}.claro .dijitSliderRtl .dijitSliderDecrementIconH {background-position: -251px 50%;}.claro .dijitDialogRtl .dijitDialogCloseIcon {right: auto; left: 5px;}.claro .dijitDialogRtl .dijitDialogPaneActionBar {text-align: left; padding: 3px 7px 2px 5px;}.claro .dijitEditorRtl .dijitEditorIFrameContainer {padding: 3px 10px 1px 3px;}.dj_ie6 .claro .dijitEditorRtl .dijitEditorIFrameContainer,.dj_ie7 .claro .dijitEditorRtl .dijitEditorIFrameContainer,.dj_ie8 .claro .dijitEditorRtl .dijitEditorIFrameContainer {padding: 3px 0px 1px 10px; margin-right: 0px; border: 0px solid #d3d3d3;}.dijitEditorRtl .dijitEditorIcon {background-image: url("../../icons/images/editorIconsEnabled_rtl.png");}.dijitEditorRtlDisabled .dijitEditorIcon {background-image: url("../../icons/images/editorIconsDisabled_rtl.png");}.dijitToolbarRtl .dijitToolbarSeparator {background-image: url("../../icons/images/editorIconsEnabled_rtl.png");}.dijitRtl .dijitIconSave,.dijitRtl .dijitIconPrint,.dijitRtl .dijitIconCut,.dijitRtl .dijitIconCopy,.dijitRtl .dijitIconClear,.dijitRtl .dijitIconDelete,.dijitRtl .dijitIconUndo,.dijitRtl .dijitIconEdit,.dijitRtl .dijitIconNewTask,.dijitRtl .dijitIconEditTask,.dijitRtl .dijitIconEditProperty,.dijitRtl .dijitIconTask,.dijitRtl .dijitIconFilter,.dijitRtl .dijitIconConfigure,.dijitRtl .dijitIconSearch,.dijitRtl .dijitIconApplication,.dijitRtl .dijitIconBookmark,.dijitRtl .dijitIconChart,.dijitRtl .dijitIconConnector,.dijitRtl .dijitIconDatabase,.dijitRtl .dijitIconDocuments,.dijitRtl .dijitIconMail,.dijitRtl .dijitLeaf,.dijitRtl .dijitIconFile,.dijitRtl .dijitIconFunction,.dijitRtl .dijitIconKey,.dijitRtl .dijitIconPackage,.dijitRtl .dijitIconSample,.dijitRtl .dijitIconTable,.dijitRtl .dijitIconUsers,.dijitRtl .dijitFolderClosed,.dijitRtl .dijitIconFolderClosed,.dijitRtl .dijitFolderOpened,.dijitRtl .dijitIconFolderOpen,.dijitRtl .dijitIconError {background-image: url("../../icons/images/commonIconsObjActEnabled_rtl.png"); width: 16px; height: 16px;}.dj_ie6 .dijitRtl .dijitIconSave,.dj_ie6 .dijitRtl .dijitIconPrint,.dj_ie6 .dijitRtl .dijitIconCut,.dj_ie6 .dijitRtl .dijitIconCopy,.dj_ie6 .dijitRtl .dijitIconClear,.dj_ie6 .dijitRtl .dijitIconDelete,.dj_ie6 .dijitRtl .dijitIconUndo,.dj_ie6 .dijitRtl .dijitIconEdit,.dj_ie6 .dijitRtl .dijitIconNewTask,.dj_ie6 .dijitRtl .dijitIconEditTask,.dj_ie6 .dijitRtl .dijitIconEditProperty,.dj_ie6 .dijitRtl .dijitIconTask,.dj_ie6 .dijitRtl .dijitIconFilter,.dj_ie6 .dijitRtl .dijitIconConfigure,.dj_ie6 .dijitRtl .dijitIconSearch,.dj_ie6 .dijitRtl .dijitIconApplication,.dj_ie6 .dijitRtl .dijitIconBookmark,.dj_ie6 .dijitRtl .dijitIconChart,.dj_ie6 .dijitRtl .dijitIconConnector,.dj_ie6 .dijitRtl .dijitIconDatabase,.dj_ie6 .dijitRtl .dijitIconDocuments,.dj_ie6 .dijitRtl .dijitIconMail,.dj_ie6 .dijitRtl .dijitLeaf,.dj_ie6 .dijitRtl .dijitIconFile,.dj_ie6 .dijitRtl .dijitIconFunction,.dj_ie6 .dijitRtl .dijitIconKey,.dj_ie6 .dijitRtl .dijitIconPackage,.dj_ie6 .dijitRtl .dijitIconSample,.dj_ie6 .dijitRtl .dijitIconTable,.dj_ie6 .dijitRtl .dijitIconUsers,.dj_ie6 .dijitRtl .dijitFolderClosed,.dj_ie6 .dijitRtl .dijitIconFolderClosed,.dj_ie6 .dijitRtl .dijitFolderOpened,.dj_ie6 .dijitRtl .dijitIconFolderOpen,.dj_ie6 .dijitRtl .dijitIconError {background-image: url("../../icons/images/commonIconsObjActEnabled8bit_rtl.png");}.dijitRtl .dijitDisabled .dijitIconSave,.dijitRtl .dijitDisabled .dijitIconPrint,.dijitRtl .dijitDisabled .dijitIconCut,.dijitRtl .dijitDisabled .dijitIconCopy,.dijitRtl .dijitDisabled .dijitIconClear,.dijitRtl .dijitDisabled .dijitIconDelete,.dijitRtl .dijitDisabled .dijitIconUndo,.dijitRtl .dijitDisabled .dijitIconEdit,.dijitRtl .dijitDisabled .dijitIconNewTask,.dijitRtl .dijitDisabled .dijitIconEditTask,.dijitRtl .dijitDisabled .dijitIconEditProperty,.dijitRtl .dijitDisabled .dijitIconTask,.dijitRtl .dijitDisabled .dijitIconFilter,.dijitRtl .dijitDisabled .dijitIconConfigure,.dijitRtl .dijitDisabled .dijitIconSearch,.dijitRtl .dijitDisabled .dijitIconApplication,.dijitRtl .dijitDisabled .dijitIconBookmark,.dijitRtl .dijitDisabled .dijitIconChart,.dijitRtl .dijitDisabled .dijitIconConnector,.dijitRtl .dijitDisabled .dijitIconDatabase,.dijitRtl .dijitDisabled .dijitIconDocuments,.dijitRtl .dijitDisabled .dijitIconMail,.dijitRtl .dijitDisabled .dijitLeaf,.dijitRtl .dijitDisabled .dijitIconFile,.dijitRtl .dijitDisabled .dijitIconFunction,.dijitRtl .dijitDisabled .dijitIconKey,.dijitRtl .dijitDisabled .dijitIconPackage,.dijitRtl .dijitDisabled .dijitIconSample,.dijitRtl .dijitDisabled .dijitIconTable,.dijitRtl .dijitDisabled .dijitIconUsers,.dijitRtl .dijitDisabled .dijitFolderClosed,.dijitRtl .dijitDisabled .dijitIconFolderClosed,.dijitRtl .dijitDisabled .dijitFolderOpened,.dijitRtl .dijitDisabled .dijitIconFolderOpen,.dijitRtl .dijitDisabled .dijitIconError {background-image: url("../../icons/images/commonIconsObjActDisabled_rtl.png");}.dijitRtl .dijitIconLoading {background-image: url("../../icons/images/loadingAnimation_rtl.gif");}.claro .dijitTitlePaneRtl .dijitClosed .dijitArrowNode,.claro .dijitFieldsetRtl .dijitFieldsetTitleClosed .dijitArrowNode {background-position: -7px 0;}.claro .dijitMenuItemRtl .dijitMenuExpand {background-position: -7px 0; margin-right: 0; margin-left: 3px;}.claro .dijitMenuItemRtl .dijitMenuItemIcon {margin: 0 4px 0 0;}.claro .dijitCalendarRtl .dijitCalendarIncrease {background-position: 0 0;}.claro .dijitCalendarRtl .dijitCalendarDecrease {background-position: -18px 0;}.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarIncrease {background-position: -36px 0;}.claro .dijitCalendarRtl .dijitCalendarArrowHover .dijitCalendarDecrease {background-position: -55px 0;}.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarIncrease {background-position: -72px 0;}.claro .dijitCalendarRtl .dijitCalendarArrowActive .dijitCalendarDecrease {background-position: -91px 0;}.claro .dijitToolbar .dijitComboButtonRtl .dijitButtonNode {border-width: 0; padding: 2px;}.claro .dijitToolbar .dijitComboButtonRtlHover .dijitButtonNode,.claro .dijitToolbar .dijitComboButtonRtlActive .dijitButtonNode {border-width: 1px; padding: 1px;}.claro .dijitToolbar .dijitComboButtonRtl .dijitStretch {-moz-border-radius: 0 2px 2px 0; border-radius: 0 2px 2px 0;}.claro .dijitToolbar .dijitComboButtonRtl .dijitArrowButton {-moz-border-radius: 2px 0 0 2px; border-radius: 2px 0 0 2px;}.claro .dijitToolbar .dijitComboButtonRtlHover .dijitArrowButton,.claro .dijitToolbar .dijitComboButtonRtlActive .dijitArrowButton {border-left-width: 1px; border-right-width: 0; padding-left: 1px; padding-right: 2px;}.claro .dijitProgressBarRtl .dijitProgressBarFull {border-left-width: 1px; border-right-width: 0px;}.sbVerticalCenter {position:relative; display:table-cell; vertical-align:middle; top:0px; left:0px;}.sbNoSelect {-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}.sbTextBorder {border: 1px solid #d0d0d0; padding: 5px;}.sbTreeBorder,.sbWebBorder,.sbCanvasBorder,.sbContainerBorder,.sbScrollAreaBorder,.sbImageBorder,.sbFrameBorder {border: 1px solid #d0d0d0;}.sbContainerBorderSingle {border: 1px inset #d0d0d0;}.sbContainerBorderRaised {border: 1px outset #d0d0d0;}.sbContainerBorderDouble {border: 2px inset #d0d0d0;} \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/form/images/buttonArrows.png b/Server/www/spiderbasic/dojo/themes/claro/form/images/buttonArrows.png new file mode 100644 index 0000000000000000000000000000000000000000..642eff39becbd2ff04cd0d5a612e362fbf5502af GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^dx4mrgBeJ+aog1ZDVB6cUq=Rp^(V|(yIunMk|nMY zCBgY=CFO}lsSJ)O`AMk?p1FzXsX?iUDV2pMQ*A&d1o(uwu357tzH_a8bn)cLlmGw! zztcNa1SrK?666;Q&>)-Tnz?1&YO?@|DUFBCGc(8ThCNm zy_D)L3w>@+_wN3;_DkR{ljlV*dF>ajf1vKW?!j*-ettJ@1{v!$crs10N=Tsd5-1LGcVbv~PUa<$qwMM87{YNq z`N#kN|J~Kt*xJ;6czAgFH*QdfX#)yn+a literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/form/images/buttonDisabled.svg b/Server/www/spiderbasic/dojo/themes/claro/form/images/buttonDisabled.svg new file mode 100644 index 0000000..72a51a0 --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/form/images/buttonDisabled.svg @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/form/images/buttonEnabled.png b/Server/www/spiderbasic/dojo/themes/claro/form/images/buttonEnabled.png new file mode 100644 index 0000000000000000000000000000000000000000..0932a99475940467ea1eca547eff3633ca0f4750 GIT binary patch literal 122 zcmeAS@N?(olHy`uVBq!ia0vp^j6ghNT4{#-HBn{IhmJ0j)|v>V~EE2 zw + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/form/images/checkboxAndRadioButtons_IE6.png b/Server/www/spiderbasic/dojo/themes/claro/form/images/checkboxAndRadioButtons_IE6.png new file mode 100644 index 0000000000000000000000000000000000000000..92d222178d538f4b1b551e643edc2faad413196e GIT binary patch literal 2160 zcmds1`&ZHl9%aI=0%6H#He|`nes}!EfcWdMu=pn-4?{s0 zps;(P-*`udgoi>xL!eJ%2Sa}Xfh>?$ef%yOjV3ys{;p}_d9$RZb3&)n)l!6fK3}d} z5lGdeld_=n`q9x*E|)8p%Pa8$I2o9knR!u0&>M_e{hD$~t5hoI=H{e|WuwVdf*X-) z0IdONA@Szsm)6#da+P*@ML)X;sC2-H1Yphs9~l650T2p>R54JApB?4R&&k!PHNy-u zc(TUcNtsO6*H6y>L`g;s^z@NTCez>`rHa7n7@WrOfs)qA&SBY%Oue>l%;+^J6bc$o zE>P`1sYOH>Mxt9?)94H>WNu(=VFQuNX0wU2K+lNaRSSQ3Qbiq?#Jp`w zuIz6nO9q&t9`2%QN!LxENkx(WKo8avIM{AZ7i~7DZX~OfFH$U35IAl9{IXFXrsfHwgSiamnDo`!yR}JfHMiY)U#aRIIY8g{XK(qv~ z<-qHz;S^LqPoyG^&XE{%(G^_6$aKW(7Pde>Ij1b58Jb4KAqgKFIe>D-FuSnA;>jkZ znq}>3Qk(i(4qYS?Eou!FOhByC4NNZN)(yO9lElAnS1s!jK6K7X)V0K!nsI=)V1gq_ zuzXxW6RmN8^SG!(qg{pOG_q&p<@gB$Kksmo+(bBYZ@lRCm!QVS7T*z8uZO~vF@9_G7c2wLBX*8yWLK|XAx1w!BIz) z{8$xUx9bU7H+Af?L391ov;w{h${BEcPJY%AK78xW(CXu`&y4D9pHM-jOKHYhAu*>1 z>fwo!lKZ|wEJ7q~=m*~kXxjZP2TUae^M2nRMN~QNFQ=5RmqX9L1-l)2$#BfNt64r^ zXMDNYV=Ysk9sGA!$K=~*pJdWymEN(kKZAcs4BCOkSeH082hkBWjbBrHZRhPoIE4*K z`iew~j*cdgzFw97ym24?Q$quRKxlYyaG%jRHP<0rpACQRxvlm1-Unq)J8f;8zQ3~V zn882UIoH3`;1O_x5%Cm9t&EKbs)p>oZe@!k#2D4%SK3S)^_!4wojq)KBtd^7YQnL@ zwBbIA0Xu;Lo70=M{Z60gt^es8`C@hf?pjM;n1TIvqkYXe-=x8)f1E0E{Fm@5z>F>~I(PPL?TyyQkXy)2 z*HOXP5ho&~{Ah0=va+d(c`qpP>Sz9dysYfs2?@B)FOKKk|Lnf=(mn@FW~TefPcDbI zBE1)%R2+4S1R*U`cc(ZNS-tS}|FKb)pm>V-l%9JS&sO{xcuy74=m7=?6t^oXAU!G7 zs#m=w~)ZMZ{P0Vy6J~QiEwJ67jh>e!p+Y*!Yw=4 zL*nLk?2oRD{n(T4_cclJrw=AMKeNHo?goW0nmOU|#QnD)SwW(yhw?WhdSS>zLv>!M zpmwG%J0wHxpwyTWAMkeX+0!lrS;EtC%&hPHMpA9#(FM^n#b}0f<{OU_`|t=@i7&Ek z_+FH4e=1D78)3hN8hN{}u7w&>k`_Tv;eFs)UhsP)`|w$rA@V{L_7+av-ckUYDvbri zp)TI#`2wGGYSpP8nGYH&VuqbJXfWB#^#o`*J?wm<&Zj@dnQ6*(T@oLO`{xr(ag9p+ zfDyy8l5(_ztqxupD0I4UzpJYQSFLe*@yoViXQ1op&imFoa;`Npd%uX>DC(R8$4yoGa#Bso+Df{<#JFyxwxh)Sa1KUzw9V@;qtC zGcsm!HO>GoX)qWg{D!u-1PTwKmC~4gP&l*2(I1n`h(G4$E)09XefB zrdTFk!gsk2tN1S#a1`XpUuE{6S?Ldf0czTkTIyD$F( DC@yb@ literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/form/images/checkboxRadioButtonStates.png b/Server/www/spiderbasic/dojo/themes/claro/form/images/checkboxRadioButtonStates.png new file mode 100644 index 0000000000000000000000000000000000000000..2d06a82883c7d31be0191e592f1dcafec8cf5def GIT binary patch literal 3438 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 Qwg3PC07*qoM6N<$f~jt)y#N3J literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/form/images/commonFormArrows.png b/Server/www/spiderbasic/dojo/themes/claro/form/images/commonFormArrows.png new file mode 100644 index 0000000000000000000000000000000000000000..6d04742edd283b7415ea9a404fcab04d2e30d7d8 GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0y~yV4MSFb8s*N$zSq2UjZqWbVpxD28Q(~%vrl$0{N09 zt`Q}{`DrEPiAAXljw$&`sS2LCiRr09sfj6-g(p*OfQlpnd_r6g9Xd2)-TBy#^?B2F z&);-$<@U?%tIz!Z|9`&Pv!y^a93?@1!9XquFx+e28wnJf;_2cTQgQ1|m?PH#1)l83 zSN{KxC}@xE>eVnh8Z)&`Woy`{l>*NuSv{ZOvFwQK7w;R!GN%lV8zx9i7kYSr%RO#O zcK8?>7hadm| literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/form/images/error.png b/Server/www/spiderbasic/dojo/themes/claro/form/images/error.png new file mode 100644 index 0000000000000000000000000000000000000000..46de1cd8bbe3d1ea9fc30907497469d20901aeee GIT binary patch literal 355 zcmV-p0i6DcP)mJ}|Njx3|Ns6087LlN0{RAsR9jkr zB-ASOm>9AgfB<8Bx^N)_4#4vF>sOp|(69po+00BJ`FQ$tEOHG0{s9TN2+N<(pW#vv zHe7_|-}mouIc6>{kY<<&3$o>q(8n45qjG~!4glF(jQK_AlwJS;002ovPDHLkV1k4y Bk_G?( literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/form/images/sliderThumbs.png b/Server/www/spiderbasic/dojo/themes/claro/form/images/sliderThumbs.png new file mode 100644 index 0000000000000000000000000000000000000000..70ab2fe2982de32c1945dfe06679c618d703a7fb GIT binary patch literal 1222 zcmbW0`!|~h7{_1JV0Db0juuCCbDioKV;Xl$iqpicW)Y=GQYtJ}x0;@{6J@oQDaWO% zGqcmCONeMf)8?RciMr+BymCQX?OMEvkjPz=W$S;i&w0-Gxt!;R@AJcREg>%2YQMvN z0069FV-QIIU_vz32P{mDnssN{H~{wLM4}@BpqKkKtaiiL+ZQ7-#ivMTi_5Yu5P(QL zDVuO4wje8qkVMGBmlsYFLX1np38-WwcY0nXlMSzEx3{;WOFJPWTXN2_rhiHEFMEcm zSGvVbgUX0jzqhx?F(+41LePsuxFohMB3wdEyMF`gA0Q;JV6)z%p!7ag)JEa@4^=G)v zaAToei#i{5Z{-*6&pZTJ8{}rUr=JIMXRX__yK&9MaNTqMHjGwoiIv+uSS9pF(AzrpZwy`lbsY#^zUcn|Rc+=`J&2vzsVZ1v$0Jys5Kxwty3{~jF_(U9b$l#1dzhY2(*_RMWm71nn2#CjWXSc z_BP>aNev>E#E6MP_x4LXd4 zlCKYzkSBxc;6o_*GdP|?jmI>nnJ>ATV4eG8n4Lc-+WxNcKah^^Qu!~e$HAKJze6E! z@CU0>iJ@mfEY1-MHfCWqj_`fQv99oC;VuvJw5pKmh#Gg3{;DNgg9p8jQmtc}6mFId z9SrYYQ_JXq{g+1JIo`|cC+?sviwRm=^nv_5o3?Em(+ zcY-=q(u{54k7_BWb0`W_K_1?(h}u8)(qw?OD0Hw>-6|nF2iAo(P+3ZaSogz0<}7;z zpPwr!K+7MDv!qUb*{NA*XAB|zd5Fd3ih%fv2_@}Du+dj|qbDRZO-rpfPQC~~z$DEr zaoH!ks6@*Kma>SYyZ~Na=%3!ZJnJ{$jiwRX&2f^Kv)lzIke#!;Mw?q#Wyj6$h2c*m zt<+{9Oj@5Ks~C2LTA%TH{{=vB)??PgG{* EKL&rVC;$Ke literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/activeGradient.png b/Server/www/spiderbasic/dojo/themes/claro/images/activeGradient.png new file mode 100644 index 0000000000000000000000000000000000000000..e70daaa86158f48934986937c115ce65021bf283 GIT binary patch literal 94 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{F!3HF+&llYeq*Og!978y+CtDOgIwGwmC^#`) rplSa6|DwXo%!ku2akl;c|9>+hgYGgBgEQ&5APo$ju6{1-oD!M<8kidk literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/activeGradient.svg b/Server/www/spiderbasic/dojo/themes/claro/images/activeGradient.svg new file mode 100644 index 0000000..8ab6ce9 --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/images/activeGradient.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/calendar.png b/Server/www/spiderbasic/dojo/themes/claro/images/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..d892e495492dc520c37941f8e1542d61c2647b59 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6ghtgAGWk)-*E#sZdWB#}JM4Yx}MF4j6Da&sX|7 z!`A8jdcCsk8qA!Iyv;|SH}Y)D&)M%$B~?(WD8TN-yv0Q+kTuXCp)7T~d*0(Sm)QlM ruKV+NaWCV~TOte3Ox?6F<~aLBg|e)zY$0+$3m80I{an^LB{Ts5K`<|t literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/calendarArrows.png b/Server/www/spiderbasic/dojo/themes/claro/images/calendarArrows.png new file mode 100644 index 0000000000000000000000000000000000000000..73333ada9d79c59f5d39cce4c4956a471db18d5c GIT binary patch literal 1238 zcmV;{1S$K8P)BBFpA3lwhbKHbN_H3YLjo)b?5u( zy}!>+Zf`?`kWe9oKIUYz*?#(bns|RqqYFk*930aFOP(yb_wnbW_mr+}u(B+&SsQyD zI_R=<3xX3WKw(Anr%Ce*%_)yT#{?rN4vy)*r(UUCw0>vB;!W|0mHJO!(#BqgPIzT) zHDy5j96a~S!7&u1FgwJ>P}6qA*I~UFQE*hfSsZpeCDFF%V{e~*u5@>Dm6g3etmG5_ zHeH+ed3+mUy=JdN2VKgz8Sm>Hm4Gj_o9VhL4`ea@b+T4#H9x_}bTZ znSO`NGW z=z9=0Pb18dwPD*qvua1TPS`vRCyg!`4$_FtPzqx^Yk8!Otg7DXTNt`vD0i9{VHkGJ zuFtIa5yrZ_G#A25ovh6t_F7R0GdW>0PMY-{q?vhP^m?L`wSIf271=I9H!n=WL5KBq z(rk`i7?Tz27$CKKkNFaY9{RjA7s6&lS-)Ms@jH{%bYw6WYd@Y-2%F)A&B%nI3kH)0 zwnW;DN*D&(-aE8^d8FPNbmO6~NoDI%-@?!ZSV0=6j4QP{fXkI2ThFRWp|8b5PK z!q5i?JaAnIGsGcRZ0|4|_VwkOx(9Pxj}GaC8JsXfB@7I(zyw>uGE~Aa}ol!4oWB9Vij z!-OGVf{pi(aGbAULGCaQ*RYK28ur)U#&v6l^=O4(Hf)xrmH|&c8eCBmom_1;^c|#711h_V^S= zdySkdm%>I>pAv6PWv^|agN_|Io-=MuU8Aohgf*j_Fp-l$2VF40(tJuBWx^Iz9e#1q zyUB7f9p}fYPb9ClV9=GVJ><&^S6Y^~U3!LJgD$&q7CBgp4!U4~1*Yu1Y>xZ;u$s2d z{e4QLJ&*Tc7}BurJ}j3ruQu#EmYd2>%Y+Sc!bDC29dyBPxDOjjiEAH#-dt!2O@-+SZoR^@3F8gXK2o8=Z_3M?$Lrnu^*09|S++K$cy6oJ7 z;1uMy^)&No!Zalw6SliWL2)SU AC;$Ke literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/calendarArrows8bit.png b/Server/www/spiderbasic/dojo/themes/claro/images/calendarArrows8bit.png new file mode 100644 index 0000000000000000000000000000000000000000..c8652600f2491d83aab286229e20250b90400465 GIT binary patch literal 998 zcmeAS@N?(olHy`uVBq!ia0vp^IY2DH!3-piL}a-#FfcX*_=EsyhX4Qn|NZ;#&Wo?R z51vTsSbO>L=VMnM9l7*i|CyUNpMSma^wYgp-#&i%{`1%GA3uM6|M4@TX+>c9tmw8i zkxeTi8kYr>PWLaF>YmZ2?;5G=6dKdM);q7)Ik7geb8UF_Y|r$jl%9=|wevhu8qPRH1il-`Z;Z7U+{ z=7m?!y8PtxrN^I6-F$ZR%EKdtDZqegFRb z>({Tq5EwvEww3!A(E9L_AirQ>M9=^*>`OL%429US?=ckVa7gHUc}xqZhd^_ z+Uv*n9Qn?kef#$8E%_{pKHdU(x8^+gzhSc0F~!vaii$m})lC#xa)YfCH`u+n|2)ZG zpgL*8RNq#oClhmKug`dN$Lge9up5K4ri{;Ar<_&03|)>fckmu7F=Go>;Y^scq{85; zfkK+ZD?aXE@5^rj51A;=a@+cWFL=op+XL?|_oRKV4)1-yl+?Xo;XY%DU3S;otd4wH zSXS2?v8H^QSnP}$cCQ)VEQ-+ExiM&G#lZv>bIDVAK5~9VEI!vnZD-tQoxJy~cibA2 z`o*4SO?dtlM7xZU4T#8P~knHf?`nbT5thL}k$Lx8f>%8+Y9AUZ|F2`1;%Q8|r_|YCla9 zGn;ux*RM!o+s`EH`ohWmZ1+r$@A!DolkdpC=jLB{#eN5Vo7S)04@#?^u6{1-oD!M< DquAzk literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/checkmarkNoBorder.gif b/Server/www/spiderbasic/dojo/themes/claro/images/checkmarkNoBorder.gif new file mode 100644 index 0000000000000000000000000000000000000000..324bfb3cd35ca828bb25b3d690f8a29a902a4cb7 GIT binary patch literal 1658 zcmeH`>08nV0LOnQ0um-5-mV7`O?}id$x)Vp2Ojk(CS_(V)P!QW)Tq2lNIdgG^I9ID zhB~x|a`xz>IcH5*HaGV-?BzZ$zAwKozMtpo<3}ML3YP;&U<24; zdwcuKm%ln>eZ7O@FH}>5Ba{1%osLb;NzM5_yGT%UzrIe~+Wk!Re0ZWqIrQ$=-_X|X zCib2Wd$A+!rfqTlz&$o;P<6*FJh$T+?zpvqaK4(5G4)*L)bA`@LM)R3;EVZj-l5 zd(_kOKTplQQO_{AwO2D6l8YqV(w4h|b~Y!!Q1Ix1L^?XZUM5y-ec54aYio0J^W(>l z>+9=lYip~kt1BxjZ{NOMT3T9MTwGXK&}cOC^YgQ_v(wYlYPEV|Vq$!Jd~9s&_3PIv zm1<~cXmD^)sZ{p$_4W4lc6D_r6bhM4CY4G%Iy&0h+gn>(TUuJ0o12@On#5vpV`HO8 zB&x2iuBxiy^ZEJt`MJ5dIXOAm+1Xq!Hz_G8F)=YAA%V?i$Hm35SS%)!$zU*|qM|}V zLTEG^l}Zf^3=9Ye@bU3+cXxMnb#-!ba&&aGwzjsivch7q#>U1N3Fevm;czGv z3V}fWk@c^%|Kq<|!17Np2mlHIhn>2ePXMrOz*5)3S0YfP!VK)s^-F}^8AvPt3g1UH zJ$F&_1MMz*UwGtN9JL3(i4~R;Sg*=Lms5E#w7XH_jD(vC%^_a<#bPsEuhiPBBqn@) zkv>#S&M-O{k7=ORKnF925A-N8juEHL&aHKWz?MjhtuwI_&rFOHz0DU@liF<`e*;d7 z@OHwRA9axGy5Kn%WS(6P3(AdsbcN2w9|tYsB_x-y3PSmjH%g;s?GOTzPULVP7jx^a^x8J>P-kDSrFsEoTyODb+nP33+;k$ z;6yX}FLcgUTndt}=ijmPuikdo!-KoY`O^ML977pkWrjb}V3KhhAS8cUUP`qAjQIts zuhkc}_3&7u@8m*(`GDbOnb9ln1|5bw5y=7BfQ3R`2zZ8cLMx%5D;_V3G4SwRUW1wX zuCTq6RxPm#fI=hmp+OqU{yeuulpK8x!Jg;b2HD~Bn6?cX(_;`js#&m??Ih+h!b=Mb zYLIuAg#Ca7z<9({?k;@Zk``3A7(_CUb9Sa+;)aoAgwGi^6a~UW^j9Srp#juQ1bZ(( z1!DhF5N+E?H&5GLM`53Io#mNnXJNenw`D=2$PJ9;!L*|R&+>YOgiL1I;xf<~n?ZXi z0i5liV&hOEcLag4jp6BFJ6TqFDf@9vk`zJ$UPyrxE*54VD0je9DThsqPe+7$>>iH@ z>naV06Konqm7z#1fIr!XqiOE-n9!-9^k(8MBw0uI1XY`&^>7vjY#n}_o&vyq>rz1z z8G=HD){z2Jq`%uN$q+&!L5Q>p5NOXGSXSnYl#U})Oi)nSmBkM{Ok`(cFnX64l8f-0 z!K=-<1a!YlW{6kE9D8S_(@{O14O&g(8w&qUXuuL`A<(G3rLX5QKg1;rp)wPMiZpktPr0n7ECWT?L5z5 ziguFfyigSEZ`w+ni#g_c>QqS7b!5mlTbL0KzRr$L;NWkrHBE(^F literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/checkmarkNoBorder.png b/Server/www/spiderbasic/dojo/themes/claro/images/checkmarkNoBorder.png new file mode 100644 index 0000000000000000000000000000000000000000..ae3271a17b87a3c70010f57ffd12cd213c82068d GIT binary patch literal 1394 zcmV-&1&#WNP)2y~%9=pus(yeL%2GKek;)UYBPyz!^np~V&(QqE4FYm0cuXhg(4Pk9<4Tpz^Vx&$x?~|vLfLi-^b#*=I z$@99No*wt;=qP4qXR*AzEJo_I^FDb>1<-n{FaA=Kt@DP};l6i&2ET9ofkU@jjMQo8 zee#qF;LApP{HN6&o#hR;-5q!CW5~IJ$%i{)q)t2UllNE!Ff}!Wyu3VUl_cxy>zJIJ z)GYq54<4f6d&m{xRnRSnvFdX4|kBsY^vb9{F;Awl|#N{UyJ= z2*@M5(Y=cRf*3Yn{5Wg zVzD4AD+`&KnO;z*okAY@{`><;Ab%!%MMVWnCX*M`r6N%BXOGV|=eXpTKwih+747wB zkIy!TGWyGJxMu0cWf`c`P9cwcxj%b+wmHWozXbBg52^sRx3`g#lOvM9ySp3IL!E#V z6B8o&*^7oc_TJte@=Hu2`FnbYKwXVETxcHsf5^?vMM_GF4``>5N4`J*KoZEGGrm0e zCD88Ap9@{~`oRfJo4rKTMHDZI~EoeG>LC_4B~7;3a&J^V|RB~wZDP8EnIL?5)%`VkdWX5+9~9b z@6SJw1oG#*Rw{s_98mPvkU! zlG9LDZN|>d4xV}OO}w2~EUwjzE1!YW)6)?d8R-MsPs1<3r5io?=;Aj%pk4J}fV8wU zG2_R?#GtUS5K&Q4n3b5xX|J5i~f~X{}QZ!3DyzPvp_X9H3p@#IJ5_I7DsFU|9cjwuFY;x zItxU5FlT{Euhtf&e{gqRb85QgwgiwSzuwcg_jz)kd(L~$ zr4R%`dEKCo-NeL%1dX2)v->;;AMgWT$M;sPeB(npa}mv-v&fCXo;FAadhmI9o#+dU z?GX!Ri9PnBxVpM7LdQwO1%zxCfPNB%UkKjLp5Y-b8`A=*TcivsOTJ;+ARXuze-adI z3Qrc~O@t3376aoYW;HfqtrabW$z(3YGiM$|j;KVO!@yW&Ry%{JAh`jslpMf&B~!rs zfP319meJ}(%e?AImvs76Tr~YFy2&j%hyzE`TcRm;pV|8IQJz;2YT?a6@GQr z{vwHc0K0Z|0IRmN!jK8Ud0A2!)VuToe?b!DAmT)BS>0dTa?1W?rOHOOi?k1FE_HU{-PAc8o&JS9u0mu}6k6^HVR zqb)BYf>@5>)3HC4TM<_ky|z~Sew2$%W2pWeRKoL!Z7 zKd zll|yaeIq;o%Spm_$6pSNUHwoEPdixHHfyC}PP=UyVJc`1)I>;b$ zW>h<1p}UO3+c|CC|Cvil>lzb^hWlG$Q}<~r~(g(m|ZT%L$142&0>)xLu5(8e1cTx^X+h(ZX9IE#U?(yVqGp|{Wg zHQ0~xRwv_7Dx|1a~a-2tJN}}K7Cq%7JZ6A9*1O<$dz1gc*8pWM!`tB--~dZ@7C2xZ dyScc|{{W!KRTG=m@j(Cp002ovPDHLkV1iH?ty2I1 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/dialogCloseIcon8bit.png b/Server/www/spiderbasic/dojo/themes/claro/images/dialogCloseIcon8bit.png new file mode 100644 index 0000000000000000000000000000000000000000..200c0afb0f0877c04d09894f842d0ef772a02126 GIT binary patch literal 649 zcmeAS@N?(olHy`uVBq!ia0vp^_CUC9Xx&N^6ew{zE4=OfA{HIi4AksT=-<}9=?3v<(20@SI*cx zd-X1xu-u5E&f1Pi%g%o4TeffY-ZQ7pU7E0X^ZY}PW^X!HF>(2}eMinb`o3uE@wFE} z?YQ>UC%0?;rO&h1A6&HK)SUef{Y$2*S-3Ag^J(>kPm52#`}OPBnzL^go&L1`;>XK3 z@5Q&Ts_a{M(1!7ANlTY-LYC<*clhKP_& zG90Sj=)%CjXyNJN7@~20>7)E;P_WDEBYInY83Lo1yOXT0vL*LiN|2eDI_b`cZ>7S0r zcb9#586#q=)v-A5D*G(83lo=Bw%RMO$Za~)p0w{;j ze`~3J#rnOh>b@&eYm6^U|6H}NgI6@>@5u?unq}$pHflPnqS5BcfX(iGYFaT zq3FXgrkldpbTd8*7b^XdFqf1doG`Ttk??AqNe6B&~Wf$_oM>FVdQ&MBb@0KH6m A9RL6T literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/dnd.png b/Server/www/spiderbasic/dojo/themes/claro/images/dnd.png new file mode 100644 index 0000000000000000000000000000000000000000..6e1d89902be7b632d91ae3056cd27912008a2216 GIT binary patch literal 1910 zcmV-+2Z{KJP)P4mrkbEsAUhb@zKL3 z9W|mHEqqjJ2((r-D(qr7DPKOy>?j$k4r5^My!2AdW$X`D-%o?uOwnedKjk*OhMQHW2xEWlu&V?4$jjeAjY znt6e_I%Qc(PuAC2c((dkZKF8upsLt z6HSIZLq4_CEtb;YyBZb+6j&4xUn<-0mO0vGlm|)ojBdBGKm#wbe)APo%IGblFClT(5LODzESm{$kN2_#G72+P zwQ`ZfS)mGxF^k8buC-2*n@>0YEpZsL39pe(n0G0O!v&V9S|DDuw z@XVZiVB9#Id}*GWgI{<- z3tG_rPgd`8MQ(lUF*s9)W0z&9gfn#nw&mr)Q&kmu+2m4s64i{Eh!b~BM92M8@#nPZ zglwG6$wT|p2e5zSZ79utke^ch3w8T^%0`klC#KwsKkm67O^FtqNV^FwDQP%$$DL@q zdlLDnI5i?2ZBw(cY1C*gqVyHmPI9Fw(TXMuA;E&SvE$J)@oqHJW4}2ukzkc*N>Ke{ zw~Rw^_JaraBT7v9KCrI>QmEDOG&>OBWWxOwMG+uBh4uN$S53% z9fVDJc@<)F(qNpp(S};8dPzHfz8}t$F;MC`w9!*cM6>hlEArgbBDRqap|B z(O*MYCv+rn3}Lcb%cGB8b%APnV(%j{Qos^ty)_93Lk(zp;z@M7s^I%-JA5VIz_)D& zyc@qj*ZLxO1JJeZb5v4d70W!9I3MTa;Fqv4{6tUTA7~jR!-l~*b}V+-Z1~b_#zrDu zh&_Y~7MpZp#i7c|=&d0kGUz6?R+E{DU$U}Lot}=L#*fEtErH?pxq~f2G#qld)D!v9 zv}v+ph2DVbAva>*uo2i#m-ff_1U0T`4wNlFd^bHZ*ju@eQ$C80{-LP@#2DpO8@`>07*qoM6N<$f~=CI0{{R3 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/loadingAnimation.gif b/Server/www/spiderbasic/dojo/themes/claro/images/loadingAnimation.gif new file mode 100644 index 0000000000000000000000000000000000000000..694e2cb3fa30eb15e5cbd1aa17c8864f0a4b43bc GIT binary patch literal 631 zcmZ?wbhEHb6k!ly_{_$z=5kPS3cgn@zC zIAhnHIDuU&7cDveNTz&q>+yz1PScJ>u2OovQ@TggNp{iE1^2Zde%5Ue_`xO7X~>&( z(gS7=D}xRb0|x^$11HcNP7Ny`K7$jU*-TJdm_V{jKv^yZ1{U6clg^V}B{B{-|6d@^ z2vxxVQ^5jM!9L-n+uT?Sm~NmPBLgD?D}xYFPV~b`&Q)t3+-fg<7R_FlBsovzm2WT$ z!Z++NmCS+>yYBom@KRqT6)|ybL%8D$6{sqpTRHH$m4l#LAu6!D748CpZsjG)t$cXh T%16+x5Eai6w^{=LCAG3? literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/progressBarAnim.gif b/Server/www/spiderbasic/dojo/themes/claro/images/progressBarAnim.gif new file mode 100644 index 0000000000000000000000000000000000000000..30c0d9d873856b0cd82beff409cc2383461c0560 GIT binary patch literal 4458 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 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/progressBarFull.png b/Server/www/spiderbasic/dojo/themes/claro/images/progressBarFull.png new file mode 100644 index 0000000000000000000000000000000000000000..90c9eaa2c291439472ec6edcd21541fc711f27bb GIT binary patch literal 127 zcmeAS@N?(olHy`uVBq!ia0vp^%s?#3!3HG1q)u@HQf{6ujv*44lmGnx|KFNTBLPU) ztMwc{bl|{))-ykQ&-`qi{8@PBXXcroW!0Zc7aD2IS)U@&aGTY>po(#~za&r>f3h(H Z!^NBOZl}&0+yI)$;OXk;vd$@?2>|liFh-*bf1(5mw|No3ByUKtp z=8_=4;Q#*_uAky{1agBsT^vIsE>E4{D8!(^!8Gx|{jO%E$k;~>lZ|I9Ww_qf-SW2g z(V@CJh8x08OHK&9XcFOU)LURF_*H1;QjQg!&sW4fHeK~SV9w0KdkJYa{9jA2vR*1< V3bgLp`37h@gQu&X%Q~loCIC5?K3D(% literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/standardGradient.png b/Server/www/spiderbasic/dojo/themes/claro/images/standardGradient.png new file mode 100644 index 0000000000000000000000000000000000000000..72241f1f8e78be4213e449cab152eddeba945b91 GIT binary patch literal 101 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`I-V|$Ar_~T|NQ^|KZ=cuft#86 w@O4J>2d6K5Ka`=+$EI{tF99fLudNEybjnP`>!ZEOPM|&pPgg&ebxsLQ09fE3DF6Tf literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/standardGradient.svg b/Server/www/spiderbasic/dojo/themes/claro/images/standardGradient.svg new file mode 100644 index 0000000..807c3c7 --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/images/standardGradient.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/tooltip.png b/Server/www/spiderbasic/dojo/themes/claro/images/tooltip.png new file mode 100644 index 0000000000000000000000000000000000000000..9d279cdef8794c03d3b41adbc529ba3d4783f975 GIT binary patch literal 713 zcmV;)0yh1LP)!GxQC5yU(x>uy4>i>*{RSC|l$R^K1Kx5+wpe+OBuL(Q_NChFZkH8S7vU2w_fK z)_9>PrCM8~hqh7*k;D8W)v&^Z*l7*=^h|S^pA`$Sg&e^O=712+Z^mF>#)egX&^^9f z>%65&`Gi8u0+sJ~kNqMHPfUx8y#Akr$b$)NVDxwcLQH-!Hg7F?q|-Jw$bm#ACJ;g> zQNXkkix^j|TKpAf%dirwiM=1O1zlb>^`5HQ_xSbbj^UunEn$=POt;CTc- zIdf(rycwt(?FO0duPuWJJI|$RTleB86k-#(g8?jIi~%9e>1LSyw5ROOGg;@!hzYi% zRNYg?nmJ{Z%n!OQ#DNGAqEdM->wGc91VV_&8M%WYiZ7NB-H)nv^)EyPE0geCirbX@ z?WeNN=L;!>C?LK)nX(40DnF(|+~dWoLj^v-l30k5W?DBM9Sr$)E+h!-H*9A;tR%QI;9Z8vg5SCM^U20 z+1%(Hj&xql(&Ph{BG|wPR@)5`;{EW{;muCdD{)C)P8pZIbtJ6nrp0{Y8kIk<&q=v3 zU~7UE%mE?L_M+oU+f`;PMDyOOL7#<;ubScYBe{RedDixeZ@>Ooyzg4~+EbmYPtMQ2f?kiuu|5~*7%H5Y=PTzX|@yDNommVFy_I%#%E0qflz4`Kc+5T(g z^A5iJ`0LXBS1rqrcdb6zv-Z@JH=kQq96xpYRo9wRb9Y@?wD;Ps^N+s&{QdLq|69*L z&)9bH`MWP2t4@~9J@6k4x-~z)20GiaB*-rqB0@UJV6`UI0cglWPZ!4!jq|;eZwfUT z@VEv$2nGZQey_b>F8%NS=_yToyyv!5W>1=TM@{nxt2Ntz9!{*S#`b_zuk)I!ZD%>ZMpKx`_1@XogEpB$_ zrdg;dd40ObAv;Cz#jl?-b+aUwWJDKDsS)QqwC#!XW%id#OW%6P<=qrIlr0wJ&S7vs zZ>FKiUiqX5_NPoab~lwLpW8A|QOjp<%LgBq_uauOIa-d1ecoB|ecg&_+%0Vzi*Egs n`~TnF#AVH<`tW=Ixc4))`r!N_Bzn8xOOr!_oML>H^;@&N0TPI>?4W zI;#}26+$iy(pjaDt2oCPpXwk7DdZ@GJfx7PIL8>DnoySIoYDE^j~XLH@-Ie8GJ0}4 zW_#7c1SHOv>EhD_Dxf4K90*9PF+$rkXGC$r0)oBjVFD88%XIN+0u|85X2*h&fj&kk zj6Yd0GSJ5a1ar?Wu4??1PfchUZ8;E(SYw3dtAsuV5xt+iG7;FJhCU`BalT9!AAcTl zbbM+;LAd5XKw^y%nua_2u-MSa(~<=QJJis}1SHOv>Eh!DYmSajP3U>?t^_0Gzom@H zOHA)(E4EiXOhEhgX#y3{zJIHEo>M{y+yDJ<9&vMR6++xxTLUt|hu>Ta1_ehN4BBq4 z1;c`44TfzuX;Xao+ozOrG_c#=KBbhWf!p>LGsUNWvH!w1Yi?8-iG)CQ00000NkvXX Hu0mjfUvADd literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/images/treeExpandImages8bit.png b/Server/www/spiderbasic/dojo/themes/claro/images/treeExpandImages8bit.png new file mode 100644 index 0000000000000000000000000000000000000000..294ce7a8bd98f228bbd6c3aa11a862e5244471b5 GIT binary patch literal 744 zcmeAS@N?(olHy`uVBq!ia0vp^9zZO>!3-pu-kp5Uz`)oL;1lBd|NsB8xd--~xclwf zw@;rw-Mo48$&)9ZrE?!X|M30i?>FziK70M?&!4|vzkdDkVhIBOrMD{o|J(x1N8w{p|hg&%bUwdVS;Br}v+~U%mh0=kGt4 zAH2Ez8r(9mXQ#q*zA zWG0-Ou3jH^PT-S>@bY!94=%jm$QUHE-)_A{+l4vK2^sG)FPH!N{<%LR)1_TZ_UGo! zd(~do=kB}wr>VVpud%_@u|E6sxwPy5SsT3~U(dYuQxKGHJYD@<);T3K F0RULM7e)X8 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomSelected.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomSelected.png new file mode 100644 index 0000000000000000000000000000000000000000..f92b05f45175ec4ad5467ee880c99885e6357d17 GIT binary patch literal 118 zcmeAS@N?(olHy`uVBq!ia0vp^j6nR0gAGU~IOqn01d4;)ofy`glX(f`7gKRfmm PsF%Uh)z4*}Q$iB}s8J(s literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomSelected.svg b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomSelected.svg new file mode 100644 index 0000000..4e6ff6d --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomSelected.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomUnselected.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomUnselected.png new file mode 100644 index 0000000000000000000000000000000000000000..7815d9cfb6995e24d16a65cc2cf81c7c53136966 GIT binary patch literal 110 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{F!3HF+&llYe5-1LGcVbv~PUa<$qv7e|7{YNq z`N#kN_UyvU%*_f~iVfa9ot=%14^8J(u%@dT{rL}+V~Baoy~*L)9bcdx22WQ%mvv4F FO#tT2A)5dI literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomUnselected.svg b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomUnselected.svg new file mode 100644 index 0000000..4193238 --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabBottomUnselected.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabClose.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabClose.png new file mode 100644 index 0000000000000000000000000000000000000000..f3b23639381f2808499778b66b86f728a64c7f5e GIT binary patch literal 1410 zcmV-|1%3L7P)xGfB(PA4oILxWkEqHN%xI
+ * Default is "a4". If you want to use your own format just pass instead of one of the above predefined formats the size as an number-array, e.g. [595.28, 841.89] + * @param orientation {string} Orientation of the new page. Possible values are "portrait" or "landscape" (or shortcuts "p" (Default), "l"). + * @function + * @instance + * @returns {jsPDF} + * + * @memberof jsPDF# + * @name addPage + */ + API.addPage = function () { + _addPage.apply(this, arguments); + return this; + }; + /** + * Adds (and transfers the focus to) new page to the PDF document. + * @function + * @instance + * @returns {jsPDF} + * + * @memberof jsPDF# + * @name setPage + * @param {number} page Switch the active page to the page number specified (indexed starting at 1). + * @example + * doc = jsPDF() + * doc.addPage() + * doc.addPage() + * doc.text('I am on page 3', 10, 10) + * doc.setPage(1) + * doc.text('I am on page 1', 10, 10) + */ + API.setPage = function () { + _setPage.apply(this, arguments); + setOutputDestination.call(this, pages[currentPage]); + return this; + }; + + /** + * @name insertPage + * @memberof jsPDF# + * + * @function + * @instance + * @param {Object} beforePage + * @returns {jsPDF} + */ + API.insertPage = function (beforePage) { + this.addPage(); + this.movePage(currentPage, beforePage); + return this; + }; + + /** + * @name movePage + * @memberof jsPDF# + * @function + * @instance + * @param {number} targetPage + * @param {number} beforePage + * @returns {jsPDF} + */ + API.movePage = function (targetPage, beforePage) { + var tmpPages, tmpPagesContext; + if (targetPage > beforePage) { + tmpPages = pages[targetPage]; + tmpPagesContext = pagesContext[targetPage]; + for (var i = targetPage; i > beforePage; i--) { + pages[i] = pages[i - 1]; + pagesContext[i] = pagesContext[i - 1]; + } + pages[beforePage] = tmpPages; + pagesContext[beforePage] = tmpPagesContext; + this.setPage(beforePage); + } else if (targetPage < beforePage) { + tmpPages = pages[targetPage]; + tmpPagesContext = pagesContext[targetPage]; + for (var j = targetPage; j < beforePage; j++) { + pages[j] = pages[j + 1]; + pagesContext[j] = pagesContext[j + 1]; + } + pages[beforePage] = tmpPages; + pagesContext[beforePage] = tmpPagesContext; + this.setPage(beforePage); + } + return this; + }; + + /** + * Deletes a page from the PDF. + * @name deletePage + * @memberof jsPDF# + * @function + * @param {number} targetPage + * @instance + * @returns {jsPDF} + */ + API.deletePage = function () { + _deletePage.apply(this, arguments); + return this; + }; + + /** + * Adds text to page. Supports adding multiline text when 'text' argument is an Array of Strings. + * + * @function + * @instance + * @param {String|Array} text String or array of strings to be added to the page. Each line is shifted one line down per font, spacing settings declared before this call. + * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page. + * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page. + * @param {Object} [options] - Collection of settings signaling how the text must be encoded. + * @param {string} [options.align=left] - The alignment of the text, possible values: left, center, right, justify. + * @param {string} [options.baseline=alphabetic] - Sets text baseline used when drawing the text, possible values: alphabetic, ideographic, bottom, top, middle, hanging + * @param {number|Matrix} [options.angle=0] - Rotate the text clockwise or counterclockwise. Expects the angle in degree. + * @param {number} [options.rotationDirection=1] - Direction of the rotation. 0 = clockwise, 1 = counterclockwise. + * @param {number} [options.charSpace=0] - The space between each letter. + * @param {number} [options.horizontalScale=1] - Horizontal scale of the text as a factor of the regular size. + * @param {number} [options.lineHeightFactor=1.15] - The lineheight of each line. + * @param {Object} [options.flags] - Flags for to8bitStream. + * @param {boolean} [options.flags.noBOM=true] - Don't add BOM to Unicode-text. + * @param {boolean} [options.flags.autoencode=true] - Autoencode the Text. + * @param {number} [options.maxWidth=0] - Split the text by given width, 0 = no split. + * @param {string} [options.renderingMode=fill] - Set how the text should be rendered, possible values: fill, stroke, fillThenStroke, invisible, fillAndAddForClipping, strokeAndAddPathForClipping, fillThenStrokeAndAddToPathForClipping, addToPathForClipping. + * @param {boolean} [options.isInputVisual] - Option for the BidiEngine + * @param {boolean} [options.isOutputVisual] - Option for the BidiEngine + * @param {boolean} [options.isInputRtl] - Option for the BidiEngine + * @param {boolean} [options.isOutputRtl] - Option for the BidiEngine + * @param {boolean} [options.isSymmetricSwapping] - Option for the BidiEngine + * @param {number|Matrix} transform If transform is a number the text will be rotated by this value around the anchor set by x and y. + * + * If it is a Matrix, this matrix gets directly applied to the text, which allows shearing + * effects etc.; the x and y offsets are then applied AFTER the coordinate system has been established by this + * matrix. This means passing a rotation matrix that is equivalent to some rotation angle will in general yield a + * DIFFERENT result. A matrix is only allowed in "advanced" API mode. + * @returns {jsPDF} + * @memberof jsPDF# + * @name text + */ + API.__private__.text = API.text = function (text, x, y, options, transform) { + /* + * Inserts something like this into PDF + * BT + * /F1 16 Tf % Font name + size + * 16 TL % How many units down for next line in multiline text + * 0 g % color + * 28.35 813.54 Td % position + * (line one) Tj + * T* (line two) Tj + * T* (line three) Tj + * ET + */ + options = options || {}; + var scope = options.scope || this; + var payload, da, angle, align, charSpace, maxWidth, flags, horizontalScale; + + // Pre-August-2012 the order of arguments was function(x, y, text, flags) + // in effort to make all calls have similar signature like + // function(data, coordinates... , miscellaneous) + // this method had its args flipped. + // code below allows backward compatibility with old arg order. + if (typeof text === "number" && typeof x === "number" && (typeof y === "string" || Array.isArray(y))) { + var tmp = y; + y = x; + x = text; + text = tmp; + } + var transformationMatrix; + if (arguments[3] instanceof Matrix === false) { + flags = arguments[3]; + angle = arguments[4]; + align = arguments[5]; + if (_typeof(flags) !== "object" || flags === null) { + if (typeof angle === "string") { + align = angle; + angle = null; + } + if (typeof flags === "string") { + align = flags; + flags = null; + } + if (typeof flags === "number") { + angle = flags; + flags = null; + } + options = { + flags: flags, + angle: angle, + align: align + }; + } + } else { + advancedApiModeTrap("The transform parameter of text() with a Matrix value"); + transformationMatrix = transform; + } + if (isNaN(x) || isNaN(y) || typeof text === "undefined" || text === null) { + throw new Error("Invalid arguments passed to jsPDF.text"); + } + if (text.length === 0) { + return scope; + } + var xtra = ""; + var isHex = false; + var lineHeight = typeof options.lineHeightFactor === "number" ? options.lineHeightFactor : lineHeightFactor; + var scaleFactor = scope.internal.scaleFactor; + function ESC(s) { + s = s.split("\t").join(Array(options.TabLen || 9).join(" ")); + return pdfEscape(s, flags); + } + function transformTextToSpecialArray(text) { + //we don't want to destroy original text array, so cloning it + var sa = text.concat(); + var da = []; + var len = sa.length; + var curDa; + //we do array.join('text that must not be PDFescaped") + //thus, pdfEscape each component separately + while (len--) { + curDa = sa.shift(); + if (typeof curDa === "string") { + da.push(curDa); + } else { + if (Array.isArray(text) && (curDa.length === 1 || curDa[1] === undefined && curDa[2] === undefined)) { + da.push(curDa[0]); + } else { + da.push([curDa[0], curDa[1], curDa[2]]); + } + } + } + return da; + } + function processTextByFunction(text, processingFunction) { + var result; + if (typeof text === "string") { + result = processingFunction(text)[0]; + } else if (Array.isArray(text)) { + //we don't want to destroy original text array, so cloning it + var sa = text.concat(); + var da = []; + var len = sa.length; + var curDa; + var tmpResult; + //we do array.join('text that must not be PDFescaped") + //thus, pdfEscape each component separately + while (len--) { + curDa = sa.shift(); + if (typeof curDa === "string") { + da.push(processingFunction(curDa)[0]); + } else if (Array.isArray(curDa) && typeof curDa[0] === "string") { + tmpResult = processingFunction(curDa[0], curDa[1], curDa[2]); + da.push([tmpResult[0], tmpResult[1], tmpResult[2]]); + } + } + result = da; + } + return result; + } + + //Check if text is of type String + var textIsOfTypeString = false; + var tmpTextIsOfTypeString = true; + if (typeof text === "string") { + textIsOfTypeString = true; + } else if (Array.isArray(text)) { + //we don't want to destroy original text array, so cloning it + var sa = text.concat(); + da = []; + var len = sa.length; + var curDa; + //we do array.join('text that must not be PDFescaped") + //thus, pdfEscape each component separately + while (len--) { + curDa = sa.shift(); + if (typeof curDa !== "string" || Array.isArray(curDa) && typeof curDa[0] !== "string") { + tmpTextIsOfTypeString = false; + } + } + textIsOfTypeString = tmpTextIsOfTypeString; + } + if (textIsOfTypeString === false) { + throw new Error('Type of text must be string or Array. "' + text + '" is not recognized.'); + } + + //If there are any newlines in text, we assume + //the user wanted to print multiple lines, so break the + //text up into an array. If the text is already an array, + //we assume the user knows what they are doing. + //Convert text into an array anyway to simplify + //later code. + + if (typeof text === "string") { + if (text.match(/[\r?\n]/)) { + text = text.split(/\r\n|\r|\n/g); + } else { + text = [text]; + } + } + + //baseline + var height = activeFontSize / scope.internal.scaleFactor; + var descent = height * (lineHeight - 1); + switch (options.baseline) { + case "bottom": + y -= descent; + break; + case "top": + y += height - descent; + break; + case "hanging": + y += height - 2 * descent; + break; + case "middle": + y += height / 2 - descent; + break; + } + + //multiline + maxWidth = options.maxWidth || 0; + if (maxWidth > 0) { + if (typeof text === "string") { + text = scope.splitTextToSize(text, maxWidth); + } else if (Object.prototype.toString.call(text) === "[object Array]") { + text = text.reduce(function (acc, textLine) { + return acc.concat(scope.splitTextToSize(textLine, maxWidth)); + }, []); + } + } + + //creating Payload-Object to make text byRef + payload = { + text: text, + x: x, + y: y, + options: options, + mutex: { + pdfEscape: pdfEscape, + activeFontKey: activeFontKey, + fonts: fonts, + activeFontSize: activeFontSize + } + }; + events.publish("preProcessText", payload); + text = payload.text; + options = payload.options; + + //angle + angle = options.angle; + if (transformationMatrix instanceof Matrix === false && angle && typeof angle === "number") { + angle *= Math.PI / 180; + if (options.rotationDirection === 0) { + angle = -angle; + } + if (apiMode === ApiMode.ADVANCED) { + angle = -angle; + } + var c = Math.cos(angle); + var s = Math.sin(angle); + transformationMatrix = new Matrix(c, s, -s, c, 0, 0); + } else if (angle && angle instanceof Matrix) { + transformationMatrix = angle; + } + if (apiMode === ApiMode.ADVANCED && !transformationMatrix) { + transformationMatrix = identityMatrix; + } + + //charSpace + + charSpace = options.charSpace || activeCharSpace; + if (typeof charSpace !== "undefined") { + xtra += hpf(scale(charSpace)) + " Tc\n"; + this.setCharSpace(this.getCharSpace() || 0); + } + horizontalScale = options.horizontalScale; + if (typeof horizontalScale !== "undefined") { + xtra += hpf(horizontalScale * 100) + " Tz\n"; + } + + //lang + + options.lang; + + //renderingMode + var renderingMode = -1; + var parmRenderingMode = typeof options.renderingMode !== "undefined" ? options.renderingMode : options.stroke; + var pageContext = scope.internal.getCurrentPageInfo().pageContext; + switch (parmRenderingMode) { + case 0: + case false: + case "fill": + renderingMode = 0; + break; + case 1: + case true: + case "stroke": + renderingMode = 1; + break; + case 2: + case "fillThenStroke": + renderingMode = 2; + break; + case 3: + case "invisible": + renderingMode = 3; + break; + case 4: + case "fillAndAddForClipping": + renderingMode = 4; + break; + case 5: + case "strokeAndAddPathForClipping": + renderingMode = 5; + break; + case 6: + case "fillThenStrokeAndAddToPathForClipping": + renderingMode = 6; + break; + case 7: + case "addToPathForClipping": + renderingMode = 7; + break; + } + var usedRenderingMode = typeof pageContext.usedRenderingMode !== "undefined" ? pageContext.usedRenderingMode : -1; + + //if the coder wrote it explicitly to use a specific + //renderingMode, then use it + if (renderingMode !== -1) { + xtra += renderingMode + " Tr\n"; + //otherwise check if we used the rendering Mode already + //if so then set the rendering Mode... + } else if (usedRenderingMode !== -1) { + xtra += "0 Tr\n"; + } + if (renderingMode !== -1) { + pageContext.usedRenderingMode = renderingMode; + } + + //align + align = options.align || "left"; + var leading = activeFontSize * lineHeight; + var pageWidth = scope.internal.pageSize.getWidth(); + var activeFont = fonts[activeFontKey]; + charSpace = options.charSpace || activeCharSpace; + maxWidth = options.maxWidth || 0; + var lineWidths; + flags = Object.assign({ + autoencode: true, + noBOM: true + }, options.flags); + var wordSpacingPerLine = []; + var findWidth = function findWidth(v) { + return scope.getStringUnitWidth(v, { + font: activeFont, + charSpace: charSpace, + fontSize: activeFontSize, + doKerning: false + }) * activeFontSize / scaleFactor; + }; + if (Object.prototype.toString.call(text) === "[object Array]") { + da = transformTextToSpecialArray(text); + var newY; + if (align !== "left") { + lineWidths = da.map(findWidth); + } + //The first line uses the "main" Td setting, + //and the subsequent lines are offset by the + //previous line's x coordinate. + var prevWidth = 0; + var newX; + if (align === "right") { + //The passed in x coordinate defines the + //rightmost point of the text. + x -= lineWidths[0]; + text = []; + len = da.length; + for (var i = 0; i < len; i++) { + if (i === 0) { + newX = getHorizontalCoordinate(x); + newY = getVerticalCoordinate(y); + } else { + newX = scale(prevWidth - lineWidths[i]); + newY = -leading; + } + text.push([da[i], newX, newY]); + prevWidth = lineWidths[i]; + } + } else if (align === "center") { + //The passed in x coordinate defines + //the center point. + x -= lineWidths[0] / 2; + text = []; + len = da.length; + for (var j = 0; j < len; j++) { + if (j === 0) { + newX = getHorizontalCoordinate(x); + newY = getVerticalCoordinate(y); + } else { + newX = scale((prevWidth - lineWidths[j]) / 2); + newY = -leading; + } + text.push([da[j], newX, newY]); + prevWidth = lineWidths[j]; + } + } else if (align === "left") { + text = []; + len = da.length; + for (var h = 0; h < len; h++) { + text.push(da[h]); + } + } else if (align === "justify" && activeFont.encoding === "Identity-H") { + // when using unicode fonts, wordSpacePerLine does not apply + text = []; + len = da.length; + maxWidth = maxWidth !== 0 ? maxWidth : pageWidth; + var backToStartX = 0; + for (var l = 0; l < len; l++) { + newY = l === 0 ? getVerticalCoordinate(y) : -leading; + newX = l === 0 ? getHorizontalCoordinate(x) : backToStartX; + if (l < len - 1) { + var spacing = scale((maxWidth - lineWidths[l]) / (da[l].split(" ").length - 1)); + var words = da[l].split(" "); + text.push([words[0] + " ", newX, newY]); + backToStartX = 0; // distance to reset back to the left + for (var _i = 1; _i < words.length; _i++) { + var shiftAmount = (findWidth(words[_i - 1] + " " + words[_i]) - findWidth(words[_i])) * scaleFactor + spacing; + if (_i == words.length - 1) text.push([words[_i], shiftAmount, 0]);else text.push([words[_i] + " ", shiftAmount, 0]); + backToStartX -= shiftAmount; + } + } else { + text.push([da[l], newX, newY]); + } + } + text.push(["", backToStartX, 0]); + } else if (align === "justify") { + text = []; + len = da.length; + maxWidth = maxWidth !== 0 ? maxWidth : pageWidth; + for (var l = 0; l < len; l++) { + newY = l === 0 ? getVerticalCoordinate(y) : -leading; + newX = l === 0 ? getHorizontalCoordinate(x) : 0; + var numSpaces = da[l].split(" ").length - 1; + var _spacing = numSpaces > 0 ? (maxWidth - lineWidths[l]) / numSpaces : 0; + if (l < len - 1) { + wordSpacingPerLine.push(hpf(scale(_spacing))); + } else { + wordSpacingPerLine.push(0); + } + text.push([da[l], newX, newY]); + } + } else { + throw new Error('Unrecognized alignment option, use "left", "center", "right" or "justify".'); + } + } + + //R2L + var doReversing = typeof options.R2L === "boolean" ? options.R2L : R2L; + if (doReversing === true) { + text = processTextByFunction(text, function (text, posX, posY) { + return [text.split("").reverse().join(""), posX, posY]; + }); + } + + //creating Payload-Object to make text byRef + payload = { + text: text, + x: x, + y: y, + options: options, + mutex: { + pdfEscape: pdfEscape, + activeFontKey: activeFontKey, + fonts: fonts, + activeFontSize: activeFontSize + } + }; + events.publish("postProcessText", payload); + text = payload.text; + isHex = payload.mutex.isHex || false; + + //Escaping + var activeFontEncoding = fonts[activeFontKey].encoding; + if (activeFontEncoding === "WinAnsiEncoding" || activeFontEncoding === "StandardEncoding") { + text = processTextByFunction(text, function (text, posX, posY) { + return [ESC(text), posX, posY]; + }); + } + da = transformTextToSpecialArray(text); + text = []; + var STRING = 0; + var ARRAY = 1; + var variant = Array.isArray(da[0]) ? ARRAY : STRING; + var posX; + var posY; + var content; + var wordSpacing = ""; + var generatePosition = function generatePosition(parmPosX, parmPosY, parmTransformationMatrix) { + var position = ""; + if (parmTransformationMatrix instanceof Matrix) { + // It is kind of more intuitive to apply a plain rotation around the text anchor set by x and y + // but when the user supplies an arbitrary transformation matrix, the x and y offsets should be applied + // in the coordinate system established by this matrix + if (typeof options.angle === "number") { + parmTransformationMatrix = matrixMult(parmTransformationMatrix, new Matrix(1, 0, 0, 1, parmPosX, parmPosY)); + } else { + parmTransformationMatrix = matrixMult(new Matrix(1, 0, 0, 1, parmPosX, parmPosY), parmTransformationMatrix); + } + if (apiMode === ApiMode.ADVANCED) { + parmTransformationMatrix = matrixMult(new Matrix(1, 0, 0, -1, 0, 0), parmTransformationMatrix); + } + position = parmTransformationMatrix.join(" ") + " Tm\n"; + } else { + position = hpf(parmPosX) + " " + hpf(parmPosY) + " Td\n"; + } + return position; + }; + for (var lineIndex = 0; lineIndex < da.length; lineIndex++) { + wordSpacing = ""; + switch (variant) { + case ARRAY: + content = (isHex ? "<" : "(") + da[lineIndex][0] + (isHex ? ">" : ")"); + posX = parseFloat(da[lineIndex][1]); + posY = parseFloat(da[lineIndex][2]); + break; + case STRING: + content = (isHex ? "<" : "(") + da[lineIndex] + (isHex ? ">" : ")"); + posX = getHorizontalCoordinate(x); + posY = getVerticalCoordinate(y); + break; + } + if (typeof wordSpacingPerLine !== "undefined" && typeof wordSpacingPerLine[lineIndex] !== "undefined") { + wordSpacing = wordSpacingPerLine[lineIndex] + " Tw\n"; + } + if (lineIndex === 0) { + text.push(wordSpacing + generatePosition(posX, posY, transformationMatrix) + content); + } else if (variant === STRING) { + text.push(wordSpacing + content); + } else if (variant === ARRAY) { + text.push(wordSpacing + generatePosition(posX, posY, transformationMatrix) + content); + } + } + text = variant === STRING ? text.join(" Tj\nT* ") : text.join(" Tj\n"); + text += " Tj\n"; + var result = "BT\n/"; + result += activeFontKey + " " + activeFontSize + " Tf\n"; // font face, style, size + result += hpf(activeFontSize * lineHeight) + " TL\n"; // line spacing + result += textColor + "\n"; + result += xtra; + result += text; + result += "ET"; + out(result); + usedFonts[activeFontKey] = true; + return scope; + }; + + // PDF supports these path painting and clip path operators: + // + // S - stroke + // s - close/stroke + // f (F) - fill non-zero + // f* - fill evenodd + // B - fill stroke nonzero + // B* - fill stroke evenodd + // b - close fill stroke nonzero + // b* - close fill stroke evenodd + // n - nothing (consume path) + // W - clip nonzero + // W* - clip evenodd + // + // In order to keep the API small, we omit the close-and-fill/stroke operators and provide a separate close() + // method. + /** + * + * @name clip + * @function + * @instance + * @param {string} rule Only possible value is 'evenodd' + * @returns {jsPDF} + * @memberof jsPDF# + * @description All .clip() after calling drawing ops with a style argument of null. + */ + var clip = API.__private__.clip = API.clip = function (rule) { + // Call .clip() after calling drawing ops with a style argument of null + // W is the PDF clipping op + if ("evenodd" === rule) { + out("W*"); + } else { + out("W"); + } + return this; + }; + + /** + * @name clipEvenOdd + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @description Modify the current clip path by intersecting it with the current path using the even-odd rule. Note + * that this will NOT consume the current path. In order to only use this path for clipping call + * {@link API.discardPath} afterwards. + */ + API.clipEvenOdd = function () { + return clip("evenodd"); + }; + + /** + * Consumes the current path without any effect. Mainly used in combination with {@link clip} or + * {@link clipEvenOdd}. The PDF "n" operator. + * @name discardPath + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + */ + API.__private__.discardPath = API.discardPath = function () { + out("n"); + return this; + }; + var isValidStyle = API.__private__.isValidStyle = function (style) { + var validStyleVariants = [undefined, null, "S", "D", "F", "DF", "FD", "f", "f*", "B", "B*", "n"]; + var result = false; + if (validStyleVariants.indexOf(style) !== -1) { + result = true; + } + return result; + }; + API.__private__.setDefaultPathOperation = API.setDefaultPathOperation = function (operator) { + if (isValidStyle(operator)) { + defaultPathOperation = operator; + } + return this; + }; + var getStyle = API.__private__.getStyle = API.getStyle = function (style) { + // see path-painting operators in PDF spec + var op = defaultPathOperation; // stroke + + switch (style) { + case "D": + case "S": + op = "S"; // stroke + break; + case "F": + op = "f"; // fill + break; + case "FD": + case "DF": + op = "B"; + break; + case "f": + case "f*": + case "B": + case "B*": + /* + Allow direct use of these PDF path-painting operators: + - f fill using nonzero winding number rule + - f* fill using even-odd rule + - B fill then stroke with fill using non-zero winding number rule + - B* fill then stroke with fill using even-odd rule + */ + op = style; + break; + } + return op; + }; + + /** + * Close the current path. The PDF "h" operator. + * @name close + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + */ + var close = API.close = function () { + out("h"); + return this; + }; + + /** + * Stroke the path. The PDF "S" operator. + * @name stroke + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + */ + API.stroke = function () { + out("S"); + return this; + }; + + /** + * Fill the current path using the nonzero winding number rule. If a pattern is provided, the path will be filled + * with this pattern, otherwise with the current fill color. Equivalent to the PDF "f" operator. + * @name fill + * @function + * @instance + * @param {PatternData=} pattern If provided the path will be filled with this pattern + * @returns {jsPDF} + * @memberof jsPDF# + */ + API.fill = function (pattern) { + fillWithOptionalPattern("f", pattern); + return this; + }; + + /** + * Fill the current path using the even-odd rule. The PDF f* operator. + * @see API.fill + * @name fillEvenOdd + * @function + * @instance + * @param {PatternData=} pattern If provided the path will be filled with this pattern + * @returns {jsPDF} + * @memberof jsPDF# + */ + API.fillEvenOdd = function (pattern) { + fillWithOptionalPattern("f*", pattern); + return this; + }; + + /** + * Fill using the nonzero winding number rule and then stroke the current Path. The PDF "B" operator. + * @see API.fill + * @name fillStroke + * @function + * @instance + * @param {PatternData=} pattern If provided the path will be stroked with this pattern + * @returns {jsPDF} + * @memberof jsPDF# + */ + API.fillStroke = function (pattern) { + fillWithOptionalPattern("B", pattern); + return this; + }; + + /** + * Fill using the even-odd rule and then stroke the current Path. The PDF "B" operator. + * @see API.fill + * @name fillStrokeEvenOdd + * @function + * @instance + * @param {PatternData=} pattern If provided the path will be fill-stroked with this pattern + * @returns {jsPDF} + * @memberof jsPDF# + */ + API.fillStrokeEvenOdd = function (pattern) { + fillWithOptionalPattern("B*", pattern); + return this; + }; + var fillWithOptionalPattern = function fillWithOptionalPattern(style, pattern) { + if (_typeof(pattern) === "object") { + fillWithPattern(pattern, style); + } else { + out(style); + } + }; + var putStyle = function putStyle(style) { + if (style === null || apiMode === ApiMode.ADVANCED && style === undefined) { + return; + } + style = getStyle(style); + + // stroking / filling / both the path + out(style); + }; + function cloneTilingPattern(patternKey, boundingBox, xStep, yStep, matrix) { + var clone = new TilingPattern(boundingBox || this.boundingBox, xStep || this.xStep, yStep || this.yStep, this.gState, matrix || this.matrix); + clone.stream = this.stream; + var key = patternKey + "$$" + this.cloneIndex++ + "$$"; + addPattern(key, clone); + return clone; + } + var fillWithPattern = function fillWithPattern(patternData, style) { + var patternId = patternMap[patternData.key]; + var pattern = patterns[patternId]; + if (pattern instanceof ShadingPattern) { + out("q"); + out(clipRuleFromStyle(style)); + if (pattern.gState) { + API.setGState(pattern.gState); + } + out(patternData.matrix.toString() + " cm"); + out("/" + patternId + " sh"); + out("Q"); + } else if (pattern instanceof TilingPattern) { + // pdf draws patterns starting at the bottom left corner and they are not affected by the global transformation, + // so we must flip them + var matrix = new Matrix(1, 0, 0, -1, 0, getPageHeight()); + if (patternData.matrix) { + matrix = matrix.multiply(patternData.matrix || identityMatrix); + // we cannot apply a matrix to the pattern on use so we must abuse the pattern matrix and create new instances + // for each use + patternId = cloneTilingPattern.call(pattern, patternData.key, patternData.boundingBox, patternData.xStep, patternData.yStep, matrix).id; + } + out("q"); + out("/Pattern cs"); + out("/" + patternId + " scn"); + if (pattern.gState) { + API.setGState(pattern.gState); + } + out(style); + out("Q"); + } + }; + var clipRuleFromStyle = function clipRuleFromStyle(style) { + switch (style) { + case "f": + case "F": + return "W n"; + case "f*": + return "W* n"; + case "B": + return "W S"; + case "B*": + return "W* S"; + + // these two are for compatibility reasons (in the past, calling any primitive method with a shading pattern + // and "n"/"S" as style would still fill/fill and stroke the path) + case "S": + return "W S"; + case "n": + return "W n"; + } + }; + + /** + * Begin a new subpath by moving the current point to coordinates (x, y). The PDF "m" operator. + * @param {number} x + * @param {number} y + * @name moveTo + * @function + * @instance + * @memberof jsPDF# + * @returns {jsPDF} + */ + var moveTo = API.moveTo = function (x, y) { + out(hpf(scale(x)) + " " + hpf(transformScaleY(y)) + " m"); + return this; + }; + + /** + * Append a straight line segment from the current point to the point (x, y). The PDF "l" operator. + * @param {number} x + * @param {number} y + * @memberof jsPDF# + * @name lineTo + * @function + * @instance + * @memberof jsPDF# + * @returns {jsPDF} + */ + var lineTo = API.lineTo = function (x, y) { + out(hpf(scale(x)) + " " + hpf(transformScaleY(y)) + " l"); + return this; + }; + + /** + * Append a cubic Bézier curve to the current path. The curve shall extend from the current point to the point + * (x3, y3), using (x1, y1) and (x2, y2) as Bézier control points. The new current point shall be (x3, x3). + * @param {number} x1 + * @param {number} y1 + * @param {number} x2 + * @param {number} y2 + * @param {number} x3 + * @param {number} y3 + * @memberof jsPDF# + * @name curveTo + * @function + * @instance + * @memberof jsPDF# + * @returns {jsPDF} + */ + var curveTo = API.curveTo = function (x1, y1, x2, y2, x3, y3) { + out([hpf(scale(x1)), hpf(transformScaleY(y1)), hpf(scale(x2)), hpf(transformScaleY(y2)), hpf(scale(x3)), hpf(transformScaleY(y3)), "c"].join(" ")); + return this; + }; + + /** + * Draw a line on the current page. + * + * @name line + * @function + * @instance + * @param {number} x1 + * @param {number} y1 + * @param {number} x2 + * @param {number} y2 + * @param {string} style A string specifying the painting style or null. Valid styles include: 'S' [default] - stroke, 'F' - fill, and 'DF' (or 'FD') - fill then stroke. A null value postpones setting the style so that a shape may be composed using multiple method calls. The last drawing method call used to define the shape should not have a null style argument. default: 'S' + * @returns {jsPDF} + * @memberof jsPDF# + */ + API.__private__.line = API.line = function (x1, y1, x2, y2, style) { + if (isNaN(x1) || isNaN(y1) || isNaN(x2) || isNaN(y2) || !isValidStyle(style)) { + throw new Error("Invalid arguments passed to jsPDF.line"); + } + if (apiMode === ApiMode.COMPAT) { + return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1], style || "S"); + } else { + return this.lines([[x2 - x1, y2 - y1]], x1, y1, [1, 1]).stroke(); + } + }; + + /** + * @typedef {Object} PatternData + * {Matrix|undefined} matrix + * {Number|undefined} xStep + * {Number|undefined} yStep + * {Array.|undefined} boundingBox + */ + + /** + * Adds series of curves (straight lines or cubic bezier curves) to canvas, starting at `x`, `y` coordinates. + * All data points in `lines` are relative to last line origin. + * `x`, `y` become x1,y1 for first line / curve in the set. + * For lines you only need to specify [x2, y2] - (ending point) vector against x1, y1 starting point. + * For bezier curves you need to specify [x2,y2,x3,y3,x4,y4] - vectors to control points 1, 2, ending point. All vectors are against the start of the curve - x1,y1. + * + * @example .lines([[2,2],[-2,2],[1,1,2,2,3,3],[2,1]], 212,110, [1,1], 'F', false) // line, line, bezier curve, line + * @param {Array} lines Array of *vector* shifts as pairs (lines) or sextets (cubic bezier curves). + * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {number} scale (Defaults to [1.0,1.0]) x,y Scaling factor for all vectors. Elements can be any floating number Sub-one makes drawing smaller. Over-one grows the drawing. Negative flips the direction. + * @param {string=} style A string specifying the painting style or null. Valid styles include: + * 'S' [default] - stroke, + * 'F' - fill, + * and 'DF' (or 'FD') - fill then stroke. + * In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple + * method calls. The last drawing method call used to define the shape should not have a null style argument. + * + * In "advanced" API mode this parameter is deprecated. + * @param {Boolean=} closed If true, the path is closed with a straight line from the end of the last curve to the starting point. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name lines + */ + API.__private__.lines = API.lines = function (lines, x, y, scale, style, closed) { + var scalex, scaley, i, l, leg, x2, y2, x3, y3, x4, y4, tmp; + + // Pre-August-2012 the order of arguments was function(x, y, lines, scale, style) + // in effort to make all calls have similar signature like + // function(content, coordinateX, coordinateY , miscellaneous) + // this method had its args flipped. + // code below allows backward compatibility with old arg order. + if (typeof lines === "number") { + tmp = y; + y = x; + x = lines; + lines = tmp; + } + scale = scale || [1, 1]; + closed = closed || false; + if (isNaN(x) || isNaN(y) || !Array.isArray(lines) || !Array.isArray(scale) || !isValidStyle(style) || typeof closed !== "boolean") { + throw new Error("Invalid arguments passed to jsPDF.lines"); + } + + // starting point + moveTo(x, y); + scalex = scale[0]; + scaley = scale[1]; + l = lines.length; + //, x2, y2 // bezier only. In page default measurement "units", *after* scaling + //, x3, y3 // bezier only. In page default measurement "units", *after* scaling + // ending point for all, lines and bezier. . In page default measurement "units", *after* scaling + x4 = x; // last / ending point = starting point for first item. + y4 = y; // last / ending point = starting point for first item. + + for (i = 0; i < l; i++) { + leg = lines[i]; + if (leg.length === 2) { + // simple line + x4 = leg[0] * scalex + x4; // here last x4 was prior ending point + y4 = leg[1] * scaley + y4; // here last y4 was prior ending point + lineTo(x4, y4); + } else { + // bezier curve + x2 = leg[0] * scalex + x4; // here last x4 is prior ending point + y2 = leg[1] * scaley + y4; // here last y4 is prior ending point + x3 = leg[2] * scalex + x4; // here last x4 is prior ending point + y3 = leg[3] * scaley + y4; // here last y4 is prior ending point + x4 = leg[4] * scalex + x4; // here last x4 was prior ending point + y4 = leg[5] * scaley + y4; // here last y4 was prior ending point + curveTo(x2, y2, x3, y3, x4, y4); + } + } + if (closed) { + close(); + } + putStyle(style); + return this; + }; + + /** + * Similar to {@link API.lines} but all coordinates are interpreted as absolute coordinates instead of relative. + * @param {Array} lines An array of {op: operator, c: coordinates} object, where op is one of "m" (move to), "l" (line to) + * "c" (cubic bezier curve) and "h" (close (sub)path)). c is an array of coordinates. "m" and "l" expect two, "c" + * six and "h" an empty array (or undefined). + * @function + * @returns {jsPDF} + * @memberof jsPDF# + * @name path + */ + API.path = function (lines) { + for (var i = 0; i < lines.length; i++) { + var leg = lines[i]; + var coords = leg.c; + switch (leg.op) { + case "m": + moveTo(coords[0], coords[1]); + break; + case "l": + lineTo(coords[0], coords[1]); + break; + case "c": + curveTo.apply(this, coords); + break; + case "h": + close(); + break; + } + } + return this; + }; + + /** + * Adds a rectangle to PDF. + * + * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {number} w Width (in units declared at inception of PDF document) + * @param {number} h Height (in units declared at inception of PDF document) + * @param {string=} style A string specifying the painting style or null. Valid styles include: + * 'S' [default] - stroke, + * 'F' - fill, + * and 'DF' (or 'FD') - fill then stroke. + * In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple + * method calls. The last drawing method call used to define the shape should not have a null style argument. + * + * In "advanced" API mode this parameter is deprecated. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name rect + */ + API.__private__.rect = API.rect = function (x, y, w, h, style) { + if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || !isValidStyle(style)) { + throw new Error("Invalid arguments passed to jsPDF.rect"); + } + if (apiMode === ApiMode.COMPAT) { + h = -h; + } + out([hpf(scale(x)), hpf(transformScaleY(y)), hpf(scale(w)), hpf(scale(h)), "re"].join(" ")); + putStyle(style); + return this; + }; + + /** + * Adds a triangle to PDF. + * + * @param {number} x1 Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y1 Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {number} x2 Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y2 Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {number} x3 Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y3 Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {string=} style A string specifying the painting style or null. Valid styles include: + * 'S' [default] - stroke, + * 'F' - fill, + * and 'DF' (or 'FD') - fill then stroke. + * In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple + * method calls. The last drawing method call used to define the shape should not have a null style argument. + * + * In "advanced" API mode this parameter is deprecated. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name triangle + */ + API.__private__.triangle = API.triangle = function (x1, y1, x2, y2, x3, y3, style) { + if (isNaN(x1) || isNaN(y1) || isNaN(x2) || isNaN(y2) || isNaN(x3) || isNaN(y3) || !isValidStyle(style)) { + throw new Error("Invalid arguments passed to jsPDF.triangle"); + } + this.lines([[x2 - x1, y2 - y1], + // vector to point 2 + [x3 - x2, y3 - y2], + // vector to point 3 + [x1 - x3, y1 - y3] // closing vector back to point 1 + ], x1, y1, + // start of path + [1, 1], style, true); + return this; + }; + + /** + * Adds a rectangle with rounded corners to PDF. + * + * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {number} w Width (in units declared at inception of PDF document) + * @param {number} h Height (in units declared at inception of PDF document) + * @param {number} rx Radius along x axis (in units declared at inception of PDF document) + * @param {number} ry Radius along y axis (in units declared at inception of PDF document) + * @param {string=} style A string specifying the painting style or null. Valid styles include: + * 'S' [default] - stroke, + * 'F' - fill, + * and 'DF' (or 'FD') - fill then stroke. + * In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple + * method calls. The last drawing method call used to define the shape should not have a null style argument. + * + * In "advanced" API mode this parameter is deprecated. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name roundedRect + */ + API.__private__.roundedRect = API.roundedRect = function (x, y, w, h, rx, ry, style) { + if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h) || isNaN(rx) || isNaN(ry) || !isValidStyle(style)) { + throw new Error("Invalid arguments passed to jsPDF.roundedRect"); + } + var MyArc = 4 / 3 * (Math.SQRT2 - 1); + rx = Math.min(rx, w * 0.5); + ry = Math.min(ry, h * 0.5); + this.lines([[w - 2 * rx, 0], [rx * MyArc, 0, rx, ry - ry * MyArc, rx, ry], [0, h - 2 * ry], [0, ry * MyArc, -(rx * MyArc), ry, -rx, ry], [-w + 2 * rx, 0], [-(rx * MyArc), 0, -rx, -(ry * MyArc), -rx, -ry], [0, -h + 2 * ry], [0, -(ry * MyArc), rx * MyArc, -ry, rx, -ry]], x + rx, y, + // start of path + [1, 1], style, true); + return this; + }; + + /** + * Adds an ellipse to PDF. + * + * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {number} rx Radius along x axis (in units declared at inception of PDF document) + * @param {number} ry Radius along y axis (in units declared at inception of PDF document) + * @param {string=} style A string specifying the painting style or null. Valid styles include: + * 'S' [default] - stroke, + * 'F' - fill, + * and 'DF' (or 'FD') - fill then stroke. + * In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple + * method calls. The last drawing method call used to define the shape should not have a null style argument. + * + * In "advanced" API mode this parameter is deprecated. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name ellipse + */ + API.__private__.ellipse = API.ellipse = function (x, y, rx, ry, style) { + if (isNaN(x) || isNaN(y) || isNaN(rx) || isNaN(ry) || !isValidStyle(style)) { + throw new Error("Invalid arguments passed to jsPDF.ellipse"); + } + var lx = 4 / 3 * (Math.SQRT2 - 1) * rx, + ly = 4 / 3 * (Math.SQRT2 - 1) * ry; + moveTo(x + rx, y); + curveTo(x + rx, y - ly, x + lx, y - ry, x, y - ry); + curveTo(x - lx, y - ry, x - rx, y - ly, x - rx, y); + curveTo(x - rx, y + ly, x - lx, y + ry, x, y + ry); + curveTo(x + lx, y + ry, x + rx, y + ly, x + rx, y); + putStyle(style); + return this; + }; + + /** + * Adds an circle to PDF. + * + * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {number} r Radius (in units declared at inception of PDF document) + * @param {string=} style A string specifying the painting style or null. Valid styles include: + * 'S' [default] - stroke, + * 'F' - fill, + * and 'DF' (or 'FD') - fill then stroke. + * In "compat" API mode, a null value postpones setting the style so that a shape may be composed using multiple + * method calls. The last drawing method call used to define the shape should not have a null style argument. + * + * In "advanced" API mode this parameter is deprecated. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name circle + */ + API.__private__.circle = API.circle = function (x, y, r, style) { + if (isNaN(x) || isNaN(y) || isNaN(r) || !isValidStyle(style)) { + throw new Error("Invalid arguments passed to jsPDF.circle"); + } + return this.ellipse(x, y, r, r, style); + }; + + /** + * Sets text font face, variant for upcoming text elements. + * See output of jsPDF.getFontList() for possible font names, styles. + * + * @param {string} fontName Font name or family. Example: "times". + * @param {string} fontStyle Font style or variant. Example: "italic". + * @param {number | string} fontWeight Weight of the Font. Example: "normal" | 400 + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setFont + */ + API.setFont = function (fontName, fontStyle, fontWeight) { + if (fontWeight) { + fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight); + } + activeFontKey = getFont(fontName, fontStyle, { + disableWarning: false + }); + return this; + }; + + /** + * Gets text font face, variant for upcoming text elements. + * + * @function + * @instance + * @returns {Object} + * @memberof jsPDF# + * @name getFont + */ + var getFontEntry = API.__private__.getFont = API.getFont = function () { + return fonts[getFont.apply(API, arguments)]; + }; + + /** + * Returns an object - a tree of fontName to fontStyle relationships available to + * active PDF document. + * + * @public + * @function + * @instance + * @returns {Object} Like {'times':['normal', 'italic', ... ], 'arial':['normal', 'bold', ... ], ... } + * @memberof jsPDF# + * @name getFontList + */ + API.__private__.getFontList = API.getFontList = function () { + var list = {}, + fontName, + fontStyle; + for (fontName in fontmap) { + if (fontmap.hasOwnProperty(fontName)) { + list[fontName] = []; + for (fontStyle in fontmap[fontName]) { + if (fontmap[fontName].hasOwnProperty(fontStyle)) { + list[fontName].push(fontStyle); + } + } + } + } + return list; + }; + + /** + * Add a custom font to the current instance. + * + * @param {string} postScriptName PDF specification full name for the font. + * @param {string} id PDF-document-instance-specific label assinged to the font. + * @param {string} fontStyle Style of the Font. + * @param {number | string} fontWeight Weight of the Font. + * @param {Object} encoding Encoding_name-to-Font_metrics_object mapping. + * @function + * @instance + * @memberof jsPDF# + * @name addFont + * @returns {string} fontId + */ + API.addFont = function (postScriptName, fontName, fontStyle, fontWeight, encoding) { + var encodingOptions = ["StandardEncoding", "MacRomanEncoding", "Identity-H", "WinAnsiEncoding"]; + if (arguments[3] && encodingOptions.indexOf(arguments[3]) !== -1) { + //IE 11 fix + encoding = arguments[3]; + } else if (arguments[3] && encodingOptions.indexOf(arguments[3]) == -1) { + fontStyle = combineFontStyleAndFontWeight(fontStyle, fontWeight); + } + encoding = encoding || "Identity-H"; + return addFont.call(this, postScriptName, fontName, fontStyle, encoding); + }; + var lineWidth = options.lineWidth || 0.200025; // 2mm + /** + * Gets the line width, default: 0.200025. + * + * @function + * @instance + * @returns {number} lineWidth + * @memberof jsPDF# + * @name getLineWidth + */ + var getLineWidth = API.__private__.getLineWidth = API.getLineWidth = function () { + return lineWidth; + }; + + /** + * Sets line width for upcoming lines. + * + * @param {number} width Line width (in units declared at inception of PDF document). + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setLineWidth + */ + var setLineWidth = API.__private__.setLineWidth = API.setLineWidth = function (width) { + lineWidth = width; + out(hpf(scale(width)) + " w"); + return this; + }; + + /** + * Sets the dash pattern for upcoming lines. + * + * To reset the settings simply call the method without any parameters. + * @param {Array} dashArray An array containing 0-2 numbers. The first number sets the length of the + * dashes, the second number the length of the gaps. If the second number is missing, the gaps are considered + * to be as long as the dashes. An empty array means solid, unbroken lines. + * @param {number} dashPhase The phase lines start with. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setLineDashPattern + */ + API.__private__.setLineDash = jsPDF.API.setLineDash = jsPDF.API.setLineDashPattern = function (dashArray, dashPhase) { + dashArray = dashArray || []; + dashPhase = dashPhase || 0; + if (isNaN(dashPhase) || !Array.isArray(dashArray)) { + throw new Error("Invalid arguments passed to jsPDF.setLineDash"); + } + dashArray = dashArray.map(function (x) { + return hpf(scale(x)); + }).join(" "); + dashPhase = hpf(scale(dashPhase)); + out("[" + dashArray + "] " + dashPhase + " d"); + return this; + }; + var lineHeightFactor; + var getLineHeight = API.__private__.getLineHeight = API.getLineHeight = function () { + return activeFontSize * lineHeightFactor; + }; + API.__private__.getLineHeight = API.getLineHeight = function () { + return activeFontSize * lineHeightFactor; + }; + + /** + * Sets the LineHeightFactor of proportion. + * + * @param {number} value LineHeightFactor value. Default: 1.15. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setLineHeightFactor + */ + var setLineHeightFactor = API.__private__.setLineHeightFactor = API.setLineHeightFactor = function (value) { + value = value || 1.15; + if (typeof value === "number") { + lineHeightFactor = value; + } + return this; + }; + + /** + * Gets the LineHeightFactor, default: 1.15. + * + * @function + * @instance + * @returns {number} lineHeightFactor + * @memberof jsPDF# + * @name getLineHeightFactor + */ + var getLineHeightFactor = API.__private__.getLineHeightFactor = API.getLineHeightFactor = function () { + return lineHeightFactor; + }; + setLineHeightFactor(options.lineHeight); + var getHorizontalCoordinate = API.__private__.getHorizontalCoordinate = function (value) { + return scale(value); + }; + var getVerticalCoordinate = API.__private__.getVerticalCoordinate = function (value) { + if (apiMode === ApiMode.ADVANCED) { + return value; + } else { + var pageHeight = pagesContext[currentPage].mediaBox.topRightY - pagesContext[currentPage].mediaBox.bottomLeftY; + return pageHeight - scale(value); + } + }; + var getHorizontalCoordinateString = API.__private__.getHorizontalCoordinateString = API.getHorizontalCoordinateString = function (value) { + return hpf(getHorizontalCoordinate(value)); + }; + var getVerticalCoordinateString = API.__private__.getVerticalCoordinateString = API.getVerticalCoordinateString = function (value) { + return hpf(getVerticalCoordinate(value)); + }; + var strokeColor = options.strokeColor || "0 G"; + + /** + * Gets the stroke color for upcoming elements. + * + * @function + * @instance + * @returns {string} colorAsHex + * @memberof jsPDF# + * @name getDrawColor + */ + API.__private__.getStrokeColor = API.getDrawColor = function () { + return decodeColorString(strokeColor); + }; + + /** + * Sets the stroke color for upcoming elements. + * + * Depending on the number of arguments given, Gray, RGB, or CMYK + * color space is implied. + * + * When only ch1 is given, "Gray" color space is implied and it + * must be a value in the range from 0.00 (solid black) to to 1.00 (white) + * if values are communicated as String types, or in range from 0 (black) + * to 255 (white) if communicated as Number type. + * The RGB-like 0-255 range is provided for backward compatibility. + * + * When only ch1,ch2,ch3 are given, "RGB" color space is implied and each + * value must be in the range from 0.00 (minimum intensity) to to 1.00 + * (max intensity) if values are communicated as String types, or + * from 0 (min intensity) to to 255 (max intensity) if values are communicated + * as Number types. + * The RGB-like 0-255 range is provided for backward compatibility. + * + * When ch1,ch2,ch3,ch4 are given, "CMYK" color space is implied and each + * value must be a in the range from 0.00 (0% concentration) to to + * 1.00 (100% concentration) + * + * Because JavaScript treats fixed point numbers badly (rounds to + * floating point nearest to binary representation) it is highly advised to + * communicate the fractional numbers as String types, not JavaScript Number type. + * + * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'. + * @param {Number} ch2 Color channel value. + * @param {Number} ch3 Color channel value. + * @param {Number} ch4 Color channel value. + * + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setDrawColor + */ + API.__private__.setStrokeColor = API.setDrawColor = function (ch1, ch2, ch3, ch4) { + var options = { + ch1: ch1, + ch2: ch2, + ch3: ch3, + ch4: ch4, + pdfColorType: "draw", + precision: 2 + }; + strokeColor = encodeColorString(options); + out(strokeColor); + return this; + }; + var fillColor = options.fillColor || "0 g"; + + /** + * Gets the fill color for upcoming elements. + * + * @function + * @instance + * @returns {string} colorAsHex + * @memberof jsPDF# + * @name getFillColor + */ + API.__private__.getFillColor = API.getFillColor = function () { + return decodeColorString(fillColor); + }; + + /** + * Sets the fill color for upcoming elements. + * + * Depending on the number of arguments given, Gray, RGB, or CMYK + * color space is implied. + * + * When only ch1 is given, "Gray" color space is implied and it + * must be a value in the range from 0.00 (solid black) to to 1.00 (white) + * if values are communicated as String types, or in range from 0 (black) + * to 255 (white) if communicated as Number type. + * The RGB-like 0-255 range is provided for backward compatibility. + * + * When only ch1,ch2,ch3 are given, "RGB" color space is implied and each + * value must be in the range from 0.00 (minimum intensity) to to 1.00 + * (max intensity) if values are communicated as String types, or + * from 0 (min intensity) to to 255 (max intensity) if values are communicated + * as Number types. + * The RGB-like 0-255 range is provided for backward compatibility. + * + * When ch1,ch2,ch3,ch4 are given, "CMYK" color space is implied and each + * value must be a in the range from 0.00 (0% concentration) to to + * 1.00 (100% concentration) + * + * Because JavaScript treats fixed point numbers badly (rounds to + * floating point nearest to binary representation) it is highly advised to + * communicate the fractional numbers as String types, not JavaScript Number type. + * + * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'. + * @param {Number} ch2 Color channel value. + * @param {Number} ch3 Color channel value. + * @param {Number} ch4 Color channel value. + * + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setFillColor + */ + API.__private__.setFillColor = API.setFillColor = function (ch1, ch2, ch3, ch4) { + var options = { + ch1: ch1, + ch2: ch2, + ch3: ch3, + ch4: ch4, + pdfColorType: "fill", + precision: 2 + }; + fillColor = encodeColorString(options); + out(fillColor); + return this; + }; + var textColor = options.textColor || "0 g"; + /** + * Gets the text color for upcoming elements. + * + * @function + * @instance + * @returns {string} colorAsHex + * @memberof jsPDF# + * @name getTextColor + */ + var getTextColor = API.__private__.getTextColor = API.getTextColor = function () { + return decodeColorString(textColor); + }; + /** + * Sets the text color for upcoming elements. + * + * Depending on the number of arguments given, Gray, RGB, or CMYK + * color space is implied. + * + * When only ch1 is given, "Gray" color space is implied and it + * must be a value in the range from 0.00 (solid black) to to 1.00 (white) + * if values are communicated as String types, or in range from 0 (black) + * to 255 (white) if communicated as Number type. + * The RGB-like 0-255 range is provided for backward compatibility. + * + * When only ch1,ch2,ch3 are given, "RGB" color space is implied and each + * value must be in the range from 0.00 (minimum intensity) to to 1.00 + * (max intensity) if values are communicated as String types, or + * from 0 (min intensity) to to 255 (max intensity) if values are communicated + * as Number types. + * The RGB-like 0-255 range is provided for backward compatibility. + * + * When ch1,ch2,ch3,ch4 are given, "CMYK" color space is implied and each + * value must be a in the range from 0.00 (0% concentration) to to + * 1.00 (100% concentration) + * + * Because JavaScript treats fixed point numbers badly (rounds to + * floating point nearest to binary representation) it is highly advised to + * communicate the fractional numbers as String types, not JavaScript Number type. + * + * @param {Number|String} ch1 Color channel value or {string} ch1 color value in hexadecimal, example: '#FFFFFF'. + * @param {Number} ch2 Color channel value. + * @param {Number} ch3 Color channel value. + * @param {Number} ch4 Color channel value. + * + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setTextColor + */ + API.__private__.setTextColor = API.setTextColor = function (ch1, ch2, ch3, ch4) { + var options = { + ch1: ch1, + ch2: ch2, + ch3: ch3, + ch4: ch4, + pdfColorType: "text", + precision: 3 + }; + textColor = encodeColorString(options); + return this; + }; + var activeCharSpace = options.charSpace; + + /** + * Get global value of CharSpace. + * + * @function + * @instance + * @returns {number} charSpace + * @memberof jsPDF# + * @name getCharSpace + */ + var getCharSpace = API.__private__.getCharSpace = API.getCharSpace = function () { + return parseFloat(activeCharSpace || 0); + }; + + /** + * Set global value of CharSpace. + * + * @param {number} charSpace + * @function + * @instance + * @returns {jsPDF} jsPDF-instance + * @memberof jsPDF# + * @name setCharSpace + */ + API.__private__.setCharSpace = API.setCharSpace = function (charSpace) { + if (isNaN(charSpace)) { + throw new Error("Invalid argument passed to jsPDF.setCharSpace"); + } + activeCharSpace = charSpace; + return this; + }; + var lineCapID = 0; + /** + * Is an Object providing a mapping from human-readable to + * integer flag values designating the varieties of line cap + * and join styles. + * + * @memberof jsPDF# + * @name CapJoinStyles + */ + API.CapJoinStyles = { + 0: 0, + butt: 0, + but: 0, + miter: 0, + 1: 1, + round: 1, + rounded: 1, + circle: 1, + 2: 2, + projecting: 2, + project: 2, + square: 2, + bevel: 2 + }; + + /** + * Sets the line cap styles. + * See {jsPDF.CapJoinStyles} for variants. + * + * @param {String|Number} style A string or number identifying the type of line cap. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setLineCap + */ + API.__private__.setLineCap = API.setLineCap = function (style) { + var id = API.CapJoinStyles[style]; + if (id === undefined) { + throw new Error("Line cap style of '" + style + "' is not recognized. See or extend .CapJoinStyles property for valid styles"); + } + lineCapID = id; + out(id + " J"); + return this; + }; + var lineJoinID = 0; + /** + * Sets the line join styles. + * See {jsPDF.CapJoinStyles} for variants. + * + * @param {String|Number} style A string or number identifying the type of line join. + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setLineJoin + */ + API.__private__.setLineJoin = API.setLineJoin = function (style) { + var id = API.CapJoinStyles[style]; + if (id === undefined) { + throw new Error("Line join style of '" + style + "' is not recognized. See or extend .CapJoinStyles property for valid styles"); + } + lineJoinID = id; + out(id + " j"); + return this; + }; + /** + * Sets the miterLimit property, which effects the maximum miter length. + * + * @param {number} length The length of the miter + * @function + * @instance + * @returns {jsPDF} + * @memberof jsPDF# + * @name setLineMiterLimit + */ + API.__private__.setLineMiterLimit = API.__private__.setMiterLimit = API.setLineMiterLimit = API.setMiterLimit = function (length) { + length = length || 0; + if (isNaN(length)) { + throw new Error("Invalid argument passed to jsPDF.setLineMiterLimit"); + } + out(hpf(scale(length)) + " M"); + return this; + }; + + /** + * An object representing a pdf graphics state. + * @class GState + */ + + /** + * + * @param parameters A parameter object that contains all properties this graphics state wants to set. + * Supported are: opacity, stroke-opacity + * @constructor + */ + API.GState = GState; + + /** + * Sets a either previously added {@link GState} (via {@link addGState}) or a new {@link GState}. + * @param {String|GState} gState If type is string, a previously added GState is used, if type is GState + * it will be added before use. + * @function + * @returns {jsPDF} + * @memberof jsPDF# + * @name setGState + */ + API.setGState = function (gState) { + if (typeof gState === "string") { + gState = gStates[gStatesMap[gState]]; + } else { + gState = addGState(null, gState); + } + if (!gState.equals(activeGState)) { + out("/" + gState.id + " gs"); + activeGState = gState; + } + }; + + /** + * Adds a new Graphics State. Duplicates are automatically eliminated. + * @param {String} key Might also be null, if no later reference to this gState is needed + * @param {Object} gState The gState object + */ + var addGState = function addGState(key, gState) { + // only add it if it is not already present (the keys provided by the user must be unique!) + if (key && gStatesMap[key]) return; + var duplicate = false; + for (var s in gStates) { + if (gStates.hasOwnProperty(s)) { + if (gStates[s].equals(gState)) { + duplicate = true; + break; + } + } + } + if (duplicate) { + gState = gStates[s]; + } else { + var gStateKey = "GS" + (Object.keys(gStates).length + 1).toString(10); + gStates[gStateKey] = gState; + gState.id = gStateKey; + } + + // several user keys may point to the same GState object + key && (gStatesMap[key] = gState.id); + events.publish("addGState", gState); + return gState; + }; + + /** + * Adds a new {@link GState} for later use. See {@link setGState}. + * @param {String} key + * @param {GState} gState + * @function + * @instance + * @returns {jsPDF} + * + * @memberof jsPDF# + * @name addGState + */ + API.addGState = function (key, gState) { + addGState(key, gState); + return this; + }; + + /** + * Saves the current graphics state ("pushes it on the stack"). It can be restored by {@link restoreGraphicsState} + * later. Here, the general pdf graphics state is meant, also including the current transformation matrix, + * fill and stroke colors etc. + * @function + * @returns {jsPDF} + * @memberof jsPDF# + * @name saveGraphicsState + */ + API.saveGraphicsState = function () { + out("q"); + // as we cannot set font key and size independently we must keep track of both + fontStateStack.push({ + key: activeFontKey, + size: activeFontSize, + color: textColor + }); + return this; + }; + + /** + * Restores a previously saved graphics state saved by {@link saveGraphicsState} ("pops the stack"). + * @function + * @returns {jsPDF} + * @memberof jsPDF# + * @name restoreGraphicsState + */ + API.restoreGraphicsState = function () { + out("Q"); + + // restore previous font state + var fontState = fontStateStack.pop(); + activeFontKey = fontState.key; + activeFontSize = fontState.size; + textColor = fontState.color; + activeGState = null; + return this; + }; + + /** + * Appends this matrix to the left of all previously applied matrices. + * + * @param {Matrix} matrix + * @function + * @returns {jsPDF} + * @memberof jsPDF# + * @name setCurrentTransformationMatrix + */ + API.setCurrentTransformationMatrix = function (matrix) { + out(matrix.toString() + " cm"); + return this; + }; + + /** + * Inserts a debug comment into the generated pdf. + * @function + * @instance + * @param {String} text + * @returns {jsPDF} + * @memberof jsPDF# + * @name comment + */ + API.comment = function (text) { + out("#" + text); + return this; + }; + + /** + * Point + */ + var Point = function Point(x, y) { + var _x = x || 0; + Object.defineProperty(this, "x", { + enumerable: true, + get: function get() { + return _x; + }, + set: function set(value) { + if (!isNaN(value)) { + _x = parseFloat(value); + } + } + }); + var _y = y || 0; + Object.defineProperty(this, "y", { + enumerable: true, + get: function get() { + return _y; + }, + set: function set(value) { + if (!isNaN(value)) { + _y = parseFloat(value); + } + } + }); + var _type = "pt"; + Object.defineProperty(this, "type", { + enumerable: true, + get: function get() { + return _type; + }, + set: function set(value) { + _type = value.toString(); + } + }); + return this; + }; + + /** + * Rectangle + */ + var Rectangle = function Rectangle(x, y, w, h) { + Point.call(this, x, y); + this.type = "rect"; + var _w = w || 0; + Object.defineProperty(this, "w", { + enumerable: true, + get: function get() { + return _w; + }, + set: function set(value) { + if (!isNaN(value)) { + _w = parseFloat(value); + } + } + }); + var _h = h || 0; + Object.defineProperty(this, "h", { + enumerable: true, + get: function get() { + return _h; + }, + set: function set(value) { + if (!isNaN(value)) { + _h = parseFloat(value); + } + } + }); + return this; + }; + + /** + * FormObject/RenderTarget + */ + + var RenderTarget = function RenderTarget() { + this.page = page; + this.currentPage = currentPage; + this.pages = pages.slice(0); + this.pagesContext = pagesContext.slice(0); + this.x = pageX; + this.y = pageY; + this.matrix = pageMatrix; + this.width = getUnscaledPageWidth(currentPage); + this.height = getUnscaledPageHeight(currentPage); + this.outputDestination = outputDestination; + this.id = ""; // set by endFormObject() + this.objectNumber = -1; // will be set by putXObject() + }; + RenderTarget.prototype.restore = function () { + page = this.page; + currentPage = this.currentPage; + pagesContext = this.pagesContext; + pages = this.pages; + pageX = this.x; + pageY = this.y; + pageMatrix = this.matrix; + setPageWidthWithoutScaling(currentPage, this.width); + setPageHeightWithoutScaling(currentPage, this.height); + outputDestination = this.outputDestination; + }; + var beginNewRenderTarget = function beginNewRenderTarget(x, y, width, height, matrix) { + // save current state + renderTargetStack.push(new RenderTarget()); + + // clear pages + page = currentPage = 0; + pages = []; + pageX = x; + pageY = y; + pageMatrix = matrix; + beginPage([width, height]); + }; + var endFormObject = function endFormObject(key) { + // only add it if it is not already present (the keys provided by the user must be unique!) + if (renderTargetMap[key]) { + renderTargetStack.pop().restore(); + return; + } + + // save the created xObject + var newXObject = new RenderTarget(); + var xObjectId = "Xo" + (Object.keys(renderTargets).length + 1).toString(10); + newXObject.id = xObjectId; + renderTargetMap[key] = xObjectId; + renderTargets[xObjectId] = newXObject; + events.publish("addFormObject", newXObject); + + // restore state from stack + renderTargetStack.pop().restore(); + }; + + /** + * Starts a new pdf form object, which means that all consequent draw calls target a new independent object + * until {@link endFormObject} is called. The created object can be referenced and drawn later using + * {@link doFormObject}. Nested form objects are possible. + * x, y, width, height set the bounding box that is used to clip the content. + * + * @param {number} x + * @param {number} y + * @param {number} width + * @param {number} height + * @param {Matrix} matrix The matrix that will be applied to convert the form objects coordinate system to + * the parent's. + * @function + * @returns {jsPDF} + * @memberof jsPDF# + * @name beginFormObject + */ + API.beginFormObject = function (x, y, width, height, matrix) { + // The user can set the output target to a new form object. Nested form objects are possible. + // Currently, they use the resource dictionary of the surrounding stream. This should be changed, as + // the PDF-Spec states: + // "In PDF 1.2 and later versions, form XObjects may be independent of the content streams in which + // they appear, and this is strongly recommended although not requiredIn PDF 1.2 and later versions, + // form XObjects may be independent of the content streams in which they appear, and this is strongly + // recommended although not required" + beginNewRenderTarget(x, y, width, height, matrix); + return this; + }; + + /** + * Completes and saves the form object. + * @param {String} key The key by which this form object can be referenced. + * @function + * @returns {jsPDF} + * @memberof jsPDF# + * @name endFormObject + */ + API.endFormObject = function (key) { + endFormObject(key); + return this; + }; + + /** + * Draws the specified form object by referencing to the respective pdf XObject created with + * {@link API.beginFormObject} and {@link endFormObject}. + * The location is determined by matrix. + * + * @param {String} key The key to the form object. + * @param {Matrix} matrix The matrix applied before drawing the form object. + * @function + * @returns {jsPDF} + * @memberof jsPDF# + * @name doFormObject + */ + API.doFormObject = function (key, matrix) { + var xObject = renderTargets[renderTargetMap[key]]; + out("q"); + out(matrix.toString() + " cm"); + out("/" + xObject.id + " Do"); + out("Q"); + return this; + }; + + /** + * Returns the form object specified by key. + * @param key {String} + * @returns {{x: number, y: number, width: number, height: number, matrix: Matrix}} + * @function + * @returns {jsPDF} + * @memberof jsPDF# + * @name getFormObject + */ + API.getFormObject = function (key) { + var xObject = renderTargets[renderTargetMap[key]]; + return { + x: xObject.x, + y: xObject.y, + width: xObject.width, + height: xObject.height, + matrix: xObject.matrix + }; + }; + + /** + * Saves as PDF document. An alias of jsPDF.output('save', 'filename.pdf'). + * Uses FileSaver.js-method saveAs. + * + * @memberof jsPDF# + * @name save + * @function + * @instance + * @param {string} filename The filename including extension. + * @param {Object} options An Object with additional options, possible options: 'returnPromise'. + * @returns {jsPDF|Promise} jsPDF-instance */ + API.save = function (filename, options) { + filename = filename || "generated.pdf"; + options = options || {}; + options.returnPromise = options.returnPromise || false; + if (options.returnPromise === false) { + saveAs(getBlob(buildDocument()), filename); + if (typeof saveAs.unload === "function") { + if (globalObject.setTimeout) { + setTimeout(saveAs.unload, 911); + } + } + return this; + } else { + return new Promise(function (resolve, reject) { + try { + var result = saveAs(getBlob(buildDocument()), filename); + if (typeof saveAs.unload === "function") { + if (globalObject.setTimeout) { + setTimeout(saveAs.unload, 911); + } + } + resolve(result); + } catch (e) { + reject(e.message); + } + }); + } + }; + + // applying plugins (more methods) ON TOP of built-in API. + // this is intentional as we allow plugins to override + // built-ins + for (var plugin in jsPDF.API) { + if (jsPDF.API.hasOwnProperty(plugin)) { + if (plugin === "events" && jsPDF.API.events.length) { + (function (events, newEvents) { + // jsPDF.API.events is a JS Array of Arrays + // where each Array is a pair of event name, handler + // Events were added by plugins to the jsPDF instantiator. + // These are always added to the new instance and some ran + // during instantiation. + var eventname, handler_and_args, i; + for (i = newEvents.length - 1; i !== -1; i--) { + // subscribe takes 3 args: 'topic', function, runonce_flag + // if undefined, runonce is false. + // users can attach callback directly, + // or they can attach an array with [callback, runonce_flag] + // that's what the "apply" magic is for below. + eventname = newEvents[i][0]; + handler_and_args = newEvents[i][1]; + events.subscribe.apply(events, [eventname].concat(typeof handler_and_args === "function" ? [handler_and_args] : handler_and_args)); + } + })(events, jsPDF.API.events); + } else { + API[plugin] = jsPDF.API[plugin]; + } + } + } + function getUnscaledPageWidth(pageNumber) { + return pagesContext[pageNumber].mediaBox.topRightX - pagesContext[pageNumber].mediaBox.bottomLeftX; + } + function setPageWidthWithoutScaling(pageNumber, value) { + pagesContext[pageNumber].mediaBox.topRightX = value + pagesContext[pageNumber].mediaBox.bottomLeftX; + } + function getUnscaledPageHeight(pageNumber) { + return pagesContext[pageNumber].mediaBox.topRightY - pagesContext[pageNumber].mediaBox.bottomLeftY; + } + function setPageHeightWithoutScaling(pageNumber, value) { + pagesContext[pageNumber].mediaBox.topRightY = value + pagesContext[pageNumber].mediaBox.bottomLeftY; + } + var getPageWidth = API.getPageWidth = function (pageNumber) { + pageNumber = pageNumber || currentPage; + return getUnscaledPageWidth(pageNumber) / scaleFactor; + }; + var setPageWidth = API.setPageWidth = function (pageNumber, value) { + setPageWidthWithoutScaling(pageNumber, value * scaleFactor); + }; + var getPageHeight = API.getPageHeight = function (pageNumber) { + pageNumber = pageNumber || currentPage; + return getUnscaledPageHeight(pageNumber) / scaleFactor; + }; + var setPageHeight = API.setPageHeight = function (pageNumber, value) { + setPageHeightWithoutScaling(pageNumber, value * scaleFactor); + }; + + /** + * Object exposing internal API to plugins + * @public + * @ignore + */ + API.internal = { + pdfEscape: pdfEscape, + getStyle: getStyle, + getFont: getFontEntry, + getFontSize: getFontSize, + getCharSpace: getCharSpace, + getTextColor: getTextColor, + getLineHeight: getLineHeight, + getLineHeightFactor: getLineHeightFactor, + getLineWidth: getLineWidth, + write: write, + getHorizontalCoordinate: getHorizontalCoordinate, + getVerticalCoordinate: getVerticalCoordinate, + getCoordinateString: getHorizontalCoordinateString, + getVerticalCoordinateString: getVerticalCoordinateString, + collections: {}, + newObject: newObject, + newAdditionalObject: newAdditionalObject, + newObjectDeferred: newObjectDeferred, + newObjectDeferredBegin: newObjectDeferredBegin, + getFilters: getFilters, + putStream: putStream, + events: events, + scaleFactor: scaleFactor, + pageSize: { + getWidth: function getWidth() { + return getPageWidth(currentPage); + }, + setWidth: function setWidth(value) { + setPageWidth(currentPage, value); + }, + getHeight: function getHeight() { + return getPageHeight(currentPage); + }, + setHeight: function setHeight(value) { + setPageHeight(currentPage, value); + } + }, + encryptionOptions: encryptionOptions, + encryption: encryption, + getEncryptor: getEncryptor, + output: output, + getNumberOfPages: getNumberOfPages, + pages: pages, + out: out, + f2: f2, + f3: f3, + getPageInfo: getPageInfo, + getPageInfoByObjId: getPageInfoByObjId, + getCurrentPageInfo: getCurrentPageInfo, + getPDFVersion: getPdfVersion, + Point: Point, + Rectangle: Rectangle, + Matrix: Matrix, + hasHotfix: hasHotfix //Expose the hasHotfix check so plugins can also check them. + }; + Object.defineProperty(API.internal.pageSize, "width", { + get: function get() { + return getPageWidth(currentPage); + }, + set: function set(value) { + setPageWidth(currentPage, value); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(API.internal.pageSize, "height", { + get: function get() { + return getPageHeight(currentPage); + }, + set: function set(value) { + setPageHeight(currentPage, value); + }, + enumerable: true, + configurable: true + }); + + ////////////////////////////////////////////////////// + // continuing initialization of jsPDF Document object + ////////////////////////////////////////////////////// + // Add the first page automatically + addFonts.call(API, standardFonts); + activeFontKey = "F1"; + _addPage(format, orientation); + events.publish("initialized"); + return API; + } + + /** + * jsPDF.API is a STATIC property of jsPDF class. + * jsPDF.API is an object you can add methods and properties to. + * The methods / properties you add will show up in new jsPDF objects. + * + * One property is prepopulated. It is the 'events' Object. Plugin authors can add topics, + * callbacks to this object. These will be reassigned to all new instances of jsPDF. + * + * @static + * @public + * @memberof jsPDF# + * @name API + * + * @example + * jsPDF.API.mymethod = function(){ + * // 'this' will be ref to internal API object. see jsPDF source + * // , so you can refer to built-in methods like so: + * // this.line(....) + * // this.text(....) + * } + * var pdfdoc = new jsPDF() + * pdfdoc.mymethod() // <- !!!!!! + */ + jsPDF.API = { + events: [] + }; + /** + * The version of jsPDF. + * @name version + * @type {string} + * @memberof jsPDF# + */ + jsPDF.version = "3.0.3"; + + var jsPDFAPI = jsPDF.API; + var scaleFactor = 1; + var pdfEscape = function pdfEscape(value) { + return value.replace(/\\/g, "\\\\").replace(/\(/g, "\\(").replace(/\)/g, "\\)"); + }; + var pdfUnescape = function pdfUnescape(value) { + return value.replace(/\\\\/g, "\\").replace(/\\\(/g, "(").replace(/\\\)/g, ")"); + }; + var f2 = function f2(number) { + return number.toFixed(2); // Ie, %.2f + }; + var f5 = function f5(number) { + return number.toFixed(5); // Ie, %.2f + }; + jsPDFAPI.__acroform__ = {}; + var inherit = function inherit(child, parent) { + child.prototype = Object.create(parent.prototype); + child.prototype.constructor = child; + }; + var scale = function scale(x) { + return x * scaleFactor; + }; + var createFormXObject = function createFormXObject(formObject) { + var xobj = new AcroFormXObject(); + var height = AcroFormAppearance.internal.getHeight(formObject) || 0; + var width = AcroFormAppearance.internal.getWidth(formObject) || 0; + xobj.BBox = [0, 0, Number(f2(width)), Number(f2(height))]; + return xobj; + }; + + /** + * Bit-Operations + */ + var setBit = jsPDFAPI.__acroform__.setBit = function (number, bitPosition) { + number = number || 0; + bitPosition = bitPosition || 0; + if (isNaN(number) || isNaN(bitPosition)) { + throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.setBit"); + } + var bitMask = 1 << bitPosition; + number |= bitMask; + return number; + }; + var clearBit = jsPDFAPI.__acroform__.clearBit = function (number, bitPosition) { + number = number || 0; + bitPosition = bitPosition || 0; + if (isNaN(number) || isNaN(bitPosition)) { + throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.clearBit"); + } + var bitMask = 1 << bitPosition; + number &= ~bitMask; + return number; + }; + var getBit = jsPDFAPI.__acroform__.getBit = function (number, bitPosition) { + if (isNaN(number) || isNaN(bitPosition)) { + throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.getBit"); + } + return (number & 1 << bitPosition) === 0 ? 0 : 1; + }; + + /* + * Ff starts counting the bit position at 1 and not like javascript at 0 + */ + var getBitForPdf = jsPDFAPI.__acroform__.getBitForPdf = function (number, bitPosition) { + if (isNaN(number) || isNaN(bitPosition)) { + throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.getBitForPdf"); + } + return getBit(number, bitPosition - 1); + }; + var setBitForPdf = jsPDFAPI.__acroform__.setBitForPdf = function (number, bitPosition) { + if (isNaN(number) || isNaN(bitPosition)) { + throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.setBitForPdf"); + } + return setBit(number, bitPosition - 1); + }; + var clearBitForPdf = jsPDFAPI.__acroform__.clearBitForPdf = function (number, bitPosition) { + if (isNaN(number) || isNaN(bitPosition)) { + throw new Error("Invalid arguments passed to jsPDF.API.__acroform__.clearBitForPdf"); + } + return clearBit(number, bitPosition - 1); + }; + var calculateCoordinates = jsPDFAPI.__acroform__.calculateCoordinates = function (args, scope) { + var getHorizontalCoordinate = scope.internal.getHorizontalCoordinate; + var getVerticalCoordinate = scope.internal.getVerticalCoordinate; + var x = args[0]; + var y = args[1]; + var w = args[2]; + var h = args[3]; + var coordinates = {}; + coordinates.lowerLeft_X = getHorizontalCoordinate(x) || 0; + coordinates.lowerLeft_Y = getVerticalCoordinate(y + h) || 0; + coordinates.upperRight_X = getHorizontalCoordinate(x + w) || 0; + coordinates.upperRight_Y = getVerticalCoordinate(y) || 0; + return [Number(f2(coordinates.lowerLeft_X)), Number(f2(coordinates.lowerLeft_Y)), Number(f2(coordinates.upperRight_X)), Number(f2(coordinates.upperRight_Y))]; + }; + var calculateAppearanceStream = function calculateAppearanceStream(formObject) { + if (formObject.appearanceStreamContent) { + return formObject.appearanceStreamContent; + } + if (!formObject.V && !formObject.DV) { + return; + } + + // else calculate it + + var stream = []; + var text = formObject._V || formObject.DV; + var calcRes = calculateX(formObject, text); + var fontKey = formObject.scope.internal.getFont(formObject.fontName, formObject.fontStyle).id; + + //PDF 32000-1:2008, page 444 + stream.push("/Tx BMC"); + stream.push("q"); + stream.push("BT"); // Begin Text + stream.push(formObject.scope.__private__.encodeColorString(formObject.color)); + stream.push("/" + fontKey + " " + f2(calcRes.fontSize) + " Tf"); + stream.push("1 0 0 1 0 0 Tm"); // Transformation Matrix + stream.push(calcRes.text); + stream.push("ET"); // End Text + stream.push("Q"); + stream.push("EMC"); + var appearanceStreamContent = createFormXObject(formObject); + appearanceStreamContent.scope = formObject.scope; + appearanceStreamContent.stream = stream.join("\n"); + return appearanceStreamContent; + }; + var calculateX = function calculateX(formObject, text) { + var maxFontSize = formObject.fontSize === 0 ? formObject.maxFontSize : formObject.fontSize; + var returnValue = { + text: "", + fontSize: "" + }; + // Remove Brackets + text = text.substr(0, 1) == "(" ? text.substr(1) : text; + text = text.substr(text.length - 1) == ")" ? text.substr(0, text.length - 1) : text; + // split into array of words + var textSplit = text.split(" "); + if (formObject.multiline) { + textSplit = textSplit.map(function (word) { + return word.split("\n"); + }); + } else { + textSplit = textSplit.map(function (word) { + return [word]; + }); + } + var fontSize = maxFontSize; // The Starting fontSize (The Maximum) + var lineSpacing = 2; + var borderPadding = 2; + var height = AcroFormAppearance.internal.getHeight(formObject) || 0; + height = height < 0 ? -height : height; + var width = AcroFormAppearance.internal.getWidth(formObject) || 0; + width = width < 0 ? -width : width; + var isSmallerThanWidth = function isSmallerThanWidth(i, lastLine, fontSize) { + if (i + 1 < textSplit.length) { + var tmp = lastLine + " " + textSplit[i + 1][0]; + var TextWidth = calculateFontSpace(tmp, formObject, fontSize).width; + var FieldWidth = width - 2 * borderPadding; + return TextWidth <= FieldWidth; + } else { + return false; + } + }; + fontSize++; + FontSize: while (fontSize > 0) { + text = ""; + fontSize--; + var textHeight = calculateFontSpace("3", formObject, fontSize).height; + var startY = formObject.multiline ? height - fontSize : (height - textHeight) / 2; + startY += lineSpacing; + var startX; + var lastY = startY; + var firstWordInLine = 0, + lastWordInLine = 0; + var lastLength; + var currWord = 0; + if (fontSize <= 0) { + // In case, the Text doesn't fit at all + fontSize = 12; + text = "(...) Tj\n"; + text += "% Width of Text: " + calculateFontSpace(text, formObject, fontSize).width + ", FieldWidth:" + width + "\n"; + break; + } + var lastLine = ""; + var lineCount = 0; + Line: for (var i = 0; i < textSplit.length; i++) { + if (textSplit.hasOwnProperty(i)) { + var isWithNewLine = false; + if (textSplit[i].length !== 1 && currWord !== textSplit[i].length - 1) { + if ((textHeight + lineSpacing) * (lineCount + 2) + lineSpacing > height) { + continue FontSize; + } + lastLine += textSplit[i][currWord]; + isWithNewLine = true; + lastWordInLine = i; + i--; + } else { + lastLine += textSplit[i][currWord] + " "; + lastLine = lastLine.substr(lastLine.length - 1) == " " ? lastLine.substr(0, lastLine.length - 1) : lastLine; + var key = parseInt(i); + var nextLineIsSmaller = isSmallerThanWidth(key, lastLine, fontSize); + var isLastWord = i >= textSplit.length - 1; + if (nextLineIsSmaller && !isLastWord) { + lastLine += " "; + currWord = 0; + continue; // Line + } else if (!nextLineIsSmaller && !isLastWord) { + if (!formObject.multiline) { + continue FontSize; + } else { + if ((textHeight + lineSpacing) * (lineCount + 2) + lineSpacing > height) { + // If the Text is higher than the + // FieldObject + continue FontSize; + } + lastWordInLine = key; + // go on + } + } else if (isLastWord) { + lastWordInLine = key; + } else { + if (formObject.multiline && (textHeight + lineSpacing) * (lineCount + 2) + lineSpacing > height) { + // If the Text is higher than the FieldObject + continue FontSize; + } + } + } + // Remove last blank + + var line = ""; + for (var x = firstWordInLine; x <= lastWordInLine; x++) { + var currLine = textSplit[x]; + if (formObject.multiline) { + if (x === lastWordInLine) { + line += currLine[currWord] + " "; + currWord = (currWord + 1) % currLine.length; + continue; + } + if (x === firstWordInLine) { + line += currLine[currLine.length - 1] + " "; + continue; + } + } + line += currLine[0] + " "; + } + + // Remove last blank + line = line.substr(line.length - 1) == " " ? line.substr(0, line.length - 1) : line; + // lastLength -= blankSpace.width; + lastLength = calculateFontSpace(line, formObject, fontSize).width; + + // Calculate startX + switch (formObject.textAlign) { + case "right": + startX = width - lastLength - borderPadding; + break; + case "center": + startX = (width - lastLength) / 2; + break; + case "left": + default: + startX = borderPadding; + break; + } + text += f2(startX) + " " + f2(lastY) + " Td\n"; + text += "(" + pdfEscape(line) + ") Tj\n"; + // reset X in PDF + text += -f2(startX) + " 0 Td\n"; + + // After a Line, adjust y position + lastY = -(fontSize + lineSpacing); + + // Reset for next iteration step + lastLength = 0; + firstWordInLine = isWithNewLine ? lastWordInLine : lastWordInLine + 1; + lineCount++; + lastLine = ""; + continue Line; + } + } + break; + } + returnValue.text = text; + returnValue.fontSize = fontSize; + return returnValue; + }; + + /** + * Small workaround for calculating the TextMetric approximately. + * + * @param text + * @param fontsize + * @returns {TextMetrics} (Has Height and Width) + */ + var calculateFontSpace = function calculateFontSpace(text, formObject, fontSize) { + var font = formObject.scope.internal.getFont(formObject.fontName, formObject.fontStyle); + var width = formObject.scope.getStringUnitWidth(text, { + font: font, + fontSize: parseFloat(fontSize), + charSpace: 0 + }) * parseFloat(fontSize); + var height = formObject.scope.getStringUnitWidth("3", { + font: font, + fontSize: parseFloat(fontSize), + charSpace: 0 + }) * parseFloat(fontSize) * 1.5; + return { + height: height, + width: width + }; + }; + var acroformPluginTemplate = { + fields: [], + xForms: [], + /** + * acroFormDictionaryRoot contains information about the AcroForm + * Dictionary 0: The Event-Token, the AcroFormDictionaryCallback has + * 1: The Object ID of the Root + */ + acroFormDictionaryRoot: null, + /** + * After the PDF gets evaluated, the reference to the root has to be + * reset, this indicates, whether the root has already been printed + * out + */ + printedOut: false, + internal: null, + isInitialized: false + }; + var annotReferenceCallback = function annotReferenceCallback(scope) { + //set objId to undefined and force it to get a new objId on buildDocument + scope.internal.acroformPlugin.acroFormDictionaryRoot.objId = undefined; + var fields = scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields; + for (var i in fields) { + if (fields.hasOwnProperty(i)) { + var formObject = fields[i]; + //set objId to undefined and force it to get a new objId on buildDocument + formObject.objId = undefined; + // add Annot Reference! + if (formObject.hasAnnotation) { + // If theres an Annotation Widget in the Form Object, put the + // Reference in the /Annot array + createAnnotationReference(formObject, scope); + } + } + } + }; + var putForm = function putForm(formObject) { + if (formObject.scope.internal.acroformPlugin.printedOut) { + formObject.scope.internal.acroformPlugin.printedOut = false; + formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot = null; + } + formObject.scope.internal.acroformPlugin.acroFormDictionaryRoot.Fields.push(formObject); + }; + /** + * Create the Reference to the widgetAnnotation, so that it gets referenced + * in the Annot[] int the+ (Requires the Annotation Plugin) + */ + var createAnnotationReference = function createAnnotationReference(object, scope) { + var options = { + type: "reference", + object: object + }; + var findEntry = function findEntry(entry) { + return entry.type === options.type && entry.object === options.object; + }; + if (scope.internal.getPageInfo(object.page).pageContext.annotations.find(findEntry) === undefined) { + scope.internal.getPageInfo(object.page).pageContext.annotations.push(options); + } + }; + + // Callbacks + + var putCatalogCallback = function putCatalogCallback(scope) { + // Put reference to AcroForm to DocumentCatalog + if (typeof scope.internal.acroformPlugin.acroFormDictionaryRoot !== "undefined") { + // for safety, shouldn't normally be the case + scope.internal.write("/AcroForm " + scope.internal.acroformPlugin.acroFormDictionaryRoot.objId + " " + 0 + " R"); + } else { + throw new Error("putCatalogCallback: Root missing."); + } + }; + + /** + * Adds /Acroform X 0 R to Document Catalog, and creates the AcroForm + * Dictionary + */ + var AcroFormDictionaryCallback = function AcroFormDictionaryCallback(scope) { + // Remove event + scope.internal.events.unsubscribe(scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID); + delete scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID; + scope.internal.acroformPlugin.printedOut = true; + }; + + /** + * Creates the single Fields and writes them into the Document + * + * If fieldArray is set, use the fields that are inside it instead of the + * fields from the AcroRoot (for the FormXObjects...) + */ + var createFieldCallback = function createFieldCallback(fieldArray, scope) { + var standardFields = !fieldArray; + if (!fieldArray) { + // in case there is no fieldArray specified, we want to print out + // the Fields of the AcroForm + // Print out Root + scope.internal.newObjectDeferredBegin(scope.internal.acroformPlugin.acroFormDictionaryRoot.objId, true); + scope.internal.acroformPlugin.acroFormDictionaryRoot.putStream(); + } + fieldArray = fieldArray || scope.internal.acroformPlugin.acroFormDictionaryRoot.Kids; + for (var i in fieldArray) { + if (fieldArray.hasOwnProperty(i)) { + var fieldObject = fieldArray[i]; + var keyValueList = []; + var oldRect = fieldObject.Rect; + if (fieldObject.Rect) { + fieldObject.Rect = calculateCoordinates(fieldObject.Rect, scope); + } + + // Start Writing the Object + scope.internal.newObjectDeferredBegin(fieldObject.objId, true); + fieldObject.DA = AcroFormAppearance.createDefaultAppearanceStream(fieldObject); + if (_typeof(fieldObject) === "object" && typeof fieldObject.getKeyValueListForStream === "function") { + keyValueList = fieldObject.getKeyValueListForStream(); + } + fieldObject.Rect = oldRect; + if (fieldObject.hasAppearanceStream && !fieldObject.appearanceStreamContent) { + // Calculate Appearance + var appearance = calculateAppearanceStream(fieldObject); + keyValueList.push({ + key: "AP", + value: "<>" + }); + scope.internal.acroformPlugin.xForms.push(appearance); + } + + // Assume AppearanceStreamContent is a Array with N,R,D (at least + // one of them!) + if (fieldObject.appearanceStreamContent) { + var appearanceStreamString = ""; + // Iterate over N,R and D + for (var k in fieldObject.appearanceStreamContent) { + if (fieldObject.appearanceStreamContent.hasOwnProperty(k)) { + var value = fieldObject.appearanceStreamContent[k]; + appearanceStreamString += "/" + k + " "; + appearanceStreamString += "<<"; + if (Object.keys(value).length >= 1 || Array.isArray(value)) { + // appearanceStream is an Array or Object! + for (var i in value) { + if (value.hasOwnProperty(i)) { + var obj = value[i]; + if (typeof obj === "function") { + // if Function is referenced, call it in order + // to get the FormXObject + obj = obj.call(scope, fieldObject); + } + appearanceStreamString += "/" + i + " " + obj + " "; + + // In case the XForm is already used, e.g. OffState + // of CheckBoxes, don't add it + if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0)) scope.internal.acroformPlugin.xForms.push(obj); + } + } + } else { + obj = value; + if (typeof obj === "function") { + // if Function is referenced, call it in order to + // get the FormXObject + obj = obj.call(scope, fieldObject); + } + appearanceStreamString += "/" + i + " " + obj; + if (!(scope.internal.acroformPlugin.xForms.indexOf(obj) >= 0)) scope.internal.acroformPlugin.xForms.push(obj); + } + appearanceStreamString += ">>"; + } + } + + // appearance stream is a normal Object.. + keyValueList.push({ + key: "AP", + value: "<<\n" + appearanceStreamString + ">>" + }); + } + scope.internal.putStream({ + additionalKeyValues: keyValueList, + objectId: fieldObject.objId + }); + scope.internal.out("endobj"); + } + } + if (standardFields) { + createXFormObjectCallback(scope.internal.acroformPlugin.xForms, scope); + } + }; + var createXFormObjectCallback = function createXFormObjectCallback(fieldArray, scope) { + for (var i in fieldArray) { + if (fieldArray.hasOwnProperty(i)) { + var key = i; + var fieldObject = fieldArray[i]; + // Start Writing the Object + scope.internal.newObjectDeferredBegin(fieldObject.objId, true); + if (_typeof(fieldObject) === "object" && typeof fieldObject.putStream === "function") { + fieldObject.putStream(); + } + delete fieldArray[key]; + } + } + }; + var initializeAcroForm = function initializeAcroForm(scope, formObject) { + formObject.scope = scope; + if (scope.internal !== undefined && (scope.internal.acroformPlugin === undefined || scope.internal.acroformPlugin.isInitialized === false)) { + AcroFormField.FieldNum = 0; + scope.internal.acroformPlugin = JSON.parse(JSON.stringify(acroformPluginTemplate)); + if (scope.internal.acroformPlugin.acroFormDictionaryRoot) { + throw new Error("Exception while creating AcroformDictionary"); + } + scaleFactor = scope.internal.scaleFactor; + // The Object Number of the AcroForm Dictionary + scope.internal.acroformPlugin.acroFormDictionaryRoot = new AcroFormDictionary(); + scope.internal.acroformPlugin.acroFormDictionaryRoot.scope = scope; + + // add Callback for creating the AcroForm Dictionary + scope.internal.acroformPlugin.acroFormDictionaryRoot._eventID = scope.internal.events.subscribe("postPutResources", function () { + AcroFormDictionaryCallback(scope); + }); + scope.internal.events.subscribe("buildDocument", function () { + annotReferenceCallback(scope); + }); // buildDocument + + // Register event, that is triggered when the DocumentCatalog is + // written, in order to add /AcroForm + + scope.internal.events.subscribe("putCatalog", function () { + putCatalogCallback(scope); + }); + + // Register event, that creates all Fields + scope.internal.events.subscribe("postPutPages", function (fieldArray) { + createFieldCallback(fieldArray, scope); + }); + scope.internal.acroformPlugin.isInitialized = true; + } + }; + + //PDF 32000-1:2008, page 26, 7.3.6 + var arrayToPdfArray = jsPDFAPI.__acroform__.arrayToPdfArray = function (array, objId, scope) { + var encryptor = function encryptor(data) { + return data; + }; + if (Array.isArray(array)) { + var content = "["; + for (var i = 0; i < array.length; i++) { + if (i !== 0) { + content += " "; + } + switch (_typeof(array[i])) { + case "boolean": + case "number": + case "object": + content += array[i].toString(); + break; + case "string": + if (array[i].substr(0, 1) !== "/") { + if (typeof objId !== "undefined" && scope) encryptor = scope.internal.getEncryptor(objId); + content += "(" + pdfEscape(encryptor(array[i].toString())) + ")"; + } else { + content += array[i].toString(); + } + break; + } + } + content += "]"; + return content; + } + throw new Error("Invalid argument passed to jsPDF.__acroform__.arrayToPdfArray"); + }; + function getMatches(string, regex, index) { + index || (index = 1); // default to the first capturing group + var matches = []; + var match; + while (match = regex.exec(string)) { + matches.push(match[index]); + } + return matches; + } + var pdfArrayToStringArray = function pdfArrayToStringArray(array) { + var result = []; + if (typeof array === "string") { + result = getMatches(array, /\((.*?)\)/g); + } + return result; + }; + var toPdfString = function toPdfString(string, objId, scope) { + var encryptor = function encryptor(data) { + return data; + }; + if (typeof objId !== "undefined" && scope) encryptor = scope.internal.getEncryptor(objId); + string = string || ""; + string.toString(); + string = "(" + pdfEscape(encryptor(string)) + ")"; + return string; + }; + + // ########################## + // Classes + // ########################## + + /** + * @class AcroFormPDFObject + * @classdesc A AcroFormPDFObject + */ + var AcroFormPDFObject = function AcroFormPDFObject() { + this._objId = undefined; + this._scope = undefined; + + /** + * @name AcroFormPDFObject#objId + * @type {any} + */ + Object.defineProperty(this, "objId", { + get: function get() { + if (typeof this._objId === "undefined") { + if (typeof this.scope === "undefined") { + return undefined; + } + this._objId = this.scope.internal.newObjectDeferred(); + } + return this._objId; + }, + set: function set(value) { + this._objId = value; + } + }); + Object.defineProperty(this, "scope", { + value: this._scope, + writable: true + }); + }; + + /** + * @function AcroFormPDFObject.toString + */ + AcroFormPDFObject.prototype.toString = function () { + return this.objId + " 0 R"; + }; + AcroFormPDFObject.prototype.putStream = function () { + var keyValueList = this.getKeyValueListForStream(); + this.scope.internal.putStream({ + data: this.stream, + additionalKeyValues: keyValueList, + objectId: this.objId + }); + this.scope.internal.out("endobj"); + }; + + /** + * Returns an key-value-List of all non-configurable Variables from the Object + * + * @name getKeyValueListForStream + * @returns {string} + */ + AcroFormPDFObject.prototype.getKeyValueListForStream = function () { + var keyValueList = []; + var keys = Object.getOwnPropertyNames(this).filter(function (key) { + return key != "content" && key != "appearanceStreamContent" && key != "scope" && key != "objId" && key.substring(0, 1) != "_"; + }); + for (var i in keys) { + if (Object.getOwnPropertyDescriptor(this, keys[i]).configurable === false) { + var key = keys[i]; + var value = this[key]; + if (value) { + if (Array.isArray(value)) { + keyValueList.push({ + key: key, + value: arrayToPdfArray(value, this.objId, this.scope) + }); + } else if (value instanceof AcroFormPDFObject) { + // In case it is a reference to another PDFObject, + // take the reference number + value.scope = this.scope; + keyValueList.push({ + key: key, + value: value.objId + " 0 R" + }); + } else if (typeof value !== "function") { + keyValueList.push({ + key: key, + value: value + }); + } + } + } + } + return keyValueList; + }; + var AcroFormXObject = function AcroFormXObject() { + AcroFormPDFObject.call(this); + Object.defineProperty(this, "Type", { + value: "/XObject", + configurable: false, + writable: true + }); + Object.defineProperty(this, "Subtype", { + value: "/Form", + configurable: false, + writable: true + }); + Object.defineProperty(this, "FormType", { + value: 1, + configurable: false, + writable: true + }); + var _BBox = []; + Object.defineProperty(this, "BBox", { + configurable: false, + get: function get() { + return _BBox; + }, + set: function set(value) { + _BBox = value; + } + }); + Object.defineProperty(this, "Resources", { + value: "2 0 R", + configurable: false, + writable: true + }); + var _stream; + Object.defineProperty(this, "stream", { + enumerable: false, + configurable: true, + set: function set(value) { + _stream = value.trim(); + }, + get: function get() { + if (_stream) { + return _stream; + } else { + return null; + } + } + }); + }; + inherit(AcroFormXObject, AcroFormPDFObject); + var AcroFormDictionary = function AcroFormDictionary() { + AcroFormPDFObject.call(this); + var _Kids = []; + Object.defineProperty(this, "Kids", { + enumerable: false, + configurable: true, + get: function get() { + if (_Kids.length > 0) { + return _Kids; + } else { + return undefined; + } + } + }); + Object.defineProperty(this, "Fields", { + enumerable: false, + configurable: false, + get: function get() { + return _Kids; + } + }); + + // Default Appearance + var _DA; + Object.defineProperty(this, "DA", { + enumerable: false, + configurable: false, + get: function get() { + if (!_DA) { + return undefined; + } + var encryptor = function encryptor(data) { + return data; + }; + if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId); + return "(" + pdfEscape(encryptor(_DA)) + ")"; + }, + set: function set(value) { + _DA = value; + } + }); + }; + inherit(AcroFormDictionary, AcroFormPDFObject); + + /** + * The Field Object contains the Variables, that every Field needs + * + * @class AcroFormField + * @classdesc An AcroForm FieldObject + */ + var AcroFormField = function AcroFormField() { + AcroFormPDFObject.call(this); + + //Annotation-Flag See Table 165 + var _F = 4; + Object.defineProperty(this, "F", { + enumerable: false, + configurable: false, + get: function get() { + return _F; + }, + set: function set(value) { + if (!isNaN(value)) { + _F = value; + } else { + throw new Error('Invalid value "' + value + '" for attribute F supplied.'); + } + } + }); + + /** + * (PDF 1.2) If set, print the annotation when the page is printed. If clear, never print the annotation, regardless of wether is is displayed on the screen. + * NOTE 2 This can be useful for annotations representing interactive pushbuttons, which would serve no meaningful purpose on the printed page. + * + * @name AcroFormField#showWhenPrinted + * @default true + * @type {boolean} + */ + Object.defineProperty(this, "showWhenPrinted", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(_F, 3)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.F = setBitForPdf(_F, 3); + } else { + this.F = clearBitForPdf(_F, 3); + } + } + }); + var _Ff = 0; + Object.defineProperty(this, "Ff", { + enumerable: false, + configurable: false, + get: function get() { + return _Ff; + }, + set: function set(value) { + if (!isNaN(value)) { + _Ff = value; + } else { + throw new Error('Invalid value "' + value + '" for attribute Ff supplied.'); + } + } + }); + var _Rect = []; + Object.defineProperty(this, "Rect", { + enumerable: false, + configurable: false, + get: function get() { + if (_Rect.length === 0) { + return undefined; + } + return _Rect; + }, + set: function set(value) { + if (typeof value !== "undefined") { + _Rect = value; + } else { + _Rect = []; + } + } + }); + + /** + * The x-position of the field. + * + * @name AcroFormField#x + * @default null + * @type {number} + */ + Object.defineProperty(this, "x", { + enumerable: true, + configurable: true, + get: function get() { + if (!_Rect || isNaN(_Rect[0])) { + return 0; + } + return _Rect[0]; + }, + set: function set(value) { + _Rect[0] = value; + } + }); + + /** + * The y-position of the field. + * + * @name AcroFormField#y + * @default null + * @type {number} + */ + Object.defineProperty(this, "y", { + enumerable: true, + configurable: true, + get: function get() { + if (!_Rect || isNaN(_Rect[1])) { + return 0; + } + return _Rect[1]; + }, + set: function set(value) { + _Rect[1] = value; + } + }); + + /** + * The width of the field. + * + * @name AcroFormField#width + * @default null + * @type {number} + */ + Object.defineProperty(this, "width", { + enumerable: true, + configurable: true, + get: function get() { + if (!_Rect || isNaN(_Rect[2])) { + return 0; + } + return _Rect[2]; + }, + set: function set(value) { + _Rect[2] = value; + } + }); + + /** + * The height of the field. + * + * @name AcroFormField#height + * @default null + * @type {number} + */ + Object.defineProperty(this, "height", { + enumerable: true, + configurable: true, + get: function get() { + if (!_Rect || isNaN(_Rect[3])) { + return 0; + } + return _Rect[3]; + }, + set: function set(value) { + _Rect[3] = value; + } + }); + var _FT = ""; + Object.defineProperty(this, "FT", { + enumerable: true, + configurable: false, + get: function get() { + return _FT; + }, + set: function set(value) { + switch (value) { + case "/Btn": + case "/Tx": + case "/Ch": + case "/Sig": + _FT = value; + break; + default: + throw new Error('Invalid value "' + value + '" for attribute FT supplied.'); + } + } + }); + var _T = null; + Object.defineProperty(this, "T", { + enumerable: true, + configurable: false, + get: function get() { + if (!_T || _T.length < 1) { + // In case of a Child from a Radio´Group, you don't need a FieldName + if (this instanceof AcroFormChildClass) { + return undefined; + } + _T = "FieldObject" + AcroFormField.FieldNum++; + } + var encryptor = function encryptor(data) { + return data; + }; + if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId); + return "(" + pdfEscape(encryptor(_T)) + ")"; + }, + set: function set(value) { + _T = value.toString(); + } + }); + + /** + * (Optional) The partial field name (see 12.7.3.2, “Field Names”). + * + * @name AcroFormField#fieldName + * @default null + * @type {string} + */ + Object.defineProperty(this, "fieldName", { + configurable: true, + enumerable: true, + get: function get() { + return _T; + }, + set: function set(value) { + _T = value; + } + }); + var _fontName = "helvetica"; + /** + * The fontName of the font to be used. + * + * @name AcroFormField#fontName + * @default 'helvetica' + * @type {string} + */ + Object.defineProperty(this, "fontName", { + enumerable: true, + configurable: true, + get: function get() { + return _fontName; + }, + set: function set(value) { + _fontName = value; + } + }); + var _fontStyle = "normal"; + /** + * The fontStyle of the font to be used. + * + * @name AcroFormField#fontStyle + * @default 'normal' + * @type {string} + */ + Object.defineProperty(this, "fontStyle", { + enumerable: true, + configurable: true, + get: function get() { + return _fontStyle; + }, + set: function set(value) { + _fontStyle = value; + } + }); + var _fontSize = 0; + /** + * The fontSize of the font to be used. + * + * @name AcroFormField#fontSize + * @default 0 (for auto) + * @type {number} + */ + Object.defineProperty(this, "fontSize", { + enumerable: true, + configurable: true, + get: function get() { + return _fontSize; + }, + set: function set(value) { + _fontSize = value; + } + }); + var _maxFontSize = undefined; + /** + * The maximum fontSize of the font to be used. + * + * @name AcroFormField#maxFontSize + * @default 0 (for auto) + * @type {number} + */ + Object.defineProperty(this, "maxFontSize", { + enumerable: true, + configurable: true, + get: function get() { + if (_maxFontSize === undefined) { + // use the old default value here - the value is some kind of random as it depends on the scaleFactor (user unit) + // ("50" is transformed to the "user space" but then used in "pdf space") + return 50 / scaleFactor; + } else { + return _maxFontSize; + } + }, + set: function set(value) { + _maxFontSize = value; + } + }); + var _color = "black"; + /** + * The color of the text + * + * @name AcroFormField#color + * @default 'black' + * @type {string|rgba} + */ + Object.defineProperty(this, "color", { + enumerable: true, + configurable: true, + get: function get() { + return _color; + }, + set: function set(value) { + _color = value; + } + }); + var _DA = "/F1 0 Tf 0 g"; + // Defines the default appearance (Needed for variable Text) + Object.defineProperty(this, "DA", { + enumerable: true, + configurable: false, + get: function get() { + if (!_DA || this instanceof AcroFormChildClass || this instanceof AcroFormTextField) { + return undefined; + } + return toPdfString(_DA, this.objId, this.scope); + }, + set: function set(value) { + value = value.toString(); + _DA = value; + } + }); + var _DV = null; + Object.defineProperty(this, "DV", { + enumerable: false, + configurable: false, + get: function get() { + if (!_DV) { + return undefined; + } + if (this instanceof AcroFormButton === false) { + return toPdfString(_DV, this.objId, this.scope); + } + return _DV; + }, + set: function set(value) { + value = value.toString(); + if (this instanceof AcroFormButton === false) { + if (value.substr(0, 1) === "(") { + _DV = pdfUnescape(value.substr(1, value.length - 2)); + } else { + _DV = pdfUnescape(value); + } + } else { + _DV = value; + } + } + }); + + /** + * (Optional; inheritable) The default value to which the field reverts when a reset-form action is executed (see 12.7.5.3, “Reset-Form Action”). The format of this value is the same as that of value. + * + * @name AcroFormField#defaultValue + * @default null + * @type {any} + */ + Object.defineProperty(this, "defaultValue", { + enumerable: true, + configurable: true, + get: function get() { + if (this instanceof AcroFormButton === true) { + return pdfUnescape(_DV.substr(1, _DV.length - 1)); + } else { + return _DV; + } + }, + set: function set(value) { + value = value.toString(); + if (this instanceof AcroFormButton === true) { + _DV = "/" + value; + } else { + _DV = value; + } + } + }); + var _V = null; + Object.defineProperty(this, "_V", { + enumerable: false, + configurable: false, + get: function get() { + if (!_V) { + return undefined; + } + return _V; + }, + set: function set(value) { + this.V = value; + } + }); + Object.defineProperty(this, "V", { + enumerable: false, + configurable: false, + get: function get() { + if (!_V) { + return undefined; + } + if (this instanceof AcroFormButton === false) { + return toPdfString(_V, this.objId, this.scope); + } + return _V; + }, + set: function set(value) { + value = value.toString(); + if (this instanceof AcroFormButton === false) { + if (value.substr(0, 1) === "(") { + _V = pdfUnescape(value.substr(1, value.length - 2)); + } else { + _V = pdfUnescape(value); + } + } else { + _V = value; + } + } + }); + + /** + * (Optional; inheritable) The field’s value, whose format varies depending on the field type. See the descriptions of individual field types for further information. + * + * @name AcroFormField#value + * @default null + * @type {any} + */ + Object.defineProperty(this, "value", { + enumerable: true, + configurable: true, + get: function get() { + if (this instanceof AcroFormButton === true) { + return pdfUnescape(_V.substr(1, _V.length - 1)); + } else { + return _V; + } + }, + set: function set(value) { + value = value.toString(); + if (this instanceof AcroFormButton === true) { + _V = "/" + value; + } else { + _V = value; + } + } + }); + + /** + * Check if field has annotations + * + * @name AcroFormField#hasAnnotation + * @readonly + * @type {boolean} + */ + Object.defineProperty(this, "hasAnnotation", { + enumerable: true, + configurable: true, + get: function get() { + return this.Rect; + } + }); + Object.defineProperty(this, "Type", { + enumerable: true, + configurable: false, + get: function get() { + return this.hasAnnotation ? "/Annot" : null; + } + }); + Object.defineProperty(this, "Subtype", { + enumerable: true, + configurable: false, + get: function get() { + return this.hasAnnotation ? "/Widget" : null; + } + }); + var _hasAppearanceStream = false; + /** + * true if field has an appearanceStream + * + * @name AcroFormField#hasAppearanceStream + * @readonly + * @type {boolean} + */ + Object.defineProperty(this, "hasAppearanceStream", { + enumerable: true, + configurable: true, + get: function get() { + return _hasAppearanceStream; + }, + set: function set(value) { + value = Boolean(value); + _hasAppearanceStream = value; + } + }); + + /** + * The page on which the AcroFormField is placed + * + * @name AcroFormField#page + * @type {number} + */ + var _page; + Object.defineProperty(this, "page", { + enumerable: true, + configurable: true, + get: function get() { + if (!_page) { + return undefined; + } + return _page; + }, + set: function set(value) { + _page = value; + } + }); + + /** + * If set, the user may not change the value of the field. Any associated widget annotations will not interact with the user; that is, they will not respond to mouse clicks or change their appearance in response to mouse motions. This flag is useful for fields whose values are computed or imported from a database. + * + * @name AcroFormField#readOnly + * @default false + * @type {boolean} + */ + Object.defineProperty(this, "readOnly", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 1)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 1); + } else { + this.Ff = clearBitForPdf(this.Ff, 1); + } + } + }); + + /** + * If set, the field shall have a value at the time it is exported by a submitform action (see 12.7.5.2, “Submit-Form Action”). + * + * @name AcroFormField#required + * @default false + * @type {boolean} + */ + Object.defineProperty(this, "required", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 2)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 2); + } else { + this.Ff = clearBitForPdf(this.Ff, 2); + } + } + }); + + /** + * If set, the field shall not be exported by a submit-form action (see 12.7.5.2, “Submit-Form Action”) + * + * @name AcroFormField#noExport + * @default false + * @type {boolean} + */ + Object.defineProperty(this, "noExport", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 3)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 3); + } else { + this.Ff = clearBitForPdf(this.Ff, 3); + } + } + }); + var _Q = null; + Object.defineProperty(this, "Q", { + enumerable: true, + configurable: false, + get: function get() { + if (_Q === null) { + return undefined; + } + return _Q; + }, + set: function set(value) { + if ([0, 1, 2].indexOf(value) !== -1) { + _Q = value; + } else { + throw new Error('Invalid value "' + value + '" for attribute Q supplied.'); + } + } + }); + + /** + * (Optional; inheritable) A code specifying the form of quadding (justification) that shall be used in displaying the text: + * 'left', 'center', 'right' + * + * @name AcroFormField#textAlign + * @default 'left' + * @type {string} + */ + Object.defineProperty(this, "textAlign", { + get: function get() { + var result; + switch (_Q) { + case 0: + default: + result = "left"; + break; + case 1: + result = "center"; + break; + case 2: + result = "right"; + break; + } + return result; + }, + configurable: true, + enumerable: true, + set: function set(value) { + switch (value) { + case "right": + case 2: + _Q = 2; + break; + case "center": + case 1: + _Q = 1; + break; + case "left": + case 0: + default: + _Q = 0; + } + } + }); + }; + inherit(AcroFormField, AcroFormPDFObject); + + /** + * @class AcroFormChoiceField + * @extends AcroFormField + */ + var AcroFormChoiceField = function AcroFormChoiceField() { + AcroFormField.call(this); + // Field Type = Choice Field + this.FT = "/Ch"; + // options + this.V = "()"; + this.fontName = "zapfdingbats"; + // Top Index + var _TI = 0; + Object.defineProperty(this, "TI", { + enumerable: true, + configurable: false, + get: function get() { + return _TI; + }, + set: function set(value) { + _TI = value; + } + }); + + /** + * (Optional) For scrollable list boxes, the top index (the index in the Opt array of the first option visible in the list). Default value: 0. + * + * @name AcroFormChoiceField#topIndex + * @default 0 + * @type {number} + */ + Object.defineProperty(this, "topIndex", { + enumerable: true, + configurable: true, + get: function get() { + return _TI; + }, + set: function set(value) { + _TI = value; + } + }); + var _Opt = []; + Object.defineProperty(this, "Opt", { + enumerable: true, + configurable: false, + get: function get() { + return arrayToPdfArray(_Opt, this.objId, this.scope); + }, + set: function set(value) { + _Opt = pdfArrayToStringArray(value); + } + }); + + /** + * @memberof AcroFormChoiceField + * @name getOptions + * @function + * @instance + * @returns {array} array of Options + */ + this.getOptions = function () { + return _Opt; + }; + + /** + * @memberof AcroFormChoiceField + * @name setOptions + * @function + * @instance + * @param {array} value + */ + this.setOptions = function (value) { + _Opt = value; + if (this.sort) { + _Opt.sort(); + } + }; + + /** + * @memberof AcroFormChoiceField + * @name addOption + * @function + * @instance + * @param {string} value + */ + this.addOption = function (value) { + value = value || ""; + value = value.toString(); + _Opt.push(value); + if (this.sort) { + _Opt.sort(); + } + }; + + /** + * @memberof AcroFormChoiceField + * @name removeOption + * @function + * @instance + * @param {string} value + * @param {boolean} allEntries (default: false) + */ + this.removeOption = function (value, allEntries) { + allEntries = allEntries || false; + value = value || ""; + value = value.toString(); + while (_Opt.indexOf(value) !== -1) { + _Opt.splice(_Opt.indexOf(value), 1); + if (allEntries === false) { + break; + } + } + }; + + /** + * If set, the field is a combo box; if clear, the field is a list box. + * + * @name AcroFormChoiceField#combo + * @default false + * @type {boolean} + */ + Object.defineProperty(this, "combo", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 18)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 18); + } else { + this.Ff = clearBitForPdf(this.Ff, 18); + } + } + }); + + /** + * If set, the combo box shall include an editable text box as well as a drop-down list; if clear, it shall include only a drop-down list. This flag shall be used only if the Combo flag is set. + * + * @name AcroFormChoiceField#edit + * @default false + * @type {boolean} + */ + Object.defineProperty(this, "edit", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 19)); + }, + set: function set(value) { + //PDF 32000-1:2008, page 444 + if (this.combo === true) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 19); + } else { + this.Ff = clearBitForPdf(this.Ff, 19); + } + } + } + }); + + /** + * If set, the field’s option items shall be sorted alphabetically. This flag is intended for use by writers, not by readers. Conforming readers shall display the options in the order in which they occur in the Opt array (see Table 231). + * + * @name AcroFormChoiceField#sort + * @default false + * @type {boolean} + */ + Object.defineProperty(this, "sort", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 20)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 20); + _Opt.sort(); + } else { + this.Ff = clearBitForPdf(this.Ff, 20); + } + } + }); + + /** + * (PDF 1.4) If set, more than one of the field’s option items may be selected simultaneously; if clear, at most one item shall be selected + * + * @name AcroFormChoiceField#multiSelect + * @default false + * @type {boolean} + */ + Object.defineProperty(this, "multiSelect", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 22)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 22); + } else { + this.Ff = clearBitForPdf(this.Ff, 22); + } + } + }); + + /** + * (PDF 1.4) If set, text entered in the field shall not be spellchecked. This flag shall not be used unless the Combo and Edit flags are both set. + * + * @name AcroFormChoiceField#doNotSpellCheck + * @default false + * @type {boolean} + */ + Object.defineProperty(this, "doNotSpellCheck", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 23)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 23); + } else { + this.Ff = clearBitForPdf(this.Ff, 23); + } + } + }); + + /** + * (PDF 1.5) If set, the new value shall be committed as soon as a selection is made (commonly with the pointing device). In this case, supplying a value for a field involves three actions: selecting the field for fill-in, selecting a choice for the fill-in value, and leaving that field, which finalizes or “commits” the data choice and triggers any actions associated with the entry or changing of this data. If this flag is on, then processing does not wait for leaving the field action to occur, but immediately proceeds to the third step. + * This option enables applications to perform an action once a selection is made, without requiring the user to exit the field. If clear, the new value is not committed until the user exits the field. + * + * @name AcroFormChoiceField#commitOnSelChange + * @default false + * @type {boolean} + */ + Object.defineProperty(this, "commitOnSelChange", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 27)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 27); + } else { + this.Ff = clearBitForPdf(this.Ff, 27); + } + } + }); + this.hasAppearanceStream = false; + }; + inherit(AcroFormChoiceField, AcroFormField); + + /** + * @class AcroFormListBox + * @extends AcroFormChoiceField + * @extends AcroFormField + */ + var AcroFormListBox = function AcroFormListBox() { + AcroFormChoiceField.call(this); + this.fontName = "helvetica"; + + //PDF 32000-1:2008, page 444 + this.combo = false; + }; + inherit(AcroFormListBox, AcroFormChoiceField); + + /** + * @class AcroFormComboBox + * @extends AcroFormListBox + * @extends AcroFormChoiceField + * @extends AcroFormField + */ + var AcroFormComboBox = function AcroFormComboBox() { + AcroFormListBox.call(this); + this.combo = true; + }; + inherit(AcroFormComboBox, AcroFormListBox); + + /** + * @class AcroFormEditBox + * @extends AcroFormComboBox + * @extends AcroFormListBox + * @extends AcroFormChoiceField + * @extends AcroFormField + */ + var AcroFormEditBox = function AcroFormEditBox() { + AcroFormComboBox.call(this); + this.edit = true; + }; + inherit(AcroFormEditBox, AcroFormComboBox); + + /** + * @class AcroFormButton + * @extends AcroFormField + */ + var AcroFormButton = function AcroFormButton() { + AcroFormField.call(this); + this.FT = "/Btn"; + + /** + * (Radio buttons only) If set, exactly one radio button shall be selected at all times; selecting the currently selected button has no effect. If clear, clicking the selected button deselects it, leaving no button selected. + * + * @name AcroFormButton#noToggleToOff + * @type {boolean} + */ + Object.defineProperty(this, "noToggleToOff", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 15)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 15); + } else { + this.Ff = clearBitForPdf(this.Ff, 15); + } + } + }); + + /** + * If set, the field is a set of radio buttons; if clear, the field is a checkbox. This flag may be set only if the Pushbutton flag is clear. + * + * @name AcroFormButton#radio + * @type {boolean} + */ + Object.defineProperty(this, "radio", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 16)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 16); + } else { + this.Ff = clearBitForPdf(this.Ff, 16); + } + } + }); + + /** + * If set, the field is a pushbutton that does not retain a permanent value. + * + * @name AcroFormButton#pushButton + * @type {boolean} + */ + Object.defineProperty(this, "pushButton", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 17)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 17); + } else { + this.Ff = clearBitForPdf(this.Ff, 17); + } + } + }); + + /** + * (PDF 1.5) If set, a group of radio buttons within a radio button field that use the same value for the on state will turn on and off in unison; that is if one is checked, they are all checked. If clear, the buttons are mutually exclusive (the same behavior as HTML radio buttons). + * + * @name AcroFormButton#radioIsUnison + * @type {boolean} + */ + Object.defineProperty(this, "radioIsUnison", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 26)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 26); + } else { + this.Ff = clearBitForPdf(this.Ff, 26); + } + } + }); + var _MK = {}; + Object.defineProperty(this, "MK", { + enumerable: false, + configurable: false, + get: function get() { + var encryptor = function encryptor(data) { + return data; + }; + if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId); + if (Object.keys(_MK).length !== 0) { + var result = []; + result.push("<<"); + var key; + for (key in _MK) { + result.push("/" + key + " (" + pdfEscape(encryptor(_MK[key])) + ")"); + } + result.push(">>"); + return result.join("\n"); + } + return undefined; + }, + set: function set(value) { + if (_typeof(value) === "object") { + _MK = value; + } + } + }); + + /** + * From the PDF reference: + * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user. + * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, "Button Fields"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, "Button Fields") and radio buttons (Radio Buttons in 12.7.4.2, "Button Fields"). + * + * - '8' = Cross, + * - 'l' = Circle, + * - '' = nothing + * @name AcroFormButton#caption + * @type {string} + */ + Object.defineProperty(this, "caption", { + enumerable: true, + configurable: true, + get: function get() { + return _MK.CA || ""; + }, + set: function set(value) { + if (typeof value === "string") { + _MK.CA = value; + } + } + }); + var _AS; + Object.defineProperty(this, "AS", { + enumerable: false, + configurable: false, + get: function get() { + return _AS; + }, + set: function set(value) { + _AS = value; + } + }); + + /** + * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, "Appearance Streams") + * + * @name AcroFormButton#appearanceState + * @type {any} + */ + Object.defineProperty(this, "appearanceState", { + enumerable: true, + configurable: true, + get: function get() { + return _AS.substr(1, _AS.length - 1); + }, + set: function set(value) { + _AS = "/" + value; + } + }); + }; + inherit(AcroFormButton, AcroFormField); + + /** + * @class AcroFormPushButton + * @extends AcroFormButton + * @extends AcroFormField + */ + var AcroFormPushButton = function AcroFormPushButton() { + AcroFormButton.call(this); + this.pushButton = true; + }; + inherit(AcroFormPushButton, AcroFormButton); + + /** + * @class AcroFormRadioButton + * @extends AcroFormButton + * @extends AcroFormField + */ + var AcroFormRadioButton = function AcroFormRadioButton() { + AcroFormButton.call(this); + this.radio = true; + this.pushButton = false; + var _Kids = []; + Object.defineProperty(this, "Kids", { + enumerable: true, + configurable: false, + get: function get() { + return _Kids; + }, + set: function set(value) { + if (typeof value !== "undefined") { + _Kids = value; + } else { + _Kids = []; + } + } + }); + }; + inherit(AcroFormRadioButton, AcroFormButton); + + /** + * The Child class of a RadioButton (the radioGroup) -> The single Buttons + * + * @class AcroFormChildClass + * @extends AcroFormField + * @ignore + */ + var AcroFormChildClass = function AcroFormChildClass() { + AcroFormField.call(this); + var _parent; + Object.defineProperty(this, "Parent", { + enumerable: false, + configurable: false, + get: function get() { + return _parent; + }, + set: function set(value) { + _parent = value; + } + }); + var _optionName; + Object.defineProperty(this, "optionName", { + enumerable: false, + configurable: true, + get: function get() { + return _optionName; + }, + set: function set(value) { + _optionName = value; + } + }); + var _MK = {}; + Object.defineProperty(this, "MK", { + enumerable: false, + configurable: false, + get: function get() { + var encryptor = function encryptor(data) { + return data; + }; + if (this.scope) encryptor = this.scope.internal.getEncryptor(this.objId); + var result = []; + result.push("<<"); + var key; + for (key in _MK) { + result.push("/" + key + " (" + pdfEscape(encryptor(_MK[key])) + ")"); + } + result.push(">>"); + return result.join("\n"); + }, + set: function set(value) { + if (_typeof(value) === "object") { + _MK = value; + } + } + }); + + /** + * From the PDF reference: + * (Optional, button fields only) The widget annotation's normal caption which shall be displayed when it is not interacting with the user. + * Unlike the remaining entries listed in this Table which apply only to widget annotations associated with pushbutton fields (see Pushbuttons in 12.7.4.2, "Button Fields"), the CA entry may be used with any type of button field, including check boxes (see Check Boxes in 12.7.4.2, "Button Fields") and radio buttons (Radio Buttons in 12.7.4.2, "Button Fields"). + * + * - '8' = Cross, + * - 'l' = Circle, + * - '' = nothing + * @name AcroFormButton#caption + * @type {string} + */ + Object.defineProperty(this, "caption", { + enumerable: true, + configurable: true, + get: function get() { + return _MK.CA || ""; + }, + set: function set(value) { + if (typeof value === "string") { + _MK.CA = value; + } + } + }); + var _AS; + Object.defineProperty(this, "AS", { + enumerable: false, + configurable: false, + get: function get() { + return _AS; + }, + set: function set(value) { + _AS = value; + } + }); + + /** + * (Required if the appearance dictionary AP contains one or more subdictionaries; PDF 1.2) The annotation's appearance state, which selects the applicable appearance stream from an appearance subdictionary (see Section 12.5.5, "Appearance Streams") + * + * @name AcroFormButton#appearanceState + * @type {any} + */ + Object.defineProperty(this, "appearanceState", { + enumerable: true, + configurable: true, + get: function get() { + return _AS.substr(1, _AS.length - 1); + }, + set: function set(value) { + _AS = "/" + value; + } + }); + this.caption = "l"; + this.appearanceState = "Off"; + // todo: set AppearanceType as variable that can be set from the + // outside... + this._AppearanceType = AcroFormAppearance.RadioButton.Circle; + // The Default appearanceType is the Circle + this.appearanceStreamContent = this._AppearanceType.createAppearanceStream(this.optionName); + }; + inherit(AcroFormChildClass, AcroFormField); + AcroFormRadioButton.prototype.setAppearance = function (appearance) { + if (!("createAppearanceStream" in appearance && "getCA" in appearance)) { + throw new Error("Couldn't assign Appearance to RadioButton. Appearance was Invalid!"); + } + for (var objId in this.Kids) { + if (this.Kids.hasOwnProperty(objId)) { + var child = this.Kids[objId]; + child.appearanceStreamContent = appearance.createAppearanceStream(child.optionName); + child.caption = appearance.getCA(); + } + } + }; + AcroFormRadioButton.prototype.createOption = function (name) { + // Create new Child for RadioGroup + var child = new AcroFormChildClass(); + child.Parent = this; + child.optionName = name; + // Add to Parent + this.Kids.push(child); + addField.call(this.scope, child); + return child; + }; + + /** + * @class AcroFormCheckBox + * @extends AcroFormButton + * @extends AcroFormField + */ + var AcroFormCheckBox = function AcroFormCheckBox() { + AcroFormButton.call(this); + this.fontName = "zapfdingbats"; + this.caption = "3"; + this.appearanceState = "On"; + this.value = "On"; + this.textAlign = "center"; + this.appearanceStreamContent = AcroFormAppearance.CheckBox.createAppearanceStream(); + }; + inherit(AcroFormCheckBox, AcroFormButton); + + /** + * @class AcroFormTextField + * @extends AcroFormField + */ + var AcroFormTextField = function AcroFormTextField() { + AcroFormField.call(this); + this.FT = "/Tx"; + + /** + * If set, the field may contain multiple lines of text; if clear, the field’s text shall be restricted to a single line. + * + * @name AcroFormTextField#multiline + * @type {boolean} + */ + Object.defineProperty(this, "multiline", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 13)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 13); + } else { + this.Ff = clearBitForPdf(this.Ff, 13); + } + } + }); + + /** + * (PDF 1.4) If set, the text entered in the field represents the pathname of a file whose contents shall be submitted as the value of the field. + * + * @name AcroFormTextField#fileSelect + * @type {boolean} + */ + Object.defineProperty(this, "fileSelect", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 21)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 21); + } else { + this.Ff = clearBitForPdf(this.Ff, 21); + } + } + }); + + /** + * (PDF 1.4) If set, text entered in the field shall not be spell-checked. + * + * @name AcroFormTextField#doNotSpellCheck + * @type {boolean} + */ + Object.defineProperty(this, "doNotSpellCheck", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 23)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 23); + } else { + this.Ff = clearBitForPdf(this.Ff, 23); + } + } + }); + + /** + * (PDF 1.4) If set, the field shall not scroll (horizontally for single-line fields, vertically for multiple-line fields) to accommodate more text than fits within its annotation rectangle. Once the field is full, no further text shall be accepted for interactive form filling; for noninteractive form filling, the filler should take care not to add more character than will visibly fit in the defined area. + * + * @name AcroFormTextField#doNotScroll + * @type {boolean} + */ + Object.defineProperty(this, "doNotScroll", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 24)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 24); + } else { + this.Ff = clearBitForPdf(this.Ff, 24); + } + } + }); + + /** + * (PDF 1.5) May be set only if the MaxLen entry is present in the text field dictionary (see Table 229) and if the Multiline, Password, and FileSelect flags are clear. If set, the field shall be automatically divided into as many equally spaced positions, or combs, as the value of MaxLen, and the text is laid out into those combs. + * + * @name AcroFormTextField#comb + * @type {boolean} + */ + Object.defineProperty(this, "comb", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 25)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 25); + } else { + this.Ff = clearBitForPdf(this.Ff, 25); + } + } + }); + + /** + * (PDF 1.5) If set, the value of this field shall be a rich text string (see 12.7.3.4, “Rich Text Strings”). If the field has a value, the RV entry of the field dictionary (Table 222) shall specify the rich text string. + * + * @name AcroFormTextField#richText + * @type {boolean} + */ + Object.defineProperty(this, "richText", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 26)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 26); + } else { + this.Ff = clearBitForPdf(this.Ff, 26); + } + } + }); + var _MaxLen = null; + Object.defineProperty(this, "MaxLen", { + enumerable: true, + configurable: false, + get: function get() { + return _MaxLen; + }, + set: function set(value) { + _MaxLen = value; + } + }); + + /** + * (Optional; inheritable) The maximum length of the field’s text, in characters. + * + * @name AcroFormTextField#maxLength + * @type {number} + */ + Object.defineProperty(this, "maxLength", { + enumerable: true, + configurable: true, + get: function get() { + return _MaxLen; + }, + set: function set(value) { + if (Number.isInteger(value)) { + _MaxLen = value; + } + } + }); + Object.defineProperty(this, "hasAppearanceStream", { + enumerable: true, + configurable: true, + get: function get() { + return this.V || this.DV; + } + }); + }; + inherit(AcroFormTextField, AcroFormField); + + /** + * @class AcroFormPasswordField + * @extends AcroFormTextField + * @extends AcroFormField + */ + var AcroFormPasswordField = function AcroFormPasswordField() { + AcroFormTextField.call(this); + + /** + * If set, the field is intended for entering a secure password that should not be echoed visibly to the screen. Characters typed from the keyboard shall instead be echoed in some unreadable form, such as asterisks or bullet characters. + * NOTE To protect password confidentiality, readers should never store the value of the text field in the PDF file if this flag is set. + * + * @name AcroFormTextField#password + * @type {boolean} + */ + Object.defineProperty(this, "password", { + enumerable: true, + configurable: true, + get: function get() { + return Boolean(getBitForPdf(this.Ff, 14)); + }, + set: function set(value) { + if (Boolean(value) === true) { + this.Ff = setBitForPdf(this.Ff, 14); + } else { + this.Ff = clearBitForPdf(this.Ff, 14); + } + } + }); + this.password = true; + }; + inherit(AcroFormPasswordField, AcroFormTextField); + + // Contains Methods for creating standard appearances + var AcroFormAppearance = { + CheckBox: { + createAppearanceStream: function createAppearanceStream() { + var appearance = { + N: { + On: AcroFormAppearance.CheckBox.YesNormal + }, + D: { + On: AcroFormAppearance.CheckBox.YesPushDown, + Off: AcroFormAppearance.CheckBox.OffPushDown + } + }; + return appearance; + }, + /** + * Returns the standard On Appearance for a CheckBox + * + * @returns {AcroFormXObject} + */ + YesPushDown: function YesPushDown(formObject) { + var xobj = createFormXObject(formObject); + xobj.scope = formObject.scope; + var stream = []; + var fontKey = formObject.scope.internal.getFont(formObject.fontName, formObject.fontStyle).id; + var encodedColor = formObject.scope.__private__.encodeColorString(formObject.color); + var calcRes = calculateX(formObject, formObject.caption); + stream.push("0.749023 g"); + stream.push("0 0 " + f2(AcroFormAppearance.internal.getWidth(formObject)) + " " + f2(AcroFormAppearance.internal.getHeight(formObject)) + " re"); + stream.push("f"); + stream.push("BMC"); + stream.push("q"); + stream.push("0 0 1 rg"); + stream.push("/" + fontKey + " " + f2(calcRes.fontSize) + " Tf " + encodedColor); + stream.push("BT"); + stream.push(calcRes.text); + stream.push("ET"); + stream.push("Q"); + stream.push("EMC"); + xobj.stream = stream.join("\n"); + return xobj; + }, + YesNormal: function YesNormal(formObject) { + var xobj = createFormXObject(formObject); + xobj.scope = formObject.scope; + var fontKey = formObject.scope.internal.getFont(formObject.fontName, formObject.fontStyle).id; + var encodedColor = formObject.scope.__private__.encodeColorString(formObject.color); + var stream = []; + var height = AcroFormAppearance.internal.getHeight(formObject); + var width = AcroFormAppearance.internal.getWidth(formObject); + var calcRes = calculateX(formObject, formObject.caption); + stream.push("1 g"); + stream.push("0 0 " + f2(width) + " " + f2(height) + " re"); + stream.push("f"); + stream.push("q"); + stream.push("0 0 1 rg"); + stream.push("0 0 " + f2(width - 1) + " " + f2(height - 1) + " re"); + stream.push("W"); + stream.push("n"); + stream.push("0 g"); + stream.push("BT"); + stream.push("/" + fontKey + " " + f2(calcRes.fontSize) + " Tf " + encodedColor); + stream.push(calcRes.text); + stream.push("ET"); + stream.push("Q"); + xobj.stream = stream.join("\n"); + return xobj; + }, + /** + * Returns the standard Off Appearance for a CheckBox + * + * @returns {AcroFormXObject} + */ + OffPushDown: function OffPushDown(formObject) { + var xobj = createFormXObject(formObject); + xobj.scope = formObject.scope; + var stream = []; + stream.push("0.749023 g"); + stream.push("0 0 " + f2(AcroFormAppearance.internal.getWidth(formObject)) + " " + f2(AcroFormAppearance.internal.getHeight(formObject)) + " re"); + stream.push("f"); + xobj.stream = stream.join("\n"); + return xobj; + } + }, + RadioButton: { + Circle: { + createAppearanceStream: function createAppearanceStream(name) { + var appearanceStreamContent = { + D: { + Off: AcroFormAppearance.RadioButton.Circle.OffPushDown + }, + N: {} + }; + appearanceStreamContent.N[name] = AcroFormAppearance.RadioButton.Circle.YesNormal; + appearanceStreamContent.D[name] = AcroFormAppearance.RadioButton.Circle.YesPushDown; + return appearanceStreamContent; + }, + getCA: function getCA() { + return "l"; + }, + YesNormal: function YesNormal(formObject) { + var xobj = createFormXObject(formObject); + xobj.scope = formObject.scope; + var stream = []; + // Make the Radius of the Circle relative to min(height, width) of formObject + var DotRadius = AcroFormAppearance.internal.getWidth(formObject) <= AcroFormAppearance.internal.getHeight(formObject) ? AcroFormAppearance.internal.getWidth(formObject) / 4 : AcroFormAppearance.internal.getHeight(formObject) / 4; + // The Borderpadding... + DotRadius = Number((DotRadius * 0.9).toFixed(5)); + var c = AcroFormAppearance.internal.Bezier_C; + var DotRadiusBezier = Number((DotRadius * c).toFixed(5)); + /* + * The Following is a Circle created with Bezier-Curves. + */ + stream.push("q"); + stream.push("1 0 0 1 " + f5(AcroFormAppearance.internal.getWidth(formObject) / 2) + " " + f5(AcroFormAppearance.internal.getHeight(formObject) / 2) + " cm"); + stream.push(DotRadius + " 0 m"); + stream.push(DotRadius + " " + DotRadiusBezier + " " + DotRadiusBezier + " " + DotRadius + " 0 " + DotRadius + " c"); + stream.push("-" + DotRadiusBezier + " " + DotRadius + " -" + DotRadius + " " + DotRadiusBezier + " -" + DotRadius + " 0 c"); + stream.push("-" + DotRadius + " -" + DotRadiusBezier + " -" + DotRadiusBezier + " -" + DotRadius + " 0 -" + DotRadius + " c"); + stream.push(DotRadiusBezier + " -" + DotRadius + " " + DotRadius + " -" + DotRadiusBezier + " " + DotRadius + " 0 c"); + stream.push("f"); + stream.push("Q"); + xobj.stream = stream.join("\n"); + return xobj; + }, + YesPushDown: function YesPushDown(formObject) { + var xobj = createFormXObject(formObject); + xobj.scope = formObject.scope; + var stream = []; + var DotRadius = AcroFormAppearance.internal.getWidth(formObject) <= AcroFormAppearance.internal.getHeight(formObject) ? AcroFormAppearance.internal.getWidth(formObject) / 4 : AcroFormAppearance.internal.getHeight(formObject) / 4; + // The Borderpadding... + DotRadius = Number((DotRadius * 0.9).toFixed(5)); + // Save results for later use; no need to waste + // processor ticks on doing math + var k = Number((DotRadius * 2).toFixed(5)); + var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5)); + var dc = Number((DotRadius * AcroFormAppearance.internal.Bezier_C).toFixed(5)); + stream.push("0.749023 g"); + stream.push("q"); + stream.push("1 0 0 1 " + f5(AcroFormAppearance.internal.getWidth(formObject) / 2) + " " + f5(AcroFormAppearance.internal.getHeight(formObject) / 2) + " cm"); + stream.push(k + " 0 m"); + stream.push(k + " " + kc + " " + kc + " " + k + " 0 " + k + " c"); + stream.push("-" + kc + " " + k + " -" + k + " " + kc + " -" + k + " 0 c"); + stream.push("-" + k + " -" + kc + " -" + kc + " -" + k + " 0 -" + k + " c"); + stream.push(kc + " -" + k + " " + k + " -" + kc + " " + k + " 0 c"); + stream.push("f"); + stream.push("Q"); + stream.push("0 g"); + stream.push("q"); + stream.push("1 0 0 1 " + f5(AcroFormAppearance.internal.getWidth(formObject) / 2) + " " + f5(AcroFormAppearance.internal.getHeight(formObject) / 2) + " cm"); + stream.push(DotRadius + " 0 m"); + stream.push("" + DotRadius + " " + dc + " " + dc + " " + DotRadius + " 0 " + DotRadius + " c"); + stream.push("-" + dc + " " + DotRadius + " -" + DotRadius + " " + dc + " -" + DotRadius + " 0 c"); + stream.push("-" + DotRadius + " -" + dc + " -" + dc + " -" + DotRadius + " 0 -" + DotRadius + " c"); + stream.push(dc + " -" + DotRadius + " " + DotRadius + " -" + dc + " " + DotRadius + " 0 c"); + stream.push("f"); + stream.push("Q"); + xobj.stream = stream.join("\n"); + return xobj; + }, + OffPushDown: function OffPushDown(formObject) { + var xobj = createFormXObject(formObject); + xobj.scope = formObject.scope; + var stream = []; + var DotRadius = AcroFormAppearance.internal.getWidth(formObject) <= AcroFormAppearance.internal.getHeight(formObject) ? AcroFormAppearance.internal.getWidth(formObject) / 4 : AcroFormAppearance.internal.getHeight(formObject) / 4; + // The Borderpadding... + DotRadius = Number((DotRadius * 0.9).toFixed(5)); + // Save results for later use; no need to waste + // processor ticks on doing math + var k = Number((DotRadius * 2).toFixed(5)); + var kc = Number((k * AcroFormAppearance.internal.Bezier_C).toFixed(5)); + stream.push("0.749023 g"); + stream.push("q"); + stream.push("1 0 0 1 " + f5(AcroFormAppearance.internal.getWidth(formObject) / 2) + " " + f5(AcroFormAppearance.internal.getHeight(formObject) / 2) + " cm"); + stream.push(k + " 0 m"); + stream.push(k + " " + kc + " " + kc + " " + k + " 0 " + k + " c"); + stream.push("-" + kc + " " + k + " -" + k + " " + kc + " -" + k + " 0 c"); + stream.push("-" + k + " -" + kc + " -" + kc + " -" + k + " 0 -" + k + " c"); + stream.push(kc + " -" + k + " " + k + " -" + kc + " " + k + " 0 c"); + stream.push("f"); + stream.push("Q"); + xobj.stream = stream.join("\n"); + return xobj; + } + }, + Cross: { + /** + * Creates the Actual AppearanceDictionary-References + * + * @param {string} name + * @returns {Object} + * @ignore + */ + createAppearanceStream: function createAppearanceStream(name) { + var appearanceStreamContent = { + D: { + Off: AcroFormAppearance.RadioButton.Cross.OffPushDown + }, + N: {} + }; + appearanceStreamContent.N[name] = AcroFormAppearance.RadioButton.Cross.YesNormal; + appearanceStreamContent.D[name] = AcroFormAppearance.RadioButton.Cross.YesPushDown; + return appearanceStreamContent; + }, + getCA: function getCA() { + return "8"; + }, + YesNormal: function YesNormal(formObject) { + var xobj = createFormXObject(formObject); + xobj.scope = formObject.scope; + var stream = []; + var cross = AcroFormAppearance.internal.calculateCross(formObject); + stream.push("q"); + stream.push("1 1 " + f2(AcroFormAppearance.internal.getWidth(formObject) - 2) + " " + f2(AcroFormAppearance.internal.getHeight(formObject) - 2) + " re"); + stream.push("W"); + stream.push("n"); + stream.push(f2(cross.x1.x) + " " + f2(cross.x1.y) + " m"); + stream.push(f2(cross.x2.x) + " " + f2(cross.x2.y) + " l"); + stream.push(f2(cross.x4.x) + " " + f2(cross.x4.y) + " m"); + stream.push(f2(cross.x3.x) + " " + f2(cross.x3.y) + " l"); + stream.push("s"); + stream.push("Q"); + xobj.stream = stream.join("\n"); + return xobj; + }, + YesPushDown: function YesPushDown(formObject) { + var xobj = createFormXObject(formObject); + xobj.scope = formObject.scope; + var cross = AcroFormAppearance.internal.calculateCross(formObject); + var stream = []; + stream.push("0.749023 g"); + stream.push("0 0 " + f2(AcroFormAppearance.internal.getWidth(formObject)) + " " + f2(AcroFormAppearance.internal.getHeight(formObject)) + " re"); + stream.push("f"); + stream.push("q"); + stream.push("1 1 " + f2(AcroFormAppearance.internal.getWidth(formObject) - 2) + " " + f2(AcroFormAppearance.internal.getHeight(formObject) - 2) + " re"); + stream.push("W"); + stream.push("n"); + stream.push(f2(cross.x1.x) + " " + f2(cross.x1.y) + " m"); + stream.push(f2(cross.x2.x) + " " + f2(cross.x2.y) + " l"); + stream.push(f2(cross.x4.x) + " " + f2(cross.x4.y) + " m"); + stream.push(f2(cross.x3.x) + " " + f2(cross.x3.y) + " l"); + stream.push("s"); + stream.push("Q"); + xobj.stream = stream.join("\n"); + return xobj; + }, + OffPushDown: function OffPushDown(formObject) { + var xobj = createFormXObject(formObject); + xobj.scope = formObject.scope; + var stream = []; + stream.push("0.749023 g"); + stream.push("0 0 " + f2(AcroFormAppearance.internal.getWidth(formObject)) + " " + f2(AcroFormAppearance.internal.getHeight(formObject)) + " re"); + stream.push("f"); + xobj.stream = stream.join("\n"); + return xobj; + } + } + }, + /** + * Returns the standard Appearance + * + * @returns {AcroFormXObject} + */ + createDefaultAppearanceStream: function createDefaultAppearanceStream(formObject) { + // Set Helvetica to Standard Font (size: auto) + // Color: Black + var fontKey = formObject.scope.internal.getFont(formObject.fontName, formObject.fontStyle).id; + var encodedColor = formObject.scope.__private__.encodeColorString(formObject.color); + var fontSize = formObject.fontSize; + var result = "/" + fontKey + " " + fontSize + " Tf " + encodedColor; + return result; + } + }; + AcroFormAppearance.internal = { + Bezier_C: 0.551915024494, + calculateCross: function calculateCross(formObject) { + var width = AcroFormAppearance.internal.getWidth(formObject); + var height = AcroFormAppearance.internal.getHeight(formObject); + var a = Math.min(width, height); + var cross = { + x1: { + // upperLeft + x: (width - a) / 2, + y: (height - a) / 2 + a // height - borderPadding + }, + x2: { + // lowerRight + x: (width - a) / 2 + a, + y: (height - a) / 2 // borderPadding + }, + x3: { + // lowerLeft + x: (width - a) / 2, + y: (height - a) / 2 // borderPadding + }, + x4: { + // upperRight + x: (width - a) / 2 + a, + y: (height - a) / 2 + a // height - borderPadding + } + }; + return cross; + } + }; + AcroFormAppearance.internal.getWidth = function (formObject) { + var result = 0; + if (_typeof(formObject) === "object") { + result = scale(formObject.Rect[2]); + } + return result; + }; + AcroFormAppearance.internal.getHeight = function (formObject) { + var result = 0; + if (_typeof(formObject) === "object") { + result = scale(formObject.Rect[3]); + } + return result; + }; + + // Public: + + /** + * Add an AcroForm-Field to the jsPDF-instance + * + * @name addField + * @function + * @instance + * @param {Object} fieldObject + * @returns {jsPDF} + */ + var addField = jsPDFAPI.addField = function (fieldObject) { + initializeAcroForm(this, fieldObject); + if (fieldObject instanceof AcroFormField) { + putForm(fieldObject); + } else { + throw new Error("Invalid argument passed to jsPDF.addField."); + } + fieldObject.page = fieldObject.scope.internal.getCurrentPageInfo().pageNumber; + return this; + }; + jsPDFAPI.AcroFormChoiceField = AcroFormChoiceField; + jsPDFAPI.AcroFormListBox = AcroFormListBox; + jsPDFAPI.AcroFormComboBox = AcroFormComboBox; + jsPDFAPI.AcroFormEditBox = AcroFormEditBox; + jsPDFAPI.AcroFormButton = AcroFormButton; + jsPDFAPI.AcroFormPushButton = AcroFormPushButton; + jsPDFAPI.AcroFormRadioButton = AcroFormRadioButton; + jsPDFAPI.AcroFormCheckBox = AcroFormCheckBox; + jsPDFAPI.AcroFormTextField = AcroFormTextField; + jsPDFAPI.AcroFormPasswordField = AcroFormPasswordField; + jsPDFAPI.AcroFormAppearance = AcroFormAppearance; + jsPDFAPI.AcroForm = { + ChoiceField: AcroFormChoiceField, + ListBox: AcroFormListBox, + ComboBox: AcroFormComboBox, + EditBox: AcroFormEditBox, + Button: AcroFormButton, + PushButton: AcroFormPushButton, + RadioButton: AcroFormRadioButton, + CheckBox: AcroFormCheckBox, + TextField: AcroFormTextField, + PasswordField: AcroFormPasswordField, + Appearance: AcroFormAppearance + }; + jsPDF.AcroForm = { + ChoiceField: AcroFormChoiceField, + ListBox: AcroFormListBox, + ComboBox: AcroFormComboBox, + EditBox: AcroFormEditBox, + Button: AcroFormButton, + PushButton: AcroFormPushButton, + RadioButton: AcroFormRadioButton, + CheckBox: AcroFormCheckBox, + TextField: AcroFormTextField, + PasswordField: AcroFormPasswordField, + Appearance: AcroFormAppearance + }; + var AcroForm = jsPDF.AcroForm; + + (function (jsPDFAPI) { + + var namespace = "addImage_"; + jsPDFAPI.__addimage__ = {}; + var UNKNOWN = "UNKNOWN"; + + // Heuristic selection of a good batch for large array .apply. Not limiting make the call overflow. + // With too small batch iteration will be slow as more calls are made, + // higher values cause larger and slower garbage collection. + var ARRAY_APPLY_BATCH = 8192; + var imageFileTypeHeaders = { + PNG: [[0x89, 0x50, 0x4e, 0x47]], + TIFF: [[0x4d, 0x4d, 0x00, 0x2a], + //Motorola + [0x49, 0x49, 0x2a, 0x00] //Intel + ], + JPEG: [[0xff, 0xd8, 0xff, 0xe0, undefined, undefined, 0x4a, 0x46, 0x49, 0x46, 0x00], + //JFIF + [0xff, 0xd8, 0xff, 0xe1, undefined, undefined, 0x45, 0x78, 0x69, 0x66, 0x00, 0x00], + //Exif + [0xff, 0xd8, 0xff, 0xdb], + //JPEG RAW + [0xff, 0xd8, 0xff, 0xee] //EXIF RAW + ], + JPEG2000: [[0x00, 0x00, 0x00, 0x0c, 0x6a, 0x50, 0x20, 0x20]], + GIF87a: [[0x47, 0x49, 0x46, 0x38, 0x37, 0x61]], + GIF89a: [[0x47, 0x49, 0x46, 0x38, 0x39, 0x61]], + WEBP: [[0x52, 0x49, 0x46, 0x46, undefined, undefined, undefined, undefined, 0x57, 0x45, 0x42, 0x50]], + BMP: [[0x42, 0x4d], + //BM - Windows 3.1x, 95, NT, ... etc. + [0x42, 0x41], + //BA - OS/2 struct bitmap array + [0x43, 0x49], + //CI - OS/2 struct color icon + [0x43, 0x50], + //CP - OS/2 const color pointer + [0x49, 0x43], + //IC - OS/2 struct icon + [0x50, 0x54] //PT - OS/2 pointer + ] + }; + + /** + * Recognize filetype of Image by magic-bytes + * + * https://en.wikipedia.org/wiki/List_of_file_signatures + * + * @name getImageFileTypeByImageData + * @public + * @function + * @param {string|arraybuffer} imageData imageData as binary String or arraybuffer + * @param {string} format format of file if filetype-recognition fails, e.g. 'JPEG' + * + * @returns {string} filetype of Image + */ + var getImageFileTypeByImageData = jsPDFAPI.__addimage__.getImageFileTypeByImageData = function (imageData, fallbackFormat) { + fallbackFormat = fallbackFormat || UNKNOWN; + var i; + var j; + var result = UNKNOWN; + var headerSchemata; + var compareResult; + var fileType; + if (fallbackFormat === "RGBA" || imageData.data !== undefined && imageData.data instanceof Uint8ClampedArray && "height" in imageData && "width" in imageData) { + return "RGBA"; + } + if (isArrayBufferView(imageData)) { + for (fileType in imageFileTypeHeaders) { + headerSchemata = imageFileTypeHeaders[fileType]; + for (i = 0; i < headerSchemata.length; i += 1) { + compareResult = true; + for (j = 0; j < headerSchemata[i].length; j += 1) { + if (headerSchemata[i][j] === undefined) { + continue; + } + if (headerSchemata[i][j] !== imageData[j]) { + compareResult = false; + break; + } + } + if (compareResult === true) { + result = fileType; + break; + } + } + } + } else { + for (fileType in imageFileTypeHeaders) { + headerSchemata = imageFileTypeHeaders[fileType]; + for (i = 0; i < headerSchemata.length; i += 1) { + compareResult = true; + for (j = 0; j < headerSchemata[i].length; j += 1) { + if (headerSchemata[i][j] === undefined) { + continue; + } + if (headerSchemata[i][j] !== imageData.charCodeAt(j)) { + compareResult = false; + break; + } + } + if (compareResult === true) { + result = fileType; + break; + } + } + } + } + if (result === UNKNOWN && fallbackFormat !== UNKNOWN) { + result = fallbackFormat; + } + return result; + }; + + // Image functionality ported from pdf.js + var putImage = function putImage(image) { + var out = this.internal.write; + var putStream = this.internal.putStream; + var getFilters = this.internal.getFilters; + var filter = getFilters(); + while (filter.indexOf("FlateEncode") !== -1) { + filter.splice(filter.indexOf("FlateEncode"), 1); + } + image.objectId = this.internal.newObject(); + var additionalKeyValues = []; + additionalKeyValues.push({ + key: "Type", + value: "/XObject" + }); + additionalKeyValues.push({ + key: "Subtype", + value: "/Image" + }); + additionalKeyValues.push({ + key: "Width", + value: image.width + }); + additionalKeyValues.push({ + key: "Height", + value: image.height + }); + if (image.colorSpace === color_spaces.INDEXED) { + additionalKeyValues.push({ + key: "ColorSpace", + value: "[/Indexed /DeviceRGB " + ( + // if an indexed png defines more than one colour with transparency, we've created a sMask + image.palette.length / 3 - 1) + " " + ("sMask" in image && typeof image.sMask !== "undefined" ? image.objectId + 2 : image.objectId + 1) + " 0 R]" + }); + } else { + additionalKeyValues.push({ + key: "ColorSpace", + value: "/" + image.colorSpace + }); + if (image.colorSpace === color_spaces.DEVICE_CMYK) { + additionalKeyValues.push({ + key: "Decode", + value: "[1 0 1 0 1 0 1 0]" + }); + } + } + additionalKeyValues.push({ + key: "BitsPerComponent", + value: image.bitsPerComponent + }); + if ("decodeParameters" in image && typeof image.decodeParameters !== "undefined") { + additionalKeyValues.push({ + key: "DecodeParms", + value: "<<" + image.decodeParameters + ">>" + }); + } + if ("transparency" in image && Array.isArray(image.transparency) && image.transparency.length > 0) { + var transparency = "", + i = 0, + len = image.transparency.length; + for (; i < len; i++) { + transparency += image.transparency[i] + " " + image.transparency[i] + " "; + } + additionalKeyValues.push({ + key: "Mask", + value: "[" + transparency + "]" + }); + } + if (typeof image.sMask !== "undefined") { + additionalKeyValues.push({ + key: "SMask", + value: image.objectId + 1 + " 0 R" + }); + } + var alreadyAppliedFilters = typeof image.filter !== "undefined" ? ["/" + image.filter] : undefined; + putStream({ + data: image.data, + additionalKeyValues: additionalKeyValues, + alreadyAppliedFilters: alreadyAppliedFilters, + objectId: image.objectId + }); + out("endobj"); + + // Soft mask + if ("sMask" in image && typeof image.sMask !== "undefined") { + var _image$sMaskBitsPerCo; + var sMaskBitsPerComponent = (_image$sMaskBitsPerCo = image.sMaskBitsPerComponent) !== null && _image$sMaskBitsPerCo !== void 0 ? _image$sMaskBitsPerCo : image.bitsPerComponent; + var sMask = { + width: image.width, + height: image.height, + colorSpace: "DeviceGray", + bitsPerComponent: sMaskBitsPerComponent, + data: image.sMask + }; + if ("filter" in image) { + sMask.decodeParameters = "/Predictor ".concat(image.predictor, " /Colors 1 /BitsPerComponent ").concat(sMaskBitsPerComponent, " /Columns ").concat(image.width); + sMask.filter = image.filter; + } + putImage.call(this, sMask); + } + + //Palette + if (image.colorSpace === color_spaces.INDEXED) { + var objId = this.internal.newObject(); + //out('<< /Filter / ' + img['f'] +' /Length ' + img['pal'].length + '>>'); + //putStream(zlib.compress(img['pal'])); + putStream({ + data: arrayBufferToBinaryString(new Uint8Array(image.palette)), + objectId: objId + }); + out("endobj"); + } + }; + var putResourcesCallback = function putResourcesCallback() { + var images = this.internal.collections[namespace + "images"]; + for (var i in images) { + putImage.call(this, images[i]); + } + }; + var putXObjectsDictCallback = function putXObjectsDictCallback() { + var images = this.internal.collections[namespace + "images"], + out = this.internal.write, + image; + for (var i in images) { + image = images[i]; + out("/I" + image.index, image.objectId, "0", "R"); + } + }; + var checkCompressValue = function checkCompressValue(value) { + if (value && typeof value === "string") value = value.toUpperCase(); + return value in jsPDFAPI.image_compression ? value : image_compression.NONE; + }; + var initialize = function initialize() { + if (!this.internal.collections[namespace + "images"]) { + this.internal.collections[namespace + "images"] = {}; + this.internal.events.subscribe("putResources", putResourcesCallback); + this.internal.events.subscribe("putXobjectDict", putXObjectsDictCallback); + } + }; + var getImages = function getImages() { + var images = this.internal.collections[namespace + "images"]; + initialize.call(this); + return images; + }; + var getImageIndex = function getImageIndex() { + return Object.keys(this.internal.collections[namespace + "images"]).length; + }; + var notDefined = function notDefined(value) { + return typeof value === "undefined" || value === null || value.length === 0; + }; + var generateAliasFromImageData = function generateAliasFromImageData(imageData) { + if (typeof imageData === "string" || isArrayBufferView(imageData)) { + return sHashCode(imageData); + } else if (isArrayBufferView(imageData.data)) { + return sHashCode(imageData.data); + } + return null; + }; + var isImageTypeSupported = function isImageTypeSupported(type) { + return typeof jsPDFAPI["process" + type.toUpperCase()] === "function"; + }; + var isDOMElement = function isDOMElement(object) { + return _typeof(object) === "object" && object.nodeType === 1; + }; + var getImageDataFromElement = function getImageDataFromElement(element, format) { + //if element is an image which uses data url definition, just return the dataurl + if (element.nodeName === "IMG" && element.hasAttribute("src")) { + var src = "" + element.getAttribute("src"); + + //is base64 encoded dataUrl, directly process it + if (src.indexOf("data:image/") === 0) { + return atob(unescape(src).split("base64,").pop()); + } + + //it is probably an url, try to load it + var tmpImageData = jsPDFAPI.loadFile(src, true); + if (tmpImageData !== undefined) { + return tmpImageData; + } + } + if (element.nodeName === "CANVAS") { + if (element.width === 0 || element.height === 0) { + throw new Error("Given canvas must have data. Canvas width: " + element.width + ", height: " + element.height); + } + var mimeType; + switch (format) { + case "PNG": + mimeType = "image/png"; + break; + case "WEBP": + mimeType = "image/webp"; + break; + case "JPEG": + case "JPG": + default: + mimeType = "image/jpeg"; + break; + } + return atob(element.toDataURL(mimeType, 1.0).split("base64,").pop()); + } + }; + var checkImagesForAlias = function checkImagesForAlias(alias) { + var images = this.internal.collections[namespace + "images"]; + if (images) { + for (var e in images) { + if (alias === images[e].alias) { + return images[e]; + } + } + } + }; + var determineWidthAndHeight = function determineWidthAndHeight(width, height, image) { + if (!width && !height) { + width = -96; + height = -96; + } + if (width < 0) { + width = -1 * image.width * 72 / width / this.internal.scaleFactor; + } + if (height < 0) { + height = -1 * image.height * 72 / height / this.internal.scaleFactor; + } + if (width === 0) { + width = height * image.width / image.height; + } + if (height === 0) { + height = width * image.height / image.width; + } + return [width, height]; + }; + var writeImageToPDF = function writeImageToPDF(x, y, width, height, image, rotation) { + var dims = determineWidthAndHeight.call(this, width, height, image), + coord = this.internal.getCoordinateString, + vcoord = this.internal.getVerticalCoordinateString; + var images = getImages.call(this); + width = dims[0]; + height = dims[1]; + images[image.index] = image; + if (rotation) { + rotation *= Math.PI / 180; + var c = Math.cos(rotation); + var s = Math.sin(rotation); + //like in pdf Reference do it 4 digits instead of 2 + var f4 = function f4(number) { + return number.toFixed(4); + }; + var rotationTransformationMatrix = [f4(c), f4(s), f4(s * -1), f4(c), 0, 0, "cm"]; + } + this.internal.write("q"); //Save graphics state + if (rotation) { + this.internal.write([1, "0", "0", 1, coord(x), vcoord(y + height), "cm"].join(" ")); //Translate + this.internal.write(rotationTransformationMatrix.join(" ")); //Rotate + this.internal.write([coord(width), "0", "0", coord(height), "0", "0", "cm"].join(" ")); //Scale + } else { + this.internal.write([coord(width), "0", "0", coord(height), coord(x), vcoord(y + height), "cm"].join(" ")); //Translate and Scale + } + if (this.isAdvancedAPI()) { + // draw image bottom up when in "advanced" API mode + this.internal.write([1, 0, 0, -1, 0, 0, "cm"].join(" ")); + } + this.internal.write("/I" + image.index + " Do"); //Paint Image + this.internal.write("Q"); //Restore graphics state + }; + + /** + * COLOR SPACES + */ + var color_spaces = jsPDFAPI.color_spaces = { + DEVICE_RGB: "DeviceRGB", + DEVICE_GRAY: "DeviceGray", + DEVICE_CMYK: "DeviceCMYK", + CAL_GREY: "CalGray", + CAL_RGB: "CalRGB", + LAB: "Lab", + ICC_BASED: "ICCBased", + INDEXED: "Indexed", + PATTERN: "Pattern", + SEPARATION: "Separation", + DEVICE_N: "DeviceN" + }; + + /** + * DECODE METHODS + */ + jsPDFAPI.decode = { + DCT_DECODE: "DCTDecode", + FLATE_DECODE: "FlateDecode", + LZW_DECODE: "LZWDecode", + JPX_DECODE: "JPXDecode", + JBIG2_DECODE: "JBIG2Decode", + ASCII85_DECODE: "ASCII85Decode", + ASCII_HEX_DECODE: "ASCIIHexDecode", + RUN_LENGTH_DECODE: "RunLengthDecode", + CCITT_FAX_DECODE: "CCITTFaxDecode" + }; + + /** + * IMAGE COMPRESSION TYPES + */ + var image_compression = jsPDFAPI.image_compression = { + NONE: "NONE", + FAST: "FAST", + MEDIUM: "MEDIUM", + SLOW: "SLOW" + }; + + /** + * @name sHashCode + * @function + * @param {string} data + * @returns {string} + */ + var sHashCode = jsPDFAPI.__addimage__.sHashCode = function (data) { + var hash = 0, + i, + len; + if (typeof data === "string") { + len = data.length; + for (i = 0; i < len; i++) { + hash = (hash << 5) - hash + data.charCodeAt(i); + hash |= 0; // Convert to 32bit integer + } + } else if (isArrayBufferView(data)) { + len = data.byteLength / 2; + for (i = 0; i < len; i++) { + hash = (hash << 5) - hash + data[i]; + hash |= 0; // Convert to 32bit integer + } + } + return hash; + }; + + /** + * Validates if given String is a valid Base64-String + * + * @name validateStringAsBase64 + * @public + * @function + * @param {String} possible Base64-String + * + * @returns {boolean} + */ + var validateStringAsBase64 = jsPDFAPI.__addimage__.validateStringAsBase64 = function (possibleBase64String) { + possibleBase64String = possibleBase64String || ""; + possibleBase64String.toString().trim(); + var result = true; + if (possibleBase64String.length === 0) { + result = false; + } + if (possibleBase64String.length % 4 !== 0) { + result = false; + } + if (/^[A-Za-z0-9+/]+$/.test(possibleBase64String.substr(0, possibleBase64String.length - 2)) === false) { + result = false; + } + if (/^[A-Za-z0-9/][A-Za-z0-9+/]|[A-Za-z0-9+/]=|==$/.test(possibleBase64String.substr(-2)) === false) { + result = false; + } + return result; + }; + + /** + * Strips out and returns info from a valid base64 data URI + * + * @name extractImageFromDataUrl + * @function + * @param {string} dataUrl a valid data URI of format 'data:[][;base64],' + * @returns {string} The raw Base64-encoded data. + */ + var extractImageFromDataUrl = jsPDFAPI.__addimage__.extractImageFromDataUrl = function (dataUrl) { + if (dataUrl == null) { + return null; + } + + // avoid using a regexp for parsing because it might be vulnerable against ReDoS attacks + + dataUrl = dataUrl.trim(); + if (!dataUrl.startsWith("data:")) { + return null; + } + var commaIndex = dataUrl.indexOf(","); + if (commaIndex < 0) { + return null; + } + var dataScheme = dataUrl.substring(0, commaIndex).trim(); + if (!dataScheme.endsWith("base64")) { + return null; + } + return dataUrl.substring(commaIndex + 1); + }; + + /** + * Tests supplied object to determine if ArrayBuffer + * + * @name isArrayBuffer + * @function + * @param {Object} object an Object + * + * @returns {boolean} + */ + jsPDFAPI.__addimage__.isArrayBuffer = function (object) { + return object instanceof ArrayBuffer; + }; + + /** + * Tests supplied object to determine if it implements the ArrayBufferView (TypedArray) interface + * + * @name isArrayBufferView + * @function + * @param {Object} object an Object + * @returns {boolean} + */ + var isArrayBufferView = jsPDFAPI.__addimage__.isArrayBufferView = function (object) { + return object instanceof Int8Array || object instanceof Uint8Array || object instanceof Uint8ClampedArray || object instanceof Int16Array || object instanceof Uint16Array || object instanceof Int32Array || object instanceof Uint32Array || object instanceof Float32Array || object instanceof Float64Array; + }; + + /** + * Convert Binary String to ArrayBuffer + * + * @name binaryStringToUint8Array + * @public + * @function + * @param {string} BinaryString with ImageData + * @returns {Uint8Array} + */ + var binaryStringToUint8Array = jsPDFAPI.__addimage__.binaryStringToUint8Array = function (binary_string) { + var len = binary_string.length; + var bytes = new Uint8Array(len); + for (var i = 0; i < len; i++) { + bytes[i] = binary_string.charCodeAt(i); + } + return bytes; + }; + + /** + * Convert the Buffer to a Binary String + * + * @name arrayBufferToBinaryString + * @public + * @function + * @param {ArrayBuffer|ArrayBufferView} ArrayBuffer buffer or bufferView with ImageData + * + * @returns {String} + */ + var arrayBufferToBinaryString = jsPDFAPI.__addimage__.arrayBufferToBinaryString = function (buffer) { + var out = ""; + // There are calls with both ArrayBuffer and already converted Uint8Array or other BufferView. + // Do not copy the array if input is already an array. + var buf = isArrayBufferView(buffer) ? buffer : new Uint8Array(buffer); + for (var i = 0; i < buf.length; i += ARRAY_APPLY_BATCH) { + // Limit the amount of characters being parsed to prevent overflow. + // Note that while TextDecoder would be faster, it does not have the same + // functionality as fromCharCode with any provided encodings as of 3/2021. + out += String.fromCharCode.apply(null, buf.subarray(i, i + ARRAY_APPLY_BATCH)); + } + return out; + }; + + /** + * Possible parameter for addImage, an RGBA buffer with size. + * + * @typedef {Object} RGBAData + * @property {Uint8ClampedArray} data - Single dimensional array of RGBA values. For example from canvas getImageData. + * @property {number} width - Image width as the data does not carry this information in itself. + * @property {number} height - Image height as the data does not carry this information in itself. + */ + + /** + * Adds an Image to the PDF. + * + * @name addImage + * @public + * @function + * @param {string|HTMLImageElement|HTMLCanvasElement|Uint8Array|RGBAData} imageData imageData as base64 encoded DataUrl or Image-HTMLElement or Canvas-HTMLElement or object containing RGBA array (like output from canvas.getImageData). + * @param {string} format format of file if filetype-recognition fails or in case of a Canvas-Element needs to be specified (default for Canvas is JPEG), e.g. 'JPEG', 'PNG', 'WEBP' + * @param {number} x x Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y y Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {number} width width of the image (in units declared at inception of PDF document) + * @param {number} height height of the Image (in units declared at inception of PDF document) + * @param {string} alias alias of the image (if used multiple times) + * @param {string} compression compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW' + * @param {number} rotation rotation of the image in degrees (0-359) + * + * @returns jsPDF + */ + jsPDFAPI.addImage = function () { + var imageData, format, x, y, w, h, alias, compression, rotation; + imageData = arguments[0]; + if (typeof arguments[1] === "number") { + format = UNKNOWN; + x = arguments[1]; + y = arguments[2]; + w = arguments[3]; + h = arguments[4]; + alias = arguments[5]; + compression = arguments[6]; + rotation = arguments[7]; + } else { + format = arguments[1]; + x = arguments[2]; + y = arguments[3]; + w = arguments[4]; + h = arguments[5]; + alias = arguments[6]; + compression = arguments[7]; + rotation = arguments[8]; + } + if (_typeof(imageData) === "object" && !isDOMElement(imageData) && "imageData" in imageData) { + var options = imageData; + imageData = options.imageData; + format = options.format || format || UNKNOWN; + x = options.x || x || 0; + y = options.y || y || 0; + w = options.w || options.width || w; + h = options.h || options.height || h; + alias = options.alias || alias; + compression = options.compression || compression; + rotation = options.rotation || options.angle || rotation; + } + + //If compression is not explicitly set, determine if we should use compression + var filter = this.internal.getFilters(); + if (compression === undefined && filter.indexOf("FlateEncode") !== -1) { + compression = "SLOW"; + } + if (isNaN(x) || isNaN(y)) { + throw new Error("Invalid coordinates passed to jsPDF.addImage"); + } + initialize.call(this); + var image = processImageData.call(this, imageData, format, alias, compression); + writeImageToPDF.call(this, x, y, w, h, image, rotation); + return this; + }; + var processImageData = function processImageData(imageData, format, alias, compression) { + var result, dataAsBinaryString; + if (typeof imageData === "string" && getImageFileTypeByImageData(imageData) === UNKNOWN) { + imageData = unescape(imageData); + var tmpImageData = convertBase64ToBinaryString(imageData, false); + if (tmpImageData !== "") { + imageData = tmpImageData; + } else { + tmpImageData = jsPDFAPI.loadFile(imageData, true); + if (tmpImageData !== undefined) { + imageData = tmpImageData; + } + } + } + if (isDOMElement(imageData)) { + imageData = getImageDataFromElement(imageData, format); + } + format = getImageFileTypeByImageData(imageData, format); + if (!isImageTypeSupported(format)) { + throw new Error("addImage does not support files of type '" + format + "', please ensure that a plugin for '" + format + "' support is added."); + } + + // now do the heavy lifting + + if (notDefined(alias)) { + alias = generateAliasFromImageData(imageData); + } + result = checkImagesForAlias.call(this, alias); + if (!result) { + // no need to convert if imageData is already uint8array + if (!(imageData instanceof Uint8Array) && format !== "RGBA") { + dataAsBinaryString = imageData; + imageData = binaryStringToUint8Array(imageData); + } + result = this["process" + format.toUpperCase()](imageData, getImageIndex.call(this), alias, checkCompressValue(compression), dataAsBinaryString); + } + if (!result) { + throw new Error("An unknown error occurred whilst processing the image."); + } + return result; + }; + + /** + * @name convertBase64ToBinaryString + * @function + * @param {string} stringData + * @returns {string} binary string + */ + var convertBase64ToBinaryString = jsPDFAPI.__addimage__.convertBase64ToBinaryString = function (stringData, throwError) { + throwError = typeof throwError === "boolean" ? throwError : true; + var imageData = ""; + var rawData; + if (typeof stringData === "string") { + var _extractImageFromData; + rawData = (_extractImageFromData = extractImageFromDataUrl(stringData)) !== null && _extractImageFromData !== void 0 ? _extractImageFromData : stringData; + try { + imageData = atob(rawData); + } catch (e) { + if (throwError) { + if (!validateStringAsBase64(rawData)) { + throw new Error("Supplied Data is not a valid base64-String jsPDF.convertBase64ToBinaryString "); + } else { + throw new Error("atob-Error in jsPDF.convertBase64ToBinaryString " + e.message); + } + } + } + } + return imageData; + }; + + /** + * @name getImageProperties + * @function + * @param {Object} imageData + * @returns {Object} + */ + jsPDFAPI.getImageProperties = function (imageData) { + var image; + var tmpImageData = ""; + var format; + if (isDOMElement(imageData)) { + imageData = getImageDataFromElement(imageData); + } + if (typeof imageData === "string" && getImageFileTypeByImageData(imageData) === UNKNOWN) { + tmpImageData = convertBase64ToBinaryString(imageData, false); + if (tmpImageData === "") { + tmpImageData = jsPDFAPI.loadFile(imageData) || ""; + } + imageData = tmpImageData; + } + format = getImageFileTypeByImageData(imageData); + if (!isImageTypeSupported(format)) { + throw new Error("addImage does not support files of type '" + format + "', please ensure that a plugin for '" + format + "' support is added."); + } + if (!(imageData instanceof Uint8Array)) { + imageData = binaryStringToUint8Array(imageData); + } + image = this["process" + format.toUpperCase()](imageData); + if (!image) { + throw new Error("An unknown error occurred whilst processing the image"); + } + image.fileType = format; + return image; + }; + })(jsPDF.API); + + /** + * @license + * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + (function (jsPDFAPI) { + + var notEmpty = function notEmpty(obj) { + if (typeof obj != "undefined") { + if (obj != "") { + return true; + } + } + }; + jsPDF.API.events.push(["addPage", function (addPageData) { + var pageInfo = this.internal.getPageInfo(addPageData.pageNumber); + pageInfo.pageContext.annotations = []; + }]); + jsPDFAPI.events.push(["putPage", function (putPageData) { + var getHorizontalCoordinateString = this.internal.getCoordinateString; + var getVerticalCoordinateString = this.internal.getVerticalCoordinateString; + var pageInfo = this.internal.getPageInfoByObjId(putPageData.objId); + var pageAnnos = putPageData.pageContext.annotations; + var anno, rect, line; + var found = false; + for (var a = 0; a < pageAnnos.length && !found; a++) { + anno = pageAnnos[a]; + switch (anno.type) { + case "link": + if (notEmpty(anno.options.url) || notEmpty(anno.options.pageNumber)) { + found = true; + } + break; + case "reference": + case "text": + case "freetext": + found = true; + break; + } + } + if (found == false) { + return; + } + this.internal.write("/Annots ["); + for (var i = 0; i < pageAnnos.length; i++) { + anno = pageAnnos[i]; + var escape = this.internal.pdfEscape; + var encryptor = this.internal.getEncryptor(putPageData.objId); + switch (anno.type) { + case "reference": + // References to Widget Annotations (for AcroForm Fields) + this.internal.write(" " + anno.object.objId + " 0 R "); + break; + case "text": + // Create a an object for both the text and the popup + var objText = this.internal.newAdditionalObject(); + var objPopup = this.internal.newAdditionalObject(); + var encryptorText = this.internal.getEncryptor(objText.objId); + var title = anno.title || "Note"; + rect = "/Rect [" + getHorizontalCoordinateString(anno.bounds.x) + " " + getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) + " " + getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w) + " " + getVerticalCoordinateString(anno.bounds.y) + "] "; + line = "<>"; + objText.content = line; + var parent = objText.objId + " 0 R"; + var popoff = 30; + rect = "/Rect [" + getHorizontalCoordinateString(anno.bounds.x + popoff) + " " + getVerticalCoordinateString(anno.bounds.y + anno.bounds.h) + " " + getHorizontalCoordinateString(anno.bounds.x + anno.bounds.w + popoff) + " " + getVerticalCoordinateString(anno.bounds.y) + "] "; + line = "<>"; + } else if (anno.options.pageNumber) { + // first page is 0 + var info = this.internal.getPageInfo(anno.options.pageNumber); + line = "< pageNumber or url [required] + *

If pageNumber is specified, top and zoom may also be specified

+ * @name link + * @function + * @param {number} x + * @param {number} y + * @param {number} w + * @param {number} h + * @param {Object} options + */ + jsPDFAPI.link = function (x, y, w, h, options) { + var pageInfo = this.internal.getCurrentPageInfo(); + var getHorizontalCoordinateString = this.internal.getCoordinateString; + var getVerticalCoordinateString = this.internal.getVerticalCoordinateString; + pageInfo.pageContext.annotations.push({ + finalBounds: { + x: getHorizontalCoordinateString(x), + y: getVerticalCoordinateString(y), + w: getHorizontalCoordinateString(x + w), + h: getVerticalCoordinateString(y + h) + }, + options: options, + type: "link" + }); + }; + + /** + * Currently only supports single line text. + * Returns the width of the text/link + * + * @name textWithLink + * @function + * @param {string} text + * @param {number} x + * @param {number} y + * @param {Object} options + * @returns {number} width the width of the text/link + */ + jsPDFAPI.textWithLink = function (text, x, y, options) { + var totalLineWidth = this.getTextWidth(text); + var lineHeight = this.internal.getLineHeight() / this.internal.scaleFactor; + var linkHeight, linkWidth; + + // Checking if maxWidth option is passed to determine lineWidth and number of lines for each line + if (options.maxWidth !== undefined) { + var maxWidth = options.maxWidth; + linkWidth = maxWidth; + var numOfLines = this.splitTextToSize(text, linkWidth).length; + linkHeight = Math.ceil(lineHeight * numOfLines); + } else { + linkWidth = totalLineWidth; + linkHeight = lineHeight; + } + this.text(text, x, y, options); + + //TODO We really need the text baseline height to do this correctly. + // Or ability to draw text on top, bottom, center, or baseline. + y += lineHeight * 0.2; + //handle x position based on the align option + if (options.align === "center") { + x = x - totalLineWidth / 2; //since starting from center move the x position by half of text width + } + if (options.align === "right") { + x = x - totalLineWidth; + } + this.link(x, y - lineHeight, linkWidth, linkHeight, options); + return totalLineWidth; + }; + + //TODO move into external library + /** + * @name getTextWidth + * @function + * @param {string} text + * @returns {number} txtWidth + */ + jsPDFAPI.getTextWidth = function (text) { + var fontSize = this.internal.getFontSize(); + var txtWidth = this.getStringUnitWidth(text) * fontSize / this.internal.scaleFactor; + return txtWidth; + }; + return this; + })(jsPDF.API); + + /** + * @license + * Copyright (c) 2017 Aras Abbasi + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * jsPDF arabic parser PlugIn + * + * @name arabic + * @module + */ + (function (jsPDFAPI) { + + /** + * Arabic shape substitutions: char code => (isolated, final, initial, medial). + * Arabic Substition A + */ + var arabicSubstitionA = { + 0x0621: [0xfe80], + // ARABIC LETTER HAMZA + 0x0622: [0xfe81, 0xfe82], + // ARABIC LETTER ALEF WITH MADDA ABOVE + 0x0623: [0xfe83, 0xfe84], + // ARABIC LETTER ALEF WITH HAMZA ABOVE + 0x0624: [0xfe85, 0xfe86], + // ARABIC LETTER WAW WITH HAMZA ABOVE + 0x0625: [0xfe87, 0xfe88], + // ARABIC LETTER ALEF WITH HAMZA BELOW + 0x0626: [0xfe89, 0xfe8a, 0xfe8b, 0xfe8c], + // ARABIC LETTER YEH WITH HAMZA ABOVE + 0x0627: [0xfe8d, 0xfe8e], + // ARABIC LETTER ALEF + 0x0628: [0xfe8f, 0xfe90, 0xfe91, 0xfe92], + // ARABIC LETTER BEH + 0x0629: [0xfe93, 0xfe94], + // ARABIC LETTER TEH MARBUTA + 0x062a: [0xfe95, 0xfe96, 0xfe97, 0xfe98], + // ARABIC LETTER TEH + 0x062b: [0xfe99, 0xfe9a, 0xfe9b, 0xfe9c], + // ARABIC LETTER THEH + 0x062c: [0xfe9d, 0xfe9e, 0xfe9f, 0xfea0], + // ARABIC LETTER JEEM + 0x062d: [0xfea1, 0xfea2, 0xfea3, 0xfea4], + // ARABIC LETTER HAH + 0x062e: [0xfea5, 0xfea6, 0xfea7, 0xfea8], + // ARABIC LETTER KHAH + 0x062f: [0xfea9, 0xfeaa], + // ARABIC LETTER DAL + 0x0630: [0xfeab, 0xfeac], + // ARABIC LETTER THAL + 0x0631: [0xfead, 0xfeae], + // ARABIC LETTER REH + 0x0632: [0xfeaf, 0xfeb0], + // ARABIC LETTER ZAIN + 0x0633: [0xfeb1, 0xfeb2, 0xfeb3, 0xfeb4], + // ARABIC LETTER SEEN + 0x0634: [0xfeb5, 0xfeb6, 0xfeb7, 0xfeb8], + // ARABIC LETTER SHEEN + 0x0635: [0xfeb9, 0xfeba, 0xfebb, 0xfebc], + // ARABIC LETTER SAD + 0x0636: [0xfebd, 0xfebe, 0xfebf, 0xfec0], + // ARABIC LETTER DAD + 0x0637: [0xfec1, 0xfec2, 0xfec3, 0xfec4], + // ARABIC LETTER TAH + 0x0638: [0xfec5, 0xfec6, 0xfec7, 0xfec8], + // ARABIC LETTER ZAH + 0x0639: [0xfec9, 0xfeca, 0xfecb, 0xfecc], + // ARABIC LETTER AIN + 0x063a: [0xfecd, 0xfece, 0xfecf, 0xfed0], + // ARABIC LETTER GHAIN + 0x0641: [0xfed1, 0xfed2, 0xfed3, 0xfed4], + // ARABIC LETTER FEH + 0x0642: [0xfed5, 0xfed6, 0xfed7, 0xfed8], + // ARABIC LETTER QAF + 0x0643: [0xfed9, 0xfeda, 0xfedb, 0xfedc], + // ARABIC LETTER KAF + 0x0644: [0xfedd, 0xfede, 0xfedf, 0xfee0], + // ARABIC LETTER LAM + 0x0645: [0xfee1, 0xfee2, 0xfee3, 0xfee4], + // ARABIC LETTER MEEM + 0x0646: [0xfee5, 0xfee6, 0xfee7, 0xfee8], + // ARABIC LETTER NOON + 0x0647: [0xfee9, 0xfeea, 0xfeeb, 0xfeec], + // ARABIC LETTER HEH + 0x0648: [0xfeed, 0xfeee], + // ARABIC LETTER WAW + 0x0649: [0xfeef, 0xfef0, 64488, 64489], + // ARABIC LETTER ALEF MAKSURA + 0x064a: [0xfef1, 0xfef2, 0xfef3, 0xfef4], + // ARABIC LETTER YEH + 0x0671: [0xfb50, 0xfb51], + // ARABIC LETTER ALEF WASLA + 0x0677: [0xfbdd], + // ARABIC LETTER U WITH HAMZA ABOVE + 0x0679: [0xfb66, 0xfb67, 0xfb68, 0xfb69], + // ARABIC LETTER TTEH + 0x067a: [0xfb5e, 0xfb5f, 0xfb60, 0xfb61], + // ARABIC LETTER TTEHEH + 0x067b: [0xfb52, 0xfb53, 0xfb54, 0xfb55], + // ARABIC LETTER BEEH + 0x067e: [0xfb56, 0xfb57, 0xfb58, 0xfb59], + // ARABIC LETTER PEH + 0x067f: [0xfb62, 0xfb63, 0xfb64, 0xfb65], + // ARABIC LETTER TEHEH + 0x0680: [0xfb5a, 0xfb5b, 0xfb5c, 0xfb5d], + // ARABIC LETTER BEHEH + 0x0683: [0xfb76, 0xfb77, 0xfb78, 0xfb79], + // ARABIC LETTER NYEH + 0x0684: [0xfb72, 0xfb73, 0xfb74, 0xfb75], + // ARABIC LETTER DYEH + 0x0686: [0xfb7a, 0xfb7b, 0xfb7c, 0xfb7d], + // ARABIC LETTER TCHEH + 0x0687: [0xfb7e, 0xfb7f, 0xfb80, 0xfb81], + // ARABIC LETTER TCHEHEH + 0x0688: [0xfb88, 0xfb89], + // ARABIC LETTER DDAL + 0x068c: [0xfb84, 0xfb85], + // ARABIC LETTER DAHAL + 0x068d: [0xfb82, 0xfb83], + // ARABIC LETTER DDAHAL + 0x068e: [0xfb86, 0xfb87], + // ARABIC LETTER DUL + 0x0691: [0xfb8c, 0xfb8d], + // ARABIC LETTER RREH + 0x0698: [0xfb8a, 0xfb8b], + // ARABIC LETTER JEH + 0x06a4: [0xfb6a, 0xfb6b, 0xfb6c, 0xfb6d], + // ARABIC LETTER VEH + 0x06a6: [0xfb6e, 0xfb6f, 0xfb70, 0xfb71], + // ARABIC LETTER PEHEH + 0x06a9: [0xfb8e, 0xfb8f, 0xfb90, 0xfb91], + // ARABIC LETTER KEHEH + 0x06ad: [0xfbd3, 0xfbd4, 0xfbd5, 0xfbd6], + // ARABIC LETTER NG + 0x06af: [0xfb92, 0xfb93, 0xfb94, 0xfb95], + // ARABIC LETTER GAF + 0x06b1: [0xfb9a, 0xfb9b, 0xfb9c, 0xfb9d], + // ARABIC LETTER NGOEH + 0x06b3: [0xfb96, 0xfb97, 0xfb98, 0xfb99], + // ARABIC LETTER GUEH + 0x06ba: [0xfb9e, 0xfb9f], + // ARABIC LETTER NOON GHUNNA + 0x06bb: [0xfba0, 0xfba1, 0xfba2, 0xfba3], + // ARABIC LETTER RNOON + 0x06be: [0xfbaa, 0xfbab, 0xfbac, 0xfbad], + // ARABIC LETTER HEH DOACHASHMEE + 0x06c0: [0xfba4, 0xfba5], + // ARABIC LETTER HEH WITH YEH ABOVE + 0x06c1: [0xfba6, 0xfba7, 0xfba8, 0xfba9], + // ARABIC LETTER HEH GOAL + 0x06c5: [0xfbe0, 0xfbe1], + // ARABIC LETTER KIRGHIZ OE + 0x06c6: [0xfbd9, 0xfbda], + // ARABIC LETTER OE + 0x06c7: [0xfbd7, 0xfbd8], + // ARABIC LETTER U + 0x06c8: [0xfbdb, 0xfbdc], + // ARABIC LETTER YU + 0x06c9: [0xfbe2, 0xfbe3], + // ARABIC LETTER KIRGHIZ YU + 0x06cb: [0xfbde, 0xfbdf], + // ARABIC LETTER VE + 0x06cc: [0xfbfc, 0xfbfd, 0xfbfe, 0xfbff], + // ARABIC LETTER FARSI YEH + 0x06d0: [0xfbe4, 0xfbe5, 0xfbe6, 0xfbe7], + //ARABIC LETTER E + 0x06d2: [0xfbae, 0xfbaf], + // ARABIC LETTER YEH BARREE + 0x06d3: [0xfbb0, 0xfbb1] // ARABIC LETTER YEH BARREE WITH HAMZA ABOVE + }; + + /* + var ligaturesSubstitutionA = { + 0xFBEA: []// ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM + }; + */ + + var ligatures = { + 0xfedf: { + 0xfe82: 0xfef5, + // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM + 0xfe84: 0xfef7, + // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM + 0xfe88: 0xfef9, + // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM + 0xfe8e: 0xfefb // ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM + }, + 0xfee0: { + 0xfe82: 0xfef6, + // ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM + 0xfe84: 0xfef8, + // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM + 0xfe88: 0xfefa, + // ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM + 0xfe8e: 0xfefc // ARABIC LIGATURE LAM WITH ALEF FINAL FORM + }, + 0xfe8d: { + 0xfedf: { + 0xfee0: { + 0xfeea: 0xfdf2 + } + } + }, + // ALLAH + 0x0651: { + 0x064c: 0xfc5e, + // Shadda + Dammatan + 0x064d: 0xfc5f, + // Shadda + Kasratan + 0x064e: 0xfc60, + // Shadda + Fatha + 0x064f: 0xfc61, + // Shadda + Damma + 0x0650: 0xfc62 // Shadda + Kasra + } + }; + var arabic_diacritics = { + 1612: 64606, + // Shadda + Dammatan + 1613: 64607, + // Shadda + Kasratan + 1614: 64608, + // Shadda + Fatha + 1615: 64609, + // Shadda + Damma + 1616: 64610 // Shadda + Kasra + }; + var alfletter = [1570, 1571, 1573, 1575]; + var noChangeInForm = -1; + var isolatedForm = 0; + var finalForm = 1; + var initialForm = 2; + var medialForm = 3; + jsPDFAPI.__arabicParser__ = {}; + + //private + var isInArabicSubstitutionA = jsPDFAPI.__arabicParser__.isInArabicSubstitutionA = function (letter) { + return typeof arabicSubstitionA[letter.charCodeAt(0)] !== "undefined"; + }; + var isArabicLetter = jsPDFAPI.__arabicParser__.isArabicLetter = function (letter) { + return typeof letter === "string" && /^[\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF\uFB50-\uFDFF\uFE70-\uFEFF]+$/.test(letter); + }; + var isArabicEndLetter = jsPDFAPI.__arabicParser__.isArabicEndLetter = function (letter) { + return isArabicLetter(letter) && isInArabicSubstitutionA(letter) && arabicSubstitionA[letter.charCodeAt(0)].length <= 2; + }; + var isArabicAlfLetter = jsPDFAPI.__arabicParser__.isArabicAlfLetter = function (letter) { + return isArabicLetter(letter) && alfletter.indexOf(letter.charCodeAt(0)) >= 0; + }; + jsPDFAPI.__arabicParser__.arabicLetterHasIsolatedForm = function (letter) { + return isArabicLetter(letter) && isInArabicSubstitutionA(letter) && arabicSubstitionA[letter.charCodeAt(0)].length >= 1; + }; + var arabicLetterHasFinalForm = jsPDFAPI.__arabicParser__.arabicLetterHasFinalForm = function (letter) { + return isArabicLetter(letter) && isInArabicSubstitutionA(letter) && arabicSubstitionA[letter.charCodeAt(0)].length >= 2; + }; + jsPDFAPI.__arabicParser__.arabicLetterHasInitialForm = function (letter) { + return isArabicLetter(letter) && isInArabicSubstitutionA(letter) && arabicSubstitionA[letter.charCodeAt(0)].length >= 3; + }; + var arabicLetterHasMedialForm = jsPDFAPI.__arabicParser__.arabicLetterHasMedialForm = function (letter) { + return isArabicLetter(letter) && isInArabicSubstitutionA(letter) && arabicSubstitionA[letter.charCodeAt(0)].length == 4; + }; + var resolveLigatures = jsPDFAPI.__arabicParser__.resolveLigatures = function (letters) { + var i = 0; + var tmpLigatures = ligatures; + var result = ""; + var effectedLetters = 0; + for (i = 0; i < letters.length; i += 1) { + if (typeof tmpLigatures[letters.charCodeAt(i)] !== "undefined") { + effectedLetters++; + tmpLigatures = tmpLigatures[letters.charCodeAt(i)]; + if (typeof tmpLigatures === "number") { + result += String.fromCharCode(tmpLigatures); + tmpLigatures = ligatures; + effectedLetters = 0; + } + if (i === letters.length - 1) { + tmpLigatures = ligatures; + result += letters.charAt(i - (effectedLetters - 1)); + i = i - (effectedLetters - 1); + effectedLetters = 0; + } + } else { + tmpLigatures = ligatures; + result += letters.charAt(i - effectedLetters); + i = i - effectedLetters; + effectedLetters = 0; + } + } + return result; + }; + jsPDFAPI.__arabicParser__.isArabicDiacritic = function (letter) { + return letter !== undefined && arabic_diacritics[letter.charCodeAt(0)] !== undefined; + }; + var getCorrectForm = jsPDFAPI.__arabicParser__.getCorrectForm = function (currentChar, beforeChar, nextChar) { + if (!isArabicLetter(currentChar)) { + return -1; + } + if (isInArabicSubstitutionA(currentChar) === false) { + return noChangeInForm; + } + if (!arabicLetterHasFinalForm(currentChar) || !isArabicLetter(beforeChar) && !isArabicLetter(nextChar) || !isArabicLetter(nextChar) && isArabicEndLetter(beforeChar) || isArabicEndLetter(currentChar) && !isArabicLetter(beforeChar) || isArabicEndLetter(currentChar) && isArabicAlfLetter(beforeChar) || isArabicEndLetter(currentChar) && isArabicEndLetter(beforeChar)) { + return isolatedForm; + } + if (arabicLetterHasMedialForm(currentChar) && isArabicLetter(beforeChar) && !isArabicEndLetter(beforeChar) && isArabicLetter(nextChar) && arabicLetterHasFinalForm(nextChar)) { + return medialForm; + } + if (isArabicEndLetter(currentChar) || !isArabicLetter(nextChar)) { + return finalForm; + } + return initialForm; + }; + + /** + * @name processArabic + * @function + * @param {string} text + * @returns {string} + */ + var parseArabic = function parseArabic(text) { + text = text || ""; + var result = ""; + var i = 0; + var j = 0; + var position = 0; + var currentLetter = ""; + var prevLetter = ""; + var nextLetter = ""; + var words = text.split("\\s+"); + var newWords = []; + for (i = 0; i < words.length; i += 1) { + newWords.push(""); + for (j = 0; j < words[i].length; j += 1) { + currentLetter = words[i][j]; + prevLetter = words[i][j - 1]; + nextLetter = words[i][j + 1]; + if (isArabicLetter(currentLetter)) { + position = getCorrectForm(currentLetter, prevLetter, nextLetter); + if (position !== -1) { + newWords[i] += String.fromCharCode(arabicSubstitionA[currentLetter.charCodeAt(0)][position]); + } else { + newWords[i] += currentLetter; + } + } else { + newWords[i] += currentLetter; + } + } + newWords[i] = resolveLigatures(newWords[i]); + } + result = newWords.join(" "); + return result; + }; + var processArabic = jsPDFAPI.__arabicParser__.processArabic = jsPDFAPI.processArabic = function () { + var text = typeof arguments[0] === "string" ? arguments[0] : arguments[0].text; + var tmpText = []; + var result; + if (Array.isArray(text)) { + var i = 0; + tmpText = []; + for (i = 0; i < text.length; i += 1) { + if (Array.isArray(text[i])) { + tmpText.push([parseArabic(text[i][0]), text[i][1], text[i][2]]); + } else { + tmpText.push([parseArabic(text[i])]); + } + } + result = tmpText; + } else { + result = parseArabic(text); + } + if (typeof arguments[0] === "string") { + return result; + } else { + arguments[0].text = result; + return arguments[0]; + } + }; + jsPDFAPI.events.push(["preProcessText", processArabic]); + })(jsPDF.API); + + /** @license + * jsPDF Autoprint Plugin + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * @name autoprint + * @module + */ + (function (jsPDFAPI) { + + /** + * Makes the PDF automatically open the print-Dialog when opened in a PDF-viewer. + * + * @name autoPrint + * @function + * @param {Object} options (optional) Set the attribute variant to 'non-conform' (default) or 'javascript' to activate different methods of automatic printing when opening in a PDF-viewer . + * @returns {jsPDF} + * @example + * var doc = new jsPDF(); + * doc.text(10, 10, 'This is a test'); + * doc.autoPrint({variant: 'non-conform'}); + * doc.save('autoprint.pdf'); + */ + jsPDFAPI.autoPrint = function (options) { + + var refAutoPrintTag; + options = options || {}; + options.variant = options.variant || "non-conform"; + switch (options.variant) { + case "javascript": + //https://github.com/Rob--W/pdf.js/commit/c676ecb5a0f54677b9f3340c3ef2cf42225453bb + this.addJS("print({});"); + break; + case "non-conform": + default: + this.internal.events.subscribe("postPutResources", function () { + refAutoPrintTag = this.internal.newObject(); + this.internal.out("<<"); + this.internal.out("/S /Named"); + this.internal.out("/Type /Action"); + this.internal.out("/N /Print"); + this.internal.out(">>"); + this.internal.out("endobj"); + }); + this.internal.events.subscribe("putCatalog", function () { + this.internal.out("/OpenAction " + refAutoPrintTag + " 0 R"); + }); + break; + } + return this; + }; + })(jsPDF.API); + + /** + * @license + * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * jsPDF Canvas PlugIn + * This plugin mimics the HTML5 Canvas + * + * The goal is to provide a way for current canvas users to print directly to a PDF. + * @name canvas + * @module + */ + (function (jsPDFAPI) { + + /** + * @class Canvas + * @classdesc A Canvas Wrapper for jsPDF + */ + var Canvas = function Canvas() { + var jsPdfInstance = undefined; + Object.defineProperty(this, "pdf", { + get: function get() { + return jsPdfInstance; + }, + set: function set(value) { + jsPdfInstance = value; + } + }); + var _width = 150; + /** + * The height property is a positive integer reflecting the height HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 150 is used. + * This is one of the two properties, the other being width, that controls the size of the canvas. + * + * @name width + */ + Object.defineProperty(this, "width", { + get: function get() { + return _width; + }, + set: function set(value) { + if (isNaN(value) || Number.isInteger(value) === false || value < 0) { + _width = 150; + } else { + _width = value; + } + if (this.getContext("2d").pageWrapXEnabled) { + this.getContext("2d").pageWrapX = _width + 1; + } + } + }); + var _height = 300; + /** + * The width property is a positive integer reflecting the width HTML attribute of the element interpreted in CSS pixels. When the attribute is not specified, or if it is set to an invalid value, like a negative, the default value of 300 is used. + * This is one of the two properties, the other being height, that controls the size of the canvas. + * + * @name height + */ + Object.defineProperty(this, "height", { + get: function get() { + return _height; + }, + set: function set(value) { + if (isNaN(value) || Number.isInteger(value) === false || value < 0) { + _height = 300; + } else { + _height = value; + } + if (this.getContext("2d").pageWrapYEnabled) { + this.getContext("2d").pageWrapY = _height + 1; + } + } + }); + var _childNodes = []; + Object.defineProperty(this, "childNodes", { + get: function get() { + return _childNodes; + }, + set: function set(value) { + _childNodes = value; + } + }); + var _style = {}; + Object.defineProperty(this, "style", { + get: function get() { + return _style; + }, + set: function set(value) { + _style = value; + } + }); + Object.defineProperty(this, "parentNode", {}); + }; + + /** + * The getContext() method returns a drawing context on the canvas, or null if the context identifier is not supported. + * + * @name getContext + * @function + * @param {string} contextType Is a String containing the context identifier defining the drawing context associated to the canvas. Possible value is "2d", leading to the creation of a Context2D object representing a two-dimensional rendering context. + * @param {object} contextAttributes + */ + Canvas.prototype.getContext = function (contextType, contextAttributes) { + contextType = contextType || "2d"; + var key; + if (contextType !== "2d") { + return null; + } + for (key in contextAttributes) { + if (this.pdf.context2d.hasOwnProperty(key)) { + this.pdf.context2d[key] = contextAttributes[key]; + } + } + this.pdf.context2d._canvas = this; + return this.pdf.context2d; + }; + + /** + * The toDataURL() method is just a stub to throw an error if accidently called. + * + * @name toDataURL + * @function + */ + Canvas.prototype.toDataURL = function () { + throw new Error("toDataURL is not implemented."); + }; + jsPDFAPI.events.push(["initialized", function () { + this.canvas = new Canvas(); + this.canvas.pdf = this; + }]); + return this; + })(jsPDF.API); + + /** + * @name cell + * @module + */ + (function (jsPDFAPI) { + + var NO_MARGINS = { + left: 0, + top: 0, + bottom: 0, + right: 0 + }; + var px2pt = 0.264583 * 72 / 25.4; + var printingHeaderRow = false; + var _initialize = function _initialize() { + if (typeof this.internal.__cell__ === "undefined") { + this.internal.__cell__ = {}; + this.internal.__cell__.padding = 3; + this.internal.__cell__.headerFunction = undefined; + this.internal.__cell__.margins = Object.assign({}, NO_MARGINS); + this.internal.__cell__.margins.width = this.getPageWidth(); + _reset.call(this); + } + }; + var _reset = function _reset() { + this.internal.__cell__.lastCell = new Cell(); + this.internal.__cell__.pages = 1; + }; + var Cell = function Cell() { + var _x = arguments[0]; + Object.defineProperty(this, "x", { + enumerable: true, + get: function get() { + return _x; + }, + set: function set(value) { + _x = value; + } + }); + var _y = arguments[1]; + Object.defineProperty(this, "y", { + enumerable: true, + get: function get() { + return _y; + }, + set: function set(value) { + _y = value; + } + }); + var _width = arguments[2]; + Object.defineProperty(this, "width", { + enumerable: true, + get: function get() { + return _width; + }, + set: function set(value) { + _width = value; + } + }); + var _height = arguments[3]; + Object.defineProperty(this, "height", { + enumerable: true, + get: function get() { + return _height; + }, + set: function set(value) { + _height = value; + } + }); + var _text = arguments[4]; + Object.defineProperty(this, "text", { + enumerable: true, + get: function get() { + return _text; + }, + set: function set(value) { + _text = value; + } + }); + var _lineNumber = arguments[5]; + Object.defineProperty(this, "lineNumber", { + enumerable: true, + get: function get() { + return _lineNumber; + }, + set: function set(value) { + _lineNumber = value; + } + }); + var _align = arguments[6]; + Object.defineProperty(this, "align", { + enumerable: true, + get: function get() { + return _align; + }, + set: function set(value) { + _align = value; + } + }); + return this; + }; + Cell.prototype.clone = function () { + return new Cell(this.x, this.y, this.width, this.height, this.text, this.lineNumber, this.align); + }; + Cell.prototype.toArray = function () { + return [this.x, this.y, this.width, this.height, this.text, this.lineNumber, this.align]; + }; + + /** + * @name setHeaderFunction + * @function + * @param {function} func + */ + jsPDFAPI.setHeaderFunction = function (func) { + _initialize.call(this); + this.internal.__cell__.headerFunction = typeof func === "function" ? func : undefined; + return this; + }; + + /** + * @name getTextDimensions + * @function + * @param {string} txt + * @returns {Object} dimensions + */ + jsPDFAPI.getTextDimensions = function (text, options) { + _initialize.call(this); + options = options || {}; + var fontSize = options.fontSize || this.getFontSize(); + var font = options.font || this.getFont(); + var scaleFactor = options.scaleFactor || this.internal.scaleFactor; + var width = 0; + var amountOfLines = 0; + var height = 0; + var tempWidth = 0; + var scope = this; + if (!Array.isArray(text) && typeof text !== "string") { + if (typeof text === "number") { + text = String(text); + } else { + throw new Error("getTextDimensions expects text-parameter to be of type String or type Number or an Array of Strings."); + } + } + var maxWidth = options.maxWidth; + if (maxWidth > 0) { + if (typeof text === "string") { + text = this.splitTextToSize(text, maxWidth); + } else if (Object.prototype.toString.call(text) === "[object Array]") { + text = text.reduce(function (acc, textLine) { + return acc.concat(scope.splitTextToSize(textLine, maxWidth)); + }, []); + } + } else { + // Without the else clause, it will not work if you do not pass along maxWidth + text = Array.isArray(text) ? text : [text]; + } + for (var i = 0; i < text.length; i++) { + tempWidth = this.getStringUnitWidth(text[i], { + font: font + }) * fontSize; + if (width < tempWidth) { + width = tempWidth; + } + } + if (width !== 0) { + amountOfLines = text.length; + } + width = width / scaleFactor; + height = Math.max((amountOfLines * fontSize * this.getLineHeightFactor() - fontSize * (this.getLineHeightFactor() - 1)) / scaleFactor, 0); + return { + w: width, + h: height + }; + }; + + /** + * @name cellAddPage + * @function + */ + jsPDFAPI.cellAddPage = function () { + _initialize.call(this); + this.addPage(); + var margins = this.internal.__cell__.margins || NO_MARGINS; + this.internal.__cell__.lastCell = new Cell(margins.left, margins.top, undefined, undefined); + this.internal.__cell__.pages += 1; + return this; + }; + + /** + * @name cell + * @function + * @param {number} x + * @param {number} y + * @param {number} width + * @param {number} height + * @param {string} text + * @param {number} lineNumber lineNumber + * @param {string} align + * @return {jsPDF} jsPDF-instance + */ + var cell = jsPDFAPI.cell = function () { + var currentCell; + if (arguments[0] instanceof Cell) { + currentCell = arguments[0]; + } else { + currentCell = new Cell(arguments[0], arguments[1], arguments[2], arguments[3], arguments[4], arguments[5]); + } + _initialize.call(this); + var lastCell = this.internal.__cell__.lastCell; + var padding = this.internal.__cell__.padding; + var margins = this.internal.__cell__.margins || NO_MARGINS; + var tableHeaderRow = this.internal.__cell__.tableHeaderRow; + var printHeaders = this.internal.__cell__.printHeaders; + // If this is not the first cell, we must change its position + if (typeof lastCell.lineNumber !== "undefined") { + if (lastCell.lineNumber === currentCell.lineNumber) { + //Same line + currentCell.x = (lastCell.x || 0) + (lastCell.width || 0); + currentCell.y = lastCell.y || 0; + } else { + //New line + if (lastCell.y + lastCell.height + currentCell.height + margins.bottom > this.getPageHeight()) { + this.cellAddPage(); + currentCell.y = margins.top; + if (printHeaders && tableHeaderRow) { + this.printHeaderRow(currentCell.lineNumber, true); + currentCell.y += tableHeaderRow[0].height; + } + } else { + currentCell.y = lastCell.y + lastCell.height || currentCell.y; + } + } + } + if (typeof currentCell.text[0] !== "undefined") { + this.rect(currentCell.x, currentCell.y, currentCell.width, currentCell.height, printingHeaderRow === true ? "FD" : undefined); + if (currentCell.align === "right") { + this.text(currentCell.text, currentCell.x + currentCell.width - padding, currentCell.y + padding, { + align: "right", + baseline: "top" + }); + } else if (currentCell.align === "center") { + this.text(currentCell.text, currentCell.x + currentCell.width / 2, currentCell.y + padding, { + align: "center", + baseline: "top", + maxWidth: currentCell.width - padding - padding + }); + } else { + this.text(currentCell.text, currentCell.x + padding, currentCell.y + padding, { + align: "left", + baseline: "top", + maxWidth: currentCell.width - padding - padding + }); + } + } + this.internal.__cell__.lastCell = currentCell; + return this; + }; + + /** + * Create a table from a set of data. + * @name table + * @function + * @param {Integer} [x] : left-position for top-left corner of table + * @param {Integer} [y] top-position for top-left corner of table + * @param {Object[]} [data] An array of objects containing key-value pairs corresponding to a row of data. + * @param {String[]} [headers] Omit or null to auto-generate headers at a performance cost + * @param {Object} [config.printHeaders] True to print column headers at the top of every page + * @param {Object} [config.autoSize] True to dynamically set the column widths to match the widest cell value + * @param {Object} [config.margins] margin values for left, top, bottom, and width + * @param {Object} [config.fontSize] Integer fontSize to use (optional) + * @param {Object} [config.padding] cell-padding in pt to use (optional) + * @param {Object} [config.headerBackgroundColor] default is #c8c8c8 (optional) + * @param {Object} [config.headerTextColor] default is #000 (optional) + * @param {Object} [config.rowStart] callback to handle before print each row (optional) + * @param {Object} [config.cellStart] callback to handle before print each cell (optional) + * @returns {jsPDF} jsPDF-instance + */ + + jsPDFAPI.table = function (x, y, data, headers, config) { + _initialize.call(this); + if (!data) { + throw new Error("No data for PDF table."); + } + config = config || {}; + var headerNames = [], + headerLabels = [], + headerAligns = [], + i, + columnMatrix = {}, + columnWidths = {}, + column, + columnMinWidths = [], + j, + tableHeaderConfigs = [], + //set up defaults. If a value is provided in config, defaults will be overwritten: + autoSize = config.autoSize || false, + printHeaders = config.printHeaders === false ? false : true, + fontSize = config.css && typeof config.css["font-size"] !== "undefined" ? config.css["font-size"] * 16 : config.fontSize || 12, + margins = config.margins || Object.assign({ + width: this.getPageWidth() + }, NO_MARGINS), + padding = typeof config.padding === "number" ? config.padding : 3, + headerBackgroundColor = config.headerBackgroundColor || "#c8c8c8", + headerTextColor = config.headerTextColor || "#000"; + _reset.call(this); + this.internal.__cell__.printHeaders = printHeaders; + this.internal.__cell__.margins = margins; + this.internal.__cell__.table_font_size = fontSize; + this.internal.__cell__.padding = padding; + this.internal.__cell__.headerBackgroundColor = headerBackgroundColor; + this.internal.__cell__.headerTextColor = headerTextColor; + this.setFontSize(fontSize); + + // Set header values + if (headers === undefined || headers === null) { + // No headers defined so we derive from data + headerNames = Object.keys(data[0]); + headerLabels = headerNames; + headerAligns = headerNames.map(function () { + return "left"; + }); + } else if (Array.isArray(headers) && _typeof(headers[0]) === "object") { + headerNames = headers.map(function (header) { + return header.name; + }); + headerLabels = headers.map(function (header) { + return header.prompt || header.name || ""; + }); + headerAligns = headers.map(function (header) { + return header.align || "left"; + }); + // Split header configs into names and prompts + for (i = 0; i < headers.length; i += 1) { + columnWidths[headers[i].name] = headers[i].width * px2pt; + } + } else if (Array.isArray(headers) && typeof headers[0] === "string") { + headerNames = headers; + headerLabels = headerNames; + headerAligns = headerNames.map(function () { + return "left"; + }); + } + if (autoSize || Array.isArray(headers) && typeof headers[0] === "string") { + var headerName; + for (i = 0; i < headerNames.length; i += 1) { + headerName = headerNames[i]; + + // Create a matrix of columns e.g., {column_title: [row1_Record, row2_Record]} + + columnMatrix[headerName] = data.map(function (rec) { + return rec[headerName]; + }); + + // get header width + this.setFont(undefined, "bold"); + columnMinWidths.push(this.getTextDimensions(headerLabels[i], { + fontSize: this.internal.__cell__.table_font_size, + scaleFactor: this.internal.scaleFactor + }).w); + column = columnMatrix[headerName]; + + // get cell widths + this.setFont(undefined, "normal"); + for (j = 0; j < column.length; j += 1) { + columnMinWidths.push(this.getTextDimensions(column[j], { + fontSize: this.internal.__cell__.table_font_size, + scaleFactor: this.internal.scaleFactor + }).w); + } + + // get final column width + columnWidths[headerName] = Math.max.apply(null, columnMinWidths) + padding + padding; + + //have to reset + columnMinWidths = []; + } + } + + // -- Construct the table + + if (printHeaders) { + var row = {}; + for (i = 0; i < headerNames.length; i += 1) { + row[headerNames[i]] = {}; + row[headerNames[i]].text = headerLabels[i]; + row[headerNames[i]].align = headerAligns[i]; + } + var rowHeight = calculateLineHeight.call(this, row, columnWidths); + + // Construct the header row + tableHeaderConfigs = headerNames.map(function (value) { + return new Cell(x, y, columnWidths[value], rowHeight, row[value].text, undefined, row[value].align); + }); + + // Store the table header config + this.setTableHeaderRow(tableHeaderConfigs); + + // Print the header for the start of the table + this.printHeaderRow(1, false); + } + + // Construct the data rows + + var align = headers.reduce(function (pv, cv) { + pv[cv.name] = cv.align; + return pv; + }, {}); + for (i = 0; i < data.length; i += 1) { + if ("rowStart" in config && config.rowStart instanceof Function) { + config.rowStart({ + row: i, + data: data[i] + }, this); + } + var lineHeight = calculateLineHeight.call(this, data[i], columnWidths); + for (j = 0; j < headerNames.length; j += 1) { + var cellData = data[i][headerNames[j]]; + if ("cellStart" in config && config.cellStart instanceof Function) { + config.cellStart({ + row: i, + col: j, + data: cellData + }, this); + } + cell.call(this, new Cell(x, y, columnWidths[headerNames[j]], lineHeight, cellData, i + 2, align[headerNames[j]])); + } + } + this.internal.__cell__.table_x = x; + this.internal.__cell__.table_y = y; + return this; + }; + + /** + * Calculate the height for containing the highest column + * + * @name calculateLineHeight + * @function + * @param {Object[]} model is the line of data we want to calculate the height of + * @param {Integer[]} columnWidths is size of each column + * @returns {number} lineHeight + * @private + */ + var calculateLineHeight = function calculateLineHeight(model, columnWidths) { + var padding = this.internal.__cell__.padding; + var fontSize = this.internal.__cell__.table_font_size; + var scaleFactor = this.internal.scaleFactor; + return Object.keys(model).map(function (key) { + var value = model[key]; + return this.splitTextToSize(value.hasOwnProperty("text") ? value.text : value, columnWidths[key] - padding - padding); + }, this).map(function (value) { + return this.getLineHeightFactor() * value.length * fontSize / scaleFactor + padding + padding; + }, this).reduce(function (pv, cv) { + return Math.max(pv, cv); + }, 0); + }; + + /** + * Store the config for outputting a table header + * + * @name setTableHeaderRow + * @function + * @param {Object[]} config + * An array of cell configs that would define a header row: Each config matches the config used by jsPDFAPI.cell + * except the lineNumber parameter is excluded + */ + jsPDFAPI.setTableHeaderRow = function (config) { + _initialize.call(this); + this.internal.__cell__.tableHeaderRow = config; + }; + + /** + * Output the store header row + * + * @name printHeaderRow + * @function + * @param {number} lineNumber The line number to output the header at + * @param {boolean} new_page + */ + jsPDFAPI.printHeaderRow = function (lineNumber, new_page) { + _initialize.call(this); + if (!this.internal.__cell__.tableHeaderRow) { + throw new Error("Property tableHeaderRow does not exist."); + } + var tableHeaderCell; + printingHeaderRow = true; + if (typeof this.internal.__cell__.headerFunction === "function") { + var position = this.internal.__cell__.headerFunction(this, this.internal.__cell__.pages); + this.internal.__cell__.lastCell = new Cell(position[0], position[1], position[2], position[3], undefined, -1); + } + this.setFont(undefined, "bold"); + var tempHeaderConf = []; + for (var i = 0; i < this.internal.__cell__.tableHeaderRow.length; i += 1) { + tableHeaderCell = this.internal.__cell__.tableHeaderRow[i].clone(); + if (new_page) { + tableHeaderCell.y = this.internal.__cell__.margins.top || 0; + tempHeaderConf.push(tableHeaderCell); + } + tableHeaderCell.lineNumber = lineNumber; + var currentTextColor = this.getTextColor(); + this.setTextColor(this.internal.__cell__.headerTextColor); + this.setFillColor(this.internal.__cell__.headerBackgroundColor); + cell.call(this, tableHeaderCell); + this.setTextColor(currentTextColor); + } + if (tempHeaderConf.length > 0) { + this.setTableHeaderRow(tempHeaderConf); + } + this.setFont(undefined, "normal"); + printingHeaderRow = false; + }; + })(jsPDF.API); + + function toLookup(arr) { + return arr.reduce(function (lookup, name, index) { + lookup[name] = index; + return lookup; + }, {}); + } + var fontStyleOrder = { + italic: ["italic", "oblique", "normal"], + oblique: ["oblique", "italic", "normal"], + normal: ["normal", "oblique", "italic"] + }; + var fontStretchOrder = ["ultra-condensed", "extra-condensed", "condensed", "semi-condensed", "normal", "semi-expanded", "expanded", "extra-expanded", "ultra-expanded"]; + + // For a given font-stretch value, we need to know where to start our search + // from in the fontStretchOrder list. + var fontStretchLookup = toLookup(fontStretchOrder); + var fontWeights = [100, 200, 300, 400, 500, 600, 700, 800, 900]; + var fontWeightsLookup = toLookup(fontWeights); + function normalizeFontStretch(stretch) { + stretch = stretch || "normal"; + return typeof fontStretchLookup[stretch] === "number" ? stretch : "normal"; + } + function normalizeFontStyle(style) { + style = style || "normal"; + return fontStyleOrder[style] ? style : "normal"; + } + function normalizeFontWeight(weight) { + if (!weight) { + return 400; + } + if (typeof weight === "number") { + // Ignore values which aren't valid font-weights. + return weight >= 100 && weight <= 900 && weight % 100 === 0 ? weight : 400; + } + if (/^\d00$/.test(weight)) { + return parseInt(weight); + } + switch (weight) { + case "bold": + return 700; + case "normal": + default: + return 400; + } + } + function normalizeFontFace(fontFace) { + var family = fontFace.family.replace(/"|'/g, "").toLowerCase(); + var style = normalizeFontStyle(fontFace.style); + var weight = normalizeFontWeight(fontFace.weight); + var stretch = normalizeFontStretch(fontFace.stretch); + return { + family: family, + style: style, + weight: weight, + stretch: stretch, + src: fontFace.src || [], + // The ref property maps this font-face to the font + // added by the .addFont() method. + ref: fontFace.ref || { + name: family, + style: [stretch, style, weight].join(" ") + } + }; + } + + /** + * Turns a list of font-faces into a map, for easier lookup when resolving + * fonts. + * @private + */ + function buildFontFaceMap(fontFaces) { + var map = {}; + for (var i = 0; i < fontFaces.length; ++i) { + var normalized = normalizeFontFace(fontFaces[i]); + var name = normalized.family; + var stretch = normalized.stretch; + var style = normalized.style; + var weight = normalized.weight; + map[name] = map[name] || {}; + map[name][stretch] = map[name][stretch] || {}; + map[name][stretch][style] = map[name][stretch][style] || {}; + map[name][stretch][style][weight] = normalized; + } + return map; + } + + /** + * Searches a map of stretches, weights, etc. in the given direction and + * then, if no match has been found, in the opposite directions. + * + * @param {Object.} matchingSet A map of the various font variations. + * @param {any[]} order The order of the different variations + * @param {number} pivot The starting point of the search in the order list. + * @param {number} dir The initial direction of the search (desc = -1, asc = 1) + * @private + */ + + function searchFromPivot(matchingSet, order, pivot, dir) { + var i; + for (i = pivot; i >= 0 && i < order.length; i += dir) { + if (matchingSet[order[i]]) { + return matchingSet[order[i]]; + } + } + for (i = pivot; i >= 0 && i < order.length; i -= dir) { + if (matchingSet[order[i]]) { + return matchingSet[order[i]]; + } + } + } + function resolveFontStretch(stretch, matchingSet) { + if (matchingSet[stretch]) { + return matchingSet[stretch]; + } + var pivot = fontStretchLookup[stretch]; + + // If the font-stretch value is normal or more condensed, we want to + // start with a descending search, otherwise we should do ascending. + var dir = pivot <= fontStretchLookup["normal"] ? -1 : 1; + var match = searchFromPivot(matchingSet, fontStretchOrder, pivot, dir); + if (!match) { + // Since a font-family cannot exist without having at least one stretch value + // we should never reach this point. + throw new Error("Could not find a matching font-stretch value for " + stretch); + } + return match; + } + function resolveFontStyle(fontStyle, matchingSet) { + if (matchingSet[fontStyle]) { + return matchingSet[fontStyle]; + } + var ordering = fontStyleOrder[fontStyle]; + for (var i = 0; i < ordering.length; ++i) { + if (matchingSet[ordering[i]]) { + return matchingSet[ordering[i]]; + } + } + + // Since a font-family cannot exist without having at least one style value + // we should never reach this point. + throw new Error("Could not find a matching font-style for " + fontStyle); + } + function resolveFontWeight(weight, matchingSet) { + if (matchingSet[weight]) { + return matchingSet[weight]; + } + if (weight === 400 && matchingSet[500]) { + return matchingSet[500]; + } + if (weight === 500 && matchingSet[400]) { + return matchingSet[400]; + } + var pivot = fontWeightsLookup[weight]; + + // If the font-stretch value is normal or more condensed, we want to + // start with a descending search, otherwise we should do ascending. + var dir = weight < 400 ? -1 : 1; + var match = searchFromPivot(matchingSet, fontWeights, pivot, dir); + if (!match) { + // Since a font-family cannot exist without having at least one stretch value + // we should never reach this point. + throw new Error("Could not find a matching font-weight for value " + weight); + } + return match; + } + var defaultGenericFontFamilies = { + "sans-serif": "helvetica", + fixed: "courier", + monospace: "courier", + terminal: "courier", + cursive: "times", + fantasy: "times", + serif: "times" + }; + var systemFonts = { + caption: "times", + icon: "times", + menu: "times", + "message-box": "times", + "small-caption": "times", + "status-bar": "times" + }; + function ruleToString(rule) { + return [rule.stretch, rule.style, rule.weight, rule.family].join(" "); + } + function resolveFontFace(fontFaceMap, rules, opts) { + opts = opts || {}; + var defaultFontFamily = opts.defaultFontFamily || "times"; + var genericFontFamilies = Object.assign({}, defaultGenericFontFamilies, opts.genericFontFamilies || {}); + var rule = null; + var matches = null; + for (var i = 0; i < rules.length; ++i) { + rule = normalizeFontFace(rules[i]); + if (genericFontFamilies[rule.family]) { + rule.family = genericFontFamilies[rule.family]; + } + if (fontFaceMap.hasOwnProperty(rule.family)) { + matches = fontFaceMap[rule.family]; + break; + } + } + + // Always fallback to a known font family. + matches = matches || fontFaceMap[defaultFontFamily]; + if (!matches) { + // At this point we should definitiely have a font family, but if we + // don't there is something wrong with our configuration + throw new Error("Could not find a font-family for the rule '" + ruleToString(rule) + "' and default family '" + defaultFontFamily + "'."); + } + matches = resolveFontStretch(rule.stretch, matches); + matches = resolveFontStyle(rule.style, matches); + matches = resolveFontWeight(rule.weight, matches); + if (!matches) { + // We should've fount + throw new Error("Failed to resolve a font for the rule '" + ruleToString(rule) + "'."); + } + return matches; + } + function eatWhiteSpace(input) { + return input.trimLeft(); + } + function parseQuotedFontFamily(input, quote) { + var index = 0; + while (index < input.length) { + var current = input.charAt(index); + if (current === quote) { + return [input.substring(0, index), input.substring(index + 1)]; + } + index += 1; + } + + // Unexpected end of input + return null; + } + function parseNonQuotedFontFamily(input) { + // It implements part of the identifier parser here: https://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + // + // NOTE: This parser pretty much ignores escaped identifiers and that there is a thing called unicode. + // + // Breakdown of regexp: + // -[a-z_] - when identifier starts with a hyphen, you're not allowed to have another hyphen or a digit + // [a-z_] - allow a-z and underscore at beginning of input + // [a-z0-9_-]* - after that, anything goes + var match = input.match(/^(-[a-z_]|[a-z_])[a-z0-9_-]*/i); + + // non quoted value contains illegal characters + if (match === null) { + return null; + } + return [match[0], input.substring(match[0].length)]; + } + var defaultFont = ["times"]; + function parseFontFamily(input) { + var result = []; + var ch, parsed; + var remaining = input.trim(); + if (remaining === "") { + return defaultFont; + } + if (remaining in systemFonts) { + return [systemFonts[remaining]]; + } + while (remaining !== "") { + parsed = null; + remaining = eatWhiteSpace(remaining); + ch = remaining.charAt(0); + switch (ch) { + case '"': + case "'": + parsed = parseQuotedFontFamily(remaining.substring(1), ch); + break; + default: + parsed = parseNonQuotedFontFamily(remaining); + break; + } + if (parsed === null) { + return defaultFont; + } + result.push(parsed[0]); + remaining = eatWhiteSpace(parsed[1]); + + // We expect end of input or a comma separator here + if (remaining !== "" && remaining.charAt(0) !== ",") { + return defaultFont; + } + remaining = remaining.replace(/^,/, ""); + } + return result; + } + + /** + * This plugin mimics the HTML5 CanvasRenderingContext2D. + * + * The goal is to provide a way for current canvas implementations to print directly to a PDF. + * + * @name context2d + * @module + */ + (function (jsPDFAPI) { + + var ContextLayer = function ContextLayer(ctx) { + ctx = ctx || {}; + this.isStrokeTransparent = ctx.isStrokeTransparent || false; + this.strokeOpacity = ctx.strokeOpacity || 1; + this.strokeStyle = ctx.strokeStyle || "#000000"; + this.fillStyle = ctx.fillStyle || "#000000"; + this.isFillTransparent = ctx.isFillTransparent || false; + this.fillOpacity = ctx.fillOpacity || 1; + this.font = ctx.font || "10px sans-serif"; + this.textBaseline = ctx.textBaseline || "alphabetic"; + this.textAlign = ctx.textAlign || "left"; + this.lineWidth = ctx.lineWidth || 1; + this.lineJoin = ctx.lineJoin || "miter"; + this.lineCap = ctx.lineCap || "butt"; + this.path = ctx.path || []; + this.transform = typeof ctx.transform !== "undefined" ? ctx.transform.clone() : new Matrix(); + this.globalCompositeOperation = ctx.globalCompositeOperation || "normal"; + this.globalAlpha = ctx.globalAlpha || 1.0; + this.clip_path = ctx.clip_path || []; + this.currentPoint = ctx.currentPoint || new Point(); + this.miterLimit = ctx.miterLimit || 10.0; + this.lastPoint = ctx.lastPoint || new Point(); + this.lineDashOffset = ctx.lineDashOffset || 0.0; + this.lineDash = ctx.lineDash || []; + this.margin = ctx.margin || [0, 0, 0, 0]; + this.prevPageLastElemOffset = ctx.prevPageLastElemOffset || 0; + this.ignoreClearRect = typeof ctx.ignoreClearRect === "boolean" ? ctx.ignoreClearRect : true; + return this; + }; + + //stub + var f2, getHorizontalCoordinateString, getVerticalCoordinateString, getHorizontalCoordinate, getVerticalCoordinate, Point, Rectangle, Matrix, _ctx; + jsPDFAPI.events.push(["initialized", function () { + this.context2d = new Context2D(this); + f2 = this.internal.f2; + getHorizontalCoordinateString = this.internal.getCoordinateString; + getVerticalCoordinateString = this.internal.getVerticalCoordinateString; + getHorizontalCoordinate = this.internal.getHorizontalCoordinate; + getVerticalCoordinate = this.internal.getVerticalCoordinate; + Point = this.internal.Point; + Rectangle = this.internal.Rectangle; + Matrix = this.internal.Matrix; + _ctx = new ContextLayer(); + }]); + var Context2D = function Context2D(pdf) { + Object.defineProperty(this, "canvas", { + get: function get() { + return { + parentNode: false, + style: false + }; + } + }); + var _pdf = pdf; + Object.defineProperty(this, "pdf", { + get: function get() { + return _pdf; + } + }); + var _pageWrapXEnabled = false; + /** + * @name pageWrapXEnabled + * @type {boolean} + * @default false + */ + Object.defineProperty(this, "pageWrapXEnabled", { + get: function get() { + return _pageWrapXEnabled; + }, + set: function set(value) { + _pageWrapXEnabled = Boolean(value); + } + }); + var _pageWrapYEnabled = false; + /** + * @name pageWrapYEnabled + * @type {boolean} + * @default true + */ + Object.defineProperty(this, "pageWrapYEnabled", { + get: function get() { + return _pageWrapYEnabled; + }, + set: function set(value) { + _pageWrapYEnabled = Boolean(value); + } + }); + var _posX = 0; + /** + * @name posX + * @type {number} + * @default 0 + */ + Object.defineProperty(this, "posX", { + get: function get() { + return _posX; + }, + set: function set(value) { + if (!isNaN(value)) { + _posX = value; + } + } + }); + var _posY = 0; + /** + * @name posY + * @type {number} + * @default 0 + */ + Object.defineProperty(this, "posY", { + get: function get() { + return _posY; + }, + set: function set(value) { + if (!isNaN(value)) { + _posY = value; + } + } + }); + + /** + * Gets or sets the page margin when using auto paging. Has no effect when {@link autoPaging} is off. + * @name margin + * @type {number|number[]} + * @default [0, 0, 0, 0] + */ + Object.defineProperty(this, "margin", { + get: function get() { + return _ctx.margin; + }, + set: function set(value) { + var margin; + if (typeof value === "number") { + margin = [value, value, value, value]; + } else { + margin = new Array(4); + margin[0] = value[0]; + margin[1] = value.length >= 2 ? value[1] : margin[0]; + margin[2] = value.length >= 3 ? value[2] : margin[0]; + margin[3] = value.length >= 4 ? value[3] : margin[1]; + } + _ctx.margin = margin; + } + }); + var _autoPaging = false; + /** + * Gets or sets the auto paging mode. When auto paging is enabled, the context2d will automatically draw on the + * next page if a shape or text chunk doesn't fit entirely on the current page. The context2d will create new + * pages if required. + * + * Context2d supports different modes: + *
    + *
  • + * false: Auto paging is disabled. + *
  • + *
  • + * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly + * slice text in half, making it difficult to read. + *
  • + *
  • + * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting + * mostly of a single column of text. + *
  • + *
+ * @name Context2D#autoPaging + * @type {boolean|"slice"|"text"} + * @default false + */ + Object.defineProperty(this, "autoPaging", { + get: function get() { + return _autoPaging; + }, + set: function set(value) { + _autoPaging = value; + } + }); + var lastBreak = 0; + /** + * @name lastBreak + * @type {number} + * @default 0 + */ + Object.defineProperty(this, "lastBreak", { + get: function get() { + return lastBreak; + }, + set: function set(value) { + lastBreak = value; + } + }); + var pageBreaks = []; + /** + * Y Position of page breaks. + * @name pageBreaks + * @type {number} + * @default 0 + */ + Object.defineProperty(this, "pageBreaks", { + get: function get() { + return pageBreaks; + }, + set: function set(value) { + pageBreaks = value; + } + }); + + /** + * @name ctx + * @type {object} + * @default {} + */ + Object.defineProperty(this, "ctx", { + get: function get() { + return _ctx; + }, + set: function set(value) { + if (value instanceof ContextLayer) { + _ctx = value; + } + } + }); + + /** + * @name path + * @type {array} + * @default [] + */ + Object.defineProperty(this, "path", { + get: function get() { + return _ctx.path; + }, + set: function set(value) { + _ctx.path = value; + } + }); + + /** + * @name ctxStack + * @type {array} + * @default [] + */ + var _ctxStack = []; + Object.defineProperty(this, "ctxStack", { + get: function get() { + return _ctxStack; + }, + set: function set(value) { + _ctxStack = value; + } + }); + + /** + * Sets or returns the color, gradient, or pattern used to fill the drawing + * + * @name fillStyle + * @default #000000 + * @property {(color|gradient|pattern)} value The color of the drawing. Default value is #000000
+ * A gradient object (linear or radial) used to fill the drawing (not supported by context2d)
+ * A pattern object to use to fill the drawing (not supported by context2d) + */ + Object.defineProperty(this, "fillStyle", { + get: function get() { + return this.ctx.fillStyle; + }, + set: function set(value) { + var rgba; + rgba = getRGBA(value); + this.ctx.fillStyle = rgba.style; + this.ctx.isFillTransparent = rgba.a === 0; + this.ctx.fillOpacity = rgba.a; + this.pdf.setFillColor(rgba.r, rgba.g, rgba.b, { + a: rgba.a + }); + this.pdf.setTextColor(rgba.r, rgba.g, rgba.b, { + a: rgba.a + }); + } + }); + + /** + * Sets or returns the color, gradient, or pattern used for strokes + * + * @name strokeStyle + * @default #000000 + * @property {color} color A CSS color value that indicates the stroke color of the drawing. Default value is #000000 (not supported by context2d) + * @property {gradient} gradient A gradient object (linear or radial) used to create a gradient stroke (not supported by context2d) + * @property {pattern} pattern A pattern object used to create a pattern stroke (not supported by context2d) + */ + Object.defineProperty(this, "strokeStyle", { + get: function get() { + return this.ctx.strokeStyle; + }, + set: function set(value) { + var rgba = getRGBA(value); + this.ctx.strokeStyle = rgba.style; + this.ctx.isStrokeTransparent = rgba.a === 0; + this.ctx.strokeOpacity = rgba.a; + if (rgba.a === 0) { + this.pdf.setDrawColor(255, 255, 255); + } else if (rgba.a === 1) { + this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b); + } else { + this.pdf.setDrawColor(rgba.r, rgba.g, rgba.b); + } + } + }); + + /** + * Sets or returns the style of the end caps for a line + * + * @name lineCap + * @default butt + * @property {(butt|round|square)} lineCap butt A flat edge is added to each end of the line
+ * round A rounded end cap is added to each end of the line
+ * square A square end cap is added to each end of the line
+ */ + Object.defineProperty(this, "lineCap", { + get: function get() { + return this.ctx.lineCap; + }, + set: function set(value) { + if (["butt", "round", "square"].indexOf(value) !== -1) { + this.ctx.lineCap = value; + this.pdf.setLineCap(value); + } + } + }); + + /** + * Sets or returns the current line width + * + * @name lineWidth + * @default 1 + * @property {number} lineWidth The current line width, in pixels + */ + Object.defineProperty(this, "lineWidth", { + get: function get() { + return this.ctx.lineWidth; + }, + set: function set(value) { + if (!isNaN(value)) { + this.ctx.lineWidth = value; + this.pdf.setLineWidth(value); + } + } + }); + + /** + * Sets or returns the type of corner created, when two lines meet + */ + Object.defineProperty(this, "lineJoin", { + get: function get() { + return this.ctx.lineJoin; + }, + set: function set(value) { + if (["bevel", "round", "miter"].indexOf(value) !== -1) { + this.ctx.lineJoin = value; + this.pdf.setLineJoin(value); + } + } + }); + + /** + * A number specifying the miter limit ratio in coordinate space units. Zero, negative, Infinity, and NaN values are ignored. The default value is 10.0. + * + * @name miterLimit + * @default 10 + */ + Object.defineProperty(this, "miterLimit", { + get: function get() { + return this.ctx.miterLimit; + }, + set: function set(value) { + if (!isNaN(value)) { + this.ctx.miterLimit = value; + this.pdf.setMiterLimit(value); + } + } + }); + Object.defineProperty(this, "textBaseline", { + get: function get() { + return this.ctx.textBaseline; + }, + set: function set(value) { + this.ctx.textBaseline = value; + } + }); + Object.defineProperty(this, "textAlign", { + get: function get() { + return this.ctx.textAlign; + }, + set: function set(value) { + if (["right", "end", "center", "left", "start"].indexOf(value) !== -1) { + this.ctx.textAlign = value; + } + } + }); + var _fontFaceMap = null; + function getFontFaceMap(pdf, fontFaces) { + if (_fontFaceMap === null) { + var fontMap = pdf.getFontList(); + var convertedFontFaces = convertToFontFaces(fontMap); + _fontFaceMap = buildFontFaceMap(convertedFontFaces.concat(fontFaces)); + } + return _fontFaceMap; + } + function convertToFontFaces(fontMap) { + var fontFaces = []; + Object.keys(fontMap).forEach(function (family) { + var styles = fontMap[family]; + styles.forEach(function (style) { + var fontFace = null; + switch (style) { + case "bold": + fontFace = { + family: family, + weight: "bold" + }; + break; + case "italic": + fontFace = { + family: family, + style: "italic" + }; + break; + case "bolditalic": + fontFace = { + family: family, + weight: "bold", + style: "italic" + }; + break; + case "": + case "normal": + fontFace = { + family: family + }; + break; + } + + // If font-face is still null here, it is a font with some styling we don't recognize and + // cannot map or it is a font added via the fontFaces option of .html(). + if (fontFace !== null) { + fontFace.ref = { + name: family, + style: style + }; + fontFaces.push(fontFace); + } + }); + }); + return fontFaces; + } + var _fontFaces = null; + /** + * A map of available font-faces, as passed in the options of + * .html(). If set a limited implementation of the font style matching + * algorithm defined by https://www.w3.org/TR/css-fonts-3/#font-matching-algorithm + * will be used. If not set it will fallback to previous behavior. + */ + + Object.defineProperty(this, "fontFaces", { + get: function get() { + return _fontFaces; + }, + set: function set(value) { + _fontFaceMap = null; + _fontFaces = value; + } + }); + Object.defineProperty(this, "font", { + get: function get() { + return this.ctx.font; + }, + set: function set(value) { + this.ctx.font = value; + var rx, matches; + + //source: https://stackoverflow.com/a/10136041 + // eslint-disable-next-line no-useless-escape + rx = /^\s*(?=(?:(?:[-a-z]+\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\1|\2|\3)\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\d]+(?:\%|in|[cem]m|ex|p[ctx]))(?:\s*\/\s*(normal|[.\d]+(?:\%|in|[cem]m|ex|p[ctx])))?\s*([-_,\"\'\sa-z]+?)\s*$/i; + matches = rx.exec(value); + if (matches !== null) { + var fontStyle = matches[1]; + matches[2]; + var fontWeight = matches[3]; + var fontSize = matches[4]; + matches[5]; + var fontFamily = matches[6]; + } else { + return; + } + var rxFontSize = /^([.\d]+)((?:%|in|[cem]m|ex|p[ctx]))$/i; + var fontSizeUnit = rxFontSize.exec(fontSize)[2]; + if ("px" === fontSizeUnit) { + fontSize = Math.floor(parseFloat(fontSize) * this.pdf.internal.scaleFactor); + } else if ("em" === fontSizeUnit) { + fontSize = Math.floor(parseFloat(fontSize) * this.pdf.getFontSize()); + } else { + fontSize = Math.floor(parseFloat(fontSize) * this.pdf.internal.scaleFactor); + } + this.pdf.setFontSize(fontSize); + var parts = parseFontFamily(fontFamily); + if (this.fontFaces) { + var fontFaceMap = getFontFaceMap(this.pdf, this.fontFaces); + var rules = parts.map(function (ff) { + return { + family: ff, + stretch: "normal", + // TODO: Extract font-stretch from font rule (perhaps write proper parser for it?) + weight: fontWeight, + style: fontStyle + }; + }); + var font = resolveFontFace(fontFaceMap, rules); + this.pdf.setFont(font.ref.name, font.ref.style); + return; + } + var style = ""; + if (fontWeight === "bold" || parseInt(fontWeight, 10) >= 700 || fontStyle === "bold") { + style = "bold"; + } + if (fontStyle === "italic") { + style += "italic"; + } + if (style.length === 0) { + style = "normal"; + } + var jsPdfFontName = ""; + var fallbackFonts = { + arial: "Helvetica", + Arial: "Helvetica", + verdana: "Helvetica", + Verdana: "Helvetica", + helvetica: "Helvetica", + Helvetica: "Helvetica", + "sans-serif": "Helvetica", + fixed: "Courier", + monospace: "Courier", + terminal: "Courier", + cursive: "Times", + fantasy: "Times", + serif: "Times" + }; + for (var i = 0; i < parts.length; i++) { + if (this.pdf.internal.getFont(parts[i], style, { + noFallback: true, + disableWarning: true + }) !== undefined) { + jsPdfFontName = parts[i]; + break; + } else if (style === "bolditalic" && this.pdf.internal.getFont(parts[i], "bold", { + noFallback: true, + disableWarning: true + }) !== undefined) { + jsPdfFontName = parts[i]; + style = "bold"; + } else if (this.pdf.internal.getFont(parts[i], "normal", { + noFallback: true, + disableWarning: true + }) !== undefined) { + jsPdfFontName = parts[i]; + style = "normal"; + break; + } + } + if (jsPdfFontName === "") { + for (var j = 0; j < parts.length; j++) { + if (fallbackFonts[parts[j]]) { + jsPdfFontName = fallbackFonts[parts[j]]; + break; + } + } + } + jsPdfFontName = jsPdfFontName === "" ? "Times" : jsPdfFontName; + this.pdf.setFont(jsPdfFontName, style); + } + }); + Object.defineProperty(this, "globalCompositeOperation", { + get: function get() { + return this.ctx.globalCompositeOperation; + }, + set: function set(value) { + this.ctx.globalCompositeOperation = value; + } + }); + Object.defineProperty(this, "globalAlpha", { + get: function get() { + return this.ctx.globalAlpha; + }, + set: function set(value) { + this.ctx.globalAlpha = value; + } + }); + + /** + * A float specifying the amount of the line dash offset. The default value is 0.0. + * + * @name lineDashOffset + * @default 0.0 + */ + Object.defineProperty(this, "lineDashOffset", { + get: function get() { + return this.ctx.lineDashOffset; + }, + set: function set(value) { + this.ctx.lineDashOffset = value; + setLineDash.call(this); + } + }); + + // Not HTML API + Object.defineProperty(this, "lineDash", { + get: function get() { + return this.ctx.lineDash; + }, + set: function set(value) { + this.ctx.lineDash = value; + setLineDash.call(this); + } + }); + + // Not HTML API + Object.defineProperty(this, "ignoreClearRect", { + get: function get() { + return this.ctx.ignoreClearRect; + }, + set: function set(value) { + this.ctx.ignoreClearRect = Boolean(value); + } + }); + }; + + /** + * Sets the line dash pattern used when stroking lines. + * @name setLineDash + * @function + * @description It uses an array of values that specify alternating lengths of lines and gaps which describe the pattern. + */ + Context2D.prototype.setLineDash = function (dashArray) { + this.lineDash = dashArray; + }; + + /** + * gets the current line dash pattern. + * @name getLineDash + * @function + * @returns {Array} An Array of numbers that specify distances to alternately draw a line and a gap (in coordinate space units). If the number, when setting the elements, is odd, the elements of the array get copied and concatenated. For example, setting the line dash to [5, 15, 25] will result in getting back [5, 15, 25, 5, 15, 25]. + */ + Context2D.prototype.getLineDash = function () { + if (this.lineDash.length % 2) { + // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/getLineDash#return_value + return this.lineDash.concat(this.lineDash); + } else { + // The copied value is returned to prevent contamination from outside. + return this.lineDash.slice(); + } + }; + Context2D.prototype.fill = function () { + pathPreProcess.call(this, "fill", false); + }; + + /** + * Actually draws the path you have defined + * + * @name stroke + * @function + * @description The stroke() method actually draws the path you have defined with all those moveTo() and lineTo() methods. The default color is black. + */ + Context2D.prototype.stroke = function () { + pathPreProcess.call(this, "stroke", false); + }; + + /** + * Begins a path, or resets the current + * + * @name beginPath + * @function + * @description The beginPath() method begins a path, or resets the current path. + */ + Context2D.prototype.beginPath = function () { + this.path = [{ + type: "begin" + }]; + }; + + /** + * Moves the path to the specified point in the canvas, without creating a line + * + * @name moveTo + * @function + * @param x {Number} The x-coordinate of where to move the path to + * @param y {Number} The y-coordinate of where to move the path to + */ + Context2D.prototype.moveTo = function (x, y) { + if (isNaN(x) || isNaN(y)) { + console.error("jsPDF.context2d.moveTo: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.moveTo"); + } + var pt = this.ctx.transform.applyToPoint(new Point(x, y)); + this.path.push({ + type: "mt", + x: pt.x, + y: pt.y + }); + this.ctx.lastPoint = new Point(x, y); + }; + + /** + * Creates a path from the current point back to the starting point + * + * @name closePath + * @function + * @description The closePath() method creates a path from the current point back to the starting point. + */ + Context2D.prototype.closePath = function () { + var pathBegin = new Point(0, 0); + var i = 0; + for (i = this.path.length - 1; i !== -1; i--) { + if (this.path[i].type === "begin") { + if (_typeof(this.path[i + 1]) === "object" && typeof this.path[i + 1].x === "number") { + pathBegin = new Point(this.path[i + 1].x, this.path[i + 1].y); + break; + } + } + } + this.path.push({ + type: "close" + }); + this.ctx.lastPoint = new Point(pathBegin.x, pathBegin.y); + }; + + /** + * Adds a new point and creates a line to that point from the last specified point in the canvas + * + * @name lineTo + * @function + * @param x The x-coordinate of where to create the line to + * @param y The y-coordinate of where to create the line to + * @description The lineTo() method adds a new point and creates a line TO that point FROM the last specified point in the canvas (this method does not draw the line). + */ + Context2D.prototype.lineTo = function (x, y) { + if (isNaN(x) || isNaN(y)) { + console.error("jsPDF.context2d.lineTo: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.lineTo"); + } + var pt = this.ctx.transform.applyToPoint(new Point(x, y)); + this.path.push({ + type: "lt", + x: pt.x, + y: pt.y + }); + this.ctx.lastPoint = new Point(pt.x, pt.y); + }; + + /** + * Clips a region of any shape and size from the original canvas + * + * @name clip + * @function + * @description The clip() method clips a region of any shape and size from the original canvas. + */ + Context2D.prototype.clip = function () { + this.ctx.clip_path = JSON.parse(JSON.stringify(this.path)); + pathPreProcess.call(this, null, true); + }; + + /** + * Creates a cubic Bézier curve + * + * @name quadraticCurveTo + * @function + * @param cpx {Number} The x-coordinate of the Bézier control point + * @param cpy {Number} The y-coordinate of the Bézier control point + * @param x {Number} The x-coordinate of the ending point + * @param y {Number} The y-coordinate of the ending point + * @description The quadraticCurveTo() method adds a point to the current path by using the specified control points that represent a quadratic Bézier curve.

A quadratic Bézier curve requires two points. The first point is a control point that is used in the quadratic Bézier calculation and the second point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point. + */ + Context2D.prototype.quadraticCurveTo = function (cpx, cpy, x, y) { + if (isNaN(x) || isNaN(y) || isNaN(cpx) || isNaN(cpy)) { + console.error("jsPDF.context2d.quadraticCurveTo: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.quadraticCurveTo"); + } + var pt0 = this.ctx.transform.applyToPoint(new Point(x, y)); + var pt1 = this.ctx.transform.applyToPoint(new Point(cpx, cpy)); + this.path.push({ + type: "qct", + x1: pt1.x, + y1: pt1.y, + x: pt0.x, + y: pt0.y + }); + this.ctx.lastPoint = new Point(pt0.x, pt0.y); + }; + + /** + * Creates a cubic Bézier curve + * + * @name bezierCurveTo + * @function + * @param cp1x {Number} The x-coordinate of the first Bézier control point + * @param cp1y {Number} The y-coordinate of the first Bézier control point + * @param cp2x {Number} The x-coordinate of the second Bézier control point + * @param cp2y {Number} The y-coordinate of the second Bézier control point + * @param x {Number} The x-coordinate of the ending point + * @param y {Number} The y-coordinate of the ending point + * @description The bezierCurveTo() method adds a point to the current path by using the specified control points that represent a cubic Bézier curve.

A cubic bezier curve requires three points. The first two points are control points that are used in the cubic Bézier calculation and the last point is the ending point for the curve. The starting point for the curve is the last point in the current path. If a path does not exist, use the beginPath() and moveTo() methods to define a starting point. + */ + Context2D.prototype.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) { + if (isNaN(x) || isNaN(y) || isNaN(cp1x) || isNaN(cp1y) || isNaN(cp2x) || isNaN(cp2y)) { + console.error("jsPDF.context2d.bezierCurveTo: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.bezierCurveTo"); + } + var pt0 = this.ctx.transform.applyToPoint(new Point(x, y)); + var pt1 = this.ctx.transform.applyToPoint(new Point(cp1x, cp1y)); + var pt2 = this.ctx.transform.applyToPoint(new Point(cp2x, cp2y)); + this.path.push({ + type: "bct", + x1: pt1.x, + y1: pt1.y, + x2: pt2.x, + y2: pt2.y, + x: pt0.x, + y: pt0.y + }); + this.ctx.lastPoint = new Point(pt0.x, pt0.y); + }; + + /** + * Creates an arc/curve (used to create circles, or parts of circles) + * + * @name arc + * @function + * @param x {Number} The x-coordinate of the center of the circle + * @param y {Number} The y-coordinate of the center of the circle + * @param radius {Number} The radius of the circle + * @param startAngle {Number} The starting angle, in radians (0 is at the 3 o'clock position of the arc's circle) + * @param endAngle {Number} The ending angle, in radians + * @param counterclockwise {Boolean} Optional. Specifies whether the drawing should be counterclockwise or clockwise. False is default, and indicates clockwise, while true indicates counter-clockwise. + * @description The arc() method creates an arc/curve (used to create circles, or parts of circles). + */ + Context2D.prototype.arc = function (x, y, radius, startAngle, endAngle, counterclockwise) { + if (isNaN(x) || isNaN(y) || isNaN(radius) || isNaN(startAngle) || isNaN(endAngle)) { + console.error("jsPDF.context2d.arc: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.arc"); + } + counterclockwise = Boolean(counterclockwise); + if (!this.ctx.transform.isIdentity) { + var xpt = this.ctx.transform.applyToPoint(new Point(x, y)); + x = xpt.x; + y = xpt.y; + var x_radPt = this.ctx.transform.applyToPoint(new Point(0, radius)); + var x_radPt0 = this.ctx.transform.applyToPoint(new Point(0, 0)); + radius = Math.sqrt(Math.pow(x_radPt.x - x_radPt0.x, 2) + Math.pow(x_radPt.y - x_radPt0.y, 2)); + } + if (Math.abs(endAngle - startAngle) >= 2 * Math.PI) { + startAngle = 0; + endAngle = 2 * Math.PI; + } + this.path.push({ + type: "arc", + x: x, + y: y, + radius: radius, + startAngle: startAngle, + endAngle: endAngle, + counterclockwise: counterclockwise + }); + // this.ctx.lastPoint(new Point(pt.x,pt.y)); + }; + + /** + * Creates an arc/curve between two tangents + * + * @name arcTo + * @function + * @param x1 {Number} The x-coordinate of the first tangent + * @param y1 {Number} The y-coordinate of the first tangent + * @param x2 {Number} The x-coordinate of the second tangent + * @param y2 {Number} The y-coordinate of the second tangent + * @param radius The radius of the arc + * @description The arcTo() method creates an arc/curve between two tangents on the canvas. + */ + // eslint-disable-next-line no-unused-vars + Context2D.prototype.arcTo = function (x1, y1, x2, y2, radius) { + throw new Error("arcTo not implemented."); + }; + + /** + * Creates a rectangle + * + * @name rect + * @function + * @param x {Number} The x-coordinate of the upper-left corner of the rectangle + * @param y {Number} The y-coordinate of the upper-left corner of the rectangle + * @param w {Number} The width of the rectangle, in pixels + * @param h {Number} The height of the rectangle, in pixels + * @description The rect() method creates a rectangle. + */ + Context2D.prototype.rect = function (x, y, w, h) { + if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) { + console.error("jsPDF.context2d.rect: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.rect"); + } + this.moveTo(x, y); + this.lineTo(x + w, y); + this.lineTo(x + w, y + h); + this.lineTo(x, y + h); + this.lineTo(x, y); + this.lineTo(x + w, y); + this.lineTo(x, y); + }; + + /** + * Draws a "filled" rectangle + * + * @name fillRect + * @function + * @param x {Number} The x-coordinate of the upper-left corner of the rectangle + * @param y {Number} The y-coordinate of the upper-left corner of the rectangle + * @param w {Number} The width of the rectangle, in pixels + * @param h {Number} The height of the rectangle, in pixels + * @description The fillRect() method draws a "filled" rectangle. The default color of the fill is black. + */ + Context2D.prototype.fillRect = function (x, y, w, h) { + if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) { + console.error("jsPDF.context2d.fillRect: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.fillRect"); + } + if (isFillTransparent.call(this)) { + return; + } + var tmp = {}; + if (this.lineCap !== "butt") { + tmp.lineCap = this.lineCap; + this.lineCap = "butt"; + } + if (this.lineJoin !== "miter") { + tmp.lineJoin = this.lineJoin; + this.lineJoin = "miter"; + } + this.beginPath(); + this.rect(x, y, w, h); + this.fill(); + if (tmp.hasOwnProperty("lineCap")) { + this.lineCap = tmp.lineCap; + } + if (tmp.hasOwnProperty("lineJoin")) { + this.lineJoin = tmp.lineJoin; + } + }; + + /** + * Draws a rectangle (no fill) + * + * @name strokeRect + * @function + * @param x {Number} The x-coordinate of the upper-left corner of the rectangle + * @param y {Number} The y-coordinate of the upper-left corner of the rectangle + * @param w {Number} The width of the rectangle, in pixels + * @param h {Number} The height of the rectangle, in pixels + * @description The strokeRect() method draws a rectangle (no fill). The default color of the stroke is black. + */ + Context2D.prototype.strokeRect = function strokeRect(x, y, w, h) { + if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) { + console.error("jsPDF.context2d.strokeRect: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.strokeRect"); + } + if (isStrokeTransparent.call(this)) { + return; + } + this.beginPath(); + this.rect(x, y, w, h); + this.stroke(); + }; + + /** + * Clears the specified pixels within a given rectangle + * + * @name clearRect + * @function + * @param x {Number} The x-coordinate of the upper-left corner of the rectangle + * @param y {Number} The y-coordinate of the upper-left corner of the rectangle + * @param w {Number} The width of the rectangle to clear, in pixels + * @param h {Number} The height of the rectangle to clear, in pixels + * @description We cannot clear PDF commands that were already written to PDF, so we use white instead.
+ * As a special case, read a special flag (ignoreClearRect) and do nothing if it is set. + * This results in all calls to clearRect() to do nothing, and keep the canvas transparent. + * This flag is stored in the save/restore context and is managed the same way as other drawing states. + * + */ + Context2D.prototype.clearRect = function (x, y, w, h) { + if (isNaN(x) || isNaN(y) || isNaN(w) || isNaN(h)) { + console.error("jsPDF.context2d.clearRect: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.clearRect"); + } + if (this.ignoreClearRect) { + return; + } + this.fillStyle = "#ffffff"; + this.fillRect(x, y, w, h); + }; + + /** + * Saves the state of the current context + * + * @name save + * @function + */ + Context2D.prototype.save = function (doStackPush) { + doStackPush = typeof doStackPush === "boolean" ? doStackPush : true; + var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber; + for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) { + this.pdf.setPage(i + 1); + this.pdf.internal.out("q"); + } + this.pdf.setPage(tmpPageNumber); + if (doStackPush) { + this.ctx.fontSize = this.pdf.internal.getFontSize(); + var ctx = new ContextLayer(this.ctx); + this.ctxStack.push(this.ctx); + this.ctx = ctx; + } + }; + + /** + * Returns previously saved path state and attributes + * + * @name restore + * @function + */ + Context2D.prototype.restore = function (doStackPop) { + doStackPop = typeof doStackPop === "boolean" ? doStackPop : true; + var tmpPageNumber = this.pdf.internal.getCurrentPageInfo().pageNumber; + for (var i = 0; i < this.pdf.internal.getNumberOfPages(); i++) { + this.pdf.setPage(i + 1); + this.pdf.internal.out("Q"); + } + this.pdf.setPage(tmpPageNumber); + if (doStackPop && this.ctxStack.length !== 0) { + this.ctx = this.ctxStack.pop(); + this.fillStyle = this.ctx.fillStyle; + this.strokeStyle = this.ctx.strokeStyle; + this.font = this.ctx.font; + this.lineCap = this.ctx.lineCap; + this.lineWidth = this.ctx.lineWidth; + this.lineJoin = this.ctx.lineJoin; + this.lineDash = this.ctx.lineDash; + this.lineDashOffset = this.ctx.lineDashOffset; + } + }; + + /** + * @name toDataURL + * @function + */ + Context2D.prototype.toDataURL = function () { + throw new Error("toDataUrl not implemented."); + }; + + //helper functions + + /** + * Get the decimal values of r, g, b and a + * + * @name getRGBA + * @function + * @private + * @ignore + */ + var getRGBA = function getRGBA(style) { + var rxRgb = /rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/; + var rxRgba = /rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*([\d.]+)\s*\)/; + var rxTransparent = /transparent|rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*0+\s*\)/; + var r, g, b, a; + if (style.isCanvasGradient === true) { + style = style.getColor(); + } + if (!style) { + return { + r: 0, + g: 0, + b: 0, + a: 0, + style: style + }; + } + if (rxTransparent.test(style)) { + r = 0; + g = 0; + b = 0; + a = 0; + } else { + var matches = rxRgb.exec(style); + if (matches !== null) { + r = parseInt(matches[1]); + g = parseInt(matches[2]); + b = parseInt(matches[3]); + a = 1; + } else { + matches = rxRgba.exec(style); + if (matches !== null) { + r = parseInt(matches[1]); + g = parseInt(matches[2]); + b = parseInt(matches[3]); + a = parseFloat(matches[4]); + } else { + a = 1; + if (typeof style === "string" && style.charAt(0) !== "#") { + var rgbColor = new RGBColor(style); + if (rgbColor.ok) { + style = rgbColor.toHex(); + } else { + style = "#000000"; + } + } + if (style.length === 4) { + r = style.substring(1, 2); + r += r; + g = style.substring(2, 3); + g += g; + b = style.substring(3, 4); + b += b; + } else { + r = style.substring(1, 3); + g = style.substring(3, 5); + b = style.substring(5, 7); + } + r = parseInt(r, 16); + g = parseInt(g, 16); + b = parseInt(b, 16); + } + } + } + return { + r: r, + g: g, + b: b, + a: a, + style: style + }; + }; + + /** + * @name isFillTransparent + * @function + * @private + * @ignore + * @returns {Boolean} + */ + var isFillTransparent = function isFillTransparent() { + return this.ctx.isFillTransparent || this.globalAlpha == 0; + }; + + /** + * @name isStrokeTransparent + * @function + * @private + * @ignore + * @returns {Boolean} + */ + var isStrokeTransparent = function isStrokeTransparent() { + return Boolean(this.ctx.isStrokeTransparent || this.globalAlpha == 0); + }; + + /** + * Draws "filled" text on the canvas + * + * @name fillText + * @function + * @param text {String} Specifies the text that will be written on the canvas + * @param x {Number} The x coordinate where to start painting the text (relative to the canvas) + * @param y {Number} The y coordinate where to start painting the text (relative to the canvas) + * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels + * @description The fillText() method draws filled text on the canvas. The default color of the text is black. + */ + Context2D.prototype.fillText = function (text, x, y, maxWidth) { + if (isNaN(x) || isNaN(y) || typeof text !== "string") { + console.error("jsPDF.context2d.fillText: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.fillText"); + } + maxWidth = isNaN(maxWidth) ? undefined : maxWidth; + if (isFillTransparent.call(this)) { + return; + } + var degs = rad2deg(this.ctx.transform.rotation); + + // We only use X axis as scale hint + var scale = this.ctx.transform.scaleX; + putText.call(this, { + text: text, + x: x, + y: y, + scale: scale, + angle: degs, + align: this.textAlign, + maxWidth: maxWidth + }); + }; + + /** + * Draws text on the canvas (no fill) + * + * @name strokeText + * @function + * @param text {String} Specifies the text that will be written on the canvas + * @param x {Number} The x coordinate where to start painting the text (relative to the canvas) + * @param y {Number} The y coordinate where to start painting the text (relative to the canvas) + * @param maxWidth {Number} Optional. The maximum allowed width of the text, in pixels + * @description The strokeText() method draws text (with no fill) on the canvas. The default color of the text is black. + */ + Context2D.prototype.strokeText = function (text, x, y, maxWidth) { + if (isNaN(x) || isNaN(y) || typeof text !== "string") { + console.error("jsPDF.context2d.strokeText: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.strokeText"); + } + if (isStrokeTransparent.call(this)) { + return; + } + maxWidth = isNaN(maxWidth) ? undefined : maxWidth; + var degs = rad2deg(this.ctx.transform.rotation); + var scale = this.ctx.transform.scaleX; + putText.call(this, { + text: text, + x: x, + y: y, + scale: scale, + renderingMode: "stroke", + angle: degs, + align: this.textAlign, + maxWidth: maxWidth + }); + }; + + /** + * Returns an object that contains the width of the specified text + * + * @name measureText + * @function + * @param text {String} The text to be measured + * @description The measureText() method returns an object that contains the width of the specified text, in pixels. + * @returns {Number} + */ + Context2D.prototype.measureText = function (text) { + if (typeof text !== "string") { + console.error("jsPDF.context2d.measureText: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.measureText"); + } + var pdf = this.pdf; + var k = this.pdf.internal.scaleFactor; + var fontSize = pdf.internal.getFontSize(); + var txtWidth = pdf.getStringUnitWidth(text) * fontSize / pdf.internal.scaleFactor; + txtWidth *= Math.round(k * 96 / 72 * 10000) / 10000; + var TextMetrics = function TextMetrics(options) { + options = options || {}; + var _width = options.width || 0; + Object.defineProperty(this, "width", { + get: function get() { + return _width; + } + }); + return this; + }; + return new TextMetrics({ + width: txtWidth + }); + }; + + //Transformations + + /** + * Scales the current drawing bigger or smaller + * + * @name scale + * @function + * @param scalewidth {Number} Scales the width of the current drawing (1=100%, 0.5=50%, 2=200%, etc.) + * @param scaleheight {Number} Scales the height of the current drawing (1=100%, 0.5=50%, 2=200%, etc.) + * @description The scale() method scales the current drawing, bigger or smaller. + */ + Context2D.prototype.scale = function (scalewidth, scaleheight) { + if (isNaN(scalewidth) || isNaN(scaleheight)) { + console.error("jsPDF.context2d.scale: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.scale"); + } + var matrix = new Matrix(scalewidth, 0.0, 0.0, scaleheight, 0.0, 0.0); + this.ctx.transform = this.ctx.transform.multiply(matrix); + }; + + /** + * Rotates the current drawing + * + * @name rotate + * @function + * @param angle {Number} The rotation angle, in radians. + * @description To calculate from degrees to radians: degrees*Math.PI/180.
+ * Example: to rotate 5 degrees, specify the following: 5*Math.PI/180 + */ + Context2D.prototype.rotate = function (angle) { + if (isNaN(angle)) { + console.error("jsPDF.context2d.rotate: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.rotate"); + } + var matrix = new Matrix(Math.cos(angle), Math.sin(angle), -Math.sin(angle), Math.cos(angle), 0.0, 0.0); + this.ctx.transform = this.ctx.transform.multiply(matrix); + }; + + /** + * Remaps the (0,0) position on the canvas + * + * @name translate + * @function + * @param x {Number} The value to add to horizontal (x) coordinates + * @param y {Number} The value to add to vertical (y) coordinates + * @description The translate() method remaps the (0,0) position on the canvas. + */ + Context2D.prototype.translate = function (x, y) { + if (isNaN(x) || isNaN(y)) { + console.error("jsPDF.context2d.translate: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.translate"); + } + var matrix = new Matrix(1.0, 0.0, 0.0, 1.0, x, y); + this.ctx.transform = this.ctx.transform.multiply(matrix); + }; + + /** + * Replaces the current transformation matrix for the drawing + * + * @name transform + * @function + * @param a {Number} Horizontal scaling + * @param b {Number} Horizontal skewing + * @param c {Number} Vertical skewing + * @param d {Number} Vertical scaling + * @param e {Number} Horizontal moving + * @param f {Number} Vertical moving + * @description Each object on the canvas has a current transformation matrix.

The transform() method replaces the current transformation matrix. It multiplies the current transformation matrix with the matrix described by:



a c e

b d f

0 0 1

In other words, the transform() method lets you scale, rotate, move, and skew the current context. + */ + Context2D.prototype.transform = function (a, b, c, d, e, f) { + if (isNaN(a) || isNaN(b) || isNaN(c) || isNaN(d) || isNaN(e) || isNaN(f)) { + console.error("jsPDF.context2d.transform: Invalid arguments", arguments); + throw new Error("Invalid arguments passed to jsPDF.context2d.transform"); + } + var matrix = new Matrix(a, b, c, d, e, f); + this.ctx.transform = this.ctx.transform.multiply(matrix); + }; + + /** + * Resets the current transform to the identity matrix. Then runs transform() + * + * @name setTransform + * @function + * @param a {Number} Horizontal scaling + * @param b {Number} Horizontal skewing + * @param c {Number} Vertical skewing + * @param d {Number} Vertical scaling + * @param e {Number} Horizontal moving + * @param f {Number} Vertical moving + * @description Each object on the canvas has a current transformation matrix.

The setTransform() method resets the current transform to the identity matrix, and then runs transform() with the same arguments.

In other words, the setTransform() method lets you scale, rotate, move, and skew the current context. + */ + Context2D.prototype.setTransform = function (a, b, c, d, e, f) { + a = isNaN(a) ? 1 : a; + b = isNaN(b) ? 0 : b; + c = isNaN(c) ? 0 : c; + d = isNaN(d) ? 1 : d; + e = isNaN(e) ? 0 : e; + f = isNaN(f) ? 0 : f; + this.ctx.transform = new Matrix(a, b, c, d, e, f); + }; + var hasMargins = function hasMargins() { + return this.margin[0] > 0 || this.margin[1] > 0 || this.margin[2] > 0 || this.margin[3] > 0; + }; + + /** + * Draws an image, canvas, or video onto the canvas + * + * @function + * @param img {} Specifies the image, canvas, or video element to use + * @param sx {Number} Optional. The x coordinate where to start clipping + * @param sy {Number} Optional. The y coordinate where to start clipping + * @param swidth {Number} Optional. The width of the clipped image + * @param sheight {Number} Optional. The height of the clipped image + * @param x {Number} The x coordinate where to place the image on the canvas + * @param y {Number} The y coordinate where to place the image on the canvas + * @param width {Number} Optional. The width of the image to use (stretch or reduce the image) + * @param height {Number} Optional. The height of the image to use (stretch or reduce the image) + */ + Context2D.prototype.drawImage = function (img, sx, sy, swidth, sheight, x, y, width, height) { + var imageProperties = this.pdf.getImageProperties(img); + var factorX = 1; + var factorY = 1; + var clipFactorX = 1; + var clipFactorY = 1; + if (typeof swidth !== "undefined" && typeof width !== "undefined") { + clipFactorX = width / swidth; + clipFactorY = height / sheight; + factorX = imageProperties.width / swidth * width / swidth; + factorY = imageProperties.height / sheight * height / sheight; + } + + //is sx and sy are set and x and y not, set x and y with values of sx and sy + if (typeof x === "undefined") { + x = sx; + y = sy; + sx = 0; + sy = 0; + } + if (typeof swidth !== "undefined" && typeof width === "undefined") { + width = swidth; + height = sheight; + } + if (typeof swidth === "undefined" && typeof width === "undefined") { + width = imageProperties.width; + height = imageProperties.height; + } + var decomposedTransformationMatrix = this.ctx.transform.decompose(); + var angle = rad2deg(decomposedTransformationMatrix.rotate.shx); + var matrix = new Matrix(); + matrix = matrix.multiply(decomposedTransformationMatrix.translate); + matrix = matrix.multiply(decomposedTransformationMatrix.skew); + matrix = matrix.multiply(decomposedTransformationMatrix.scale); + var xRect = matrix.applyToRectangle(new Rectangle(x - sx * clipFactorX, y - sy * clipFactorY, swidth * factorX, sheight * factorY)); + var pageArray = getPagesByPath.call(this, xRect); + var pages = []; + for (var ii = 0; ii < pageArray.length; ii += 1) { + if (pages.indexOf(pageArray[ii]) === -1) { + pages.push(pageArray[ii]); + } + } + sortPages(pages); + var clipPath; + if (this.autoPaging) { + var min = pages[0]; + var max = pages[pages.length - 1]; + for (var i = min; i < max + 1; i++) { + this.pdf.setPage(i); + var pageWidthMinusMargins = this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1]; + var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0]; + var firstPageHeight = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2]; + var pageHeightMinusMargins = this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2]; + var previousPageHeightSum = i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins; + if (this.ctx.clip_path.length !== 0) { + var tmpPaths = this.path; + clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path)); + this.path = pathPositionRedo(clipPath, this.posX + this.margin[3], -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset); + drawPaths.call(this, "fill", true); + this.path = tmpPaths; + } + var tmpRect = JSON.parse(JSON.stringify(xRect)); + tmpRect = pathPositionRedo([tmpRect], this.posX + this.margin[3], -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset)[0]; + var needsClipping = (i > min || i < max) && hasMargins.call(this); + if (needsClipping) { + this.pdf.saveGraphicsState(); + this.pdf.rect(this.margin[3], this.margin[0], pageWidthMinusMargins, pageHeightMinusMargins, null).clip().discardPath(); + } + this.pdf.addImage(img, "JPEG", tmpRect.x, tmpRect.y, tmpRect.w, tmpRect.h, null, null, angle); + if (needsClipping) { + this.pdf.restoreGraphicsState(); + } + } + } else { + this.pdf.addImage(img, "JPEG", xRect.x, xRect.y, xRect.w, xRect.h, null, null, angle); + } + }; + var getPagesByPath = function getPagesByPath(path, pageWrapX, pageWrapY) { + var result = []; + pageWrapX = pageWrapX || this.pdf.internal.pageSize.width; + pageWrapY = pageWrapY || this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2]; + var yOffset = this.posY + this.ctx.prevPageLastElemOffset; + switch (path.type) { + default: + case "mt": + case "lt": + result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1); + break; + case "arc": + result.push(Math.floor((path.y + yOffset - path.radius) / pageWrapY) + 1); + result.push(Math.floor((path.y + yOffset + path.radius) / pageWrapY) + 1); + break; + case "qct": + var rectOfQuadraticCurve = getQuadraticCurveBoundary(this.ctx.lastPoint.x, this.ctx.lastPoint.y, path.x1, path.y1, path.x, path.y); + result.push(Math.floor((rectOfQuadraticCurve.y + yOffset) / pageWrapY) + 1); + result.push(Math.floor((rectOfQuadraticCurve.y + rectOfQuadraticCurve.h + yOffset) / pageWrapY) + 1); + break; + case "bct": + var rectOfBezierCurve = getBezierCurveBoundary(this.ctx.lastPoint.x, this.ctx.lastPoint.y, path.x1, path.y1, path.x2, path.y2, path.x, path.y); + result.push(Math.floor((rectOfBezierCurve.y + yOffset) / pageWrapY) + 1); + result.push(Math.floor((rectOfBezierCurve.y + rectOfBezierCurve.h + yOffset) / pageWrapY) + 1); + break; + case "rect": + result.push(Math.floor((path.y + yOffset) / pageWrapY) + 1); + result.push(Math.floor((path.y + path.h + yOffset) / pageWrapY) + 1); + } + for (var i = 0; i < result.length; i += 1) { + while (this.pdf.internal.getNumberOfPages() < result[i]) { + addPage.call(this); + } + } + return result; + }; + var addPage = function addPage() { + var fillStyle = this.fillStyle; + var strokeStyle = this.strokeStyle; + var font = this.font; + var lineCap = this.lineCap; + var lineWidth = this.lineWidth; + var lineJoin = this.lineJoin; + this.pdf.addPage(); + this.fillStyle = fillStyle; + this.strokeStyle = strokeStyle; + this.font = font; + this.lineCap = lineCap; + this.lineWidth = lineWidth; + this.lineJoin = lineJoin; + }; + var pathPositionRedo = function pathPositionRedo(paths, x, y) { + for (var i = 0; i < paths.length; i++) { + switch (paths[i].type) { + case "bct": + paths[i].x2 += x; + paths[i].y2 += y; + case "qct": + paths[i].x1 += x; + paths[i].y1 += y; + case "mt": + case "lt": + case "arc": + default: + paths[i].x += x; + paths[i].y += y; + } + } + return paths; + }; + var sortPages = function sortPages(pages) { + return pages.sort(function (a, b) { + return a - b; + }); + }; + var pathPreProcess = function pathPreProcess(rule, isClip) { + var fillStyle = this.fillStyle; + var strokeStyle = this.strokeStyle; + var lineCap = this.lineCap; + var oldLineWidth = this.lineWidth; + var lineWidth = Math.abs(oldLineWidth * this.ctx.transform.scaleX); + var lineJoin = this.lineJoin; + var origPath = JSON.parse(JSON.stringify(this.path)); + var xPath = JSON.parse(JSON.stringify(this.path)); + var clipPath; + var tmpPath; + var pages = []; + for (var i = 0; i < xPath.length; i++) { + if (typeof xPath[i].x !== "undefined") { + var page = getPagesByPath.call(this, xPath[i]); + for (var ii = 0; ii < page.length; ii += 1) { + if (pages.indexOf(page[ii]) === -1) { + pages.push(page[ii]); + } + } + } + } + for (var j = 0; j < pages.length; j++) { + while (this.pdf.internal.getNumberOfPages() < pages[j]) { + addPage.call(this); + } + } + sortPages(pages); + if (this.autoPaging) { + var min = pages[0]; + var max = pages[pages.length - 1]; + for (var k = min; k < max + 1; k++) { + this.pdf.setPage(k); + this.fillStyle = fillStyle; + this.strokeStyle = strokeStyle; + this.lineCap = lineCap; + this.lineWidth = lineWidth; + this.lineJoin = lineJoin; + var pageWidthMinusMargins = this.pdf.internal.pageSize.width - this.margin[3] - this.margin[1]; + var topMargin = k === 1 ? this.posY + this.margin[0] : this.margin[0]; + var firstPageHeight = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2]; + var pageHeightMinusMargins = this.pdf.internal.pageSize.height - this.margin[0] - this.margin[2]; + var previousPageHeightSum = k === 1 ? 0 : firstPageHeight + (k - 2) * pageHeightMinusMargins; + if (this.ctx.clip_path.length !== 0) { + var tmpPaths = this.path; + clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path)); + this.path = pathPositionRedo(clipPath, this.posX + this.margin[3], -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset); + drawPaths.call(this, rule, true); + this.path = tmpPaths; + } + tmpPath = JSON.parse(JSON.stringify(origPath)); + this.path = pathPositionRedo(tmpPath, this.posX + this.margin[3], -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset); + if (isClip === false || k === 0) { + var needsClipping = (k > min || k < max) && hasMargins.call(this); + if (needsClipping) { + this.pdf.saveGraphicsState(); + this.pdf.rect(this.margin[3], this.margin[0], pageWidthMinusMargins, pageHeightMinusMargins, null).clip().discardPath(); + } + drawPaths.call(this, rule, isClip); + if (needsClipping) { + this.pdf.restoreGraphicsState(); + } + } + this.lineWidth = oldLineWidth; + } + } else { + this.lineWidth = lineWidth; + drawPaths.call(this, rule, isClip); + this.lineWidth = oldLineWidth; + } + this.path = origPath; + }; + + /** + * Processes the paths + * + * @function + * @param rule {String} + * @param isClip {Boolean} + * @private + * @ignore + */ + var drawPaths = function drawPaths(rule, isClip) { + if (rule === "stroke" && !isClip && isStrokeTransparent.call(this)) { + return; + } + if (rule !== "stroke" && !isClip && isFillTransparent.call(this)) { + return; + } + var moves = []; + + //var alpha = (this.ctx.fillOpacity < 1) ? this.ctx.fillOpacity : this.ctx.globalAlpha; + var delta; + var xPath = this.path; + for (var i = 0; i < xPath.length; i++) { + var pt = xPath[i]; + switch (pt.type) { + case "begin": + moves.push({ + begin: true + }); + break; + case "close": + moves.push({ + close: true + }); + break; + case "mt": + moves.push({ + start: pt, + deltas: [], + abs: [] + }); + break; + case "lt": + var iii = moves.length; + if (xPath[i - 1] && !isNaN(xPath[i - 1].x)) { + delta = [pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y]; + if (iii > 0) { + for (iii; iii >= 0; iii--) { + if (moves[iii - 1].close !== true && moves[iii - 1].begin !== true) { + moves[iii - 1].deltas.push(delta); + moves[iii - 1].abs.push(pt); + break; + } + } + } + } + break; + case "bct": + delta = [pt.x1 - xPath[i - 1].x, pt.y1 - xPath[i - 1].y, pt.x2 - xPath[i - 1].x, pt.y2 - xPath[i - 1].y, pt.x - xPath[i - 1].x, pt.y - xPath[i - 1].y]; + moves[moves.length - 1].deltas.push(delta); + break; + case "qct": + var x1 = xPath[i - 1].x + 2.0 / 3.0 * (pt.x1 - xPath[i - 1].x); + var y1 = xPath[i - 1].y + 2.0 / 3.0 * (pt.y1 - xPath[i - 1].y); + var x2 = pt.x + 2.0 / 3.0 * (pt.x1 - pt.x); + var y2 = pt.y + 2.0 / 3.0 * (pt.y1 - pt.y); + var x3 = pt.x; + var y3 = pt.y; + delta = [x1 - xPath[i - 1].x, y1 - xPath[i - 1].y, x2 - xPath[i - 1].x, y2 - xPath[i - 1].y, x3 - xPath[i - 1].x, y3 - xPath[i - 1].y]; + moves[moves.length - 1].deltas.push(delta); + break; + case "arc": + moves.push({ + deltas: [], + abs: [], + arc: true + }); + if (Array.isArray(moves[moves.length - 1].abs)) { + moves[moves.length - 1].abs.push(pt); + } + break; + } + } + var style; + if (!isClip) { + if (rule === "stroke") { + style = "stroke"; + } else { + style = "fill"; + } + } else { + style = null; + } + var began = false; + for (var k = 0; k < moves.length; k++) { + if (moves[k].arc) { + var arcs = moves[k].abs; + for (var ii = 0; ii < arcs.length; ii++) { + var arc = arcs[ii]; + if (arc.type === "arc") { + drawArc.call(this, arc.x, arc.y, arc.radius, arc.startAngle, arc.endAngle, arc.counterclockwise, undefined, isClip, !began); + } else { + drawLine.call(this, arc.x, arc.y); + } + began = true; + } + } else if (moves[k].close === true) { + this.pdf.internal.out("h"); + began = false; + } else if (moves[k].begin !== true) { + var x = moves[k].start.x; + var y = moves[k].start.y; + drawLines.call(this, moves[k].deltas, x, y); + began = true; + } + } + if (style) { + putStyle.call(this, style); + } + if (isClip) { + doClip.call(this); + } + }; + var getBaseline = function getBaseline(y) { + var height = this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor; + var descent = height * (this.pdf.internal.getLineHeightFactor() - 1); + switch (this.ctx.textBaseline) { + case "bottom": + return y - descent; + case "top": + return y + height - descent; + case "hanging": + return y + height - 2 * descent; + case "middle": + return y + height / 2 - descent; + case "ideographic": + // TODO not implemented + return y; + case "alphabetic": + default: + return y; + } + }; + var getTextBottom = function getTextBottom(yBaseLine) { + var height = this.pdf.internal.getFontSize() / this.pdf.internal.scaleFactor; + var descent = height * (this.pdf.internal.getLineHeightFactor() - 1); + return yBaseLine + descent; + }; + Context2D.prototype.createLinearGradient = function createLinearGradient() { + var canvasGradient = function canvasGradient() {}; + canvasGradient.colorStops = []; + canvasGradient.addColorStop = function (offset, color) { + this.colorStops.push([offset, color]); + }; + canvasGradient.getColor = function () { + if (this.colorStops.length === 0) { + return "#000000"; + } + return this.colorStops[0][1]; + }; + canvasGradient.isCanvasGradient = true; + return canvasGradient; + }; + Context2D.prototype.createPattern = function createPattern() { + return this.createLinearGradient(); + }; + Context2D.prototype.createRadialGradient = function createRadialGradient() { + return this.createLinearGradient(); + }; + + /** + * + * @param x Edge point X + * @param y Edge point Y + * @param r Radius + * @param a1 start angle + * @param a2 end angle + * @param counterclockwise + * @param style + * @param isClip + */ + var drawArc = function drawArc(x, y, r, a1, a2, counterclockwise, style, isClip, includeMove) { + // http://hansmuller-flex.blogspot.com/2011/10/more-about-approximating-circular-arcs.html + var curves = createArc.call(this, r, a1, a2, counterclockwise); + for (var i = 0; i < curves.length; i++) { + var curve = curves[i]; + if (i === 0) { + if (includeMove) { + doMove.call(this, curve.x1 + x, curve.y1 + y); + } else { + drawLine.call(this, curve.x1 + x, curve.y1 + y); + } + } + drawCurve.call(this, x, y, curve.x2, curve.y2, curve.x3, curve.y3, curve.x4, curve.y4); + } + if (!isClip) { + putStyle.call(this, style); + } else { + doClip.call(this); + } + }; + var putStyle = function putStyle(style) { + switch (style) { + case "stroke": + this.pdf.internal.out("S"); + break; + case "fill": + this.pdf.internal.out("f"); + break; + } + }; + var doClip = function doClip() { + this.pdf.clip(); + this.pdf.discardPath(); + }; + var doMove = function doMove(x, y) { + this.pdf.internal.out(getHorizontalCoordinateString(x) + " " + getVerticalCoordinateString(y) + " m"); + }; + var putText = function putText(options) { + var textAlign; + switch (options.align) { + case "right": + case "end": + textAlign = "right"; + break; + case "center": + textAlign = "center"; + break; + case "left": + case "start": + default: + textAlign = "left"; + break; + } + var textDimensions = this.pdf.getTextDimensions(options.text); + var yBaseLine = getBaseline.call(this, options.y); + var yBottom = getTextBottom.call(this, yBaseLine); + var yTop = yBottom - textDimensions.h; + var pt = this.ctx.transform.applyToPoint(new Point(options.x, yBaseLine)); + var decomposedTransformationMatrix = this.ctx.transform.decompose(); + var matrix = new Matrix(); + matrix = matrix.multiply(decomposedTransformationMatrix.translate); + matrix = matrix.multiply(decomposedTransformationMatrix.skew); + matrix = matrix.multiply(decomposedTransformationMatrix.scale); + var baselineRect = this.ctx.transform.applyToRectangle(new Rectangle(options.x, yBaseLine, textDimensions.w, textDimensions.h)); + var textBounds = matrix.applyToRectangle(new Rectangle(options.x, yTop, textDimensions.w, textDimensions.h)); + var pageArray = getPagesByPath.call(this, textBounds); + var pages = []; + for (var ii = 0; ii < pageArray.length; ii += 1) { + if (pages.indexOf(pageArray[ii]) === -1) { + pages.push(pageArray[ii]); + } + } + sortPages(pages); + var clipPath, oldSize, oldLineWidth; + if (this.autoPaging) { + var min = pages[0]; + var max = pages[pages.length - 1]; + for (var i = min; i < max + 1; i++) { + this.pdf.setPage(i); + var topMargin = i === 1 ? this.posY + this.margin[0] : this.margin[0]; + var firstPageHeight = this.pdf.internal.pageSize.height - this.posY - this.margin[0] - this.margin[2]; + var pageHeightMinusBottomMargin = this.pdf.internal.pageSize.height - this.margin[2]; + var pageHeightMinusMargins = pageHeightMinusBottomMargin - this.margin[0]; + var pageWidthMinusRightMargin = this.pdf.internal.pageSize.width - this.margin[1]; + var pageWidthMinusMargins = pageWidthMinusRightMargin - this.margin[3]; + var previousPageHeightSum = i === 1 ? 0 : firstPageHeight + (i - 2) * pageHeightMinusMargins; + if (this.ctx.clip_path.length !== 0) { + var tmpPaths = this.path; + clipPath = JSON.parse(JSON.stringify(this.ctx.clip_path)); + this.path = pathPositionRedo(clipPath, this.posX + this.margin[3], -1 * previousPageHeightSum + topMargin); + drawPaths.call(this, "fill", true); + this.path = tmpPaths; + } + var textBoundsOnPage = pathPositionRedo([JSON.parse(JSON.stringify(textBounds))], this.posX + this.margin[3], -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset)[0]; + if (options.scale >= 0.01) { + oldSize = this.pdf.internal.getFontSize(); + this.pdf.setFontSize(oldSize * options.scale); + oldLineWidth = this.lineWidth; + this.lineWidth = oldLineWidth * options.scale; + } + var doSlice = this.autoPaging !== "text"; + if (doSlice || textBoundsOnPage.y + textBoundsOnPage.h <= pageHeightMinusBottomMargin) { + if (doSlice || textBoundsOnPage.y >= topMargin && textBoundsOnPage.x <= pageWidthMinusRightMargin) { + var croppedText = doSlice ? options.text : this.pdf.splitTextToSize(options.text, options.maxWidth || pageWidthMinusRightMargin - textBoundsOnPage.x)[0]; + var baseLineRectOnPage = pathPositionRedo([JSON.parse(JSON.stringify(baselineRect))], this.posX + this.margin[3], -previousPageHeightSum + topMargin + this.ctx.prevPageLastElemOffset)[0]; + var needsClipping = doSlice && (i > min || i < max) && hasMargins.call(this); + if (needsClipping) { + this.pdf.saveGraphicsState(); + this.pdf.rect(this.margin[3], this.margin[0], pageWidthMinusMargins, pageHeightMinusMargins, null).clip().discardPath(); + } + this.pdf.text(croppedText, baseLineRectOnPage.x, baseLineRectOnPage.y, { + angle: options.angle, + align: textAlign, + renderingMode: options.renderingMode + }); + if (needsClipping) { + this.pdf.restoreGraphicsState(); + } + } + } else { + // This text is the last element of the page, but it got cut off due to the margin + // so we render it in the next page + + if (textBoundsOnPage.y < pageHeightMinusBottomMargin) { + // As a result, all other elements have their y offset increased + this.ctx.prevPageLastElemOffset += pageHeightMinusBottomMargin - textBoundsOnPage.y; + } + } + if (options.scale >= 0.01) { + this.pdf.setFontSize(oldSize); + this.lineWidth = oldLineWidth; + } + } + } else { + if (options.scale >= 0.01) { + oldSize = this.pdf.internal.getFontSize(); + this.pdf.setFontSize(oldSize * options.scale); + oldLineWidth = this.lineWidth; + this.lineWidth = oldLineWidth * options.scale; + } + this.pdf.text(options.text, pt.x + this.posX, pt.y + this.posY, { + angle: options.angle, + align: textAlign, + renderingMode: options.renderingMode, + maxWidth: options.maxWidth + }); + if (options.scale >= 0.01) { + this.pdf.setFontSize(oldSize); + this.lineWidth = oldLineWidth; + } + } + }; + var drawLine = function drawLine(x, y, prevX, prevY) { + prevX = prevX || 0; + prevY = prevY || 0; + this.pdf.internal.out(getHorizontalCoordinateString(x + prevX) + " " + getVerticalCoordinateString(y + prevY) + " l"); + }; + var drawLines = function drawLines(lines, x, y) { + return this.pdf.lines(lines, x, y, null, null); + }; + var drawCurve = function drawCurve(x, y, x1, y1, x2, y2, x3, y3) { + this.pdf.internal.out([f2(getHorizontalCoordinate(x1 + x)), f2(getVerticalCoordinate(y1 + y)), f2(getHorizontalCoordinate(x2 + x)), f2(getVerticalCoordinate(y2 + y)), f2(getHorizontalCoordinate(x3 + x)), f2(getVerticalCoordinate(y3 + y)), "c"].join(" ")); + }; + + /** + * Return a array of objects that represent bezier curves which approximate the circular arc centered at the origin, from startAngle to endAngle (radians) with the specified radius. + * + * Each bezier curve is an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points. + * @function createArc + */ + var createArc = function createArc(radius, startAngle, endAngle, anticlockwise) { + var EPSILON = 0.00001; // Roughly 1/1000th of a degree, see below + var twoPi = Math.PI * 2; + var halfPi = Math.PI / 2.0; + while (startAngle > endAngle) { + startAngle = startAngle - twoPi; + } + var totalAngle = Math.abs(endAngle - startAngle); + if (totalAngle < twoPi) { + if (anticlockwise) { + totalAngle = twoPi - totalAngle; + } + } + + // Compute the sequence of arc curves, up to PI/2 at a time. + var curves = []; + + // clockwise or counterclockwise + var sgn = anticlockwise ? -1 : +1; + var a1 = startAngle; + for (; totalAngle > EPSILON;) { + var remain = sgn * Math.min(totalAngle, halfPi); + var a2 = a1 + remain; + curves.push(createSmallArc.call(this, radius, a1, a2)); + totalAngle -= Math.abs(a2 - a1); + a1 = a2; + } + return curves; + }; + + /** + * Cubic bezier approximation of a circular arc centered at the origin, from (radians) a1 to a2, where a2-a1 < pi/2. The arc's radius is r. + * + * Returns an object with four points, where x1,y1 and x4,y4 are the arc's end points and x2,y2 and x3,y3 are the cubic bezier's control points. + * + * This algorithm is based on the approach described in: A. Riškus, "Approximation of a Cubic Bezier Curve by Circular Arcs and Vice Versa," Information Technology and Control, 35(4), 2006 pp. 371-378. + */ + var createSmallArc = function createSmallArc(r, a1, a2) { + var a = (a2 - a1) / 2.0; + var x4 = r * Math.cos(a); + var y4 = r * Math.sin(a); + var x1 = x4; + var y1 = -y4; + var q1 = x1 * x1 + y1 * y1; + var q2 = q1 + x1 * x4 + y1 * y4; + var k2 = 4 / 3 * (Math.sqrt(2 * q1 * q2) - q2) / (x1 * y4 - y1 * x4); + var x2 = x1 - k2 * y1; + var y2 = y1 + k2 * x1; + var x3 = x2; + var y3 = -y2; + var ar = a + a1; + var cos_ar = Math.cos(ar); + var sin_ar = Math.sin(ar); + return { + x1: r * Math.cos(a1), + y1: r * Math.sin(a1), + x2: x2 * cos_ar - y2 * sin_ar, + y2: x2 * sin_ar + y2 * cos_ar, + x3: x3 * cos_ar - y3 * sin_ar, + y3: x3 * sin_ar + y3 * cos_ar, + x4: r * Math.cos(a2), + y4: r * Math.sin(a2) + }; + }; + var rad2deg = function rad2deg(value) { + return value * 180 / Math.PI; + }; + var getQuadraticCurveBoundary = function getQuadraticCurveBoundary(sx, sy, cpx, cpy, ex, ey) { + var midX1 = sx + (cpx - sx) * 0.5; + var midY1 = sy + (cpy - sy) * 0.5; + var midX2 = ex + (cpx - ex) * 0.5; + var midY2 = ey + (cpy - ey) * 0.5; + var resultX1 = Math.min(sx, ex, midX1, midX2); + var resultX2 = Math.max(sx, ex, midX1, midX2); + var resultY1 = Math.min(sy, ey, midY1, midY2); + var resultY2 = Math.max(sy, ey, midY1, midY2); + return new Rectangle(resultX1, resultY1, resultX2 - resultX1, resultY2 - resultY1); + }; + + //De Casteljau algorithm + var getBezierCurveBoundary = function getBezierCurveBoundary(ax, ay, bx, by, cx, cy, dx, dy) { + var tobx = bx - ax; + var toby = by - ay; + var tocx = cx - bx; + var tocy = cy - by; + var todx = dx - cx; + var tody = dy - cy; + var precision = 40; + var d, i, px, py, qx, qy, rx, ry, tx, ty, sx, sy, x, y, minx, miny, maxx, maxy, toqx, toqy, torx, tory, totx, toty; + for (i = 0; i < precision + 1; i++) { + d = i / precision; + px = ax + d * tobx; + py = ay + d * toby; + qx = bx + d * tocx; + qy = by + d * tocy; + rx = cx + d * todx; + ry = cy + d * tody; + toqx = qx - px; + toqy = qy - py; + torx = rx - qx; + tory = ry - qy; + sx = px + d * toqx; + sy = py + d * toqy; + tx = qx + d * torx; + ty = qy + d * tory; + totx = tx - sx; + toty = ty - sy; + x = sx + d * totx; + y = sy + d * toty; + if (i == 0) { + minx = x; + miny = y; + maxx = x; + maxy = y; + } else { + minx = Math.min(minx, x); + miny = Math.min(miny, y); + maxx = Math.max(maxx, x); + maxy = Math.max(maxy, y); + } + } + return new Rectangle(Math.round(minx), Math.round(miny), Math.round(maxx - minx), Math.round(maxy - miny)); + }; + var getPrevLineDashValue = function getPrevLineDashValue(lineDash, lineDashOffset) { + return JSON.stringify({ + lineDash: lineDash, + lineDashOffset: lineDashOffset + }); + }; + var setLineDash = function setLineDash() { + // Avoid unnecessary line dash declarations. + if (!this.prevLineDash && !this.ctx.lineDash.length && !this.ctx.lineDashOffset) { + return; + } + + // Avoid unnecessary line dash declarations. + var nextLineDash = getPrevLineDashValue(this.ctx.lineDash, this.ctx.lineDashOffset); + if (this.prevLineDash !== nextLineDash) { + this.pdf.setLineDash(this.ctx.lineDash, this.ctx.lineDashOffset); + this.prevLineDash = nextLineDash; + } + }; + })(jsPDF.API); + + // DEFLATE is a complex format; to read this code, you should probably check the RFC first: + + // aliases for shorter compressed code (most minifers don't do this) + var u8 = Uint8Array, + u16 = Uint16Array, + i32 = Int32Array; + // fixed length extra bits + var fleb = new u8([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0, /* unused */0, 0, /* impossible */0]); + // fixed distance extra bits + var fdeb = new u8([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, /* unused */0, 0]); + // code length index map + var clim = new u8([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); + // get base, reverse index map from extra bits + var freb = function (eb, start) { + var b = new u16(31); + for (var i = 0; i < 31; ++i) { + b[i] = start += 1 << eb[i - 1]; + } + // numbers here are at max 18 bits + var r = new i32(b[30]); + for (var i = 1; i < 30; ++i) { + for (var j = b[i]; j < b[i + 1]; ++j) { + r[j] = j - b[i] << 5 | i; + } + } + return { + b: b, + r: r + }; + }; + var _a = freb(fleb, 2), + fl = _a.b, + revfl = _a.r; + // we can ignore the fact that the other numbers are wrong; they never happen anyway + fl[28] = 258, revfl[258] = 28; + var _b = freb(fdeb, 0), + revfd = _b.r; + // map of value to reverse (assuming 16 bits) + var rev = new u16(32768); + for (var i = 0; i < 32768; ++i) { + // reverse table algorithm from SO + var x = (i & 0xAAAA) >> 1 | (i & 0x5555) << 1; + x = (x & 0xCCCC) >> 2 | (x & 0x3333) << 2; + x = (x & 0xF0F0) >> 4 | (x & 0x0F0F) << 4; + rev[i] = ((x & 0xFF00) >> 8 | (x & 0x00FF) << 8) >> 1; + } + // create huffman tree from u8 "map": index -> code length for code index + // mb (max bits) must be at most 15 + // TODO: optimize/split up? + var hMap = function (cd, mb, r) { + var s = cd.length; + // index + var i = 0; + // u16 "map": index -> # of codes with bit length = index + var l = new u16(mb); + // length of cd must be 288 (total # of codes) + for (; i < s; ++i) { + if (cd[i]) ++l[cd[i] - 1]; + } + // u16 "map": index -> minimum code for bit length = index + var le = new u16(mb); + for (i = 1; i < mb; ++i) { + le[i] = le[i - 1] + l[i - 1] << 1; + } + var co; + if (r) { + // u16 "map": index -> number of actual bits, symbol for code + co = new u16(1 << mb); + // bits to remove for reverser + var rvb = 15 - mb; + for (i = 0; i < s; ++i) { + // ignore 0 lengths + if (cd[i]) { + // num encoding both symbol and bits read + var sv = i << 4 | cd[i]; + // free bits + var r_1 = mb - cd[i]; + // start value + var v = le[cd[i] - 1]++ << r_1; + // m is end value + for (var m = v | (1 << r_1) - 1; v <= m; ++v) { + // every 16 bit value starting with the code yields the same result + co[rev[v] >> rvb] = sv; + } + } + } + } else { + co = new u16(s); + for (i = 0; i < s; ++i) { + if (cd[i]) { + co[i] = rev[le[cd[i] - 1]++] >> 15 - cd[i]; + } + } + } + return co; + }; + // fixed length tree + var flt = new u8(288); + for (var i = 0; i < 144; ++i) flt[i] = 8; + for (var i = 144; i < 256; ++i) flt[i] = 9; + for (var i = 256; i < 280; ++i) flt[i] = 7; + for (var i = 280; i < 288; ++i) flt[i] = 8; + // fixed distance tree + var fdt = new u8(32); + for (var i = 0; i < 32; ++i) fdt[i] = 5; + // fixed length map + var flm = /*#__PURE__*/hMap(flt, 9, 0); + // fixed distance map + var fdm = /*#__PURE__*/hMap(fdt, 5, 0); + // get end of byte + var shft = function (p) { + return (p + 7) / 8 | 0; + }; + // typed array slice - allows garbage collector to free original reference, + // while being more compatible than .slice + var slc = function (v, s, e) { + if (s == null || s < 0) s = 0; + if (e == null || e > v.length) e = v.length; + // can't use .constructor in case user-supplied + return new u8(v.subarray(s, e)); + }; + // starting at p, write the minimum number of bits that can hold v to d + var wbits = function (d, p, v) { + v <<= p & 7; + var o = p / 8 | 0; + d[o] |= v; + d[o + 1] |= v >> 8; + }; + // starting at p, write the minimum number of bits (>8) that can hold v to d + var wbits16 = function (d, p, v) { + v <<= p & 7; + var o = p / 8 | 0; + d[o] |= v; + d[o + 1] |= v >> 8; + d[o + 2] |= v >> 16; + }; + // creates code lengths from a frequency table + var hTree = function (d, mb) { + // Need extra info to make a tree + var t = []; + for (var i = 0; i < d.length; ++i) { + if (d[i]) t.push({ + s: i, + f: d[i] + }); + } + var s = t.length; + var t2 = t.slice(); + if (!s) return { + t: et, + l: 0 + }; + if (s == 1) { + var v = new u8(t[0].s + 1); + v[t[0].s] = 1; + return { + t: v, + l: 1 + }; + } + t.sort(function (a, b) { + return a.f - b.f; + }); + // after i2 reaches last ind, will be stopped + // freq must be greater than largest possible number of symbols + t.push({ + s: -1, + f: 25001 + }); + var l = t[0], + r = t[1], + i0 = 0, + i1 = 1, + i2 = 2; + t[0] = { + s: -1, + f: l.f + r.f, + l: l, + r: r + }; + // efficient algorithm from UZIP.js + // i0 is lookbehind, i2 is lookahead - after processing two low-freq + // symbols that combined have high freq, will start processing i2 (high-freq, + // non-composite) symbols instead + // see https://reddit.com/r/photopea/comments/ikekht/uzipjs_questions/ + while (i1 != s - 1) { + l = t[t[i0].f < t[i2].f ? i0++ : i2++]; + r = t[i0 != i1 && t[i0].f < t[i2].f ? i0++ : i2++]; + t[i1++] = { + s: -1, + f: l.f + r.f, + l: l, + r: r + }; + } + var maxSym = t2[0].s; + for (var i = 1; i < s; ++i) { + if (t2[i].s > maxSym) maxSym = t2[i].s; + } + // code lengths + var tr = new u16(maxSym + 1); + // max bits in tree + var mbt = ln(t[i1 - 1], tr, 0); + if (mbt > mb) { + // more algorithms from UZIP.js + // TODO: find out how this code works (debt) + // ind debt + var i = 0, + dt = 0; + // left cost + var lft = mbt - mb, + cst = 1 << lft; + t2.sort(function (a, b) { + return tr[b.s] - tr[a.s] || a.f - b.f; + }); + for (; i < s; ++i) { + var i2_1 = t2[i].s; + if (tr[i2_1] > mb) { + dt += cst - (1 << mbt - tr[i2_1]); + tr[i2_1] = mb; + } else break; + } + dt >>= lft; + while (dt > 0) { + var i2_2 = t2[i].s; + if (tr[i2_2] < mb) dt -= 1 << mb - tr[i2_2]++ - 1;else ++i; + } + for (; i >= 0 && dt; --i) { + var i2_3 = t2[i].s; + if (tr[i2_3] == mb) { + --tr[i2_3]; + ++dt; + } + } + mbt = mb; + } + return { + t: new u8(tr), + l: mbt + }; + }; + // get the max length and assign length codes + var ln = function (n, l, d) { + return n.s == -1 ? Math.max(ln(n.l, l, d + 1), ln(n.r, l, d + 1)) : l[n.s] = d; + }; + // length codes generation + var lc = function (c) { + var s = c.length; + // Note that the semicolon was intentional + while (s && !c[--s]); + var cl = new u16(++s); + // ind num streak + var cli = 0, + cln = c[0], + cls = 1; + var w = function (v) { + cl[cli++] = v; + }; + for (var i = 1; i <= s; ++i) { + if (c[i] == cln && i != s) ++cls;else { + if (!cln && cls > 2) { + for (; cls > 138; cls -= 138) w(32754); + if (cls > 2) { + w(cls > 10 ? cls - 11 << 5 | 28690 : cls - 3 << 5 | 12305); + cls = 0; + } + } else if (cls > 3) { + w(cln), --cls; + for (; cls > 6; cls -= 6) w(8304); + if (cls > 2) w(cls - 3 << 5 | 8208), cls = 0; + } + while (cls--) w(cln); + cls = 1; + cln = c[i]; + } + } + return { + c: cl.subarray(0, cli), + n: s + }; + }; + // calculate the length of output from tree, code lengths + var clen = function (cf, cl) { + var l = 0; + for (var i = 0; i < cl.length; ++i) l += cf[i] * cl[i]; + return l; + }; + // writes a fixed block + // returns the new bit pos + var wfblk = function (out, pos, dat) { + // no need to write 00 as type: TypedArray defaults to 0 + var s = dat.length; + var o = shft(pos + 2); + out[o] = s & 255; + out[o + 1] = s >> 8; + out[o + 2] = out[o] ^ 255; + out[o + 3] = out[o + 1] ^ 255; + for (var i = 0; i < s; ++i) out[o + i + 4] = dat[i]; + return (o + 4 + s) * 8; + }; + // writes a block + var wblk = function (dat, out, final, syms, lf, df, eb, li, bs, bl, p) { + wbits(out, p++, final); + ++lf[256]; + var _a = hTree(lf, 15), + dlt = _a.t, + mlb = _a.l; + var _b = hTree(df, 15), + ddt = _b.t, + mdb = _b.l; + var _c = lc(dlt), + lclt = _c.c, + nlc = _c.n; + var _d = lc(ddt), + lcdt = _d.c, + ndc = _d.n; + var lcfreq = new u16(19); + for (var i = 0; i < lclt.length; ++i) ++lcfreq[lclt[i] & 31]; + for (var i = 0; i < lcdt.length; ++i) ++lcfreq[lcdt[i] & 31]; + var _e = hTree(lcfreq, 7), + lct = _e.t, + mlcb = _e.l; + var nlcc = 19; + for (; nlcc > 4 && !lct[clim[nlcc - 1]]; --nlcc); + var flen = bl + 5 << 3; + var ftlen = clen(lf, flt) + clen(df, fdt) + eb; + var dtlen = clen(lf, dlt) + clen(df, ddt) + eb + 14 + 3 * nlcc + clen(lcfreq, lct) + 2 * lcfreq[16] + 3 * lcfreq[17] + 7 * lcfreq[18]; + if (bs >= 0 && flen <= ftlen && flen <= dtlen) return wfblk(out, p, dat.subarray(bs, bs + bl)); + var lm, ll, dm, dl; + wbits(out, p, 1 + (dtlen < ftlen)), p += 2; + if (dtlen < ftlen) { + lm = hMap(dlt, mlb, 0), ll = dlt, dm = hMap(ddt, mdb, 0), dl = ddt; + var llm = hMap(lct, mlcb, 0); + wbits(out, p, nlc - 257); + wbits(out, p + 5, ndc - 1); + wbits(out, p + 10, nlcc - 4); + p += 14; + for (var i = 0; i < nlcc; ++i) wbits(out, p + 3 * i, lct[clim[i]]); + p += 3 * nlcc; + var lcts = [lclt, lcdt]; + for (var it = 0; it < 2; ++it) { + var clct = lcts[it]; + for (var i = 0; i < clct.length; ++i) { + var len = clct[i] & 31; + wbits(out, p, llm[len]), p += lct[len]; + if (len > 15) wbits(out, p, clct[i] >> 5 & 127), p += clct[i] >> 12; + } + } + } else { + lm = flm, ll = flt, dm = fdm, dl = fdt; + } + for (var i = 0; i < li; ++i) { + var sym = syms[i]; + if (sym > 255) { + var len = sym >> 18 & 31; + wbits16(out, p, lm[len + 257]), p += ll[len + 257]; + if (len > 7) wbits(out, p, sym >> 23 & 31), p += fleb[len]; + var dst = sym & 31; + wbits16(out, p, dm[dst]), p += dl[dst]; + if (dst > 3) wbits16(out, p, sym >> 5 & 8191), p += fdeb[dst]; + } else { + wbits16(out, p, lm[sym]), p += ll[sym]; + } + } + wbits16(out, p, lm[256]); + return p + ll[256]; + }; + // deflate options (nice << 13) | chain + var deo = /*#__PURE__*/new i32([65540, 131080, 131088, 131104, 262176, 1048704, 1048832, 2114560, 2117632]); + // empty + var et = /*#__PURE__*/new u8(0); + // compresses data into a raw DEFLATE buffer + var dflt = function (dat, lvl, plvl, pre, post, st) { + var s = st.z || dat.length; + var o = new u8(pre + s + 5 * (1 + Math.ceil(s / 7000)) + post); + // writing to this writes to the output buffer + var w = o.subarray(pre, o.length - post); + var lst = st.l; + var pos = (st.r || 0) & 7; + if (lvl) { + if (pos) w[0] = st.r >> 3; + var opt = deo[lvl - 1]; + var n = opt >> 13, + c = opt & 8191; + var msk_1 = (1 << plvl) - 1; + // prev 2-byte val map curr 2-byte val map + var prev = st.p || new u16(32768), + head = st.h || new u16(msk_1 + 1); + var bs1_1 = Math.ceil(plvl / 3), + bs2_1 = 2 * bs1_1; + var hsh = function (i) { + return (dat[i] ^ dat[i + 1] << bs1_1 ^ dat[i + 2] << bs2_1) & msk_1; + }; + // 24576 is an arbitrary number of maximum symbols per block + // 424 buffer for last block + var syms = new i32(25000); + // length/literal freq distance freq + var lf = new u16(288), + df = new u16(32); + // l/lcnt exbits index l/lind waitdx blkpos + var lc_1 = 0, + eb = 0, + i = st.i || 0, + li = 0, + wi = st.w || 0, + bs = 0; + for (; i + 2 < s; ++i) { + // hash value + var hv = hsh(i); + // index mod 32768 previous index mod + var imod = i & 32767, + pimod = head[hv]; + prev[imod] = pimod; + head[hv] = imod; + // We always should modify head and prev, but only add symbols if + // this data is not yet processed ("wait" for wait index) + if (wi <= i) { + // bytes remaining + var rem = s - i; + if ((lc_1 > 7000 || li > 24576) && (rem > 423 || !lst)) { + pos = wblk(dat, w, 0, syms, lf, df, eb, li, bs, i - bs, pos); + li = lc_1 = eb = 0, bs = i; + for (var j = 0; j < 286; ++j) lf[j] = 0; + for (var j = 0; j < 30; ++j) df[j] = 0; + } + // len dist chain + var l = 2, + d = 0, + ch_1 = c, + dif = imod - pimod & 32767; + if (rem > 2 && hv == hsh(i - dif)) { + var maxn = Math.min(n, rem) - 1; + var maxd = Math.min(32767, i); + // max possible length + // not capped at dif because decompressors implement "rolling" index population + var ml = Math.min(258, rem); + while (dif <= maxd && --ch_1 && imod != pimod) { + if (dat[i + l] == dat[i + l - dif]) { + var nl = 0; + for (; nl < ml && dat[i + nl] == dat[i + nl - dif]; ++nl); + if (nl > l) { + l = nl, d = dif; + // break out early when we reach "nice" (we are satisfied enough) + if (nl > maxn) break; + // now, find the rarest 2-byte sequence within this + // length of literals and search for that instead. + // Much faster than just using the start + var mmd = Math.min(dif, nl - 2); + var md = 0; + for (var j = 0; j < mmd; ++j) { + var ti = i - dif + j & 32767; + var pti = prev[ti]; + var cd = ti - pti & 32767; + if (cd > md) md = cd, pimod = ti; + } + } + } + // check the previous match + imod = pimod, pimod = prev[imod]; + dif += imod - pimod & 32767; + } + } + // d will be nonzero only when a match was found + if (d) { + // store both dist and len data in one int32 + // Make sure this is recognized as a len/dist with 28th bit (2^28) + syms[li++] = 268435456 | revfl[l] << 18 | revfd[d]; + var lin = revfl[l] & 31, + din = revfd[d] & 31; + eb += fleb[lin] + fdeb[din]; + ++lf[257 + lin]; + ++df[din]; + wi = i + l; + ++lc_1; + } else { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + } + } + for (i = Math.max(i, wi); i < s; ++i) { + syms[li++] = dat[i]; + ++lf[dat[i]]; + } + pos = wblk(dat, w, lst, syms, lf, df, eb, li, bs, i - bs, pos); + if (!lst) { + st.r = pos & 7 | w[pos / 8 | 0] << 3; + // shft(pos) now 1 less if pos & 7 != 0 + pos -= 7; + st.h = head, st.p = prev, st.i = i, st.w = wi; + } + } else { + for (var i = st.w || 0; i < s + lst; i += 65535) { + // end + var e = i + 65535; + if (e >= s) { + // write final block + w[pos / 8 | 0] = lst; + e = s; + } + pos = wfblk(w, pos + 1, dat.subarray(i, e)); + } + st.i = s; + } + return slc(o, 0, pre + shft(pos) + post); + }; + // Adler32 + var adler = function () { + var a = 1, + b = 0; + return { + p: function (d) { + // closures have awful performance + var n = a, + m = b; + var l = d.length | 0; + for (var i = 0; i != l;) { + var e = Math.min(i + 2655, l); + for (; i < e; ++i) m += n += d[i]; + n = (n & 65535) + 15 * (n >> 16), m = (m & 65535) + 15 * (m >> 16); + } + a = n, b = m; + }, + d: function () { + a %= 65521, b %= 65521; + return (a & 255) << 24 | (a & 0xFF00) << 8 | (b & 255) << 8 | b >> 8; + } + }; + }; + // deflate with opts + var dopt = function (dat, opt, pre, post, st) { + if (!st) { + st = { + l: 1 + }; + if (opt.dictionary) { + var dict = opt.dictionary.subarray(-32768); + var newDat = new u8(dict.length + dat.length); + newDat.set(dict); + newDat.set(dat, dict.length); + dat = newDat; + st.w = dict.length; + } + } + return dflt(dat, opt.level == null ? 6 : opt.level, opt.mem == null ? Math.ceil(Math.max(8, Math.min(13, Math.log(dat.length))) * 1.5) : 12 + opt.mem, pre, post, st); + }; + // write bytes + var wbytes = function (d, b, v) { + for (; v; ++b) d[b] = v, v >>>= 8; + }; + // zlib header + var zlh = function (c, o) { + var lv = o.level, + fl = lv == 0 ? 0 : lv < 6 ? 1 : lv == 9 ? 3 : 2; + c[0] = 120, c[1] = fl << 6 | (o.dictionary && 32); + c[1] |= 31 - (c[0] << 8 | c[1]) % 31; + if (o.dictionary) { + var h = adler(); + h.p(o.dictionary); + wbytes(c, 2, h.d()); + } + }; + /** + * Compress data with Zlib + * @param data The data to compress + * @param opts The compression options + * @returns The zlib-compressed version of the data + */ + function zlibSync(data, opts) { + if (!opts) opts = {}; + var a = adler(); + a.p(data); + var d = dopt(data, opts, opts.dictionary ? 6 : 2, 4); + return zlh(d, opts), wbytes(d, d.length - 4, a.d()), d; + } + // text decoder + var td = typeof TextDecoder != 'undefined' && /*#__PURE__*/new TextDecoder(); + // text decoder stream + var tds = 0; + try { + td.decode(et, { + stream: true + }); + tds = 1; + } catch (e) {} + + /** + * @license + * jsPDF filters PlugIn + * Copyright (c) 2014 Aras Abbasi + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + (function (jsPDFAPI) { + + var ASCII85Encode = function ASCII85Encode(a) { + var b, c, d, e, f, g, h, i, j, k; + // eslint-disable-next-line no-control-regex + for (!/[^\x00-\xFF]/.test(a), b = "\x00\x00\x00\x00".slice(a.length % 4 || 4), a += b, c = [], d = 0, e = a.length; e > d; d += 4) { + f = (a.charCodeAt(d) << 24) + (a.charCodeAt(d + 1) << 16) + (a.charCodeAt(d + 2) << 8) + a.charCodeAt(d + 3), 0 !== f ? (k = f % 85, f = (f - k) / 85, j = f % 85, f = (f - j) / 85, i = f % 85, f = (f - i) / 85, h = f % 85, f = (f - h) / 85, g = f % 85, c.push(g + 33, h + 33, i + 33, j + 33, k + 33)) : c.push(122); + } + return function (a, b) { + for (var c = b; c > 0; c--) { + a.pop(); + } + }(c, b.length), String.fromCharCode.apply(String, c) + "~>"; + }; + var ASCII85Decode = function ASCII85Decode(a) { + var c, + d, + e, + f, + g, + h = String, + l = "length", + w = 255, + x = "charCodeAt", + y = "slice", + z = "replace"; + for ("~>" === a[y](-2), a = a[y](0, -2)[z](/\s/g, "")[z]("z", "!!!!!"), c = "uuuuu"[y](a[l] % 5 || 5), a += c, e = [], f = 0, g = a[l]; g > f; f += 5) { + d = 52200625 * (a[x](f) - 33) + 614125 * (a[x](f + 1) - 33) + 7225 * (a[x](f + 2) - 33) + 85 * (a[x](f + 3) - 33) + (a[x](f + 4) - 33), e.push(w & d >> 24, w & d >> 16, w & d >> 8, w & d); + } + return function (a, b) { + for (var c = b; c > 0; c--) { + a.pop(); + } + }(e, c[l]), h.fromCharCode.apply(h, e); + }; + var ASCIIHexEncode = function ASCIIHexEncode(value) { + return value.split("").map(function (value) { + return ("0" + value.charCodeAt().toString(16)).slice(-2); + }).join("") + ">"; + }; + var ASCIIHexDecode = function ASCIIHexDecode(value) { + var regexCheckIfHex = new RegExp(/^([0-9A-Fa-f]{2})+$/); + value = value.replace(/\s/g, ""); + if (value.indexOf(">") !== -1) { + value = value.substr(0, value.indexOf(">")); + } + if (value.length % 2) { + value += "0"; + } + if (regexCheckIfHex.test(value) === false) { + return ""; + } + var result = ""; + for (var i = 0; i < value.length; i += 2) { + result += String.fromCharCode("0x" + (value[i] + value[i + 1])); + } + return result; + }; + /* + var FlatePredictors = { + None: 1, + TIFF: 2, + PNG_None: 10, + PNG_Sub: 11, + PNG_Up: 12, + PNG_Average: 13, + PNG_Paeth: 14, + PNG_Optimum: 15 + }; + */ + + var FlateEncode = function FlateEncode(data) { + var arr = new Uint8Array(data.length); + var i = data.length; + while (i--) { + arr[i] = data.charCodeAt(i); + } + arr = zlibSync(arr); + data = arr.reduce(function (data, byte) { + return data + String.fromCharCode(byte); + }, ""); + return data; + }; + jsPDFAPI.processDataByFilters = function (origData, filterChain) { + + var i = 0; + var data = origData || ""; + var reverseChain = []; + filterChain = filterChain || []; + if (typeof filterChain === "string") { + filterChain = [filterChain]; + } + for (i = 0; i < filterChain.length; i += 1) { + switch (filterChain[i]) { + case "ASCII85Decode": + case "/ASCII85Decode": + data = ASCII85Decode(data); + reverseChain.push("/ASCII85Encode"); + break; + case "ASCII85Encode": + case "/ASCII85Encode": + data = ASCII85Encode(data); + reverseChain.push("/ASCII85Decode"); + break; + case "ASCIIHexDecode": + case "/ASCIIHexDecode": + data = ASCIIHexDecode(data); + reverseChain.push("/ASCIIHexEncode"); + break; + case "ASCIIHexEncode": + case "/ASCIIHexEncode": + data = ASCIIHexEncode(data); + reverseChain.push("/ASCIIHexDecode"); + break; + case "FlateEncode": + case "/FlateEncode": + data = FlateEncode(data); + reverseChain.push("/FlateDecode"); + break; + default: + throw new Error('The filter: "' + filterChain[i] + '" is not implemented'); + } + } + return { + data: data, + reverseChain: reverseChain.reverse().join(" ") + }; + }; + })(jsPDF.API); + + /** + * @license + * jsPDF fileloading PlugIn + * Copyright (c) 2018 Aras Abbasi (aras.abbasi@gmail.com) + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * @name fileloading + * @module + */ + (function (jsPDFAPI) { + + /** + * @name loadFile + * @function + * @param {string} url + * @param {boolean} sync + * @param {function} callback + * @returns {string|undefined} result + */ + jsPDFAPI.loadFile = function (url, sync, callback) { + return browserRequest(url, sync, callback); + }; + + /** + * @name loadImageFile + * @function + * @param {string} path + * @param {boolean} sync + * @param {function} callback + */ + jsPDFAPI.loadImageFile = jsPDFAPI.loadFile; + function browserRequest(url, sync, callback) { + sync = sync === false ? false : true; + callback = typeof callback === "function" ? callback : function () {}; + var result = undefined; + var xhr = function xhr(url, sync, callback) { + var request = new XMLHttpRequest(); + var i = 0; + var sanitizeUnicode = function sanitizeUnicode(data) { + var dataLength = data.length; + var charArray = []; + var StringFromCharCode = String.fromCharCode; + + //Transform Unicode to ASCII + for (i = 0; i < dataLength; i += 1) { + charArray.push(StringFromCharCode(data.charCodeAt(i) & 0xff)); + } + return charArray.join(""); + }; + request.open("GET", url, !sync); + // XHR binary charset opt by Marcus Granado 2006 [http://mgran.blogspot.com] + request.overrideMimeType("text/plain; charset=x-user-defined"); + if (sync === false) { + request.onload = function () { + if (request.status === 200) { + callback(sanitizeUnicode(this.responseText)); + } else { + callback(undefined); + } + }; + } + request.send(null); + if (sync && request.status === 200) { + return sanitizeUnicode(request.responseText); + } + }; + try { + result = xhr(url, sync, callback); + // eslint-disable-next-line no-empty + } catch (e) {} + return result; + } + })(jsPDF.API); + + /** + * jsPDF html PlugIn + * + * @name html + * @module + */ + (function (jsPDFAPI) { + + function loadHtml2Canvas() { + return function () { + if (globalObject["html2canvas"]) { + return Promise.resolve(globalObject["html2canvas"]); + } + if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === "object" && typeof module !== "undefined") { + return new Promise(function (resolve, reject) { + try { + resolve(require("html2canvas")); + } catch (e) { + reject(e); + } + }); + } + if (typeof define === "function" && define.amd) { + return new Promise(function (resolve, reject) { + try { + require(["html2canvas"], resolve); + } catch (e) { + reject(e); + } + }); + } + return Promise.reject(new Error("Could not load html2canvas")); + }().catch(function (e) { + return Promise.reject(new Error("Could not load html2canvas: " + e)); + }).then(function (html2canvas) { + return html2canvas.default ? html2canvas.default : html2canvas; + }); + } + function loadDomPurify() { + return function () { + if (globalObject["DOMPurify"]) { + return Promise.resolve(globalObject["DOMPurify"]); + } + if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === "object" && typeof module !== "undefined") { + return new Promise(function (resolve, reject) { + try { + resolve(require("dompurify")); + } catch (e) { + reject(e); + } + }); + } + if (typeof define === "function" && define.amd) { + return new Promise(function (resolve, reject) { + try { + require(["dompurify"], resolve); + } catch (e) { + reject(e); + } + }); + } + return Promise.reject(new Error("Could not load dompurify")); + }().catch(function (e) { + return Promise.reject(new Error("Could not load dompurify: " + e)); + }).then(function (dompurify) { + return dompurify.default ? dompurify.default : dompurify; + }); + } + + /** + * Determine the type of a variable/object. + * + * @private + * @ignore + */ + var objType = function objType(obj) { + var type = _typeof(obj); + if (type === "undefined") return "undefined";else if (type === "string" || obj instanceof String) return "string";else if (type === "number" || obj instanceof Number) return "number";else if (type === "function" || obj instanceof Function) return "function";else if (!!obj && obj.constructor === Array) return "array";else if (obj && obj.nodeType === 1) return "element";else if (type === "object") return "object";else return "unknown"; + }; + + /** + * Create an HTML element with optional className, innerHTML, and style. + * + * @private + * @ignore + */ + var createElement = function createElement(tagName, opt) { + var el = document.createElement(tagName); + if (opt.className) el.className = opt.className; + if (opt.innerHTML && opt.dompurify) { + el.innerHTML = opt.dompurify.sanitize(opt.innerHTML); + } + for (var key in opt.style) { + el.style[key] = opt.style[key]; + } + return el; + }; + + /** + * Deep-clone a node and preserve contents/properties. + * + * @private + * @ignore + */ + var cloneNode = function cloneNode(node, javascriptEnabled) { + // Recursively clone the node. + var clone = node.nodeType === 3 ? document.createTextNode(node.nodeValue) : node.cloneNode(false); + for (var child = node.firstChild; child; child = child.nextSibling) { + if (javascriptEnabled === true || child.nodeType !== 1 || child.nodeName !== "SCRIPT") { + clone.appendChild(cloneNode(child, javascriptEnabled)); + } + } + if (node.nodeType === 1) { + // Preserve contents/properties of special nodes. + if (node.nodeName === "CANVAS") { + clone.width = node.width; + clone.height = node.height; + clone.getContext("2d").drawImage(node, 0, 0); + } else if (node.nodeName === "TEXTAREA" || node.nodeName === "SELECT") { + clone.value = node.value; + } + + // Preserve the node's scroll position when it loads. + clone.addEventListener("load", function () { + clone.scrollTop = node.scrollTop; + clone.scrollLeft = node.scrollLeft; + }, true); + } + + // Return the cloned node. + return clone; + }; + + /* ----- CONSTRUCTOR ----- */ + + var Worker = function Worker(opt) { + // Create the root parent for the proto chain, and the starting Worker. + var root = Object.assign(Worker.convert(Promise.resolve()), JSON.parse(JSON.stringify(Worker.template))); + var self = Worker.convert(Promise.resolve(), root); + + // Set progress, optional settings, and return. + self = self.setProgress(1, Worker, 1, [Worker]); + self = self.set(opt); + return self; + }; + + // Boilerplate for subclassing Promise. + Worker.prototype = Object.create(Promise.prototype); + Worker.prototype.constructor = Worker; + + // Converts/casts promises into Workers. + Worker.convert = function convert(promise, inherit) { + // Uses prototypal inheritance to receive changes made to ancestors' properties. + promise.__proto__ = inherit || Worker.prototype; + return promise; + }; + Worker.template = { + prop: { + src: null, + container: null, + overlay: null, + canvas: null, + img: null, + pdf: null, + pageSize: null, + callback: function callback() {} + }, + progress: { + val: 0, + state: null, + n: 0, + stack: [] + }, + opt: { + filename: "file.pdf", + margin: [0, 0, 0, 0], + enableLinks: true, + x: 0, + y: 0, + html2canvas: {}, + jsPDF: {}, + backgroundColor: "transparent" + } + }; + + /* ----- FROM / TO ----- */ + + Worker.prototype.from = function from(src, type) { + function getType(src) { + switch (objType(src)) { + case "string": + return "string"; + case "element": + return src.nodeName.toLowerCase() === "canvas" ? "canvas" : "element"; + default: + return "unknown"; + } + } + return this.then(function from_main() { + type = type || getType(src); + switch (type) { + case "string": + return this.then(loadDomPurify).then(function (dompurify) { + return this.set({ + src: createElement("div", { + innerHTML: src, + dompurify: dompurify + }) + }); + }); + case "element": + return this.set({ + src: src + }); + case "canvas": + return this.set({ + canvas: src + }); + case "img": + return this.set({ + img: src + }); + default: + return this.error("Unknown source type."); + } + }); + }; + Worker.prototype.to = function to(target) { + // Route the 'to' request to the appropriate method. + switch (target) { + case "container": + return this.toContainer(); + case "canvas": + return this.toCanvas(); + case "img": + return this.toImg(); + case "pdf": + return this.toPdf(); + default: + return this.error("Invalid target."); + } + }; + Worker.prototype.toContainer = function toContainer() { + // Set up function prerequisites. + var prereqs = [function checkSrc() { + return this.prop.src || this.error("Cannot duplicate - no source HTML."); + }, function checkPageSize() { + return this.prop.pageSize || this.setPageSize(); + }]; + return this.thenList(prereqs).then(function toContainer_main() { + // Define the CSS styles for the container and its overlay parent. + var overlayCSS = { + position: "fixed", + overflow: "hidden", + zIndex: 1000, + left: "-100000px", + right: 0, + bottom: 0, + top: 0 + }; + var containerCSS = { + position: "relative", + display: "inline-block", + width: (typeof this.opt.width === "number" && !isNaN(this.opt.width) && typeof this.opt.windowWidth === "number" && !isNaN(this.opt.windowWidth) ? this.opt.windowWidth : Math.max(this.prop.src.clientWidth, this.prop.src.scrollWidth, this.prop.src.offsetWidth)) + "px", + left: 0, + right: 0, + top: 0, + margin: "auto", + backgroundColor: this.opt.backgroundColor + }; // Set the overlay to hidden (could be changed in the future to provide a print preview). + + var source = cloneNode(this.prop.src, this.opt.html2canvas.javascriptEnabled); + if (source.tagName === "BODY") { + containerCSS.height = Math.max(document.body.scrollHeight, document.body.offsetHeight, document.documentElement.clientHeight, document.documentElement.scrollHeight, document.documentElement.offsetHeight) + "px"; + } + this.prop.overlay = createElement("div", { + className: "html2pdf__overlay", + style: overlayCSS + }); + this.prop.container = createElement("div", { + className: "html2pdf__container", + style: containerCSS + }); + this.prop.container.appendChild(source); + this.prop.container.firstChild.appendChild(createElement("div", { + style: { + clear: "both", + border: "0 none transparent", + margin: 0, + padding: 0, + height: 0 + } + })); + this.prop.container.style.float = "none"; + this.prop.overlay.appendChild(this.prop.container); + document.body.appendChild(this.prop.overlay); + this.prop.container.firstChild.style.position = "relative"; + this.prop.container.height = Math.max(this.prop.container.firstChild.clientHeight, this.prop.container.firstChild.scrollHeight, this.prop.container.firstChild.offsetHeight) + "px"; + }); + }; + Worker.prototype.toCanvas = function toCanvas() { + // Set up function prerequisites. + var prereqs = [function checkContainer() { + return document.body.contains(this.prop.container) || this.toContainer(); + }]; + + // Fulfill prereqs then create the canvas. + return this.thenList(prereqs).then(loadHtml2Canvas).then(function toCanvas_main(html2canvas) { + // Handle old-fashioned 'onrendered' argument. + var options = Object.assign({}, this.opt.html2canvas); + delete options.onrendered; + return html2canvas(this.prop.container, options); + }).then(function toCanvas_post(canvas) { + // Handle old-fashioned 'onrendered' argument. + var onRendered = this.opt.html2canvas.onrendered || function () {}; + onRendered(canvas); + this.prop.canvas = canvas; + document.body.removeChild(this.prop.overlay); + }); + }; + Worker.prototype.toContext2d = function toContext2d() { + // Set up function prerequisites. + var prereqs = [function checkContainer() { + return document.body.contains(this.prop.container) || this.toContainer(); + }]; + + // Fulfill prereqs then create the canvas. + return this.thenList(prereqs).then(loadHtml2Canvas).then(function toContext2d_main(html2canvas) { + // Handle old-fashioned 'onrendered' argument. + + var pdf = this.opt.jsPDF; + var fontFaces = this.opt.fontFaces; + var scale = typeof this.opt.width === "number" && !isNaN(this.opt.width) && typeof this.opt.windowWidth === "number" && !isNaN(this.opt.windowWidth) ? this.opt.width / this.opt.windowWidth : 1; + var options = Object.assign({ + async: true, + allowTaint: true, + scale: scale, + scrollX: this.opt.scrollX || 0, + scrollY: this.opt.scrollY || 0, + backgroundColor: "#ffffff", + imageTimeout: 15000, + logging: true, + proxy: null, + removeContainer: true, + foreignObjectRendering: false, + useCORS: false + }, this.opt.html2canvas); + delete options.onrendered; + pdf.context2d.autoPaging = typeof this.opt.autoPaging === "undefined" ? true : this.opt.autoPaging; + pdf.context2d.posX = this.opt.x; + pdf.context2d.posY = this.opt.y; + pdf.context2d.margin = this.opt.margin; + pdf.context2d.fontFaces = fontFaces; + if (fontFaces) { + for (var i = 0; i < fontFaces.length; ++i) { + var font = fontFaces[i]; + var src = font.src.find(function (src) { + return src.format === "truetype"; + }); + if (src) { + pdf.addFont(src.url, font.ref.name, font.ref.style); + } + } + } + options.windowHeight = options.windowHeight || 0; + options.windowHeight = options.windowHeight == 0 ? Math.max(this.prop.container.clientHeight, this.prop.container.scrollHeight, this.prop.container.offsetHeight) : options.windowHeight; + pdf.context2d.save(true); + return html2canvas(this.prop.container, options); + }).then(function toContext2d_post(canvas) { + this.opt.jsPDF.context2d.restore(true); + + // Handle old-fashioned 'onrendered' argument. + var onRendered = this.opt.html2canvas.onrendered || function () {}; + onRendered(canvas); + this.prop.canvas = canvas; + document.body.removeChild(this.prop.overlay); + }); + }; + Worker.prototype.toImg = function toImg() { + // Set up function prerequisites. + var prereqs = [function checkCanvas() { + return this.prop.canvas || this.toCanvas(); + }]; + + // Fulfill prereqs then create the image. + return this.thenList(prereqs).then(function toImg_main() { + var imgData = this.prop.canvas.toDataURL("image/" + this.opt.image.type, this.opt.image.quality); + this.prop.img = document.createElement("img"); + this.prop.img.src = imgData; + }); + }; + Worker.prototype.toPdf = function toPdf() { + // Set up function prerequisites. + var prereqs = [function checkContext2d() { + return this.toContext2d(); + } + //function checkCanvas() { return this.prop.canvas || this.toCanvas(); } + ]; + + // Fulfill prereqs then create the image. + return this.thenList(prereqs).then(function toPdf_main() { + // Create local copies of frequently used properties. + this.prop.pdf = this.prop.pdf || this.opt.jsPDF; + }); + }; + + /* ----- OUTPUT / SAVE ----- */ + + Worker.prototype.output = function output(type, options, src) { + // Redirect requests to the correct function (outputPdf / outputImg). + src = src || "pdf"; + if (src.toLowerCase() === "img" || src.toLowerCase() === "image") { + return this.outputImg(type, options); + } else { + return this.outputPdf(type, options); + } + }; + Worker.prototype.outputPdf = function outputPdf(type, options) { + // Set up function prerequisites. + var prereqs = [function checkPdf() { + return this.prop.pdf || this.toPdf(); + }]; + + // Fulfill prereqs then perform the appropriate output. + return this.thenList(prereqs).then(function outputPdf_main() { + /* Currently implemented output types: + * https://rawgit.com/MrRio/jsPDF/master/docs/jspdf.js.html#line992 + * save(options), arraybuffer, blob, bloburi/bloburl, + * datauristring/dataurlstring, dataurlnewwindow, datauri/dataurl + */ + return this.prop.pdf.output(type, options); + }); + }; + Worker.prototype.outputImg = function outputImg(type) { + // Set up function prerequisites. + var prereqs = [function checkImg() { + return this.prop.img || this.toImg(); + }]; + + // Fulfill prereqs then perform the appropriate output. + return this.thenList(prereqs).then(function outputImg_main() { + switch (type) { + case undefined: + case "img": + return this.prop.img; + case "datauristring": + case "dataurlstring": + return this.prop.img.src; + case "datauri": + case "dataurl": + return document.location.href = this.prop.img.src; + default: + throw 'Image output type "' + type + '" is not supported.'; + } + }); + }; + Worker.prototype.save = function save(filename) { + // Set up function prerequisites. + var prereqs = [function checkPdf() { + return this.prop.pdf || this.toPdf(); + }]; + + // Fulfill prereqs, update the filename (if provided), and save the PDF. + return this.thenList(prereqs).set(filename ? { + filename: filename + } : null).then(function save_main() { + this.prop.pdf.save(this.opt.filename); + }); + }; + Worker.prototype.doCallback = function doCallback() { + // Set up function prerequisites. + var prereqs = [function checkPdf() { + return this.prop.pdf || this.toPdf(); + }]; + + // Fulfill prereqs, update the filename (if provided), and save the PDF. + return this.thenList(prereqs).then(function doCallback_main() { + this.prop.callback(this.prop.pdf); + }); + }; + + /* ----- SET / GET ----- */ + + Worker.prototype.set = function set(opt) { + // TODO: Implement ordered pairs? + + // Silently ignore invalid or empty input. + if (objType(opt) !== "object") { + return this; + } + + // Build an array of setter functions to queue. + var fns = Object.keys(opt || {}).map(function (key) { + if (key in Worker.template.prop) { + // Set pre-defined properties. + return function set_prop() { + this.prop[key] = opt[key]; + }; + } else { + switch (key) { + case "margin": + return this.setMargin.bind(this, opt.margin); + case "jsPDF": + return function set_jsPDF() { + this.opt.jsPDF = opt.jsPDF; + return this.setPageSize(); + }; + case "pageSize": + return this.setPageSize.bind(this, opt.pageSize); + default: + // Set any other properties in opt. + return function set_opt() { + this.opt[key] = opt[key]; + }; + } + } + }, this); + + // Set properties within the promise chain. + return this.then(function set_main() { + return this.thenList(fns); + }); + }; + Worker.prototype.get = function get(key, cbk) { + return this.then(function get_main() { + // Fetch the requested property, either as a predefined prop or in opt. + var val = key in Worker.template.prop ? this.prop[key] : this.opt[key]; + return cbk ? cbk(val) : val; + }); + }; + Worker.prototype.setMargin = function setMargin(margin) { + return this.then(function setMargin_main() { + // Parse the margin property. + switch (objType(margin)) { + case "number": + margin = [margin, margin, margin, margin]; + // eslint-disable-next-line no-fallthrough + case "array": + if (margin.length === 2) { + margin = [margin[0], margin[1], margin[0], margin[1]]; + } + if (margin.length === 4) { + break; + } + // eslint-disable-next-line no-fallthrough + default: + return this.error("Invalid margin array."); + } + + // Set the margin property, then update pageSize. + this.opt.margin = margin; + }).then(this.setPageSize); + }; + Worker.prototype.setPageSize = function setPageSize(pageSize) { + function toPx(val, k) { + return Math.floor(val * k / 72 * 96); + } + return this.then(function setPageSize_main() { + // Retrieve page-size based on jsPDF settings, if not explicitly provided. + pageSize = pageSize || jsPDF.getPageSize(this.opt.jsPDF); + + // Add 'inner' field if not present. + if (!pageSize.hasOwnProperty("inner")) { + pageSize.inner = { + width: pageSize.width - this.opt.margin[1] - this.opt.margin[3], + height: pageSize.height - this.opt.margin[0] - this.opt.margin[2] + }; + pageSize.inner.px = { + width: toPx(pageSize.inner.width, pageSize.k), + height: toPx(pageSize.inner.height, pageSize.k) + }; + pageSize.inner.ratio = pageSize.inner.height / pageSize.inner.width; + } + + // Attach pageSize to this. + this.prop.pageSize = pageSize; + }); + }; + Worker.prototype.setProgress = function setProgress(val, state, n, stack) { + // Immediately update all progress values. + if (val != null) this.progress.val = val; + if (state != null) this.progress.state = state; + if (n != null) this.progress.n = n; + if (stack != null) this.progress.stack = stack; + this.progress.ratio = this.progress.val / this.progress.state; + + // Return this for command chaining. + return this; + }; + Worker.prototype.updateProgress = function updateProgress(val, state, n, stack) { + // Immediately update all progress values, using setProgress. + return this.setProgress(val ? this.progress.val + val : null, state ? state : null, n ? this.progress.n + n : null, stack ? this.progress.stack.concat(stack) : null); + }; + + /* ----- PROMISE MAPPING ----- */ + + Worker.prototype.then = function then(onFulfilled, onRejected) { + // Wrap `this` for encapsulation. + var self = this; + return this.thenCore(onFulfilled, onRejected, function then_main(onFulfilled, onRejected) { + // Update progress while queuing, calling, and resolving `then`. + self.updateProgress(null, null, 1, [onFulfilled]); + return Promise.prototype.then.call(this, function then_pre(val) { + self.updateProgress(null, onFulfilled); + return val; + }).then(onFulfilled, onRejected).then(function then_post(val) { + self.updateProgress(1); + return val; + }); + }); + }; + Worker.prototype.thenCore = function thenCore(onFulfilled, onRejected, thenBase) { + // Handle optional thenBase parameter. + thenBase = thenBase || Promise.prototype.then; + + // Wrap `this` for encapsulation and bind it to the promise handlers. + var self = this; + if (onFulfilled) { + onFulfilled = onFulfilled.bind(self); + } + if (onRejected) { + onRejected = onRejected.bind(self); + } + + // Cast self into a Promise to avoid polyfills recursively defining `then`. + var isNative = Promise.toString().indexOf("[native code]") !== -1 && Promise.name === "Promise"; + var selfPromise = isNative ? self : Worker.convert(Object.assign({}, self), Promise.prototype); + + // Return the promise, after casting it into a Worker and preserving props. + var returnVal = thenBase.call(selfPromise, onFulfilled, onRejected); + return Worker.convert(returnVal, self.__proto__); + }; + Worker.prototype.thenExternal = function thenExternal(onFulfilled, onRejected) { + // Call `then` and return a standard promise (exits the Worker chain). + return Promise.prototype.then.call(this, onFulfilled, onRejected); + }; + Worker.prototype.thenList = function thenList(fns) { + // Queue a series of promise 'factories' into the promise chain. + var self = this; + fns.forEach(function thenList_forEach(fn) { + self = self.thenCore(fn); + }); + return self; + }; + Worker.prototype["catch"] = function (onRejected) { + // Bind `this` to the promise handler, call `catch`, and return a Worker. + if (onRejected) { + onRejected = onRejected.bind(this); + } + var returnVal = Promise.prototype["catch"].call(this, onRejected); + return Worker.convert(returnVal, this); + }; + Worker.prototype.catchExternal = function catchExternal(onRejected) { + // Call `catch` and return a standard promise (exits the Worker chain). + return Promise.prototype["catch"].call(this, onRejected); + }; + Worker.prototype.error = function error(msg) { + // Throw the error in the Promise chain. + return this.then(function error_main() { + throw new Error(msg); + }); + }; + + /* ----- ALIASES ----- */ + + Worker.prototype.using = Worker.prototype.set; + Worker.prototype.saveAs = Worker.prototype.save; + Worker.prototype.export = Worker.prototype.output; + Worker.prototype.run = Worker.prototype.then; + + // Get dimensions of a PDF page, as determined by jsPDF. + jsPDF.getPageSize = function (orientation, unit, format) { + // Decode options object + if (_typeof(orientation) === "object") { + var options = orientation; + orientation = options.orientation; + unit = options.unit || unit; + format = options.format || format; + } + + // Default options + unit = unit || "mm"; + format = format || "a4"; + orientation = ("" + (orientation || "P")).toLowerCase(); + var format_as_string = ("" + format).toLowerCase(); + + // Size in pt of various paper formats + var pageFormats = { + a0: [2383.94, 3370.39], + a1: [1683.78, 2383.94], + a2: [1190.55, 1683.78], + a3: [841.89, 1190.55], + a4: [595.28, 841.89], + a5: [419.53, 595.28], + a6: [297.64, 419.53], + a7: [209.76, 297.64], + a8: [147.4, 209.76], + a9: [104.88, 147.4], + a10: [73.7, 104.88], + b0: [2834.65, 4008.19], + b1: [2004.09, 2834.65], + b2: [1417.32, 2004.09], + b3: [1000.63, 1417.32], + b4: [708.66, 1000.63], + b5: [498.9, 708.66], + b6: [354.33, 498.9], + b7: [249.45, 354.33], + b8: [175.75, 249.45], + b9: [124.72, 175.75], + b10: [87.87, 124.72], + c0: [2599.37, 3676.54], + c1: [1836.85, 2599.37], + c2: [1298.27, 1836.85], + c3: [918.43, 1298.27], + c4: [649.13, 918.43], + c5: [459.21, 649.13], + c6: [323.15, 459.21], + c7: [229.61, 323.15], + c8: [161.57, 229.61], + c9: [113.39, 161.57], + c10: [79.37, 113.39], + dl: [311.81, 623.62], + letter: [612, 792], + "government-letter": [576, 756], + legal: [612, 1008], + "junior-legal": [576, 360], + ledger: [1224, 792], + tabloid: [792, 1224], + "credit-card": [153, 243] + }; + var k; + // Unit conversion + switch (unit) { + case "pt": + k = 1; + break; + case "mm": + k = 72 / 25.4; + break; + case "cm": + k = 72 / 2.54; + break; + case "in": + k = 72; + break; + case "px": + k = 72 / 96; + break; + case "pc": + k = 12; + break; + case "em": + k = 12; + break; + case "ex": + k = 6; + break; + default: + throw "Invalid unit: " + unit; + } + var pageHeight = 0; + var pageWidth = 0; + + // Dimensions are stored as user units and converted to points on output + if (pageFormats.hasOwnProperty(format_as_string)) { + pageHeight = pageFormats[format_as_string][1] / k; + pageWidth = pageFormats[format_as_string][0] / k; + } else { + try { + pageHeight = format[1]; + pageWidth = format[0]; + } catch (err) { + throw new Error("Invalid format: " + format); + } + } + var tmp; + // Handle page orientation + if (orientation === "p" || orientation === "portrait") { + orientation = "p"; + if (pageWidth > pageHeight) { + tmp = pageWidth; + pageWidth = pageHeight; + pageHeight = tmp; + } + } else if (orientation === "l" || orientation === "landscape") { + orientation = "l"; + if (pageHeight > pageWidth) { + tmp = pageWidth; + pageWidth = pageHeight; + pageHeight = tmp; + } + } else { + throw "Invalid orientation: " + orientation; + } + + // Return information (k is the unit conversion ratio from pts) + var info = { + width: pageWidth, + height: pageHeight, + unit: unit, + k: k, + orientation: orientation + }; + return info; + }; + + /** + * @typedef FontFace + * + * The font-face type implements an interface similar to that of the font-face CSS rule, + * and is used by jsPDF to match fonts when the font property of CanvasRenderingContext2D + * is updated. + * + * All properties expect values similar to those in the font-face CSS rule. A difference + * is the font-family, which do not need to be enclosed in double-quotes when containing + * spaces like in CSS. + * + * @property {string} family The name of the font-family. + * @property {string|undefined} style The style that this font-face defines, e.g. 'italic'. + * @property {string|number|undefined} weight The weight of the font, either as a string or a number (400, 500, 600, e.g.) + * @property {string|undefined} stretch The stretch of the font, e.g. condensed, normal, expanded. + * @property {Object[]} src A list of URLs from where fonts of various formats can be fetched. + * @property {string} [src] url A URL to a font of a specific format. + * @property {string} [src] format Format of the font referenced by the URL. + */ + + /** + * Generate a PDF from an HTML element or string using. + * + * @name html + * @function + * @param {HTMLElement|string} source The source HTMLElement or a string containing HTML. + * @param {Object} [options] Collection of settings + * @param {function} [options.callback] The mandatory callback-function gets as first parameter the current jsPDF instance + * @param {(number|number[])=} [options.margin] Page margins [top, right, bottom, left]. Default is 0. + * @param {(boolean|'slice'|'text')=} [options.autoPaging] The auto paging mode. + *
    + *
  • + * false: Auto paging is disabled. + *
  • + *
  • + * true or 'slice': Will cut shapes or text chunks across page breaks. Will possibly + * slice text in half, making it difficult to read. + *
  • + *
  • + * 'text': Trys not to cut text in half across page breaks. Works best for documents consisting + * mostly of a single column of text. + *
  • + *
+ * Default is true. + * @param {string} [options.filename] name of the file + * @param {HTMLOptionImage} [options.image] image settings when converting HTML to image + * @param {Html2CanvasOptions} [options.html2canvas] html2canvas options + * @param {FontFace[]} [options.fontFaces] A list of font-faces to match when resolving fonts. Fonts will be added to the PDF based on the specified URL. If omitted, the font match algorithm falls back to old algorithm. + * @param {jsPDF} [options.jsPDF] jsPDF instance + * @param {number=} [options.x] x position on the PDF document in jsPDF units. + * @param {number=} [options.y] y position on the PDF document in jsPDF units. + * @param {number=} [options.width] The target width in the PDF document in jsPDF units. The rendered element will be + * scaled such that it fits into the specified width. Has no effect if either the html2canvas.scale is + * specified or the windowWidth option is NOT specified. + * @param {number=} [options.windowWidth] The window width in CSS pixels. In contrast to the + * html2canvas.windowWidth option, this option affects the actual container size while rendering and + * does NOT affect CSS media queries. This option only has an effect, if the width option is also specified. + * + * @example + * var doc = new jsPDF(); + * + * doc.html(document.body, { + * callback: function (doc) { + * doc.save(); + * }, + * x: 10, + * y: 10 + * }); + */ + jsPDFAPI.html = function (src, options) { + + options = options || {}; + options.callback = options.callback || function () {}; + options.html2canvas = options.html2canvas || {}; + options.html2canvas.canvas = options.html2canvas.canvas || this.canvas; + options.jsPDF = options.jsPDF || this; + options.fontFaces = options.fontFaces ? options.fontFaces.map(normalizeFontFace) : null; + + // Create a new worker with the given options. + var worker = new Worker(options); + if (!options.worker) { + // If worker is not set to true, perform the traditional 'simple' operation. + return worker.from(src).doCallback(); + } else { + // Otherwise, return the worker for new Promise-based operation. + return worker; + } + }; + })(jsPDF.API); + + /** + * @license + * ==================================================================== + * Copyright (c) 2013 Youssef Beddad, youssef.beddad@gmail.com + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * ==================================================================== + */ + + /** + * jsPDF JavaScript plugin + * + * @name javascript + * @module + */ + (function (jsPDFAPI) { + + var jsNamesObj, jsJsObj, text; + /** + * @name addJS + * @function + * @param {string} javascript The javascript to be embedded into the PDF-file. + * @returns {jsPDF} + */ + jsPDFAPI.addJS = function (javascript) { + text = javascript; + this.internal.events.subscribe("postPutResources", function () { + jsNamesObj = this.internal.newObject(); + this.internal.out("<<"); + this.internal.out("/Names [(EmbeddedJS) " + (jsNamesObj + 1) + " 0 R]"); + this.internal.out(">>"); + this.internal.out("endobj"); + jsJsObj = this.internal.newObject(); + this.internal.out("<<"); + this.internal.out("/S /JavaScript"); + this.internal.out("/JS (" + text + ")"); + this.internal.out(">>"); + this.internal.out("endobj"); + }); + this.internal.events.subscribe("putCatalog", function () { + if (jsNamesObj !== undefined && jsJsObj !== undefined) { + this.internal.out("/Names <>"); + } + }); + return this; + }; + })(jsPDF.API); + + /** + * @license + * Copyright (c) 2014 Steven Spungin (TwelveTone LLC) steven@twelvetone.tv + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * jsPDF Outline PlugIn + * + * Generates a PDF Outline + * @name outline + * @module + */ + (function (jsPDFAPI) { + + var namesOid; + //var destsGoto = []; + + jsPDFAPI.events.push(["postPutResources", function () { + var pdf = this; + var rx = /^(\d+) 0 obj$/; + + // Write action goto objects for each page + // this.outline.destsGoto = []; + // for (var i = 0; i < totalPages; i++) { + // var id = pdf.internal.newObject(); + // this.outline.destsGoto.push(id); + // pdf.internal.write("<> endobj"); + // } + // + // for (var i = 0; i < dests.length; i++) { + // pdf.internal.write("(page_" + (i + 1) + ")" + dests[i] + " 0 + // R"); + // } + // + if (this.outline.root.children.length > 0) { + var lines = pdf.outline.render().split(/\r\n/); + for (var i = 0; i < lines.length; i++) { + var line = lines[i]; + var m = rx.exec(line); + if (m != null) { + var oid = m[1]; + pdf.internal.newObjectDeferredBegin(oid, false); + } + pdf.internal.write(line); + } + } + + // This code will write named destination for each page reference + // (page_1, etc) + if (this.outline.createNamedDestinations) { + var totalPages = this.internal.pages.length; + // WARNING: this assumes jsPDF starts on page 3 and pageIDs + // follow 5, 7, 9, etc + // Write destination objects for each page + var dests = []; + for (var i = 0; i < totalPages; i++) { + var id = pdf.internal.newObject(); + dests.push(id); + var info = pdf.internal.getPageInfo(i + 1); + pdf.internal.write("<< /D[" + info.objId + " 0 R /XYZ null null null]>> endobj"); + } + + // assign a name for each destination + var names2Oid = pdf.internal.newObject(); + pdf.internal.write("<< /Names [ "); + for (var i = 0; i < dests.length; i++) { + pdf.internal.write("(page_" + (i + 1) + ")" + dests[i] + " 0 R"); + } + pdf.internal.write(" ] >>", "endobj"); + + // var kids = pdf.internal.newObject(); + // pdf.internal.write('<< /Kids [ ' + names2Oid + ' 0 R'); + // pdf.internal.write(' ] >>', 'endobj'); + + namesOid = pdf.internal.newObject(); + pdf.internal.write("<< /Dests " + names2Oid + " 0 R"); + pdf.internal.write(">>", "endobj"); + } + }]); + jsPDFAPI.events.push(["putCatalog", function () { + var pdf = this; + if (pdf.outline.root.children.length > 0) { + pdf.internal.write("/Outlines", this.outline.makeRef(this.outline.root)); + if (this.outline.createNamedDestinations) { + pdf.internal.write("/Names " + namesOid + " 0 R"); + } + // Open with Bookmarks showing + // pdf.internal.write("/PageMode /UseOutlines"); + } + }]); + jsPDFAPI.events.push(["initialized", function () { + var pdf = this; + pdf.outline = { + createNamedDestinations: false, + root: { + children: [] + } + }; + + /** + * Options: pageNumber + */ + pdf.outline.add = function (parent, title, options) { + var item = { + title: title, + options: options, + children: [] + }; + if (parent == null) { + parent = this.root; + } + parent.children.push(item); + return item; + }; + pdf.outline.render = function () { + this.ctx = {}; + this.ctx.val = ""; + this.ctx.pdf = pdf; + this.genIds_r(this.root); + this.renderRoot(this.root); + this.renderItems(this.root); + return this.ctx.val; + }; + pdf.outline.genIds_r = function (node) { + node.id = pdf.internal.newObjectDeferred(); + for (var i = 0; i < node.children.length; i++) { + this.genIds_r(node.children[i]); + } + }; + pdf.outline.renderRoot = function (node) { + this.objStart(node); + this.line("/Type /Outlines"); + if (node.children.length > 0) { + this.line("/First " + this.makeRef(node.children[0])); + this.line("/Last " + this.makeRef(node.children[node.children.length - 1])); + } + this.line("/Count " + this.count_r({ + count: 0 + }, node)); + this.objEnd(); + }; + pdf.outline.renderItems = function (node) { + var getVerticalCoordinateString = this.ctx.pdf.internal.getVerticalCoordinateString; + for (var i = 0; i < node.children.length; i++) { + var item = node.children[i]; + this.objStart(item); + this.line("/Title " + this.makeString(item.title)); + this.line("/Parent " + this.makeRef(node)); + if (i > 0) { + this.line("/Prev " + this.makeRef(node.children[i - 1])); + } + if (i < node.children.length - 1) { + this.line("/Next " + this.makeRef(node.children[i + 1])); + } + if (item.children.length > 0) { + this.line("/First " + this.makeRef(item.children[0])); + this.line("/Last " + this.makeRef(item.children[item.children.length - 1])); + } + var count = this.count = this.count_r({ + count: 0 + }, item); + if (count > 0) { + this.line("/Count " + count); + } + if (item.options) { + if (item.options.pageNumber) { + // Explicit Destination + //WARNING this assumes page ids are 3,5,7, etc. + var info = pdf.internal.getPageInfo(item.options.pageNumber); + this.line("/Dest " + "[" + info.objId + " 0 R /XYZ 0 " + getVerticalCoordinateString(0) + " 0]"); + // this line does not work on all clients (pageNumber instead of page ref) + //this.line('/Dest ' + '[' + (item.options.pageNumber - 1) + ' /XYZ 0 ' + this.ctx.pdf.internal.pageSize.getHeight() + ' 0]'); + + // Named Destination + // this.line('/Dest (page_' + (item.options.pageNumber) + ')'); + + // Action Destination + // var id = pdf.internal.newObject(); + // pdf.internal.write('<> endobj'); + // this.line('/A ' + id + ' 0 R' ); + } + } + this.objEnd(); + } + for (var z = 0; z < node.children.length; z++) { + this.renderItems(node.children[z]); + } + }; + pdf.outline.line = function (text) { + this.ctx.val += text + "\r\n"; + }; + pdf.outline.makeRef = function (node) { + return node.id + " 0 R"; + }; + pdf.outline.makeString = function (val) { + return "(" + pdf.internal.pdfEscape(val) + ")"; + }; + pdf.outline.objStart = function (node) { + this.ctx.val += "\r\n" + node.id + " 0 obj" + "\r\n<<\r\n"; + }; + pdf.outline.objEnd = function () { + this.ctx.val += ">> \r\n" + "endobj" + "\r\n"; + }; + pdf.outline.count_r = function (ctx, node) { + for (var i = 0; i < node.children.length; i++) { + ctx.count++; + this.count_r(ctx, node.children[i]); + } + return ctx.count; + }; + }]); + return this; + })(jsPDF.API); + + /** + * @license + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * jsPDF jpeg Support PlugIn + * + * @name jpeg_support + * @module + */ + (function (jsPDFAPI) { + + /** + * 0xc0 (SOF) Huffman - Baseline DCT + * 0xc1 (SOF) Huffman - Extended sequential DCT + * 0xc2 Progressive DCT (SOF2) + * 0xc3 Spatial (sequential) lossless (SOF3) + * 0xc4 Differential sequential DCT (SOF5) + * 0xc5 Differential progressive DCT (SOF6) + * 0xc6 Differential spatial (SOF7) + * 0xc7 + */ + var markers = [0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7]; + + //takes a string imgData containing the raw bytes of + //a jpeg image and returns [width, height] + //Algorithm from: http://www.64lines.com/jpeg-width-height + var getJpegInfo = function getJpegInfo(imgData) { + var width, height, numcomponents; + var blockLength = imgData.charCodeAt(4) * 256 + imgData.charCodeAt(5); + var len = imgData.length; + var result = { + width: 0, + height: 0, + numcomponents: 1 + }; + for (var i = 4; i < len; i += 2) { + i += blockLength; + if (markers.indexOf(imgData.charCodeAt(i + 1)) !== -1) { + height = imgData.charCodeAt(i + 5) * 256 + imgData.charCodeAt(i + 6); + width = imgData.charCodeAt(i + 7) * 256 + imgData.charCodeAt(i + 8); + numcomponents = imgData.charCodeAt(i + 9); + result = { + width: width, + height: height, + numcomponents: numcomponents + }; + break; + } else { + blockLength = imgData.charCodeAt(i + 2) * 256 + imgData.charCodeAt(i + 3); + } + } + return result; + }; + + /** + * @ignore + */ + jsPDFAPI.processJPEG = function (data, index, alias, compression, dataAsBinaryString, colorSpace) { + var filter = this.decode.DCT_DECODE, + bpc = 8, + dims, + result = null; + if (typeof data === "string" || this.__addimage__.isArrayBuffer(data) || this.__addimage__.isArrayBufferView(data)) { + // if we already have a stored binary string rep use that + data = dataAsBinaryString || data; + data = this.__addimage__.isArrayBuffer(data) ? new Uint8Array(data) : data; + data = this.__addimage__.isArrayBufferView(data) ? this.__addimage__.arrayBufferToBinaryString(data) : data; + dims = getJpegInfo(data); + switch (dims.numcomponents) { + case 1: + colorSpace = this.color_spaces.DEVICE_GRAY; + break; + case 4: + colorSpace = this.color_spaces.DEVICE_CMYK; + break; + case 3: + colorSpace = this.color_spaces.DEVICE_RGB; + break; + } + result = { + data: data, + width: dims.width, + height: dims.height, + colorSpace: colorSpace, + bitsPerComponent: bpc, + filter: filter, + index: index, + alias: alias + }; + } + return result; + }; + })(jsPDF.API); + + function decode(bytes, encoding = 'utf8') { + const decoder = new TextDecoder(encoding); + return decoder.decode(bytes); + } + const encoder = new TextEncoder(); + function encode(str) { + return encoder.encode(str); + } + + const defaultByteLength = 1024 * 8; + const hostBigEndian = (() => { + const array = new Uint8Array(4); + const view = new Uint32Array(array.buffer); + return !((view[0] = 1) & array[0]); + })(); + const typedArrays = { + int8: globalThis.Int8Array, + uint8: globalThis.Uint8Array, + int16: globalThis.Int16Array, + uint16: globalThis.Uint16Array, + int32: globalThis.Int32Array, + uint32: globalThis.Uint32Array, + uint64: globalThis.BigUint64Array, + int64: globalThis.BigInt64Array, + float32: globalThis.Float32Array, + float64: globalThis.Float64Array + }; + class IOBuffer { + /** + * Reference to the internal ArrayBuffer object. + */ + buffer; + /** + * Byte length of the internal ArrayBuffer. + */ + byteLength; + /** + * Byte offset of the internal ArrayBuffer. + */ + byteOffset; + /** + * Byte length of the internal ArrayBuffer. + */ + length; + /** + * The current offset of the buffer's pointer. + */ + offset; + lastWrittenByte; + littleEndian; + _data; + _mark; + _marks; + /** + * Create a new IOBuffer. + * @param data - The data to construct the IOBuffer with. + * If data is a number, it will be the new buffer's length
+ * If data is `undefined`, the buffer will be initialized with a default length of 8Kb
+ * If data is an ArrayBuffer, SharedArrayBuffer, an ArrayBufferView (Typed Array), an IOBuffer instance, + * or a Node.js Buffer, a view will be created over the underlying ArrayBuffer. + * @param options - An object for the options. + * @returns A new IOBuffer instance. + */ + constructor(data = defaultByteLength, options = {}) { + let dataIsGiven = false; + if (typeof data === 'number') { + data = new ArrayBuffer(data); + } else { + dataIsGiven = true; + this.lastWrittenByte = data.byteLength; + } + const offset = options.offset ? options.offset >>> 0 : 0; + const byteLength = data.byteLength - offset; + let dvOffset = offset; + if (ArrayBuffer.isView(data) || data instanceof IOBuffer) { + if (data.byteLength !== data.buffer.byteLength) { + dvOffset = data.byteOffset + offset; + } + data = data.buffer; + } + if (dataIsGiven) { + this.lastWrittenByte = byteLength; + } else { + this.lastWrittenByte = 0; + } + this.buffer = data; + this.length = byteLength; + this.byteLength = byteLength; + this.byteOffset = dvOffset; + this.offset = 0; + this.littleEndian = true; + this._data = new DataView(this.buffer, dvOffset, byteLength); + this._mark = 0; + this._marks = []; + } + /** + * Checks if the memory allocated to the buffer is sufficient to store more + * bytes after the offset. + * @param byteLength - The needed memory in bytes. + * @returns `true` if there is sufficient space and `false` otherwise. + */ + available(byteLength = 1) { + return this.offset + byteLength <= this.length; + } + /** + * Check if little-endian mode is used for reading and writing multi-byte + * values. + * @returns `true` if little-endian mode is used, `false` otherwise. + */ + isLittleEndian() { + return this.littleEndian; + } + /** + * Set little-endian mode for reading and writing multi-byte values. + * @returns This. + */ + setLittleEndian() { + this.littleEndian = true; + return this; + } + /** + * Check if big-endian mode is used for reading and writing multi-byte values. + * @returns `true` if big-endian mode is used, `false` otherwise. + */ + isBigEndian() { + return !this.littleEndian; + } + /** + * Switches to big-endian mode for reading and writing multi-byte values. + * @returns This. + */ + setBigEndian() { + this.littleEndian = false; + return this; + } + /** + * Move the pointer n bytes forward. + * @param n - Number of bytes to skip. + * @returns This. + */ + skip(n = 1) { + this.offset += n; + return this; + } + /** + * Move the pointer n bytes backward. + * @param n - Number of bytes to move back. + * @returns This. + */ + back(n = 1) { + this.offset -= n; + return this; + } + /** + * Move the pointer to the given offset. + * @param offset - The offset to move to. + * @returns This. + */ + seek(offset) { + this.offset = offset; + return this; + } + /** + * Store the current pointer offset. + * @see {@link IOBuffer#reset} + * @returns This. + */ + mark() { + this._mark = this.offset; + return this; + } + /** + * Move the pointer back to the last pointer offset set by mark. + * @see {@link IOBuffer#mark} + * @returns This. + */ + reset() { + this.offset = this._mark; + return this; + } + /** + * Push the current pointer offset to the mark stack. + * @see {@link IOBuffer#popMark} + * @returns This. + */ + pushMark() { + this._marks.push(this.offset); + return this; + } + /** + * Pop the last pointer offset from the mark stack, and set the current + * pointer offset to the popped value. + * @see {@link IOBuffer#pushMark} + * @returns This. + */ + popMark() { + const offset = this._marks.pop(); + if (offset === undefined) { + throw new Error('Mark stack empty'); + } + this.seek(offset); + return this; + } + /** + * Move the pointer offset back to 0. + * @returns This. + */ + rewind() { + this.offset = 0; + return this; + } + /** + * Make sure the buffer has sufficient memory to write a given byteLength at + * the current pointer offset. + * If the buffer's memory is insufficient, this method will create a new + * buffer (a copy) with a length that is twice (byteLength + current offset). + * @param byteLength - The needed memory in bytes. + * @returns This. + */ + ensureAvailable(byteLength = 1) { + if (!this.available(byteLength)) { + const lengthNeeded = this.offset + byteLength; + const newLength = lengthNeeded * 2; + const newArray = new Uint8Array(newLength); + newArray.set(new Uint8Array(this.buffer)); + this.buffer = newArray.buffer; + this.length = newLength; + this.byteLength = newLength; + this._data = new DataView(this.buffer); + } + return this; + } + /** + * Read a byte and return false if the byte's value is 0, or true otherwise. + * Moves pointer forward by one byte. + * @returns The read boolean. + */ + readBoolean() { + return this.readUint8() !== 0; + } + /** + * Read a signed 8-bit integer and move pointer forward by 1 byte. + * @returns The read byte. + */ + readInt8() { + return this._data.getInt8(this.offset++); + } + /** + * Read an unsigned 8-bit integer and move pointer forward by 1 byte. + * @returns The read byte. + */ + readUint8() { + return this._data.getUint8(this.offset++); + } + /** + * Alias for {@link IOBuffer#readUint8}. + * @returns The read byte. + */ + readByte() { + return this.readUint8(); + } + /** + * Read `n` bytes and move pointer forward by `n` bytes. + * @param n - Number of bytes to read. + * @returns The read bytes. + */ + readBytes(n = 1) { + return this.readArray(n, 'uint8'); + } + /** + * Creates an array of corresponding to the type `type` and size `size`. + * For example type `uint8` will create a `Uint8Array`. + * @param size - size of the resulting array + * @param type - number type of elements to read + * @returns The read array. + */ + readArray(size, type) { + const bytes = typedArrays[type].BYTES_PER_ELEMENT * size; + const offset = this.byteOffset + this.offset; + const slice = this.buffer.slice(offset, offset + bytes); + if (this.littleEndian === hostBigEndian && type !== 'uint8' && type !== 'int8') { + const slice = new Uint8Array(this.buffer.slice(offset, offset + bytes)); + slice.reverse(); + const returnArray = new typedArrays[type](slice.buffer); + this.offset += bytes; + returnArray.reverse(); + return returnArray; + } + const returnArray = new typedArrays[type](slice); + this.offset += bytes; + return returnArray; + } + /** + * Read a 16-bit signed integer and move pointer forward by 2 bytes. + * @returns The read value. + */ + readInt16() { + const value = this._data.getInt16(this.offset, this.littleEndian); + this.offset += 2; + return value; + } + /** + * Read a 16-bit unsigned integer and move pointer forward by 2 bytes. + * @returns The read value. + */ + readUint16() { + const value = this._data.getUint16(this.offset, this.littleEndian); + this.offset += 2; + return value; + } + /** + * Read a 32-bit signed integer and move pointer forward by 4 bytes. + * @returns The read value. + */ + readInt32() { + const value = this._data.getInt32(this.offset, this.littleEndian); + this.offset += 4; + return value; + } + /** + * Read a 32-bit unsigned integer and move pointer forward by 4 bytes. + * @returns The read value. + */ + readUint32() { + const value = this._data.getUint32(this.offset, this.littleEndian); + this.offset += 4; + return value; + } + /** + * Read a 32-bit floating number and move pointer forward by 4 bytes. + * @returns The read value. + */ + readFloat32() { + const value = this._data.getFloat32(this.offset, this.littleEndian); + this.offset += 4; + return value; + } + /** + * Read a 64-bit floating number and move pointer forward by 8 bytes. + * @returns The read value. + */ + readFloat64() { + const value = this._data.getFloat64(this.offset, this.littleEndian); + this.offset += 8; + return value; + } + /** + * Read a 64-bit signed integer number and move pointer forward by 8 bytes. + * @returns The read value. + */ + readBigInt64() { + const value = this._data.getBigInt64(this.offset, this.littleEndian); + this.offset += 8; + return value; + } + /** + * Read a 64-bit unsigned integer number and move pointer forward by 8 bytes. + * @returns The read value. + */ + readBigUint64() { + const value = this._data.getBigUint64(this.offset, this.littleEndian); + this.offset += 8; + return value; + } + /** + * Read a 1-byte ASCII character and move pointer forward by 1 byte. + * @returns The read character. + */ + readChar() { + // eslint-disable-next-line unicorn/prefer-code-point + return String.fromCharCode(this.readInt8()); + } + /** + * Read `n` 1-byte ASCII characters and move pointer forward by `n` bytes. + * @param n - Number of characters to read. + * @returns The read characters. + */ + readChars(n = 1) { + let result = ''; + for (let i = 0; i < n; i++) { + result += this.readChar(); + } + return result; + } + /** + * Read the next `n` bytes, return a UTF-8 decoded string and move pointer + * forward by `n` bytes. + * @param n - Number of bytes to read. + * @returns The decoded string. + */ + readUtf8(n = 1) { + return decode(this.readBytes(n)); + } + /** + * Read the next `n` bytes, return a string decoded with `encoding` and move pointer + * forward by `n` bytes. + * If no encoding is passed, the function is equivalent to @see {@link IOBuffer#readUtf8} + * @param n - Number of bytes to read. + * @param encoding - The encoding to use. Default is 'utf8'. + * @returns The decoded string. + */ + decodeText(n = 1, encoding = 'utf8') { + return decode(this.readBytes(n), encoding); + } + /** + * Write 0xff if the passed value is truthy, 0x00 otherwise and move pointer + * forward by 1 byte. + * @param value - The value to write. + * @returns This. + */ + writeBoolean(value) { + this.writeUint8(value ? 0xff : 0x00); + return this; + } + /** + * Write `value` as an 8-bit signed integer and move pointer forward by 1 byte. + * @param value - The value to write. + * @returns This. + */ + writeInt8(value) { + this.ensureAvailable(1); + this._data.setInt8(this.offset++, value); + this._updateLastWrittenByte(); + return this; + } + /** + * Write `value` as an 8-bit unsigned integer and move pointer forward by 1 + * byte. + * @param value - The value to write. + * @returns This. + */ + writeUint8(value) { + this.ensureAvailable(1); + this._data.setUint8(this.offset++, value); + this._updateLastWrittenByte(); + return this; + } + /** + * An alias for {@link IOBuffer#writeUint8}. + * @param value - The value to write. + * @returns This. + */ + writeByte(value) { + return this.writeUint8(value); + } + /** + * Write all elements of `bytes` as uint8 values and move pointer forward by + * `bytes.length` bytes. + * @param bytes - The array of bytes to write. + * @returns This. + */ + writeBytes(bytes) { + this.ensureAvailable(bytes.length); + // eslint-disable-next-line @typescript-eslint/prefer-for-of + for (let i = 0; i < bytes.length; i++) { + this._data.setUint8(this.offset++, bytes[i]); + } + this._updateLastWrittenByte(); + return this; + } + /** + * Write `value` as a 16-bit signed integer and move pointer forward by 2 + * bytes. + * @param value - The value to write. + * @returns This. + */ + writeInt16(value) { + this.ensureAvailable(2); + this._data.setInt16(this.offset, value, this.littleEndian); + this.offset += 2; + this._updateLastWrittenByte(); + return this; + } + /** + * Write `value` as a 16-bit unsigned integer and move pointer forward by 2 + * bytes. + * @param value - The value to write. + * @returns This. + */ + writeUint16(value) { + this.ensureAvailable(2); + this._data.setUint16(this.offset, value, this.littleEndian); + this.offset += 2; + this._updateLastWrittenByte(); + return this; + } + /** + * Write `value` as a 32-bit signed integer and move pointer forward by 4 + * bytes. + * @param value - The value to write. + * @returns This. + */ + writeInt32(value) { + this.ensureAvailable(4); + this._data.setInt32(this.offset, value, this.littleEndian); + this.offset += 4; + this._updateLastWrittenByte(); + return this; + } + /** + * Write `value` as a 32-bit unsigned integer and move pointer forward by 4 + * bytes. + * @param value - The value to write. + * @returns This. + */ + writeUint32(value) { + this.ensureAvailable(4); + this._data.setUint32(this.offset, value, this.littleEndian); + this.offset += 4; + this._updateLastWrittenByte(); + return this; + } + /** + * Write `value` as a 32-bit floating number and move pointer forward by 4 + * bytes. + * @param value - The value to write. + * @returns This. + */ + writeFloat32(value) { + this.ensureAvailable(4); + this._data.setFloat32(this.offset, value, this.littleEndian); + this.offset += 4; + this._updateLastWrittenByte(); + return this; + } + /** + * Write `value` as a 64-bit floating number and move pointer forward by 8 + * bytes. + * @param value - The value to write. + * @returns This. + */ + writeFloat64(value) { + this.ensureAvailable(8); + this._data.setFloat64(this.offset, value, this.littleEndian); + this.offset += 8; + this._updateLastWrittenByte(); + return this; + } + /** + * Write `value` as a 64-bit signed bigint and move pointer forward by 8 + * bytes. + * @param value - The value to write. + * @returns This. + */ + writeBigInt64(value) { + this.ensureAvailable(8); + this._data.setBigInt64(this.offset, value, this.littleEndian); + this.offset += 8; + this._updateLastWrittenByte(); + return this; + } + /** + * Write `value` as a 64-bit unsigned bigint and move pointer forward by 8 + * bytes. + * @param value - The value to write. + * @returns This. + */ + writeBigUint64(value) { + this.ensureAvailable(8); + this._data.setBigUint64(this.offset, value, this.littleEndian); + this.offset += 8; + this._updateLastWrittenByte(); + return this; + } + /** + * Write the charCode of `str`'s first character as an 8-bit unsigned integer + * and move pointer forward by 1 byte. + * @param str - The character to write. + * @returns This. + */ + writeChar(str) { + // eslint-disable-next-line unicorn/prefer-code-point + return this.writeUint8(str.charCodeAt(0)); + } + /** + * Write the charCodes of all `str`'s characters as 8-bit unsigned integers + * and move pointer forward by `str.length` bytes. + * @param str - The characters to write. + * @returns This. + */ + writeChars(str) { + for (let i = 0; i < str.length; i++) { + // eslint-disable-next-line unicorn/prefer-code-point + this.writeUint8(str.charCodeAt(i)); + } + return this; + } + /** + * UTF-8 encode and write `str` to the current pointer offset and move pointer + * forward according to the encoded length. + * @param str - The string to write. + * @returns This. + */ + writeUtf8(str) { + return this.writeBytes(encode(str)); + } + /** + * Export a Uint8Array view of the internal buffer. + * The view starts at the byte offset and its length + * is calculated to stop at the last written byte or the original length. + * @returns A new Uint8Array view. + */ + toArray() { + return new Uint8Array(this.buffer, this.byteOffset, this.lastWrittenByte); + } + /** + * Get the total number of bytes written so far, regardless of the current offset. + * @returns - Total number of bytes. + */ + getWrittenByteLength() { + return this.lastWrittenByte - this.byteOffset; + } + /** + * Update the last written byte offset + * @private + */ + _updateLastWrittenByte() { + if (this.offset > this.lastWrittenByte) { + this.lastWrittenByte = this.offset; + } + } + } + + /*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */ + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + /* eslint-disable space-unary-ops */ + + /* Public constants ==========================================================*/ + /* ===========================================================================*/ + + //const Z_FILTERED = 1; + //const Z_HUFFMAN_ONLY = 2; + //const Z_RLE = 3; + const Z_FIXED$1 = 4; + //const Z_DEFAULT_STRATEGY = 0; + + /* Possible values of the data_type field (though see inflate()) */ + const Z_BINARY = 0; + const Z_TEXT = 1; + //const Z_ASCII = 1; // = Z_TEXT + const Z_UNKNOWN$1 = 2; + + /*============================================================================*/ + + function zero$1(buf) { + let len = buf.length; + while (--len >= 0) { + buf[len] = 0; + } + } + + // From zutil.h + + const STORED_BLOCK = 0; + const STATIC_TREES = 1; + const DYN_TREES = 2; + /* The three kinds of block type */ + + const MIN_MATCH$1 = 3; + const MAX_MATCH$1 = 258; + /* The minimum and maximum match lengths */ + + // From deflate.h + /* =========================================================================== + * Internal compression state. + */ + + const LENGTH_CODES$1 = 29; + /* number of length codes, not counting the special END_BLOCK code */ + + const LITERALS$1 = 256; + /* number of literal bytes 0..255 */ + + const L_CODES$1 = LITERALS$1 + 1 + LENGTH_CODES$1; + /* number of Literal or Length codes, including the END_BLOCK code */ + + const D_CODES$1 = 30; + /* number of distance codes */ + + const BL_CODES$1 = 19; + /* number of codes used to transfer the bit lengths */ + + const HEAP_SIZE$1 = 2 * L_CODES$1 + 1; + /* maximum heap size */ + + const MAX_BITS$1 = 15; + /* All codes must not exceed MAX_BITS bits */ + + const Buf_size = 16; + /* size of bit buffer in bi_buf */ + + /* =========================================================================== + * Constants + */ + + const MAX_BL_BITS = 7; + /* Bit length codes must not exceed MAX_BL_BITS bits */ + + const END_BLOCK = 256; + /* end of block literal code */ + + const REP_3_6 = 16; + /* repeat previous bit length 3-6 times (2 bits of repeat count) */ + + const REPZ_3_10 = 17; + /* repeat a zero length 3-10 times (3 bits of repeat count) */ + + const REPZ_11_138 = 18; + /* repeat a zero length 11-138 times (7 bits of repeat count) */ + + /* eslint-disable comma-spacing,array-bracket-spacing */ + const extra_lbits = /* extra bits for each length code */ + new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0]); + const extra_dbits = /* extra bits for each distance code */ + new Uint8Array([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]); + const extra_blbits = /* extra bits for each bit length code */ + new Uint8Array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7]); + const bl_order = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); + /* eslint-enable comma-spacing,array-bracket-spacing */ + + /* The lengths of the bit length codes are sent in order of decreasing + * probability, to avoid transmitting the lengths for unused bit length codes. + */ + + /* =========================================================================== + * Local data. These are initialized only once. + */ + + // We pre-fill arrays with 0 to avoid uninitialized gaps + + const DIST_CODE_LEN = 512; /* see definition of array dist_code below */ + + // !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1 + const static_ltree = new Array((L_CODES$1 + 2) * 2); + zero$1(static_ltree); + /* The static literal tree. Since the bit lengths are imposed, there is no + * need for the L_CODES extra codes used during heap construction. However + * The codes 286 and 287 are needed to build a canonical tree (see _tr_init + * below). + */ + + const static_dtree = new Array(D_CODES$1 * 2); + zero$1(static_dtree); + /* The static distance tree. (Actually a trivial tree since all codes use + * 5 bits.) + */ + + const _dist_code = new Array(DIST_CODE_LEN); + zero$1(_dist_code); + /* Distance codes. The first 256 values correspond to the distances + * 3 .. 258, the last 256 values correspond to the top 8 bits of + * the 15 bit distances. + */ + + const _length_code = new Array(MAX_MATCH$1 - MIN_MATCH$1 + 1); + zero$1(_length_code); + /* length code for each normalized match length (0 == MIN_MATCH) */ + + const base_length = new Array(LENGTH_CODES$1); + zero$1(base_length); + /* First normalized length for each code (0 = MIN_MATCH) */ + + const base_dist = new Array(D_CODES$1); + zero$1(base_dist); + /* First normalized distance for each code (0 = distance of 1) */ + + function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) { + this.static_tree = static_tree; /* static tree or NULL */ + this.extra_bits = extra_bits; /* extra bits for each code or NULL */ + this.extra_base = extra_base; /* base index for extra_bits */ + this.elems = elems; /* max number of elements in the tree */ + this.max_length = max_length; /* max bit length for the codes */ + + // show if `static_tree` has data or dummy - needed for monomorphic objects + this.has_stree = static_tree && static_tree.length; + } + let static_l_desc; + let static_d_desc; + let static_bl_desc; + function TreeDesc(dyn_tree, stat_desc) { + this.dyn_tree = dyn_tree; /* the dynamic tree */ + this.max_code = 0; /* largest code with non zero frequency */ + this.stat_desc = stat_desc; /* the corresponding static tree */ + } + const d_code = dist => { + return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)]; + }; + + /* =========================================================================== + * Output a short LSB first on the stream. + * IN assertion: there is enough room in pendingBuf. + */ + const put_short = (s, w) => { + // put_byte(s, (uch)((w) & 0xff)); + // put_byte(s, (uch)((ush)(w) >> 8)); + s.pending_buf[s.pending++] = w & 0xff; + s.pending_buf[s.pending++] = w >>> 8 & 0xff; + }; + + /* =========================================================================== + * Send a value on a given number of bits. + * IN assertion: length <= 16 and value fits in length bits. + */ + const send_bits = (s, value, length) => { + if (s.bi_valid > Buf_size - length) { + s.bi_buf |= value << s.bi_valid & 0xffff; + put_short(s, s.bi_buf); + s.bi_buf = value >> Buf_size - s.bi_valid; + s.bi_valid += length - Buf_size; + } else { + s.bi_buf |= value << s.bi_valid & 0xffff; + s.bi_valid += length; + } + }; + const send_code = (s, c, tree) => { + send_bits(s, tree[c * 2] /*.Code*/, tree[c * 2 + 1] /*.Len*/); + }; + + /* =========================================================================== + * Reverse the first len bits of a code, using straightforward code (a faster + * method would use a table) + * IN assertion: 1 <= len <= 15 + */ + const bi_reverse = (code, len) => { + let res = 0; + do { + res |= code & 1; + code >>>= 1; + res <<= 1; + } while (--len > 0); + return res >>> 1; + }; + + /* =========================================================================== + * Flush the bit buffer, keeping at most 7 bits in it. + */ + const bi_flush = s => { + if (s.bi_valid === 16) { + put_short(s, s.bi_buf); + s.bi_buf = 0; + s.bi_valid = 0; + } else if (s.bi_valid >= 8) { + s.pending_buf[s.pending++] = s.bi_buf & 0xff; + s.bi_buf >>= 8; + s.bi_valid -= 8; + } + }; + + /* =========================================================================== + * Compute the optimal bit lengths for a tree and update the total bit length + * for the current block. + * IN assertion: the fields freq and dad are set, heap[heap_max] and + * above are the tree nodes sorted by increasing frequency. + * OUT assertions: the field len is set to the optimal bit length, the + * array bl_count contains the frequencies for each bit length. + * The length opt_len is updated; static_len is also updated if stree is + * not null. + */ + const gen_bitlen = (s, desc) => { + // deflate_state *s; + // tree_desc *desc; /* the tree descriptor */ + + const tree = desc.dyn_tree; + const max_code = desc.max_code; + const stree = desc.stat_desc.static_tree; + const has_stree = desc.stat_desc.has_stree; + const extra = desc.stat_desc.extra_bits; + const base = desc.stat_desc.extra_base; + const max_length = desc.stat_desc.max_length; + let h; /* heap index */ + let n, m; /* iterate over the tree elements */ + let bits; /* bit length */ + let xbits; /* extra bits */ + let f; /* frequency */ + let overflow = 0; /* number of elements with bit length too large */ + + for (bits = 0; bits <= MAX_BITS$1; bits++) { + s.bl_count[bits] = 0; + } + + /* In a first pass, compute the optimal bit lengths (which may + * overflow in the case of the bit length tree). + */ + tree[s.heap[s.heap_max] * 2 + 1] /*.Len*/ = 0; /* root of the heap */ + + for (h = s.heap_max + 1; h < HEAP_SIZE$1; h++) { + n = s.heap[h]; + bits = tree[tree[n * 2 + 1] /*.Dad*/ * 2 + 1] /*.Len*/ + 1; + if (bits > max_length) { + bits = max_length; + overflow++; + } + tree[n * 2 + 1] /*.Len*/ = bits; + /* We overwrite tree[n].Dad which is no longer needed */ + + if (n > max_code) { + continue; + } /* not a leaf node */ + + s.bl_count[bits]++; + xbits = 0; + if (n >= base) { + xbits = extra[n - base]; + } + f = tree[n * 2] /*.Freq*/; + s.opt_len += f * (bits + xbits); + if (has_stree) { + s.static_len += f * (stree[n * 2 + 1] /*.Len*/ + xbits); + } + } + if (overflow === 0) { + return; + } + + // Tracev((stderr,"\nbit length overflow\n")); + /* This happens for example on obj2 and pic of the Calgary corpus */ + + /* Find the first bit length which could increase: */ + do { + bits = max_length - 1; + while (s.bl_count[bits] === 0) { + bits--; + } + s.bl_count[bits]--; /* move one leaf down the tree */ + s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */ + s.bl_count[max_length]--; + /* The brother of the overflow item also moves one step up, + * but this does not affect bl_count[max_length] + */ + overflow -= 2; + } while (overflow > 0); + + /* Now recompute all bit lengths, scanning in increasing frequency. + * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all + * lengths instead of fixing only the wrong ones. This idea is taken + * from 'ar' written by Haruhiko Okumura.) + */ + for (bits = max_length; bits !== 0; bits--) { + n = s.bl_count[bits]; + while (n !== 0) { + m = s.heap[--h]; + if (m > max_code) { + continue; + } + if (tree[m * 2 + 1] /*.Len*/ !== bits) { + // Tracev((stderr,"code %d bits %d->%d\n", m, tree[m].Len, bits)); + s.opt_len += (bits - tree[m * 2 + 1] /*.Len*/) * tree[m * 2] /*.Freq*/; + tree[m * 2 + 1] /*.Len*/ = bits; + } + n--; + } + } + }; + + /* =========================================================================== + * Generate the codes for a given tree and bit counts (which need not be + * optimal). + * IN assertion: the array bl_count contains the bit length statistics for + * the given tree and the field len is set for all tree elements. + * OUT assertion: the field code is set for all tree elements of non + * zero code length. + */ + const gen_codes = (tree, max_code, bl_count) => { + // ct_data *tree; /* the tree to decorate */ + // int max_code; /* largest code with non zero frequency */ + // ushf *bl_count; /* number of codes at each bit length */ + + const next_code = new Array(MAX_BITS$1 + 1); /* next code value for each bit length */ + let code = 0; /* running code value */ + let bits; /* bit index */ + let n; /* code index */ + + /* The distribution counts are first used to generate the code values + * without bit reversal. + */ + for (bits = 1; bits <= MAX_BITS$1; bits++) { + code = code + bl_count[bits - 1] << 1; + next_code[bits] = code; + } + /* Check that the bit counts in bl_count are consistent. The last code + * must be all ones. + */ + //Assert (code + bl_count[MAX_BITS]-1 == (1< { + let n; /* iterates over tree elements */ + let bits; /* bit counter */ + let length; /* length value */ + let code; /* code value */ + let dist; /* distance index */ + const bl_count = new Array(MAX_BITS$1 + 1); + /* number of codes at each bit length for an optimal tree */ + + // do check in _tr_init() + //if (static_init_done) return; + + /* For some embedded targets, global variables are not initialized: */ + /*#ifdef NO_INIT_GLOBAL_POINTERS + static_l_desc.static_tree = static_ltree; + static_l_desc.extra_bits = extra_lbits; + static_d_desc.static_tree = static_dtree; + static_d_desc.extra_bits = extra_dbits; + static_bl_desc.extra_bits = extra_blbits; + #endif*/ + + /* Initialize the mapping length (0..255) -> length code (0..28) */ + length = 0; + for (code = 0; code < LENGTH_CODES$1 - 1; code++) { + base_length[code] = length; + for (n = 0; n < 1 << extra_lbits[code]; n++) { + _length_code[length++] = code; + } + } + //Assert (length == 256, "tr_static_init: length != 256"); + /* Note that the length 255 (match length 258) can be represented + * in two different ways: code 284 + 5 bits or code 285, so we + * overwrite length_code[255] to use the best encoding: + */ + _length_code[length - 1] = code; + + /* Initialize the mapping dist (0..32K) -> dist code (0..29) */ + dist = 0; + for (code = 0; code < 16; code++) { + base_dist[code] = dist; + for (n = 0; n < 1 << extra_dbits[code]; n++) { + _dist_code[dist++] = code; + } + } + //Assert (dist == 256, "tr_static_init: dist != 256"); + dist >>= 7; /* from now on, all distances are divided by 128 */ + for (; code < D_CODES$1; code++) { + base_dist[code] = dist << 7; + for (n = 0; n < 1 << extra_dbits[code] - 7; n++) { + _dist_code[256 + dist++] = code; + } + } + //Assert (dist == 256, "tr_static_init: 256+dist != 512"); + + /* Construct the codes of the static literal tree */ + for (bits = 0; bits <= MAX_BITS$1; bits++) { + bl_count[bits] = 0; + } + n = 0; + while (n <= 143) { + static_ltree[n * 2 + 1] /*.Len*/ = 8; + n++; + bl_count[8]++; + } + while (n <= 255) { + static_ltree[n * 2 + 1] /*.Len*/ = 9; + n++; + bl_count[9]++; + } + while (n <= 279) { + static_ltree[n * 2 + 1] /*.Len*/ = 7; + n++; + bl_count[7]++; + } + while (n <= 287) { + static_ltree[n * 2 + 1] /*.Len*/ = 8; + n++; + bl_count[8]++; + } + /* Codes 286 and 287 do not exist, but we must include them in the + * tree construction to get a canonical Huffman tree (longest code + * all ones) + */ + gen_codes(static_ltree, L_CODES$1 + 1, bl_count); + + /* The static distance tree is trivial: */ + for (n = 0; n < D_CODES$1; n++) { + static_dtree[n * 2 + 1] /*.Len*/ = 5; + static_dtree[n * 2] /*.Code*/ = bi_reverse(n, 5); + } + + // Now data ready and we can init static trees + static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS$1 + 1, L_CODES$1, MAX_BITS$1); + static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES$1, MAX_BITS$1); + static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES$1, MAX_BL_BITS); + + //static_init_done = true; + }; + + /* =========================================================================== + * Initialize a new block. + */ + const init_block = s => { + let n; /* iterates over tree elements */ + + /* Initialize the trees. */ + for (n = 0; n < L_CODES$1; n++) { + s.dyn_ltree[n * 2] /*.Freq*/ = 0; + } + for (n = 0; n < D_CODES$1; n++) { + s.dyn_dtree[n * 2] /*.Freq*/ = 0; + } + for (n = 0; n < BL_CODES$1; n++) { + s.bl_tree[n * 2] /*.Freq*/ = 0; + } + s.dyn_ltree[END_BLOCK * 2] /*.Freq*/ = 1; + s.opt_len = s.static_len = 0; + s.sym_next = s.matches = 0; + }; + + /* =========================================================================== + * Flush the bit buffer and align the output on a byte boundary + */ + const bi_windup = s => { + if (s.bi_valid > 8) { + put_short(s, s.bi_buf); + } else if (s.bi_valid > 0) { + //put_byte(s, (Byte)s->bi_buf); + s.pending_buf[s.pending++] = s.bi_buf; + } + s.bi_buf = 0; + s.bi_valid = 0; + }; + + /* =========================================================================== + * Compares to subtrees, using the tree depth as tie breaker when + * the subtrees have equal frequency. This minimizes the worst case length. + */ + const smaller = (tree, n, m, depth) => { + const _n2 = n * 2; + const _m2 = m * 2; + return tree[_n2] /*.Freq*/ < tree[_m2] /*.Freq*/ || tree[_n2] /*.Freq*/ === tree[_m2] /*.Freq*/ && depth[n] <= depth[m]; + }; + + /* =========================================================================== + * Restore the heap property by moving down the tree starting at node k, + * exchanging a node with the smallest of its two sons if necessary, stopping + * when the heap property is re-established (each father smaller than its + * two sons). + */ + const pqdownheap = (s, tree, k) => { + // deflate_state *s; + // ct_data *tree; /* the tree to restore */ + // int k; /* node to move down */ + + const v = s.heap[k]; + let j = k << 1; /* left son of k */ + while (j <= s.heap_len) { + /* Set j to the smallest of the two sons: */ + if (j < s.heap_len && smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) { + j++; + } + /* Exit if v is smaller than both sons */ + if (smaller(tree, v, s.heap[j], s.depth)) { + break; + } + + /* Exchange v with the smallest son */ + s.heap[k] = s.heap[j]; + k = j; + + /* And continue down the tree, setting j to the left son of k */ + j <<= 1; + } + s.heap[k] = v; + }; + + // inlined manually + // const SMALLEST = 1; + + /* =========================================================================== + * Send the block data compressed using the given Huffman trees + */ + const compress_block = (s, ltree, dtree) => { + // deflate_state *s; + // const ct_data *ltree; /* literal tree */ + // const ct_data *dtree; /* distance tree */ + + let dist; /* distance of matched string */ + let lc; /* match length or unmatched char (if dist == 0) */ + let sx = 0; /* running index in sym_buf */ + let code; /* the code to send */ + let extra; /* number of extra bits to send */ + + if (s.sym_next !== 0) { + do { + dist = s.pending_buf[s.sym_buf + sx++] & 0xff; + dist += (s.pending_buf[s.sym_buf + sx++] & 0xff) << 8; + lc = s.pending_buf[s.sym_buf + sx++]; + if (dist === 0) { + send_code(s, lc, ltree); /* send a literal byte */ + //Tracecv(isgraph(lc), (stderr," '%c' ", lc)); + } else { + /* Here, lc is the match length - MIN_MATCH */ + code = _length_code[lc]; + send_code(s, code + LITERALS$1 + 1, ltree); /* send the length code */ + extra = extra_lbits[code]; + if (extra !== 0) { + lc -= base_length[code]; + send_bits(s, lc, extra); /* send the extra length bits */ + } + dist--; /* dist is now the match distance - 1 */ + code = d_code(dist); + //Assert (code < D_CODES, "bad d_code"); + + send_code(s, code, dtree); /* send the distance code */ + extra = extra_dbits[code]; + if (extra !== 0) { + dist -= base_dist[code]; + send_bits(s, dist, extra); /* send the extra distance bits */ + } + } /* literal or match pair ? */ + + /* Check that the overlay between pending_buf and sym_buf is ok: */ + //Assert(s->pending < s->lit_bufsize + sx, "pendingBuf overflow"); + } while (sx < s.sym_next); + } + send_code(s, END_BLOCK, ltree); + }; + + /* =========================================================================== + * Construct one Huffman tree and assigns the code bit strings and lengths. + * Update the total bit length for the current block. + * IN assertion: the field freq is set for all tree elements. + * OUT assertions: the fields len and code are set to the optimal bit length + * and corresponding code. The length opt_len is updated; static_len is + * also updated if stree is not null. The field max_code is set. + */ + const build_tree = (s, desc) => { + // deflate_state *s; + // tree_desc *desc; /* the tree descriptor */ + + const tree = desc.dyn_tree; + const stree = desc.stat_desc.static_tree; + const has_stree = desc.stat_desc.has_stree; + const elems = desc.stat_desc.elems; + let n, m; /* iterate over heap elements */ + let max_code = -1; /* largest code with non zero frequency */ + let node; /* new node being created */ + + /* Construct the initial heap, with least frequent element in + * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1]. + * heap[0] is not used. + */ + s.heap_len = 0; + s.heap_max = HEAP_SIZE$1; + for (n = 0; n < elems; n++) { + if (tree[n * 2] /*.Freq*/ !== 0) { + s.heap[++s.heap_len] = max_code = n; + s.depth[n] = 0; + } else { + tree[n * 2 + 1] /*.Len*/ = 0; + } + } + + /* The pkzip format requires that at least one distance code exists, + * and that at least one bit should be sent even if there is only one + * possible code. So to avoid special checks later on we force at least + * two codes of non zero frequency. + */ + while (s.heap_len < 2) { + node = s.heap[++s.heap_len] = max_code < 2 ? ++max_code : 0; + tree[node * 2] /*.Freq*/ = 1; + s.depth[node] = 0; + s.opt_len--; + if (has_stree) { + s.static_len -= stree[node * 2 + 1] /*.Len*/; + } + /* node is 0 or 1 so it does not have extra bits */ + } + desc.max_code = max_code; + + /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree, + * establish sub-heaps of increasing lengths: + */ + for (n = s.heap_len >> 1 /*int /2*/; n >= 1; n--) { + pqdownheap(s, tree, n); + } + + /* Construct the Huffman tree by repeatedly combining the least two + * frequent nodes. + */ + node = elems; /* next internal node of the tree */ + do { + //pqremove(s, tree, n); /* n = node of least frequency */ + /*** pqremove ***/ + n = s.heap[1 /*SMALLEST*/]; + s.heap[1 /*SMALLEST*/] = s.heap[s.heap_len--]; + pqdownheap(s, tree, 1 /*SMALLEST*/); + /***/ + + m = s.heap[1 /*SMALLEST*/]; /* m = node of next least frequency */ + + s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */ + s.heap[--s.heap_max] = m; + + /* Create a new node father of n and m */ + tree[node * 2] /*.Freq*/ = tree[n * 2] /*.Freq*/ + tree[m * 2] /*.Freq*/; + s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1; + tree[n * 2 + 1] /*.Dad*/ = tree[m * 2 + 1] /*.Dad*/ = node; + + /* and insert the new node in the heap */ + s.heap[1 /*SMALLEST*/] = node++; + pqdownheap(s, tree, 1 /*SMALLEST*/); + } while (s.heap_len >= 2); + s.heap[--s.heap_max] = s.heap[1 /*SMALLEST*/]; + + /* At this point, the fields freq and dad are set. We can now + * generate the bit lengths. + */ + gen_bitlen(s, desc); + + /* The field len is now set, we can generate the bit codes */ + gen_codes(tree, max_code, s.bl_count); + }; + + /* =========================================================================== + * Scan a literal or distance tree to determine the frequencies of the codes + * in the bit length tree. + */ + const scan_tree = (s, tree, max_code) => { + // deflate_state *s; + // ct_data *tree; /* the tree to be scanned */ + // int max_code; /* and its largest code of non zero frequency */ + + let n; /* iterates over all tree elements */ + let prevlen = -1; /* last emitted length */ + let curlen; /* length of current code */ + + let nextlen = tree[0 * 2 + 1] /*.Len*/; /* length of next code */ + + let count = 0; /* repeat count of the current code */ + let max_count = 7; /* max repeat count */ + let min_count = 4; /* min repeat count */ + + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } + tree[(max_code + 1) * 2 + 1] /*.Len*/ = 0xffff; /* guard */ + + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[(n + 1) * 2 + 1] /*.Len*/; + if (++count < max_count && curlen === nextlen) { + continue; + } else if (count < min_count) { + s.bl_tree[curlen * 2] /*.Freq*/ += count; + } else if (curlen !== 0) { + if (curlen !== prevlen) { + s.bl_tree[curlen * 2] /*.Freq*/++; + } + s.bl_tree[REP_3_6 * 2] /*.Freq*/++; + } else if (count <= 10) { + s.bl_tree[REPZ_3_10 * 2] /*.Freq*/++; + } else { + s.bl_tree[REPZ_11_138 * 2] /*.Freq*/++; + } + count = 0; + prevlen = curlen; + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } else if (curlen === nextlen) { + max_count = 6; + min_count = 3; + } else { + max_count = 7; + min_count = 4; + } + } + }; + + /* =========================================================================== + * Send a literal or distance tree in compressed form, using the codes in + * bl_tree. + */ + const send_tree = (s, tree, max_code) => { + // deflate_state *s; + // ct_data *tree; /* the tree to be scanned */ + // int max_code; /* and its largest code of non zero frequency */ + + let n; /* iterates over all tree elements */ + let prevlen = -1; /* last emitted length */ + let curlen; /* length of current code */ + + let nextlen = tree[0 * 2 + 1] /*.Len*/; /* length of next code */ + + let count = 0; /* repeat count of the current code */ + let max_count = 7; /* max repeat count */ + let min_count = 4; /* min repeat count */ + + /* tree[max_code+1].Len = -1; */ /* guard already set */ + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } + for (n = 0; n <= max_code; n++) { + curlen = nextlen; + nextlen = tree[(n + 1) * 2 + 1] /*.Len*/; + if (++count < max_count && curlen === nextlen) { + continue; + } else if (count < min_count) { + do { + send_code(s, curlen, s.bl_tree); + } while (--count !== 0); + } else if (curlen !== 0) { + if (curlen !== prevlen) { + send_code(s, curlen, s.bl_tree); + count--; + } + //Assert(count >= 3 && count <= 6, " 3_6?"); + send_code(s, REP_3_6, s.bl_tree); + send_bits(s, count - 3, 2); + } else if (count <= 10) { + send_code(s, REPZ_3_10, s.bl_tree); + send_bits(s, count - 3, 3); + } else { + send_code(s, REPZ_11_138, s.bl_tree); + send_bits(s, count - 11, 7); + } + count = 0; + prevlen = curlen; + if (nextlen === 0) { + max_count = 138; + min_count = 3; + } else if (curlen === nextlen) { + max_count = 6; + min_count = 3; + } else { + max_count = 7; + min_count = 4; + } + } + }; + + /* =========================================================================== + * Construct the Huffman tree for the bit lengths and return the index in + * bl_order of the last bit length code to send. + */ + const build_bl_tree = s => { + let max_blindex; /* index of last bit length code of non zero freq */ + + /* Determine the bit length frequencies for literal and distance trees */ + scan_tree(s, s.dyn_ltree, s.l_desc.max_code); + scan_tree(s, s.dyn_dtree, s.d_desc.max_code); + + /* Build the bit length tree: */ + build_tree(s, s.bl_desc); + /* opt_len now includes the length of the tree representations, except + * the lengths of the bit lengths codes and the 5+5+4 bits for the counts. + */ + + /* Determine the number of bit length codes to send. The pkzip format + * requires that at least 4 bit length codes be sent. (appnote.txt says + * 3 but the actual value used is 4.) + */ + for (max_blindex = BL_CODES$1 - 1; max_blindex >= 3; max_blindex--) { + if (s.bl_tree[bl_order[max_blindex] * 2 + 1] /*.Len*/ !== 0) { + break; + } + } + /* Update opt_len to include the bit length tree and counts */ + s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4; + //Tracev((stderr, "\ndyn trees: dyn %ld, stat %ld", + // s->opt_len, s->static_len)); + + return max_blindex; + }; + + /* =========================================================================== + * Send the header for a block using dynamic Huffman trees: the counts, the + * lengths of the bit length codes, the literal tree and the distance tree. + * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4. + */ + const send_all_trees = (s, lcodes, dcodes, blcodes) => { + // deflate_state *s; + // int lcodes, dcodes, blcodes; /* number of codes for each tree */ + + let rank; /* index in bl_order */ + + //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, "not enough codes"); + //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES, + // "too many codes"); + //Tracev((stderr, "\nbl counts: ")); + send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */ + send_bits(s, dcodes - 1, 5); + send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */ + for (rank = 0; rank < blcodes; rank++) { + //Tracev((stderr, "\nbl code %2d ", bl_order[rank])); + send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1] /*.Len*/, 3); + } + //Tracev((stderr, "\nbl tree: sent %ld", s->bits_sent)); + + send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */ + //Tracev((stderr, "\nlit tree: sent %ld", s->bits_sent)); + + send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */ + //Tracev((stderr, "\ndist tree: sent %ld", s->bits_sent)); + }; + + /* =========================================================================== + * Check if the data type is TEXT or BINARY, using the following algorithm: + * - TEXT if the two conditions below are satisfied: + * a) There are no non-portable control characters belonging to the + * "block list" (0..6, 14..25, 28..31). + * b) There is at least one printable character belonging to the + * "allow list" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255). + * - BINARY otherwise. + * - The following partially-portable control characters form a + * "gray list" that is ignored in this detection algorithm: + * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}). + * IN assertion: the fields Freq of dyn_ltree are set. + */ + const detect_data_type = s => { + /* block_mask is the bit mask of block-listed bytes + * set bits 0..6, 14..25, and 28..31 + * 0xf3ffc07f = binary 11110011111111111100000001111111 + */ + let block_mask = 0xf3ffc07f; + let n; + + /* Check for non-textual ("block-listed") bytes. */ + for (n = 0; n <= 31; n++, block_mask >>>= 1) { + if (block_mask & 1 && s.dyn_ltree[n * 2] /*.Freq*/ !== 0) { + return Z_BINARY; + } + } + + /* Check for textual ("allow-listed") bytes. */ + if (s.dyn_ltree[9 * 2] /*.Freq*/ !== 0 || s.dyn_ltree[10 * 2] /*.Freq*/ !== 0 || s.dyn_ltree[13 * 2] /*.Freq*/ !== 0) { + return Z_TEXT; + } + for (n = 32; n < LITERALS$1; n++) { + if (s.dyn_ltree[n * 2] /*.Freq*/ !== 0) { + return Z_TEXT; + } + } + + /* There are no "block-listed" or "allow-listed" bytes: + * this stream either is empty or has tolerated ("gray-listed") bytes only. + */ + return Z_BINARY; + }; + let static_init_done = false; + + /* =========================================================================== + * Initialize the tree data structures for a new zlib stream. + */ + const _tr_init$1 = s => { + if (!static_init_done) { + tr_static_init(); + static_init_done = true; + } + s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc); + s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc); + s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc); + s.bi_buf = 0; + s.bi_valid = 0; + + /* Initialize the first block of the first file: */ + init_block(s); + }; + + /* =========================================================================== + * Send a stored block + */ + const _tr_stored_block$1 = (s, buf, stored_len, last) => { + //DeflateState *s; + //charf *buf; /* input block */ + //ulg stored_len; /* length of input block */ + //int last; /* one if this is the last block for a file */ + + send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */ + bi_windup(s); /* align on byte boundary */ + put_short(s, stored_len); + put_short(s, ~stored_len); + if (stored_len) { + s.pending_buf.set(s.window.subarray(buf, buf + stored_len), s.pending); + } + s.pending += stored_len; + }; + + /* =========================================================================== + * Send one empty static block to give enough lookahead for inflate. + * This takes 10 bits, of which 7 may remain in the bit buffer. + */ + const _tr_align$1 = s => { + send_bits(s, STATIC_TREES << 1, 3); + send_code(s, END_BLOCK, static_ltree); + bi_flush(s); + }; + + /* =========================================================================== + * Determine the best encoding for the current block: dynamic trees, static + * trees or store, and write out the encoded block. + */ + const _tr_flush_block$1 = (s, buf, stored_len, last) => { + //DeflateState *s; + //charf *buf; /* input block, or NULL if too old */ + //ulg stored_len; /* length of input block */ + //int last; /* one if this is the last block for a file */ + + let opt_lenb, static_lenb; /* opt_len and static_len in bytes */ + let max_blindex = 0; /* index of last bit length code of non zero freq */ + + /* Build the Huffman trees unless a stored block is forced */ + if (s.level > 0) { + /* Check if the file is binary or text */ + if (s.strm.data_type === Z_UNKNOWN$1) { + s.strm.data_type = detect_data_type(s); + } + + /* Construct the literal and distance trees */ + build_tree(s, s.l_desc); + // Tracev((stderr, "\nlit data: dyn %ld, stat %ld", s->opt_len, + // s->static_len)); + + build_tree(s, s.d_desc); + // Tracev((stderr, "\ndist data: dyn %ld, stat %ld", s->opt_len, + // s->static_len)); + /* At this point, opt_len and static_len are the total bit lengths of + * the compressed block data, excluding the tree representations. + */ + + /* Build the bit length tree for the above two trees, and get the index + * in bl_order of the last bit length code to send. + */ + max_blindex = build_bl_tree(s); + + /* Determine the best encoding. Compute the block lengths in bytes. */ + opt_lenb = s.opt_len + 3 + 7 >>> 3; + static_lenb = s.static_len + 3 + 7 >>> 3; + + // Tracev((stderr, "\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u ", + // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len, + // s->sym_next / 3)); + + if (static_lenb <= opt_lenb) { + opt_lenb = static_lenb; + } + } else { + // Assert(buf != (char*)0, "lost buf"); + opt_lenb = static_lenb = stored_len + 5; /* force a stored block */ + } + if (stored_len + 4 <= opt_lenb && buf !== -1) { + /* 4: two words for the lengths */ + + /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE. + * Otherwise we can't have processed more than WSIZE input bytes since + * the last block flush, because compression would have been + * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to + * transform a block into a stored block. + */ + _tr_stored_block$1(s, buf, stored_len, last); + } else if (s.strategy === Z_FIXED$1 || static_lenb === opt_lenb) { + send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3); + compress_block(s, static_ltree, static_dtree); + } else { + send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3); + send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1); + compress_block(s, s.dyn_ltree, s.dyn_dtree); + } + // Assert (s->compressed_len == s->bits_sent, "bad compressed size"); + /* The above check is made mod 2^32, for files larger than 512 MB + * and uLong implemented on 32 bits. + */ + init_block(s); + if (last) { + bi_windup(s); + } + // Tracev((stderr,"\ncomprlen %lu(%lu) ", s->compressed_len>>3, + // s->compressed_len-7*last)); + }; + + /* =========================================================================== + * Save the match info and tally the frequency counts. Return true if + * the current block must be flushed. + */ + const _tr_tally$1 = (s, dist, lc) => { + // deflate_state *s; + // unsigned dist; /* distance of matched string */ + // unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */ + + s.pending_buf[s.sym_buf + s.sym_next++] = dist; + s.pending_buf[s.sym_buf + s.sym_next++] = dist >> 8; + s.pending_buf[s.sym_buf + s.sym_next++] = lc; + if (dist === 0) { + /* lc is the unmatched char */ + s.dyn_ltree[lc * 2] /*.Freq*/++; + } else { + s.matches++; + /* Here, lc is the match length - MIN_MATCH */ + dist--; /* dist = match distance - 1 */ + //Assert((ush)dist < (ush)MAX_DIST(s) && + // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) && + // (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match"); + + s.dyn_ltree[(_length_code[lc] + LITERALS$1 + 1) * 2] /*.Freq*/++; + s.dyn_dtree[d_code(dist) * 2] /*.Freq*/++; + } + return s.sym_next === s.sym_end; + }; + var _tr_init_1 = _tr_init$1; + var _tr_stored_block_1 = _tr_stored_block$1; + var _tr_flush_block_1 = _tr_flush_block$1; + var _tr_tally_1 = _tr_tally$1; + var _tr_align_1 = _tr_align$1; + var trees = { + _tr_init: _tr_init_1, + _tr_stored_block: _tr_stored_block_1, + _tr_flush_block: _tr_flush_block_1, + _tr_tally: _tr_tally_1, + _tr_align: _tr_align_1 + }; + + // Note: adler32 takes 12% for level 0 and 2% for level 6. + // It isn't worth it to make additional optimizations as in original. + // Small size is preferable. + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + const adler32 = (adler, buf, len, pos) => { + let s1 = adler & 0xffff | 0, + s2 = adler >>> 16 & 0xffff | 0, + n = 0; + while (len !== 0) { + // Set limit ~ twice less than 5552, to keep + // s2 in 31-bits, because we force signed ints. + // in other case %= will fail. + n = len > 2000 ? 2000 : len; + len -= n; + do { + s1 = s1 + buf[pos++] | 0; + s2 = s2 + s1 | 0; + } while (--n); + s1 %= 65521; + s2 %= 65521; + } + return s1 | s2 << 16 | 0; + }; + var adler32_1 = adler32; + + // Note: we can't get significant speed boost here. + // So write code to minimize size - no pregenerated tables + // and array tools dependencies. + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + // Use ordinary array, since untyped makes no boost here + const makeTable = () => { + let c, + table = []; + for (var n = 0; n < 256; n++) { + c = n; + for (var k = 0; k < 8; k++) { + c = c & 1 ? 0xEDB88320 ^ c >>> 1 : c >>> 1; + } + table[n] = c; + } + return table; + }; + + // Create table on load. Just 255 signed longs. Not a problem. + const crcTable$1 = new Uint32Array(makeTable()); + const crc32 = (crc, buf, len, pos) => { + const t = crcTable$1; + const end = pos + len; + crc ^= -1; + for (let i = pos; i < end; i++) { + crc = crc >>> 8 ^ t[(crc ^ buf[i]) & 0xFF]; + } + return crc ^ -1; // >>> 0; + }; + var crc32_1 = crc32; + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + var messages = { + 2: 'need dictionary', + /* Z_NEED_DICT 2 */ + 1: 'stream end', + /* Z_STREAM_END 1 */ + 0: '', + /* Z_OK 0 */ + '-1': 'file error', + /* Z_ERRNO (-1) */ + '-2': 'stream error', + /* Z_STREAM_ERROR (-2) */ + '-3': 'data error', + /* Z_DATA_ERROR (-3) */ + '-4': 'insufficient memory', + /* Z_MEM_ERROR (-4) */ + '-5': 'buffer error', + /* Z_BUF_ERROR (-5) */ + '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */ + }; + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + var constants$2 = { + /* Allowed flush values; see deflate() and inflate() below for details */ + Z_NO_FLUSH: 0, + Z_PARTIAL_FLUSH: 1, + Z_SYNC_FLUSH: 2, + Z_FULL_FLUSH: 3, + Z_FINISH: 4, + Z_BLOCK: 5, + Z_TREES: 6, + /* Return codes for the compression/decompression functions. Negative values + * are errors, positive values are used for special but normal events. + */ + Z_OK: 0, + Z_STREAM_END: 1, + Z_NEED_DICT: 2, + Z_ERRNO: -1, + Z_STREAM_ERROR: -2, + Z_DATA_ERROR: -3, + Z_MEM_ERROR: -4, + Z_BUF_ERROR: -5, + //Z_VERSION_ERROR: -6, + + /* compression levels */ + Z_NO_COMPRESSION: 0, + Z_BEST_SPEED: 1, + Z_BEST_COMPRESSION: 9, + Z_DEFAULT_COMPRESSION: -1, + Z_FILTERED: 1, + Z_HUFFMAN_ONLY: 2, + Z_RLE: 3, + Z_FIXED: 4, + Z_DEFAULT_STRATEGY: 0, + /* Possible values of the data_type field (though see inflate()) */ + Z_BINARY: 0, + Z_TEXT: 1, + //Z_ASCII: 1, // = Z_TEXT (deprecated) + Z_UNKNOWN: 2, + /* The deflate compression method */ + Z_DEFLATED: 8 + //Z_NULL: null // Use -1 or null inline, depending on var type + }; + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + const { + _tr_init, + _tr_stored_block, + _tr_flush_block, + _tr_tally, + _tr_align + } = trees; + + /* Public constants ==========================================================*/ + /* ===========================================================================*/ + + const { + Z_NO_FLUSH: Z_NO_FLUSH$2, + Z_PARTIAL_FLUSH, + Z_FULL_FLUSH: Z_FULL_FLUSH$1, + Z_FINISH: Z_FINISH$3, + Z_BLOCK: Z_BLOCK$1, + Z_OK: Z_OK$3, + Z_STREAM_END: Z_STREAM_END$3, + Z_STREAM_ERROR: Z_STREAM_ERROR$2, + Z_DATA_ERROR: Z_DATA_ERROR$2, + Z_BUF_ERROR: Z_BUF_ERROR$1, + Z_DEFAULT_COMPRESSION: Z_DEFAULT_COMPRESSION$1, + Z_FILTERED, + Z_HUFFMAN_ONLY, + Z_RLE, + Z_FIXED, + Z_DEFAULT_STRATEGY: Z_DEFAULT_STRATEGY$1, + Z_UNKNOWN, + Z_DEFLATED: Z_DEFLATED$2 + } = constants$2; + + /*============================================================================*/ + + const MAX_MEM_LEVEL = 9; + /* Maximum value for memLevel in deflateInit2 */ + const MAX_WBITS$1 = 15; + /* 32K LZ77 window */ + const DEF_MEM_LEVEL = 8; + const LENGTH_CODES = 29; + /* number of length codes, not counting the special END_BLOCK code */ + const LITERALS = 256; + /* number of literal bytes 0..255 */ + const L_CODES = LITERALS + 1 + LENGTH_CODES; + /* number of Literal or Length codes, including the END_BLOCK code */ + const D_CODES = 30; + /* number of distance codes */ + const BL_CODES = 19; + /* number of codes used to transfer the bit lengths */ + const HEAP_SIZE = 2 * L_CODES + 1; + /* maximum heap size */ + const MAX_BITS = 15; + /* All codes must not exceed MAX_BITS bits */ + + const MIN_MATCH = 3; + const MAX_MATCH = 258; + const MIN_LOOKAHEAD = MAX_MATCH + MIN_MATCH + 1; + const PRESET_DICT = 0x20; + const INIT_STATE = 42; /* zlib header -> BUSY_STATE */ + //#ifdef GZIP + const GZIP_STATE = 57; /* gzip header -> BUSY_STATE | EXTRA_STATE */ + //#endif + const EXTRA_STATE = 69; /* gzip extra block -> NAME_STATE */ + const NAME_STATE = 73; /* gzip file name -> COMMENT_STATE */ + const COMMENT_STATE = 91; /* gzip comment -> HCRC_STATE */ + const HCRC_STATE = 103; /* gzip header CRC -> BUSY_STATE */ + const BUSY_STATE = 113; /* deflate -> FINISH_STATE */ + const FINISH_STATE = 666; /* stream complete */ + + const BS_NEED_MORE = 1; /* block not completed, need more input or more output */ + const BS_BLOCK_DONE = 2; /* block flush performed */ + const BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */ + const BS_FINISH_DONE = 4; /* finish done, accept no more input or output */ + + const OS_CODE = 0x03; // Unix :) . Don't detect, use this default. + + const err = (strm, errorCode) => { + strm.msg = messages[errorCode]; + return errorCode; + }; + const rank = f => { + return f * 2 - (f > 4 ? 9 : 0); + }; + const zero = buf => { + let len = buf.length; + while (--len >= 0) { + buf[len] = 0; + } + }; + + /* =========================================================================== + * Slide the hash table when sliding the window down (could be avoided with 32 + * bit values at the expense of memory usage). We slide even when level == 0 to + * keep the hash table consistent if we switch back to level > 0 later. + */ + const slide_hash = s => { + let n, m; + let p; + let wsize = s.w_size; + n = s.hash_size; + p = n; + do { + m = s.head[--p]; + s.head[p] = m >= wsize ? m - wsize : 0; + } while (--n); + n = wsize; + //#ifndef FASTEST + p = n; + do { + m = s.prev[--p]; + s.prev[p] = m >= wsize ? m - wsize : 0; + /* If n is not on any hash chain, prev[n] is garbage but + * its value will never be used. + */ + } while (--n); + //#endif + }; + + /* eslint-disable new-cap */ + let HASH_ZLIB = (s, prev, data) => (prev << s.hash_shift ^ data) & s.hash_mask; + // This hash causes less collisions, https://github.com/nodeca/pako/issues/135 + // But breaks binary compatibility + //let HASH_FAST = (s, prev, data) => ((prev << 8) + (prev >> 8) + (data << 4)) & s.hash_mask; + let HASH = HASH_ZLIB; + + /* ========================================================================= + * Flush as much pending output as possible. All deflate() output, except for + * some deflate_stored() output, goes through this function so some + * applications may wish to modify it to avoid allocating a large + * strm->next_out buffer and copying into it. (See also read_buf()). + */ + const flush_pending = strm => { + const s = strm.state; + + //_tr_flush_bits(s); + let len = s.pending; + if (len > strm.avail_out) { + len = strm.avail_out; + } + if (len === 0) { + return; + } + strm.output.set(s.pending_buf.subarray(s.pending_out, s.pending_out + len), strm.next_out); + strm.next_out += len; + s.pending_out += len; + strm.total_out += len; + strm.avail_out -= len; + s.pending -= len; + if (s.pending === 0) { + s.pending_out = 0; + } + }; + const flush_block_only = (s, last) => { + _tr_flush_block(s, s.block_start >= 0 ? s.block_start : -1, s.strstart - s.block_start, last); + s.block_start = s.strstart; + flush_pending(s.strm); + }; + const put_byte = (s, b) => { + s.pending_buf[s.pending++] = b; + }; + + /* ========================================================================= + * Put a short in the pending buffer. The 16-bit value is put in MSB order. + * IN assertion: the stream state is correct and there is enough room in + * pending_buf. + */ + const putShortMSB = (s, b) => { + // put_byte(s, (Byte)(b >> 8)); + // put_byte(s, (Byte)(b & 0xff)); + s.pending_buf[s.pending++] = b >>> 8 & 0xff; + s.pending_buf[s.pending++] = b & 0xff; + }; + + /* =========================================================================== + * Read a new buffer from the current input stream, update the adler32 + * and total number of bytes read. All deflate() input goes through + * this function so some applications may wish to modify it to avoid + * allocating a large strm->input buffer and copying from it. + * (See also flush_pending()). + */ + const read_buf = (strm, buf, start, size) => { + let len = strm.avail_in; + if (len > size) { + len = size; + } + if (len === 0) { + return 0; + } + strm.avail_in -= len; + + // zmemcpy(buf, strm->next_in, len); + buf.set(strm.input.subarray(strm.next_in, strm.next_in + len), start); + if (strm.state.wrap === 1) { + strm.adler = adler32_1(strm.adler, buf, len, start); + } else if (strm.state.wrap === 2) { + strm.adler = crc32_1(strm.adler, buf, len, start); + } + strm.next_in += len; + strm.total_in += len; + return len; + }; + + /* =========================================================================== + * Set match_start to the longest match starting at the given string and + * return its length. Matches shorter or equal to prev_length are discarded, + * in which case the result is equal to prev_length and match_start is + * garbage. + * IN assertions: cur_match is the head of the hash chain for the current + * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1 + * OUT assertion: the match length is not greater than s->lookahead. + */ + const longest_match = (s, cur_match) => { + let chain_length = s.max_chain_length; /* max hash chain length */ + let scan = s.strstart; /* current string */ + let match; /* matched string */ + let len; /* length of current match */ + let best_len = s.prev_length; /* best match length so far */ + let nice_match = s.nice_match; /* stop if match long enough */ + const limit = s.strstart > s.w_size - MIN_LOOKAHEAD ? s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0 /*NIL*/; + const _win = s.window; // shortcut + + const wmask = s.w_mask; + const prev = s.prev; + + /* Stop when cur_match becomes <= limit. To simplify the code, + * we prevent matches with the string of window index 0. + */ + + const strend = s.strstart + MAX_MATCH; + let scan_end1 = _win[scan + best_len - 1]; + let scan_end = _win[scan + best_len]; + + /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16. + * It is easy to get rid of this optimization if necessary. + */ + // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, "Code too clever"); + + /* Do not waste too much time if we already have a good match: */ + if (s.prev_length >= s.good_match) { + chain_length >>= 2; + } + /* Do not look for matches beyond the end of the input. This is necessary + * to make deflate deterministic. + */ + if (nice_match > s.lookahead) { + nice_match = s.lookahead; + } + + // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, "need lookahead"); + + do { + // Assert(cur_match < s->strstart, "no future"); + match = cur_match; + + /* Skip to next match if the match length cannot increase + * or if the match length is less than 2. Note that the checks below + * for insufficient lookahead only occur occasionally for performance + * reasons. Therefore uninitialized memory will be accessed, and + * conditional jumps will be made that depend on those values. + * However the length of the match is limited to the lookahead, so + * the output of deflate is not affected by the uninitialized values. + */ + + if (_win[match + best_len] !== scan_end || _win[match + best_len - 1] !== scan_end1 || _win[match] !== _win[scan] || _win[++match] !== _win[scan + 1]) { + continue; + } + + /* The check at best_len-1 can be removed because it will be made + * again later. (This heuristic is not always a win.) + * It is not necessary to compare scan[2] and match[2] since they + * are always equal when the other bytes match, given that + * the hash keys are equal and that HASH_BITS >= 8. + */ + scan += 2; + match++; + // Assert(*scan == *match, "match[2]?"); + + /* We check for insufficient lookahead only every 8th comparison; + * the 256th check will be made at strstart+258. + */ + do { + /*jshint noempty:false*/ + } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && _win[++scan] === _win[++match] && scan < strend); + + // Assert(scan <= s->window+(unsigned)(s->window_size-1), "wild scan"); + + len = MAX_MATCH - (strend - scan); + scan = strend - MAX_MATCH; + if (len > best_len) { + s.match_start = cur_match; + best_len = len; + if (len >= nice_match) { + break; + } + scan_end1 = _win[scan + best_len - 1]; + scan_end = _win[scan + best_len]; + } + } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0); + if (best_len <= s.lookahead) { + return best_len; + } + return s.lookahead; + }; + + /* =========================================================================== + * Fill the window when the lookahead becomes insufficient. + * Updates strstart and lookahead. + * + * IN assertion: lookahead < MIN_LOOKAHEAD + * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD + * At least one byte has been read, or avail_in == 0; reads are + * performed for at least two bytes (required for the zip translate_eol + * option -- not supported here). + */ + const fill_window = s => { + const _w_size = s.w_size; + let n, more, str; + + //Assert(s->lookahead < MIN_LOOKAHEAD, "already enough lookahead"); + + do { + more = s.window_size - s.lookahead - s.strstart; + + // JS ints have 32 bit, block below not needed + /* Deal with !@#$% 64K limit: */ + //if (sizeof(int) <= 2) { + // if (more == 0 && s->strstart == 0 && s->lookahead == 0) { + // more = wsize; + // + // } else if (more == (unsigned)(-1)) { + // /* Very unlikely, but possible on 16 bit machine if + // * strstart == 0 && lookahead == 1 (input done a byte at time) + // */ + // more--; + // } + //} + + /* If the window is almost full and there is insufficient lookahead, + * move the upper half to the lower one to make room in the upper half. + */ + if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) { + s.window.set(s.window.subarray(_w_size, _w_size + _w_size - more), 0); + s.match_start -= _w_size; + s.strstart -= _w_size; + /* we now have strstart >= MAX_DIST */ + s.block_start -= _w_size; + if (s.insert > s.strstart) { + s.insert = s.strstart; + } + slide_hash(s); + more += _w_size; + } + if (s.strm.avail_in === 0) { + break; + } + + /* If there was no sliding: + * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 && + * more == window_size - lookahead - strstart + * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1) + * => more >= window_size - 2*WSIZE + 2 + * In the BIG_MEM or MMAP case (not yet supported), + * window_size == input_size + MIN_LOOKAHEAD && + * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD. + * Otherwise, window_size == 2*WSIZE so more >= 2. + * If there was sliding, more >= WSIZE. So in all cases, more >= 2. + */ + //Assert(more >= 2, "more < 2"); + n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more); + s.lookahead += n; + + /* Initialize the hash value now that we have some input: */ + if (s.lookahead + s.insert >= MIN_MATCH) { + str = s.strstart - s.insert; + s.ins_h = s.window[str]; + + /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */ + s.ins_h = HASH(s, s.ins_h, s.window[str + 1]); + //#if MIN_MATCH != 3 + // Call update_hash() MIN_MATCH-3 more times + //#endif + while (s.insert) { + /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ + s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]); + s.prev[str & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = str; + str++; + s.insert--; + if (s.lookahead + s.insert < MIN_MATCH) { + break; + } + } + } + /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage, + * but this is not important since only literal bytes will be emitted. + */ + } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0); + + /* If the WIN_INIT bytes after the end of the current data have never been + * written, then zero those bytes in order to avoid memory check reports of + * the use of uninitialized (or uninitialised as Julian writes) bytes by + * the longest match routines. Update the high water mark for the next + * time through here. WIN_INIT is set to MAX_MATCH since the longest match + * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead. + */ + // if (s.high_water < s.window_size) { + // const curr = s.strstart + s.lookahead; + // let init = 0; + // + // if (s.high_water < curr) { + // /* Previous high water mark below current data -- zero WIN_INIT + // * bytes or up to end of window, whichever is less. + // */ + // init = s.window_size - curr; + // if (init > WIN_INIT) + // init = WIN_INIT; + // zmemzero(s->window + curr, (unsigned)init); + // s->high_water = curr + init; + // } + // else if (s->high_water < (ulg)curr + WIN_INIT) { + // /* High water mark at or above current data, but below current data + // * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up + // * to end of window, whichever is less. + // */ + // init = (ulg)curr + WIN_INIT - s->high_water; + // if (init > s->window_size - s->high_water) + // init = s->window_size - s->high_water; + // zmemzero(s->window + s->high_water, (unsigned)init); + // s->high_water += init; + // } + // } + // + // Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD, + // "not enough room for search"); + }; + + /* =========================================================================== + * Copy without compression as much as possible from the input stream, return + * the current block state. + * + * In case deflateParams() is used to later switch to a non-zero compression + * level, s->matches (otherwise unused when storing) keeps track of the number + * of hash table slides to perform. If s->matches is 1, then one hash table + * slide will be done when switching. If s->matches is 2, the maximum value + * allowed here, then the hash table will be cleared, since two or more slides + * is the same as a clear. + * + * deflate_stored() is written to minimize the number of times an input byte is + * copied. It is most efficient with large input and output buffers, which + * maximizes the opportunites to have a single copy from next_in to next_out. + */ + const deflate_stored = (s, flush) => { + /* Smallest worthy block size when not flushing or finishing. By default + * this is 32K. This can be as small as 507 bytes for memLevel == 1. For + * large input and output buffers, the stored block size will be larger. + */ + let min_block = s.pending_buf_size - 5 > s.w_size ? s.w_size : s.pending_buf_size - 5; + + /* Copy as many min_block or larger stored blocks directly to next_out as + * possible. If flushing, copy the remaining available input to next_out as + * stored blocks, if there is enough space. + */ + let len, + left, + have, + last = 0; + let used = s.strm.avail_in; + do { + /* Set len to the maximum size block that we can copy directly with the + * available input data and output space. Set left to how much of that + * would be copied from what's left in the window. + */ + len = 65535 /* MAX_STORED */; /* maximum deflate stored block length */ + have = s.bi_valid + 42 >> 3; /* number of header bytes */ + if (s.strm.avail_out < have) { + /* need room for header */ + break; + } + /* maximum stored block length that will fit in avail_out: */ + have = s.strm.avail_out - have; + left = s.strstart - s.block_start; /* bytes left in window */ + if (len > left + s.strm.avail_in) { + len = left + s.strm.avail_in; /* limit len to the input */ + } + if (len > have) { + len = have; /* limit len to the output */ + } + + /* If the stored block would be less than min_block in length, or if + * unable to copy all of the available input when flushing, then try + * copying to the window and the pending buffer instead. Also don't + * write an empty block when flushing -- deflate() does that. + */ + if (len < min_block && (len === 0 && flush !== Z_FINISH$3 || flush === Z_NO_FLUSH$2 || len !== left + s.strm.avail_in)) { + break; + } + + /* Make a dummy stored block in pending to get the header bytes, + * including any pending bits. This also updates the debugging counts. + */ + last = flush === Z_FINISH$3 && len === left + s.strm.avail_in ? 1 : 0; + _tr_stored_block(s, 0, 0, last); + + /* Replace the lengths in the dummy stored block with len. */ + s.pending_buf[s.pending - 4] = len; + s.pending_buf[s.pending - 3] = len >> 8; + s.pending_buf[s.pending - 2] = ~len; + s.pending_buf[s.pending - 1] = ~len >> 8; + + /* Write the stored block header bytes. */ + flush_pending(s.strm); + + //#ifdef ZLIB_DEBUG + // /* Update debugging counts for the data about to be copied. */ + // s->compressed_len += len << 3; + // s->bits_sent += len << 3; + //#endif + + /* Copy uncompressed bytes from the window to next_out. */ + if (left) { + if (left > len) { + left = len; + } + //zmemcpy(s->strm->next_out, s->window + s->block_start, left); + s.strm.output.set(s.window.subarray(s.block_start, s.block_start + left), s.strm.next_out); + s.strm.next_out += left; + s.strm.avail_out -= left; + s.strm.total_out += left; + s.block_start += left; + len -= left; + } + + /* Copy uncompressed bytes directly from next_in to next_out, updating + * the check value. + */ + if (len) { + read_buf(s.strm, s.strm.output, s.strm.next_out, len); + s.strm.next_out += len; + s.strm.avail_out -= len; + s.strm.total_out += len; + } + } while (last === 0); + + /* Update the sliding window with the last s->w_size bytes of the copied + * data, or append all of the copied data to the existing window if less + * than s->w_size bytes were copied. Also update the number of bytes to + * insert in the hash tables, in the event that deflateParams() switches to + * a non-zero compression level. + */ + used -= s.strm.avail_in; /* number of input bytes directly copied */ + if (used) { + /* If any input was used, then no unused input remains in the window, + * therefore s->block_start == s->strstart. + */ + if (used >= s.w_size) { + /* supplant the previous history */ + s.matches = 2; /* clear hash */ + //zmemcpy(s->window, s->strm->next_in - s->w_size, s->w_size); + s.window.set(s.strm.input.subarray(s.strm.next_in - s.w_size, s.strm.next_in), 0); + s.strstart = s.w_size; + s.insert = s.strstart; + } else { + if (s.window_size - s.strstart <= used) { + /* Slide the window down. */ + s.strstart -= s.w_size; + //zmemcpy(s->window, s->window + s->w_size, s->strstart); + s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0); + if (s.matches < 2) { + s.matches++; /* add a pending slide_hash() */ + } + if (s.insert > s.strstart) { + s.insert = s.strstart; + } + } + //zmemcpy(s->window + s->strstart, s->strm->next_in - used, used); + s.window.set(s.strm.input.subarray(s.strm.next_in - used, s.strm.next_in), s.strstart); + s.strstart += used; + s.insert += used > s.w_size - s.insert ? s.w_size - s.insert : used; + } + s.block_start = s.strstart; + } + if (s.high_water < s.strstart) { + s.high_water = s.strstart; + } + + /* If the last block was written to next_out, then done. */ + if (last) { + return BS_FINISH_DONE; + } + + /* If flushing and all input has been consumed, then done. */ + if (flush !== Z_NO_FLUSH$2 && flush !== Z_FINISH$3 && s.strm.avail_in === 0 && s.strstart === s.block_start) { + return BS_BLOCK_DONE; + } + + /* Fill the window with any remaining input. */ + have = s.window_size - s.strstart; + if (s.strm.avail_in > have && s.block_start >= s.w_size) { + /* Slide the window down. */ + s.block_start -= s.w_size; + s.strstart -= s.w_size; + //zmemcpy(s->window, s->window + s->w_size, s->strstart); + s.window.set(s.window.subarray(s.w_size, s.w_size + s.strstart), 0); + if (s.matches < 2) { + s.matches++; /* add a pending slide_hash() */ + } + have += s.w_size; /* more space now */ + if (s.insert > s.strstart) { + s.insert = s.strstart; + } + } + if (have > s.strm.avail_in) { + have = s.strm.avail_in; + } + if (have) { + read_buf(s.strm, s.window, s.strstart, have); + s.strstart += have; + s.insert += have > s.w_size - s.insert ? s.w_size - s.insert : have; + } + if (s.high_water < s.strstart) { + s.high_water = s.strstart; + } + + /* There was not enough avail_out to write a complete worthy or flushed + * stored block to next_out. Write a stored block to pending instead, if we + * have enough input for a worthy block, or if flushing and there is enough + * room for the remaining input as a stored block in the pending buffer. + */ + have = s.bi_valid + 42 >> 3; /* number of header bytes */ + /* maximum stored block length that will fit in pending: */ + have = s.pending_buf_size - have > 65535 /* MAX_STORED */ ? 65535 /* MAX_STORED */ : s.pending_buf_size - have; + min_block = have > s.w_size ? s.w_size : have; + left = s.strstart - s.block_start; + if (left >= min_block || (left || flush === Z_FINISH$3) && flush !== Z_NO_FLUSH$2 && s.strm.avail_in === 0 && left <= have) { + len = left > have ? have : left; + last = flush === Z_FINISH$3 && s.strm.avail_in === 0 && len === left ? 1 : 0; + _tr_stored_block(s, s.block_start, len, last); + s.block_start += len; + flush_pending(s.strm); + } + + /* We've done all we can with the available input and output. */ + return last ? BS_FINISH_STARTED : BS_NEED_MORE; + }; + + /* =========================================================================== + * Compress as much as possible from the input stream, return the current + * block state. + * This function does not perform lazy evaluation of matches and inserts + * new strings in the dictionary only for unmatched strings or for short + * matches. It is used only for the fast compression options. + */ + const deflate_fast = (s, flush) => { + let hash_head; /* head of the hash chain */ + let bflush; /* set if current block must be flushed */ + + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + if (s.lookahead < MIN_LOOKAHEAD) { + fill_window(s); + if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) { + return BS_NEED_MORE; + } + if (s.lookahead === 0) { + break; /* flush the current block */ + } + } + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + hash_head = 0 /*NIL*/; + if (s.lookahead >= MIN_MATCH) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]); + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + + /* Find the longest match, discarding those <= prev_length. + * At this point we have always match_length < MIN_MATCH + */ + if (hash_head !== 0 /*NIL*/ && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + s.match_length = longest_match(s, hash_head); + /* longest_match() sets match_start */ + } + if (s.match_length >= MIN_MATCH) { + // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only + + /*** _tr_tally_dist(s, s.strstart - s.match_start, + s.match_length - MIN_MATCH, bflush); ***/ + bflush = _tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH); + s.lookahead -= s.match_length; + + /* Insert new strings in the hash table only if the match length + * is not too large. This saves time but degrades compression. + */ + if (s.match_length <= s.max_lazy_match /*max_insert_length*/ && s.lookahead >= MIN_MATCH) { + s.match_length--; /* string at strstart already in table */ + do { + s.strstart++; + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]); + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + /* strstart never exceeds WSIZE-MAX_MATCH, so there are + * always MIN_MATCH bytes ahead. + */ + } while (--s.match_length !== 0); + s.strstart++; + } else { + s.strstart += s.match_length; + s.match_length = 0; + s.ins_h = s.window[s.strstart]; + /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */ + s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + 1]); + + //#if MIN_MATCH != 3 + // Call UPDATE_HASH() MIN_MATCH-3 more times + //#endif + /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not + * matter since it will be recomputed at next deflate call. + */ + } + } else { + /* No match, output a literal byte */ + //Tracevv((stderr,"%c", s.window[s.strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = _tr_tally(s, 0, s.window[s.strstart]); + s.lookahead--; + s.strstart++; + } + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + } + s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1; + if (flush === Z_FINISH$3) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED; + } + /***/ + return BS_FINISH_DONE; + } + if (s.sym_next) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + return BS_BLOCK_DONE; + }; + + /* =========================================================================== + * Same as above, but achieves better compression. We use a lazy + * evaluation for matches: a match is finally adopted only if there is + * no better match at the next window position. + */ + const deflate_slow = (s, flush) => { + let hash_head; /* head of hash chain */ + let bflush; /* set if current block must be flushed */ + + let max_insert; + + /* Process the input block. */ + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the next match, plus MIN_MATCH bytes to insert the + * string following the next match. + */ + if (s.lookahead < MIN_LOOKAHEAD) { + fill_window(s); + if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH$2) { + return BS_NEED_MORE; + } + if (s.lookahead === 0) { + break; + } /* flush the current block */ + } + + /* Insert the string window[strstart .. strstart+2] in the + * dictionary, and set hash_head to the head of the hash chain: + */ + hash_head = 0 /*NIL*/; + if (s.lookahead >= MIN_MATCH) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]); + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + + /* Find the longest match, discarding those <= prev_length. + */ + s.prev_length = s.match_length; + s.prev_match = s.match_start; + s.match_length = MIN_MATCH - 1; + if (hash_head !== 0 /*NIL*/ && s.prev_length < s.max_lazy_match && s.strstart - hash_head <= s.w_size - MIN_LOOKAHEAD /*MAX_DIST(s)*/) { + /* To simplify the code, we prevent matches with the string + * of window index 0 (in particular we have to avoid a match + * of the string with itself at the start of the input file). + */ + s.match_length = longest_match(s, hash_head); + /* longest_match() sets match_start */ + + if (s.match_length <= 5 && (s.strategy === Z_FILTERED || s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096 /*TOO_FAR*/)) { + /* If prev_match is also MIN_MATCH, match_start is garbage + * but we will ignore the current match anyway. + */ + s.match_length = MIN_MATCH - 1; + } + } + /* If there was a match at the previous step and the current + * match is not better, output the previous match: + */ + if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) { + max_insert = s.strstart + s.lookahead - MIN_MATCH; + /* Do not insert strings in hash table beyond this. */ + + //check_match(s, s.strstart-1, s.prev_match, s.prev_length); + + /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match, + s.prev_length - MIN_MATCH, bflush);***/ + bflush = _tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH); + /* Insert in hash table all strings up to the end of the match. + * strstart-1 and strstart are already inserted. If there is not + * enough lookahead, the last two strings are not inserted in + * the hash table. + */ + s.lookahead -= s.prev_length - 1; + s.prev_length -= 2; + do { + if (++s.strstart <= max_insert) { + /*** INSERT_STRING(s, s.strstart, hash_head); ***/ + s.ins_h = HASH(s, s.ins_h, s.window[s.strstart + MIN_MATCH - 1]); + hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = s.strstart; + /***/ + } + } while (--s.prev_length !== 0); + s.match_available = 0; + s.match_length = MIN_MATCH - 1; + s.strstart++; + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + } else if (s.match_available) { + /* If there was no match at the previous position, output a + * single literal. If there was a match but the current match + * is longer, truncate the previous match to a single literal. + */ + //Tracevv((stderr,"%c", s->window[s->strstart-1])); + /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ + bflush = _tr_tally(s, 0, s.window[s.strstart - 1]); + if (bflush) { + /*** FLUSH_BLOCK_ONLY(s, 0) ***/ + flush_block_only(s, false); + /***/ + } + s.strstart++; + s.lookahead--; + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + } else { + /* There is no previous match to compare with, wait for + * the next step to decide. + */ + s.match_available = 1; + s.strstart++; + s.lookahead--; + } + } + //Assert (flush != Z_NO_FLUSH, "no flush?"); + if (s.match_available) { + //Tracevv((stderr,"%c", s->window[s->strstart-1])); + /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/ + bflush = _tr_tally(s, 0, s.window[s.strstart - 1]); + s.match_available = 0; + } + s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1; + if (flush === Z_FINISH$3) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED; + } + /***/ + return BS_FINISH_DONE; + } + if (s.sym_next) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + return BS_BLOCK_DONE; + }; + + /* =========================================================================== + * For Z_RLE, simply look for runs of bytes, generate matches only of distance + * one. Do not maintain a hash table. (It will be regenerated if this run of + * deflate switches away from Z_RLE.) + */ + const deflate_rle = (s, flush) => { + let bflush; /* set if current block must be flushed */ + let prev; /* byte at distance one to match */ + let scan, strend; /* scan goes up to strend for length of run */ + + const _win = s.window; + for (;;) { + /* Make sure that we always have enough lookahead, except + * at the end of the input file. We need MAX_MATCH bytes + * for the longest run, plus one for the unrolled loop. + */ + if (s.lookahead <= MAX_MATCH) { + fill_window(s); + if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH$2) { + return BS_NEED_MORE; + } + if (s.lookahead === 0) { + break; + } /* flush the current block */ + } + + /* See how many times the previous byte repeats */ + s.match_length = 0; + if (s.lookahead >= MIN_MATCH && s.strstart > 0) { + scan = s.strstart - 1; + prev = _win[scan]; + if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) { + strend = s.strstart + MAX_MATCH; + do { + /*jshint noempty:false*/ + } while (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan] && scan < strend); + s.match_length = MAX_MATCH - (strend - scan); + if (s.match_length > s.lookahead) { + s.match_length = s.lookahead; + } + } + //Assert(scan <= s->window+(uInt)(s->window_size-1), "wild scan"); + } + + /* Emit match if have run of MIN_MATCH or longer, else emit literal */ + if (s.match_length >= MIN_MATCH) { + //check_match(s, s.strstart, s.strstart - 1, s.match_length); + + /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/ + bflush = _tr_tally(s, 1, s.match_length - MIN_MATCH); + s.lookahead -= s.match_length; + s.strstart += s.match_length; + s.match_length = 0; + } else { + /* No match, output a literal byte */ + //Tracevv((stderr,"%c", s->window[s->strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = _tr_tally(s, 0, s.window[s.strstart]); + s.lookahead--; + s.strstart++; + } + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + } + s.insert = 0; + if (flush === Z_FINISH$3) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED; + } + /***/ + return BS_FINISH_DONE; + } + if (s.sym_next) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + return BS_BLOCK_DONE; + }; + + /* =========================================================================== + * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table. + * (It will be regenerated if this run of deflate switches away from Huffman.) + */ + const deflate_huff = (s, flush) => { + let bflush; /* set if current block must be flushed */ + + for (;;) { + /* Make sure that we have a literal to write. */ + if (s.lookahead === 0) { + fill_window(s); + if (s.lookahead === 0) { + if (flush === Z_NO_FLUSH$2) { + return BS_NEED_MORE; + } + break; /* flush the current block */ + } + } + + /* Output a literal byte */ + s.match_length = 0; + //Tracevv((stderr,"%c", s->window[s->strstart])); + /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/ + bflush = _tr_tally(s, 0, s.window[s.strstart]); + s.lookahead--; + s.strstart++; + if (bflush) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + } + s.insert = 0; + if (flush === Z_FINISH$3) { + /*** FLUSH_BLOCK(s, 1); ***/ + flush_block_only(s, true); + if (s.strm.avail_out === 0) { + return BS_FINISH_STARTED; + } + /***/ + return BS_FINISH_DONE; + } + if (s.sym_next) { + /*** FLUSH_BLOCK(s, 0); ***/ + flush_block_only(s, false); + if (s.strm.avail_out === 0) { + return BS_NEED_MORE; + } + /***/ + } + return BS_BLOCK_DONE; + }; + + /* Values for max_lazy_match, good_match and max_chain_length, depending on + * the desired pack level (0..9). The values given below have been tuned to + * exclude worst case performance for pathological files. Better values may be + * found for specific files. + */ + function Config(good_length, max_lazy, nice_length, max_chain, func) { + this.good_length = good_length; + this.max_lazy = max_lazy; + this.nice_length = nice_length; + this.max_chain = max_chain; + this.func = func; + } + const configuration_table = [/* good lazy nice chain */ + new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */ + new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */ + new Config(4, 5, 16, 8, deflate_fast), /* 2 */ + new Config(4, 6, 32, 32, deflate_fast), /* 3 */ + + new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */ + new Config(8, 16, 32, 32, deflate_slow), /* 5 */ + new Config(8, 16, 128, 128, deflate_slow), /* 6 */ + new Config(8, 32, 128, 256, deflate_slow), /* 7 */ + new Config(32, 128, 258, 1024, deflate_slow), /* 8 */ + new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */]; + + /* =========================================================================== + * Initialize the "longest match" routines for a new zlib stream + */ + const lm_init = s => { + s.window_size = 2 * s.w_size; + + /*** CLEAR_HASH(s); ***/ + zero(s.head); // Fill with NIL (= 0); + + /* Set the default configuration parameters: + */ + s.max_lazy_match = configuration_table[s.level].max_lazy; + s.good_match = configuration_table[s.level].good_length; + s.nice_match = configuration_table[s.level].nice_length; + s.max_chain_length = configuration_table[s.level].max_chain; + s.strstart = 0; + s.block_start = 0; + s.lookahead = 0; + s.insert = 0; + s.match_length = s.prev_length = MIN_MATCH - 1; + s.match_available = 0; + s.ins_h = 0; + }; + function DeflateState() { + this.strm = null; /* pointer back to this zlib stream */ + this.status = 0; /* as the name implies */ + this.pending_buf = null; /* output still pending */ + this.pending_buf_size = 0; /* size of pending_buf */ + this.pending_out = 0; /* next pending byte to output to the stream */ + this.pending = 0; /* nb of bytes in the pending buffer */ + this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */ + this.gzhead = null; /* gzip header information to write */ + this.gzindex = 0; /* where in extra, name, or comment */ + this.method = Z_DEFLATED$2; /* can only be DEFLATED */ + this.last_flush = -1; /* value of flush param for previous deflate call */ + + this.w_size = 0; /* LZ77 window size (32K by default) */ + this.w_bits = 0; /* log2(w_size) (8..16) */ + this.w_mask = 0; /* w_size - 1 */ + + this.window = null; + /* Sliding window. Input bytes are read into the second half of the window, + * and move to the first half later to keep a dictionary of at least wSize + * bytes. With this organization, matches are limited to a distance of + * wSize-MAX_MATCH bytes, but this ensures that IO is always + * performed with a length multiple of the block size. + */ + + this.window_size = 0; + /* Actual size of window: 2*wSize, except when the user input buffer + * is directly used as sliding window. + */ + + this.prev = null; + /* Link to older string with same hash index. To limit the size of this + * array to 64K, this link is maintained only for the last 32K strings. + * An index in this array is thus a window index modulo 32K. + */ + + this.head = null; /* Heads of the hash chains or NIL. */ + + this.ins_h = 0; /* hash index of string to be inserted */ + this.hash_size = 0; /* number of elements in hash table */ + this.hash_bits = 0; /* log2(hash_size) */ + this.hash_mask = 0; /* hash_size-1 */ + + this.hash_shift = 0; + /* Number of bits by which ins_h must be shifted at each input + * step. It must be such that after MIN_MATCH steps, the oldest + * byte no longer takes part in the hash key, that is: + * hash_shift * MIN_MATCH >= hash_bits + */ + + this.block_start = 0; + /* Window position at the beginning of the current output block. Gets + * negative when the window is moved backwards. + */ + + this.match_length = 0; /* length of best match */ + this.prev_match = 0; /* previous match */ + this.match_available = 0; /* set if previous match exists */ + this.strstart = 0; /* start of string to insert */ + this.match_start = 0; /* start of matching string */ + this.lookahead = 0; /* number of valid bytes ahead in window */ + + this.prev_length = 0; + /* Length of the best match at previous step. Matches not greater than this + * are discarded. This is used in the lazy match evaluation. + */ + + this.max_chain_length = 0; + /* To speed up deflation, hash chains are never searched beyond this + * length. A higher limit improves compression ratio but degrades the + * speed. + */ + + this.max_lazy_match = 0; + /* Attempt to find a better match only when the current match is strictly + * smaller than this value. This mechanism is used only for compression + * levels >= 4. + */ + // That's alias to max_lazy_match, don't use directly + //this.max_insert_length = 0; + /* Insert new strings in the hash table only if the match length is not + * greater than this length. This saves time but degrades compression. + * max_insert_length is used only for compression levels <= 3. + */ + + this.level = 0; /* compression level (1..9) */ + this.strategy = 0; /* favor or force Huffman coding*/ + + this.good_match = 0; + /* Use a faster search when the previous match is longer than this */ + + this.nice_match = 0; /* Stop searching when current match exceeds this */ + + /* used by trees.c: */ + + /* Didn't use ct_data typedef below to suppress compiler warning */ + + // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */ + // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */ + // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */ + + // Use flat array of DOUBLE size, with interleaved fata, + // because JS does not support effective + this.dyn_ltree = new Uint16Array(HEAP_SIZE * 2); + this.dyn_dtree = new Uint16Array((2 * D_CODES + 1) * 2); + this.bl_tree = new Uint16Array((2 * BL_CODES + 1) * 2); + zero(this.dyn_ltree); + zero(this.dyn_dtree); + zero(this.bl_tree); + this.l_desc = null; /* desc. for literal tree */ + this.d_desc = null; /* desc. for distance tree */ + this.bl_desc = null; /* desc. for bit length tree */ + + //ush bl_count[MAX_BITS+1]; + this.bl_count = new Uint16Array(MAX_BITS + 1); + /* number of codes at each bit length for an optimal tree */ + + //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */ + this.heap = new Uint16Array(2 * L_CODES + 1); /* heap used to build the Huffman trees */ + zero(this.heap); + this.heap_len = 0; /* number of elements in the heap */ + this.heap_max = 0; /* element of largest frequency */ + /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used. + * The same heap array is used to build all trees. + */ + + this.depth = new Uint16Array(2 * L_CODES + 1); //uch depth[2*L_CODES+1]; + zero(this.depth); + /* Depth of each subtree used as tie breaker for trees of equal frequency + */ + + this.sym_buf = 0; /* buffer for distances and literals/lengths */ + + this.lit_bufsize = 0; + /* Size of match buffer for literals/lengths. There are 4 reasons for + * limiting lit_bufsize to 64K: + * - frequencies can be kept in 16 bit counters + * - if compression is not successful for the first block, all input + * data is still in the window so we can still emit a stored block even + * when input comes from standard input. (This can also be done for + * all blocks if lit_bufsize is not greater than 32K.) + * - if compression is not successful for a file smaller than 64K, we can + * even emit a stored file instead of a stored block (saving 5 bytes). + * This is applicable only for zip (not gzip or zlib). + * - creating new Huffman trees less frequently may not provide fast + * adaptation to changes in the input data statistics. (Take for + * example a binary file with poorly compressible code followed by + * a highly compressible string table.) Smaller buffer sizes give + * fast adaptation but have of course the overhead of transmitting + * trees more frequently. + * - I can't count above 4 + */ + + this.sym_next = 0; /* running index in sym_buf */ + this.sym_end = 0; /* symbol table full when sym_next reaches this */ + + this.opt_len = 0; /* bit length of current block with optimal trees */ + this.static_len = 0; /* bit length of current block with static trees */ + this.matches = 0; /* number of string matches in current block */ + this.insert = 0; /* bytes at end of window left to insert */ + + this.bi_buf = 0; + /* Output buffer. bits are inserted starting at the bottom (least + * significant bits). + */ + this.bi_valid = 0; + /* Number of valid bits in bi_buf. All bits above the last valid bit + * are always zero. + */ + + // Used for window memory init. We safely ignore it for JS. That makes + // sense only for pointers and memory check tools. + //this.high_water = 0; + /* High water mark offset in window for initialized bytes -- bytes above + * this are set to zero in order to avoid memory check warnings when + * longest match routines access bytes past the input. This is then + * updated to the new high water mark. + */ + } + + /* ========================================================================= + * Check for a valid deflate stream state. Return 0 if ok, 1 if not. + */ + const deflateStateCheck = strm => { + if (!strm) { + return 1; + } + const s = strm.state; + if (!s || s.strm !== strm || s.status !== INIT_STATE && + //#ifdef GZIP + s.status !== GZIP_STATE && + //#endif + s.status !== EXTRA_STATE && s.status !== NAME_STATE && s.status !== COMMENT_STATE && s.status !== HCRC_STATE && s.status !== BUSY_STATE && s.status !== FINISH_STATE) { + return 1; + } + return 0; + }; + const deflateResetKeep = strm => { + if (deflateStateCheck(strm)) { + return err(strm, Z_STREAM_ERROR$2); + } + strm.total_in = strm.total_out = 0; + strm.data_type = Z_UNKNOWN; + const s = strm.state; + s.pending = 0; + s.pending_out = 0; + if (s.wrap < 0) { + s.wrap = -s.wrap; + /* was made negative by deflate(..., Z_FINISH); */ + } + s.status = + //#ifdef GZIP + s.wrap === 2 ? GZIP_STATE : + //#endif + s.wrap ? INIT_STATE : BUSY_STATE; + strm.adler = s.wrap === 2 ? 0 // crc32(0, Z_NULL, 0) + : 1; // adler32(0, Z_NULL, 0) + s.last_flush = -2; + _tr_init(s); + return Z_OK$3; + }; + const deflateReset = strm => { + const ret = deflateResetKeep(strm); + if (ret === Z_OK$3) { + lm_init(strm.state); + } + return ret; + }; + const deflateSetHeader = (strm, head) => { + if (deflateStateCheck(strm) || strm.state.wrap !== 2) { + return Z_STREAM_ERROR$2; + } + strm.state.gzhead = head; + return Z_OK$3; + }; + const deflateInit2 = (strm, level, method, windowBits, memLevel, strategy) => { + if (!strm) { + // === Z_NULL + return Z_STREAM_ERROR$2; + } + let wrap = 1; + if (level === Z_DEFAULT_COMPRESSION$1) { + level = 6; + } + if (windowBits < 0) { + /* suppress zlib wrapper */ + wrap = 0; + windowBits = -windowBits; + } else if (windowBits > 15) { + wrap = 2; /* write gzip wrapper instead */ + windowBits -= 16; + } + if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED$2 || windowBits < 8 || windowBits > 15 || level < 0 || level > 9 || strategy < 0 || strategy > Z_FIXED || windowBits === 8 && wrap !== 1) { + return err(strm, Z_STREAM_ERROR$2); + } + if (windowBits === 8) { + windowBits = 9; + } + /* until 256-byte window bug fixed */ + + const s = new DeflateState(); + strm.state = s; + s.strm = strm; + s.status = INIT_STATE; /* to pass state test in deflateReset() */ + + s.wrap = wrap; + s.gzhead = null; + s.w_bits = windowBits; + s.w_size = 1 << s.w_bits; + s.w_mask = s.w_size - 1; + s.hash_bits = memLevel + 7; + s.hash_size = 1 << s.hash_bits; + s.hash_mask = s.hash_size - 1; + s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH); + s.window = new Uint8Array(s.w_size * 2); + s.head = new Uint16Array(s.hash_size); + s.prev = new Uint16Array(s.w_size); + + // Don't need mem init magic for JS. + //s.high_water = 0; /* nothing written to s->window yet */ + + s.lit_bufsize = 1 << memLevel + 6; /* 16K elements by default */ + + /* We overlay pending_buf and sym_buf. This works since the average size + * for length/distance pairs over any compressed block is assured to be 31 + * bits or less. + * + * Analysis: The longest fixed codes are a length code of 8 bits plus 5 + * extra bits, for lengths 131 to 257. The longest fixed distance codes are + * 5 bits plus 13 extra bits, for distances 16385 to 32768. The longest + * possible fixed-codes length/distance pair is then 31 bits total. + * + * sym_buf starts one-fourth of the way into pending_buf. So there are + * three bytes in sym_buf for every four bytes in pending_buf. Each symbol + * in sym_buf is three bytes -- two for the distance and one for the + * literal/length. As each symbol is consumed, the pointer to the next + * sym_buf value to read moves forward three bytes. From that symbol, up to + * 31 bits are written to pending_buf. The closest the written pending_buf + * bits gets to the next sym_buf symbol to read is just before the last + * code is written. At that time, 31*(n-2) bits have been written, just + * after 24*(n-2) bits have been consumed from sym_buf. sym_buf starts at + * 8*n bits into pending_buf. (Note that the symbol buffer fills when n-1 + * symbols are written.) The closest the writing gets to what is unread is + * then n+14 bits. Here n is lit_bufsize, which is 16384 by default, and + * can range from 128 to 32768. + * + * Therefore, at a minimum, there are 142 bits of space between what is + * written and what is read in the overlain buffers, so the symbols cannot + * be overwritten by the compressed data. That space is actually 139 bits, + * due to the three-bit fixed-code block header. + * + * That covers the case where either Z_FIXED is specified, forcing fixed + * codes, or when the use of fixed codes is chosen, because that choice + * results in a smaller compressed block than dynamic codes. That latter + * condition then assures that the above analysis also covers all dynamic + * blocks. A dynamic-code block will only be chosen to be emitted if it has + * fewer bits than a fixed-code block would for the same set of symbols. + * Therefore its average symbol length is assured to be less than 31. So + * the compressed data for a dynamic block also cannot overwrite the + * symbols from which it is being constructed. + */ + + s.pending_buf_size = s.lit_bufsize * 4; + s.pending_buf = new Uint8Array(s.pending_buf_size); + + // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`) + //s->sym_buf = s->pending_buf + s->lit_bufsize; + s.sym_buf = s.lit_bufsize; + + //s->sym_end = (s->lit_bufsize - 1) * 3; + s.sym_end = (s.lit_bufsize - 1) * 3; + /* We avoid equality with lit_bufsize*3 because of wraparound at 64K + * on 16 bit machines and because stored blocks are restricted to + * 64K-1 bytes. + */ + + s.level = level; + s.strategy = strategy; + s.method = method; + return deflateReset(strm); + }; + const deflateInit = (strm, level) => { + return deflateInit2(strm, level, Z_DEFLATED$2, MAX_WBITS$1, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY$1); + }; + + /* ========================================================================= */ + const deflate$2 = (strm, flush) => { + if (deflateStateCheck(strm) || flush > Z_BLOCK$1 || flush < 0) { + return strm ? err(strm, Z_STREAM_ERROR$2) : Z_STREAM_ERROR$2; + } + const s = strm.state; + if (!strm.output || strm.avail_in !== 0 && !strm.input || s.status === FINISH_STATE && flush !== Z_FINISH$3) { + return err(strm, strm.avail_out === 0 ? Z_BUF_ERROR$1 : Z_STREAM_ERROR$2); + } + const old_flush = s.last_flush; + s.last_flush = flush; + + /* Flush as much pending output as possible */ + if (s.pending !== 0) { + flush_pending(strm); + if (strm.avail_out === 0) { + /* Since avail_out is 0, deflate will be called again with + * more output space, but possibly with both pending and + * avail_in equal to zero. There won't be anything to do, + * but this is not an error situation so make sure we + * return OK instead of BUF_ERROR at next call of deflate: + */ + s.last_flush = -1; + return Z_OK$3; + } + + /* Make sure there is something to do and avoid duplicate consecutive + * flushes. For repeated and useless calls with Z_FINISH, we keep + * returning Z_STREAM_END instead of Z_BUF_ERROR. + */ + } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) && flush !== Z_FINISH$3) { + return err(strm, Z_BUF_ERROR$1); + } + + /* User must not provide more input after the first FINISH: */ + if (s.status === FINISH_STATE && strm.avail_in !== 0) { + return err(strm, Z_BUF_ERROR$1); + } + + /* Write the header */ + if (s.status === INIT_STATE && s.wrap === 0) { + s.status = BUSY_STATE; + } + if (s.status === INIT_STATE) { + /* zlib header */ + let header = Z_DEFLATED$2 + (s.w_bits - 8 << 4) << 8; + let level_flags = -1; + if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) { + level_flags = 0; + } else if (s.level < 6) { + level_flags = 1; + } else if (s.level === 6) { + level_flags = 2; + } else { + level_flags = 3; + } + header |= level_flags << 6; + if (s.strstart !== 0) { + header |= PRESET_DICT; + } + header += 31 - header % 31; + putShortMSB(s, header); + + /* Save the adler32 of the preset dictionary: */ + if (s.strstart !== 0) { + putShortMSB(s, strm.adler >>> 16); + putShortMSB(s, strm.adler & 0xffff); + } + strm.adler = 1; // adler32(0L, Z_NULL, 0); + s.status = BUSY_STATE; + + /* Compression must start with an empty pending buffer */ + flush_pending(strm); + if (s.pending !== 0) { + s.last_flush = -1; + return Z_OK$3; + } + } + //#ifdef GZIP + if (s.status === GZIP_STATE) { + /* gzip header */ + strm.adler = 0; //crc32(0L, Z_NULL, 0); + put_byte(s, 31); + put_byte(s, 139); + put_byte(s, 8); + if (!s.gzhead) { + // s->gzhead == Z_NULL + put_byte(s, 0); + put_byte(s, 0); + put_byte(s, 0); + put_byte(s, 0); + put_byte(s, 0); + put_byte(s, s.level === 9 ? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 4 : 0); + put_byte(s, OS_CODE); + s.status = BUSY_STATE; + + /* Compression must start with an empty pending buffer */ + flush_pending(strm); + if (s.pending !== 0) { + s.last_flush = -1; + return Z_OK$3; + } + } else { + put_byte(s, (s.gzhead.text ? 1 : 0) + (s.gzhead.hcrc ? 2 : 0) + (!s.gzhead.extra ? 0 : 4) + (!s.gzhead.name ? 0 : 8) + (!s.gzhead.comment ? 0 : 16)); + put_byte(s, s.gzhead.time & 0xff); + put_byte(s, s.gzhead.time >> 8 & 0xff); + put_byte(s, s.gzhead.time >> 16 & 0xff); + put_byte(s, s.gzhead.time >> 24 & 0xff); + put_byte(s, s.level === 9 ? 2 : s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ? 4 : 0); + put_byte(s, s.gzhead.os & 0xff); + if (s.gzhead.extra && s.gzhead.extra.length) { + put_byte(s, s.gzhead.extra.length & 0xff); + put_byte(s, s.gzhead.extra.length >> 8 & 0xff); + } + if (s.gzhead.hcrc) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending, 0); + } + s.gzindex = 0; + s.status = EXTRA_STATE; + } + } + if (s.status === EXTRA_STATE) { + if (s.gzhead.extra /* != Z_NULL*/) { + let beg = s.pending; /* start of bytes to update crc */ + let left = (s.gzhead.extra.length & 0xffff) - s.gzindex; + while (s.pending + left > s.pending_buf_size) { + let copy = s.pending_buf_size - s.pending; + // zmemcpy(s.pending_buf + s.pending, + // s.gzhead.extra + s.gzindex, copy); + s.pending_buf.set(s.gzhead.extra.subarray(s.gzindex, s.gzindex + copy), s.pending); + s.pending = s.pending_buf_size; + //--- HCRC_UPDATE(beg) ---// + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + //---// + s.gzindex += copy; + flush_pending(strm); + if (s.pending !== 0) { + s.last_flush = -1; + return Z_OK$3; + } + beg = 0; + left -= copy; + } + // JS specific: s.gzhead.extra may be TypedArray or Array for backward compatibility + // TypedArray.slice and TypedArray.from don't exist in IE10-IE11 + let gzhead_extra = new Uint8Array(s.gzhead.extra); + // zmemcpy(s->pending_buf + s->pending, + // s->gzhead->extra + s->gzindex, left); + s.pending_buf.set(gzhead_extra.subarray(s.gzindex, s.gzindex + left), s.pending); + s.pending += left; + //--- HCRC_UPDATE(beg) ---// + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + //---// + s.gzindex = 0; + } + s.status = NAME_STATE; + } + if (s.status === NAME_STATE) { + if (s.gzhead.name /* != Z_NULL*/) { + let beg = s.pending; /* start of bytes to update crc */ + let val; + do { + if (s.pending === s.pending_buf_size) { + //--- HCRC_UPDATE(beg) ---// + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + //---// + flush_pending(strm); + if (s.pending !== 0) { + s.last_flush = -1; + return Z_OK$3; + } + beg = 0; + } + // JS specific: little magic to add zero terminator to end of string + if (s.gzindex < s.gzhead.name.length) { + val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff; + } else { + val = 0; + } + put_byte(s, val); + } while (val !== 0); + //--- HCRC_UPDATE(beg) ---// + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + //---// + s.gzindex = 0; + } + s.status = COMMENT_STATE; + } + if (s.status === COMMENT_STATE) { + if (s.gzhead.comment /* != Z_NULL*/) { + let beg = s.pending; /* start of bytes to update crc */ + let val; + do { + if (s.pending === s.pending_buf_size) { + //--- HCRC_UPDATE(beg) ---// + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + //---// + flush_pending(strm); + if (s.pending !== 0) { + s.last_flush = -1; + return Z_OK$3; + } + beg = 0; + } + // JS specific: little magic to add zero terminator to end of string + if (s.gzindex < s.gzhead.comment.length) { + val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff; + } else { + val = 0; + } + put_byte(s, val); + } while (val !== 0); + //--- HCRC_UPDATE(beg) ---// + if (s.gzhead.hcrc && s.pending > beg) { + strm.adler = crc32_1(strm.adler, s.pending_buf, s.pending - beg, beg); + } + //---// + } + s.status = HCRC_STATE; + } + if (s.status === HCRC_STATE) { + if (s.gzhead.hcrc) { + if (s.pending + 2 > s.pending_buf_size) { + flush_pending(strm); + if (s.pending !== 0) { + s.last_flush = -1; + return Z_OK$3; + } + } + put_byte(s, strm.adler & 0xff); + put_byte(s, strm.adler >> 8 & 0xff); + strm.adler = 0; //crc32(0L, Z_NULL, 0); + } + s.status = BUSY_STATE; + + /* Compression must start with an empty pending buffer */ + flush_pending(strm); + if (s.pending !== 0) { + s.last_flush = -1; + return Z_OK$3; + } + } + //#endif + + /* Start a new block or continue the current one. + */ + if (strm.avail_in !== 0 || s.lookahead !== 0 || flush !== Z_NO_FLUSH$2 && s.status !== FINISH_STATE) { + let bstate = s.level === 0 ? deflate_stored(s, flush) : s.strategy === Z_HUFFMAN_ONLY ? deflate_huff(s, flush) : s.strategy === Z_RLE ? deflate_rle(s, flush) : configuration_table[s.level].func(s, flush); + if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) { + s.status = FINISH_STATE; + } + if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) { + if (strm.avail_out === 0) { + s.last_flush = -1; + /* avoid BUF_ERROR next call, see above */ + } + return Z_OK$3; + /* If flush != Z_NO_FLUSH && avail_out == 0, the next call + * of deflate should use the same flush parameter to make sure + * that the flush is complete. So we don't have to output an + * empty block here, this will be done at next call. This also + * ensures that for a very small output buffer, we emit at most + * one empty block. + */ + } + if (bstate === BS_BLOCK_DONE) { + if (flush === Z_PARTIAL_FLUSH) { + _tr_align(s); + } else if (flush !== Z_BLOCK$1) { + /* FULL_FLUSH or SYNC_FLUSH */ + + _tr_stored_block(s, 0, 0, false); + /* For a full flush, this empty block will be recognized + * as a special marker by inflate_sync(). + */ + if (flush === Z_FULL_FLUSH$1) { + /*** CLEAR_HASH(s); ***/ /* forget history */ + zero(s.head); // Fill with NIL (= 0); + + if (s.lookahead === 0) { + s.strstart = 0; + s.block_start = 0; + s.insert = 0; + } + } + } + flush_pending(strm); + if (strm.avail_out === 0) { + s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */ + return Z_OK$3; + } + } + } + if (flush !== Z_FINISH$3) { + return Z_OK$3; + } + if (s.wrap <= 0) { + return Z_STREAM_END$3; + } + + /* Write the trailer */ + if (s.wrap === 2) { + put_byte(s, strm.adler & 0xff); + put_byte(s, strm.adler >> 8 & 0xff); + put_byte(s, strm.adler >> 16 & 0xff); + put_byte(s, strm.adler >> 24 & 0xff); + put_byte(s, strm.total_in & 0xff); + put_byte(s, strm.total_in >> 8 & 0xff); + put_byte(s, strm.total_in >> 16 & 0xff); + put_byte(s, strm.total_in >> 24 & 0xff); + } else { + putShortMSB(s, strm.adler >>> 16); + putShortMSB(s, strm.adler & 0xffff); + } + flush_pending(strm); + /* If avail_out is zero, the application will call deflate again + * to flush the rest. + */ + if (s.wrap > 0) { + s.wrap = -s.wrap; + } + /* write the trailer only once! */ + return s.pending !== 0 ? Z_OK$3 : Z_STREAM_END$3; + }; + const deflateEnd = strm => { + if (deflateStateCheck(strm)) { + return Z_STREAM_ERROR$2; + } + const status = strm.state.status; + strm.state = null; + return status === BUSY_STATE ? err(strm, Z_DATA_ERROR$2) : Z_OK$3; + }; + + /* ========================================================================= + * Initializes the compression dictionary from the given byte + * sequence without producing any compressed output. + */ + const deflateSetDictionary = (strm, dictionary) => { + let dictLength = dictionary.length; + if (deflateStateCheck(strm)) { + return Z_STREAM_ERROR$2; + } + const s = strm.state; + const wrap = s.wrap; + if (wrap === 2 || wrap === 1 && s.status !== INIT_STATE || s.lookahead) { + return Z_STREAM_ERROR$2; + } + + /* when using zlib wrappers, compute Adler-32 for provided dictionary */ + if (wrap === 1) { + /* adler32(strm->adler, dictionary, dictLength); */ + strm.adler = adler32_1(strm.adler, dictionary, dictLength, 0); + } + s.wrap = 0; /* avoid computing Adler-32 in read_buf */ + + /* if dictionary would fill window, just replace the history */ + if (dictLength >= s.w_size) { + if (wrap === 0) { + /* already empty otherwise */ + /*** CLEAR_HASH(s); ***/ + zero(s.head); // Fill with NIL (= 0); + s.strstart = 0; + s.block_start = 0; + s.insert = 0; + } + /* use the tail */ + // dictionary = dictionary.slice(dictLength - s.w_size); + let tmpDict = new Uint8Array(s.w_size); + tmpDict.set(dictionary.subarray(dictLength - s.w_size, dictLength), 0); + dictionary = tmpDict; + dictLength = s.w_size; + } + /* insert dictionary into window and hash */ + const avail = strm.avail_in; + const next = strm.next_in; + const input = strm.input; + strm.avail_in = dictLength; + strm.next_in = 0; + strm.input = dictionary; + fill_window(s); + while (s.lookahead >= MIN_MATCH) { + let str = s.strstart; + let n = s.lookahead - (MIN_MATCH - 1); + do { + /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */ + s.ins_h = HASH(s, s.ins_h, s.window[str + MIN_MATCH - 1]); + s.prev[str & s.w_mask] = s.head[s.ins_h]; + s.head[s.ins_h] = str; + str++; + } while (--n); + s.strstart = str; + s.lookahead = MIN_MATCH - 1; + fill_window(s); + } + s.strstart += s.lookahead; + s.block_start = s.strstart; + s.insert = s.lookahead; + s.lookahead = 0; + s.match_length = s.prev_length = MIN_MATCH - 1; + s.match_available = 0; + strm.next_in = next; + strm.input = input; + strm.avail_in = avail; + s.wrap = wrap; + return Z_OK$3; + }; + var deflateInit_1 = deflateInit; + var deflateInit2_1 = deflateInit2; + var deflateReset_1 = deflateReset; + var deflateResetKeep_1 = deflateResetKeep; + var deflateSetHeader_1 = deflateSetHeader; + var deflate_2$1 = deflate$2; + var deflateEnd_1 = deflateEnd; + var deflateSetDictionary_1 = deflateSetDictionary; + var deflateInfo = 'pako deflate (from Nodeca project)'; + + /* Not implemented + module.exports.deflateBound = deflateBound; + module.exports.deflateCopy = deflateCopy; + module.exports.deflateGetDictionary = deflateGetDictionary; + module.exports.deflateParams = deflateParams; + module.exports.deflatePending = deflatePending; + module.exports.deflatePrime = deflatePrime; + module.exports.deflateTune = deflateTune; + */ + + var deflate_1$2 = { + deflateInit: deflateInit_1, + deflateInit2: deflateInit2_1, + deflateReset: deflateReset_1, + deflateResetKeep: deflateResetKeep_1, + deflateSetHeader: deflateSetHeader_1, + deflate: deflate_2$1, + deflateEnd: deflateEnd_1, + deflateSetDictionary: deflateSetDictionary_1, + deflateInfo: deflateInfo + }; + const _has = (obj, key) => { + return Object.prototype.hasOwnProperty.call(obj, key); + }; + var assign = function (obj /*from1, from2, from3, ...*/) { + const sources = Array.prototype.slice.call(arguments, 1); + while (sources.length) { + const source = sources.shift(); + if (!source) { + continue; + } + if (typeof source !== 'object') { + throw new TypeError(source + 'must be non-object'); + } + for (const p in source) { + if (_has(source, p)) { + obj[p] = source[p]; + } + } + } + return obj; + }; + + // Join array of chunks to single array. + var flattenChunks = chunks => { + // calculate data length + let len = 0; + for (let i = 0, l = chunks.length; i < l; i++) { + len += chunks[i].length; + } + + // join chunks + const result = new Uint8Array(len); + for (let i = 0, pos = 0, l = chunks.length; i < l; i++) { + let chunk = chunks[i]; + result.set(chunk, pos); + pos += chunk.length; + } + return result; + }; + var common = { + assign: assign, + flattenChunks: flattenChunks + }; + + // String encode/decode helpers + + // Quick check if we can use fast array to bin string conversion + // + // - apply(Array) can fail on Android 2.2 + // - apply(Uint8Array) can fail on iOS 5.1 Safari + // + let STR_APPLY_UIA_OK = true; + try { + String.fromCharCode.apply(null, new Uint8Array(1)); + } catch (__) { + STR_APPLY_UIA_OK = false; + } + + // Table with utf8 lengths (calculated by first byte of sequence) + // Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS, + // because max possible codepoint is 0x10ffff + const _utf8len = new Uint8Array(256); + for (let q = 0; q < 256; q++) { + _utf8len[q] = q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1; + } + _utf8len[254] = _utf8len[254] = 1; // Invalid sequence start + + // convert string to array (typed, when possible) + var string2buf = str => { + if (typeof TextEncoder === 'function' && TextEncoder.prototype.encode) { + return new TextEncoder().encode(str); + } + let buf, + c, + c2, + m_pos, + i, + str_len = str.length, + buf_len = 0; + + // count binary size + for (m_pos = 0; m_pos < str_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && m_pos + 1 < str_len) { + c2 = str.charCodeAt(m_pos + 1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + (c - 0xd800 << 10) + (c2 - 0xdc00); + m_pos++; + } + } + buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4; + } + + // allocate buffer + buf = new Uint8Array(buf_len); + + // convert + for (i = 0, m_pos = 0; i < buf_len; m_pos++) { + c = str.charCodeAt(m_pos); + if ((c & 0xfc00) === 0xd800 && m_pos + 1 < str_len) { + c2 = str.charCodeAt(m_pos + 1); + if ((c2 & 0xfc00) === 0xdc00) { + c = 0x10000 + (c - 0xd800 << 10) + (c2 - 0xdc00); + m_pos++; + } + } + if (c < 0x80) { + /* one byte */ + buf[i++] = c; + } else if (c < 0x800) { + /* two bytes */ + buf[i++] = 0xC0 | c >>> 6; + buf[i++] = 0x80 | c & 0x3f; + } else if (c < 0x10000) { + /* three bytes */ + buf[i++] = 0xE0 | c >>> 12; + buf[i++] = 0x80 | c >>> 6 & 0x3f; + buf[i++] = 0x80 | c & 0x3f; + } else { + /* four bytes */ + buf[i++] = 0xf0 | c >>> 18; + buf[i++] = 0x80 | c >>> 12 & 0x3f; + buf[i++] = 0x80 | c >>> 6 & 0x3f; + buf[i++] = 0x80 | c & 0x3f; + } + } + return buf; + }; + + // Helper + const buf2binstring = (buf, len) => { + // On Chrome, the arguments in a function call that are allowed is `65534`. + // If the length of the buffer is smaller than that, we can use this optimization, + // otherwise we will take a slower path. + if (len < 65534) { + if (buf.subarray && STR_APPLY_UIA_OK) { + return String.fromCharCode.apply(null, buf.length === len ? buf : buf.subarray(0, len)); + } + } + let result = ''; + for (let i = 0; i < len; i++) { + result += String.fromCharCode(buf[i]); + } + return result; + }; + + // convert array to string + var buf2string = (buf, max) => { + const len = max || buf.length; + if (typeof TextDecoder === 'function' && TextDecoder.prototype.decode) { + return new TextDecoder().decode(buf.subarray(0, max)); + } + let i, out; + + // Reserve max possible length (2 words per char) + // NB: by unknown reasons, Array is significantly faster for + // String.fromCharCode.apply than Uint16Array. + const utf16buf = new Array(len * 2); + for (out = 0, i = 0; i < len;) { + let c = buf[i++]; + // quick process ascii + if (c < 0x80) { + utf16buf[out++] = c; + continue; + } + let c_len = _utf8len[c]; + // skip 5 & 6 byte codes + if (c_len > 4) { + utf16buf[out++] = 0xfffd; + i += c_len - 1; + continue; + } + + // apply mask on first byte + c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07; + // join the rest + while (c_len > 1 && i < len) { + c = c << 6 | buf[i++] & 0x3f; + c_len--; + } + + // terminated by end of string? + if (c_len > 1) { + utf16buf[out++] = 0xfffd; + continue; + } + if (c < 0x10000) { + utf16buf[out++] = c; + } else { + c -= 0x10000; + utf16buf[out++] = 0xd800 | c >> 10 & 0x3ff; + utf16buf[out++] = 0xdc00 | c & 0x3ff; + } + } + return buf2binstring(utf16buf, out); + }; + + // Calculate max possible position in utf8 buffer, + // that will not break sequence. If that's not possible + // - (very small limits) return max size as is. + // + // buf[] - utf8 bytes array + // max - length limit (mandatory); + var utf8border = (buf, max) => { + max = max || buf.length; + if (max > buf.length) { + max = buf.length; + } + + // go back from last position, until start of sequence found + let pos = max - 1; + while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { + pos--; + } + + // Very small and broken sequence, + // return max, because we should return something anyway. + if (pos < 0) { + return max; + } + + // If we came to start of buffer - that means buffer is too small, + // return max too. + if (pos === 0) { + return max; + } + return pos + _utf8len[buf[pos]] > max ? pos : max; + }; + var strings = { + string2buf: string2buf, + buf2string: buf2string, + utf8border: utf8border + }; + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + function ZStream() { + /* next input byte */ + this.input = null; // JS specific, because we have no pointers + this.next_in = 0; + /* number of bytes available at input */ + this.avail_in = 0; + /* total number of input bytes read so far */ + this.total_in = 0; + /* next output byte should be put there */ + this.output = null; // JS specific, because we have no pointers + this.next_out = 0; + /* remaining free space at output */ + this.avail_out = 0; + /* total number of bytes output so far */ + this.total_out = 0; + /* last error message, NULL if no error */ + this.msg = '' /*Z_NULL*/; + /* not visible by applications */ + this.state = null; + /* best guess about the data type: binary or text */ + this.data_type = 2 /*Z_UNKNOWN*/; + /* adler32 value of the uncompressed data */ + this.adler = 0; + } + var zstream = ZStream; + const toString$1 = Object.prototype.toString; + + /* Public constants ==========================================================*/ + /* ===========================================================================*/ + + const { + Z_NO_FLUSH: Z_NO_FLUSH$1, + Z_SYNC_FLUSH, + Z_FULL_FLUSH, + Z_FINISH: Z_FINISH$2, + Z_OK: Z_OK$2, + Z_STREAM_END: Z_STREAM_END$2, + Z_DEFAULT_COMPRESSION, + Z_DEFAULT_STRATEGY, + Z_DEFLATED: Z_DEFLATED$1 + } = constants$2; + + /* ===========================================================================*/ + + /** + * class Deflate + * + * Generic JS-style wrapper for zlib calls. If you don't need + * streaming behaviour - use more simple functions: [[deflate]], + * [[deflateRaw]] and [[gzip]]. + **/ + + /* internal + * Deflate.chunks -> Array + * + * Chunks of output data, if [[Deflate#onData]] not overridden. + **/ + + /** + * Deflate.result -> Uint8Array + * + * Compressed result, generated by default [[Deflate#onData]] + * and [[Deflate#onEnd]] handlers. Filled after you push last chunk + * (call [[Deflate#push]] with `Z_FINISH` / `true` param). + **/ + + /** + * Deflate.err -> Number + * + * Error code after deflate finished. 0 (Z_OK) on success. + * You will not need it in real life, because deflate errors + * are possible only on wrong options or bad `onData` / `onEnd` + * custom handlers. + **/ + + /** + * Deflate.msg -> String + * + * Error message, if [[Deflate.err]] != 0 + **/ + + /** + * new Deflate(options) + * - options (Object): zlib deflate options. + * + * Creates new deflator instance with specified params. Throws exception + * on bad params. Supported options: + * + * - `level` + * - `windowBits` + * - `memLevel` + * - `strategy` + * - `dictionary` + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Additional options, for internal needs: + * + * - `chunkSize` - size of generated data chunks (16K by default) + * - `raw` (Boolean) - do raw deflate + * - `gzip` (Boolean) - create gzip wrapper + * - `header` (Object) - custom header for gzip + * - `text` (Boolean) - true if compressed data believed to be text + * - `time` (Number) - modification time, unix timestamp + * - `os` (Number) - operation system code + * - `extra` (Array) - array of bytes with extra data (max 65536) + * - `name` (String) - file name (binary string) + * - `comment` (String) - comment (binary string) + * - `hcrc` (Boolean) - true if header crc should be added + * + * ##### Example: + * + * ```javascript + * const pako = require('pako') + * , chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9]) + * , chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]); + * + * const deflate = new pako.Deflate({ level: 3}); + * + * deflate.push(chunk1, false); + * deflate.push(chunk2, true); // true -> last chunk + * + * if (deflate.err) { throw new Error(deflate.err); } + * + * console.log(deflate.result); + * ``` + **/ + function Deflate$1(options) { + this.options = common.assign({ + level: Z_DEFAULT_COMPRESSION, + method: Z_DEFLATED$1, + chunkSize: 16384, + windowBits: 15, + memLevel: 8, + strategy: Z_DEFAULT_STRATEGY + }, options || {}); + let opt = this.options; + if (opt.raw && opt.windowBits > 0) { + opt.windowBits = -opt.windowBits; + } else if (opt.gzip && opt.windowBits > 0 && opt.windowBits < 16) { + opt.windowBits += 16; + } + this.err = 0; // error code, if happens (0 = Z_OK) + this.msg = ''; // error message + this.ended = false; // used to avoid multiple onEnd() calls + this.chunks = []; // chunks of compressed data + + this.strm = new zstream(); + this.strm.avail_out = 0; + let status = deflate_1$2.deflateInit2(this.strm, opt.level, opt.method, opt.windowBits, opt.memLevel, opt.strategy); + if (status !== Z_OK$2) { + throw new Error(messages[status]); + } + if (opt.header) { + deflate_1$2.deflateSetHeader(this.strm, opt.header); + } + if (opt.dictionary) { + let dict; + // Convert data if needed + if (typeof opt.dictionary === 'string') { + // If we need to compress text, change encoding to utf8. + dict = strings.string2buf(opt.dictionary); + } else if (toString$1.call(opt.dictionary) === '[object ArrayBuffer]') { + dict = new Uint8Array(opt.dictionary); + } else { + dict = opt.dictionary; + } + status = deflate_1$2.deflateSetDictionary(this.strm, dict); + if (status !== Z_OK$2) { + throw new Error(messages[status]); + } + this._dict_set = true; + } + } + + /** + * Deflate#push(data[, flush_mode]) -> Boolean + * - data (Uint8Array|ArrayBuffer|String): input data. Strings will be + * converted to utf8 byte sequence. + * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes. + * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH. + * + * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with + * new compressed chunks. Returns `true` on success. The last data block must + * have `flush_mode` Z_FINISH (or `true`). That will flush internal pending + * buffers and call [[Deflate#onEnd]]. + * + * On fail call [[Deflate#onEnd]] with error code and return false. + * + * ##### Example + * + * ```javascript + * push(chunk, false); // push one of data chunks + * ... + * push(chunk, true); // push last chunk + * ``` + **/ + Deflate$1.prototype.push = function (data, flush_mode) { + const strm = this.strm; + const chunkSize = this.options.chunkSize; + let status, _flush_mode; + if (this.ended) { + return false; + } + if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;else _flush_mode = flush_mode === true ? Z_FINISH$2 : Z_NO_FLUSH$1; + + // Convert data if needed + if (typeof data === 'string') { + // If we need to compress text, change encoding to utf8. + strm.input = strings.string2buf(data); + } else if (toString$1.call(data) === '[object ArrayBuffer]') { + strm.input = new Uint8Array(data); + } else { + strm.input = data; + } + strm.next_in = 0; + strm.avail_in = strm.input.length; + for (;;) { + if (strm.avail_out === 0) { + strm.output = new Uint8Array(chunkSize); + strm.next_out = 0; + strm.avail_out = chunkSize; + } + + // Make sure avail_out > 6 to avoid repeating markers + if ((_flush_mode === Z_SYNC_FLUSH || _flush_mode === Z_FULL_FLUSH) && strm.avail_out <= 6) { + this.onData(strm.output.subarray(0, strm.next_out)); + strm.avail_out = 0; + continue; + } + status = deflate_1$2.deflate(strm, _flush_mode); + + // Ended => flush and finish + if (status === Z_STREAM_END$2) { + if (strm.next_out > 0) { + this.onData(strm.output.subarray(0, strm.next_out)); + } + status = deflate_1$2.deflateEnd(this.strm); + this.onEnd(status); + this.ended = true; + return status === Z_OK$2; + } + + // Flush if out buffer full + if (strm.avail_out === 0) { + this.onData(strm.output); + continue; + } + + // Flush if requested and has data + if (_flush_mode > 0 && strm.next_out > 0) { + this.onData(strm.output.subarray(0, strm.next_out)); + strm.avail_out = 0; + continue; + } + if (strm.avail_in === 0) break; + } + return true; + }; + + /** + * Deflate#onData(chunk) -> Void + * - chunk (Uint8Array): output data. + * + * By default, stores data blocks in `chunks[]` property and glue + * those in `onEnd`. Override this handler, if you need another behaviour. + **/ + Deflate$1.prototype.onData = function (chunk) { + this.chunks.push(chunk); + }; + + /** + * Deflate#onEnd(status) -> Void + * - status (Number): deflate status. 0 (Z_OK) on success, + * other if not. + * + * Called once after you tell deflate that the input stream is + * complete (Z_FINISH). By default - join collected chunks, + * free memory and fill `results` / `err` properties. + **/ + Deflate$1.prototype.onEnd = function (status) { + // On success - join + if (status === Z_OK$2) { + this.result = common.flattenChunks(this.chunks); + } + this.chunks = []; + this.err = status; + this.msg = this.strm.msg; + }; + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + // See state defs from inflate.js + const BAD$1 = 16209; /* got a data error -- remain here until reset */ + const TYPE$1 = 16191; /* i: waiting for type bits, including last-flag bit */ + + /* + Decode literal, length, and distance codes and write out the resulting + literal and match bytes until either not enough input or output is + available, an end-of-block is encountered, or a data error is encountered. + When large enough input and output buffers are supplied to inflate(), for + example, a 16K input buffer and a 64K output buffer, more than 95% of the + inflate execution time is spent in this routine. + + Entry assumptions: + + state.mode === LEN + strm.avail_in >= 6 + strm.avail_out >= 258 + start >= strm.avail_out + state.bits < 8 + + On return, state.mode is one of: + + LEN -- ran out of enough output space or enough available input + TYPE -- reached end of block code, inflate() to interpret next block + BAD -- error in block data + + Notes: + + - The maximum input bits used by a length/distance pair is 15 bits for the + length code, 5 bits for the length extra, 15 bits for the distance code, + and 13 bits for the distance extra. This totals 48 bits, or six bytes. + Therefore if strm.avail_in >= 6, then there is enough input to avoid + checking for available input while decoding. + + - The maximum bytes that a single length/distance pair can output is 258 + bytes, which is the maximum length that can be coded. inflate_fast() + requires strm.avail_out >= 258 for each loop to avoid checking for + output space. + */ + var inffast = function inflate_fast(strm, start) { + let _in; /* local strm.input */ + let last; /* have enough input while in < last */ + let _out; /* local strm.output */ + let beg; /* inflate()'s initial strm.output */ + let end; /* while out < end, enough space available */ + //#ifdef INFLATE_STRICT + let dmax; /* maximum distance from zlib header */ + //#endif + let wsize; /* window size or zero if not using window */ + let whave; /* valid bytes in the window */ + let wnext; /* window write index */ + // Use `s_window` instead `window`, avoid conflict with instrumentation tools + let s_window; /* allocated sliding window, if wsize != 0 */ + let hold; /* local strm.hold */ + let bits; /* local strm.bits */ + let lcode; /* local strm.lencode */ + let dcode; /* local strm.distcode */ + let lmask; /* mask for first level of length codes */ + let dmask; /* mask for first level of distance codes */ + let here; /* retrieved table entry */ + let op; /* code bits, operation, extra bits, or */ + /* window position, window bytes to copy */ + let len; /* match length, unused bytes */ + let dist; /* match distance */ + let from; /* where to copy match from */ + let from_source; + let input, output; // JS specific, because we have no pointers + + /* copy state to local variables */ + const state = strm.state; + //here = state.here; + _in = strm.next_in; + input = strm.input; + last = _in + (strm.avail_in - 5); + _out = strm.next_out; + output = strm.output; + beg = _out - (start - strm.avail_out); + end = _out + (strm.avail_out - 257); + //#ifdef INFLATE_STRICT + dmax = state.dmax; + //#endif + wsize = state.wsize; + whave = state.whave; + wnext = state.wnext; + s_window = state.window; + hold = state.hold; + bits = state.bits; + lcode = state.lencode; + dcode = state.distcode; + lmask = (1 << state.lenbits) - 1; + dmask = (1 << state.distbits) - 1; + + /* decode literals and length/distances until end-of-block or not enough + input data or output space */ + + top: do { + if (bits < 15) { + hold += input[_in++] << bits; + bits += 8; + hold += input[_in++] << bits; + bits += 8; + } + here = lcode[hold & lmask]; + dolen: for (;;) { + // Goto emulation + op = here >>> 24 /*here.bits*/; + hold >>>= op; + bits -= op; + op = here >>> 16 & 0xff /*here.op*/; + if (op === 0) { + /* literal */ + //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? + // "inflate: literal '%c'\n" : + // "inflate: literal 0x%02x\n", here.val)); + output[_out++] = here & 0xffff /*here.val*/; + } else if (op & 16) { + /* length base */ + len = here & 0xffff /*here.val*/; + op &= 15; /* number of extra bits */ + if (op) { + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + } + len += hold & (1 << op) - 1; + hold >>>= op; + bits -= op; + } + //Tracevv((stderr, "inflate: length %u\n", len)); + if (bits < 15) { + hold += input[_in++] << bits; + bits += 8; + hold += input[_in++] << bits; + bits += 8; + } + here = dcode[hold & dmask]; + dodist: for (;;) { + // goto emulation + op = here >>> 24 /*here.bits*/; + hold >>>= op; + bits -= op; + op = here >>> 16 & 0xff /*here.op*/; + if (op & 16) { + /* distance base */ + dist = here & 0xffff /*here.val*/; + op &= 15; /* number of extra bits */ + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + if (bits < op) { + hold += input[_in++] << bits; + bits += 8; + } + } + dist += hold & (1 << op) - 1; + //#ifdef INFLATE_STRICT + if (dist > dmax) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$1; + break top; + } + //#endif + hold >>>= op; + bits -= op; + //Tracevv((stderr, "inflate: distance %u\n", dist)); + op = _out - beg; /* max distance in output */ + if (dist > op) { + /* see if copy from window */ + op = dist - op; /* distance back in window */ + if (op > whave) { + if (state.sane) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD$1; + break top; + } + + // (!) This block is disabled in zlib defaults, + // don't enable it for binary compatibility + //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR + // if (len <= op - whave) { + // do { + // output[_out++] = 0; + // } while (--len); + // continue top; + // } + // len -= op - whave; + // do { + // output[_out++] = 0; + // } while (--op > whave); + // if (op === 0) { + // from = _out - dist; + // do { + // output[_out++] = output[from++]; + // } while (--len); + // continue top; + // } + //#endif + } + from = 0; // window index + from_source = s_window; + if (wnext === 0) { + /* very common case */ + from += wsize - op; + if (op < len) { + /* some from window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } else if (wnext < op) { + /* wrap around window */ + from += wsize + wnext - op; + op -= wnext; + if (op < len) { + /* some from end of window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = 0; + if (wnext < len) { + /* some from start of window */ + op = wnext; + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + } else { + /* contiguous in window */ + from += wnext - op; + if (op < len) { + /* some from window */ + len -= op; + do { + output[_out++] = s_window[from++]; + } while (--op); + from = _out - dist; /* rest from output */ + from_source = output; + } + } + while (len > 2) { + output[_out++] = from_source[from++]; + output[_out++] = from_source[from++]; + output[_out++] = from_source[from++]; + len -= 3; + } + if (len) { + output[_out++] = from_source[from++]; + if (len > 1) { + output[_out++] = from_source[from++]; + } + } + } else { + from = _out - dist; /* copy direct from output */ + do { + /* minimum length is three */ + output[_out++] = output[from++]; + output[_out++] = output[from++]; + output[_out++] = output[from++]; + len -= 3; + } while (len > 2); + if (len) { + output[_out++] = output[from++]; + if (len > 1) { + output[_out++] = output[from++]; + } + } + } + } else if ((op & 64) === 0) { + /* 2nd level distance code */ + here = dcode[(here & 0xffff /*here.val*/) + (hold & (1 << op) - 1)]; + continue dodist; + } else { + strm.msg = 'invalid distance code'; + state.mode = BAD$1; + break top; + } + break; // need to emulate goto via "continue" + } + } else if ((op & 64) === 0) { + /* 2nd level length code */ + here = lcode[(here & 0xffff /*here.val*/) + (hold & (1 << op) - 1)]; + continue dolen; + } else if (op & 32) { + /* end-of-block */ + //Tracevv((stderr, "inflate: end of block\n")); + state.mode = TYPE$1; + break top; + } else { + strm.msg = 'invalid literal/length code'; + state.mode = BAD$1; + break top; + } + break; // need to emulate goto via "continue" + } + } while (_in < last && _out < end); + + /* return unused bytes (on entry, bits < 8, so in won't go too far back) */ + len = bits >> 3; + _in -= len; + bits -= len << 3; + hold &= (1 << bits) - 1; + + /* update state and return */ + strm.next_in = _in; + strm.next_out = _out; + strm.avail_in = _in < last ? 5 + (last - _in) : 5 - (_in - last); + strm.avail_out = _out < end ? 257 + (end - _out) : 257 - (_out - end); + state.hold = hold; + state.bits = bits; + return; + }; + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + const MAXBITS = 15; + const ENOUGH_LENS$1 = 852; + const ENOUGH_DISTS$1 = 592; + //const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); + + const CODES$1 = 0; + const LENS$1 = 1; + const DISTS$1 = 2; + const lbase = new Uint16Array([/* Length codes 257..285 base */ + 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0]); + const lext = new Uint8Array([/* Length codes 257..285 extra */ + 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18, 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78]); + const dbase = new Uint16Array([/* Distance codes 0..29 base */ + 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577, 0, 0]); + const dext = new Uint8Array([/* Distance codes 0..29 extra */ + 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 64, 64]); + const inflate_table = (type, lens, lens_index, codes, table, table_index, work, opts) => { + const bits = opts.bits; + //here = opts.here; /* table entry for duplication */ + + let len = 0; /* a code's length in bits */ + let sym = 0; /* index of code symbols */ + let min = 0, + max = 0; /* minimum and maximum code lengths */ + let root = 0; /* number of index bits for root table */ + let curr = 0; /* number of index bits for current table */ + let drop = 0; /* code bits to drop for sub-table */ + let left = 0; /* number of prefix codes available */ + let used = 0; /* code entries in table used */ + let huff = 0; /* Huffman code */ + let incr; /* for incrementing code, index */ + let fill; /* index for replicating entries */ + let low; /* low bits for current root entry */ + let mask; /* mask for low root bits */ + let next; /* next available space in table */ + let base = null; /* base value table to use */ + // let shoextra; /* extra bits table to use */ + let match; /* use base and extra for symbol >= match */ + const count = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */ + const offs = new Uint16Array(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */ + let extra = null; + let here_bits, here_op, here_val; + + /* + Process a set of code lengths to create a canonical Huffman code. The + code lengths are lens[0..codes-1]. Each length corresponds to the + symbols 0..codes-1. The Huffman code is generated by first sorting the + symbols by length from short to long, and retaining the symbol order + for codes with equal lengths. Then the code starts with all zero bits + for the first code of the shortest length, and the codes are integer + increments for the same length, and zeros are appended as the length + increases. For the deflate format, these bits are stored backwards + from their more natural integer increment ordering, and so when the + decoding tables are built in the large loop below, the integer codes + are incremented backwards. + This routine assumes, but does not check, that all of the entries in + lens[] are in the range 0..MAXBITS. The caller must assure this. + 1..MAXBITS is interpreted as that code length. zero means that that + symbol does not occur in this code. + The codes are sorted by computing a count of codes for each length, + creating from that a table of starting indices for each length in the + sorted table, and then entering the symbols in order in the sorted + table. The sorted table is work[], with that space being provided by + the caller. + The length counts are used for other purposes as well, i.e. finding + the minimum and maximum length codes, determining if there are any + codes at all, checking for a valid set of lengths, and looking ahead + at length counts to determine sub-table sizes when building the + decoding tables. + */ + + /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */ + for (len = 0; len <= MAXBITS; len++) { + count[len] = 0; + } + for (sym = 0; sym < codes; sym++) { + count[lens[lens_index + sym]]++; + } + + /* bound code lengths, force root to be within code lengths */ + root = bits; + for (max = MAXBITS; max >= 1; max--) { + if (count[max] !== 0) { + break; + } + } + if (root > max) { + root = max; + } + if (max === 0) { + /* no symbols to code at all */ + //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */ + //table.bits[opts.table_index] = 1; //here.bits = (var char)1; + //table.val[opts.table_index++] = 0; //here.val = (var short)0; + table[table_index++] = 1 << 24 | 64 << 16 | 0; + + //table.op[opts.table_index] = 64; + //table.bits[opts.table_index] = 1; + //table.val[opts.table_index++] = 0; + table[table_index++] = 1 << 24 | 64 << 16 | 0; + opts.bits = 1; + return 0; /* no symbols, but wait for decoding to report error */ + } + for (min = 1; min < max; min++) { + if (count[min] !== 0) { + break; + } + } + if (root < min) { + root = min; + } + + /* check for an over-subscribed or incomplete set of lengths */ + left = 1; + for (len = 1; len <= MAXBITS; len++) { + left <<= 1; + left -= count[len]; + if (left < 0) { + return -1; + } /* over-subscribed */ + } + if (left > 0 && (type === CODES$1 || max !== 1)) { + return -1; /* incomplete set */ + } + + /* generate offsets into symbol table for each length for sorting */ + offs[1] = 0; + for (len = 1; len < MAXBITS; len++) { + offs[len + 1] = offs[len] + count[len]; + } + + /* sort symbols by length, by symbol order within each length */ + for (sym = 0; sym < codes; sym++) { + if (lens[lens_index + sym] !== 0) { + work[offs[lens[lens_index + sym]]++] = sym; + } + } + + /* + Create and fill in decoding tables. In this loop, the table being + filled is at next and has curr index bits. The code being used is huff + with length len. That code is converted to an index by dropping drop + bits off of the bottom. For codes where len is less than drop + curr, + those top drop + curr - len bits are incremented through all values to + fill the table with replicated entries. + root is the number of index bits for the root table. When len exceeds + root, sub-tables are created pointed to by the root entry with an index + of the low root bits of huff. This is saved in low to check for when a + new sub-table should be started. drop is zero when the root table is + being filled, and drop is root when sub-tables are being filled. + When a new sub-table is needed, it is necessary to look ahead in the + code lengths to determine what size sub-table is needed. The length + counts are used for this, and so count[] is decremented as codes are + entered in the tables. + used keeps track of how many table entries have been allocated from the + provided *table space. It is checked for LENS and DIST tables against + the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in + the initial root table size constants. See the comments in inftrees.h + for more information. + sym increments through all symbols, and the loop terminates when + all codes of length max, i.e. all codes, have been processed. This + routine permits incomplete codes, so another loop after this one fills + in the rest of the decoding tables with invalid code markers. + */ + + /* set up for code type */ + // poor man optimization - use if-else instead of switch, + // to avoid deopts in old v8 + if (type === CODES$1) { + base = extra = work; /* dummy value--not used */ + match = 20; + } else if (type === LENS$1) { + base = lbase; + extra = lext; + match = 257; + } else { + /* DISTS */ + base = dbase; + extra = dext; + match = 0; + } + + /* initialize opts for loop */ + huff = 0; /* starting code */ + sym = 0; /* starting code symbol */ + len = min; /* starting code length */ + next = table_index; /* current table to fill in */ + curr = root; /* current table index bits */ + drop = 0; /* current bits to drop from code for index */ + low = -1; /* trigger new sub-table when len > root */ + used = 1 << root; /* use root table entries */ + mask = used - 1; /* mask for comparing low */ + + /* check available table space */ + if (type === LENS$1 && used > ENOUGH_LENS$1 || type === DISTS$1 && used > ENOUGH_DISTS$1) { + return 1; + } + + /* process all codes and make table entries */ + for (;;) { + /* create table entry */ + here_bits = len - drop; + if (work[sym] + 1 < match) { + here_op = 0; + here_val = work[sym]; + } else if (work[sym] >= match) { + here_op = extra[work[sym] - match]; + here_val = base[work[sym] - match]; + } else { + here_op = 32 + 64; /* end of block */ + here_val = 0; + } + + /* replicate for those indices with low len bits equal to huff */ + incr = 1 << len - drop; + fill = 1 << curr; + min = fill; /* save offset to next table */ + do { + fill -= incr; + table[next + (huff >> drop) + fill] = here_bits << 24 | here_op << 16 | here_val | 0; + } while (fill !== 0); + + /* backwards increment the len-bit code huff */ + incr = 1 << len - 1; + while (huff & incr) { + incr >>= 1; + } + if (incr !== 0) { + huff &= incr - 1; + huff += incr; + } else { + huff = 0; + } + + /* go to next symbol, update count, len */ + sym++; + if (--count[len] === 0) { + if (len === max) { + break; + } + len = lens[lens_index + work[sym]]; + } + + /* create new sub-table if needed */ + if (len > root && (huff & mask) !== low) { + /* if first time, transition to sub-tables */ + if (drop === 0) { + drop = root; + } + + /* increment past last table */ + next += min; /* here min is 1 << curr */ + + /* determine length of next table */ + curr = len - drop; + left = 1 << curr; + while (curr + drop < max) { + left -= count[curr + drop]; + if (left <= 0) { + break; + } + curr++; + left <<= 1; + } + + /* check for enough space */ + used += 1 << curr; + if (type === LENS$1 && used > ENOUGH_LENS$1 || type === DISTS$1 && used > ENOUGH_DISTS$1) { + return 1; + } + + /* point entry in root table to sub-table */ + low = huff & mask; + /*table.op[low] = curr; + table.bits[low] = root; + table.val[low] = next - opts.table_index;*/ + table[low] = root << 24 | curr << 16 | next - table_index | 0; + } + } + + /* fill in remaining table entry if code is incomplete (guaranteed to have + at most one remaining entry, since if the code is incomplete, the + maximum code length that was allowed to get this far is one bit) */ + if (huff !== 0) { + //table.op[next + huff] = 64; /* invalid code marker */ + //table.bits[next + huff] = len - drop; + //table.val[next + huff] = 0; + table[next + huff] = len - drop << 24 | 64 << 16 | 0; + } + + /* set return parameters */ + //opts.table_index += used; + opts.bits = root; + return 0; + }; + var inftrees = inflate_table; + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + const CODES = 0; + const LENS = 1; + const DISTS = 2; + + /* Public constants ==========================================================*/ + /* ===========================================================================*/ + + const { + Z_FINISH: Z_FINISH$1, + Z_BLOCK, + Z_TREES, + Z_OK: Z_OK$1, + Z_STREAM_END: Z_STREAM_END$1, + Z_NEED_DICT: Z_NEED_DICT$1, + Z_STREAM_ERROR: Z_STREAM_ERROR$1, + Z_DATA_ERROR: Z_DATA_ERROR$1, + Z_MEM_ERROR: Z_MEM_ERROR$1, + Z_BUF_ERROR, + Z_DEFLATED + } = constants$2; + + /* STATES ====================================================================*/ + /* ===========================================================================*/ + + const HEAD = 16180; /* i: waiting for magic header */ + const FLAGS = 16181; /* i: waiting for method and flags (gzip) */ + const TIME = 16182; /* i: waiting for modification time (gzip) */ + const OS = 16183; /* i: waiting for extra flags and operating system (gzip) */ + const EXLEN = 16184; /* i: waiting for extra length (gzip) */ + const EXTRA = 16185; /* i: waiting for extra bytes (gzip) */ + const NAME = 16186; /* i: waiting for end of file name (gzip) */ + const COMMENT = 16187; /* i: waiting for end of comment (gzip) */ + const HCRC = 16188; /* i: waiting for header crc (gzip) */ + const DICTID = 16189; /* i: waiting for dictionary check value */ + const DICT = 16190; /* waiting for inflateSetDictionary() call */ + const TYPE = 16191; /* i: waiting for type bits, including last-flag bit */ + const TYPEDO = 16192; /* i: same, but skip check to exit inflate on new block */ + const STORED = 16193; /* i: waiting for stored size (length and complement) */ + const COPY_ = 16194; /* i/o: same as COPY below, but only first time in */ + const COPY = 16195; /* i/o: waiting for input or output to copy stored block */ + const TABLE = 16196; /* i: waiting for dynamic block table lengths */ + const LENLENS = 16197; /* i: waiting for code length code lengths */ + const CODELENS = 16198; /* i: waiting for length/lit and distance code lengths */ + const LEN_ = 16199; /* i: same as LEN below, but only first time in */ + const LEN = 16200; /* i: waiting for length/lit/eob code */ + const LENEXT = 16201; /* i: waiting for length extra bits */ + const DIST = 16202; /* i: waiting for distance code */ + const DISTEXT = 16203; /* i: waiting for distance extra bits */ + const MATCH = 16204; /* o: waiting for output space to copy string */ + const LIT = 16205; /* o: waiting for output space to write literal */ + const CHECK = 16206; /* i: waiting for 32-bit check value */ + const LENGTH = 16207; /* i: waiting for 32-bit length (gzip) */ + const DONE = 16208; /* finished check, done -- remain here until reset */ + const BAD = 16209; /* got a data error -- remain here until reset */ + const MEM = 16210; /* got an inflate() memory error -- remain here until reset */ + const SYNC = 16211; /* looking for synchronization bytes to restart inflate() */ + + /* ===========================================================================*/ + + const ENOUGH_LENS = 852; + const ENOUGH_DISTS = 592; + //const ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS); + + const MAX_WBITS = 15; + /* 32K LZ77 window */ + const DEF_WBITS = MAX_WBITS; + const zswap32 = q => { + return (q >>> 24 & 0xff) + (q >>> 8 & 0xff00) + ((q & 0xff00) << 8) + ((q & 0xff) << 24); + }; + function InflateState() { + this.strm = null; /* pointer back to this zlib stream */ + this.mode = 0; /* current inflate mode */ + this.last = false; /* true if processing last block */ + this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip, + bit 2 true to validate check value */ + this.havedict = false; /* true if dictionary provided */ + this.flags = 0; /* gzip header method and flags (0 if zlib), or + -1 if raw or no header yet */ + this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */ + this.check = 0; /* protected copy of check value */ + this.total = 0; /* protected copy of output count */ + // TODO: may be {} + this.head = null; /* where to save gzip header information */ + + /* sliding window */ + this.wbits = 0; /* log base 2 of requested window size */ + this.wsize = 0; /* window size or zero if not using window */ + this.whave = 0; /* valid bytes in the window */ + this.wnext = 0; /* window write index */ + this.window = null; /* allocated sliding window, if needed */ + + /* bit accumulator */ + this.hold = 0; /* input bit accumulator */ + this.bits = 0; /* number of bits in "in" */ + + /* for string and stored block copying */ + this.length = 0; /* literal or length of data to copy */ + this.offset = 0; /* distance back to copy string from */ + + /* for table and code decoding */ + this.extra = 0; /* extra bits needed */ + + /* fixed and dynamic code tables */ + this.lencode = null; /* starting table for length/literal codes */ + this.distcode = null; /* starting table for distance codes */ + this.lenbits = 0; /* index bits for lencode */ + this.distbits = 0; /* index bits for distcode */ + + /* dynamic table building */ + this.ncode = 0; /* number of code length code lengths */ + this.nlen = 0; /* number of length code lengths */ + this.ndist = 0; /* number of distance code lengths */ + this.have = 0; /* number of code lengths in lens[] */ + this.next = null; /* next available space in codes[] */ + + this.lens = new Uint16Array(320); /* temporary storage for code lengths */ + this.work = new Uint16Array(288); /* work area for code table building */ + + /* + because we don't have pointers in js, we use lencode and distcode directly + as buffers so we don't need codes + */ + //this.codes = new Int32Array(ENOUGH); /* space for code tables */ + this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */ + this.distdyn = null; /* dynamic table for distance codes (JS specific) */ + this.sane = 0; /* if false, allow invalid distance too far */ + this.back = 0; /* bits back of last unprocessed length/lit */ + this.was = 0; /* initial length of match */ + } + const inflateStateCheck = strm => { + if (!strm) { + return 1; + } + const state = strm.state; + if (!state || state.strm !== strm || state.mode < HEAD || state.mode > SYNC) { + return 1; + } + return 0; + }; + const inflateResetKeep = strm => { + if (inflateStateCheck(strm)) { + return Z_STREAM_ERROR$1; + } + const state = strm.state; + strm.total_in = strm.total_out = state.total = 0; + strm.msg = ''; /*Z_NULL*/ + if (state.wrap) { + /* to support ill-conceived Java test suite */ + strm.adler = state.wrap & 1; + } + state.mode = HEAD; + state.last = 0; + state.havedict = 0; + state.flags = -1; + state.dmax = 32768; + state.head = null /*Z_NULL*/; + state.hold = 0; + state.bits = 0; + //state.lencode = state.distcode = state.next = state.codes; + state.lencode = state.lendyn = new Int32Array(ENOUGH_LENS); + state.distcode = state.distdyn = new Int32Array(ENOUGH_DISTS); + state.sane = 1; + state.back = -1; + //Tracev((stderr, "inflate: reset\n")); + return Z_OK$1; + }; + const inflateReset = strm => { + if (inflateStateCheck(strm)) { + return Z_STREAM_ERROR$1; + } + const state = strm.state; + state.wsize = 0; + state.whave = 0; + state.wnext = 0; + return inflateResetKeep(strm); + }; + const inflateReset2 = (strm, windowBits) => { + let wrap; + + /* get the state */ + if (inflateStateCheck(strm)) { + return Z_STREAM_ERROR$1; + } + const state = strm.state; + + /* extract wrap request from windowBits parameter */ + if (windowBits < 0) { + wrap = 0; + windowBits = -windowBits; + } else { + wrap = (windowBits >> 4) + 5; + if (windowBits < 48) { + windowBits &= 15; + } + } + + /* set number of window bits, free window if different */ + if (windowBits && (windowBits < 8 || windowBits > 15)) { + return Z_STREAM_ERROR$1; + } + if (state.window !== null && state.wbits !== windowBits) { + state.window = null; + } + + /* update state and reset the rest of it */ + state.wrap = wrap; + state.wbits = windowBits; + return inflateReset(strm); + }; + const inflateInit2 = (strm, windowBits) => { + if (!strm) { + return Z_STREAM_ERROR$1; + } + //strm.msg = Z_NULL; /* in case we return an error */ + + const state = new InflateState(); + + //if (state === Z_NULL) return Z_MEM_ERROR; + //Tracev((stderr, "inflate: allocated\n")); + strm.state = state; + state.strm = strm; + state.window = null /*Z_NULL*/; + state.mode = HEAD; /* to pass state test in inflateReset2() */ + const ret = inflateReset2(strm, windowBits); + if (ret !== Z_OK$1) { + strm.state = null /*Z_NULL*/; + } + return ret; + }; + const inflateInit = strm => { + return inflateInit2(strm, DEF_WBITS); + }; + + /* + Return state with length and distance decoding tables and index sizes set to + fixed code decoding. Normally this returns fixed tables from inffixed.h. + If BUILDFIXED is defined, then instead this routine builds the tables the + first time it's called, and returns those tables the first time and + thereafter. This reduces the size of the code by about 2K bytes, in + exchange for a little execution time. However, BUILDFIXED should not be + used for threaded applications, since the rewriting of the tables and virgin + may not be thread-safe. + */ + let virgin = true; + let lenfix, distfix; // We have no pointers in JS, so keep tables separate + + const fixedtables = state => { + /* build fixed huffman tables if first call (may not be thread safe) */ + if (virgin) { + lenfix = new Int32Array(512); + distfix = new Int32Array(32); + + /* literal/length table */ + let sym = 0; + while (sym < 144) { + state.lens[sym++] = 8; + } + while (sym < 256) { + state.lens[sym++] = 9; + } + while (sym < 280) { + state.lens[sym++] = 7; + } + while (sym < 288) { + state.lens[sym++] = 8; + } + inftrees(LENS, state.lens, 0, 288, lenfix, 0, state.work, { + bits: 9 + }); + + /* distance table */ + sym = 0; + while (sym < 32) { + state.lens[sym++] = 5; + } + inftrees(DISTS, state.lens, 0, 32, distfix, 0, state.work, { + bits: 5 + }); + + /* do this just once */ + virgin = false; + } + state.lencode = lenfix; + state.lenbits = 9; + state.distcode = distfix; + state.distbits = 5; + }; + + /* + Update the window with the last wsize (normally 32K) bytes written before + returning. If window does not exist yet, create it. This is only called + when a window is already in use, or when output has been written during this + inflate call, but the end of the deflate stream has not been reached yet. + It is also called to create a window for dictionary data when a dictionary + is loaded. + + Providing output buffers larger than 32K to inflate() should provide a speed + advantage, since only the last 32K of output is copied to the sliding window + upon return from inflate(), and since all distances after the first 32K of + output will fall in the output data, making match copies simpler and faster. + The advantage may be dependent on the size of the processor's data caches. + */ + const updatewindow = (strm, src, end, copy) => { + let dist; + const state = strm.state; + + /* if it hasn't been done already, allocate space for the window */ + if (state.window === null) { + state.wsize = 1 << state.wbits; + state.wnext = 0; + state.whave = 0; + state.window = new Uint8Array(state.wsize); + } + + /* copy state->wsize or less output bytes into the circular window */ + if (copy >= state.wsize) { + state.window.set(src.subarray(end - state.wsize, end), 0); + state.wnext = 0; + state.whave = state.wsize; + } else { + dist = state.wsize - state.wnext; + if (dist > copy) { + dist = copy; + } + //zmemcpy(state->window + state->wnext, end - copy, dist); + state.window.set(src.subarray(end - copy, end - copy + dist), state.wnext); + copy -= dist; + if (copy) { + //zmemcpy(state->window, end - copy, copy); + state.window.set(src.subarray(end - copy, end), 0); + state.wnext = copy; + state.whave = state.wsize; + } else { + state.wnext += dist; + if (state.wnext === state.wsize) { + state.wnext = 0; + } + if (state.whave < state.wsize) { + state.whave += dist; + } + } + } + return 0; + }; + const inflate$2 = (strm, flush) => { + let state; + let input, output; // input/output buffers + let next; /* next input INDEX */ + let put; /* next output INDEX */ + let have, left; /* available input and output */ + let hold; /* bit buffer */ + let bits; /* bits in bit buffer */ + let _in, _out; /* save starting available input and output */ + let copy; /* number of stored or match bytes to copy */ + let from; /* where to copy match bytes from */ + let from_source; + let here = 0; /* current decoding table entry */ + let here_bits, here_op, here_val; // paked "here" denormalized (JS specific) + //let last; /* parent table entry */ + let last_bits, last_op, last_val; // paked "last" denormalized (JS specific) + let len; /* length to copy for repeats, bits to drop */ + let ret; /* return code */ + const hbuf = new Uint8Array(4); /* buffer for gzip header crc calculation */ + let opts; + let n; // temporary variable for NEED_BITS + + const order = /* permutation of code lengths */ + new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]); + if (inflateStateCheck(strm) || !strm.output || !strm.input && strm.avail_in !== 0) { + return Z_STREAM_ERROR$1; + } + state = strm.state; + if (state.mode === TYPE) { + state.mode = TYPEDO; + } /* skip check */ + + //--- LOAD() --- + put = strm.next_out; + output = strm.output; + left = strm.avail_out; + next = strm.next_in; + input = strm.input; + have = strm.avail_in; + hold = state.hold; + bits = state.bits; + //--- + + _in = have; + _out = left; + ret = Z_OK$1; + inf_leave: + // goto emulation + for (;;) { + switch (state.mode) { + case HEAD: + if (state.wrap === 0) { + state.mode = TYPEDO; + break; + } + //=== NEEDBITS(16); + while (bits < 16) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.wrap & 2 && hold === 0x8b1f) { + /* gzip header */ + if (state.wbits === 0) { + state.wbits = 15; + } + state.check = 0 /*crc32(0L, Z_NULL, 0)*/; + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = hold >>> 8 & 0xff; + state.check = crc32_1(state.check, hbuf, 2, 0); + //===// + + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = FLAGS; + break; + } + if (state.head) { + state.head.done = false; + } + if (!(state.wrap & 1) || /* check if zlib header allowed */ + (((hold & 0xff /*BITS(8)*/) << 8) + (hold >> 8)) % 31) { + strm.msg = 'incorrect header check'; + state.mode = BAD; + break; + } + if ((hold & 0x0f /*BITS(4)*/) !== Z_DEFLATED) { + strm.msg = 'unknown compression method'; + state.mode = BAD; + break; + } + //--- DROPBITS(4) ---// + hold >>>= 4; + bits -= 4; + //---// + len = (hold & 0x0f /*BITS(4)*/) + 8; + if (state.wbits === 0) { + state.wbits = len; + } + if (len > 15 || len > state.wbits) { + strm.msg = 'invalid window size'; + state.mode = BAD; + break; + } + + // !!! pako patch. Force use `options.windowBits` if passed. + // Required to always use max window size by default. + state.dmax = 1 << state.wbits; + //state.dmax = 1 << len; + + state.flags = 0; /* indicate zlib header */ + //Tracev((stderr, "inflate: zlib header ok\n")); + strm.adler = state.check = 1 /*adler32(0L, Z_NULL, 0)*/; + state.mode = hold & 0x200 ? DICTID : TYPE; + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + break; + case FLAGS: + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.flags = hold; + if ((state.flags & 0xff) !== Z_DEFLATED) { + strm.msg = 'unknown compression method'; + state.mode = BAD; + break; + } + if (state.flags & 0xe000) { + strm.msg = 'unknown header flags set'; + state.mode = BAD; + break; + } + if (state.head) { + state.head.text = hold >> 8 & 1; + } + if (state.flags & 0x0200 && state.wrap & 4) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = hold >>> 8 & 0xff; + state.check = crc32_1(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = TIME; + /* falls through */ + case TIME: + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.head) { + state.head.time = hold; + } + if (state.flags & 0x0200 && state.wrap & 4) { + //=== CRC4(state.check, hold) + hbuf[0] = hold & 0xff; + hbuf[1] = hold >>> 8 & 0xff; + hbuf[2] = hold >>> 16 & 0xff; + hbuf[3] = hold >>> 24 & 0xff; + state.check = crc32_1(state.check, hbuf, 4, 0); + //=== + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = OS; + /* falls through */ + case OS: + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.head) { + state.head.xflags = hold & 0xff; + state.head.os = hold >> 8; + } + if (state.flags & 0x0200 && state.wrap & 4) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = hold >>> 8 & 0xff; + state.check = crc32_1(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = EXLEN; + /* falls through */ + case EXLEN: + if (state.flags & 0x0400) { + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.length = hold; + if (state.head) { + state.head.extra_len = hold; + } + if (state.flags & 0x0200 && state.wrap & 4) { + //=== CRC2(state.check, hold); + hbuf[0] = hold & 0xff; + hbuf[1] = hold >>> 8 & 0xff; + state.check = crc32_1(state.check, hbuf, 2, 0); + //===// + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + } else if (state.head) { + state.head.extra = null /*Z_NULL*/; + } + state.mode = EXTRA; + /* falls through */ + case EXTRA: + if (state.flags & 0x0400) { + copy = state.length; + if (copy > have) { + copy = have; + } + if (copy) { + if (state.head) { + len = state.head.extra_len - state.length; + if (!state.head.extra) { + // Use untyped array for more convenient processing later + state.head.extra = new Uint8Array(state.head.extra_len); + } + state.head.extra.set(input.subarray(next, + // extra field is limited to 65536 bytes + // - no need for additional size check + next + copy), /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/ + len); + //zmemcpy(state.head.extra + len, next, + // len + copy > state.head.extra_max ? + // state.head.extra_max - len : copy); + } + if (state.flags & 0x0200 && state.wrap & 4) { + state.check = crc32_1(state.check, input, copy, next); + } + have -= copy; + next += copy; + state.length -= copy; + } + if (state.length) { + break inf_leave; + } + } + state.length = 0; + state.mode = NAME; + /* falls through */ + case NAME: + if (state.flags & 0x0800) { + if (have === 0) { + break inf_leave; + } + copy = 0; + do { + // TODO: 2 or 1 bytes? + len = input[next + copy++]; + /* use constant limit because in js we should not preallocate memory */ + if (state.head && len && state.length < 65536 /*state.head.name_max*/) { + state.head.name += String.fromCharCode(len); + } + } while (len && copy < have); + if (state.flags & 0x0200 && state.wrap & 4) { + state.check = crc32_1(state.check, input, copy, next); + } + have -= copy; + next += copy; + if (len) { + break inf_leave; + } + } else if (state.head) { + state.head.name = null; + } + state.length = 0; + state.mode = COMMENT; + /* falls through */ + case COMMENT: + if (state.flags & 0x1000) { + if (have === 0) { + break inf_leave; + } + copy = 0; + do { + len = input[next + copy++]; + /* use constant limit because in js we should not preallocate memory */ + if (state.head && len && state.length < 65536 /*state.head.comm_max*/) { + state.head.comment += String.fromCharCode(len); + } + } while (len && copy < have); + if (state.flags & 0x0200 && state.wrap & 4) { + state.check = crc32_1(state.check, input, copy, next); + } + have -= copy; + next += copy; + if (len) { + break inf_leave; + } + } else if (state.head) { + state.head.comment = null; + } + state.mode = HCRC; + /* falls through */ + case HCRC: + if (state.flags & 0x0200) { + //=== NEEDBITS(16); */ + while (bits < 16) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.wrap & 4 && hold !== (state.check & 0xffff)) { + strm.msg = 'header crc mismatch'; + state.mode = BAD; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + } + if (state.head) { + state.head.hcrc = state.flags >> 9 & 1; + state.head.done = true; + } + strm.adler = state.check = 0; + state.mode = TYPE; + break; + case DICTID: + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + strm.adler = state.check = zswap32(hold); + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = DICT; + /* falls through */ + case DICT: + if (state.havedict === 0) { + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + return Z_NEED_DICT$1; + } + strm.adler = state.check = 1 /*adler32(0L, Z_NULL, 0)*/; + state.mode = TYPE; + /* falls through */ + case TYPE: + if (flush === Z_BLOCK || flush === Z_TREES) { + break inf_leave; + } + /* falls through */ + case TYPEDO: + if (state.last) { + //--- BYTEBITS() ---// + hold >>>= bits & 7; + bits -= bits & 7; + //---// + state.mode = CHECK; + break; + } + //=== NEEDBITS(3); */ + while (bits < 3) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.last = hold & 0x01 /*BITS(1)*/; + //--- DROPBITS(1) ---// + hold >>>= 1; + bits -= 1; + //---// + + switch (hold & 0x03 /*BITS(2)*/) { + case 0: + /* stored block */ + //Tracev((stderr, "inflate: stored block%s\n", + // state.last ? " (last)" : "")); + state.mode = STORED; + break; + case 1: + /* fixed block */ + fixedtables(state); + //Tracev((stderr, "inflate: fixed codes block%s\n", + // state.last ? " (last)" : "")); + state.mode = LEN_; /* decode codes */ + if (flush === Z_TREES) { + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + break inf_leave; + } + break; + case 2: + /* dynamic block */ + //Tracev((stderr, "inflate: dynamic codes block%s\n", + // state.last ? " (last)" : "")); + state.mode = TABLE; + break; + case 3: + strm.msg = 'invalid block type'; + state.mode = BAD; + } + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + break; + case STORED: + //--- BYTEBITS() ---// /* go to byte boundary */ + hold >>>= bits & 7; + bits -= bits & 7; + //---// + //=== NEEDBITS(32); */ + while (bits < 32) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if ((hold & 0xffff) !== (hold >>> 16 ^ 0xffff)) { + strm.msg = 'invalid stored block lengths'; + state.mode = BAD; + break; + } + state.length = hold & 0xffff; + //Tracev((stderr, "inflate: stored length %u\n", + // state.length)); + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + state.mode = COPY_; + if (flush === Z_TREES) { + break inf_leave; + } + /* falls through */ + case COPY_: + state.mode = COPY; + /* falls through */ + case COPY: + copy = state.length; + if (copy) { + if (copy > have) { + copy = have; + } + if (copy > left) { + copy = left; + } + if (copy === 0) { + break inf_leave; + } + //--- zmemcpy(put, next, copy); --- + output.set(input.subarray(next, next + copy), put); + //---// + have -= copy; + next += copy; + left -= copy; + put += copy; + state.length -= copy; + break; + } + //Tracev((stderr, "inflate: stored end\n")); + state.mode = TYPE; + break; + case TABLE: + //=== NEEDBITS(14); */ + while (bits < 14) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.nlen = (hold & 0x1f /*BITS(5)*/) + 257; + //--- DROPBITS(5) ---// + hold >>>= 5; + bits -= 5; + //---// + state.ndist = (hold & 0x1f /*BITS(5)*/) + 1; + //--- DROPBITS(5) ---// + hold >>>= 5; + bits -= 5; + //---// + state.ncode = (hold & 0x0f /*BITS(4)*/) + 4; + //--- DROPBITS(4) ---// + hold >>>= 4; + bits -= 4; + //---// + //#ifndef PKZIP_BUG_WORKAROUND + if (state.nlen > 286 || state.ndist > 30) { + strm.msg = 'too many length or distance symbols'; + state.mode = BAD; + break; + } + //#endif + //Tracev((stderr, "inflate: table sizes ok\n")); + state.have = 0; + state.mode = LENLENS; + /* falls through */ + case LENLENS: + while (state.have < state.ncode) { + //=== NEEDBITS(3); + while (bits < 3) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.lens[order[state.have++]] = hold & 0x07; //BITS(3); + //--- DROPBITS(3) ---// + hold >>>= 3; + bits -= 3; + //---// + } + while (state.have < 19) { + state.lens[order[state.have++]] = 0; + } + // We have separate tables & no pointers. 2 commented lines below not needed. + //state.next = state.codes; + //state.lencode = state.next; + // Switch to use dynamic table + state.lencode = state.lendyn; + state.lenbits = 7; + opts = { + bits: state.lenbits + }; + ret = inftrees(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts); + state.lenbits = opts.bits; + if (ret) { + strm.msg = 'invalid code lengths set'; + state.mode = BAD; + break; + } + //Tracev((stderr, "inflate: code lengths ok\n")); + state.have = 0; + state.mode = CODELENS; + /* falls through */ + case CODELENS: + while (state.have < state.nlen + state.ndist) { + for (;;) { + here = state.lencode[hold & (1 << state.lenbits) - 1]; /*BITS(state.lenbits)*/ + here_bits = here >>> 24; + here_op = here >>> 16 & 0xff; + here_val = here & 0xffff; + if (here_bits <= bits) { + break; + } + //--- PULLBYTE() ---// + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if (here_val < 16) { + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.lens[state.have++] = here_val; + } else { + if (here_val === 16) { + //=== NEEDBITS(here.bits + 2); + n = here_bits + 2; + while (bits < n) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + if (state.have === 0) { + strm.msg = 'invalid bit length repeat'; + state.mode = BAD; + break; + } + len = state.lens[state.have - 1]; + copy = 3 + (hold & 0x03); //BITS(2); + //--- DROPBITS(2) ---// + hold >>>= 2; + bits -= 2; + //---// + } else if (here_val === 17) { + //=== NEEDBITS(here.bits + 3); + n = here_bits + 3; + while (bits < n) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + len = 0; + copy = 3 + (hold & 0x07); //BITS(3); + //--- DROPBITS(3) ---// + hold >>>= 3; + bits -= 3; + //---// + } else { + //=== NEEDBITS(here.bits + 7); + n = here_bits + 7; + while (bits < n) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + len = 0; + copy = 11 + (hold & 0x7f); //BITS(7); + //--- DROPBITS(7) ---// + hold >>>= 7; + bits -= 7; + //---// + } + if (state.have + copy > state.nlen + state.ndist) { + strm.msg = 'invalid bit length repeat'; + state.mode = BAD; + break; + } + while (copy--) { + state.lens[state.have++] = len; + } + } + } + + /* handle error breaks in while */ + if (state.mode === BAD) { + break; + } + + /* check for end-of-block code (better have one) */ + if (state.lens[256] === 0) { + strm.msg = 'invalid code -- missing end-of-block'; + state.mode = BAD; + break; + } + + /* build code tables -- note: do not change the lenbits or distbits + values here (9 and 6) without reading the comments in inftrees.h + concerning the ENOUGH constants, which depend on those values */ + state.lenbits = 9; + opts = { + bits: state.lenbits + }; + ret = inftrees(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts); + // We have separate tables & no pointers. 2 commented lines below not needed. + // state.next_index = opts.table_index; + state.lenbits = opts.bits; + // state.lencode = state.next; + + if (ret) { + strm.msg = 'invalid literal/lengths set'; + state.mode = BAD; + break; + } + state.distbits = 6; + //state.distcode.copy(state.codes); + // Switch to use dynamic table + state.distcode = state.distdyn; + opts = { + bits: state.distbits + }; + ret = inftrees(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts); + // We have separate tables & no pointers. 2 commented lines below not needed. + // state.next_index = opts.table_index; + state.distbits = opts.bits; + // state.distcode = state.next; + + if (ret) { + strm.msg = 'invalid distances set'; + state.mode = BAD; + break; + } + //Tracev((stderr, 'inflate: codes ok\n')); + state.mode = LEN_; + if (flush === Z_TREES) { + break inf_leave; + } + /* falls through */ + case LEN_: + state.mode = LEN; + /* falls through */ + case LEN: + if (have >= 6 && left >= 258) { + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + inffast(strm, _out); + //--- LOAD() --- + put = strm.next_out; + output = strm.output; + left = strm.avail_out; + next = strm.next_in; + input = strm.input; + have = strm.avail_in; + hold = state.hold; + bits = state.bits; + //--- + + if (state.mode === TYPE) { + state.back = -1; + } + break; + } + state.back = 0; + for (;;) { + here = state.lencode[hold & (1 << state.lenbits) - 1]; /*BITS(state.lenbits)*/ + here_bits = here >>> 24; + here_op = here >>> 16 & 0xff; + here_val = here & 0xffff; + if (here_bits <= bits) { + break; + } + //--- PULLBYTE() ---// + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if (here_op && (here_op & 0xf0) === 0) { + last_bits = here_bits; + last_op = here_op; + last_val = here_val; + for (;;) { + here = state.lencode[last_val + ((hold & (1 << last_bits + last_op) - 1 /*BITS(last.bits + last.op)*/) >> last_bits)]; + here_bits = here >>> 24; + here_op = here >>> 16 & 0xff; + here_val = here & 0xffff; + if (last_bits + here_bits <= bits) { + break; + } + //--- PULLBYTE() ---// + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + //--- DROPBITS(last.bits) ---// + hold >>>= last_bits; + bits -= last_bits; + //---// + state.back += last_bits; + } + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.back += here_bits; + state.length = here_val; + if (here_op === 0) { + //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ? + // "inflate: literal '%c'\n" : + // "inflate: literal 0x%02x\n", here.val)); + state.mode = LIT; + break; + } + if (here_op & 32) { + //Tracevv((stderr, "inflate: end of block\n")); + state.back = -1; + state.mode = TYPE; + break; + } + if (here_op & 64) { + strm.msg = 'invalid literal/length code'; + state.mode = BAD; + break; + } + state.extra = here_op & 15; + state.mode = LENEXT; + /* falls through */ + case LENEXT: + if (state.extra) { + //=== NEEDBITS(state.extra); + n = state.extra; + while (bits < n) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.length += hold & (1 << state.extra) - 1 /*BITS(state.extra)*/; + //--- DROPBITS(state.extra) ---// + hold >>>= state.extra; + bits -= state.extra; + //---// + state.back += state.extra; + } + //Tracevv((stderr, "inflate: length %u\n", state.length)); + state.was = state.length; + state.mode = DIST; + /* falls through */ + case DIST: + for (;;) { + here = state.distcode[hold & (1 << state.distbits) - 1]; /*BITS(state.distbits)*/ + here_bits = here >>> 24; + here_op = here >>> 16 & 0xff; + here_val = here & 0xffff; + if (here_bits <= bits) { + break; + } + //--- PULLBYTE() ---// + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + if ((here_op & 0xf0) === 0) { + last_bits = here_bits; + last_op = here_op; + last_val = here_val; + for (;;) { + here = state.distcode[last_val + ((hold & (1 << last_bits + last_op) - 1 /*BITS(last.bits + last.op)*/) >> last_bits)]; + here_bits = here >>> 24; + here_op = here >>> 16 & 0xff; + here_val = here & 0xffff; + if (last_bits + here_bits <= bits) { + break; + } + //--- PULLBYTE() ---// + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + //---// + } + //--- DROPBITS(last.bits) ---// + hold >>>= last_bits; + bits -= last_bits; + //---// + state.back += last_bits; + } + //--- DROPBITS(here.bits) ---// + hold >>>= here_bits; + bits -= here_bits; + //---// + state.back += here_bits; + if (here_op & 64) { + strm.msg = 'invalid distance code'; + state.mode = BAD; + break; + } + state.offset = here_val; + state.extra = here_op & 15; + state.mode = DISTEXT; + /* falls through */ + case DISTEXT: + if (state.extra) { + //=== NEEDBITS(state.extra); + n = state.extra; + while (bits < n) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + state.offset += hold & (1 << state.extra) - 1 /*BITS(state.extra)*/; + //--- DROPBITS(state.extra) ---// + hold >>>= state.extra; + bits -= state.extra; + //---// + state.back += state.extra; + } + //#ifdef INFLATE_STRICT + if (state.offset > state.dmax) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD; + break; + } + //#endif + //Tracevv((stderr, "inflate: distance %u\n", state.offset)); + state.mode = MATCH; + /* falls through */ + case MATCH: + if (left === 0) { + break inf_leave; + } + copy = _out - left; + if (state.offset > copy) { + /* copy from window */ + copy = state.offset - copy; + if (copy > state.whave) { + if (state.sane) { + strm.msg = 'invalid distance too far back'; + state.mode = BAD; + break; + } + // (!) This block is disabled in zlib defaults, + // don't enable it for binary compatibility + //#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR + // Trace((stderr, "inflate.c too far\n")); + // copy -= state.whave; + // if (copy > state.length) { copy = state.length; } + // if (copy > left) { copy = left; } + // left -= copy; + // state.length -= copy; + // do { + // output[put++] = 0; + // } while (--copy); + // if (state.length === 0) { state.mode = LEN; } + // break; + //#endif + } + if (copy > state.wnext) { + copy -= state.wnext; + from = state.wsize - copy; + } else { + from = state.wnext - copy; + } + if (copy > state.length) { + copy = state.length; + } + from_source = state.window; + } else { + /* copy from output */ + from_source = output; + from = put - state.offset; + copy = state.length; + } + if (copy > left) { + copy = left; + } + left -= copy; + state.length -= copy; + do { + output[put++] = from_source[from++]; + } while (--copy); + if (state.length === 0) { + state.mode = LEN; + } + break; + case LIT: + if (left === 0) { + break inf_leave; + } + output[put++] = state.length; + left--; + state.mode = LEN; + break; + case CHECK: + if (state.wrap) { + //=== NEEDBITS(32); + while (bits < 32) { + if (have === 0) { + break inf_leave; + } + have--; + // Use '|' instead of '+' to make sure that result is signed + hold |= input[next++] << bits; + bits += 8; + } + //===// + _out -= left; + strm.total_out += _out; + state.total += _out; + if (state.wrap & 4 && _out) { + strm.adler = state.check = /*UPDATE_CHECK(state.check, put - _out, _out);*/ + state.flags ? crc32_1(state.check, output, _out, put - _out) : adler32_1(state.check, output, _out, put - _out); + } + _out = left; + // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too + if (state.wrap & 4 && (state.flags ? hold : zswap32(hold)) !== state.check) { + strm.msg = 'incorrect data check'; + state.mode = BAD; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + //Tracev((stderr, "inflate: check matches trailer\n")); + } + state.mode = LENGTH; + /* falls through */ + case LENGTH: + if (state.wrap && state.flags) { + //=== NEEDBITS(32); + while (bits < 32) { + if (have === 0) { + break inf_leave; + } + have--; + hold += input[next++] << bits; + bits += 8; + } + //===// + if (state.wrap & 4 && hold !== (state.total & 0xffffffff)) { + strm.msg = 'incorrect length check'; + state.mode = BAD; + break; + } + //=== INITBITS(); + hold = 0; + bits = 0; + //===// + //Tracev((stderr, "inflate: length matches trailer\n")); + } + state.mode = DONE; + /* falls through */ + case DONE: + ret = Z_STREAM_END$1; + break inf_leave; + case BAD: + ret = Z_DATA_ERROR$1; + break inf_leave; + case MEM: + return Z_MEM_ERROR$1; + case SYNC: + /* falls through */ + default: + return Z_STREAM_ERROR$1; + } + } + + // inf_leave <- here is real place for "goto inf_leave", emulated via "break inf_leave" + + /* + Return from inflate(), updating the total counts and the check value. + If there was no progress during the inflate() call, return a buffer + error. Call updatewindow() to create and/or update the window state. + Note: a memory error from inflate() is non-recoverable. + */ + + //--- RESTORE() --- + strm.next_out = put; + strm.avail_out = left; + strm.next_in = next; + strm.avail_in = have; + state.hold = hold; + state.bits = bits; + //--- + + if (state.wsize || _out !== strm.avail_out && state.mode < BAD && (state.mode < CHECK || flush !== Z_FINISH$1)) { + if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) ; + } + _in -= strm.avail_in; + _out -= strm.avail_out; + strm.total_in += _in; + strm.total_out += _out; + state.total += _out; + if (state.wrap & 4 && _out) { + strm.adler = state.check = /*UPDATE_CHECK(state.check, strm.next_out - _out, _out);*/ + state.flags ? crc32_1(state.check, output, _out, strm.next_out - _out) : adler32_1(state.check, output, _out, strm.next_out - _out); + } + strm.data_type = state.bits + (state.last ? 64 : 0) + (state.mode === TYPE ? 128 : 0) + (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0); + if ((_in === 0 && _out === 0 || flush === Z_FINISH$1) && ret === Z_OK$1) { + ret = Z_BUF_ERROR; + } + return ret; + }; + const inflateEnd = strm => { + if (inflateStateCheck(strm)) { + return Z_STREAM_ERROR$1; + } + let state = strm.state; + if (state.window) { + state.window = null; + } + strm.state = null; + return Z_OK$1; + }; + const inflateGetHeader = (strm, head) => { + /* check state */ + if (inflateStateCheck(strm)) { + return Z_STREAM_ERROR$1; + } + const state = strm.state; + if ((state.wrap & 2) === 0) { + return Z_STREAM_ERROR$1; + } + + /* save header structure */ + state.head = head; + head.done = false; + return Z_OK$1; + }; + const inflateSetDictionary = (strm, dictionary) => { + const dictLength = dictionary.length; + let state; + let dictid; + let ret; + + /* check state */ + if (inflateStateCheck(strm)) { + return Z_STREAM_ERROR$1; + } + state = strm.state; + if (state.wrap !== 0 && state.mode !== DICT) { + return Z_STREAM_ERROR$1; + } + + /* check for correct dictionary identifier */ + if (state.mode === DICT) { + dictid = 1; /* adler32(0, null, 0)*/ + /* dictid = adler32(dictid, dictionary, dictLength); */ + dictid = adler32_1(dictid, dictionary, dictLength, 0); + if (dictid !== state.check) { + return Z_DATA_ERROR$1; + } + } + /* copy dictionary to window using updatewindow(), which will amend the + existing dictionary if appropriate */ + ret = updatewindow(strm, dictionary, dictLength, dictLength); + if (ret) { + state.mode = MEM; + return Z_MEM_ERROR$1; + } + state.havedict = 1; + // Tracev((stderr, "inflate: dictionary set\n")); + return Z_OK$1; + }; + var inflateReset_1 = inflateReset; + var inflateReset2_1 = inflateReset2; + var inflateResetKeep_1 = inflateResetKeep; + var inflateInit_1 = inflateInit; + var inflateInit2_1 = inflateInit2; + var inflate_2$1 = inflate$2; + var inflateEnd_1 = inflateEnd; + var inflateGetHeader_1 = inflateGetHeader; + var inflateSetDictionary_1 = inflateSetDictionary; + var inflateInfo = 'pako inflate (from Nodeca project)'; + + /* Not implemented + module.exports.inflateCodesUsed = inflateCodesUsed; + module.exports.inflateCopy = inflateCopy; + module.exports.inflateGetDictionary = inflateGetDictionary; + module.exports.inflateMark = inflateMark; + module.exports.inflatePrime = inflatePrime; + module.exports.inflateSync = inflateSync; + module.exports.inflateSyncPoint = inflateSyncPoint; + module.exports.inflateUndermine = inflateUndermine; + module.exports.inflateValidate = inflateValidate; + */ + + var inflate_1$2 = { + inflateReset: inflateReset_1, + inflateReset2: inflateReset2_1, + inflateResetKeep: inflateResetKeep_1, + inflateInit: inflateInit_1, + inflateInit2: inflateInit2_1, + inflate: inflate_2$1, + inflateEnd: inflateEnd_1, + inflateGetHeader: inflateGetHeader_1, + inflateSetDictionary: inflateSetDictionary_1, + inflateInfo: inflateInfo + }; + + // (C) 1995-2013 Jean-loup Gailly and Mark Adler + // (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin + // + // This software is provided 'as-is', without any express or implied + // warranty. In no event will the authors be held liable for any damages + // arising from the use of this software. + // + // Permission is granted to anyone to use this software for any purpose, + // including commercial applications, and to alter it and redistribute it + // freely, subject to the following restrictions: + // + // 1. The origin of this software must not be misrepresented; you must not + // claim that you wrote the original software. If you use this software + // in a product, an acknowledgment in the product documentation would be + // appreciated but is not required. + // 2. Altered source versions must be plainly marked as such, and must not be + // misrepresented as being the original software. + // 3. This notice may not be removed or altered from any source distribution. + + function GZheader() { + /* true if compressed data believed to be text */ + this.text = 0; + /* modification time */ + this.time = 0; + /* extra flags (not used when writing a gzip file) */ + this.xflags = 0; + /* operating system */ + this.os = 0; + /* pointer to extra field or Z_NULL if none */ + this.extra = null; + /* extra field length (valid if extra != Z_NULL) */ + this.extra_len = 0; // Actually, we don't need it in JS, + // but leave for few code modifications + + // + // Setup limits is not necessary because in js we should not preallocate memory + // for inflate use constant limit in 65536 bytes + // + + /* space at extra (only when reading header) */ + // this.extra_max = 0; + /* pointer to zero-terminated file name or Z_NULL */ + this.name = ''; + /* space at name (only when reading header) */ + // this.name_max = 0; + /* pointer to zero-terminated comment or Z_NULL */ + this.comment = ''; + /* space at comment (only when reading header) */ + // this.comm_max = 0; + /* true if there was or will be a header crc */ + this.hcrc = 0; + /* true when done reading gzip header (not used when writing a gzip file) */ + this.done = false; + } + var gzheader = GZheader; + const toString = Object.prototype.toString; + + /* Public constants ==========================================================*/ + /* ===========================================================================*/ + + const { + Z_NO_FLUSH, + Z_FINISH, + Z_OK, + Z_STREAM_END, + Z_NEED_DICT, + Z_STREAM_ERROR, + Z_DATA_ERROR, + Z_MEM_ERROR + } = constants$2; + + /* ===========================================================================*/ + + /** + * class Inflate + * + * Generic JS-style wrapper for zlib calls. If you don't need + * streaming behaviour - use more simple functions: [[inflate]] + * and [[inflateRaw]]. + **/ + + /* internal + * inflate.chunks -> Array + * + * Chunks of output data, if [[Inflate#onData]] not overridden. + **/ + + /** + * Inflate.result -> Uint8Array|String + * + * Uncompressed result, generated by default [[Inflate#onData]] + * and [[Inflate#onEnd]] handlers. Filled after you push last chunk + * (call [[Inflate#push]] with `Z_FINISH` / `true` param). + **/ + + /** + * Inflate.err -> Number + * + * Error code after inflate finished. 0 (Z_OK) on success. + * Should be checked if broken data possible. + **/ + + /** + * Inflate.msg -> String + * + * Error message, if [[Inflate.err]] != 0 + **/ + + /** + * new Inflate(options) + * - options (Object): zlib inflate options. + * + * Creates new inflator instance with specified params. Throws exception + * on bad params. Supported options: + * + * - `windowBits` + * - `dictionary` + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information on these. + * + * Additional options, for internal needs: + * + * - `chunkSize` - size of generated data chunks (16K by default) + * - `raw` (Boolean) - do raw inflate + * - `to` (String) - if equal to 'string', then result will be converted + * from utf8 to utf16 (javascript) string. When string output requested, + * chunk length can differ from `chunkSize`, depending on content. + * + * By default, when no options set, autodetect deflate/gzip data format via + * wrapper header. + * + * ##### Example: + * + * ```javascript + * const pako = require('pako') + * const chunk1 = new Uint8Array([1,2,3,4,5,6,7,8,9]) + * const chunk2 = new Uint8Array([10,11,12,13,14,15,16,17,18,19]); + * + * const inflate = new pako.Inflate({ level: 3}); + * + * inflate.push(chunk1, false); + * inflate.push(chunk2, true); // true -> last chunk + * + * if (inflate.err) { throw new Error(inflate.err); } + * + * console.log(inflate.result); + * ``` + **/ + function Inflate$1(options) { + this.options = common.assign({ + chunkSize: 1024 * 64, + windowBits: 15, + to: '' + }, options || {}); + const opt = this.options; + + // Force window size for `raw` data, if not set directly, + // because we have no header for autodetect. + if (opt.raw && opt.windowBits >= 0 && opt.windowBits < 16) { + opt.windowBits = -opt.windowBits; + if (opt.windowBits === 0) { + opt.windowBits = -15; + } + } + + // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate + if (opt.windowBits >= 0 && opt.windowBits < 16 && !(options && options.windowBits)) { + opt.windowBits += 32; + } + + // Gzip header has no info about windows size, we can do autodetect only + // for deflate. So, if window size not set, force it to max when gzip possible + if (opt.windowBits > 15 && opt.windowBits < 48) { + // bit 3 (16) -> gzipped data + // bit 4 (32) -> autodetect gzip/deflate + if ((opt.windowBits & 15) === 0) { + opt.windowBits |= 15; + } + } + this.err = 0; // error code, if happens (0 = Z_OK) + this.msg = ''; // error message + this.ended = false; // used to avoid multiple onEnd() calls + this.chunks = []; // chunks of compressed data + + this.strm = new zstream(); + this.strm.avail_out = 0; + let status = inflate_1$2.inflateInit2(this.strm, opt.windowBits); + if (status !== Z_OK) { + throw new Error(messages[status]); + } + this.header = new gzheader(); + inflate_1$2.inflateGetHeader(this.strm, this.header); + + // Setup dictionary + if (opt.dictionary) { + // Convert data if needed + if (typeof opt.dictionary === 'string') { + opt.dictionary = strings.string2buf(opt.dictionary); + } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') { + opt.dictionary = new Uint8Array(opt.dictionary); + } + if (opt.raw) { + //In raw mode we need to set the dictionary early + status = inflate_1$2.inflateSetDictionary(this.strm, opt.dictionary); + if (status !== Z_OK) { + throw new Error(messages[status]); + } + } + } + } + + /** + * Inflate#push(data[, flush_mode]) -> Boolean + * - data (Uint8Array|ArrayBuffer): input data + * - flush_mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE + * flush modes. See constants. Skipped or `false` means Z_NO_FLUSH, + * `true` means Z_FINISH. + * + * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with + * new output chunks. Returns `true` on success. If end of stream detected, + * [[Inflate#onEnd]] will be called. + * + * `flush_mode` is not needed for normal operation, because end of stream + * detected automatically. You may try to use it for advanced things, but + * this functionality was not tested. + * + * On fail call [[Inflate#onEnd]] with error code and return false. + * + * ##### Example + * + * ```javascript + * push(chunk, false); // push one of data chunks + * ... + * push(chunk, true); // push last chunk + * ``` + **/ + Inflate$1.prototype.push = function (data, flush_mode) { + const strm = this.strm; + const chunkSize = this.options.chunkSize; + const dictionary = this.options.dictionary; + let status, _flush_mode, last_avail_out; + if (this.ended) return false; + if (flush_mode === ~~flush_mode) _flush_mode = flush_mode;else _flush_mode = flush_mode === true ? Z_FINISH : Z_NO_FLUSH; + + // Convert data if needed + if (toString.call(data) === '[object ArrayBuffer]') { + strm.input = new Uint8Array(data); + } else { + strm.input = data; + } + strm.next_in = 0; + strm.avail_in = strm.input.length; + for (;;) { + if (strm.avail_out === 0) { + strm.output = new Uint8Array(chunkSize); + strm.next_out = 0; + strm.avail_out = chunkSize; + } + status = inflate_1$2.inflate(strm, _flush_mode); + if (status === Z_NEED_DICT && dictionary) { + status = inflate_1$2.inflateSetDictionary(strm, dictionary); + if (status === Z_OK) { + status = inflate_1$2.inflate(strm, _flush_mode); + } else if (status === Z_DATA_ERROR) { + // Replace code with more verbose + status = Z_NEED_DICT; + } + } + + // Skip snyc markers if more data follows and not raw mode + while (strm.avail_in > 0 && status === Z_STREAM_END && strm.state.wrap > 0 && data[strm.next_in] !== 0) { + inflate_1$2.inflateReset(strm); + status = inflate_1$2.inflate(strm, _flush_mode); + } + switch (status) { + case Z_STREAM_ERROR: + case Z_DATA_ERROR: + case Z_NEED_DICT: + case Z_MEM_ERROR: + this.onEnd(status); + this.ended = true; + return false; + } + + // Remember real `avail_out` value, because we may patch out buffer content + // to align utf8 strings boundaries. + last_avail_out = strm.avail_out; + if (strm.next_out) { + if (strm.avail_out === 0 || status === Z_STREAM_END) { + if (this.options.to === 'string') { + let next_out_utf8 = strings.utf8border(strm.output, strm.next_out); + let tail = strm.next_out - next_out_utf8; + let utf8str = strings.buf2string(strm.output, next_out_utf8); + + // move tail & realign counters + strm.next_out = tail; + strm.avail_out = chunkSize - tail; + if (tail) strm.output.set(strm.output.subarray(next_out_utf8, next_out_utf8 + tail), 0); + this.onData(utf8str); + } else { + this.onData(strm.output.length === strm.next_out ? strm.output : strm.output.subarray(0, strm.next_out)); + } + } + } + + // Must repeat iteration if out buffer is full + if (status === Z_OK && last_avail_out === 0) continue; + + // Finalize if end of stream reached. + if (status === Z_STREAM_END) { + status = inflate_1$2.inflateEnd(this.strm); + this.onEnd(status); + this.ended = true; + return true; + } + if (strm.avail_in === 0) break; + } + return true; + }; + + /** + * Inflate#onData(chunk) -> Void + * - chunk (Uint8Array|String): output data. When string output requested, + * each chunk will be string. + * + * By default, stores data blocks in `chunks[]` property and glue + * those in `onEnd`. Override this handler, if you need another behaviour. + **/ + Inflate$1.prototype.onData = function (chunk) { + this.chunks.push(chunk); + }; + + /** + * Inflate#onEnd(status) -> Void + * - status (Number): inflate status. 0 (Z_OK) on success, + * other if not. + * + * Called either after you tell inflate that the input stream is + * complete (Z_FINISH). By default - join collected chunks, + * free memory and fill `results` / `err` properties. + **/ + Inflate$1.prototype.onEnd = function (status) { + // On success - join + if (status === Z_OK) { + if (this.options.to === 'string') { + this.result = this.chunks.join(''); + } else { + this.result = common.flattenChunks(this.chunks); + } + } + this.chunks = []; + this.err = status; + this.msg = this.strm.msg; + }; + + /** + * inflate(data[, options]) -> Uint8Array|String + * - data (Uint8Array|ArrayBuffer): input data to decompress. + * - options (Object): zlib inflate options. + * + * Decompress `data` with inflate/ungzip and `options`. Autodetect + * format via wrapper header by default. That's why we don't provide + * separate `ungzip` method. + * + * Supported options are: + * + * - windowBits + * + * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced) + * for more information. + * + * Sugar (options): + * + * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify + * negative windowBits implicitly. + * - `to` (String) - if equal to 'string', then result will be converted + * from utf8 to utf16 (javascript) string. When string output requested, + * chunk length can differ from `chunkSize`, depending on content. + * + * + * ##### Example: + * + * ```javascript + * const pako = require('pako'); + * const input = pako.deflate(new Uint8Array([1,2,3,4,5,6,7,8,9])); + * let output; + * + * try { + * output = pako.inflate(input); + * } catch (err) { + * console.log(err); + * } + * ``` + **/ + function inflate$1(input, options) { + const inflator = new Inflate$1(options); + inflator.push(input); + + // That will never happens, if you don't cheat with options :) + if (inflator.err) throw inflator.msg || messages[inflator.err]; + return inflator.result; + } + + /** + * inflateRaw(data[, options]) -> Uint8Array|String + * - data (Uint8Array|ArrayBuffer): input data to decompress. + * - options (Object): zlib inflate options. + * + * The same as [[inflate]], but creates raw data, without wrapper + * (header and adler32 crc). + **/ + function inflateRaw$1(input, options) { + options = options || {}; + options.raw = true; + return inflate$1(input, options); + } + + /** + * ungzip(data[, options]) -> Uint8Array|String + * - data (Uint8Array|ArrayBuffer): input data to decompress. + * - options (Object): zlib inflate options. + * + * Just shortcut to [[inflate]], because it autodetects format + * by header.content. Done for convenience. + **/ + + var Inflate_1$1 = Inflate$1; + var inflate_2 = inflate$1; + var inflateRaw_1$1 = inflateRaw$1; + var ungzip$1 = inflate$1; + var constants = constants$2; + var inflate_1$1 = { + Inflate: Inflate_1$1, + inflate: inflate_2, + inflateRaw: inflateRaw_1$1, + ungzip: ungzip$1, + constants: constants + }; + const { + Inflate, + inflate, + inflateRaw, + ungzip + } = inflate_1$1; + var Inflate_1 = Inflate; + var inflate_1 = inflate; + + const crcTable = []; + for (let n = 0; n < 256; n++) { + let c = n; + for (let k = 0; k < 8; k++) { + if (c & 1) { + c = 0xedb88320 ^ c >>> 1; + } else { + c = c >>> 1; + } + } + crcTable[n] = c; + } + const initialCrc = 0xffffffff; + function updateCrc(currentCrc, data, length) { + let c = currentCrc; + for (let n = 0; n < length; n++) { + c = crcTable[(c ^ data[n]) & 0xff] ^ c >>> 8; + } + return c; + } + function crc(data, length) { + return (updateCrc(initialCrc, data, length) ^ initialCrc) >>> 0; + } + function checkCrc(buffer, crcLength, chunkName) { + const expectedCrc = buffer.readUint32(); + const actualCrc = crc(new Uint8Array(buffer.buffer, buffer.byteOffset + buffer.offset - crcLength - 4, crcLength), crcLength); // "- 4" because we already advanced by reading the CRC + if (actualCrc !== expectedCrc) { + throw new Error(`CRC mismatch for chunk ${chunkName}. Expected ${expectedCrc}, found ${actualCrc}`); + } + } + + function unfilterNone(currentLine, newLine, bytesPerLine) { + for (let i = 0; i < bytesPerLine; i++) { + newLine[i] = currentLine[i]; + } + } + function unfilterSub(currentLine, newLine, bytesPerLine, bytesPerPixel) { + let i = 0; + for (; i < bytesPerPixel; i++) { + // just copy first bytes + newLine[i] = currentLine[i]; + } + for (; i < bytesPerLine; i++) { + newLine[i] = currentLine[i] + newLine[i - bytesPerPixel] & 0xff; + } + } + function unfilterUp(currentLine, newLine, prevLine, bytesPerLine) { + let i = 0; + if (prevLine.length === 0) { + // just copy bytes for first line + for (; i < bytesPerLine; i++) { + newLine[i] = currentLine[i]; + } + } else { + for (; i < bytesPerLine; i++) { + newLine[i] = currentLine[i] + prevLine[i] & 0xff; + } + } + } + function unfilterAverage(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel) { + let i = 0; + if (prevLine.length === 0) { + for (; i < bytesPerPixel; i++) { + newLine[i] = currentLine[i]; + } + for (; i < bytesPerLine; i++) { + newLine[i] = currentLine[i] + (newLine[i - bytesPerPixel] >> 1) & 0xff; + } + } else { + for (; i < bytesPerPixel; i++) { + newLine[i] = currentLine[i] + (prevLine[i] >> 1) & 0xff; + } + for (; i < bytesPerLine; i++) { + newLine[i] = currentLine[i] + (newLine[i - bytesPerPixel] + prevLine[i] >> 1) & 0xff; + } + } + } + function unfilterPaeth(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel) { + let i = 0; + if (prevLine.length === 0) { + for (; i < bytesPerPixel; i++) { + newLine[i] = currentLine[i]; + } + for (; i < bytesPerLine; i++) { + newLine[i] = currentLine[i] + newLine[i - bytesPerPixel] & 0xff; + } + } else { + for (; i < bytesPerPixel; i++) { + newLine[i] = currentLine[i] + prevLine[i] & 0xff; + } + for (; i < bytesPerLine; i++) { + newLine[i] = currentLine[i] + paethPredictor$1(newLine[i - bytesPerPixel], prevLine[i], prevLine[i - bytesPerPixel]) & 0xff; + } + } + } + function paethPredictor$1(a, b, c) { + const p = a + b - c; + const pa = Math.abs(p - a); + const pb = Math.abs(p - b); + const pc = Math.abs(p - c); + if (pa <= pb && pa <= pc) return a;else if (pb <= pc) return b;else return c; + } + + /** + * Apllies filter on scanline based on the filter type. + * @param filterType - The filter type to apply. + * @param currentLine - The current line of pixel data. + * @param newLine - The new line of pixel data. + * @param prevLine - The previous line of pixel data. + * @param passLineBytes - The number of bytes in the pass line. + * @param bytesPerPixel - The number of bytes per pixel. + */ + function applyUnfilter(filterType, currentLine, newLine, prevLine, passLineBytes, bytesPerPixel) { + switch (filterType) { + case 0: + unfilterNone(currentLine, newLine, passLineBytes); + break; + case 1: + unfilterSub(currentLine, newLine, passLineBytes, bytesPerPixel); + break; + case 2: + unfilterUp(currentLine, newLine, prevLine, passLineBytes); + break; + case 3: + unfilterAverage(currentLine, newLine, prevLine, passLineBytes, bytesPerPixel); + break; + case 4: + unfilterPaeth(currentLine, newLine, prevLine, passLineBytes, bytesPerPixel); + break; + default: + throw new Error(`Unsupported filter: ${filterType}`); + } + } + + const uint16$1 = new Uint16Array([0x00ff]); + const uint8$1 = new Uint8Array(uint16$1.buffer); + const osIsLittleEndian$1 = uint8$1[0] === 0xff; + /** + * Decodes the Adam7 interlaced PNG data. + * + * @param params - DecodeInterlaceNullParams + * @returns - array of pixel data. + */ + function decodeInterlaceAdam7(params) { + const { + data, + width, + height, + channels, + depth + } = params; + // Adam7 interlacing pattern + const passes = [{ + x: 0, + y: 0, + xStep: 8, + yStep: 8 + }, + // Pass 1 + { + x: 4, + y: 0, + xStep: 8, + yStep: 8 + }, + // Pass 2 + { + x: 0, + y: 4, + xStep: 4, + yStep: 8 + }, + // Pass 3 + { + x: 2, + y: 0, + xStep: 4, + yStep: 4 + }, + // Pass 4 + { + x: 0, + y: 2, + xStep: 2, + yStep: 4 + }, + // Pass 5 + { + x: 1, + y: 0, + xStep: 2, + yStep: 2 + }, + // Pass 6 + { + x: 0, + y: 1, + xStep: 1, + yStep: 2 + } // Pass 7 + ]; + const bytesPerPixel = Math.ceil(depth / 8) * channels; + const resultData = new Uint8Array(height * width * bytesPerPixel); + let offset = 0; + // Process each pass + for (let passIndex = 0; passIndex < 7; passIndex++) { + const pass = passes[passIndex]; + // Calculate pass dimensions + const passWidth = Math.ceil((width - pass.x) / pass.xStep); + const passHeight = Math.ceil((height - pass.y) / pass.yStep); + if (passWidth <= 0 || passHeight <= 0) continue; + const passLineBytes = passWidth * bytesPerPixel; + const prevLine = new Uint8Array(passLineBytes); + // Process each scanline in this pass + for (let y = 0; y < passHeight; y++) { + // First byte is the filter type + const filterType = data[offset++]; + const currentLine = data.subarray(offset, offset + passLineBytes); + offset += passLineBytes; + // Create a new line for the unfiltered data + const newLine = new Uint8Array(passLineBytes); + // Apply the appropriate unfilter + applyUnfilter(filterType, currentLine, newLine, prevLine, passLineBytes, bytesPerPixel); + prevLine.set(newLine); + for (let x = 0; x < passWidth; x++) { + const outputX = pass.x + x * pass.xStep; + const outputY = pass.y + y * pass.yStep; + if (outputX >= width || outputY >= height) continue; + for (let i = 0; i < bytesPerPixel; i++) { + resultData[(outputY * width + outputX) * bytesPerPixel + i] = newLine[x * bytesPerPixel + i]; + } + } + } + } + if (depth === 16) { + const uint16Data = new Uint16Array(resultData.buffer); + if (osIsLittleEndian$1) { + for (let k = 0; k < uint16Data.length; k++) { + // PNG is always big endian. Swap the bytes. + uint16Data[k] = swap16$1(uint16Data[k]); + } + } + return uint16Data; + } else { + return resultData; + } + } + function swap16$1(val) { + return (val & 0xff) << 8 | val >> 8 & 0xff; + } + + const uint16 = new Uint16Array([0x00ff]); + const uint8 = new Uint8Array(uint16.buffer); + const osIsLittleEndian = uint8[0] === 0xff; + const empty = new Uint8Array(0); + function decodeInterlaceNull(params) { + const { + data, + width, + height, + channels, + depth + } = params; + const bytesPerPixel = Math.ceil(depth / 8) * channels; + const bytesPerLine = Math.ceil(depth / 8 * channels * width); + const newData = new Uint8Array(height * bytesPerLine); + let prevLine = empty; + let offset = 0; + let currentLine; + let newLine; + for (let i = 0; i < height; i++) { + currentLine = data.subarray(offset + 1, offset + 1 + bytesPerLine); + newLine = newData.subarray(i * bytesPerLine, (i + 1) * bytesPerLine); + switch (data[offset]) { + case 0: + unfilterNone(currentLine, newLine, bytesPerLine); + break; + case 1: + unfilterSub(currentLine, newLine, bytesPerLine, bytesPerPixel); + break; + case 2: + unfilterUp(currentLine, newLine, prevLine, bytesPerLine); + break; + case 3: + unfilterAverage(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel); + break; + case 4: + unfilterPaeth(currentLine, newLine, prevLine, bytesPerLine, bytesPerPixel); + break; + default: + throw new Error(`Unsupported filter: ${data[offset]}`); + } + prevLine = newLine; + offset += bytesPerLine + 1; + } + if (depth === 16) { + const uint16Data = new Uint16Array(newData.buffer); + if (osIsLittleEndian) { + for (let k = 0; k < uint16Data.length; k++) { + // PNG is always big endian. Swap the bytes. + uint16Data[k] = swap16(uint16Data[k]); + } + } + return uint16Data; + } else { + return newData; + } + } + function swap16(val) { + return (val & 0xff) << 8 | val >> 8 & 0xff; + } + + // https://www.w3.org/TR/PNG/#5PNG-file-signature + const pngSignature = Uint8Array.of(137, 80, 78, 71, 13, 10, 26, 10); + function checkSignature(buffer) { + if (!hasPngSignature(buffer.readBytes(pngSignature.length))) { + throw new Error('wrong PNG signature'); + } + } + function hasPngSignature(array) { + if (array.length < pngSignature.length) { + return false; + } + for (let i = 0; i < pngSignature.length; i++) { + if (array[i] !== pngSignature[i]) { + return false; + } + } + return true; + } + + // https://www.w3.org/TR/png/#11tEXt + const textChunkName = 'tEXt'; + const NULL = 0; + const latin1Decoder = new TextDecoder('latin1'); + function validateKeyword(keyword) { + validateLatin1(keyword); + if (keyword.length === 0 || keyword.length > 79) { + throw new Error('keyword length must be between 1 and 79'); + } + } + // eslint-disable-next-line no-control-regex + const latin1Regex = /^[\u0000-\u00FF]*$/; + function validateLatin1(text) { + if (!latin1Regex.test(text)) { + throw new Error('invalid latin1 text'); + } + } + function decodetEXt(text, buffer, length) { + const keyword = readKeyword(buffer); + text[keyword] = readLatin1(buffer, length - keyword.length - 1); + } + // https://www.w3.org/TR/png/#11keywords + function readKeyword(buffer) { + buffer.mark(); + while (buffer.readByte() !== NULL) { + /* advance */ + } + const end = buffer.offset; + buffer.reset(); + const keyword = latin1Decoder.decode(buffer.readBytes(end - buffer.offset - 1)); + // NULL + buffer.skip(1); + validateKeyword(keyword); + return keyword; + } + function readLatin1(buffer, length) { + return latin1Decoder.decode(buffer.readBytes(length)); + } + + const ColorType = { + UNKNOWN: -1, + GREYSCALE: 0, + TRUECOLOUR: 2, + INDEXED_COLOUR: 3, + GREYSCALE_ALPHA: 4, + TRUECOLOUR_ALPHA: 6 + }; + const CompressionMethod = { + UNKNOWN: -1, + DEFLATE: 0 + }; + const FilterMethod = { + UNKNOWN: -1, + ADAPTIVE: 0 + }; + const InterlaceMethod = { + UNKNOWN: -1, + NO_INTERLACE: 0, + ADAM7: 1 + }; + const DisposeOpType = { + NONE: 0, + BACKGROUND: 1, + PREVIOUS: 2 + }; + const BlendOpType = { + SOURCE: 0, + OVER: 1 + }; + + class PngDecoder extends IOBuffer { + _checkCrc; + _inflator; + _png; + _apng; + _end; + _hasPalette; + _palette; + _hasTransparency; + _transparency; + _compressionMethod; + _filterMethod; + _interlaceMethod; + _colorType; + _isAnimated; + _numberOfFrames; + _numberOfPlays; + _frames; + _writingDataChunks; + constructor(data, options = {}) { + super(data); + const { + checkCrc = false + } = options; + this._checkCrc = checkCrc; + this._inflator = new Inflate_1(); + this._png = { + width: -1, + height: -1, + channels: -1, + data: new Uint8Array(0), + depth: 1, + text: {} + }; + this._apng = { + width: -1, + height: -1, + channels: -1, + depth: 1, + numberOfFrames: 1, + numberOfPlays: 0, + text: {}, + frames: [] + }; + this._end = false; + this._hasPalette = false; + this._palette = []; + this._hasTransparency = false; + this._transparency = new Uint16Array(0); + this._compressionMethod = CompressionMethod.UNKNOWN; + this._filterMethod = FilterMethod.UNKNOWN; + this._interlaceMethod = InterlaceMethod.UNKNOWN; + this._colorType = ColorType.UNKNOWN; + this._isAnimated = false; + this._numberOfFrames = 1; + this._numberOfPlays = 0; + this._frames = []; + this._writingDataChunks = false; + // PNG is always big endian + // https://www.w3.org/TR/PNG/#7Integers-and-byte-order + this.setBigEndian(); + } + decode() { + checkSignature(this); + while (!this._end) { + const length = this.readUint32(); + const type = this.readChars(4); + this.decodeChunk(length, type); + } + this.decodeImage(); + return this._png; + } + decodeApng() { + checkSignature(this); + while (!this._end) { + const length = this.readUint32(); + const type = this.readChars(4); + this.decodeApngChunk(length, type); + } + this.decodeApngImage(); + return this._apng; + } + // https://www.w3.org/TR/PNG/#5Chunk-layout + decodeChunk(length, type) { + const offset = this.offset; + switch (type) { + // 11.2 Critical chunks + case 'IHDR': + // 11.2.2 IHDR Image header + this.decodeIHDR(); + break; + case 'PLTE': + // 11.2.3 PLTE Palette + this.decodePLTE(length); + break; + case 'IDAT': + // 11.2.4 IDAT Image data + this.decodeIDAT(length); + break; + case 'IEND': + // 11.2.5 IEND Image trailer + this._end = true; + break; + // 11.3 Ancillary chunks + case 'tRNS': + // 11.3.2.1 tRNS Transparency + this.decodetRNS(length); + break; + case 'iCCP': + // 11.3.3.3 iCCP Embedded ICC profile + this.decodeiCCP(length); + break; + case textChunkName: + // 11.3.4.3 tEXt Textual data + decodetEXt(this._png.text, this, length); + break; + case 'pHYs': + // 11.3.5.3 pHYs Physical pixel dimensions + this.decodepHYs(); + break; + default: + this.skip(length); + break; + } + if (this.offset - offset !== length) { + throw new Error(`Length mismatch while decoding chunk ${type}`); + } + if (this._checkCrc) { + checkCrc(this, length + 4, type); + } else { + this.skip(4); + } + } + decodeApngChunk(length, type) { + const offset = this.offset; + if (type !== 'fdAT' && type !== 'IDAT' && this._writingDataChunks) { + this.pushDataToFrame(); + } + switch (type) { + case 'acTL': + this.decodeACTL(); + break; + case 'fcTL': + this.decodeFCTL(); + break; + case 'fdAT': + this.decodeFDAT(length); + break; + default: + this.decodeChunk(length, type); + this.offset = offset + length; + break; + } + if (this.offset - offset !== length) { + throw new Error(`Length mismatch while decoding chunk ${type}`); + } + if (this._checkCrc) { + checkCrc(this, length + 4, type); + } else { + this.skip(4); + } + } + // https://www.w3.org/TR/PNG/#11IHDR + decodeIHDR() { + const image = this._png; + image.width = this.readUint32(); + image.height = this.readUint32(); + image.depth = checkBitDepth(this.readUint8()); + const colorType = this.readUint8(); + this._colorType = colorType; + let channels; + switch (colorType) { + case ColorType.GREYSCALE: + channels = 1; + break; + case ColorType.TRUECOLOUR: + channels = 3; + break; + case ColorType.INDEXED_COLOUR: + channels = 1; + break; + case ColorType.GREYSCALE_ALPHA: + channels = 2; + break; + case ColorType.TRUECOLOUR_ALPHA: + channels = 4; + break; + // Kept for exhaustiveness. + // eslint-disable-next-line unicorn/no-useless-switch-case + case ColorType.UNKNOWN: + default: + throw new Error(`Unknown color type: ${colorType}`); + } + this._png.channels = channels; + this._compressionMethod = this.readUint8(); + if (this._compressionMethod !== CompressionMethod.DEFLATE) { + throw new Error(`Unsupported compression method: ${this._compressionMethod}`); + } + this._filterMethod = this.readUint8(); + this._interlaceMethod = this.readUint8(); + } + decodeACTL() { + this._numberOfFrames = this.readUint32(); + this._numberOfPlays = this.readUint32(); + this._isAnimated = true; + } + decodeFCTL() { + const image = { + sequenceNumber: this.readUint32(), + width: this.readUint32(), + height: this.readUint32(), + xOffset: this.readUint32(), + yOffset: this.readUint32(), + delayNumber: this.readUint16(), + delayDenominator: this.readUint16(), + disposeOp: this.readUint8(), + blendOp: this.readUint8(), + data: new Uint8Array(0) + }; + this._frames.push(image); + } + // https://www.w3.org/TR/PNG/#11PLTE + decodePLTE(length) { + if (length % 3 !== 0) { + throw new RangeError(`PLTE field length must be a multiple of 3. Got ${length}`); + } + const l = length / 3; + this._hasPalette = true; + const palette = []; + this._palette = palette; + for (let i = 0; i < l; i++) { + palette.push([this.readUint8(), this.readUint8(), this.readUint8()]); + } + } + // https://www.w3.org/TR/PNG/#11IDAT + decodeIDAT(length) { + this._writingDataChunks = true; + const dataLength = length; + const dataOffset = this.offset + this.byteOffset; + this._inflator.push(new Uint8Array(this.buffer, dataOffset, dataLength)); + if (this._inflator.err) { + throw new Error(`Error while decompressing the data: ${this._inflator.err}`); + } + this.skip(length); + } + decodeFDAT(length) { + this._writingDataChunks = true; + let dataLength = length; + let dataOffset = this.offset + this.byteOffset; + dataOffset += 4; + dataLength -= 4; + this._inflator.push(new Uint8Array(this.buffer, dataOffset, dataLength)); + if (this._inflator.err) { + throw new Error(`Error while decompressing the data: ${this._inflator.err}`); + } + this.skip(length); + } + // https://www.w3.org/TR/PNG/#11tRNS + decodetRNS(length) { + switch (this._colorType) { + case ColorType.GREYSCALE: + case ColorType.TRUECOLOUR: + { + if (length % 2 !== 0) { + throw new RangeError(`tRNS chunk length must be a multiple of 2. Got ${length}`); + } + if (length / 2 > this._png.width * this._png.height) { + throw new Error(`tRNS chunk contains more alpha values than there are pixels (${length / 2} vs ${this._png.width * this._png.height})`); + } + this._hasTransparency = true; + this._transparency = new Uint16Array(length / 2); + for (let i = 0; i < length / 2; i++) { + this._transparency[i] = this.readUint16(); + } + break; + } + case ColorType.INDEXED_COLOUR: + { + if (length > this._palette.length) { + throw new Error(`tRNS chunk contains more alpha values than there are palette colors (${length} vs ${this._palette.length})`); + } + let i = 0; + for (; i < length; i++) { + const alpha = this.readByte(); + this._palette[i].push(alpha); + } + for (; i < this._palette.length; i++) { + this._palette[i].push(255); + } + break; + } + // Kept for exhaustiveness. + /* eslint-disable unicorn/no-useless-switch-case */ + case ColorType.UNKNOWN: + case ColorType.GREYSCALE_ALPHA: + case ColorType.TRUECOLOUR_ALPHA: + default: + { + throw new Error(`tRNS chunk is not supported for color type ${this._colorType}`); + } + /* eslint-enable unicorn/no-useless-switch-case */ + } + } + // https://www.w3.org/TR/PNG/#11iCCP + decodeiCCP(length) { + const name = readKeyword(this); + const compressionMethod = this.readUint8(); + if (compressionMethod !== CompressionMethod.DEFLATE) { + throw new Error(`Unsupported iCCP compression method: ${compressionMethod}`); + } + const compressedProfile = this.readBytes(length - name.length - 2); + this._png.iccEmbeddedProfile = { + name, + profile: inflate_1(compressedProfile) + }; + } + // https://www.w3.org/TR/PNG/#11pHYs + decodepHYs() { + const ppuX = this.readUint32(); + const ppuY = this.readUint32(); + const unitSpecifier = this.readByte(); + this._png.resolution = { + x: ppuX, + y: ppuY, + unit: unitSpecifier + }; + } + decodeApngImage() { + this._apng.width = this._png.width; + this._apng.height = this._png.height; + this._apng.channels = this._png.channels; + this._apng.depth = this._png.depth; + this._apng.numberOfFrames = this._numberOfFrames; + this._apng.numberOfPlays = this._numberOfPlays; + this._apng.text = this._png.text; + this._apng.resolution = this._png.resolution; + for (let i = 0; i < this._numberOfFrames; i++) { + const newFrame = { + sequenceNumber: this._frames[i].sequenceNumber, + delayNumber: this._frames[i].delayNumber, + delayDenominator: this._frames[i].delayDenominator, + data: this._apng.depth === 8 ? new Uint8Array(this._apng.width * this._apng.height * this._apng.channels) : new Uint16Array(this._apng.width * this._apng.height * this._apng.channels) + }; + const frame = this._frames.at(i); + if (frame) { + frame.data = decodeInterlaceNull({ + data: frame.data, + width: frame.width, + height: frame.height, + channels: this._apng.channels, + depth: this._apng.depth + }); + if (this._hasPalette) { + this._apng.palette = this._palette; + } + if (this._hasTransparency) { + this._apng.transparency = this._transparency; + } + if (i === 0 || frame.xOffset === 0 && frame.yOffset === 0 && frame.width === this._png.width && frame.height === this._png.height) { + newFrame.data = frame.data; + } else { + const prevFrame = this._apng.frames.at(i - 1); + this.disposeFrame(frame, prevFrame, newFrame); + this.addFrameDataToCanvas(newFrame, frame); + } + this._apng.frames.push(newFrame); + } + } + return this._apng; + } + disposeFrame(frame, prevFrame, imageFrame) { + switch (frame.disposeOp) { + case DisposeOpType.NONE: + break; + case DisposeOpType.BACKGROUND: + for (let row = 0; row < this._png.height; row++) { + for (let col = 0; col < this._png.width; col++) { + const index = (row * frame.width + col) * this._png.channels; + for (let channel = 0; channel < this._png.channels; channel++) { + imageFrame.data[index + channel] = 0; + } + } + } + break; + case DisposeOpType.PREVIOUS: + imageFrame.data.set(prevFrame.data); + break; + default: + throw new Error('Unknown disposeOp'); + } + } + addFrameDataToCanvas(imageFrame, frame) { + const maxValue = 1 << this._png.depth; + const calculatePixelIndices = (row, col) => { + const index = ((row + frame.yOffset) * this._png.width + frame.xOffset + col) * this._png.channels; + const frameIndex = (row * frame.width + col) * this._png.channels; + return { + index, + frameIndex + }; + }; + switch (frame.blendOp) { + case BlendOpType.SOURCE: + for (let row = 0; row < frame.height; row++) { + for (let col = 0; col < frame.width; col++) { + const { + index, + frameIndex + } = calculatePixelIndices(row, col); + for (let channel = 0; channel < this._png.channels; channel++) { + imageFrame.data[index + channel] = frame.data[frameIndex + channel]; + } + } + } + break; + // https://www.w3.org/TR/png-3/#13Alpha-channel-processing + case BlendOpType.OVER: + for (let row = 0; row < frame.height; row++) { + for (let col = 0; col < frame.width; col++) { + const { + index, + frameIndex + } = calculatePixelIndices(row, col); + for (let channel = 0; channel < this._png.channels; channel++) { + const sourceAlpha = frame.data[frameIndex + this._png.channels - 1] / maxValue; + const foregroundValue = channel % (this._png.channels - 1) === 0 ? 1 : frame.data[frameIndex + channel]; + const value = Math.floor(sourceAlpha * foregroundValue + (1 - sourceAlpha) * imageFrame.data[index + channel]); + imageFrame.data[index + channel] += value; + } + } + } + break; + default: + throw new Error('Unknown blendOp'); + } + } + decodeImage() { + if (this._inflator.err) { + throw new Error(`Error while decompressing the data: ${this._inflator.err}`); + } + const data = this._isAnimated ? (this._frames?.at(0)).data : this._inflator.result; + if (this._filterMethod !== FilterMethod.ADAPTIVE) { + throw new Error(`Filter method ${this._filterMethod} not supported`); + } + if (this._interlaceMethod === InterlaceMethod.NO_INTERLACE) { + this._png.data = decodeInterlaceNull({ + data: data, + width: this._png.width, + height: this._png.height, + channels: this._png.channels, + depth: this._png.depth + }); + } else if (this._interlaceMethod === InterlaceMethod.ADAM7) { + this._png.data = decodeInterlaceAdam7({ + data: data, + width: this._png.width, + height: this._png.height, + channels: this._png.channels, + depth: this._png.depth + }); + } else { + throw new Error(`Interlace method ${this._interlaceMethod} not supported`); + } + if (this._hasPalette) { + this._png.palette = this._palette; + } + if (this._hasTransparency) { + this._png.transparency = this._transparency; + } + } + pushDataToFrame() { + const result = this._inflator.result; + const lastFrame = this._frames.at(-1); + if (lastFrame) { + lastFrame.data = result; + } else { + this._frames.push({ + sequenceNumber: 0, + width: this._png.width, + height: this._png.height, + xOffset: 0, + yOffset: 0, + delayNumber: 0, + delayDenominator: 0, + disposeOp: DisposeOpType.NONE, + blendOp: BlendOpType.SOURCE, + data: result + }); + } + this._inflator = new Inflate_1(); + this._writingDataChunks = false; + } + } + function checkBitDepth(value) { + if (value !== 1 && value !== 2 && value !== 4 && value !== 8 && value !== 16) { + throw new Error(`invalid bit depth: ${value}`); + } + return value; + } + + var ResolutionUnitSpecifier; + (function (ResolutionUnitSpecifier) { + /** + * Unit is unknown + */ + ResolutionUnitSpecifier[ResolutionUnitSpecifier["UNKNOWN"] = 0] = "UNKNOWN"; + /** + * Unit is the metre + */ + ResolutionUnitSpecifier[ResolutionUnitSpecifier["METRE"] = 1] = "METRE"; + })(ResolutionUnitSpecifier || (ResolutionUnitSpecifier = {})); + + function decodePng(data, options) { + const decoder = new PngDecoder(data, options); + return decoder.decode(); + } + + /* + * @see http://www.w3.org/TR/PNG-Chunks.html + * + Color Allowed Interpretation + Type Bit Depths + + 0 1,2,4,8,16 Each pixel is a grayscale sample. + + 2 8,16 Each pixel is an R,G,B triple. + + 3 1,2,4,8 Each pixel is a palette index; + a PLTE chunk must appear. + + 4 8,16 Each pixel is a grayscale sample, + followed by an alpha sample. + + 6 8,16 Each pixel is an R,G,B triple, + followed by an alpha sample. + */ + + /* + * @name processPNG + * Entry point: process a PNG and return image dict and metadata for jsPDF + */ + jsPDF.API.processPNG = function (imageData, index, alias, compression) { + if (this.__addimage__.isArrayBuffer(imageData)) { + imageData = new Uint8Array(imageData); + } + if (!this.__addimage__.isArrayBufferView(imageData)) { + return; + } + var decodedPng = decodePng(imageData, { + checkCrc: true + }); + var width = decodedPng.width, + height = decodedPng.height, + channels = decodedPng.channels, + decodedPalette = decodedPng.palette, + bitsPerComponent = decodedPng.depth; + var result; + if (decodedPalette && channels === 1) { + result = processIndexedPNG(decodedPng); + } else if (channels === 2 || channels === 4) { + result = processAlphaPNG(decodedPng); + } else { + result = processOpaquePNG(decodedPng); + } + var _result = result, + colorSpace = _result.colorSpace, + colorsPerPixel = _result.colorsPerPixel, + sMaskBitsPerComponent = _result.sMaskBitsPerComponent, + colorBytes = _result.colorBytes, + alphaBytes = _result.alphaBytes, + needSMask = _result.needSMask, + palette = _result.palette, + mask = _result.mask; + var predictor = null; + var filter, decodeParameters, sMask; + if (canCompress(compression)) { + predictor = getPredictorFromCompression(compression); + filter = this.decode.FLATE_DECODE; + decodeParameters = "/Predictor ".concat(predictor, " /Colors ").concat(colorsPerPixel, " /BitsPerComponent ").concat(bitsPerComponent, " /Columns ").concat(width); + var rowByteLength = Math.ceil(width * colorsPerPixel * bitsPerComponent / 8); + imageData = compressBytes(colorBytes, rowByteLength, colorsPerPixel, bitsPerComponent, compression); + if (needSMask) { + var sMaskRowByteLength = Math.ceil(width * sMaskBitsPerComponent / 8); + sMask = compressBytes(alphaBytes, sMaskRowByteLength, 1, sMaskBitsPerComponent, compression); + } + } else { + filter = undefined; + decodeParameters = undefined; + imageData = colorBytes; + if (needSMask) sMask = alphaBytes; + } + if (this.__addimage__.isArrayBuffer(imageData) || this.__addimage__.isArrayBufferView(imageData)) { + imageData = this.__addimage__.arrayBufferToBinaryString(imageData); + } + if (sMask && this.__addimage__.isArrayBuffer(sMask) || this.__addimage__.isArrayBufferView(sMask)) { + sMask = this.__addimage__.arrayBufferToBinaryString(sMask); + } + return { + alias: alias, + data: imageData, + index: index, + filter: filter, + decodeParameters: decodeParameters, + transparency: mask, + palette: palette, + sMask: sMask, + predictor: predictor, + width: width, + height: height, + bitsPerComponent: bitsPerComponent, + sMaskBitsPerComponent: sMaskBitsPerComponent, + colorSpace: colorSpace + }; + }; + + /* + * PNG filter method types + * + * @see http://www.w3.org/TR/PNG-Filters.html + * @see http://www.libpng.org/pub/png/book/chapter09.html + * + * This is what the value 'Predictor' in decode params relates to + * + * 15 is "optimal prediction", which means the prediction algorithm can change from line to line. + * In that case, you actually have to read the first byte off each line for the prediction algorthim (which should be 0-4, corresponding to PDF 10-14) and select the appropriate unprediction algorithm based on that byte. + * + 0 None + 1 Sub + 2 Up + 3 Average + 4 Paeth + */ + + function canCompress(value) { + return value !== jsPDF.API.image_compression.NONE && hasCompressionJS(); + } + function hasCompressionJS() { + return typeof zlibSync === "function"; + } + function compressBytes(bytes, lineByteLength, channels, bitsPerComponent, compression) { + var level = 4; + var filter_method = filterUp; + switch (compression) { + case jsPDF.API.image_compression.FAST: + level = 1; + filter_method = filterSub; + break; + case jsPDF.API.image_compression.MEDIUM: + level = 6; + filter_method = filterAverage; + break; + case jsPDF.API.image_compression.SLOW: + level = 9; + filter_method = filterPaeth; + break; + } + var bytesPerPixel = Math.ceil(channels * bitsPerComponent / 8); + bytes = applyPngFilterMethod(bytes, lineByteLength, bytesPerPixel, filter_method); + var dat = zlibSync(bytes, { + level: level + }); + return jsPDF.API.__addimage__.arrayBufferToBinaryString(dat); + } + function applyPngFilterMethod(bytes, lineByteLength, bytesPerPixel, filter_method) { + var lines = bytes.length / lineByteLength; + var result = new Uint8Array(bytes.length + lines); + var filter_methods = getFilterMethods(); + var prevLine; + for (var i = 0; i < lines; i += 1) { + var offset = i * lineByteLength; + var line = bytes.subarray(offset, offset + lineByteLength); + if (filter_method) { + result.set(filter_method(line, bytesPerPixel, prevLine), offset + i); + } else { + var len = filter_methods.length; + var results = []; + for (var j = 0; j < len; j += 1) { + results[j] = filter_methods[j](line, bytesPerPixel, prevLine); + } + var ind = getIndexOfSmallestSum(results.concat()); + result.set(results[ind], offset + i); + } + prevLine = line; + } + return result; + } + function filterNone(line) { + /*const result = new Uint8Array(line.length + 1); + result[0] = 0; + result.set(line, 1);*/ + + var result = Array.apply([], line); + result.unshift(0); + return result; + } + function filterSub(line, colorsPerPixel) { + var len = line.length; + var result = []; + result[0] = 1; + for (var i = 0; i < len; i += 1) { + var left = line[i - colorsPerPixel] || 0; + result[i + 1] = line[i] - left + 0x0100 & 0xff; + } + return result; + } + function filterUp(line, colorsPerPixel, prevLine) { + var len = line.length; + var result = []; + result[0] = 2; + for (var i = 0; i < len; i += 1) { + var up = prevLine && prevLine[i] || 0; + result[i + 1] = line[i] - up + 0x0100 & 0xff; + } + return result; + } + function filterAverage(line, colorsPerPixel, prevLine) { + var len = line.length; + var result = []; + result[0] = 3; + for (var i = 0; i < len; i += 1) { + var left = line[i - colorsPerPixel] || 0; + var up = prevLine && prevLine[i] || 0; + result[i + 1] = line[i] + 0x0100 - (left + up >>> 1) & 0xff; + } + return result; + } + function filterPaeth(line, colorsPerPixel, prevLine) { + var len = line.length; + var result = []; + result[0] = 4; + for (var i = 0; i < len; i += 1) { + var left = line[i - colorsPerPixel] || 0; + var up = prevLine && prevLine[i] || 0; + var upLeft = prevLine && prevLine[i - colorsPerPixel] || 0; + var paeth = paethPredictor(left, up, upLeft); + result[i + 1] = line[i] - paeth + 0x0100 & 0xff; + } + return result; + } + function paethPredictor(left, up, upLeft) { + if (left === up && up === upLeft) { + return left; + } + var pLeft = Math.abs(up - upLeft), + pUp = Math.abs(left - upLeft), + pUpLeft = Math.abs(left + up - upLeft - upLeft); + return pLeft <= pUp && pLeft <= pUpLeft ? left : pUp <= pUpLeft ? up : upLeft; + } + function getFilterMethods() { + return [filterNone, filterSub, filterUp, filterAverage, filterPaeth]; + } + function getIndexOfSmallestSum(arrays) { + var sum = arrays.map(function (value) { + return value.reduce(function (pv, cv) { + return pv + Math.abs(cv); + }, 0); + }); + return sum.indexOf(Math.min.apply(null, sum)); + } + function getPredictorFromCompression(compression) { + var predictor; + switch (compression) { + case jsPDF.API.image_compression.FAST: + predictor = 11; + break; + case jsPDF.API.image_compression.MEDIUM: + predictor = 13; + break; + case jsPDF.API.image_compression.SLOW: + predictor = 14; + break; + default: + predictor = 12; + break; + } + return predictor; + } + + // Extracted helper for Indexed PNGs (palette-based) + function processIndexedPNG(decodedPng) { + var width = decodedPng.width, + height = decodedPng.height, + data = decodedPng.data, + decodedPalette = decodedPng.palette, + depth = decodedPng.depth; + var needSMask = false; + var palette = []; + var mask = []; + var alphaBytes = undefined; + var hasSemiTransparency = false; + var maxMaskLength = 1; + var maskLength = 0; + for (var i = 0; i < decodedPalette.length; i++) { + var _decodedPalette$i = _slicedToArray(decodedPalette[i], 4), + r = _decodedPalette$i[0], + g = _decodedPalette$i[1], + b = _decodedPalette$i[2], + a = _decodedPalette$i[3]; + palette.push(r, g, b); + if (a != null) { + if (a === 0) { + maskLength++; + if (mask.length < maxMaskLength) { + mask.push(i); + } + } else if (a < 255) { + hasSemiTransparency = true; + } + } + } + if (hasSemiTransparency || maskLength > maxMaskLength) { + needSMask = true; + mask = undefined; + var totalPixels = width * height; + // per PNG spec, palettes always use 8 bits per component + alphaBytes = new Uint8Array(totalPixels); + var dataView = new DataView(data.buffer); + for (var p = 0; p < totalPixels; p++) { + var paletteIndex = readSample(dataView, p, depth); + var _decodedPalette$palet = _slicedToArray(decodedPalette[paletteIndex], 4), + alpha = _decodedPalette$palet[3]; + alphaBytes[p] = alpha; + } + } else if (maskLength === 0) { + mask = undefined; + } + return { + colorSpace: "Indexed", + colorsPerPixel: 1, + sMaskBitsPerComponent: needSMask ? 8 : undefined, + colorBytes: data, + alphaBytes: alphaBytes, + needSMask: needSMask, + palette: palette, + mask: mask + }; + } + + /* + * Splits color and alpha values into separate buffers + */ + function processAlphaPNG(decodedPng) { + var data = decodedPng.data, + width = decodedPng.width, + height = decodedPng.height, + channels = decodedPng.channels, + depth = decodedPng.depth; + var colorSpace = channels === 2 ? "DeviceGray" : "DeviceRGB"; + var colorsPerPixel = channels - 1; + var totalPixels = width * height; + var colorChannels = colorsPerPixel; // 1 for Gray, 3 for RGB + var alphaChannels = 1; + var totalColorSamples = totalPixels * colorChannels; + var totalAlphaSamples = totalPixels * alphaChannels; + var colorByteLen = Math.ceil(totalColorSamples * depth / 8); + var alphaByteLen = Math.ceil(totalAlphaSamples * depth / 8); + var colorBytes = new Uint8Array(colorByteLen); + var alphaBytes = new Uint8Array(alphaByteLen); + var dataView = new DataView(data.buffer); + var colorView = new DataView(colorBytes.buffer); + var alphaView = new DataView(alphaBytes.buffer); + var needSMask = false; + for (var p = 0; p < totalPixels; p++) { + var pixelStartIndex = p * channels; + for (var s = 0; s < colorChannels; s++) { + var _sampleIndex = pixelStartIndex + s; + var colorValue = readSample(dataView, _sampleIndex, depth); + writeSample(colorView, colorValue, p * colorChannels + s, depth); + } + var sampleIndex = pixelStartIndex + colorChannels; + var alphaValue = readSample(dataView, sampleIndex, depth); + if (alphaValue < (1 << depth) - 1) { + needSMask = true; + } + writeSample(alphaView, alphaValue, p * alphaChannels, depth); + } + return { + colorSpace: colorSpace, + colorsPerPixel: colorsPerPixel, + sMaskBitsPerComponent: needSMask ? depth : undefined, + colorBytes: colorBytes, + alphaBytes: alphaBytes, + needSMask: needSMask + }; + } + function processOpaquePNG(decodedPng) { + var data = decodedPng.data, + channels = decodedPng.channels; + var colorSpace = channels === 1 ? "DeviceGray" : "DeviceRGB"; + var colorsPerPixel = colorSpace === "DeviceGray" ? 1 : 3; + var colorBytes; + if (data instanceof Uint16Array) { + colorBytes = convertUint16ArrayToUint8Array(data); + } else { + colorBytes = data; + } + return { + colorSpace: colorSpace, + colorsPerPixel: colorsPerPixel, + colorBytes: colorBytes, + needSMask: false + }; + } + function convertUint16ArrayToUint8Array(data) { + // PNG/PDF expect MSB-first byte order. Since EcmaScript does not specify + // the byte order of Uint16Array, we need to use a DataView to ensure the + // correct byte order. + var sampleCount = data.length; + var out = new Uint8Array(sampleCount * 2); + var outView = new DataView(out.buffer, out.byteOffset, out.byteLength); + for (var i = 0; i < sampleCount; i++) { + outView.setUint16(i * 2, data[i], false); + } + return out; + } + function readSample(view, sampleIndex, depth) { + var bitIndex = sampleIndex * depth; + var byteIndex = Math.floor(bitIndex / 8); + var bitOffset = 16 - (bitIndex - byteIndex * 8 + depth); + var bitMask = (1 << depth) - 1; + var word = safeGetUint16(view, byteIndex); + return word >> bitOffset & bitMask; + } + function writeSample(view, value, sampleIndex, depth) { + var bitIndex = sampleIndex * depth; + var byteIndex = Math.floor(bitIndex / 8); + var bitOffset = 16 - (bitIndex - byteIndex * 8 + depth); + var bitMask = (1 << depth) - 1; + var writeValue = (value & bitMask) << bitOffset; + var word = safeGetUint16(view, byteIndex) & ~(bitMask << bitOffset) & 0xffff; + safeSetUint16(view, byteIndex, word | writeValue); + } + function safeGetUint16(view, byteIndex) { + if (byteIndex + 1 < view.byteLength) { + return view.getUint16(byteIndex, false); + } + var b0 = view.getUint8(byteIndex); + return b0 << 8; + } + function safeSetUint16(view, byteIndex, value) { + if (byteIndex + 1 < view.byteLength) { + view.setUint16(byteIndex, value, false); + return; + } + var byteToWrite = value >> 8 & 0xff; + view.setUint8(byteIndex, byteToWrite); + } + + /** + * @license + * (c) Dean McNamee , 2013. + * + * https://github.com/deanm/omggif + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to + * deal in the Software without restriction, including without limitation the + * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or + * sell copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + * IN THE SOFTWARE. + * + * omggif is a JavaScript implementation of a GIF 89a encoder and decoder, + * including animation and compression. It does not rely on any specific + * underlying system, so should run in the browser, Node, or Plask. + */ + function GifReader(buf) { + var p = 0; + + // - Header (GIF87a or GIF89a). + if (buf[p++] !== 0x47 || buf[p++] !== 0x49 || buf[p++] !== 0x46 || buf[p++] !== 0x38 || (buf[p++] + 1 & 0xfd) !== 0x38 || buf[p++] !== 0x61) { + throw new Error("Invalid GIF 87a/89a header."); + } + + // - Logical Screen Descriptor. + var width = buf[p++] | buf[p++] << 8; + var height = buf[p++] | buf[p++] << 8; + var pf0 = buf[p++]; // . + var global_palette_flag = pf0 >> 7; + var num_global_colors_pow2 = pf0 & 0x7; + var num_global_colors = 1 << num_global_colors_pow2 + 1; + buf[p++]; + buf[p++]; // Pixel aspect ratio (unused?). + + var global_palette_offset = null; + var global_palette_size = null; + if (global_palette_flag) { + global_palette_offset = p; + global_palette_size = num_global_colors; + p += num_global_colors * 3; // Seek past palette. + } + var no_eof = true; + var frames = []; + var delay = 0; + var transparent_index = null; + var disposal = 0; // 0 - No disposal specified. + var loop_count = null; + this.width = width; + this.height = height; + while (no_eof && p < buf.length) { + switch (buf[p++]) { + case 0x21: + // Graphics Control Extension Block + switch (buf[p++]) { + case 0xff: + // Application specific block + // Try if it's a Netscape block (with animation loop counter). + if (buf[p] !== 0x0b || + // 21 FF already read, check block size. + // NETSCAPE2.0 + buf[p + 1] == 0x4e && buf[p + 2] == 0x45 && buf[p + 3] == 0x54 && buf[p + 4] == 0x53 && buf[p + 5] == 0x43 && buf[p + 6] == 0x41 && buf[p + 7] == 0x50 && buf[p + 8] == 0x45 && buf[p + 9] == 0x32 && buf[p + 10] == 0x2e && buf[p + 11] == 0x30 && + // Sub-block + buf[p + 12] == 0x03 && buf[p + 13] == 0x01 && buf[p + 16] == 0) { + p += 14; + loop_count = buf[p++] | buf[p++] << 8; + p++; // Skip terminator. + } else { + // We don't know what it is, just try to get past it. + p += 12; + while (true) { + // Seek through subblocks. + var block_size = buf[p++]; + // Bad block size (ex: undefined from an out of bounds read). + if (!(block_size >= 0)) throw Error("Invalid block size"); + if (block_size === 0) break; // 0 size is terminator + p += block_size; + } + } + break; + case 0xf9: + // Graphics Control Extension + if (buf[p++] !== 0x4 || buf[p + 4] !== 0) throw new Error("Invalid graphics extension block."); + var pf1 = buf[p++]; + delay = buf[p++] | buf[p++] << 8; + transparent_index = buf[p++]; + if ((pf1 & 1) === 0) transparent_index = null; + disposal = pf1 >> 2 & 0x7; + p++; // Skip terminator. + break; + case 0xfe: + // Comment Extension. + while (true) { + // Seek through subblocks. + var block_size = buf[p++]; + // Bad block size (ex: undefined from an out of bounds read). + if (!(block_size >= 0)) throw Error("Invalid block size"); + if (block_size === 0) break; // 0 size is terminator + // console.log(buf.slice(p, p+block_size).toString('ascii')); + p += block_size; + } + break; + default: + throw new Error("Unknown graphic control label: 0x" + buf[p - 1].toString(16)); + } + break; + case 0x2c: + // Image Descriptor. + var x = buf[p++] | buf[p++] << 8; + var y = buf[p++] | buf[p++] << 8; + var w = buf[p++] | buf[p++] << 8; + var h = buf[p++] | buf[p++] << 8; + var pf2 = buf[p++]; + var local_palette_flag = pf2 >> 7; + var interlace_flag = pf2 >> 6 & 1; + var num_local_colors_pow2 = pf2 & 0x7; + var num_local_colors = 1 << num_local_colors_pow2 + 1; + var palette_offset = global_palette_offset; + var palette_size = global_palette_size; + var has_local_palette = false; + if (local_palette_flag) { + var has_local_palette = true; + palette_offset = p; // Override with local palette. + palette_size = num_local_colors; + p += num_local_colors * 3; // Seek past palette. + } + var data_offset = p; + p++; // codesize + while (true) { + var block_size = buf[p++]; + // Bad block size (ex: undefined from an out of bounds read). + if (!(block_size >= 0)) throw Error("Invalid block size"); + if (block_size === 0) break; // 0 size is terminator + p += block_size; + } + frames.push({ + x: x, + y: y, + width: w, + height: h, + has_local_palette: has_local_palette, + palette_offset: palette_offset, + palette_size: palette_size, + data_offset: data_offset, + data_length: p - data_offset, + transparent_index: transparent_index, + interlaced: !!interlace_flag, + delay: delay, + disposal: disposal + }); + break; + case 0x3b: + // Trailer Marker (end of file). + no_eof = false; + break; + default: + throw new Error("Unknown gif block: 0x" + buf[p - 1].toString(16)); + } + } + this.numFrames = function () { + return frames.length; + }; + this.loopCount = function () { + return loop_count; + }; + this.frameInfo = function (frame_num) { + if (frame_num < 0 || frame_num >= frames.length) throw new Error("Frame index out of range."); + return frames[frame_num]; + }; + this.decodeAndBlitFrameBGRA = function (frame_num, pixels) { + var frame = this.frameInfo(frame_num); + var num_pixels = frame.width * frame.height; + var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices. + GifReaderLZWOutputIndexStream(buf, frame.data_offset, index_stream, num_pixels); + var palette_offset = frame.palette_offset; + + // NOTE(deanm): It seems to be much faster to compare index to 256 than + // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in + // the profile, not sure if it's related to using a Uint8Array. + var trans = frame.transparent_index; + if (trans === null) trans = 256; + + // We are possibly just blitting to a portion of the entire frame. + // That is a subrect within the framerect, so the additional pixels + // must be skipped over after we finished a scanline. + var framewidth = frame.width; + var framestride = width - framewidth; + var xleft = framewidth; // Number of subrect pixels left in scanline. + + // Output indices of the top left and bottom right corners of the subrect. + var opbeg = (frame.y * width + frame.x) * 4; + var opend = ((frame.y + frame.height) * width + frame.x) * 4; + var op = opbeg; + var scanstride = framestride * 4; + + // Use scanstride to skip past the rows when interlacing. This is skipping + // 7 rows for the first two passes, then 3 then 1. + if (frame.interlaced === true) { + scanstride += width * 4 * 7; // Pass 1. + } + var interlaceskip = 8; // Tracking the row interval in the current pass. + + for (var i = 0, il = index_stream.length; i < il; ++i) { + var index = index_stream[i]; + if (xleft === 0) { + // Beginning of new scan line + op += scanstride; + xleft = framewidth; + if (op >= opend) { + // Catch the wrap to switch passes when interlacing. + scanstride = framestride * 4 + width * 4 * (interlaceskip - 1); + // interlaceskip / 2 * 4 is interlaceskip << 1. + op = opbeg + (framewidth + framestride) * (interlaceskip << 1); + interlaceskip >>= 1; + } + } + if (index === trans) { + op += 4; + } else { + var r = buf[palette_offset + index * 3]; + var g = buf[palette_offset + index * 3 + 1]; + var b = buf[palette_offset + index * 3 + 2]; + pixels[op++] = b; + pixels[op++] = g; + pixels[op++] = r; + pixels[op++] = 255; + } + --xleft; + } + }; + + // I will go to copy and paste hell one day... + this.decodeAndBlitFrameRGBA = function (frame_num, pixels) { + var frame = this.frameInfo(frame_num); + var num_pixels = frame.width * frame.height; + var index_stream = new Uint8Array(num_pixels); // At most 8-bit indices. + GifReaderLZWOutputIndexStream(buf, frame.data_offset, index_stream, num_pixels); + var palette_offset = frame.palette_offset; + + // NOTE(deanm): It seems to be much faster to compare index to 256 than + // to === null. Not sure why, but CompareStub_EQ_STRICT shows up high in + // the profile, not sure if it's related to using a Uint8Array. + var trans = frame.transparent_index; + if (trans === null) trans = 256; + + // We are possibly just blitting to a portion of the entire frame. + // That is a subrect within the framerect, so the additional pixels + // must be skipped over after we finished a scanline. + var framewidth = frame.width; + var framestride = width - framewidth; + var xleft = framewidth; // Number of subrect pixels left in scanline. + + // Output indices of the top left and bottom right corners of the subrect. + var opbeg = (frame.y * width + frame.x) * 4; + var opend = ((frame.y + frame.height) * width + frame.x) * 4; + var op = opbeg; + var scanstride = framestride * 4; + + // Use scanstride to skip past the rows when interlacing. This is skipping + // 7 rows for the first two passes, then 3 then 1. + if (frame.interlaced === true) { + scanstride += width * 4 * 7; // Pass 1. + } + var interlaceskip = 8; // Tracking the row interval in the current pass. + + for (var i = 0, il = index_stream.length; i < il; ++i) { + var index = index_stream[i]; + if (xleft === 0) { + // Beginning of new scan line + op += scanstride; + xleft = framewidth; + if (op >= opend) { + // Catch the wrap to switch passes when interlacing. + scanstride = framestride * 4 + width * 4 * (interlaceskip - 1); + // interlaceskip / 2 * 4 is interlaceskip << 1. + op = opbeg + (framewidth + framestride) * (interlaceskip << 1); + interlaceskip >>= 1; + } + } + if (index === trans) { + op += 4; + } else { + var r = buf[palette_offset + index * 3]; + var g = buf[palette_offset + index * 3 + 1]; + var b = buf[palette_offset + index * 3 + 2]; + pixels[op++] = r; + pixels[op++] = g; + pixels[op++] = b; + pixels[op++] = 255; + } + --xleft; + } + }; + } + function GifReaderLZWOutputIndexStream(code_stream, p, output, output_length) { + var min_code_size = code_stream[p++]; + var clear_code = 1 << min_code_size; + var eoi_code = clear_code + 1; + var next_code = eoi_code + 1; + var cur_code_size = min_code_size + 1; // Number of bits per code. + // NOTE: This shares the same name as the encoder, but has a different + // meaning here. Here this masks each code coming from the code stream. + var code_mask = (1 << cur_code_size) - 1; + var cur_shift = 0; + var cur = 0; + var op = 0; // Output pointer. + + var subblock_size = code_stream[p++]; + + // TODO(deanm): Would using a TypedArray be any faster? At least it would + // solve the fast mode / backing store uncertainty. + // var code_table = Array(4096); + var code_table = new Int32Array(4096); // Can be signed, we only use 20 bits. + + var prev_code = null; // Track code-1. + + while (true) { + // Read up to two bytes, making sure we always 12-bits for max sized code. + while (cur_shift < 16) { + if (subblock_size === 0) break; // No more data to be read. + + cur |= code_stream[p++] << cur_shift; + cur_shift += 8; + if (subblock_size === 1) { + // Never let it get to 0 to hold logic above. + subblock_size = code_stream[p++]; // Next subblock. + } else { + --subblock_size; + } + } + + // TODO(deanm): We should never really get here, we should have received + // and EOI. + if (cur_shift < cur_code_size) break; + var code = cur & code_mask; + cur >>= cur_code_size; + cur_shift -= cur_code_size; + + // TODO(deanm): Maybe should check that the first code was a clear code, + // at least this is what you're supposed to do. But actually our encoder + // now doesn't emit a clear code first anyway. + if (code === clear_code) { + // We don't actually have to clear the table. This could be a good idea + // for greater error checking, but we don't really do any anyway. We + // will just track it with next_code and overwrite old entries. + + next_code = eoi_code + 1; + cur_code_size = min_code_size + 1; + code_mask = (1 << cur_code_size) - 1; + + // Don't update prev_code ? + prev_code = null; + continue; + } else if (code === eoi_code) { + break; + } + + // We have a similar situation as the decoder, where we want to store + // variable length entries (code table entries), but we want to do in a + // faster manner than an array of arrays. The code below stores sort of a + // linked list within the code table, and then "chases" through it to + // construct the dictionary entries. When a new entry is created, just the + // last byte is stored, and the rest (prefix) of the entry is only + // referenced by its table entry. Then the code chases through the + // prefixes until it reaches a single byte code. We have to chase twice, + // first to compute the length, and then to actually copy the data to the + // output (backwards, since we know the length). The alternative would be + // storing something in an intermediate stack, but that doesn't make any + // more sense. I implemented an approach where it also stored the length + // in the code table, although it's a bit tricky because you run out of + // bits (12 + 12 + 8), but I didn't measure much improvements (the table + // entries are generally not the long). Even when I created benchmarks for + // very long table entries the complexity did not seem worth it. + // The code table stores the prefix entry in 12 bits and then the suffix + // byte in 8 bits, so each entry is 20 bits. + + var chase_code = code < next_code ? code : prev_code; + + // Chase what we will output, either {CODE} or {CODE-1}. + var chase_length = 0; + var chase = chase_code; + while (chase > clear_code) { + chase = code_table[chase] >> 8; + ++chase_length; + } + var k = chase; + var op_end = op + chase_length + (chase_code !== code ? 1 : 0); + if (op_end > output_length) { + console.log("Warning, gif stream longer than expected."); + return; + } + + // Already have the first byte from the chase, might as well write it fast. + output[op++] = k; + op += chase_length; + var b = op; // Track pointer, writing backwards. + + if (chase_code !== code) + // The case of emitting {CODE-1} + k. + output[op++] = k; + chase = chase_code; + while (chase_length--) { + chase = code_table[chase]; + output[--b] = chase & 0xff; // Write backwards. + chase >>= 8; // Pull down to the prefix code. + } + if (prev_code !== null && next_code < 4096) { + code_table[next_code++] = prev_code << 8 | k; + // TODO(deanm): Figure out this clearing vs code growth logic better. I + // have an feeling that it should just happen somewhere else, for now it + // is awkward between when we grow past the max and then hit a clear code. + // For now just check if we hit the max 12-bits (then a clear code should + // follow, also of course encoded in 12-bits). + if (next_code >= code_mask + 1 && cur_code_size < 12) { + ++cur_code_size; + code_mask = code_mask << 1 | 1; + } + } + prev_code = code; + } + if (op !== output_length) { + console.log("Warning, gif stream shorter than expected."); + } + return output; + } + + /** + * @license + Copyright (c) 2008, Adobe Systems Incorporated + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + + * Neither the name of Adobe Systems Incorporated nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, + THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + /* + JPEG encoder ported to JavaScript and optimized by Andreas Ritter, www.bytestrom.eu, 11/2009 + + Basic GUI blocking jpeg encoder + */ + + function JPEGEncoder(quality) { + var ffloor = Math.floor; + var YTable = new Array(64); + var UVTable = new Array(64); + var fdtbl_Y = new Array(64); + var fdtbl_UV = new Array(64); + var YDC_HT; + var UVDC_HT; + var YAC_HT; + var UVAC_HT; + var bitcode = new Array(65535); + var category = new Array(65535); + var outputfDCTQuant = new Array(64); + var DU = new Array(64); + var byteout = []; + var bytenew = 0; + var bytepos = 7; + var YDU = new Array(64); + var UDU = new Array(64); + var VDU = new Array(64); + var clt = new Array(256); + var RGB_YUV_TABLE = new Array(2048); + var currentQuality; + var ZigZag = [0, 1, 5, 6, 14, 15, 27, 28, 2, 4, 7, 13, 16, 26, 29, 42, 3, 8, 12, 17, 25, 30, 41, 43, 9, 11, 18, 24, 31, 40, 44, 53, 10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60, 21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63]; + var std_dc_luminance_nrcodes = [0, 0, 1, 5, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0]; + var std_dc_luminance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; + var std_ac_luminance_nrcodes = [0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d]; + var std_ac_luminance_values = [0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06, 0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08, 0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, 0x24, 0x33, 0x62, 0x72, 0x82, 0x09, 0x0a, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa]; + var std_dc_chrominance_nrcodes = [0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0]; + var std_dc_chrominance_values = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]; + var std_ac_chrominance_nrcodes = [0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77]; + var std_ac_chrominance_values = [0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41, 0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91, 0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 0x15, 0x62, 0x72, 0xd1, 0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa]; + function initQuantTables(sf) { + var YQT = [16, 11, 10, 16, 24, 40, 51, 61, 12, 12, 14, 19, 26, 58, 60, 55, 14, 13, 16, 24, 40, 57, 69, 56, 14, 17, 22, 29, 51, 87, 80, 62, 18, 22, 37, 56, 68, 109, 103, 77, 24, 35, 55, 64, 81, 104, 113, 92, 49, 64, 78, 87, 103, 121, 120, 101, 72, 92, 95, 98, 112, 100, 103, 99]; + for (var i = 0; i < 64; i++) { + var t = ffloor((YQT[i] * sf + 50) / 100); + t = Math.min(Math.max(t, 1), 255); + YTable[ZigZag[i]] = t; + } + var UVQT = [17, 18, 24, 47, 99, 99, 99, 99, 18, 21, 26, 66, 99, 99, 99, 99, 24, 26, 56, 99, 99, 99, 99, 99, 47, 66, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99]; + for (var j = 0; j < 64; j++) { + var u = ffloor((UVQT[j] * sf + 50) / 100); + u = Math.min(Math.max(u, 1), 255); + UVTable[ZigZag[j]] = u; + } + var aasf = [1.0, 1.387039845, 1.306562965, 1.175875602, 1.0, 0.785694958, 0.5411961, 0.275899379]; + var k = 0; + for (var row = 0; row < 8; row++) { + for (var col = 0; col < 8; col++) { + fdtbl_Y[k] = 1.0 / (YTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0); + fdtbl_UV[k] = 1.0 / (UVTable[ZigZag[k]] * aasf[row] * aasf[col] * 8.0); + k++; + } + } + } + function computeHuffmanTbl(nrcodes, std_table) { + var codevalue = 0; + var pos_in_table = 0; + var HT = new Array(); + for (var k = 1; k <= 16; k++) { + for (var j = 1; j <= nrcodes[k]; j++) { + HT[std_table[pos_in_table]] = []; + HT[std_table[pos_in_table]][0] = codevalue; + HT[std_table[pos_in_table]][1] = k; + pos_in_table++; + codevalue++; + } + codevalue *= 2; + } + return HT; + } + function initHuffmanTbl() { + YDC_HT = computeHuffmanTbl(std_dc_luminance_nrcodes, std_dc_luminance_values); + UVDC_HT = computeHuffmanTbl(std_dc_chrominance_nrcodes, std_dc_chrominance_values); + YAC_HT = computeHuffmanTbl(std_ac_luminance_nrcodes, std_ac_luminance_values); + UVAC_HT = computeHuffmanTbl(std_ac_chrominance_nrcodes, std_ac_chrominance_values); + } + function initCategoryNumber() { + var nrlower = 1; + var nrupper = 2; + for (var cat = 1; cat <= 15; cat++) { + //Positive numbers + for (var nr = nrlower; nr < nrupper; nr++) { + category[32767 + nr] = cat; + bitcode[32767 + nr] = []; + bitcode[32767 + nr][1] = cat; + bitcode[32767 + nr][0] = nr; + } + //Negative numbers + for (var nrneg = -(nrupper - 1); nrneg <= -nrlower; nrneg++) { + category[32767 + nrneg] = cat; + bitcode[32767 + nrneg] = []; + bitcode[32767 + nrneg][1] = cat; + bitcode[32767 + nrneg][0] = nrupper - 1 + nrneg; + } + nrlower <<= 1; + nrupper <<= 1; + } + } + function initRGBYUVTable() { + for (var i = 0; i < 256; i++) { + RGB_YUV_TABLE[i] = 19595 * i; + RGB_YUV_TABLE[i + 256 >> 0] = 38470 * i; + RGB_YUV_TABLE[i + 512 >> 0] = 7471 * i + 0x8000; + RGB_YUV_TABLE[i + 768 >> 0] = -11059 * i; + RGB_YUV_TABLE[i + 1024 >> 0] = -21709 * i; + RGB_YUV_TABLE[i + 1280 >> 0] = 32768 * i + 0x807fff; + RGB_YUV_TABLE[i + 1536 >> 0] = -27439 * i; + RGB_YUV_TABLE[i + 1792 >> 0] = -5329 * i; + } + } + + // IO functions + function writeBits(bs) { + var value = bs[0]; + var posval = bs[1] - 1; + while (posval >= 0) { + if (value & 1 << posval) { + bytenew |= 1 << bytepos; + } + posval--; + bytepos--; + if (bytepos < 0) { + if (bytenew == 0xff) { + writeByte(0xff); + writeByte(0); + } else { + writeByte(bytenew); + } + bytepos = 7; + bytenew = 0; + } + } + } + function writeByte(value) { + //byteout.push(clt[value]); // write char directly instead of converting later + byteout.push(value); + } + function writeWord(value) { + writeByte(value >> 8 & 0xff); + writeByte(value & 0xff); + } + + // DCT & quantization core + function fDCTQuant(data, fdtbl) { + var d0, d1, d2, d3, d4, d5, d6, d7; + /* Pass 1: process rows. */ + var dataOff = 0; + var i; + var I8 = 8; + var I64 = 64; + for (i = 0; i < I8; ++i) { + d0 = data[dataOff]; + d1 = data[dataOff + 1]; + d2 = data[dataOff + 2]; + d3 = data[dataOff + 3]; + d4 = data[dataOff + 4]; + d5 = data[dataOff + 5]; + d6 = data[dataOff + 6]; + d7 = data[dataOff + 7]; + var tmp0 = d0 + d7; + var tmp7 = d0 - d7; + var tmp1 = d1 + d6; + var tmp6 = d1 - d6; + var tmp2 = d2 + d5; + var tmp5 = d2 - d5; + var tmp3 = d3 + d4; + var tmp4 = d3 - d4; + + /* Even part */ + var tmp10 = tmp0 + tmp3; /* phase 2 */ + var tmp13 = tmp0 - tmp3; + var tmp11 = tmp1 + tmp2; + var tmp12 = tmp1 - tmp2; + data[dataOff] = tmp10 + tmp11; /* phase 3 */ + data[dataOff + 4] = tmp10 - tmp11; + var z1 = (tmp12 + tmp13) * 0.707106781; /* c4 */ + data[dataOff + 2] = tmp13 + z1; /* phase 5 */ + data[dataOff + 6] = tmp13 - z1; + + /* Odd part */ + tmp10 = tmp4 + tmp5; /* phase 2 */ + tmp11 = tmp5 + tmp6; + tmp12 = tmp6 + tmp7; + + /* The rotator is modified from fig 4-8 to avoid extra negations. */ + var z5 = (tmp10 - tmp12) * 0.382683433; /* c6 */ + var z2 = 0.5411961 * tmp10 + z5; /* c2-c6 */ + var z4 = 1.306562965 * tmp12 + z5; /* c2+c6 */ + var z3 = tmp11 * 0.707106781; /* c4 */ + + var z11 = tmp7 + z3; /* phase 5 */ + var z13 = tmp7 - z3; + data[dataOff + 5] = z13 + z2; /* phase 6 */ + data[dataOff + 3] = z13 - z2; + data[dataOff + 1] = z11 + z4; + data[dataOff + 7] = z11 - z4; + dataOff += 8; /* advance pointer to next row */ + } + + /* Pass 2: process columns. */ + dataOff = 0; + for (i = 0; i < I8; ++i) { + d0 = data[dataOff]; + d1 = data[dataOff + 8]; + d2 = data[dataOff + 16]; + d3 = data[dataOff + 24]; + d4 = data[dataOff + 32]; + d5 = data[dataOff + 40]; + d6 = data[dataOff + 48]; + d7 = data[dataOff + 56]; + var tmp0p2 = d0 + d7; + var tmp7p2 = d0 - d7; + var tmp1p2 = d1 + d6; + var tmp6p2 = d1 - d6; + var tmp2p2 = d2 + d5; + var tmp5p2 = d2 - d5; + var tmp3p2 = d3 + d4; + var tmp4p2 = d3 - d4; + + /* Even part */ + var tmp10p2 = tmp0p2 + tmp3p2; /* phase 2 */ + var tmp13p2 = tmp0p2 - tmp3p2; + var tmp11p2 = tmp1p2 + tmp2p2; + var tmp12p2 = tmp1p2 - tmp2p2; + data[dataOff] = tmp10p2 + tmp11p2; /* phase 3 */ + data[dataOff + 32] = tmp10p2 - tmp11p2; + var z1p2 = (tmp12p2 + tmp13p2) * 0.707106781; /* c4 */ + data[dataOff + 16] = tmp13p2 + z1p2; /* phase 5 */ + data[dataOff + 48] = tmp13p2 - z1p2; + + /* Odd part */ + tmp10p2 = tmp4p2 + tmp5p2; /* phase 2 */ + tmp11p2 = tmp5p2 + tmp6p2; + tmp12p2 = tmp6p2 + tmp7p2; + + /* The rotator is modified from fig 4-8 to avoid extra negations. */ + var z5p2 = (tmp10p2 - tmp12p2) * 0.382683433; /* c6 */ + var z2p2 = 0.5411961 * tmp10p2 + z5p2; /* c2-c6 */ + var z4p2 = 1.306562965 * tmp12p2 + z5p2; /* c2+c6 */ + var z3p2 = tmp11p2 * 0.707106781; /* c4 */ + + var z11p2 = tmp7p2 + z3p2; /* phase 5 */ + var z13p2 = tmp7p2 - z3p2; + data[dataOff + 40] = z13p2 + z2p2; /* phase 6 */ + data[dataOff + 24] = z13p2 - z2p2; + data[dataOff + 8] = z11p2 + z4p2; + data[dataOff + 56] = z11p2 - z4p2; + dataOff++; /* advance pointer to next column */ + } + + // Quantize/descale the coefficients + var fDCTQuant; + for (i = 0; i < I64; ++i) { + // Apply the quantization and scaling factor & Round to nearest integer + fDCTQuant = data[i] * fdtbl[i]; + outputfDCTQuant[i] = fDCTQuant > 0.0 ? fDCTQuant + 0.5 | 0 : fDCTQuant - 0.5 | 0; + //outputfDCTQuant[i] = fround(fDCTQuant); + } + return outputfDCTQuant; + } + function writeAPP0() { + writeWord(0xffe0); // marker + writeWord(16); // length + writeByte(0x4a); // J + writeByte(0x46); // F + writeByte(0x49); // I + writeByte(0x46); // F + writeByte(0); // = "JFIF",'\0' + writeByte(1); // versionhi + writeByte(1); // versionlo + writeByte(0); // xyunits + writeWord(1); // xdensity + writeWord(1); // ydensity + writeByte(0); // thumbnwidth + writeByte(0); // thumbnheight + } + function writeSOF0(width, height) { + writeWord(0xffc0); // marker + writeWord(17); // length, truecolor YUV JPG + writeByte(8); // precision + writeWord(height); + writeWord(width); + writeByte(3); // nrofcomponents + writeByte(1); // IdY + writeByte(0x11); // HVY + writeByte(0); // QTY + writeByte(2); // IdU + writeByte(0x11); // HVU + writeByte(1); // QTU + writeByte(3); // IdV + writeByte(0x11); // HVV + writeByte(1); // QTV + } + function writeDQT() { + writeWord(0xffdb); // marker + writeWord(132); // length + writeByte(0); + for (var i = 0; i < 64; i++) { + writeByte(YTable[i]); + } + writeByte(1); + for (var j = 0; j < 64; j++) { + writeByte(UVTable[j]); + } + } + function writeDHT() { + writeWord(0xffc4); // marker + writeWord(0x01a2); // length + + writeByte(0); // HTYDCinfo + for (var i = 0; i < 16; i++) { + writeByte(std_dc_luminance_nrcodes[i + 1]); + } + for (var j = 0; j <= 11; j++) { + writeByte(std_dc_luminance_values[j]); + } + writeByte(0x10); // HTYACinfo + for (var k = 0; k < 16; k++) { + writeByte(std_ac_luminance_nrcodes[k + 1]); + } + for (var l = 0; l <= 161; l++) { + writeByte(std_ac_luminance_values[l]); + } + writeByte(1); // HTUDCinfo + for (var m = 0; m < 16; m++) { + writeByte(std_dc_chrominance_nrcodes[m + 1]); + } + for (var n = 0; n <= 11; n++) { + writeByte(std_dc_chrominance_values[n]); + } + writeByte(0x11); // HTUACinfo + for (var o = 0; o < 16; o++) { + writeByte(std_ac_chrominance_nrcodes[o + 1]); + } + for (var p = 0; p <= 161; p++) { + writeByte(std_ac_chrominance_values[p]); + } + } + function writeSOS() { + writeWord(0xffda); // marker + writeWord(12); // length + writeByte(3); // nrofcomponents + writeByte(1); // IdY + writeByte(0); // HTY + writeByte(2); // IdU + writeByte(0x11); // HTU + writeByte(3); // IdV + writeByte(0x11); // HTV + writeByte(0); // Ss + writeByte(0x3f); // Se + writeByte(0); // Bf + } + function processDU(CDU, fdtbl, DC, HTDC, HTAC) { + var EOB = HTAC[0x00]; + var M16zeroes = HTAC[0xf0]; + var pos; + var I16 = 16; + var I63 = 63; + var I64 = 64; + var DU_DCT = fDCTQuant(CDU, fdtbl); + //ZigZag reorder + for (var j = 0; j < I64; ++j) { + DU[ZigZag[j]] = DU_DCT[j]; + } + var Diff = DU[0] - DC; + DC = DU[0]; + //Encode DC + if (Diff == 0) { + writeBits(HTDC[0]); // Diff might be 0 + } else { + pos = 32767 + Diff; + writeBits(HTDC[category[pos]]); + writeBits(bitcode[pos]); + } + //Encode ACs + var end0pos = 63; // was const... which is crazy + while (end0pos > 0 && DU[end0pos] == 0) { + end0pos--; + } + //end0pos = first element in reverse order !=0 + if (end0pos == 0) { + writeBits(EOB); + return DC; + } + var i = 1; + var lng; + while (i <= end0pos) { + var startpos = i; + while (DU[i] == 0 && i <= end0pos) { + ++i; + } + var nrzeroes = i - startpos; + if (nrzeroes >= I16) { + lng = nrzeroes >> 4; + for (var nrmarker = 1; nrmarker <= lng; ++nrmarker) { + writeBits(M16zeroes); + } + nrzeroes = nrzeroes & 0xf; + } + pos = 32767 + DU[i]; + writeBits(HTAC[(nrzeroes << 4) + category[pos]]); + writeBits(bitcode[pos]); + i++; + } + if (end0pos != I63) { + writeBits(EOB); + } + return DC; + } + function initCharLookupTable() { + var sfcc = String.fromCharCode; + for (var i = 0; i < 256; i++) { + ///// ACHTUNG // 255 + clt[i] = sfcc(i); + } + } + this.encode = function (image, quality // image data object + ) { + if (quality) setQuality(quality); + + // Initialize bit writer + byteout = new Array(); + bytenew = 0; + bytepos = 7; + + // Add JPEG headers + writeWord(0xffd8); // SOI + writeAPP0(); + writeDQT(); + writeSOF0(image.width, image.height); + writeDHT(); + writeSOS(); + + // Encode 8x8 macroblocks + var DCY = 0; + var DCU = 0; + var DCV = 0; + bytenew = 0; + bytepos = 7; + this.encode.displayName = "_encode_"; + var imageData = image.data; + var width = image.width; + var height = image.height; + var quadWidth = width * 4; + var x, + y = 0; + var r, g, b; + var start, p, col, row, pos; + while (y < height) { + x = 0; + while (x < quadWidth) { + start = quadWidth * y + x; + col = -1; + row = 0; + for (pos = 0; pos < 64; pos++) { + row = pos >> 3; // /8 + col = (pos & 7) * 4; // %8 + p = start + row * quadWidth + col; + if (y + row >= height) { + // padding bottom + p -= quadWidth * (y + 1 + row - height); + } + if (x + col >= quadWidth) { + // padding right + p -= x + col - quadWidth + 4; + } + r = imageData[p++]; + g = imageData[p++]; + b = imageData[p++]; + + /* // calculate YUV values dynamically + YDU[pos]=((( 0.29900)*r+( 0.58700)*g+( 0.11400)*b))-128; //-0x80 + UDU[pos]=(((-0.16874)*r+(-0.33126)*g+( 0.50000)*b)); + VDU[pos]=((( 0.50000)*r+(-0.41869)*g+(-0.08131)*b)); + */ + + // use lookup table (slightly faster) + YDU[pos] = (RGB_YUV_TABLE[r] + RGB_YUV_TABLE[g + 256 >> 0] + RGB_YUV_TABLE[b + 512 >> 0] >> 16) - 128; + UDU[pos] = (RGB_YUV_TABLE[r + 768 >> 0] + RGB_YUV_TABLE[g + 1024 >> 0] + RGB_YUV_TABLE[b + 1280 >> 0] >> 16) - 128; + VDU[pos] = (RGB_YUV_TABLE[r + 1280 >> 0] + RGB_YUV_TABLE[g + 1536 >> 0] + RGB_YUV_TABLE[b + 1792 >> 0] >> 16) - 128; + } + DCY = processDU(YDU, fdtbl_Y, DCY, YDC_HT, YAC_HT); + DCU = processDU(UDU, fdtbl_UV, DCU, UVDC_HT, UVAC_HT); + DCV = processDU(VDU, fdtbl_UV, DCV, UVDC_HT, UVAC_HT); + x += 32; + } + y += 8; + } + + //////////////////////////////////////////////////////////////// + + // Do the bit alignment of the EOI marker + if (bytepos >= 0) { + var fillbits = []; + fillbits[1] = bytepos + 1; + fillbits[0] = (1 << bytepos + 1) - 1; + writeBits(fillbits); + } + writeWord(0xffd9); //EOI + + return new Uint8Array(byteout); + }; + function setQuality(quality) { + quality = Math.min(Math.max(quality, 1), 100); + if (currentQuality == quality) return; // don't recalc if unchanged + + var sf = quality < 50 ? Math.floor(5000 / quality) : Math.floor(200 - quality * 2); + initQuantTables(sf); + currentQuality = quality; + //console.log('Quality set to: '+quality +'%'); + } + function init() { + quality = quality || 50; + // Create tables + initCharLookupTable(); + initHuffmanTbl(); + initCategoryNumber(); + initRGBYUVTable(); + setQuality(quality); + } + init(); + } + + /** + * @license + * Copyright (c) 2017 Aras Abbasi + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * jsPDF Gif Support PlugIn + * + * @name gif_support + * @module + */ + (function (jsPDFAPI) { + + jsPDFAPI.processGIF89A = function (imageData, index, alias, compression) { + var reader = new GifReader(imageData); + var width = reader.width, + height = reader.height; + var qu = 100; + var pixels = []; + reader.decodeAndBlitFrameRGBA(0, pixels); + var rawImageData = { + data: pixels, + width: width, + height: height + }; + var encoder = new JPEGEncoder(qu); + var data = encoder.encode(rawImageData, qu); + return jsPDFAPI.processJPEG.call(this, data, index, alias, compression); + }; + jsPDFAPI.processGIF87A = jsPDFAPI.processGIF89A; + })(jsPDF.API); + + /** + * @author shaozilee + * + * Bmp format decoder,support 1bit 4bit 8bit 24bit bmp + * + */ + function BmpDecoder(buffer, is_with_alpha) { + this.pos = 0; + this.buffer = buffer; + this.datav = new DataView(buffer.buffer); + this.is_with_alpha = !!is_with_alpha; + this.bottom_up = true; + this.flag = String.fromCharCode(this.buffer[0]) + String.fromCharCode(this.buffer[1]); + this.pos += 2; + if (["BM", "BA", "CI", "CP", "IC", "PT"].indexOf(this.flag) === -1) throw new Error("Invalid BMP File"); + this.parseHeader(); + this.parseBGR(); + } + BmpDecoder.prototype.parseHeader = function () { + this.fileSize = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.reserved = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.offset = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.headerSize = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.width = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.height = this.datav.getInt32(this.pos, true); + this.pos += 4; + this.planes = this.datav.getUint16(this.pos, true); + this.pos += 2; + this.bitPP = this.datav.getUint16(this.pos, true); + this.pos += 2; + this.compress = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.rawSize = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.hr = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.vr = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.colors = this.datav.getUint32(this.pos, true); + this.pos += 4; + this.importantColors = this.datav.getUint32(this.pos, true); + this.pos += 4; + if (this.bitPP === 16 && this.is_with_alpha) { + this.bitPP = 15; + } + if (this.bitPP < 15) { + var len = this.colors === 0 ? 1 << this.bitPP : this.colors; + this.palette = new Array(len); + for (var i = 0; i < len; i++) { + var blue = this.datav.getUint8(this.pos++, true); + var green = this.datav.getUint8(this.pos++, true); + var red = this.datav.getUint8(this.pos++, true); + var quad = this.datav.getUint8(this.pos++, true); + this.palette[i] = { + red: red, + green: green, + blue: blue, + quad: quad + }; + } + } + if (this.height < 0) { + this.height *= -1; + this.bottom_up = false; + } + }; + BmpDecoder.prototype.parseBGR = function () { + this.pos = this.offset; + try { + var bitn = "bit" + this.bitPP; + var len = this.width * this.height * 4; + this.data = new Uint8Array(len); + this[bitn](); + } catch (e) { + console.log("bit decode error:" + e); + } + }; + BmpDecoder.prototype.bit1 = function () { + var xlen = Math.ceil(this.width / 8); + var mode = xlen % 4; + var y; + for (y = this.height - 1; y >= 0; y--) { + var line = this.bottom_up ? y : this.height - 1 - y; + for (var x = 0; x < xlen; x++) { + var b = this.datav.getUint8(this.pos++, true); + var location = line * this.width * 4 + x * 8 * 4; + for (var i = 0; i < 8; i++) { + if (x * 8 + i < this.width) { + var rgb = this.palette[b >> 7 - i & 0x1]; + this.data[location + i * 4] = rgb.blue; + this.data[location + i * 4 + 1] = rgb.green; + this.data[location + i * 4 + 2] = rgb.red; + this.data[location + i * 4 + 3] = 0xff; + } else { + break; + } + } + } + if (mode !== 0) { + this.pos += 4 - mode; + } + } + }; + BmpDecoder.prototype.bit4 = function () { + var xlen = Math.ceil(this.width / 2); + var mode = xlen % 4; + for (var y = this.height - 1; y >= 0; y--) { + var line = this.bottom_up ? y : this.height - 1 - y; + for (var x = 0; x < xlen; x++) { + var b = this.datav.getUint8(this.pos++, true); + var location = line * this.width * 4 + x * 2 * 4; + var before = b >> 4; + var after = b & 0x0f; + var rgb = this.palette[before]; + this.data[location] = rgb.blue; + this.data[location + 1] = rgb.green; + this.data[location + 2] = rgb.red; + this.data[location + 3] = 0xff; + if (x * 2 + 1 >= this.width) break; + rgb = this.palette[after]; + this.data[location + 4] = rgb.blue; + this.data[location + 4 + 1] = rgb.green; + this.data[location + 4 + 2] = rgb.red; + this.data[location + 4 + 3] = 0xff; + } + if (mode !== 0) { + this.pos += 4 - mode; + } + } + }; + BmpDecoder.prototype.bit8 = function () { + var mode = this.width % 4; + for (var y = this.height - 1; y >= 0; y--) { + var line = this.bottom_up ? y : this.height - 1 - y; + for (var x = 0; x < this.width; x++) { + var b = this.datav.getUint8(this.pos++, true); + var location = line * this.width * 4 + x * 4; + if (b < this.palette.length) { + var rgb = this.palette[b]; + this.data[location] = rgb.red; + this.data[location + 1] = rgb.green; + this.data[location + 2] = rgb.blue; + this.data[location + 3] = 0xff; + } else { + this.data[location] = 0xff; + this.data[location + 1] = 0xff; + this.data[location + 2] = 0xff; + this.data[location + 3] = 0xff; + } + } + if (mode !== 0) { + this.pos += 4 - mode; + } + } + }; + BmpDecoder.prototype.bit15 = function () { + var dif_w = this.width % 3; + var _11111 = parseInt("11111", 2), + _1_5 = _11111; + for (var y = this.height - 1; y >= 0; y--) { + var line = this.bottom_up ? y : this.height - 1 - y; + for (var x = 0; x < this.width; x++) { + var B = this.datav.getUint16(this.pos, true); + this.pos += 2; + var blue = (B & _1_5) / _1_5 * 255 | 0; + var green = (B >> 5 & _1_5) / _1_5 * 255 | 0; + var red = (B >> 10 & _1_5) / _1_5 * 255 | 0; + var alpha = B >> 15 ? 0xff : 0x00; + var location = line * this.width * 4 + x * 4; + this.data[location] = red; + this.data[location + 1] = green; + this.data[location + 2] = blue; + this.data[location + 3] = alpha; + } + //skip extra bytes + this.pos += dif_w; + } + }; + BmpDecoder.prototype.bit16 = function () { + var dif_w = this.width % 3; + var _11111 = parseInt("11111", 2), + _1_5 = _11111; + var _111111 = parseInt("111111", 2), + _1_6 = _111111; + for (var y = this.height - 1; y >= 0; y--) { + var line = this.bottom_up ? y : this.height - 1 - y; + for (var x = 0; x < this.width; x++) { + var B = this.datav.getUint16(this.pos, true); + this.pos += 2; + var alpha = 0xff; + var blue = (B & _1_5) / _1_5 * 255 | 0; + var green = (B >> 5 & _1_6) / _1_6 * 255 | 0; + var red = (B >> 11) / _1_5 * 255 | 0; + var location = line * this.width * 4 + x * 4; + this.data[location] = red; + this.data[location + 1] = green; + this.data[location + 2] = blue; + this.data[location + 3] = alpha; + } + //skip extra bytes + this.pos += dif_w; + } + }; + BmpDecoder.prototype.bit24 = function () { + //when height > 0 + for (var y = this.height - 1; y >= 0; y--) { + var line = this.bottom_up ? y : this.height - 1 - y; + for (var x = 0; x < this.width; x++) { + var blue = this.datav.getUint8(this.pos++, true); + var green = this.datav.getUint8(this.pos++, true); + var red = this.datav.getUint8(this.pos++, true); + var location = line * this.width * 4 + x * 4; + this.data[location] = red; + this.data[location + 1] = green; + this.data[location + 2] = blue; + this.data[location + 3] = 0xff; + } + //skip extra bytes + this.pos += this.width % 4; + } + }; + + /** + * add 32bit decode func + * @author soubok + */ + BmpDecoder.prototype.bit32 = function () { + //when height > 0 + for (var y = this.height - 1; y >= 0; y--) { + var line = this.bottom_up ? y : this.height - 1 - y; + for (var x = 0; x < this.width; x++) { + var blue = this.datav.getUint8(this.pos++, true); + var green = this.datav.getUint8(this.pos++, true); + var red = this.datav.getUint8(this.pos++, true); + var alpha = this.datav.getUint8(this.pos++, true); + var location = line * this.width * 4 + x * 4; + this.data[location] = red; + this.data[location + 1] = green; + this.data[location + 2] = blue; + this.data[location + 3] = alpha; + } + //skip extra bytes + //this.pos += (this.width % 4); + } + }; + BmpDecoder.prototype.getData = function () { + return this.data; + }; + + /** + * @license + * Copyright (c) 2018 Aras Abbasi + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * jsPDF bmp Support PlugIn + * @name bmp_support + * @module + */ + (function (jsPDFAPI) { + + jsPDFAPI.processBMP = function (imageData, index, alias, compression) { + var reader = new BmpDecoder(imageData, false); + var width = reader.width, + height = reader.height; + var qu = 100; + var pixels = reader.getData(); + var rawImageData = { + data: pixels, + width: width, + height: height + }; + var encoder = new JPEGEncoder(qu); + var data = encoder.encode(rawImageData, qu); + return jsPDFAPI.processJPEG.call(this, data, index, alias, compression); + }; + })(jsPDF.API); + + function WebPDecoder(imageData) { + function x(F) { + if (!F) throw Error("assert :P"); + } + function fa(F, L, J) { + for (var H = 0; 4 > H; H++) { + if (F[L + H] != J.charCodeAt(H)) return !0; + } + return !1; + } + function I(F, L, J, H, Z) { + for (var O = 0; O < Z; O++) { + F[L + O] = J[H + O]; + } + } + function M(F, L, J, H) { + for (var Z = 0; Z < H; Z++) { + F[L + Z] = J; + } + } + function V(F) { + return new Int32Array(F); + } + function wa(F, L) { + for (var J = [], H = 0; H < F; H++) { + J.push(new L()); + } + return J; + } + function wb() { + function F(J, H, Z) { + for (var O = Z[H], L = 0; L < O; L++) { + J.push(Z.length > H + 1 ? [] : 0); + if (Z.length < H + 1) break; + F(J[L], H + 1, Z); + } + } + var L = []; + F(L, 0, [3, 11]); + return L; + } + function Ed(F, L) { + function J(H, O, F) { + for (var Z = F[O], ma = 0; ma < Z; ma++) { + H.push(F.length > O + 1 ? [] : new L()); + if (F.length < O + 1) break; + J(H[ma], O + 1, F); + } + } + var H = []; + J(H, 0, F); + return H; + } + var _WebPDecoder = function _WebPDecoder() { + var self = this; + function L(a, b) { + for (var c = 1 << b - 1 >>> 0; a & c;) { + c >>>= 1; + } + return c ? (a & c - 1) + c : a; + } + function J(a, b, c, d, e) { + x(!(d % c)); + do { + d -= c, a[b + d] = e; + } while (0 < d); + } + function H(a, b, c, d, e, f) { + var g = b, + h = 1 << c, + k, + l, + m = V(16), + n = V(16); + x(0 != e); + x(null != d); + x(null != a); + x(0 < c); + for (l = 0; l < e; ++l) { + if (15 < d[l]) return 0; + ++m[d[l]]; + } + if (m[0] == e) return 0; + n[1] = 0; + for (k = 1; 15 > k; ++k) { + if (m[k] > 1 << k) return 0; + n[k + 1] = n[k] + m[k]; + } + for (l = 0; l < e; ++l) { + k = d[l], 0 < d[l] && (f[n[k]++] = l); + } + if (1 == n[15]) return d = new O(), d.g = 0, d.value = f[0], J(a, g, 1, h, d), h; + var r = -1, + q = h - 1, + t = 0, + v = 1, + p = 1, + u, + w = 1 << c; + l = 0; + k = 1; + for (e = 2; k <= c; ++k, e <<= 1) { + p <<= 1; + v += p; + p -= m[k]; + if (0 > p) return 0; + for (; 0 < m[k]; --m[k]) { + d = new O(), d.g = k, d.value = f[l++], J(a, g + t, e, w, d), t = L(t, k); + } + } + k = c + 1; + for (e = 2; 15 >= k; ++k, e <<= 1) { + p <<= 1; + v += p; + p -= m[k]; + if (0 > p) return 0; + for (; 0 < m[k]; --m[k]) { + d = new O(); + if ((t & q) != r) { + g += w; + r = k; + for (u = 1 << r - c; 15 > r;) { + u -= m[r]; + if (0 >= u) break; + ++r; + u <<= 1; + } + u = r - c; + w = 1 << u; + h += w; + r = t & q; + a[b + r].g = u + c; + a[b + r].value = g - b - r; + } + d.g = k - c; + d.value = f[l++]; + J(a, g + (t >> c), e, w, d); + t = L(t, k); + } + } + return v != 2 * n[15] - 1 ? 0 : h; + } + function Z(a, b, c, d, e) { + x(2328 >= e); + if (512 >= e) var f = V(512);else if (f = V(e), null == f) return 0; + return H(a, b, c, d, e, f); + } + function O() { + this.value = this.g = 0; + } + function Fd() { + this.value = this.g = 0; + } + function Ub() { + this.G = wa(5, O); + this.H = V(5); + this.jc = this.Qb = this.qb = this.nd = 0; + this.pd = wa(xb, Fd); + } + function ma(a, b, c, d) { + x(null != a); + x(null != b); + x(2147483648 > d); + a.Ca = 254; + a.I = 0; + a.b = -8; + a.Ka = 0; + a.oa = b; + a.pa = c; + a.Jd = b; + a.Yc = c + d; + a.Zc = 4 <= d ? c + d - 4 + 1 : c; + Qa(a); + } + function na(a, b) { + for (var c = 0; 0 < b--;) { + c |= K(a, 128) << b; + } + return c; + } + function ca(a, b) { + var c = na(a, b); + return G(a) ? -c : c; + } + function cb(a, b, c, d) { + var e, + f = 0; + x(null != a); + x(null != b); + x(4294967288 > d); + a.Sb = d; + a.Ra = 0; + a.u = 0; + a.h = 0; + 4 < d && (d = 4); + for (e = 0; e < d; ++e) { + f += b[c + e] << 8 * e; + } + a.Ra = f; + a.bb = d; + a.oa = b; + a.pa = c; + } + function Vb(a) { + for (; 8 <= a.u && a.bb < a.Sb;) { + a.Ra >>>= 8, a.Ra += a.oa[a.pa + a.bb] << ob - 8 >>> 0, ++a.bb, a.u -= 8; + } + db(a) && (a.h = 1, a.u = 0); + } + function D(a, b) { + x(0 <= b); + if (!a.h && b <= Gd) { + var c = pb(a) & Hd[b]; + a.u += b; + Vb(a); + return c; + } + a.h = 1; + return a.u = 0; + } + function Wb() { + this.b = this.Ca = this.I = 0; + this.oa = []; + this.pa = 0; + this.Jd = []; + this.Yc = 0; + this.Zc = []; + this.Ka = 0; + } + function Ra() { + this.Ra = 0; + this.oa = []; + this.h = this.u = this.bb = this.Sb = this.pa = 0; + } + function pb(a) { + return a.Ra >>> (a.u & ob - 1) >>> 0; + } + function db(a) { + x(a.bb <= a.Sb); + return a.h || a.bb == a.Sb && a.u > ob; + } + function qb(a, b) { + a.u = b; + a.h = db(a); + } + function Sa(a) { + a.u >= Xb && (x(a.u >= Xb), Vb(a)); + } + function Qa(a) { + x(null != a && null != a.oa); + a.pa < a.Zc ? (a.I = (a.oa[a.pa++] | a.I << 8) >>> 0, a.b += 8) : (x(null != a && null != a.oa), a.pa < a.Yc ? (a.b += 8, a.I = a.oa[a.pa++] | a.I << 8) : a.Ka ? a.b = 0 : (a.I <<= 8, a.b += 8, a.Ka = 1)); + } + function G(a) { + return na(a, 1); + } + function K(a, b) { + var c = a.Ca; + 0 > a.b && Qa(a); + var d = a.b, + e = c * b >>> 8, + f = (a.I >>> d > e) + 0; + f ? (c -= e, a.I -= e + 1 << d >>> 0) : c = e + 1; + d = c; + for (e = 0; 256 <= d;) { + e += 8, d >>= 8; + } + d = 7 ^ e + Id[d]; + a.b -= d; + a.Ca = (c << d) - 1; + return f; + } + function ra(a, b, c) { + a[b + 0] = c >> 24 & 255; + a[b + 1] = c >> 16 & 255; + a[b + 2] = c >> 8 & 255; + a[b + 3] = c >> 0 & 255; + } + function Ta(a, b) { + return a[b + 0] << 0 | a[b + 1] << 8; + } + function Yb(a, b) { + return Ta(a, b) | a[b + 2] << 16; + } + function Ha(a, b) { + return Ta(a, b) | Ta(a, b + 2) << 16; + } + function Zb(a, b) { + var c = 1 << b; + x(null != a); + x(0 < b); + a.X = V(c); + if (null == a.X) return 0; + a.Mb = 32 - b; + a.Xa = b; + return 1; + } + function $b(a, b) { + x(null != a); + x(null != b); + x(a.Xa == b.Xa); + I(b.X, 0, a.X, 0, 1 << b.Xa); + } + function ac() { + this.X = []; + this.Xa = this.Mb = 0; + } + function bc(a, b, c, d) { + x(null != c); + x(null != d); + var e = c[0], + f = d[0]; + 0 == e && (e = (a * f + b / 2) / b); + 0 == f && (f = (b * e + a / 2) / a); + if (0 >= e || 0 >= f) return 0; + c[0] = e; + d[0] = f; + return 1; + } + function xa(a, b) { + return a + (1 << b) - 1 >>> b; + } + function yb(a, b) { + return ((a & 4278255360) + (b & 4278255360) >>> 0 & 4278255360) + ((a & 16711935) + (b & 16711935) >>> 0 & 16711935) >>> 0; + } + function X(a, b) { + self[b] = function (b, d, e, f, g, h, k) { + var c; + for (c = 0; c < g; ++c) { + var m = self[a](h[k + c - 1], e, f + c); + h[k + c] = yb(b[d + c], m); + } + }; + } + function Jd() { + this.ud = this.hd = this.jd = 0; + } + function aa(a, b) { + return (((a ^ b) & 4278124286) >>> 1) + (a & b) >>> 0; + } + function sa(a) { + if (0 <= a && 256 > a) return a; + if (0 > a) return 0; + if (255 < a) return 255; + } + function eb(a, b) { + return sa(a + (a - b + 0.5 >> 1)); + } + function Ia(a, b, c) { + return Math.abs(b - c) - Math.abs(a - c); + } + function cc(a, b, c, d, e, f, g) { + d = f[g - 1]; + for (c = 0; c < e; ++c) { + f[g + c] = d = yb(a[b + c], d); + } + } + function Kd(a, b, c, d, e) { + var f; + for (f = 0; f < c; ++f) { + var g = a[b + f], + h = g >> 8 & 255, + k = g & 16711935, + k = k + ((h << 16) + h), + k = k & 16711935; + d[e + f] = (g & 4278255360) + k >>> 0; + } + } + function dc(a, b) { + b.jd = a >> 0 & 255; + b.hd = a >> 8 & 255; + b.ud = a >> 16 & 255; + } + function Ld(a, b, c, d, e, f) { + var g; + for (g = 0; g < d; ++g) { + var h = b[c + g], + k = h >>> 8, + l = h >>> 16, + m = h, + l = l + ((a.jd << 24 >> 24) * (k << 24 >> 24) >>> 5), + l = l & 255, + m = m + ((a.hd << 24 >> 24) * (k << 24 >> 24) >>> 5), + m = m + ((a.ud << 24 >> 24) * (l << 24 >> 24) >>> 5), + m = m & 255; + e[f + g] = (h & 4278255360) + (l << 16) + m; + } + } + function ec(a, b, c, d, e) { + self[b] = function (a, b, c, k, l, m, n, r, q) { + for (k = n; k < r; ++k) { + for (n = 0; n < q; ++n) { + l[m++] = e(c[d(a[b++])]); + } + } + }; + self[a] = function (a, b, h, k, l, m, n) { + var f = 8 >> a.b, + g = a.Ea, + t = a.K[0], + v = a.w; + if (8 > f) for (a = (1 << a.b) - 1, v = (1 << f) - 1; b < h; ++b) { + var p = 0, + u; + for (u = 0; u < g; ++u) { + u & a || (p = d(k[l++])), m[n++] = e(t[p & v]), p >>= f; + } + } else self["VP8LMapColor" + c](k, l, t, v, m, n, b, h, g); + }; + } + function Md(a, b, c, d, e) { + for (c = b + c; b < c;) { + var f = a[b++]; + d[e++] = f >> 16 & 255; + d[e++] = f >> 8 & 255; + d[e++] = f >> 0 & 255; + } + } + function Nd(a, b, c, d, e) { + for (c = b + c; b < c;) { + var f = a[b++]; + d[e++] = f >> 16 & 255; + d[e++] = f >> 8 & 255; + d[e++] = f >> 0 & 255; + d[e++] = f >> 24 & 255; + } + } + function Od(a, b, c, d, e) { + for (c = b + c; b < c;) { + var f = a[b++], + g = f >> 16 & 240 | f >> 12 & 15, + f = f >> 0 & 240 | f >> 28 & 15; + d[e++] = g; + d[e++] = f; + } + } + function Pd(a, b, c, d, e) { + for (c = b + c; b < c;) { + var f = a[b++], + g = f >> 16 & 248 | f >> 13 & 7, + f = f >> 5 & 224 | f >> 3 & 31; + d[e++] = g; + d[e++] = f; + } + } + function Qd(a, b, c, d, e) { + for (c = b + c; b < c;) { + var f = a[b++]; + d[e++] = f >> 0 & 255; + d[e++] = f >> 8 & 255; + d[e++] = f >> 16 & 255; + } + } + function fb(a, b, c, d, e, f) { + if (0 == f) for (c = b + c; b < c;) { + f = a[b++], ra(d, (f[0] >> 24 | f[1] >> 8 & 65280 | f[2] << 8 & 16711680 | f[3] << 24) >>> 0), e += 32; + } else I(d, e, a, b, c); + } + function gb(a, b) { + self[b][0] = self[a + "0"]; + self[b][1] = self[a + "1"]; + self[b][2] = self[a + "2"]; + self[b][3] = self[a + "3"]; + self[b][4] = self[a + "4"]; + self[b][5] = self[a + "5"]; + self[b][6] = self[a + "6"]; + self[b][7] = self[a + "7"]; + self[b][8] = self[a + "8"]; + self[b][9] = self[a + "9"]; + self[b][10] = self[a + "10"]; + self[b][11] = self[a + "11"]; + self[b][12] = self[a + "12"]; + self[b][13] = self[a + "13"]; + self[b][14] = self[a + "0"]; + self[b][15] = self[a + "0"]; + } + function hb(a) { + return a == zb || a == Ab || a == Ja || a == Bb; + } + function Rd() { + this.eb = []; + this.size = this.A = this.fb = 0; + } + function Sd() { + this.y = []; + this.f = []; + this.ea = []; + this.F = []; + this.Tc = this.Ed = this.Cd = this.Fd = this.lb = this.Db = this.Ab = this.fa = this.J = this.W = this.N = this.O = 0; + } + function Cb() { + this.Rd = this.height = this.width = this.S = 0; + this.f = {}; + this.f.RGBA = new Rd(); + this.f.kb = new Sd(); + this.sd = null; + } + function Td() { + this.width = [0]; + this.height = [0]; + this.Pd = [0]; + this.Qd = [0]; + this.format = [0]; + } + function Ud() { + this.Id = this.fd = this.Md = this.hb = this.ib = this.da = this.bd = this.cd = this.j = this.v = this.Da = this.Sd = this.ob = 0; + } + function Vd(a) { + alert("todo:WebPSamplerProcessPlane"); + return a.T; + } + function Wd(a, b) { + var c = a.T, + d = b.ba.f.RGBA, + e = d.eb, + f = d.fb + a.ka * d.A, + g = P[b.ba.S], + h = a.y, + k = a.O, + l = a.f, + m = a.N, + n = a.ea, + r = a.W, + q = b.cc, + t = b.dc, + v = b.Mc, + p = b.Nc, + u = a.ka, + w = a.ka + a.T, + y = a.U, + A = y + 1 >> 1; + 0 == u ? g(h, k, null, null, l, m, n, r, l, m, n, r, e, f, null, null, y) : (g(b.ec, b.fc, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y), ++c); + for (; u + 2 < w; u += 2) { + q = l, t = m, v = n, p = r, m += a.Rc, r += a.Rc, f += 2 * d.A, k += 2 * a.fa, g(h, k - a.fa, h, k, q, t, v, p, l, m, n, r, e, f - d.A, e, f, y); + } + k += a.fa; + a.j + w < a.o ? (I(b.ec, b.fc, h, k, y), I(b.cc, b.dc, l, m, A), I(b.Mc, b.Nc, n, r, A), c--) : w & 1 || g(h, k, null, null, l, m, n, r, l, m, n, r, e, f + d.A, null, null, y); + return c; + } + function Xd(a, b, c) { + var d = a.F, + e = [a.J]; + if (null != d) { + var f = a.U, + g = b.ba.S, + h = g == ya || g == Ja; + b = b.ba.f.RGBA; + var k = [0], + l = a.ka; + k[0] = a.T; + a.Kb && (0 == l ? --k[0] : (--l, e[0] -= a.width), a.j + a.ka + a.T == a.o && (k[0] = a.o - a.j - l)); + var m = b.eb, + l = b.fb + l * b.A; + a = fc(d, e[0], a.width, f, k, m, l + (h ? 0 : 3), b.A); + x(c == k); + a && hb(g) && za(m, l, h, f, k, b.A); + } + return 0; + } + function gc(a) { + var b = a.ma, + c = b.ba.S, + d = 11 > c, + e = c == Ua || c == Va || c == ya || c == Db || 12 == c || hb(c); + b.memory = null; + b.Ib = null; + b.Jb = null; + b.Nd = null; + if (!hc(b.Oa, a, e ? 11 : 12)) return 0; + e && hb(c) && ic(); + if (a.da) alert("todo:use_scaling");else { + if (d) { + if (b.Ib = Vd, a.Kb) { + c = a.U + 1 >> 1; + b.memory = V(a.U + 2 * c); + if (null == b.memory) return 0; + b.ec = b.memory; + b.fc = 0; + b.cc = b.ec; + b.dc = b.fc + a.U; + b.Mc = b.cc; + b.Nc = b.dc + c; + b.Ib = Wd; + ic(); + } + } else alert("todo:EmitYUV"); + e && (b.Jb = Xd, d && Aa()); + } + if (d && !jc) { + for (a = 0; 256 > a; ++a) { + Yd[a] = 89858 * (a - 128) + Ba >> Wa, Zd[a] = -22014 * (a - 128) + Ba, $d[a] = -45773 * (a - 128), ae[a] = 113618 * (a - 128) + Ba >> Wa; + } + for (a = ta; a < Eb; ++a) { + b = 76283 * (a - 16) + Ba >> Wa, be[a - ta] = ga(b, 255), ce[a - ta] = ga(b + 8 >> 4, 15); + } + jc = 1; + } + return 1; + } + function kc(a) { + var b = a.ma, + c = a.U, + d = a.T; + x(!(a.ka & 1)); + if (0 >= c || 0 >= d) return 0; + c = b.Ib(a, b); + null != b.Jb && b.Jb(a, b, c); + b.Dc += c; + return 1; + } + function lc(a) { + a.ma.memory = null; + } + function mc(a, b, c, d) { + if (47 != D(a, 8)) return 0; + b[0] = D(a, 14) + 1; + c[0] = D(a, 14) + 1; + d[0] = D(a, 1); + return 0 != D(a, 3) ? 0 : !a.h; + } + function ib(a, b) { + if (4 > a) return a + 1; + var c = a - 2 >> 1; + return (2 + (a & 1) << c) + D(b, c) + 1; + } + function nc(a, b) { + if (120 < b) return b - 120; + var c = de[b - 1], + c = (c >> 4) * a + (8 - (c & 15)); + return 1 <= c ? c : 1; + } + function ua(a, b, c) { + var d = pb(c); + b += d & 255; + var e = a[b].g - 8; + 0 < e && (qb(c, c.u + 8), d = pb(c), b += a[b].value, b += d & (1 << e) - 1); + qb(c, c.u + a[b].g); + return a[b].value; + } + function ub(a, b, c) { + c.g += a.g; + c.value += a.value << b >>> 0; + x(8 >= c.g); + return a.g; + } + function ha(a, b, c) { + var d = a.xc; + b = 0 == d ? 0 : a.vc[a.md * (c >> d) + (b >> d)]; + x(b < a.Wb); + return a.Ya[b]; + } + function oc(a, b, c, d) { + var e = a.ab, + f = a.c * b, + g = a.C; + b = g + b; + var h = c, + k = d; + d = a.Ta; + for (c = a.Ua; 0 < e--;) { + var l = a.gc[e], + m = g, + n = b, + r = h, + q = k, + k = d, + h = c, + t = l.Ea; + x(m < n); + x(n <= l.nc); + switch (l.hc) { + case 2: + pc(r, q, (n - m) * t, k, h); + break; + case 0: + var v = l, + p = m, + u = n, + w = k, + y = h, + A = v.Ea; + 0 == p && (ee(r, q, null, null, 1, w, y), cc(r, q + 1, 0, 0, A - 1, w, y + 1), q += A, y += A, ++p); + for (var E = 1 << v.b, B = E - 1, C = xa(A, v.b), N = v.K, v = v.w + (p >> v.b) * C; p < u;) { + var z = N, + Q = v, + S = 1; + for (fe(r, q, w, y - A, 1, w, y); S < A;) { + var K = qc[z[Q++] >> 8 & 15], + D = (S & ~B) + E; + D > A && (D = A); + K(r, q + +S, w, y + S - A, D - S, w, y + S); + S = D; + } + q += A; + y += A; + ++p; + p & B || (v += C); + } + n != l.nc && I(k, h - t, k, h + (n - m - 1) * t, t); + break; + case 1: + t = r; + u = q; + r = l.Ea; + q = 1 << l.b; + w = q - 1; + y = r & ~w; + A = r - y; + p = xa(r, l.b); + E = l.K; + for (l = l.w + (m >> l.b) * p; m < n;) { + B = E; + C = l; + N = new Jd(); + v = u + y; + for (z = u + r; u < v;) { + dc(B[C++], N), Fb(N, t, u, q, k, h), u += q, h += q; + } + u < z && (dc(B[C++], N), Fb(N, t, u, A, k, h), u += A, h += A); + ++m; + m & w || (l += p); + } + break; + case 3: + if (r == k && q == h && 0 < l.b) { + y = (n - m) * xa(l.Ea, l.b); + t = h + (n - m) * t - y; + u = k; + r = t; + q = k; + w = h; + A = y; + p = []; + for (y = A - 1; 0 <= y; --y) { + p[y] = q[w + y]; + } + for (y = A - 1; 0 <= y; --y) { + u[r + y] = p[y]; + } + rc(l, m, n, k, t, k, h); + } else rc(l, m, n, r, q, k, h); + } + h = d; + k = c; + } + k != c && I(d, c, h, k, f); + } + function ge(a, b) { + var c = a.V, + d = a.Ba + a.c * a.C, + e = b - a.C; + x(b <= a.l.o); + x(16 >= e); + if (0 < e) { + var f = a.l, + g = a.Ta, + h = a.Ua, + k = f.width; + oc(a, e, c, d); + h = [h]; + c = a.C; + d = b; + e = h; + x(c < d); + x(f.v < f.va); + d > f.o && (d = f.o); + if (c < f.j) { + var l = f.j - c, + c = f.j; + e[0] += l * k; + } + c >= d ? c = 0 : (e[0] += 4 * f.v, f.ka = c - f.j, f.U = f.va - f.v, f.T = d - c, c = 1); + if (c) { + h = h[0]; + c = a.ca; + if (11 > c.S) { + for (var m = c.f.RGBA, d = c.S, e = f.U, f = f.T, l = m.eb, n = m.A, r = f, m = m.fb + a.Ma * m.A; 0 < r--;) { + var q = g, + t = h, + v = e, + p = l, + u = m; + switch (d) { + case Ca: + sc(q, t, v, p, u); + break; + case Ua: + Gb(q, t, v, p, u); + break; + case zb: + Gb(q, t, v, p, u); + za(p, u, 0, v, 1, 0); + break; + case tc: + uc(q, t, v, p, u); + break; + case Va: + fb(q, t, v, p, u, 1); + break; + case Ab: + fb(q, t, v, p, u, 1); + za(p, u, 0, v, 1, 0); + break; + case ya: + fb(q, t, v, p, u, 0); + break; + case Ja: + fb(q, t, v, p, u, 0); + za(p, u, 1, v, 1, 0); + break; + case Db: + Hb(q, t, v, p, u); + break; + case Bb: + Hb(q, t, v, p, u); + vc(p, u, v, 1, 0); + break; + case wc: + xc(q, t, v, p, u); + break; + default: + x(0); + } + h += k; + m += n; + } + a.Ma += f; + } else alert("todo:EmitRescaledRowsYUVA"); + x(a.Ma <= c.height); + } + } + a.C = b; + x(a.C <= a.i); + } + function yc(a) { + var b; + if (0 < a.ua) return 0; + for (b = 0; b < a.Wb; ++b) { + var c = a.Ya[b].G, + d = a.Ya[b].H; + if (0 < c[1][d[1] + 0].g || 0 < c[2][d[2] + 0].g || 0 < c[3][d[3] + 0].g) return 0; + } + return 1; + } + function zc(a, b, c, d, e, f) { + if (0 != a.Z) { + var g = a.qd, + h = a.rd; + for (x(null != ia[a.Z]); b < c; ++b) { + ia[a.Z](g, h, d, e, d, e, f), g = d, h = e, e += f; + } + a.qd = g; + a.rd = h; + } + } + function Ib(a, b) { + var c = a.l.ma, + d = 0 == c.Z || 1 == c.Z ? a.l.j : a.C, + d = a.C < d ? d : a.C; + x(b <= a.l.o); + if (b > d) { + var e = a.l.width, + f = c.ca, + g = c.tb + e * d, + h = a.V, + k = a.Ba + a.c * d, + l = a.gc; + x(1 == a.ab); + x(3 == l[0].hc); + he(l[0], d, b, h, k, f, g); + zc(c, d, b, f, g, e); + } + a.C = a.Ma = b; + } + function Jb(a, b, c, d, e, f, g) { + var h = a.$ / d, + k = a.$ % d, + l = a.m, + m = a.s, + n = c + a.$, + r = n; + e = c + d * e; + var q = c + d * f, + t = 280 + m.ua, + v = a.Pb ? h : 16777216, + p = 0 < m.ua ? m.Wa : null, + u = m.wc, + w = n < q ? ha(m, k, h) : null; + x(a.C < f); + x(q <= e); + var y = !1; + a: for (;;) { + for (; y || n < q;) { + var A = 0; + if (h >= v) { + var v = a, + E = n - c; + x(v.Pb); + v.wd = v.m; + v.xd = E; + 0 < v.s.ua && $b(v.s.Wa, v.s.vb); + v = h + ie; + } + k & u || (w = ha(m, k, h)); + x(null != w); + w.Qb && (b[n] = w.qb, y = !0); + if (!y) if (Sa(l), w.jc) { + var A = l, + E = b, + B = n, + C = w.pd[pb(A) & xb - 1]; + x(w.jc); + 256 > C.g ? (qb(A, A.u + C.g), E[B] = C.value, A = 0) : (qb(A, A.u + C.g - 256), x(256 <= C.value), A = C.value); + 0 == A && (y = !0); + } else A = ua(w.G[0], w.H[0], l); + if (l.h) break; + if (y || 256 > A) { + if (!y) if (w.nd) b[n] = (w.qb | A << 8) >>> 0;else { + Sa(l); + y = ua(w.G[1], w.H[1], l); + Sa(l); + E = ua(w.G[2], w.H[2], l); + B = ua(w.G[3], w.H[3], l); + if (l.h) break; + b[n] = (B << 24 | y << 16 | A << 8 | E) >>> 0; + } + y = !1; + ++n; + ++k; + if (k >= d && (k = 0, ++h, null != g && h <= f && !(h % 16) && g(a, h), null != p)) for (; r < n;) { + A = b[r++], p.X[(506832829 * A & 4294967295) >>> p.Mb] = A; + } + } else if (280 > A) { + A = ib(A - 256, l); + E = ua(w.G[4], w.H[4], l); + Sa(l); + E = ib(E, l); + E = nc(d, E); + if (l.h) break; + if (n - c < E || e - n < A) break a;else for (B = 0; B < A; ++B) { + b[n + B] = b[n + B - E]; + } + n += A; + for (k += A; k >= d;) { + k -= d, ++h, null != g && h <= f && !(h % 16) && g(a, h); + } + x(n <= e); + k & u && (w = ha(m, k, h)); + if (null != p) for (; r < n;) { + A = b[r++], p.X[(506832829 * A & 4294967295) >>> p.Mb] = A; + } + } else if (A < t) { + y = A - 280; + for (x(null != p); r < n;) { + A = b[r++], p.X[(506832829 * A & 4294967295) >>> p.Mb] = A; + } + A = n; + E = p; + x(!(y >>> E.Xa)); + b[A] = E.X[y]; + y = !0; + } else break a; + y || x(l.h == db(l)); + } + if (a.Pb && l.h && n < e) x(a.m.h), a.a = 5, a.m = a.wd, a.$ = a.xd, 0 < a.s.ua && $b(a.s.vb, a.s.Wa);else if (l.h) break a;else null != g && g(a, h > f ? f : h), a.a = 0, a.$ = n - c; + return 1; + } + a.a = 3; + return 0; + } + function Ac(a) { + x(null != a); + a.vc = null; + a.yc = null; + a.Ya = null; + var b = a.Wa; + null != b && (b.X = null); + a.vb = null; + x(null != a); + } + function Bc() { + var a = new je(); + if (null == a) return null; + a.a = 0; + a.xb = Cc; + gb("Predictor", "VP8LPredictors"); + gb("Predictor", "VP8LPredictors_C"); + gb("PredictorAdd", "VP8LPredictorsAdd"); + gb("PredictorAdd", "VP8LPredictorsAdd_C"); + pc = Kd; + Fb = Ld; + sc = Md; + Gb = Nd; + Hb = Od; + xc = Pd; + uc = Qd; + self.VP8LMapColor32b = ke; + self.VP8LMapColor8b = le; + return a; + } + function rb(a, b, c, d, e) { + var f = 1, + g = [a], + h = [b], + k = d.m, + l = d.s, + m = null, + n = 0; + a: for (;;) { + if (c) for (; f && D(k, 1);) { + var r = g, + q = h, + t = d, + v = 1, + p = t.m, + u = t.gc[t.ab], + w = D(p, 2); + if (t.Oc & 1 << w) f = 0;else { + t.Oc |= 1 << w; + u.hc = w; + u.Ea = r[0]; + u.nc = q[0]; + u.K = [null]; + ++t.ab; + x(4 >= t.ab); + switch (w) { + case 0: + case 1: + u.b = D(p, 3) + 2; + v = rb(xa(u.Ea, u.b), xa(u.nc, u.b), 0, t, u.K); + u.K = u.K[0]; + break; + case 3: + var y = D(p, 8) + 1, + A = 16 < y ? 0 : 4 < y ? 1 : 2 < y ? 2 : 3; + r[0] = xa(u.Ea, A); + u.b = A; + var v = rb(y, 1, 0, t, u.K), + E; + if (E = v) { + var B, + C = y, + N = u, + z = 1 << (8 >> N.b), + Q = V(z); + if (null == Q) E = 0;else { + var S = N.K[0], + K = N.w; + Q[0] = N.K[0][0]; + for (B = 1; B < 1 * C; ++B) { + Q[B] = yb(S[K + B], Q[B - 1]); + } + for (; B < 4 * z; ++B) { + Q[B] = 0; + } + N.K[0] = null; + N.K[0] = Q; + E = 1; + } + } + v = E; + break; + case 2: + break; + default: + x(0); + } + f = v; + } + } + g = g[0]; + h = h[0]; + if (f && D(k, 1) && (n = D(k, 4), f = 1 <= n && 11 >= n, !f)) { + d.a = 3; + break a; + } + var H; + if (H = f) b: { + var F = d, + G = g, + L = h, + J = n, + T = c, + Da, + ba, + X = F.m, + R = F.s, + P = [null], + U, + W = 1, + aa = 0, + na = me[J]; + c: for (;;) { + if (T && D(X, 1)) { + var ca = D(X, 3) + 2, + ga = xa(G, ca), + ka = xa(L, ca), + qa = ga * ka; + if (!rb(ga, ka, 0, F, P)) break c; + P = P[0]; + R.xc = ca; + for (Da = 0; Da < qa; ++Da) { + var ia = P[Da] >> 8 & 65535; + P[Da] = ia; + ia >= W && (W = ia + 1); + } + } + if (X.h) break c; + for (ba = 0; 5 > ba; ++ba) { + var Y = Dc[ba]; + !ba && 0 < J && (Y += 1 << J); + aa < Y && (aa = Y); + } + var ma = wa(W * na, O); + var ua = W, + va = wa(ua, Ub); + if (null == va) var la = null;else x(65536 >= ua), la = va; + var ha = V(aa); + if (null == la || null == ha || null == ma) { + F.a = 1; + break c; + } + var pa = ma; + for (Da = U = 0; Da < W; ++Da) { + var ja = la[Da], + da = ja.G, + ea = ja.H, + Fa = 0, + ra = 1, + Ha = 0; + for (ba = 0; 5 > ba; ++ba) { + Y = Dc[ba]; + da[ba] = pa; + ea[ba] = U; + !ba && 0 < J && (Y += 1 << J); + d: { + var sa, + za = Y, + ta = F, + oa = ha, + db = pa, + eb = U, + Ia = 0, + Ka = ta.m, + fb = D(Ka, 1); + M(oa, 0, 0, za); + if (fb) { + var gb = D(Ka, 1) + 1, + hb = D(Ka, 1), + Ja = D(Ka, 0 == hb ? 1 : 8); + oa[Ja] = 1; + 2 == gb && (Ja = D(Ka, 8), oa[Ja] = 1); + var ya = 1; + } else { + var Ua = V(19), + Va = D(Ka, 4) + 4; + if (19 < Va) { + ta.a = 3; + var Aa = 0; + break d; + } + for (sa = 0; sa < Va; ++sa) { + Ua[ne[sa]] = D(Ka, 3); + } + var Ba = void 0, + sb = void 0, + Wa = ta, + ib = Ua, + Ca = za, + Xa = oa, + Oa = 0, + La = Wa.m, + Ya = 8, + Za = wa(128, O); + e: for (;;) { + if (!Z(Za, 0, 7, ib, 19)) break e; + if (D(La, 1)) { + var kb = 2 + 2 * D(La, 3), + Ba = 2 + D(La, kb); + if (Ba > Ca) break e; + } else Ba = Ca; + for (sb = 0; sb < Ca && Ba--;) { + Sa(La); + var $a = Za[0 + (pb(La) & 127)]; + qb(La, La.u + $a.g); + var jb = $a.value; + if (16 > jb) Xa[sb++] = jb, 0 != jb && (Ya = jb);else { + var lb = 16 == jb, + ab = jb - 16, + mb = oe[ab], + bb = D(La, pe[ab]) + mb; + if (sb + bb > Ca) break e;else for (var nb = lb ? Ya : 0; 0 < bb--;) { + Xa[sb++] = nb; + } + } + } + Oa = 1; + break e; + } + Oa || (Wa.a = 3); + ya = Oa; + } + (ya = ya && !Ka.h) && (Ia = Z(db, eb, 8, oa, za)); + ya && 0 != Ia ? Aa = Ia : (ta.a = 3, Aa = 0); + } + if (0 == Aa) break c; + ra && 1 == qe[ba] && (ra = 0 == pa[U].g); + Fa += pa[U].g; + U += Aa; + if (3 >= ba) { + var Pa = ha[0], + tb; + for (tb = 1; tb < Y; ++tb) { + ha[tb] > Pa && (Pa = ha[tb]); + } + Ha += Pa; + } + } + ja.nd = ra; + ja.Qb = 0; + ra && (ja.qb = (da[3][ea[3] + 0].value << 24 | da[1][ea[1] + 0].value << 16 | da[2][ea[2] + 0].value) >>> 0, 0 == Fa && 256 > da[0][ea[0] + 0].value && (ja.Qb = 1, ja.qb += da[0][ea[0] + 0].value << 8)); + ja.jc = !ja.Qb && 6 > Ha; + if (ja.jc) { + var Ga, + Ea = ja; + for (Ga = 0; Ga < xb; ++Ga) { + var Ma = Ga, + Na = Ea.pd[Ma], + vb = Ea.G[0][Ea.H[0] + Ma]; + 256 <= vb.value ? (Na.g = vb.g + 256, Na.value = vb.value) : (Na.g = 0, Na.value = 0, Ma >>= ub(vb, 8, Na), Ma >>= ub(Ea.G[1][Ea.H[1] + Ma], 16, Na), Ma >>= ub(Ea.G[2][Ea.H[2] + Ma], 0, Na), ub(Ea.G[3][Ea.H[3] + Ma], 24, Na)); + } + } + } + R.vc = P; + R.Wb = W; + R.Ya = la; + R.yc = ma; + H = 1; + break b; + } + H = 0; + } + f = H; + if (!f) { + d.a = 3; + break a; + } + if (0 < n) { + if (l.ua = 1 << n, !Zb(l.Wa, n)) { + d.a = 1; + f = 0; + break a; + } + } else l.ua = 0; + var Qa = d, + cb = g, + ob = h, + Ra = Qa.s, + Ta = Ra.xc; + Qa.c = cb; + Qa.i = ob; + Ra.md = xa(cb, Ta); + Ra.wc = 0 == Ta ? -1 : (1 << Ta) - 1; + if (c) { + d.xb = re; + break a; + } + m = V(g * h); + if (null == m) { + d.a = 1; + f = 0; + break a; + } + f = (f = Jb(d, m, 0, g, h, h, null)) && !k.h; + break a; + } + f ? (null != e ? e[0] = m : (x(null == m), x(c)), d.$ = 0, c || Ac(l)) : Ac(l); + return f; + } + function Ec(a, b) { + var c = a.c * a.i, + d = c + b + 16 * b; + x(a.c <= b); + a.V = V(d); + if (null == a.V) return a.Ta = null, a.Ua = 0, a.a = 1, 0; + a.Ta = a.V; + a.Ua = a.Ba + c + b; + return 1; + } + function se(a, b) { + var c = a.C, + d = b - c, + e = a.V, + f = a.Ba + a.c * c; + for (x(b <= a.l.o); 0 < d;) { + var g = 16 < d ? 16 : d, + h = a.l.ma, + k = a.l.width, + l = k * g, + m = h.ca, + n = h.tb + k * c, + r = a.Ta, + q = a.Ua; + oc(a, g, e, f); + Fc(r, q, m, n, l); + zc(h, c, c + g, m, n, k); + d -= g; + e += g * a.c; + c += g; + } + x(c == b); + a.C = a.Ma = b; + } + function te(a, b) { + var c = [0], + d = [0], + e = [0]; + a: for (;;) { + if (null == a) return 0; + if (null == b) return a.a = 2, 0; + a.l = b; + a.a = 0; + cb(a.m, b.data, b.w, b.ha); + if (!mc(a.m, c, d, e)) { + a.a = 3; + break a; + } + a.xb = Cc; + b.width = c[0]; + b.height = d[0]; + if (!rb(c[0], d[0], 1, a, null)) break a; + return 1; + } + x(0 != a.a); + return 0; + } + function ue() { + this.ub = this.yd = this.td = this.Rb = 0; + } + function ve() { + this.Kd = this.Ld = this.Ud = this.Td = this.i = this.c = 0; + } + function we() { + this.Fb = this.Bb = this.Cb = 0; + this.Zb = V(4); + this.Lb = V(4); + } + function Gc() { + this.Yb = wb(); + } + function xe() { + this.jb = V(3); + this.Wc = Ed([4, 8], Gc); + this.Xc = Ed([4, 17], Gc); + } + function ye() { + this.Pc = this.wb = this.Tb = this.zd = 0; + this.vd = new V(4); + this.od = new V(4); + } + function Xa() { + this.ld = this.La = this.dd = this.tc = 0; + } + function Hc() { + this.Na = this.la = 0; + } + function ze() { + this.Sc = [0, 0]; + this.Eb = [0, 0]; + this.Qc = [0, 0]; + this.ia = this.lc = 0; + } + function Kb() { + this.ad = V(384); + this.Za = 0; + this.Ob = V(16); + this.$b = this.Ad = this.ia = this.Gc = this.Hc = this.Dd = 0; + } + function Ae() { + this.uc = this.M = this.Nb = 0; + this.wa = Array(new Xa()); + this.Y = 0; + this.ya = Array(new Kb()); + this.aa = 0; + this.l = new Oa(); + } + function Ic() { + this.y = V(16); + this.f = V(8); + this.ea = V(8); + } + function Be() { + this.cb = this.a = 0; + this.sc = ""; + this.m = new Wb(); + this.Od = new ue(); + this.Kc = new ve(); + this.ed = new ye(); + this.Qa = new we(); + this.Ic = this.$c = this.Aa = 0; + this.D = new Ae(); + this.Xb = this.Va = this.Hb = this.zb = this.yb = this.Ub = this.za = 0; + this.Jc = wa(8, Wb); + this.ia = 0; + this.pb = wa(4, ze); + this.Pa = new xe(); + this.Bd = this.kc = 0; + this.Ac = []; + this.Bc = 0; + this.zc = [0, 0, 0, 0]; + this.Gd = Array(new Ic()); + this.Hd = 0; + this.rb = Array(new Hc()); + this.sb = 0; + this.wa = Array(new Xa()); + this.Y = 0; + this.oc = []; + this.pc = 0; + this.sa = []; + this.ta = 0; + this.qa = []; + this.ra = 0; + this.Ha = []; + this.B = this.R = this.Ia = 0; + this.Ec = []; + this.M = this.ja = this.Vb = this.Fc = 0; + this.ya = Array(new Kb()); + this.L = this.aa = 0; + this.gd = Ed([4, 2], Xa); + this.ga = null; + this.Fa = []; + this.Cc = this.qc = this.P = 0; + this.Gb = []; + this.Uc = 0; + this.mb = []; + this.nb = 0; + this.rc = []; + this.Ga = this.Vc = 0; + } + function ga(a, b) { + return 0 > a ? 0 : a > b ? b : a; + } + function Oa() { + this.T = this.U = this.ka = this.height = this.width = 0; + this.y = []; + this.f = []; + this.ea = []; + this.Rc = this.fa = this.W = this.N = this.O = 0; + this.ma = "void"; + this.put = "VP8IoPutHook"; + this.ac = "VP8IoSetupHook"; + this.bc = "VP8IoTeardownHook"; + this.ha = this.Kb = 0; + this.data = []; + this.hb = this.ib = this.da = this.o = this.j = this.va = this.v = this.Da = this.ob = this.w = 0; + this.F = []; + this.J = 0; + } + function Ce() { + var a = new Be(); + null != a && (a.a = 0, a.sc = "OK", a.cb = 0, a.Xb = 0, oa || (oa = De)); + return a; + } + function T(a, b, c) { + 0 == a.a && (a.a = b, a.sc = c, a.cb = 0); + return 0; + } + function Jc(a, b, c) { + return 3 <= c && 157 == a[b + 0] && 1 == a[b + 1] && 42 == a[b + 2]; + } + function Kc(a, b) { + if (null == a) return 0; + a.a = 0; + a.sc = "OK"; + if (null == b) return T(a, 2, "null VP8Io passed to VP8GetHeaders()"); + var c = b.data; + var d = b.w; + var e = b.ha; + if (4 > e) return T(a, 7, "Truncated header."); + var f = c[d + 0] | c[d + 1] << 8 | c[d + 2] << 16; + var g = a.Od; + g.Rb = !(f & 1); + g.td = f >> 1 & 7; + g.yd = f >> 4 & 1; + g.ub = f >> 5; + if (3 < g.td) return T(a, 3, "Incorrect keyframe parameters."); + if (!g.yd) return T(a, 4, "Frame not displayable."); + d += 3; + e -= 3; + var h = a.Kc; + if (g.Rb) { + if (7 > e) return T(a, 7, "cannot parse picture header"); + if (!Jc(c, d, e)) return T(a, 3, "Bad code word"); + h.c = (c[d + 4] << 8 | c[d + 3]) & 16383; + h.Td = c[d + 4] >> 6; + h.i = (c[d + 6] << 8 | c[d + 5]) & 16383; + h.Ud = c[d + 6] >> 6; + d += 7; + e -= 7; + a.za = h.c + 15 >> 4; + a.Ub = h.i + 15 >> 4; + b.width = h.c; + b.height = h.i; + b.Da = 0; + b.j = 0; + b.v = 0; + b.va = b.width; + b.o = b.height; + b.da = 0; + b.ib = b.width; + b.hb = b.height; + b.U = b.width; + b.T = b.height; + f = a.Pa; + M(f.jb, 0, 255, f.jb.length); + f = a.Qa; + x(null != f); + f.Cb = 0; + f.Bb = 0; + f.Fb = 1; + M(f.Zb, 0, 0, f.Zb.length); + M(f.Lb, 0, 0, f.Lb); + } + if (g.ub > e) return T(a, 7, "bad partition length"); + f = a.m; + ma(f, c, d, g.ub); + d += g.ub; + e -= g.ub; + g.Rb && (h.Ld = G(f), h.Kd = G(f)); + h = a.Qa; + var k = a.Pa, + l; + x(null != f); + x(null != h); + h.Cb = G(f); + if (h.Cb) { + h.Bb = G(f); + if (G(f)) { + h.Fb = G(f); + for (l = 0; 4 > l; ++l) { + h.Zb[l] = G(f) ? ca(f, 7) : 0; + } + for (l = 0; 4 > l; ++l) { + h.Lb[l] = G(f) ? ca(f, 6) : 0; + } + } + if (h.Bb) for (l = 0; 3 > l; ++l) { + k.jb[l] = G(f) ? na(f, 8) : 255; + } + } else h.Bb = 0; + if (f.Ka) return T(a, 3, "cannot parse segment header"); + h = a.ed; + h.zd = G(f); + h.Tb = na(f, 6); + h.wb = na(f, 3); + h.Pc = G(f); + if (h.Pc && G(f)) { + for (k = 0; 4 > k; ++k) { + G(f) && (h.vd[k] = ca(f, 6)); + } + for (k = 0; 4 > k; ++k) { + G(f) && (h.od[k] = ca(f, 6)); + } + } + a.L = 0 == h.Tb ? 0 : h.zd ? 1 : 2; + if (f.Ka) return T(a, 3, "cannot parse filter header"); + l = d; + var m = e; + e = l; + d = l + m; + h = m; + a.Xb = (1 << na(a.m, 2)) - 1; + k = a.Xb; + if (m < 3 * k) c = 7;else { + l += 3 * k; + h -= 3 * k; + for (m = 0; m < k; ++m) { + var n = c[e + 0] | c[e + 1] << 8 | c[e + 2] << 16; + n > h && (n = h); + ma(a.Jc[+m], c, l, n); + l += n; + h -= n; + e += 3; + } + ma(a.Jc[+k], c, l, h); + c = l < d ? 0 : 5; + } + if (0 != c) return T(a, c, "cannot parse partitions"); + l = a.m; + c = na(l, 7); + e = G(l) ? ca(l, 4) : 0; + d = G(l) ? ca(l, 4) : 0; + h = G(l) ? ca(l, 4) : 0; + k = G(l) ? ca(l, 4) : 0; + l = G(l) ? ca(l, 4) : 0; + m = a.Qa; + for (n = 0; 4 > n; ++n) { + if (m.Cb) { + var r = m.Zb[n]; + m.Fb || (r += c); + } else if (0 < n) { + a.pb[n] = a.pb[0]; + continue; + } else r = c; + var q = a.pb[n]; + q.Sc[0] = Lb[ga(r + e, 127)]; + q.Sc[1] = Mb[ga(r + 0, 127)]; + q.Eb[0] = 2 * Lb[ga(r + d, 127)]; + q.Eb[1] = 101581 * Mb[ga(r + h, 127)] >> 16; + 8 > q.Eb[1] && (q.Eb[1] = 8); + q.Qc[0] = Lb[ga(r + k, 117)]; + q.Qc[1] = Mb[ga(r + l, 127)]; + q.lc = r + l; + } + if (!g.Rb) return T(a, 4, "Not a key frame."); + G(f); + g = a.Pa; + for (c = 0; 4 > c; ++c) { + for (e = 0; 8 > e; ++e) { + for (d = 0; 3 > d; ++d) { + for (h = 0; 11 > h; ++h) { + k = K(f, Ee[c][e][d][h]) ? na(f, 8) : Fe[c][e][d][h], g.Wc[c][e].Yb[d][h] = k; + } + } + } + for (e = 0; 17 > e; ++e) { + g.Xc[c][e] = g.Wc[c][Ge[e]]; + } + } + a.kc = G(f); + a.kc && (a.Bd = na(f, 8)); + return a.cb = 1; + } + function De(a, b, c, d, e, f, g) { + var h = b[e].Yb[c]; + for (c = 0; 16 > e; ++e) { + if (!K(a, h[c + 0])) return e; + for (; !K(a, h[c + 1]);) { + if (h = b[++e].Yb[0], c = 0, 16 == e) return 16; + } + var k = b[e + 1].Yb; + if (K(a, h[c + 2])) { + var l = a, + m = h, + n = c; + var r = 0; + if (K(l, m[n + 3])) { + if (K(l, m[n + 6])) { + h = 0; + r = K(l, m[n + 8]); + m = K(l, m[n + 9 + r]); + n = 2 * r + m; + r = 0; + for (m = He[n]; m[h]; ++h) { + r += r + K(l, m[h]); + } + r += 3 + (8 << n); + } else K(l, m[n + 7]) ? (r = 7 + 2 * K(l, 165), r += K(l, 145)) : r = 5 + K(l, 159); + } else K(l, m[n + 4]) ? r = 3 + K(l, m[n + 5]) : r = 2; + h = k[2]; + } else r = 1, h = k[1]; + k = g + Ie[e]; + l = a; + 0 > l.b && Qa(l); + var m = l.b, + n = l.Ca >> 1, + q = n - (l.I >> m) >> 31; + --l.b; + l.Ca += q; + l.Ca |= 1; + l.I -= (n + 1 & q) << m; + f[k] = ((r ^ q) - q) * d[(0 < e) + 0]; + } + return 16; + } + function Lc(a) { + var b = a.rb[a.sb - 1]; + b.la = 0; + b.Na = 0; + M(a.zc, 0, 0, a.zc.length); + a.ja = 0; + } + function Je(a, b) { + for (a.M = 0; a.M < a.Va; ++a.M) { + var c = a.Jc[a.M & a.Xb], + d = a.m, + e = a, + f; + for (f = 0; f < e.za; ++f) { + var g = d; + var h = e; + var k = h.Ac, + l = h.Bc + 4 * f, + m = h.zc, + n = h.ya[h.aa + f]; + h.Qa.Bb ? n.$b = K(g, h.Pa.jb[0]) ? 2 + K(g, h.Pa.jb[2]) : K(g, h.Pa.jb[1]) : n.$b = 0; + h.kc && (n.Ad = K(g, h.Bd)); + n.Za = !K(g, 145) + 0; + if (n.Za) { + var r = n.Ob, + q = 0; + for (h = 0; 4 > h; ++h) { + var t = m[0 + h]; + var v; + for (v = 0; 4 > v; ++v) { + t = Ke[k[l + v]][t]; + for (var p = Mc[K(g, t[0])]; 0 < p;) { + p = Mc[2 * p + K(g, t[p])]; + } + t = -p; + k[l + v] = t; + } + I(r, q, k, l, 4); + q += 4; + m[0 + h] = t; + } + } else t = K(g, 156) ? K(g, 128) ? 1 : 3 : K(g, 163) ? 2 : 0, n.Ob[0] = t, M(k, l, t, 4), M(m, 0, t, 4); + n.Dd = K(g, 142) ? K(g, 114) ? K(g, 183) ? 1 : 3 : 2 : 0; + } + if (e.m.Ka) return T(a, 7, "Premature end-of-partition0 encountered."); + for (; a.ja < a.za; ++a.ja) { + d = a; + e = c; + g = d.rb[d.sb - 1]; + k = d.rb[d.sb + d.ja]; + f = d.ya[d.aa + d.ja]; + if (l = d.kc ? f.Ad : 0) g.la = k.la = 0, f.Za || (g.Na = k.Na = 0), f.Hc = 0, f.Gc = 0, f.ia = 0;else { + var u, + w, + g = k, + k = e, + l = d.Pa.Xc, + m = d.ya[d.aa + d.ja], + n = d.pb[m.$b]; + h = m.ad; + r = 0; + q = d.rb[d.sb - 1]; + t = v = 0; + M(h, r, 0, 384); + if (m.Za) { + var y = 0; + var A = l[3]; + } else { + p = V(16); + var E = g.Na + q.Na; + E = oa(k, l[1], E, n.Eb, 0, p, 0); + g.Na = q.Na = (0 < E) + 0; + if (1 < E) Nc(p, 0, h, r);else { + var B = p[0] + 3 >> 3; + for (p = 0; 256 > p; p += 16) { + h[r + p] = B; + } + } + y = 1; + A = l[0]; + } + var C = g.la & 15; + var N = q.la & 15; + for (p = 0; 4 > p; ++p) { + var z = N & 1; + for (B = w = 0; 4 > B; ++B) { + E = z + (C & 1), E = oa(k, A, E, n.Sc, y, h, r), z = E > y, C = C >> 1 | z << 7, w = w << 2 | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0]), r += 16; + } + C >>= 4; + N = N >> 1 | z << 7; + v = (v << 8 | w) >>> 0; + } + A = C; + y = N >> 4; + for (u = 0; 4 > u; u += 2) { + w = 0; + C = g.la >> 4 + u; + N = q.la >> 4 + u; + for (p = 0; 2 > p; ++p) { + z = N & 1; + for (B = 0; 2 > B; ++B) { + E = z + (C & 1), E = oa(k, l[2], E, n.Qc, 0, h, r), z = 0 < E, C = C >> 1 | z << 3, w = w << 2 | (3 < E ? 3 : 1 < E ? 2 : 0 != h[r + 0]), r += 16; + } + C >>= 2; + N = N >> 1 | z << 5; + } + t |= w << 4 * u; + A |= C << 4 << u; + y |= (N & 240) << u; + } + g.la = A; + q.la = y; + m.Hc = v; + m.Gc = t; + m.ia = t & 43690 ? 0 : n.ia; + l = !(v | t); + } + 0 < d.L && (d.wa[d.Y + d.ja] = d.gd[f.$b][f.Za], d.wa[d.Y + d.ja].La |= !l); + if (e.Ka) return T(a, 7, "Premature end-of-file encountered."); + } + Lc(a); + c = a; + d = b; + e = 1; + f = c.D; + g = 0 < c.L && c.M >= c.zb && c.M <= c.Va; + if (0 == c.Aa) a: { + f.M = c.M, f.uc = g, Oc(c, f), e = 1; + w = c.D; + f = w.Nb; + t = Ya[c.L]; + g = t * c.R; + k = t / 2 * c.B; + p = 16 * f * c.R; + B = 8 * f * c.B; + l = c.sa; + m = c.ta - g + p; + n = c.qa; + h = c.ra - k + B; + r = c.Ha; + q = c.Ia - k + B; + C = w.M; + N = 0 == C; + v = C >= c.Va - 1; + 2 == c.Aa && Oc(c, w); + if (w.uc) for (E = c, z = E.D.M, x(E.D.uc), w = E.yb; w < E.Hb; ++w) { + var Q = E; + y = w; + A = z; + var S = Q.D, + D = S.Nb; + u = Q.R; + var S = S.wa[S.Y + y], + F = Q.sa, + H = Q.ta + 16 * D * u + 16 * y, + J = S.dd, + G = S.tc; + if (0 != G) if (x(3 <= G), 1 == Q.L) 0 < y && Pc(F, H, u, G + 4), S.La && Qc(F, H, u, G), 0 < A && Rc(F, H, u, G + 4), S.La && Sc(F, H, u, G);else { + var L = Q.B, + O = Q.qa, + P = Q.ra + 8 * D * L + 8 * y, + R = Q.Ha, + Q = Q.Ia + 8 * D * L + 8 * y, + D = S.ld; + 0 < y && (Tc(F, H, u, G + 4, J, D), Uc(O, P, R, Q, L, G + 4, J, D)); + S.La && (Vc(F, H, u, G, J, D), Wc(O, P, R, Q, L, G, J, D)); + 0 < A && (Xc(F, H, u, G + 4, J, D), Yc(O, P, R, Q, L, G + 4, J, D)); + S.La && (Zc(F, H, u, G, J, D), $c(O, P, R, Q, L, G, J, D)); + } + } + c.ia && alert("todo:DitherRow"); + if (null != d.put) { + w = 16 * C; + C = 16 * (C + 1); + N ? (d.y = c.sa, d.O = c.ta + p, d.f = c.qa, d.N = c.ra + B, d.ea = c.Ha, d.W = c.Ia + B) : (w -= t, d.y = l, d.O = m, d.f = n, d.N = h, d.ea = r, d.W = q); + v || (C -= t); + C > d.o && (C = d.o); + d.F = null; + d.J = null; + if (null != c.Fa && 0 < c.Fa.length && w < C && (d.J = Le(c, d, w, C - w), d.F = c.mb, null == d.F && 0 == d.F.length)) { + e = T(c, 3, "Could not decode alpha data."); + break a; + } + w < d.j && (t = d.j - w, w = d.j, x(!(t & 1)), d.O += c.R * t, d.N += c.B * (t >> 1), d.W += c.B * (t >> 1), null != d.F && (d.J += d.width * t)); + w < C && (d.O += d.v, d.N += d.v >> 1, d.W += d.v >> 1, null != d.F && (d.J += d.v), d.ka = w - d.j, d.U = d.va - d.v, d.T = C - w, e = d.put(d)); + } + f + 1 != c.Ic || v || (I(c.sa, c.ta - g, l, m + 16 * c.R, g), I(c.qa, c.ra - k, n, h + 8 * c.B, k), I(c.Ha, c.Ia - k, r, q + 8 * c.B, k)); + } + if (!e) return T(a, 6, "Output aborted."); + } + return 1; + } + function Me(a, b) { + if (null == a) return 0; + if (null == b) return T(a, 2, "NULL VP8Io parameter in VP8Decode()."); + if (!a.cb && !Kc(a, b)) return 0; + x(a.cb); + if (null == b.ac || b.ac(b)) { + b.ob && (a.L = 0); + var c = Ya[a.L]; + 2 == a.L ? (a.yb = 0, a.zb = 0) : (a.yb = b.v - c >> 4, a.zb = b.j - c >> 4, 0 > a.yb && (a.yb = 0), 0 > a.zb && (a.zb = 0)); + a.Va = b.o + 15 + c >> 4; + a.Hb = b.va + 15 + c >> 4; + a.Hb > a.za && (a.Hb = a.za); + a.Va > a.Ub && (a.Va = a.Ub); + if (0 < a.L) { + var d = a.ed; + for (c = 0; 4 > c; ++c) { + var e; + if (a.Qa.Cb) { + var f = a.Qa.Lb[c]; + a.Qa.Fb || (f += d.Tb); + } else f = d.Tb; + for (e = 0; 1 >= e; ++e) { + var g = a.gd[c][e], + h = f; + d.Pc && (h += d.vd[0], e && (h += d.od[0])); + h = 0 > h ? 0 : 63 < h ? 63 : h; + if (0 < h) { + var k = h; + 0 < d.wb && (k = 4 < d.wb ? k >> 2 : k >> 1, k > 9 - d.wb && (k = 9 - d.wb)); + 1 > k && (k = 1); + g.dd = k; + g.tc = 2 * h + k; + g.ld = 40 <= h ? 2 : 15 <= h ? 1 : 0; + } else g.tc = 0; + g.La = e; + } + } + } + c = 0; + } else T(a, 6, "Frame setup failed"), c = a.a; + if (c = 0 == c) { + if (c) { + a.$c = 0; + 0 < a.Aa || (a.Ic = Ne); + b: { + c = a.Ic; + var k = a.za, + d = 4 * k, + l = 32 * k, + m = k + 1, + n = 0 < a.L ? k * (0 < a.Aa ? 2 : 1) : 0, + r = (2 == a.Aa ? 2 : 1) * k; + e = 3 * (16 * c + Ya[a.L]) / 2 * l; + f = null != a.Fa && 0 < a.Fa.length ? a.Kc.c * a.Kc.i : 0; + g = d + 832 + e + f; + if (g != g) c = 0;else { + if (g > a.Vb) { + a.Vb = 0; + a.Ec = V(g); + a.Fc = 0; + if (null == a.Ec) { + c = T(a, 1, "no memory during frame initialization."); + break b; + } + a.Vb = g; + } + g = a.Ec; + h = a.Fc; + a.Ac = g; + a.Bc = h; + h += d; + a.Gd = wa(l, Ic); + a.Hd = 0; + a.rb = wa(m + 1, Hc); + a.sb = 1; + a.wa = n ? wa(n, Xa) : null; + a.Y = 0; + a.D.Nb = 0; + a.D.wa = a.wa; + a.D.Y = a.Y; + 0 < a.Aa && (a.D.Y += k); + x(!0); + a.oc = g; + a.pc = h; + h += 832; + a.ya = wa(r, Kb); + a.aa = 0; + a.D.ya = a.ya; + a.D.aa = a.aa; + 2 == a.Aa && (a.D.aa += k); + a.R = 16 * k; + a.B = 8 * k; + l = Ya[a.L]; + k = l * a.R; + l = l / 2 * a.B; + a.sa = g; + a.ta = h + k; + a.qa = a.sa; + a.ra = a.ta + 16 * c * a.R + l; + a.Ha = a.qa; + a.Ia = a.ra + 8 * c * a.B + l; + a.$c = 0; + h += e; + a.mb = f ? g : null; + a.nb = f ? h : null; + x(h + f <= a.Fc + a.Vb); + Lc(a); + M(a.Ac, a.Bc, 0, d); + c = 1; + } + } + if (c) { + b.ka = 0; + b.y = a.sa; + b.O = a.ta; + b.f = a.qa; + b.N = a.ra; + b.ea = a.Ha; + b.Vd = a.Ia; + b.fa = a.R; + b.Rc = a.B; + b.F = null; + b.J = 0; + if (!ad) { + for (c = -255; 255 >= c; ++c) { + bd[255 + c] = 0 > c ? -c : c; + } + for (c = -1020; 1020 >= c; ++c) { + cd[1020 + c] = -128 > c ? -128 : 127 < c ? 127 : c; + } + for (c = -112; 112 >= c; ++c) { + dd[112 + c] = -16 > c ? -16 : 15 < c ? 15 : c; + } + for (c = -255; 510 >= c; ++c) { + ed[255 + c] = 0 > c ? 0 : 255 < c ? 255 : c; + } + ad = 1; + } + Nc = Oe; + Za = Pe; + Nb = Qe; + pa = Re; + Ob = Se; + fd = Te; + Xc = Ue; + Tc = Ve; + Yc = We; + Uc = Xe; + Zc = Ye; + Vc = Ze; + $c = $e; + Wc = af; + Rc = gd; + Pc = hd; + Sc = bf; + Qc = cf; + W[0] = df; + W[1] = ef; + W[2] = ff; + W[3] = gf; + W[4] = hf; + W[5] = jf; + W[6] = kf; + W[7] = lf; + W[8] = mf; + W[9] = nf; + Y[0] = of; + Y[1] = pf; + Y[2] = qf; + Y[3] = rf; + Y[4] = sf; + Y[5] = tf; + Y[6] = uf; + ka[0] = vf; + ka[1] = wf; + ka[2] = xf; + ka[3] = yf; + ka[4] = zf; + ka[5] = Af; + ka[6] = Bf; + c = 1; + } else c = 0; + } + c && (c = Je(a, b)); + null != b.bc && b.bc(b); + c &= 1; + } + if (!c) return 0; + a.cb = 0; + return c; + } + function qa(a, b, c, d, e) { + e = a[b + c + 32 * d] + (e >> 3); + a[b + c + 32 * d] = e & -256 ? 0 > e ? 0 : 255 : e; + } + function kb(a, b, c, d, e, f) { + qa(a, b, 0, c, d + e); + qa(a, b, 1, c, d + f); + qa(a, b, 2, c, d - f); + qa(a, b, 3, c, d - e); + } + function da(a) { + return (20091 * a >> 16) + a; + } + function id(a, b, c, d) { + var e = 0, + f; + var g = V(16); + for (f = 0; 4 > f; ++f) { + var h = a[b + 0] + a[b + 8]; + var k = a[b + 0] - a[b + 8]; + var l = (35468 * a[b + 4] >> 16) - da(a[b + 12]); + var m = da(a[b + 4]) + (35468 * a[b + 12] >> 16); + g[e + 0] = h + m; + g[e + 1] = k + l; + g[e + 2] = k - l; + g[e + 3] = h - m; + e += 4; + b++; + } + for (f = e = 0; 4 > f; ++f) { + a = g[e + 0] + 4, h = a + g[e + 8], k = a - g[e + 8], l = (35468 * g[e + 4] >> 16) - da(g[e + 12]), m = da(g[e + 4]) + (35468 * g[e + 12] >> 16), qa(c, d, 0, 0, h + m), qa(c, d, 1, 0, k + l), qa(c, d, 2, 0, k - l), qa(c, d, 3, 0, h - m), e++, d += 32; + } + } + function Te(a, b, c, d) { + var e = a[b + 0] + 4, + f = 35468 * a[b + 4] >> 16, + g = da(a[b + 4]), + h = 35468 * a[b + 1] >> 16; + a = da(a[b + 1]); + kb(c, d, 0, e + g, a, h); + kb(c, d, 1, e + f, a, h); + kb(c, d, 2, e - f, a, h); + kb(c, d, 3, e - g, a, h); + } + function Pe(a, b, c, d, e) { + id(a, b, c, d); + e && id(a, b + 16, c, d + 4); + } + function Qe(a, b, c, d) { + Za(a, b + 0, c, d, 1); + Za(a, b + 32, c, d + 128, 1); + } + function Re(a, b, c, d) { + a = a[b + 0] + 4; + var e; + for (e = 0; 4 > e; ++e) { + for (b = 0; 4 > b; ++b) { + qa(c, d, b, e, a); + } + } + } + function Se(a, b, c, d) { + a[b + 0] && pa(a, b + 0, c, d); + a[b + 16] && pa(a, b + 16, c, d + 4); + a[b + 32] && pa(a, b + 32, c, d + 128); + a[b + 48] && pa(a, b + 48, c, d + 128 + 4); + } + function Oe(a, b, c, d) { + var e = V(16), + f; + for (f = 0; 4 > f; ++f) { + var g = a[b + 0 + f] + a[b + 12 + f]; + var h = a[b + 4 + f] + a[b + 8 + f]; + var k = a[b + 4 + f] - a[b + 8 + f]; + var l = a[b + 0 + f] - a[b + 12 + f]; + e[0 + f] = g + h; + e[8 + f] = g - h; + e[4 + f] = l + k; + e[12 + f] = l - k; + } + for (f = 0; 4 > f; ++f) { + a = e[0 + 4 * f] + 3, g = a + e[3 + 4 * f], h = e[1 + 4 * f] + e[2 + 4 * f], k = e[1 + 4 * f] - e[2 + 4 * f], l = a - e[3 + 4 * f], c[d + 0] = g + h >> 3, c[d + 16] = l + k >> 3, c[d + 32] = g - h >> 3, c[d + 48] = l - k >> 3, d += 64; + } + } + function Pb(a, b, c) { + var d = b - 32, + e = R, + f = 255 - a[d - 1], + g; + for (g = 0; g < c; ++g) { + var h = e, + k = f + a[b - 1], + l; + for (l = 0; l < c; ++l) { + a[b + l] = h[k + a[d + l]]; + } + b += 32; + } + } + function ef(a, b) { + Pb(a, b, 4); + } + function wf(a, b) { + Pb(a, b, 8); + } + function pf(a, b) { + Pb(a, b, 16); + } + function qf(a, b) { + var c; + for (c = 0; 16 > c; ++c) { + I(a, b + 32 * c, a, b - 32, 16); + } + } + function rf(a, b) { + var c; + for (c = 16; 0 < c; --c) { + M(a, b, a[b - 1], 16), b += 32; + } + } + function $a(a, b, c) { + var d; + for (d = 0; 16 > d; ++d) { + M(b, c + 32 * d, a, 16); + } + } + function of(a, b) { + var c = 16, + d; + for (d = 0; 16 > d; ++d) { + c += a[b - 1 + 32 * d] + a[b + d - 32]; + } + $a(c >> 5, a, b); + } + function sf(a, b) { + var c = 8, + d; + for (d = 0; 16 > d; ++d) { + c += a[b - 1 + 32 * d]; + } + $a(c >> 4, a, b); + } + function tf(a, b) { + var c = 8, + d; + for (d = 0; 16 > d; ++d) { + c += a[b + d - 32]; + } + $a(c >> 4, a, b); + } + function uf(a, b) { + $a(128, a, b); + } + function z(a, b, c) { + return a + 2 * b + c + 2 >> 2; + } + function ff(a, b) { + var c = b - 32, + c = new Uint8Array([z(a[c - 1], a[c + 0], a[c + 1]), z(a[c + 0], a[c + 1], a[c + 2]), z(a[c + 1], a[c + 2], a[c + 3]), z(a[c + 2], a[c + 3], a[c + 4])]), + d; + for (d = 0; 4 > d; ++d) { + I(a, b + 32 * d, c, 0, c.length); + } + } + function gf(a, b) { + var c = a[b - 1], + d = a[b - 1 + 32], + e = a[b - 1 + 64], + f = a[b - 1 + 96]; + ra(a, b + 0, 16843009 * z(a[b - 1 - 32], c, d)); + ra(a, b + 32, 16843009 * z(c, d, e)); + ra(a, b + 64, 16843009 * z(d, e, f)); + ra(a, b + 96, 16843009 * z(e, f, f)); + } + function df(a, b) { + var c = 4, + d; + for (d = 0; 4 > d; ++d) { + c += a[b + d - 32] + a[b - 1 + 32 * d]; + } + c >>= 3; + for (d = 0; 4 > d; ++d) { + M(a, b + 32 * d, c, 4); + } + } + function hf(a, b) { + var c = a[b - 1 + 0], + d = a[b - 1 + 32], + e = a[b - 1 + 64], + f = a[b - 1 - 32], + g = a[b + 0 - 32], + h = a[b + 1 - 32], + k = a[b + 2 - 32], + l = a[b + 3 - 32]; + a[b + 0 + 96] = z(d, e, a[b - 1 + 96]); + a[b + 1 + 96] = a[b + 0 + 64] = z(c, d, e); + a[b + 2 + 96] = a[b + 1 + 64] = a[b + 0 + 32] = z(f, c, d); + a[b + 3 + 96] = a[b + 2 + 64] = a[b + 1 + 32] = a[b + 0 + 0] = z(g, f, c); + a[b + 3 + 64] = a[b + 2 + 32] = a[b + 1 + 0] = z(h, g, f); + a[b + 3 + 32] = a[b + 2 + 0] = z(k, h, g); + a[b + 3 + 0] = z(l, k, h); + } + function kf(a, b) { + var c = a[b + 1 - 32], + d = a[b + 2 - 32], + e = a[b + 3 - 32], + f = a[b + 4 - 32], + g = a[b + 5 - 32], + h = a[b + 6 - 32], + k = a[b + 7 - 32]; + a[b + 0 + 0] = z(a[b + 0 - 32], c, d); + a[b + 1 + 0] = a[b + 0 + 32] = z(c, d, e); + a[b + 2 + 0] = a[b + 1 + 32] = a[b + 0 + 64] = z(d, e, f); + a[b + 3 + 0] = a[b + 2 + 32] = a[b + 1 + 64] = a[b + 0 + 96] = z(e, f, g); + a[b + 3 + 32] = a[b + 2 + 64] = a[b + 1 + 96] = z(f, g, h); + a[b + 3 + 64] = a[b + 2 + 96] = z(g, h, k); + a[b + 3 + 96] = z(h, k, k); + } + function jf(a, b) { + var c = a[b - 1 + 0], + d = a[b - 1 + 32], + e = a[b - 1 + 64], + f = a[b - 1 - 32], + g = a[b + 0 - 32], + h = a[b + 1 - 32], + k = a[b + 2 - 32], + l = a[b + 3 - 32]; + a[b + 0 + 0] = a[b + 1 + 64] = f + g + 1 >> 1; + a[b + 1 + 0] = a[b + 2 + 64] = g + h + 1 >> 1; + a[b + 2 + 0] = a[b + 3 + 64] = h + k + 1 >> 1; + a[b + 3 + 0] = k + l + 1 >> 1; + a[b + 0 + 96] = z(e, d, c); + a[b + 0 + 64] = z(d, c, f); + a[b + 0 + 32] = a[b + 1 + 96] = z(c, f, g); + a[b + 1 + 32] = a[b + 2 + 96] = z(f, g, h); + a[b + 2 + 32] = a[b + 3 + 96] = z(g, h, k); + a[b + 3 + 32] = z(h, k, l); + } + function lf(a, b) { + var c = a[b + 0 - 32], + d = a[b + 1 - 32], + e = a[b + 2 - 32], + f = a[b + 3 - 32], + g = a[b + 4 - 32], + h = a[b + 5 - 32], + k = a[b + 6 - 32], + l = a[b + 7 - 32]; + a[b + 0 + 0] = c + d + 1 >> 1; + a[b + 1 + 0] = a[b + 0 + 64] = d + e + 1 >> 1; + a[b + 2 + 0] = a[b + 1 + 64] = e + f + 1 >> 1; + a[b + 3 + 0] = a[b + 2 + 64] = f + g + 1 >> 1; + a[b + 0 + 32] = z(c, d, e); + a[b + 1 + 32] = a[b + 0 + 96] = z(d, e, f); + a[b + 2 + 32] = a[b + 1 + 96] = z(e, f, g); + a[b + 3 + 32] = a[b + 2 + 96] = z(f, g, h); + a[b + 3 + 64] = z(g, h, k); + a[b + 3 + 96] = z(h, k, l); + } + function nf(a, b) { + var c = a[b - 1 + 0], + d = a[b - 1 + 32], + e = a[b - 1 + 64], + f = a[b - 1 + 96]; + a[b + 0 + 0] = c + d + 1 >> 1; + a[b + 2 + 0] = a[b + 0 + 32] = d + e + 1 >> 1; + a[b + 2 + 32] = a[b + 0 + 64] = e + f + 1 >> 1; + a[b + 1 + 0] = z(c, d, e); + a[b + 3 + 0] = a[b + 1 + 32] = z(d, e, f); + a[b + 3 + 32] = a[b + 1 + 64] = z(e, f, f); + a[b + 3 + 64] = a[b + 2 + 64] = a[b + 0 + 96] = a[b + 1 + 96] = a[b + 2 + 96] = a[b + 3 + 96] = f; + } + function mf(a, b) { + var c = a[b - 1 + 0], + d = a[b - 1 + 32], + e = a[b - 1 + 64], + f = a[b - 1 + 96], + g = a[b - 1 - 32], + h = a[b + 0 - 32], + k = a[b + 1 - 32], + l = a[b + 2 - 32]; + a[b + 0 + 0] = a[b + 2 + 32] = c + g + 1 >> 1; + a[b + 0 + 32] = a[b + 2 + 64] = d + c + 1 >> 1; + a[b + 0 + 64] = a[b + 2 + 96] = e + d + 1 >> 1; + a[b + 0 + 96] = f + e + 1 >> 1; + a[b + 3 + 0] = z(h, k, l); + a[b + 2 + 0] = z(g, h, k); + a[b + 1 + 0] = a[b + 3 + 32] = z(c, g, h); + a[b + 1 + 32] = a[b + 3 + 64] = z(d, c, g); + a[b + 1 + 64] = a[b + 3 + 96] = z(e, d, c); + a[b + 1 + 96] = z(f, e, d); + } + function xf(a, b) { + var c; + for (c = 0; 8 > c; ++c) { + I(a, b + 32 * c, a, b - 32, 8); + } + } + function yf(a, b) { + var c; + for (c = 0; 8 > c; ++c) { + M(a, b, a[b - 1], 8), b += 32; + } + } + function lb(a, b, c) { + var d; + for (d = 0; 8 > d; ++d) { + M(b, c + 32 * d, a, 8); + } + } + function vf(a, b) { + var c = 8, + d; + for (d = 0; 8 > d; ++d) { + c += a[b + d - 32] + a[b - 1 + 32 * d]; + } + lb(c >> 4, a, b); + } + function Af(a, b) { + var c = 4, + d; + for (d = 0; 8 > d; ++d) { + c += a[b + d - 32]; + } + lb(c >> 3, a, b); + } + function zf(a, b) { + var c = 4, + d; + for (d = 0; 8 > d; ++d) { + c += a[b - 1 + 32 * d]; + } + lb(c >> 3, a, b); + } + function Bf(a, b) { + lb(128, a, b); + } + function ab(a, b, c) { + var d = a[b - c], + e = a[b + 0], + f = 3 * (e - d) + Qb[1020 + a[b - 2 * c] - a[b + c]], + g = mb[112 + (f + 4 >> 3)]; + a[b - c] = R[255 + d + mb[112 + (f + 3 >> 3)]]; + a[b + 0] = R[255 + e - g]; + } + function jd(a, b, c, d) { + var e = a[b + 0], + f = a[b + c]; + return U[255 + a[b - 2 * c] - a[b - c]] > d || U[255 + f - e] > d; + } + function kd(a, b, c, d) { + return 4 * U[255 + a[b - c] - a[b + 0]] + U[255 + a[b - 2 * c] - a[b + c]] <= d; + } + function ld(a, b, c, d, e) { + var f = a[b - 3 * c], + g = a[b - 2 * c], + h = a[b - c], + k = a[b + 0], + l = a[b + c], + m = a[b + 2 * c], + n = a[b + 3 * c]; + return 4 * U[255 + h - k] + U[255 + g - l] > d ? 0 : U[255 + a[b - 4 * c] - f] <= e && U[255 + f - g] <= e && U[255 + g - h] <= e && U[255 + n - m] <= e && U[255 + m - l] <= e && U[255 + l - k] <= e; + } + function gd(a, b, c, d) { + var e = 2 * d + 1; + for (d = 0; 16 > d; ++d) { + kd(a, b + d, c, e) && ab(a, b + d, c); + } + } + function hd(a, b, c, d) { + var e = 2 * d + 1; + for (d = 0; 16 > d; ++d) { + kd(a, b + d * c, 1, e) && ab(a, b + d * c, 1); + } + } + function bf(a, b, c, d) { + var e; + for (e = 3; 0 < e; --e) { + b += 4 * c, gd(a, b, c, d); + } + } + function cf(a, b, c, d) { + var e; + for (e = 3; 0 < e; --e) { + b += 4, hd(a, b, c, d); + } + } + function ea(a, b, c, d, e, f, g, h) { + for (f = 2 * f + 1; 0 < e--;) { + if (ld(a, b, c, f, g)) if (jd(a, b, c, h)) ab(a, b, c);else { + var k = a, + l = b, + m = c, + n = k[l - 2 * m], + r = k[l - m], + q = k[l + 0], + t = k[l + m], + v = k[l + 2 * m], + p = Qb[1020 + 3 * (q - r) + Qb[1020 + n - t]], + u = 27 * p + 63 >> 7, + w = 18 * p + 63 >> 7, + p = 9 * p + 63 >> 7; + k[l - 3 * m] = R[255 + k[l - 3 * m] + p]; + k[l - 2 * m] = R[255 + n + w]; + k[l - m] = R[255 + r + u]; + k[l + 0] = R[255 + q - u]; + k[l + m] = R[255 + t - w]; + k[l + 2 * m] = R[255 + v - p]; + } + b += d; + } + } + function Fa(a, b, c, d, e, f, g, h) { + for (f = 2 * f + 1; 0 < e--;) { + if (ld(a, b, c, f, g)) if (jd(a, b, c, h)) ab(a, b, c);else { + var k = a, + l = b, + m = c, + n = k[l - m], + r = k[l + 0], + q = k[l + m], + t = 3 * (r - n), + v = mb[112 + (t + 4 >> 3)], + t = mb[112 + (t + 3 >> 3)], + p = v + 1 >> 1; + k[l - 2 * m] = R[255 + k[l - 2 * m] + p]; + k[l - m] = R[255 + n + t]; + k[l + 0] = R[255 + r - v]; + k[l + m] = R[255 + q - p]; + } + b += d; + } + } + function Ue(a, b, c, d, e, f) { + ea(a, b, c, 1, 16, d, e, f); + } + function Ve(a, b, c, d, e, f) { + ea(a, b, 1, c, 16, d, e, f); + } + function Ye(a, b, c, d, e, f) { + var g; + for (g = 3; 0 < g; --g) { + b += 4 * c, Fa(a, b, c, 1, 16, d, e, f); + } + } + function Ze(a, b, c, d, e, f) { + var g; + for (g = 3; 0 < g; --g) { + b += 4, Fa(a, b, 1, c, 16, d, e, f); + } + } + function We(a, b, c, d, e, f, g, h) { + ea(a, b, e, 1, 8, f, g, h); + ea(c, d, e, 1, 8, f, g, h); + } + function Xe(a, b, c, d, e, f, g, h) { + ea(a, b, 1, e, 8, f, g, h); + ea(c, d, 1, e, 8, f, g, h); + } + function $e(a, b, c, d, e, f, g, h) { + Fa(a, b + 4 * e, e, 1, 8, f, g, h); + Fa(c, d + 4 * e, e, 1, 8, f, g, h); + } + function af(a, b, c, d, e, f, g, h) { + Fa(a, b + 4, 1, e, 8, f, g, h); + Fa(c, d + 4, 1, e, 8, f, g, h); + } + function Cf() { + this.ba = new Cb(); + this.ec = []; + this.cc = []; + this.Mc = []; + this.Dc = this.Nc = this.dc = this.fc = 0; + this.Oa = new Ud(); + this.memory = 0; + this.Ib = "OutputFunc"; + this.Jb = "OutputAlphaFunc"; + this.Nd = "OutputRowFunc"; + } + function md() { + this.data = []; + this.offset = this.kd = this.ha = this.w = 0; + this.na = []; + this.xa = this.gb = this.Ja = this.Sa = this.P = 0; + } + function Df() { + this.nc = this.Ea = this.b = this.hc = 0; + this.K = []; + this.w = 0; + } + function Ef() { + this.ua = 0; + this.Wa = new ac(); + this.vb = new ac(); + this.md = this.xc = this.wc = 0; + this.vc = []; + this.Wb = 0; + this.Ya = new Ub(); + this.yc = new O(); + } + function je() { + this.xb = this.a = 0; + this.l = new Oa(); + this.ca = new Cb(); + this.V = []; + this.Ba = 0; + this.Ta = []; + this.Ua = 0; + this.m = new Ra(); + this.Pb = 0; + this.wd = new Ra(); + this.Ma = this.$ = this.C = this.i = this.c = this.xd = 0; + this.s = new Ef(); + this.ab = 0; + this.gc = wa(4, Df); + this.Oc = 0; + } + function Ff() { + this.Lc = this.Z = this.$a = this.i = this.c = 0; + this.l = new Oa(); + this.ic = 0; + this.ca = []; + this.tb = 0; + this.qd = null; + this.rd = 0; + } + function Rb(a, b, c, d, e, f, g) { + a = null == a ? 0 : a[b + 0]; + for (b = 0; b < g; ++b) { + e[f + b] = a + c[d + b] & 255, a = e[f + b]; + } + } + function Gf(a, b, c, d, e, f, g) { + if (null == a) Rb(null, null, c, d, e, f, g);else { + var h; + for (h = 0; h < g; ++h) { + e[f + h] = a[b + h] + c[d + h] & 255; + } + } + } + function Hf(a, b, c, d, e, f, g) { + if (null == a) Rb(null, null, c, d, e, f, g);else { + var h = a[b + 0], + k = h, + l = h, + m; + for (m = 0; m < g; ++m) { + h = a[b + m], k = l + h - k, l = c[d + m] + (k & -256 ? 0 > k ? 0 : 255 : k) & 255, k = h, e[f + m] = l; + } + } + } + function Le(a, b, c, d) { + var e = b.width, + f = b.o; + x(null != a && null != b); + if (0 > c || 0 >= d || c + d > f) return null; + if (!a.Cc) { + if (null == a.ga) { + a.ga = new Ff(); + var g; + (g = null == a.ga) || (g = b.width * b.o, x(0 == a.Gb.length), a.Gb = V(g), a.Uc = 0, null == a.Gb ? g = 0 : (a.mb = a.Gb, a.nb = a.Uc, a.rc = null, g = 1), g = !g); + if (!g) { + g = a.ga; + var h = a.Fa, + k = a.P, + l = a.qc, + m = a.mb, + n = a.nb, + r = k + 1, + q = l - 1, + t = g.l; + x(null != h && null != m && null != b); + ia[0] = null; + ia[1] = Rb; + ia[2] = Gf; + ia[3] = Hf; + g.ca = m; + g.tb = n; + g.c = b.width; + g.i = b.height; + x(0 < g.c && 0 < g.i); + if (1 >= l) b = 0;else if (g.$a = h[k + 0] >> 0 & 3, g.Z = h[k + 0] >> 2 & 3, g.Lc = h[k + 0] >> 4 & 3, k = h[k + 0] >> 6 & 3, 0 > g.$a || 1 < g.$a || 4 <= g.Z || 1 < g.Lc || k) b = 0;else if (t.put = kc, t.ac = gc, t.bc = lc, t.ma = g, t.width = b.width, t.height = b.height, t.Da = b.Da, t.v = b.v, t.va = b.va, t.j = b.j, t.o = b.o, g.$a) b: { + x(1 == g.$a), b = Bc(); + c: for (;;) { + if (null == b) { + b = 0; + break b; + } + x(null != g); + g.mc = b; + b.c = g.c; + b.i = g.i; + b.l = g.l; + b.l.ma = g; + b.l.width = g.c; + b.l.height = g.i; + b.a = 0; + cb(b.m, h, r, q); + if (!rb(g.c, g.i, 1, b, null)) break c; + 1 == b.ab && 3 == b.gc[0].hc && yc(b.s) ? (g.ic = 1, h = b.c * b.i, b.Ta = null, b.Ua = 0, b.V = V(h), b.Ba = 0, null == b.V ? (b.a = 1, b = 0) : b = 1) : (g.ic = 0, b = Ec(b, g.c)); + if (!b) break c; + b = 1; + break b; + } + g.mc = null; + b = 0; + } else b = q >= g.c * g.i; + g = !b; + } + if (g) return null; + 1 != a.ga.Lc ? a.Ga = 0 : d = f - c; + } + x(null != a.ga); + x(c + d <= f); + a: { + h = a.ga; + b = h.c; + f = h.l.o; + if (0 == h.$a) { + r = a.rc; + q = a.Vc; + t = a.Fa; + k = a.P + 1 + c * b; + l = a.mb; + m = a.nb + c * b; + x(k <= a.P + a.qc); + if (0 != h.Z) for (x(null != ia[h.Z]), g = 0; g < d; ++g) { + ia[h.Z](r, q, t, k, l, m, b), r = l, q = m, m += b, k += b; + } else for (g = 0; g < d; ++g) { + I(l, m, t, k, b), r = l, q = m, m += b, k += b; + } + a.rc = r; + a.Vc = q; + } else { + x(null != h.mc); + b = c + d; + g = h.mc; + x(null != g); + x(b <= g.i); + if (g.C >= b) b = 1;else if (h.ic || Aa(), h.ic) { + var h = g.V, + r = g.Ba, + q = g.c, + v = g.i, + t = 1, + k = g.$ / q, + l = g.$ % q, + m = g.m, + n = g.s, + p = g.$, + u = q * v, + w = q * b, + y = n.wc, + A = p < w ? ha(n, l, k) : null; + x(p <= u); + x(b <= v); + x(yc(n)); + c: for (;;) { + for (; !m.h && p < w;) { + l & y || (A = ha(n, l, k)); + x(null != A); + Sa(m); + v = ua(A.G[0], A.H[0], m); + if (256 > v) h[r + p] = v, ++p, ++l, l >= q && (l = 0, ++k, k <= b && !(k % 16) && Ib(g, k));else if (280 > v) { + var v = ib(v - 256, m); + var E = ua(A.G[4], A.H[4], m); + Sa(m); + E = ib(E, m); + E = nc(q, E); + if (p >= E && u - p >= v) { + var B; + for (B = 0; B < v; ++B) { + h[r + p + B] = h[r + p + B - E]; + } + } else { + t = 0; + break c; + } + p += v; + for (l += v; l >= q;) { + l -= q, ++k, k <= b && !(k % 16) && Ib(g, k); + } + p < w && l & y && (A = ha(n, l, k)); + } else { + t = 0; + break c; + } + x(m.h == db(m)); + } + Ib(g, k > b ? b : k); + break c; + } + !t || m.h && p < u ? (t = 0, g.a = m.h ? 5 : 3) : g.$ = p; + b = t; + } else b = Jb(g, g.V, g.Ba, g.c, g.i, b, se); + if (!b) { + d = 0; + break a; + } + } + c + d >= f && (a.Cc = 1); + d = 1; + } + if (!d) return null; + if (a.Cc && (d = a.ga, null != d && (d.mc = null), a.ga = null, 0 < a.Ga)) return alert("todo:WebPDequantizeLevels"), null; + } + return a.nb + c * e; + } + function If(a, b, c, d, e, f) { + for (; 0 < e--;) { + var g = a, + h = b + (c ? 1 : 0), + k = a, + l = b + (c ? 0 : 3), + m; + for (m = 0; m < d; ++m) { + var n = k[l + 4 * m]; + 255 != n && (n *= 32897, g[h + 4 * m + 0] = g[h + 4 * m + 0] * n >> 23, g[h + 4 * m + 1] = g[h + 4 * m + 1] * n >> 23, g[h + 4 * m + 2] = g[h + 4 * m + 2] * n >> 23); + } + b += f; + } + } + function Jf(a, b, c, d, e) { + for (; 0 < d--;) { + var f; + for (f = 0; f < c; ++f) { + var g = a[b + 2 * f + 0], + h = a[b + 2 * f + 1], + k = h & 15, + l = 4369 * k, + h = (h & 240 | h >> 4) * l >> 16; + a[b + 2 * f + 0] = (g & 240 | g >> 4) * l >> 16 & 240 | (g & 15 | g << 4) * l >> 16 >> 4 & 15; + a[b + 2 * f + 1] = h & 240 | k; + } + b += e; + } + } + function Kf(a, b, c, d, e, f, g, h) { + var k = 255, + l, + m; + for (m = 0; m < e; ++m) { + for (l = 0; l < d; ++l) { + var n = a[b + l]; + f[g + 4 * l] = n; + k &= n; + } + b += c; + g += h; + } + return 255 != k; + } + function Lf(a, b, c, d, e) { + var f; + for (f = 0; f < e; ++f) { + c[d + f] = a[b + f] >> 8; + } + } + function Aa() { + za = If; + vc = Jf; + fc = Kf; + Fc = Lf; + } + function va(a, b, c) { + self[a] = function (a, e, f, g, h, k, l, m, n, r, q, t, v, p, u, w, y) { + var d, + E = y - 1 >> 1; + var B = h[k + 0] | l[m + 0] << 16; + var C = n[r + 0] | q[t + 0] << 16; + x(null != a); + var z = 3 * B + C + 131074 >> 2; + b(a[e + 0], z & 255, z >> 16, v, p); + null != f && (z = 3 * C + B + 131074 >> 2, b(f[g + 0], z & 255, z >> 16, u, w)); + for (d = 1; d <= E; ++d) { + var D = h[k + d] | l[m + d] << 16; + var G = n[r + d] | q[t + d] << 16; + var F = B + D + C + G + 524296; + var H = F + 2 * (D + C) >> 3; + F = F + 2 * (B + G) >> 3; + z = H + B >> 1; + B = F + D >> 1; + b(a[e + 2 * d - 1], z & 255, z >> 16, v, p + (2 * d - 1) * c); + b(a[e + 2 * d - 0], B & 255, B >> 16, v, p + (2 * d - 0) * c); + null != f && (z = F + C >> 1, B = H + G >> 1, b(f[g + 2 * d - 1], z & 255, z >> 16, u, w + (2 * d - 1) * c), b(f[g + 2 * d + 0], B & 255, B >> 16, u, w + (2 * d + 0) * c)); + B = D; + C = G; + } + y & 1 || (z = 3 * B + C + 131074 >> 2, b(a[e + y - 1], z & 255, z >> 16, v, p + (y - 1) * c), null != f && (z = 3 * C + B + 131074 >> 2, b(f[g + y - 1], z & 255, z >> 16, u, w + (y - 1) * c))); + }; + } + function ic() { + P[Ca] = Mf; + P[Ua] = nd; + P[tc] = Nf; + P[Va] = od; + P[ya] = pd; + P[Db] = qd; + P[wc] = Of; + P[zb] = nd; + P[Ab] = od; + P[Ja] = pd; + P[Bb] = qd; + } + function Sb(a) { + return a & ~Pf ? 0 > a ? 0 : 255 : a >> rd; + } + function bb(a, b) { + return Sb((19077 * a >> 8) + (26149 * b >> 8) - 14234); + } + function nb(a, b, c) { + return Sb((19077 * a >> 8) - (6419 * b >> 8) - (13320 * c >> 8) + 8708); + } + function Pa(a, b) { + return Sb((19077 * a >> 8) + (33050 * b >> 8) - 17685); + } + function Ga(a, b, c, d, e) { + d[e + 0] = bb(a, c); + d[e + 1] = nb(a, b, c); + d[e + 2] = Pa(a, b); + } + function Tb(a, b, c, d, e) { + d[e + 0] = Pa(a, b); + d[e + 1] = nb(a, b, c); + d[e + 2] = bb(a, c); + } + function sd(a, b, c, d, e) { + var f = nb(a, b, c); + b = f << 3 & 224 | Pa(a, b) >> 3; + d[e + 0] = bb(a, c) & 248 | f >> 5; + d[e + 1] = b; + } + function td(a, b, c, d, e) { + var f = Pa(a, b) & 240 | 15; + d[e + 0] = bb(a, c) & 240 | nb(a, b, c) >> 4; + d[e + 1] = f; + } + function ud(a, b, c, d, e) { + d[e + 0] = 255; + Ga(a, b, c, d, e + 1); + } + function vd(a, b, c, d, e) { + Tb(a, b, c, d, e); + d[e + 3] = 255; + } + function wd(a, b, c, d, e) { + Ga(a, b, c, d, e); + d[e + 3] = 255; + } + function ga(a, b) { + return 0 > a ? 0 : a > b ? b : a; + } + function la(a, b, c) { + self[a] = function (a, e, f, g, h, k, l, m, n) { + for (var d = m + (n & -2) * c; m != d;) { + b(a[e + 0], f[g + 0], h[k + 0], l, m), b(a[e + 1], f[g + 0], h[k + 0], l, m + c), e += 2, ++g, ++k, m += 2 * c; + } + n & 1 && b(a[e + 0], f[g + 0], h[k + 0], l, m); + }; + } + function xd(a, b, c) { + return 0 == c ? 0 == a ? 0 == b ? 6 : 5 : 0 == b ? 4 : 0 : c; + } + function yd(a, b, c, d, e) { + switch (a >>> 30) { + case 3: + Za(b, c, d, e, 0); + break; + case 2: + fd(b, c, d, e); + break; + case 1: + pa(b, c, d, e); + } + } + function Oc(a, b) { + var c, + d, + e = b.M, + f = b.Nb, + g = a.oc, + h = a.pc + 40, + k = a.oc, + l = a.pc + 584, + m = a.oc, + n = a.pc + 600; + for (c = 0; 16 > c; ++c) { + g[h + 32 * c - 1] = 129; + } + for (c = 0; 8 > c; ++c) { + k[l + 32 * c - 1] = 129, m[n + 32 * c - 1] = 129; + } + 0 < e ? g[h - 1 - 32] = k[l - 1 - 32] = m[n - 1 - 32] = 129 : (M(g, h - 32 - 1, 127, 21), M(k, l - 32 - 1, 127, 9), M(m, n - 32 - 1, 127, 9)); + for (d = 0; d < a.za; ++d) { + var r = b.ya[b.aa + d]; + if (0 < d) { + for (c = -1; 16 > c; ++c) { + I(g, h + 32 * c - 4, g, h + 32 * c + 12, 4); + } + for (c = -1; 8 > c; ++c) { + I(k, l + 32 * c - 4, k, l + 32 * c + 4, 4), I(m, n + 32 * c - 4, m, n + 32 * c + 4, 4); + } + } + var q = a.Gd, + t = a.Hd + d, + v = r.ad, + p = r.Hc; + 0 < e && (I(g, h - 32, q[t].y, 0, 16), I(k, l - 32, q[t].f, 0, 8), I(m, n - 32, q[t].ea, 0, 8)); + if (r.Za) { + var u = g; + var w = h - 32 + 16; + 0 < e && (d >= a.za - 1 ? M(u, w, q[t].y[15], 4) : I(u, w, q[t + 1].y, 0, 4)); + for (c = 0; 4 > c; c++) { + u[w + 128 + c] = u[w + 256 + c] = u[w + 384 + c] = u[w + 0 + c]; + } + for (c = 0; 16 > c; ++c, p <<= 2) { + u = g, w = h + zd[c], W[r.Ob[c]](u, w), yd(p, v, 16 * +c, u, w); + } + } else if (u = xd(d, e, r.Ob[0]), Y[u](g, h), 0 != p) for (c = 0; 16 > c; ++c, p <<= 2) { + yd(p, v, 16 * +c, g, h + zd[c]); + } + c = r.Gc; + u = xd(d, e, r.Dd); + ka[u](k, l); + ka[u](m, n); + r = c >> 0; + p = v; + u = k; + w = l; + r & 255 && (r & 170 ? Nb(p, 256, u, w) : Ob(p, 256, u, w)); + c >>= 8; + r = m; + p = n; + c & 255 && (c & 170 ? Nb(v, 320, r, p) : Ob(v, 320, r, p)); + e < a.Ub - 1 && (I(q[t].y, 0, g, h + 480, 16), I(q[t].f, 0, k, l + 224, 8), I(q[t].ea, 0, m, n + 224, 8)); + c = 8 * f * a.B; + q = a.sa; + t = a.ta + 16 * d + 16 * f * a.R; + v = a.qa; + r = a.ra + 8 * d + c; + p = a.Ha; + u = a.Ia + 8 * d + c; + for (c = 0; 16 > c; ++c) { + I(q, t + c * a.R, g, h + 32 * c, 16); + } + for (c = 0; 8 > c; ++c) { + I(v, r + c * a.B, k, l + 32 * c, 8), I(p, u + c * a.B, m, n + 32 * c, 8); + } + } + } + function Ad(a, b, c, d, e, f, g, h, k) { + var l = [0], + m = [0], + n = 0, + r = null != k ? k.kd : 0, + q = null != k ? k : new md(); + if (null == a || 12 > c) return 7; + q.data = a; + q.w = b; + q.ha = c; + b = [b]; + c = [c]; + q.gb = [q.gb]; + a: { + var t = b; + var v = c; + var p = q.gb; + x(null != a); + x(null != v); + x(null != p); + p[0] = 0; + if (12 <= v[0] && !fa(a, t[0], "RIFF")) { + if (fa(a, t[0] + 8, "WEBP")) { + p = 3; + break a; + } + var u = Ha(a, t[0] + 4); + if (12 > u || 4294967286 < u) { + p = 3; + break a; + } + if (r && u > v[0] - 8) { + p = 7; + break a; + } + p[0] = u; + t[0] += 12; + v[0] -= 12; + } + p = 0; + } + if (0 != p) return p; + u = 0 < q.gb[0]; + for (c = c[0];;) { + t = [0]; + n = [n]; + a: { + var w = a; + v = b; + p = c; + var y = n, + A = l, + z = m, + B = t; + y[0] = 0; + if (8 > p[0]) p = 7;else { + if (!fa(w, v[0], "VP8X")) { + if (10 != Ha(w, v[0] + 4)) { + p = 3; + break a; + } + if (18 > p[0]) { + p = 7; + break a; + } + var C = Ha(w, v[0] + 8); + var D = 1 + Yb(w, v[0] + 12); + w = 1 + Yb(w, v[0] + 15); + if (2147483648 <= D * w) { + p = 3; + break a; + } + null != B && (B[0] = C); + null != A && (A[0] = D); + null != z && (z[0] = w); + v[0] += 18; + p[0] -= 18; + y[0] = 1; + } + p = 0; + } + } + n = n[0]; + t = t[0]; + if (0 != p) return p; + v = !!(t & 2); + if (!u && n) return 3; + null != f && (f[0] = !!(t & 16)); + null != g && (g[0] = v); + null != h && (h[0] = 0); + g = l[0]; + t = m[0]; + if (n && v && null == k) { + p = 0; + break; + } + if (4 > c) { + p = 7; + break; + } + if (u && n || !u && !n && !fa(a, b[0], "ALPH")) { + c = [c]; + q.na = [q.na]; + q.P = [q.P]; + q.Sa = [q.Sa]; + a: { + C = a; + p = b; + u = c; + var y = q.gb, + A = q.na, + z = q.P, + B = q.Sa; + D = 22; + x(null != C); + x(null != u); + w = p[0]; + var F = u[0]; + x(null != A); + x(null != B); + A[0] = null; + z[0] = null; + for (B[0] = 0;;) { + p[0] = w; + u[0] = F; + if (8 > F) { + p = 7; + break a; + } + var G = Ha(C, w + 4); + if (4294967286 < G) { + p = 3; + break a; + } + var H = 8 + G + 1 & -2; + D += H; + if (0 < y && D > y) { + p = 3; + break a; + } + if (!fa(C, w, "VP8 ") || !fa(C, w, "VP8L")) { + p = 0; + break a; + } + if (F[0] < H) { + p = 7; + break a; + } + fa(C, w, "ALPH") || (A[0] = C, z[0] = w + 8, B[0] = G); + w += H; + F -= H; + } + } + c = c[0]; + q.na = q.na[0]; + q.P = q.P[0]; + q.Sa = q.Sa[0]; + if (0 != p) break; + } + c = [c]; + q.Ja = [q.Ja]; + q.xa = [q.xa]; + a: if (y = a, p = b, u = c, A = q.gb[0], z = q.Ja, B = q.xa, C = p[0], w = !fa(y, C, "VP8 "), D = !fa(y, C, "VP8L"), x(null != y), x(null != u), x(null != z), x(null != B), 8 > u[0]) p = 7;else { + if (w || D) { + y = Ha(y, C + 4); + if (12 <= A && y > A - 12) { + p = 3; + break a; + } + if (r && y > u[0] - 8) { + p = 7; + break a; + } + z[0] = y; + p[0] += 8; + u[0] -= 8; + B[0] = D; + } else B[0] = 5 <= u[0] && 47 == y[C + 0] && !(y[C + 4] >> 5), z[0] = u[0]; + p = 0; + } + c = c[0]; + q.Ja = q.Ja[0]; + q.xa = q.xa[0]; + b = b[0]; + if (0 != p) break; + if (4294967286 < q.Ja) return 3; + null == h || v || (h[0] = q.xa ? 2 : 1); + g = [g]; + t = [t]; + if (q.xa) { + if (5 > c) { + p = 7; + break; + } + h = g; + r = t; + v = f; + null == a || 5 > c ? a = 0 : 5 <= c && 47 == a[b + 0] && !(a[b + 4] >> 5) ? (u = [0], y = [0], A = [0], z = new Ra(), cb(z, a, b, c), mc(z, u, y, A) ? (null != h && (h[0] = u[0]), null != r && (r[0] = y[0]), null != v && (v[0] = A[0]), a = 1) : a = 0) : a = 0; + } else { + if (10 > c) { + p = 7; + break; + } + h = t; + null == a || 10 > c || !Jc(a, b + 3, c - 3) ? a = 0 : (r = a[b + 0] | a[b + 1] << 8 | a[b + 2] << 16, v = (a[b + 7] << 8 | a[b + 6]) & 16383, a = (a[b + 9] << 8 | a[b + 8]) & 16383, r & 1 || 3 < (r >> 1 & 7) || !(r >> 4 & 1) || r >> 5 >= q.Ja || !v || !a ? a = 0 : (g && (g[0] = v), h && (h[0] = a), a = 1)); + } + if (!a) return 3; + g = g[0]; + t = t[0]; + if (n && (l[0] != g || m[0] != t)) return 3; + null != k && (k[0] = q, k.offset = b - k.w, x(4294967286 > b - k.w), x(k.offset == k.ha - c)); + break; + } + return 0 == p || 7 == p && n && null == k ? (null != f && (f[0] |= null != q.na && 0 < q.na.length), null != d && (d[0] = g), null != e && (e[0] = t), 0) : p; + } + function hc(a, b, c) { + var d = b.width, + e = b.height, + f = 0, + g = 0, + h = d, + k = e; + b.Da = null != a && 0 < a.Da; + if (b.Da && (h = a.cd, k = a.bd, f = a.v, g = a.j, 11 > c || (f &= -2, g &= -2), 0 > f || 0 > g || 0 >= h || 0 >= k || f + h > d || g + k > e)) return 0; + b.v = f; + b.j = g; + b.va = f + h; + b.o = g + k; + b.U = h; + b.T = k; + b.da = null != a && 0 < a.da; + if (b.da) { + c = [a.ib]; + f = [a.hb]; + if (!bc(h, k, c, f)) return 0; + b.ib = c[0]; + b.hb = f[0]; + } + b.ob = null != a && a.ob; + b.Kb = null == a || !a.Sd; + b.da && (b.ob = b.ib < 3 * d / 4 && b.hb < 3 * e / 4, b.Kb = 0); + return 1; + } + function Bd(a) { + if (null == a) return 2; + if (11 > a.S) { + var b = a.f.RGBA; + b.fb += (a.height - 1) * b.A; + b.A = -b.A; + } else b = a.f.kb, a = a.height, b.O += (a - 1) * b.fa, b.fa = -b.fa, b.N += (a - 1 >> 1) * b.Ab, b.Ab = -b.Ab, b.W += (a - 1 >> 1) * b.Db, b.Db = -b.Db, null != b.F && (b.J += (a - 1) * b.lb, b.lb = -b.lb); + return 0; + } + function Cd(a, b, c, d) { + if (null == d || 0 >= a || 0 >= b) return 2; + if (null != c) { + if (c.Da) { + var e = c.cd, + f = c.bd, + g = c.v & -2, + h = c.j & -2; + if (0 > g || 0 > h || 0 >= e || 0 >= f || g + e > a || h + f > b) return 2; + a = e; + b = f; + } + if (c.da) { + e = [c.ib]; + f = [c.hb]; + if (!bc(a, b, e, f)) return 2; + a = e[0]; + b = f[0]; + } + } + d.width = a; + d.height = b; + a: { + var k = d.width; + var l = d.height; + a = d.S; + if (0 >= k || 0 >= l || !(a >= Ca && 13 > a)) a = 2;else { + if (0 >= d.Rd && null == d.sd) { + var g = f = e = b = 0, + h = k * Dd[a], + m = h * l; + 11 > a || (b = (k + 1) / 2, f = (l + 1) / 2 * b, 12 == a && (e = k, g = e * l)); + l = V(m + 2 * f + g); + if (null == l) { + a = 1; + break a; + } + d.sd = l; + 11 > a ? (k = d.f.RGBA, k.eb = l, k.fb = 0, k.A = h, k.size = m) : (k = d.f.kb, k.y = l, k.O = 0, k.fa = h, k.Fd = m, k.f = l, k.N = 0 + m, k.Ab = b, k.Cd = f, k.ea = l, k.W = 0 + m + f, k.Db = b, k.Ed = f, 12 == a && (k.F = l, k.J = 0 + m + 2 * f), k.Tc = g, k.lb = e); + } + b = 1; + e = d.S; + f = d.width; + g = d.height; + if (e >= Ca && 13 > e) { + if (11 > e) a = d.f.RGBA, h = Math.abs(a.A), b &= h * (g - 1) + f <= a.size, b &= h >= f * Dd[e], b &= null != a.eb;else { + a = d.f.kb; + h = (f + 1) / 2; + m = (g + 1) / 2; + k = Math.abs(a.fa); + var l = Math.abs(a.Ab), + n = Math.abs(a.Db), + r = Math.abs(a.lb), + q = r * (g - 1) + f; + b &= k * (g - 1) + f <= a.Fd; + b &= l * (m - 1) + h <= a.Cd; + b &= n * (m - 1) + h <= a.Ed; + b = b & k >= f & l >= h & n >= h; + b &= null != a.y; + b &= null != a.f; + b &= null != a.ea; + 12 == e && (b &= r >= f, b &= q <= a.Tc, b &= null != a.F); + } + } else b = 0; + a = b ? 0 : 2; + } + } + if (0 != a) return a; + null != c && c.fd && (a = Bd(d)); + return a; + } + var xb = 64, + Hd = [0, 1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, 16383, 32767, 65535, 131071, 262143, 524287, 1048575, 2097151, 4194303, 8388607, 16777215], + Gd = 24, + ob = 32, + Xb = 8, + Id = [0, 0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7]; + X("Predictor0", "PredictorAdd0"); + self.Predictor0 = function () { + return 4278190080; + }; + self.Predictor1 = function (a) { + return a; + }; + self.Predictor2 = function (a, b, c) { + return b[c + 0]; + }; + self.Predictor3 = function (a, b, c) { + return b[c + 1]; + }; + self.Predictor4 = function (a, b, c) { + return b[c - 1]; + }; + self.Predictor5 = function (a, b, c) { + return aa(aa(a, b[c + 1]), b[c + 0]); + }; + self.Predictor6 = function (a, b, c) { + return aa(a, b[c - 1]); + }; + self.Predictor7 = function (a, b, c) { + return aa(a, b[c + 0]); + }; + self.Predictor8 = function (a, b, c) { + return aa(b[c - 1], b[c + 0]); + }; + self.Predictor9 = function (a, b, c) { + return aa(b[c + 0], b[c + 1]); + }; + self.Predictor10 = function (a, b, c) { + return aa(aa(a, b[c - 1]), aa(b[c + 0], b[c + 1])); + }; + self.Predictor11 = function (a, b, c) { + var d = b[c + 0]; + b = b[c - 1]; + return 0 >= Ia(d >> 24 & 255, a >> 24 & 255, b >> 24 & 255) + Ia(d >> 16 & 255, a >> 16 & 255, b >> 16 & 255) + Ia(d >> 8 & 255, a >> 8 & 255, b >> 8 & 255) + Ia(d & 255, a & 255, b & 255) ? d : a; + }; + self.Predictor12 = function (a, b, c) { + var d = b[c + 0]; + b = b[c - 1]; + return (sa((a >> 24 & 255) + (d >> 24 & 255) - (b >> 24 & 255)) << 24 | sa((a >> 16 & 255) + (d >> 16 & 255) - (b >> 16 & 255)) << 16 | sa((a >> 8 & 255) + (d >> 8 & 255) - (b >> 8 & 255)) << 8 | sa((a & 255) + (d & 255) - (b & 255))) >>> 0; + }; + self.Predictor13 = function (a, b, c) { + var d = b[c - 1]; + a = aa(a, b[c + 0]); + return (eb(a >> 24 & 255, d >> 24 & 255) << 24 | eb(a >> 16 & 255, d >> 16 & 255) << 16 | eb(a >> 8 & 255, d >> 8 & 255) << 8 | eb(a >> 0 & 255, d >> 0 & 255)) >>> 0; + }; + var ee = self.PredictorAdd0; + self.PredictorAdd1 = cc; + X("Predictor2", "PredictorAdd2"); + X("Predictor3", "PredictorAdd3"); + X("Predictor4", "PredictorAdd4"); + X("Predictor5", "PredictorAdd5"); + X("Predictor6", "PredictorAdd6"); + X("Predictor7", "PredictorAdd7"); + X("Predictor8", "PredictorAdd8"); + X("Predictor9", "PredictorAdd9"); + X("Predictor10", "PredictorAdd10"); + X("Predictor11", "PredictorAdd11"); + X("Predictor12", "PredictorAdd12"); + X("Predictor13", "PredictorAdd13"); + var fe = self.PredictorAdd2; + ec("ColorIndexInverseTransform", "MapARGB", "32b", function (a) { + return a >> 8 & 255; + }, function (a) { + return a; + }); + ec("VP8LColorIndexInverseTransformAlpha", "MapAlpha", "8b", function (a) { + return a; + }, function (a) { + return a >> 8 & 255; + }); + var rc = self.ColorIndexInverseTransform, + ke = self.MapARGB, + he = self.VP8LColorIndexInverseTransformAlpha, + le = self.MapAlpha, + pc, + qc = self.VP8LPredictorsAdd = []; + qc.length = 16; + (self.VP8LPredictors = []).length = 16; + (self.VP8LPredictorsAdd_C = []).length = 16; + (self.VP8LPredictors_C = []).length = 16; + var Fb, + sc, + Gb, + Hb, + xc, + uc, + bd = V(511), + cd = V(2041), + dd = V(225), + ed = V(767), + ad = 0, + Qb = cd, + mb = dd, + R = ed, + U = bd, + Ca = 0, + Ua = 1, + tc = 2, + Va = 3, + ya = 4, + Db = 5, + wc = 6, + zb = 7, + Ab = 8, + Ja = 9, + Bb = 10, + pe = [2, 3, 7], + oe = [3, 3, 11], + Dc = [280, 256, 256, 256, 40], + qe = [0, 1, 1, 1, 0], + ne = [17, 18, 0, 1, 2, 3, 4, 5, 16, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], + de = [24, 7, 23, 25, 40, 6, 39, 41, 22, 26, 38, 42, 56, 5, 55, 57, 21, 27, 54, 58, 37, 43, 72, 4, 71, 73, 20, 28, 53, 59, 70, 74, 36, 44, 88, 69, 75, 52, 60, 3, 87, 89, 19, 29, 86, 90, 35, 45, 68, 76, 85, 91, 51, 61, 104, 2, 103, 105, 18, 30, 102, 106, 34, 46, 84, 92, 67, 77, 101, 107, 50, 62, 120, 1, 119, 121, 83, 93, 17, 31, 100, 108, 66, 78, 118, 122, 33, 47, 117, 123, 49, 63, 99, 109, 82, 94, 0, 116, 124, 65, 79, 16, 32, 98, 110, 48, 115, 125, 81, 95, 64, 114, 126, 97, 111, 80, 113, 127, 96, 112], + me = [2954, 2956, 2958, 2962, 2970, 2986, 3018, 3082, 3212, 3468, 3980, 5004], + ie = 8, + Lb = [4, 5, 6, 7, 8, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 17, 18, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 25, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 91, 93, 95, 96, 98, 100, 101, 102, 104, 106, 108, 110, 112, 114, 116, 118, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140, 143, 145, 148, 151, 154, 157], + Mb = [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 114, 116, 119, 122, 125, 128, 131, 134, 137, 140, 143, 146, 149, 152, 155, 158, 161, 164, 167, 170, 173, 177, 181, 185, 189, 193, 197, 201, 205, 209, 213, 217, 221, 225, 229, 234, 239, 245, 249, 254, 259, 264, 269, 274, 279, 284], + oa = null, + He = [[173, 148, 140, 0], [176, 155, 140, 135, 0], [180, 157, 141, 134, 130, 0], [254, 254, 243, 230, 196, 177, 153, 140, 133, 130, 129, 0]], + Ie = [0, 1, 4, 8, 5, 2, 3, 6, 9, 12, 13, 10, 7, 11, 14, 15], + Mc = [-0, 1, -1, 2, -2, 3, 4, 6, -3, 5, -4, -5, -6, 7, -7, 8, -8, -9], + Fe = [[[[128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]], [[253, 136, 254, 255, 228, 219, 128, 128, 128, 128, 128], [189, 129, 242, 255, 227, 213, 255, 219, 128, 128, 128], [106, 126, 227, 252, 214, 209, 255, 255, 128, 128, 128]], [[1, 98, 248, 255, 236, 226, 255, 255, 128, 128, 128], [181, 133, 238, 254, 221, 234, 255, 154, 128, 128, 128], [78, 134, 202, 247, 198, 180, 255, 219, 128, 128, 128]], [[1, 185, 249, 255, 243, 255, 128, 128, 128, 128, 128], [184, 150, 247, 255, 236, 224, 128, 128, 128, 128, 128], [77, 110, 216, 255, 236, 230, 128, 128, 128, 128, 128]], [[1, 101, 251, 255, 241, 255, 128, 128, 128, 128, 128], [170, 139, 241, 252, 236, 209, 255, 255, 128, 128, 128], [37, 116, 196, 243, 228, 255, 255, 255, 128, 128, 128]], [[1, 204, 254, 255, 245, 255, 128, 128, 128, 128, 128], [207, 160, 250, 255, 238, 128, 128, 128, 128, 128, 128], [102, 103, 231, 255, 211, 171, 128, 128, 128, 128, 128]], [[1, 152, 252, 255, 240, 255, 128, 128, 128, 128, 128], [177, 135, 243, 255, 234, 225, 128, 128, 128, 128, 128], [80, 129, 211, 255, 194, 224, 128, 128, 128, 128, 128]], [[1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], [246, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], [255, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]]], [[[198, 35, 237, 223, 193, 187, 162, 160, 145, 155, 62], [131, 45, 198, 221, 172, 176, 220, 157, 252, 221, 1], [68, 47, 146, 208, 149, 167, 221, 162, 255, 223, 128]], [[1, 149, 241, 255, 221, 224, 255, 255, 128, 128, 128], [184, 141, 234, 253, 222, 220, 255, 199, 128, 128, 128], [81, 99, 181, 242, 176, 190, 249, 202, 255, 255, 128]], [[1, 129, 232, 253, 214, 197, 242, 196, 255, 255, 128], [99, 121, 210, 250, 201, 198, 255, 202, 128, 128, 128], [23, 91, 163, 242, 170, 187, 247, 210, 255, 255, 128]], [[1, 200, 246, 255, 234, 255, 128, 128, 128, 128, 128], [109, 178, 241, 255, 231, 245, 255, 255, 128, 128, 128], [44, 130, 201, 253, 205, 192, 255, 255, 128, 128, 128]], [[1, 132, 239, 251, 219, 209, 255, 165, 128, 128, 128], [94, 136, 225, 251, 218, 190, 255, 255, 128, 128, 128], [22, 100, 174, 245, 186, 161, 255, 199, 128, 128, 128]], [[1, 182, 249, 255, 232, 235, 128, 128, 128, 128, 128], [124, 143, 241, 255, 227, 234, 128, 128, 128, 128, 128], [35, 77, 181, 251, 193, 211, 255, 205, 128, 128, 128]], [[1, 157, 247, 255, 236, 231, 255, 255, 128, 128, 128], [121, 141, 235, 255, 225, 227, 255, 255, 128, 128, 128], [45, 99, 188, 251, 195, 217, 255, 224, 128, 128, 128]], [[1, 1, 251, 255, 213, 255, 128, 128, 128, 128, 128], [203, 1, 248, 255, 255, 128, 128, 128, 128, 128, 128], [137, 1, 177, 255, 224, 255, 128, 128, 128, 128, 128]]], [[[253, 9, 248, 251, 207, 208, 255, 192, 128, 128, 128], [175, 13, 224, 243, 193, 185, 249, 198, 255, 255, 128], [73, 17, 171, 221, 161, 179, 236, 167, 255, 234, 128]], [[1, 95, 247, 253, 212, 183, 255, 255, 128, 128, 128], [239, 90, 244, 250, 211, 209, 255, 255, 128, 128, 128], [155, 77, 195, 248, 188, 195, 255, 255, 128, 128, 128]], [[1, 24, 239, 251, 218, 219, 255, 205, 128, 128, 128], [201, 51, 219, 255, 196, 186, 128, 128, 128, 128, 128], [69, 46, 190, 239, 201, 218, 255, 228, 128, 128, 128]], [[1, 191, 251, 255, 255, 128, 128, 128, 128, 128, 128], [223, 165, 249, 255, 213, 255, 128, 128, 128, 128, 128], [141, 124, 248, 255, 255, 128, 128, 128, 128, 128, 128]], [[1, 16, 248, 255, 255, 128, 128, 128, 128, 128, 128], [190, 36, 230, 255, 236, 255, 128, 128, 128, 128, 128], [149, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]], [[1, 226, 255, 128, 128, 128, 128, 128, 128, 128, 128], [247, 192, 255, 128, 128, 128, 128, 128, 128, 128, 128], [240, 128, 255, 128, 128, 128, 128, 128, 128, 128, 128]], [[1, 134, 252, 255, 255, 128, 128, 128, 128, 128, 128], [213, 62, 250, 255, 255, 128, 128, 128, 128, 128, 128], [55, 93, 255, 128, 128, 128, 128, 128, 128, 128, 128]], [[128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128], [128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128]]], [[[202, 24, 213, 235, 186, 191, 220, 160, 240, 175, 255], [126, 38, 182, 232, 169, 184, 228, 174, 255, 187, 128], [61, 46, 138, 219, 151, 178, 240, 170, 255, 216, 128]], [[1, 112, 230, 250, 199, 191, 247, 159, 255, 255, 128], [166, 109, 228, 252, 211, 215, 255, 174, 128, 128, 128], [39, 77, 162, 232, 172, 180, 245, 178, 255, 255, 128]], [[1, 52, 220, 246, 198, 199, 249, 220, 255, 255, 128], [124, 74, 191, 243, 183, 193, 250, 221, 255, 255, 128], [24, 71, 130, 219, 154, 170, 243, 182, 255, 255, 128]], [[1, 182, 225, 249, 219, 240, 255, 224, 128, 128, 128], [149, 150, 226, 252, 216, 205, 255, 171, 128, 128, 128], [28, 108, 170, 242, 183, 194, 254, 223, 255, 255, 128]], [[1, 81, 230, 252, 204, 203, 255, 192, 128, 128, 128], [123, 102, 209, 247, 188, 196, 255, 233, 128, 128, 128], [20, 95, 153, 243, 164, 173, 255, 203, 128, 128, 128]], [[1, 222, 248, 255, 216, 213, 128, 128, 128, 128, 128], [168, 175, 246, 252, 235, 205, 255, 255, 128, 128, 128], [47, 116, 215, 255, 211, 212, 255, 255, 128, 128, 128]], [[1, 121, 236, 253, 212, 214, 255, 255, 128, 128, 128], [141, 84, 213, 252, 201, 202, 255, 219, 128, 128, 128], [42, 80, 160, 240, 162, 185, 255, 205, 128, 128, 128]], [[1, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], [244, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128], [238, 1, 255, 128, 128, 128, 128, 128, 128, 128, 128]]]], + Ke = [[[231, 120, 48, 89, 115, 113, 120, 152, 112], [152, 179, 64, 126, 170, 118, 46, 70, 95], [175, 69, 143, 80, 85, 82, 72, 155, 103], [56, 58, 10, 171, 218, 189, 17, 13, 152], [114, 26, 17, 163, 44, 195, 21, 10, 173], [121, 24, 80, 195, 26, 62, 44, 64, 85], [144, 71, 10, 38, 171, 213, 144, 34, 26], [170, 46, 55, 19, 136, 160, 33, 206, 71], [63, 20, 8, 114, 114, 208, 12, 9, 226], [81, 40, 11, 96, 182, 84, 29, 16, 36]], [[134, 183, 89, 137, 98, 101, 106, 165, 148], [72, 187, 100, 130, 157, 111, 32, 75, 80], [66, 102, 167, 99, 74, 62, 40, 234, 128], [41, 53, 9, 178, 241, 141, 26, 8, 107], [74, 43, 26, 146, 73, 166, 49, 23, 157], [65, 38, 105, 160, 51, 52, 31, 115, 128], [104, 79, 12, 27, 217, 255, 87, 17, 7], [87, 68, 71, 44, 114, 51, 15, 186, 23], [47, 41, 14, 110, 182, 183, 21, 17, 194], [66, 45, 25, 102, 197, 189, 23, 18, 22]], [[88, 88, 147, 150, 42, 46, 45, 196, 205], [43, 97, 183, 117, 85, 38, 35, 179, 61], [39, 53, 200, 87, 26, 21, 43, 232, 171], [56, 34, 51, 104, 114, 102, 29, 93, 77], [39, 28, 85, 171, 58, 165, 90, 98, 64], [34, 22, 116, 206, 23, 34, 43, 166, 73], [107, 54, 32, 26, 51, 1, 81, 43, 31], [68, 25, 106, 22, 64, 171, 36, 225, 114], [34, 19, 21, 102, 132, 188, 16, 76, 124], [62, 18, 78, 95, 85, 57, 50, 48, 51]], [[193, 101, 35, 159, 215, 111, 89, 46, 111], [60, 148, 31, 172, 219, 228, 21, 18, 111], [112, 113, 77, 85, 179, 255, 38, 120, 114], [40, 42, 1, 196, 245, 209, 10, 25, 109], [88, 43, 29, 140, 166, 213, 37, 43, 154], [61, 63, 30, 155, 67, 45, 68, 1, 209], [100, 80, 8, 43, 154, 1, 51, 26, 71], [142, 78, 78, 16, 255, 128, 34, 197, 171], [41, 40, 5, 102, 211, 183, 4, 1, 221], [51, 50, 17, 168, 209, 192, 23, 25, 82]], [[138, 31, 36, 171, 27, 166, 38, 44, 229], [67, 87, 58, 169, 82, 115, 26, 59, 179], [63, 59, 90, 180, 59, 166, 93, 73, 154], [40, 40, 21, 116, 143, 209, 34, 39, 175], [47, 15, 16, 183, 34, 223, 49, 45, 183], [46, 17, 33, 183, 6, 98, 15, 32, 183], [57, 46, 22, 24, 128, 1, 54, 17, 37], [65, 32, 73, 115, 28, 128, 23, 128, 205], [40, 3, 9, 115, 51, 192, 18, 6, 223], [87, 37, 9, 115, 59, 77, 64, 21, 47]], [[104, 55, 44, 218, 9, 54, 53, 130, 226], [64, 90, 70, 205, 40, 41, 23, 26, 57], [54, 57, 112, 184, 5, 41, 38, 166, 213], [30, 34, 26, 133, 152, 116, 10, 32, 134], [39, 19, 53, 221, 26, 114, 32, 73, 255], [31, 9, 65, 234, 2, 15, 1, 118, 73], [75, 32, 12, 51, 192, 255, 160, 43, 51], [88, 31, 35, 67, 102, 85, 55, 186, 85], [56, 21, 23, 111, 59, 205, 45, 37, 192], [55, 38, 70, 124, 73, 102, 1, 34, 98]], [[125, 98, 42, 88, 104, 85, 117, 175, 82], [95, 84, 53, 89, 128, 100, 113, 101, 45], [75, 79, 123, 47, 51, 128, 81, 171, 1], [57, 17, 5, 71, 102, 57, 53, 41, 49], [38, 33, 13, 121, 57, 73, 26, 1, 85], [41, 10, 67, 138, 77, 110, 90, 47, 114], [115, 21, 2, 10, 102, 255, 166, 23, 6], [101, 29, 16, 10, 85, 128, 101, 196, 26], [57, 18, 10, 102, 102, 213, 34, 20, 43], [117, 20, 15, 36, 163, 128, 68, 1, 26]], [[102, 61, 71, 37, 34, 53, 31, 243, 192], [69, 60, 71, 38, 73, 119, 28, 222, 37], [68, 45, 128, 34, 1, 47, 11, 245, 171], [62, 17, 19, 70, 146, 85, 55, 62, 70], [37, 43, 37, 154, 100, 163, 85, 160, 1], [63, 9, 92, 136, 28, 64, 32, 201, 85], [75, 15, 9, 9, 64, 255, 184, 119, 16], [86, 6, 28, 5, 64, 255, 25, 248, 1], [56, 8, 17, 132, 137, 255, 55, 116, 128], [58, 15, 20, 82, 135, 57, 26, 121, 40]], [[164, 50, 31, 137, 154, 133, 25, 35, 218], [51, 103, 44, 131, 131, 123, 31, 6, 158], [86, 40, 64, 135, 148, 224, 45, 183, 128], [22, 26, 17, 131, 240, 154, 14, 1, 209], [45, 16, 21, 91, 64, 222, 7, 1, 197], [56, 21, 39, 155, 60, 138, 23, 102, 213], [83, 12, 13, 54, 192, 255, 68, 47, 28], [85, 26, 85, 85, 128, 128, 32, 146, 171], [18, 11, 7, 63, 144, 171, 4, 4, 246], [35, 27, 10, 146, 174, 171, 12, 26, 128]], [[190, 80, 35, 99, 180, 80, 126, 54, 45], [85, 126, 47, 87, 176, 51, 41, 20, 32], [101, 75, 128, 139, 118, 146, 116, 128, 85], [56, 41, 15, 176, 236, 85, 37, 9, 62], [71, 30, 17, 119, 118, 255, 17, 18, 138], [101, 38, 60, 138, 55, 70, 43, 26, 142], [146, 36, 19, 30, 171, 255, 97, 27, 20], [138, 45, 61, 62, 219, 1, 81, 188, 64], [32, 41, 20, 117, 151, 142, 20, 21, 163], [112, 19, 12, 61, 195, 128, 48, 4, 24]]], + Ee = [[[[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[176, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255], [223, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255], [249, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255], [234, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 246, 254, 255, 255, 255, 255, 255, 255, 255, 255], [239, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255], [251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], [251, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], [254, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 254, 253, 255, 254, 255, 255, 255, 255, 255, 255], [250, 255, 254, 255, 254, 255, 255, 255, 255, 255, 255], [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]]], [[[217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [225, 252, 241, 253, 255, 255, 254, 255, 255, 255, 255], [234, 250, 241, 250, 253, 255, 253, 254, 255, 255, 255]], [[255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], [223, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], [238, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255]], [[255, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255], [249, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255], [247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], [252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], [253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255], [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]]], [[[186, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255], [234, 251, 244, 254, 255, 255, 255, 255, 255, 255, 255], [251, 251, 243, 253, 254, 255, 254, 255, 255, 255, 255]], [[255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], [236, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], [251, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255]], [[255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], [254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], [254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255], [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]]], [[[248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [250, 254, 252, 254, 255, 255, 255, 255, 255, 255, 255], [248, 254, 249, 253, 255, 255, 255, 255, 255, 255, 255]], [[255, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255], [246, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255], [252, 254, 251, 254, 254, 255, 255, 255, 255, 255, 255]], [[255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255], [248, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255], [253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255]], [[255, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255], [245, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255], [253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255], [252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255], [255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255], [249, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255], [250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]], [[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255], [255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]]]], + Ge = [0, 1, 2, 3, 6, 4, 5, 6, 6, 6, 6, 6, 6, 6, 6, 7, 0], + Nc, + Y = [], + W = [], + ka = [], + Za, + fd, + Nb, + pa, + Ob, + Xc, + Tc, + Yc, + Uc, + Zc, + Vc, + $c, + Wc, + Rc, + Pc, + Sc, + Qc, + re = 1, + Cc = 2, + ia = [], + za, + vc, + fc, + Fc, + P = []; + va("UpsampleRgbLinePair", Ga, 3); + va("UpsampleBgrLinePair", Tb, 3); + va("UpsampleRgbaLinePair", wd, 4); + va("UpsampleBgraLinePair", vd, 4); + va("UpsampleArgbLinePair", ud, 4); + va("UpsampleRgba4444LinePair", td, 2); + va("UpsampleRgb565LinePair", sd, 2); + var Mf = self.UpsampleRgbLinePair, + Nf = self.UpsampleBgrLinePair, + nd = self.UpsampleRgbaLinePair, + od = self.UpsampleBgraLinePair, + pd = self.UpsampleArgbLinePair, + qd = self.UpsampleRgba4444LinePair, + Of = self.UpsampleRgb565LinePair, + Wa = 16, + Ba = 1 << Wa - 1, + ta = -227, + Eb = 482, + rd = 6, + Pf = (256 << rd) - 1, + jc = 0, + Yd = V(256), + ae = V(256), + $d = V(256), + Zd = V(256), + be = V(Eb - ta), + ce = V(Eb - ta); + la("YuvToRgbRow", Ga, 3); + la("YuvToBgrRow", Tb, 3); + la("YuvToRgbaRow", wd, 4); + la("YuvToBgraRow", vd, 4); + la("YuvToArgbRow", ud, 4); + la("YuvToRgba4444Row", td, 2); + la("YuvToRgb565Row", sd, 2); + var zd = [0, 4, 8, 12, 128, 132, 136, 140, 256, 260, 264, 268, 384, 388, 392, 396], + Ya = [0, 2, 8], + Qf = [8, 7, 6, 4, 4, 2, 2, 2, 1, 1, 1, 1], + Ne = 1; + this.WebPDecodeRGBA = function (a, b, c, d, e) { + var f = Ua; + var g = new Cf(), + h = new Cb(); + g.ba = h; + h.S = f; + h.width = [h.width]; + h.height = [h.height]; + var k = h.width; + var l = h.height, + m = new Td(); + if (null == m || null == a) var n = 2;else x(null != m), n = Ad(a, b, c, m.width, m.height, m.Pd, m.Qd, m.format, null); + 0 != n ? k = 0 : (null != k && (k[0] = m.width[0]), null != l && (l[0] = m.height[0]), k = 1); + if (k) { + h.width = h.width[0]; + h.height = h.height[0]; + null != d && (d[0] = h.width); + null != e && (e[0] = h.height); + b: { + d = new Oa(); + e = new md(); + e.data = a; + e.w = b; + e.ha = c; + e.kd = 1; + b = [0]; + x(null != e); + a = Ad(e.data, e.w, e.ha, null, null, null, b, null, e); + (0 == a || 7 == a) && b[0] && (a = 4); + b = a; + if (0 == b) { + x(null != g); + d.data = e.data; + d.w = e.w + e.offset; + d.ha = e.ha - e.offset; + d.put = kc; + d.ac = gc; + d.bc = lc; + d.ma = g; + if (e.xa) { + a = Bc(); + if (null == a) { + g = 1; + break b; + } + if (te(a, d)) { + b = Cd(d.width, d.height, g.Oa, g.ba); + if (d = 0 == b) { + c: { + d = a; + d: for (;;) { + if (null == d) { + d = 0; + break c; + } + x(null != d.s.yc); + x(null != d.s.Ya); + x(0 < d.s.Wb); + c = d.l; + x(null != c); + e = c.ma; + x(null != e); + if (0 != d.xb) { + d.ca = e.ba; + d.tb = e.tb; + x(null != d.ca); + if (!hc(e.Oa, c, Va)) { + d.a = 2; + break d; + } + if (!Ec(d, c.width)) break d; + if (c.da) break d; + (c.da || hb(d.ca.S)) && Aa(); + 11 > d.ca.S || (alert("todo:WebPInitConvertARGBToYUV"), null != d.ca.f.kb.F && Aa()); + if (d.Pb && 0 < d.s.ua && null == d.s.vb.X && !Zb(d.s.vb, d.s.Wa.Xa)) { + d.a = 1; + break d; + } + d.xb = 0; + } + if (!Jb(d, d.V, d.Ba, d.c, d.i, c.o, ge)) break d; + e.Dc = d.Ma; + d = 1; + break c; + } + x(0 != d.a); + d = 0; + } + d = !d; + } + d && (b = a.a); + } else b = a.a; + } else { + a = new Ce(); + if (null == a) { + g = 1; + break b; + } + a.Fa = e.na; + a.P = e.P; + a.qc = e.Sa; + if (Kc(a, d)) { + if (b = Cd(d.width, d.height, g.Oa, g.ba), 0 == b) { + a.Aa = 0; + c = g.Oa; + e = a; + x(null != e); + if (null != c) { + k = c.Md; + k = 0 > k ? 0 : 100 < k ? 255 : 255 * k / 100; + if (0 < k) { + for (l = m = 0; 4 > l; ++l) { + n = e.pb[l], 12 > n.lc && (n.ia = k * Qf[0 > n.lc ? 0 : n.lc] >> 3), m |= n.ia; + } + m && (alert("todo:VP8InitRandom"), e.ia = 1); + } + e.Ga = c.Id; + 100 < e.Ga ? e.Ga = 100 : 0 > e.Ga && (e.Ga = 0); + } + Me(a, d) || (b = a.a); + } + } else b = a.a; + } + 0 == b && null != g.Oa && g.Oa.fd && (b = Bd(g.ba)); + } + g = b; + } + f = 0 != g ? null : 11 > f ? h.f.RGBA.eb : h.f.kb.y; + } else f = null; + return f; + }; + var Dd = [3, 4, 3, 4, 4, 2, 2, 4, 4, 4, 2, 1, 1]; + }; + new _WebPDecoder(); + + /** @license + * Copyright (c) 2017 Dominik Homberger + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + https://webpjs.appspot.com + WebPRiffParser dominikhlbg@gmail.com + */ + + function memcmp(data, data_off, str, size) { + for (var i = 0; i < size; i++) { + if (data[data_off + i] != str.charCodeAt(i)) return true; + } + return false; + } + function GetTag(data, data_off) { + var str = ""; + for (var i = 0; i < 4; i++) { + str += String.fromCharCode(data[data_off++]); + } + return str; + } + function GetLE16(data, data_off) { + return data[data_off + 0] << 0 | data[data_off + 1] << 8; + } + function GetLE24(data, data_off) { + return (data[data_off + 0] << 0 | data[data_off + 1] << 8 | data[data_off + 2] << 16) >>> 0; + } + function GetLE32(data, data_off) { + return (data[data_off + 0] << 0 | data[data_off + 1] << 8 | data[data_off + 2] << 16 | data[data_off + 3] << 24) >>> 0; + } + function WebPRiffParser(src, src_off) { + var imagearray = {}; + var i = 0; + var alpha_chunk = false; + var alpha_size = 0; + var alpha_offset = 0; + imagearray["frames"] = []; + if (memcmp(src, src_off, "RIFF", 4)) return; + src_off += 4; + GetLE32(src, src_off) + 8; + src_off += 8; + while (src_off < src.length) { + var fourcc = GetTag(src, src_off); + src_off += 4; + var payload_size = GetLE32(src, src_off); + src_off += 4; + var payload_size_padded = payload_size + (payload_size & 1); + switch (fourcc) { + case "VP8 ": + case "VP8L": + if (typeof imagearray["frames"][i] === "undefined") imagearray["frames"][i] = {}; + var obj = imagearray["frames"][i]; + obj["src_off"] = alpha_chunk ? alpha_offset : src_off - 8; + obj["src_size"] = alpha_size + payload_size + 8; + //var rgba = webpdecoder.WebPDecodeRGBA(src,(alpha_chunk?alpha_offset:src_off-8),alpha_size+payload_size+8,width,height); + //imagearray[i]={'rgba':rgba,'width':width[0],'height':height[0]}; + i++; + if (alpha_chunk) { + alpha_chunk = false; + alpha_size = 0; + alpha_offset = 0; + } + break; + case "VP8X": + var obj = imagearray["header"] = {}; + obj["feature_flags"] = src[src_off]; + var src_off_ = src_off + 4; + obj["canvas_width"] = 1 + GetLE24(src, src_off_); + src_off_ += 3; + obj["canvas_height"] = 1 + GetLE24(src, src_off_); + src_off_ += 3; + break; + case "ALPH": + alpha_chunk = true; + alpha_size = payload_size_padded + 8; + alpha_offset = src_off - 8; + break; + case "ANIM": + var obj = imagearray["header"]; + obj["bgcolor"] = GetLE32(src, src_off); + src_off_ = src_off + 4; + obj["loop_count"] = GetLE16(src, src_off_); + src_off_ += 2; + break; + case "ANMF": + var temp = 0; + var obj = imagearray["frames"][i] = {}; + obj["offset_x"] = 2 * GetLE24(src, src_off); + src_off += 3; + obj["offset_y"] = 2 * GetLE24(src, src_off); + src_off += 3; + obj["width"] = 1 + GetLE24(src, src_off); + src_off += 3; + obj["height"] = 1 + GetLE24(src, src_off); + src_off += 3; + obj["duration"] = GetLE24(src, src_off); + src_off += 3; + temp = src[src_off++]; + obj["dispose"] = temp & 1; + obj["blend"] = temp >> 1 & 1; + break; + } + if (fourcc != "ANMF") src_off += payload_size_padded; + } + return imagearray; + } + var height = [0]; + var width = [0]; + var pixels = []; + var webpdecoder = new _WebPDecoder(); + var response = imageData; + var imagearray = WebPRiffParser(response, 0); + imagearray["response"] = response; + imagearray["rgbaoutput"] = true; + imagearray["dataurl"] = false; + var header = imagearray["header"] ? imagearray["header"] : null; + var frames = imagearray["frames"] ? imagearray["frames"] : null; + if (header) { + header["loop_counter"] = header["loop_count"]; + height = [header["canvas_height"]]; + width = [header["canvas_width"]]; + for (var f = 0; f < frames.length; f++) { + if (frames[f]["blend"] == 0) { + break; + } + } + } + var frame = frames[0]; + var rgba = webpdecoder.WebPDecodeRGBA(response, frame["src_off"], frame["src_size"], width, height); + frame["rgba"] = rgba; + frame["imgwidth"] = width[0]; + frame["imgheight"] = height[0]; + for (var i = 0; i < width[0] * height[0] * 4; i++) { + pixels[i] = rgba[i]; + } + this.width = width; + this.height = height; + this.data = pixels; + return this; + } + WebPDecoder.prototype.getData = function () { + return this.data; + }; + + /** + * @license + * Copyright (c) 2019 Aras Abbasi + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * jsPDF webp Support PlugIn + * + * @name webp_support + * @module + */ + (function (jsPDFAPI) { + + jsPDFAPI.processWEBP = function (imageData, index, alias, compression) { + var reader = new WebPDecoder(imageData); + var width = reader.width, + height = reader.height; + var qu = 100; + var pixels = reader.getData(); + var rawImageData = { + data: pixels, + width: width, + height: height + }; + var encoder = new JPEGEncoder(qu); + var data = encoder.encode(rawImageData, qu); + return jsPDFAPI.processJPEG.call(this, data, index, alias, compression); + }; + })(jsPDF.API); + + /** + * @license + * + * Copyright (c) 2021 Antti Palola, https://github.com/Pantura + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * ==================================================================== + */ + + /** + * jsPDF RGBA array PlugIn + * @name rgba_support + * @module + */ + (function (jsPDFAPI) { + + /** + * @name processRGBA + * @function + * + * Process RGBA Array. This is a one-dimension array with pixel data [red, green, blue, alpha, red, green, ...]. + * RGBA array data can be obtained from DOM canvas getImageData. + * @ignore + */ + jsPDFAPI.processRGBA = function (imageData, index, alias) { + + var imagePixels = imageData.data; + var length = imagePixels.length; + // jsPDF takes alpha data separately so extract that. + var rgbOut = new Uint8Array(length / 4 * 3); + var alphaOut = new Uint8Array(length / 4); + var outIndex = 0; + var alphaIndex = 0; + for (var i = 0; i < length; i += 4) { + var r = imagePixels[i]; + var g = imagePixels[i + 1]; + var b = imagePixels[i + 2]; + var alpha = imagePixels[i + 3]; + rgbOut[outIndex++] = r; + rgbOut[outIndex++] = g; + rgbOut[outIndex++] = b; + alphaOut[alphaIndex++] = alpha; + } + var rgbData = this.__addimage__.arrayBufferToBinaryString(rgbOut); + var alphaData = this.__addimage__.arrayBufferToBinaryString(alphaOut); + return { + alpha: alphaData, + data: rgbData, + index: index, + alias: alias, + colorSpace: "DeviceRGB", + bitsPerComponent: 8, + width: imageData.width, + height: imageData.height + }; + }; + })(jsPDF.API); + + /** + * @license + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * jsPDF setLanguage Plugin + * + * @name setLanguage + * @module + */ + (function (jsPDFAPI) { + + /** + * Add Language Tag to the generated PDF + * + * @name setLanguage + * @function + * @param {string} langCode The Language code as ISO-639-1 (e.g. 'en') or as country language code (e.g. 'en-GB'). + * @returns {jsPDF} + * @example + * var doc = new jsPDF() + * doc.text(10, 10, 'This is a test') + * doc.setLanguage("en-US") + * doc.save('english.pdf') + */ + jsPDFAPI.setLanguage = function (langCode) { + + var langCodes = { + af: "Afrikaans", + sq: "Albanian", + ar: "Arabic (Standard)", + "ar-DZ": "Arabic (Algeria)", + "ar-BH": "Arabic (Bahrain)", + "ar-EG": "Arabic (Egypt)", + "ar-IQ": "Arabic (Iraq)", + "ar-JO": "Arabic (Jordan)", + "ar-KW": "Arabic (Kuwait)", + "ar-LB": "Arabic (Lebanon)", + "ar-LY": "Arabic (Libya)", + "ar-MA": "Arabic (Morocco)", + "ar-OM": "Arabic (Oman)", + "ar-QA": "Arabic (Qatar)", + "ar-SA": "Arabic (Saudi Arabia)", + "ar-SY": "Arabic (Syria)", + "ar-TN": "Arabic (Tunisia)", + "ar-AE": "Arabic (U.A.E.)", + "ar-YE": "Arabic (Yemen)", + an: "Aragonese", + hy: "Armenian", + as: "Assamese", + ast: "Asturian", + az: "Azerbaijani", + eu: "Basque", + be: "Belarusian", + bn: "Bengali", + bs: "Bosnian", + br: "Breton", + bg: "Bulgarian", + my: "Burmese", + ca: "Catalan", + ch: "Chamorro", + ce: "Chechen", + zh: "Chinese", + "zh-HK": "Chinese (Hong Kong)", + "zh-CN": "Chinese (PRC)", + "zh-SG": "Chinese (Singapore)", + "zh-TW": "Chinese (Taiwan)", + cv: "Chuvash", + co: "Corsican", + cr: "Cree", + hr: "Croatian", + cs: "Czech", + da: "Danish", + nl: "Dutch (Standard)", + "nl-BE": "Dutch (Belgian)", + en: "English", + "en-AU": "English (Australia)", + "en-BZ": "English (Belize)", + "en-CA": "English (Canada)", + "en-IE": "English (Ireland)", + "en-JM": "English (Jamaica)", + "en-NZ": "English (New Zealand)", + "en-PH": "English (Philippines)", + "en-ZA": "English (South Africa)", + "en-TT": "English (Trinidad & Tobago)", + "en-GB": "English (United Kingdom)", + "en-US": "English (United States)", + "en-ZW": "English (Zimbabwe)", + eo: "Esperanto", + et: "Estonian", + fo: "Faeroese", + fj: "Fijian", + fi: "Finnish", + fr: "French (Standard)", + "fr-BE": "French (Belgium)", + "fr-CA": "French (Canada)", + "fr-FR": "French (France)", + "fr-LU": "French (Luxembourg)", + "fr-MC": "French (Monaco)", + "fr-CH": "French (Switzerland)", + fy: "Frisian", + fur: "Friulian", + gd: "Gaelic (Scots)", + "gd-IE": "Gaelic (Irish)", + gl: "Galacian", + ka: "Georgian", + de: "German (Standard)", + "de-AT": "German (Austria)", + "de-DE": "German (Germany)", + "de-LI": "German (Liechtenstein)", + "de-LU": "German (Luxembourg)", + "de-CH": "German (Switzerland)", + el: "Greek", + gu: "Gujurati", + ht: "Haitian", + he: "Hebrew", + hi: "Hindi", + hu: "Hungarian", + is: "Icelandic", + id: "Indonesian", + iu: "Inuktitut", + ga: "Irish", + it: "Italian (Standard)", + "it-CH": "Italian (Switzerland)", + ja: "Japanese", + kn: "Kannada", + ks: "Kashmiri", + kk: "Kazakh", + km: "Khmer", + ky: "Kirghiz", + tlh: "Klingon", + ko: "Korean", + "ko-KP": "Korean (North Korea)", + "ko-KR": "Korean (South Korea)", + la: "Latin", + lv: "Latvian", + lt: "Lithuanian", + lb: "Luxembourgish", + mk: "North Macedonia", + ms: "Malay", + ml: "Malayalam", + mt: "Maltese", + mi: "Maori", + mr: "Marathi", + mo: "Moldavian", + nv: "Navajo", + ng: "Ndonga", + ne: "Nepali", + no: "Norwegian", + nb: "Norwegian (Bokmal)", + nn: "Norwegian (Nynorsk)", + oc: "Occitan", + or: "Oriya", + om: "Oromo", + fa: "Persian", + "fa-IR": "Persian/Iran", + pl: "Polish", + pt: "Portuguese", + "pt-BR": "Portuguese (Brazil)", + pa: "Punjabi", + "pa-IN": "Punjabi (India)", + "pa-PK": "Punjabi (Pakistan)", + qu: "Quechua", + rm: "Rhaeto-Romanic", + ro: "Romanian", + "ro-MO": "Romanian (Moldavia)", + ru: "Russian", + "ru-MO": "Russian (Moldavia)", + sz: "Sami (Lappish)", + sg: "Sango", + sa: "Sanskrit", + sc: "Sardinian", + sd: "Sindhi", + si: "Singhalese", + sr: "Serbian", + sk: "Slovak", + sl: "Slovenian", + so: "Somani", + sb: "Sorbian", + es: "Spanish", + "es-AR": "Spanish (Argentina)", + "es-BO": "Spanish (Bolivia)", + "es-CL": "Spanish (Chile)", + "es-CO": "Spanish (Colombia)", + "es-CR": "Spanish (Costa Rica)", + "es-DO": "Spanish (Dominican Republic)", + "es-EC": "Spanish (Ecuador)", + "es-SV": "Spanish (El Salvador)", + "es-GT": "Spanish (Guatemala)", + "es-HN": "Spanish (Honduras)", + "es-MX": "Spanish (Mexico)", + "es-NI": "Spanish (Nicaragua)", + "es-PA": "Spanish (Panama)", + "es-PY": "Spanish (Paraguay)", + "es-PE": "Spanish (Peru)", + "es-PR": "Spanish (Puerto Rico)", + "es-ES": "Spanish (Spain)", + "es-UY": "Spanish (Uruguay)", + "es-VE": "Spanish (Venezuela)", + sx: "Sutu", + sw: "Swahili", + sv: "Swedish", + "sv-FI": "Swedish (Finland)", + "sv-SV": "Swedish (Sweden)", + ta: "Tamil", + tt: "Tatar", + te: "Teluga", + th: "Thai", + tig: "Tigre", + ts: "Tsonga", + tn: "Tswana", + tr: "Turkish", + tk: "Turkmen", + uk: "Ukrainian", + hsb: "Upper Sorbian", + ur: "Urdu", + ve: "Venda", + vi: "Vietnamese", + vo: "Volapuk", + wa: "Walloon", + cy: "Welsh", + xh: "Xhosa", + ji: "Yiddish", + zu: "Zulu" + }; + if (this.internal.languageSettings === undefined) { + this.internal.languageSettings = {}; + this.internal.languageSettings.isSubscribed = false; + } + if (langCodes[langCode] !== undefined) { + this.internal.languageSettings.languageCode = langCode; + if (this.internal.languageSettings.isSubscribed === false) { + this.internal.events.subscribe("putCatalog", function () { + this.internal.write("/Lang (" + this.internal.languageSettings.languageCode + ")"); + }); + this.internal.languageSettings.isSubscribed = true; + } + } + return this; + }; + })(jsPDF.API); + + /** + * jsPDF split_text_to_size plugin + * + * @name split_text_to_size + * @module + */ + (function (API) { + + /** + * Returns an array of length matching length of the 'word' string, with each + * cell occupied by the width of the char in that position. + * + * @name getCharWidthsArray + * @function + * @param {string} text + * @param {Object} options + * @returns {Array} + */ + var getCharWidthsArray = API.getCharWidthsArray = function (text, options) { + options = options || {}; + var activeFont = options.font || this.internal.getFont(); + var fontSize = options.fontSize || this.internal.getFontSize(); + var charSpace = options.charSpace || this.internal.getCharSpace(); + var widths = options.widths ? options.widths : activeFont.metadata.Unicode.widths; + var widthsFractionOf = widths.fof ? widths.fof : 1; + var kerning = options.kerning ? options.kerning : activeFont.metadata.Unicode.kerning; + var kerningFractionOf = kerning.fof ? kerning.fof : 1; + var doKerning = options.doKerning === false ? false : true; + var kerningValue = 0; + var i; + var length = text.length; + var char_code; + var prior_char_code = 0; //for kerning + var default_char_width = widths[0] || widthsFractionOf; + var output = []; + for (i = 0; i < length; i++) { + char_code = text.charCodeAt(i); + if (typeof activeFont.metadata.widthOfString === "function") { + output.push((activeFont.metadata.widthOfGlyph(activeFont.metadata.characterToGlyph(char_code)) + charSpace * (1000 / fontSize) || 0) / 1000); + } else { + if (doKerning && _typeof(kerning[char_code]) === "object" && !isNaN(parseInt(kerning[char_code][prior_char_code], 10))) { + kerningValue = kerning[char_code][prior_char_code] / kerningFractionOf; + } else { + kerningValue = 0; + } + output.push((widths[char_code] || default_char_width) / widthsFractionOf + kerningValue); + } + prior_char_code = char_code; + } + return output; + }; + + /** + * Returns a widths of string in a given font, if the font size is set as 1 point. + * + * In other words, this is "proportional" value. For 1 unit of font size, the length + * of the string will be that much. + * + * Multiply by font size to get actual width in *points* + * Then divide by 72 to get inches or divide by (72/25.4) to get 'mm' etc. + * + * @name getStringUnitWidth + * @public + * @function + * @param {string} text + * @param {string} options + * @returns {number} result + */ + var getStringUnitWidth = API.getStringUnitWidth = function (text, options) { + options = options || {}; + var fontSize = options.fontSize || this.internal.getFontSize(); + var font = options.font || this.internal.getFont(); + var charSpace = options.charSpace || this.internal.getCharSpace(); + var result = 0; + if (API.processArabic) { + text = API.processArabic(text); + } + if (typeof font.metadata.widthOfString === "function") { + result = font.metadata.widthOfString(text, fontSize, charSpace) / fontSize; + } else { + result = getCharWidthsArray.apply(this, arguments).reduce(function (pv, cv) { + return pv + cv; + }, 0); + } + return result; + }; + + /** + returns array of lines + */ + var splitLongWord = function splitLongWord(word, widths_array, firstLineMaxLen, maxLen) { + var answer = []; + + // 1st, chop off the piece that can fit on the hanging line. + var i = 0, + l = word.length, + workingLen = 0; + while (i !== l && workingLen + widths_array[i] < firstLineMaxLen) { + workingLen += widths_array[i]; + i++; + } + // this is first line. + answer.push(word.slice(0, i)); + + // 2nd. Split the rest into maxLen pieces. + var startOfLine = i; + workingLen = 0; + while (i !== l) { + if (workingLen + widths_array[i] > maxLen) { + answer.push(word.slice(startOfLine, i)); + workingLen = 0; + startOfLine = i; + } + workingLen += widths_array[i]; + i++; + } + if (startOfLine !== i) { + answer.push(word.slice(startOfLine, i)); + } + return answer; + }; + + // Note, all sizing inputs for this function must be in "font measurement units" + // By default, for PDF, it's "point". + var splitParagraphIntoLines = function splitParagraphIntoLines(text, maxlen, options) { + // at this time works only on Western scripts, ones with space char + // separating the words. Feel free to expand. + + if (!options) { + options = {}; + } + var line = [], + lines = [line], + line_length = options.textIndent || 0, + separator_length = 0, + current_word_length = 0, + word, + widths_array, + words = text.split(" "), + spaceCharWidth = getCharWidthsArray.apply(this, [" ", options])[0], + i, + l, + tmp, + lineIndent; + if (options.lineIndent === -1) { + lineIndent = words[0].length + 2; + } else { + lineIndent = options.lineIndent || 0; + } + if (lineIndent) { + var pad = Array(lineIndent).join(" "), + wrds = []; + words.map(function (wrd) { + wrd = wrd.split(/\s*\n/); + if (wrd.length > 1) { + wrds = wrds.concat(wrd.map(function (wrd, idx) { + return (idx && wrd.length ? "\n" : "") + wrd; + })); + } else { + wrds.push(wrd[0]); + } + }); + words = wrds; + lineIndent = getStringUnitWidth.apply(this, [pad, options]); + } + for (i = 0, l = words.length; i < l; i++) { + var force = 0; + word = words[i]; + if (lineIndent && word[0] == "\n") { + word = word.substr(1); + force = 1; + } + widths_array = getCharWidthsArray.apply(this, [word, options]); + current_word_length = widths_array.reduce(function (pv, cv) { + return pv + cv; + }, 0); + if (line_length + separator_length + current_word_length > maxlen || force) { + if (current_word_length > maxlen) { + // this happens when you have space-less long URLs for example. + // we just chop these to size. We do NOT insert hiphens + tmp = splitLongWord.apply(this, [word, widths_array, maxlen - (line_length + separator_length), maxlen]); + // first line we add to existing line object + line.push(tmp.shift()); // it's ok to have extra space indicator there + // last line we make into new line object + line = [tmp.pop()]; + // lines in the middle we apped to lines object as whole lines + while (tmp.length) { + lines.push([tmp.shift()]); // single fragment occupies whole line + } + current_word_length = widths_array.slice(word.length - (line[0] ? line[0].length : 0)).reduce(function (pv, cv) { + return pv + cv; + }, 0); + } else { + // just put it on a new line + line = [word]; + } + + // now we attach new line to lines + lines.push(line); + line_length = current_word_length + lineIndent; + separator_length = spaceCharWidth; + } else { + line.push(word); + line_length += separator_length + current_word_length; + separator_length = spaceCharWidth; + } + } + var postProcess; + if (lineIndent) { + postProcess = function postProcess(ln, idx) { + return (idx ? pad : "") + ln.join(" "); + }; + } else { + postProcess = function postProcess(ln) { + return ln.join(" "); + }; + } + return lines.map(postProcess); + }; + + /** + * Splits a given string into an array of strings. Uses 'size' value + * (in measurement units declared as default for the jsPDF instance) + * and the font's "widths" and "Kerning" tables, where available, to + * determine display length of a given string for a given font. + * + * We use character's 100% of unit size (height) as width when Width + * table or other default width is not available. + * + * @name splitTextToSize + * @public + * @function + * @param {string} text Unencoded, regular JavaScript (Unicode, UTF-16 / UCS-2) string. + * @param {number} size Nominal number, measured in units default to this instance of jsPDF. + * @param {Object} options Optional flags needed for chopper to do the right thing. + * @returns {Array} array Array with strings chopped to size. + */ + API.splitTextToSize = function (text, maxlen, options) { + + options = options || {}; + var fsize = options.fontSize || this.internal.getFontSize(), + newOptions = function (options) { + var widths = { + 0: 1 + }, + kerning = {}; + if (!options.widths || !options.kerning) { + var f = this.internal.getFont(options.fontName, options.fontStyle), + encoding = "Unicode"; + // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE + // Actual JavaScript-native String's 16bit char codes used. + // no multi-byte logic here + + if (f.metadata[encoding]) { + return { + widths: f.metadata[encoding].widths || widths, + kerning: f.metadata[encoding].kerning || kerning + }; + } else { + return { + font: f.metadata, + fontSize: this.internal.getFontSize(), + charSpace: this.internal.getCharSpace() + }; + } + } else { + return { + widths: options.widths, + kerning: options.kerning + }; + } + }.call(this, options); + + // first we split on end-of-line chars + var paragraphs; + if (Array.isArray(text)) { + paragraphs = text; + } else { + paragraphs = String(text).split(/\r?\n/); + } + + // now we convert size (max length of line) into "font size units" + // at present time, the "font size unit" is always 'point' + // 'proportional' means, "in proportion to font size" + var fontUnit_maxLen = 1.0 * this.internal.scaleFactor * maxlen / fsize; + // at this time, fsize is always in "points" regardless of the default measurement unit of the doc. + // this may change in the future? + // until then, proportional_maxlen is likely to be in 'points' + + // If first line is to be indented (shorter or longer) than maxLen + // we indicate that by using CSS-style "text-indent" option. + // here it's in font units too (which is likely 'points') + // it can be negative (which makes the first line longer than maxLen) + newOptions.textIndent = options.textIndent ? options.textIndent * 1.0 * this.internal.scaleFactor / fsize : 0; + newOptions.lineIndent = options.lineIndent; + var i, + l, + output = []; + for (i = 0, l = paragraphs.length; i < l; i++) { + output = output.concat(splitParagraphIntoLines.apply(this, [paragraphs[i], fontUnit_maxLen, newOptions])); + } + return output; + }; + })(jsPDF.API); + + /** + * This file adds the standard font metrics to jsPDF. + * + * Font metrics data is reprocessed derivative of contents of + * "Font Metrics for PDF Core 14 Fonts" package, which exhibits the following copyright and license: + * + * Copyright (c) 1989, 1990, 1991, 1992, 1993, 1997 Adobe Systems Incorporated. All Rights Reserved. + * + * This file and the 14 PostScript(R) AFM files it accompanies may be used, + * copied, and distributed for any purpose and without charge, with or without + * modification, provided that all copyright notices are retained; that the AFM + * files are not distributed without this file; that all modifications to this + * file or any of the AFM files are prominently noted in the modified file(s); + * and that this paragraph is not modified. Adobe Systems has no responsibility + * or obligation to support the use of the AFM files. + * + * @name standard_fonts_metrics + * @module + */ + + (function (API) { + + API.__fontmetrics__ = API.__fontmetrics__ || {}; + var decoded = "0123456789abcdef", + encoded = "klmnopqrstuvwxyz", + mappingUncompress = {}, + mappingCompress = {}; + for (var i = 0; i < encoded.length; i++) { + mappingUncompress[encoded[i]] = decoded[i]; + mappingCompress[decoded[i]] = encoded[i]; + } + var hex = function hex(value) { + return "0x" + parseInt(value, 10).toString(16); + }; + var compress = API.__fontmetrics__.compress = function (data) { + var vals = ["{"]; + var value, keystring, valuestring, numberprefix; + for (var key in data) { + value = data[key]; + if (!isNaN(parseInt(key, 10))) { + key = parseInt(key, 10); + keystring = hex(key).slice(2); + keystring = keystring.slice(0, -1) + mappingCompress[keystring.slice(-1)]; + } else { + keystring = "'" + key + "'"; + } + if (typeof value == "number") { + if (value < 0) { + valuestring = hex(value).slice(3); + numberprefix = "-"; + } else { + valuestring = hex(value).slice(2); + numberprefix = ""; + } + valuestring = numberprefix + valuestring.slice(0, -1) + mappingCompress[valuestring.slice(-1)]; + } else { + if (_typeof(value) === "object") { + valuestring = compress(value); + } else { + throw new Error("Don't know what to do with value type " + _typeof(value) + "."); + } + } + vals.push(keystring + valuestring); + } + vals.push("}"); + return vals.join(""); + }; + + /** + * Uncompresses data compressed into custom, base16-like format. + * + * @public + * @function + * @param + * @returns {Type} + */ + var uncompress = API.__fontmetrics__.uncompress = function (data) { + if (typeof data !== "string") { + throw new Error("Invalid argument passed to uncompress."); + } + var output = {}, + sign = 1, + stringparts, + // undef. will be [] in string mode + activeobject = output, + parentchain = [], + parent_key_pair, + keyparts = "", + valueparts = "", + key, + // undef. will be Truthy when Key is resolved. + datalen = data.length - 1, + // stripping ending } + ch; + for (var i = 1; i < datalen; i += 1) { + // - { } ' are special. + + ch = data[i]; + if (ch == "'") { + if (stringparts) { + // end of string mode + key = stringparts.join(""); + stringparts = undefined; + } else { + // start of string mode + stringparts = []; + } + } else if (stringparts) { + stringparts.push(ch); + } else if (ch == "{") { + // start of object + parentchain.push([activeobject, key]); + activeobject = {}; + key = undefined; + } else if (ch == "}") { + // end of object + parent_key_pair = parentchain.pop(); + parent_key_pair[0][parent_key_pair[1]] = activeobject; + key = undefined; + activeobject = parent_key_pair[0]; + } else if (ch == "-") { + sign = -1; + } else { + // must be number + if (key === undefined) { + if (mappingUncompress.hasOwnProperty(ch)) { + keyparts += mappingUncompress[ch]; + key = parseInt(keyparts, 16) * sign; + sign = +1; + keyparts = ""; + } else { + keyparts += ch; + } + } else { + if (mappingUncompress.hasOwnProperty(ch)) { + valueparts += mappingUncompress[ch]; + activeobject[key] = parseInt(valueparts, 16) * sign; + sign = +1; + key = undefined; + valueparts = ""; + } else { + valueparts += ch; + } + } + } + } + return output; + }; + + // encoding = 'Unicode' + // NOT UTF8, NOT UTF16BE/LE, NOT UCS2BE/LE. NO clever BOM behavior + // Actual 16bit char codes used. + // no multi-byte logic here + + // Unicode characters to WinAnsiEncoding: + // {402: 131, 8211: 150, 8212: 151, 8216: 145, 8217: 146, 8218: 130, 8220: 147, 8221: 148, 8222: 132, 8224: 134, 8225: 135, 8226: 149, 8230: 133, 8364: 128, 8240:137, 8249: 139, 8250: 155, 710: 136, 8482: 153, 338: 140, 339: 156, 732: 152, 352: 138, 353: 154, 376: 159, 381: 142, 382: 158} + // as you can see, all Unicode chars are outside of 0-255 range. No char code conflicts. + // this means that you can give Win cp1252 encoded strings to jsPDF for rendering directly + // as well as give strings with some (supported by these fonts) Unicode characters and + // these will be mapped to win cp1252 + // for example, you can send char code (cp1252) 0x80 or (unicode) 0x20AC, getting "Euro" glyph displayed in both cases. + + var encodingBlock = { + codePages: ["WinAnsiEncoding"], + WinAnsiEncoding: uncompress("{19m8n201n9q201o9r201s9l201t9m201u8m201w9n201x9o201y8o202k8q202l8r202m9p202q8p20aw8k203k8t203t8v203u9v2cq8s212m9t15m8w15n9w2dw9s16k8u16l9u17s9z17x8y17y9y}") + }; + var encodings = { + Unicode: { + Courier: encodingBlock, + "Courier-Bold": encodingBlock, + "Courier-BoldOblique": encodingBlock, + "Courier-Oblique": encodingBlock, + Helvetica: encodingBlock, + "Helvetica-Bold": encodingBlock, + "Helvetica-BoldOblique": encodingBlock, + "Helvetica-Oblique": encodingBlock, + "Times-Roman": encodingBlock, + "Times-Bold": encodingBlock, + "Times-BoldItalic": encodingBlock, + "Times-Italic": encodingBlock + // , 'Symbol' + // , 'ZapfDingbats' + } + }; + var fontMetrics = { + Unicode: { + // all sizing numbers are n/fontMetricsFractionOf = one font size unit + // this means that if fontMetricsFractionOf = 1000, and letter A's width is 476, it's + // width is 476/1000 or 47.6% of its height (regardless of font size) + // At this time this value applies to "widths" and "kerning" numbers. + + // char code 0 represents "default" (average) width - use it for chars missing in this table. + // key 'fof' represents the "fontMetricsFractionOf" value + + "Courier-Oblique": uncompress("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), + "Times-BoldItalic": uncompress("{'widths'{k3o2q4ycx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2r202m2n2n3m2o3m2p5n202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5n4l4m4m4m4n4m4o4s4p4m4q4m4r4s4s4y4t2r4u3m4v4m4w3x4x5t4y4s4z4s5k3x5l4s5m4m5n3r5o3x5p4s5q4m5r5t5s4m5t3x5u3x5v2l5w1w5x2l5y3t5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q2l6r3m6s3r6t1w6u1w6v3m6w1w6x4y6y3r6z3m7k3m7l3m7m2r7n2r7o1w7p3r7q2w7r4m7s3m7t2w7u2r7v2n7w1q7x2n7y3t202l3mcl4mal2ram3man3mao3map3mar3mas2lat4uau1uav3maw3way4uaz2lbk2sbl3t'fof'6obo2lbp3tbq3mbr1tbs2lbu1ybv3mbz3mck4m202k3mcm4mcn4mco4mcp4mcq5ycr4mcs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz2w203k6o212m6o2dw2l2cq2l3t3m3u2l17s3x19m3m}'kerning'{cl{4qu5kt5qt5rs17ss5ts}201s{201ss}201t{cks4lscmscnscoscpscls2wu2yu201ts}201x{2wu2yu}2k{201ts}2w{4qx5kx5ou5qx5rs17su5tu}2x{17su5tu5ou}2y{4qx5kx5ou5qx5rs17ss5ts}'fof'-6ofn{17sw5tw5ou5qw5rs}7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qs}3v{17su5tu5os5qs}7p{17su5tu}ck{4qu5kt5qt5rs17ss5ts}4l{4qu5kt5qt5rs17ss5ts}cm{4qu5kt5qt5rs17ss5ts}cn{4qu5kt5qt5rs17ss5ts}co{4qu5kt5qt5rs17ss5ts}cp{4qu5kt5qt5rs17ss5ts}6l{4qu5ou5qw5rt17su5tu}5q{ckuclucmucnucoucpu4lu}5r{ckuclucmucnucoucpu4lu}7q{cksclscmscnscoscps4ls}6p{4qu5ou5qw5rt17sw5tw}ek{4qu5ou5qw5rt17su5tu}el{4qu5ou5qw5rt17su5tu}em{4qu5ou5qw5rt17su5tu}en{4qu5ou5qw5rt17su5tu}eo{4qu5ou5qw5rt17su5tu}ep{4qu5ou5qw5rt17su5tu}es{17ss5ts5qs4qu}et{4qu5ou5qw5rt17sw5tw}eu{4qu5ou5qw5rt17ss5ts}ev{17ss5ts5qs4qu}6z{17sw5tw5ou5qw5rs}fm{17sw5tw5ou5qw5rs}7n{201ts}fo{17sw5tw5ou5qw5rs}fp{17sw5tw5ou5qw5rs}fq{17sw5tw5ou5qw5rs}7r{cksclscmscnscoscps4ls}fs{17sw5tw5ou5qw5rs}ft{17su5tu}fu{17su5tu}fv{17su5tu}fw{17su5tu}fz{cksclscmscnscoscps4ls}}}"), + "Helvetica-Bold": uncompress("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"), + Courier: uncompress("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), + "Courier-BoldOblique": uncompress("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), + "Times-Bold": uncompress("{'widths'{k3q2q5ncx2r201n3m201o6o201s2l201t2l201u2l201w3m201x3m201y3m2k1t2l2l202m2n2n3m2o3m2p6o202q6o2r1w2s2l2t2l2u3m2v3t2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w3t3x3t3y3t3z3m4k5x4l4s4m4m4n4s4o4s4p4m4q3x4r4y4s4y4t2r4u3m4v4y4w4m4x5y4y4s4z4y5k3x5l4y5m4s5n3r5o4m5p4s5q4s5r6o5s4s5t4s5u4m5v2l5w1w5x2l5y3u5z3m6k2l6l3m6m3r6n2w6o3r6p2w6q2l6r3m6s3r6t1w6u2l6v3r6w1w6x5n6y3r6z3m7k3r7l3r7m2w7n2r7o2l7p3r7q3m7r4s7s3m7t3m7u2w7v2r7w1q7x2r7y3o202l3mcl4sal2lam3man3mao3map3mar3mas2lat4uau1yav3maw3tay4uaz2lbk2sbl3t'fof'6obo2lbp3rbr1tbs2lbu2lbv3mbz3mck4s202k3mcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw2r2m3rcy2rcz2rdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3rek3mel3mem3men3meo3mep3meq4ser2wes2wet2weu2wev2wew1wex1wey1wez1wfl3rfm3mfn3mfo3mfp3mfq3mfr3tfs3mft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3m3u2l17s4s19m3m}'kerning'{cl{4qt5ks5ot5qy5rw17sv5tv}201t{cks4lscmscnscoscpscls4wv}2k{201ts}2w{4qu5ku7mu5os5qx5ru17su5tu}2x{17su5tu5ou5qs}2y{4qv5kv7mu5ot5qz5ru17su5tu}'fof'-6o7t{cksclscmscnscoscps4ls}3u{17su5tu5os5qu}3v{17su5tu5os5qu}fu{17su5tu5ou5qu}7p{17su5tu5ou5qu}ck{4qt5ks5ot5qy5rw17sv5tv}4l{4qt5ks5ot5qy5rw17sv5tv}cm{4qt5ks5ot5qy5rw17sv5tv}cn{4qt5ks5ot5qy5rw17sv5tv}co{4qt5ks5ot5qy5rw17sv5tv}cp{4qt5ks5ot5qy5rw17sv5tv}6l{17st5tt5ou5qu}17s{ckuclucmucnucoucpu4lu4wu}5o{ckuclucmucnucoucpu4lu4wu}5q{ckzclzcmzcnzcozcpz4lz4wu}5r{ckxclxcmxcnxcoxcpx4lx4wu}5t{ckuclucmucnucoucpu4lu4wu}7q{ckuclucmucnucoucpu4lu}6p{17sw5tw5ou5qu}ek{17st5tt5qu}el{17st5tt5ou5qu}em{17st5tt5qu}en{17st5tt5qu}eo{17st5tt5qu}ep{17st5tt5ou5qu}es{17ss5ts5qu}et{17sw5tw5ou5qu}eu{17sw5tw5ou5qu}ev{17ss5ts5qu}6z{17sw5tw5ou5qu5rs}fm{17sw5tw5ou5qu5rs}fn{17sw5tw5ou5qu5rs}fo{17sw5tw5ou5qu5rs}fp{17sw5tw5ou5qu5rs}fq{17sw5tw5ou5qu5rs}7r{cktcltcmtcntcotcpt4lt5os}fs{17sw5tw5ou5qu5rs}ft{17su5tu5ou5qu}7m{5os}fv{17su5tu5ou5qu}fw{17su5tu5ou5qu}fz{cksclscmscnscoscps4ls}}}"), + Symbol: uncompress("{'widths'{k3uaw4r19m3m2k1t2l2l202m2y2n3m2p5n202q6o3k3m2s2l2t2l2v3r2w1t3m3m2y1t2z1wbk2sbl3r'fof'6o3n3m3o3m3p3m3q3m3r3m3s3m3t3m3u1w3v1w3w3r3x3r3y3r3z2wbp3t3l3m5v2l5x2l5z3m2q4yfr3r7v3k7w1o7x3k}'kerning'{'fof'-6o}}"), + Helvetica: uncompress("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}"), + "Helvetica-BoldOblique": uncompress("{'widths'{k3s2q4scx1w201n3r201o6o201s1w201t1w201u1w201w3m201x3m201y3m2k1w2l2l202m2n2n3r2o3r2p5t202q6o2r1s2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v2l3w3u3x3u3y3u3z3x4k6l4l4s4m4s4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3r4v4s4w3x4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v2l5w1w5x2l5y3u5z3r6k2l6l3r6m3x6n3r6o3x6p3r6q2l6r3x6s3x6t1w6u1w6v3r6w1w6x5t6y3x6z3x7k3x7l3x7m2r7n3r7o2l7p3x7q3r7r4y7s3r7t3r7u3m7v2r7w1w7x2r7y3u202l3rcl4sal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3xbq3rbr1wbs2lbu2obv3rbz3xck4s202k3rcm4scn4sco4scp4scq6ocr4scs4mct4mcu4mcv4mcw1w2m2zcy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3res3ret3reu3rev3rew1wex1wey1wez1wfl3xfm3xfn3xfo3xfp3xfq3xfr3ufs3xft3xfu3xfv3xfw3xfz3r203k6o212m6o2dw2l2cq2l3t3r3u2l17s4m19m3r}'kerning'{cl{4qs5ku5ot5qs17sv5tv}201t{2ww4wy2yw}201w{2ks}201x{2ww4wy2yw}2k{201ts201xs}2w{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}2x{5ow5qs}2y{7qs4qu5kw5os5qw5rs17su5tu7tsfzs}'fof'-6o7p{17su5tu5ot}ck{4qs5ku5ot5qs17sv5tv}4l{4qs5ku5ot5qs17sv5tv}cm{4qs5ku5ot5qs17sv5tv}cn{4qs5ku5ot5qs17sv5tv}co{4qs5ku5ot5qs17sv5tv}cp{4qs5ku5ot5qs17sv5tv}6l{17st5tt5os}17s{2kwclvcmvcnvcovcpv4lv4wwckv}5o{2kucltcmtcntcotcpt4lt4wtckt}5q{2ksclscmscnscoscps4ls4wvcks}5r{2ks4ws}5t{2kwclvcmvcnvcovcpv4lv4wwckv}eo{17st5tt5os}fu{17su5tu5ot}6p{17ss5ts}ek{17st5tt5os}el{17st5tt5os}em{17st5tt5os}en{17st5tt5os}6o{201ts}ep{17st5tt5os}es{17ss5ts}et{17ss5ts}eu{17ss5ts}ev{17ss5ts}6z{17su5tu5os5qt}fm{17su5tu5os5qt}fn{17su5tu5os5qt}fo{17su5tu5os5qt}fp{17su5tu5os5qt}fq{17su5tu5os5qt}fs{17su5tu5os5qt}ft{17su5tu5ot}7m{5os}fv{17su5tu5ot}fw{17su5tu5ot}}}"), + ZapfDingbats: uncompress("{'widths'{k4u2k1w'fof'6o}'kerning'{'fof'-6o}}"), + "Courier-Bold": uncompress("{'widths'{k3w'fof'6o}'kerning'{'fof'-6o}}"), + "Times-Italic": uncompress("{'widths'{k3n2q4ycx2l201n3m201o5t201s2l201t2l201u2l201w3r201x3r201y3r2k1t2l2l202m2n2n3m2o3m2p5n202q5t2r1p2s2l2t2l2u3m2v4n2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v2l3w4n3x4n3y4n3z3m4k5w4l3x4m3x4n4m4o4s4p3x4q3x4r4s4s4s4t2l4u2w4v4m4w3r4x5n4y4m4z4s5k3x5l4s5m3x5n3m5o3r5p4s5q3x5r5n5s3x5t3r5u3r5v2r5w1w5x2r5y2u5z3m6k2l6l3m6m3m6n2w6o3m6p2w6q1w6r3m6s3m6t1w6u1w6v2w6w1w6x4s6y3m6z3m7k3m7l3m7m2r7n2r7o1w7p3m7q2w7r4m7s2w7t2w7u2r7v2s7w1v7x2s7y3q202l3mcl3xal2ram3man3mao3map3mar3mas2lat4wau1vav3maw4nay4waz2lbk2sbl4n'fof'6obo2lbp3mbq3obr1tbs2lbu1zbv3mbz3mck3x202k3mcm3xcn3xco3xcp3xcq5tcr4mcs3xct3xcu3xcv3xcw2l2m2ucy2lcz2ldl4mdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek3mel3mem3men3meo3mep3meq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr4nfs3mft3mfu3mfv3mfw3mfz2w203k6o212m6m2dw2l2cq2l3t3m3u2l17s3r19m3m}'kerning'{cl{5kt4qw}201s{201sw}201t{201tw2wy2yy6q-t}201x{2wy2yy}2k{201tw}2w{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}2x{17ss5ts5os}2y{7qs4qy7rs5ky7mw5os5qx5ru17su5tu}'fof'-6o6t{17ss5ts5qs}7t{5os}3v{5qs}7p{17su5tu5qs}ck{5kt4qw}4l{5kt4qw}cm{5kt4qw}cn{5kt4qw}co{5kt4qw}cp{5kt4qw}6l{4qs5ks5ou5qw5ru17su5tu}17s{2ks}5q{ckvclvcmvcnvcovcpv4lv}5r{ckuclucmucnucoucpu4lu}5t{2ks}6p{4qs5ks5ou5qw5ru17su5tu}ek{4qs5ks5ou5qw5ru17su5tu}el{4qs5ks5ou5qw5ru17su5tu}em{4qs5ks5ou5qw5ru17su5tu}en{4qs5ks5ou5qw5ru17su5tu}eo{4qs5ks5ou5qw5ru17su5tu}ep{4qs5ks5ou5qw5ru17su5tu}es{5ks5qs4qs}et{4qs5ks5ou5qw5ru17su5tu}eu{4qs5ks5qw5ru17su5tu}ev{5ks5qs4qs}ex{17ss5ts5qs}6z{4qv5ks5ou5qw5ru17su5tu}fm{4qv5ks5ou5qw5ru17su5tu}fn{4qv5ks5ou5qw5ru17su5tu}fo{4qv5ks5ou5qw5ru17su5tu}fp{4qv5ks5ou5qw5ru17su5tu}fq{4qv5ks5ou5qw5ru17su5tu}7r{5os}fs{4qv5ks5ou5qw5ru17su5tu}ft{17su5tu5qs}fu{17su5tu5qs}fv{17su5tu5qs}fw{17su5tu5qs}}}"), + "Times-Roman": uncompress("{'widths'{k3n2q4ycx2l201n3m201o6o201s2l201t2l201u2l201w2w201x2w201y2w2k1t2l2l202m2n2n3m2o3m2p5n202q6o2r1m2s2l2t2l2u3m2v3s2w1t2x2l2y1t2z1w3k3m3l3m3m3m3n3m3o3m3p3m3q3m3r3m3s3m203t2l203u2l3v1w3w3s3x3s3y3s3z2w4k5w4l4s4m4m4n4m4o4s4p3x4q3r4r4s4s4s4t2l4u2r4v4s4w3x4x5t4y4s4z4s5k3r5l4s5m4m5n3r5o3x5p4s5q4s5r5y5s4s5t4s5u3x5v2l5w1w5x2l5y2z5z3m6k2l6l2w6m3m6n2w6o3m6p2w6q2l6r3m6s3m6t1w6u1w6v3m6w1w6x4y6y3m6z3m7k3m7l3m7m2l7n2r7o1w7p3m7q3m7r4s7s3m7t3m7u2w7v3k7w1o7x3k7y3q202l3mcl4sal2lam3man3mao3map3mar3mas2lat4wau1vav3maw3say4waz2lbk2sbl3s'fof'6obo2lbp3mbq2xbr1tbs2lbu1zbv3mbz2wck4s202k3mcm4scn4sco4scp4scq5tcr4mcs3xct3xcu3xcv3xcw2l2m2tcy2lcz2ldl4sdm4sdn4sdo4sdp4sdq4sds4sdt4sdu4sdv4sdw4sdz3mek2wel2wem2wen2weo2wep2weq4mer2wes2wet2weu2wev2wew1wex1wey1wez1wfl3mfm3mfn3mfo3mfp3mfq3mfr3sfs3mft3mfu3mfv3mfw3mfz3m203k6o212m6m2dw2l2cq2l3t3m3u1w17s4s19m3m}'kerning'{cl{4qs5ku17sw5ou5qy5rw201ss5tw201ws}201s{201ss}201t{ckw4lwcmwcnwcowcpwclw4wu201ts}2k{201ts}2w{4qs5kw5os5qx5ru17sx5tx}2x{17sw5tw5ou5qu}2y{4qs5kw5os5qx5ru17sx5tx}'fof'-6o7t{ckuclucmucnucoucpu4lu5os5rs}3u{17su5tu5qs}3v{17su5tu5qs}7p{17sw5tw5qs}ck{4qs5ku17sw5ou5qy5rw201ss5tw201ws}4l{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cm{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cn{4qs5ku17sw5ou5qy5rw201ss5tw201ws}co{4qs5ku17sw5ou5qy5rw201ss5tw201ws}cp{4qs5ku17sw5ou5qy5rw201ss5tw201ws}6l{17su5tu5os5qw5rs}17s{2ktclvcmvcnvcovcpv4lv4wuckv}5o{ckwclwcmwcnwcowcpw4lw4wu}5q{ckyclycmycnycoycpy4ly4wu5ms}5r{cktcltcmtcntcotcpt4lt4ws}5t{2ktclvcmvcnvcovcpv4lv4wuckv}7q{cksclscmscnscoscps4ls}6p{17su5tu5qw5rs}ek{5qs5rs}el{17su5tu5os5qw5rs}em{17su5tu5os5qs5rs}en{17su5qs5rs}eo{5qs5rs}ep{17su5tu5os5qw5rs}es{5qs}et{17su5tu5qw5rs}eu{17su5tu5qs5rs}ev{5qs}6z{17sv5tv5os5qx5rs}fm{5os5qt5rs}fn{17sv5tv5os5qx5rs}fo{17sv5tv5os5qx5rs}fp{5os5qt5rs}fq{5os5qt5rs}7r{ckuclucmucnucoucpu4lu5os}fs{17sv5tv5os5qx5rs}ft{17ss5ts5qs}fu{17sw5tw5qs}fv{17sw5tw5qs}fw{17ss5ts5qs}fz{ckuclucmucnucoucpu4lu5os5rs}}}"), + "Helvetica-Oblique": uncompress("{'widths'{k3p2q4mcx1w201n3r201o6o201s1q201t1q201u1q201w2l201x2l201y2l2k1w2l1w202m2n2n3r2o3r2p5t202q6o2r1n2s2l2t2l2u2r2v3u2w1w2x2l2y1w2z1w3k3r3l3r3m3r3n3r3o3r3p3r3q3r3r3r3s3r203t2l203u2l3v1w3w3u3x3u3y3u3z3r4k6p4l4m4m4m4n4s4o4s4p4m4q3x4r4y4s4s4t1w4u3m4v4m4w3r4x5n4y4s4z4y5k4m5l4y5m4s5n4m5o3x5p4s5q4m5r5y5s4m5t4m5u3x5v1w5w1w5x1w5y2z5z3r6k2l6l3r6m3r6n3m6o3r6p3r6q1w6r3r6s3r6t1q6u1q6v3m6w1q6x5n6y3r6z3r7k3r7l3r7m2l7n3m7o1w7p3r7q3m7r4s7s3m7t3m7u3m7v2l7w1u7x2l7y3u202l3rcl4mal2lam3ran3rao3rap3rar3ras2lat4tau2pav3raw3uay4taz2lbk2sbl3u'fof'6obo2lbp3rbr1wbs2lbu2obv3rbz3xck4m202k3rcm4mcn4mco4mcp4mcq6ocr4scs4mct4mcu4mcv4mcw1w2m2ncy1wcz1wdl4sdm4ydn4ydo4ydp4ydq4yds4ydt4sdu4sdv4sdw4sdz3xek3rel3rem3ren3reo3rep3req5ter3mes3ret3reu3rev3rew1wex1wey1wez1wfl3rfm3rfn3rfo3rfp3rfq3rfr3ufs3xft3rfu3rfv3rfw3rfz3m203k6o212m6o2dw2l2cq2l3t3r3u1w17s4m19m3r}'kerning'{5q{4wv}cl{4qs5kw5ow5qs17sv5tv}201t{2wu4w1k2yu}201x{2wu4wy2yu}17s{2ktclucmucnu4otcpu4lu4wycoucku}2w{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}2x{17sy5ty5oy5qs}2y{7qs4qz5k1m17sy5ow5qx5rsfsu5ty7tufzu}'fof'-6o7p{17sv5tv5ow}ck{4qs5kw5ow5qs17sv5tv}4l{4qs5kw5ow5qs17sv5tv}cm{4qs5kw5ow5qs17sv5tv}cn{4qs5kw5ow5qs17sv5tv}co{4qs5kw5ow5qs17sv5tv}cp{4qs5kw5ow5qs17sv5tv}6l{17sy5ty5ow}do{17st5tt}4z{17st5tt}7s{fst}dm{17st5tt}dn{17st5tt}5o{ckwclwcmwcnwcowcpw4lw4wv}dp{17st5tt}dq{17st5tt}7t{5ow}ds{17st5tt}5t{2ktclucmucnu4otcpu4lu4wycoucku}fu{17sv5tv5ow}6p{17sy5ty5ow5qs}ek{17sy5ty5ow}el{17sy5ty5ow}em{17sy5ty5ow}en{5ty}eo{17sy5ty5ow}ep{17sy5ty5ow}es{17sy5ty5qs}et{17sy5ty5ow5qs}eu{17sy5ty5ow5qs}ev{17sy5ty5ow5qs}6z{17sy5ty5ow5qs}fm{17sy5ty5ow5qs}fn{17sy5ty5ow5qs}fo{17sy5ty5ow5qs}fp{17sy5ty5qs}fq{17sy5ty5ow5qs}7r{5ow}fs{17sy5ty5ow5qs}ft{17sv5tv5ow}7m{5ow}fv{17sv5tv5ow}fw{17sv5tv5ow}}}") + } + }; + + /* + This event handler is fired when a new jsPDF object is initialized + This event handler appends metrics data to standard fonts within + that jsPDF instance. The metrics are mapped over Unicode character + codes, NOT CIDs or other codes matching the StandardEncoding table of the + standard PDF fonts. + Future: + Also included is the encoding maping table, converting Unicode (UCS-2, UTF-16) + char codes to StandardEncoding character codes. The encoding table is to be used + somewhere around "pdfEscape" call. + */ + API.events.push(["addFont", function (data) { + var font = data.font; + var metrics = fontMetrics["Unicode"][font.postScriptName]; + if (metrics) { + font.metadata["Unicode"] = {}; + font.metadata["Unicode"].widths = metrics.widths; + font.metadata["Unicode"].kerning = metrics.kerning; + } + var encodingBlock = encodings["Unicode"][font.postScriptName]; + if (encodingBlock) { + font.metadata["Unicode"].encoding = encodingBlock; + font.encoding = encodingBlock.codePages[0]; + } + }]); // end of adding event handler + })(jsPDF.API); + + /** + * @license + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * @name ttfsupport + * @module + */ + (function (jsPDF) { + + var binaryStringToUint8Array = function binaryStringToUint8Array(binary_string) { + var len = binary_string.length; + var bytes = new Uint8Array(len); + for (var i = 0; i < len; i++) { + bytes[i] = binary_string.charCodeAt(i); + } + return bytes; + }; + var addFont = function addFont(font, file) { + // eslint-disable-next-line no-control-regex + if (/^\x00\x01\x00\x00/.test(file)) { + file = binaryStringToUint8Array(file); + } else { + file = binaryStringToUint8Array(atob(file)); + } + font.metadata = jsPDF.API.TTFFont.open(file); + font.metadata.Unicode = font.metadata.Unicode || { + encoding: {}, + kerning: {}, + widths: [] + }; + font.metadata.glyIdsUsed = [0]; + }; + jsPDF.API.events.push(["addFont", function (data) { + var file = undefined; + var font = data.font; + var instance = data.instance; + if (font.isStandardFont) { + return; + } + if (typeof instance !== "undefined") { + if (instance.existsFileInVFS(font.postScriptName) === false) { + file = instance.loadFile(font.postScriptName); + } else { + file = instance.getFileFromVFS(font.postScriptName); + } + if (typeof file !== "string") { + throw new Error("Font is not stored as string-data in vFS, import fonts or remove declaration doc.addFont('" + font.postScriptName + "')."); + } + addFont(font, file); + } else { + throw new Error("Font does not exist in vFS, import fonts or remove declaration doc.addFont('" + font.postScriptName + "')."); + } + }]); // end of adding event handler + })(jsPDF); + + /** + * jsPDF SVG plugin + * + * @name svg + * @module + */ + (function (jsPDFAPI) { + + function loadCanvg() { + return function () { + if (globalObject["canvg"]) { + return Promise.resolve(globalObject["canvg"]); + } + if ((typeof exports === "undefined" ? "undefined" : _typeof(exports)) === "object" && typeof module !== "undefined") { + return new Promise(function (resolve, reject) { + try { + resolve(require("canvg")); + } catch (e) { + reject(e); + } + }); + } + if (typeof define === "function" && define.amd) { + return new Promise(function (resolve, reject) { + try { + require(["canvg"], resolve); + } catch (e) { + reject(e); + } + }); + } + return Promise.reject(new Error("Could not load canvg")); + }().catch(function (e) { + return Promise.reject(new Error("Could not load canvg: " + e)); + }).then(function (canvg) { + return canvg.default ? canvg.default : canvg; + }); + } + + /** + * Parses SVG XML and saves it as image into the PDF. + * + * Depends on canvas-element and canvg + * + * @name addSvgAsImage + * @public + * @function + * @param {string} SVG-Data as Text + * @param {number} x Coordinate (in units declared at inception of PDF document) against left edge of the page + * @param {number} y Coordinate (in units declared at inception of PDF document) against upper edge of the page + * @param {number} width of SVG-Image (in units declared at inception of PDF document) + * @param {number} height of SVG-Image (in units declared at inception of PDF document) + * @param {string} alias of SVG-Image (if used multiple times) + * @param {string} compression of the generated JPEG, can have the values 'NONE', 'FAST', 'MEDIUM' and 'SLOW' + * @param {number} rotation of the image in degrees (0-359) + * + * @returns jsPDF jsPDF-instance + */ + jsPDFAPI.addSvgAsImage = function (svg, x, y, w, h, alias, compression, rotation) { + if (isNaN(x) || isNaN(y)) { + console.error("jsPDF.addSvgAsImage: Invalid coordinates", arguments); + throw new Error("Invalid coordinates passed to jsPDF.addSvgAsImage"); + } + if (isNaN(w) || isNaN(h)) { + console.error("jsPDF.addSvgAsImage: Invalid measurements", arguments); + throw new Error("Invalid measurements (width and/or height) passed to jsPDF.addSvgAsImage"); + } + var canvas = document.createElement("canvas"); + canvas.width = w; + canvas.height = h; + var ctx = canvas.getContext("2d"); + ctx.fillStyle = "#fff"; /// set white fill style + ctx.fillRect(0, 0, canvas.width, canvas.height); + var options = { + ignoreMouse: true, + ignoreAnimation: true, + ignoreDimensions: true + }; + var doc = this; + return loadCanvg().then(function (canvg) { + return canvg.fromString(ctx, svg, options); + }, function () { + return Promise.reject(new Error("Could not load canvg.")); + }).then(function (instance) { + return instance.render(options); + }).then(function () { + doc.addImage(canvas.toDataURL("image/jpeg", 1.0), x, y, w, h, compression, rotation); + }); + }; + })(jsPDF.API); + + /** + * @license + * ==================================================================== + * Copyright (c) 2013 Eduardo Menezes de Morais, eduardo.morais@usp.br + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * ==================================================================== + */ + + /** + * jsPDF total_pages plugin + * @name total_pages + * @module + */ + (function (jsPDFAPI) { + + /** + * @name putTotalPages + * @function + * @param {string} pageExpression Regular Expression + * @returns {jsPDF} jsPDF-instance + */ + jsPDFAPI.putTotalPages = function (pageExpression) { + + var replaceExpression; + var totalNumberOfPages = 0; + if (parseInt(this.internal.getFont().id.substr(1), 10) < 15) { + replaceExpression = new RegExp(pageExpression, "g"); + totalNumberOfPages = this.internal.getNumberOfPages(); + } else { + replaceExpression = new RegExp(this.pdfEscape16(pageExpression, this.internal.getFont()), "g"); + totalNumberOfPages = this.pdfEscape16(this.internal.getNumberOfPages() + "", this.internal.getFont()); + } + for (var n = 1; n <= this.internal.getNumberOfPages(); n++) { + for (var i = 0; i < this.internal.pages[n].length; i++) { + this.internal.pages[n][i] = this.internal.pages[n][i].replace(replaceExpression, totalNumberOfPages); + } + } + return this; + }; + })(jsPDF.API); + + /** + * Adds the ability to set ViewerPreferences and by thus + * controlling the way the document is to be presented on the + * screen or in print. + * @name viewerpreferences + * @module + */ + (function (jsPDFAPI) { + + /** + * Set the ViewerPreferences of the generated PDF + * + * @name viewerPreferences + * @function + * @public + * @param {Object} options Array with the ViewerPreferences
+ * Example: doc.viewerPreferences({"FitWindow":true});
+ *
+ * You can set following preferences:
+ *
+ * HideToolbar (boolean)
+ * Default value: false
+ *
+ * HideMenubar (boolean)
+ * Default value: false.
+ *
+ * HideWindowUI (boolean)
+ * Default value: false.
+ *
+ * FitWindow (boolean)
+ * Default value: false.
+ *
+ * CenterWindow (boolean)
+ * Default value: false
+ *
+ * DisplayDocTitle (boolean)
+ * Default value: false.
+ *
+ * NonFullScreenPageMode (string)
+ * Possible values: UseNone, UseOutlines, UseThumbs, UseOC
+ * Default value: UseNone
+ *
+ * Direction (string)
+ * Possible values: L2R, R2L
+ * Default value: L2R.
+ *
+ * ViewArea (string)
+ * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
+ * Default value: CropBox.
+ *
+ * ViewClip (string)
+ * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
+ * Default value: CropBox
+ *
+ * PrintArea (string)
+ * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
+ * Default value: CropBox
+ *
+ * PrintClip (string)
+ * Possible values: MediaBox, CropBox, TrimBox, BleedBox, ArtBox
+ * Default value: CropBox.
+ *
+ * PrintScaling (string)
+ * Possible values: AppDefault, None
+ * Default value: AppDefault.
+ *
+ * Duplex (string)
+ * Possible values: Simplex, DuplexFlipLongEdge, DuplexFlipShortEdge + * Default value: none
+ *
+ * PickTrayByPDFSize (boolean)
+ * Default value: false
+ *
+ * PrintPageRange (Array)
+ * Example: [[1,5], [7,9]]
+ * Default value: as defined by PDF viewer application
+ *
+ * NumCopies (Number)
+ * Possible values: 1, 2, 3, 4, 5
+ * Default value: 1
+ *
+ * For more information see the PDF Reference, sixth edition on Page 577 + * @param {boolean} doReset True to reset the settings + * @function + * @returns jsPDF jsPDF-instance + * @example + * var doc = new jsPDF() + * doc.text('This is a test', 10, 10) + * doc.viewerPreferences({'FitWindow': true}, true) + * doc.save("viewerPreferences.pdf") + * + * // Example printing 10 copies, using cropbox, and hiding UI. + * doc.viewerPreferences({ + * 'HideWindowUI': true, + * 'PrintArea': 'CropBox', + * 'NumCopies': 10 + * }) + */ + jsPDFAPI.viewerPreferences = function (options, doReset) { + options = options || {}; + doReset = doReset || false; + var configuration; + var configurationTemplate = { + HideToolbar: { + defaultValue: false, + value: false, + type: "boolean", + explicitSet: false, + valueSet: [true, false], + pdfVersion: 1.3 + }, + HideMenubar: { + defaultValue: false, + value: false, + type: "boolean", + explicitSet: false, + valueSet: [true, false], + pdfVersion: 1.3 + }, + HideWindowUI: { + defaultValue: false, + value: false, + type: "boolean", + explicitSet: false, + valueSet: [true, false], + pdfVersion: 1.3 + }, + FitWindow: { + defaultValue: false, + value: false, + type: "boolean", + explicitSet: false, + valueSet: [true, false], + pdfVersion: 1.3 + }, + CenterWindow: { + defaultValue: false, + value: false, + type: "boolean", + explicitSet: false, + valueSet: [true, false], + pdfVersion: 1.3 + }, + DisplayDocTitle: { + defaultValue: false, + value: false, + type: "boolean", + explicitSet: false, + valueSet: [true, false], + pdfVersion: 1.4 + }, + NonFullScreenPageMode: { + defaultValue: "UseNone", + value: "UseNone", + type: "name", + explicitSet: false, + valueSet: ["UseNone", "UseOutlines", "UseThumbs", "UseOC"], + pdfVersion: 1.3 + }, + Direction: { + defaultValue: "L2R", + value: "L2R", + type: "name", + explicitSet: false, + valueSet: ["L2R", "R2L"], + pdfVersion: 1.3 + }, + ViewArea: { + defaultValue: "CropBox", + value: "CropBox", + type: "name", + explicitSet: false, + valueSet: ["MediaBox", "CropBox", "TrimBox", "BleedBox", "ArtBox"], + pdfVersion: 1.4 + }, + ViewClip: { + defaultValue: "CropBox", + value: "CropBox", + type: "name", + explicitSet: false, + valueSet: ["MediaBox", "CropBox", "TrimBox", "BleedBox", "ArtBox"], + pdfVersion: 1.4 + }, + PrintArea: { + defaultValue: "CropBox", + value: "CropBox", + type: "name", + explicitSet: false, + valueSet: ["MediaBox", "CropBox", "TrimBox", "BleedBox", "ArtBox"], + pdfVersion: 1.4 + }, + PrintClip: { + defaultValue: "CropBox", + value: "CropBox", + type: "name", + explicitSet: false, + valueSet: ["MediaBox", "CropBox", "TrimBox", "BleedBox", "ArtBox"], + pdfVersion: 1.4 + }, + PrintScaling: { + defaultValue: "AppDefault", + value: "AppDefault", + type: "name", + explicitSet: false, + valueSet: ["AppDefault", "None"], + pdfVersion: 1.6 + }, + Duplex: { + defaultValue: "", + value: "none", + type: "name", + explicitSet: false, + valueSet: ["Simplex", "DuplexFlipShortEdge", "DuplexFlipLongEdge", "none"], + pdfVersion: 1.7 + }, + PickTrayByPDFSize: { + defaultValue: false, + value: false, + type: "boolean", + explicitSet: false, + valueSet: [true, false], + pdfVersion: 1.7 + }, + PrintPageRange: { + defaultValue: "", + value: "", + type: "array", + explicitSet: false, + valueSet: null, + pdfVersion: 1.7 + }, + NumCopies: { + defaultValue: 1, + value: 1, + type: "integer", + explicitSet: false, + valueSet: null, + pdfVersion: 1.7 + } + }; + var configurationKeys = Object.keys(configurationTemplate); + var rangeArray = []; + var i = 0; + var j = 0; + var k = 0; + var isValid; + var method; + var value; + function arrayContainsElement(array, element) { + var iterator; + var result = false; + for (iterator = 0; iterator < array.length; iterator += 1) { + if (array[iterator] === element) { + result = true; + } + } + return result; + } + if (this.internal.viewerpreferences === undefined) { + this.internal.viewerpreferences = {}; + this.internal.viewerpreferences.configuration = JSON.parse(JSON.stringify(configurationTemplate)); + this.internal.viewerpreferences.isSubscribed = false; + } + configuration = this.internal.viewerpreferences.configuration; + if (options === "reset" || doReset === true) { + var len = configurationKeys.length; + for (k = 0; k < len; k += 1) { + configuration[configurationKeys[k]].value = configuration[configurationKeys[k]].defaultValue; + configuration[configurationKeys[k]].explicitSet = false; + } + } + if (_typeof(options) === "object") { + for (method in options) { + value = options[method]; + if (arrayContainsElement(configurationKeys, method) && value !== undefined) { + if (configuration[method].type === "boolean" && typeof value === "boolean") { + configuration[method].value = value; + } else if (configuration[method].type === "name" && arrayContainsElement(configuration[method].valueSet, value)) { + configuration[method].value = value; + } else if (configuration[method].type === "integer" && Number.isInteger(value)) { + configuration[method].value = value; + } else if (configuration[method].type === "array") { + for (i = 0; i < value.length; i += 1) { + isValid = true; + if (value[i].length === 1 && typeof value[i][0] === "number") { + rangeArray.push(String(value[i] - 1)); + } else if (value[i].length > 1) { + for (j = 0; j < value[i].length; j += 1) { + if (typeof value[i][j] !== "number") { + isValid = false; + } + } + if (isValid === true) { + rangeArray.push([value[i][0] - 1, value[i][1] - 1].join(" ")); + } + } + } + configuration[method].value = "[" + rangeArray.join(" ") + "]"; + } else { + configuration[method].value = configuration[method].defaultValue; + } + configuration[method].explicitSet = true; + } + } + } + if (this.internal.viewerpreferences.isSubscribed === false) { + this.internal.events.subscribe("putCatalog", function () { + var pdfDict = []; + var vPref; + for (vPref in configuration) { + if (configuration[vPref].explicitSet === true) { + if (configuration[vPref].type === "name") { + pdfDict.push("/" + vPref + " /" + configuration[vPref].value); + } else { + pdfDict.push("/" + vPref + " " + configuration[vPref].value); + } + } + } + if (pdfDict.length !== 0) { + this.internal.write("/ViewerPreferences\n<<\n" + pdfDict.join("\n") + "\n>>"); + } + }); + this.internal.viewerpreferences.isSubscribed = true; + } + this.internal.viewerpreferences.configuration = configuration; + return this; + }; + })(jsPDF.API); + + /** ==================================================================== + * @license + * jsPDF XMP metadata plugin + * Copyright (c) 2016 Jussi Utunen, u-jussi@suomi24.fi + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + * ==================================================================== + */ + + /** + * @name xmp_metadata + * @module + */ + (function (jsPDFAPI) { + + var postPutResources = function postPutResources() { + var xmpmeta_beginning = ''; + var rdf_beginning = ''; + var rdf_ending = ""; + var xmpmeta_ending = ""; + var utf8_xmpmeta_beginning = unescape(encodeURIComponent(xmpmeta_beginning)); + var utf8_rdf_beginning = unescape(encodeURIComponent(rdf_beginning)); + var utf8_metadata = unescape(encodeURIComponent(this.internal.__metadata__.metadata)); + var utf8_rdf_ending = unescape(encodeURIComponent(rdf_ending)); + var utf8_xmpmeta_ending = unescape(encodeURIComponent(xmpmeta_ending)); + var total_len = utf8_rdf_beginning.length + utf8_metadata.length + utf8_rdf_ending.length + utf8_xmpmeta_beginning.length + utf8_xmpmeta_ending.length; + this.internal.__metadata__.metadata_object_number = this.internal.newObject(); + this.internal.write("<< /Type /Metadata /Subtype /XML /Length " + total_len + " >>"); + this.internal.write("stream"); + this.internal.write(utf8_xmpmeta_beginning + utf8_rdf_beginning + utf8_metadata + utf8_rdf_ending + utf8_xmpmeta_ending); + this.internal.write("endstream"); + this.internal.write("endobj"); + }; + var putCatalog = function putCatalog() { + if (this.internal.__metadata__.metadata_object_number) { + this.internal.write("/Metadata " + this.internal.__metadata__.metadata_object_number + " 0 R"); + } + }; + + /** + * Adds XMP formatted metadata to PDF + * + * @name addMetadata + * @function + * @param {String} metadata The actual metadata to be added. The metadata shall be stored as XMP simple value. Note that if the metadata string contains XML markup characters "<", ">" or "&", those characters should be written using XML entities. + * @param {String} namespaceuri Sets the namespace URI for the metadata. Last character should be slash or hash. + * @returns {jsPDF} jsPDF-instance + */ + jsPDFAPI.addMetadata = function (metadata, namespaceuri) { + if (typeof this.internal.__metadata__ === "undefined") { + this.internal.__metadata__ = { + metadata: metadata, + namespaceuri: namespaceuri || "http://jspdf.default.namespaceuri/" + }; + this.internal.events.subscribe("putCatalog", putCatalog); + this.internal.events.subscribe("postPutResources", postPutResources); + } + return this; + }; + })(jsPDF.API); + + /** + * @name utf8 + * @module + */ + (function (jsPDF) { + + var jsPDFAPI = jsPDF.API; + + /***************************************************************************************************/ + /* function : pdfEscape16 */ + /* comment : The character id of a 2-byte string is converted to a hexadecimal number by obtaining */ + /* the corresponding glyph id and width, and then adding padding to the string. */ + /***************************************************************************************************/ + var pdfEscape16 = jsPDFAPI.pdfEscape16 = function (text, font) { + var widths = font.metadata.Unicode.widths; + var padz = ["", "0", "00", "000", "0000"]; + var ar = [""]; + for (var i = 0, l = text.length, t; i < l; ++i) { + t = font.metadata.characterToGlyph(text.charCodeAt(i)); + font.metadata.glyIdsUsed.push(t); + font.metadata.toUnicode[t] = text.charCodeAt(i); + if (widths.indexOf(t) == -1) { + widths.push(t); + widths.push([parseInt(font.metadata.widthOfGlyph(t), 10)]); + } + if (t == "0") { + //Spaces are not allowed in cmap. + return ar.join(""); + } else { + t = t.toString(16); + ar.push(padz[4 - t.length], t); + } + } + return ar.join(""); + }; + var toUnicodeCmap = function toUnicodeCmap(map) { + var code, codes, range, unicode, unicodeMap, _i, _len; + unicodeMap = "/CIDInit /ProcSet findresource begin\n12 dict begin\nbegincmap\n/CIDSystemInfo <<\n /Registry (Adobe)\n /Ordering (UCS)\n /Supplement 0\n>> def\n/CMapName /Adobe-Identity-UCS def\n/CMapType 2 def\n1 begincodespacerange\n<0000>\nendcodespacerange"; + codes = Object.keys(map).sort(function (a, b) { + return a - b; + }); + range = []; + for (_i = 0, _len = codes.length; _i < _len; _i++) { + code = codes[_i]; + if (range.length >= 100) { + unicodeMap += "\n" + range.length + " beginbfchar\n" + range.join("\n") + "\nendbfchar"; + range = []; + } + if (map[code] !== undefined && map[code] !== null && typeof map[code].toString === "function") { + unicode = ("0000" + map[code].toString(16)).slice(-4); + code = ("0000" + (+code).toString(16)).slice(-4); + range.push("<" + code + "><" + unicode + ">"); + } + } + if (range.length) { + unicodeMap += "\n" + range.length + " beginbfchar\n" + range.join("\n") + "\nendbfchar\n"; + } + unicodeMap += "endcmap\nCMapName currentdict /CMap defineresource pop\nend\nend"; + return unicodeMap; + }; + var identityHFunction = function identityHFunction(options) { + var font = options.font; + var out = options.out; + var newObject = options.newObject; + var putStream = options.putStream; + if (font.metadata instanceof jsPDF.API.TTFFont && font.encoding === "Identity-H") { + //Tag with Identity-H + var widths = font.metadata.Unicode.widths; + var data = font.metadata.subset.encode(font.metadata.glyIdsUsed, 1); + var pdfOutput = data; + var pdfOutput2 = ""; + for (var i = 0; i < pdfOutput.length; i++) { + pdfOutput2 += String.fromCharCode(pdfOutput[i]); + } + var fontTable = newObject(); + putStream({ + data: pdfOutput2, + addLength1: true, + objectId: fontTable + }); + out("endobj"); + var cmap = newObject(); + var cmapData = toUnicodeCmap(font.metadata.toUnicode); + putStream({ + data: cmapData, + addLength1: true, + objectId: cmap + }); + out("endobj"); + var fontDescriptor = newObject(); + out("<<"); + out("/Type /FontDescriptor"); + out("/FontName /" + toPDFName(font.fontName)); + out("/FontFile2 " + fontTable + " 0 R"); + out("/FontBBox " + jsPDF.API.PDFObject.convert(font.metadata.bbox)); + out("/Flags " + font.metadata.flags); + out("/StemV " + font.metadata.stemV); + out("/ItalicAngle " + font.metadata.italicAngle); + out("/Ascent " + font.metadata.ascender); + out("/Descent " + font.metadata.decender); + out("/CapHeight " + font.metadata.capHeight); + out(">>"); + out("endobj"); + var DescendantFont = newObject(); + out("<<"); + out("/Type /Font"); + out("/BaseFont /" + toPDFName(font.fontName)); + out("/FontDescriptor " + fontDescriptor + " 0 R"); + out("/W " + jsPDF.API.PDFObject.convert(widths)); + out("/CIDToGIDMap /Identity"); + out("/DW 1000"); + out("/Subtype /CIDFontType2"); + out("/CIDSystemInfo"); + out("<<"); + out("/Supplement 0"); + out("/Registry (Adobe)"); + out("/Ordering (" + font.encoding + ")"); + out(">>"); + out(">>"); + out("endobj"); + font.objectNumber = newObject(); + out("<<"); + out("/Type /Font"); + out("/Subtype /Type0"); + out("/ToUnicode " + cmap + " 0 R"); + out("/BaseFont /" + toPDFName(font.fontName)); + out("/Encoding /" + font.encoding); + out("/DescendantFonts [" + DescendantFont + " 0 R]"); + out(">>"); + out("endobj"); + font.isAlreadyPutted = true; + } + }; + jsPDFAPI.events.push(["putFont", function (args) { + identityHFunction(args); + }]); + var winAnsiEncodingFunction = function winAnsiEncodingFunction(options) { + var font = options.font; + var out = options.out; + var newObject = options.newObject; + var putStream = options.putStream; + if (font.metadata instanceof jsPDF.API.TTFFont && font.encoding === "WinAnsiEncoding") { + //Tag with WinAnsi encoding + var data = font.metadata.rawData; + var pdfOutput = data; + var pdfOutput2 = ""; + for (var i = 0; i < pdfOutput.length; i++) { + pdfOutput2 += String.fromCharCode(pdfOutput[i]); + } + var fontTable = newObject(); + putStream({ + data: pdfOutput2, + addLength1: true, + objectId: fontTable + }); + out("endobj"); + var cmap = newObject(); + var cmapData = toUnicodeCmap(font.metadata.toUnicode); + putStream({ + data: cmapData, + addLength1: true, + objectId: cmap + }); + out("endobj"); + var fontDescriptor = newObject(); + out("<<"); + out("/Descent " + font.metadata.decender); + out("/CapHeight " + font.metadata.capHeight); + out("/StemV " + font.metadata.stemV); + out("/Type /FontDescriptor"); + out("/FontFile2 " + fontTable + " 0 R"); + out("/Flags 96"); + out("/FontBBox " + jsPDF.API.PDFObject.convert(font.metadata.bbox)); + out("/FontName /" + toPDFName(font.fontName)); + out("/ItalicAngle " + font.metadata.italicAngle); + out("/Ascent " + font.metadata.ascender); + out(">>"); + out("endobj"); + font.objectNumber = newObject(); + for (var j = 0; j < font.metadata.hmtx.widths.length; j++) { + font.metadata.hmtx.widths[j] = parseInt(font.metadata.hmtx.widths[j] * (1000 / font.metadata.head.unitsPerEm)); //Change the width of Em units to Point units. + } + out("<>"); + out("endobj"); + font.isAlreadyPutted = true; + } + }; + jsPDFAPI.events.push(["putFont", function (args) { + winAnsiEncodingFunction(args); + }]); + var utf8TextFunction = function utf8TextFunction(args) { + var text = args.text || ""; + var x = args.x; + var y = args.y; + var options = args.options || {}; + var mutex = args.mutex || {}; + var pdfEscape = mutex.pdfEscape; + var activeFontKey = mutex.activeFontKey; + var fonts = mutex.fonts; + var key = activeFontKey; + var str = "", + s = 0, + cmapConfirm; + var strText = ""; + var encoding = fonts[key].encoding; + if (fonts[key].encoding !== "Identity-H") { + return { + text: text, + x: x, + y: y, + options: options, + mutex: mutex + }; + } + strText = text; + key = activeFontKey; + if (Array.isArray(text)) { + strText = text[0]; + } + for (s = 0; s < strText.length; s += 1) { + if (fonts[key].metadata.hasOwnProperty("cmap")) { + cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; + /* + if (Object.prototype.toString.call(text) === '[object Array]') { + var i = 0; + // for (i = 0; i < text.length; i += 1) { + if (Object.prototype.toString.call(text[s]) === '[object Array]') { + cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s][0].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id + } else { + } + //} + } else { + cmapConfirm = fonts[key].metadata.cmap.unicode.codeMap[strText[s].charCodeAt(0)]; //Make sure the cmap has the corresponding glyph id + }*/ + } + if (!cmapConfirm) { + if (strText[s].charCodeAt(0) < 256 && fonts[key].metadata.hasOwnProperty("Unicode")) { + str += strText[s]; + } else { + str += ""; + } + } else { + str += strText[s]; + } + } + var result = ""; + if (parseInt(key.slice(1)) < 14 || encoding === "WinAnsiEncoding") { + //For the default 13 font + result = pdfEscape(str, key).split("").map(function (cv) { + return cv.charCodeAt(0).toString(16); + }).join(""); + } else if (encoding === "Identity-H") { + result = pdfEscape16(str, fonts[key]); + } + mutex.isHex = true; + return { + text: result, + x: x, + y: y, + options: options, + mutex: mutex + }; + }; + var utf8EscapeFunction = function utf8EscapeFunction(parms) { + var text = parms.text || "", + x = parms.x, + y = parms.y, + options = parms.options, + mutex = parms.mutex; + var tmpText = []; + var args = { + text: text, + x: x, + y: y, + options: options, + mutex: mutex + }; + if (Array.isArray(text)) { + var i = 0; + for (i = 0; i < text.length; i += 1) { + if (Array.isArray(text[i])) { + if (text[i].length === 3) { + tmpText.push([utf8TextFunction(Object.assign({}, args, { + text: text[i][0] + })).text, text[i][1], text[i][2]]); + } else { + tmpText.push(utf8TextFunction(Object.assign({}, args, { + text: text[i] + })).text); + } + } else { + tmpText.push(utf8TextFunction(Object.assign({}, args, { + text: text[i] + })).text); + } + } + parms.text = tmpText; + } else { + parms.text = utf8TextFunction(Object.assign({}, args, { + text: text + })).text; + } + }; + jsPDFAPI.events.push(["postProcessText", utf8EscapeFunction]); + })(jsPDF); + + /** + * @license + * jsPDF virtual FileSystem functionality + * + * Licensed under the MIT License. + * http://opensource.org/licenses/mit-license + */ + + /** + * Use the vFS to handle files + * + * @name vFS + * @module + */ + (function (jsPDFAPI) { + + var _initializeVFS = function _initializeVFS() { + if (typeof this.internal.vFS === "undefined") { + this.internal.vFS = {}; + } + return true; + }; + + /** + * Check if the file exists in the vFS + * + * @name existsFileInVFS + * @function + * @param {string} Possible filename in the vFS. + * @returns {boolean} + * @example + * doc.existsFileInVFS("someFile.txt"); + */ + jsPDFAPI.existsFileInVFS = function (filename) { + _initializeVFS.call(this); + return typeof this.internal.vFS[filename] !== "undefined"; + }; + + /** + * Add a file to the vFS + * + * @name addFileToVFS + * @function + * @param {string} filename The name of the file which should be added. + * @param {string} filecontent The content of the file. + * @returns {jsPDF} + * @example + * doc.addFileToVFS("someFile.txt", "BADFACE1"); + */ + jsPDFAPI.addFileToVFS = function (filename, filecontent) { + _initializeVFS.call(this); + this.internal.vFS[filename] = filecontent; + return this; + }; + + /** + * Get the file from the vFS + * + * @name getFileFromVFS + * @function + * @param {string} The name of the file which gets requested. + * @returns {string} + * @example + * doc.getFileFromVFS("someFile.txt"); + */ + jsPDFAPI.getFileFromVFS = function (filename) { + _initializeVFS.call(this); + if (typeof this.internal.vFS[filename] !== "undefined") { + return this.internal.vFS[filename]; + } + return null; + }; + })(jsPDF.API); + + /** + * @license + * Unicode Bidi Engine based on the work of Alex Shensis (@asthensis) + * MIT License + */ + (function (jsPDF) { + + /** + * Table of Unicode types. + * + * Generated by: + * + * var bidi = require("./bidi/index"); + * var bidi_accumulate = bidi.slice(0, 256).concat(bidi.slice(0x0500, 0x0500 + 256 * 3)). + * concat(bidi.slice(0x2000, 0x2000 + 256)).concat(bidi.slice(0xFB00, 0xFB00 + 256)). + * concat(bidi.slice(0xFE00, 0xFE00 + 2 * 256)); + * + * for( var i = 0; i < bidi_accumulate.length; i++) { + * if(bidi_accumulate[i] === undefined || bidi_accumulate[i] === 'ON') + * bidi_accumulate[i] = 'N'; //mark as neutral to conserve space and substitute undefined + * } + * var bidiAccumulateStr = 'return [ "' + bidi_accumulate.toString().replace(/,/g, '", "') + '" ];'; + * require("fs").writeFile('unicode-types.js', bidiAccumulateStr); + * + * Based on: + * https://github.com/mathiasbynens/unicode-8.0.0 + */ + var bidiUnicodeTypes = ["BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "S", "B", "S", "WS", "B", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "B", "B", "B", "S", "WS", "N", "N", "ET", "ET", "ET", "N", "N", "N", "N", "N", "ES", "CS", "ES", "CS", "CS", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "CS", "N", "N", "N", "N", "N", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "N", "N", "N", "N", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "N", "N", "N", "BN", "BN", "BN", "BN", "BN", "BN", "B", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "BN", "CS", "N", "ET", "ET", "ET", "ET", "N", "N", "N", "N", "L", "N", "N", "BN", "N", "N", "ET", "ET", "EN", "EN", "N", "L", "N", "N", "N", "EN", "L", "N", "N", "N", "N", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "N", "L", "L", "L", "L", "L", "L", "L", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "L", "N", "N", "N", "N", "N", "ET", "N", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "R", "NSM", "R", "NSM", "NSM", "R", "NSM", "NSM", "R", "NSM", "N", "N", "N", "N", "N", "N", "N", "N", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "N", "N", "N", "N", "N", "R", "R", "R", "R", "R", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "AN", "AN", "AN", "AN", "AN", "AN", "N", "N", "AL", "ET", "ET", "AL", "CS", "AL", "N", "N", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "N", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "AN", "ET", "AN", "AN", "AL", "AL", "AL", "NSM", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AN", "N", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "NSM", "NSM", "N", "NSM", "NSM", "NSM", "NSM", "AL", "AL", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "N", "AL", "AL", "NSM", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "N", "N", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "AL", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "R", "R", "N", "N", "N", "N", "R", "N", "N", "N", "N", "N", "WS", "WS", "WS", "WS", "WS", "WS", "WS", "WS", "WS", "WS", "WS", "BN", "BN", "BN", "L", "R", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "WS", "B", "LRE", "RLE", "PDF", "LRO", "RLO", "CS", "ET", "ET", "ET", "ET", "ET", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "CS", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "WS", "BN", "BN", "BN", "BN", "BN", "N", "LRI", "RLI", "FSI", "PDI", "BN", "BN", "BN", "BN", "BN", "BN", "EN", "L", "N", "N", "EN", "EN", "EN", "EN", "EN", "EN", "ES", "ES", "N", "N", "N", "L", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "ES", "ES", "N", "N", "N", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "N", "N", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "ET", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "L", "L", "L", "L", "L", "L", "L", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "L", "L", "L", "L", "L", "N", "N", "N", "N", "N", "R", "NSM", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "ES", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "N", "R", "R", "R", "R", "R", "N", "R", "N", "R", "R", "N", "R", "R", "N", "R", "R", "R", "R", "R", "R", "R", "R", "R", "R", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "NSM", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "CS", "N", "CS", "N", "N", "CS", "N", "N", "N", "N", "N", "N", "N", "N", "N", "ET", "N", "N", "ES", "ES", "N", "N", "N", "N", "N", "ET", "ET", "N", "N", "N", "N", "N", "AL", "AL", "AL", "AL", "AL", "N", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "AL", "N", "N", "BN", "N", "N", "N", "ET", "ET", "ET", "N", "N", "N", "N", "N", "ES", "CS", "ES", "CS", "CS", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "EN", "CS", "N", "N", "N", "N", "N", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "N", "N", "N", "N", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "L", "N", "N", "N", "L", "L", "L", "L", "L", "L", "N", "N", "L", "L", "L", "L", "L", "L", "N", "N", "L", "L", "L", "L", "L", "L", "N", "N", "L", "L", "L", "N", "N", "N", "ET", "ET", "N", "N", "N", "ET", "ET", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N", "N"]; + + /** + * Unicode Bidi algorithm compliant Bidi engine. + * For reference see http://unicode.org/reports/tr9/ + */ + + /** + * constructor ( options ) + * + * Initializes Bidi engine + * + * @param {Object} See 'setOptions' below for detailed description. + * options are cashed between invocation of 'doBidiReorder' method + * + * sample usage pattern of BidiEngine: + * var opt = { + * isInputVisual: true, + * isInputRtl: false, + * isOutputVisual: false, + * isOutputRtl: false, + * isSymmetricSwapping: true + * } + * var sourceToTarget = [], levels = []; + * var bidiEng = Globalize.bidiEngine(opt); + * var src = "text string to be reordered"; + * var ret = bidiEng.doBidiReorder(src, sourceToTarget, levels); + */ + + jsPDF.__bidiEngine__ = jsPDF.prototype.__bidiEngine__ = function (options) { + var _UNICODE_TYPES = _bidiUnicodeTypes; + var _STATE_TABLE_LTR = [[0, 3, 0, 1, 0, 0, 0], [0, 3, 0, 1, 2, 2, 0], [0, 3, 0, 0x11, 2, 0, 1], [0, 3, 5, 5, 4, 1, 0], [0, 3, 0x15, 0x15, 4, 0, 1], [0, 3, 5, 5, 4, 2, 0]]; + var _STATE_TABLE_RTL = [[2, 0, 1, 1, 0, 1, 0], [2, 0, 1, 1, 0, 2, 0], [2, 0, 2, 1, 3, 2, 0], [2, 0, 2, 0x21, 3, 1, 1]]; + var _TYPE_NAMES_MAP = { + L: 0, + R: 1, + EN: 2, + AN: 3, + N: 4, + B: 5, + S: 6 + }; + var _UNICODE_RANGES_MAP = { + 0: 0, + 5: 1, + 6: 2, + 7: 3, + 0x20: 4, + 0xfb: 5, + 0xfe: 6, + 0xff: 7 + }; + var _SWAP_TABLE = ["(", ")", "(", "<", ">", "<", "[", "]", "[", "{", "}", "{", "\xAB", "\xBB", "\xAB", "\u2039", "\u203A", "\u2039", "\u2045", "\u2046", "\u2045", "\u207D", "\u207E", "\u207D", "\u208D", "\u208E", "\u208D", "\u2264", "\u2265", "\u2264", "\u2329", "\u232A", "\u2329", "\uFE59", "\uFE5A", "\uFE59", "\uFE5B", "\uFE5C", "\uFE5B", "\uFE5D", "\uFE5E", "\uFE5D", "\uFE64", "\uFE65", "\uFE64"]; + var _LTR_RANGES_REG_EXPR = new RegExp(/^([1-4|9]|1[0-9]|2[0-9]|3[0168]|4[04589]|5[012]|7[78]|159|16[0-9]|17[0-2]|21[569]|22[03489]|250)$/); + var _lastArabic = false, + _hasUbatB, + _hasUbatS, + DIR_LTR = 0, + DIR_RTL = 1, + _isInVisual, + _isInRtl, + _isOutVisual, + _isOutRtl, + _isSymmetricSwapping, + _dir = DIR_LTR; + this.__bidiEngine__ = {}; + var _init = function _init(text, sourceToTargetMap) { + if (sourceToTargetMap) { + for (var i = 0; i < text.length; i++) { + sourceToTargetMap[i] = i; + } + } + if (_isInRtl === undefined) { + _isInRtl = _isContextualDirRtl(text); + } + if (_isOutRtl === undefined) { + _isOutRtl = _isContextualDirRtl(text); + } + }; + + // for reference see 3.2 in http://unicode.org/reports/tr9/ + // + var _getCharType = function _getCharType(ch) { + var charCode = ch.charCodeAt(), + range = charCode >> 8, + rangeIdx = _UNICODE_RANGES_MAP[range]; + if (rangeIdx !== undefined) { + return _UNICODE_TYPES[rangeIdx * 256 + (charCode & 0xff)]; + } else if (range === 0xfc || range === 0xfd) { + return "AL"; + } else if (_LTR_RANGES_REG_EXPR.test(range)) { + //unlikely case + return "L"; + } else if (range === 8) { + // even less likely + return "R"; + } + return "N"; //undefined type, mark as neutral + }; + var _isContextualDirRtl = function _isContextualDirRtl(text) { + for (var i = 0, charType; i < text.length; i++) { + charType = _getCharType(text.charAt(i)); + if (charType === "L") { + return false; + } else if (charType === "R") { + return true; + } + } + return false; + }; + + // for reference see 3.3.4 & 3.3.5 in http://unicode.org/reports/tr9/ + // + var _resolveCharType = function _resolveCharType(chars, types, resolvedTypes, index) { + var cType = types[index], + wType, + nType, + i, + len; + switch (cType) { + case "L": + case "R": + _lastArabic = false; + break; + case "N": + case "AN": + break; + case "EN": + if (_lastArabic) { + cType = "AN"; + } + break; + case "AL": + _lastArabic = true; + cType = "R"; + break; + case "WS": + cType = "N"; + break; + case "CS": + if (index < 1 || index + 1 >= types.length || (wType = resolvedTypes[index - 1]) !== "EN" && wType !== "AN" || (nType = types[index + 1]) !== "EN" && nType !== "AN") { + cType = "N"; + } else if (_lastArabic) { + nType = "AN"; + } + cType = nType === wType ? nType : "N"; + break; + case "ES": + wType = index > 0 ? resolvedTypes[index - 1] : "B"; + cType = wType === "EN" && index + 1 < types.length && types[index + 1] === "EN" ? "EN" : "N"; + break; + case "ET": + if (index > 0 && resolvedTypes[index - 1] === "EN") { + cType = "EN"; + break; + } else if (_lastArabic) { + cType = "N"; + break; + } + i = index + 1; + len = types.length; + while (i < len && types[i] === "ET") { + i++; + } + if (i < len && types[i] === "EN") { + cType = "EN"; + } else { + cType = "N"; + } + break; + case "NSM": + if (_isInVisual && !_isInRtl) { + //V->L + len = types.length; + i = index + 1; + while (i < len && types[i] === "NSM") { + i++; + } + if (i < len) { + var c = chars[index]; + var rtlCandidate = c >= 0x0591 && c <= 0x08ff || c === 0xfb1e; + wType = types[i]; + if (rtlCandidate && (wType === "R" || wType === "AL")) { + cType = "R"; + break; + } + } + } + if (index < 1 || (wType = types[index - 1]) === "B") { + cType = "N"; + } else { + cType = resolvedTypes[index - 1]; + } + break; + case "B": + _lastArabic = false; + _hasUbatB = true; + cType = _dir; + break; + case "S": + _hasUbatS = true; + cType = "N"; + break; + case "LRE": + case "RLE": + case "LRO": + case "RLO": + case "PDF": + _lastArabic = false; + break; + case "BN": + cType = "N"; + break; + } + return cType; + }; + var _handleUbatS = function _handleUbatS(types, levels, length) { + for (var i = 0; i < length; i++) { + if (types[i] === "S") { + levels[i] = _dir; + for (var j = i - 1; j >= 0; j--) { + if (types[j] === "WS") { + levels[j] = _dir; + } else { + break; + } + } + } + } + }; + var _invertString = function _invertString(text, sourceToTargetMap, levels) { + var charArray = text.split(""); + if (levels) { + _computeLevels(charArray, levels, { + hiLevel: _dir + }); + } + charArray.reverse(); + sourceToTargetMap && sourceToTargetMap.reverse(); + return charArray.join(""); + }; + + // For reference see 3.3 in http://unicode.org/reports/tr9/ + // + var _computeLevels = function _computeLevels(chars, levels, params) { + var action, + condition, + i, + index, + newLevel, + prevState, + condPos = -1, + len = chars.length, + newState = 0, + resolvedTypes = [], + stateTable = _dir ? _STATE_TABLE_RTL : _STATE_TABLE_LTR, + types = []; + _lastArabic = false; + _hasUbatB = false; + _hasUbatS = false; + for (i = 0; i < len; i++) { + types[i] = _getCharType(chars[i]); + } + for (index = 0; index < len; index++) { + prevState = newState; + resolvedTypes[index] = _resolveCharType(chars, types, resolvedTypes, index); + newState = stateTable[prevState][_TYPE_NAMES_MAP[resolvedTypes[index]]]; + action = newState & 0xf0; + newState &= 0x0f; + levels[index] = newLevel = stateTable[newState][5]; + if (action > 0) { + if (action === 0x10) { + for (i = condPos; i < index; i++) { + levels[i] = 1; + } + condPos = -1; + } else { + condPos = -1; + } + } + condition = stateTable[newState][6]; + if (condition) { + if (condPos === -1) { + condPos = index; + } + } else { + if (condPos > -1) { + for (i = condPos; i < index; i++) { + levels[i] = newLevel; + } + condPos = -1; + } + } + if (types[index] === "B") { + levels[index] = 0; + } + params.hiLevel |= newLevel; + } + if (_hasUbatS) { + _handleUbatS(types, levels, len); + } + }; + + // for reference see 3.4 in http://unicode.org/reports/tr9/ + // + var _invertByLevel = function _invertByLevel(level, charArray, sourceToTargetMap, levels, params) { + if (params.hiLevel < level) { + return; + } + if (level === 1 && _dir === DIR_RTL && !_hasUbatB) { + charArray.reverse(); + sourceToTargetMap && sourceToTargetMap.reverse(); + return; + } + var ch, + high, + end, + low, + len = charArray.length, + start = 0; + while (start < len) { + if (levels[start] >= level) { + end = start + 1; + while (end < len && levels[end] >= level) { + end++; + } + for (low = start, high = end - 1; low < high; low++, high--) { + ch = charArray[low]; + charArray[low] = charArray[high]; + charArray[high] = ch; + if (sourceToTargetMap) { + ch = sourceToTargetMap[low]; + sourceToTargetMap[low] = sourceToTargetMap[high]; + sourceToTargetMap[high] = ch; + } + } + start = end; + } + start++; + } + }; + + // for reference see 7 & BD16 in http://unicode.org/reports/tr9/ + // + var _symmetricSwap = function _symmetricSwap(charArray, levels, params) { + if (params.hiLevel !== 0 && _isSymmetricSwapping) { + for (var i = 0, index; i < charArray.length; i++) { + if (levels[i] === 1) { + index = _SWAP_TABLE.indexOf(charArray[i]); + if (index >= 0) { + charArray[i] = _SWAP_TABLE[index + 1]; + } + } + } + } + }; + var _reorder = function _reorder(text, sourceToTargetMap, levels) { + var charArray = text.split(""), + params = { + hiLevel: _dir + }; + if (!levels) { + levels = []; + } + _computeLevels(charArray, levels, params); + _symmetricSwap(charArray, levels, params); + _invertByLevel(DIR_RTL + 1, charArray, sourceToTargetMap, levels, params); + _invertByLevel(DIR_RTL, charArray, sourceToTargetMap, levels, params); + return charArray.join(""); + }; + + // doBidiReorder( text, sourceToTargetMap, levels ) + // Performs Bidi reordering by implementing Unicode Bidi algorithm. + // Returns reordered string + // @text [String]: + // - input string to be reordered, this is input parameter + // $sourceToTargetMap [Array] (optional) + // - resultant mapping between input and output strings, this is output parameter + // $levels [Array] (optional) + // - array of calculated Bidi levels, , this is output parameter + this.__bidiEngine__.doBidiReorder = function (text, sourceToTargetMap, levels) { + _init(text, sourceToTargetMap); + if (!_isInVisual && _isOutVisual && !_isOutRtl) { + // LLTR->VLTR, LRTL->VLTR + _dir = _isInRtl ? DIR_RTL : DIR_LTR; + text = _reorder(text, sourceToTargetMap, levels); + } else if (_isInVisual && _isOutVisual && _isInRtl ^ _isOutRtl) { + // VRTL->VLTR, VLTR->VRTL + _dir = _isInRtl ? DIR_RTL : DIR_LTR; + text = _invertString(text, sourceToTargetMap, levels); + } else if (!_isInVisual && _isOutVisual && _isOutRtl) { + // LLTR->VRTL, LRTL->VRTL + _dir = _isInRtl ? DIR_RTL : DIR_LTR; + text = _reorder(text, sourceToTargetMap, levels); + text = _invertString(text, sourceToTargetMap); + } else if (_isInVisual && !_isInRtl && !_isOutVisual && !_isOutRtl) { + // VLTR->LLTR + _dir = DIR_LTR; + text = _reorder(text, sourceToTargetMap, levels); + } else if (_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) { + // VLTR->LRTL, VRTL->LLTR + text = _invertString(text, sourceToTargetMap); + if (_isInRtl) { + //LLTR -> VLTR + _dir = DIR_LTR; + text = _reorder(text, sourceToTargetMap, levels); + } else { + //LRTL -> VRTL + _dir = DIR_RTL; + text = _reorder(text, sourceToTargetMap, levels); + text = _invertString(text, sourceToTargetMap); + } + } else if (_isInVisual && _isInRtl && !_isOutVisual && _isOutRtl) { + // VRTL->LRTL + _dir = DIR_RTL; + text = _reorder(text, sourceToTargetMap, levels); + text = _invertString(text, sourceToTargetMap); + } else if (!_isInVisual && !_isOutVisual && _isInRtl ^ _isOutRtl) { + // LRTL->LLTR, LLTR->LRTL + var isSymmetricSwappingOrig = _isSymmetricSwapping; + if (_isInRtl) { + //LRTL->LLTR + _dir = DIR_RTL; + text = _reorder(text, sourceToTargetMap, levels); + _dir = DIR_LTR; + _isSymmetricSwapping = false; + text = _reorder(text, sourceToTargetMap, levels); + _isSymmetricSwapping = isSymmetricSwappingOrig; + } else { + //LLTR->LRTL + _dir = DIR_LTR; + text = _reorder(text, sourceToTargetMap, levels); + text = _invertString(text, sourceToTargetMap); + _dir = DIR_RTL; + _isSymmetricSwapping = false; + text = _reorder(text, sourceToTargetMap, levels); + _isSymmetricSwapping = isSymmetricSwappingOrig; + text = _invertString(text, sourceToTargetMap); + } + } + return text; + }; + + /** + * @name setOptions( options ) + * @function + * Sets options for Bidi conversion + * @param {Object}: + * - isInputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode) + * - isInputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong character of input string) + * - isOutputVisual {boolean} (defaults to false): allowed values: true(Visual mode), false(Logical mode) + * - isOutputRtl {boolean}: allowed values true(Right-to-left direction), false (Left-to-right directiion), undefined(Contectual direction, i.e.direction defined by first strong characterof input string) + * - isSymmetricSwapping {boolean} (defaults to false): allowed values true(needs symmetric swapping), false (no need in symmetric swapping), + */ + this.__bidiEngine__.setOptions = function (options) { + if (options) { + _isInVisual = options.isInputVisual; + _isOutVisual = options.isOutputVisual; + _isInRtl = options.isInputRtl; + _isOutRtl = options.isOutputRtl; + _isSymmetricSwapping = options.isSymmetricSwapping; + } + }; + this.__bidiEngine__.setOptions(options); + return this.__bidiEngine__; + }; + var _bidiUnicodeTypes = bidiUnicodeTypes; + var bidiEngine = new jsPDF.__bidiEngine__({ + isInputVisual: true + }); + var bidiEngineFunction = function bidiEngineFunction(args) { + var text = args.text; + args.x; + args.y; + var options = args.options || {}; + args.mutex || {}; + options.lang; + var tmpText = []; + options.isInputVisual = typeof options.isInputVisual === "boolean" ? options.isInputVisual : true; + bidiEngine.setOptions(options); + if (Object.prototype.toString.call(text) === "[object Array]") { + var i = 0; + tmpText = []; + for (i = 0; i < text.length; i += 1) { + if (Object.prototype.toString.call(text[i]) === "[object Array]") { + tmpText.push([bidiEngine.doBidiReorder(text[i][0]), text[i][1], text[i][2]]); + } else { + tmpText.push([bidiEngine.doBidiReorder(text[i])]); + } + } + args.text = tmpText; + } else { + args.text = bidiEngine.doBidiReorder(text); + } + bidiEngine.setOptions({ + isInputVisual: true + }); + }; + jsPDF.API.events.push(["postProcessText", bidiEngineFunction]); + })(jsPDF); + + /* eslint-disable no-control-regex */ + jsPDF.API.TTFFont = function () { + /************************************************************************/ + /* function : open */ + /* comment : Decode the encoded ttf content and create a TTFFont object. */ + /************************************************************************/ + TTFFont.open = function (file) { + return new TTFFont(file); + }; + /***************************************************************/ + /* function : TTFFont gernerator */ + /* comment : Decode TTF contents are parsed, Data, */ + /* Subset object is created, and registerTTF function is called.*/ + /***************************************************************/ + function TTFFont(rawData) { + var data; + this.rawData = rawData; + data = this.contents = new Data(rawData); + this.contents.pos = 4; + if (data.readString(4) === "ttcf") { + throw new Error("TTCF not supported."); + } else { + data.pos = 0; + this.parse(); + this.subset = new Subset(this); + this.registerTTF(); + } + } + /********************************************************/ + /* function : parse */ + /* comment : TTF Parses the file contents by each table.*/ + /********************************************************/ + TTFFont.prototype.parse = function () { + this.directory = new Directory(this.contents); + this.head = new HeadTable(this); + this.name = new NameTable(this); + this.cmap = new CmapTable(this); + this.toUnicode = {}; + this.hhea = new HheaTable(this); + this.maxp = new MaxpTable(this); + this.hmtx = new HmtxTable(this); + this.post = new PostTable(this); + this.os2 = new OS2Table(this); + this.loca = new LocaTable(this); + this.glyf = new GlyfTable(this); + this.ascender = this.os2.exists && this.os2.ascender || this.hhea.ascender; + this.decender = this.os2.exists && this.os2.decender || this.hhea.decender; + this.lineGap = this.os2.exists && this.os2.lineGap || this.hhea.lineGap; + return this.bbox = [this.head.xMin, this.head.yMin, this.head.xMax, this.head.yMax]; + }; + /***************************************************************/ + /* function : registerTTF */ + /* comment : Get the value to assign pdf font descriptors. */ + /***************************************************************/ + TTFFont.prototype.registerTTF = function () { + var e, hi, low, raw, _ref; + this.scaleFactor = 1000.0 / this.head.unitsPerEm; + this.bbox = function () { + var _i, _len, _ref, _results; + _ref = this.bbox; + _results = []; + for (_i = 0, _len = _ref.length; _i < _len; _i++) { + e = _ref[_i]; + _results.push(Math.round(e * this.scaleFactor)); + } + return _results; + }.call(this); + this.stemV = 0; + if (this.post.exists) { + raw = this.post.italic_angle; + hi = raw >> 16; + low = raw & 0xff; + if ((hi & 0x8000) !== 0) { + hi = -((hi ^ 0xffff) + 1); + } + this.italicAngle = +("" + hi + "." + low); + } else { + this.italicAngle = 0; + } + this.ascender = Math.round(this.ascender * this.scaleFactor); + this.decender = Math.round(this.decender * this.scaleFactor); + this.lineGap = Math.round(this.lineGap * this.scaleFactor); + this.capHeight = this.os2.exists && this.os2.capHeight || this.ascender; + this.xHeight = this.os2.exists && this.os2.xHeight || 0; + this.familyClass = (this.os2.exists && this.os2.familyClass || 0) >> 8; + this.isSerif = (_ref = this.familyClass) === 1 || _ref === 2 || _ref === 3 || _ref === 4 || _ref === 5 || _ref === 7; + this.isScript = this.familyClass === 10; + this.flags = 0; + if (this.post.isFixedPitch) { + this.flags |= 1 << 0; + } + if (this.isSerif) { + this.flags |= 1 << 1; + } + if (this.isScript) { + this.flags |= 1 << 3; + } + if (this.italicAngle !== 0) { + this.flags |= 1 << 6; + } + this.flags |= 1 << 5; + if (!this.cmap.unicode) { + throw new Error("No unicode cmap for font"); + } + }; + TTFFont.prototype.characterToGlyph = function (character) { + var _ref; + return ((_ref = this.cmap.unicode) != null ? _ref.codeMap[character] : void 0) || 0; + }; + TTFFont.prototype.widthOfGlyph = function (glyph) { + var scale; + scale = 1000.0 / this.head.unitsPerEm; + return this.hmtx.forGlyph(glyph).advance * scale; + }; + TTFFont.prototype.widthOfString = function (string, size, charSpace) { + var charCode, i, scale, width, _ref; + string = "" + string; + width = 0; + for (i = 0, _ref = string.length; 0 <= _ref ? i < _ref : i > _ref; i = 0 <= _ref ? ++i : --i) { + charCode = string.charCodeAt(i); + width += this.widthOfGlyph(this.characterToGlyph(charCode)) + charSpace * (1000 / size) || 0; + } + scale = size / 1000; + return width * scale; + }; + TTFFont.prototype.lineHeight = function (size, includeGap) { + var gap; + if (includeGap == null) { + includeGap = false; + } + gap = includeGap ? this.lineGap : 0; + return (this.ascender + gap - this.decender) / 1000 * size; + }; + return TTFFont; + }(); + + /************************************************************************************************/ + /* function : Data */ + /* comment : The ttf data decoded and stored in an array is read and written to the Data object.*/ + /************************************************************************************************/ + var Data = function () { + function Data(data) { + this.data = data != null ? data : []; + this.pos = 0; + this.length = this.data.length; + } + Data.prototype.readByte = function () { + return this.data[this.pos++]; + }; + Data.prototype.writeByte = function (byte) { + return this.data[this.pos++] = byte; + }; + Data.prototype.readUInt32 = function () { + var b1, b2, b3, b4; + b1 = this.readByte() * 0x1000000; + b2 = this.readByte() << 16; + b3 = this.readByte() << 8; + b4 = this.readByte(); + return b1 + b2 + b3 + b4; + }; + Data.prototype.writeUInt32 = function (val) { + this.writeByte(val >>> 24 & 0xff); + this.writeByte(val >> 16 & 0xff); + this.writeByte(val >> 8 & 0xff); + return this.writeByte(val & 0xff); + }; + Data.prototype.readInt32 = function () { + var int; + int = this.readUInt32(); + if (int >= 0x80000000) { + return int - 0x100000000; + } else { + return int; + } + }; + Data.prototype.writeInt32 = function (val) { + if (val < 0) { + val += 0x100000000; + } + return this.writeUInt32(val); + }; + Data.prototype.readUInt16 = function () { + var b1, b2; + b1 = this.readByte() << 8; + b2 = this.readByte(); + return b1 | b2; + }; + Data.prototype.writeUInt16 = function (val) { + this.writeByte(val >> 8 & 0xff); + return this.writeByte(val & 0xff); + }; + Data.prototype.readInt16 = function () { + var int; + int = this.readUInt16(); + if (int >= 0x8000) { + return int - 0x10000; + } else { + return int; + } + }; + Data.prototype.writeInt16 = function (val) { + if (val < 0) { + val += 0x10000; + } + return this.writeUInt16(val); + }; + Data.prototype.readString = function (length) { + var i, ret; + ret = []; + for (i = 0; 0 <= length ? i < length : i > length; i = 0 <= length ? ++i : --i) { + ret[i] = String.fromCharCode(this.readByte()); + } + return ret.join(""); + }; + Data.prototype.writeString = function (val) { + var i, _ref, _results; + _results = []; + for (i = 0, _ref = val.length; 0 <= _ref ? i < _ref : i > _ref; i = 0 <= _ref ? ++i : --i) { + _results.push(this.writeByte(val.charCodeAt(i))); + } + return _results; + }; + /*Data.prototype.stringAt = function (pos, length) { + this.pos = pos; + return this.readString(length); + };*/ + Data.prototype.readShort = function () { + return this.readInt16(); + }; + Data.prototype.writeShort = function (val) { + return this.writeInt16(val); + }; + Data.prototype.readLongLong = function () { + var b1, b2, b3, b4, b5, b6, b7, b8; + b1 = this.readByte(); + b2 = this.readByte(); + b3 = this.readByte(); + b4 = this.readByte(); + b5 = this.readByte(); + b6 = this.readByte(); + b7 = this.readByte(); + b8 = this.readByte(); + if (b1 & 0x80) { + return ((b1 ^ 0xff) * 0x100000000000000 + (b2 ^ 0xff) * 0x1000000000000 + (b3 ^ 0xff) * 0x10000000000 + (b4 ^ 0xff) * 0x100000000 + (b5 ^ 0xff) * 0x1000000 + (b6 ^ 0xff) * 0x10000 + (b7 ^ 0xff) * 0x100 + (b8 ^ 0xff) + 1) * -1; + } + return b1 * 0x100000000000000 + b2 * 0x1000000000000 + b3 * 0x10000000000 + b4 * 0x100000000 + b5 * 0x1000000 + b6 * 0x10000 + b7 * 0x100 + b8; + }; + Data.prototype.writeLongLong = function (val) { + var high, low; + high = Math.floor(val / 0x100000000); + low = val & 0xffffffff; + this.writeByte(high >> 24 & 0xff); + this.writeByte(high >> 16 & 0xff); + this.writeByte(high >> 8 & 0xff); + this.writeByte(high & 0xff); + this.writeByte(low >> 24 & 0xff); + this.writeByte(low >> 16 & 0xff); + this.writeByte(low >> 8 & 0xff); + return this.writeByte(low & 0xff); + }; + Data.prototype.readInt = function () { + return this.readInt32(); + }; + Data.prototype.writeInt = function (val) { + return this.writeInt32(val); + }; + /*Data.prototype.slice = function (start, end) { + return this.data.slice(start, end); + };*/ + Data.prototype.read = function (bytes) { + var buf, i; + buf = []; + for (i = 0; 0 <= bytes ? i < bytes : i > bytes; i = 0 <= bytes ? ++i : --i) { + buf.push(this.readByte()); + } + return buf; + }; + Data.prototype.write = function (bytes) { + var byte, i, _len, _results; + _results = []; + for (i = 0, _len = bytes.length; i < _len; i++) { + byte = bytes[i]; + _results.push(this.writeByte(byte)); + } + return _results; + }; + return Data; + }(); + var Directory = function () { + var checksum; + + /*****************************************************************************************************/ + /* function : Directory generator */ + /* comment : Initialize the offset, tag, length, and checksum for each table for the font to be used.*/ + /*****************************************************************************************************/ + function Directory(data) { + var entry, i, _ref; + this.scalarType = data.readInt(); + this.tableCount = data.readShort(); + this.searchRange = data.readShort(); + this.entrySelector = data.readShort(); + this.rangeShift = data.readShort(); + this.tables = {}; + for (i = 0, _ref = this.tableCount; 0 <= _ref ? i < _ref : i > _ref; i = 0 <= _ref ? ++i : --i) { + entry = { + tag: data.readString(4), + checksum: data.readInt(), + offset: data.readInt(), + length: data.readInt() + }; + this.tables[entry.tag] = entry; + } + } + /********************************************************************************************************/ + /* function : encode */ + /* comment : It encodes and stores the font table object and information used for the directory object. */ + /********************************************************************************************************/ + Directory.prototype.encode = function (tables) { + var adjustment, directory, directoryLength, entrySelector, headOffset, log2, offset, rangeShift, searchRange, sum, table, tableCount, tableData, tag; + tableCount = Object.keys(tables).length; + log2 = Math.log(2); + searchRange = Math.floor(Math.log(tableCount) / log2) * 16; + entrySelector = Math.floor(searchRange / log2); + rangeShift = tableCount * 16 - searchRange; + directory = new Data(); + directory.writeInt(this.scalarType); + directory.writeShort(tableCount); + directory.writeShort(searchRange); + directory.writeShort(entrySelector); + directory.writeShort(rangeShift); + directoryLength = tableCount * 16; + offset = directory.pos + directoryLength; + headOffset = null; + tableData = []; + for (tag in tables) { + table = tables[tag]; + directory.writeString(tag); + directory.writeInt(checksum(table)); + directory.writeInt(offset); + directory.writeInt(table.length); + tableData = tableData.concat(table); + if (tag === "head") { + headOffset = offset; + } + offset += table.length; + while (offset % 4) { + tableData.push(0); + offset++; + } + } + directory.write(tableData); + sum = checksum(directory.data); + adjustment = 0xb1b0afba - sum; + directory.pos = headOffset + 8; + directory.writeUInt32(adjustment); + return directory.data; + }; + /***************************************************************/ + /* function : checksum */ + /* comment : Duplicate the table for the tag. */ + /***************************************************************/ + checksum = function checksum(data) { + var i, sum, tmp, _ref; + data = __slice.call(data); + while (data.length % 4) { + data.push(0); + } + tmp = new Data(data); + sum = 0; + for (i = 0, _ref = data.length; i < _ref; i = i += 4) { + sum += tmp.readUInt32(); + } + return sum & 0xffffffff; + }; + return Directory; + }(); + var Table, + __hasProp = {}.hasOwnProperty, + __extends = function __extends(child, parent) { + for (var key in parent) { + if (__hasProp.call(parent, key)) child[key] = parent[key]; + } + function ctor() { + this.constructor = child; + } + ctor.prototype = parent.prototype; + child.prototype = new ctor(); + child.__super__ = parent.prototype; + return child; + }; + + /***************************************************************/ + /* function : Table */ + /* comment : Save info for each table, and parse the table. */ + /***************************************************************/ + Table = function () { + function Table(file) { + var info; + this.file = file; + info = this.file.directory.tables[this.tag]; + this.exists = !!info; + if (info) { + this.offset = info.offset, this.length = info.length; + this.parse(this.file.contents); + } + } + Table.prototype.parse = function () {}; + Table.prototype.encode = function () {}; + Table.prototype.raw = function () { + if (!this.exists) { + return null; + } + this.file.contents.pos = this.offset; + return this.file.contents.read(this.length); + }; + return Table; + }(); + var HeadTable = function (_super) { + __extends(HeadTable, _super); + function HeadTable() { + return HeadTable.__super__.constructor.apply(this, arguments); + } + HeadTable.prototype.tag = "head"; + HeadTable.prototype.parse = function (data) { + data.pos = this.offset; + this.version = data.readInt(); + this.revision = data.readInt(); + this.checkSumAdjustment = data.readInt(); + this.magicNumber = data.readInt(); + this.flags = data.readShort(); + this.unitsPerEm = data.readShort(); + this.created = data.readLongLong(); + this.modified = data.readLongLong(); + this.xMin = data.readShort(); + this.yMin = data.readShort(); + this.xMax = data.readShort(); + this.yMax = data.readShort(); + this.macStyle = data.readShort(); + this.lowestRecPPEM = data.readShort(); + this.fontDirectionHint = data.readShort(); + this.indexToLocFormat = data.readShort(); + return this.glyphDataFormat = data.readShort(); + }; + HeadTable.prototype.encode = function (indexToLocFormat) { + var table; + table = new Data(); + table.writeInt(this.version); + table.writeInt(this.revision); + table.writeInt(this.checkSumAdjustment); + table.writeInt(this.magicNumber); + table.writeShort(this.flags); + table.writeShort(this.unitsPerEm); + table.writeLongLong(this.created); + table.writeLongLong(this.modified); + table.writeShort(this.xMin); + table.writeShort(this.yMin); + table.writeShort(this.xMax); + table.writeShort(this.yMax); + table.writeShort(this.macStyle); + table.writeShort(this.lowestRecPPEM); + table.writeShort(this.fontDirectionHint); + table.writeShort(indexToLocFormat); + table.writeShort(this.glyphDataFormat); + return table.data; + }; + return HeadTable; + }(Table); + + /************************************************************************************/ + /* function : CmapEntry */ + /* comment : Cmap Initializes and encodes object information (required by pdf spec).*/ + /************************************************************************************/ + var CmapEntry = function () { + function CmapEntry(data, offset) { + var code, count, endCode, glyphId, glyphIds, i, idDelta, idRangeOffset, index, saveOffset, segCount, segCountX2, start, startCode, tail, _j, _k, _len; + this.platformID = data.readUInt16(); + this.encodingID = data.readShort(); + this.offset = offset + data.readInt(); + saveOffset = data.pos; + data.pos = this.offset; + this.format = data.readUInt16(); + this.length = data.readUInt16(); + this.language = data.readUInt16(); + this.isUnicode = this.platformID === 3 && this.encodingID === 1 && this.format === 4 || this.platformID === 0 && this.format === 4; + this.codeMap = {}; + switch (this.format) { + case 0: + for (i = 0; i < 256; ++i) { + this.codeMap[i] = data.readByte(); + } + break; + case 4: + segCountX2 = data.readUInt16(); + segCount = segCountX2 / 2; + data.pos += 6; + endCode = function () { + var _j, _results; + _results = []; + for (i = _j = 0; 0 <= segCount ? _j < segCount : _j > segCount; i = 0 <= segCount ? ++_j : --_j) { + _results.push(data.readUInt16()); + } + return _results; + }(); + data.pos += 2; + startCode = function () { + var _j, _results; + _results = []; + for (i = _j = 0; 0 <= segCount ? _j < segCount : _j > segCount; i = 0 <= segCount ? ++_j : --_j) { + _results.push(data.readUInt16()); + } + return _results; + }(); + idDelta = function () { + var _j, _results; + _results = []; + for (i = _j = 0; 0 <= segCount ? _j < segCount : _j > segCount; i = 0 <= segCount ? ++_j : --_j) { + _results.push(data.readUInt16()); + } + return _results; + }(); + idRangeOffset = function () { + var _j, _results; + _results = []; + for (i = _j = 0; 0 <= segCount ? _j < segCount : _j > segCount; i = 0 <= segCount ? ++_j : --_j) { + _results.push(data.readUInt16()); + } + return _results; + }(); + count = (this.length - data.pos + this.offset) / 2; + glyphIds = function () { + var _j, _results; + _results = []; + for (i = _j = 0; 0 <= count ? _j < count : _j > count; i = 0 <= count ? ++_j : --_j) { + _results.push(data.readUInt16()); + } + return _results; + }(); + for (i = _j = 0, _len = endCode.length; _j < _len; i = ++_j) { + tail = endCode[i]; + start = startCode[i]; + for (code = _k = start; start <= tail ? _k <= tail : _k >= tail; code = start <= tail ? ++_k : --_k) { + if (idRangeOffset[i] === 0) { + glyphId = code + idDelta[i]; + } else { + index = idRangeOffset[i] / 2 + (code - start) - (segCount - i); + glyphId = glyphIds[index] || 0; + if (glyphId !== 0) { + glyphId += idDelta[i]; + } + } + this.codeMap[code] = glyphId & 0xffff; + } + } + } + data.pos = saveOffset; + } + CmapEntry.encode = function (charmap, encoding) { + var charMap, code, codeMap, codes, delta, deltas, diff, endCode, endCodes, entrySelector, glyphIDs, i, id, indexes, last, map, nextID, offset, old, rangeOffsets, rangeShift, searchRange, segCount, segCountX2, startCode, startCodes, startGlyph, subtable, _i, _j, _k, _l, _len, _len1, _len2, _len3, _len4, _len5, _len6, _len7, _m, _n, _name, _o, _p, _q; + subtable = new Data(); + codes = Object.keys(charmap).sort(function (a, b) { + return a - b; + }); + switch (encoding) { + case "macroman": + id = 0; + indexes = function () { + var _results = []; + for (i = 0; i < 256; ++i) { + _results.push(0); + } + return _results; + }(); + map = { + 0: 0 + }; + codeMap = {}; + for (_i = 0, _len = codes.length; _i < _len; _i++) { + code = codes[_i]; + if (map[_name = charmap[code]] == null) { + map[_name] = ++id; + } + codeMap[code] = { + old: charmap[code], + new: map[charmap[code]] + }; + indexes[code] = map[charmap[code]]; + } + subtable.writeUInt16(1); + subtable.writeUInt16(0); + subtable.writeUInt32(12); + subtable.writeUInt16(0); + subtable.writeUInt16(262); + subtable.writeUInt16(0); + subtable.write(indexes); + return { + charMap: codeMap, + subtable: subtable.data, + maxGlyphID: id + 1 + }; + case "unicode": + startCodes = []; + endCodes = []; + nextID = 0; + map = {}; + charMap = {}; + last = diff = null; + for (_j = 0, _len1 = codes.length; _j < _len1; _j++) { + code = codes[_j]; + old = charmap[code]; + if (map[old] == null) { + map[old] = ++nextID; + } + charMap[code] = { + old: old, + new: map[old] + }; + delta = map[old] - code; + if (last == null || delta !== diff) { + if (last) { + endCodes.push(last); + } + startCodes.push(code); + diff = delta; + } + last = code; + } + if (last) { + endCodes.push(last); + } + endCodes.push(0xffff); + startCodes.push(0xffff); + segCount = startCodes.length; + segCountX2 = segCount * 2; + searchRange = 2 * Math.pow(Math.log(segCount) / Math.LN2, 2); + entrySelector = Math.log(searchRange / 2) / Math.LN2; + rangeShift = 2 * segCount - searchRange; + deltas = []; + rangeOffsets = []; + glyphIDs = []; + for (i = _k = 0, _len2 = startCodes.length; _k < _len2; i = ++_k) { + startCode = startCodes[i]; + endCode = endCodes[i]; + if (startCode === 0xffff) { + deltas.push(0); + rangeOffsets.push(0); + break; + } + startGlyph = charMap[startCode]["new"]; + if (startCode - startGlyph >= 0x8000) { + deltas.push(0); + rangeOffsets.push(2 * (glyphIDs.length + segCount - i)); + for (code = _l = startCode; startCode <= endCode ? _l <= endCode : _l >= endCode; code = startCode <= endCode ? ++_l : --_l) { + glyphIDs.push(charMap[code]["new"]); + } + } else { + deltas.push(startGlyph - startCode); + rangeOffsets.push(0); + } + } + subtable.writeUInt16(3); + subtable.writeUInt16(1); + subtable.writeUInt32(12); + subtable.writeUInt16(4); + subtable.writeUInt16(16 + segCount * 8 + glyphIDs.length * 2); + subtable.writeUInt16(0); + subtable.writeUInt16(segCountX2); + subtable.writeUInt16(searchRange); + subtable.writeUInt16(entrySelector); + subtable.writeUInt16(rangeShift); + for (_m = 0, _len3 = endCodes.length; _m < _len3; _m++) { + code = endCodes[_m]; + subtable.writeUInt16(code); + } + subtable.writeUInt16(0); + for (_n = 0, _len4 = startCodes.length; _n < _len4; _n++) { + code = startCodes[_n]; + subtable.writeUInt16(code); + } + for (_o = 0, _len5 = deltas.length; _o < _len5; _o++) { + delta = deltas[_o]; + subtable.writeUInt16(delta); + } + for (_p = 0, _len6 = rangeOffsets.length; _p < _len6; _p++) { + offset = rangeOffsets[_p]; + subtable.writeUInt16(offset); + } + for (_q = 0, _len7 = glyphIDs.length; _q < _len7; _q++) { + id = glyphIDs[_q]; + subtable.writeUInt16(id); + } + return { + charMap: charMap, + subtable: subtable.data, + maxGlyphID: nextID + 1 + }; + } + }; + return CmapEntry; + }(); + var CmapTable = function (_super) { + __extends(CmapTable, _super); + function CmapTable() { + return CmapTable.__super__.constructor.apply(this, arguments); + } + CmapTable.prototype.tag = "cmap"; + CmapTable.prototype.parse = function (data) { + var entry, i, tableCount; + data.pos = this.offset; + this.version = data.readUInt16(); + tableCount = data.readUInt16(); + this.tables = []; + this.unicode = null; + for (i = 0; 0 <= tableCount ? i < tableCount : i > tableCount; i = 0 <= tableCount ? ++i : --i) { + entry = new CmapEntry(data, this.offset); + this.tables.push(entry); + if (entry.isUnicode) { + if (this.unicode == null) { + this.unicode = entry; + } + } + } + return true; + }; + /*************************************************************************/ + /* function : encode */ + /* comment : Encode the cmap table corresponding to the input character. */ + /*************************************************************************/ + CmapTable.encode = function (charmap, encoding) { + var result, table; + if (encoding == null) { + encoding = "macroman"; + } + result = CmapEntry.encode(charmap, encoding); + table = new Data(); + table.writeUInt16(0); + table.writeUInt16(1); + result.table = table.data.concat(result.subtable); + return result; + }; + return CmapTable; + }(Table); + var HheaTable = function (_super) { + __extends(HheaTable, _super); + function HheaTable() { + return HheaTable.__super__.constructor.apply(this, arguments); + } + HheaTable.prototype.tag = "hhea"; + HheaTable.prototype.parse = function (data) { + data.pos = this.offset; + this.version = data.readInt(); + this.ascender = data.readShort(); + this.decender = data.readShort(); + this.lineGap = data.readShort(); + this.advanceWidthMax = data.readShort(); + this.minLeftSideBearing = data.readShort(); + this.minRightSideBearing = data.readShort(); + this.xMaxExtent = data.readShort(); + this.caretSlopeRise = data.readShort(); + this.caretSlopeRun = data.readShort(); + this.caretOffset = data.readShort(); + data.pos += 4 * 2; + this.metricDataFormat = data.readShort(); + return this.numberOfMetrics = data.readUInt16(); + }; + /*HheaTable.prototype.encode = function (ids) { + var i, table, _i, _ref; + table = new Data; + table.writeInt(this.version); + table.writeShort(this.ascender); + table.writeShort(this.decender); + table.writeShort(this.lineGap); + table.writeShort(this.advanceWidthMax); + table.writeShort(this.minLeftSideBearing); + table.writeShort(this.minRightSideBearing); + table.writeShort(this.xMaxExtent); + table.writeShort(this.caretSlopeRise); + table.writeShort(this.caretSlopeRun); + table.writeShort(this.caretOffset); + for (i = _i = 0, _ref = 4 * 2; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) { + table.writeByte(0); + } + table.writeShort(this.metricDataFormat); + table.writeUInt16(ids.length); + return table.data; + };*/ + return HheaTable; + }(Table); + var OS2Table = function (_super) { + __extends(OS2Table, _super); + function OS2Table() { + return OS2Table.__super__.constructor.apply(this, arguments); + } + OS2Table.prototype.tag = "OS/2"; + OS2Table.prototype.parse = function (data) { + data.pos = this.offset; + this.version = data.readUInt16(); + this.averageCharWidth = data.readShort(); + this.weightClass = data.readUInt16(); + this.widthClass = data.readUInt16(); + this.type = data.readShort(); + this.ySubscriptXSize = data.readShort(); + this.ySubscriptYSize = data.readShort(); + this.ySubscriptXOffset = data.readShort(); + this.ySubscriptYOffset = data.readShort(); + this.ySuperscriptXSize = data.readShort(); + this.ySuperscriptYSize = data.readShort(); + this.ySuperscriptXOffset = data.readShort(); + this.ySuperscriptYOffset = data.readShort(); + this.yStrikeoutSize = data.readShort(); + this.yStrikeoutPosition = data.readShort(); + this.familyClass = data.readShort(); + this.panose = function () { + var i, _results; + _results = []; + for (i = 0; i < 10; ++i) { + _results.push(data.readByte()); + } + return _results; + }(); + this.charRange = function () { + var i, _results; + _results = []; + for (i = 0; i < 4; ++i) { + _results.push(data.readInt()); + } + return _results; + }(); + this.vendorID = data.readString(4); + this.selection = data.readShort(); + this.firstCharIndex = data.readShort(); + this.lastCharIndex = data.readShort(); + if (this.version > 0) { + this.ascent = data.readShort(); + this.descent = data.readShort(); + this.lineGap = data.readShort(); + this.winAscent = data.readShort(); + this.winDescent = data.readShort(); + this.codePageRange = function () { + var i, _results; + _results = []; + for (i = 0; i < 2; i = ++i) { + _results.push(data.readInt()); + } + return _results; + }(); + if (this.version > 1) { + this.xHeight = data.readShort(); + this.capHeight = data.readShort(); + this.defaultChar = data.readShort(); + this.breakChar = data.readShort(); + return this.maxContext = data.readShort(); + } + } + }; + /*OS2Table.prototype.encode = function () { + return this.raw(); + };*/ + return OS2Table; + }(Table); + var PostTable = function (_super) { + __extends(PostTable, _super); + function PostTable() { + return PostTable.__super__.constructor.apply(this, arguments); + } + PostTable.prototype.tag = "post"; + PostTable.prototype.parse = function (data) { + var length, numberOfGlyphs, _results; + data.pos = this.offset; + this.format = data.readInt(); + this.italicAngle = data.readInt(); + this.underlinePosition = data.readShort(); + this.underlineThickness = data.readShort(); + this.isFixedPitch = data.readInt(); + this.minMemType42 = data.readInt(); + this.maxMemType42 = data.readInt(); + this.minMemType1 = data.readInt(); + this.maxMemType1 = data.readInt(); + switch (this.format) { + case 0x00010000: + break; + case 0x00020000: + numberOfGlyphs = data.readUInt16(); + this.glyphNameIndex = []; + var i; + for (i = 0; 0 <= numberOfGlyphs ? i < numberOfGlyphs : i > numberOfGlyphs; i = 0 <= numberOfGlyphs ? ++i : --i) { + this.glyphNameIndex.push(data.readUInt16()); + } + this.names = []; + _results = []; + while (data.pos < this.offset + this.length) { + length = data.readByte(); + _results.push(this.names.push(data.readString(length))); + } + return _results; + case 0x00025000: + numberOfGlyphs = data.readUInt16(); + return this.offsets = data.read(numberOfGlyphs); + case 0x00030000: + break; + case 0x00040000: + return this.map = function () { + var _j, _ref, _results1; + _results1 = []; + for (i = _j = 0, _ref = this.file.maxp.numGlyphs; 0 <= _ref ? _j < _ref : _j > _ref; i = 0 <= _ref ? ++_j : --_j) { + _results1.push(data.readUInt32()); + } + return _results1; + }.call(this); + } + }; + return PostTable; + }(Table); + + /*********************************************************************************************************/ + /* function : NameEntry */ + /* comment : Store copyright information, platformID, encodingID, and languageID in the NameEntry object.*/ + /*********************************************************************************************************/ + var NameEntry = function () { + function NameEntry(raw, entry) { + this.raw = raw; + this.length = raw.length; + this.platformID = entry.platformID; + this.encodingID = entry.encodingID; + this.languageID = entry.languageID; + } + return NameEntry; + }(); + var NameTable = function (_super) { + __extends(NameTable, _super); + function NameTable() { + return NameTable.__super__.constructor.apply(this, arguments); + } + NameTable.prototype.tag = "name"; + NameTable.prototype.parse = function (data) { + var count, entries, entry, i, name, stringOffset, strings, text, _j, _len, _name; + data.pos = this.offset; + data.readShort(); //format + count = data.readShort(); + stringOffset = data.readShort(); + entries = []; + for (i = 0; 0 <= count ? i < count : i > count; i = 0 <= count ? ++i : --i) { + entries.push({ + platformID: data.readShort(), + encodingID: data.readShort(), + languageID: data.readShort(), + nameID: data.readShort(), + length: data.readShort(), + offset: this.offset + stringOffset + data.readShort() + }); + } + strings = {}; + for (i = _j = 0, _len = entries.length; _j < _len; i = ++_j) { + entry = entries[i]; + data.pos = entry.offset; + text = data.readString(entry.length); + name = new NameEntry(text, entry); + if (strings[_name = entry.nameID] == null) { + strings[_name] = []; + } + strings[entry.nameID].push(name); + } + this.strings = strings; + this.copyright = strings[0]; + this.fontFamily = strings[1]; + this.fontSubfamily = strings[2]; + this.uniqueSubfamily = strings[3]; + this.fontName = strings[4]; + this.version = strings[5]; + try { + this.postscriptName = strings[6][0].raw.replace(/[\x00-\x19\x80-\xff]/g, ""); + } catch (e) { + this.postscriptName = strings[4][0].raw.replace(/[\x00-\x19\x80-\xff]/g, ""); + } + this.trademark = strings[7]; + this.manufacturer = strings[8]; + this.designer = strings[9]; + this.description = strings[10]; + this.vendorUrl = strings[11]; + this.designerUrl = strings[12]; + this.license = strings[13]; + this.licenseUrl = strings[14]; + this.preferredFamily = strings[15]; + this.preferredSubfamily = strings[17]; + this.compatibleFull = strings[18]; + return this.sampleText = strings[19]; + }; + /*NameTable.prototype.encode = function () { + var id, list, nameID, nameTable, postscriptName, strCount, strTable, string, strings, table, val, _i, _len, _ref; + strings = {}; + _ref = this.strings; + for (id in _ref) { + val = _ref[id]; + strings[id] = val; + } + postscriptName = new NameEntry("" + subsetTag + "+" + this.postscriptName, { + platformID: 1 + , encodingID: 0 + , languageID: 0 + }); + strings[6] = [postscriptName]; + subsetTag = successorOf(subsetTag); + strCount = 0; + for (id in strings) { + list = strings[id]; + if (list != null) { + strCount += list.length; + } + } + table = new Data; + strTable = new Data; + table.writeShort(0); + table.writeShort(strCount); + table.writeShort(6 + 12 * strCount); + for (nameID in strings) { + list = strings[nameID]; + if (list != null) { + for (_i = 0, _len = list.length; _i < _len; _i++) { + string = list[_i]; + table.writeShort(string.platformID); + table.writeShort(string.encodingID); + table.writeShort(string.languageID); + table.writeShort(nameID); + table.writeShort(string.length); + table.writeShort(strTable.pos); + strTable.writeString(string.raw); + } + } + } + return nameTable = { + postscriptName: postscriptName.raw + , table: table.data.concat(strTable.data) + }; + };*/ + return NameTable; + }(Table); + var MaxpTable = function (_super) { + __extends(MaxpTable, _super); + function MaxpTable() { + return MaxpTable.__super__.constructor.apply(this, arguments); + } + MaxpTable.prototype.tag = "maxp"; + MaxpTable.prototype.parse = function (data) { + data.pos = this.offset; + this.version = data.readInt(); + this.numGlyphs = data.readUInt16(); + this.maxPoints = data.readUInt16(); + this.maxContours = data.readUInt16(); + this.maxCompositePoints = data.readUInt16(); + this.maxComponentContours = data.readUInt16(); + this.maxZones = data.readUInt16(); + this.maxTwilightPoints = data.readUInt16(); + this.maxStorage = data.readUInt16(); + this.maxFunctionDefs = data.readUInt16(); + this.maxInstructionDefs = data.readUInt16(); + this.maxStackElements = data.readUInt16(); + this.maxSizeOfInstructions = data.readUInt16(); + this.maxComponentElements = data.readUInt16(); + return this.maxComponentDepth = data.readUInt16(); + }; + /*MaxpTable.prototype.encode = function (ids) { + var table; + table = new Data; + table.writeInt(this.version); + table.writeUInt16(ids.length); + table.writeUInt16(this.maxPoints); + table.writeUInt16(this.maxContours); + table.writeUInt16(this.maxCompositePoints); + table.writeUInt16(this.maxComponentContours); + table.writeUInt16(this.maxZones); + table.writeUInt16(this.maxTwilightPoints); + table.writeUInt16(this.maxStorage); + table.writeUInt16(this.maxFunctionDefs); + table.writeUInt16(this.maxInstructionDefs); + table.writeUInt16(this.maxStackElements); + table.writeUInt16(this.maxSizeOfInstructions); + table.writeUInt16(this.maxComponentElements); + table.writeUInt16(this.maxComponentDepth); + return table.data; + };*/ + return MaxpTable; + }(Table); + var HmtxTable = function (_super) { + __extends(HmtxTable, _super); + function HmtxTable() { + return HmtxTable.__super__.constructor.apply(this, arguments); + } + HmtxTable.prototype.tag = "hmtx"; + HmtxTable.prototype.parse = function (data) { + var i, last, lsbCount, m, _j, _ref, _results; + data.pos = this.offset; + this.metrics = []; + for (i = 0, _ref = this.file.hhea.numberOfMetrics; 0 <= _ref ? i < _ref : i > _ref; i = 0 <= _ref ? ++i : --i) { + this.metrics.push({ + advance: data.readUInt16(), + lsb: data.readInt16() + }); + } + lsbCount = this.file.maxp.numGlyphs - this.file.hhea.numberOfMetrics; + this.leftSideBearings = function () { + var _j, _results; + _results = []; + for (i = _j = 0; 0 <= lsbCount ? _j < lsbCount : _j > lsbCount; i = 0 <= lsbCount ? ++_j : --_j) { + _results.push(data.readInt16()); + } + return _results; + }(); + this.widths = function () { + var _j, _len, _ref1, _results; + _ref1 = this.metrics; + _results = []; + for (_j = 0, _len = _ref1.length; _j < _len; _j++) { + m = _ref1[_j]; + _results.push(m.advance); + } + return _results; + }.call(this); + last = this.widths[this.widths.length - 1]; + _results = []; + for (i = _j = 0; 0 <= lsbCount ? _j < lsbCount : _j > lsbCount; i = 0 <= lsbCount ? ++_j : --_j) { + _results.push(this.widths.push(last)); + } + return _results; + }; + /***************************************************************/ + /* function : forGlyph */ + /* comment : Returns the advance width and lsb for this glyph. */ + /***************************************************************/ + HmtxTable.prototype.forGlyph = function (id) { + if (id in this.metrics) { + return this.metrics[id]; + } + return { + advance: this.metrics[this.metrics.length - 1].advance, + lsb: this.leftSideBearings[id - this.metrics.length] + }; + }; + /*HmtxTable.prototype.encode = function (mapping) { + var id, metric, table, _i, _len; + table = new Data; + for (_i = 0, _len = mapping.length; _i < _len; _i++) { + id = mapping[_i]; + metric = this.forGlyph(id); + table.writeUInt16(metric.advance); + table.writeUInt16(metric.lsb); + } + return table.data; + };*/ + return HmtxTable; + }(Table); + var __slice = [].slice; + var GlyfTable = function (_super) { + __extends(GlyfTable, _super); + function GlyfTable() { + return GlyfTable.__super__.constructor.apply(this, arguments); + } + GlyfTable.prototype.tag = "glyf"; + GlyfTable.prototype.parse = function () { + return this.cache = {}; + }; + GlyfTable.prototype.glyphFor = function (id) { + var data, index, length, loca, numberOfContours, raw, xMax, xMin, yMax, yMin; + if (id in this.cache) { + return this.cache[id]; + } + loca = this.file.loca; + data = this.file.contents; + index = loca.indexOf(id); + length = loca.lengthOf(id); + if (length === 0) { + return this.cache[id] = null; + } + data.pos = this.offset + index; + raw = new Data(data.read(length)); + numberOfContours = raw.readShort(); + xMin = raw.readShort(); + yMin = raw.readShort(); + xMax = raw.readShort(); + yMax = raw.readShort(); + if (numberOfContours === -1) { + this.cache[id] = new CompoundGlyph(raw, xMin, yMin, xMax, yMax); + } else { + this.cache[id] = new SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax); + } + return this.cache[id]; + }; + GlyfTable.prototype.encode = function (glyphs, mapping, old2new) { + var glyph, id, offsets, table, _i, _len; + table = []; + offsets = []; + for (_i = 0, _len = mapping.length; _i < _len; _i++) { + id = mapping[_i]; + glyph = glyphs[id]; + offsets.push(table.length); + if (glyph) { + table = table.concat(glyph.encode(old2new)); + } + } + offsets.push(table.length); + return { + table: table, + offsets: offsets + }; + }; + return GlyfTable; + }(Table); + var SimpleGlyph = function () { + /**************************************************************************/ + /* function : SimpleGlyph */ + /* comment : Stores raw, xMin, yMin, xMax, and yMax values for this glyph.*/ + /**************************************************************************/ + function SimpleGlyph(raw, numberOfContours, xMin, yMin, xMax, yMax) { + this.raw = raw; + this.numberOfContours = numberOfContours; + this.xMin = xMin; + this.yMin = yMin; + this.xMax = xMax; + this.yMax = yMax; + this.compound = false; + } + SimpleGlyph.prototype.encode = function () { + return this.raw.data; + }; + return SimpleGlyph; + }(); + var CompoundGlyph = function () { + var ARG_1_AND_2_ARE_WORDS, MORE_COMPONENTS, WE_HAVE_AN_X_AND_Y_SCALE, WE_HAVE_A_SCALE, WE_HAVE_A_TWO_BY_TWO; + ARG_1_AND_2_ARE_WORDS = 0x0001; + WE_HAVE_A_SCALE = 0x0008; + MORE_COMPONENTS = 0x0020; + WE_HAVE_AN_X_AND_Y_SCALE = 0x0040; + WE_HAVE_A_TWO_BY_TWO = 0x0080; + + /********************************************************************************************************************/ + /* function : CompoundGlypg generator */ + /* comment : It stores raw, xMin, yMin, xMax, yMax, glyph id, and glyph offset for the corresponding compound glyph.*/ + /********************************************************************************************************************/ + function CompoundGlyph(raw, xMin, yMin, xMax, yMax) { + var data, flags; + this.raw = raw; + this.xMin = xMin; + this.yMin = yMin; + this.xMax = xMax; + this.yMax = yMax; + this.compound = true; + this.glyphIDs = []; + this.glyphOffsets = []; + data = this.raw; + while (true) { + flags = data.readShort(); + this.glyphOffsets.push(data.pos); + this.glyphIDs.push(data.readUInt16()); + if (!(flags & MORE_COMPONENTS)) { + break; + } + if (flags & ARG_1_AND_2_ARE_WORDS) { + data.pos += 4; + } else { + data.pos += 2; + } + if (flags & WE_HAVE_A_TWO_BY_TWO) { + data.pos += 8; + } else if (flags & WE_HAVE_AN_X_AND_Y_SCALE) { + data.pos += 4; + } else if (flags & WE_HAVE_A_SCALE) { + data.pos += 2; + } + } + } + /****************************************************************************************************************/ + /* function : CompoundGlypg encode */ + /* comment : After creating a table for the characters you typed, you call directory.encode to encode the table.*/ + /****************************************************************************************************************/ + CompoundGlyph.prototype.encode = function () { + var i, result, _len, _ref; + result = new Data(__slice.call(this.raw.data)); + _ref = this.glyphIDs; + for (i = 0, _len = _ref.length; i < _len; ++i) { + result.pos = this.glyphOffsets[i]; + } + return result.data; + }; + return CompoundGlyph; + }(); + var LocaTable = function (_super) { + __extends(LocaTable, _super); + function LocaTable() { + return LocaTable.__super__.constructor.apply(this, arguments); + } + LocaTable.prototype.tag = "loca"; + LocaTable.prototype.parse = function (data) { + var format, i; + data.pos = this.offset; + format = this.file.head.indexToLocFormat; + if (format === 0) { + return this.offsets = function () { + var _ref, _results; + _results = []; + for (i = 0, _ref = this.length; i < _ref; i += 2) { + _results.push(data.readUInt16() * 2); + } + return _results; + }.call(this); + } else { + return this.offsets = function () { + var _ref, _results; + _results = []; + for (i = 0, _ref = this.length; i < _ref; i += 4) { + _results.push(data.readUInt32()); + } + return _results; + }.call(this); + } + }; + LocaTable.prototype.indexOf = function (id) { + return this.offsets[id]; + }; + LocaTable.prototype.lengthOf = function (id) { + return this.offsets[id + 1] - this.offsets[id]; + }; + LocaTable.prototype.encode = function (offsets, activeGlyphs) { + var LocaTable = new Uint32Array(this.offsets.length); + var glyfPtr = 0; + var listGlyf = 0; + for (var k = 0; k < LocaTable.length; ++k) { + LocaTable[k] = glyfPtr; + if (listGlyf < activeGlyphs.length && activeGlyphs[listGlyf] == k) { + ++listGlyf; + LocaTable[k] = glyfPtr; + var start = this.offsets[k]; + var len = this.offsets[k + 1] - start; + if (len > 0) { + glyfPtr += len; + } + } + } + var newLocaTable = new Array(LocaTable.length * 4); + for (var j = 0; j < LocaTable.length; ++j) { + newLocaTable[4 * j + 3] = LocaTable[j] & 0x000000ff; + newLocaTable[4 * j + 2] = (LocaTable[j] & 0x0000ff00) >> 8; + newLocaTable[4 * j + 1] = (LocaTable[j] & 0x00ff0000) >> 16; + newLocaTable[4 * j] = (LocaTable[j] & 0xff000000) >> 24; + } + return newLocaTable; + }; + return LocaTable; + }(Table); + + /************************************************************************************/ + /* function : invert */ + /* comment : Change the object's (key: value) to create an object with (value: key).*/ + /************************************************************************************/ + var invert = function invert(object) { + var key, ret, val; + ret = {}; + for (key in object) { + val = object[key]; + ret[val] = key; + } + return ret; + }; + + /*var successorOf = function (input) { + var added, alphabet, carry, i, index, isUpperCase, last, length, next, result; + alphabet = 'abcdefghijklmnopqrstuvwxyz'; + length = alphabet.length; + result = input; + i = input.length; + while (i >= 0) { + last = input.charAt(--i); + if (isNaN(last)) { + index = alphabet.indexOf(last.toLowerCase()); + if (index === -1) { + next = last; + carry = true; + } + else { + next = alphabet.charAt((index + 1) % length); + isUpperCase = last === last.toUpperCase(); + if (isUpperCase) { + next = next.toUpperCase(); + } + carry = index + 1 >= length; + if (carry && i === 0) { + added = isUpperCase ? 'A' : 'a'; + result = added + next + result.slice(1); + break; + } + } + } + else { + next = +last + 1; + carry = next > 9; + if (carry) { + next = 0; + } + if (carry && i === 0) { + result = '1' + next + result.slice(1); + break; + } + } + result = result.slice(0, i) + next + result.slice(i + 1); + if (!carry) { + break; + } + } + return result; + };*/ + + var Subset = function () { + function Subset(font) { + this.font = font; + this.subset = {}; + this.unicodes = {}; + this.next = 33; + } + /*Subset.prototype.use = function (character) { + var i, _i, _ref; + if (typeof character === 'string') { + for (i = _i = 0, _ref = character.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) { + this.use(character.charCodeAt(i)); + } + return; + } + if (!this.unicodes[character]) { + this.subset[this.next] = character; + return this.unicodes[character] = this.next++; + } + };*/ + /*Subset.prototype.encodeText = function (text) { + var char, i, string, _i, _ref; + string = ''; + for (i = _i = 0, _ref = text.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) { + char = this.unicodes[text.charCodeAt(i)]; + string += String.fromCharCode(char); + } + return string; + };*/ + /***************************************************************/ + /* function : generateCmap */ + /* comment : Returns the unicode cmap for this font. */ + /***************************************************************/ + Subset.prototype.generateCmap = function () { + var mapping, roman, unicode, unicodeCmap, _ref; + unicodeCmap = this.font.cmap.tables[0].codeMap; + mapping = {}; + _ref = this.subset; + for (roman in _ref) { + unicode = _ref[roman]; + mapping[roman] = unicodeCmap[unicode]; + } + return mapping; + }; + /*Subset.prototype.glyphIDs = function () { + var ret, roman, unicode, unicodeCmap, val, _ref; + unicodeCmap = this.font.cmap.tables[0].codeMap; + ret = [0]; + _ref = this.subset; + for (roman in _ref) { + unicode = _ref[roman]; + val = unicodeCmap[unicode]; + if ((val != null) && __indexOf.call(ret, val) < 0) { + ret.push(val); + } + } + return ret.sort(); + };*/ + /******************************************************************/ + /* function : glyphsFor */ + /* comment : Returns simple glyph objects for the input character.*/ + /******************************************************************/ + Subset.prototype.glyphsFor = function (glyphIDs) { + var additionalIDs, glyph, glyphs, id, _i, _len, _ref; + glyphs = {}; + for (_i = 0, _len = glyphIDs.length; _i < _len; _i++) { + id = glyphIDs[_i]; + glyphs[id] = this.font.glyf.glyphFor(id); + } + additionalIDs = []; + for (id in glyphs) { + glyph = glyphs[id]; + if (glyph != null ? glyph.compound : void 0) { + additionalIDs.push.apply(additionalIDs, glyph.glyphIDs); + } + } + if (additionalIDs.length > 0) { + _ref = this.glyphsFor(additionalIDs); + for (id in _ref) { + glyph = _ref[id]; + glyphs[id] = glyph; + } + } + return glyphs; + }; + /***************************************************************/ + /* function : encode */ + /* comment : Encode various tables for the characters you use. */ + /***************************************************************/ + Subset.prototype.encode = function (glyID, indexToLocFormat) { + var cmap, code, glyf, glyphs, id, ids, loca, new2old, newIDs, nextGlyphID, old2new, oldID, oldIDs, tables, _ref; + cmap = CmapTable.encode(this.generateCmap(), "unicode"); + glyphs = this.glyphsFor(glyID); + old2new = { + 0: 0 + }; + _ref = cmap.charMap; + for (code in _ref) { + ids = _ref[code]; + old2new[ids.old] = ids["new"]; + } + nextGlyphID = cmap.maxGlyphID; + for (oldID in glyphs) { + if (!(oldID in old2new)) { + old2new[oldID] = nextGlyphID++; + } + } + new2old = invert(old2new); + newIDs = Object.keys(new2old).sort(function (a, b) { + return a - b; + }); + oldIDs = function () { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = newIDs.length; _i < _len; _i++) { + id = newIDs[_i]; + _results.push(new2old[id]); + } + return _results; + }(); + glyf = this.font.glyf.encode(glyphs, oldIDs, old2new); + loca = this.font.loca.encode(glyf.offsets, oldIDs); + tables = { + cmap: this.font.cmap.raw(), + glyf: glyf.table, + loca: loca, + hmtx: this.font.hmtx.raw(), + hhea: this.font.hhea.raw(), + maxp: this.font.maxp.raw(), + post: this.font.post.raw(), + name: this.font.name.raw(), + head: this.font.head.encode(indexToLocFormat) + }; + if (this.font.os2.exists) { + tables["OS/2"] = this.font.os2.raw(); + } + return this.font.directory.encode(tables); + }; + return Subset; + }(); + jsPDF.API.PDFObject = function () { + var pad; + function PDFObject() {} + pad = function pad(str, length) { + return (Array(length + 1).join("0") + str).slice(-length); + }; + /*****************************************************************************/ + /* function : convert */ + /* comment :Converts pdf tag's / FontBBox and array values in / W to strings */ + /*****************************************************************************/ + PDFObject.convert = function (object) { + var e, items, key, out, val; + if (Array.isArray(object)) { + items = function () { + var _i, _len, _results; + _results = []; + for (_i = 0, _len = object.length; _i < _len; _i++) { + e = object[_i]; + _results.push(PDFObject.convert(e)); + } + return _results; + }().join(" "); + return "[" + items + "]"; + } else if (typeof object === "string") { + return "/" + object; + } else if (object != null ? object.isString : void 0) { + return "(" + object + ")"; + } else if (object instanceof Date) { + return "(D:" + pad(object.getUTCFullYear(), 4) + pad(object.getUTCMonth(), 2) + pad(object.getUTCDate(), 2) + pad(object.getUTCHours(), 2) + pad(object.getUTCMinutes(), 2) + pad(object.getUTCSeconds(), 2) + "Z)"; + } else if ({}.toString.call(object) === "[object Object]") { + out = ["<<"]; + for (key in object) { + val = object[key]; + out.push("/" + key + " " + PDFObject.convert(val)); + } + out.push(">>"); + return out.join("\n"); + } else { + return "" + object; + } + }; + return PDFObject; + }(); + + exports.AcroForm = AcroForm; + exports.AcroFormAppearance = AcroFormAppearance; + exports.AcroFormButton = AcroFormButton; + exports.AcroFormCheckBox = AcroFormCheckBox; + exports.AcroFormChoiceField = AcroFormChoiceField; + exports.AcroFormComboBox = AcroFormComboBox; + exports.AcroFormEditBox = AcroFormEditBox; + exports.AcroFormListBox = AcroFormListBox; + exports.AcroFormPasswordField = AcroFormPasswordField; + exports.AcroFormPushButton = AcroFormPushButton; + exports.AcroFormRadioButton = AcroFormRadioButton; + exports.AcroFormTextField = AcroFormTextField; + exports.GState = GState; + exports.ShadingPattern = ShadingPattern; + exports.TilingPattern = TilingPattern; + exports["default"] = jsPDF; + exports.jsPDF = jsPDF; + + Object.defineProperty(exports, '__esModule', { value: true }); + +})); +//# sourceMappingURL=jspdf.umd.js.map diff --git a/Server/www/spiderbasic/localforage.min.js b/Server/www/spiderbasic/localforage.min.js new file mode 100644 index 0000000..afc52ad --- /dev/null +++ b/Server/www/spiderbasic/localforage.min.js @@ -0,0 +1,7 @@ +/*! + localForage -- Offline Storage, Improved + Version 1.5.0 + https://localforage.github.io/localForage + (c) 2013-2017 Mozilla, Apache License 2.0 +*/ +!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{var b;b="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,b.localforage=a()}}(function(){return function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c||a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g=43)}}).catch(function(){return!1})}function o(a){return"boolean"==typeof la?na.resolve(la):n(a).then(function(a){return la=a})}function p(a){var b=ma[a.name],c={};c.promise=new na(function(a){c.resolve=a}),b.deferredOperations.push(c),b.dbReady?b.dbReady=b.dbReady.then(function(){return c.promise}):b.dbReady=c.promise}function q(a){var b=ma[a.name],c=b.deferredOperations.pop();c&&c.resolve()}function r(a,b){var c=ma[a.name],d=c.deferredOperations.pop();d&&d.reject(b)}function s(a,b){return new na(function(c,d){if(a.db){if(!b)return c(a.db);p(a),a.db.close()}var e=[a.name];b&&e.push(a.version);var f=ka.open.apply(ka,e);b&&(f.onupgradeneeded=function(b){var c=f.result;try{c.createObjectStore(a.storeName),b.oldVersion<=1&&c.createObjectStore(oa)}catch(c){if("ConstraintError"!==c.name)throw c;console.warn('The database "'+a.name+'" has been upgraded from version '+b.oldVersion+" to version "+b.newVersion+', but the storage "'+a.storeName+'" already exists.')}}),f.onerror=function(a){a.preventDefault(),d(f.error)},f.onsuccess=function(){c(f.result),q(a)}})}function t(a){return s(a,!1)}function u(a){return s(a,!0)}function v(a,b){if(!a.db)return!0;var c=!a.db.objectStoreNames.contains(a.storeName),d=a.versiona.db.version;if(d&&(a.version!==b&&console.warn('The database "'+a.name+"\" can't be downgraded from version "+a.db.version+" to version "+a.version+"."),a.version=a.db.version),e||c){if(c){var f=a.db.version+1;f>a.version&&(a.version=f)}return!0}return!1}function w(a){return new na(function(b,c){var d=new FileReader;d.onerror=c,d.onloadend=function(c){var d=btoa(c.target.result||"");b({__local_forage_encoded_blob:!0,data:d,type:a.type})},d.readAsBinaryString(a)})}function x(a){return i([m(atob(a.data))],{type:a.type})}function y(a){return a&&a.__local_forage_encoded_blob}function z(a){var b=this,c=b._initReady().then(function(){var a=ma[b._dbInfo.name];if(a&&a.dbReady)return a.dbReady});return k(c,a,a),c}function A(a){p(a);for(var b=ma[a.name],c=b.forages,d=0;d>4,k[i++]=(15&d)<<4|e>>2,k[i++]=(3&e)<<6|63&f;return j}function M(a){var b,c=new Uint8Array(a),d="";for(b=0;b>2],d+=ta[(3&c[b])<<4|c[b+1]>>4],d+=ta[(15&c[b+1])<<2|c[b+2]>>6],d+=ta[63&c[b+2]];return c.length%3==2?d=d.substring(0,d.length-1)+"=":c.length%3==1&&(d=d.substring(0,d.length-2)+"=="),d}function N(a,b){var c="";if(a&&(c=Ka.call(a)),a&&("[object ArrayBuffer]"===c||a.buffer&&"[object ArrayBuffer]"===Ka.call(a.buffer))){var d,e=wa;a instanceof ArrayBuffer?(d=a,e+=ya):(d=a.buffer,"[object Int8Array]"===c?e+=Aa:"[object Uint8Array]"===c?e+=Ba:"[object Uint8ClampedArray]"===c?e+=Ca:"[object Int16Array]"===c?e+=Da:"[object Uint16Array]"===c?e+=Fa:"[object Int32Array]"===c?e+=Ea:"[object Uint32Array]"===c?e+=Ga:"[object Float32Array]"===c?e+=Ha:"[object Float64Array]"===c?e+=Ia:b(new Error("Failed to get type for BinaryArray"))),b(e+M(d))}else if("[object Blob]"===c){var f=new FileReader;f.onload=function(){var c=ua+a.type+"~"+M(this.result);b(wa+za+c)},f.readAsArrayBuffer(a)}else try{b(JSON.stringify(a))}catch(c){console.error("Couldn't convert value into a JSON string: ",a),b(null,c)}}function O(a){if(a.substring(0,xa)!==wa)return JSON.parse(a);var b,c=a.substring(Ja),d=a.substring(xa,Ja);if(d===za&&va.test(c)){var e=c.match(va);b=e[1],c=c.substring(e[0].length)}var f=L(c);switch(d){case ya:return f;case za:return i([f],{type:b});case Aa:return new Int8Array(f);case Ba:return new Uint8Array(f);case Ca:return new Uint8ClampedArray(f);case Da:return new Int16Array(f);case Fa:return new Uint16Array(f);case Ea:return new Int32Array(f);case Ga:return new Uint32Array(f);case Ha:return new Float32Array(f);case Ia:return new Float64Array(f);default:throw new Error("Unkown type: "+d)}}function P(a){var b=this,c={db:null};if(a)for(var d in a)c[d]="string"!=typeof a[d]?a[d].toString():a[d];var e=new na(function(a,d){try{c.db=openDatabase(c.name,String(c.version),c.description,c.size)}catch(a){return d(a)}c.db.transaction(function(e){e.executeSql("CREATE TABLE IF NOT EXISTS "+c.storeName+" (id INTEGER PRIMARY KEY, key unique, value)",[],function(){b._dbInfo=c,a()},function(a,b){d(b)})})});return c.serializer=La,e}function Q(a,b){var c=this;a=l(a);var d=new na(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName+" WHERE key = ? LIMIT 1",[a],function(a,c){var d=c.rows.length?c.rows.item(0).value:null;d&&(d=e.serializer.deserialize(d)),b(d)},function(a,b){d(b)})})}).catch(d)});return j(d,b),d}function R(a,b){var c=this,d=new na(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT * FROM "+e.storeName,[],function(c,d){for(var f=d.rows,g=f.length,h=0;h0)return void f(S.apply(e,[a,h,c,d-1]));g(b)}})})}).catch(g)});return j(f,c),f}function T(a,b,c){return S.apply(this,[a,b,c,1])}function U(a,b){var c=this;a=l(a);var d=new na(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("DELETE FROM "+e.storeName+" WHERE key = ?",[a],function(){b()},function(a,b){d(b)})})}).catch(d)});return j(d,b),d}function V(a){var b=this,c=new na(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("DELETE FROM "+d.storeName,[],function(){a()},function(a,b){c(b)})})}).catch(c)});return j(c,a),c}function W(a){var b=this,c=new na(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT COUNT(key) as c FROM "+d.storeName,[],function(b,c){var d=c.rows.item(0).c;a(d)},function(a,b){c(b)})})}).catch(c)});return j(c,a),c}function X(a,b){var c=this,d=new na(function(b,d){c.ready().then(function(){var e=c._dbInfo;e.db.transaction(function(c){c.executeSql("SELECT key FROM "+e.storeName+" WHERE id = ? LIMIT 1",[a+1],function(a,c){var d=c.rows.length?c.rows.item(0).key:null;b(d)},function(a,b){d(b)})})}).catch(d)});return j(d,b),d}function Y(a){var b=this,c=new na(function(a,c){b.ready().then(function(){var d=b._dbInfo;d.db.transaction(function(b){b.executeSql("SELECT key FROM "+d.storeName,[],function(b,c){for(var d=[],e=0;e=0;c--){var d=localStorage.key(c);0===d.indexOf(a)&&localStorage.removeItem(d)}});return j(c,a),c}function _(a,b){var c=this;a=l(a);var d=c.ready().then(function(){var b=c._dbInfo,d=localStorage.getItem(b.keyPrefix+a);return d&&(d=b.serializer.deserialize(d)),d});return j(d,b),d}function aa(a,b){var c=this,d=c.ready().then(function(){for(var b=c._dbInfo,d=b.keyPrefix,e=d.length,f=localStorage.length,g=1,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
0{DL5IVl(po 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�_FE_@fVn^RG?+ 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 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/mousetrap-global-bind.min.js b/Server/www/spiderbasic/mousetrap-global-bind.min.js new file mode 100644 index 0000000..073ce67 --- /dev/null +++ b/Server/www/spiderbasic/mousetrap-global-bind.min.js @@ -0,0 +1 @@ +(function(a){var c={},d=a.prototype.stopCallback;a.prototype.stopCallback=function(e,b,a,f){return this.paused?!0:c[a]||c[f]?!1:d.call(this,e,b,a)};a.prototype.bindGlobal=function(a,b,d){this.bind(a,b,d);if(a instanceof Array)for(b=0;bm||l.hasOwnProperty(m)&&(k[l[m]]=m)}e=k[h]?"keydown":"keypress"}"keypress"==e&&g.length&&(e="keydown");return{key:c,modifiers:g,action:e}}function B(a,b){return null===a||a===r?!1:a===b?!0:B(a.parentNode,b)}function c(a){function b(a){a= +a||{};var b=!1,n;for(n in q)a[n]?b=!0:q[n]=0;b||(v=!1)}function h(a,b,n,f,c,h){var g,e,l=[],m=n.type;if(!d._callbacks[a])return[];"keyup"==m&&u(a)&&(b=[a]);for(g=0;g":".","?":"/","|":"\\"},z={option:"alt",command:"meta","return":"enter", +escape:"esc",plus:"+",mod:/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"meta":"ctrl"},k;for(g=1;20>g;++g)l[111+g]="f"+g;for(g=0;9>=g;++g)l[g+96]=g;c.prototype.bind=function(a,b,c){a=a instanceof Array?a:[a];this._bindMultiple.call(this,a,b,c);return this};c.prototype.unbind=function(a,b){return this.bind.call(this,a,function(){},b)};c.prototype.trigger=function(a,b){if(this._directMap[a+":"+b])this._directMap[a+":"+b]({},a);return this};c.prototype.reset=function(){this._callbacks={};this._directMap= +{};return this};c.prototype.stopCallback=function(a,b){return-1<(" "+b.className+" ").indexOf(" mousetrap ")||B(b,this.target)?!1:"INPUT"==b.tagName||"SELECT"==b.tagName||"TEXTAREA"==b.tagName||b.isContentEditable};c.prototype.handleKey=function(){return this._handleKey.apply(this,arguments)};c.init=function(){var a=c(r),b;for(b in a)"_"!==b.charAt(0)&&(c[b]=function(b){return function(){return a[b].apply(a,arguments)}}(b))};c.init();C.Mousetrap=c;"undefined"!==typeof module&&module.exports&&(module.exports= +c);"function"===typeof define&&define.amd&&define(function(){return c})})(window,document); diff --git a/Server/www/spiderbasic/onsenui-css/dark-onsen-css-components.min.css b/Server/www/spiderbasic/onsenui-css/dark-onsen-css-components.min.css new file mode 100644 index 0000000..6fd78bb --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/dark-onsen-css-components.min.css @@ -0,0 +1,35 @@ +/*! + * Copyright 2013-2017 ASIAL CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * Copyright 2012 Adobe Systems Inc.; + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */:root{--background-color:#0d0d0d;--text-color:#fff;--sub-text-color:#999;--highlight-color-rgb:255,161,1;--highlight-color:rgb(var(--highlight-color-rgb));--second-highlight-color:#da5926;--border-color:#242424;--button-background-color:var(--highlight-color);--button-cta-background-color:var(--second-highlight-color);--button-light-color:white;--toolbar-background-color:#181818;--toolbar-button-color:var(--highlight-color);--toolbar-text-color:#fff;--toolbar-border-color:#242424;--button-bar-color:var(--highlight-color);--button-bar-active-text-color:#fff;--button-bar-active-background-color:unset;--button-bar-active-background-color-default-blend-color:black;--button-bar-active-background-color-default-blend-time:-0.8s;--segment-color:var(--highlight-color);--segment-active-text-color:#fff;--segment-active-background-color:unset;--segment-active-background-color-default-blend-color:black;--segment-active-background-color-default-blend-time:-0.8s;--list-background-color:#181818;--list-header-background-color:#111;--list-tap-active-background-color:#262626;--list-item-chevron-color:#383833;--progress-bar-color:var(--highlight-color);--progress-bar-secondary-color:rgb(115, 73, 1);--progress-bar-background-color:transparent;--progress-circle-primary-color:var(--progress-bar-color);--progress-circle-secondary-color:rgb(115, 73, 1);--progress-circle-background-color:transparent;--tabbar-background-color:#212121;--tabbar-text-color:#aaa;--tabbar-highlight-text-color:var(--highlight-color);--tabbar-border-color:#0d0d0d;--switch-highlight-color:#44db5e;--switch-border-color:#666;--switch-background-color:var(--background-color);--range-track-background-color:#6b6f74;--range-track-background-color-active:#bbb;--range-thumb-background-color:#fff;--modal-background-color:rgba(0, 0, 0, 0.7);--modal-text-color:#fff;--alert-dialog-background-color:#f4f4f4;--alert-dialog-text-color:#1f1f21;--alert-dialog-button-color:var(--highlight-color);--alert-dialog-separator-color:#ddd;--dialog-background-color:#0d0d0d;--dialog-text-color:#1f1f21;--popover-background-color:#242424;--popover-text-color:var(--text-color);--action-sheet-title-color:#8f8e94;--action-sheet-button-separator-color:rgba(0, 0, 0, 0.1);--action-sheet-button-color:var(--highlight-color);--action-sheet-button-destructive-color:#fe3824;--action-sheet-button-background-color:rgba(255, 255, 255, 0.9);--action-sheet-button-active-background-color:#e9e9e9;--action-sheet-cancel-button-background-color:#fff;--notification-background-color:#fe3824;--notification-color:white;--search-input-background-color:rgba(255, 255, 255, 0.09);--fab-text-color:#ffffff;--fab-background-color-rgb:var(--highlight-color-rgb);--fab-background-color:rgb(var(--fab-background-color-rgb));--fab-active-background-color:rgba(var(--fab-background-color-rgb), 0.7);--card-background-color:var(--border-color);--card-text-color:var(--text-color);--toast-background-color:#ccc;--toast-text-color:#000;--toast-button-text-color:#000;--select-input-color:var(--text-color);--select-input-border-color:var(--border-color);--material-background-color:#303030;--material-text-color:#ffffff;--material-notification-background-color:#f50057;--material-notification-color:white;--material-switch-active-thumb-color-rgb:255,193,7;--material-switch-active-thumb-color:rgb(var(--material-switch-active-thumb-color-rgb));--material-switch-active-background-color:rgba(var(--material-switch-active-thumb-color-rgb), 0.5);--material-switch-inactive-thumb-color:#bdbdbd;--material-switch-inactive-background-color:rgba(255, 255, 255, 0.3);--material-range-track-color:#525252;--material-range-thumb-color:#cecec5;--material-range-disabled-thumb-color:#4f4f4f;--material-range-disabled-thumb-border-color:#303030;--material-range-zero-thumb-color:#0d0d0d;--material-toolbar-background-color:#212121;--material-toolbar-text-color-rgb:255,255,255;--material-toolbar-text-color:rgb(var(--material-toolbar-text-color-rgb));--material-toolbar-button-color:var(--toolbar-button-color);--material-segment-background-color:#292929;--material-segment-active-background-color:#404040;--material-segment-text-color:rgba(255, 255, 255, 0.62);--material-segment-active-text-color:#cacaca;--material-button-background-color:#d68600;--material-button-text-color:#ffffff;--material-button-disabled-background-color:rgba(176, 176, 176, 0.74);--material-button-disabled-color:rgba(255, 255, 255, 0.74);--material-flat-button-active-background-color:rgba(102, 102, 102, 0.2);--material-list-background-color:hsl(0, 0%, 20.8235294118%);--material-list-item-separator-color:rgba(255, 255, 255, 0.12);--material-list-header-text-color:#8a8a8a;--material-checkbox-active-color:#fff;--material-checkbox-inactive-color:#717171;--material-checkbox-checkmark-color:#000;--material-radio-button-active-color:#ffa101;--material-radio-button-inactive-color:#8e8e8e;--material-radio-button-disabled-color:#505050;--material-text-input-text-color:rgba(255, 255, 255, 0.75);--material-text-input-active-color:rgba(255, 255, 255, 0.75);--material-text-input-inactive-color:rgba(255, 255, 255, 0.3);--material-search-background-color:#424242;--material-dialog-background-color:#424242;--material-dialog-text-color:var(--material-text-color);--material-alert-dialog-background-color:#424242;--material-alert-dialog-title-color-rgb:255,255,255;--material-alert-dialog-title-color:rgb(var(--material-alert-dialog-title-color-rgb));--material-alert-dialog-content-color:rgba(var(--material-alert-dialog-title-color-rgb), 0.85);--material-alert-dialog-button-color:#d68600;--material-progress-bar-primary-color:#d68600;--material-progress-bar-secondary-color:rgb(115, 72, 0);--material-progress-bar-background-color:transparent;--material-progress-circle-primary-color:var(--material-progress-bar-primary-color);--material-progress-circle-secondary-color:var(--material-progress-bar-secondary-color);--material-progress-circle-background-color:transparent;--material-tabbar-background-color:var(--material-toolbar-background-color);--material-tabbar-text-color:rgba(var(--material-toolbar-text-color-rgb), 0.5);--material-tabbar-highlight-text-color:var(--material-toolbar-text-color);--material-tabbar-highlight-color:hsl(0, 0%, 15.9411764706%);--material-fab-text-color:#31313a;--material-fab-background-color:#ffffff;--material-fab-active-background-color:rgba(255, 255, 255, 0.75);--material-card-background-color:#424242;--material-card-text-color:rgba(255, 255, 255, 0.46);--material-toast-background-color:#ccc;--material-toast-text-color:#000;--material-toast-button-text-color:#583905;--material-select-input-color:var(--material-text-color);--material-select-input-active-color:rgba(255, 255, 255, 0.85);--material-select-input-inactive-color:rgba(255, 255, 255, 0.19);--material-select-border-color:rgba(255, 255, 255, 0.88);--material-popover-background-color:var(--material-alert-dialog-background-color);--material-popover-text-color:var(--material-text-color);--material-action-sheet-text-color:#686868;--tap-highlight-color:transparent}:root{--input-bg-color:var(--background-color);--input-border-color:var(--border-color);--input-text-color:var(--text-color);--input-placeholder-color:var(--sub-text-color);--input-invalid-border-color:var(--border-color);--input-invalid-text-color:var(--text-color);--input-border:1px solid var(--input-border-color);--font-size:17px;--font-weight:400;--material-font-size:17px;--material-font-weight:400;--font-size--mini:calc(var(--font-size) - 3px);--font-weight--large:500;--background-color--input:transparent}html{height:100%;width:100%}body{position:absolute;overflow:hidden;top:0;right:0;left:0;bottom:0;padding:0;margin:0;-webkit-text-size-adjust:100%;touch-action:manipulation}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:var(--tap-highlight-color);-webkit-touch-callout:none}input,select,textarea{-webkit-user-select:auto;user-select:auto;-moz-user-select:text;-webkit-touch-callout:none}a,button,input,select,textarea{touch-action:manipulation}input:active,input:focus,select:active,select:focus,textarea:active,textarea:focus{outline:0}h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4,h5,h6{font-size:18px}@-webkit-keyframes blend-background-color{0%{background-color:var(--blend-background-color__base)}100%{background-color:var(--blend-background-color__color)}}@keyframes blend-background-color{0%{background-color:var(--blend-background-color__base)}100%{background-color:var(--blend-background-color__color)}}@-webkit-keyframes blend-color{0%{color:var(--blend-color__base)}100%{color:var(--blend-color__color)}}@keyframes blend-color{0%{color:var(--blend-color__base)}100%{color:var(--blend-color__color)}}@-webkit-keyframes blend-border-color{0%{border-color:var(--blend-border-color__base)}100%{border-color:var(--blend-border-color__color)}}@keyframes blend-border-color{0%{border-color:var(--blend-border-color__base)}100%{border-color:var(--blend-border-color__color)}}:root{--page-background-color:var(--background-color);--page-material-background-color:var(--material-background-color)}.page{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);background-color:#0d0d0d;background-color:var(--page-background-color);position:absolute;top:0;left:0;right:0;bottom:0;overflow-x:visible;overflow-y:hidden;color:#fff;color:var(--text-color);-ms-overflow-style:none;-webkit-font-smoothing:antialiased}.page::-webkit-scrollbar{display:none}.page__content{background-color:#0d0d0d;background-color:var(--page-background-color);position:absolute;top:0;left:0;right:0;bottom:0;box-sizing:border-box}.page__background{background-color:#0d0d0d;background-color:var(--page-background-color);position:absolute;top:0;left:0;right:0;bottom:0;box-sizing:border-box}.page--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);background-color:#303030;background-color:var(--page-material-background-color)}.page--material__content{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--font-weight)}.page__content h1,.page__content h2,.page__content h3,.page__content h4,.page__content h5{font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:500;font-weight:var(--font-weight--large);margin:.6em 0;padding:0}.page__content h1{font-size:28px}.page__content h2{font-size:24px}.page__content h3{font-size:20px}.page--material__content h1,.page--material__content h2,.page--material__content h3,.page--material__content h4,.page--material__content h5{-webkit-font-smoothing:antialiased;font-weight:500;font-weight:var(--font-weight--large);margin:.6em 0;padding:0}.page--material__content h1{font-size:28px}.page--material__content h2{font-size:24px}.page--material__content h3{font-size:20px}.page--material__background{background-color:#303030;background-color:var(--page-material-background-color)}:root{--switch-checked-background-color:var(--switch-highlight-color);--switch-thumb-background-color:white;--switch-thumb-border-color:var(--border-color);--switch-thumb-border-color-active:var(--switch-highlight-color);--switch-height:32px;--switch-width:51px}.switch{display:inline-block;vertical-align:top;box-sizing:border-box;background-clip:padding-box;position:relative;min-width:51px;font-size:17px;font-size:var(--font-size);padding:0 20px;border:none;overflow:visible;width:51px;width:var(--switch-width);height:32px;height:var(--switch-height);z-index:0;text-align:left}.switch__input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none;z-index:0}.switch__toggle{background-color:#0d0d0d;background-color:var(--switch-background-color);position:absolute;top:0;left:0;right:0;bottom:0;border-radius:30px;transition-property:all;transition-duration:.35s;transition-timing-function:ease-out;box-shadow:inset 0 0 0 2px #666;box-shadow:inset 0 0 0 2px var(--switch-border-color)}.switch__handle{box-sizing:border-box;background-clip:padding-box;position:absolute;content:'';border-radius:28px;height:28px;width:28px;background-color:#fff;background-color:var(--switch-thumb-background-color);left:1px;top:2px;transition-property:all;transition-duration:.35s;transition-timing-function:cubic-bezier(.59,.01,.5,.99);box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25)}.switch--active__handle{transition:none}:checked+.switch__toggle{box-shadow:inset 0 0 0 2px #44db5e;box-shadow:inset 0 0 0 2px var(--switch-checked-background-color);background-color:#44db5e;background-color:var(--switch-checked-background-color)}:checked+.switch__toggle>.switch__handle{left:21px;box-shadow:0 3px 2px rgba(0,0,0,.25)}:disabled+.switch__toggle{opacity:.3;cursor:default;pointer-events:none}.switch__touch{position:absolute;top:-5px;bottom:-5px;left:-10px;right:-10px}.switch--material{width:36px;height:24px;padding:0 10px;min-width:36px}.switch--material__toggle{background-color:rgba(255,255,255,.3);background-color:var(--material-switch-inactive-background-color);margin-top:5px;height:14px;box-shadow:none}.switch--material__input{right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none;z-index:0}.switch--material__handle{background-color:#bdbdbd;background-color:var(--material-switch-inactive-thumb-color);left:0;margin-top:-5px;width:20px;height:20px;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.4)}:checked+.switch--material__toggle{background-color:rgba(255,193,7,.5);background-color:var(--material-switch-active-background-color);box-shadow:none}:checked+.switch--material__toggle>.switch--material__handle{left:16px;background-color:#ffc107;background-color:var(--material-switch-active-thumb-color);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.switch--material__handle:before{background:0 0;content:'';display:block;width:100%;height:100%;border-radius:50%;z-index:0;box-shadow:0 0 0 0 rgba(0,0,0,.12);transition:box-shadow .1s linear}.switch--material__toggle>.switch--active__handle:before{box-shadow:0 0 0 14px rgba(0,0,0,.12)}:checked+.switch--material__toggle>.switch--active__handle:before{animation:blend-box-shadow 1s -.2s linear forwards paused}@-webkit-keyframes blend-box-shadow{0%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 14px #ffc107;box-shadow:0 0 0 14px var(--material-switch-active-thumb-color)}}@keyframes blend-box-shadow{0%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 14px #ffc107;box-shadow:0 0 0 14px var(--material-switch-active-thumb-color)}}.switch--material__touch{position:absolute;top:-10px;bottom:-10px;left:-15px;right:-15px}:root{--range-thumb-size:28px;--range-track-height:2px;--material-range-track-height:2px;--material-range-thumb-size:14px;--material-range-thumb-radius:calc(var(--material-range-thumb-size) / 2);--material-range-thumb-vertical-margin:24px;--material-range-thumb-horizontal-margin:2px}.range{display:inline-block;position:relative;width:100px;height:calc(28px + 2px);height:calc(var(--range-thumb-size) + 2px);margin:0;padding:0;background-image:linear-gradient(#6b6f74,#6b6f74);background-image:linear-gradient(var(--range-track-background-color),var(--range-track-background-color));background-position:left center;background-size:100% 2px;background-size:100% var(--range-track-height);background-repeat:no-repeat;background-color:transparent}.range__input{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;vertical-align:top;outline:0;line-height:1;-webkit-appearance:none;appearance:none;background-image:linear-gradient(#bbb,#bbb);background-image:linear-gradient(var(--range-track-background-color-active),var(--range-track-background-color-active));background-position:left center;background-size:0 2px;background-size:0 var(--range-track-height);background-repeat:no-repeat;height:calc(28px + 2px);height:calc(var(--range-thumb-size) + 2px);position:relative;z-index:1;width:100%}.range__input::-moz-range-track{position:relative;border:none;background:0 0;box-shadow:none;top:0;margin:0;padding:0}.range__input::-ms-track{position:relative;border:none;background-color:#6b6f74;background-color:var(--range-track-background-color);height:0;border-radius:50%}.range__input::-webkit-slider-thumb{cursor:pointer;position:relative;height:28px;height:var(--range-thumb-size);width:28px;width:var(--range-thumb-size);background-color:#fff;background-color:var(--range-thumb-background-color);border:none;box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25);border-radius:50%;margin:0;padding:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;top:0;z-index:1}.range__input::-moz-range-thumb{cursor:pointer;position:relative;height:28px;height:var(--range-thumb-size);width:28px;width:var(--range-thumb-size);background-color:#fff;background-color:var(--range-thumb-background-color);border:none;box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25);border-radius:50%;margin:0;padding:0}.range__input::-ms-thumb{cursor:pointer;position:relative;height:28px;height:var(--range-thumb-size);width:28px;width:var(--range-thumb-size);background-color:#fff;background-color:var(--range-thumb-background-color);border:none;box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25);border-radius:50%;margin:0;padding:0;top:0}.range__input::-ms-fill-lower{height:2px;background-color:#bbb;background-color:var(--range-track-background-color-active)}.range__input::-ms-tooltip{display:none}.range__input:disabled{opacity:1;pointer-events:none}.range__focus-ring{pointer-events:none;top:0;left:0;display:none;box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;border:none;vertical-align:top;outline:0;line-height:1;-webkit-appearance:none;appearance:none;background:0 0;height:calc(28px + 2px);height:calc(var(--range-thumb-size) + 2px);position:absolute;z-index:0;width:100%}.range--disabled{cursor:default;pointer-events:none}.range--material{position:relative;background-image:linear-gradient(#525252,#525252);background-image:linear-gradient(var(--material-range-track-color),var(--material-range-track-color))}.range--material__input{background-image:linear-gradient(#cecec5,#cecec5);background-image:linear-gradient(var(--material-range-thumb-color),var(--material-range-thumb-color));background-position:center left;background-size:0 2px}.range--material__focus-ring{display:block}.range--material__focus-ring::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;width:var(--material-range-thumb-size);height:14px;height:var(--material-range-thumb-size);border:none;box-shadow:0 0 0 calc((32px - 14px)/ 2) #cecec5;box-shadow:0 0 0 calc((32px - var(--material-range-thumb-size))/ 2) var(--material-range-thumb-color);background-color:#cecec5;background-color:var(--material-range-thumb-color);border-radius:50%;opacity:0;-webkit-transition:opacity .25s ease-out,-webkit-transform .25s ease-out;transition:opacity .25s ease-out,-webkit-transform .25s ease-out;transition:opacity .25s ease-out,transform .25s ease-out;transition:opacity .25s ease-out,transform .25s ease-out,-webkit-transform .25s ease-out}.range--material__input.range__input--active+.range--material__focus-ring::-webkit-slider-thumb{opacity:.2;-webkit-transform:scale(1.5,1.5,1.5);transform:scale(1.5,1.5,1.5)}.range--material__input::-webkit-slider-thumb{position:relative;box-sizing:border-box;border:none;background-color:transparent;width:14px;width:var(--material-range-thumb-size);height:32px;border-radius:0;box-shadow:none;background-image:radial-gradient(circle farthest-corner,#cecec5 0,#cecec5 calc(calc(14px / 2) - .4px),transparent calc(14px / 2));background-image:radial-gradient(circle farthest-corner,var(--material-range-thumb-color) 0,var(--material-range-thumb-color) calc(var(--material-range-thumb-radius) - .4px),transparent var(--material-range-thumb-radius));-webkit-transition:-webkit-transform .1s linear;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear;overflow:visible}.range--material__input[_zero]::-webkit-slider-thumb{background-image:radial-gradient(circle farthest-corner,#0d0d0d 0,#0d0d0d 4px,#525252 4px,#525252 calc(calc(14px / 2) - .6px),transparent calc(calc(14px / 2)));background-image:radial-gradient(circle farthest-corner,var(--material-range-zero-thumb-color) 0,var(--material-range-zero-thumb-color) 4px,var(--material-range-track-color) 4px,var(--material-range-track-color) calc(var(--material-range-thumb-radius) - .6px),transparent calc(var(--material-range-thumb-radius)))}.range--material__input[_zero]+.range--material__focus-ring::-webkit-slider-thumb{box-shadow:0 0 0 calc((32px - 14px)/ 2) #525252;box-shadow:0 0 0 calc((32px - var(--material-range-thumb-size))/ 2) var(--material-range-track-color)}.range--material__input::-moz-range-track{background:0 0}.range--material__input::-moz-range-thumb,.range--material__input:focus::-moz-range-thumb{box-sizing:border-box;border:none;width:14px;width:var(--material-range-thumb-size);height:32px;border-radius:0;background-color:transparent;background-image:-moz-radial-gradient(circle farthest-corner,var(--material-range-thumb-color) 0,var(--material-range-thumb-color) calc(var(--material-range-thumb-radius) - .4px),transparent var(--material-range-thumb-radius));box-shadow:none}.range--material__input.range__input--active::-webkit-slider-thumb,.range--material__input:active::-webkit-slider-thumb{transform:scale(1.5);-webkit-transition:-webkit-transform .1s linear;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear}.range--material__input:disabled::-webkit-slider-thumb{background-image:radial-gradient(circle farthest-corner,#4f4f4f 0,#4f4f4f 4px,#303030 4.4px,#303030 calc(calc(14px / 2) + .6px),transparent calc(calc(14px / 2) + .6px));background-image:radial-gradient(circle farthest-corner,var(--material-range-disabled-thumb-color) 0,var(--material-range-disabled-thumb-color) 4px,var(--material-range-disabled-thumb-border-color) 4.4px,var(--material-range-disabled-thumb-border-color) calc(var(--material-range-thumb-radius) + .6px),transparent calc(var(--material-range-thumb-radius) + .6px));-webkit-transition:none;transition:none}.range--material__input:disabled::-moz-range-thumb{background-image:-moz-radial-gradient(circle farthest-corner,var(--material-range-disabled-thumb-color) 0,var(--material-range-disabled-thumb-color) 4px,var(--material-range-disabled-thumb-border-color) 4.4px,var(--material-range-disabled-thumb-border-color) calc(var(--material-range-thumb-radius) + .6px),transparent calc(var(--material-range-thumb-radius) + .6px));-moz-transition:none;transition:none}:root{--notification-border-radius:19px;--notification-width:auto;--notification-height:19px;--notification-min-width:19px;--notification-padding:0 4px;--notification-font-weight:var(--font-weight);--notification-font-size:16px;--material-notification-font-size:16px;--material-notification-font-weight:500}.notification{position:relative;display:inline-block;vertical-align:top;font:inherit;border:none;box-sizing:border-box;background:0 0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none;margin:0;padding:0 4px;padding:var(--notification-padding);width:auto;width:var(--notification-width);height:19px;height:var(--notification-height);border-radius:19px;border-radius:var(--notification-border-radius);background-color:#fe3824;background-color:var(--notification-background-color);color:#fff;color:var(--notification-color);text-align:center;font-size:16px;font-size:var(--notification-font-size);min-width:19px;min-width:var(--notification-min-width);line-height:19px;line-height:var(--notification-height);font-weight:400;font-weight:var(--notification-font-weight)}.notification:empty{display:none}.notification--material{-webkit-font-smoothing:antialiased;background-color:#f50057;background-color:var(--material-notification-background-color);font-size:16px;font-size:var(--material-notification-font-size);font-weight:500;font-weight:var(--material-notification-font-weight);color:#fff;color:var(--material-notification-color)}:root{--toolbar-separator-color:var(--toolbar-border-color);--toolbar-height:44px;--toolbar-box-shadow:none;--toolbar-padding:0;--toolbar-separator:1px solid var(--toolbar-separator-color);--toolbar-material-height:56px}.toolbar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;z-index:2;display:-webkit-flex;display:flex;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:44px;height:var(--toolbar-height);padding-left:0;padding-left:var(--toolbar-padding);padding-right:0;padding-right:var(--toolbar-padding);background:#181818;background:var(--toolbar-background-color);color:#fff;color:var(--toolbar-text-color);box-shadow:none;box-shadow:var(--toolbar-box-shadow);font-weight:400;font-weight:var(--font-weight);width:100%;white-space:nowrap;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#242424,#242424 100%);background-image:linear-gradient(0deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.toolbar{background-image:linear-gradient(0deg,#242424,#242424 50%,transparent 50%);background-image:linear-gradient(0deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 50%,transparent 50%)}}.toolbar__bg{background:#181818;background:var(--toolbar-background-color)}.toolbar__item{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;height:44px;height:var(--toolbar-height);overflow:visible;display:block;vertical-align:middle}.toolbar__left{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;max-width:50%;width:27%;text-align:left;line-height:44px;line-height:var(--toolbar-height)}.toolbar__right{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;max-width:50%;width:27%;text-align:right;line-height:44px;line-height:var(--toolbar-height)}.toolbar__center{box-sizing:border-box;padding:0;margin:0;font:inherit;background:0 0;border:none;width:46%;text-align:center;line-height:44px;line-height:var(--toolbar-height);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);color:#fff;color:var(--toolbar-text-color)}.toolbar__title{line-height:44px;line-height:var(--toolbar-height);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);color:#fff;color:var(--toolbar-text-color);margin:0;padding:0;overflow:visible}.toolbar__center:first-child:last-child{width:100%}.bottom-bar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;white-space:nowrap;overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;z-index:2;display:block;height:44px;height:var(--toolbar-height);padding-left:0;padding-left:var(--toolbar-padding);padding-right:0;padding-right:var(--toolbar-padding);background:#181818;background:var(--toolbar-background-color);color:#fff;color:var(--toolbar-text-color);box-shadow:none;box-shadow:var(--toolbar-box-shadow);font-weight:400;font-weight:var(--font-weight);border-bottom:none;position:absolute;bottom:0;right:0;left:0;border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#242424,#242424 100%);background-image:linear-gradient(180deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.bottom-bar{background-image:linear-gradient(180deg,#242424,#242424 50%,transparent 50%);background-image:linear-gradient(180deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 50%,transparent 50%)}}.bottom-bar__line-height{line-height:44px;line-height:var(--toolbar-height);padding-bottom:0;padding-top:0}.bottom-bar--aligned{display:-webkit-flex;display:flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;line-height:44px;line-height:var(--toolbar-height)}.bottom-bar--transparent{background-color:transparent;background-image:none;border:none}.toolbar--material{display:-webkit-flex;display:flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-justify-content:space-between;justify-content:space-between;height:56px;height:var(--toolbar-material-height);border-bottom:0;box-shadow:0 1px 5px rgba(0,0,0,.3);padding:0;background-color:#212121;background-color:var(--material-toolbar-background-color);background-size:0}.toolbar--noshadow{box-shadow:none;background-image:none;border-bottom:none}.toolbar--material__left,.toolbar--material__right{-webkit-font-smoothing:antialiased;font-size:20px;font-weight:500;color:#fff;color:var(--material-toolbar-text-color);height:56px;height:var(--toolbar-material-height);min-width:72px;width:auto;line-height:56px;line-height:var(--toolbar-material-height)}.toolbar--material__center{-webkit-font-smoothing:antialiased;font-size:20px;font-weight:500;color:#fff;color:var(--material-toolbar-text-color);height:56px;height:var(--toolbar-material-height);width:auto;-webkit-flex-grow:1;flex-grow:1;overflow:hidden;text-overflow:ellipsis;text-align:left;line-height:56px;line-height:var(--toolbar-material-height)}.toolbar--material__center:first-child{margin-left:16px}.toolbar--material__center:last-child{margin-right:16px}.toolbar--material__left:empty,.toolbar--material__right:empty{min-width:16px}.toolbar--transparent{background-color:transparent;box-shadow:none;background-image:none;border-bottom:none}:root{--button-text-color:white;--button-quiet-color:var(--highlight-color);--button-cta-color:white;--button-large-padding:4px 12px;--button-padding:4px 10px;--button-line-height:32px;--button-large-line-height:36px;--button-active-opacity:0.2;--button-border-radius:3px}.button{position:relative;display:inline-block;box-sizing:border-box;margin:0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:auto;text-decoration:none;padding:4px 10px;padding:var(--button-padding);font-size:17px;font-size:var(--font-size);line-height:32px;line-height:var(--button-line-height);letter-spacing:0;color:#fff;color:var(--button-text-color);vertical-align:middle;background-color:#ffa101;background-color:var(--button-background-color);border:0 solid currentColor;border-radius:3px;border-radius:var(--button-border-radius);transition:none}.button::-moz-focus-inner{outline:0}.button:hover{transition:none}.button:active{background-color:#ffa101;background-color:var(--button-background-color);transition:none;opacity:.2;opacity:var(--button-active-opacity)}.button:focus{outline:0}.button:disabled,.button[disabled]{opacity:.3;cursor:default;pointer-events:none}.button--outline{background-color:transparent;border:1px solid #ffa101;border:1px solid var(--button-background-color);color:#ffa101;color:var(--button-background-color)}.button--outline:active{border:1px solid #ffa101;border:1px solid var(--button-background-color);color:#ffa101;color:var(--button-background-color);opacity:1;--blend-background-color__base:var(--button-background-color);--blend-background-color__color:white;-webkit-animation:blend-background-color 1s -.7s linear forwards paused;animation:blend-background-color 1s -.7s linear forwards paused}.button--outline:hover{border:1px solid #ffa101;border:1px solid var(--button-background-color);transition:0}.button--light{background-color:transparent;border:1px solid;--blend-color__base:transparent;--blend-color__color:var(--button-light-color);--blend-border-color__base:transparent;--blend-border-color__color:var(--button-light-color);-webkit-animation:blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused;animation:blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused}.button--light:active{border:1px solid;--blend-background-color__base:transparent;--blend-background-color__color:var(--button-light-color);--blend-color__base:transparent;--blend-color__color:var(--button-light-color);--blend-border-color__base:transparent;--blend-border-color__color:var(--button-light-color);-webkit-animation:blend-background-color 1s -50ms linear forwards paused,blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused;animation:blend-background-color 1s -50ms linear forwards paused,blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused;opacity:1}.button--quiet{background:0 0;color:#ffa101;color:var(--button-quiet-color);border:none}.button--quiet:disabled,.button--quiet[disabled]{border:none}.button--quiet:active{background-color:transparent;border:none;transition:none;opacity:.2;opacity:var(--button-active-opacity);color:#ffa101;color:var(--button-quiet-color)}.button--cta{border:none;background-color:#da5926;background-color:var(--button-cta-background-color);color:#fff;color:var(--button-cta-color)}.button--cta:active{color:#fff;color:var(--button-cta-color);background-color:#da5926;background-color:var(--button-cta-background-color);transition:none;opacity:.2;opacity:var(--button-active-opacity)}.button--large{font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);line-height:36px;line-height:var(--button-large-line-height);padding:4px 12px;padding:var(--button-large-padding);display:block;width:100%;text-align:center}.button--large:active{transition:none}.button--large--quiet{font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);line-height:36px;line-height:var(--button-large-line-height);padding:4px 12px;padding:var(--button-large-padding);display:block;width:100%;background:0 0;border:1px solid transparent;box-shadow:none;color:#ffa101;color:var(--button-quiet-color);text-align:center}.button--large--quiet:active{opacity:.2;opacity:var(--button-active-opacity);color:#ffa101;color:var(--button-quiet-color);background:0 0;border:1px solid transparent;box-shadow:none}.button--large--cta{background-color:#da5926;background-color:var(--button-cta-background-color);color:#fff;color:var(--button-cta-color);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);line-height:36px;line-height:var(--button-large-line-height);padding:4px 12px;padding:var(--button-large-padding);width:100%;text-align:center;display:block}.button--large--cta:active{color:var(--button-cta-color);background-color:#da5926;background-color:var(--button-cta-background-color);transition:none;opacity:.2;opacity:var(--button-active-opacity)}.button--material{font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;min-height:36px;line-height:36px;padding:0 16px;text-align:center;font-size:14px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);text-transform:uppercase;background-color:#d68600;background-color:var(--material-button-background-color);color:#fff;color:var(--material-button-text-color);font-weight:500;font-weight:var(--font-weight--large);opacity:1;transition:all .25s linear}.button--material:hover{transition:all .25s linear}.button--material:active{background-color:#d68600;background-color:var(--material-button-background-color);opacity:.9;transition:all .25s linear}.button--material:disabled,.button--material[disabled]{transition:none;box-shadow:none;background-color:rgba(176,176,176,.74);background-color:var(--material-button-disabled-background-color);color:rgba(255,255,255,.74);color:var(--material-button-disabled-color);opacity:1}.button--material--flat{-webkit-font-smoothing:antialiased;min-height:36px;line-height:36px;padding:0 16px;text-align:center;font-size:14px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);text-transform:uppercase;font-weight:500;font-weight:var(--font-weight--large);box-shadow:none;background-color:transparent;color:#d68600;color:var(--material-button-background-color);transition:all .25s linear}.button--material--flat:focus{background-color:transparent;color:#d68600;color:var(--material-button-background-color);outline:0;opacity:1;border:none}.button--material--flat:active{outline:0;opacity:1;border:none;background-color:rgba(102,102,102,.2);background-color:var(--material-flat-button-active-background-color);color:#d68600;color:var(--material-button-background-color);transition:all .25s linear}.button--material--flat:disabled,.button--material--flat[disabled]{opacity:1;box-shadow:none;background-color:transparent;color:rgba(255,255,255,.74);color:var(--material-button-disabled-color)}:root{--button-bar-active-color:var(--button-bar-active-text-color);--button-bar-border-top:1px solid var(--button-bar-color);--button-bar-border-bottom:1px solid var(--button-bar-color);--button-bar-border:0 solid var(--button-bar-color);--button-bar-border-radius:4px}.button-bar{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;border:none}.button-bar__item{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);border-radius:0;width:100%;padding:0;margin:0;position:relative;overflow:hidden;box-sizing:border-box}.button-bar__button{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-radius:0;background-color:transparent;color:#ffa101;color:var(--button-bar-color);border:1px solid #ffa101;border:1px solid var(--button-bar-color);border-top-width:1px;border-bottom-width:1px;border-right-width:1px;border-left-width:0;font-weight:400;font-weight:var(--font-weight);padding:0;font-size:13px;height:27px;line-height:27px;width:100%;transition:background-color .2s linear,color .2s linear;box-sizing:border-box}.button-bar__button:disabled{opacity:.3;cursor:default;pointer-events:none}.button-bar__button:hover{transition:none}.button-bar__button:focus{outline:0}:checked+.button-bar__button{background-color:#ffa101;background-color:var(--button-bar-color);color:#fff;color:var(--button-bar-active-color);transition:none}.button-bar__button:active,:active+.button-bar__button{background-color:unset;background-color:var(--button-bar-active-background-color);border:0 solid #ffa101;border:var(--button-bar-border);border-top:1px solid #ffa101;border-top:var(--button-bar-border-top);border-bottom:1px solid #ffa101;border-bottom:var(--button-bar-border-bottom);border-right:1px solid #ffa101;border-right:1px solid var(--button-bar-color);font-size:13px;width:100%;transition:none}.button-bar__button:active:before,:active+.button-bar__button:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1;--blend-background-color__base:var(--button-bar-color);--blend-background-color__color:var(--button-bar-active-background-color-default-blend-color);-webkit-animation:blend-background-color 1s -.8s linear forwards paused;animation:blend-background-color 1s -.8s linear forwards paused;-webkit-animation:blend-background-color 1s var(--button-bar-active-background-color-default-blend-time) linear forwards paused;animation:blend-background-color 1s var(--button-bar-active-background-color-default-blend-time) linear forwards paused}.button-bar__item:first-child>.button-bar__button{border-left-width:1px;border-radius:4px 0 0 4px;border-radius:var(--button-bar-border-radius) 0 0 var(--button-bar-border-radius)}.button-bar__item:last-child>.button-bar__button{border-right-width:1px;border-radius:0 4px 4px 0;border-radius:0 var(--button-bar-border-radius) var(--button-bar-border-radius) 0}:root{--segment-active-color:var(--segment-active-text-color);--segment-border-top:1px solid var(--segment-color);--segment-border-bottom:1px solid var(--segment-color);--segment-border:0 solid var(--segment-color);--segment-border-radius:4px}.segment{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;border:none}.segment__item{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);border-radius:0;width:100%;padding:0;margin:0;position:relative;overflow:hidden;box-sizing:border-box;display:block;background-color:transparent;border:none}.segment__input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.segment__button{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-radius:0;background-color:transparent;color:#ffa101;color:var(--segment-color);border:1px solid #ffa101;border:1px solid var(--segment-color);border-top-width:1px;border-bottom-width:1px;border-right-width:1px;border-left-width:0;font-weight:400;font-weight:var(--font-weight);padding:0;font-size:13px;height:29px;line-height:29px;width:100%;transition:background-color .2s linear,color .2s linear;box-sizing:border-box;text-align:center}.segment__item:disabled{opacity:.3;cursor:default;pointer-events:none}.segment__button:hover{transition:none}.segment__button:focus{outline:0}:active+.segment__button{background-color:unset;background-color:var(--segment-active-background-color);border:0 solid #ffa101;border:var(--segment-border);border-top:1px solid #ffa101;border-top:var(--segment-border-top);border-bottom:1px solid #ffa101;border-bottom:var(--segment-border-bottom);border-right:1px solid #ffa101;border-right:1px solid var(--segment-color);font-size:13px;width:100%;transition:none}:active+.segment__button:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1;--blend-background-color__base:var(--segment-color);--blend-background-color__color:var(--segment-active-background-color-default-blend-color);-webkit-animation:blend-background-color 1s -.8s linear forwards paused;animation:blend-background-color 1s -.8s linear forwards paused;-webkit-animation:blend-background-color 1s var(--segment-active-background-color-default-blend-time) linear forwards paused;animation:blend-background-color 1s var(--segment-active-background-color-default-blend-time) linear forwards paused}:checked+.segment__button{background-color:#ffa101;background-color:var(--segment-color);color:#fff;color:var(--segment-active-color);transition:none}.segment__item:first-child>.segment__button{border-left-width:1px;border-radius:4px 0 0 4px;border-radius:var(--segment-border-radius) 0 0 var(--segment-border-radius)}.segment__item:last-child>.segment__button{border-right-width:1px;border-radius:0 4px 4px 0;border-radius:0 var(--segment-border-radius) var(--segment-border-radius) 0}.segment--material{border-radius:2px;overflow:hidden;box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.24)}.segment--material__button{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);font-size:14px;height:32px;line-height:32px;border-width:0;color:rgba(255,255,255,.62);color:var(--material-segment-text-color);border-radius:0;background-color:#292929;background-color:var(--material-segment-background-color)}:active+.segment--material__button{background-color:#292929;background-color:var(--material-segment-background-color);border-radius:0;border-width:0;font-size:14px;transition:none;color:rgba(255,255,255,.62);color:var(--material-segment-text-color)}:checked+.segment--material__button{background-color:#404040;background-color:var(--material-segment-active-background-color);color:#cacaca;color:var(--material-segment-active-text-color);border-radius:0;border-width:0}.segment--material__item:first-child>.segment--material__button,.segment--material__item:last-child>.segment--material__button{border-radius:0;border-width:0}:root{--tabbar-button-color:var(--tabbar-text-color);--tabbar-active-color:var(--tabbar-highlight-text-color);--material-tabbar-current-color:var(--material-tabbar-highlight-text-color);--tabbar-active-border-top:none;--tabbar-focus-border-top:none;--tabbar-height:49px;--tabbar-button-line-height:49px;--tabbar-button-border:none;--tabbar-active-box-shadow:none;--tabbar-button-focus-box-shadow:none;--tabbar-border-top:1px solid var(--tabbar-border-color)}.tabbar{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:-webkit-flex;display:flex;position:absolute;bottom:0;left:0;right:0;white-space:nowrap;margin:0;padding:0;height:49px;height:var(--tabbar-height);background-color:#212121;background-color:var(--tabbar-background-color);border-top:1px solid #0d0d0d;border-top:var(--tabbar-border-top);width:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.tabbar{border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#0d0d0d,#0d0d0d 50%,transparent 50%);background-image:linear-gradient(180deg,var(--tabbar-border-color),var(--tabbar-border-color) 50%,transparent 50%)}}.tabbar__item{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:relative;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-basis:0;flex-basis:0;width:auto;border-radius:0}.tabbar__item>input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.tabbar__button{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;margin:0;font:inherit;background:0 0;border:none;cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative;display:inline-block;text-decoration:none;padding:0;height:49px;height:var(--tabbar-button-line-height);letter-spacing:0;color:#aaa;color:var(--tabbar-button-color);vertical-align:top;background-color:transparent;border-top:none;border-top:var(--tabbar-button-border);width:100%;font-weight:400;font-weight:var(--font-weight);line-height:49px;line-height:var(--tabbar-button-line-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.tabbar__button{border-top:none}}.tabbar__icon{font-size:24px;padding:0;margin:0;line-height:26px;display:block!important;height:28px}.tabbar__label{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:inline-block}.tabbar__badge.notification{vertical-align:text-bottom;top:-1px;margin-left:5px;z-index:10;font-size:12px;height:16px;min-width:16px;line-height:16px;border-radius:8px}.tabbar__icon~.tabbar__badge.notification{position:absolute;top:5px;margin-left:0}.tabbar__icon+.tabbar__label{display:block;font-size:10px;line-height:1;margin:0;font-weight:400;font-weight:var(--font-weight)}.tabbar__label:first-child{font-size:16px;line-height:49px;line-height:var(--tabbar-button-line-height);margin:0;padding:0}:checked+.tabbar__button{color:#ffa101;color:var(--tabbar-active-color);background-color:transparent;box-shadow:none;box-shadow:var(--tabbar-active-box-shadow);border-top:none;border-top:var(--tabbar-active-border-top)}.tabbar__button:disabled{opacity:.3;cursor:default;pointer-events:none}.tabbar__button:focus{z-index:1;border-top:none;border-top:var(--tabbar-focus-border-top);box-shadow:none;box-shadow:var(--tabbar-button-focus-box-shadow);outline:0}.tabbar__content{position:absolute;top:0;left:0;right:0;bottom:49px;bottom:var(--tabbar-height);z-index:0}.tabbar--autogrow .tabbar__item{-webkit-flex-basis:auto;flex-basis:auto}.tabbar--top{position:relative;top:0;left:0;right:0;bottom:auto;border-top:none;border-bottom:1px solid #0d0d0d;border-bottom:var(--tabbar-border-top)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.tabbar--top{border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#0d0d0d,#0d0d0d 50%,transparent 50%);background-image:linear-gradient(0deg,var(--tabbar-border-color),var(--tabbar-border-color) 50%,transparent 50%)}}.tabbar--top__content{top:49px;top:var(--tabbar-height);left:0;right:0;bottom:0;z-index:0}.tabbar--top-border__button{background-color:transparent;border-bottom:4px solid transparent}:checked+.tabbar--top-border__button{background-color:transparent;border-bottom:4px solid #ffa101;border-bottom:4px solid var(--tabbar-active-color)}.tabbar__border{position:absolute;bottom:0;left:0;width:0;height:4px;background-color:#ffa101;background-color:var(--tabbar-active-color)}.tabbar--material{background:0 0;background-color:#212121;background-color:var(--material-tabbar-background-color);border-bottom-width:0;box-shadow:0 4px 2px -2px rgba(0,0,0,.14),0 3px 5px -2px rgba(0,0,0,.12),0 5px 1px -4px rgba(0,0,0,.2)}.tabbar--material__button{background-color:transparent;color:rgba(255,255,255,.5);color:var(--material-tabbar-text-color);text-transform:uppercase;font-size:14px;font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.tabbar--material__button:after{content:'';display:block;width:0;height:2px;bottom:0;position:absolute;margin-top:-2px;background-color:#fff;background-color:var(--material-tabbar-current-color)}:checked+.tabbar--material__button:after{width:100%;transition:width .2s ease-in-out}:checked+.tabbar--material__button{background-color:transparent;color:#fff;color:var(--material-tabbar-current-color)}.tabbar--material__item:not([ripple]):active{background-color:hsl(0,0%,15.9411764706%);background-color:var(--material-tabbar-highlight-color)}.tabbar--material__border{height:2px;background-color:#fff;background-color:var(--material-tabbar-current-color)}.tabbar--material__icon{font-size:22px!important;line-height:36px}.tabbar--material__label{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.tabbar--material__label:first-child{-webkit-font-smoothing:antialiased;letter-spacing:.015em;font-weight:500;font-size:14px}.tabbar--material__icon+.tabbar--material__label{font-size:10px}:root{--toolbar-button-background-color:rgba(0, 0, 0, 0);--toolbar-button-border-color:var(--toolbar-button-color);--toolbar-button-border-radius:2px;--toolbar-button-padding:4px 10px;--toolbar-button-active-background-color:var(--toolbar-button-background-color);--toolbar-button-border:1px solid var(--toolbar-button-border-color)}.toolbar-button{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:4px 10px;padding:var(--toolbar-button-padding);letter-spacing:0;color:#ffa101;color:var(--toolbar-button-color);background-color:rgba(0,0,0,0);background-color:var(--toolbar-button-background-color);border-radius:2px;border-radius:var(--toolbar-button-border-radius);border:1px solid transparent;font-weight:400;font-weight:var(--font-weight);font-size:17px;font-size:var(--font-size);transition:none}.toolbar-button:active{background-color:rgba(0,0,0,0);background-color:var(--toolbar-button-active-background-color);transition:none;opacity:.2}.toolbar-button:disabled,.toolbar-button[disabled]{opacity:.3;cursor:default;pointer-events:none}.toolbar-button:focus{outline:0;transition:none}.toolbar-button:hover{transition:none}.toolbar-button--outline{border:1px solid #ffa101;border:var(--toolbar-button-border);margin:auto 8px;padding-left:6px;padding-right:6px}.toolbar-button--material{font-size:22px;color:#ffa101;color:var(--material-toolbar-button-color);display:inline-block;padding:0 12px;height:100%;margin:0;border:none;border-radius:0;vertical-align:baseline;vertical-align:initial;transition:background-color .25s linear}.toolbar-button--material:first-of-type{margin-left:4px}.toolbar-button--material:last-of-type{margin-right:4px}.toolbar-button--material:active{opacity:1;transition:background-color .25s linear}.back-button{height:44px;line-height:44px;padding-left:8px;color:#ffa101;color:var(--toolbar-button-color);background-color:rgba(0,0,0,0);background-color:var(--toolbar-button-background-color);display:inline-block}.back-button:active{opacity:.2}.back-button__label{display:inline-block;height:100%;vertical-align:top;line-height:44px;line-height:var(--toolbar-height);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large)}.back-button__icon{margin-right:6px;display:-webkit-inline-flex;display:inline-flex;fill:rgb(255,161,1);fill:var(--toolbar-button-color);-webkit-align-items:center;align-items:center;height:100%}.back-button--material{font-size:22px;color:#ffa101;color:var(--material-toolbar-button-color);display:inline-block;padding:0 12px;height:100%;margin:0 0 0 4px;border:none;border-radius:0;vertical-align:baseline;vertical-align:initial;line-height:56px}.back-button--material__label{display:none;font-size:20px}.back-button--material__icon{display:-webkit-inline-flex;display:inline-flex;fill:rgb(255,161,1);fill:var(--material-toolbar-button-color);-webkit-align-items:center;align-items:center;height:100%}.back-button--material:active{opacity:1}:root{--checkbox-size:22px;--checkbox-border:1px solid #c7c7cd;--checkbox-checked-background-color:var(--highlight-color);--background-color--before--checkbox:var(--checkbox-checked-background-color);--checkmark-border:2px solid #fff;--material-checkbox-size:18px;--material-checkbox-focus-ring-size:40px;--material-checkbox-focus-ring-shadow-size:calc((var(--material-checkbox-focus-ring-size) - var(--material-checkbox-size)) / 2)}.checkbox{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);line-height:22px;line-height:var(--checkbox-size)}.checkbox__checkmark{box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);height:22px;height:var(--checkbox-size);width:22px;width:var(--checkbox-size);pointer-events:none}.checkbox__input,.checkbox__input:checked{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.checkbox__checkmark:before{content:'';position:absolute;box-sizing:border-box;width:22px;width:var(--checkbox-size);height:22px;height:var(--checkbox-size);background:0 0;border:1px solid #c7c7cd;border:var(--checkbox-border);border-radius:22px;border-radius:var(--checkbox-size);left:0}.checkbox__checkmark:after{content:'';position:absolute;top:7px;left:5px;width:11px;height:5px;background:0 0;border:2px solid #fff;border:var(--checkmark-border);border-width:1px;border-top:none;border-right:none;border-radius:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}:checked+.checkbox__checkmark:before{background:#ffa101;background:var(--background-color--before--checkbox);border:none}:checked+.checkbox__checkmark:after{opacity:1}:disabled+.checkbox__checkmark{opacity:.3;cursor:default;pointer-events:none}:disabled:active+.checkbox__checkmark:before{background:0 0}.checkbox--noborder__checkmark{background:0 0;border:none}.checkbox--noborder__checkmark:before{border:none}.checkbox--noborder__checkmark:after{height:4px;border:2px solid #ffa101;border:2px solid var(--highlight-color)}:checked+.checkbox--noborder__checkmark:before{background:0 0}:focus+.checkbox--noborder__checkmark:before{border:none}:disabled:active+.checkbox--noborder__checkmark:before{border:none}.checkbox--material{line-height:18px;line-height:var(--material-checkbox-size);font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);overflow:visible}.checkbox--material__checkmark{width:18px;width:var(--material-checkbox-size);height:18px;height:var(--material-checkbox-size)}.checkbox--material__checkmark:before{border-radius:2px;height:18px;height:var(--material-checkbox-size);width:18px;width:var(--material-checkbox-size);border:2px solid #717171;border:2px solid var(--material-checkbox-inactive-color);transition:background-color .1s linear .2s,border-color .1s linear .2s;background-color:transparent}:checked+.checkbox--material__checkmark:before{border:2px solid #fff;border:2px solid var(--material-checkbox-active-color);background-color:#fff;background-color:var(--material-checkbox-active-color);transition:background-color .1s linear,border-color .1s linear}.checkbox--material__checkmark:after{border-color:#000;border-color:var(--material-checkbox-checkmark-color);transition:-webkit-transform .2s ease 0;transition:transform .2s ease 0;transition:transform .2s ease 0,-webkit-transform .2s ease 0;width:10px;height:5px;top:4px;left:3px;-webkit-transform:scale(0) rotate(-45deg);transform:scale(0) rotate(-45deg);border-width:2px}:checked+.checkbox--material__checkmark:after{transition:-webkit-transform .2s ease .2s;transition:transform .2s ease .2s;transition:transform .2s ease .2s,-webkit-transform .2s ease .2s;width:10px;height:5px;top:4px;left:3px;-webkit-transform:scale(1) rotate(-45deg);transform:scale(1) rotate(-45deg);border-width:2px}.checkbox--material__input:before{content:'';opacity:0;position:absolute;top:0;left:0;width:18px;width:var(--material-checkbox-size);height:18px;height:var(--material-checkbox-size);box-shadow:0 0 0 calc((40px - 18px)/ 2) #717171;box-shadow:0 0 0 var(--material-checkbox-focus-ring-shadow-size) var(--material-checkbox-inactive-color);box-sizing:border-box;border-radius:50%;background-color:#717171;background-color:var(--material-checkbox-inactive-color);pointer-events:none;display:block;-webkit-transform:scale3d(.2,.2,.2);transform:scale3d(.2,.2,.2);transition:opacity .25s ease-out,-webkit-transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out,-webkit-transform .1s ease-out}.checkbox--material__input:checked:before{box-shadow:0 0 0 calc((40px - 18px)/ 2) #fff;box-shadow:0 0 0 var(--material-checkbox-focus-ring-shadow-size) var(--material-checkbox-active-color);background-color:#fff;background-color:var(--material-checkbox-active-color)}.checkbox--material__input:active:before{opacity:.15;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}:disabled+.checkbox--material__checkmark{opacity:1}:disabled+.checkbox--material__checkmark:before{border-color:#afafaf}:disabled:checked+.checkbox--material__checkmark:before{background-color:#afafaf}:disabled:checked+.checkbox--material__checkmark:after{border-color:#fff}:root{--radio-button-background-active:rgba(0, 0, 0, 0);--radio-button-indicator-color:var(--highlight-color);--radio-button-background:transparent;--radio-button-border:3px solid var(--radio-button-indicator-color);--radio-button-size:24px;--material-radio-button-size:20px;--material-radio-button-shadow-size:calc((48px - var(--material-radio-button-size)) / 2)}.radio-button__input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.radio-button__input:active,.radio-button__input:focus{outline:0;-webkit-tap-highlight-color:transparent}.radio-button{display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;position:relative;line-height:24px;line-height:var(--radio-button-size);text-align:left}.radio-button__checkmark:before{content:'';position:absolute;box-sizing:border-box;width:22px;width:var(--checkbox-size);height:22px;height:var(--checkbox-size);background:0 0;border:none;border-radius:22px;border-radius:var(--checkbox-size);left:0}.radio-button__checkmark{box-sizing:border-box;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:relative;width:24px;width:var(--radio-button-size);height:24px;height:var(--radio-button-size);background:0 0;background:var(--radio-button-background);pointer-events:none}.radio-button__checkmark:after{content:'';position:absolute;top:7px;left:4px;opacity:0;width:11px;height:4px;background:0 0;border:2px solid #ffa101;border:2px solid var(--highlight-color);border-top:none;border-right:none;border-radius:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}:checked+.radio-button__checkmark{background:rgba(0,0,0,0);background:var(--radio-button-background-active)}:checked+.radio-button__checkmark:after{opacity:1}:checked+.radio-button__checkmark:before{background:0 0;border:none}:disabled+.radio-button__checkmark{opacity:.3;cursor:default;pointer-events:none}.radio-button--material{line-height:calc(20px + 2px);line-height:calc(var(--material-radio-button-size) + 2px);font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.radio-button--material__input:before{content:'';position:absolute;top:0;left:0;opacity:0;width:20px;width:var(--material-radio-button-size);height:20px;height:var(--material-radio-button-size);box-shadow:0 0 0 calc((48px - 20px)/ 2) #8e8e8e;box-shadow:0 0 0 var(--material-radio-button-shadow-size) var(--material-radio-button-inactive-color);border:none;box-sizing:border-box;border-radius:50%;background-color:#8e8e8e;background-color:var(--material-radio-button-inactive-color);pointer-events:none;display:block;-webkit-transform:scale3d(.2,.2,.2);transform:scale3d(.2,.2,.2);transition:opacity .25s ease-out,-webkit-transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out,-webkit-transform .1s ease-out}.radio-button--material__input:checked:before{box-shadow:0 0 0 calc((48px - 20px)/ 2) #ffa101;box-shadow:0 0 0 var(--material-radio-button-shadow-size) var(--material-radio-button-active-color);background-color:#ffa101;background-color:var(--material-radio-button-active-color)}.radio-button--material__input:active:before{opacity:.15;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.radio-button--material__checkmark{width:20px;width:var(--material-radio-button-size);height:20px;height:var(--material-radio-button-size);overflow:visible}.radio-button--material__checkmark:before{background:0 0;border:2px solid #8e8e8e;border:2px solid var(--material-radio-button-inactive-color);box-sizing:border-box;border-radius:50%;width:20px;width:var(--material-radio-button-size);height:20px;height:var(--material-radio-button-size);transition:border .2s ease}.radio-button--material__checkmark:after{transition:background .2s ease,-webkit-transform .2s ease;transition:background .2s ease,transform .2s ease;transition:background .2s ease,transform .2s ease,-webkit-transform .2s ease;top:calc(20px / 4);top:calc(var(--material-radio-button-size)/ 4);left:calc(20px / 4);left:calc(var(--material-radio-button-size)/ 4);width:calc(20px / 2);width:calc(var(--material-radio-button-size)/ 2);height:calc(20px / 2);height:calc(var(--material-radio-button-size)/ 2);border:none;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}:checked+.radio-button--material__checkmark:before{background:0 0;border:2px solid #ffa101;border:2px solid var(--material-radio-button-active-color)}.radio-button--material__input+.radio-button__checkmark:after{background:#8e8e8e;background:var(--material-radio-button-inactive-color);opacity:1;-webkit-transform:scale(0);transform:scale(0)}:checked+.radio-button--material__checkmark:after{opacity:1;background:#ffa101;background:var(--material-radio-button-active-color);-webkit-transform:scale(1);transform:scale(1)}:disabled+.radio-button--material__checkmark{opacity:1}:disabled+.radio-button--material__checkmark:after{background-color:#505050;background-color:var(--material-radio-button-disabled-color);border-color:#505050;border-color:var(--material-radio-button-disabled-color)}:disabled+.radio-button--material__checkmark:before{border-color:#505050;border-color:var(--material-radio-button-disabled-color)}:root{--list-item-color:var(--text-color);--list-item-active-background-color:var(--list-tap-active-background-color);--list-item-separator-color:var(--border-color);--list-border:1px solid var(--list-item-separator-color);--list-item-min-height:44px;--list-item-margin:0 0 -1px 0;--list-item-padding-side:14px;--list-item-padding:0 0 0 var(--list-item-padding-side);--list-border-top:1px solid var(--list-item-separator-color);--list-border-bottom:1px solid var(--list-item-separator-color);--list-header-color:var(--text-color);--list-header-font-size:12px;--list-header-padding:0 0 0 15px;--list-header-min-height:24px;--list-header-font-weight:var(--font-weight--large);--inset-list-border:1px solid var(--list-item-separator-color);--list-title-color:#6d6d72;--list-title-font-size:13px;--list-title-font-weight:500;--list-title-line-height:24px;--list-title-padding:0 0 0 16px;--material-list-item-side-padding:16px;--material-list-item-min-height:48px;--material-list-item-padding:0 0 0 var(--material-list-item-side-padding);--material-list-title-color:#757575;--material-list-title-font-size:14px;--material-list-title-font-weight:500;--material-list-title-line-height:24px;--material-list-title-padding:12px 0 12px var(--material-list-item-side-padding)}.list{padding:0;margin:0;color:inherit;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);list-style-type:none;text-align:left;display:block;-webkit-overflow-scrolling:touch;overflow:hidden;background-image:linear-gradient(#242424,#242424),linear-gradient(#242424,#242424);background-image:linear-gradient(var(--list-item-separator-color),var(--list-item-separator-color)),linear-gradient(var(--list-item-separator-color),var(--list-item-separator-color));background-size:100% 1px,100% 1px;background-repeat:no-repeat;background-position:bottom,top;border:none;background-color:#181818;background-color:var(--list-background-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list{background-image:linear-gradient(0deg,#242424,#242424 50%,transparent 50%),linear-gradient(180deg,#242424,#242424 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%),linear-gradient(180deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item{position:relative;width:100%;list-style:none;box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:center;align-items:center;padding:0 0 0 14px;padding:var(--list-item-padding);margin:0 0 -1px 0;margin:var(--list-item-margin);color:#fff;color:var(--list-item-color);transition:background-color .2s linear}.list-item__top{display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:center;align-items:center;-webkit-order:0;order:0;width:100%}.list-item--expandable{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#242424,#242424 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%);background-position-x:14px;background-position-x:var(--list-item-padding-side)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--expandable{background-image:linear-gradient(0deg,#242424,#242424 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item__expandable-content{display:none;width:100%;padding:12px 14px 12px 0;box-sizing:border-box;-webkit-order:1;order:1;overflow:hidden}.list-item--expandable.list-item--expanded>.list-item__expandable-content{display:block;height:auto}.list-item__left{box-sizing:border-box;display:-webkit-flex;display:flex;padding:12px 14px 12px 0;-webkit-order:0;order:0;-webkit-align-items:center;align-items:center;-webkit-align-self:stretch;align-self:stretch;line-height:1.2em;min-height:44px;min-height:var(--list-item-min-height)}.list-item__left:empty{width:0;min-width:0;padding:0;margin:0}.list-item__center{box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;flex-direction:row;-webkit-order:1;order:1;margin-right:auto;-webkit-align-items:center;align-items:center;-webkit-align-self:stretch;align-self:stretch;margin-left:0;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#242424,#242424 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%);padding:12px 6px 12px 0;line-height:1.2em;min-height:44px;min-height:var(--list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item__center{background-image:linear-gradient(0deg,#242424,#242424 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item__right{box-sizing:border-box;display:-webkit-flex;display:flex;margin-left:auto;padding:12px 12px 12px 0;-webkit-order:2;order:2;-webkit-align-items:center;align-items:center;-webkit-align-self:stretch;align-self:stretch;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#242424,#242424 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%);line-height:1.2em;min-height:44px;min-height:var(--list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item__right{background-image:linear-gradient(0deg,#242424,#242424 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-header{margin:0;list-style:none;text-align:left;display:block;box-sizing:border-box;padding:0 0 0 15px;padding:var(--list-header-padding);font-size:12px;font-size:var(--list-header-font-size);font-weight:500;font-weight:var(--list-header-font-weight);color:#fff;color:var(--list-header-color);min-height:24px;min-height:var(--list-header-min-height);line-height:calc(1px + 24px);line-height:calc(1px + var(--list-header-min-height));text-transform:uppercase;position:relative;background-color:#111;background-color:var(--list-header-background-color);background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(0deg,#242424,#242424 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-header{background-image:linear-gradient(180deg,#242424,#242424 50%,transparent 50%);background-image:linear-gradient(180deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list--noborder{border-top:none;border-bottom:none;background-image:none}.list-item--tappable:active{transition:none;background-color:#262626;background-color:var(--list-item-active-background-color)}.list--inset{margin:0 8px;border:1px solid #242424;border:var(--inset-list-border);border-radius:4px;background-image:none}.list-item__label{font-size:calc(17px - 3px);font-size:var(--font-size--mini);padding:0 4px;opacity:.6}.list-item__title{-webkit-flex-basis:100%;flex-basis:100%;-webkit-align-self:flex-end;align-self:flex-end;-webkit-order:0;order:0}.list-item__subtitle{opacity:.75;font-size:calc(17px - 3px);font-size:var(--font-size--mini);-webkit-order:1;order:1;-webkit-flex-basis:100%;flex-basis:100%;-webkit-align-self:flex-start;align-self:flex-start}.list-item__thumbnail{width:40px;height:40px;border-radius:6px;display:block;margin:0}.list-item__icon{font-size:22px;padding:0 6px}.list--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);background-image:none;background-color:hsl(0,0%,20.8235294118%);background-color:var(--material-list-background-color)}.list-item--material{border:0;padding:0 0 0 16px;padding:var(--material-list-item-padding);line-height:normal}.list-item--material__subtitle{margin-top:4px}.list-item--material:first-child{box-shadow:none}.list-item--material__left{padding:14px 0;min-width:56px;line-height:1;min-height:48px;min-height:var(--material-list-item-min-height)}.list-item--material__center,.list-item--material__left:empty{padding:14px 6px 14px 0;border-color:rgba(255,255,255,.12);border-color:var(--material-list-item-separator-color);border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);min-height:48px;min-height:var(--material-list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material__center,.list-item--material__left:empty{background-image:linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material__right{padding:14px 16px 14px 0;line-height:1;border-color:rgba(255,255,255,.12);border-color:var(--material-list-item-separator-color);border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);min-height:48px;min-height:var(--material-list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material__right{background-image:linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material.list-item--expandable{background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);background-position-x:16px;background-position-x:var(--material-list-item-side-padding)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material.list-item--expandable{background-image:linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material.list-item--expandable.list-item--longdivider,.list-item--material.list-item--longdivider{background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material.list-item--expandable.list-item--longdivider,.list-item--material.list-item--longdivider{background-image:linear-gradient(0deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-header--material{background:#181818;background:var(--list-background-color);border:none;font-size:14px;text-transform:none;margin:-1px 0 0 0;color:#8a8a8a;color:var(--material-list-header-text-color);font-weight:500;padding:8px 16px}.list-header--material:not(:first-of-type){border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 100%);background-image:linear-gradient(180deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);padding-top:16px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-header--material:not(:first-of-type){background-image:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.12) 50%,transparent 50%);background-image:linear-gradient(180deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material__thumbnail{width:40px;height:40px;border-radius:100%}.list-item--material__icon{font-size:20px;padding:0 4px}.list-item--chevron:before,.list-item__expand-chevron{border-right:2px solid #383833;border-right:2px solid var(--list-item-chevron-color);border-bottom:2px solid #383833;border-bottom:2px solid var(--list-item-chevron-color);width:7px;height:7px;background-color:transparent;z-index:5}.list-item--chevron:before{position:absolute;content:'';right:16px;top:50%;-webkit-transform:translateY(-50%) rotate(-45deg);transform:translateY(-50%) rotate(-45deg)}.list-item__expand-chevron{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin:1px}.list-item--expandable.list-item--expanded .list-item__expand-chevron{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.list-item--chevron__right{padding-right:30px}.list-item--expandable .list-item__center,.list-item--expandable .list-item__right,.list-item--nodivider.list-item--expandable,.list-item--nodivider__center,.list-item--nodivider__right{border:none;background-image:none}.list-item--longdivider{background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#242424,#242424 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--longdivider{background-image:linear-gradient(0deg,#242424,#242424 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item--longdivider:last-of-type{border:none;background-image:none}.list-item--longdivider__center{border:none;background-image:none}.list-item--longdivider__right{border:none;background-image:none}.list-title{background:0 0;border:none;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;color:#6d6d72;color:var(--list-title-color);text-align:left;box-sizing:border-box;padding:0 0 0 16px;padding:var(--list-title-padding);margin:0;font-size:13px;font-size:var(--list-title-font-size);font-weight:500;font-weight:var(--list-title-font-weight);line-height:24px;line-height:var(--list-title-line-height);text-transform:uppercase;letter-spacing:.04em}.list-title--material{-webkit-font-smoothing:antialiased;color:#757575;color:var(--material-list-title-color);font-size:14px;font-size:var(--material-list-title-font-size);margin:0;padding:12px 0 12px 16px;padding:var(--material-list-title-padding);font-weight:500;font-weight:var(--material-list-title-font-weight);line-height:24px;line-height:var(--material-list-title-line-height)}:root{--search-icon:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTNweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTMgMTQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aW9zLXNlYXJjaC1pbnB1dC1pY29uPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImNvbXBvbmVudHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpb3Mtc2VhcmNoLWlucHV0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDguMDAwMDAwLCAtNDMuMDAwMDAwKSIgZmlsbD0iIzdBNzk3QiI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDAuMDAwMDAwLCAzNi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNi45OTcyNDgyLDE1LjUwNDE0NjYgQzE3LjA3NzM2NTcsMTUuNTQwNTkzOCAxNy4xNTIyNzMxLDE1LjU5MTYxMjkgMTcuMjE3NzUxNiwxNS42NTcwOTE0IEwyMC42NDk5OTEsMTkuMDg5MzMwOCBDMjAuOTQ0ODQ0OSwxOS4zODQxODQ3IDIwLjk0ODQ3NjQsMTkuODU4NjA2IDIwLjY1MzU0MTIsMjAuMTUzNTQxMiBDMjAuMzYwNjQ4LDIwLjQ0NjQzNDQgMTkuODgxMjcxNiwyMC40NDE5MzE3IDE5LjU4OTMzMDgsMjAuMTQ5OTkxIEwxNi4xNTcwOTE0LDE2LjcxNzc1MTYgQzE2LjA5MTM3LDE2LjY1MjAzMDEgMTYuMDQwMTE3MSwxNi41NzczODc0IDE2LjAwMzQxNDEsMTYuNDk3Nzk5NSBDMTUuMTY3MTY5NCwxNy4xMjcwNDExIDE0LjEyNzEzOTMsMTcuNSAxMywxNy41IEMxMC4yMzg1NzYzLDE3LjUgOCwxNS4yNjE0MjM3IDgsMTIuNSBDOCw5LjczODU3NjI1IDEwLjIzODU3NjMsNy41IDEzLDcuNSBDMTUuNzYxNDIzNyw3LjUgMTgsOS43Mzg1NzYyNSAxOCwxMi41IEMxOCwxMy42Mjc0Njg1IDE3LjYyNjgyMzIsMTQuNjY3Nzc2OCAxNi45OTcyNDgyLDE1LjUwNDE0NjYgWiBNMTMsMTYuNSBDMTUuMjA5MTM5LDE2LjUgMTcsMTQuNzA5MTM5IDE3LDEyLjUgQzE3LDEwLjI5MDg2MSAxNS4yMDkxMzksOC41IDEzLDguNSBDMTAuNzkwODYxLDguNSA5LDEwLjI5MDg2MSA5LDEyLjUgQzksMTQuNzA5MTM5IDEwLjc5MDg2MSwxNi41IDEzLDE2LjUgWiIgaWQ9Imlvcy1zZWFyY2gtaW5wdXQtaWNvbiI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=');--search-input-background-image:var(--search-icon);--search-input-color:var(--input-text-color);--search-decoration-margin-right:0;--search-input-border-radius:5.5px;--search-input-height:28px;--search-input-font-size:14px;--search-input-placeholder-color:#7a797b;--material-search-icon:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMThweCIgaGVpZ2h0PSIxOHB4IiB2aWV3Qm94PSIwIDAgMTggMTgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQzLjIgKDM5MDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5TaGFwZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJhbmRyb2lkLXNlYXJjaC1pbnB1dC1pY29uIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9IiM4OTg5ODkiPgogICAgICAgICAgICA8ZyBpZD0iY29tcG9uZW50cyI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ibWF0ZXJpYWwtc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ik1hdGVyaWFsL0ljb25zLWJsYWNrL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuNTAyLDYuNDkxIEwxMS43MDgsNi40OTEgTDExLjQzMiw2Ljc2NSBDMTIuNDA3LDcuOTAyIDEzLDkuMzc2IDEzLDEwLjk5MSBDMTMsMTQuNTgxIDEwLjA5LDE3LjQ5MSA2LjUsMTcuNDkxIEMyLjkxLDE3LjQ5MSAwLDE0LjU4MSAwLDEwLjk5MSBDMCw3LjQwMSAyLjkxLDQuNDkxIDYuNSw0LjQ5MSBDOC4xMTUsNC40OTEgOS41ODgsNS4wODMgMTAuNzI1LDYuMDU3IEwxMS4wMDEsNS43ODMgTDExLjAwMSw0Ljk5MSBMMTUuOTk5LDAgTDE3LjQ5LDEuNDkxIEwxMi41MDIsNi40OTEgTDEyLjUwMiw2LjQ5MSBaIE02LjUsNi40OTEgQzQuMDE0LDYuNDkxIDIsOC41MDUgMiwxMC45OTEgQzIsMTMuNDc2IDQuMDE0LDE1LjQ5MSA2LjUsMTUuNDkxIEM4Ljk4NSwxNS40OTEgMTEsMTMuNDc2IDExLDEwLjk5MSBDMTEsOC41MDUgOC45ODUsNi40OTEgNi41LDYuNDkxIEw2LjUsNi40OTEgWiIgaWQ9IlNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Ljc0NTAwMCwgOC43NDU1MDApIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtOC43NDUwMDAsIC04Ljc0NTUwMCkgIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==')}.search-input{font:inherit;background:0 0;border:none;vertical-align:top;outline:0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-appearance:textfield;appearance:textfield;box-sizing:border-box;height:28px;height:var(--search-input-height);font-size:14px;font-size:var(--search-input-font-size);background-color:rgba(255,255,255,.09);background-color:var(--search-input-background-color);box-shadow:none;color:#fff;color:var(--search-input-color);line-height:1.3;padding:0 8px 0 28px;margin:0;border-radius:5.5px;border-radius:var(--search-input-border-radius);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTNweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTMgMTQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aW9zLXNlYXJjaC1pbnB1dC1pY29uPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImNvbXBvbmVudHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpb3Mtc2VhcmNoLWlucHV0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDguMDAwMDAwLCAtNDMuMDAwMDAwKSIgZmlsbD0iIzdBNzk3QiI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDAuMDAwMDAwLCAzNi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNi45OTcyNDgyLDE1LjUwNDE0NjYgQzE3LjA3NzM2NTcsMTUuNTQwNTkzOCAxNy4xNTIyNzMxLDE1LjU5MTYxMjkgMTcuMjE3NzUxNiwxNS42NTcwOTE0IEwyMC42NDk5OTEsMTkuMDg5MzMwOCBDMjAuOTQ0ODQ0OSwxOS4zODQxODQ3IDIwLjk0ODQ3NjQsMTkuODU4NjA2IDIwLjY1MzU0MTIsMjAuMTUzNTQxMiBDMjAuMzYwNjQ4LDIwLjQ0NjQzNDQgMTkuODgxMjcxNiwyMC40NDE5MzE3IDE5LjU4OTMzMDgsMjAuMTQ5OTkxIEwxNi4xNTcwOTE0LDE2LjcxNzc1MTYgQzE2LjA5MTM3LDE2LjY1MjAzMDEgMTYuMDQwMTE3MSwxNi41NzczODc0IDE2LjAwMzQxNDEsMTYuNDk3Nzk5NSBDMTUuMTY3MTY5NCwxNy4xMjcwNDExIDE0LjEyNzEzOTMsMTcuNSAxMywxNy41IEMxMC4yMzg1NzYzLDE3LjUgOCwxNS4yNjE0MjM3IDgsMTIuNSBDOCw5LjczODU3NjI1IDEwLjIzODU3NjMsNy41IDEzLDcuNSBDMTUuNzYxNDIzNyw3LjUgMTgsOS43Mzg1NzYyNSAxOCwxMi41IEMxOCwxMy42Mjc0Njg1IDE3LjYyNjgyMzIsMTQuNjY3Nzc2OCAxNi45OTcyNDgyLDE1LjUwNDE0NjYgWiBNMTMsMTYuNSBDMTUuMjA5MTM5LDE2LjUgMTcsMTQuNzA5MTM5IDE3LDEyLjUgQzE3LDEwLjI5MDg2MSAxNS4yMDkxMzksOC41IDEzLDguNSBDMTAuNzkwODYxLDguNSA5LDEwLjI5MDg2MSA5LDEyLjUgQzksMTQuNzA5MTM5IDEwLjc5MDg2MSwxNi41IDEzLDE2LjUgWiIgaWQ9Imlvcy1zZWFyY2gtaW5wdXQtaWNvbiI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=');background-image:var(--search-input-background-image);background-position:8px center;background-repeat:no-repeat;background-size:13px;font-weight:400;font-weight:var(--font-weight);display:inline-block;text-indent:0}.search-input::-webkit-search-cancel-button{-webkit-appearance:textfield;appearance:textfield;display:none}.search-input::-webkit-search-decoration{display:none}.search-input:focus{outline:0}.search-input::-webkit-input-placeholder{color:#7a797b;color:var(--search-input-placeholder-color);font-size:14px;font-size:var(--search-input-font-size);text-indent:0}.search-input::placeholder{color:#7a797b;color:var(--search-input-placeholder-color);font-size:14px;font-size:var(--search-input-font-size);text-indent:0}.search-input:disabled{opacity:.3;cursor:default;pointer-events:none}.search-input--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);border-radius:2px;height:48px;background-color:#424242;background-color:var(--material-search-background-color);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMThweCIgaGVpZ2h0PSIxOHB4IiB2aWV3Qm94PSIwIDAgMTggMTgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQzLjIgKDM5MDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5TaGFwZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJhbmRyb2lkLXNlYXJjaC1pbnB1dC1pY29uIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9IiM4OTg5ODkiPgogICAgICAgICAgICA8ZyBpZD0iY29tcG9uZW50cyI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ibWF0ZXJpYWwtc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ik1hdGVyaWFsL0ljb25zLWJsYWNrL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuNTAyLDYuNDkxIEwxMS43MDgsNi40OTEgTDExLjQzMiw2Ljc2NSBDMTIuNDA3LDcuOTAyIDEzLDkuMzc2IDEzLDEwLjk5MSBDMTMsMTQuNTgxIDEwLjA5LDE3LjQ5MSA2LjUsMTcuNDkxIEMyLjkxLDE3LjQ5MSAwLDE0LjU4MSAwLDEwLjk5MSBDMCw3LjQwMSAyLjkxLDQuNDkxIDYuNSw0LjQ5MSBDOC4xMTUsNC40OTEgOS41ODgsNS4wODMgMTAuNzI1LDYuMDU3IEwxMS4wMDEsNS43ODMgTDExLjAwMSw0Ljk5MSBMMTUuOTk5LDAgTDE3LjQ5LDEuNDkxIEwxMi41MDIsNi40OTEgTDEyLjUwMiw2LjQ5MSBaIE02LjUsNi40OTEgQzQuMDE0LDYuNDkxIDIsOC41MDUgMiwxMC45OTEgQzIsMTMuNDc2IDQuMDE0LDE1LjQ5MSA2LjUsMTUuNDkxIEM4Ljk4NSwxNS40OTEgMTEsMTMuNDc2IDExLDEwLjk5MSBDMTEsOC41MDUgOC45ODUsNi40OTEgNi41LDYuNDkxIEw2LjUsNi40OTEgWiIgaWQ9IlNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Ljc0NTAwMCwgOC43NDU1MDApIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtOC43NDUwMDAsIC04Ljc0NTUwMCkgIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==');background-image:var(--material-search-icon);background-size:18px;background-position:18px center;font-size:14px;padding:0 24px 0 64px;box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.24),0 1px 0 0 rgba(255,255,255,.06) inset}:root{--text-input-font-size:16px;--text-input-height:31px;--text-input-border-color:var(--input-border-color);--material-text-input-font-size:16px;--material-text-input-color:var(--material-text-input-text-color)}.text-input{font:inherit;background:0 0;vertical-align:top;outline:0;line-height:1;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:none;background-color:transparent;letter-spacing:0;box-shadow:none;color:#fff;color:var(--input-text-color);padding:0;margin:0;width:auto;font-size:16px;font-size:var(--text-input-font-size);height:31px;height:var(--text-input-height);font-weight:400;font-weight:var(--font-weight);box-sizing:border-box}.text-input::-ms-clear{display:none}.text-input:disabled{opacity:.3;cursor:default;pointer-events:none}.text-input::-webkit-input-placeholder{color:#999;color:var(--input-placeholder-color)}.text-input::placeholder{color:#999;color:var(--input-placeholder-color)}.text-input:disabled::-webkit-input-placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.text-input:disabled::placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.text-input:invalid{border:none;background-color:transparent;color:#fff;color:var(--input-invalid-text-color)}.text-input--underbar{border:none;background-color:transparent;border-bottom:1px solid #242424;border-bottom:1px solid var(--text-input-border-color);border-radius:0}.text-input--underbar:disabled{border:none;background-color:transparent;border-bottom:1px solid #242424;border-bottom:1px solid var(--text-input-border-color)}.text-input--underbar:disabled::-webkit-input-placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.text-input--underbar:disabled::placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.text-input--underbar:invalid{border:none;background-color:transparent;border-bottom:1px solid #242424;border-bottom:1px solid var(--input-invalid-border-color)}.text-input--material{padding:0;margin:0;font:inherit;background:0 0;outline:0;line-height:1;-moz-osx-font-smoothing:grayscale;font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:rgba(255,255,255,.75);color:var(--material-text-input-color);background-image:linear-gradient(to top,transparent 1px,rgba(255,255,255,.3) 1px);background-image:linear-gradient(to top,transparent 1px,var(--material-text-input-inactive-color) 1px);background-size:100% 2px;background-repeat:no-repeat;background-position:center bottom;background-color:transparent;font-size:16px;font-size:var(--material-text-input-font-size);border:none;padding-bottom:2px;border-radius:0;height:24px;vertical-align:middle;-webkit-transform:translate3d(0,0,0)}.text-input--material__label{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:rgba(255,255,255,.3);color:var(--material-text-input-inactive-color);position:absolute;left:0;top:2px;font-size:16px;pointer-events:none}.text-input--material__label--active{color:rgba(255,255,255,.75);color:var(--material-text-input-active-color);-webkit-transform:translate(0,-75%) scale(.75);transform:translate(0,-75%) scale(.75);-webkit-transform-origin:left top;transform-origin:left top;transition:color .1s ease-in,-webkit-transform .1s ease-in;transition:transform .1s ease-in,color .1s ease-in;transition:transform .1s ease-in,color .1s ease-in,-webkit-transform .1s ease-in}.text-input--material:focus{background-image:linear-gradient(rgba(255,255,255,.75),rgba(255,255,255,.75)),linear-gradient(to top,transparent 1px,rgba(255,255,255,.3) 1px);background-image:linear-gradient(var(--material-text-input-active-color),var(--material-text-input-active-color)),linear-gradient(to top,transparent 1px,var(--material-text-input-inactive-color) 1px);-webkit-animation:material-text-input-animate .3s forwards;animation:material-text-input-animate .3s forwards}.text-input--material::-webkit-input-placeholder{color:rgba(255,255,255,.3);color:var(--material-text-input-inactive-color);line-height:20px}.text-input--material::placeholder{color:rgba(255,255,255,.3);color:var(--material-text-input-inactive-color);line-height:20px}@-webkit-keyframes material-text-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}@keyframes material-text-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}:root{--textarea-color:var(--input-text-color);--textarea-border:1px solid var(--input-border-color);--textarea-padding:5px 5px 5px 5px;--textarea-box-shadow:none;--textarea-border-radius:4px}.textarea{box-sizing:border-box;margin:0;font:inherit;background:0 0;line-height:normal;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;resize:none;outline:0;padding:5px 5px 5px 5px;padding:var(--textarea-padding);font-size:16px;font-size:var(--text-input-font-size);font-weight:400;font-weight:var(--font-weight);border-radius:4px;border-radius:var(--textarea-border-radius);border:1px solid #242424;border:var(--textarea-border);background-color:#0d0d0d;background-color:var(--input-bg-color);color:#fff;color:var(--textarea-color);letter-spacing:0;box-shadow:none;box-shadow:var(--textarea-box-shadow);-webkit-appearance:none;appearance:none;width:auto}.textarea:disabled{opacity:.3;cursor:default;pointer-events:none}.textarea::-webkit-input-placeholder{color:#999;color:var(--input-placeholder-color)}.textarea::placeholder{color:#999;color:var(--input-placeholder-color)}.textarea--transparent{padding-left:0;padding-right:0;border:none;background-color:transparent}.dialog{box-sizing:border-box;padding:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);margin:auto auto;overflow:hidden;min-width:270px;min-height:100px;text-align:left}.dialog-container{height:inherit;min-height:inherit;overflow:hidden;border-radius:4px;background-color:#0d0d0d;background-color:var(--dialog-background-color);-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC');color:#1f1f21;color:var(--dialog-text-color)}.dialog-mask{padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.2)}.dialog--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);text-align:left;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)}.dialog-container--material{border-radius:2px;background-color:#424242;background-color:var(--material-dialog-background-color);color:#fff;color:var(--material-dialog-text-color)}.dialog-mask--material{background-color:rgba(0,0,0,.3)}.alert-dialog{box-sizing:border-box;padding:0;font:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:270px;margin:auto;background-color:#f4f4f4;background-color:var(--alert-dialog-background-color);border-radius:8px;overflow:visible;max-width:95%;color:#1f1f21;color:var(--alert-dialog-text-color)}.alert-dialog-container{height:inherit;padding-top:16px;overflow:hidden}.alert-dialog-title{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);padding:0 8px;text-align:center;color:#1f1f21;color:var(--alert-dialog-text-color)}.alert-dialog-content{box-sizing:border-box;background-clip:padding-box;padding:4px 12px 8px;font-size:calc(17px - 3px);font-size:var(--font-size--mini);min-height:36px;text-align:center;color:#1f1f21;color:var(--alert-dialog-text-color)}.alert-dialog-footer{width:100%}.alert-dialog-button{box-sizing:border-box;font:inherit;background:0 0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none;letter-spacing:0;vertical-align:middle;border:none;border-top:1px solid #ddd;border-top:1px solid var(--alert-dialog-separator-color);font-size:calc(17px - 1px);font-size:calc(var(--font-size) - 1px);padding:0 8px;margin:0;display:block;width:100%;background-color:transparent;text-align:center;height:44px;line-height:44px;outline:0;color:#ffa101;color:var(--alert-dialog-button-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button{border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#ddd,#ddd 50%,transparent 50%);background-image:linear-gradient(180deg,var(--alert-dialog-separator-color),var(--alert-dialog-separator-color) 50%,transparent 50%)}}.alert-dialog-button:active{background-color:rgba(0,0,0,.05)}.alert-dialog-button--primal{font-weight:500;font-weight:var(--font-weight--large)}.alert-dialog-footer--rowfooter{white-space:nowrap;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.alert-dialog-button--rowfooter{-webkit-flex:1;flex:1;display:block;width:100%;border-left:1px solid #ddd;border-left:1px solid var(--alert-dialog-separator-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--rowfooter{border-top:none;border-left:none;background-size:100% 1px,1px 100%;background-repeat:no-repeat;background-position:top,left;background-image:linear-gradient(0deg,transparent,transparent 50%,#ddd 50%),linear-gradient(90deg,transparent,transparent 50%,#ddd 50%);background-image:linear-gradient(0deg,transparent,transparent 50%,var(--alert-dialog-separator-color) 50%),linear-gradient(90deg,transparent,transparent 50%,var(--alert-dialog-separator-color) 50%)}}.alert-dialog-button--rowfooter:first-child{border-left:none}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--rowfooter:first-child{border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top,left;background-image:linear-gradient(0deg,transparent,transparent 50%,#ddd 50%);background-image:linear-gradient(0deg,transparent,transparent 50%,var(--alert-dialog-separator-color) 50%)}}.alert-dialog-mask{padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.2)}.alert-dialog--material{border-radius:2px;background-color:#424242;background-color:var(--material-alert-dialog-background-color)}.alert-dialog-container--material{padding:22px 0 0 0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)}.alert-dialog-title--material{-webkit-font-smoothing:antialiased;text-align:left;font-size:20px;font-weight:500;padding:0 24px;color:#fff;color:var(--material-alert-dialog-title-color)}.alert-dialog-content--material{-webkit-font-smoothing:antialiased;text-align:left;font-size:16px;font-weight:400;font-weight:var(--material-font-weight);line-height:20px;padding:0 24px;margin:24px 0 10px 0;min-height:0;color:rgba(255,255,255,.85);color:var(--material-alert-dialog-content-color)}.alert-dialog-footer--material{display:block;padding:0;height:52px;box-sizing:border-box;margin:0;line-height:1}.alert-dialog-button--material{-webkit-font-smoothing:antialiased;text-transform:uppercase;display:inline-block;width:auto;float:right;background:0 0;border:none;border-radius:2px;font-size:14px;font-weight:500;outline:0;height:36px;line-height:36px;padding:0 8px;margin:8px 8px 8px 0;box-sizing:border-box;min-width:50px;color:#d68600;color:var(--material-alert-dialog-button-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--material{background:0 0}}.alert-dialog-button--material:active{background-color:transparent;background-color:initial}.alert-dialog-button--rowfooter--material,.alert-dialog-button--rowfooter--material:first-child{border:0}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--rowfooter--material,.alert-dialog-button--rowfooter--material:first-child{background:0 0}}.alert-dialog-button--primal--material{font-weight:500}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--primal--material{background:0 0}}.alert-dialog-mask--material{background-color:rgba(0,0,0,.3)}:root{--popover-arrow-size:18px;--popover-arrow-radius:4px;--popover-radius:8px;--popover-margin:6px;--material-popover-radius:2px;--material-popover-margin:4px}.popover{position:absolute;z-index:20001}.popover--bottom{bottom:0}.popover--top{top:0}.popover--left{left:0}.popover--right{right:0}.popover-mask{left:0;right:0;top:0;bottom:0;background-color:rgba(0,0,0,.2);position:absolute;z-index:19999}.popover__content{box-sizing:border-box;padding:0;margin:0;font:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:block;width:220px;overflow:auto;min-height:100px;max-height:100%;background-color:#242424;background-color:var(--popover-background-color);border-radius:8px;border-radius:var(--popover-radius);color:#fff;color:var(--popover-text-color);pointer-events:auto}.popover__arrow{position:absolute;width:18px;width:var(--popover-arrow-size);height:18px;height:var(--popover-arrow-size);-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;background-color:transparent;background-image:linear-gradient(45deg,#242424,#242424 50%,transparent 50%);background-image:linear-gradient(45deg,var(--popover-background-color),var(--popover-background-color) 50%,transparent 50%);border-radius:0 0 0 4px;border-radius:0 0 0 var(--popover-arrow-radius);margin:0;z-index:20001}.popover--bottom__arrow{-webkit-transform:translateY(6px) translateX(calc(18px / -2)) rotate(-45deg);transform:translateY(6px) translateX(calc(18px / -2)) rotate(-45deg);-webkit-transform:translateY(6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(-45deg);transform:translateY(6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(-45deg);bottom:0;margin-right:-18px}.popover--top__arrow{-webkit-transform:translateY(-6px) translateX(calc(18px / -2)) rotate(135deg);transform:translateY(-6px) translateX(calc(18px / -2)) rotate(135deg);-webkit-transform:translateY(-6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(135deg);transform:translateY(-6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(135deg);top:0;margin-right:-18px}.popover--left__arrow{-webkit-transform:translateX(-6px) translateY(calc(18px / -2)) rotate(45deg);transform:translateX(-6px) translateY(calc(18px / -2)) rotate(45deg);-webkit-transform:translateX(-6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(45deg);transform:translateX(-6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(45deg);left:0;margin-bottom:-18px}.popover--right__arrow{-webkit-transform:translateX(6px) translateY(calc(18px / -2)) rotate(225deg);transform:translateX(6px) translateY(calc(18px / -2)) rotate(225deg);-webkit-transform:translateX(6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(225deg);transform:translateX(6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(225deg);right:0;margin-bottom:-18px}.popover-mask--material{background-color:transparent}.popover--material__content{background-color:#424242;background-color:var(--material-popover-background-color);border-radius:2px;border-radius:var(--material-popover-radius);color:#fff;color:var(--material-popover-text-color);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.popover--material__arrow{display:none}.progress-bar{position:relative;height:2px;display:block;width:100%;background-color:transparent;background-color:var(--progress-bar-background-color);background-clip:padding-box;margin:0;overflow:hidden;border-radius:4px}.progress-bar__primary,.progress-bar__secondary{position:absolute;background-color:#ffa101;background-color:var(--progress-bar-color);top:0;bottom:0;transition:width .3s linear;z-index:100;border-radius:4px}.progress-bar__secondary{background-color:#734901;background-color:var(--progress-bar-secondary-color);z-index:0}.progress-bar--indeterminate:before{content:'';position:absolute;background-color:#ffa101;background-color:var(--progress-bar-color);top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:progress-bar__indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:progress-bar__indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;border-radius:4px}.progress-bar--indeterminate:after{content:'';position:absolute;background-color:#ffa101;background-color:var(--progress-bar-color);top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:progress-bar__indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:progress-bar__indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s;border-radius:4px}@-webkit-keyframes progress-bar__indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes progress-bar__indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes progress-bar__indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes progress-bar__indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.progress-bar--material{height:4px;background-color:transparent;background-color:var(--material-progress-bar-background-color);border-radius:0}.progress-bar--material__primary,.progress-bar--material__secondary{background-color:#d68600;background-color:var(--material-progress-bar-primary-color);border-radius:0}.progress-bar--material__secondary{background-color:#734800;background-color:var(--material-progress-bar-secondary-color);z-index:0}.progress-bar--material.progress-bar--indeterminate:before{background-color:var(--material-progress-bar-primary-color);border-radius:0}.progress-bar--material.progress-bar--indeterminate:after{background-color:var(--material-progress-bar-primary-color);border-radius:0}.progress-circular{height:32px;position:relative;width:32px;-webkit-transform:rotate(270deg);transform:rotate(270deg);-webkit-animation:none;animation:none}.progress-circular__background,.progress-circular__primary,.progress-circular__secondary{ + cx: 50%; + cy: 50%; + r: 40%; + -webkit-animation:none;animation:none;fill:none;stroke-width:5%;stroke-miterlimit:10}.progress-circular__background{stroke:transparent;stroke:var(--progress-circle-background-color)}.progress-circular__primary{stroke-dasharray:1,200;stroke-dashoffset:0;stroke:rgb(255,161,1);stroke:var(--progress-circle-primary-color);transition:all 1s cubic-bezier(.4, 0, .2, 1)}.progress-circular__secondary{stroke:rgb(115,73,1);stroke:var(--progress-circle-secondary-color)}.progress-circular--indeterminate{-webkit-animation:progress__rotate 2s linear infinite;animation:progress__rotate 2s linear infinite;-webkit-transform:none;transform:none}.progress-circular--indeterminate__primary{-webkit-animation:progress__dash 1.5s ease-in-out infinite;animation:progress__dash 1.5s ease-in-out infinite}.progress-circular--indeterminate__secondary{display:none}@-webkit-keyframes progress__rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes progress__rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes progress__dash{0%{stroke-dasharray:10%,241.32%;stroke-dashoffset:0}50%{stroke-dasharray:201%,50.322%;stroke-dashoffset:-100%}100%{stroke-dasharray:10%,241.32%;stroke-dashoffset:-251.32%}}@keyframes progress__dash{0%{stroke-dasharray:10%,241.32%;stroke-dashoffset:0}50%{stroke-dasharray:201%,50.322%;stroke-dashoffset:-100%}100%{stroke-dasharray:10%,241.32%;stroke-dashoffset:-251.32%}}.progress-circular--material__background,.progress-circular--material__primary,.progress-circular--material__secondary{stroke-width:9%}.progress-circular--material__background{stroke:transparent;stroke:var(--material-progress-circle-background-color)}.progress-circular--material__primary{stroke:#d68600;stroke:var(--material-progress-circle-primary-color)}.progress-circular--material__secondary{stroke:rgb(115,72,0);stroke:var(--material-progress-circle-secondary-color)}:root{--fab-width:56px;--fab-height:56px;--fab-position:absolute;--fab-mini-width:40px;--fab-mini-height:40px;--material-fab-width:56px;--material-fab-height:56px;--material-fab-position:absolute;--material-fab-mini-width:40px;--material-fab-mini-height:40px}button.fab,ons-fab.fab,ons-speed-dial-item.fab{position:relative;display:inline-block;box-sizing:border-box;padding:0;margin:0;font:inherit;background:0 0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;-webkit-user-select:none;user-select:none;width:56px;width:var(--fab-width);height:56px;height:var(--fab-height);text-decoration:none;font-size:25px;line-height:56px;line-height:var(--fab-height);letter-spacing:0;color:#fff;color:var(--fab-text-color);vertical-align:middle;text-align:center;background-color:#ffa101;background-color:var(--fab-background-color);border:0 solid currentColor;border-radius:50%;overflow:hidden;box-shadow:0 3px 6px rgba(0,0,0,.12);transition:all .1s linear}button.fab:active,ons-fab.fab:active,ons-speed-dial-item.fab:active{background-color:rgba(255,161,1,.7);background-color:var(--fab-active-background-color);transition:all .2s ease;box-shadow:0 0 6px rgba(0,0,0,.12)}button.fab:focus,ons-fab.fab:focus,ons-speed-dial-item.fab:focus{outline:0}button.fab:disabled,button.fab[disabled],ons-fab.fab:disabled,ons-fab.fab[disabled],ons-speed-dial-item.fab:disabled,ons-speed-dial-item.fab[disabled]{background-color:rgba(0,0,0,.5);box-shadow:none;opacity:.3;cursor:default;pointer-events:none}button.fab__icon,ons-fab.fab__icon,ons-speed-dial-item.fab__icon{position:relative;overflow:hidden;height:100%;width:100%;display:block;border-radius:100%;padding:0;z-index:100;line-height:56px;line-height:var(--material-fab-height)}button.fab--material,ons-fab.fab--material,ons-speed-dial-item.fab--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);width:56px;width:var(--material-fab-width);height:56px;height:var(--material-fab-height);text-decoration:none;font-size:25px;line-height:56px;line-height:var(--material-fab-height);color:#31313a;color:var(--material-fab-text-color);background-color:#fff;background-color:var(--material-fab-background-color);box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.4);transition:all .2s ease-in-out}button.fab--material:active,ons-fab.fab--material:active,ons-speed-dial-item.fab--material:active{background-color:rgba(255,255,255,.75);background-color:var(--material-fab-active-background-color);transition:all .2s ease}button.fab--material:focus,ons-fab.fab--material:focus,ons-speed-dial-item.fab--material:focus{outline:0}button.fab--material__icon,ons-fab.fab--material__icon,ons-speed-dial-item.fab--material__icon{position:relative;overflow:hidden;height:100%;width:100%;display:block;border-radius:100%;padding:0;z-index:100;line-height:56px;line-height:var(--material-fab-height)}button.fab--mini,ons-fab.fab--mini,ons-speed-dial-item.fab--mini{width:40px;width:var(--fab-mini-width);height:40px;height:var(--fab-mini-height);line-height:40px;line-height:var(--fab-mini-height)}button.fab--mini__icon,ons-fab.fab--mini__icon,ons-speed-dial-item.fab--mini__icon{line-height:40px;line-height:var(--fab-mini-height)}button.speed-dial__item,ons-fab.speed-dial__item,ons-speed-dial-item.speed-dial__item{position:absolute;-webkit-transform:scale(0);transform:scale(0)}.speed-dial.fab--top__right,button.fab--top__right,ons-fab.fab--top__right{top:20px;bottom:auto;right:20px;left:auto;position:absolute;position:var(--fab-position)}.speed-dial.fab--bottom__right,button.fab--bottom__right,ons-fab.fab--bottom__right{top:auto;bottom:20px;right:20px;left:auto;position:absolute;position:var(--fab-position)}.speed-dial.fab--top__left,button.fab--top__left,ons-fab.fab--top__left{top:20px;bottom:auto;right:auto;left:20px;position:absolute;position:var(--fab-position)}.speed-dial.fab--bottom__left,button.fab--bottom__left,ons-fab.fab--bottom__left{top:auto;bottom:20px;right:auto;left:20px;position:absolute;position:var(--fab-position)}.speed-dial.fab--top__center,button.fab--top__center,ons-fab.fab--top__center{top:20px;bottom:auto;margin-left:-28px;left:50%;right:auto;position:absolute;position:var(--fab-position)}.speed-dial.fab--bottom__center,button.fab--bottom__center,ons-fab.fab--bottom__center{top:auto;bottom:20px;margin-left:-28px;left:50%;right:auto;position:absolute;position:var(--fab-position)}.modal{white-space:nowrap;word-spacing:0;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;box-sizing:border-box;background-clip:padding-box;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);overflow:hidden;background-color:rgba(0,0,0,.7);background-color:var(--modal-background-color);position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;display:table;z-index:2147483647}.modal__content{overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;background:0 0;border:none;line-height:normal;box-sizing:border-box;background-clip:padding-box;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:table-cell;vertical-align:middle;text-align:center;color:#fff;color:var(--modal-text-color);white-space:normal}:root{--select-input-font-size:var(--font-size);--select-input-height:32px;--material-select-input-font-size:15px;--select-arrow-icon:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTBweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCAxMCA1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0LWFsbG93PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InNlbGVjdCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imlvcy1zZWxlY3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTguMDAwMDAwLCAtMTE0LjAwMDAwMCkiIGZpbGw9IiM3NTc1NzUiPgogICAgICAgICAgICA8ZyBpZD0ibWVudS1iYXItKy1vcGVuLW1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDEwMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJtZW51LWJhciI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9InNlbGVjdC1hbGxvdyIgcG9pbnRzPSI3NSAxNCA4MCAxOSA4NSAxNCI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=')}.select-input{box-sizing:border-box;margin:0;font:inherit;background:0 0;vertical-align:top;outline:0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:relative;font-size:17px;font-size:var(--select-input-font-size);height:32px;height:var(--select-input-height);line-height:32px;line-height:var(--select-input-height);border-color:#242424;border-color:var(--select-input-border-color);color:#fff;color:var(--select-input-color);-webkit-appearance:none;appearance:none;display:inline-block;border-radius:0;border:none;padding:0 20px 0 0;background-color:transparent;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTBweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCAxMCA1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0LWFsbG93PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InNlbGVjdCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imlvcy1zZWxlY3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTguMDAwMDAwLCAtMTE0LjAwMDAwMCkiIGZpbGw9IiM3NTc1NzUiPgogICAgICAgICAgICA8ZyBpZD0ibWVudS1iYXItKy1vcGVuLW1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDEwMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJtZW51LWJhciI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9InNlbGVjdC1hbGxvdyIgcG9pbnRzPSI3NSAxNCA4MCAxOSA4NSAxNCI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=');background-image:var(--select-arrow-icon);background-repeat:no-repeat;background-position:right center;border-bottom:none}.select-input::-ms-clear{display:none}.select-input::-webkit-input-placeholder{color:#999;color:var(--input-placeholder-color)}.select-input::placeholder{color:#999;color:var(--input-placeholder-color)}.select-input:disabled{opacity:.3;cursor:default;pointer-events:none;border:none;background-color:transparent}.select-input:disabled::-webkit-input-placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.select-input:disabled::placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.select-input:invalid{border:none;background-color:transparent;color:#fff;color:var(--input-invalid-text-color)}.select-input[multiple]{height:calc(32px * 2);height:calc(var(--select-input-height) * 2)}.select-input--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#fff;color:var(--material-select-input-color);font-size:15px;font-size:var(--material-select-input-font-size);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTBweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCAxMCA1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0LWFsbG93PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InNlbGVjdCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imlvcy1zZWxlY3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTguMDAwMDAwLCAtMTE0LjAwMDAwMCkiIGZpbGw9IiM3NTc1NzUiPgogICAgICAgICAgICA8ZyBpZD0ibWVudS1iYXItKy1vcGVuLW1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDEwMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJtZW51LWJhciI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9InNlbGVjdC1hbGxvdyIgcG9pbnRzPSI3NSAxNCA4MCAxOSA4NSAxNCI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4='),linear-gradient(to top,rgba(255,255,255,.88) 50%,rgba(255,255,255,.88) 50%);background-image:var(--select-arrow-icon),linear-gradient(to top,var(--material-select-border-color) 50%,var(--material-select-border-color) 50%);background-size:auto,100% 1px;background-repeat:no-repeat;background-position:right center,left bottom;border:none;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.select-input--material__label{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:rgba(255,255,255,.19);color:var(--material-select-input-inactive-color);position:absolute;left:0;top:2px;font-size:16px;pointer-events:none}.select-input--material__label--active{color:rgba(255,255,255,.85);color:var(--material-select-input-active-color);-webkit-transform:translate(0,-75%) scale(.75);transform:translate(0,-75%) scale(.75);-webkit-transform-origin:left top;transform-origin:left top;transition:color .1s ease-in,-webkit-transform .1s ease-in;transition:transform .1s ease-in,color .1s ease-in;transition:transform .1s ease-in,color .1s ease-in,-webkit-transform .1s ease-in}.select-input--material::-webkit-input-placeholder{color:rgba(255,255,255,.19);color:var(--material-select-input-inactive-color);line-height:20px}.select-input--material::placeholder{color:rgba(255,255,255,.19);color:var(--material-select-input-inactive-color);line-height:20px}@-webkit-keyframes material-select-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}@keyframes material-select-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}.select-input--underbar{border:none;border-bottom:1px solid #242424;border-bottom:1px solid var(--select-input-border-color)}.select-input--underbar:disabled{border:none;background-color:transparent;border-bottom:1px solid #242424;border-bottom:1px solid var(--select-input-border-color)}.select-input--underbar:disabled::-webkit-input-placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.select-input--underbar:disabled::placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.select-input--underbar:invalid{border:none;background-color:transparent;border-bottom:1px solid #242424;border-bottom:1px solid var(--input-invalid-border-color)}:root{--action-sheet-mask-color:rgba(0, 0, 0, 0.1);--material-action-sheet-mask-color:rgba(0, 0, 0, 0.2)}.action-sheet{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;position:absolute;left:10px;right:10px;bottom:10px;z-index:2}.action-sheet-button{box-sizing:border-box;height:56px;font-size:20px;text-align:center;color:#ffa101;color:var(--action-sheet-button-color);background-color:rgba(255,255,255,.9);background-color:var(--action-sheet-button-background-color);border-radius:0;line-height:56px;border:none;-webkit-appearance:none;appearance:none;display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 100%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.action-sheet-button{background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 50%,transparent 50%)}}.action-sheet-button:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.action-sheet-button:active{background-color:#e9e9e9;background-color:var(--action-sheet-button-active-background-color);background-image:none}.action-sheet-button:focus{outline:0}.action-sheet-button:nth-last-of-type(2){border-bottom-right-radius:12px;border-bottom-left-radius:12px;background-image:none}.action-sheet-button:last-of-type{border-radius:12px;margin:8px 0 0 0;background-color:#fff;background-color:var(--action-sheet-cancel-button-background-color);background-image:none;font-weight:600}.action-sheet-button:last-of-type:active{background-color:#e9e9e9;background-color:var(--action-sheet-button-active-background-color)}.action-sheet-button--destructive{color:#fe3824;color:var(--action-sheet-button-destructive-color)}.action-sheet-title{box-sizing:border-box;height:56px;font-size:13px;color:#8f8e94;color:var(--action-sheet-title-color);text-align:center;background-color:rgba(255,255,255,.9);background-color:var(--action-sheet-button-background-color);line-height:56px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 100%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.action-sheet-title{background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 50%,transparent 50%)}}.action-sheet-title:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.action-sheet-icon{display:none}.action-sheet-mask{position:absolute;left:0;top:0;right:0;bottom:0;background-color:rgba(0,0,0,.1);background-color:var(--action-sheet-mask-color);z-index:1}.action-sheet--material{left:0;right:0;bottom:0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)}.action-sheet-title--material{-webkit-font-smoothing:antialiased;border-radius:0;background-image:none;text-align:left;height:56px;line-height:56px;font-size:16px;padding:0 0 0 16px;color:#686868;color:var(--material-action-sheet-text-color);background-color:#fff;font-weight:400;font-weight:var(--material-font-weight)}.action-sheet-title--material:first-child{border-radius:0}.action-sheet-button--material{-webkit-font-smoothing:antialiased;border-radius:0;background-image:none;height:52px;line-height:52px;text-align:left;font-size:16px;padding:0 0 0 16px;color:#686868;color:var(--material-action-sheet-text-color);font-weight:400;font-weight:var(--material-font-weight);background-color:#fff}.action-sheet-button--material:first-child{border-radius:0}.action-sheet-button--material:nth-last-of-type(2){border-radius:0}.action-sheet-button--material:last-of-type{margin:0;border-radius:0;font-weight:400;background-color:#fff}.action-sheet-icon--material{display:inline-block;float:left;height:52px;line-height:52px;margin-right:32px;font-size:26px;width:.8em;text-align:center}.action-sheet-mask--material{background-color:rgba(0,0,0,.2);background-color:var(--material-action-sheet-mask-color)}:root{--card-text-line-height:1.4;--card-text-font-size:14px;--material-card-text-line-height:1.4;--material-card-text-font-size:14px}.card{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);box-shadow:0 1px 2px rgba(0,0,0,.12);border-radius:8px;background-color:#242424;background-color:var(--card-background-color);box-sizing:border-box;display:block;margin:8px;padding:16px;text-align:left;word-wrap:break-word}.card__content{margin:0;font-size:14px;font-size:var(--card-text-font-size);line-height:1.4;line-height:var(--card-text-line-height);color:#fff;color:var(--card-text-color)}.card__title{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:20px;margin:4px 0 8px 0;padding:0;display:block;box-sizing:border-box}.card--material{background-color:#424242;background-color:var(--material-card-background-color);border-radius:2px;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.card--material__content{font-size:14px;font-size:var(--material-card-text-font-size);line-height:1.4;line-height:var(--material-card-text-line-height);color:rgba(255,255,255,.46);color:var(--material-card-text-color)}.card--material__title{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);font-size:24px;margin:8px 0 12px 0}.toast{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:absolute;z-index:2;left:8px;right:8px;bottom:0;margin:8px 0;border-radius:8px;background-color:#ccc;background-color:var(--toast-background-color);display:-webkit-flex;display:flex;min-height:48px;line-height:1.5;box-sizing:border-box;padding:16px 16px}.toast__message{font-size:14px;color:#000;color:var(--toast-text-color);-webkit-flex-grow:1;flex-grow:1;text-align:left;margin:0 16px 0 0;white-space:normal}.toast__button{font-size:14px;color:#000;color:var(--toast-button-text-color);-webkit-flex-grow:0;flex-grow:0;-webkit-appearance:none;appearance:none;border:none;background-color:transparent;cursor:default;text-transform:uppercase}.toast__button:focus{outline:0}.toast__button:active{opacity:.4}.toast--material{left:0;right:0;bottom:0;margin:0;background-color:#ccc;background-color:var(--material-toast-background-color);border-radius:0;padding:16px 24px}.toast--material__message{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);margin:0 24px 0 0}.toast--material__button{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#583905;color:var(--material-toast-button-text-color)}.toolbar{top:0;box-sizing:border-box;padding-top:0}.bottom-bar{bottom:0;box-sizing:border-box;padding-bottom:0}.toolbar+.page__background{top:44px;top:var(--toolbar-height)}.page__content{top:0;padding-top:0;bottom:0}.toolbar+.page__background+.page__content{top:44px;top:var(--toolbar-height);padding-top:0}.page-with-bottom-toolbar>.page__content{bottom:44px}.toolbar.toolbar--material+.page__background{top:56px;top:var(--toolbar-material-height)}.toolbar.toolbar--material+.page__background+.page__content{top:56px;top:var(--toolbar-material-height);padding-top:0}.toolbar.toolbar--transparent+.page__background{top:0}.toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,.toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content{top:0;padding-top:44px;padding-top:var(--toolbar-height)}.toolbar.toolbar--material.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,.toolbar.toolbar--material.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content{top:0;padding-top:56px;padding-top:var(--toolbar-material-height)}.tabbar--top{padding-top:0}.tabbar:not(.tabbar--top){padding-bottom:0}:root{--iphonex-safe-area-inset-top-portrait:44px;--iphonex-safe-area-inset-right-portrait:0;--iphonex-safe-area-inset-bottom-portrait:34px;--iphonex-safe-area-inset-left-portrait:0;--iphonex-safe-area-inset-top-landscape:0;--iphonex-safe-area-inset-right-landscape:44px;--iphonex-safe-area-inset-bottom-landscape:21px;--iphonex-safe-area-inset-left-landscape:44px}@media (orientation:landscape){html[onsflag-iphonex-landscape] .page__content{padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape);padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape)}html[onsflag-iphonex-landscape] .dialog .page__content,html[onsflag-iphonex-landscape] .modal .page__content{padding-left:0;padding-right:0}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .toolbar__left{padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape)}html[onsflag-iphonex-landscape] .toolbar__right{padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape)}html[onsflag-iphonex-landscape] .bottom-bar{padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape);padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .tabbar{padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape);padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape);width:calc(100% - 44px - 44px);width:calc(100% - var(--iphonex-safe-area-inset-left-landscape) - var(--iphonex-safe-area-inset-right-landscape))}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .fab--top__center,html[onsflag-iphonex-portrait] .fab--top__left,html[onsflag-iphonex-portrait] .fab--top__right{top:calc(44px + 20px);top:calc(var(--iphonex-safe-area-inset-top-portrait) + 20px)}html[onsflag-iphonex-portrait] .fab--bottom__center,html[onsflag-iphonex-portrait] .fab--bottom__left,html[onsflag-iphonex-portrait] .fab--bottom__right{bottom:calc(34px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait))}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .fab--bottom__center,html[onsflag-iphonex-landscape] .fab--bottom__left,html[onsflag-iphonex-landscape] .fab--bottom__right{bottom:calc(21px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape))}html[onsflag-iphonex-landscape] .fab--bottom__left,html[onsflag-iphonex-landscape] .fab--top__left{left:calc(44px);left:calc(var(--iphonex-safe-area-inset-left-landscape))}html[onsflag-iphonex-landscape] .fab--bottom__right,html[onsflag-iphonex-landscape] .fab--top__right{right:calc(44px);right:calc(var(--iphonex-safe-area-inset-right-landscape))}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .action-sheet{bottom:calc(34px + 14px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait) + 14px)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .action-sheet{left:calc((100vw - (100vh + 20px))/ 2);right:calc((100vw - (100vh + 20px))/ 2);bottom:calc(21px + 12px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape) + 12px)}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .toast{bottom:34px;bottom:var(--iphonex-safe-area-inset-bottom-portrait)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .toast{left:calc(44px + 8px);left:calc(var(--iphonex-safe-area-inset-left-landscape) + 8px);right:calc(44px + 8px);right:calc(var(--iphonex-safe-area-inset-right-landscape) + 8px);bottom:21px;bottom:var(--iphonex-safe-area-inset-bottom-landscape)}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .toolbar{top:0;box-sizing:content-box;padding-top:44px;padding-top:var(--iphonex-safe-area-inset-top-portrait)}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar,html[onsflag-iphonex-portrait] .dialog .toolbar,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar{box-sizing:border-box;padding-top:0}html[onsflag-iphonex-portrait] .bottom-bar{bottom:0;box-sizing:content-box;padding-bottom:34px;padding-bottom:var(--iphonex-safe-area-inset-bottom-portrait)}html[onsflag-iphonex-portrait] .dialog .bottom-bar,html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .bottom-bar,html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .bottom-bar{box-sizing:border-box;padding-bottom:0}html[onsflag-iphonex-portrait] .page__content{top:0;padding-top:44px;padding-top:var(--iphonex-safe-area-inset-top-portrait);bottom:0;padding-bottom:34px;padding-bottom:var(--iphonex-safe-area-inset-bottom-portrait)}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .page__content,/* if wrapped with a top tabbar */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content,html[onsflag-iphonex-portrait] .dialog .page__content,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .page__content{padding-top:0}/* if wrapped with a bottom tabbar */ html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-portrait] .dialog .page__content,html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .page__content,html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .page__content{padding-bottom:0}html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content{top:calc(44px + 44px);top:calc(var(--iphonex-safe-area-inset-top-portrait) + var(--toolbar-height));padding-top:0}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar:not(.toolbar--cover-content)+.page__background,/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar:not(.toolbar--cover-content)+.page__background,html[onsflag-iphonex-portrait] .dialog .toolbar:not(.toolbar--cover-content)+.page__background,html[onsflag-iphonex-portrait] .dialog .toolbar:not(.toolbar--cover-content)+.page__background+.page__content,html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar:not(.toolbar--cover-content)+.page__background+.page__content,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar:not(.toolbar--cover-content)+.page__background+.page__content{top:var(--toolbar-height);padding-top:0}html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content{bottom:calc(34px + 44px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait) + var(--toolbar-height));padding-bottom:0}html[onsflag-iphonex-portrait] .dialog .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .page-with-bottom-toolbar>.page__content{bottom:var(--toolbar-height);padding-bottom:0}html[onsflag-iphonex-portrait] .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,html[onsflag-iphonex-portrait] .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content{top:0;padding-top:calc(44px + 44px);padding-top:calc(var(--iphonex-safe-area-inset-top-portrait) + var(--toolbar-height))}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page__content,/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .dialog .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content,html[onsflag-iphonex-portrait] .dialog .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content{padding-top:44px;padding-top:var(--toolbar-height)}html[onsflag-iphonex-portrait] .tabbar--top{padding-top:44px;padding-top:var(--iphonex-safe-area-inset-top-portrait)}html[onsflag-iphonex-portrait] .tabbar--top__content{top:calc(44px + 49px);top:calc(var(--iphonex-safe-area-inset-top-portrait) + var(--tabbar-height))}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .tabbar--top__content,/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .tabbar--top__content,html[onsflag-iphonex-portrait] .dialog .tabbar--top__content{top:var(--tabbar-height)}html[onsflag-iphonex-portrait] .tabbar:not(.tabbar--top):not(.tabbar--top){padding-bottom:34px;padding-bottom:var(--iphonex-safe-area-inset-bottom-portrait)}html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content){bottom:calc(34px + 49px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait) + var(--tabbar-height))}/* if wrapped with a page with a bottom-bar */ html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .tabbar__content:not(.tabbar--top__content),/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .tabbar__content:not(.tabbar--top__content),html[onsflag-iphonex-portrait] .dialog .tabbar__content:not(.tabbar--top__content){bottom:var(--tabbar-height)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .bottom-bar{bottom:0;box-sizing:content-box;padding-bottom:21px;padding-bottom:var(--iphonex-safe-area-inset-bottom-landscape)}html[onsflag-iphonex-landscape] .dialog .bottom-bar,html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .bottom-bar,html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .bottom-bar{box-sizing:border-box;padding-bottom:0}html[onsflag-iphonex-landscape] .page__content{bottom:0;padding-bottom:21px;padding-bottom:var(--iphonex-safe-area-inset-bottom-landscape)}/* if wrapped with a bottom tabbar */ html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-landscape] .dialog .page__content,html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .page__content,html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .page__content{padding-bottom:0}html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content{bottom:calc(21px + 44px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape) + var(--toolbar-height));padding-bottom:0}html[onsflag-iphonex-landscape] .dialog .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .page-with-bottom-toolbar>.page__content{bottom:var(--toolbar-height);padding-bottom:0}html[onsflag-iphonex-landscape] .tabbar:not(.tabbar--top){padding-bottom:21px;padding-bottom:var(--iphonex-safe-area-inset-bottom-landscape)}html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content){bottom:calc(21px + 49px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape) + var(--tabbar-height))}/* if wrapped with a page with a bottom-bar */ html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .tabbar__content:not(.tabbar--top__content),/* if wrapped with dialogs */ html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .tabbar__content:not(.tabbar--top__content),html[onsflag-iphonex-landscape] .dialog .tabbar__content:not(.tabbar--top__content){bottom:var(--tabbar-height)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset){margin-left:calc(-1 * 44px);margin-left:calc(-1 * var(--iphonex-safe-area-inset-left-landscape));margin-right:calc(-1 * 44px);margin-right:calc(-1 * var(--iphonex-safe-area-inset-right-landscape))}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-header{padding-left:calc(44px + 15px);padding-left:calc(var(--iphonex-safe-area-inset-left-landscape) + 15px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item{padding-left:calc(var(--iphonex-safe-area-inset-left-landscape) + 14px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item--chevron:before{right:calc(44px + 16px);right:calc(var(--iphonex-safe-area-inset-right-landscape) + 16px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item>.list-item__center:last-child{padding-right:calc(44px + 6px);padding-right:calc(var(--iphonex-safe-area-inset-right-landscape) + 6px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item>.list-item__right{padding-right:calc(44px + 12px);padding-right:calc(var(--iphonex-safe-area-inset-right-landscape) + 12px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item>.list-item--chevron__right{padding-right:calc(44px + 30px);padding-right:calc(var(--iphonex-safe-area-inset-right-landscape) + 30px)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset){margin-left:0;margin-right:0}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-header{padding-left:15px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item{padding-left:14px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item--chevron:before{right:16px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item>.list-item__center:last-child{padding-right:6px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item>.list-item__right{padding-right:12px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item>.list-item--chevron__right{padding-right:30px}} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/css/all.min.css b/Server/www/spiderbasic/onsenui-css/font_awesome/css/all.min.css new file mode 100644 index 0000000..e1cd156 --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/font_awesome/css/all.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/css/brands.min.css b/Server/www/spiderbasic/onsenui-css/font_awesome/css/brands.min.css new file mode 100644 index 0000000..94ee6ed --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/font_awesome/css/brands.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:normal;font-display:auto;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/css/fontawesome.min.css b/Server/www/spiderbasic/onsenui-css/font_awesome/css/fontawesome.min.css new file mode 100644 index 0000000..13a472a --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/font_awesome/css/fontawesome.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adobe:before{content:"\f778"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-balance-scale:before{content:"\f24e"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-handshake:before{content:"\f2b5"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-wizard:before{content:"\f6e8"}.fa-haykal:before{content:"\f666"}.fa-hdd:before{content:"\f0a0"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-instagram:before{content:"\f16d"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-nintendo-switch:before{content:"\f418"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-volume:before{content:"\f2a0"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-tripadvisor:before{content:"\f262"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/css/regular.min.css b/Server/www/spiderbasic/onsenui-css/font_awesome/css/regular.min.css new file mode 100644 index 0000000..57c1bb5 --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/font_awesome/css/regular.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:auto;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/css/solid.min.css b/Server/www/spiderbasic/onsenui-css/font_awesome/css/solid.min.css new file mode 100644 index 0000000..579769c --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/font_awesome/css/solid.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:auto;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/css/svg-with-js.min.css b/Server/www/spiderbasic/onsenui-css/font_awesome/css/svg-with-js.min.css new file mode 100644 index 0000000..29c9bef --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/font_awesome/css/svg-with-js.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;transform:scale(.25);transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;transform:scale(.25);transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;transform:scale(.25);transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;transform:scale(.25);transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;transform:scale(.25);transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{animation:fa-spin 2s infinite linear}.fa-pulse{animation:fa-spin 1s infinite steps(8)}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/css/v4-shims.min.css b/Server/www/spiderbasic/onsenui-css/font_awesome/css/v4-shims.min.css new file mode 100644 index 0000000..e519a2d --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/font_awesome/css/v4-shims.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.8.1 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f15e"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f161"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f163"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-cab:before{content:"\f1ba"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-spotify,.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.eot b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..02a5ecb98ccc83e8bbb6cb1599d78f71c27ccaaf GIT binary patch literal 129916 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 + + + + +Created by FontForge 20190112 at Thu Mar 21 16:19:01 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.ttf b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..3926cb172804b86fcdff50446641cba09fbd2bd4 GIT binary patch literal 129612 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 z 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ΞuF%HBBD7#VPD=R( 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 Jss8br{{eE*sEz;t literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.woff b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-brands-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..7bcc97eaeb7e793dacf0edbd6ba6f2c9345c0c13 GIT binary patch literal 87688 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 z z0$oKjmrpS;u=v&RYw1x10>1FKhu$k)Uq;9Kvqp0uHXg8 z08cSc7MzsC(?l|{nRae6)lhgME2M{qI4=rDL^L_9RgH{)q()Dn-rWH_SHk(4_E4)t z!iCU?r>a&pg4Gx_bnO}y#XAWyuT>?ZfG%W4TpCQ$X}adE@jHWH@?0#waE4JK3dvc0 zhXnx(Co;hdyznAMKpFD%mV&V0VRyyrVNCsrhbGVyZXg_5Q<4oXV9afDyk2q=LaDS} z$%R5hl|W#PCIK^`Jx)kqmT|kH6lX@D82~E@`gn%K@st+|gUBEw1%R8Ho(l(xwjn2u#~kBrWS7Cp_IcFD;WF-#8Kxbl zkhKo3XK(j1V9K5?03;`lse|cvM(%s`6GAUe5K7|Jk4iJS4pB0ens(i{0%Q4|(ytZ{ zh$~d4<_&!3J3?#trHt^X4(Vi)XvTen7SWIaZ~4XH7zYh+LhI1xi^wcLni5^X}2o5G?g zCcq#yh-GPZ5aN!4Dcz1dOd7d9spiE36l#c*966^rKRE^AdWeF@?af|fj zfzbpo1Od;`UVXbnyW|NsCwL8}UkgbUu59Dn`?(&)W{z3o5CDfPl&4PUa$AeX`^B1( zlO&b;{?79YJr6&V8;tw>}1SjMg~yD%7d) zOOF*dQpygOr_y`~(GDY>7X>pGb=ZgrJ(OW4tAH=y07=71{Gu4t;K6Rk8gj}M#KYs$ zWA?N(M${}Ow~@q`TRn^Qwu^Lp-kzNw%$D$2nqpIAdr0T!DDT?9-hok1xAwN*of{Qm z!V&9FU-)K-YSCU?Mb^Au*A17WICbCtwph~ocqpSvXz$eJQHpd{pIsupn||6=DZc8E zNy|yq!M8K3##j+6$?=Us{JT|TD_zp0bSfB#Lto3J!DNWdygDD1g*XF1Jj<8UtLk${QdiB(ug^hMW-~Yr_m7 zo|Y-%w~1fl z2mmmD>^@f}rsl+(tQ$B*l)%MIE_27bdG^8-dAUt5tF6`fJ+7}wqZUKr1*)(+Dcvn4 zlwb}<bSz<%%`mdiLM9N+u;D@61zHG&a*>CTmojh}Pu6!zl%#@>*4_;D^m890mgRbyv}TmzX&IP)AR zixqQ4#Wl3fcE{sir_i{oD;bL;iaE9sFH3mu?(XLtRe0-@lsOq-JWb$pQm_i-zvEkN z`w;dxnO|x3EOQt<3@H*HH!n(U(ta#A*?6DfcJ245X04;|H7}Od4BwlX_-=hBD}zM( z@LZi#9EY=|b#vCapB!L+Xyq8eNgEmh%cVR;qu07@Oaj!s+_}XJtLO_gx!eWsVOV|HfT!q}E~1zlAA|KlCf>!S)dXC*T$X9Sm-6T*f&P3!c9=ph9j*YgvOitPa34@tV;hVWi!#2e&wbQzNGJx|t@%_V(WM|t4H=th9 z?q7!)>@1uR=iW}MgkpiG3TTP)p`9Ycqs$@!Kw$t*5}(jzK)1ZF7z}j}Vta}m0>EA? zZU6Q-w1xlzXQWzjJ6904p&<675xYmCh!V9}D<{LSJd|@ZzB~I@l zRJ+N>le@Q%cF&LZBfZ1&-k@Aps72iDUwgLlizr*-@*FG>cG|cs=^YWoYl0--#_}biuhVpiQ@@lvKFq8^HroxjVx`l{!Kd$)nU}zFe;{{&&R8k!Bj8 zIBlzCR~rPrta3kyor^b$<}!p8CrgDU=6-qjNs2Yn;hK6K0d#au-ka$)TAKhRm85ZEyks$e-H$sLrGS; ze?Gb)29m8)`6f{|qNo@&`P&49!=7|_b66~P;{NgI#$cLToV*fjrLSKnuhUa*>*3)j zl?4Ck+E11`w$vEa^E88<)qn4~$f8rtByKgbCHmVJXCK)PfBMAzLs)$*cVl%?#=D1~ zUWiAIZC&A&Hh$*YH}mb@jmq(zgf~E&@yp*vh3Q07!_|wWJ*({=l-=`Y?Y}mn^bvQJ zjr}`juD9-12Rj$NixuvD@jqsFWLTQ25av|Mo3EAK2y)&7w)akD3Nvz`Gb z99fL_x~|tOO)J9A8Ur})SigBkB%+A!`K;h4X}L%w>$tVIReEk&Y=nvv#cayPHuTR1 z0QpoNiNf+UcLP9nD3Ab7dM=kPkglx5Gd(l(0q#*$6OA#bTZ<|z`5G3aTItxG4K*(> zlGd+(` zjajPK4I6&`EJEz9|5P5l`%QT97p#qgokxWcmyJ?=j}brl330S03sw(|)N1uu+Qpzu zaLHf#!BQK=iMNk6e>Ew8t5kB1#=BomD9g!)D~oG{*~^uF**DO7`+9W}K&Zd5aSOp6 zYz9uxEV!{cp5yQP|g;UIV+#ZYJ&wAlD!~fH7;LJLf737f&qD zc5*%guze1bSluqjvexrCYOYbqqUdb7#LGk4PThFH5k^0~>794=`n)eH9p|QPEWUf5 zEaqDEviSpy$YM9z3z7DQJOsIE^Gdy1ykH^*$yPp1%)QQavMMo6xv~R9Q4ShX2 zLw$+VemhrAEOOZrz0f#%WeUu^`B4fY6-&W$F%jr)-Mb&9Ec$i~t#CEX>E4!;uJ8i* zL}76ZY!@kXs~5P_GV`w}4vairNn+xLBr)G%T>E{EMh`oBv)_t}tS;MHzP$JhpDGh(Miar19qyqP z-+wg~?;f9=Jm_^FUOV>6)%3ep-og6Q7fnePph5ES>Ca`Mi8-b-sFmh9wG}o_&<{=( z7pjx$AlMkDSks@8Qg6stq5~bR|7pU%_-<1*nK-Uq+<1}+WkCcP-v6R+Cb@J2-L87Q zB9C^InVnx^qNyq^fqA&09ER_=1prnjp2Stb@|u*8X;KAxSh@WC0%0%ccZ4d>X9+wI zWWhcQgfQjXE|2k4Hb&KUu$pv98 zYE@CS)=$>q(b~shk4}t!^)Yf$WQ?H#(%@oVARfj^?VF}XSh$QCdhf_t3TcEjz&#ii zj{;e_-W_A3T2cMbh3^ODiC?&hN|G3Kd9gcp_dY8f?6~Z;0Tx{p${`dogOgk~fuaDj zW*6f|tV+43Xa~oAO@djV+?hel*IM%zq#-z1U8r`B`d>CN5#wmM?6au#&(}J?`7kok zGaB_yFOvG{-Azr%I7+t0)lQ!~81H^dJ?*Z?CZ%aDnmr%6Pz%A+ZErcUIN=zuQQbRf zWGYzEt;J%61ys}9aAsjw8)SK@fS#iLw)_9Ej9ai8a_|?zW2^f$M{!nPaDiSGGOyNx z$X!Omt-DhH=@t~ZR&e#Rl_O1zq9N6H4DUSh0erpdCy1za`Yk?#fbu>oYQR{>jD61P=N&)6ZVL*x=Ne<%EBO z`&h@)%`DcFjz#9;&N^kd!@9S}ys!?E%KpDhN!`yRje|z}lv)f;ocI+RZ4@}h5LqH% z2N^<#kGbxu{_7d|2Uf~&`4zb88x*Y0P7Bh%*K9^$*U1Yz7-SA5oMqCQk@@A$u~ zPmnff%T4^}_+>f-_a3bA$tDmokD~=aO)e)KP4^-3YavIc%+u9|yJzaG8SPP=&QTOR zSEA;(cZV8o3FxmqJbb-hb!zW7>f2gg&hYcY)5NMIr)J0-`+I0T0d)Y!xabr z#3|jf+FF7Tm1{bqIaR~f;#o6YQ&{b{2BE31e*sqRGN(xiGmX?Qt zU8uqrtS0|@L3kokh`D#Qm3SPy>aua{ut$_9tk&b| zi=e{Q+W4qbJnAt5t8^#>{@t+8(fOcd1d$hH!okoz5xJwO*kY=z97=|!Xtnoe9-^6l zh;6rccV8R@2Pgs8A}$=k(q#o&z|2dRk1E4gBwE)Ja`9v+$dE3ZnR61I1rZQ0x6AM4uI$d!L4C2!y0 z=~6mE(tgk8_Dv7()6LWJUUYl8_Yk%7bPB_XrB;q5`1fav8xo~DV?iWCI60NUf|1Z zQ!2lRAB(3~=Qq{5E^wvQW|Q->SI1HEfbWGED$!PGaCM_Cyhh&f zw4FtAZ2=g|_0Ab2W?OSLzn}9yOI~!*nggj< zDslYX8IJJG69na+aF2*@=!*}k1{tyz>{!Ic#ijE!2saT>c2FIByI>3kyqc3Y#{^cs z2l~mAaV{cF;+^H1sV^m5+%~Fc`G09^Ws!uN+g7n2dK59$DYXsfCeqp;F+GH8nN%qH zJrWazmx~{HC5fXk{j`lbg=}fsPE+?sVkTjAVpktPXO1LvSoK0eTPacQf?o0Q=OU3{ zAnBeq?$q$Zefgr+*%Q}&-Bp0->~C1{GxbtcN-tdFcevfr$9U)(UxO`|zF+&(-G&i$!i@Y?yV06IU^J~Xb;xCtBsXe=kBiA4)= zJp8t%L(FuBAx0ie02fp?P zHDZ^056-cBJ#iczVbwB6wTvt@;Bd7GleF+aBy{m*_z`avD?6|*Vbx7ZA2R{QR!K_)nxORO%DFA39Ng$1z-|zfA5% zAq*)eMmzVo`&WF|_+L6?r8t7TJ>2bkH!avZ>b?Ej^cRtxL!aQtK9CNN`!2#XwSfdkK1-R~^VVr5}EwLrerS=`y3$Hq`uX(&CAz4XkF+ zd#uj{>?w6AJ}Gs0_%sY1)#sp}_H9E{O1mD{YHLhSBclo!o@fj$GakS010C`4U;2J! zunZZ3>3m66u)mzIfr!KdD-NN@v2Rl(nOfi#J{AzgtJZL)qD*EdNY^fYyr4z+jg+!K z0RZn(<5!=agS456+tU-+j=RNYYf-(+DU6Wl7v9gkZxeX$AvzgXM^`M{*4IRxB}q8G z%1j%jdYRmumQhu*Z%M{>7LwK><&yTGeGKBPK_<8*}^0>?V`!UhZDqu^#c_S9%{9R!%ZtIv9U3c>Bn2n$!d3vn{!|qLp2P)hDt@VTo`jj zcyecP6q=*8OIA5L<2ADW%pT+W~(rJgr+;M`(#6W`_XbuX)b3DIr{O6*G zR)mDsI`5)Ci@lvXiwlgXN$7j%MJOwbno?HOi8mq(e4*$9)?#!Tb|aREaMaZxO5qlb z3=XERU<0;^{MT}_$@On+b|TDKmf!e4+=0XYqbBc0L;o))&Ee{_p-+{e=LBu$Q^Jbj z_W4+9lEou-tt-VGI%qm{h*NrJMUtUv5fB+YoU}BMf=LAzsL2km9E(vMH!EVluI|sRV)W%|~QXSano7RTkXQobLsZW2^z&g75|^x1!vFhyY+KrJs3z%N!0`v?Xc#w zCr5S+L>j>jmc`tuwhz>$h58m}>IR+OhBu!JGi}~HVdpBQCX*}^m@&@FFkXF6MjB|D z_JRd{aO>v#oQOa|0KsAk8h6mXKKSxoq47DQ?O7ScL>CPdRniaBLwsH1LZZcVpS#DN z>7CtDqaxB{ATAp59sAI-Q0joV(%W_AO7U^&xumobK&@TM5+?EKNvUb0{3M}!;?l$= z74`$6I>}EKu$Hm}$^7|V_TuMzP}DGX>}!mHJY_>OxiGj`jQYd*?o8p+I0Smh_L)`1 zp%Q_+${KD4nVpRN4*MMs&^@QpH#%Gm^aG9?=^j3ejSg&I&sX&Qg6mHwz7tLK@sPYC zIOFraB{pG)RlUC#taKTAPcqj zN$5IrfN#0Uf^{v{`O6$)0v9A`MXjT=+6CGx4X!%0hXnk)1ihD!#n$d=U-@g|k4-=S zct)qtf7#a03Ci|}Q#_;5pJ~CXeWjh#%Zf_CQIxAwX;i;ca4{mk7$0?Nx=Lz$3PsIM zdglwS&1OEtaUQO7Fql16Vk2B4Z3v)JVkhGt2yd2$cwxl_6_b`o4d@|L9J5}rFrl%2 zetc4#f{r0y#yKX`Dik^`hyhxiLUCRL7%BK1#o)-a-GEo9)ln@}omQ!P5cxoto6(c(ixU4^_J?auRg+XqdWJb|giJH$ z{A6Rz*5IIEORx)0_A|#gJCx~@h;#tWEa9^4_J{4WE5{6y2QltJ9`*<9?f2W4q4!k* zk039!AdL3pmU?!X45<(Ju`6XBCnZy@@-WzkN8mrOe&Zu&1lr?&Vt>SM_fV@m6M`Ow zBz*!(%)h0PUvo{jap0X*Re55>85p8~eq{__ZHGZqRxBrZ-}W4xXUB-gMDguJ z6bg+x%_mXfOLst#C@f)R&g(i9AA#%A;3iS=8HqBL9~*bsqrp0E*Nt9# z8XBCLW2F)>09*a#>1POp$8^@Gb99cD%A&Zq+H$j;t4-bAS%21D^8K&1s|e9L1x4&G zBd^nFk&zO0JW{T$@${8Uze}X&v!s-SN{yDANY6d~*S8`9?#yuTMtDDy6Luy4j=OW; z`c~W%02;X306DL=V#5KV$``ybKmULj`v2o6CMs66W+f&(kYYlc*K4&8B&rrf>&2n)JR2y!go{ty6P0gnOJMQr>m1M_S+y&ML=TSzE8cnUjM5| za-Rqa#!vNd3F9Ybgcyt=!I3dRL7Mn|{91#8`#;!N%(Zt{df3_6JXd!oVTYT*J)9_9 zFgW69a_f{hdYntEv-47pS6JFurm$>*izq03qKLAXHbU|FEpg;xwbBAK_;^ICuBlOL z6FUl+aaj%#**xK5qBXdx(b2Imw$KquNURF!^h4Lo?#P=HAzNR*ICtUvjsN@|13GHa zRT1pA7xfCQQj06i497Vy!Ey!LWA|^oagW7v{Qf=55!G?-#?Q=(Nvckfd9V*r_(g;` zf0b4)lNcp3DAr^a)Oila1?dmGsOY|ny;jkCWIggh8sX*OMZJMC?xDs|`1#oZv+Tx6 zL=zg;H<@ekw%V&PBN*b^7`FnS|GrT$Co!3)XpgS`&V@GjP>(bjU*6utoL6$f1l*|c}*tAS_5*A7+R*9U1 zM6-%j^2dY}Td}NEcrtrK@Y`!J%4A6JLb?Z`RjZJg7cAuK30AU7noTvyw9M`xS!qfztsF}5c?h3wW+A#yq3m41IB&Xu;%02r=WEt_x^-LuyiclUjWA(ZB8kbmaA3v3+)2}6E z^G%<*Qzo%I1SFah6deG*+s`K~CCvY8$(}uP-#%nVTEy*x+$$oTh%bQMU?$Ev5_w)%aC%xZ;M$=)Z2> zy=Qt;1Kv@a#0k42$48Tr)^O#J_vU~);RKd{_}b zxHu023a9op6!reWDCo;83#pQcO(;ig7M&54-!bn}-krrwG#cSZO7i%&Sz9nTMpNUo z0xO_gI%Z9dXjyC-OT~ObZ?2Ju&(Ku2*UvNvL2Y-d=vo{opFR`V_k5wz`*H#v{aUfn zZuYqsUvnn>8jcSf`ZYD%w#43UX?H_}ge>mM4Y>4c$|3tXL2ipz{CboV&_}0zi8wb~ z`uot_Uzc)O2U&ZLITIdC4TCyUkN5OgLi3V_YleO`n`}$%?3dWGTh^{8Xs+_EE@7Qd zf*IZ4T{*7byCuP&>j;|dWYYNesp>vQ#Q~jfN2BxY=luoire{tAN2@1#Zs5z= zs8D18RgB<+aN!>%USw>s1zbQcoj9|pPz1MCt|%6nV40>Si`m== z%MzK2S5$&lwmv&m#jy5b=opXKCDt!iU!84^sEXa+TCF6gSONm~JnQ^`C;l_meLRcRD@CFeMXQkHVG^tG)mOe|LjD}59u}Sg!*Yei zVzpZ>FN<6wx-6drtUFxloDvk&R6v*BV?0mgbuLoxxxO|-Nb<^`}8J9uz5736!-NHJJmWihe2y}P4dE+?>{9^hu zEYYLwUCjXxi^X+I(0E|p*LM@Jywzn-8Q*R7z*i`04SMK2J2b78KzDt5+V61WY6u!1 z;*Qfe%Zhf&P=2_0A;J-t6d!{l&Bgoigf4PFrAh@{%YFJlFFh_WxU?Ojelvu&{xU5H zpO(&?1(BqfR*_DM6?CIff)rkYCCe6LIOuXe`(=$c=NrzS=ZU}rDrI4C)`W;te@`GJ zW6v?Zn9RW5X?D{SvvhIzjU^S$n<+xnnqXo6wL|54#HpW~%!1rC-A3e~ji3R=G zO$((KxFao|U%g$sj&c@kD!w)i*VHQ{j#?C`Ui$6bgIq{UaqtVxaq{KF4ocx53*ye{ zgKAsqC^z1_d>+)Ze4#9qe)XX&93pNy2Y1Y{P{c4lqhG>6nd&WLNG8bQP6}cPNGh6; z)J2t8F;XinX@h(a86}hcW0#4{TgA;?Lw`UN(|*6t@gS59j_+mRHeBC{LcH|gO*y@AuamKQ%nv!X;Q3u-zKQ4} zpv}WX3dUy&yx4pSc!EM+q>>R;jrBt)K7};i*Jsd)!+2%FGX82RZqZYmt{Fj= zbB&2mAt234L4z+gt!3Pvw0AX0VDe;n9>G$|8eN!20pUHll$c&&Z_KG5TOMC-m*yhH z=}htRbBb>_$q!#WiHaD%>9Q^!GE;LQFgVqjT3+YDsikN$dahMa=qbqPkBNo1SOp^6 zwV?}|>~Tx0oR&osf|W~MhGOR+T_sI7<@QLAYD(|QxxMzI$mHPc3a)a#ik_j^a7QsE zz5~}o+J0x9rL;;jkyi5sMnF^U6i&z5Y#r2gS+>=&tiAibsl~B`rmEpbC{w94R9z!v zz2NqI7@eW3@;8>cqJ@_0b2UXCWq!&HM54a#N?nmBpPcaoBT@fYT@@$%aHz=j-`zyW z{)&Pg-_*vbQGiqbO?KdWBT+yf*`WvuXmf~N+pt60bmAWmO?sMnbFn~MC53;Gg(KxO zib)|cw6Vi$3w5<=-zOGWKJ!V01zRHcFjm%k?h-`74%>I_p<}iX@W2*m9&@Pc&guD# zQgD!ICdPzNKwEE-I?gykE{vRM=JPr;_mjc>I*Qk5{J6+1>$_ zd#Y*wa~xx+u6xg!X+zQUZ|&XtP^#C~VqejH3!mdzyY{1WpEWlY4uto5GshH+-6$LP{UmwrDS(dmoBzOO@&@7!J^b=O}Fh@mpM;YXk9MM{Tr_-B!Ft~6P zhZujkk;MFO8Oz25{iO34;E4$&aQz)tmf=W`q?BE%Y54)k=VN_vd6Nt}-#?+JLJv>8`ofnGGDpG3 z{uXMQ-o0D+2cNEJitX8 zxLaG-zbIz1RiM>|Y6aPxWEa7W4OpHT5MZsVv%XY$mR>g8O~&4cg$&G28iYV6 z4>4x7iGwXpU&^=Q!8|0o1LOP(>;Gaq#vK*uiawIhI5h19cogcgEeZG4ie^ZalI1)Y z-in!N>~bK#w2jYuE+z{>8r7Z(5mDcOku_~zlDAcdCaxtAt{J}q2-R1Uihm$F9RlEt z#O5G~Xi62TYxR+QQxY2MkHLr>b;?4sB3@Hmg7CFUsRqkY0hF+z26)>xMIM2G z5MK^)&FEyq-llN3cJINl1M=PRW=nFsH6$a090bCtYH2{ykw zHJt)@5wa2lprfb_29YP_Xm{y>2&5zz7HyQr8y`Bv8y-0tjN!5HH?qm}vTraq@pb%L z_*#IEm+>lx+cP-x)1`}N*>b8xd)JGqyJAH%cdxA!?Ub@Yo>wRa-qlQLQfDAr3nfDx z608!REfznxT%9)Ye$Z|r{o+==I~Nq7;oCvSy+Rjve~gpa7yE{FcZc~FdrF|NjH?l< zrAt*2SAnOP{oF6Ct1Ha!xtM(pPjLd?y$g`e1^lZ$N{y=`GQwx7&l07OmHl=h$P;aB z`?_0c5kdOAJUt_MS0%a|Wj~$hN|en$n1bv?1pw$wD^roHS`@^$My+BdA)lbeQ9_-1 z0&GHoAYUH%KCsq!KX5khLEwXKhVg-Mo_f_UU?=Ck@!g*H#`o2s?*rfMwc#WGfOIY;X-WU*jso2!8SKlMOR zs&+Kljz0@(IY;IxNCT0Xd^s0w2{B^4#@Tah!IRtvxhrX;g`}~B<1N9{g4u16)Ci_q z+H&uTtmK#n8}VZN)tF2)Zpfx*Uu3Dg*vcL;yL{?Np9vnf;D2*taLG6wS1EdT8QN*T z6aGj1Go8N;b^X`D)f#AN@Ybq*go!n?NHzcB2A$Bn_`-t&;o1YhmSBb9-553YAB#BD zS!ND5hkAW-v*yIM19oMu8(cx7`71zJ{kR$46HFD+hEOD_$0kyrkgIxowlnNHJ@tkkr49`)Pg!%>@vEJ#?b9Y{t_ zc#sPS-*3or{5Kz}J7)yzKG=g``|-X`(4vo{TJYuy*`FZZ{$cvW?&Z@n_PeF&GM8uB zfh462RjO*QoZgFX#BYt|ILUEQFYAhFwtQXCfj{f}WjzC3$tXMd=yk6C5Na&C6SY}e z8HmGoKciD}tS``{feOksg$3Rp-5SD9UCPrQe>0@9rY!hYg{LxVIn+t{Q-Qn71G}38 z7q?n%=q@x=l(Z#hDG6fo6<*8vuD3_JndN!#E$l){Lj?=gAj%1wtTg5|;1!8%z&qq05B3BrxRK)nd zJm%Z4Ul1d=y-b;m^wqg9MjmBubr}ou!CpNqL{QuC6l~Hv)9f5cu z6_qgQIxg^`phokVjPRnZVIE26Q4tf!X}L~-$EPG~3I$W(EFTtp?w$~Y$*-`ZPj%%J z9yc2`R1a^ROsfWKEBkG>K3h>gD_7t2(aZlf85%1I?;53~*4^~%9X}h__U1fyMSN3L zY(hhYIo&teQ;`}FS6vwozP|((NuX-y+Mi3$>D$piJQLA1~@< z0@(AvxKY$7ZV-L!Uf~LOS#%#pPP89&Q#bm5y=9hDZs#Z5`s$yQIekxv_8j!@g@fn+ zC=Q%IaN*-QX$)>TSlB`>qE63jZ_mU=nNDq_p2zpuPkVyrQ3;%XnGIse{@?%Nh*Sdi z@k0BCZVqUfMaV&Cxa7%Gy=yq6ys--7YzA}}*mCX^&Hux|IIxvO%Gb<_lJDorPZ27O zLDQzLbSEt%eu_x%5USfxx*IcmsS+;`YKSwEZw?KbGg^L7y>)MEtF_;N$;e-3X9m^Ua!OX)C9%(T00c@4S|OL2&C;m}5x0rs zzvMy8G`JRuaAr_!Q01hZjeoush6&pBHznf%Tv+xm?BcjfpdcT@+#kCKLH3I2Qz5YZ zMNGYG)1+9>if9>ft8=PyRT>@Qh(u57Gj!{(;_GDxFEZlnKi;bHbyCa=d25dZFLm~JgSew%vftVp;d!b3+*a<;({e>7v|r~wg@%!~#y4qTjHay}SgEp3 zqz3_dUCI2#V->~TiLj;Mh#cljsZMJMcjQG{+7Ip}KgQzMqZZbwZ>6>>@tN!e_P-g_ zgDi$-{Dr721Ez!4*P??bh3^SZ+#8}R(o;er_xqq4oUsObxgC!f%w-DXEEHOa&QbF^ zxI4UH(rtCXY8?#X;1ms(&qdrXa2N!K7MUu#%&2lyj>hydIgtM^_TRw3jw=_4Crkhb$7Y;W{6;bstgKz<;1D^s-mD9$H1CzKb zY2Bf+bPZ+~PMPy};Deja$UP%dPTvHtS0EAh_vG*dE&^W8p8E)#kHkc>?X-!=CLbHO zs)O+cO@j=g_>+ zSoSI^KJGyWp7gqzOkI^_NAxe5OV~q(s*A%O}bp z1M8k?d44R%Mn{RKTI1n5VLmK5%uk)2OuU3QJ!r>MTwVx5f@{e!R)*4ORLWmJzLmJB zLBCEX6fO#0Bqa1tk0{0yc9q^QzdvcGd4@PLcU=mexT`ccGNfdess}iaPf-{%=ow&ATQE|yrrfoAu zZpg^YNFOmqLK~*GfMW-8Z3FXQClV7smYL+o3)98ErAlf+X#o`!uMOA&I{mjekeY~s zmmf1a9CxVf|F@wBE6N@uD> zn#?@C0kt|0_BGAwG0&Z?y3H-q!b<21r)34dr5L&+?Xn?o`cz?*ukFsxbKO(Hf8B1G zIp;2JMDWc|Y1~O+-30$lpOu@xqJ&??v{~F3zGc|F#_JRS#23_XuVUZ4JI+TE{$)ZE z2+(%+yF02b?XR~28cEdK`@9H zhFcV0n^XKkFFSJIVH19b!Txpomzb~;&9T(~GZ2WLNi%5N^(A>KKm9MWWCCfE0%)j? zuWPRNT|q1Ra*b3%s~SOb_uaLN2^GCCjRqBwQj3s}0X+;x(j&7T$dYxttRa_RnSk`e zj>{b<3TGOsO4Y%d4_8Zzl?mAeLE4iJ$VnEbtdPnw1#m0k$IG=|+vCi^!F9nSP<>RI zQFS27X;B91uG%~GIK$5V(f^C~ZGMD!oiPKO`o_ttl?(%tLOkXo{SJs(<#l@Of3&c$ z`o^o28s^AmK!C8f!R3UtS|Y&uW&99zwTOoyWu>YcuC`&4n*wVcTUy(%hB*T zr|NUf_m4Wjuu>w$l29?U+dIv*IdC?-wsYOTG(Z3id3-ddDp-T5+pTT&2y+Y=HYZRe zu}J;I`|_hEH2)<4!vso|NVOx6t4u51Y1HQkDKU(}Aov~A`8p&wqgAw6#}&r~&SkGI z3k(o*?m+1(WP%)i)_WKOklu22B#L@ut{eg^H%ivEUjyeRaay`>;FP2(y=$L#>O2C_ zVe!4rlQl+1D{j2FX7zKT?>E9&kII{0 z)o0`QlWrGwcmq7$W9+EkJv%PAjRAe&qN{;XIao2-IM%L2lv< zLxo(3;-hb9B=;UZI~B+O=X_7?0XzAPLjB6`aK5oixK$BEI{Lhw=;csMNQ#fdw}f88 z9%c_<)p$iw1A;z63ze3&NIF2gD7M#Af070MP1ulB)J8x(B@&)>{{Q!H#D=osNN(ws zFb{o^YLH4b$?@+1zDjkFZE_=$Hj{U0qNsd4DnyJ9=L_;aw@dus1x# zw1h`Ftvf&wT@=~bK#0|zmS*eCxh*=qj@Ik(-h-tp7!Md325=8tf}!wAK9$bqsDfCv z_L`NwkWuc3Bn?n=I0I77ht#ttVA!H?29etlhKWOD>@vX26GGTS0X{kW05K59?x38Xiz6MR>s9QOi0Q$1~w?EVfcR25?^wPDX6#;5O3C))cwSzIGvt}4houjSU+v)_zj{rw=gvX^ zM8~7XiBAyf6H37FIf@A{p_o@F?5(9cyNcb}hKYLx)CYib<2=(7i0MVg@F&V(hu zwuc1Z_PDWeu&HT7anWGo^Z;Fpxms9&@*Khg60(IuJh7)^tVwBC(7f0P~r;!b=TX|d2o$>DPV8SAhy5HD}5 zGI_)BQuMMtrT zqORnUm&?&?s4K3rcv?SdoYWC}OJI23Kl^w&5J$+ZQUx-H2V0a_PM&P<8_H2@XF9r< z@pR|zC+vxQ<}h>C74Plnv{rFzf2(U*sU&<*n8+=Za=S~MaAWchSc_vz74&feV`N*N zjB7l`;az98AGAYX$CLF`cte&lhZo{@R8pr>BT%T!%$Ew>)t2txUgedK#(2VCt6}ER zbW?i*)dgih`>m?Ew4uZHs;~f$V$K2?I^bG~Zhx=*#H4_|gInts*9)5j5eqF-2)r7Q z{ncVDf`RC(uNS{xsCrfQGpH)g-%)LfGBpQurBMc}O}O3Zyvfx3kf&MP7pJ?kvF|wk zLY!SFL;bsd*ca5U;O(8sgRS5e;as20aZZ!^9X1z$VA5vxDd*1%zS#6GSYw5NE?YMm z`*-VIJ1j!Y9J=i~Yf`G##0*W9_`N<>h>(`93d=lWxH1RbUyZOk#?h0K-XptEUv+^F zqc7u@arDK-?-1RnuO=`fzx|J;cn}m{vLjb3ev{>zTfAdsYApB@c76U@YY+8*D%(5u zx3>qw9wo`LBFR>nJ*tG(21|p$)>@XS6;ub#S??x254v5kT_qOexH{~Pm5bx|PM*AH z{mink+Xb%5ovJ#-__a6U<@EXIsE8D=|GlRBr&|Anr>35WUUy}(yC?rjY58W=0tCLu zubPiULxuaD`iHq(dqLvsPiIZC7JQxp>$3>wJZ!t$;bZIrVt7hN$hwaGgE_3%ElF?k zZqjWNS)IynFJ)$PdpV4`j+b_a#|^-Y66LjQyo5Ofhvb9wjZi35`6Pcu;-Z;*Ov%y=R6hZH_yAQ3tUE&3 zEP8horf(klBMaMX^P7_g3o(6Q^Sl+ExZeHUe-kcfL!P@VHi13y8v`{h$jef<#V!wQ zGYg?1#8y7_i(M54a6X-7&BhK7^T1)AOQa9e8ORems%*v#=h8~;f(0xg~Knx`j zdLH!qid=)}193(Jx!&&7od-|0i4M>@>HBFXXd|>~)C1Ic2kubOL;GGv8JJPP4V&my z0x?LDHG1S#8rr9i6=+4yf%Ub2pZloSNjLI8n`<0KC-{7itVMNv`y{kQt;9vGWe{2n z2Qde_2nvrwEHF?kPHkUss`YF@Tbt?s_M<_7Vezu)9aOmHo4zpKV>qvRpZdpD5aAX9 z{O~$WzFjZHM9$*nJ9QYL)&@?H^I8)W$Jn`9C1={+6lL;wbJLoq7^6bl?3LMx`qpv3 zoQ+m+1e0Nhsn)|8STh7ivzT?$d&<^5hP?x{0hs;8LP#iFy+oo{WBwK=BdKqJTOm`_ zPZdq;FIpfLPc5Vry8bUQ8Z8}ykK5|9BE!STH0q4btHmhpCUdkQPkVmr(a_}a7 zTUo2pEp|(ydphlBP(^vJ8Cbad)!6j@u9ej=a<;YCCg@~z8t}~P+Zg@%Y{e6o z*qEa+|ImdC)H1(qo*+WmSij~PcKD8eTZRU?7x&nbk4F1gKxKH-SdOKxnCkcpf3MIx z4>h!IgB|fKrK%qMG0gQt+>Vb(S`bctT)uB*E<>fdMiCKz8xf=bOKkY|I^6$t!(JEP z=t`ltfA?OHtclHQ3)b)K-M5?^#U)$X)aKN*=BcUla276Ei^~>0ZG7b)f9va#cAI7Ifu``L?oRn;9VM@W5g~@Z1vLFPAT8G8b&y?m*!vUlYY2gBkEUk z=OL&zt()QwQbxp_wpr?MYJZFmLi&0hw~NA-Mw-NMyM%g`gOqWEybXj=h3YvIz!&+p zMON6{Q^rpru5DC+yh55ckQldNQ=$C_2<`Z0ZvI~{Cw0M7k3VU#fuq%wR;Dw!fL|P5 zX8p`Pn_rUUP^_W8yaO0KZernb;ETbPKmDe>XJF%MZt+do&(OwtSomI=ceKtWOAF^F z)JaL|&+L^Ut0&ym&*_Yejh$0EhX@j$m8xa*ek(Y>Er^p9XV0R7;#^aBo|c@|;Me#; zeE~?Ie#y}NAl5clb-L*qV)O@>{|TQZ$mT5XssKB_;d0AiSn_=;oam{F1S0k&-EEhY(cMn4z9+dXFc<+W|h(d%{@T5yb zvv@<)A)aWNY)yMo)E@`*ZKghl^!W}p)|#(bW&UQ) zd6i1Vdqb#9v#$sk{o$dz!%`Baoo2|*rz4OH|-gzzPfSmrfufPasYEW)i7|1`z8ef0#>SN zNC_^5Qv4Pda(M57zLlHS9OQT&eph$03o9AvC$6}fI}ZIFa#k@Htan4@CDDbQRlVp{ z{x)y}K38`vf44&vh@E24oQ^akslGP6+j7T-oIGt~wxI4XCtHDjz+n~?F0gV}d7Ynu z4WAPC$8qykQcYo>!V4vpRqGaep*Hcxh%{o1KvUkvee(yUTD)e2y}hT;D}oaWD3?_d zar{RrSQEt%I7Bc~bi(dt4r!1X1cQN^GOb;(i0o}NFj9WGj0giQ1^6b=-UcJav4=6c z72B_F@)azM0C8#>{+B9l#SsPGwKzgZ-9HX^hzUYk=7 zT94`fB(Z=69Da-dU9R)G54N89eC5b6Yvt-VK@7;`wjckGm8Y!Ajk?eTv33`XisyxU zcTe77a(CD4A(2m7JY>)t7uGmUPpsBz`mBQj;qg2xhyh@GtDKGKs?%B6=$-WujtS8q z`a(jh4m(w-_xCWsYvTQzG5VIMf=Mq5;VIIHP?roktbNIXh`rT9jXKJGWZ!zqK5m`s zoFEV?m*leO(aFNWMmAtK4vr11mpK+;F?he|SYP+tget}89{F&UahUzf{_CvDv?@V# z{=h%aNPw0}VSK=PS#n=0c^*O3>Ll=wNhL0w?yO-9%$w_t9Ku8AqK-`>O|gX7k%p9t zg=6+_yuLIxKj+OBzjx`e#fAWzqXW8jnnFKwO;~*5#NPIL>T3AX*-u+0C~hmvq}Y8k z^)vH-Uj*c&iu6JKI_+AZ-%jkm0!}TemDmtYMJaf2;(?3dY6ekVV&;1Ervu!D0Y$Z$Tc{mc8ZD>g`^z`T2)C^w za4Ct>W}f1YV(m_vQ?Z%%2MJl3bWKf<=lxe>dq%J%nYlqs6LC!5jHA=Z>t*g6#PC|Q zsDAP=MLM62`H6(O@^E}B8{-HVkA@z`N`(Fb#A=bkx>ZJ_E{K~E60_DjZvKItB$Ttl zt>WkiGdF}13K=Ek<jiZx-mNohyg|uqrr9Ym zRGXs@SdhL?ts0zKY2Le8Li6Vd4_xR~w}Cl>c!f|o#ty>M4O-olyA{vd-vkP9vWH4N z!Lr}5@$tx0BOG?=0EGX)d@faSEg4Y7yPvIQtiMrG7jF)M5X`mhM1Q4Y%lqLB51+f6 zaT!1Wo-F}D2OD4j6CK(Q3+4})Aixmb718u+r~0=suYhTH#wf4}MX7|nlkT%1O9%C0 z0LB1f#xdoZvu}EAh~>OPxhs%OQ$J0p#c^Clxl%|2g_p_SAIj-`TMNm`hWA2VKw5MC z|4M*b7`z1n2)|asvB?Ll_ZEJyz3UFw_4SOs06y#R) zI9Ug3s3*yGVr&(FI51h-XlI$}FWN!49XH&{veurqOafVP?dtRXYN2%HL6Q;=#KI|v zy330B?AV^b-ZoI+U-Q+c$7>dp?bz-*tWxnedP)Ag3uBZUMUH`6?!$1%oKaXmnM$6& z)>H*BX!cirQZg@}cok63W!nO7UH|wui6)d1`BD<+uc>W=39Mr`ZkZ1)&C=@yUa6Si4dt&Z89MTQSV+#Zy^SegDNpOLm5*$*x2Re=a z7f$s7N#ZDBpFS-tH0 z%g)QLE&!R=G{Nqbp_=67z0FK4OAT=+t-vxAH=LddTj~Z*_4|t(CiuIyvr>z92%^3Y zyfOPulvc9qD_yc=1@Le){4NQ;w9YlFOeq-=W=U~sS(ql~_qTbT_)g{FJiHu60u^y_ zH{s2KT|<+bDjOs}2}60MStaReR?K(2r}Xo*`}F%Xhqr1|bLE~Vw5@ZbpWiOD6Y5+b z_1=V<3j>Qal-*I_vZ$pyQGb$GQ;$4YWT^T-3ZrXpxG&w|s047Rg(4Xh#V4oqP%9kr zeOs=Rzx$qfV9D{BV2~C#J zKY=jUKPw@lN+rsd3NKITiGT`UVZ?!?9#vd*TdbvEo(`kCh(U>SxQ#NL;;k%>*^D06XH?>xTf_Z)Gm&>Fh~z>|CLi6T-7$n+L#?7lXIzE} zG}Q$`ai<68uNgde-RR)s`;6J(($sY?YY(19NN}wXH|lZs&W%j93c?2G8UDO@g^>e; zk*!L2M{x>bm?DK2PEL^k@pn$~$EyU?v116A)A0jYQ1Rg2dM1dkq z=>=ZF!)Yk>7#JsEzd55F(7FKd8mt^jjW?*yT#ZB^`Agj?60BaN81N-1-2?>2qjE4w z7saYXY#QuZ9)YcsQt{f&8*6GiV*`Ux^Feb@QQ?lTBftjh3&;LWEAW+v{4Gzr93k+7i?ws#4^A?Cv zd}su|Mv8CU(ApY!|LAD{CT>ORd?`_@2LcJ!f{uB)gek*2ies!=ue<=Au6pj8DC4}4 zP+OQjcEat9y!90r2G`}|tGyVqU4G|L1a_1x*pZ3GwFfrIxeUUURT;NqEA^qFwvc(o zs5J>K_7?Y~;tmt7c*pRRpT)+IYONO`e&BaH@H6h?mV9hz+ylm{-Oz}U+lvBl9UxIa z+d_ZyP7=YBSCrY(k&)Tjo{_Fne@L1T8(Wpx;qNHWf)2Uf54v9^u_ow7Fp%a9W$pT~i>I4pb*m|W5Kmf5Ktg!w~)Sh+D*$^oP zZG;>VongRXn3B)@a8BtW9_5fDYCHlcg8n{MlW8>jm4@X%;=&VEvd^nvU{(ak1l@(4 zlr*3d^L8)qcGY^}PPNA0734%ZWXi(nMMr?8a}{spN}jVU#=q20wAnIy3F!d?x*PZI zvxm%^!5>4*IVU-XZ{9)wbel80%I&s~KhYilmHkMitXwjeJp!@1bJq^>6gZuShvdY% z28?X==c7ljbCDt`3zP;@oA8UI5?o*9EjL{O`c9G2|<25XWa(hv@t((&x`HdjHTY3vcI5se?$5kFpJ1L1(FRr zl|?UxJg9XFZFmslFx%nSWwSZwnRT3-G-CI=r=H-=zaa+LkaC`dX2N&Zj>1sEnq~N= zA5IKVRlMi-P4Gr=UI)MtRqDiWfA@4WmSE#NGN*OMz8wVqs&&w;324=AUn)%jjJ#|2 zxUvgMsVuJ?#vq(!IKMk}G9S_|#px1UCX0_|)K*Q!C#NaMgxj@~NdFLj^}?{kXjiQ) zKo4X*kz!tdldhpKYPzut%YVUzo4l}rzygC@@2ryt?B}8*?nhOAQsGVIL_g6(I{D?> z-!c6<9%(paVFQ>qe-ny(H2@4Ofv+VwbrKZ785d-m8z(4VpK0~=|DebGTlgE}d#>^= zs9Go|>Fs$)^BDjrVkA`6q_?v?kcIZ)>3_VkGFA$l8V&)S?ED=yF6|sUr5f8bY4Xh6 z|87KqG;Wl+WWkTja2`gt30R%-uT7fqzB9a%S8US5}IAgs;Li(~&v|43VuGTtBQ)G@>{l zBEr%Fd9@7VY8RRlGd74qZDUgMv#xb%ey9>53Rj=VR^9I6bd%$0%TcnlMY!|qB}rkQ z7~b%b7VZ;36Cg4KF#$!%VX4EtEL~eCk5E0X(Q0-U@p>`}chqk0c8y(w;>b^%B1I`p zxTSmA%+8qY5;4$3t6ab&Zg8XqlG8aT2eBDg6Aq2(WO1saLE{H%CsYE+=?)v0clAAa zFh!I$a2;tVwnpz_F+CCE(?_W|ir9pA-~$+8ltk&HQ!KQwTzU=IDlFnxA3hXk?ps5s z2}w8o{;s`fN1RJLbiO}dcAX>ze{lWaw3+D8 zJ8jhqgDlCX>=}m~4>0Ucg}n@mw49+VV?-D$A+3`KBpdfjY%JN!u5=4%oEtbQq(|MS z3kTxCOO>+=3TEdQ%pq^se`dgUaRy6wnf89Ynux8%;K5;3W}WXANX-liT8$tqFy<&3_`6e5x_6 zy}Sb=cy`-2VZ;tq0n}KA{*jdWoKGRMIcO(fHSt$}3%zz4%)MCkg9~9D7TE9(hzZ=s z)7La9C-O4(7CZ|NfV|Awn?ssU9594Rc}Rl@q~Mr3}755ZP`0JQo- zX1XQs&1LR`1)3LSD z2fIYu;Y%HLby4nzoIEnjUO}$Mx7ufazI_tsRjTtk+z-ic&ToDD7eeTdHbCV=O~~HY z+i^VY_Vu~f05QmG{q^`{*lc{wo9i-{#}>XIW<>^t)Q5!3P$>?bANXnmjW^Fnu`3ap zFja_UbI-hvjs=cL{VZScR}Bt(u5*?j%g943KTdk7v!T01lCdU0-tLCXuv**vE{A!D z!CO4>>tz=3JO@qS$-x0GqZnK4ap?&(n=aAMJ?L@y&BQVux3OppjoIsqV^g8wmQJbo zwBrFfKKNT9vWtlT^WU zbWpZ|x%L~7^4)XC_iTKDani+`u+B|Cu%cp_IWco1ICqdgOE7De;J`uiwj-cFHsTf< z)~kmX+ZueqDdohq)yTx6M3p%+N~K)>Hx0#= z6y$QzAQn;^I#X$jgR=@my1dg~fek+Ye5O3OBA9Vfi#ln%1$yUSHD0>7Y%c`}e@TU- z9s-XUV~-HcD8}sftQlo5x1*@oO+07ah?oRTBp4Aq?Y-dmOYm6USPIg4CqGB+Di&)0 zmCUX`NpyXOF7eCCo}L}+XU$GuH}2tslG2+uaBt>Q7MK}##dUb!_LdIE7h>GM@bguV z536FCEz2luQ?`k$98q7}5q`i${z4ZoJHU_yvyVH?cSxFJn5h0D2TVc!s-er(=aikX z)%XA|yc!OE`EObJ@^tX$R}bdd@A~r$Wcir{C%d0P{S|1uTy96)%sQDoG8aRa`h22c zx~sPrYPgHrf?A>(Bxp{YY@kx1U54yX(ztb%X4d&`M#Shet}Q7#0Q}V1IK~@pS#!(f zH>VhisEFb$DbS)QC{F_BFs4v}{;Z5nev!Tp-{g*2fpPEVgKFOHis=^OZo8ts-Xfrg z-EIqUzhRNQ>n!=IyPCJWJ#!h~Lp@&ia5`p4Slo&?35cDGZ{Q18{+(-2U`i^SFq9XK zosNjx0}S1g@AXZ)l?U(7WBTVE+K>EQyLl%Fh1Xqt zOtmddYboTt+?z1=rVoQLGlbG(KK=-@!^^dYks(4iO_d5&-da@bLFoAClg_(rqnuAh zUmjX6VZhm#u=k91?x|(PoBv83c9-hs=_xIEKx%LwF8N?TZ~pFr-Sg-F*E!B=offLw z8##@X8IZGHS;OQlnAodv~%NXFIn&7 z`I>rzA2Vh)!FX)8SS+nwD&t*?7boGb!GRsu*VH_GmyP~i6Fu0%iqmNHZ{5RK>iq${R&ubJ<; zO}DWJB=3O{CL9X2yqrmeff*a|(N|Fzs9E%gRre5bGRrodcIbsUweodG;1PG78oTpK+hM{PsZ zqt%Zpr^k_2f}j2)6<+&Wxc-Zx`SY%4f2*9M7Y4kfL=Z7}90kLlr0~yaizQC&VMa_h z>b*!BQm{$l=JmYh;T23KkE)>a9VmO^0bch;fX$x=ooT0Gc8CNC#&K)Oq+(-9S~tpT!qJR5-e~E z3_E1TPhGnTfe?oM$eLLoMfnAE%zhOzX^BL@>4H2)ls#39rKpl#tR3qPJ#lzcL=2b} zgG9Vhc9Bf*=RdlvEC%}*m6bdA%l}M$m-Y@+w;WEknk$MUODB^!`mnz(DN>{H?_)L)-eyEilU9k7t@3rBh|b#pxLLZwd)r7 zClmesDcxhx$R-pBL<{|OBxQi$k_4^R9V1wKVOSAy@OH&%cd~_Cl?57?H$Xj&y6?wN z22^-DC8ZgprcO;wnff)=;Cd0oVZ5~O{DP%mQ*cH+I@;CR+!tz^=} z2#BGNa7NKkP2+u+p0Q<%+I}HE3bUbA+h718!YP5^ihiU}rQ~+rPShl&v zc+YPg!t7Zqg5b83w!%LbiQcH1130`M0K4`UxMe%hb}grFDFDdOyWYI{Kfivj>wPy6 zYf|fPPy0^uml}qrU>Vf}uUuAW&ZOV;NkCld4)`pf0x-Q%lyCFei&)!yl?hxM2he%C z{9OP#o~k?Qbjgxb=mSBSx_$FIMB)pPe(QXXx%PLzEs(@zHR#aq8q8E^FA`?jGio*y z(=!DtQlmMm-v;`hNh|vW!__Zo@96UI%aKUyWzpNq-ti=`ARZh(_~xa=G({R;obG;n znCx~Xsp@j?LAy~hnyz5_E&H1D;up(HUz-gDtgGpyPd#p-!Thw4#P$+Q>UFT^=ZE(* zOISmsGG~YQthj6k8|#lOh%)6spd~bP7-COZP7HBX8j8AZAMJ@9)oPHPPPuV2B_v=q zu`P@jYA ztLw zs3F-Zhw9G5=jnb(Oo||w)pmN9N`{m+!zM*WrK1>jI+z0nQ)B&+Al!cJD9Ca6+G^Nw zu^o-CuZx0w1T$r6>@zsBy-}~}XeZDWZOfog61XEj1styb4)ZGC+Q4u!II;)^H&>9c-zcTD!Qq)8>i;jW}m-+*%`0UZp_3i@Lkaf7B;k$i|Us)z{* z6r(JNUK{UgwskW5E;BTVllN=K>ufckLz3*zzuNvuH_Ii?d5a>{^~YYxiI6UM;Y?R$XiawJTw-+2ETvT!rgIZOesBal>>IcdqRY*j6d*W}UtM&@T02KkeN=0h#u8sTp?Q zXRsQ(y|ZB(rlA9~O%uEbo{4~aZJ&tfcG&6bZk2^21gl?(Nqcd-N=dkLlB| zsbV(r+^P4oNjSk3loCu`vahiI#44XwD&_LAr23=vi3v2aO2 z;)b<~#KQVx^@&5vlj_qW3KO%^6aP(|R^^2(R6VkKLt_1f;c0bXrlZ0~AyG&b$)TPa zjc0kB2(KZ%VSeqtpe)Cs;;5m3q*i;{$6o*TS*hfs>INOZzsPpTKk69-=lvvNV>N5D1WBMpZ<)9Zo7G4xmsq!x1F*I^VK?^cZygS_V8l zJopqa&bGjfLhOj5iDwLCu&Vpo2z3)i3Z39Y>&5^XAO;BpX2+=>G0!Y$oHFJ5D_MCj zj)W}eXU(4++x7Pu^C&dmMaVE%NEqf`aZ?k_J@^_1E%HcnC~E>=qBB&B9b#iWxpMN- z)%LK2+gPdWuE=GiH-?l(4ii0dS@$+Yo9R8XYp6|a|4n@{**GVU2`3etpSZ3pXRk_G z{{D`p$)^TD%RZ4RdS$M3%U$W>m~m06#D&$&L@45m7VJfDn|6BcN$lC^uFk+ zUSIYf_VZk*ev;QbNnSPx4rgdXt1sE2?FaGb;=>zlIp%`5^9t<|V!v5~&naNpip!RZ zFl=>sCEk#ftc}$dkDX|<7-&+bMn+aLI1mn=wA^XAne0~I88tm>VL@P$l98-T^hogo z|JXPDxp`~|0WX3fiA8k%Bc~bZA-NLQvE8{RSkyPveSa^W0VefeDs9n^=@3u?7gMO7J z6gIC(WJ#s|!Zo&pK{J474;YCyRh}geVCe(+TtRQa&i;g>ek1i9M@s@F84dq%5vX@)EZ*PdE^e#N#eHT zE$U1knjfY6vS5p}G*}6B%p+klfgylMQWJ&>K8_LhAt-){@}8_h;vwJzP%HvZK@tf9 z570^yjVY6{XNl9PWvGs(qv$(HH}5qb&tfcUAOm08uoFj8$qi~5Pd`Evcb1_HYJRMd zdo6`cAnCuL-Nzwny(zqX_Ewv@ai~Lun9aIi}_mh(n`ml-jr_-)@*8 z`0-T0+CIGyO+?v0K^T1zJCea<4T2>{ta^sTEP1c-8y*p?(}c%G#fOthnp@B86|>+7%;_}Zkqqlwvh>#xW&`M7K_8^sw3z65o)iuA zvl48e!$XHDMbou8&O3!)SqOH-Y3>SvhdQwmJr_7v;)5O_PFTJ4#q3 zt8^}9MW+T7E_)l)lP|9!qFE6zptA&9nU5%Fc#ci2E1Ov= zb$LiKh5*R3Uvu6q{gGS%Cj>Qjh~XxFSUe+QQdXItQ3vWHOaa>8nAV_%fC9 z@UUq8&e%5&pcxn>*TGMxP>U(ReJhtt`eP`6)LqvXi}wFDin_iN4&PrPG14y)!~(6* zMPnyiA1h^8l{_T<+6G4tr2(Zw?eV?B#Qlbo0U zw*{D14ZvV1q^hr`Xv;VbyFs{t7!C5{MCa7jX8yusTG7=QzO}o=aXSJrdw&~%fqhi`;roC{wU@n+p=G*WTh+El-ktS4=c9RbvVD+ zpa$)Rrwps>x>wkP&7IAvUIPnjB^0%$mI{g)M&*4usW4?RdM(h2@rW^FY zKStMQg0{}Jo9<2}E+Mg$rXy4~ynFY&Ka=3skLo|bK656`Ont^hS65YUfEmou@li8X zjqqatMghzqsQ_DC)W764iVTuUn6WLT@7oSCqjroISOgNa_EFZH4wQ}!5^0FVwymq_ ztwN`$*g?SbqKZtv#(hVxyjqNwwX+yB2KB*G+i^}IgyJR1ULl!WBCcShA=P_J4U&YM zMog5+Z-Fqs70ZbtS!*U~g-E`|Kp317pVxl?i@s$|f-0It^_$k@U#wy|#mroE(hdmo zAZlC@!nuG;fKJFWhHWy(n}Cx-WSwM$nM+3B1Ry&VeU7$7UcLlj^gti%3IN^m|BQp8 zG?C~@t897(&p8lt>TvE>06~2b_HDklj63LksFzvcU)Xhbp88mpvav8XH?libNeC1_ zb$EO{*uS(Sg0R^JtxguZB=}dxg$TI<6juWPo~p^+4jbC&1KCsNaLE7tHyKK9Mkpw9RsgB_R8^GkKAkhJ4f_$OKJ*iol{Y&`H8xk z@+qlVIiIdxzI?SKc6VMr7a@Zs7TdrXrHs7t;ltkkJl7Q@+CSChxfAoXx{0n-Hk)J3 zIf;_Lwf}tdGKGBiS--n?C6bBKx|TF*$dZnZxAduvg?b!u)U`Ud_rb^I@F^6B5fBeT zx2}2=%P}>DKdz}K!Kn?V8eN9*Uq?Phj=eOx927if4GD%=usE)_FdhmNDya5X={gwh z01dbXs=kFDB@zh53%%~@aZhUnKl)q}yEDh>1bzDZ3_NVd-THkqzhqCQ%Cx*pHPOE0 zw#JEoz3q0vg!;P##;O7hbv2H`u^Vays|`kx$JN8dCAOrak8$pE{C_7rt>tcg-pEAv zsom^Z62J8Jmj0Quop)ICUG0msBD01puF03O^!F?6*jk?g`$!WQ5~u)?-anI^xdwFP zs$fXw+qi35>A@HrKC*7dYLnt{!@L1zi0Y>hAgf z{CU3u0))?Txtn>au6Y5adr_R+=uWbt_SU=}9|$+P|HQq1>)7?pzr@G^1L5jRPQMiD zX8!ytu}j{kIIt)v@m^d6Z0$plgGrWSEHUOv87+yuXFl!zOy;lw?m#@@bM+1z4&M@u>*PBAswl_ zl&%?E7bsojtPEq5N3>9$*;JW$^`N@dAeP>SibVAA3aJAKuT*!RKs0$cw4Le{Ko4pFeELTb5&Sv7lz!htBg3KuFmDVIW`Jhx^fq%(Fdr2( z4Vij)bqWHt7ViIiImFkHy=gSbqUDw?^CNpb_+F87D~kLk7+n;uLSA0Kvo=SS0!P1v z`429`vj2F4-D-?Z>?qU>dBN?e_yw0f|MOIJLR44!6eu>qF5k6k4eWfLX-% zT@KP55+#+e@CcBu@oL940+vLL-=P(^Rb;(Ip?zJxsT6k6*=$D0(XM< zTf3O@-^rq~$7^RXqXQ9pb)J2gkp)0KShHB|MXQ968tu;)KUr=dh(wE4MTR4AI0f^L zO)g6f46?aYzyi->Yyw}6aAU1N&Q4 zDt0cy!WRDY`2)<&ri8^9DvgWGqTP)gz@xnI8Ph#&Y(mhC`Rf-SOKB)96X9NDO`kNU zNOyC57(>sn&Ed)M7$g6UVd&2!Wue>(#AG6e1 z6%z9fkM3itKOMG`Jsu~>#%T@-$z3>K7?dI0d?S}YAzVyZmdgA$Q=9Hr>!&4gkPPcb6Z2VvZ-8k_Ie#v&M6LvHD}0$?Pgk85T*`@(_{w8 zo=BCt?2zD~5>b@kW32J3Dj!9HA=IQ~9$!dAoIKKC%tk;8 zkCBo zK^UUy_WD7q3it{eRO}6QcUdk)3+8(@Y_g{Hj`SS2y85t-LT3UXu*|cy=LJfB=c?-A z9)Pf3+b=E;$Vd~+6k8NuIIZQ_3hc|{3G&}?Bd;r$9k#Q56mb=%`^$?`2>jdUD)FLKY^;}DVK`M+ zx}L#6=89v7O=ysUFioiWL8O0YgoD-C2%!*Q0$dD{T2f$&hqyd5i)j*LUX?Fz5r1=2 z{}uol!mO&P(5MW@&0G1ykRRa?9N)?8P$3b-oxi4{U1{|xDOPnFs%$6Ee%gVWUOvmZ z6_z`#>vf}PW*I2?C+hahWuiw8biyo%1}=c#HdEnaEOIIpUA_KCk=n^irShCrb*tvj z=1}IkWk?*)jvmIIICxuU5 z2LWOclj#@TPlw?W8cr_EKm`!<)~7GL9}U`;aV3hB**YNgiBu?y=N~k6REBo;>!{TIeRvX{Xca-xS)PYlpze?^(X%w6H&(#d6b}j|ERDo4>;V4-V>j zZGLJr{Nex<_5bAmM$;z6MdCbK zOZwdsvoau#XN#v54|&_jRs$oC8@~ZTt2te#a}*`yf+j?SA6NJ5lY;siMf)N|Up}h$ z_O3ftE%GbT8`fNx&q6Tt@zzx}5|N#d95cgYq)Ve%TX57&^UFyN0+k!YTph&0WpmD1oHj+WXt6ibx$V6~v-=^L zIW5g496aFe-MUPT)!hQUI8LfZ)P7MiVtZ5wW zqTWw^k)_b7*0U_QExvyY5Y~G|n)V}}B~ z|E`zy_yqZDyW_1x*B6et=N)S$A)vw6QIp!%oeOty3c1HL;6FrIDx3mGQ&X}(I=VM) zqG}WXRxF(^-vWZ3+XMsIO~Phk12MV0-ogN#Pp9>1H{UC`x@=%p!F_@U70&K2al1S4 z_!E?s*7&N#qTYJ&^R<#Wb4pUQ=(F9zi95H*to;pE?st?|5>%bIGPJa<+9Ajo7Q`+X z!x)37z=PKC%4(M;hs6|RVorQ^I`ebZw_{TS$^wfIY*ck1S4H+e_lzu~I{8b+#XBQu zTO%NFrGLdl06$^N5xIMcV_smeoYpZMjHOgZq}KjM&0#28G#Z?us#S)G<)M{+Y3sDq zAnmEG6ImLABkr`pPIb`$byka5uFW$`_0G8DIH$=esz@-YUW{EV%8O&9r${dPxxj5s zNM{9#RxE$G(l6bqaV%V;ufqA4U;rQKpKvW?1-8*FFq$l8GhbX)vNRIbx9k%cawA(2lunY z2lu$Jj#OyFA|0~WaQTjl{#CfGLIi-4*j?aUOq`TMvb6?F8@i__%Ym9Mvxl3W zVy2Kwg8V4wVyOYNuA%J4t9er131J0LLF?5$0K^xjVK`cZGdGs3l}3K*@PsWTd$A&% z;}tog0{2>wL?Mo~;&pUw_?Z`i+4ew_h^)ZdIWo?<>5G*snlV3D#t|*3FDOCGPv8V; zqs2hh$iqK%fFfLV5iO;s;;qT+aRw_`X}EG(5}o2;IX7Oa;4F=k`*6ynf>L%t(9 z5dFlf*fEMf%g4l^X`2*znR|R3-eAD$7uGm8@g`!O+K+0=mzJv{T_LsUB)5<=hVsk~3;K(W^MV)nrZ`%6 zrQFBWrdVU}Eg3evLIa5cuxOY@s!i}%{#qsXYfmRd{@?46`)03ysA%NLV-EWKKM0Bg zOBlFo4w=N07M!BGjEQ9%oMn3)Fai45@gQ(MfP619#ah7u;Qi{W89?55nLdD>5U=UY(w(yBFl5t3Q5gx_pBxgv^ z(3wv(20><$M}>VFhfTOh5|Y6v0Yvmgs9ZY>@i8{$k&Q~#GqnKs@(!#PVkV}k1tPYR;aOu} zSHCxiIK?AewxDp0KcNfg?pu-rG}Tp(Q5bDlepn&CyDY-Ip}Hx)OA(uTRpY2rwOl?0 zBc;f!CrfEt-{9)RImetQ^3h8oHMN?Y^tRZ?8JJe0sC|AAhG6Tp!);`O3IkeLg1mA3 zN|W5kPBighu?Sv4VZGwQCR#DDT$mY>AP7VS5{ZyfRg@eU#ty;KFi0!KM2-A?1?gcT zm&i8xa%W<;73qX<7TDoLd=`z($9{+==F@2lVY0vRR2Wx8dfMQITcI~mHRg9~4R7t`kNRW8nx`Sd#}*^PSdCz)FM!q$c05 zJ|k8ZWN3CHaZosX&RI4SYf9B1TJI{Qenq2wb6v}e0r+$hkdE1W;jX32hy1U7}qWe!?g@Q4-6u zzzIA;9s*={6hATCTrhBL){<-V6VA>J8goKo0dkGu6Z2BnW`QjKiVj+sJvMEjCGl)^ z<5B8ccx*s%Gn#r%>!QxTdU~X2WR|-nBtL42H}vVN7E%7SQ(*#6B*3!w=^neFUlF+N z-NaCqJyF5!Cub_ApP&kc{ki=r_Jk-p^JeM!+(#<)TqE};_DasuIN* z6@y$!TC#XdEU$obnS2{ zb4`bw^ornElLgsLU{LKZiJeUE-^1?6dlxzZ)Zli`_O!Nimeays`5oA&Bqk^EC3`9> zTGEKttQ1JrJjnW^=h;5|)batSic$p)l&A6;eKg}W;@!nr$S>+I$gIVWiPwy@J}}!T zUbJp8La+pj&0Vp`*KZF3qiO2Cge||2{m(zEq>rMO zE&&^788+l~)B@n4x4eGs_Z}UIL?H-{Lc6{9`>V~CM+&IW611-sil3sqG_(}8O1$Up zR8t;VYw_9Cb<=mRY%W~NGJ;p(ENY=t91BZWniL?NNXU9aq2`MNY6YnRp|0Z~iV~_M zJ8;2l0U}fQygDkqZ`k0J*$#T`>(b)@j|MiXsXL8?iQwKoD1&y6kolES8Fh)$L(ee}1@l0-Ip69$`Xp z4#bN~Ztp6DtPP~>4hKnrcW`K}YFMBEAU4~a?aT0Z!rcv0`CAycye>`YgmB%2>E_*N zDw#1nnWSsA1gW4%B03-tmu}yK1czn0Hi8MUWTy!hn3944r`8FuRLaO4uQv8&z?a@$ zyf_+bVzoM_v6QM>lhrk%?pM-{P&Yq3IA~=R1a`3cT9)wqd$iaMC~x_1wITxN24%2) z6m%Rihx&g31mPks2s>q_%x0NF=X#6PfWL}c%0!V6q|g+J3P;eo)<;NPQ@lQC?R0Z8 zSJ^a4w{`L$Z9wx~{xsBrNZ9M^TzT}b{@u40Y%)Z5x2BU<<58GScMW*E3r9ejU}FHT zhE`r>aH>Ci(C{)Shv`*)F*!&wXr|_6WWr)zavxw>QxSOMkH)PR1> z`|XPDx-jLZy|(p(IQZ135hWhKS5r$S;I^FOOy9rX8D6Er2o*{vaa27BR*Gh8Bcb@J zrm6MiTiupYOCb#=J-+Z*(j7Ct+j$g`iJd*xiPwMzM*rwgMn+Lc3G9CHGv+bY9;*wG zN(PdOD2TmS1T!%anqSW=SlGO%-GF2fE;DsfyJt?n1B~tGGi`es(*HT^5AUReZY5?; zUEKWacmGIId0~PAq>%72N@RmIqxA%^WPOQ~79eF$YLU6#0#o*t!Z|{J55Hww-VOO-J`-xLgl>f{ptHLd6C@{04^%Ab0zg?oazF|LGN2%X zFVBw!aDjTwy9O{_NVtTFPoRJ{d-O1p2(M;QFFt0y@RMm*QZNP&BbQ_EyNb-zq zwMfX~66+jP$V1@
(DV-J<3JiXA?z1HmA21jU3xn*~T!^GFm7dZ=}67@TR&5k5%oln}4n^_Kan;eqNEoc+5XNFYb*D?4Io^VXdM zFHb39ckP4qWWWoi6b#ag5B89O^>XEi>Lp7lr6-Rpg}3u6DEnkY}htzdubs&Kpm=;v4k(hK>3( zqj3_)+Yot*dGidv8_x~IoTn8(sdi|%IIHRVQlq%o3&a>WjhCsN??i?ep^lUcPhnmS}^Wd9H!!ibUN#x4wGl z_Ucso^NL$c^=>n()nVSu&b(!CKFydiPq8|cQIHENX?Ep|a0nT2G!Z7Jcq8f-z%ojM zZSY;+M$yLjKjc;Bx>GSP(n#aO zx8!wBUhP-qU|y?c-pYL5zvorR#h)uCxx;XQEMltJ&XBIF_-FnCump~OW@((%u(UbL zz1OdM+XN^YeyU83dpCng=~}bc@y7A%o-Z>J8X}0mE8i-9TE#e%p!GB zNHK$&6UXeDZ+;_x;^RXud0}GfS^A9_-!Le^>4Cbr50CAMn6e}db2RArq4idNvOUWL z5Eue|z9|Saix_-dZ1ennBxh!9EKO6!YA^_0Iiup*>D!pa;V0%)G+wjYl z-$KS(OX>rpE|88Yk&*8LTESLz6fBdWrR?NgGNvLKYx2kdf@#;tmW6}~L9`{sE19$u z%b&DKtNsBBKI}dJZrVH132I*gAs$Wi{$F8=ktjZpD4iIHhuZHGzM_{s@nom$aw`Bb zZXc+*CTMa&bM>5bHeEQsVCC5GkxN~wp}7ZbxaFt5YW3dp3nzkDL*apyZt(72c;lRyAx`9*846b1 z(amx058afpKmEEPXFLIMsfam`UIieFe0>!Gd+qHs8PU$Wxj6oxW#ECL2%TO31s@;w ztVI%u8V2fxGjwfdJAl}64ByT}(6^ee`pKQ69SQ(*{)`Xf@coOX2qewH7jz{GULUGX z_E(0O$M3UYZ03hL@0_Rt!rabirnfuV{!yT2#7Bq0)Ga2oNL7)V+!Yt%&4IbE9GK>o zyZ*@R)@dQWodL5}mTbkjn%;egx1rc@HCLwBl-cH$+L~MFHU&w->Gv#Vz|6gB@Y6q1 zHz9c>r5^HK3@8g94b~%{=xW`ENv*uw0BE@l@Gv3_k3rOwIowP)nnV zZ39KNsCc)hs(6XLLN@Lu^NWd@5F1kwkwCnOCcI4JC;BD%*=8`WUbR4VjaKu7`go*6 zd04}pc3DzGU7RB$of9LRPd!}NQhd^#TP~?!0JSrbF9y&BM_F~smfZyqhS(thP~${X zl*l@k6E9G4OaNYYAII~=AutGB`swHR|3CJ*I4Fa~jf@Nd;Em#?OV97^6??v+;e+$T z!NCts=bhg#U0TF^$oSg$fni&=?4ad*Bjc`Ud>}f#zp^BUw=o|uir!Ur)+u5jfx48iB8^n|S?a%wh}S*Kj}ujxl{A11k_?cs}|h_MwxD;5bo)mkoO z{5<}8=a%at@eYSNXzE!h5nTt}!2qF+9~Bg(BsBO_YdQ?ct0)#_cN$*$jz zLNh%c?*G9h`PeS?XB3|PL;Tc7JD*=(n&ezuda$l-!LFB?c59BR5HBGdRxzNlshNg6 zv9$^A&bLfb1Rq$MTC%yjVKr{>_x`a=mJ1&{Qj&Ujy=`9a)hN*Eiy3Kt^L*r9r%!%h zdy#AWs#N6J_^{^61bjZF|E~UEIZH6)sGZ!l^KRk+f40?4-r|hPvMfWX#l_Ht;{^ds ziYb0L4WcHrJSfceHZ~^7=0=!sEvzMQC5S0XQKTOt=&xj<1tvwy5Sb;s(`UUe$51ux zJwp(xN4oSVA0Db%JPnvT=_7OxTq2{K(#Wf!p;<{;ldpy~X>kL`VN2S=T9W;Z32Y6| zZd;s@7*>D3xnk1R>ZGu`O9u~Lh*17@Q;`^xlXyYt*GZpv4^Cv)$`2Yx2(F3LOn3sJ%n}zqZW^VrNJSBZb$A?y~uZOoUB4TPvbX~=Z(bi33U;u#^8?D1tpe?U~iB_Fphyxg-QR!50zqs5bc zraRKRumqMCx{=z9keIY79`Nd-p5<4oFU@YvXlpz<)XIaMN#zj1y7n#z!W%luiH;qp zJx@8#Zh-mid!iUz>lbVw)QaYwh!e0QAI3>8H0;UUlhk09X*fx`?XCVtT{tZTB3kg! zO{Xo`LE0aZ4eOe_CiH~Vox}vbp)C<02HLmyrGMEgW9@K`n$mSZG9-1y8z&arM)dG& zn-r{bUhrQ#JET+$TVfO;+quVaqsp~Apw=7L*Qp0Y7L8ly5Km}&(w@w}0U`T`H6cKs zZR6E;bxjZ{hdXP!6tI1%?t;=!J8~Az7r~V`;GZplxy6MC5h9qV+G>9ax^RSCxPQkp zhAQ-DDjteRME>ZAZn{tl(Y<~$q&8`-{l8D;UK@1hXp=?a%s^H`PRD)+xw8+~BAvfbMd&X&&V`E#Ifck4p*!xylM%f8NY`_?`D@wqgL&0zA0IB9dhjsKcNMqQO#ULqb)1HsI20w7}Z?r(stz z&Hi3rLa|v3ul~fch#WhB?+wW*AIgTtwfj#p;f?ic8RiNLnn;j5(-QMLoBT{}!``Z# zJ+K=DWr+S0?NggMs@ziMC;AG8dB}ZWNCX<`=y_Bgf$K8~bp+JDpn_Hwo~RpVWMs)i zT2;3WV>$W+DVZ6R7L=M%n-MDyg+VC5JI)t2grox)rgSJVQABGZA=rPc_lR>rkmr(M z$%)I5gO~LLDskz6{Y+Wjg9I~*N|_*6pD#eEkDqR*hj&^(UKHj}XH#FH%@NU_G!<#o zb>PXH*CwgG@XKFBSQgjtXmT;y_20?e-38~9^Ze6Tka zK(yGC&+PkJaMeZ7fsmV_sKz{6i-99$IZ_1@rP0HjM<%onVG5vqn$3wMOrM8cL=)TQ zmkSrrC5}%+!hsi?d#cck5F*I`)uCoo6oel`d<{q>f+2}s2Bo%vXh2ylbfQNwir6W)&MdUaQ=#~&u5e6)p{=5CRnK+uxzGkWOmU-AOuJ; zP+f!7S&FLBt%OXaHeB?~+3h{-9>!>v;$Y^rrZu^DMzv3>i;YlnM&v+$&cW~jeT+h$N$Z)cPrXT*v>eJg$Y)`$^LGfxwTyCREyzQyLW!g@@D zM$rt!8XI(pI|W)P{-{uAv9VYs9@hdKRbn<76|!jw*ZDBcaas{ec8cLO_3=i}Dz+Cd zbad&Q_Ly9Z%b6jMN#Z9Q@h((8T7S zpnFM?IF|H5J2*(Ap89g8zN@DRLLhjeLxuj_7!tN5q`u!bLyJ^R6V51ro{Wy$TYk1b5HtFy!r7snpQ z&5&}Q9d5A0Jpbh+BB(voMfFG6^hLHMG&3Pq%(XbioPJK^=S$;PCrwdQtz`g+o6Hsj z2J3J&%HSGdh@So5eO$YMd`Q!K$w&`|tDE(~RYE_R_wvkV;BMjit;-j#&q~*Zq7~Cu z<{*>eA)FCPG34Q{FA?BlApmym!r0#65Eiz>XQ*<04bCjK;1CdsQ`Znk5&R7uU~nJ# zJ10a2*bcJ=J1heGNUuQsWW!#FZ>cWMgqpfF-jVVNLT54Q&2d3J-H`MJH=C`zJ8Kut zfSE=IV66rOv$-LgN5bfOoC?_0=9&ODqINZO?fOgO>=n#-2sZE9GCt1}WQlf;i8 z!XQIbi-fcl5?3L_^06a%4KdD`hlFd)l8V6~z%~(xuuLu>LVA-yDX_;S0yKyH?7pc* zLOi|$GKmWdiSY~aa0B8vCQAXxJ_Q}pDDq<`zcu#D_W?yCy4(w+t%1Jn+M>kN#ryGH z@Kp`_e&-a=Sced74i*>wp3|D*CPfu7M{E_$yZV(8pk3?!4gQF4Y&tnPxVY`p97%ZS zrvT9b(%qm}OLI;8k&C&N}A$12QA~;o3F_IrCVvf$Y zs`p_>g<^ozzKq0RH%{6gBh=A6gBz%1SsLg3Tt_r{`aFRCIOsyr?qM7R(8kU3hM1kN^gvwC0EivpTVCJ8&rHY)D+%(2YCICqie}wM@Zl;Jc+A>}r@z*vUek-Yv~r#ftOk>eVZD`%H-va15MS|eHm z83c{0@Z7BME|WVc2yVOvT_iX#rP79KW9Ym6y+5j5BZk`CLjHiFbsQuYTsB_FIhXzE z?ShNBe%0zXO6Eh4=V{Jn)Sm(WJZ4!*nUU-``S6T0txde|g8G>NgIA5GjmciU2c6j*^LB5}ASNlZDl* z@T1PMM^6ay%DBPXi^WldPjCYv?kw>>zfbp^;d0d^8l^RAq0jL76WnRQYt#mcYZzmO z?_Hk;pbH$D!qAUe&t9s$*up7a^j0LPOZE1>)%0+ync}YPUR;=<6Ng=#=k9DKWdCq= zKmLGW=d{j{m(TuJq^(WyN!hjN0ybq<*ULs{6mn>tt|3zBiu2#4$F}%-QRozVcP$*@-qge)%Y#i_6i3Ee@Hr!kP~tR764bCip9` z&nO=XASSeN?Voc0Lo39hcNlv>LZ?U!8PIj*Sr80T4nOxyf&=owOYk-b!6!6>M>}40 zIh5n|%waY*eUJ@<;f{yJxNrVf%)3o6==SI18yvo5<{-Fbq*dIqp{4c3?6S{M!kBmf zr344rgv9M>rwehOP6lu!g}5~>M;^h$$>1!K!jX3u1f{L>YWA#$LL(FQFEft6}KSalr*W3MeFPGF8 zHM+NM*w9K{H);0A0PW| zfkFXvX~Yfe3juo`C((bFI9j6R-qn!&nB_!ip1nc}?$qLrH{U8z--7$35hu9K0ei!f z=qR$s62kPUmLIpAnC#fmr=`RZ09bOmM0E?i@6Qa*bfPBtS~gL2nbLx33bX?(Q|eJ+ zbz$3sebZ4FczSeIR6X-o$rX3319JGD_e16A|H%ZwnXB|^s7Rp^6+6?{g8Dlo<$@a}40YX?2gps#c7;GsbA^nfi5)sMy&z1b% zX|fhWdkVJ{Z$pn z;QAHf6u)){C~!@FT*Zp>Ab3{HwSxsKsEyPKK%3L5shc)Y@&A>0<)Nkb9iFi^6Iuz# z>&1nAmsvZf>jp&hxC;X`5+!Pj?GUjtaBSwI*DdZ`TSte+>KqK4CvBk+IXKhYP zJfuQ)P9UNnezr)t{eas@_x8u1R|u3v(SzM#r^&t*rc}lm{V#>;D0Fw64}#=!rB?}c zV+lUE&H&xF{?du{V!%e{ zb(nAY3ci(P)QDK3H#>jZ>X(6;DOqRl`)9oY3*K;B_@nihR1>_yti%%!EI%bw(Yq`JZ5UeZ?%5q{<=p7zR;kpk~LE0{`Mrv-fbWez*bEZO0Zjt z0C$!gtdOsVZ1wO*aZdkQ(5i6OklAPvsA4%%OuV(aa#u(G^X$;7sM`a!vV|p=K9P2J zIQ&{r$~@?$YzM;;cd?%a+?|Bg6Z+8k2Vk1njcA0 z_6^*Qu6CRHvIF>gX#MDlX=@8iUUFK{tF>CO653JoSj0$a^xO@?V>4o4i0xHpF9K?9 z`8#tUfDh@i!}O&rxF4|(%X)9Y#UJvR(+G1l0{c?%(~gN zcfAyaelg~e>3F&5U6<02^L-h)hh!kO#AFtzUjUnJBDAXW=;OAE`I}_1o5POp`cKxC zzY>B+jjXM{XL6u@%V+755O~<4S7!l%W zy#NLreB7@Pf;#{|D7ytYT+u!YHGg6Ml6{jtK1MEifA)qDwLkfG+9Tw(^ONh-kR4EG z2pJ@fu98w#@C)B}v4D|pp?MuEZK!^t7MGhIY%AYFp$QEQ>w6(2S$W$Vr*G$pRx4J6 zn<*fTkjTX&iqj6Xug@2Pa(?R^?{KliB~*wz{~4OW@vroz@0<0hk-{kxay{n8CDKxS zb^3XIi8G(NRrmhFB9qkHdNkxb@buw0UV|YofN`@GMFOt23cg@?b6+q;T!3;D0BMw6N4|sBS83y+e56jsU_A!V|e8NtYlux@^T>kw$ zNkpWZUt{@>DQk{yYAnqvZQOM9f7jCs%8PGKD=#@A(`gl#!^|G5ieCza(s}5D%L=W( zUM755yxQyuY`v4kbLwtMdw50SV$$8KSuc%_SK#HY52%@q{+AG(9RW)grw+J0f8^ho zNwwWBOov-ZDK4rO-m7TRu0FfG(}gkBS6bJ6S1yn!o=(?`MOh-%*rG-{&DOIm*DH=F zT%{6T5RoZ@@h6qkFl6`M8({wpMS^n|=n#M)18zbKF+_#xo?P*Uu1M95a6T)yO?iAU z{@~KQ6xWZ6?*io?AU`h5P!&q3LkQ3ZE5MM3Pin*0^(|9FhW>b1f>JER`I%k(2omVA zeH~NSq&d1zlmI%);Iqf$jYoln2TBf<&fjb`_=T69EqF|gTo)1JwMscyjLrdTOD(`J z(jO*zex`v}TRIzprd^AT#(4smpS@;?M$n}n8tR%*Yq;<5{-^nBk3Wj2@Q{kMXB}1m z%R|=GPYKv2qt*=M)xA=K1C#Zc63WdffrAXs`PBvd(NK78cMy0K6nF=wV4&po^y_aD@~`e$(mlhOVXqeQHP_XV`O86j4U8HT z@9jT(w!ioFSxntpa-E^DCtqn7$aRhhVC+H6y*( z-xk=G;eofOSN7VApROE6_Z%cE*R!+^c~p$bM=?@6!EhQvkJq=3Z4FYvzM%2qEcFdL zBQY+-9tx^l;UjY1mqyh(sA8-Ow?3@6k%J#$f(%!0>uwg1PA9LFw<672?&N?`>rZ~(PWfWYPy5(Z5qFycZsQpSj- zYrxZK7(xv0P@RDQCcj7u+NzGN-aRoB<=Paoz3Qn&;W1+wnRsOg$0jk@L6q7{LP?}K zvB^YfkLH_Eg@c~vAUbYOnu?tdZ$PLZ+U6SoOFSJyz-cuRPvl-5PgO{kXB~)G`eji| z9PAf~V=_Kaj}0d>E;wIc5N}qHeiEyf$f$tvfJyzpVB*MuDP?0M2uTUgJcPO7t6(rg zIxc2pGxE>_>}*(}`>L>3g7!6&{dC1P^?G)=JS1|w7kgR8jV0LfxU$P=s?So$C2CyR z>($#^W|ZM1>Ajo2NAHt;gs^K@ zL?izTnHry;h8my_QGItk9`|S-iicP_hwOXNd;@F-z01-3TP!f%HT>$#$7}aZ;Qa?> ziruIGOLfwYNep5sPD6WSJXkMD{K+RcDQMvxY=dFW#SfP@dHesNcve&m(1`~*NE$1A zWz#3@zZ^jiQ%j&j3-e)!AnPG-85*8&M=ZjdKTFTknC!1v!i3a$Qp z(f54jXK)Gy1X!?NFd-cMpy`Eb)_n@~mjF%F5_M#XgC%E9b}c-u>UQCKx+Oba7U7&8 zv!Caj{N`4s;AINumEK5H#ZjVY!zS^v+2UDg1kKWA;-v#l?ANccMG1qgPF@ah?Q+%M zsuIb-8pj3kqWZe5NEa9o!8sSOT=b)c2}zxghKnG^B`e}Ha=ge|QN0v{GGhUAC(lBjorET@^8824!UW#rX*aqF>`6uW}VKyKhj&QyJ>CS<^!v^FJ((;D$FGwFmgLkHOOQX5fLzLJ!z z3tL$AdF=KgpX1kc=tB>EU-X8~mQ3i7$_SkgN4%Rzh1`pf8LW2DR54Z_HUC^IW3qE3 zu#aeKn;}W5Iaw%!Jh>z?a^8$7?5qaVglMwstLT8S$61%$gROvb^9s=zR5zpM zm4^is7_VIVZ;Vy;!$fTywUeznu>6tR;8@gYhD7BA4uY>+ z+kY7cju;X*s^ys2mxQFevNfme~~T69F`HcJPwCeunLZ8 zTZz9%NSlV24;OZ^*55Lw7VN6>EHEltx$Dylv@d+zTJ4FmLaUbhB)=kqSXxTwUx+;r zpT!~3*5BtPyD_0g81hfqI)HycIL_A!K?k7LOJNfA@vyu}xoiGQu75Sw|9 zBo$;wKbU%Hn2%*U?#u}4fZ>blF{3+NwK5nLl#+vB3e*_X{rV$pshR$7v1tuy)=#7n zc-?Lh7yVR?l0DK0pOl`OG-WGqFrtH5f3dWhrLo-fBD^wVFi@ZtB+26C%EO*xvMr5t zEFnEev#0seR4I4V%gFFG*>1F9ysl_7mfDy!Gb8n?q!BJ$#RspNaaGhE$z5ecTOu-{GYhR`GBf`gJAPR^tYh z=d3kY3W-!UJAB%+gz_?9*hZ*V`!^)});3t~Hc%=X)Mm&p9V2FlqSWn#e7BGrC?@-QlBJ=XnGW%n4ULmO$62 zGhXT~eHxtyl>h<^TX(1KEx~RDS1N+~Yf2DG;U)-FI1ED^JqRep3y@Hbr%|AYk{B?N z9>D`)W=sfjGZv_P5jK?afhd@)pOr$RA_@#BbO5NWgl&N^9oiu9!ILmFfwvGa9j72+ z4!jNpYVj-vEJWtvfys0V6UK8f7WjA>wz{=vee|{TOVaO4^rCOXc?c}cNFX!d;1AhC z)lWB4^giB7V&8X%fOT`cRXfMIz<6!;3= zHb$JJzARl}h(X+n3adUV2(^F6Yr$Xkxe&E@ZCLl+n}$#w?H-u3nCJ>b5ZT0}E!b~D zjbra`ji}}&vi!PN8KR}FMLpKI+v9B(4X}LnoV4)F=iYZJFe#kVH786mKSAJH*MDs<1{bpwjbwpKkxSg zAs9h1oFFNhVL4t9C0S85-7qcNaXmi>qc};kyeO->X*=Cse=r=4C)3${v0SY;&&a<3 zB1|abLMm;n^C6~OYU^XJeXjd?zu&^A=a<*F_m9u7@1Nhl%|BL8w!8h|csgGYq?J;_ ze_8*(kER=@Wp_ATZVv!LFoI$@K~glsa=bt&5=*2qxk9N@YqUDO!D!mtY_Zzx4yViQ z@%sD#2*C)7;RH$149oF?D9MVd>4s_9j_dhB7{y7Nq6Nn@-g-W9{m@GDj%i{}#BC$j&lPi>$>y{3=qelDr1jYAC31^WV zzG6R^cg)0(hkZNeD5=XZ+NTx6z41YTsQb|TQ8yxx36+M_&Cmm*&SubZ1+ z6^>8`rCo1Scu4H?nRfKBxk`CD7S<8eD%d>*5(CU?^ngK%BiS> zg>6`h^pAm4h3m)H+XI><82H~7gVKtH7_DSiz*pLUSG<3GpcJUJKH}RAM>JPOvmlC` zbKRv)By`q_V91&LamcnVw~Bx3cvj({OYibI|uLvNSrV zkgab6%WD(!p%+6+A@ecCWtW46Y;ReZF?q%(7O8z9+tN8>Uq#PjM(hTF>p6$iyR_@> zjns{JKFdBiAGKV3YgD}Vet{RTX-pk>?N0+YsI~hTk`RZ9Oy_aGKS_?67+mxr>csI7 zu4~d>6gh$V9e))wIcBpGJnJ*fZ(Yy>qgqVmoIjExI6aXN$~yhyd4^=^3bjWS@{^4G zw_jNH0%lA*{R+yok$ZgLu?nBb(}_Yk-!R0l;Ix2J$W7(IuCn4HuT~Tlern_pUOc5LF)f7+?Cnn%%$ z+Fk+kVK+RGtl%VAp?-IBqA-{xWBVJT@Ky~mCb*ZF;HdpZ!Byet6LDVC=2z&m!M3a6 zndfem9E)DPqm%^ZlSf6Z@`Y-3AL*yJH-UcEk6b%ODE>}4p&88ue_Aqf_IRaD0@gB>+V zz91SoZ3zna`Gb7BeA=|q01Ds7GMQ< z9aa9R_E)RDz7(Xl&Ey$4>Ut=d_!HI_l$Ei+eYS?Qf(csFT9 zcIhTE)M~xx)#A~fJ|*hIffXr{qX%atR8Cgn-IjwYn5X#?*rlX@8a=dI9da)71{c_qF(^hpWL zm|*8@uJjrWm#c^y*w(os>`+JFaG7;kO~Jm7SxSIYZ<@zh5M0BVNuI=@6g+Az_$G*Q zk=}r@iGtGhhlv?JMv ziN&L=-2t1wB(HFZGroRx5Tg{r-KapBZZ1tsqqa??Q1Gqrgu_o! z#eQY9cHb)h8s#D?6Ebp|ppU1=-ca#8LKl6WIAGv`?4oa`bf#tg`wVqZodq;EjjP?X z)!{dYEkVU#fP7%{(i61CSGa-y(p>mm;(Udl9;e^@?h((g7xq~*pC?;Sujb#rk_g3d z{uYV{y?!@?--CDEQ48_qa8==mE}8YH;7j%xi_<-3OCNaeYir#xL`(Qe*2eSQkIQB?QsToDB;`RH&LFclwlH;w9!%f zi504-hsDQS^k#VW-lTqk;>2JctB|mh@mG^19N=88+u>J(QDhYL5emGAPU~7)sW;uT zd~vfN*8Xp_oq-08!+v(dsF>r0PQQor^GPN`+gl_~qE!?e^CMf#*$GNiDflLDzi@HJ zOE}*Op1)dv9qfurp>^}P!hv>IFkcZgLB?Nw(Kl$eC`-&SG6|SZyAkhkcvPGC{EB$0 zRBWlpj3b$gVLoW^Ax6NzOu&#&2NVye1!F;2LI%6on1z>eA}73+R{FwVrDtsq$gi-+ zfjV9f=-Kd~$Ep7(83{KpEA$hbvEX$#vTDY}#!A7EH}K%o`sCk(ZPMvCce?gM8HmBcl&V#LX3INUu022OyM!-val{eiZZa%d|%qzx3t_xoFW z&uB)Hos`eHf7~n0?7jBdYp?xVYyH;mz1AFfSP;72AqY$m1^N>OMdAtMoMDvOJI+sn z;CJ$=tguY!IdyD|&b5C9VYe_VoD>#?q_AB$B}@woxITe%QW(N_w=j=1UEPA?QDI4# z5hjr*2==<18-+n(K-eVo2t|HQ3T@Y@{XWz;kGCD?@88Vd*CPz$>3*Rd_5b#e;bDfa z7wwjW@!h)*-2Be(z4Njlyo35Aas96Ab_*TCIYBtRg6pRJxAqQff8S3U@X$eAPaHlm zIroio&;3FWWJ?gFA0C}tn7eWXH3_GGiu?M}nFo%{G$@UNU?c_M{_+t)&`=*MoS3|SPWYMd z$4C#OeDdVviRrfdrau*gQ-3E2%58JA3yZ(rzx|7X@a8Re<`dL5cEhtD92-;T?)GhY zN$@zh@PjX$-;U=6oOfOM`IRq-zsvptm%588cnF^hS1tgC}K?0Mn9GSyB6H?xo7loXiL5~QD@x~}}YI41bm1rCT#_c%by&KdXUn)015UE`ip z{>ra;d8dpZj^P@0q0ZmnjBB?J!6{GARDbzZ`Xiet`wdVl#@o=0UaRDG9` z#+Sn*RL(IfQ+d`cL*=garLutk3R}7IPvRJ!UB2=wC(o@Dd2XGR_o1(U!{1Bg1-gIb zH~9WLJy!$c1>7HV>nZo=a`_qO9&b10jaAB(>-=~AUgW#&TpbgtYwSvi#)ZQnT={jm z|6c9cX)~Tj9anwkW#^u-@gLDh`X(HF6aNZVgn0=;7BMG*ZOeixbgU>V+DdFCwbHuM zvogA}Yvpw-Cs*cH7FL#49$Hymd3fcWD`!{!aOK>}e_8qSmFHG2uKcf+7gt_hDP0O& zs=t)DG06h6aOo$Pes<|!Fa7eedHIIR zH($Q<@*6HMUViZMyDz`z^5-sp;qn(RfBEv)E`Rs(k1qeyi{guIFW&j$$6ox-FZ{pw z)GvPc((NxDed)oM9)0NpFMaH#&%X5em%jGWbD&1Tio6Ea*H&PCQw^*i1+3qwfi+$Q z>&=(OFWq@*>e4$dJqB36x(3$k0qX(4`o_x-a9IDuh4rhKU#P%(a1E>vy!6(Wo_Oh_ zFMXyAtM7`h2Ysh} zclciC+u#P^7k6A}O zf9d(4r_~eoNahvuU(J6pe{BA(`F-;{4sHM&{y*`@RA9UdDJPpWy{iApH>>mh|C=5Y z9uodcc$uAKUtvEMJH*rCw=-c64;g3gz$ll0TqKW8C^zULlv6ayCvn^)JjV)(dzLq+Y`seh%^o3S`>piXCZ!Kk_ znept7?9(|jH=cVq_odwBwzjsJw&&Yh+uzpyHy!&rzTR2rd`oAk>&C99yMx_N_2@lE zdiCB%`nvi)(4Xx8+<-MOH?T5zX7C63&H1zWpARL69xsT6I||Pg)#4$bfq3OtSN>L1 z!FPi~D=?{vsXnHrdRY%E6bsSVD2o;HxhyhsJxo)>%`94E-)xOX8~)he<^SV`XuP#^ zsiR{l+}PT*Kaox+_BXXQo|h!H+h7_v@Z;N!Heha^oI|H z-}095p?B}tA>iFtE-?HHA-uN(VyciCh&HmYnr=yDx3YX;a3DHRhz;el>6DsI(Xo*g zQrUcAAR5l5)G+Sm+2-Q@M7VS=oY-IV4(9WR2Gi1}rlw6&dhqA>A2@LTfn(#t!{fte z_805JiA1=*xZm$TSDzmA`v=qY=W+kQ{U5;n;c@UG{mOIfWk`ma;1ik!A&A$gcwG>$ zq1P!nf@*{fG@^enMDPFhV~>6Nv5!5ywDj~6Q*TqOq_xw~f*SigvLE|)={v|@dfGcG zs~@$j_x5RKy-BlPN4qbI0y~GdGzd8e>f40th5f>7(f0$`12~~KkU5x% zggaTv0buAVX_doE-9vD%p4ki3_R<6$*;A@ono(7DkM*3j=JV@FQ>6C8&N-cn=kRoC zPGtx1_$SrZ$1P0J164`=ZC zYhtl*B&^Y}hla`}=xT6)jdyL2cSg7F%p8qw-)3lj&4@Qe0`;PpYtI~g;<}NhBTbvS z^Ly#U<`QP2ex=@SOE%uB8HUE5uoIC4WAT6_>6$NjMOaBDlRu3oxgZ1_Tm}xBz(S}0 za~kh@x8sX!Je;_20qsw!rJt*37?P#FxjE|6(gAiKdgEOO2$!ic$Xqn0X(&$D9Lw^^ z#Dzk&j^#FF&thst`;sqfjjMU;E1C#-SU~ z+!D8APA4$4dZ7dg8K>*{6dqe6QaqqKwq#ku(>RR*WX6zPn6Eh zOV5{nX^M&P9e5(p8R+lZ{Oop(nVlMcgrvgi`PV6|n|~RNPdg$^y^NElZOrYyXw6*g z86DO2m~M=Y8aU}SSGAM#v5ktj573a-!c;{QT3zy^Q6F+>I3zI#4t5hK3R?{0lZJk$ zVE~qq_v(iG?n#F(82Tp+<4z9Y*7xWJ#;m&i!@}4GJrK4q&lA`U>TZ`Fx1RgcH8#4R9#)FwsYPUOWJ;2RWwa8 ztgv5G6+Et3e$Db2T0}Do`7hE#b-bT&5XXT30bqYG$9|$gz%0z(!caa}P=Hr9OQ(9k zQu4)7kUDLkQ0!qTRcjJivUmITH*A-^cC1D7v2ID~c=FCIv$rQG@wq2oyz#A>%v;aC zH50$_PS%Hl+k5;zttDoAl}XTo@yYJ}L;O7XFE{VpdGpOXySAqV<;oSzf#2c$r4ICb z5C#xIiAKU0v2-fO037gVa3H2ouf;e`$`w;u4woQB09QpC5K05Z7?C4_yMUzD#KZ?x z*_3rv{>?LPf+-%Wd%O5Lew=G)?j6cI@JE}o^})w(8gd%co@#1n*?Dv6B623j(Ly(a^ALx3dW0D7@e%NlqcGnH#k9*LfGEXP zmJx|nrM0W1tIHIt7|{qDa`@h0`8*Jn0xjT5EdyuUEUV3$!1rpW3+}x#5$VJAGQNG` zL|^F~ag=jT35%+5KaZ3Xm7E_DlXv(~-m>!aO_UyI9i{K9kfHwF<*6Yd>&_dDF^yUg zvjjt}I7~bO@d@Kv*oFaq;;)`~;-21~?Kk=@Q}o5OAtv1Z;Deuhuq|xrR#QVbmSyK~ zY4{p|-pO+56f3r9qCb)FjoS^SIqI%+W9YTg_%^$N#nnF=dst;>#!K(G`C@;3IYvw^ zoWR@r?)k@Ku?}^tba8oEP@G0_Ue=7cyh}KMcRLapTEkoC5+G`w)7rt>`{~%aUVvm% zTvLd>N6~d9N{8=PQa4sopCaa6>hp#;zu#KPpU{L{#3JELED91v5?~p5iV7%N zHV0Ayx{I5HOtEY)6T@1_!%WM!eM?i**wMJp9@*iu%t)Z?!Q01<#c!G}-4u@3ZNK~O zx82u0^U4D{bp7Y_#_QCaql+6`XjN#wLbmnh{Do^ZOexZ|!um+`tS z#eP}c@%kM*deV*Yq^4@^+sgmReBP7MM zWVPrXCZT;>ahDMbKL$x%ikuGaA|W08@5-;Qd`XnqpP|3D3$H=VO$<~#YO7gQQ+vRF zSawv6LQjbmvbd48Ti9XJ6ZyDFH$m z?XmE=V1e8{VzF~5vr6Uq)Q%1n1oD|@)Ts&;Y~wV?nWMySBe3>13K^jrxLhGTkPWu6 zQ3mQ91(#{bg@#%pt*%Z`77xUt;ecZtS7Ro#&6ryH%YE#beaB0{n^1iyRDUx+{*~o> zCjtFVpY;cZWf=`~b3`X@rV{RlXq8KU2ZY;%H*hM5*&%i^Rf}TiiC!RGMK(aZiv0!1 zFCbzN`eP&{phzC4bc)0o{70HZ5SZL3qmRmUu;>8$RI1+_YYMcAsvKrRJ(1L{ret`> zyrB>dhGawnh8(o&{T&11?RF$$f3TrTHvNhxoNNembc7;XP0P@2X8y_!+jf{0`cr|X znAb8>jctQ%dcgVzE1<_iw%QsB_O@D{`y#d-(YnIvK(ii=MsfZk|KnO1+w zj+j}mFR5+Kis$9lXi#qsq{CgBVtOCvU5L3t?RVsnL1+9!yydKsMPsDc5l2KCCkGdR zphXCU{b-@gJ1JJ=T7Dz&gj!7U7ybuF8A@tBj6PAf{rB{zqPb{!ymYVb4wzOS2$>s? zShi-s*ojm>YFLXvhHX?~kk|A@yc?iUcyD|S2BG;??e7%ec2f-GZd)T zXtW%BeWkIAyq}NMn1egsh|ly^kf%IxUN!325f^b>J(JsT8lY!x5_Vwba}!1<7$?VX zM^xd{VIU@fNTN^Zz)c#pm!Y9NG$}mEK5Zw$y+z7gPKs{*M_o(U* z#Xb?r=UeP>=@*bAxnwxT6Lx7-?ZCro>3MZR{ibamq!bfO5s!?ybR96CgRT-0I-wVg zl%X!mRv?@)EgcyQk^QB&+>|odW$m5JPh=P3;JRen3fudZmmgHceYSbtv^!Mw;XV2M zp8WM(m1m<4xQ-NSr^ZVwDw9QV-;`i-Ht=XclJ+Y6)h>yhBzQn&h zn<%oV>C-g78DYi5>Rg(D?BWAw14f0&o&|CVjH3BekcKcJxak5ybryHQKfp24q@58L z;YEplMAAKCj-EJAl3;xnGkm!1oD^4#eTEX3#&0;=^J5#WZbee{0{+O*a<$TKl&G{7j=cu;cpU zL<>moWM2jR8Q|6?;>&;>sMP~43Lv6G^C0hJo@-=HnBhe1lor6*&xOoB%yzVMFwFj& z5wuIoh7Xnl(H98s83x16Y;Fk$d}8UnY`6=e;JfnK<=agQGO|y%OeXo_JG(aD?upQ( z2G`n=?b;dlN!rL1>w(zFrv5V106Y@33cW7tk2fKd;LXq;T?LO6#KBcXGF`1P#;WpT z5ePpcj4L{5l0)5yr3VHFG8Jtxkanp7rcg0Wx(cMGG``^xOfEdMl?~#XC#?{lN4f5| z=v?gO7mt?4FtyBswmE0opa5a3bY>0(=Eiu=*t7MJYwA^e==6M*xO9L&pLZ&IsI}E% zZ!)Ylns05EQF;g4X<0kj-Eqo@_f=}(6*+X>nSTwS6l6sskvyUb|k+v7AN>~Tau8M-B=sJd1q6yV@qIFiX8naK0B^u*S zGVOD0#kFzAU=@L_X04sOY+?r%avQQX3ZI0grgB+G^|9yxw{E+3?{{z!@ICyPP{Te^ z?LFJ8ioUSga-`OpbhsidhU#Chi{7xdX_FTAih6ECxcaURSDF5*15n+d+T^k+N4r=L z*a8P^_ATwIsOi9rTYw*caU;mOIeaJjwXmv*dUG=e5uk0*XB*fi%Y9ac4f?Oc{~!ll z4J?j?U=p@@b$H&)`8Jm^`9UO^f7Ner6TAk8VfA^F@VmnMgbxazSWn3@H(d`x%Rq*v zHRc&+T#Y@b+U`@GR;tQZr~jk%RM%NeN#IH%p2c+{_EWu-)OB`IFFkH0EPN(5I+e~l zxop`vm)!G)h26|U)(;*nvrUjM|hOHmGhB#vniOq$W z?5cdSD?749%Q|oPJ#mZWt6fyz)e_pYEP0I=Y+H*~d9}D)>(D29%K`xb8JhE?VzpTq)CL|{&ciwXj!DH_BxTEyaIA-oD#aMN zYe~~7i;(zm4}8yeMQ z-Cy6_-dTc>DX=@4iq)o|qwDgrT zXO2mFpsu}sdoG$uM17_vvM))htZAKPT(V?C(oKwrU;DuaFHU&h)k;M@o zcw0y}aa3?|jbD_#-U_Qb6wevww22!9?x;c|HmZiLGahA!b9%kQ30S-u2djClDb$m_ zvj{l??}m(5$W)tL*09z$e_dDA!@7PLU2{{pyU1HvVXG@Xh3+f9<*T4v70$Wu&OlA! z-leE|Ei`94S6{xg;k(b2-+l2_znf%3xZ$YV*)`gIzFaf&Z}{dntb)cGuJUq6Z(oL= zFaY|2I7&x*t3u#rmWxO&0Y__N^H9tj7v%F{yJznUEP2ed&#}9p)_j&@7HE|{zjrSY zS12@`cV6KBRgyE?VM7~oWhj@9Xf#6{rZiYR$e23lf*e#Z_tgQGv_5XphaXtD3XlW# z@?Mz$d5+WO0}e6&QWZ!C>@8)ON)y0!r`@1z@YEg{Md9gL|mb6)OcKTJo|% z4XA@fvn9xd1F+$cy-F_Is=llFl_-l1W+lJWeO+%r3V67o>aZSf zFeR(8p?lD1jkiT_@-dI*i~5f>GQ|kly6x8z(FW5~cOsh^GcB|9MJ@+?sHLg3InhxU z4x4t!yW$OL$+RJF?#&OyVs*J_{XSp28Mp0ta8t=65|JTdeYy|$W+xu>7JaBrTBQyqonJlN<%;0G2wsA|{RNp zwt)k2AQs`4BQLmg6fYzK4pJJuCLQ&ciP`xLX&Fne60_^BO3TW!5XJArFw0$oVQXci zoVXZvEBDTqzQbA6|J>2ryQ7yq!kzLT<18tLj9wTXoLHR;+`d)TlgZEeI)uv$uvR(z z9f)6}DOX8IHThMt^u`)A>5Oai=1h%74C2>D3M3sj(vI19m111F$huIj{F$hvkXWx1 zBlylXOM4t`_&@W2MT%1*+Fj-iMPVy^fj5#D=-ON&5LaxCQl^%cCt4ghsVp?^BU(kGd{XUUNQd74X zw7mB#F!hJTtFoff3e470U{^r%M&pT|zK~B0*&WS3?M|iy?7Gj|aLS|}35ecU+6NC4 z-10R3oL*G*!7Z=UcF;<&2uI?}!6oS0sbI(lH6dCGDjS0ph$mwS1{X--DsBIfA4Yt$ zPBi1DsCgtQC>nL9D0yv3)RllKhFBc7e^ZPxMB81p-7m} z8#PI6umTbin%v{$$VSKrOWIW%b>3392KK3zDis@=aoR`eU|Y0R#h8(eqZ)4u!ssiF znlqO%G`0!>z_C?9`h>jO$*$6XJ=S%Jw5)mzpXt|qqNc>HzPQKh^~A3Vb?E~iw=#{M zpx2`+BI{MO!@d}l`nB-339x;ZiU01`l};(>66fFS~X=@ z)>~Cof1MWA%m&qrY>s&Jcol6b!w&1@wXr7VXs1>FjIzP@D#-KqS~#o?S^6>E;)knZ z&$o2lGw0Fue8w$l=^3ozDB};sHRpiUTPWh9$b(qOa?kav2rjRQI)pZk7KrjO=OHI! z2p3PNY5>vY(k4yYq^SW_ZTZc5}@xFHoqgCAS)go?uD@`qIodUZin3z`;Ws@nKB z8>3Na;#Znze94gLsPD&9npX9cfcCD+A2wvKMzk81LfN&VD$#*rPR+SG^Z+3ZR1UIT z!b6I%?ilzaJIY0p(uaEIdWQxE-p1vScQrN+MIt^Y>;K{x!(2?+#nZQO`6X6;+bs(m zk*<`kd_`1X&xjy~p#>NM;ZFjkrg$VsfiP@9+=n=ui-nXJklDxB=j#XLEppgnnZ{hF z-JYCJ$n_u3Wd3@jG%@o%Pegx|J!`i#l^%+DRH+`aD~FKOFG2vbV2vf58Y@ z-^8m06)WGKL+r@s5kFBUB!K}vr2R3n*<${HA5yp?EXyP#VW0~pA zW6`etoy>daza_1^Zl+_$zL)%FM{g#&ckAVRxcmmOiiRFJBQ@vh-6~z8}U^e8$__9_1n1h~38L1N^v!AAzV>e#uuVegm|=iEBrQ zmc-0Mq$JI}&|s{E+;14HQF$l^DUPBetK3*Ia<##QC2{AKjTlMGG)?O_&+yao=SE9E zwS(|v>4x7hdW?rsjoIcbOhNEy*(1`9p8D)E0x?Xl1wYpJ_^EWZFNDAhCK_gaeMdaK z>+eI2b^5ArtC;PLMd8>gO=KDZO#zJEsy&o+fc$zNf|wl*RD6Jl45gT>$enk~7pOj=eXsnKIZ zBbjJwph0GGgN&6HkgrHN174B+eo(k+9X8d(`xi+|1E?fBb1>omj8drh#`&=tudEy6 z|5Zt@zh!LuEp?I@kkzKKt<8%3T}f(i@>oz-n#V?)AnPudttk``xEfi0yDTS^LT^uA zs)L-Z%JE1l6KhaZv}eP7nmcYB5Y3uFc+5tyvf;23nTi0&!HT)3Wi>Vm7M}8S;Lb!U zLvyDE-@s5B9>#Pe#|!a?cqJ$}n5$H_S^+&5LwP7$5%vo*7VWW07bwcgNwYDe$C9P7 zWRhJ->K5I^AF?qEo+HKRIqUOhCWfuOZ0w3q^;}gN&nA zYQ{yhymWz@f04@a!*Y@hbKMjV9HhKF?q58&`Z)R*7wa>USdW3C7!M(t{DFlM_&aBv zMeRsB@26)mYP?95jls29W@s9hl@zW-OT~1kC4g2zLSq-~1JzL%%X{~Zm(E>;b#f|< zJ5DGD(Ep=*nZI-nRzw;zZX?57y#Nl-Ms&ob`{etryo%g81;mJ;ldEG|5HbQ_$lUKt z$v#wmfsCU_{7}6ZP9P|Rokf7g^Eh8{ZdS*ylo0n<314A(Ua$fax20yllllP@Je5#3 z`C#IWd=9~s0~ZCK59kS?Rl0?oKY)qiSJ~V^Z|{H%tbfw7WH-&gN=nb)bk9xruru2h znwl22IsBnIy?172Z)t*#1dHg-^AEwMI|oR(WQkF5RHy9F7A2d9_RAxlVi1iBkawam z+hxlo0BjZ!VU?u}8(ffxLKW~^AbT85!HL-WTX!0ra>)B@Z-_B=C^wuIZ)lB_(dH8n=8*zFKC3UzY* z1>$_7Oh~nv{(y9_xwEtRuKkVi=y2m>o&ASWjj>ajzI(SQp7I%od}dV9BWz^;4H;Eq1nxdy=Y`&cj)4jET4|G0Hnu*rCo8tZTJwFqEqbh_rS#a|Nbtwd)4ZYP;Fw|Sv4F1R zl(>)cDG_l?{~fUre-4Uw9C{iL*M?9Bd5_dw$mE#FWZEZj1h4{3itEM7R0j<)f*40y zr%DDPk{M}nk8?%ns$xKS!`zE7jV{JI5*9-TrWCcY;q>u_Mono74JO~As+oZQUejxQ+48AN6NZ_wJP&(p#d;$Y z-X}E+`ua1L_2-sid;Ub$RLOdnl23@@bsk+CfZ;~L9Cz%)O^EuP6PATXuR7BSg9{*o zO4h~QhAG@sIar$q4pO*7Ptm1C5O zfN<(^nv!Xr`^S{L1Y&Z_1kJ?>c&jCxc$y#l{s}){EA8}mnxd>(frl2mmrn z{hM>*>s}?-DdQ*C2r7fa?uoS3@!tDZE>uhm4SV8=aHd%c8K4m1bYEq@bMi_=!1Bl= zY9geLF}1~wTD@1xYA{?5l5hdr877utUpQLTeg;ECPTdTQn>H7Zjm z^8-F9>VI02GzEc@hYWNk*`-%)4L--Kx;Ban>+M`t;~F$MGX`S7ff>yWkm(K5OpU5j z5G7UW)TF+orsQN@m-ioO6E`Q7pueG3(MbasNxkC$*|T0&wA%)wQhST()yIhbJN`wC z611EV$h@yQW^P@03>=Q-Rc375f;f$@dzypX1Ya|RD!4PqNdgJVT}%e8wo=U6`|(w8 z5d_=XRb$n#dLUB`g6dTS?Qpu-O01=~^kbSsBwt_P z`bQMdm3y!g9%`=BL5gtKsAnNJsL(aQP9oc2)F`kE_1SFwnKw(aH9;wM25(;`(sE{} z_nc<13)%Y8#ro`BqICdwll55yOC{+(R+$=G223{=sG7cP7$u5GSk7(0_BlH$FXk^_ z*HD%=L+hh=;4rtEtR*TR0d$5|d!W9kwdr6Dwy-9w4a=-*AYm_82Nr#1wN93+3QD@a z@+QY$pY0mFrf4WO z61&Yn9QxROeg4=_Vu8|YY`SDmDC&$6>~1u|Vl=mjNo=$uF=@4!{)}NX#Z~2W_f|tni|oHmdE3ROO!^Eh?hlBey;P^r2RF$IBq75K+WuNCAo+~w zNF*(eE*~^yZz!pmtszCdVR=;aY*E9y#?(O%lycL$RhIksbIw?m@wO4R-U;+!wYii` zhsr>c9K-$&d3X#{JtEdM(MlHxD-eZq`cFn`h15lvt8 zQ&C;@T0W0g@)r%Au1mk-5lmRo-*S`WGi^vZy3g=Q`%7OgiQgtmjh8Mwo6kZ4f6DOYV7&MF>g7bv zYp~=P7$tojb3=vnmtLS{953LBZ2oDF9*U=QJrxh>9zmtd3P3JM0 z*Mzp3vF56nY<0RO9Qa}>xnV1?wZmNPXQR;0^XnTkru%h#YESOmua1dNRojirle6q* z4GvJy0+9kOLu*Y)ON-Hv(73$7x0>0@J*`DfYX0c#aJ;9fsj<1cj%6|kG0C)#NtxD+ zG{z3{U1tt*U+Z7F1gkGAnkLJ&=ErVbTDo;CpEu!zCE9d>+kI#Zh^KDZxc@_>Vv}Y7 z82wB(!s0Kb8^fS=`^8H;D zN&of13r3#5J>)aq2x|sOBd%aJgwt1pDdpy^#h4bhitubxEt&vpO1ydN@FiKgC)HdGH4(BJTReJ;sL`6Y-uJVgp_3TzCjpic4+gr0+elhy z0O9oEfpY8uEL2G+U>5yaZI^7M=q?w6jqH+uB@=)Royf&{OXS7U1&rf`i{Zq^HpmxV zm|$bDSY8wu_NThQz7Bc*!;s~hNI>cZN8^%GwpWa}?%4_x=8@Sj1q>0}B*khQ#1=44 zl49wC>_5evlLbELO17MF!pb1ROv0ICMX7aVUWhmJB)y+oBS;LU3wnnZbF#px+2>X4 z@}t{1c$!q%r&?lU&j=Wx$5Ushe$A)@H3=y%Rn#!Ub9Z>}FAv{vVjxsi{4(Y4a=JCAR%E~l`bT$uW z>oA|M*z*ChoMTByha9GZ-Ga)@%C%s@mNm*yi0j)TKZsU3bSDnFlSezQ=lW-r%^qv19cg1L3vrtp<}2DcRI8*6I-!Dv0gcd) zzL6Go5wI^4Abu03`$hGR(xd#$sVTp4KVP@mPoXr&bbU|hV$#n67bqJ27piKqaXS4% z#mu^bOpsI@@8*j`A1OZtLh0zx%NP%e#3x&SEqEgkx{(9+!K(ek7$#CZg5X$EV}S}m)U76+`Azf;1x^No%wT^>!t<@{I?;d1`tK2HgC)i)5MzyGU zS&eeB_HDH~4Bl0a3K88A)LgyJ(F>r?M8a+`h_k=kXKTTC0zlk0f3LdDSlfB!H?ZUG z1n!W$5QEg#Bv9lQa0o4d;7)rVky5LqV}lt?*|auT)MB~8SWzpc*$b+SVJiJxvLx&+ zrc5CW@8(VUU8R4^e=YybZM*VQ_wO2J(*p0-639}QY$bvSAQ8gdnEo>PbACfS(<}BhWGFD8A;ZpPSRZYh^7#9mR8Qu1N^|};6>=*#OoV2uwy{xEj#+4x?E##vRY}t z*?jM;I&m!AT9-f+ zfv}18d*TG4yfI^;W=(2~`iHzt%i)Z~d~hFREdx@67^<%&ORZJwQ*-)u-kSD!5ZeeD z_``NWRv4l==QpcxCt*Q^hPM`OI6rIFscr-9B|lKnb%s&13Q<6T&=a}=m&&M!30mEZ z_uZ3nmav9KLwpHq4j?HB!&C$2xM51lr&ZHPD98*dB77jq_?ktf4eidt)@YP3Y<(k5 z5!we1duB*+xL5*Xp@5_ta1DjL0mXoVPx1V<lmarPbKwJlfWyp88mU_>kDm?Xldw#>8~C zD&rcRf4itz(I7^vNt4w;6#j2f)SB8?FDvc(2BOL8F&fticVLt_69GmJry^Jl7@aO8<-<^=PoXl1EGR zJR>R9E$+&+9i?5BQ;A@b1o~TBnkA<{s(PrJj(I`DNYC2^J&!lNjB{jpK-Whq_DH z{K_~?h7}+HBx$f+XyFu!L53Ni@HKJwOJ1#|MYHvBRUQ93Iv5BMLXP(u=-TVk+uC%W z(kIzcA3tDUSe^ylqXgYUM9h;1dMm|E--y_!W1t-v8`$|lxnRf#0%8ctm@*S9UVkn$SuSG>DWJSc=H{L%}JqMTuy8v9P3Q%nJE?Q~pqU zL%2Cn+;eoxkf!t&Zr$7yW^ZZ?x5hW!aCERwQ`@_5-Q4frxmv#T&saz$8q8!$-W1I{ z@`j`!1J+o6o$U$9J~pr~c zhDaz89_f4Mfz@IQrgjHv&nsA~6^lyB>eXCt20B^ufz6RHUJuo0vpq? zGOi=0qr6Q!bqc3j;MUw&N0vI0y~zCL7GfKqL>c41sMbr8lJ<$%5;cvmxO$c8a&xn+ zGm2`)6+#5~WmUP2aK)Jb*QevM!IWkNA7;q$w4#W9zo_iv7m~slT`8-jK-DzFAw7qE zdp{2xigC?xC*%N%NUFjiL^p8$Lo^R73vC1(0e70Pab6~?jf%7iIjd3p5rhOZ+a-+Z zI=aYph8pTug+$`be26U?#u-mAJ@b~CbkI|G_x#&o1h$1nnWLO1eR-%Rw%X@$^Jp3IqiLdA;pGGtWdq;K8!M$6im1TL>!6G&s z^h88Sv_(;hc!HVwU{fH`KLX-C(l5tW`G*|)G8aWY!;db?TT z3Rl^wRUXLl!2UL!_N2ESt8Td_jqOT&Ov-#@oi_79&K_SqqA<%0W0P{OYO97GjOW)W zIbY#J@*hN>YT8Qv8`?D$E0SQ9s_v$OqrFAp*CSD?Oh4A`dXjG|n-H9a-@y_4sT%p= z<5hwIvtU0kRI(qax)E&UxO|{WT5vUfSFWv*187V)Q6y=Z55y3}1&I!3L(UEZ!#2lC_TbUXF~5Sbc?L;|u*M-~1Oe?!pY43_(=79MA^`Z=s`jM{b- zpi!H)vj#UmorTGvGl(w<@YScVUZ3;##>Gw9vbc}gDSG-OxIQ`q=o+=}bkY~(Ty zmVay`^9l_F?p9Y&_&9`bOEN7Yv|dN}^jCMjaE&G_kkeP66V2AGCxz@vgTLl zhu^P$yvc3v~8my4JrfE$R>$^t7cYCrNcSXw|HXV!D%Y4|_9a1d&`z?6)_#P z@K9_NRt=WtWf>k^*PtiaPPiiGAU*awzAAiYYO(QsKxeK=T3oaI@wFgkeLy`&G63c_ zL4I@8NS<}`Y7^G9ApxF&IK8!P2su=d=n6^TjsQs-#ut6ZI7y=30YiUKu-B>nfAt_TT}I zE~|(lud{7cdbmvF$_%)CcH|6)_TF2CrnLgLLs=`f8g0#ch*#{~$WB}40bu_KzjBSu z`68sfvc*z!jRLFpu4=Osw{&!D=_saRK@rwPF*t^+jxD?4|8z4hkgak9gXI_9f`PCl z%Tz{|t#F{1SGOk+i&f{JEgLSY$G!zt_F7rC5{Lt59oYh51>vbkwrmE$M5urnZ{lfEHF`U1n?d6aC0~yOKA1uG+>%hN;@d)Yt4Z z`W|jstFk0TGZkLVZEhR$o7^gGTsL!TZROPy_>Z_}!V#Su8+k2gBYf=N#0P?R^EzHf zbQ!;zRi?}3cehsSDR2g@l4jMF6=14|@vF8scXA!X(MjIBs*;S0dv+?!)Y9`~@M~;(zt9SvYA1iSM0mT7;(ZCvI92TCgg@ zDI*IF>`phW2pRULZdw)MVuPDDg)Z^EZW>kr@qf8#zYvl--E=_Er2TF>C^SgF=cXel z^F22mMVWttXP3!fzv!m@LROO8bU?7BZEiX!6r|U>=?Kbv!c9j}=Kltjo5h-<2k_I( z$FXAg82@4DHms&@7m`=~F=t`t?A!zM$B!OcOtu|vPwt*QxtQF3YIAR4kdTbPfsUrnLfHSGdVA;{pIOO{%`kN)})Y?e|cKC#(TSmdWL%t7xUY_}KL9+Tp9rU)4?hI& zb}yS@C)i0g%jVb{**sfdi)@MA$4;^P*#qoB_9pfadoz0rqlGrV!`{Z;&Q7y;u!q_2 zvPalE*}K@g*`w?|?7i&w*ctX1dz`(Gon^m|W5}$?>#X&f3I@<#N^Rwd3x&jqP2MZ#PmY<;p6j%XQr*g$EFY8 z>t6WYxHP@6h$-z}OVbZb8~AoF%uFsEvkp(rOrM;ZoTu6~p!JFAlZ)z+*_o;7d5?4I zo}HUMX&gQVxVjHb&g*WW1%rU>J~laXM46dBF?-T;c%C5XK0G-;B^{fZ@*l&r>zf3so7H}<-=eW^1|eO)9S(-mnP?@_34xMP0s)rV}@AB zp{1Ea@}cRO8U5Jo!rbx2$r;bw%+f-)Q&@F+LRmO*d}dlXGLH(S6Vu1^d#4{bGz$Rr za=Y=+H7~)&-i$9ZuZplJRb|^7RMaR0b~B~vE%nmJNc7KQ^#kW!L0yrcVT)8 z2r)3R3z>B+;>-tzdP8A}Ux z<%(m#>Ls65tCxIUNhc=fJnkf*F|_6;F;m?^K`UnG+%$(8h;#3>w~V@cE?JXPQ}fdc z3*9u2D;G3vJT&FY!+U%R({1YLw1x!T^qo3>64=pwV)FjuCyqZjUAaDfl3&~IeN??T zJ3nnKoSZ!ca&hmpu{e*JPN1rM*cXh$GsoxnG>A;jV`|VX_pKa_*XI)IMc0+(2pw9N zy)-8sojzfMBuqchedsvQfqKb>j^l(??ml4ig30G-H}2o7Oad1kP^OMQ_}~ND5e&?+ zX`nJqUfyxq(RnoB@U)EcNu3TVlKT1O_<@@O&rT zy$FK4U^+P + + + + +Created by FontForge 20190112 at Thu Mar 21 16:19:01 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.ttf b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..17b86c2f0a22733d3581f575536f4fef6979d929 GIT binary patch literal 34092 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 ZGB@WXgddK#!wxJ6Km6ReZSHmF{{`l@e3AeF literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.woff b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.woff new file mode 100644 index 0000000000000000000000000000000000000000..822243e2702daf8c8a0d4b77354c435c8a85b0d6 GIT binary patch literal 16804 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 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.woff2 b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c446ff7aecd6b60065fd60728a230367cdca6f2a GIT binary patch literal 13552 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 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.eot b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.eot new file mode 100644 index 0000000000000000000000000000000000000000..dfc8921a364c4094743cfdccdb77ad6d2d63f31b GIT binary patch literal 186728 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 PXlZ%u0}s!-zeoNbB5O^r literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.svg b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.svg new file mode 100644 index 0000000..132373b --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.svg @@ -0,0 +1,4527 @@ + + + + + +Created by FontForge 20190112 at Thu Mar 21 16:19:01 2019 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.ttf b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000000000000000000000000000000000000..97ae69b91737b4d97b021dec23806e64de61bcc7 GIT binary patch literal 186444 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

7u1poN@kbMBL)rqD54 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

Q>vmEI?KOuBR+obG65FH6Y zrx6kzbuP-w2`i82=)fjNH0Y{Os$!mtOIQ3FGj!41nX_$VtGB!GP)vhB>0(zBQvME-qjgA~2Y1M{nS1glc7? zy9b9WM=Rl3%wLYM)0~J>_9s0&I$kd&_*Y8jAV#%aYcN|&CYKM~k+7~Y5qr5JtI1?- zcy45j8ikSQq$!t&4>o;b_aNQ_`KAmO(H%qEHmMPbAkzZvm5}kRoujFIc7D-X9L}~I zsfMuj2{WHC_@#XHSS2b}58D5Wlzk8Rey&n^qIW_13!_eCK!tgKks5&4NWMB*V+<~F z9*Yhj-~vD!*hJz;UJ8S3dTo(Vrzi?qO`wQkp}7n~0`@`?@m+KTK#~2F!+!E%F1vam zR^b|5H!?@!UNzR!34Faj*B}2aUv||6YcZ|N%wTD7kn|DbZBVDdoc$^xKui4W(W5u` ziwIITzQ~6kU4&64x-LuG-@Yr_F2z?tF)ET2A_Zj}N$_>4A{y}%+%k3!^5-1#$AIw? zxyd!R!8Wx`dm*Ms75p49-wQLJ{p^fd8Qa(xD?fPd`s**O^`2i}SHbhD*n4h8#`%{1 zTYFLWwU=ChtLC}kZd1cr#bj{%X6FBYj%P#hV5L^-hZXq3-Q!-w;Vqh7RlAn`N zyDVQU?2>vwR0S4=jvoN?$d{hOS9oCP32g8B5yu5L z1>3rtKpI+!FSQ06Y3gpPRsMC1c$qXdSfY<^&_|Q>QLw$4uo?pvg7&1evCjJ<9v_*uVzpe}+^?;#ZQCJ| zc7KdwWfe4wXS48d%o3=X6+^7oi{&=F8ofoe)?srrgKdEA95mznQlm%|_is%DXF3{{%N|nt$Xc zkL{f~n2rXoD!rk#INDmixvmnDEf7S1zdq-DTE5r5C!M|O!4we)rG7eBY*Fkt8;N|M z{XL19{kL|;@`cY%J+H>oiOz)N)aUc#L*jw!-$xY7R-)X(;kPz$!@$i*3g!et`Qq1T zi&TK#lQ>Y9*#k%<;!4;@fkOMDnO)lc)uFg^k z^lDi;p7pM>%+}4OSKCvoogtDvo-2Xj%Fz$3{N4q$`CQqcpb=S+c0MSxuM`tTVUvdW z7tZyBrP%sHyMWAK{-&D}oLar>v2Xm=zUD;I933-OM}BiGlNnR9 zOLyJ>JC9F~)^cX`zB}%?#+U+4h|iRNdMt;&-kRo5U43zOgM%?&pfEyvSU%xIA#r)0 z4}9YE%WkU;YO6&Ykq*lu2g^oL*iN54&5Oj~-HyAmY(AdK*XqlI(+{m?2KTR29~^6) zun}Ink6GDI43%u0+;RJg`qcXmxVy$;L=ZRh_lu+D1dzC;b-T7B-xy6d4yP9H^!7|& z+LSs2WKVu3Ix(8!5e%;mmnJW>tRc5ayAKQ`xTiPrG(yH@Vh$OQ{kcBVaupec3G9f>Yvz=YikZi{gW`o?X(_wDYR8#ALT(S`1(=lS>P?m~2B zbb9!`?!!-a62sNV{`i~AolYnA=J@_dwQ2zA<&o&O4P@*HE1_v8kGD%PEriojcy^t( z)VKfCeUW%Pa^JkWBc5u)|2I7|^OS5+8}Uf*$w>U8E0o?`G{#59S3b(tlP~70|B1Ss z{+b7Ax?6rrszdk&iUu+qDI|gU%wD4%(lnrg@_d$g$_X3kFTQWvuT$y!?2goHj@uDP48J=89#g$NIoSLE z?BlPYZc4=IeZ??NL}PIS-whU8A{7tE7t!Lg1CPK|`6;d!AcS~4vU%Z;6!57_dRM@;^WN|NIV}v3Ie?FiKQ^$(-Db9o( z@-4o_EL}tSLUWm=u#@DaV!a@}mJ7@Dc+Mm4T=t4YQ~$${=i{|V1YYqp*$mOBU9fu3 zC-a67AGw*tP>NiY8A9wtQ*jOylR;Zm6tl7(_C* zy0Wq>7pD-Uor`7tTr@ov1Q3vd@^u12R9qeT{vI(YSS9n;Xf&BtmLDWULz*%o^=u?1 zku1ZCQ}`?H3Z2grvxq)dnbEN{>&k*@U!AOLHZ zZKkKuSzR|3RPa+;R;yBLnnsO$Og+v*eI5NGL`t{x0yyfVv{V|Jd z5Ket$!zhSEm6b@LT$BzZg+d_=Cu(B>&hU>YwY+let$TLt+IQWRyLUFGb~M@?-a6#H z=~pi>-+2k=x*fY#cb+`8YtPcoTC=^>9UYk+L%G!Y`asnfP`R3 zM77>YxqykugI9E>XF7*>cRI!4sliIMG+FC7H$MJrJH~hH82_VK`tan;{Oo~CW;)}Y z++by5vRtayS7qOh9sS=A=MGcyG0C=U;Q4UdO(rC%H1Xxt>DJinfiYSBu?J3^c;HBA zV_ZNspG7kQl9Q6jQOV?(WI!@6a)Nd^Gp4MsCw|mfS~fe*9k=^WTTp{BF{+g{U(at zS$X?aZKvL)9U*sXUx!-nAH#w5{!ttXXAaCXHSGvFtX&}eHVV09;^<6xk_kezyCRGB zklhu|5=rl~476*&Hxsgo0Sr{yhTzhDLcO==GTpX<3e2KdI z*@wNoPObHf7p$f-elp|N56|q*?aQ^O!7_Yk3N*0jpIhydAwO2!GB>uHY?s=7&v$6(7E;H<#qnaEsL!#{p?4W(_SSQ z-F{2~8$@hWrYtrv!O>0FBXd{#M#9c)P|_z5&3Cs)IBCr?KJolNoCS0Xd9 zJixF>-fyS9CC?Qjtc`U^Dg>{Oo5ol=Yv=7!A((BuQ{x#-yNS`dT?cmLg0)hTN%}=g-C`KGDC>(R`D(HF=WYA*gODvov%i#$-Wug4 z3%9&&7!tOWUxhi^EX-ztR6=>Q?(e`vN?TW7s#gOJ;3f+fqz!VY9K79r;{(;tnGLIJiF!^)YcmfEx z_v5~YgC?FJSNxp>x#NC%Fp|ub?8?ZhUCJdBxl}SvqApf>V(L(SY&=(~Rq(Ev2PR61 zj6X4NxK+n1QTa0!8yp`!X`DD4Ph`?$50MzezidYQX_-X)O|6|XnJWDRrf()!jAh3T z;@NbyFtKaYA8gmGSqRD!anr1|d;gf-Gg5$Jg;Wp94n^{#do$^6bI}1k7wM5I_p0@8 zZcqb6v_7N@2&hfTJ#$m@ zV?*h@MJ-c+C0%=bZ2iNhNlv1`l$F;ToMlpG2L3+}epp{d_j!;4E3I%kEOqemH{t4DKl1lg2JtClv)bJ2VH8H&t?sl zi5Bka)O?~ha-3bCBhd$rZ9CHUyTZM@cGwRZq(7x%;CY7+5D2mq~ibNAKWY(SoImWq7H+ex>vJZ z43IXaJ1=*JB3qXSDB>jz$y1g_@NGz)tioA^CnfUWz)&-~~zfwgbg`C|6Ci%-d6y5{ZUs|4Or!sD3}c6XgFxDq1Tz znU4?8MV$Cx8bw`=j>gl2aVIi2Jo?dS%1=9m*T!qLcrh-%c2l>t^r=3UYSa0#L_0ST z4x67k-J)^NV{7YcKlm4GPj8&o8-Dt+d)C&^|HTh(Jk5FR7yfC$XDq)NPLfX!{P@6U z2Yx~HOxje2rxWvcoMmk}P6YG$MB0u^~nUG!@S>Ha&T$AbLb$})0U4-EU&PEJ|rD>E+Nv)|(Rk_BNUvI)Si z`FP5<5}8V(I5Joue;#3+7{{IhCr^ZR+0HgNmMr#9Ht?oH~`fvZ?!99vsI>#o^Xa zIai8LJH9)bMu^2z>)?N!m5gm=i$>0~(urs`NGkCopbPbNz_R%D#ZHhR$DhpbnCa}NP}h@Pxa-9!eRI+X&nVvu%P#1I1U<^tn`3*YD)}IN^gb)OcWS5< z%^kh(`nd07cb2n+#9b?&D|l`MF&zOmMvfE~Y$IDp#ABpHm1-7P<5E#{0pfV^XdEbc zEK|bBC_R=hPVI@C_g)b%mP=E60^^=53j2a$rW6s0Pi18M4iDX$&4f8gB%@9oc=Kv2+uWX#cm z64?mbB22hunRtinX|AtrY2rRKPT}8+$^0s^hYo)@L+{BQ(^NhSW$O zVq0JsN!*jMGmn}cQlngOVr7awqcmW`r|6ZY@*~Mu%p5&53KEHX5F9>LIN6UDff-+p zImvc%#Bvkt$8nY-0s`RP@J8E@v_~o3=YxXMtPJvf&mIX{$=-kSBN0Dxin5!T`3&!c z175f#7EL>n6Pq+i$Hq!E%4M=gNB~fAlTK$C@U29X%192U858&^l$VPUxggTAYjS#e za%Vn5w+~=Vl*=UFBs~n;;*YfjwJJZSe{D&x57>0yE0B9j$j~v3*%nI55Hbt{yzb64 z9o>0WXcVyRXiZ!*yf2VABkGy9^1xDRXB~YMH_ec06?j@qh$ZeWNv6Emu87M*Hn{-v*k*wT<+Z^MEumIj72QF5X(gWjRpwfR2MD8 z$&Ds>6ajThUH3vPMj6ZOX?!Wg zIA^iVEIahj)jr1o{0dFc*1P@QC!r3NYHJ#%Xz|0|8!uuqbGuIMKnr<2Pi zV^p+WU$@Lyd@;M9s^c#Dwx6uNf2W&@7lO&ttKZcEW{P4E_WM=({Z{OG;9_&J;lP8V zE6QQ;E7(T13d3zhnK9b7>d8q=x_3_{DmYwjCiH8bWj@6E*XTi!MD%*HJDG~`)=1p+ zWHg;0EK-O=m7Rq>YUB3z-)@v*MEQ(*HMiC|+_&!r&T*X?!LNyxqC=J2vO>W-Xj2+B zSCgyom~+{WOkkN$xTMis+99b2egQj``%raWunqH7+xxN*XnfiG-exgVBLeUt-~SLF zHC-EnYsbH{!E=BtFtglVoYV6s{Y)A?%*)rtPJbMWBUK9nJ^ou%G2%w$DX0C%HE>97lO}g>4z%p}K_O zMS1tC2MIwWPU1(@Nff~#8IvhuvFIw26f*Zp7K*uGSA>&A@O zuK)kHr3`&r=u6*1hL6%m20=RPhJkPmC5o$lW%Q64dWlHLa_BNB?&1>2Z6cAjBaocF z_lPLbw*wQorBM>O%xJAVTnyT!B4*6J5!}ps^q;Qph(?4TKc=79w8l% z&On>|U1?PCNV+!mBdbBM8oWlnonkzRpW}J;BlO9Wu-^}8aG^Yff}UG8p?KnfX9~gn zE%K4h*WO$Yvjz2?3MMIhuHp~xlZN!YB6`-z&#Mn7E?XMRRv|u(Myujw0KZ$3!BP%=iuCSL{wCZuT!fcKX<{)2f)*eWY__dOSnn z;7GJqmC99BmZOnsYU!4PM>+xdd+Zq1U-A>96}=Dr|EQch@l$dZ^24-DSq0m%Dn6yr zO}rEMef^|GzX6y+dq~+|F>lnli1SuK@|}3^Njq+T*z$bqdrp!T`U8=8`E2h2tNEKM1Tf2Ytx4PkfM{-?SS;FU5$G`l^e31<|q?3 z%GK+x@FIgn6zE!UFydVSaf5zF^wYES)5}@OhrTm?#rl>6)*_cbjCH8xxKJ}AQVGO} zg7xBVBq%G~ugDxkkb2b$+B)zLl5b(OL`0J5#7e?1CI;b>@v(;!#d@^AITrYG4E~0d zF>{vZ0&N4tM>2nu+BHfobX{a1bN=?30xL^ zK?mm+VVBO$!SpmIo81Oe@Hv5-=`|KyT7gTZd95`BQ5#GK6!J&vc zj>t>T0Bj}}#$Cy975}dcT^YoTR-PO~S4%r4uh8j9%Ee_f5$7<>L!@avR!du@TFRQB zSYlu#jhnzGOBy7|aceZa!=7;LMB?yuH_k44&O(HINx0=__=bF|_o0*(+-(}S*v?TX zXLm{h<^G&kH-ZNadB$rU4(Gc|+=r?0U!P{&OQm3mThq%kkmdsOB{ovnLUI0FWF+#_ zUOLr#B9-?3e8j@UVg$t0X=aLFOx9}2UwrU@CgarDTRMx#k~u1+907y*-huCzQK);2 zJls%th*A>jGNFS;>r&yaaED1V(MF8Ra9!qqzU)Hb!YTTLa#JzTO`Fd+98Cw35lmbh zXt^K>ByEAV7PZM?)H^O?ANvOHfO@ouOL%IvU5ci6fG#!a%Q^SJN zBva97zb8h1gzvV>1WU=W%VhEeH`td*99mi~=G!EvEY!HrXNq6@}`DHr^koT0^2?s(;Sp$dY+ zf%rSy>v07!n1+EGV&NBdmu5Q$rlv^k)msi+H%k{(`zAZKz0?`s<(q?h zASjx-;o4m%_Q#TgW$T(#yGMYi_I{hq2NI#m&?@kA}8o}^-{YnzHBEvRQzV5*L-c@y!r@ioWvTDZg^Y8 zJf_dmbI?_E?k#;z`xZA{t&*>xr##2a<#(x{9;#Sr)i!n{lOIkdcNlFGpK)c#j6MJv zLJ~&qq^s2X)dxaPMx#DiC*aem@gF)!3yRbGALy`@|HVYVM(4lG7@ki4>ZV4RO?$nes=upj^ zAG1oC+cPDril;7?bc){ebaSLs8Yy-B*aHtheCoLI2cEnk9f>6G_FKCnx$))ca&vDm{pORtJA7 zx#)0qZiS2C-+bT1`*=MiZ|~Fd#@E!3^LzwjBiyARNENsmSfQCR3P5W%qpH~6On=zk z>c=a$SAPGt%559h2H&;o?CW2D_Vo|H{nV+qpHc@K#~bx)8rMAhy7}^+cU^n>iPNW_ z`0MNT?m2bp!He!GDHd=64Ytn~p#jmVA*vW1f;=M8ZrMk%7ivdSB^tui&&g-~Z_JGHUFC5qiV zFpds-9ZM1H4fF!+@*M6-cPT$IU#MCr;Cn1NQy&XjH8$a&3rjgjg`eWB_w`42?|yXm z1>(w`x_&#i)cRa&N#1TBy)sv?93CA#T&d@-yuH5t-{x~ahkjKXSQXiUjArK6^9Bwm zy~^|~ju7!g>5vr&I}IzZDkgDxLKtpt3w;Yot#0(}RD!AwQipp_ERjy`RMl2B_K8;2 z9HYJNO%IMM43fxoCJNSW(rTjZXQaJ%>~Ind0v3{Ko=V(W%|yHwjX#)PtKi*WV-Wuy z6&rTwoTyTLOriM3rGCi}$cb?+jrtM!fzaQT&j2*Hn=&o8(KyHmSa6xsfx$WSHpZ96 z=sm1D0y#TfT=~AT%H4IOu`+ioaCiR^OJ8Br1-+(2X%By)_g8&<+R2l9pLl4Zn|j|3 z?=&`K;YUyIwOHnPqK5a!!X}PP_<_q@CA~1Uw2%{gC}@gYn?HG&_+SL1rMJ6$u8pnz z*4i5HV{2;<$lIC<*4CcqlU4r7P8N7=>w5`W0=ExoTtf;R(}FfxXsZi;4l|5Y?&)yPEKiA3+0 z-ZeAxNlE6{G9#x>s{7=Lj^-K+et>rBWba#VsXg`7&;!p-Jiuq|ftMYdNpT#2 zsQY@~dSHk{-y)?VE|O)`3)#vw?KZ=Kcz&J!t`|SDzIpBqC6~j~OEp|YX86Fy%g(du zIV8DFo$Y^JKshJSB_*I+tw%>`m{S4GGzeov&r zU%C>xs{gxzI!gXI=j+Oh*0-#wl`i2e)P-Rf4dm$U-~W_8<(Dt|8Qs=f*Ve`K-M>RyAl}+8+zL~3t;JB5(P7k>lt-LGyzfEHm5>+S;VUZ#k51M9qP|S-v|k4Z<>5z zsoSJ9p&ZC=IdZuxz?1IsA7km-XqG;~5?tzD{kL2P%dmlq)Geh;d8viGm4*!p@b_3XZVgR8t& z2luV2^<45B$y{*eOmKk>n=f=2shM(tx->7!dO^7lbW;oZ|E7#DuqIV3bIm;}wMQ*9 zNSsPl@xoK>@WZFvjHvB}i zZ!oIdLPo$UnCjv2w3d8}^XN08rWCq1*i{Hk^wC{nCw!MggB-Y7&P%)j(X=<}th|54 zi58@|kEsUTf~|^0!z#Fg=)-W928E>J2$kdrS85J%h-E;rXorV5UN%@TU1KN2(M~$Z z!8Dh1ixwwQRuR@PFBkMkSpQD@r{m7#q!Uk6;$UR(%h&C6rk+U?JC@K(EM5TtfGU;t zE0l6a3E_ZLHaviwc;VSm!|-zK{*gV{e9=nWODn#cjn<=C4&{JE<=?jU$0~`J?T>@L zm*+(9JBK}8pdXI#oEW{-q7h{ak&0FoI$sLz0_3`zs+GF@c5+M?B164z3`G`H+`IjH zCl&%t@Q9kAeOL}AS>2ucD>Z{M4+&iW|aqh%w`-`ma8(%&$Qf~ZWdHB-h z@~@OfF71|I7+Ah^xI9YJ$UJ#r-~uv1bh?2IjYHz1_{T&y$2qx>6RpEt_|!;Nl)A8Pq$yRk;JUu<#``BmR_L+;$CmxYkIA12!Ol?0~2K4_+PW3pM z6~Et?SK+n2;+eLe<)!BcpS{Kvo<$EF)fIBYEM z$lfKQM}$aKt8~89iWIz|LFLbyw#X{8d@adeE zDyF?J#sU@mB`MXGv@v~9>Ovm?5As8s@^BI!{_slnU~PsxE@1O8Gn)O^3df15E_2(>Run_UaH(`+w zJgGpU=9kq*V`w#Km7XrOvX!8LdXU=hHQaIU>9v45S^j|yjr6Y zjZ~poY**J0HFU%Ngi+0O<(J{?BYVG9$_LKkT+)vWHl&Oiv9;w@0*+DOL|ld}0O`*L zQL?`yCP4Wpjw3ThbxQeFxnRo)94Fu@*(&Mm3%+aJkDiJ4^KC^|g!rEc;@3OrM}6JV z>DxKXirPdbj35PQ$UG4B9KC8GXT9VQwWE^FRx-(>-R{wqgUhYfaywa@Y}fZ>B1a;L zRBU)x@4p;fSvlH0u-qnTL+#1P@jt+Z?$K9qaC`ZQ>FN6EldVK0a!DlET_4@HOV2?U zaFd?JrVqq}zy-OCRc4wlVy2Mm<|qzWyY04(!mH}Xs;{qaJo&2nJKj-$ z)srVrOq`n#^Fy$QFFdDyRehAWOk0?JHN(U{iNYWt7ocgyZfDBDzeFdLj_5R@+9)iU z!1ra1*Cg;QCa-x&*g!?LN~u*MX{)JHi)UjlsM&UVX13MpOm1vUy7?Ws+{pac4P)~o zxjY{4_D#+AdE^)+Zcmk#mP)DH6LbvseN^U|P`MN1<0pF0ySb54E?24t0ZG=OelPLe zi+m@AW=fmvyf>cKjLXk$P~T@mBEg!M`GMZ^XU?bqWnnMWPAF_|v2+qNW;Xi9_f!?XK*eRYE;hu;-dMN_9wyMq*Gh(zG6nMw!uY zV;#zKLz}*Z8_HqPiJ%FG?|D~QgGo1DZh6^>*5GZ|Q#S`{O?vmu@l4anlgx3z z1D!N$brUM>x(4uC&q$^X*G=Qs6yPPh_Zz0`XCaMLw+DCcn%=i>`jSN_SF7d|^~m41 zmdnJ4hEwQrdQKG{-#2Ja08(CQl3=MZChFvnu_Q^fQkOEwx1M~ml@FeL^0C%q>a)bIY*swhoz=xjJ7LIqi+PoGiQo{+9(FS&#bPhQ$evm zpYuHF^FuP9^CZFTI^AL@@LXDPd;Y5LZy|X?a&`J&tAVf?lg-jKkA}-g(LGp&T5S|~apf*a)&uX$BJVgoCUw4`Hs*~^$Cy8uIe3h} zaOF^{)E-_;wvrU!E~iwz6L`f=(F-~x@HDnoYAFt~plWERDXGp+!{_rAp8XGtk7ra; z#u)BkGJzzCb}xAZuKEJVwOQZ)h33)fke|L`^XYtfJ^j4iWB@tCw(W=1OhOT^MJ#b=g+#RZ)5uSg>+?>WXKf65Y@)C%f zB?1KrGajM1?UNMLjliwp*avjQuK%pxaj>laUb!h#XtVr#PRxm#Z887yd3ncgZ^y9P z)0?k*?!9+Y50^e`(r3BzIew0@9x6avm(^GhuPgjCx`WO(&NOD#Xl!f@FD_DGEhw%w zW@j50POq+V&qxb=JgfA%P5hI1``TE7vocb*BtyS1OYV$#hUHIw<&~CIApKf*?iF0e zozBLK@8{JSI{rD`@mJ~iXF8oz`t|hI!lRF}yxs}zL#|*$->-Nf@wGK!<3qRF?$-+y zY_fV7Wu5iaj;_5VWHu~x&K~KVe|mlWe4SDJydJkf0B2wCx1M>1Q|o6g=f}!H;z&D+ z6zY$EP(36#0udqVu5(QvdnO*ag49hbGTXU%*7e(O*6YtaCXZ}W@&4`OkY{$_S(X~3?xhZG~H$Djfy))Bb{)? zXs~G<6hsOLGP#=Wvi28o9s0`n zeE~5-sm|eI^>dT*u<|)FcWZ*(UM_&!<^n{6Z_hZ~*(@$*25wtwuk+%T)x8Q(s0kh- zLg3yW3sPBw+;zK<^oD&mhifTf0LV^dn9mK<3E;}Jt42f_jo||XHvw{bE;t7woWxg6 z^{h%0Zv%lqNn;=x3T;{V#Z7y#XlHz<@D|kdxCvoajOx7_~33;ax-NhOdH(JMpAngH{>!kTS(!SPdLmQlfYUCbwb{JAiA= z0E6TDVEiF$+i{ZOE`Y6#NGy;DI~A$tz>m8sW}YnZqj&(oSL0}d)3ZRLjblcQc;2oo zl8|Lf>re_03b3IpN`D4yIr%G&?WWv8b{bp~Y%BRh)Akxx(9XluaY>}%0cH253sZS= zJMf^zRue;3ChkWJN+=7fvqbY&6fSL~T=0w?Z4UY>USGbV|NM4)pX&Lz~BR3Ou z^NcVz9y1^|q0k-d`yS3cdXtr;X*>#aS*AxLL=%D_gtHmSBM|J;2DB;_i4v6YGqT`d zig;)uPBJ~1F1cw9pUGweJLwrs+b2ziGK&#A1?JtARAVz^n~{u}Gg6f}_o~RJlGr8&dUZOB3(Gu~gG1unmWc#nJuEJ>A zJHNKNUhkakknQgbm8TA!p)C4O;d9_9$7ApR*@M90bFGg+` zh&8=j^3oi4S$!p4d+Z%+hXVKD($IV)P8LC9I-j3RT=}4}a=corM;k-xcqJdd=cy@U zLXB2Q!C7jmcx7p@aI51c$5)2zOf#d!7;ngyRqpK)@HeFXhMBiAHbqIr0A>`o7bL5* zuq2BNX2DkI|J<&OU;c{)-Okm_aJ9W8U)Q5u4^h2Se?{%GNl-2qV(C?*RLkW{ikf(S zsytYaML@*IQ9+$xwOGmK;-Eq8T++3IXvPduR9yW$Lk8-X=m$X6`DVfK{6yq?Q}J3M zp9p}4H*o?4!F(-S0uBFwq`^glcu+>3`3#UogX5F=Y^m;h#=YA4Yy+ZCTy+xzA?krC zjeH^!;~l5;eT)Sla$0ZTaiZG}qT7yZ4~fJfLk*#^wWRSMR^RH~R2K+BHPtoK%=(e| z3j_LN+9`gm*!y}ZLnPsU>i4gyiTc;n75AT&Sq4Zy?`QANUD(tNP!X=bHk@z5yxVXd z-<-KG(n2*y@b_h?CD!|xysNug!@E!=~D0a9(m+XrzjR6&;6g!kw1Wa zID%a#8maiZ7tMu2LzGjLxkHbpl_Y^-vy{q&=3;#=V8ddVi&N_1pIx?Q5c;Xe~hU zu8G2Q@!>RcT*l}UKi$ONOX!f12Hdf?dbVC)ZIwvXT`RR#>-Dt?`7WH~g@JnOO|4RE zt&;7m@%bh^GiT~`#u>UdpAQSVtcUMciia=w22&=z^vzrF?Cg-`}` z>|H0Mzistrs^@Q3#R-YWoE&S_^TkVUyY0QVJ-7NT7?E16{A8>h*q`KllcH zwxoZuUVk&+;v8q?yN-8@oZGG3Kl`@#?f5V9CD#k;e6jcQ;SN$i+EDtyq?%CI3f@P2ee@YIeY@Mt*P9&Ru18t;8;{_x)E%%zjd$A9JnwbxD6{u?OS z@m+`KXAaq;QGx1VTJ#hb^HId3qdsF@P9Z%r>@)G+D5tlt_+Na>r}wIu3gh$09M}}EVm;VR>x)*CZ;c` zH)27n*zR8CXKcv*)8$JC4ZECa-II!^QgO>^O-48)I_z>SiHDoVpxgC=_UXq5R{QOW zyTg?fJzc{^R0)akIpGc9BBtLj%2uXVxjD#hY`Qqt{{MXLp@(klE<89^SC`>_iyCzk z(#s^lrBXUeE{K35an&(tLk&lEV;0JChp(vu{&lBk=7c+BC2!nL9S0C35bSo+ZWU5EJU95A!pJ z?!5ER>ctQ9Rd?Qb^x|^@bbEz!!a6S9Psb-V``^ocz#42e2WzX)F-Co{`Y-;eKWxr7 zqcf}1&DjHZiT+RSW1)=$Y2jr*bN4IU$LsWc$avdqn^(Gvm!0b3E0p=4IpiGkr$Qc2 zNzcxZt}CNOR4f@SOeOh(AP58~m2V5mt1EgXo%L<`cCTW~y)fm> z*b}*l{Km!(X3q<)La9AJGKf4}l}sU#lZUY=hyd@P{tmRFI{A=6vt}9*al=FCtpU8$ zZ&Zep-EMMtIJvx>Jov)FgV?k5+lEsp99rOo2YDf3KC3>`ty;8V8!(X6=d>jrr45{> zV*l8>>i(j<0=uqD*VT1BgrEE$s^tA(wv+0$t*>!?E$g2LRoU0+O~ZbD2e8~lwk|9I zV27y?WVSYF421n9hzR&*O;}0IZISRVM1+sEY4kBOpvVTe{~*Z;?tv(y-Y!AEqPB5g z5x5aT0q{~PTg{0|GMz*;jtQ^f@AwVxgim*&L=kg;;F2lCdr#Uu$~JqWlj;2n=`=*6 z>4Q=4XnJzb02_6${Qs@%oY!!&{;Fa)h6Ed~+Uo-Lx~u+uqo^pw=j{P+-SxjqHDqyO zG03brtzxbX1zac1jW&cJ=#`Qxljzu79*2@p?LGSBeGgoH4I7`#j${%#yCHeT=6vWg z_uhNWHNFk0a3&MhM+`oOHZE`Taf>{%Y{D>rh2Z+%CvC{kWiOMJWd^77b>8W8*HC#Wz*Dq)P2=S46a4lZ*%ebUI zx3qe}8|H?JZa<=S>PttD);V{yhi`9Lcg&WrJa1^$??$*4j4G@iS9zaq0z=jR9pWWq zX8=684Ep)34UB2;$fM`c)S^{DdzyOGwW_s3-uavSOWp!Ra*LT-boBMH(HMTCQyW>X zSNQL_g@wObSa?&Ra5-XG;}`o1HWwE_O!n!^RnV6vt+&Qgt(i>WJY&SYLsxfK5nb(CJ-HB#xsCIiJ5t+X z&6s=Yi;~oqq#T^mbbBy0IlzqJ!FoRHfeH-{0=Q<#c>WDXb-k*1rE5JdcQm#&wY|CB z9xdAsIi_>DX@~LR?19LWj$4S6DLw zJD!|QjG+_``|xQYd}qzczU>S25M+EMkm!g^Npe9l#%eZ}8;xaVTi&^Ixv{gcyz>R@ zdw+vthH?&%E#B)K9!Ubtkn>t(s_)WE=dBL=^`*C8O00;5Z=%YsH1y+%%ZRi)0g`CFxS%HRc(2N^N`T`h{5b%PCpxpp%N>JCzY6B_+ zF`pYiOr}}^>y2(BzL$Mg*7Q#ylnU&lJ}o#P!WF)x=*pMq;0q4LJM04KDt$`VNah$( zZyKXm z1Kl)z8HnuVT^B|2!)>5^nqcP?fq-`18a9^&9&!Z{MO#{{Pz1oPlrE%Fn;D-HT#y! zO)a?tymK)~M|L9pHDR?a+$gPL zvU3H~T}O|y4a)VnLI)LE?une((dlCw0%wFq1o$yyT_y zu@oDBSL$7<-f#aXb@5EoTlspsy>auw}%cAU`PUtgKvo_m5#HwffRy zkKJ|GH+X*%U1h>hl9{cu;V1QEo077C(L|@hRw)xy5!4ml25mn=>=Ny_1UD;~UoBI< z^xmowo($jT+U&Xy`)6v$mzPgb(qhU<_~Pp7GUU}OVBEW%4g>;dBA;_ztPyw;a9u1X zLEd`gt(QH18C&_-MHgRr<;55Ezh@cWqXBzC5`#rZ9pOK#8Y7qoF&`!XX6YZd|Mu@D zlGk0g(w97ef$u#BY1WMs6)IuVd_RY{ouPMM1P-pLfnw!lATekL833F_vSa>X3fn z!bEx68>mdTW4-srrtQ897iLTLjSxRgJ5wwdm9^1aR3zAB`Qi|6GjS#iDxm6Xy?nMm z^zgBG{1|QCcj3&;g)=+r`FuUk_U~C(*n_{1&+ML=*?kq*!d%@PrxASjZp=WylY;8a zVYaS5|HAXnuRg%?4?KYPVr~M?q%r11-`Su+RfFhNbT2_xif@61X3ENnS(aXGY=IB_ zmc}9yzrM(0Mlz$hORLuqoV~8?YR+7EVSvY+MAg*q);u<;GB~~#*7^7}pbN$iXebOD zEyRPyUl=nQUTDDL?0yf4-2x>~Opkd^WBZ$xum4B6_tYMFXlh7)vGy?|8uNaH9FGtJ zvz9&zDRG*%@j?Nrb*v$LO$TFscKwi6+y+Y#d>efqB&((yOhd%Ut7^g{;Ez^_M_MUA zL%Z^ed`kgBtN6!gd&X9+?yFSxR;wra2Y9s%`tCHl6a5;n9kktQd&qVY^a?kxCo4s0 zFv;wYWF!6@0$QP`IU|fK6yX=B2(frbM542#2sB9|6fRbxM{$BjM&LX~LPP!lib#zE z9W2$3WXp77UB~@+@rZyNNi7~53)NF4ejp5pYsPRN%sR$^N1*g+AZJ^njx0njb;H|t zPGrMcM4LH0x-;dJUXY42$T|RXd|x4J*pcSQ>+w26UibEib~)>&kbw9@++DX6@){S- zb?RkrI1@-mQ&9Ur1Q~L`sTJDLdJ-Z0Z&KujLn~(|7PEdKffNDJ=13%^+J_O=<$c2` zUl_t4w;=iS%SP_-vV zHBomU2HduVk-}^?>X!6aWF(%O+*m`%oN~-F5|N>#^ho}^E20RbwPiO-cDE4M6(nm? zC6*=_YRx-ZO|A9-DcsS^G#GHU+8~-Egs|sBZq=nF0;!1wmp70INU?UdKI;#$*9k1} z6^aPx5k7OGc`w@Q1kpsW*|hU0U=?BH%vv$bN*HtrMK=TWqGA$pbvq8&U^qRzEp3Dy zAyLy8h0KWEBm0n3N}KXN9@Bh&@rR|6#X>`Mcv8V!w6aIaj+XUU$P-P(rP`v9cw4pX zfpwJiZX3yPpfK|`R9Y{qoz60_=?Vgwav1U=VD)jn)~I!`27@S+60Hyz0XTtWc@B}a zSPo{_@d9&QnLeHV{5O*CzBCk}^%{yi4vUfQ(b~GY25s<3q%WoJL;MBc>NXBR>-0l_ znIZpFg5zgNAGWtTlnMvf(CiQ*^rwcZ=brvxb_iEigCnV`TS--`DaBodzxK<{FRRX0 ztF!d&guBy#pTZ{EYS<*3E*O$SQy%YUCL_{N$y@U$ zYPAjbjSTp!8-gLX7f!p(@43hmuqdj9VkJAUshckseVg9YD)}>`lht zX(b0HI4-N9zsN(7=Qkzpn}O6J$bPchgS?~HS%UQ$teMiax7LBCIG#8SSiJ%rIawRe zqn}~(&8<*4waW*+NmMS4v>L=LCtrWF0B$;5mD4xEX<4){>!jP+sfgl5fa5e$WEaz3 z-$*D*M=x@#*a^PZLUzgHhmCbHmiK?tpEnO4)I#~7Mn7^dV-%Du@J6KBtkV_I*-U(oqS^cWBm^J7=SX{Y<~Dp`h}ku z_I0}5*<512_ZzbttZ`h%IFh!RA{d$8duTTyr{LKpu6+ZrS)-Nb<5$f3xJfxkp0yD) z2VibwAjKO>n^?Y)9P#&l$KN@@x2JitPty>`eW^F~TWAen+P?wXkK_EF-d%jRY&KZp zw9h&1rFo~WYbd2UaZo6GN>A`jluiL`6kMJ$)=KZhj zH2dvrc3!)7SgV=EI&Yyh%~;uNFK9UU@-M@epXLSi?}7y(%>@EK=~o$f!CW)vbbi0Z z{XOGN1$WP90_KT16aJ&WazJ0vN0`6!`mOy0=EcTtcLU~%H3!)7b5;(GK<{n*ss1+* zemsh~ZE$LHESNK`+c2#;6~duCWLvrBG-Iny*;N@FX&|B|tbxWxD;1aQJe6ifEi^V* zYQXqgl0uCVj%oyV*5G2;lCUID!^b z5r_vcDuNP*Y^eoG946~%Sg_S-VZI`<0*EIHLYgDfHIP!+f>NXZEfcJMSwQ+l0|rq{ z7DYqVy}-M6hM+P+WxV?LIhQ{uz~nrP=z<9S1M8;rkfhrk4m}tV4N1@$!f~)5)LO87 z3Q4eRLFNJlq5>uD8Fc04jBXFfK;tgA*0LaT@3#onWQU_AjI-<>7m}0cl3R%h?g2yf z)fTpmSF5>EAriC~9rm=WCSXG^z_`Zl77^qaHg6Pj(E+n4#BdXxu$KxV*s)Ini5Gw+ z8(Dazok>NJ$Y)Cph=|JThmL@FSwQM#(Aev_)R)_yp0z*tJyiC3J5+WN8K?K2rR`4s zZ*>R#Tjj@Wxqpp~8=>AuckX=SjvY7d-1(DN9Kde5$L*F^AUy#UL3Ya}5t38xl|Wu^ zP)3s3BFzerWH4ML1H`^1^FR2JUI9rd;F5>9ZUx9TVOXd;i}_YH>C<3BXPGuLOi0}! z$$8el&kM6(XVDi=`*bDm@$hz>M%;-NlEf7-afog!mYSt;IL#pJQVMy+%mY>@%XKW) zaEO9&U{ayYblhV1$0JYn&VZyl@BTCy;(tmK-+}uDzw?tR*@H(glmuV;vRlGr z6y0ErvRLCp`<_779uY<0vuDoxcfr8p?#q7{^Z8=F5A*H$TPEG#?n`8TM+P8wU*t`A z`@cs@nT$nWa{AHaeTl-NxCFptS?#>$ zHJ$3oQv6Y#V}js|joSgi0;YkaDCkolLX$>>8ThH>_{el{zBXAXOxEUu(<9^Y+R#FC zU~GP9Xnt&pJ%WGPXy4)&i2FGllkPvOrjDAB)qXgG1lC^ ztr;JRVhNrd7eEcvmTSXZ7rT{%v!_nY9_+5--!g_yz#KfyX+Z%pep@@E5}RsSR`dyf z*bVTczMSw+Lx_G?#Pkn|2t#SbDU*>b^0FWp+3IOFr<%?t$oZEZ5?y|TPetaIiL%f7 zMiYKP`-Vt-Yp^PVbttPDXv@wuj{4O$R_Si55`9j_QZeu6yUSfPo99kHgBay+hx}#` zx`_?=WS|Aiky3#aI`E7F&}p>`EqE(q20>T{wP;QTR|s$Bc5XaZK)CTX6gk$qVxMrh zVepK=q+h^+;IX@b5@3;B#(@kn+U@u!ENQLxe>B1HvAquF=zY&2IF2nAN4VPo8%KoQ z-fta9Bg0${!~=3_KiAwWf_=+jcSHW9h3xDz(W}1(b&IpE4;vSe_uwP9nZLo=6<>Br8dekv0;y=ks)YuKf28#J0hN?uP_=>XutRTB)G< zd|Y?fYHS>H7jhtyMUrF`EXR&_zVk`)OfX^2X^htjS?`c@4k=0@D95Kj698!@8Pv2v zs3ex9QrkILn~BY-2kb|NKK?K%I-t)CQf1{dJ?;h1?$2`wyW1 z%BD0A0(d^vxr-D*qfnnC`1(Io7q4-)GS!*sN@n6p@_P)P?sPh-LBvWKyc|-20O`K4 zVyrbmdF)L))iLM;HX^R;uCrF1oX{ieG9FsfhM8Kid>>|8_L8JZokZr%`I-h?*YDD zI}V4j<_WgZAOiM~+%Sig37bQ{G#emv$t#YQCmg;QOiB9;4*UG}jj7&hYU6gkI1gjn zyMrBmiktDJJzg)wiOfOQ5N099npi?c?@2dZrq^NMtUe}dF77atYZCUD73Nq{Vx3sE z80-X#)fmihyoMTVS8^+r=>ZoT8)L44>B{K-$zg{>(rfJlRG-8vHDQY>fwWnAku?~z z-WP}b`rsRKinhw-^eH1)leHFAF2TjB;UZEZhEl%1x^Er)ze11>>?~x={SFWy`Z3hLN5mPh7lJKQd-Q^T5|CQ756W zTI2?Z1w^mt*Z;N!B>r%>JJghoEr&N*TUhLN5hR|m6V@w^;|_Zfv=>DCNovDKaM674 zFEBrjg9{%cx|4(hM0vt-9wK5m`?tw{hT`UN?;E;Ajz3^^;h`u(!^q`F3S3WWNKqr( zp|o^M9*^Wo3~U=nxRRRNC^=m4HgVU+9(z0khu1dDN6PVo#fVH~e6>Ru1|#1P zATpE|ShkRd1)hC2aQeiF6TkijE#z-RU67?LAKkmxg!u;QI0{|_l;6wO8gd?ksar3h zV^^I#d6Jv<0vwp2;o|C>-c)_l`Z*Ke*((t-1@=@N3&P9=;{{v5HL!EER=X|^ZODZ) z!^P_^y~|9vb-cEG>2<|nXhUwgFn(RFcbuzA2qe&a{GROzzV@Jv@L7-4Ty{5xVHC0x69%A z$VYUi6WW7osq6+nq|sJC6HMaXhX}~)g#x^UD7}Q509Yw6cDp4u;kNuHr~20AYmq%d zWOQ_mtlo$RoxP_tVQ_d5F$e06W=2>e^gbkUOFe^fNHv}RUfp0)0 zfa;@kJy3xD@Q1B`|I_-GMq|s{)qMS3i@jb*k7ySiV&y}<_iU--%16}vsY5q9^hoA$ z)J^c&%vI;b48a-&kitU6as`A!0G*-hYu9)2XYN*KFPyvOmbnXOt-Xa)IA1`}7&ztC zJcfBHFG#F`u7ji+dYSj|BZ$;io0vfCo0s_zpQh4@3F-sFUFJL_y*02I4`c&J_cjHz z!5%CE>DY2e2$6$L0f>zTyEK~(Mk&Bn5q;_5wSpi}8g+ra?Wq33%_21b6|J1?Txy*G98<2__x~l$Pr&_(PQh5mTj*r!8^Nixxd>(*C`&qzc*kchy6^Y&t z569QSbFYR}@eytlC#!N7tcw!HT_gazB&aJ?Mn!l!WUe!P6`n6%Gb zmL8nK)HR%cZS8;c*I2oKnJg713evI9n)}C_O>2Ik9a!}?*=CDl*{Y?L70>0%d-gm-w_h$6a~0Li3YG`J92i3iZ*PA;?prg`~nNqJh4nF;_#Zc6@gHynsLK-8?>f zym($~dc*kE^2rTXC675A$C6iV7!Kc(O5ThbEV#CUwN3FYxo#68J^&t!MAJ{zHQHEZ zVYSVgZtuV7x<4vE<_>w>?5nSVt|#m*x*?r9DE+Lm3MM&taEOo(* zSuT+)>#o2o3I7Nqc4-5Q_yr4%nR^SyxE?YR=UaK34&sngx*ErLbQPw;@|NbZDFBbijU@zr4p*+8% z@Vo|-V#d}cT@-nUg+nrOffGdGS_sI6!eG1U7#2{ZV}jEIXWZxxnzZ~@GJn8L;NcKM zk7wXw?{~O;MZ1a&R$2;9cSi4T9LP?o72yb>d5}XpH5tx{a>(OT;k_;U-Cp_X0}*6% zvU|f)*lYL4eUZQLyWlII3@JWONEWkU77HbdqFN67!=jQ2msJr)qJ|g|5X->oCX|lmfO1VaNDbq?1W4isWC9OfF!3d4#5v|f zCUm||GayN5y~1b^rf+O4n$IJLaQ-XA%j0B;(XW?H0NkR@lD8MYen z_8y?{iR_3s(mT%5z0YZxIm2J3I1l?{g6+-qCN{p z6U_0zDh<++mrJ}o3=;3Ps?oq=6$xQm4b~;883l}@VC27?XO08&&(o zc{uAJq7-hof|y%vCz{rU^=@mA)9S`_C%!ri?NJjGnXnbKTF3SYF5&6nLFosb`uWH9 zU9pPOeaBe(=?ChaA4r39SL{1x!p_s2KhVj~#k5pK8YIL;>1(NA4!=|`b1B_jwM?d# zVJnwx9DiVRM2&7)*q7P(R-UcW98;{*W%LQR>_vWW9%Q6gDzr0*qf|w>uICV^izV#6 z({^^ecZU%~*v~zCXevl+xRJiA$UPF2AYpURKFFVo)FY%<9%U2}u259rfJ5$(9##xP z2>@>vkRNX6ZX8B4_i4^OL=SEZq1vjo%-JQ zs2zMQaT#x%`|E={#tcB8U_w(5VuJAajrEX>aMk}Uiq+K4XLqKmqEtz3z1(iUd~2%O z`{w=kvuf*bD?2JlquEw7w}l`5zXz|d$!l$O08_?*Vv==>4#G+;ridk8z^qz`E_bk^K^Z7lrM6_v}=V1=Hc&bMSID ztLO;k-$9Dc#MPY8`4Hb;%eVJP_K00bCIx%MA!X1XXa38kuy3%N(YFi0h9H>9tN>OA zq?rcENmdF7qekh#Z~zNX1|=hIBH3XnS0qny5@?$L8zJ1&IuuIPCuSF2f(DezpxAHB zY_H=ez76Ecpd!NQz<%AiWH0n&tHBDnZ2MWe!XFw(+2; z{h(<%@Zdx=x7!9$H(vV5$YWa}7u}kfx$Mr%X4vtc{G>kHB}r;`HdEie>9Wf3pW*%^xBK(AB8#e@a$UpNXXUeQl;Ofxu93Y) z)Tbjk9lizdgm?xGun7YTc84Qw80G!G>fc*@+U57UzB85n3hi%pxjy&ywb$$|EPu}B zdiI(03U)WUkd9#8+xmEJg?|IlQ&`i4LBaC?i?$F|D;Mr}=4*?}RCk#%N#eaKV(h2iV{^If`o z7kY@`C|*wA;J_E8IroTh)r<=>+K*c^}1>GK+l?UqyH>s zZ(nB*zLdD7HSG0~eH)+v^zmrvrcDJaqhQ0nkMR2YHBx=2(UuiUD`@jWFbcfdX9GYP z^bNd7H$encKLalw=rn+DA$)5$)>O#h{=owPG-7-G@-p#Nw*tv6Nq&TtVng_0-g7VHIJMsE+<}P^7{_I1p9m_m~ zO+RN%T8N3wHlJV}+jpq9h}UPG6I4#?wF6k*hu2sKbd}~9c_h&v2k)3y=Dw59|8qXS zC70WtqncvOUmxB0+YbKN@sDg!fDG^OnZEYDSLbwLRiptc1#B&r%7K96u+@^RWy074^^ zL6pIf(zGLKuf((UdNvaqX5Di`5uUgrlR+@T;e2GEzEF>GKQw}m>->j^2XA|yfBt#b z^CJ)7U+*Rb55MnF1zWwkWT%~-2TbMY!bej~4-L|xOtmO*PjI>~%5B&8QMwd&q ziJXQ54HR0$K3h>~$07DE=pwCZBBE&A8{e5KXaS)(gM_HYY=I#L-gs+fZ}7Zo=aTWc zi$HiqG*MKU6b$HF*!NVLS_ib?-PTq ziB5^69DR66^Hc_Iv0@PcvLMWTf8F)_XN`|EVNc*w^DWP_9<~npueYdM$qfuJ|2jOd z-kxs#yphS*79$o^OMddiR7<<>qkpFdzj*p%yLa#1y_=0JpLp=vWm=DzVau3nL@9Ia zTC+q%Fz3?HYvHU#9W&pN%q^Mw~qH_P%Q z74jKo0`loJxyLA)e~7oJ5LjXUa75VZN(Fm?C06#tcb8l;_tg8d8R6}u&V2SZyNpB z1zaN?15_`qHbUsHTySl9@Qcs9=fL>n-^WM{gt_~3-1ndjt0iyZey}`iU5*GBz@t=7 z(q@ohVdT2V!`wl5#2<|z9#Pc)#{ywzejq%02$%9PMLR&Q4&MC^8D{hRz~MO1ZNh1}R?Sv||N~p6TobsS#Qadm=cR-t* zj7)h_;SJWs*+|Mj2`+>{T+Z-~+0fQDfM}y`9riTJho?sn9VT^O4 zPq8#8pbEZKp)XK~8OMSk@f_w3e1LCA_}G}Vi6Z~M`IE`saGGu+_t^H@E_Ew5%c6Pi(l5JtMGTw7>RfFxtnny5k zGt4+-NOZn;?F?7U@wDa{mrI<3?N9?LCrp*axdxfm`yT|1;Sp3Y6Uc;*#x^_(TresI z*@H(ix7?CBa{uIHc?O|Eo16Vw{1@H(wr{_$>$>yK_v9D+t`SA>b-s#boKqicCSF;e z2kw~US@o*b#x?)urbjkrys!3xj!#fVT>gbTkqq=QX13dguq0?QktTm_HuU}@8LN4& z?tPrzvVjg<#!Mmp7(GPXF|jE`)6;RcvjTs-G*(D&`RGv?wqO~r!_6dXkCMj)$0kQUQIpM=zWvRP2Se+9`7Ge7oMx1a$*jezQz;-n^TsgJs^9LkO^nU zWvm(UOP2{=pqxgp&dI8?OuX=^cr z8+IH@!Sb|n2TqgtIXWG*h1P-(G}{rApM(ci5c*|OHbcmK#iu@X1zW}TAGeQfzvAI5 zvBm9tYz>y?c1sD^Ye7oYCd4~U=`=V7809gNp{)Y-n#+c%u*$WDG=M3_ExD>>Wzwim zP$ZzsLOF^QmJ1zKk(hIbB<*l~`S+Cn6jIO#2&~9f#p!^e0EymTQDS}&^%;UbT`#X$ylns1<6)>AEk_|-A(lZFQGml z9Fs=Bb-8RC0CAm(C%2X)sL~qG29OcuxI>3Y^igERT}BlCrI7^N!b@JHEz`~b@R7+Z zhpA?pP2UvT%P8mu*^VMjN0yae@jP2GUtzuuxCsIOM^NioI8E}R9M-QApk$8J6-a6o zqL8^3kqOZW>9E?NFk9+uoH}pIM5oh!AmVYyC)zR3-+Mf<_C!o)S1vxaFg(1ed)ea9 zOS=o%#Psf^nMCd_yWtW$vun?Eg4=`OJtD`7$N7| z0(Rzmizh5jIwDK}s0taYhV#~d-Kp#zFp8RTR~UA$sPbj?!sr*O2!M3TS%pOb&;klE zmqEP`zpUEcQ=M0<)U4BzUt~xJ)t5%JkpPzjNhG(R1$QPDoX!jl z?HL-&q=yGu?d=JFAQm`sM!37bsuwHFJAudb`5m#{sh$xk4t}w`{+!|ZaS2ukSgbv=L+cr$h+ZuLeX~39W$kAE6a-qBGJJO+6b+g5pBa@G{Wy+T+S8J z11V1`AgjB6z@=;bxsJsEOa|(jBD|PlC zLbv8ZGH6xwHrOC`U`xVzkj=!(a!E0TejcH?8vF`Lm}${tqyhMf>~O*!aK_7m?vKPXRd5~wcT5e~;}KWr zn)7ADEAN<`4!E9;#nNxd>;7yUionR5b;RM0NlR~3Jsxdp!xF%t*~e?LK48l*)Hir3 z394Ez?08Ff+*vI0O- zlO(~Az?Hy=60B02tu~Ia`oN_@XG%A)eKVt-y^*y3aO1m?NI5@}3SM^I-o5sVk)2U! zLljN% zi_EuJw&43J=wISj(JjF^BXdoHZKqE^1D_+j8xfXjwWV$s{Xy+H1zPGP`UE|111ifw zE{PCBVKaXC3C;GcH@mT+H9xu&3KNTIRl!ki|>LYm#9CY zL#Q4$G(O(gx~(xjehV9Dy|0CT?`z#g?Zka67z-6N9N@Ew42t83tbwtxATrHVP6%** z6BlN!Nr&73{L<4D?>+jlTp}aS$-*licjD4SKDc9e;quEDhPQ|EiAyIS5$VH0bFP5DX_LtqfoVV( zvC+<)IKh@rTzAHH-S*XL?`J1IQLTRBwsM(?75*%IeZOb>bMytzaOfx77@o=QG?ipW1SE&U=9iXKmZi>wLajA}t^rkVF7H1b3_m z{1`Z7Y@rbZtq+M0{vhizWk5(E-Xz1VT$UpAu?>lmfn=tFaFHMcqP?$`5>gB?d2oh2 z83x;&b2w!L&CS-{R?Eq7PIlxfPy#%jSkU#|Aeq@<94S(SB_>PEvlt%)CyQWoOQ`GT zc|0lS%H^Dlr}Fgq!NUS#>JZ#Za`+SB0D*%@i zMXq39T!4+L%&L*adh;+|&d&TAH1;Zdt7sPXvrdDK1?{9x-HPOJ>ivfIxEj#a)mv%H z&rnLw;%^^YVrhETd<29lB$%MQ!cXwKk9&>#sgC#Zn)n&&u%3qmY>apuQ@mupx8KSa&iMj7Ytq`Z?#2nblSL5h!(sN# zX<~FPNf-i9F#tlC+Hhd}7I8Uiw@`R6+yLanmd6Hz1EORM7KVrOgSu3T2BZ5H7Y@7z zS`*djN+&OV-SzwT9R6iA7>dV-o@>tsy!qBpWjvkuAFRi%q*Y(>U;M>pWf1&q(g8pG$ z|L}TxYlrPohIQswC<+^AdoVCr5`t3%SOqi}8HLbk&N`I^cAlr!jQii z&%D|(Z+Q;$4In!dCbq8MqIGY5mFAq=&h{x9jeW-?4`ReKQM4oJw}8kNf(AtmWoT01 z$|fPzqoAoOLt;tXqT>b)zDNim0yhLfa^V>j_wPF{ zFc?)qg#jdiqAHw%m~bMb2(_KP8PV@O(y@ISK8B${)NqNCA|dmQ1{{Gjv~ZEY7b4;) za$kxfVvRs+rZ7|_Xb!s*y@H(WV(%`8dTgJB6jO+BhK@tpT4a4fB~IKcQ!oq{dd#7y zs_GCWp9e3)$H>(8n&5*UK9XGF3xp4$Ten<|yi6X1NtN-H=y4_m0=OS7K>kfZj37}r z@E0mV{}{+&OU>k!Q%}>Vq48U;u?IBp0TRYQW|A`@;pKQC`Zs`nc2h$TnN3H6U7fcO z@1vwwUTQsQW-K1T4f~uVtRPKj0%2U6778Rdv>H@}pHX~Bpcg7EQoeG~515T>H!5Me zf?|FL?Qu0s0-+O`q3W1A(A|Mt1d98Dq+b^on$g60u~;^^fu(;Twd=!`RQ0BOy*Ap~ zY2WNq4A0b7bvk!z)-#nI98)$T0hcK4nH|3`7YvGHgOwfVb;aFHRx@d#JcTIY{;|;w zd&EVl9G=)JiMoHNP{;Kqs?}G>+TDT3o zY6%4TB1KBafZ!wG*FZKE0WA>{=H2!Ka6NCfL!8Lnm^piV}WYEVJx7>L({)k(MyRa14? z3QF1}lLsd?i7CUije+6=B${ShsD2itt z{ccADQ_$~RDn`PB9P};R{+M%!Xb2*vpc|+~{D_x;*F{qY7}R=f#i#4OUe|{d(`hZ? z({Iv!2^<~Lj%q%AbrpAXe0sU8!-O1naCbyHO5n%G##%ofqRsf%nv@{#3V;8_oNons zr5ZT=Z^ zvj3a!AN+xmtZ~x7j~(~vy%nl}bMKv#}pb05i^PJZLrk5q^qFX!?6(pydUNOGFT{ytHRGaSM@?v@L6fwu--+);p=W zG&Z5RdM~C?aGEyfnu$a-Ekb|2Z+}kHK1X?2ckuHF&+l$Sep1-^t33V*^cd?hW|ADE zFI^xx2HJqR2||(@6>6yDkQm;?xL(- z1FIR#EWUkHEcOsL@cyJ%KdJiz?vrjlZ{=!LenuF{6j}nd#pZEHX4dn-9?-jMEvyq@ z1A*^{CsU3m&qTY3rldFlutx@eF>cC7jtN!_=B`r;Sv0K@6~JYlU4j6Egd z*Z@+-FIoRd8|u z=c1QGiPoWjKa4b@WGRhv)Z(|E>F=oy z9fU2Ci1Ips*4OT}l4dP|aHGsXOicn;Py|~LC7^nUirm5|IVX{0=sKb(rJ)Sc9ArgJ z88aV4l()6#FGh+% zfQZ1kxB$~BX>~!;ak79Dnj*LalFd5T0mk{fJ}p4Lwm5OG z+kNjuF*WW;4k;UV_P%uCg`>E*CzsZKWUapBT_?$y&(w9bm-lSU>dgCi-+@x6z8k%7tsOgi@4fLx zNNH%nn|%onoL6SI3PUavGT*rV(=m9@pZi@qt#Prj{{{ROpuF8}Q^m~%5TuqwP2onk z-mcRsS1Gg^h6Mks02gEx%Q;!{T89wg*Qw#5^p~T#bhuT_jH%j5A&BYk$~M_RJnsY< zEUUA_0#b=0tc5W$Iw#1F4tItM(MVpf7n|i2GL6Z4$%Q3f8HkHceRUdxGhqjR!j8`OG+&E}?lo z$qCQ=JLDP1ZNCOb=3^Q3B8eSxGzWLo2{Hl9U{Q$zw~0!CX1k!oNPVV8$%7|~Phu(x&@XrdcCIMrj|grF6(|98 zCZ*An1*#ln2tNv`0liel3c(9B>!m1=1F~#a5Lum)P+KpRg9y1az|y8Ut~Rhf z$Tbgk;kb+73&#e4DG)ewU;~;2kO!tWP+XI3F?5@-#xbE00VZB8QZU{ZgYqR;s5iDD zhY`yc4i)mO_}1Oi%tfUxb|pzq@EZ&`!$Kk$bRrS*^k6sxuQ3pyvTqxhWEYzWz^AP0 zL!_U<>0lt?3^yPV6(_R72Ae}&&| zc4xMzy6ge}fISw^R;G^YI`kIR>%(!$A=?u-ArmArJ$-$ul8wjg1O9;Br53YJI|L+T zQ}sJ`JK(Vs5IF%WRf^_3k63e;Q?IT;k+6>-1%W5QlB6n@Ak69 z<64d|#sHP@VF75MtO!JL0MPSt_BKTskdI) zy+IAc4nopm2U&w6YFbc|L9_+Mn}Of3Gt0z^f|`_H^KI|fF8OH%|DIw)yq5Rz?N(lU zAqYto>a&Yo2oZy*N=7YRP+wFV6>%2gEUoUbbvPElJR5^_7NU9}T|ef8IlTbS`pBvc zA{2dKI&FiT4WcLLKjAGNZEV+@As^P>yz8!^!w()F8c)zm?f49QTEJiOmHYvG4Twq! z;bs+~!HLN0E>M%|1=sbyTwmCB`0%!cIs{{2+MEGb&~OQkL@X8+1?Z;}4hF~FfGdPh zj}C-h#y@-r^pF%w+HKm;n_6a4gJL4*N)!(P%Ll_}$u~r+gkw6+_OmpAfYY(lp}ZsJ zhdALyVs>wP+Nb~A494lx18k>L+oEY5%?&Ci_DjwUFM%6=qwWjzS>rx`OF9UZ%jAY3 zo3bX7KVWfU#QfBQGUv+18+lSNkvxVZLAgu^`Xl`jUH_=dNU#v+&3li7H^8ahdxHXB0=g3*iVmxDF2EioszU~OPVHqTa&&fIE0%ZYrgRqHZMYEe(XkUXpRy656U0o zO0ps@wR)M{0>)vMoC3of#*{Nf0?;9HU7~93*UKx|B?#MS82g=)>fhp5CFg#l-uoSf zQqpy6e{Sf+leZhj?FIm-^U6d5Glk2RtQcJ+TPgu-%-PQ4a;58RZ{g#=-q!{`lq3?u zltA;)3;);SaGmZ6(6{|x?_FOX%nq@Dddsw(fIQ|^e?N7(R)HSMuX+)M>?o=@&DT~M z3vHEGbKn)*DS4_CUJSwyT9) zYJ8(B9#A0ZlwyrcZN`_#fY5rq;CLDYmkTm@<-H`~bRqK@5}L>~&rCR401Zq&JT^c4 zo%sSl%z;^vL(x&w_O*Wf(zUW!Xh1?d)F{S_Ib&W7Iviy|gKKZ?`1WdNz-^>wONHrT zX|ng{cDrxL?H(O;DFfC!-i~*0FQIdClc4i?TojBezA={_5GW`LP}&9|hXNu)*_$b6 zN$(8hEP12ka=p{#l0NuV%ocI6~rhGh{4k6PHPKE$yk|2sx zB<2XvaTAacBn=Mvpa8Alc&#!*K_TLo_*FtUMdB%VokZRcoT0G<_9ya(ZZI#l{4m^t zVe2%7Em6(KNxxCdWyuSjD!~6xo$b2df?`b&8i5HvV#E&yQi7(B!<8Tz8VoCveMqLu=Y*rQIj$b!)Od0pB)nnB01&+U4ls>)smlq$L>hKSF#Ax-i*e4=0X_>0ev zyA?4NX#1r>D2c`KY`HisM6-Mzp0wqbl*_mTM#Y?jW-?BamY9cb0BB>Za%=?YLe zV;x{MaHg(~s9{C14J|q#8=}pJ0}VuusEgw;@g#DF3b+Qh3Cf0exG+#Actn^usW@vB zF-`J24@B&0-|6&%R8eHWK)^^-NcC{BH!QFN$WP!ELQ^4OlTeh(171bPMPZVCSP-Et z8A0|0UBqZH3V2G4 z=>uMeG>D7hD27X54fux%L*k?u5ybx?FgDy^LP``ODB(D<%bsFs^bf67@Bn0FVNrQx zty99f1Rv2~lC(nknhLX%x~|IM*p9YCceHoJ!m`Q>68TIxXh#xjdoY|SqWJHUsYq<1 zEIS->c_J1`(W&1XRn@51k5g*HnU{b|?;@*h)1rt+5+TyL)gB|DfQ%Wn(T%nEQapC$ zOl{*R+mHoWj=Y=mBa5B<&R}56?#|-KJR67Po6ohbZ5iJb;;02A{_VX1~fxhX?Axsn*5y42~MI9+ey9= z2V-ymJ^lZ-tnBEM!; zm=SiXy2=jR!h{zD;U4~bfeE*;tKhIFz6TCEq<7EZ>B=Tq#wYV}Jitz|GD(?;%*7~T zG7?(j(jznmvm6Z}&_;Gze8pkTLg3UFtZ+7keL9s+UX;8gG>`}dgQ3I#(m03#QA{OA zhLfpOa(KkN76_bsjX6?P7%V3L2-3a@i2RbG=oiIgGMUPV7}qdXK|R|Z-Bb#yZdv7)551?Pjiy;LX4ixkZ zH`3xC#J^Cn`irkv;LWhbJTz&o0^=fa#<@RsnE`(Z>&N$>=eOL;w?Ex zq&GfeBcaT(#6ipiKiyr}Dc zEP{a^Pb9|W*$Pe3Gm>nwU46f-Nk(be2Mnp zx`r&&kl18}a$T*&4(p4RS^1n-*0PJ3Ui4zv`@WrGnH2z&h$f@1A@Gm?{1jdv4Ytvz zLEfinlLsz%{kCZxhE9T0@EzWEDHIYgx>$I_Qs*kaOecQ1RN4WfN5U;H+J4UNx1~Xa zx9B@eoX?3o?jXV60s9I-#UH}N?X^lIfUJ)0P{+-jvVi!9$C)B-cS^{v@j?axE5%5l zok`!34YEDlaZ*@V^ z`v|oH^o}=bHAA@a8s3oJH!~jOnq-l%)d>4-4w!i=-=U@<4N|{pFDgO+YEP37Aza1b zY@hZCx7CIj&*fD2^s+@-Ja@Wl-G3W<4>-qpj0VRf+*RF@)bnAXQNePjg}?5Q;}2-n zfMyW>i^B^{dRDT#hnlinfE`m%Qm%Eu{6H4sqUuEfQdXwQqL#*CTohdnpYFKefTUiM zm=raiD%EB*@w;~2aAZoN7=syDT9tOfk^_0EE0BqyAR>$Pjv@tcIEYL}hU0=OHF0#{ zdKGF%?Sg_twv|ATmhP5vi&4gDI3&QDqXE3Jo*SNK-ax(S=hn#MIn~CqA`tC3w zeZl&7_dZBaz(~yN`i1=Wpsv@}j2^+YAJq*3faQaTBde2jO7Ht9%q9{miNy7Mi?(5W zVEc*LkM#!X2Xa?PeE_%6uEx6KEgh0HJ;AqWje))GoznVyRAE!j{5SaiKjFTX2EKC2 zw#5bqc~Dc(vQ(jj053GnCMoq23P1!HBn%_T=n6Xo`UJtpKau;m7= zOWHTwLFb?xsDK5$0ZEE`C9fYlgS{1rv+PNas2O%=AR``jZB(SV-*bNXe2+gaD)X*z zY$SHIH;ysFGkmvS6Onn)0gPbo*-@dIh~}_~WnZI?#DXzF9f{VKeMQ5i24ay&Ea0#k zMPEJ=8OcQxRe^7o1l%~H3b7Cm>_I}z5#&DE4Lax`_)zHY1mq^=ip_Qlmgmp{<3o@! z7P-&>UpSrMVYL)PphoJM6227_6Z)yd1!F;4$|{lq(L|qvspl-sd5jP`ft!fJU!51B zGp(ZkudyoulcOlxTVM6`96Onv&CcwVO)`5VA((7ts(N;2lK{IryGueKgk)I)CXld% z5ROgQgg^u_f*gWGzK+PLSWGqR4sT61p3Ej;vZoN}C$WX`okJb*cn3lry!tr$CT3%he(Ma_X$YD}r@9|g z`FN%kea|Yk1icZ+6BxFkA(Mx%7Ey*One1rKEL@mrMJOg5{fYXHR`;>JBk6e!I2FC| z`Ah@$TrX1?e^I9{f(-$ibRLH8cHu!l`|uzG1k|Ei&XqzZ)2?KhX3Pi|zKLe6W!3G9 z9G;;oY-+Eh_FtWncs02Yj|AO2aL+*o+#^GmPid^=_Atd8dc)8o?qLp-Sd%PFR#T}| zA&0y2rLDd`otmHV^XN^>c6XLaomq6;NHU&J$5ltFc~J~!c@bZt);xhcyLon}{iV(^ z>~!!zgo+D=bL~}(>iUdhf&KToza1}e{i-6p#&8`Y5Dk7~1;YV;!F?w@U1j{&TIRVImELfDE9(S z?-?84qtwb}o)lHQ*fVnI0_FWGu8htsL|=Bu|8-A+|HIX0Fex>J6kxD0T=7S1$aNfr z#o0A;QJA}*>dDs6ymV%Lwx`K&xxB@1deBem59%bAq**fFlUts~WUMpOhvd4)ifek( z>7HCmM+c}24-3C@!DXABMUMvr1#n_Jznp;Y6#o-yJ-kbAgHQEsaHleFX!p7C^-z9r zPNdGR;S%EB zp5&%d8Sfd)l$=EGth%+a{sP~7swsaqjy&s~DcMv*-l69XQQ7+4zV~b*JkgKr5b)B~ zZVmy&6o4u~!Y&jf4EkK4!ws0<5o}8nnur*)1;gOlrZ$Wq%yp(MCi5{mt!9Xwr)R9l zW|x&UR%s3v>sCE`eyrnO)!vkwGq--pUFjJrxIbNZK0Raq7vElAe{6$uhPZbV`Kt%9 z6RLX1>8_295zW&suLHaP=jgvp8Rt%GvFeoNZLM7+=*2;IXQg`{qOMWnmDk!`^HPXQ zmnx1Wd91LwxoMVk^_WrtF=1*^b>X}@v;C8NtiBkFtuml8)XKsJ_c^W)e1;3Zvkl8h z&FyS&?F#MvwWyc9VK0gsn*cU+!=3Kw(?w zK=0~ax4Zu#_qSK|4r~|*{}(zJ_YUj}4~8d1&n&Axr*^v1iRusba!&HluyKB?&@F_r z)7`&xo9937d5`;Eu~a!Iiy*1&ye&(Y`QEy?w@-Wfyu>k{(y

jUE$JJD`FHGGDsap6-07+B!t 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 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.svg b/Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.svg new file mode 100644 index 0000000..1a2b39b --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.svg @@ -0,0 +1,2090 @@ + + + + + +Created by FontForge 20170925 at Wed Apr 10 17:18:48 2019 + By Brandy S Carney +Copyright (c) 2019, Brandy S Carney + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.ttf b/Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..a29887bc06b673efc1115ded47c4c51f1daf335e GIT binary patch literal 112484 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 Zg|K%`xn8wLe}C;AZu{7GGQHeZ{|yFb5#0a) literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.woff b/Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.woff new file mode 100644 index 0000000000000000000000000000000000000000..d968268d29d09a1ea934748cb424ee218726299b GIT binary patch literal 65916 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

9T!jGdC{n1sWT7^}|N=wfjpfK7|DXqG3d-oVG& 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

8Tu}9t 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

OV(uY{)4f8TBu`;Rob)y29+9y)t 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 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/css/material-design-iconic-font.min.css b/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/css/material-design-iconic-font.min.css new file mode 100644 index 0000000..e1a58fe --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/css/material-design-iconic-font.min.css @@ -0,0 +1 @@ +@font-face{font-family:Material-Design-Iconic-Font;src:url(../fonts/Material-Design-Iconic-Font.woff2?v=2.2.0) format('woff2'),url(../fonts/Material-Design-Iconic-Font.woff?v=2.2.0) format('woff'),url(../fonts/Material-Design-Iconic-Font.ttf?v=2.2.0) format('truetype')}.zmdi{display:inline-block;font:normal normal normal 14px/1 'Material-Design-Iconic-Font';font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.zmdi-hc-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.zmdi-hc-2x{font-size:2em}.zmdi-hc-3x{font-size:3em}.zmdi-hc-4x{font-size:4em}.zmdi-hc-5x{font-size:5em}.zmdi-hc-fw{width:1.28571429em;text-align:center}.zmdi-hc-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.zmdi-hc-ul>li{position:relative}.zmdi-hc-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.zmdi-hc-li.zmdi-hc-lg{left:-1.85714286em}.zmdi-hc-border{padding:.1em .25em;border:solid .1em #9e9e9e;border-radius:2px}.zmdi-hc-border-circle{padding:.1em .25em;border:solid .1em #9e9e9e;border-radius:50%}.zmdi.pull-left{float:left;margin-right:.15em}.zmdi.pull-right{float:right;margin-left:.15em}.zmdi-hc-spin{-webkit-animation:zmdi-spin 1.5s infinite linear;animation:zmdi-spin 1.5s infinite linear}.zmdi-hc-spin-reverse{-webkit-animation:zmdi-spin-reverse 1.5s infinite linear;animation:zmdi-spin-reverse 1.5s infinite linear}@-webkit-keyframes zmdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes zmdi-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@-webkit-keyframes zmdi-spin-reverse{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}@keyframes zmdi-spin-reverse{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(-359deg);transform:rotate(-359deg)}}.zmdi-hc-rotate-90{-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.zmdi-hc-rotate-180{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.zmdi-hc-rotate-270{-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.zmdi-hc-flip-horizontal{-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.zmdi-hc-flip-vertical{-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}.zmdi-hc-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.zmdi-hc-stack-1x,.zmdi-hc-stack-2x{position:absolute;left:0;width:100%;text-align:center}.zmdi-hc-stack-1x{line-height:inherit}.zmdi-hc-stack-2x{font-size:2em}.zmdi-hc-inverse{color:#fff}.zmdi-3d-rotation:before{content:'\f101'}.zmdi-airplane-off:before{content:'\f102'}.zmdi-airplane:before{content:'\f103'}.zmdi-album:before{content:'\f104'}.zmdi-archive:before{content:'\f105'}.zmdi-assignment-account:before{content:'\f106'}.zmdi-assignment-alert:before{content:'\f107'}.zmdi-assignment-check:before{content:'\f108'}.zmdi-assignment-o:before{content:'\f109'}.zmdi-assignment-return:before{content:'\f10a'}.zmdi-assignment-returned:before{content:'\f10b'}.zmdi-assignment:before{content:'\f10c'}.zmdi-attachment-alt:before{content:'\f10d'}.zmdi-attachment:before{content:'\f10e'}.zmdi-audio:before{content:'\f10f'}.zmdi-badge-check:before{content:'\f110'}.zmdi-balance-wallet:before{content:'\f111'}.zmdi-balance:before{content:'\f112'}.zmdi-battery-alert:before{content:'\f113'}.zmdi-battery-flash:before{content:'\f114'}.zmdi-battery-unknown:before{content:'\f115'}.zmdi-battery:before{content:'\f116'}.zmdi-bike:before{content:'\f117'}.zmdi-block-alt:before{content:'\f118'}.zmdi-block:before{content:'\f119'}.zmdi-boat:before{content:'\f11a'}.zmdi-book-image:before{content:'\f11b'}.zmdi-book:before{content:'\f11c'}.zmdi-bookmark-outline:before{content:'\f11d'}.zmdi-bookmark:before{content:'\f11e'}.zmdi-brush:before{content:'\f11f'}.zmdi-bug:before{content:'\f120'}.zmdi-bus:before{content:'\f121'}.zmdi-cake:before{content:'\f122'}.zmdi-car-taxi:before{content:'\f123'}.zmdi-car-wash:before{content:'\f124'}.zmdi-car:before{content:'\f125'}.zmdi-card-giftcard:before{content:'\f126'}.zmdi-card-membership:before{content:'\f127'}.zmdi-card-travel:before{content:'\f128'}.zmdi-card:before{content:'\f129'}.zmdi-case-check:before{content:'\f12a'}.zmdi-case-download:before{content:'\f12b'}.zmdi-case-play:before{content:'\f12c'}.zmdi-case:before{content:'\f12d'}.zmdi-cast-connected:before{content:'\f12e'}.zmdi-cast:before{content:'\f12f'}.zmdi-chart-donut:before{content:'\f130'}.zmdi-chart:before{content:'\f131'}.zmdi-city-alt:before{content:'\f132'}.zmdi-city:before{content:'\f133'}.zmdi-close-circle-o:before{content:'\f134'}.zmdi-close-circle:before{content:'\f135'}.zmdi-close:before{content:'\f136'}.zmdi-cocktail:before{content:'\f137'}.zmdi-code-setting:before{content:'\f138'}.zmdi-code-smartphone:before{content:'\f139'}.zmdi-code:before{content:'\f13a'}.zmdi-coffee:before{content:'\f13b'}.zmdi-collection-bookmark:before{content:'\f13c'}.zmdi-collection-case-play:before{content:'\f13d'}.zmdi-collection-folder-image:before{content:'\f13e'}.zmdi-collection-image-o:before{content:'\f13f'}.zmdi-collection-image:before{content:'\f140'}.zmdi-collection-item-1:before{content:'\f141'}.zmdi-collection-item-2:before{content:'\f142'}.zmdi-collection-item-3:before{content:'\f143'}.zmdi-collection-item-4:before{content:'\f144'}.zmdi-collection-item-5:before{content:'\f145'}.zmdi-collection-item-6:before{content:'\f146'}.zmdi-collection-item-7:before{content:'\f147'}.zmdi-collection-item-8:before{content:'\f148'}.zmdi-collection-item-9-plus:before{content:'\f149'}.zmdi-collection-item-9:before{content:'\f14a'}.zmdi-collection-item:before{content:'\f14b'}.zmdi-collection-music:before{content:'\f14c'}.zmdi-collection-pdf:before{content:'\f14d'}.zmdi-collection-plus:before{content:'\f14e'}.zmdi-collection-speaker:before{content:'\f14f'}.zmdi-collection-text:before{content:'\f150'}.zmdi-collection-video:before{content:'\f151'}.zmdi-compass:before{content:'\f152'}.zmdi-cutlery:before{content:'\f153'}.zmdi-delete:before{content:'\f154'}.zmdi-dialpad:before{content:'\f155'}.zmdi-dns:before{content:'\f156'}.zmdi-drink:before{content:'\f157'}.zmdi-edit:before{content:'\f158'}.zmdi-email-open:before{content:'\f159'}.zmdi-email:before{content:'\f15a'}.zmdi-eye-off:before{content:'\f15b'}.zmdi-eye:before{content:'\f15c'}.zmdi-eyedropper:before{content:'\f15d'}.zmdi-favorite-outline:before{content:'\f15e'}.zmdi-favorite:before{content:'\f15f'}.zmdi-filter-list:before{content:'\f160'}.zmdi-fire:before{content:'\f161'}.zmdi-flag:before{content:'\f162'}.zmdi-flare:before{content:'\f163'}.zmdi-flash-auto:before{content:'\f164'}.zmdi-flash-off:before{content:'\f165'}.zmdi-flash:before{content:'\f166'}.zmdi-flip:before{content:'\f167'}.zmdi-flower-alt:before{content:'\f168'}.zmdi-flower:before{content:'\f169'}.zmdi-font:before{content:'\f16a'}.zmdi-fullscreen-alt:before{content:'\f16b'}.zmdi-fullscreen-exit:before{content:'\f16c'}.zmdi-fullscreen:before{content:'\f16d'}.zmdi-functions:before{content:'\f16e'}.zmdi-gas-station:before{content:'\f16f'}.zmdi-gesture:before{content:'\f170'}.zmdi-globe-alt:before{content:'\f171'}.zmdi-globe-lock:before{content:'\f172'}.zmdi-globe:before{content:'\f173'}.zmdi-graduation-cap:before{content:'\f174'}.zmdi-home:before{content:'\f175'}.zmdi-hospital-alt:before{content:'\f176'}.zmdi-hospital:before{content:'\f177'}.zmdi-hotel:before{content:'\f178'}.zmdi-hourglass-alt:before{content:'\f179'}.zmdi-hourglass-outline:before{content:'\f17a'}.zmdi-hourglass:before{content:'\f17b'}.zmdi-http:before{content:'\f17c'}.zmdi-image-alt:before{content:'\f17d'}.zmdi-image-o:before{content:'\f17e'}.zmdi-image:before{content:'\f17f'}.zmdi-inbox:before{content:'\f180'}.zmdi-invert-colors-off:before{content:'\f181'}.zmdi-invert-colors:before{content:'\f182'}.zmdi-key:before{content:'\f183'}.zmdi-label-alt-outline:before{content:'\f184'}.zmdi-label-alt:before{content:'\f185'}.zmdi-label-heart:before{content:'\f186'}.zmdi-label:before{content:'\f187'}.zmdi-labels:before{content:'\f188'}.zmdi-lamp:before{content:'\f189'}.zmdi-landscape:before{content:'\f18a'}.zmdi-layers-off:before{content:'\f18b'}.zmdi-layers:before{content:'\f18c'}.zmdi-library:before{content:'\f18d'}.zmdi-link:before{content:'\f18e'}.zmdi-lock-open:before{content:'\f18f'}.zmdi-lock-outline:before{content:'\f190'}.zmdi-lock:before{content:'\f191'}.zmdi-mail-reply-all:before{content:'\f192'}.zmdi-mail-reply:before{content:'\f193'}.zmdi-mail-send:before{content:'\f194'}.zmdi-mall:before{content:'\f195'}.zmdi-map:before{content:'\f196'}.zmdi-menu:before{content:'\f197'}.zmdi-money-box:before{content:'\f198'}.zmdi-money-off:before{content:'\f199'}.zmdi-money:before{content:'\f19a'}.zmdi-more-vert:before{content:'\f19b'}.zmdi-more:before{content:'\f19c'}.zmdi-movie-alt:before{content:'\f19d'}.zmdi-movie:before{content:'\f19e'}.zmdi-nature-people:before{content:'\f19f'}.zmdi-nature:before{content:'\f1a0'}.zmdi-navigation:before{content:'\f1a1'}.zmdi-open-in-browser:before{content:'\f1a2'}.zmdi-open-in-new:before{content:'\f1a3'}.zmdi-palette:before{content:'\f1a4'}.zmdi-parking:before{content:'\f1a5'}.zmdi-pin-account:before{content:'\f1a6'}.zmdi-pin-assistant:before{content:'\f1a7'}.zmdi-pin-drop:before{content:'\f1a8'}.zmdi-pin-help:before{content:'\f1a9'}.zmdi-pin-off:before{content:'\f1aa'}.zmdi-pin:before{content:'\f1ab'}.zmdi-pizza:before{content:'\f1ac'}.zmdi-plaster:before{content:'\f1ad'}.zmdi-power-setting:before{content:'\f1ae'}.zmdi-power:before{content:'\f1af'}.zmdi-print:before{content:'\f1b0'}.zmdi-puzzle-piece:before{content:'\f1b1'}.zmdi-quote:before{content:'\f1b2'}.zmdi-railway:before{content:'\f1b3'}.zmdi-receipt:before{content:'\f1b4'}.zmdi-refresh-alt:before{content:'\f1b5'}.zmdi-refresh-sync-alert:before{content:'\f1b6'}.zmdi-refresh-sync-off:before{content:'\f1b7'}.zmdi-refresh-sync:before{content:'\f1b8'}.zmdi-refresh:before{content:'\f1b9'}.zmdi-roller:before{content:'\f1ba'}.zmdi-ruler:before{content:'\f1bb'}.zmdi-scissors:before{content:'\f1bc'}.zmdi-screen-rotation-lock:before{content:'\f1bd'}.zmdi-screen-rotation:before{content:'\f1be'}.zmdi-search-for:before{content:'\f1bf'}.zmdi-search-in-file:before{content:'\f1c0'}.zmdi-search-in-page:before{content:'\f1c1'}.zmdi-search-replace:before{content:'\f1c2'}.zmdi-search:before{content:'\f1c3'}.zmdi-seat:before{content:'\f1c4'}.zmdi-settings-square:before{content:'\f1c5'}.zmdi-settings:before{content:'\f1c6'}.zmdi-shield-check:before{content:'\f1c7'}.zmdi-shield-security:before{content:'\f1c8'}.zmdi-shopping-basket:before{content:'\f1c9'}.zmdi-shopping-cart-plus:before{content:'\f1ca'}.zmdi-shopping-cart:before{content:'\f1cb'}.zmdi-sign-in:before{content:'\f1cc'}.zmdi-sort-amount-asc:before{content:'\f1cd'}.zmdi-sort-amount-desc:before{content:'\f1ce'}.zmdi-sort-asc:before{content:'\f1cf'}.zmdi-sort-desc:before{content:'\f1d0'}.zmdi-spellcheck:before{content:'\f1d1'}.zmdi-storage:before{content:'\f1d2'}.zmdi-store-24:before{content:'\f1d3'}.zmdi-store:before{content:'\f1d4'}.zmdi-subway:before{content:'\f1d5'}.zmdi-sun:before{content:'\f1d6'}.zmdi-tab-unselected:before{content:'\f1d7'}.zmdi-tab:before{content:'\f1d8'}.zmdi-tag-close:before{content:'\f1d9'}.zmdi-tag-more:before{content:'\f1da'}.zmdi-tag:before{content:'\f1db'}.zmdi-thumb-down:before{content:'\f1dc'}.zmdi-thumb-up-down:before{content:'\f1dd'}.zmdi-thumb-up:before{content:'\f1de'}.zmdi-ticket-star:before{content:'\f1df'}.zmdi-toll:before{content:'\f1e0'}.zmdi-toys:before{content:'\f1e1'}.zmdi-traffic:before{content:'\f1e2'}.zmdi-translate:before{content:'\f1e3'}.zmdi-triangle-down:before{content:'\f1e4'}.zmdi-triangle-up:before{content:'\f1e5'}.zmdi-truck:before{content:'\f1e6'}.zmdi-turning-sign:before{content:'\f1e7'}.zmdi-wallpaper:before{content:'\f1e8'}.zmdi-washing-machine:before{content:'\f1e9'}.zmdi-window-maximize:before{content:'\f1ea'}.zmdi-window-minimize:before{content:'\f1eb'}.zmdi-window-restore:before{content:'\f1ec'}.zmdi-wrench:before{content:'\f1ed'}.zmdi-zoom-in:before{content:'\f1ee'}.zmdi-zoom-out:before{content:'\f1ef'}.zmdi-alert-circle-o:before{content:'\f1f0'}.zmdi-alert-circle:before{content:'\f1f1'}.zmdi-alert-octagon:before{content:'\f1f2'}.zmdi-alert-polygon:before{content:'\f1f3'}.zmdi-alert-triangle:before{content:'\f1f4'}.zmdi-help-outline:before{content:'\f1f5'}.zmdi-help:before{content:'\f1f6'}.zmdi-info-outline:before{content:'\f1f7'}.zmdi-info:before{content:'\f1f8'}.zmdi-notifications-active:before{content:'\f1f9'}.zmdi-notifications-add:before{content:'\f1fa'}.zmdi-notifications-none:before{content:'\f1fb'}.zmdi-notifications-off:before{content:'\f1fc'}.zmdi-notifications-paused:before{content:'\f1fd'}.zmdi-notifications:before{content:'\f1fe'}.zmdi-account-add:before{content:'\f1ff'}.zmdi-account-box-mail:before{content:'\f200'}.zmdi-account-box-o:before{content:'\f201'}.zmdi-account-box-phone:before{content:'\f202'}.zmdi-account-box:before{content:'\f203'}.zmdi-account-calendar:before{content:'\f204'}.zmdi-account-circle:before{content:'\f205'}.zmdi-account-o:before{content:'\f206'}.zmdi-account:before{content:'\f207'}.zmdi-accounts-add:before{content:'\f208'}.zmdi-accounts-alt:before{content:'\f209'}.zmdi-accounts-list-alt:before{content:'\f20a'}.zmdi-accounts-list:before{content:'\f20b'}.zmdi-accounts-outline:before{content:'\f20c'}.zmdi-accounts:before{content:'\f20d'}.zmdi-face:before{content:'\f20e'}.zmdi-female:before{content:'\f20f'}.zmdi-male-alt:before{content:'\f210'}.zmdi-male-female:before{content:'\f211'}.zmdi-male:before{content:'\f212'}.zmdi-mood-bad:before{content:'\f213'}.zmdi-mood:before{content:'\f214'}.zmdi-run:before{content:'\f215'}.zmdi-walk:before{content:'\f216'}.zmdi-cloud-box:before{content:'\f217'}.zmdi-cloud-circle:before{content:'\f218'}.zmdi-cloud-done:before{content:'\f219'}.zmdi-cloud-download:before{content:'\f21a'}.zmdi-cloud-off:before{content:'\f21b'}.zmdi-cloud-outline-alt:before{content:'\f21c'}.zmdi-cloud-outline:before{content:'\f21d'}.zmdi-cloud-upload:before{content:'\f21e'}.zmdi-cloud:before{content:'\f21f'}.zmdi-download:before{content:'\f220'}.zmdi-file-plus:before{content:'\f221'}.zmdi-file-text:before{content:'\f222'}.zmdi-file:before{content:'\f223'}.zmdi-folder-outline:before{content:'\f224'}.zmdi-folder-person:before{content:'\f225'}.zmdi-folder-star-alt:before{content:'\f226'}.zmdi-folder-star:before{content:'\f227'}.zmdi-folder:before{content:'\f228'}.zmdi-gif:before{content:'\f229'}.zmdi-upload:before{content:'\f22a'}.zmdi-border-all:before{content:'\f22b'}.zmdi-border-bottom:before{content:'\f22c'}.zmdi-border-clear:before{content:'\f22d'}.zmdi-border-color:before{content:'\f22e'}.zmdi-border-horizontal:before{content:'\f22f'}.zmdi-border-inner:before{content:'\f230'}.zmdi-border-left:before{content:'\f231'}.zmdi-border-outer:before{content:'\f232'}.zmdi-border-right:before{content:'\f233'}.zmdi-border-style:before{content:'\f234'}.zmdi-border-top:before{content:'\f235'}.zmdi-border-vertical:before{content:'\f236'}.zmdi-copy:before{content:'\f237'}.zmdi-crop:before{content:'\f238'}.zmdi-format-align-center:before{content:'\f239'}.zmdi-format-align-justify:before{content:'\f23a'}.zmdi-format-align-left:before{content:'\f23b'}.zmdi-format-align-right:before{content:'\f23c'}.zmdi-format-bold:before{content:'\f23d'}.zmdi-format-clear-all:before{content:'\f23e'}.zmdi-format-clear:before{content:'\f23f'}.zmdi-format-color-fill:before{content:'\f240'}.zmdi-format-color-reset:before{content:'\f241'}.zmdi-format-color-text:before{content:'\f242'}.zmdi-format-indent-decrease:before{content:'\f243'}.zmdi-format-indent-increase:before{content:'\f244'}.zmdi-format-italic:before{content:'\f245'}.zmdi-format-line-spacing:before{content:'\f246'}.zmdi-format-list-bulleted:before{content:'\f247'}.zmdi-format-list-numbered:before{content:'\f248'}.zmdi-format-ltr:before{content:'\f249'}.zmdi-format-rtl:before{content:'\f24a'}.zmdi-format-size:before{content:'\f24b'}.zmdi-format-strikethrough-s:before{content:'\f24c'}.zmdi-format-strikethrough:before{content:'\f24d'}.zmdi-format-subject:before{content:'\f24e'}.zmdi-format-underlined:before{content:'\f24f'}.zmdi-format-valign-bottom:before{content:'\f250'}.zmdi-format-valign-center:before{content:'\f251'}.zmdi-format-valign-top:before{content:'\f252'}.zmdi-redo:before{content:'\f253'}.zmdi-select-all:before{content:'\f254'}.zmdi-space-bar:before{content:'\f255'}.zmdi-text-format:before{content:'\f256'}.zmdi-transform:before{content:'\f257'}.zmdi-undo:before{content:'\f258'}.zmdi-wrap-text:before{content:'\f259'}.zmdi-comment-alert:before{content:'\f25a'}.zmdi-comment-alt-text:before{content:'\f25b'}.zmdi-comment-alt:before{content:'\f25c'}.zmdi-comment-edit:before{content:'\f25d'}.zmdi-comment-image:before{content:'\f25e'}.zmdi-comment-list:before{content:'\f25f'}.zmdi-comment-more:before{content:'\f260'}.zmdi-comment-outline:before{content:'\f261'}.zmdi-comment-text-alt:before{content:'\f262'}.zmdi-comment-text:before{content:'\f263'}.zmdi-comment-video:before{content:'\f264'}.zmdi-comment:before{content:'\f265'}.zmdi-comments:before{content:'\f266'}.zmdi-check-all:before{content:'\f267'}.zmdi-check-circle-u:before{content:'\f268'}.zmdi-check-circle:before{content:'\f269'}.zmdi-check-square:before{content:'\f26a'}.zmdi-check:before{content:'\f26b'}.zmdi-circle-o:before{content:'\f26c'}.zmdi-circle:before{content:'\f26d'}.zmdi-dot-circle-alt:before{content:'\f26e'}.zmdi-dot-circle:before{content:'\f26f'}.zmdi-minus-circle-outline:before{content:'\f270'}.zmdi-minus-circle:before{content:'\f271'}.zmdi-minus-square:before{content:'\f272'}.zmdi-minus:before{content:'\f273'}.zmdi-plus-circle-o-duplicate:before{content:'\f274'}.zmdi-plus-circle-o:before{content:'\f275'}.zmdi-plus-circle:before{content:'\f276'}.zmdi-plus-square:before{content:'\f277'}.zmdi-plus:before{content:'\f278'}.zmdi-square-o:before{content:'\f279'}.zmdi-star-circle:before{content:'\f27a'}.zmdi-star-half:before{content:'\f27b'}.zmdi-star-outline:before{content:'\f27c'}.zmdi-star:before{content:'\f27d'}.zmdi-bluetooth-connected:before{content:'\f27e'}.zmdi-bluetooth-off:before{content:'\f27f'}.zmdi-bluetooth-search:before{content:'\f280'}.zmdi-bluetooth-setting:before{content:'\f281'}.zmdi-bluetooth:before{content:'\f282'}.zmdi-camera-add:before{content:'\f283'}.zmdi-camera-alt:before{content:'\f284'}.zmdi-camera-bw:before{content:'\f285'}.zmdi-camera-front:before{content:'\f286'}.zmdi-camera-mic:before{content:'\f287'}.zmdi-camera-party-mode:before{content:'\f288'}.zmdi-camera-rear:before{content:'\f289'}.zmdi-camera-roll:before{content:'\f28a'}.zmdi-camera-switch:before{content:'\f28b'}.zmdi-camera:before{content:'\f28c'}.zmdi-card-alert:before{content:'\f28d'}.zmdi-card-off:before{content:'\f28e'}.zmdi-card-sd:before{content:'\f28f'}.zmdi-card-sim:before{content:'\f290'}.zmdi-desktop-mac:before{content:'\f291'}.zmdi-desktop-windows:before{content:'\f292'}.zmdi-device-hub:before{content:'\f293'}.zmdi-devices-off:before{content:'\f294'}.zmdi-devices:before{content:'\f295'}.zmdi-dock:before{content:'\f296'}.zmdi-floppy:before{content:'\f297'}.zmdi-gamepad:before{content:'\f298'}.zmdi-gps-dot:before{content:'\f299'}.zmdi-gps-off:before{content:'\f29a'}.zmdi-gps:before{content:'\f29b'}.zmdi-headset-mic:before{content:'\f29c'}.zmdi-headset:before{content:'\f29d'}.zmdi-input-antenna:before{content:'\f29e'}.zmdi-input-composite:before{content:'\f29f'}.zmdi-input-hdmi:before{content:'\f2a0'}.zmdi-input-power:before{content:'\f2a1'}.zmdi-input-svideo:before{content:'\f2a2'}.zmdi-keyboard-hide:before{content:'\f2a3'}.zmdi-keyboard:before{content:'\f2a4'}.zmdi-laptop-chromebook:before{content:'\f2a5'}.zmdi-laptop-mac:before{content:'\f2a6'}.zmdi-laptop:before{content:'\f2a7'}.zmdi-mic-off:before{content:'\f2a8'}.zmdi-mic-outline:before{content:'\f2a9'}.zmdi-mic-setting:before{content:'\f2aa'}.zmdi-mic:before{content:'\f2ab'}.zmdi-mouse:before{content:'\f2ac'}.zmdi-network-alert:before{content:'\f2ad'}.zmdi-network-locked:before{content:'\f2ae'}.zmdi-network-off:before{content:'\f2af'}.zmdi-network-outline:before{content:'\f2b0'}.zmdi-network-setting:before{content:'\f2b1'}.zmdi-network:before{content:'\f2b2'}.zmdi-phone-bluetooth:before{content:'\f2b3'}.zmdi-phone-end:before{content:'\f2b4'}.zmdi-phone-forwarded:before{content:'\f2b5'}.zmdi-phone-in-talk:before{content:'\f2b6'}.zmdi-phone-locked:before{content:'\f2b7'}.zmdi-phone-missed:before{content:'\f2b8'}.zmdi-phone-msg:before{content:'\f2b9'}.zmdi-phone-paused:before{content:'\f2ba'}.zmdi-phone-ring:before{content:'\f2bb'}.zmdi-phone-setting:before{content:'\f2bc'}.zmdi-phone-sip:before{content:'\f2bd'}.zmdi-phone:before{content:'\f2be'}.zmdi-portable-wifi-changes:before{content:'\f2bf'}.zmdi-portable-wifi-off:before{content:'\f2c0'}.zmdi-portable-wifi:before{content:'\f2c1'}.zmdi-radio:before{content:'\f2c2'}.zmdi-reader:before{content:'\f2c3'}.zmdi-remote-control-alt:before{content:'\f2c4'}.zmdi-remote-control:before{content:'\f2c5'}.zmdi-router:before{content:'\f2c6'}.zmdi-scanner:before{content:'\f2c7'}.zmdi-smartphone-android:before{content:'\f2c8'}.zmdi-smartphone-download:before{content:'\f2c9'}.zmdi-smartphone-erase:before{content:'\f2ca'}.zmdi-smartphone-info:before{content:'\f2cb'}.zmdi-smartphone-iphone:before{content:'\f2cc'}.zmdi-smartphone-landscape-lock:before{content:'\f2cd'}.zmdi-smartphone-landscape:before{content:'\f2ce'}.zmdi-smartphone-lock:before{content:'\f2cf'}.zmdi-smartphone-portrait-lock:before{content:'\f2d0'}.zmdi-smartphone-ring:before{content:'\f2d1'}.zmdi-smartphone-setting:before{content:'\f2d2'}.zmdi-smartphone-setup:before{content:'\f2d3'}.zmdi-smartphone:before{content:'\f2d4'}.zmdi-speaker:before{content:'\f2d5'}.zmdi-tablet-android:before{content:'\f2d6'}.zmdi-tablet-mac:before{content:'\f2d7'}.zmdi-tablet:before{content:'\f2d8'}.zmdi-tv-alt-play:before{content:'\f2d9'}.zmdi-tv-list:before{content:'\f2da'}.zmdi-tv-play:before{content:'\f2db'}.zmdi-tv:before{content:'\f2dc'}.zmdi-usb:before{content:'\f2dd'}.zmdi-videocam-off:before{content:'\f2de'}.zmdi-videocam-switch:before{content:'\f2df'}.zmdi-videocam:before{content:'\f2e0'}.zmdi-watch:before{content:'\f2e1'}.zmdi-wifi-alt-2:before{content:'\f2e2'}.zmdi-wifi-alt:before{content:'\f2e3'}.zmdi-wifi-info:before{content:'\f2e4'}.zmdi-wifi-lock:before{content:'\f2e5'}.zmdi-wifi-off:before{content:'\f2e6'}.zmdi-wifi-outline:before{content:'\f2e7'}.zmdi-wifi:before{content:'\f2e8'}.zmdi-arrow-left-bottom:before{content:'\f2e9'}.zmdi-arrow-left:before{content:'\f2ea'}.zmdi-arrow-merge:before{content:'\f2eb'}.zmdi-arrow-missed:before{content:'\f2ec'}.zmdi-arrow-right-top:before{content:'\f2ed'}.zmdi-arrow-right:before{content:'\f2ee'}.zmdi-arrow-split:before{content:'\f2ef'}.zmdi-arrows:before{content:'\f2f0'}.zmdi-caret-down-circle:before{content:'\f2f1'}.zmdi-caret-down:before{content:'\f2f2'}.zmdi-caret-left-circle:before{content:'\f2f3'}.zmdi-caret-left:before{content:'\f2f4'}.zmdi-caret-right-circle:before{content:'\f2f5'}.zmdi-caret-right:before{content:'\f2f6'}.zmdi-caret-up-circle:before{content:'\f2f7'}.zmdi-caret-up:before{content:'\f2f8'}.zmdi-chevron-down:before{content:'\f2f9'}.zmdi-chevron-left:before{content:'\f2fa'}.zmdi-chevron-right:before{content:'\f2fb'}.zmdi-chevron-up:before{content:'\f2fc'}.zmdi-forward:before{content:'\f2fd'}.zmdi-long-arrow-down:before{content:'\f2fe'}.zmdi-long-arrow-left:before{content:'\f2ff'}.zmdi-long-arrow-return:before{content:'\f300'}.zmdi-long-arrow-right:before{content:'\f301'}.zmdi-long-arrow-tab:before{content:'\f302'}.zmdi-long-arrow-up:before{content:'\f303'}.zmdi-rotate-ccw:before{content:'\f304'}.zmdi-rotate-cw:before{content:'\f305'}.zmdi-rotate-left:before{content:'\f306'}.zmdi-rotate-right:before{content:'\f307'}.zmdi-square-down:before{content:'\f308'}.zmdi-square-right:before{content:'\f309'}.zmdi-swap-alt:before{content:'\f30a'}.zmdi-swap-vertical-circle:before{content:'\f30b'}.zmdi-swap-vertical:before{content:'\f30c'}.zmdi-swap:before{content:'\f30d'}.zmdi-trending-down:before{content:'\f30e'}.zmdi-trending-flat:before{content:'\f30f'}.zmdi-trending-up:before{content:'\f310'}.zmdi-unfold-less:before{content:'\f311'}.zmdi-unfold-more:before{content:'\f312'}.zmdi-apps:before{content:'\f313'}.zmdi-grid-off:before{content:'\f314'}.zmdi-grid:before{content:'\f315'}.zmdi-view-agenda:before{content:'\f316'}.zmdi-view-array:before{content:'\f317'}.zmdi-view-carousel:before{content:'\f318'}.zmdi-view-column:before{content:'\f319'}.zmdi-view-comfy:before{content:'\f31a'}.zmdi-view-compact:before{content:'\f31b'}.zmdi-view-dashboard:before{content:'\f31c'}.zmdi-view-day:before{content:'\f31d'}.zmdi-view-headline:before{content:'\f31e'}.zmdi-view-list-alt:before{content:'\f31f'}.zmdi-view-list:before{content:'\f320'}.zmdi-view-module:before{content:'\f321'}.zmdi-view-quilt:before{content:'\f322'}.zmdi-view-stream:before{content:'\f323'}.zmdi-view-subtitles:before{content:'\f324'}.zmdi-view-toc:before{content:'\f325'}.zmdi-view-web:before{content:'\f326'}.zmdi-view-week:before{content:'\f327'}.zmdi-widgets:before{content:'\f328'}.zmdi-alarm-check:before{content:'\f329'}.zmdi-alarm-off:before{content:'\f32a'}.zmdi-alarm-plus:before{content:'\f32b'}.zmdi-alarm-snooze:before{content:'\f32c'}.zmdi-alarm:before{content:'\f32d'}.zmdi-calendar-alt:before{content:'\f32e'}.zmdi-calendar-check:before{content:'\f32f'}.zmdi-calendar-close:before{content:'\f330'}.zmdi-calendar-note:before{content:'\f331'}.zmdi-calendar:before{content:'\f332'}.zmdi-time-countdown:before{content:'\f333'}.zmdi-time-interval:before{content:'\f334'}.zmdi-time-restore-setting:before{content:'\f335'}.zmdi-time-restore:before{content:'\f336'}.zmdi-time:before{content:'\f337'}.zmdi-timer-off:before{content:'\f338'}.zmdi-timer:before{content:'\f339'}.zmdi-android-alt:before{content:'\f33a'}.zmdi-android:before{content:'\f33b'}.zmdi-apple:before{content:'\f33c'}.zmdi-behance:before{content:'\f33d'}.zmdi-codepen:before{content:'\f33e'}.zmdi-dribbble:before{content:'\f33f'}.zmdi-dropbox:before{content:'\f340'}.zmdi-evernote:before{content:'\f341'}.zmdi-facebook-box:before{content:'\f342'}.zmdi-facebook:before{content:'\f343'}.zmdi-github-box:before{content:'\f344'}.zmdi-github:before{content:'\f345'}.zmdi-google-drive:before{content:'\f346'}.zmdi-google-earth:before{content:'\f347'}.zmdi-google-glass:before{content:'\f348'}.zmdi-google-maps:before{content:'\f349'}.zmdi-google-pages:before{content:'\f34a'}.zmdi-google-play:before{content:'\f34b'}.zmdi-google-plus-box:before{content:'\f34c'}.zmdi-google-plus:before{content:'\f34d'}.zmdi-google:before{content:'\f34e'}.zmdi-instagram:before{content:'\f34f'}.zmdi-language-css3:before{content:'\f350'}.zmdi-language-html5:before{content:'\f351'}.zmdi-language-javascript:before{content:'\f352'}.zmdi-language-python-alt:before{content:'\f353'}.zmdi-language-python:before{content:'\f354'}.zmdi-lastfm:before{content:'\f355'}.zmdi-linkedin-box:before{content:'\f356'}.zmdi-paypal:before{content:'\f357'}.zmdi-pinterest-box:before{content:'\f358'}.zmdi-pocket:before{content:'\f359'}.zmdi-polymer:before{content:'\f35a'}.zmdi-share:before{content:'\f35b'}.zmdi-stackoverflow:before{content:'\f35c'}.zmdi-steam-square:before{content:'\f35d'}.zmdi-steam:before{content:'\f35e'}.zmdi-twitter-box:before{content:'\f35f'}.zmdi-twitter:before{content:'\f360'}.zmdi-vk:before{content:'\f361'}.zmdi-wikipedia:before{content:'\f362'}.zmdi-windows:before{content:'\f363'}.zmdi-aspect-ratio-alt:before{content:'\f364'}.zmdi-aspect-ratio:before{content:'\f365'}.zmdi-blur-circular:before{content:'\f366'}.zmdi-blur-linear:before{content:'\f367'}.zmdi-blur-off:before{content:'\f368'}.zmdi-blur:before{content:'\f369'}.zmdi-brightness-2:before{content:'\f36a'}.zmdi-brightness-3:before{content:'\f36b'}.zmdi-brightness-4:before{content:'\f36c'}.zmdi-brightness-5:before{content:'\f36d'}.zmdi-brightness-6:before{content:'\f36e'}.zmdi-brightness-7:before{content:'\f36f'}.zmdi-brightness-auto:before{content:'\f370'}.zmdi-brightness-setting:before{content:'\f371'}.zmdi-broken-image:before{content:'\f372'}.zmdi-center-focus-strong:before{content:'\f373'}.zmdi-center-focus-weak:before{content:'\f374'}.zmdi-compare:before{content:'\f375'}.zmdi-crop-16-9:before{content:'\f376'}.zmdi-crop-3-2:before{content:'\f377'}.zmdi-crop-5-4:before{content:'\f378'}.zmdi-crop-7-5:before{content:'\f379'}.zmdi-crop-din:before{content:'\f37a'}.zmdi-crop-free:before{content:'\f37b'}.zmdi-crop-landscape:before{content:'\f37c'}.zmdi-crop-portrait:before{content:'\f37d'}.zmdi-crop-square:before{content:'\f37e'}.zmdi-exposure-alt:before{content:'\f37f'}.zmdi-exposure:before{content:'\f380'}.zmdi-filter-b-and-w:before{content:'\f381'}.zmdi-filter-center-focus:before{content:'\f382'}.zmdi-filter-frames:before{content:'\f383'}.zmdi-filter-tilt-shift:before{content:'\f384'}.zmdi-gradient:before{content:'\f385'}.zmdi-grain:before{content:'\f386'}.zmdi-graphic-eq:before{content:'\f387'}.zmdi-hdr-off:before{content:'\f388'}.zmdi-hdr-strong:before{content:'\f389'}.zmdi-hdr-weak:before{content:'\f38a'}.zmdi-hdr:before{content:'\f38b'}.zmdi-iridescent:before{content:'\f38c'}.zmdi-leak-off:before{content:'\f38d'}.zmdi-leak:before{content:'\f38e'}.zmdi-looks:before{content:'\f38f'}.zmdi-loupe:before{content:'\f390'}.zmdi-panorama-horizontal:before{content:'\f391'}.zmdi-panorama-vertical:before{content:'\f392'}.zmdi-panorama-wide-angle:before{content:'\f393'}.zmdi-photo-size-select-large:before{content:'\f394'}.zmdi-photo-size-select-small:before{content:'\f395'}.zmdi-picture-in-picture:before{content:'\f396'}.zmdi-slideshow:before{content:'\f397'}.zmdi-texture:before{content:'\f398'}.zmdi-tonality:before{content:'\f399'}.zmdi-vignette:before{content:'\f39a'}.zmdi-wb-auto:before{content:'\f39b'}.zmdi-eject-alt:before{content:'\f39c'}.zmdi-eject:before{content:'\f39d'}.zmdi-equalizer:before{content:'\f39e'}.zmdi-fast-forward:before{content:'\f39f'}.zmdi-fast-rewind:before{content:'\f3a0'}.zmdi-forward-10:before{content:'\f3a1'}.zmdi-forward-30:before{content:'\f3a2'}.zmdi-forward-5:before{content:'\f3a3'}.zmdi-hearing:before{content:'\f3a4'}.zmdi-pause-circle-outline:before{content:'\f3a5'}.zmdi-pause-circle:before{content:'\f3a6'}.zmdi-pause:before{content:'\f3a7'}.zmdi-play-circle-outline:before{content:'\f3a8'}.zmdi-play-circle:before{content:'\f3a9'}.zmdi-play:before{content:'\f3aa'}.zmdi-playlist-audio:before{content:'\f3ab'}.zmdi-playlist-plus:before{content:'\f3ac'}.zmdi-repeat-one:before{content:'\f3ad'}.zmdi-repeat:before{content:'\f3ae'}.zmdi-replay-10:before{content:'\f3af'}.zmdi-replay-30:before{content:'\f3b0'}.zmdi-replay-5:before{content:'\f3b1'}.zmdi-replay:before{content:'\f3b2'}.zmdi-shuffle:before{content:'\f3b3'}.zmdi-skip-next:before{content:'\f3b4'}.zmdi-skip-previous:before{content:'\f3b5'}.zmdi-stop:before{content:'\f3b6'}.zmdi-surround-sound:before{content:'\f3b7'}.zmdi-tune:before{content:'\f3b8'}.zmdi-volume-down:before{content:'\f3b9'}.zmdi-volume-mute:before{content:'\f3ba'}.zmdi-volume-off:before{content:'\f3bb'}.zmdi-volume-up:before{content:'\f3bc'}.zmdi-n-1-square:before{content:'\f3bd'}.zmdi-n-2-square:before{content:'\f3be'}.zmdi-n-3-square:before{content:'\f3bf'}.zmdi-n-4-square:before{content:'\f3c0'}.zmdi-n-5-square:before{content:'\f3c1'}.zmdi-n-6-square:before{content:'\f3c2'}.zmdi-neg-1:before{content:'\f3c3'}.zmdi-neg-2:before{content:'\f3c4'}.zmdi-plus-1:before{content:'\f3c5'}.zmdi-plus-2:before{content:'\f3c6'}.zmdi-sec-10:before{content:'\f3c7'}.zmdi-sec-3:before{content:'\f3c8'}.zmdi-zero:before{content:'\f3c9'}.zmdi-airline-seat-flat-angled:before{content:'\f3ca'}.zmdi-airline-seat-flat:before{content:'\f3cb'}.zmdi-airline-seat-individual-suite:before{content:'\f3cc'}.zmdi-airline-seat-legroom-extra:before{content:'\f3cd'}.zmdi-airline-seat-legroom-normal:before{content:'\f3ce'}.zmdi-airline-seat-legroom-reduced:before{content:'\f3cf'}.zmdi-airline-seat-recline-extra:before{content:'\f3d0'}.zmdi-airline-seat-recline-normal:before{content:'\f3d1'}.zmdi-airplay:before{content:'\f3d2'}.zmdi-closed-caption:before{content:'\f3d3'}.zmdi-confirmation-number:before{content:'\f3d4'}.zmdi-developer-board:before{content:'\f3d5'}.zmdi-disc-full:before{content:'\f3d6'}.zmdi-explicit:before{content:'\f3d7'}.zmdi-flight-land:before{content:'\f3d8'}.zmdi-flight-takeoff:before{content:'\f3d9'}.zmdi-flip-to-back:before{content:'\f3da'}.zmdi-flip-to-front:before{content:'\f3db'}.zmdi-group-work:before{content:'\f3dc'}.zmdi-hd:before{content:'\f3dd'}.zmdi-hq:before{content:'\f3de'}.zmdi-markunread-mailbox:before{content:'\f3df'}.zmdi-memory:before{content:'\f3e0'}.zmdi-nfc:before{content:'\f3e1'}.zmdi-play-for-work:before{content:'\f3e2'}.zmdi-power-input:before{content:'\f3e3'}.zmdi-present-to-all:before{content:'\f3e4'}.zmdi-satellite:before{content:'\f3e5'}.zmdi-tap-and-play:before{content:'\f3e6'}.zmdi-vibration:before{content:'\f3e7'}.zmdi-voicemail:before{content:'\f3e8'}.zmdi-group:before{content:'\f3e9'}.zmdi-rss:before{content:'\f3ea'}.zmdi-shape:before{content:'\f3eb'}.zmdi-spinner:before{content:'\f3ec'}.zmdi-ungroup:before{content:'\f3ed'}.zmdi-500px:before{content:'\f3ee'}.zmdi-8tracks:before{content:'\f3ef'}.zmdi-amazon:before{content:'\f3f0'}.zmdi-blogger:before{content:'\f3f1'}.zmdi-delicious:before{content:'\f3f2'}.zmdi-disqus:before{content:'\f3f3'}.zmdi-flattr:before{content:'\f3f4'}.zmdi-flickr:before{content:'\f3f5'}.zmdi-github-alt:before{content:'\f3f6'}.zmdi-google-old:before{content:'\f3f7'}.zmdi-linkedin:before{content:'\f3f8'}.zmdi-odnoklassniki:before{content:'\f3f9'}.zmdi-outlook:before{content:'\f3fa'}.zmdi-paypal-alt:before{content:'\f3fb'}.zmdi-pinterest:before{content:'\f3fc'}.zmdi-playstation:before{content:'\f3fd'}.zmdi-reddit:before{content:'\f3fe'}.zmdi-skype:before{content:'\f3ff'}.zmdi-slideshare:before{content:'\f400'}.zmdi-soundcloud:before{content:'\f401'}.zmdi-tumblr:before{content:'\f402'}.zmdi-twitch:before{content:'\f403'}.zmdi-vimeo:before{content:'\f404'}.zmdi-whatsapp:before{content:'\f405'}.zmdi-xbox:before{content:'\f406'}.zmdi-yahoo:before{content:'\f407'}.zmdi-youtube-play:before{content:'\f408'}.zmdi-youtube:before{content:'\f409'}.zmdi-3d-rotation:before{content:'\f101'}.zmdi-airplane-off:before{content:'\f102'}.zmdi-airplane:before{content:'\f103'}.zmdi-album:before{content:'\f104'}.zmdi-archive:before{content:'\f105'}.zmdi-assignment-account:before{content:'\f106'}.zmdi-assignment-alert:before{content:'\f107'}.zmdi-assignment-check:before{content:'\f108'}.zmdi-assignment-o:before{content:'\f109'}.zmdi-assignment-return:before{content:'\f10a'}.zmdi-assignment-returned:before{content:'\f10b'}.zmdi-assignment:before{content:'\f10c'}.zmdi-attachment-alt:before{content:'\f10d'}.zmdi-attachment:before{content:'\f10e'}.zmdi-audio:before{content:'\f10f'}.zmdi-badge-check:before{content:'\f110'}.zmdi-balance-wallet:before{content:'\f111'}.zmdi-balance:before{content:'\f112'}.zmdi-battery-alert:before{content:'\f113'}.zmdi-battery-flash:before{content:'\f114'}.zmdi-battery-unknown:before{content:'\f115'}.zmdi-battery:before{content:'\f116'}.zmdi-bike:before{content:'\f117'}.zmdi-block-alt:before{content:'\f118'}.zmdi-block:before{content:'\f119'}.zmdi-boat:before{content:'\f11a'}.zmdi-book-image:before{content:'\f11b'}.zmdi-book:before{content:'\f11c'}.zmdi-bookmark-outline:before{content:'\f11d'}.zmdi-bookmark:before{content:'\f11e'}.zmdi-brush:before{content:'\f11f'}.zmdi-bug:before{content:'\f120'}.zmdi-bus:before{content:'\f121'}.zmdi-cake:before{content:'\f122'}.zmdi-car-taxi:before{content:'\f123'}.zmdi-car-wash:before{content:'\f124'}.zmdi-car:before{content:'\f125'}.zmdi-card-giftcard:before{content:'\f126'}.zmdi-card-membership:before{content:'\f127'}.zmdi-card-travel:before{content:'\f128'}.zmdi-card:before{content:'\f129'}.zmdi-case-check:before{content:'\f12a'}.zmdi-case-download:before{content:'\f12b'}.zmdi-case-play:before{content:'\f12c'}.zmdi-case:before{content:'\f12d'}.zmdi-cast-connected:before{content:'\f12e'}.zmdi-cast:before{content:'\f12f'}.zmdi-chart-donut:before{content:'\f130'}.zmdi-chart:before{content:'\f131'}.zmdi-city-alt:before{content:'\f132'}.zmdi-city:before{content:'\f133'}.zmdi-close-circle-o:before{content:'\f134'}.zmdi-close-circle:before{content:'\f135'}.zmdi-close:before{content:'\f136'}.zmdi-cocktail:before{content:'\f137'}.zmdi-code-setting:before{content:'\f138'}.zmdi-code-smartphone:before{content:'\f139'}.zmdi-code:before{content:'\f13a'}.zmdi-coffee:before{content:'\f13b'}.zmdi-collection-bookmark:before{content:'\f13c'}.zmdi-collection-case-play:before{content:'\f13d'}.zmdi-collection-folder-image:before{content:'\f13e'}.zmdi-collection-image-o:before{content:'\f13f'}.zmdi-collection-image:before{content:'\f140'}.zmdi-collection-item-1:before{content:'\f141'}.zmdi-collection-item-2:before{content:'\f142'}.zmdi-collection-item-3:before{content:'\f143'}.zmdi-collection-item-4:before{content:'\f144'}.zmdi-collection-item-5:before{content:'\f145'}.zmdi-collection-item-6:before{content:'\f146'}.zmdi-collection-item-7:before{content:'\f147'}.zmdi-collection-item-8:before{content:'\f148'}.zmdi-collection-item-9-plus:before{content:'\f149'}.zmdi-collection-item-9:before{content:'\f14a'}.zmdi-collection-item:before{content:'\f14b'}.zmdi-collection-music:before{content:'\f14c'}.zmdi-collection-pdf:before{content:'\f14d'}.zmdi-collection-plus:before{content:'\f14e'}.zmdi-collection-speaker:before{content:'\f14f'}.zmdi-collection-text:before{content:'\f150'}.zmdi-collection-video:before{content:'\f151'}.zmdi-compass:before{content:'\f152'}.zmdi-cutlery:before{content:'\f153'}.zmdi-delete:before{content:'\f154'}.zmdi-dialpad:before{content:'\f155'}.zmdi-dns:before{content:'\f156'}.zmdi-drink:before{content:'\f157'}.zmdi-edit:before{content:'\f158'}.zmdi-email-open:before{content:'\f159'}.zmdi-email:before{content:'\f15a'}.zmdi-eye-off:before{content:'\f15b'}.zmdi-eye:before{content:'\f15c'}.zmdi-eyedropper:before{content:'\f15d'}.zmdi-favorite-outline:before{content:'\f15e'}.zmdi-favorite:before{content:'\f15f'}.zmdi-filter-list:before{content:'\f160'}.zmdi-fire:before{content:'\f161'}.zmdi-flag:before{content:'\f162'}.zmdi-flare:before{content:'\f163'}.zmdi-flash-auto:before{content:'\f164'}.zmdi-flash-off:before{content:'\f165'}.zmdi-flash:before{content:'\f166'}.zmdi-flip:before{content:'\f167'}.zmdi-flower-alt:before{content:'\f168'}.zmdi-flower:before{content:'\f169'}.zmdi-font:before{content:'\f16a'}.zmdi-fullscreen-alt:before{content:'\f16b'}.zmdi-fullscreen-exit:before{content:'\f16c'}.zmdi-fullscreen:before{content:'\f16d'}.zmdi-functions:before{content:'\f16e'}.zmdi-gas-station:before{content:'\f16f'}.zmdi-gesture:before{content:'\f170'}.zmdi-globe-alt:before{content:'\f171'}.zmdi-globe-lock:before{content:'\f172'}.zmdi-globe:before{content:'\f173'}.zmdi-graduation-cap:before{content:'\f174'}.zmdi-home:before{content:'\f175'}.zmdi-hospital-alt:before{content:'\f176'}.zmdi-hospital:before{content:'\f177'}.zmdi-hotel:before{content:'\f178'}.zmdi-hourglass-alt:before{content:'\f179'}.zmdi-hourglass-outline:before{content:'\f17a'}.zmdi-hourglass:before{content:'\f17b'}.zmdi-http:before{content:'\f17c'}.zmdi-image-alt:before{content:'\f17d'}.zmdi-image-o:before{content:'\f17e'}.zmdi-image:before{content:'\f17f'}.zmdi-inbox:before{content:'\f180'}.zmdi-invert-colors-off:before{content:'\f181'}.zmdi-invert-colors:before{content:'\f182'}.zmdi-key:before{content:'\f183'}.zmdi-label-alt-outline:before{content:'\f184'}.zmdi-label-alt:before{content:'\f185'}.zmdi-label-heart:before{content:'\f186'}.zmdi-label:before{content:'\f187'}.zmdi-labels:before{content:'\f188'}.zmdi-lamp:before{content:'\f189'}.zmdi-landscape:before{content:'\f18a'}.zmdi-layers-off:before{content:'\f18b'}.zmdi-layers:before{content:'\f18c'}.zmdi-library:before{content:'\f18d'}.zmdi-link:before{content:'\f18e'}.zmdi-lock-open:before{content:'\f18f'}.zmdi-lock-outline:before{content:'\f190'}.zmdi-lock:before{content:'\f191'}.zmdi-mail-reply-all:before{content:'\f192'}.zmdi-mail-reply:before{content:'\f193'}.zmdi-mail-send:before{content:'\f194'}.zmdi-mall:before{content:'\f195'}.zmdi-map:before{content:'\f196'}.zmdi-menu:before{content:'\f197'}.zmdi-money-box:before{content:'\f198'}.zmdi-money-off:before{content:'\f199'}.zmdi-money:before{content:'\f19a'}.zmdi-more-vert:before{content:'\f19b'}.zmdi-more:before{content:'\f19c'}.zmdi-movie-alt:before{content:'\f19d'}.zmdi-movie:before{content:'\f19e'}.zmdi-nature-people:before{content:'\f19f'}.zmdi-nature:before{content:'\f1a0'}.zmdi-navigation:before{content:'\f1a1'}.zmdi-open-in-browser:before{content:'\f1a2'}.zmdi-open-in-new:before{content:'\f1a3'}.zmdi-palette:before{content:'\f1a4'}.zmdi-parking:before{content:'\f1a5'}.zmdi-pin-account:before{content:'\f1a6'}.zmdi-pin-assistant:before{content:'\f1a7'}.zmdi-pin-drop:before{content:'\f1a8'}.zmdi-pin-help:before{content:'\f1a9'}.zmdi-pin-off:before{content:'\f1aa'}.zmdi-pin:before{content:'\f1ab'}.zmdi-pizza:before{content:'\f1ac'}.zmdi-plaster:before{content:'\f1ad'}.zmdi-power-setting:before{content:'\f1ae'}.zmdi-power:before{content:'\f1af'}.zmdi-print:before{content:'\f1b0'}.zmdi-puzzle-piece:before{content:'\f1b1'}.zmdi-quote:before{content:'\f1b2'}.zmdi-railway:before{content:'\f1b3'}.zmdi-receipt:before{content:'\f1b4'}.zmdi-refresh-alt:before{content:'\f1b5'}.zmdi-refresh-sync-alert:before{content:'\f1b6'}.zmdi-refresh-sync-off:before{content:'\f1b7'}.zmdi-refresh-sync:before{content:'\f1b8'}.zmdi-refresh:before{content:'\f1b9'}.zmdi-roller:before{content:'\f1ba'}.zmdi-ruler:before{content:'\f1bb'}.zmdi-scissors:before{content:'\f1bc'}.zmdi-screen-rotation-lock:before{content:'\f1bd'}.zmdi-screen-rotation:before{content:'\f1be'}.zmdi-search-for:before{content:'\f1bf'}.zmdi-search-in-file:before{content:'\f1c0'}.zmdi-search-in-page:before{content:'\f1c1'}.zmdi-search-replace:before{content:'\f1c2'}.zmdi-search:before{content:'\f1c3'}.zmdi-seat:before{content:'\f1c4'}.zmdi-settings-square:before{content:'\f1c5'}.zmdi-settings:before{content:'\f1c6'}.zmdi-shield-check:before{content:'\f1c7'}.zmdi-shield-security:before{content:'\f1c8'}.zmdi-shopping-basket:before{content:'\f1c9'}.zmdi-shopping-cart-plus:before{content:'\f1ca'}.zmdi-shopping-cart:before{content:'\f1cb'}.zmdi-sign-in:before{content:'\f1cc'}.zmdi-sort-amount-asc:before{content:'\f1cd'}.zmdi-sort-amount-desc:before{content:'\f1ce'}.zmdi-sort-asc:before{content:'\f1cf'}.zmdi-sort-desc:before{content:'\f1d0'}.zmdi-spellcheck:before{content:'\f1d1'}.zmdi-storage:before{content:'\f1d2'}.zmdi-store-24:before{content:'\f1d3'}.zmdi-store:before{content:'\f1d4'}.zmdi-subway:before{content:'\f1d5'}.zmdi-sun:before{content:'\f1d6'}.zmdi-tab-unselected:before{content:'\f1d7'}.zmdi-tab:before{content:'\f1d8'}.zmdi-tag-close:before{content:'\f1d9'}.zmdi-tag-more:before{content:'\f1da'}.zmdi-tag:before{content:'\f1db'}.zmdi-thumb-down:before{content:'\f1dc'}.zmdi-thumb-up-down:before{content:'\f1dd'}.zmdi-thumb-up:before{content:'\f1de'}.zmdi-ticket-star:before{content:'\f1df'}.zmdi-toll:before{content:'\f1e0'}.zmdi-toys:before{content:'\f1e1'}.zmdi-traffic:before{content:'\f1e2'}.zmdi-translate:before{content:'\f1e3'}.zmdi-triangle-down:before{content:'\f1e4'}.zmdi-triangle-up:before{content:'\f1e5'}.zmdi-truck:before{content:'\f1e6'}.zmdi-turning-sign:before{content:'\f1e7'}.zmdi-wallpaper:before{content:'\f1e8'}.zmdi-washing-machine:before{content:'\f1e9'}.zmdi-window-maximize:before{content:'\f1ea'}.zmdi-window-minimize:before{content:'\f1eb'}.zmdi-window-restore:before{content:'\f1ec'}.zmdi-wrench:before{content:'\f1ed'}.zmdi-zoom-in:before{content:'\f1ee'}.zmdi-zoom-out:before{content:'\f1ef'}.zmdi-alert-circle-o:before{content:'\f1f0'}.zmdi-alert-circle:before{content:'\f1f1'}.zmdi-alert-octagon:before{content:'\f1f2'}.zmdi-alert-polygon:before{content:'\f1f3'}.zmdi-alert-triangle:before{content:'\f1f4'}.zmdi-help-outline:before{content:'\f1f5'}.zmdi-help:before{content:'\f1f6'}.zmdi-info-outline:before{content:'\f1f7'}.zmdi-info:before{content:'\f1f8'}.zmdi-notifications-active:before{content:'\f1f9'}.zmdi-notifications-add:before{content:'\f1fa'}.zmdi-notifications-none:before{content:'\f1fb'}.zmdi-notifications-off:before{content:'\f1fc'}.zmdi-notifications-paused:before{content:'\f1fd'}.zmdi-notifications:before{content:'\f1fe'}.zmdi-account-add:before{content:'\f1ff'}.zmdi-account-box-mail:before{content:'\f200'}.zmdi-account-box-o:before{content:'\f201'}.zmdi-account-box-phone:before{content:'\f202'}.zmdi-account-box:before{content:'\f203'}.zmdi-account-calendar:before{content:'\f204'}.zmdi-account-circle:before{content:'\f205'}.zmdi-account-o:before{content:'\f206'}.zmdi-account:before{content:'\f207'}.zmdi-accounts-add:before{content:'\f208'}.zmdi-accounts-alt:before{content:'\f209'}.zmdi-accounts-list-alt:before{content:'\f20a'}.zmdi-accounts-list:before{content:'\f20b'}.zmdi-accounts-outline:before{content:'\f20c'}.zmdi-accounts:before{content:'\f20d'}.zmdi-face:before{content:'\f20e'}.zmdi-female:before{content:'\f20f'}.zmdi-male-alt:before{content:'\f210'}.zmdi-male-female:before{content:'\f211'}.zmdi-male:before{content:'\f212'}.zmdi-mood-bad:before{content:'\f213'}.zmdi-mood:before{content:'\f214'}.zmdi-run:before{content:'\f215'}.zmdi-walk:before{content:'\f216'}.zmdi-cloud-box:before{content:'\f217'}.zmdi-cloud-circle:before{content:'\f218'}.zmdi-cloud-done:before{content:'\f219'}.zmdi-cloud-download:before{content:'\f21a'}.zmdi-cloud-off:before{content:'\f21b'}.zmdi-cloud-outline-alt:before{content:'\f21c'}.zmdi-cloud-outline:before{content:'\f21d'}.zmdi-cloud-upload:before{content:'\f21e'}.zmdi-cloud:before{content:'\f21f'}.zmdi-download:before{content:'\f220'}.zmdi-file-plus:before{content:'\f221'}.zmdi-file-text:before{content:'\f222'}.zmdi-file:before{content:'\f223'}.zmdi-folder-outline:before{content:'\f224'}.zmdi-folder-person:before{content:'\f225'}.zmdi-folder-star-alt:before{content:'\f226'}.zmdi-folder-star:before{content:'\f227'}.zmdi-folder:before{content:'\f228'}.zmdi-gif:before{content:'\f229'}.zmdi-upload:before{content:'\f22a'}.zmdi-border-all:before{content:'\f22b'}.zmdi-border-bottom:before{content:'\f22c'}.zmdi-border-clear:before{content:'\f22d'}.zmdi-border-color:before{content:'\f22e'}.zmdi-border-horizontal:before{content:'\f22f'}.zmdi-border-inner:before{content:'\f230'}.zmdi-border-left:before{content:'\f231'}.zmdi-border-outer:before{content:'\f232'}.zmdi-border-right:before{content:'\f233'}.zmdi-border-style:before{content:'\f234'}.zmdi-border-top:before{content:'\f235'}.zmdi-border-vertical:before{content:'\f236'}.zmdi-copy:before{content:'\f237'}.zmdi-crop:before{content:'\f238'}.zmdi-format-align-center:before{content:'\f239'}.zmdi-format-align-justify:before{content:'\f23a'}.zmdi-format-align-left:before{content:'\f23b'}.zmdi-format-align-right:before{content:'\f23c'}.zmdi-format-bold:before{content:'\f23d'}.zmdi-format-clear-all:before{content:'\f23e'}.zmdi-format-clear:before{content:'\f23f'}.zmdi-format-color-fill:before{content:'\f240'}.zmdi-format-color-reset:before{content:'\f241'}.zmdi-format-color-text:before{content:'\f242'}.zmdi-format-indent-decrease:before{content:'\f243'}.zmdi-format-indent-increase:before{content:'\f244'}.zmdi-format-italic:before{content:'\f245'}.zmdi-format-line-spacing:before{content:'\f246'}.zmdi-format-list-bulleted:before{content:'\f247'}.zmdi-format-list-numbered:before{content:'\f248'}.zmdi-format-ltr:before{content:'\f249'}.zmdi-format-rtl:before{content:'\f24a'}.zmdi-format-size:before{content:'\f24b'}.zmdi-format-strikethrough-s:before{content:'\f24c'}.zmdi-format-strikethrough:before{content:'\f24d'}.zmdi-format-subject:before{content:'\f24e'}.zmdi-format-underlined:before{content:'\f24f'}.zmdi-format-valign-bottom:before{content:'\f250'}.zmdi-format-valign-center:before{content:'\f251'}.zmdi-format-valign-top:before{content:'\f252'}.zmdi-redo:before{content:'\f253'}.zmdi-select-all:before{content:'\f254'}.zmdi-space-bar:before{content:'\f255'}.zmdi-text-format:before{content:'\f256'}.zmdi-transform:before{content:'\f257'}.zmdi-undo:before{content:'\f258'}.zmdi-wrap-text:before{content:'\f259'}.zmdi-comment-alert:before{content:'\f25a'}.zmdi-comment-alt-text:before{content:'\f25b'}.zmdi-comment-alt:before{content:'\f25c'}.zmdi-comment-edit:before{content:'\f25d'}.zmdi-comment-image:before{content:'\f25e'}.zmdi-comment-list:before{content:'\f25f'}.zmdi-comment-more:before{content:'\f260'}.zmdi-comment-outline:before{content:'\f261'}.zmdi-comment-text-alt:before{content:'\f262'}.zmdi-comment-text:before{content:'\f263'}.zmdi-comment-video:before{content:'\f264'}.zmdi-comment:before{content:'\f265'}.zmdi-comments:before{content:'\f266'}.zmdi-check-all:before{content:'\f267'}.zmdi-check-circle-u:before{content:'\f268'}.zmdi-check-circle:before{content:'\f269'}.zmdi-check-square:before{content:'\f26a'}.zmdi-check:before{content:'\f26b'}.zmdi-circle-o:before{content:'\f26c'}.zmdi-circle:before{content:'\f26d'}.zmdi-dot-circle-alt:before{content:'\f26e'}.zmdi-dot-circle:before{content:'\f26f'}.zmdi-minus-circle-outline:before{content:'\f270'}.zmdi-minus-circle:before{content:'\f271'}.zmdi-minus-square:before{content:'\f272'}.zmdi-minus:before{content:'\f273'}.zmdi-plus-circle-o-duplicate:before{content:'\f274'}.zmdi-plus-circle-o:before{content:'\f275'}.zmdi-plus-circle:before{content:'\f276'}.zmdi-plus-square:before{content:'\f277'}.zmdi-plus:before{content:'\f278'}.zmdi-square-o:before{content:'\f279'}.zmdi-star-circle:before{content:'\f27a'}.zmdi-star-half:before{content:'\f27b'}.zmdi-star-outline:before{content:'\f27c'}.zmdi-star:before{content:'\f27d'}.zmdi-bluetooth-connected:before{content:'\f27e'}.zmdi-bluetooth-off:before{content:'\f27f'}.zmdi-bluetooth-search:before{content:'\f280'}.zmdi-bluetooth-setting:before{content:'\f281'}.zmdi-bluetooth:before{content:'\f282'}.zmdi-camera-add:before{content:'\f283'}.zmdi-camera-alt:before{content:'\f284'}.zmdi-camera-bw:before{content:'\f285'}.zmdi-camera-front:before{content:'\f286'}.zmdi-camera-mic:before{content:'\f287'}.zmdi-camera-party-mode:before{content:'\f288'}.zmdi-camera-rear:before{content:'\f289'}.zmdi-camera-roll:before{content:'\f28a'}.zmdi-camera-switch:before{content:'\f28b'}.zmdi-camera:before{content:'\f28c'}.zmdi-card-alert:before{content:'\f28d'}.zmdi-card-off:before{content:'\f28e'}.zmdi-card-sd:before{content:'\f28f'}.zmdi-card-sim:before{content:'\f290'}.zmdi-desktop-mac:before{content:'\f291'}.zmdi-desktop-windows:before{content:'\f292'}.zmdi-device-hub:before{content:'\f293'}.zmdi-devices-off:before{content:'\f294'}.zmdi-devices:before{content:'\f295'}.zmdi-dock:before{content:'\f296'}.zmdi-floppy:before{content:'\f297'}.zmdi-gamepad:before{content:'\f298'}.zmdi-gps-dot:before{content:'\f299'}.zmdi-gps-off:before{content:'\f29a'}.zmdi-gps:before{content:'\f29b'}.zmdi-headset-mic:before{content:'\f29c'}.zmdi-headset:before{content:'\f29d'}.zmdi-input-antenna:before{content:'\f29e'}.zmdi-input-composite:before{content:'\f29f'}.zmdi-input-hdmi:before{content:'\f2a0'}.zmdi-input-power:before{content:'\f2a1'}.zmdi-input-svideo:before{content:'\f2a2'}.zmdi-keyboard-hide:before{content:'\f2a3'}.zmdi-keyboard:before{content:'\f2a4'}.zmdi-laptop-chromebook:before{content:'\f2a5'}.zmdi-laptop-mac:before{content:'\f2a6'}.zmdi-laptop:before{content:'\f2a7'}.zmdi-mic-off:before{content:'\f2a8'}.zmdi-mic-outline:before{content:'\f2a9'}.zmdi-mic-setting:before{content:'\f2aa'}.zmdi-mic:before{content:'\f2ab'}.zmdi-mouse:before{content:'\f2ac'}.zmdi-network-alert:before{content:'\f2ad'}.zmdi-network-locked:before{content:'\f2ae'}.zmdi-network-off:before{content:'\f2af'}.zmdi-network-outline:before{content:'\f2b0'}.zmdi-network-setting:before{content:'\f2b1'}.zmdi-network:before{content:'\f2b2'}.zmdi-phone-bluetooth:before{content:'\f2b3'}.zmdi-phone-end:before{content:'\f2b4'}.zmdi-phone-forwarded:before{content:'\f2b5'}.zmdi-phone-in-talk:before{content:'\f2b6'}.zmdi-phone-locked:before{content:'\f2b7'}.zmdi-phone-missed:before{content:'\f2b8'}.zmdi-phone-msg:before{content:'\f2b9'}.zmdi-phone-paused:before{content:'\f2ba'}.zmdi-phone-ring:before{content:'\f2bb'}.zmdi-phone-setting:before{content:'\f2bc'}.zmdi-phone-sip:before{content:'\f2bd'}.zmdi-phone:before{content:'\f2be'}.zmdi-portable-wifi-changes:before{content:'\f2bf'}.zmdi-portable-wifi-off:before{content:'\f2c0'}.zmdi-portable-wifi:before{content:'\f2c1'}.zmdi-radio:before{content:'\f2c2'}.zmdi-reader:before{content:'\f2c3'}.zmdi-remote-control-alt:before{content:'\f2c4'}.zmdi-remote-control:before{content:'\f2c5'}.zmdi-router:before{content:'\f2c6'}.zmdi-scanner:before{content:'\f2c7'}.zmdi-smartphone-android:before{content:'\f2c8'}.zmdi-smartphone-download:before{content:'\f2c9'}.zmdi-smartphone-erase:before{content:'\f2ca'}.zmdi-smartphone-info:before{content:'\f2cb'}.zmdi-smartphone-iphone:before{content:'\f2cc'}.zmdi-smartphone-landscape-lock:before{content:'\f2cd'}.zmdi-smartphone-landscape:before{content:'\f2ce'}.zmdi-smartphone-lock:before{content:'\f2cf'}.zmdi-smartphone-portrait-lock:before{content:'\f2d0'}.zmdi-smartphone-ring:before{content:'\f2d1'}.zmdi-smartphone-setting:before{content:'\f2d2'}.zmdi-smartphone-setup:before{content:'\f2d3'}.zmdi-smartphone:before{content:'\f2d4'}.zmdi-speaker:before{content:'\f2d5'}.zmdi-tablet-android:before{content:'\f2d6'}.zmdi-tablet-mac:before{content:'\f2d7'}.zmdi-tablet:before{content:'\f2d8'}.zmdi-tv-alt-play:before{content:'\f2d9'}.zmdi-tv-list:before{content:'\f2da'}.zmdi-tv-play:before{content:'\f2db'}.zmdi-tv:before{content:'\f2dc'}.zmdi-usb:before{content:'\f2dd'}.zmdi-videocam-off:before{content:'\f2de'}.zmdi-videocam-switch:before{content:'\f2df'}.zmdi-videocam:before{content:'\f2e0'}.zmdi-watch:before{content:'\f2e1'}.zmdi-wifi-alt-2:before{content:'\f2e2'}.zmdi-wifi-alt:before{content:'\f2e3'}.zmdi-wifi-info:before{content:'\f2e4'}.zmdi-wifi-lock:before{content:'\f2e5'}.zmdi-wifi-off:before{content:'\f2e6'}.zmdi-wifi-outline:before{content:'\f2e7'}.zmdi-wifi:before{content:'\f2e8'}.zmdi-arrow-left-bottom:before{content:'\f2e9'}.zmdi-arrow-left:before{content:'\f2ea'}.zmdi-arrow-merge:before{content:'\f2eb'}.zmdi-arrow-missed:before{content:'\f2ec'}.zmdi-arrow-right-top:before{content:'\f2ed'}.zmdi-arrow-right:before{content:'\f2ee'}.zmdi-arrow-split:before{content:'\f2ef'}.zmdi-arrows:before{content:'\f2f0'}.zmdi-caret-down-circle:before{content:'\f2f1'}.zmdi-caret-down:before{content:'\f2f2'}.zmdi-caret-left-circle:before{content:'\f2f3'}.zmdi-caret-left:before{content:'\f2f4'}.zmdi-caret-right-circle:before{content:'\f2f5'}.zmdi-caret-right:before{content:'\f2f6'}.zmdi-caret-up-circle:before{content:'\f2f7'}.zmdi-caret-up:before{content:'\f2f8'}.zmdi-chevron-down:before{content:'\f2f9'}.zmdi-chevron-left:before{content:'\f2fa'}.zmdi-chevron-right:before{content:'\f2fb'}.zmdi-chevron-up:before{content:'\f2fc'}.zmdi-forward:before{content:'\f2fd'}.zmdi-long-arrow-down:before{content:'\f2fe'}.zmdi-long-arrow-left:before{content:'\f2ff'}.zmdi-long-arrow-return:before{content:'\f300'}.zmdi-long-arrow-right:before{content:'\f301'}.zmdi-long-arrow-tab:before{content:'\f302'}.zmdi-long-arrow-up:before{content:'\f303'}.zmdi-rotate-ccw:before{content:'\f304'}.zmdi-rotate-cw:before{content:'\f305'}.zmdi-rotate-left:before{content:'\f306'}.zmdi-rotate-right:before{content:'\f307'}.zmdi-square-down:before{content:'\f308'}.zmdi-square-right:before{content:'\f309'}.zmdi-swap-alt:before{content:'\f30a'}.zmdi-swap-vertical-circle:before{content:'\f30b'}.zmdi-swap-vertical:before{content:'\f30c'}.zmdi-swap:before{content:'\f30d'}.zmdi-trending-down:before{content:'\f30e'}.zmdi-trending-flat:before{content:'\f30f'}.zmdi-trending-up:before{content:'\f310'}.zmdi-unfold-less:before{content:'\f311'}.zmdi-unfold-more:before{content:'\f312'}.zmdi-apps:before{content:'\f313'}.zmdi-grid-off:before{content:'\f314'}.zmdi-grid:before{content:'\f315'}.zmdi-view-agenda:before{content:'\f316'}.zmdi-view-array:before{content:'\f317'}.zmdi-view-carousel:before{content:'\f318'}.zmdi-view-column:before{content:'\f319'}.zmdi-view-comfy:before{content:'\f31a'}.zmdi-view-compact:before{content:'\f31b'}.zmdi-view-dashboard:before{content:'\f31c'}.zmdi-view-day:before{content:'\f31d'}.zmdi-view-headline:before{content:'\f31e'}.zmdi-view-list-alt:before{content:'\f31f'}.zmdi-view-list:before{content:'\f320'}.zmdi-view-module:before{content:'\f321'}.zmdi-view-quilt:before{content:'\f322'}.zmdi-view-stream:before{content:'\f323'}.zmdi-view-subtitles:before{content:'\f324'}.zmdi-view-toc:before{content:'\f325'}.zmdi-view-web:before{content:'\f326'}.zmdi-view-week:before{content:'\f327'}.zmdi-widgets:before{content:'\f328'}.zmdi-alarm-check:before{content:'\f329'}.zmdi-alarm-off:before{content:'\f32a'}.zmdi-alarm-plus:before{content:'\f32b'}.zmdi-alarm-snooze:before{content:'\f32c'}.zmdi-alarm:before{content:'\f32d'}.zmdi-calendar-alt:before{content:'\f32e'}.zmdi-calendar-check:before{content:'\f32f'}.zmdi-calendar-close:before{content:'\f330'}.zmdi-calendar-note:before{content:'\f331'}.zmdi-calendar:before{content:'\f332'}.zmdi-time-countdown:before{content:'\f333'}.zmdi-time-interval:before{content:'\f334'}.zmdi-time-restore-setting:before{content:'\f335'}.zmdi-time-restore:before{content:'\f336'}.zmdi-time:before{content:'\f337'}.zmdi-timer-off:before{content:'\f338'}.zmdi-timer:before{content:'\f339'}.zmdi-android-alt:before{content:'\f33a'}.zmdi-android:before{content:'\f33b'}.zmdi-apple:before{content:'\f33c'}.zmdi-behance:before{content:'\f33d'}.zmdi-codepen:before{content:'\f33e'}.zmdi-dribbble:before{content:'\f33f'}.zmdi-dropbox:before{content:'\f340'}.zmdi-evernote:before{content:'\f341'}.zmdi-facebook-box:before{content:'\f342'}.zmdi-facebook:before{content:'\f343'}.zmdi-github-box:before{content:'\f344'}.zmdi-github:before{content:'\f345'}.zmdi-google-drive:before{content:'\f346'}.zmdi-google-earth:before{content:'\f347'}.zmdi-google-glass:before{content:'\f348'}.zmdi-google-maps:before{content:'\f349'}.zmdi-google-pages:before{content:'\f34a'}.zmdi-google-play:before{content:'\f34b'}.zmdi-google-plus-box:before{content:'\f34c'}.zmdi-google-plus:before{content:'\f34d'}.zmdi-google:before{content:'\f34e'}.zmdi-instagram:before{content:'\f34f'}.zmdi-language-css3:before{content:'\f350'}.zmdi-language-html5:before{content:'\f351'}.zmdi-language-javascript:before{content:'\f352'}.zmdi-language-python-alt:before{content:'\f353'}.zmdi-language-python:before{content:'\f354'}.zmdi-lastfm:before{content:'\f355'}.zmdi-linkedin-box:before{content:'\f356'}.zmdi-paypal:before{content:'\f357'}.zmdi-pinterest-box:before{content:'\f358'}.zmdi-pocket:before{content:'\f359'}.zmdi-polymer:before{content:'\f35a'}.zmdi-share:before{content:'\f35b'}.zmdi-stackoverflow:before{content:'\f35c'}.zmdi-steam-square:before{content:'\f35d'}.zmdi-steam:before{content:'\f35e'}.zmdi-twitter-box:before{content:'\f35f'}.zmdi-twitter:before{content:'\f360'}.zmdi-vk:before{content:'\f361'}.zmdi-wikipedia:before{content:'\f362'}.zmdi-windows:before{content:'\f363'}.zmdi-aspect-ratio-alt:before{content:'\f364'}.zmdi-aspect-ratio:before{content:'\f365'}.zmdi-blur-circular:before{content:'\f366'}.zmdi-blur-linear:before{content:'\f367'}.zmdi-blur-off:before{content:'\f368'}.zmdi-blur:before{content:'\f369'}.zmdi-brightness-2:before{content:'\f36a'}.zmdi-brightness-3:before{content:'\f36b'}.zmdi-brightness-4:before{content:'\f36c'}.zmdi-brightness-5:before{content:'\f36d'}.zmdi-brightness-6:before{content:'\f36e'}.zmdi-brightness-7:before{content:'\f36f'}.zmdi-brightness-auto:before{content:'\f370'}.zmdi-brightness-setting:before{content:'\f371'}.zmdi-broken-image:before{content:'\f372'}.zmdi-center-focus-strong:before{content:'\f373'}.zmdi-center-focus-weak:before{content:'\f374'}.zmdi-compare:before{content:'\f375'}.zmdi-crop-16-9:before{content:'\f376'}.zmdi-crop-3-2:before{content:'\f377'}.zmdi-crop-5-4:before{content:'\f378'}.zmdi-crop-7-5:before{content:'\f379'}.zmdi-crop-din:before{content:'\f37a'}.zmdi-crop-free:before{content:'\f37b'}.zmdi-crop-landscape:before{content:'\f37c'}.zmdi-crop-portrait:before{content:'\f37d'}.zmdi-crop-square:before{content:'\f37e'}.zmdi-exposure-alt:before{content:'\f37f'}.zmdi-exposure:before{content:'\f380'}.zmdi-filter-b-and-w:before{content:'\f381'}.zmdi-filter-center-focus:before{content:'\f382'}.zmdi-filter-frames:before{content:'\f383'}.zmdi-filter-tilt-shift:before{content:'\f384'}.zmdi-gradient:before{content:'\f385'}.zmdi-grain:before{content:'\f386'}.zmdi-graphic-eq:before{content:'\f387'}.zmdi-hdr-off:before{content:'\f388'}.zmdi-hdr-strong:before{content:'\f389'}.zmdi-hdr-weak:before{content:'\f38a'}.zmdi-hdr:before{content:'\f38b'}.zmdi-iridescent:before{content:'\f38c'}.zmdi-leak-off:before{content:'\f38d'}.zmdi-leak:before{content:'\f38e'}.zmdi-looks:before{content:'\f38f'}.zmdi-loupe:before{content:'\f390'}.zmdi-panorama-horizontal:before{content:'\f391'}.zmdi-panorama-vertical:before{content:'\f392'}.zmdi-panorama-wide-angle:before{content:'\f393'}.zmdi-photo-size-select-large:before{content:'\f394'}.zmdi-photo-size-select-small:before{content:'\f395'}.zmdi-picture-in-picture:before{content:'\f396'}.zmdi-slideshow:before{content:'\f397'}.zmdi-texture:before{content:'\f398'}.zmdi-tonality:before{content:'\f399'}.zmdi-vignette:before{content:'\f39a'}.zmdi-wb-auto:before{content:'\f39b'}.zmdi-eject-alt:before{content:'\f39c'}.zmdi-eject:before{content:'\f39d'}.zmdi-equalizer:before{content:'\f39e'}.zmdi-fast-forward:before{content:'\f39f'}.zmdi-fast-rewind:before{content:'\f3a0'}.zmdi-forward-10:before{content:'\f3a1'}.zmdi-forward-30:before{content:'\f3a2'}.zmdi-forward-5:before{content:'\f3a3'}.zmdi-hearing:before{content:'\f3a4'}.zmdi-pause-circle-outline:before{content:'\f3a5'}.zmdi-pause-circle:before{content:'\f3a6'}.zmdi-pause:before{content:'\f3a7'}.zmdi-play-circle-outline:before{content:'\f3a8'}.zmdi-play-circle:before{content:'\f3a9'}.zmdi-play:before{content:'\f3aa'}.zmdi-playlist-audio:before{content:'\f3ab'}.zmdi-playlist-plus:before{content:'\f3ac'}.zmdi-repeat-one:before{content:'\f3ad'}.zmdi-repeat:before{content:'\f3ae'}.zmdi-replay-10:before{content:'\f3af'}.zmdi-replay-30:before{content:'\f3b0'}.zmdi-replay-5:before{content:'\f3b1'}.zmdi-replay:before{content:'\f3b2'}.zmdi-shuffle:before{content:'\f3b3'}.zmdi-skip-next:before{content:'\f3b4'}.zmdi-skip-previous:before{content:'\f3b5'}.zmdi-stop:before{content:'\f3b6'}.zmdi-surround-sound:before{content:'\f3b7'}.zmdi-tune:before{content:'\f3b8'}.zmdi-volume-down:before{content:'\f3b9'}.zmdi-volume-mute:before{content:'\f3ba'}.zmdi-volume-off:before{content:'\f3bb'}.zmdi-volume-up:before{content:'\f3bc'}.zmdi-n-1-square:before{content:'\f3bd'}.zmdi-n-2-square:before{content:'\f3be'}.zmdi-n-3-square:before{content:'\f3bf'}.zmdi-n-4-square:before{content:'\f3c0'}.zmdi-n-5-square:before{content:'\f3c1'}.zmdi-n-6-square:before{content:'\f3c2'}.zmdi-neg-1:before{content:'\f3c3'}.zmdi-neg-2:before{content:'\f3c4'}.zmdi-plus-1:before{content:'\f3c5'}.zmdi-plus-2:before{content:'\f3c6'}.zmdi-sec-10:before{content:'\f3c7'}.zmdi-sec-3:before{content:'\f3c8'}.zmdi-zero:before{content:'\f3c9'}.zmdi-airline-seat-flat-angled:before{content:'\f3ca'}.zmdi-airline-seat-flat:before{content:'\f3cb'}.zmdi-airline-seat-individual-suite:before{content:'\f3cc'}.zmdi-airline-seat-legroom-extra:before{content:'\f3cd'}.zmdi-airline-seat-legroom-normal:before{content:'\f3ce'}.zmdi-airline-seat-legroom-reduced:before{content:'\f3cf'}.zmdi-airline-seat-recline-extra:before{content:'\f3d0'}.zmdi-airline-seat-recline-normal:before{content:'\f3d1'}.zmdi-airplay:before{content:'\f3d2'}.zmdi-closed-caption:before{content:'\f3d3'}.zmdi-confirmation-number:before{content:'\f3d4'}.zmdi-developer-board:before{content:'\f3d5'}.zmdi-disc-full:before{content:'\f3d6'}.zmdi-explicit:before{content:'\f3d7'}.zmdi-flight-land:before{content:'\f3d8'}.zmdi-flight-takeoff:before{content:'\f3d9'}.zmdi-flip-to-back:before{content:'\f3da'}.zmdi-flip-to-front:before{content:'\f3db'}.zmdi-group-work:before{content:'\f3dc'}.zmdi-hd:before{content:'\f3dd'}.zmdi-hq:before{content:'\f3de'}.zmdi-markunread-mailbox:before{content:'\f3df'}.zmdi-memory:before{content:'\f3e0'}.zmdi-nfc:before{content:'\f3e1'}.zmdi-play-for-work:before{content:'\f3e2'}.zmdi-power-input:before{content:'\f3e3'}.zmdi-present-to-all:before{content:'\f3e4'}.zmdi-satellite:before{content:'\f3e5'}.zmdi-tap-and-play:before{content:'\f3e6'}.zmdi-vibration:before{content:'\f3e7'}.zmdi-voicemail:before{content:'\f3e8'}.zmdi-group:before{content:'\f3e9'}.zmdi-rss:before{content:'\f3ea'}.zmdi-shape:before{content:'\f3eb'}.zmdi-spinner:before{content:'\f3ec'}.zmdi-ungroup:before{content:'\f3ed'}.zmdi-500px:before{content:'\f3ee'}.zmdi-8tracks:before{content:'\f3ef'}.zmdi-amazon:before{content:'\f3f0'}.zmdi-blogger:before{content:'\f3f1'}.zmdi-delicious:before{content:'\f3f2'}.zmdi-disqus:before{content:'\f3f3'}.zmdi-flattr:before{content:'\f3f4'}.zmdi-flickr:before{content:'\f3f5'}.zmdi-github-alt:before{content:'\f3f6'}.zmdi-google-old:before{content:'\f3f7'}.zmdi-linkedin:before{content:'\f3f8'}.zmdi-odnoklassniki:before{content:'\f3f9'}.zmdi-outlook:before{content:'\f3fa'}.zmdi-paypal-alt:before{content:'\f3fb'}.zmdi-pinterest:before{content:'\f3fc'}.zmdi-playstation:before{content:'\f3fd'}.zmdi-reddit:before{content:'\f3fe'}.zmdi-skype:before{content:'\f3ff'}.zmdi-slideshare:before{content:'\f400'}.zmdi-soundcloud:before{content:'\f401'}.zmdi-tumblr:before{content:'\f402'}.zmdi-twitch:before{content:'\f403'}.zmdi-vimeo:before{content:'\f404'}.zmdi-whatsapp:before{content:'\f405'}.zmdi-xbox:before{content:'\f406'}.zmdi-yahoo:before{content:'\f407'}.zmdi-youtube-play:before{content:'\f408'}.zmdi-youtube:before{content:'\f409'}.zmdi-import-export:before{content:'\f30c'}.zmdi-swap-vertical-:before{content:'\f30c'}.zmdi-airplanemode-inactive:before{content:'\f102'}.zmdi-airplanemode-active:before{content:'\f103'}.zmdi-rate-review:before{content:'\f103'}.zmdi-comment-sign:before{content:'\f25a'}.zmdi-network-warning:before{content:'\f2ad'}.zmdi-shopping-cart-add:before{content:'\f1ca'}.zmdi-file-add:before{content:'\f221'}.zmdi-network-wifi-scan:before{content:'\f2e4'}.zmdi-collection-add:before{content:'\f14e'}.zmdi-format-playlist-add:before{content:'\f3ac'}.zmdi-format-queue-music:before{content:'\f3ab'}.zmdi-plus-box:before{content:'\f277'}.zmdi-tag-backspace:before{content:'\f1d9'}.zmdi-alarm-add:before{content:'\f32b'}.zmdi-battery-charging:before{content:'\f114'}.zmdi-daydream-setting:before{content:'\f217'}.zmdi-more-horiz:before{content:'\f19c'}.zmdi-book-photo:before{content:'\f11b'}.zmdi-incandescent:before{content:'\f189'}.zmdi-wb-iridescent:before{content:'\f38c'}.zmdi-calendar-remove:before{content:'\f330'}.zmdi-refresh-sync-disabled:before{content:'\f1b7'}.zmdi-refresh-sync-problem:before{content:'\f1b6'}.zmdi-crop-original:before{content:'\f17e'}.zmdi-power-off:before{content:'\f1af'}.zmdi-power-off-setting:before{content:'\f1ae'}.zmdi-leak-remove:before{content:'\f38d'}.zmdi-star-border:before{content:'\f27c'}.zmdi-brightness-low:before{content:'\f36d'}.zmdi-brightness-medium:before{content:'\f36e'}.zmdi-brightness-high:before{content:'\f36f'}.zmdi-smartphone-portrait:before{content:'\f2d4'}.zmdi-live-tv:before{content:'\f2d9'}.zmdi-format-textdirection-l-to-r:before{content:'\f249'}.zmdi-format-textdirection-r-to-l:before{content:'\f24a'}.zmdi-arrow-back:before{content:'\f2ea'}.zmdi-arrow-forward:before{content:'\f2ee'}.zmdi-arrow-in:before{content:'\f2e9'}.zmdi-arrow-out:before{content:'\f2ed'}.zmdi-rotate-90-degrees-ccw:before{content:'\f304'}.zmdi-adb:before{content:'\f33a'}.zmdi-network-wifi:before{content:'\f2e8'}.zmdi-network-wifi-alt:before{content:'\f2e3'}.zmdi-network-wifi-lock:before{content:'\f2e5'}.zmdi-network-wifi-off:before{content:'\f2e6'}.zmdi-network-wifi-outline:before{content:'\f2e7'}.zmdi-network-wifi-info:before{content:'\f2e4'}.zmdi-layers-clear:before{content:'\f18b'}.zmdi-colorize:before{content:'\f15d'}.zmdi-format-paint:before{content:'\f1ba'}.zmdi-format-quote:before{content:'\f1b2'}.zmdi-camera-monochrome-photos:before{content:'\f285'}.zmdi-sort-by-alpha:before{content:'\f1cf'}.zmdi-folder-shared:before{content:'\f225'}.zmdi-folder-special:before{content:'\f226'}.zmdi-comment-dots:before{content:'\f260'}.zmdi-reorder:before{content:'\f31e'}.zmdi-dehaze:before{content:'\f197'}.zmdi-sort:before{content:'\f1ce'}.zmdi-pages:before{content:'\f34a'}.zmdi-stack-overflow:before{content:'\f35c'}.zmdi-calendar-account:before{content:'\f204'}.zmdi-paste:before{content:'\f109'}.zmdi-cut:before{content:'\f1bc'}.zmdi-save:before{content:'\f297'}.zmdi-smartphone-code:before{content:'\f139'}.zmdi-directions-bike:before{content:'\f117'}.zmdi-directions-boat:before{content:'\f11a'}.zmdi-directions-bus:before{content:'\f121'}.zmdi-directions-car:before{content:'\f125'}.zmdi-directions-railway:before{content:'\f1b3'}.zmdi-directions-run:before{content:'\f215'}.zmdi-directions-subway:before{content:'\f1d5'}.zmdi-directions-walk:before{content:'\f216'}.zmdi-local-hotel:before{content:'\f178'}.zmdi-local-activity:before{content:'\f1df'}.zmdi-local-play:before{content:'\f1df'}.zmdi-local-airport:before{content:'\f103'}.zmdi-local-atm:before{content:'\f198'}.zmdi-local-bar:before{content:'\f137'}.zmdi-local-cafe:before{content:'\f13b'}.zmdi-local-car-wash:before{content:'\f124'}.zmdi-local-convenience-store:before{content:'\f1d3'}.zmdi-local-dining:before{content:'\f153'}.zmdi-local-drink:before{content:'\f157'}.zmdi-local-florist:before{content:'\f168'}.zmdi-local-gas-station:before{content:'\f16f'}.zmdi-local-grocery-store:before{content:'\f1cb'}.zmdi-local-hospital:before{content:'\f177'}.zmdi-local-laundry-service:before{content:'\f1e9'}.zmdi-local-library:before{content:'\f18d'}.zmdi-local-mall:before{content:'\f195'}.zmdi-local-movies:before{content:'\f19d'}.zmdi-local-offer:before{content:'\f187'}.zmdi-local-parking:before{content:'\f1a5'}.zmdi-local-parking:before{content:'\f1a5'}.zmdi-local-pharmacy:before{content:'\f176'}.zmdi-local-phone:before{content:'\f2be'}.zmdi-local-pizza:before{content:'\f1ac'}.zmdi-local-post-office:before{content:'\f15a'}.zmdi-local-printshop:before{content:'\f1b0'}.zmdi-local-see:before{content:'\f28c'}.zmdi-local-shipping:before{content:'\f1e6'}.zmdi-local-store:before{content:'\f1d4'}.zmdi-local-taxi:before{content:'\f123'}.zmdi-local-wc:before{content:'\f211'}.zmdi-my-location:before{content:'\f299'}.zmdi-directions:before{content:'\f1e7'} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.eot b/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.eot new file mode 100644 index 0000000000000000000000000000000000000000..5e25191502db8ed043d76ebad6d32bc87f32989f GIT binary patch literal 42495 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 CTIuBg literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.svg b/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.svg new file mode 100644 index 0000000..8cb2673 --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.svg @@ -0,0 +1,787 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.ttf b/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5d489fdd1a04cf2169af5e4d29d2929432a73f04 GIT binary patch literal 99212 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 Bf0O_K literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff b/Server/www/spiderbasic/onsenui-css/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff new file mode 100644 index 0000000000000000000000000000000000000000..933b2bf85f0bd4b006a4f9e6bf4ceaaf2cbf4360 GIT binary patch literal 50312 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

NR`71Whr;)xRK zvidqH>btBQ<2+w^2{+nmRIA+0llCVe)5eKICnS{TP`aa_;veqv>3;>is9&+u7z6r# z&Yo*{m9CeRURQHyiilVLMJ%gUXSVrAm%MZEfter>A>XT9QzqIv8sCP4Ci*eyS(dmPW+$q=W zhNis(jINxlH%O<@ZI`25Cmk%ytYq7!%+Vw5Sw|++>t+HziJWC5+@hOXunoRjdV}1m zppcXTP>Qzx805n4zqVh|CXZU$vnMcqx`aCR-geKeuNx;%8of>Z&+F?;OYjl8`r1J} zld!Z{2s>^=ci#W5AKZ)LJoEhXEUI*6PrE^EXOC}OU>Ap9ZtF1GyBipqslzbin+2l< zZBfCjptzR*zwCXaqoaLjLCPsaaGwp+ktxR>V*gmE0kQip>}qVvGYI{^kLmyRkAGtv6+LbA-Pg`dV6TUY@%^Q8+NRs#c~Lgix>{@RHfTzx znj~qKQU~|R=)jb1yrW9|G~ctJ?Rk6~sF>8iTzab&in4Wv#K8!Q(^Qh4X4Dzybu2p`2Ck)g!y4KU`wZRsSMf&F%A4; zIVVfS_9j(1-so8BX6t{d>~QN|g?(?V(0Zrp$sPOaPoYy=zc#C@UN_U!g3`JcD`-3Z zq1^GmZVb7bZm+iaX7!?bh|d}FEgj-k#E_YHo)Rd?JzLRX*XrA?CalEFh?pBdd)*s4 z!#sLBsD&lyUicbnY;Ib5Y=Lr=P~*#3ufrI7yE77*C$o_yTByc|I?=&daWy;cfIzIb@F!|xy{-~knj4989dA^w4Kc` zGG*IV7*L9(vYg`^NwbgT)&4+o@ce2#mQ1DraqC^^@}1A`at%!;vi<@%LO%&6%)ysT@n468qOdV4ghN_7Njy~iGDT903jKY^CnKG|*=tZCH>BpZrudZHLQ|l+0f*759Z%ee+Rzdg7=vHjJrT)6Dno*I~l%*KvNhY2ucN4_g+F znG$`8Czj>OL(D$0oo6~fA*p(=-=h=JP;jVXjD*yXT!(`a8ew&y_1=KD4#XY~x*@~E z5mwU;LkGIh`W;1)QqKGCbEc&B*$w{8z56%z{PzLk88DMK(AjoI9f`aC@(+_DT3wT( zL7?JIRf7K@$r~_14RYAgaJ|tix{bP(Fxf=L8Hd@4Y~A+9);HE;ex_6urpAV^u4~%* z)!~><^g^`F@sJsDRYadgOAofhX&aT$+18o##1om<*7F)g2K{Wvt6`kC=KVpkxqCkU zu6KR@-5>h#$Dq^M6x|x3AR?Z)kcfb4dtv@Gq&eIfSbfKL?%WK-0 zj9YqZt?tgyj1fT?1C%q5;vUuj>)es+V%cgcslZWBt?tz8=2ca%^Q>B&m(?s)HkV4_ zyGHi6_RUrU6&6G7*wb5;{r^|VU%lAK%~(59!60h?DfGQb{zmPaLVHa$EK75SmefFs z^Vh(;G%*mBZEaPyTU(fJLu)mFXTd0f&bu;~n=?goi7R#zabs069=4rFw661zbKMGV zh_*h!D!)K!b~K)ki*M~0j56uQjn;P8KEZtbr`4I4bT=lz&=R_#YpUAmNlLzBtSZKWtIy-Y!-7yXhS{@$HgFR7*V$;0;_x(2u~50nvm=^cZ9|KK}3e*b%x&bbip z(%kB*(2=w2#J7bwUgUA?xGn$JP&e9=s@zYQ(UVziV}*v@X(MiZgS#`^u+G{25jJU; z?yj1a_pIGQr&=`xjO{o&x^&iMHsWf>=U@x?pds>3!*DEgsz3@A!hP!+nqF%#9doPH zD(qvfOLrQW#{M$9^07NFb;s}X{EV~{kVpn|DIFjO@|Mo(6|IgQ7HrFCZMXB0;W|ax zyfV1VVt_M~vhr3e1TcX>!YIiD zl7ZwAl4eQ1?}coSkDlMlBjiU2FN^1qyujzMC7SP?TUAo2yT_2<@0)3rO10emo_o%@ z=lsv5FOcpqrg4@=n8>1CUv{|nj`1oO)LxR{G(nELSth;T{V2JZF#2!({M$*d|J-L^ z(|b;1frupvo&2B2 zS{|a;lePWlnD0X&yoYs`Q5ilixjDjDc*4nYoQEr{P6*y&x$SP|i!3`E}@JWtKa&Uu%8zD~Ml2$ZL=N=M+j1ve^D!B{| zz&Tqa+Pd~5|L)!XS@+(lsl9GB5{c;8 z#rOW&J&LphUCPPR)90pTW$Y#Yo<08ATkx@4?i!EWG#>e&S6-5odw%U+d|`Y{k*DvT znU*=Px&FTfXr4i19^^&SXo?z6HXB(xW)0d%?Ik7Rs!e+{aUmqs1>pgbe?Wi}Sr%eh z?=*4w_xl8Y6fcE@3m43X^njr34>)vSXu~sR+5Xmb@nx$^S|BU7wy)y`dV7B5hShS& zM;2CF@ny4WQoSSPH|aO&Y@coD%)+UQ-C|;5@sS(ky|i$~xOgg2G!`dD@k3H3U-T2o z@$xhL2BjLu%N;AmK~PJpH!9q}Z6DCw>K}$7H1@Y)dPo4L3j&|0o2XUx7%13dq+kz{ zXR_U;m9Dz>BeUxhY43Cm#z{7YL&F>>WNE3Jg=a23Ze5E8c;9|Mj+lUMjTq;?Rtoij zFW*w=Pa@u^L4J0<+qzL35YJl6IX+lRmxJb3FPkF@z66+{8;lGzn_XM$zjWhlZOj#h z!Pwmc^Kd z$6XF=A=ZxA8n!*>UVfy)BdE)IndYDlV$a;5J)SW}Y}@@*i_tXuL9}gRRrG(wEmz8; zzC5uoG?g;SofgPCnzp%EGk0ULNVn55EQsnBoM_*?F$r<#w9r=G%%-+&A;g;<6VZ|D z|AfTcymxaRBkRQ6Afh%J)(+xW)d%si%FUtay5lN&^&;+(p4C*;fG5YQN2;-O5k$4U zQ!Qjls^rWfZkRsxNiT(=jVhDkR0=J13-DYW18Pklkqls4fM+>!xaP8WMib97gSgSf zp~}Sc5ZDyujcVjX%CpiiJlG~Q(2!=IljC_(9pmJ@9<48RE2Yfb?%SWrW+E5**Hz$c zKg)BP0^3vu~y zcs5oH?kA3 z$-hkZ6)xw~s)3s>8jUgiKR)%;u35D_1&vF~YGQu`3%i5G*eo`zStw}P4?lHw_xWT| zKQWCV%&>sT^SjSFdBPrzJ&4g+i@LZ;DQ}C#XaoO z2gi;KBjozj{x>K_%+Iw=zb@Xwoj_Ymo}&09Ed6XvtZl`c0JhY%hW|7t%EbD5w!TVS zkU#bFA!;brUq@(qTVJ?D<$nvCER2C2N_nwlewAU~is~lC>F$ZACNi1Zvym?xO3%MA zpZ=EHPkint+&-WCsV>J`A_!(@*-`e}R|(!tKA>>sk24$AORZ+lX8@+AJzt zQqJs&G>bfnX)MZp*&|r8VGNrt8T)WxrXvtkBU+4U-~BLmE!%& zc!?~>OZ_%T^QQmTXnM}bn+~_KrfJkoT!THnjg56Q(P_0*rZ%WG={jmcJxROWjjdG~=*u;qa|Gwh!J1$7JC#GY z-(okJ4u!^+!N%1IW`{S)||7+f739=J9bg zm5N3pYADolj^AW?wWy^}C3ST!tVLu0eI(aavW%$YrXI*Ou+d4_7CN?en%yQ#mAVgU zj*TzNJcn@&qo7lOO1j@@_WjR5z2;ndT(?0h(}+!lvZX~RHOr9j7>kcrJf^Xb32MT#O*aGpJ&@s zZeBx&2$ME$GUcKi>6;k*XQ-9HDGE;K*gZ$&ax(znm#DSCt0}sr?cWHrdfi@Awpazz zH6<4$EnH8oyYSds{^S0iko97sPjz(!j(r1{72tseXPteNz3$Ax?ym@O5PDGbX)t@;a>TWGLD*NAfnK9XRHBSrMI*CK%_HW z45O(&+8qwl{Kygia@&9SBmFMOmkwjK|L-}+gGfITBcGZHFg`NTc1JXBOmS|vJH(ASx7+Q-#cvWa^b2VLeU`8m77h|=eg9n>#`nq1Kd5ZH z`v*f?hGp})qMD;&*F+%K|M6(L*GoUTQF#o%AG7C^mxRb0pohFvSC9TS1r;q6zIRjl zrhi;nS?Z==r@-lpD=Tk@(?@Cg$0-H^BFjPQmJ*emPp_{Tz4MO}15VEOj7ROVv?%rg zr9Eg`T2zlo(hIY*5C6_b?wjp8;{sv(N2v5+k~>kQ0hM`?s_aG6 zA9KCcS#7PhIvujQ+G;JgRy!@28J$i`UB;u)fonZH+wAY)9$Eoqh-Kv8S?yTH{ga)J zRp)oQuDbpW->lcfjn$V{UnZTRs9Vkgu8y5h7!$&D+O7_v)|O$lj1dd3c5awXQ?<&| zTeVZU+Ohj!kj`GBciLAwFH;^}v~V;xR&6(#$f|2|y_$t4@bb^BTGv;BUzTa4A37?( zmF{-a=ZQ?e2K3kU0?=RHl5m?JI)5H+lRW*}`V6)4r|+L9E&63Y^C;w{+0Te&dM`~> z`ZYS{1RMp_Di=mvkEqMN-tuLK%?OUkAVv4mgKIZqW;erv`_e2)`GM!6_w0G2LA(+x$c@jb;li;b|#fIW>3w}+Zp^n^O!Cq zuVkY0^Do%@5*oQ}5Em>=mbJ>IThe|J779 zUHk$c%p`?ZU}=Wy%vGT40!GqkQe{)ExtS4H3&2Pg>erTmr|S&aa6~NZuC&+J*PZxA z71T{socyVdX_Fg-RW;+%>O=P4pjbU1@@{M_Q|~Nl>bbm3CYDj+y#}mhd$`UaUL@ja z>IKTDnpPYsLdmja^+1g~3c%&Ha8sZV!wC1*8R;yqp{klHz1G_8HS`!Te~kDdQnZf& zMWbSSSvQe)P2#pvH|obe+^95`EE*SWx0k*GA16KpUCW!aX!trZ>esL^#wBc6Si>)^ zwJ%*7@~^1FG~c0~cIBeE=)f~=(uLy&Hbs{LlMLuZ&!iVc^d?2|sR^v;>;vr&rMvC7 z&9-Lmr)O`)HO{27mw@&O=;=k_Psmyu#J|@1wrLW&g3@Gx?99Hc-A#X}{QywY*|*Zu z`>i$C^=0T2oHs5Cbts1ED?m*T9{e~x*65MU(=W4q;GM4d4t?5BC{;RtFioGK6xsax z@*^@V(7A+$+GW*ppD&}G85}^i z>17OZ3}#NoIJRsaE-&{ll0Qip{m+1)wvl-u(*zmi*j4YbZYBc@0L+xn7@5lQG3&6r zysO_xpg?!bxC&2WCA!DF^pio%put$)&Q5N7t%LQs(Yez$&a~9ua2!XKAN{V~khEZ% z&Kxpem+qPj_PT9}YV&VGcP;vBRJ!U6&wGm8wM@@9ECY1-?Xu%AcLo?Qu6nQ*3|p}q z&_Mm_It?yte}=y1!}!9kCPvXj^e7lsosIr_n?Mz)g&uZ2j3}}c@?^yYn?S< z0ykykweWzJZ-|*Uh*(>5ASB{WFpgy2alK|COF{=|ZFPAaKFghUze9hiv|n89cE|MO z=-_WSUu|3eNTofj_pm$^-=k*1Wp!2J>US{Mn1TCZq|)8AXHKme@eR>Yo*qTugnt_w zy>547gIICXtUkBw{}Dxt-PF?vOGDPwVHc}3&>6I$wRHstV5_&m@WD9Hyb}@5f#8Fm zt{I&dT~ACMkrS_N5KG#LL}{gm2yPT@&244tDx(_2o`vp6 zH+65&cR{Od@l$i4M-F?fG6aaEorc|J;h1t;%6&r`$!{w0i|`MMyjkVhrmjBg>(2Rw zv~GIqzE*D2@4}|v)FQq$qHxZrmz$)QJfHm2dy?nJUbuMi zg@@n#bk<4 zY%kC#h}X#waFDumTMjHN{P;#ZmK&cq`EVpFpLt*6-emtPDtUckx^d*x#pz%)ttZKz zuNKZOG@c1%!lWfdvql}=}COtF6N#TVB*j`VpG(YGi%_Qto( zh2-9JP@lYiX-hs|qu1BA%gK?C$BJ=6H{sES5Hft3+}@_o&B33Bf4{UP%eHx!{(XPj zj9o5=eJyKq#1!%U=yG=bAB^iCG(Gyg$>Q#?`R!VAz^D;HWJaqK#VCU?7hdY}^>ZdbUR$8@%c%jNiIr z?78&ob7!7BbF^7mqtS%FM~^qt*utcRQC?3?-4Z9yrC+zBj!J|1+oT=mX$on2+y?u` zh1rywTd+`wdueI4c*j{MSWRnbb*Xemx4j7r#pHw6X3+?u)k@PjxoP-AH4w9WFwK?cKXv|My zvL|Q*eECZ!Qh%%LkQfs3O! zK%c(2GjXs>Y0U=tWf)WD>PzF>!7?(S_m&l&UbZpeGY;Axu9{|dlFdZUEQ}X2 zGrJDd=ereSNC4eUCi$O`gq|_)wARk>CD`LT{D@&_`;b;CRM|Q@dt%_y0)!Q@DB7-Yf1}_AVOLYuLbq=0@2Zma3`g0|y*e*QoqVg$}3#^>o1Z zT@!5wSeX8c-R`^R4xB==Xk?UN|7&M$-$mPQ;v_KNojwd=satHd3z~qMygTLG#~kNnP0gX}0y-{0c^evyhK$lNh$CJZ zx0j7@Jgmyfe(HKao}wGk$L6lP>Pg8jW#fAi8Tfuq>!K%=>|LVR%jVJhHzD5|o~@yC zoOSk|(!N$XDf&f>9tmH!Yw&NVqsDk>CD#=69kn0TeZ+)Cg+Ybi)EE*WRclofTD6QY zs}WHk_o&HiLMny>(SRCK-06@Mjg5`(osMh4V8CBi3UTkR!NiLuh#=NtnYx(R>GMdk zmyhJn)#|r+JVHSCX0w@uP)en2+qrpYJKD|U*t_s zdNoDyh(b8{$ljpr76n0&g`FLbC%nHUx+M?C66qa^SMz(l%#=GC&1j*Jq6nf7224nc zj(I%--(cKwL7HMUgjg`6-Qg-im|mvk(a0i9Qs5(zJGX>hP^D z5)oE)6+S68BF?CJbw-^LBeOHYY@{I03bQ68_DrEZQ<|;M6lUr(<$7Umwlq5j|4V!M zxh7ny&ot*|8?!TwnR<0@rdqGgQV*PYqR-USs#=ZAYP0YinbqM;C2yU&_@36u@V+7#9*NqkP=Q5l! z%$rAFdo#5}lQ)gcb7C}_8)N^St_qd$0}{LQHqYX&z?c@xeSFVU zGFA$@y(%Hk2X+-mxY6J$vwES}+7Xk2oK$~5T}{lj=SNVlw^BI84u_9lG`C(OVB4l24pCaqeg=v9y$k znfefN{h!H$Fy?q@shdzrYLrVt6G4?>@DrdH7;H<`gcAJHY73;?fJQ3|NuuH`!}->v zF71sHG^nQUA~j7cG}RwgS&uh;+M}>A8Qk)zrWRqjah(x7g2aSFIUmDhBgG^k$>5%7 zUKUfga0>Jz%WGAIo8pac9a{ds-5zi7ExsLkqI_>@Z`m(YbX8SFo)BIS6RjAI6LyLT z21I|5<)dS_&8Uo@7@Vr`9-k`ApFKRXZ)e((6i|O|;-%HBSdkbNgmfAibboENys`me zey`sqt%*#%wYJtWBxMcV+Dtos*Eb=ph#C3Pgo~)^s%UEE3(uY0zrQg#rti=K$KCtY zFCL$tnPU%-P-yn}h#$Z{M8>uSU%HB*QF<9#9*q&Eh*%JGYM?IA76y6-v@OjwfoNLR zFNP@>JSh4n>Y7IhjmPI>p_Cwa-CD!&FqMc`Wq85kmkHzX$Ai*q;AvZJNg}%v3O_NQ zi^elTQWU)&l8Hxi%}L%J4vj?^A_!uX;eDdOk41>7d?#fI*)itTINN}he{?BRzrMxkYH=Aq1d!Y*^ZIk8Qd6-ImL@L8L8|BInd zCf%#ciMe8d-A&$g^j$|kOQJ{n|47>JeV#l=9_hZ+?XD3gE=CB}(VedS@Fq|LsH2Ze zu~1DxYygp%BGaTqVaVy?lLmf$fdvXfJ?aD<<8+%m)8D+dMnujR^!a%*{rYTl-(Pz8 z+yjNevAPtH1O8gTT~V_>ZzST0Tsl5Cd2=)tcYCvivrpsvCz)3Z9w`=+86}{~%zjSM z)8C7P*?KIt>p(PCD#Q~!3)N-?Rz5SYh?10y`p8=-+xe6|<~|H{iBb&+a>OPZN9{^b zfzW6cu3dTknX^wlb@uk%CF8*UbLaNY-{O91L%sb;NMm2AdhRXfZkjju2uz<*GZHfH z63jvCoN!%)hQ{##T^-5S8`#aZRbjD4eK5)}W>I^h=U~+m%L@WexmlQgG%iJX&eV5c z>2wqN9h$q=EKom<-9(J&6!9I4Tc0C4&Mww#tcR)AP0Pf7@Ao3ve<3lFs`;YF`hWDn ztK=qDa?5@()c^fpB;@w;iaS*Dh>BkkJ^nf9!JrRjx~hi)JR?K{0bPrwNN;gMyYpO< z=ac8|)Fud(Kc=$9_|AW!(53zF)cob&{?HwNCf+26)nHsnhkah3$hzI4?0drPfn{FS zX9b=Uc_jeJ>j5Pqi6T(HfD(-Q15VksOXFa~>240)ge>a?U2K{V8+_Re>Sj8r6`Eo_ z7V0i*osPDQ_R)sc!R^UV41Qy|;H$DsuPx*K4n_vW$8BEwJLHW(-v#JDif#ww1D20c zQCy^vGhhwT#n4y38Y1Ptzw(&koozJ!snFVh=Z1Q!SiI=+(MGZVM(XrQ*|*i;I)fJDFE5u<2B?Tuvqe z>C~GtnM|5w$XY(!|4ayXTA-r$x9(`|o>qiXFf~3u9!RDZGV~v%^NedZlxv@>f%COl zg;j|1mnM^FMiS5|Hw=FzI*H-G$#~Mc`NAGjbOafHM@JRi?wFn%%O|v`qPbZ)TA!MV zMi@8Yf}9eJM4~}Olx11>1^l6)qI1O}$xr8}r}KYREaY`nl4LOyj#s8bfodoaltZk{ zut8qo1)dN3!tq2r;AY{U>`w?g*!#2C)uYZNKJd+Ga`^OU-1wZh4cBebN`Ii_xnJA@1?%?IX_!&){wi+HR1nmvYg?gpZ!qafbfck{QZAc zNJ#GgGdcf(*yDTmp304l-F#reTIc_YyplWt;}TZqMW%q%L$CRPNEdWA$BO0OzEk-q z*W>UFd+k~c|rwPWWsp~+HIfIm8tW1M2i0f5-^4L_?M_A*g>3VI)teT(wYmQ^}blUB% z2cqdrRFXo4nUG9KWicCO7*a|p(dpS(@kliJSl)I0@tCw@Y`P-WPTZ`9Sy|wJS@?_O zWFjnawV)0!2iTAm%?Py? zN*{e3n5<^CK39N8$%C=6vDo|F{9R+QJL82y{9>%I-|rWtZ{zh}l!ZGB@jLPKVr*=G zAmAt2vDhuKF~K*67f<0~=f8*jvJfs8;-}&T(Yg^Yz>Ob={r<3NA8-@YVcxY1F$`#L zn+p;Ybdl&j#*80a!|>v1QmY~is(FFVQ#F!7=mK(R*Deqmlj&F?8xLkh$88M|hRED~)o0(F*HJ)exqYNXZ5q#qFHUlesgI@u#I0`Vf6RtLs_)NXvAS zG3T-IcxED~#Md82?Zd<0*6@)Zt*?{SkvVMg*$-2D_cHGK=$c5o%nu`v`e=kfjL;k9 zDF%M|3GzzcIhjkl^!y%7{1odDr;aA97xzKvATUvz` zohR><+|QA>`uopALPi7*sra=`fhMQd^ zuhn;*c+H8B;FT55Gk2_>D|iFpj86qgv`iGYPaq@`{^YQwUU_(WZfR*QpYkXY55%A_ zJ6lK_L9bj6B=wjS;Mhkw*6s5W?ofnGk2IeHH?-`!70x1R#MY2lYK}dGYC3lFRn1hG zh{$p0eGEKfMZAHfO~;_=EG%iTJ~WyOEa|yJ)%wB1yBl#oOZs_$-^qZrFzKDB$0WU^LshBmz@)c%n9VUPmk8h={=PRjxQE=<#M5& zo|@v*IEFBsB0uK$Dy+bHNK+(pqUd2{QOJ1a;|#vbdN|q3R(VKBvTP2o(b#0D_bfEa zY=P4JFnMNWWqGCfiT27$du9ID(c-mtZ~wb^BtCm>{NEI7r${X+ti`G<4Ec<@sS^hp zj9yQAgS6sfV{>EVec>2-l*Gc981zt~C(JK~9w^p|#ke4y4Z_vn8Cgi6e@p1B?3K?3 zEIi0l7CyRTpSMY)Bm&D;Qwye5r1{Y;wEma!{eQ|5_1Aul|8?%y!yk2jwEArL*-xBL zpO1_s$CT%O`_tq-dkW_RV}aL96{a3JlRY#04)qy*13p23_k(#+Wu;m`0412UE|;|z0E-qBu-2r-gldVDfh@Z$Mug9cP)DkjD4V+l*!v$XYWjEQj#RECp{ik%ii4G4W>3$il^i5R3aK8y1-AKxoNUYfXR(BoG_Ci zZju0gczgyVps`v)@MnUoJ8qUoX2!^V*UzB`;(*hxsURgY(4(S&YbguFi&Z106Q3{z zJjxVDy+r7ekMKVz0HoP!b7p}pQ)#=Lr)+!`gzbnbAc+(rX&m+@wIj{iBB`MkiWw8D zqDNp3chc|q2KA(5~m4`ho7?yPEL<08m#ne=!Nu5jLytiTWu3jG`> z`@LR?V|W&CFhmToJTLg`dVrVkZ3fcd-QJKp2pknYBHZfn6Jmt+%l@S7^#~zSgqHG1 zB0~h06QU7?VMKRW;qU_E4TnXM@s3X|jq?INK?p1OGLjUG`6R-+18LP0h6Mx4%1VSI zyetPr$*XwSkXw-kkKlWJe0~Y_%8MUu!su;ph)YWoPE!Vr(uC8^vq;qxsV)C7T@HzH9A7|bhd*r{4 zUmD8OS1tR>!47TBiV5D_&VR4%y;E>6PaH28+qP}nwsqp<7u&XN+qO?^oSfLUofC6& zZ|%eG*6x4bZ{7aP!*tiY%(teiYq~$!u(ZX>wN_XR_H*wEUhj)z#z{D2$vpM9#agI8 zX&A%1KVRh+c}X8<29AhQ`dQ@udRANTXxV`py}9q=!(mo z7Mx=X+a_apTbFnE9{ysd)uKWhM51f`m91`Ff4kzZpd?G7<=;nxI;L^U3we+fE-uE-b`AZIFmS+m(& z&@Q86RVhn;uO75sMgYaK{)@RluhaZZ;M6nyD6x{QYwz4M_9(CdE1H61yMRT-ZQbL;{5#-`{BeD^9pz>@58gR z?{kFSUME>ZJ->a2Pd0z?Ovjz~SaW7hIKQ=Qob+J@R6~-%Vr8*TqEkb&JF}O@)^jRH zCLgOCtO?)jR@pgXHvPI>lTJ@(GUgk-?GWPpVg9s0!pGdzZKZCFru9IoY`X8uhsLs} z*!Ecgc4xx$DPN#RP;@78DO%89Ih7jm_2lqoyxbBDJ;jUZnwbudNRsUlN7gs&p2W3t zZX7ZW@3+I@EjSl}fKy@kpJo#}&B{Y#v0>}u+@a6d(k1eG|GSr>9qXI#4bM{-Tc^W< z^Bh~@yFjCL$v1!TPa8r)GOsbkitL3VuWF;;EIQVG;GTvh zUppn_-5bNuJ1XC$OYSPEMWxvs|BNa)zz)LLIXPWwb&;&6)(yk~H?C&)!*Ri*1CHMV ziuqh~ZYGXft-bo#N30Iy37IZ z+St8JiJft6hX{V8y6B-<2A)kVR=6nPhEA)nA??uQy1DW~)CR?sz~I(SqaIl`fQ5OS zKrF}daD+QhYp(m~!ywTtJuVA5+D3=Z+7sw?FP;9#FV+w)0EH2*!3>UkP)?c#-_gA4yZs`eoqAisaLpq2U~{FeGvzDR{U< zcG$dawrIILqfrE_$L!;`K^M0%-M2|i`V|e|KC0hA8?Kn}z;@sDx*MGXDf5XOUZK3@ z87OR2P!*(fV}KCqkX2`Fjgg7LU;uHpZK~!ig2Ry3sf?S6B8;c*Fi30BoRMZ|`>_rp zB(yT^VqYO^O2y(ekDTd(tEm|KR+ZY@1zOEGcU#NVdU-)q_TZ`dEWCxRv%BLlx8-qy z-Di2lvfJXh0;|nf?CD|{cpczosBXc-U_%0ZFhGZB2D0+zPlVuxllRf;d=$17x@14o zwp152&vJ~6KuDHfbcS%fl=-?9!}k_O@A2Dza-b>=@%8C)>dALZ^+S$@vCh& zOLO`&iWLC+%r}hhJvC-kTVEo*EZy!{#Zvc(&-hX>(bWOy%D)JKViqw;n&mIhj$__s zQD^7-kgOw>7@k1+=w%Dk+em))RVj6CcC_-XRfGkVQ?qXGU}V3hU?&Eg85RT`k`XmM zc75GKj483OHj6BMXVc3%Vg+MjkHR^MS`%MjU#J(oUF5O~11%S?_PDGT5?pMt?q1-& z)FWU?rS}$k68B8SU-T~Aeh%I7X3J~~*xN^dlai_7JHzgWs0;+%K)DNB&fbMPS*{Di z&@@t*|BX36yb$qcX+F(MuAHeN&L23tjC>>=yc8TzGgPsdk4263|4{){# zv`Co_t@cY;5wly7mOTB;5{|D^`i=M19ine=6Gl05Y1gJur>!7s^hb~e?^#kTdMHL^ z6K7R%)do<=wCuweG(D9;0_q%i$yoD}%MO%j0#dmLQclxmh!5%bQ@zi?hN8~k%MxG` zC61cQ@v{1^hj_dx0i}9(_ygpr`^XSiPeaPSQck)$UfH$PcomMPg0;W&fBMXFYsS(Z zYzS;@RK3)b38#570m*Zn8x!dN*uuQiJ1qFB(eNL!@_}$CU_=>J;Syb2Dk=SO@cA$D(Y8}xU&6F6q6h^8o*}7OJhoq*VT-UW+dTjX15)f%}y!xro zS}(728ZkSdc_|Gbwrwu5f>A0msw(UlVKJJ>oP80N$XY@R%mBf*0_Nb&Kie54=8xEr zZ$B<>W0Eoc)!{8Vp>U5kV21~eeksGE)uj=@K2~|^l08H^U;~imgFB8Vn(^U)S~ztl zOyB^$z5cI;q^$arkza{`HqW!?38_VPnT`3i^p+h7vF>)C&oMi-pJ)1FsO;7OA! zLuT5JSyRux1dsVsojpaJZ#%F6L?Fd!>pkJjD8^H8;SqPhXYLtcVrYvvewa0cwZ{86 z5*^G;Knmb9og>3IUqTTr%ltQN40+mIs=snh-Ospniv{U>3*^VpM#CN0@fzK7PWoO) zo7t`vwxU{{uWGQZPB^dnd8V;`tHo`gk*(c=fs*bL>=4n{1V4 zSoHhmNH5vcQ}itGN!~luecxyV0uFC-A&B9xP-?boJf!qH(<|2xdq(B~@PrflD`)}N5cbrk63@EJVN2$hYyDfGu;AEUX_plKqfuBaK zRBS{&7N*YCwmY;W!8ar50fLtcqKi_5z}EcIZ`Qkcyk(nYGzwaS1CXDbJ!|TwW1IoZ2m5e2?pr%&3p)bNvy}?A20Q9Wxt!nr;lHOd z&`c9gN3tT|JUlJHel0LBmzM^4+0)6097P&)=ol~Rm?LL?ru`P;%bxLb{wQ#CfK->@ z@BKRFoE*iQ9bewqern5A!!ia&p{dixG>@sZ{+%y6V??k)@lJx z+4zk)lNrsSuR~*GbcAZG6QV}0QlH`I6H6)_yirA`5p)0{H304hQBdTM0`0on3akvvBkJMyt64Wlo z0&cDjV0BY2;Ee=g6lUBh_-Bu!Ncq~|m9;}|2U!OG2bVdBld~qb`KTt)8+k~PL&IEo z!6H(0$WZ3`n2v;bL-&q?wt}}UsPm+H+$E65TzrjJSh`}^$~DU;RSg*H^w`Lxi=9TR zn2V=y+RlvYv_PC-&uVkO_=BrsnYCala)c});j%VPT8STsC{` z*9pV^G%Iocqfd;}tIp*5Cmvc{-_({@AS-}yaY|QHSXcB5|D4}Eb!`BA-$giCMGsK9 zCU7f|Mb1@pK3;(_7>G~IfV7G{H^bLsL$}$B1b2vTkfG^vhKS7eJv(wKM!^aUt58T& zC2ycK5pz|c)X)$bIw8lA=-_=2n3PUh&uaA2=W+Uc7aFr5kO>YWrm4`5Ux{#_?7sII2oCWc3R2TJqD6z&#U_>_6_sf(7DgCXMr zCk1{R?tH)1x}>Mg4B$nSmnYpfM<+G4P#bXD zLoil=x(P%%EVmGo40*N}PRR1bo+t96GtO{j`e*yu+hTiGf&rP)h58nXcNSPGWuw62 z%|cW%IzyDJlA>&_W-n{ePE+X3-d*@mtYpisddp6ay)UM%48g;Lx5rk+nXH)_T=LQa zQQSfF(rvOB(_GXOE2)PeD_U`Zg`+03Zal*8kulH(=u0F>F`y4%RQp#95g>@mv=l$% z%A+VjlIXyM7a0<>Rv*5}Hjowg1vU}}<3->coHl}Zg7P&ui71k|j}a{mOc-XoH8H9? zQ3DJSZaGkcjKm8(FrBYR5t)zf;>RP23sr3U`Dkt(-n15OoR}dwA?r&(;9Q%Zif!>v zpWbi(Jjg8SpYuDFO{LX@aoC~|+9>~$6hYpjcn4rXK4PyuWazKPznC1Ht)Y(=^In=B z)^_}~%Db26xd^du?t4=Bk93o0&5IMXza0+?zd-anq%sR=%?f|{xgQTaU=lLFecNYw zL_@|%QXqVIzZE{ZOA({K!|Atu3- zJYb%ysFCG28ls@S&h>Rbz@~ zxwDwZuWE*WU9{x8>i@lQ^Q`!ypwD%NyGE+qJ{DRPdudV2h?^}|6k9D}PnO$g`xJlf zOwNkL|ClpUSIdzzVYe#)UJ}M)V#5}kC(J1xH0gjfVg7M+&n#$0wm9hKsqWxUUPHAv zw<(Y_vPshc8$8Dv-d&VwZu8DTV`E9VXwlx@f+hkMSCYO_hd>(2IX;fDB#~|>Jt~qq zH{4ax9}${h>HJ&5H){~B9x~Cf?bxJ_rA!uKs#^1mhlSO-D4fC0G3MCf>S*0FtEF1} zm8zY)+|!x<3Ru;sO9FSG0xm^ZLpTyVg4}^VqX*gLVQ$ibypCvuGdz0~&0LfN?B3sixz-Z|y=4YjXSG zPRdR>1?*Rvhn6~*7PpD}EMY_x2;=y*iPD`H`pAX5qGs5m2%i9=o-m%aQnjC6)eBjj z%teqPEnody77NBP)w1*5(FHZeaa*nVS|VX)|C>zk+uNr8uVdk1lH{O*@E~n6tlN$r zJjzHr@h?j4ns2pO|7kkDQde)`5-y;Y>zWJYm48CE4y{$uA3%RV=^xLG?Yz{rdpU!@ zRZUt1z%R`5dhwXSX`=Ro#kYlvj#a(yY#}lr99QM2pofClxE~_A6$4WLjqxq_mxGZ~ zw_mOeIPoni!GH-b2I)UTbTg4`@)6!s2PVu=c5R^}W$t44VTv&ig3JKj7q8HNmxe<= zjUL>+4;2RN90+SjPlXIwW(I~KjL)7EU})Onc_vZmyMJc3(NITikVfI1q?t~E z{zVH4^x(%E3oIBjri2!uqVfLVJEpPJM<4{o#i>fMfFHu*&GZOaE zr%zf-oL4hk&bJOh5)w1{9Z)28jx3&Nq6|k-)A(D6Ai%G4>Cq8qV%B8=(-KQmRcIuQ z!${)~#-#O3m&^9xqDSAFZ41aUDU*}g@(UIcH0pb2Hi93(aKqVr4^kEpM z2s+PqIi%k2U->-`Rk$2>b(FSxcsN?7(EOc+I5V!2vS&NdW_<91uJ2 zoMJsj2w|yX59n1@#uik>VE&K{2AHQ$1PgbI?*K?}a}5mB_8mypig3H0Lb5ni>?|Iz z+6yx+L(eTGI4bM7X?E^IH&IHOq#f8z{ux=L5zHh*?MS9*qNRC7W;8MA@i|2TIEpO? zUzpRdxQ9l|H;+|TKwxDVHWJET*pz^m2yRxk&I6%|$#OJ)Oo^afbZ{>E6BkpI`@r8f zWmB{bOc~_T#jYmxCX`7L{s#*!mtZ;GJrj{NSWoXJ&@}zhP9j^_ceHlc{u8t3=RZ+V z&WCmdr~-?sm?OrhZ@m%yzCtZHgJ{2qEJXxPZoUogSzlfJ%kyhquYc3cs67(-Y_onv zjXitoY~MY{o&2M%FIov=UGBAr#|m~~)-_f?aHgQQd69xHA&z}`W2}o;XI^&0G%-)G z+p{m8uhkDA|41eGs1S>a<7Wo#n4X=j%enSFJ|(zgoJ!r@dlYH4$4d8JB-@)l*Lprj z8d?|sLRwZue1s?#s9n4+mS7uD`~yzgt;PG@J{WX(b|N;=*l}F{C2VD zkwFoEy5qKvj}r~148kr~%PprcB9tm_9#?I%+E?T@rABLM-|<~)T(lJiC+pX<)Ry%0 z*`2wQaB`Z+Ud10!%4+h|gEY!kE)74yaSgm+Kz?43Ppqwq{^!j}CIW5u-`R8Oa|C+v zV4S$%?dWCg%@V9n)Do#(ybhJzia7>bQ@~8+tJ*hVjP`5aw=~<9{zRL~+d?8H?fgQB=^0``7Ikg@&S5qP{=~6{!e?= zslE5JhI2KVi(CSA{N81>!c1hHo-5PvPHZDjH7lV;qvm0Ur3O>e$@V~TI`B7up4+Kk zxMB0_)+Xz#bi=-`G?Z31nHV4YVptJ|m18nxioN&q?5QN4gM`rrw?Tf*7ntdJ9MEhI zcq%hLN89Rt&)rKxcyDsdyTZ^5R%Vgfz*v$B7b$fw(%<@zC+?@(WdNp|5ZQ$|Sc$tf zsNA!>m-OB_(lFJ@kM-Hxp-)&39w?h@?&&YZbxLh%$}}tIdvi0#%_!6E_^i(=zv+Ve zdW9JE+~)}ErZ`GRt}ag?omkJSA&WXYGBK17Y5*w}Y#fyYbzO3#C3fj5_$?y)crMJ1 zzI;GinKw}E!?H^fo*O8uYD@|6Qh(+tSUjfa!aHr|`fN0y+qD@WAy(fwx~9>@FedjF zTh+bv0Blf(?OPi$vhf0vi+_MF=36YYu<2)FGTPI%jFvADOmzQnEGCSiXtwJO7!km# zm`WxT?IQTM)E7xK=@mXjXWM59dTG|%4MM^IYIqZye31 zqp!jCk1f?Yw~&w3F7axV0Q9R)x#N>U2`7i$sU&>Cg;nl%=~v8EHZKcbXcgC1U420i zL>5+k!Y^sr>w$9=Ru>)3kjsM-m}19ismqh1%NKJ9_i(^R48*OXONK8GyFsp0t2r>D zCzXqovTU5>4aIiP>Tc%{5mzhI;@94F`@gkIxJc3!Spn$Vrrv( zky&^;B^<9$eztG@k%;r!`oU(`*!`C8yLvaE8$B3#`RCI3KABT@Qj}>z1|l+0{80UE z`%g2&uZO3y>h|C>vQf;KPDB%#J}X+n8ByZY_ie>7hf4ZgM7m9cPxGl3nwd=V#x z;bmz=+00_nTF(bsLZ>~Np@0cYM^ChRm1PJ2u(;%~bICRT;<0}VrYhD5kiXRO3rtT( z2n$g)Ud@82IJZ11IwFe8HkRk3{2W%6J1T(l_`(^yYPO*UQ;C?)qT<9#<4oKqYPef~ zIZyT-I&qPipG#sCno!A?g;v@UajXFaH=Q5R(c71fI4Dc{1-f{8m{g2Z3=mW$aE%ZG za+ES^)$Y-w5`r{3Gohb9ij3l=1xPWB3AZ*HsZVgH65AUrN-&E^Cxb=?JhHYtSa!xV1smMi=hHCCjtf3dVv6#j(yuNJexpdZ^~ z*le=tN2HsCPg3CUwUi*FLg5v!b&}3qQdl;#W z#aADUG0_C;V8<}j;|D_Q5qBCBa2{g+STWdwb`cY@jTCGYr%PDkZ>@WbH1lJ3Sa!lm zhh*SD0NTBPa55irBw*M_+Y~(W`4;BF{0Uq=@%fEg10g)c$Bcs{@80wt&o;msiU<>76)vgQ+UxuqlM*xh*B<3Wev ze*~HT5=&{;bA_Kgc~$u;xO3DZo$07o;GN}?B=Q!!CgEJBY+WFMl~o8)emn~9X6szX zU94%o1Z967PHl`Hdb~YyN#V(?QqZu;g=e-)z(!dE;ZiS(K5k0xMpm>UIHvHYUX%$n zE;EfxQN?8Kj5;jg>!xuDIs?2BVASJq?t^zsEX|iQKzyEbhWbD! z)^qjYL-wOc5Ypu>u=dNKD%xG*5|}gmjJ#_~Qvs>*=F6guJ9=!Qg7B^Uf{hsm^Grm9 z2`actN-*M!xqhVhl?FxECQ+HFvMMCZE2KqF+T2YhOLr07P(z2Zj~aSrp=Ok-R%~M8 z#0zzSI36+%Ot_Xfsk`@UdnPhxdO}w>Av9rJIsyCvR7o+T6x4G7)bug<5 z>is~$=?-&O$3G)}od?JdVnKrl2^2?et~>%#$g!u<`QM+Fj3NIV0ggQOV#PjORA3jc zkz3krc++6r0)0hX7GjxoV|9&5zwLQ;#S`UDkrQlj*vlXEn>HJUcTbBCrG#WHK>Tx1 z#jmj-W0OO$Nt`IT?y@aO;r(OA@yGOtJob~VI3D%+!b?RCxvG%+AqNO)6p!)AUhQ<5Bwr9Bj#pJ}C8}KBnTC^5HEr?REyb-Jb+i zupaS(mx%Z688cqz^d7j=d*lpY?tI;2pw@Ze?xR2=?{!p5Nq>!UB-CJ!VNKOns#?o{ zOxY|A)&g%e?I5VBTqlC8$?{IPX0ov;QVjzrm|%a`?E8(eM(y0Ff&{L7y^Qr`ObrJ} zjE>v2uOgU=FkQO;@JxEP!zY>Lqes=)zrr%V?l&`K7}|?f#^Y24#zYwsBz1)~;cHt5 zohjChLiW)$F|jtuok55O9ZGj?U`;r|EoiOx(|)2Jy*Q`7uW}3?1}}ruY3gVNd0BgE z`fq>^lFP(0r(|GqXp80rPOu3HH`Po!e&@fGc>6FLvZF_e-8XeWLO>}2^LJD$C5(uY z3@UqWIqVB`vtmbhxW^3~1*7PjNr^ll>EDN<47ox*9uc*&(TA8hU)Xa|t2-x_XV^Uc z25-}7MN*P4_!NO2o$Z;BVjACH#vqJFqsU%*6%`IN(!yH0>tNJdQ>D7xDkR)NrH=5^ zkbwZFru5}ho(Hk(V?=q9P@z1D9Zj^7K_}auX&z=xU!ia_8JfHEays*oT04@CUvavD z(|#MJi^)W%`e)Qx9|$!T>oqY`u_&WYzhVUaM=|nIMO9L(NjxY6UMrGiu)GY)PV|5EIrdO!xCJ*jH%7N)b(at^Z?aH=zfAg*d()Y%dd|PQaf^ZjTid&NI6tjnZjc} z#i7ss?tzn(5G>vRy@xtI?nHIJcG{2tbO%=FnQSy}Z*AgX_0 zWP=D3WoU65-%;pWH-blESY$EG#hs9)G2r)H1HAf{$W*Y-AX_0aTosOa<&Dek@~K^? zP`ec*0s{1LA)>(Wu<<|xi@S3mx+1E?e2SFVT`0Db^RbCuBpBfH8zU-Iq|pE<3NalxFgsQZC9wf<^{6XDg-D|;zL#JdHhixD zKir^Wn8zbF#2Wp5Qf#KRqFaxDVSFwQc7IjRZnaVL)Fa2ZLOB4Z@i}!W*BUQ+d9=cE zF9wh9HNnY(10OMbJ>Dr$wE0zy$z`LsUKZSFxNlJ`hmP4<$!Ny`2ZxB)nQ2(SNxQ2HPgS)EcYg2G zj{z}R35C4C&1d#tPJM(v-g3@RC`~->L~P>XU&mHbiHCzZ4;qZ;$MW{Xx8_>waGSEY za^Fn%t7k9vjGRsUcV9^)>PF+3e2$vDj@WuZn^kcek$7oAiBt*{5?bpSNM%vBoi;TH znVM25#z2rA(pH18O|%wq8xe-hs=Dz?zwb<(c7hhs$nswk8^QRSuA3a*lkMoQH_^q= zV?UpMXYx(|qbCS{0qo!OE5`N9xwT8p9lV>h(3jii*INe`lRhAruY;+g0h7TT<)#gL z&vl9tb0&6@eE!9jblOrg7%ueo*-((W<>w zk+zQ|kGJK!FR<>5H@0JMYYRO^8f@(=E`}-VWG}TBrVTomZlxxr$A)l9JmUmoo=&aL z%UV&U=lwUGq#jGYY<;4{q*DSBH6@jkS-^L9UT21$k>GA#xh$wO6%_!v@^Rkm6YV_3 zIwSx%T8dGJZBp(W2Z(V$o;eiwa}yku5|h9$C!VG!`|Mm&gH2w7y-KvLCjUIF+h|lvWmt-96K{(`Yb}$s#pNLR32t(oNs};Y(?ZncUwE-$u3hs zEBTx1>fdAPP=J9`JPU^%y!tfUG%?L434Gn|l~wAbX)C z#K2}q5sf{fbuvmXGBsxcj5^doB8sY^a(M8fSR{vTM}(J4;CiRSk2iExmAFu_DHLac z!z#&Cqxkqtpa(6L^;X7Z?|1nHDD+kbJ(bNl6mq0=WxA6)QeSxPsP3%y9rq)5UxmHx z)p4mCp45blEB5mnn7gk(wEsaF!smtN)#>XDnxvt6@oQ53-LJC(d6OI@LFS z3>+Pl^tJbAO0rISz+iVn7BP$f$AeT6_FHe7%tKhov04^bq56FFTXz4Ut-62#f$F)w z^9}J2oNH9!u9=~TO<>ihK1!kNOv@eHajH$NlK~ayFad{hd`Bp~`BM#(+JBXkHsLvF z1AVC}GrG7)z92Eq5=}l?WU{$fQB^_hLIP#C`BK=@?{PrJo=I<+o}9ttU8 zW-w6SB~pTd#%-n>$6)30@~R);)oERIaiH!xY5gnZr6wxo3t~|SRcR{BM$|5d`-4_s zM2o20K?rz}&HUNYEf5kX>Es*6$3N8XpS^W9XXkO?V|bsvp#kS^^!e^@n0wWlEjX&K zm&fn=*>9XKi|@*S$(H4e47C>wkd1za408gp?!-|1#yU9x{C(^bPN`$+!?@6q8DO%V z>3VRykQ#K3GxN=F!&w6vq@rJ~Mv{5t?7=ZNLDO~CjxBl~N&CKhR-Ypu2=be2i!D; zOUQ1g>Tsh2;TNZ`g{{ErY(IZTx`3OPvCeO8rDe;{T)gc1#mQCnet~`bmtVlMp0&-6}bqe!k_OM)N;$4@?9s0c;0c1bhxc z0b&S}1u_o`11bX=1lj?*2>J%b0;UBP0#*Zd2@VHt0iFcj4S@u~2Vn>i@N+`i4~YP& z1=$4o24w@)0F4AK0PP1|0lf|b2g3zp0#gCA4~qsX1e*rC35Nj32B!dL1D64}2zL#S z1up|10^b3Dk3fc?k5GZ|g2;jBhxiu>0?7=i9~lW*1lbRH9R&qN10?~aALS4g36%-8 z4D}KX2aO9&7cB^F5giDf2Hgog1HB3T6#WB32*Vg703!io9g_(&4RaXt3yTO#3`-ZQ z3L6945Bm^@3`YP*1;+=c4CfEdB`yjs4Xz1p6mA>tCLR)=44xHU5?%}5G(G}87rqC6 z1O6!f69Ezd1A!qy4#74d79kg*0--)(24O$pIuQwxHc=W;FVQhE1+fBg2yqc{3-LY) z0*Nk(7fBPzE-4bJ8fhG98|f~Y23ZnW2iY+>8My$t6L|~yJ_R0yAw>d3FU2J#0i^@w zEEN`&43!^MC)F)A4z(C{Hw_Vu5REZS4$UPk1Fa#g2WzPt16u~$C_4ngLv~m8NsdZRO)f!hSngb&Ox{GkO8#7dLBU0#O5s6~Oi@G8 zN3lThj}n9ulaj7dkW#PGwKAHrkg}O_k@BSqfr^xhol1==f-0A)mTHq4lA48Dm|Cye zp*oqmzIvAWu==qEkcNPUmWGYSuEwP%m!^$oiRP&mpO&9ii`MNgu3v7yMt?nM3uqT; z-|A55Xz3*A%_rf#MUrrTx+W&&o$W#mJyb9mVYgGtx&A^tgNi+to~Yq zSgTpbS&v%3+0fYN+vM2H+k)6C*m~Gj{HSO@?4;~`?0W5~>>V7S94Z{q97P@qqB~@yPO+_k{EG z@m%yG^Rn@#@(%JY@?Q2q@(J@r@ZI(s^xO1%@~84w@^|sC@LvwV3Xlj0378H93M2`X z2($={3aks<4+0CK3X%&73hD^j4JHUy32q6&2yqL^3E2;Y31ta&2rUbJ3S$e?3X2Hq z4Z97e2oDRtjKGKxig1hQjW~|Pi)4$Gh}4gChzyGSh#HM%iH?YFi2fVB8v_!96GIWB z6yp(75YrnA5$h7$9lIF^6o(Q=7RM476xS9v8@C%z6fYBR7he>=nE;l+k>HRJmav)d zmZ*_LlZ=sUm7JE`o4lQZlp>JgkkXOzkxG&3mD-Z}mPV2$m*$j~mG+h{lJ1t?l>U}M zkYSZkmoc4jo{5#IkQtLXocWO@l4X_El8u&am4lTdm-8nVE*CFXE_XKfGA}4^GoLL# zA%D9-si3M5r7)-nt0<-Dp_r&xrZ}hsq(rx*w-l;O|7T?Y1_A;f|;Vmf%l=NL2o8JCs1!|)t=F>mmahy{kgr#k})C3WX_r?*8@ zu-KJOt5S;PYp5ZRGrx%D$=YsH$i=y_DW7a z%u$_FR(0==OV{YNj-_LvN4!s$WY($T(+r(nwcs38WT{P0{Er@j^VI%F^<0! zZPGR>*?%e8scmGk|CF^^+GuA_hiyD?1W#G8uKneRp0a9QyW|L;vUFbC)7YD28E`c`XW*)&L_(VDeXYZSd&)RsYSC%c-|mcm|ZYI~uz;?>qd513qcYU{2w zq+OS3YpOM_UbkxNtTnP;*KTX81zfEE7`WRS;;u`yHQE|yubZ{~wl&gO*Jx|C1(4e6 zY)rScD|4*7HQ?J)ZmhXA>e_tZ9uyf<(g1#P`g#-nw4*0yOrgdns0Es)#aL>Y=FBJ>X~3}kh@jt znWb-_yOrvhYHqN*)#{nAY{0t}Z<%mz(7RP{nYC}=yOnR50}KU=lq)TuQ1=2{F-;J5Z@QRn)+;m zzMtQ>hGYf$A>W7yFGYPS6c2}djPr*nA18dA@(0TwDt)Z-N6R12d^!|wSYKiUl4mZP zUup!hXRe)Jas<+6uKvAr3*^t-z`g_t3}W7g_UugNF)()TtJiyO;r2!_o=3m#_l7W@ z$$Bp6Y(K@h_ngSSv-H+5o=m>O^cK}0(!SI5R@EO@zvJ|l)gM{E^Yqr$pIp2{^cLD5 z;=WV#R@xtDzhm^4+8^n>a|q10KVJEG6CM@&Lhj7D-{<;b?ktVH*!6bZ?0LWG_qN|0 zyubPN_7Uzvz6tv^5blS+8ToY(?n%BW`?U}rjJ-Mfb?5I=zDfTSV!!;&(yudr&;0F| zUt9jc$(yHNufZ zxxeWNEZ;nNf9UtkjJN~H0z4!|2JF|cF@ZZ?EbN}S`-x0h;{3QKe6}(gYWc}XkyJh^O{a)|8v;XA%-uAyG z{G|L|^S?9rf*hjl>v2Bj6H^ zcZ{LYIwo?<_<5D|DW=ExW|i_O_S5*AiwGemcz>6R3?X)C|CWm+E~a?@l#3!R_F(^o zi&!BhdH;}$Tp@O0|AC8iI;MI5l8bUW_TTQR zOWu$6KGTCEFZ$#l)Pq?+D*YhUgIzy*h z{La${*zHOv!4PnF7``hk!eyKs(|2OgZ;xUb;<*)25qZ4K?l78KX+wfW(HfI zI*~%f#deDO3P|VJHZ2hl5ApICg}5Eqs^5NBogHXl;{XQFw`2DI|NsBzCXF%HZNLT~ zs#(=n-#?M;a8yC7q{CRE$ACV?)=oQVXxyU4Mu(U}e1zzpO|&0yLB**nIR4PBd<^L7yjeX-kdCj%LxP=!| zGS|NT(|-Mq+_|&!Ry_UhkT;@QX@o*Di(*kzBIHkoq^08xh;Z9IFg6D3)L;n)OE5J< zF`ByY->dr7nZ`xo0W5*_Nr-|pYK`$eT4$1clVk_B+dC2=FtFX&I}$%nx%q$C1j0HY z36X$=MIiTvO$aJm1_%TQLV%gDC;~26CMvYDspyPLH7(oCySsqdAjbYW`@h&! zZL7}Pb(qm0oMtjY4v-bVDJpdEGaH8=Isia`r~hP{`rfXp_h(eHl-ite3Z?RK=Kljm zl8qah+qBpg+nVQ)a~D#10W#S+!ax0`e`fJ+Z~@bR0#Z7@33u_cnrHLc!X@b zm)hG{ViP5C`qa%mMMGH)M}`cJg8IR^QF7cBxViq{JA1t$*mu^7q=eTA>)rtEOIVZe zIzabM%Nrn%S`P3`*aen?>`{^JlYS9M4s}Z)7kL&>ai%#JUqe24{{Ow+eI8h7=DXme zMppYJ<<>}zTVqn=7SNZ!k_t!%0L1>+8@f)%Gi^%AEoE?C$RiFS20|ugg698p`F^`_ z6t1W!w+a>|a8*!Iu10sRGCR6EkJgSY%Rb3_ykVFbt#htMdN~hh?GUUT_(WXwgjLGw z!~CbJbp@R$Bc;sP)2g;7+sZvJr>%#3yIk=92S9#+0QmueB3NV=Nft=aCRj8gWjSoh zQj{`JmXvvlIOeW2F4pL-5qh&l$Vw0q5ecE_kKeb; z*mUBfjeIL@9R>4?%+(dp{R#xEi=#jbTUp8yL>#~8$K3xPyL(u_+e;Kua->-bGIsv^ z*w#P1DlahrB}!?FSaNIT=Pv|+0DMdhe*iu;Uf=0^lb64cfk!Fe;^Q0s#?=cXEB<7Y z^7G+R$N4MR`|Vfb-tSrEy;D;p>g|er(0V&R#_vDuy08rhf$*#SKYZt$8#5fj{-1p~ zECA$BXVU*AaGz<;0W1OKKb02%s1PKG(!|>U71SY~?4=h3|9J$r0aE?W~PVs)ah@7SoFjK~adxSVP zHlt$lXD*&1U;NL_$T?QWG*PbE^!gV>`;$rGT+T3jbC@Wq}h%Eh{k$I^XZ9h6ZMe&s=l0KRd#} zFDm2Ey%Hi>5Ck4w_zdhkqYQ6VN0aQ5j582i=%h_c7rDgQsyTu^<^Ll!sOVpA|$;l28&)Pv|#cu>d;RV_?A*O17wT=$T%411_VW zi2{=foGb==PiLpkERFVGHrf&|oF$FIA+-Z^$aHt7b46(Yy#02pb^{uc2MimWhw!Yc zk5_VJ2#B{?qfPw9m57y}nH}HT1J1B#6BdciNv*ddKhJC=H@)VZj zAdKI-`FOj43R@0R+j6c!>`)F2NxWsDp^3Mf4ip8kM9!Br1WY zyGatZHMuyv$J9>bwh|UStVuibI)U@40Xq{=l&Tfz86excvhS5b$$D8}`Tjool~B(9 zGm=}@q1P8JS1U{RaIHPjbM7uVk%O{+j#i#jt2V89-4vzQ_75)5LFCn}DF{876-~*O z#SZfg;N_s7-{~y@d-C<6&1TuF7DtJ#|8v}sz`v~cPukt`H> zy=h`1ZVgzAhoyJE(Y+oNiXULjM<(J1g_Y8!uCRANQ|P_Yb1xGH=m`N)uXZg%m@LfX zq7#md(=}t_;ZCSEOQS|liMk|fDbF(i!;nfYXiKBH6%=~iNAHEu9oIb?2YXz<&k;t3S^Rpg&U8@7ZI=On7hQYXJOnPwHYG1L-_vUGbW+1|4=X?1XV&i zfiE;!f(i&?7t*l#k#7G3#b~3e<(g%1$j!5tQY&?-wHUa2m6DGQ00wMzDx48`lh-vT zW6tubitAX64X)yDue6lNSxHA70o*beJ_1fqrewjBvJM=i1}06giN^py5YSz2Czp#! zHsB;!rA^Y;SvPn~Tzh|gNz>r`{Euj-rbUkICkE$VQy}m6rCvh|Y3crIwcRB-J#PM$ zKleYtlZede^;3QIQ6Ktl7jb#|Cfgak`}glutqEC>B+UU)aE$h$SNF2JzrDY_@05}t5lv0%1lRV9KP58{i*sC~#YPOu z=Xj@M@lVbDU+(#Gk*u&5A09nieqohcnla}cSWKECh4aJ)*$$CwYsApT!w7GL4<>v} za4kN2!dU@$&hzs*hs1E1RHu28+xX=O{fk@QT-T4=MTwJ6?UT=?pHcV=Z>zugwnBQZ zhU43-Fa7kBK2q2HZ@50VVRf`Wn&8!S{WiR>e?;@@asA()x7X%*Lq;5pHaLx{q2yYr z$G(zqZTC>2)eWg=OJsX))ICZz+7N@x_Lne=*&)~lZvmrY0(=FIMz;84i^yFL$ws*x z84@bE0*4B=i2BEJK1p2qYWhk=O~4iBi5@`-Pk9Q@gEPK}jA8P^;6IAEf7XeJRVov` zBe&J2$aEll70QJURJ$RK`!No)y|>5uVph#jkY^vr)ESF#9ZwiPcURxewUjRc9mzzk ziZ#6o$0KEFxcmOCuPM#KuN(+=LKVx@XD*z>(VF_jWU%&}_uD`DwsC^$iZUNFOxyp2F& zOWLxAe5ySfAr0E7oPT`gScs#bhgw&wP#aZ57~X6)Yn_n)e|teO|3~XVyKrJ8fT^M2 z_k-wNlwFw`_o_I@+CB;f6x>jK&~wRYT?Pky1C^3b86tCk9O?w*QZ3q`tYY;98WZtGD=%?u` zSe~hrZD@MY#su-qa($n%<`%*BS9Lc?z+KOrL!~dAO`d&vF(#*|jKd#eaL@(G4GI>V zxY3YCJDE)(%vN7L2B4ykRSN>wJHqP|RR^NgC%-h|l}kaT98L^pj5q#|&Sa|MnMIk` zWpz8kzDb?MQw~f+F;mPaU`VC8(@`d7Ii@CP_25gAC49m(?i}Z=XofM3JvE={hIX@5 z>w+^rQBl!ALuK)gf_q<_{dw97M?ye!U3i8JUwn=nWe^xJZ z)=OFw7x!x=o1N2X=&Ot>JOwL}r#1Y@wkR4JbK@pC3v~_1nRY_mL}a`aFhyb@8REUK z9!;z+&x+tzKro5r4aeyv2}L8`zyd~w?Jm@`YN06G`a!%^N*QULZQ9KiM8)-tJ!W}X zIzC$Us0&-@3z$(1b<;5Y24~JgG13!67nhJ+W*$?)X!zK5h$St?x6V zDEyd*P2*8z-*p(t-#FeUjHDJ`%8)hrP(unb8N~9&lz&Fba`DbOZ_K9ivM%D$k=4(B zTwlo6;>zq-Po%SzI`;x3+Joee^hgZVSpFX0R3iS(JBjgTy=+l0jrKK@0H*oDIb!T_ zE(@U8u71+4%!k7o=?&Cp`8Dm~JZ`k9(bM*uwV+|NLIu^uiE*7XCXYL5KsSZ{@_mX{QuRzjfb*25 zu%{+W+(b^&HdGM+bgyMW+YQ}j#y(?DmZyql041^!1-~K z1TMqo=svvrwXW3xKdj7ufwJ4itg1D?toQ7$_3egVS+!$!5zyVxT+d!es-WX4#=Y}a zxrq&hKaR9$Tr4YsDPOtsofPj{Y}{K|5FF9XG!r=p&{ zC@~bfC$+l2)fyVz+8E{gE1eEbtni#(nY{p90oSmt&t6&H>s^^)mmPLiPE$*`pT2x` zAHM&@cTc+i>xh7H4S_ypzPevEKWT?6^3=wHIWT+ecBw=Iph7!-{K#G>Y?5QZ=`L6MF1fgL zE&_LRQ0sC-uL+)P0mKB2qy}RKivV`hwf?G%R{r@^z}!%H5Td`a1ZE(h6&u@G5;|WN z6u6UJyNV2+k9N-V5#xJIuzrjvu2_S#>UpocOg{5|`fS^Ai@pe>FM`FD##4dGO0r+; zKRu+qW2vz$8#;MSWqtlO7^a^$iOKH@;nOrtzcg16eg>BTYfMn%LqpWY;XLSM zS!nKo2ys(My}w0?!37!=S!P57m`hQ$iWO2g4ps82SZ~D7$xebA3{MoyBm8rUL3)!v zdLE_QlkOhuH_qjh$0SgSEUz{+PuNVaR(3Q*S%ij0s+a7V8=fC&oRAJIVKLt&_` zE(Q+#BBqmdR->E?`=9r2nUkza(^(AhP-atQ7O6Mld-sf7cl^Z{4HIJads<_4Hj9)8 znHJ>*tXmnQngBOol-050)|84Y4OwSUV^=&qz3Osbnr2LEDEU9P-Ee$wY88NM7FZ`w zR!@HL^S-%fr70u?(}*D?0cqR!YkJxgU?ujAB}vDW2lPYSip30UbHxe8YupI2-WH<# z*>V47vf)5ys4r?&G&C#jI>h~NZ?oU1Cu;zmDZ&Qt&1s1-68N4gJyc2wGj>AFoIS-eatb+r{K#;S@`TB`ZpE z#&Xn~CdX}uX7KYqSiBc>{by-KEByooK*nD^niLAsOnPe@!AzN3#PRC|?Ai4-106*@ zQ4<2Yf^)a%6h?m#J&LDT8DnhE6aHz-hKj+}-W#Zl8S>WC25ERm$QAiI!8mw3qd5N~ z_a&gFwR_VQ_cf`V0(t2S=wl0ZSjc1thEt<4#C?VbT<5E^vaEppb}oZg*d`E{1g zSHqc7uTUZ1;*f*SVs1;l6LbpREG50FJ#U-ppVF#F*3+Re7h3y5B4y0@#-Y%7(l@KV zFe|I`rvm$MVD1eV)Anp+9}MhgBCFOs8N^iFdZk-JBSLe~Xd66ft)R4z!?Rov!Dx*+&@zab_x#gYf5+tP3`@`B*7P-kxua>2z$Y7Qhsa z+LCXs&x#ft?}M_-iXdDp^K}o3-uV5e>GkR-&kUfUi?<9r7axf+xmjj?GTS)2naoTA z+$Z`$2V%#(ujycGyQ095<5ee3L3 z91THy*7;e>5m8p>Z?_Lj5h%_v{wQcbeM&D0v-$_Al`Co{K+B@;W1CdL_eh4@Me|wB z=$KVHWL_CeaDIEpyvJ&UyNZ~gzHDXv?N;0rJ*?v|UrdjMx06R0UWUXYY-Wd<=?2#a zXVnOb07GOogz4hbA4bOzi)_+^&KHSIt~FN;qk^{jt^mphhX1|0fLXZ5?#)Z7CDT~w$T z+;#o#3g@~(%sR;xZ`JVjYJzRcT0qr$jJILs@MiAP_W*HDb%Ja+C$m|=WfaB!l@z~R zUhH491xUP$8Dl3gbpwb`*RZJr)7Y>{0;fN0UD}4SD4}NZbxm`=WjT7+Ny2+@E_tp4 zr1cQfo$4i*VzDzT<=9sOSw?Pg+RaRa*>H zkuQ7O5N-ozw_IWpiw^`7)pY^@rFwS;b5YB)`F?r&=e_O{LXP@nADw>?H9D&s#SVcO zNw3b@yU%>j+Wvt}MG#ln&!JPLD1vdd^&^J;5BWW3$v#bBeAZg)sEsn6yUVhcBdMz5 z5aBB1oL7X?=WX)p)Yt`UWXGi~@JB{IEy5XZW-N(gzpj{wx|f-Iono44`<-9P0=59gxS)rM#7xUZ%8*>F(pFH$D6GmS;6i z9>-P$x$$L&8J?Yc9`zv6#*74gFq*RIWMhWgMoH^?$YWfiAzu|iopRK*`s(9IgF7z7 zmL-7ViX@aei>M+eN{*spBSw6U_K1lcL#$MHz58q2O%nv62-;LlEKz7S>tZ25im)kI zmGQ(_I3t)Wln~`63igC+W-wu4mAF-nm#^VwEpAcmHsG7GF{0M4ZBw2W)LrIDJ4-y= z@P@3ds786v&|Z847MLhp@P}LP9;ZZTe85>$k#^@vnfzSLZqD~ zJAqs#5oj=lCehCOoVwz*t6}#A*x_W4LA(M+i2iSbQ`kw6tATRUG0QGOBCo)yk0ZK? z68UNV-KLhoWvbDZEl?qJ56y%WIYj_7%Prqe9(JL|$yB0^u3Q(sv&$iq%Zd#vq80n4 zi*>X&3_W*@ThS{3|hC%C;+6wobUbEU63 zU70O3>2j$n_2$n8kUP)XeN(#J^Tu^s)14lQ!%@bbAv8iJW@10;@C^M2mClg!2V(xE z6fa@}&LE5R+ZIgkST~R#V#bq?j4~E4!P+tgJOQU@Zf>;3$ko`cS&yC~sk?+oj5!$l z_>?mP`;F~#M%6u{Ox?lWEz`-Kt?LtR$UYJZh%HIn=iaF+GsLm}g8K_5ZY?k&99K@> zn$f~16|V;=0@!A_TTG0v<KZJlmy+K`*124c`1)6=J)t~;Xp1sH zc#Bf+2r>wna$3C>$&2Fe_-%Baq2eB-&ctM6}h$_!b-DE7)@#T<(oi?XSiYyqL{CW2s| z!02175ZznjJn>qgRXBnbM6nRXuv$epxK|&&vzhV9dn2oqC6~(H2JZ{rL_PkSD9JXKt+kBK zx*LO)KsZ(SH#G&Z2--nvalYf-oO3aWZ$Y#|9}jbHkJ>dk0*;|vI%FluDvEi?tBH#b zUax}qx}&8jkib}-&`Yu0=4^Bz@S9ihj`vG}iv^f6tL!Vqocr}MG|qM;U|~bP-!V~G zB^&K5s);@@^l+%jBWDy|MpEn@+hcW7XNLcQ`oi#MDwWa7M9HyMCP0m#<3GRr?DGU& z#14p8sYkR!#?f$@#MD8Y$&SxgoLFNQf`!8wiQG58{9KN|l&_r@T?7X#O0T0h5`x4iJ%(BcyXnu_`&K4OiP87eEK!PyKYt!35gYgw0k3(-xw73@B zOLn5P>ytX+ZrYfKs!Cc}2(h577kt-$LFPwhRzUY;wJ+*!^W5>Fr~Cr4QBiNx>xp^C zpHt+;A-x9|;Ug7b=7e5)6MMVOr8f@{`a|gKpJ+fER;joLrh@mOC-a8{8($~#1Wf+@ z4bYrPa1GN08hUFJ7{bxwXA<7kGxRT{{9TU6m@%!tnr*4nTQQh-b?&-;$Jo`jcC?LE zHd|V2y4JR~wWn)`U1o|3dNFR zz=IsFE`v@}y4tDhJ4RvPp6;1Tyfp{A-1SOZS>+%Cqkp?vc@T8Qe5s50rG$0#tX#mY zXcn(F(>Vip9p9EMK&;+B&e@QO`T8n7u!HOeOeH01ghV&fDC06ePtdz{5Z5ra#;xiv zJg@f;1+fh2O-vgyjVAgD3V7Z_;Cs#lkD*aDjeN}S92f-am6psH@eL_6QO4`5FduD1 zwQwagLphA|G$3kvrWW;3+hik}ai1r&btL#^#qVnoY3ar4HP|TE8Y5Px!Q;DL8kOro zc}-uvcT(@Okp!9LHttpS+_f99P|-{$sXOleOF!ae8BNAKuhOWk=Sh0lVLEvelaT@( zIY%yJr+>euHM9@(NpD_NhT8RhR&NE81O}_4FixLVc;S%D*D*z-`-~RW)rr7hP#C>> zu%KOEvQrI30GRHbcGhA)-RPUj^8+negQ^yK(0(0 z?5i%6QF;(xYFZH|f(2Rg=0qACt)}Vb@kw+&!{${7Aw7*op?%Y8YP>y-MbK*CeWPZ_ zueQUzmm8#k?DAx|;#lI0vU+TSSu5V{$I!>c@;pgi4&evXg<+0R*V;~o(u|Xr8X^43 zrYK44&^N`WrEOq7#U0a5nZ!$@R^ZVG=W)$a4vr$#DJ-u2Rl9))Dt*_Vh%4-TD7jIc z`$H(CY1?iLoqvAwV&*RMOeM*ja zP);^`4e#rcHy0ee$#S+J=H>9@-Q!XCe@|Q3P$$XAtm39O$y_3!jl49{uC-cc{dBAb zsb1yWY8ls3rjbxZz2R~3#v~+BOC5-NyTtIMxEl<79qPw%3750mv zm5m?3Sz_?-gh19zmnmGtrV2z`1ly~kF`4nlSiKIkRHVAnRrl6urDd57VKklXH;*}J zkc|gmiBoQ^p;S%nC-K&gzHyAlnjev|V%khtD|0(%>9Ct|6}PfL53SIxlsq<$8W_8)sNp#) z0dvsdMXx!i3jexh56r|Y_2qTe-b;zRn|EQfp}Bum@N`;Zfku zfoQH#2XEyA@LCz0@=>QB`najuazaRO8K_-Cn=+jGwS(lCz_R(xuw83D_#ESeuL5W+ zPatj%jfuLyy$vOk+JFiq32eJbM#rWR=%EQ1Zf4Hw76TUi6O@J>p2T;83 zfc%nR+95=AoT@S905Jc1{`FhyN{UJmNySUou zKJaVJU)G~=Vn!D$z7UC+s62PIw@oFI#m)lzFnvTiC|zKGw(`D%&irP8R)mpR^=zab z1qLy_@znhU{IuA*SMW)d`lP0I|T?$?+^{r<|ag^`d5#`Bv+YEB;7Z#a`^4(2` zBOY`3GtFfOEU2$3+{2xx%|PCK6vT%n3<(!#p)~|b9|alcBdxE6B$OedB#F{Om4vth z2+d__Yv7EEs3=`asZk@JZVOjRQ!-fKDlkB-iRSK8498!6HwabXQ%9FSditvq!>Kh- zoSf7*UJb3-Q5L^;Zzf<&zxvs;s<8ajk58<-t1kt)0YiQ8qhoNi;hL~1rHru1AJuz+ zJv`1?&kBb;SZe2%;+YTP7y4JHJ9in}@el0nCFT3sf&($xD?`I*moh>RZ_bx|ud?++$8%kmm9oz6 z8Y!bjk{R*I$@_jkTnw$$=~gngGkqgHb}V&T;NA|?-bG*e zMz-$HID?(w*N}VS3nF%6*<B zj=05WazXV`mLtZ30PK1)V!GYcKl|d_R*2FbptP7R;8VbuAF&8^OEZ@$!?|mR`n7TX>TJjU{MDOBd)14l@z4lM{X)0mPqlLG^YeL@2lilEk(5o= zwH1LBWZcW%e(U{*eRtBaX#tx=3J{FxclRWS6pUZQZGv4EzlHScXMsQZD6zHvQ5vuuz}q3*{Y+wE=YC?EDSqRd3V{*43y)N6|%U4GZhwv*?mPb z5XyaHe%IaX_VR~?q#!;9&v3Z?t<-UsU-8(}9t{Szjn6~l(s0=A5RCY`^SpmoDqW^u7`G%YLEy>(?{|m+A66%NFa2o76zv27*e1p zh2N@a^AQ7@wje;Vn)>9mpWJcLFP6*uY*I4Tu_HG3=mb^k2RV@y7L@PDHjVI1RZnAR znfmQ&z`xQA>`1nEz8^4JaM_txb;^m|xYi{fL1}wO^iY+DC>hd(RLu#5;SM;1%vp-g zGYrJtb>64!d34{W?j3dK{+4&tE%3IE#Vt~OD=>REr#qKRrHJWfPv4I(x24JDX@1{m zo4h&WC{hLQkWzb`&eZM@(`)~~EY$C!447v80761w%5>=`@_PRNIYygbP)4!0eCb*# z>|4tMP+d1CwqF=bcMIW-YgcmVnbwjST1yB0&(phBx_vmyc;3o!OnMjtrcd|R^Bc-; zjuLytJ1D2ulIO#6dbBzyw<>+3;eWRs-xwOc8B`hkp$u*8`{ek2%L>QizLEWnTA*(j zK2i6^X(27)b7 za8&Th$@FB_XEQrGj{>uCMQX?xLyNAtl;n7r=ED*)GvF@Gr#{ChB#Xhah7XHN)3g&ktO6pFD{xjq`sojTSHF_|1!qBpOZyQql zRLt|lPbk?hst114LY;@1+Yvx3_rXk?XZ$W9Jee~lLo>mfXIiMgGR4w+GY%F0jXD1_ zQiG2oD#OqZA`MrTn9&4bS!RV$@w)wC=y#4MFDDcTgx<@q{CHKSL+Z{fWj~2GsOAg8 zprVd$Xd!em;PI(lSh_Fn%}q7Umr?&g2lbhCI7s2Jk3S`i@;IaOU3%M(FFA2PV zdwd{7deA4h-viwj7?clsVF-eBqHW%p7zkc|&tw|cI5Hk66jCAwag(Oz%ZwHpMSl=S^Qgqpr# zj@AX^{QTA*$vYU==^L?rGlW9%>-p7yryXgVHyuy+$|ATKH_rHD43vc(nB{_p6R0BVGSF45ha)!uu z>EO;=HHx@3)55vAsZ{4_8!Dgy9DrdwLft(82-W|y~hRO6d8-+kw7QWCB9V@F#%?6YI%+Q&Thhz%EF9cOb1Bt<}eW2H* z8rwXVX68K zZkpL@QXlGhgEeWE{|Nug4RteCh9cH2CZ5GjkG|0Nl;`lX*NqdXc4TWvcG_edW)^e6 z!h7=_vq9q?Wsgu^7sdJl=K3JhmE`VH{J(N8i$?~UUz3k&;%;9(5YDP?eX_S>jb(7{ z&Jnjn0aP19!e#*t`Z9ui96=k~5WESxNUd3OpKOxwT&FLP`TvQ14a zHA{e_q4kY*hTO%9JEC(1Jj@^jF@}{4me`UM#3!tI8fK`(*vAm9P*KH!0NljdnjoKC z9K=u(`3fKzc{v$ANXh`RE#AdJ3~mX=BJKH2%c3B*x3k3Qs+iQ2Sq7TY?A6Hb1HuqY z!$t97#(aQ>MzpMuNEz$UH1%XWVUuj#c{*GiD;~d!@;tJ%+CCZtBXg-3oY!Q%T}dTR z2&Y+1twyCPex!^q$O|; zX0zCFwp9@=%IwsRZbM&&$_GqxI>(8V$AV#WVQ4p1xi)$%iDXDx=7>o2K;Iaj$RgE8 zCVG8~5(S3}39#FO13sxRbbG9jlwmx~7KgC0=hYd5)w{I?NA3l8+B+ARDTgR=p6bn) zuc005$fs+?CuRJXhweZ+Q&|H~G%U<${}AXLHPP7PbR=Z+;Pi|H{{3dxWb9pF_K;Hg z+oC3nGdQ*UvP^4KIKaNqm58Z@v0=ojH2O;9ST3oULW;ew` zE039|RK&CL9uN;e1i=^>-h=#^vM}A5gyztm6VF)4ph^`ddEV*p>QZ_d^~aTx4jzV4 zOcsey+jsIdpnY42;u~~tWCph__t{8WGHST`m#1-YX?TrPDOFE@e{xe_A1%Qsc1aOX zD_Nqdh64Isn====EPZ-$c7DbKhuN(ku6};^`{gENkm;=p0vHR~>R093;oq*Ih=DB9 zkYh(Z5y9RIT885dkbPe&GtsiPY zE|(ZQmpz1ARCcDeLMTxcn;LALPGF|`d?EmYN}<_WXTKLLd>eDRhBo=GT%aa>()>m6 zdNCU8Nw|IncJso-O0lO}%Y#v zzwJ8o=gw)pl+jxJTdDVlp0i^?(+h5H#a>#a3e$o zwwZ2fU|%G~U=_yhYA9gdFHJ~9G9>p~pbcj;HxUOAI|{-~o_FNf8z|?oxlIM8cbZ}* zb^>Zegc}%f8L`L=!0`ljlSTGmHeyRC?TypYmZnD7T@c3R3E!YOq|9b~z_hFwQ-+{n zT=5~|*fMlWWDWYtP)2vghZj79n5gCp;*(p~3O!Ijr25fU{ZO&2LGSY>Z5H%QbNSVd z-M?|?GnDnqvq5ydc=Pb}gM*vQT%H;I5ruvaZajM2JuOu+iY#gPzA3ogKsi39NEL2@ zKc5%(C$2J5^3WY&f)W3cv>A8#80GY|P<)56LO7@g`9>Es|6Xjz6>*j{VLC7c+~JS$ zK`~oBm~t!}VdOmIj7u&D)llFDt-^554Z3@}vcfZOsW6=#?b!7jwf>?V4T`~aX6pK& zw_tZOD2i&}2b$UbugB}VilC?4QA590+eE>Fr)bo-`k&#z zX5Rgg<@>cyGxURW$NIo%?Wd1s`C>B|7K~TQ0}SWpUIKfWA4712pC3};Jc^5lU!FF3 z+V-osql|9ij=k6neZcT>x{JNW{kj@NSVBc3)itKtZ;k2lgYmj{+$b=vyp*I2OZ{o_5z5dKdVaVxcdfS0 ze~1kuGZ6P6y5Q5_#b~!`0llwpnvtmk49re3y8bOEWbS8Fp+bsyg6XZjQD$W!4(_hZ z_SxiJJ6&eS;rcaFH^z&IG@=qA?c#e<$B;-1U1!Qt6`52aOCk9Kr()YE)u-f2?QVUe z{H>cPY5DT>`+Pka1a-{ekkZbZ#{%$x>G1q*;yy9uca5&(F*lFn7-c<=!6euY;G_b8 z%>i-RkZjI3gU0wyziSxpuDZkU{ZYA9d2KcR^1l@~=TD?1Bn&W{Zrn#^jb&8d)7OfOOosGeAgJeI}VNlW23RzA|#%Q|7V{#Qmj zF{8}BL3vF#Oq&Z!fYUPkLN}&L56Ku8ELzrOMBZVHfhDo>e2+%gmFd_Xm`;k??Co6w zXMCeI)aUpn)>c2ixbN~~k=;40-9!MvqdoKeUXTF^ESyu}u@tjH#FbzsJ;Mf*k*t*x zUE|W;pm~!?+$OCsA9yvT$Q|>Tq!ZqqWQ*t5z+jGDY6hoBQu>ph(7n@8&ebrRJjY14LH6y%GKASjaJl&pl z+Hdv8t{_g9l$>kq>EbtNtDLpj0g>NN@e?i9H8?G!@p*cSM8XsLJrvJjvgjooPc4X# zZ)%$Nv5;KT<7oCKc6DbA zD`s)7XxQQc4f1!bzXG-vB9)3%AjJ& z>C@Grgd#4~W#nsW__b?mMwAtjN{RAZFQ1Lr8hBCo)jFEp`^cOC&-9X;^o}wxXuU8v zcs?+Soqg5V?-?5MiOb^4fd%x|42O%v7BRA(geZLYougq8cC7E|aAk}&Ndv%a zAqQ4XOZ-#(mt={@iE-;sBtLylsYaKh(`dh$6>;lC+KF2cv*=e%(qe>F6oRl;Q@u&j-w zZ+K-HXQ$|Jos=*?K=ERWSQ3fPuCazACCA^QPOZb?e)?&H!40fd`fEfwfgpJ&n0N8J zvlZefu_8VSP)81ta_QmYJIO^lg{-4i`XdJ0FucYD{}HSY7KF#iuw)_xB_bM05Y}-Z z%8bppGohvF5!^?OAcsg*c7xI`k5oZvbPDA_Jp+ovS&6dva4+HnEUZkhc(2KMrpf&p zLtnwzU%~gz{IC@QP*&zrmHwWVSUL6ThB z6Kp>m|ULFB^MJjlEL~bt|>C?-ywx*pq>_ zX{}m%b81el)Ftgq%V`5@tQty@KqShiehzzuQ!M?xgz2~5;6Lxd@$=&a6V2|1WK`%755lHScteUYnU;@P_M82Q1t=J--4n#V! zOv@E1sHph76EEWUwkAZmh?w-$-NC8soYMncc5*AnQZjXms^;kAV=LJ^uw^vr&4r{H z$v88zdgr}Mz%dE2apJ0ZU`4%A&qbpic_c?B7n-7w(4nxpQbvt{943TO$|2m45ZFU2 zW6Q}C^5V(j@yrjF-uce8H@xACYZNl(bE!>+F?Y$?pE$B3(WvM4r(y76^Dx(2k_#b1 z1eBVdw5pEP`dDnU+M{M2Qv)?EEw>XWZTpTL?bz7WW#k<*b>0vjLL7-nxC7wXFNY(o z92dvEU6?*(^j|$tpQ`HS74s_U8>A`aAGCell$zZ*IM`VKtI_CBt|+gc$5r7ULR6Yj zd^>K2Gp9*IgEOjKYZ;|vy#B!u%k%YYKtl8o0Tzga(AFCOVCS`ChCB$3YaKb<;XaeH z$apMtU>tZxw~p7Yx+;4vUAuJN%RW83rM!E?cP+i>-N2}H(bMuLPInz^&2iee@-(`R z0ku0T|q#_AWX+8eBgjrztOw5Y!>VPAEe(>XGG01j9ZT^hQx=>Y`o+409P4$+=)k?gxgAtLamHXvEO*ZG`*hxwV^=cv(xfGpv@$4!kWtwBLWG*wg-ZG>FW zej<%}i&29W3B4Qy8F(CxdYax##0A#umFq&Ih03DXh*r{Z2)2UlyhY0JYv;bx+`8yz zh{b)<^+u6U-@h1*ddNt~_WnTPH99O|N`E1KA!OHe%0jmFys|9GkKB@8$}gi)PmxN} z4Nk5wImN%qlC-VF6Yn;mzP8+(|94>ojh89U*7*6~WQhE7LYfy>^iQxWg4HQNwRi zHz6%3`o|jf_ltV*kVRSi#Ns7*_|ip#LSO8RO|yF+?mwB8_)#M*jk@U+i)RLBm>jhp zX9ySOKDI!%)ke5H74f~~dzeRlObXlf*;ex63&z?P;qgtu}6c z_UWsF<)$IfLl``kTTlt*2S+2qF1AQ(v6Vq**1=(vU`e#_YRBQ_Pb%-YF7MJ+W7i#) zOY$7`JGL}n_;!ke>!3A7)5{TR8rxQ?Hg8KbW!iz;1sjL9#`c6yh4;j+jmps}BJThF z*NVLS2*vyF2GGi+fbqtSnwlOqu2psH(GFTn6C`0&0!}hF>XPSAbo;*LJ2#zQb-v?V z2iNdi(U@mO89dqv(@2u+-ivG4Mn#!f?p`8MU-g>LuUpICw7i`GFz)L-qSKw0UwFFQ z43E#KjjjD>tVW~gC?7c5dSas`ZF(vv*k$C@g~qE~o~N=c?} zSu<$efoc?Cgm{d_7H~*vy1I?+Az%ZX!PF z^EHPK^`!lTHQP4%u>>aK6rc4RIy7o5BR=}!%n0sPH{Mo_L^@7+)Ed1~nv#c^$_@~R zZcvHO27@5_l|SO@$u6E06c;Tzi>&PH_JslqL&_^M1x|jWM3w54J_=Z>t)L^NsWN$> zG%5&2Rm0u`s`61U-p<;Hp=P!qyL{rgk7Q=$Nf*tEh)p&X+LV3&@LEygtcmVS(lyo3 z)6vG084k_43D-HP;UwMxx!!^S54#wJn>aqP2ssKBoA+B3!p4;CKD;y>9o0)3vw% zzbz-i7?G0|Axk5)-Pfz{e|PZFX?N}E0$&2lCNxH{Y{ba6lBexu%5uCB2&;+K3LH$} zI6()F5$4Vsrb`k*q_@~4P$bTrMTd#xygDebq8u=bHO5`f5hMVMh7sq;ij;-6=1&y+ zJ9Z-CJ<66Z&k`3=ZPm+mfGVII)sbYOn?waH~k!rj*q-Iwm8r%`BDzMhsIbvZY80PVMj|y|c0v zx3Z%`lYA-)>0-ULw{qF^e8WLtQQF;#F6OqPR<DY19yl09+n zCBARx2~BfTsYatKh5OUrn-FcH7dea4Rhr652De6aVuR}vEg$_b_xMGd<+o++@4hKw zR3;S+42w-qC2t7FKb%asY_(lZ7;`u#iJ<~FEFL@AB74hGmr9^tHIHryo=BNTCKH;Q zp*x3TcRy{-8l2eN-1XVrW8@P7F-JOuxdG8f4#~ji(aGf!xrOBJ_VNp{gazumQ|IEc zwOH$Tgh`AVCsYXy`b*+@hs}U~Iqm?N*J~CEzO|Pys7!6D9 zTB&<&0Vyx$n4)PFt@bo})cBC-3=^^=3A;I}=*a0%5P~s^a|qCR)JRgJ&9V8M!hEjrrW!|G z!+(HLSPeaFP*8fn3KL%a=xyF^6a5T{Ad6I!p1ZIP4KfopShz|funU{SgKdw zRL|~+MS>@;4K6J~Tf=cO>KupWPOUAfPh?Q65N}4}6m=`i-l~-ytY;@VnmfW1mP89t zYH~E7ZU_kiO%@GjOEZX!a7izHJ3`_a=D1^zBmyct{#!$G1+udteqfNqikT%%C0DNM zd|sC+bc+3{qw&J{v9}g;yE7~&fj3Kcl(IO@$hb;*~NcP$laArsTS>k+C zTi9SK%t+K#Er^YjJ<^}tJL2_acMFGy>A7=s$z*J8YrIn+#{)z#M zq23IPB#KgSCK_m(i~HQ^>x`ZG(MrhiOQZnobaJk(l_tU>u2sszGeF+26Tzw z0S6iZ3cHoLgcsgR-i%-+6h-RKTF)Hzycjo)YRCyP$svK#?|Jm1@-G!8^7IQgs9VyC zR2tnQjuR7nB1V{(iitAdb4NKi#KBYZik`dG^5j#Ie02>^wAj>3tY_`t#cC)I$Hm8$ zWggBm{wj}dY)64-%6xk95zh^*2|7yCW-@!38Yo8|CHjHan#Gkj9v#V?6Osz0vM=h7 zuZ*N6Q>0a4?C*dKX}3?b>_A1Df8#POl?F}{&_%_x-T@sG?g)g73h_ArC&jFj$MTB( zXG0!NMf>|pNt>1E7AFw;0WxF6-MF~B5efShdLltAEpy8qj%<_4q$3wesm(SF-=5nM zwPX9X9f}Ns8N>nZ?@_LZA?e!2yL!9bZhn1=e0Gycv}G1B^u&r!&?hV0j5uSYvthvzk?fxW zB!@Xy3NUL01fX_U_)Zvf{10+waj2ra;^d+7@|~a8rmPN4Sac^Tn@LQHj@uglS~U9# zoA8nXf|^Gq+v0ytB9oo8Z=#c7*LJ0@l%&M+Y-c0xm2Gl=^zq7-cMB6728ph<%~3yu zlUmoDpj2%?Mlh(-T8pkzrN~>QQc6gvgwhI&gLR^iz!=hG+9cEy#m!tovC)|{vEl@7 zDP5K|Unj<7>FZB2)pheZf)fp2SD50v)@Df+onH6ywM*8vd59E+@8^_%^;}t#y^i~V zKJ%-J)DJ7ee4wlhcgX_x0LZw4w9W*_D32@?Qo{tN{B`trrL@lT*b8GryUPdAjYgwI zk5U`Y_=;>*c5}rc+}6?}G^*ODN}>#xo;d4$m!v|ljmG7++Z3T(R~Q+KxfT_F1qVM7 zUnC8>G%I100R?`ZT;j3ayG@5fW^nD>#1_I^6_Bj8jmAi6ph3tLGb9<^Yoz;cxPHrb zQ9DLH1|1?_%Gnig`EJX1=!CMi52@*x?$3{ zKhjh-zu8w=@8{FxTRLB6GGxHdj2mlS@B7E58QW5qR@9>2pkLU>1XE$!k)hMIC6+Or zQ5x^M(N|gujc6=^nx2*as+^1|cx7fq4+nTB&U~dHhLpdWKWo4pa`J*g&&#ZNd6x!# zc;!Y$Bi3#`WAN|Bzlt18r`yb|Uxsq7z1`};HiVH47e+2v2`}Wd3W)7s(R$88Y+3P( zz`4NkEwLRrDLXi4ZvTd`AQx>1t3*qgQ53ByjpD9ld?S+vP4}*yt~qCOG_9tc8_x%x z`DD3xxx+z=>F)xCPh~}ArN-QsGYOM4ATxv|-&RQCD6BrCrC|CiMO;)|F7VWKI!8xr z$jU+xhwYfR8C@(`)i^L<(G&V-C?5s2MHL968iJSel;wRe5zMrSMuH1WD9PRcQZWI* zzwU&RNk_@>JDS(_|XkTr|>B#l3t_n{n z(a$QMm0Vm!%&5-Io3WrOJh|i<*3U{Q`RwzrKKUG;bm*+ttxhe+Q^Uo)W50w|RAuCC z@88&1<#*?X1)n<94thDx|veA$R)XTApq72pz9X>t3k z+px+VFrY;iuJZ)FYy6Y-a!jN(tjs$tPtp6|9Fy7*M~QlQsaeYRX699X8yb2E(&L$X zkzBcRHen&?faI<988AeN2NDOynaM~la&j~FPm+WV3O2X{!c zb`%%OL_2o{KDl%a-w&3aHQ|b5ed@xjG%V5G-&w zpXNzsu3qmtvTaf;7H$Jni@`!=Wz481tYm(;`Ce(KAiydGWYzY`Sba0MFH&>gQp(F?N|GX10#6~OnGi;ds%rv42#5#q zLy5;u9KGF!EF3ENnOBvvTvx74c{OT|%aza?B`Q@^#4n1n?arO346=)&n4ZG1!Z!-} z!g=MaV!?|Gw?feDH0`OM&TdS8bIshMur-kyd=kEZF!e<(&Equq#02bkcYq;Bklm8) z4P7p@;p*rv)XP`&$TbVoKl*EPZ3G5n11ljpQuA~{SE#qBc0mo0Ax`!M{2ji1QrYWM zvAZ*PcCZ$XaqiJ8EAS`MwgU@h*#r`K~*%pnd-In13vC8Q_jwJ<84 z4N1=%YTm#6>MG7md^>^s>gr<^uSNc@G#r*bNS1_t(i**Ug(U9m;tITMb(+u9h|F30 zeoze7J3syCB<5a+3zaqOaBX{@IyH%ZgTp63{?w^QF~RSbI%V8eSEnt*<%@x56gq|6 z_i>*sS+eLYd0yd}bLh1$mDEXoFs)u1BeeS0o@7bYhpbW|=(PhT$el)O_YtyPfdGw*P zjO?1#T zMaulpL9(P0>?8Hv`A`s1UB1=t)=n5ea~_pGJN9PdRR-7w3DuE442`TuMC*yD(R-{| zd()8|5iuJRmczG-jnRe$B4JC8*nSBBlF&{(KZCe}ZmXy+-Z38HD;tka zY!0QS*%w42ELFzbD1smn-T|~-F=Fc)KfPnyJTKIHMCu*0lDL~)*jZ!NJ94ggDb&0V zQSz-)V-Mcjpw7P6p)YtR=$?SOVJ6HeBt+6=5q8$2$lLgyWN~5|VS$ro4LOn{c&dI9K39*epGoAwxfgC9?8N|%1yTwOP;ytp>XLAeg7GVUu6T1L4nAxw3+XU)s z-5JJuF$m4~0e0wIIb5&SvE{E0=n04@8b!GTLy2?qI@RUR3E0*iJt@6Zc8WJX$F6fr9lS$+D2l{>cE?T5SG zMYq=vhTZQwUa5sTEwCV({GP?206ikI=*7A#j^ZnY4$~ZsaVp*B}$S_D*p3<}f^`MNdZEQvZ(=lfopWvBVvWD5SIV`k2 z)-bl%CCITS`-G|vrX9?tR!5)W4^Y1*u!^(gm6gHDa-j#U$iDzV)-YJk3z5M>jo!bE zZSzNY_{e@$9|_S85(+0usr#WPxm zF50B>k}1&(7Oz2qkifBp;VGCb|Jw1#kx^B^3jwVPMQ@c0oikpOQu{AY16Q^uK||P(FRvCpjvEGYwYc2s$ywo@4+Qa3d)2 zRUQ;Esn^#_{@Bki)yp=CuOK1_o<&VnOYOu82{1YkCTY?pW0n;#v|+3fVWg`|k1u$&(+nfzP*F+(Z&{h zArX?~VJD2vW+B^`lz+b)j1Aa~BTIBmK_*#Pe*gQgx>_#1YQ6W6O;`F%B@O``_0LMA zI7IZ3uY)I+42^U0-{m3I;biij>AXC-Vvdo4(0vt~ToMo)s)=4zs(6{ER>&Hy`GgZ| z)j#PlTE*K6hi|tz0)wgF);0 z4TA{2h<@Q;VHYl?_U?6ecMrIQ=}W+0ayYI&{dASVt-30m2y8PX`j-Fn)0M)jQyxka zOZQ!Zpj>ZPw2hPo&Y(t*^!8kBB+e9eCo@hLauNC@MZ1z3maV)ZIQ>;AAHzUN_*~}G zOh{==E3ZvkqhB&ue$1M*+M&u5-Q9srKMz_wAzB90$gB1!OvRmtQ??o$>f+c`9k0ps zc|Aa$CFB^i+HMtOa^ME2pFqW9`6e1GVgnJUQxeuJHlJ!6UG*_sFu9;&>RA85>Kbi}xrHp-= zr6$Gn&+m^(O6}hEGLPO74U7Z}0yd+Ggv@f4zFXBE=xxyztM~`aNzD%>WZF{S&)27; zIgf6feg>yfZH>ubI3{nD=1R~{g<#^Hlyq{P9a{BOwJ1tGKS)7E(GRm-YL7Zto_hS2 zIt4AN)k0clWn7KE&q;ypq}{b_BjM093XryvO2rnGgb`Lb6pDQ@#;9mjMU}LqJC&lA z!{yw(fX&5({p&3|EL-JVrw&rhm6D7yGyGz}vRbomw={zpXs6)*pMMfI!cykfv&KGP z3yS{2xBAg@5NpCF^Vf2qm}GEnsn?ANBNtMFrD#llBQ9wQi)cgxZ-pE;bWUoQo;wQf z&I(i9RLUD;jO+;GJ98Cq0BC5lxrl1AqiAQ-G^I=GmUs&8ygNw;PVG!yXU{ycriUli zk@!Z~QGc2K*I&;&0xlD-L@x0CFLsFT;+uNV43zf96p1O&+%K{D)xmXuO)e9ijv;yo zc*5>QqThTG$|?3=y!iI-q!c&I8k}*e5zYz|w#0la zmYl^4eK*=@Y!4~2%h`RfQFG098@+TjJX z5UA*iw%%??m2p~@w3A~KPD&CMv7N9GE)t_TsOuq2f(wQ5bZ=!P$&kc*!}&0;x+g&+ zuzsb-3&$&-Z>Xz_*>FsB_@+%eLHTY-~L7P8lle1+>y6rWF^Y&0H7X?tfVv9L}7 zMdPupK_00mXsbXq+p%kQPGzmW443I&ztNn;^pb*w#RYHRQrwH48=z-sN-ZY21lX6Hva6M~)7 zDFewf>S9Q#)%G@*#fGE{$`cva{B+i5g+d&n1fK7D^_5dAySjLO-T3(S?ZBqW z+rj#AaZ5{aVDvqnhr1U_`L_57T?9GYdnn(>FVfE^W%IUSQfG*7^9@4ljeFxWuCeCz zC2z5bar^%btyC)4h$Gg)hVL_@%$;?xH5&3DCmkWXE*!3!-2+dYOqmvr5B6 zU}vR4Nh779wUuRcR@;Mt@Wb=TeE!6J2(K_rQ>^qh>PNv{>~lJrH30#Nl0uD5H)yLl;)!(cXf1ZX;mM%j78Og>4ISEas- zfDG-)1dCgz35krS=a+qj3l%e-TIa+5}yj(f^|Swi>rb`mz}f2uR=mPp!N}5F9fKmtg|Ol_}ti_^BXiiGOSoq@+6Ek z+ub@HtS(x!Y$=QnPG$l{>cCygYx+3*5HU8iLNYOP?MgzRIWb)F(qq3|xH3JyHGbW% zj=Y?#kXnMy?;ty99@ix>)^+x|txqJmH>V#HgmH9dSYCx=G^_0mRh$;4Xni6;p;_q>} z9A-2#NeDbiduz3q2FS-xu<0Rb%|U>eYF(}~Vq2OKKU188SLkr*M0_* zV>7u-P@~y~qAC^oOXTAZ$|waqz!xtr$s%-wAAhX2GTR$_$9v_rfB0csc8PC9o2)Il zuRS+yhF@Oohi8OgqHT#rE?Sc0-=kB-(Ow2Z$=FdWtyi#AQ@-q=)|jpSQP55lKkGnu z5#rXoQ)-gFr=@dfXm!XuvLPhmNZmdi9yG;KOp`S5%*Ez4+$9Vi44$_l963meo+>N# zG`A+FRoq7 zmz31|LEt1lg-;S;ive|;_Q+`35I9C)8$QMdPv^&~n=?m|O9AvFikc2K*iax~M;>>< z1gPJPaizaSthKk@125QY-=F)QufR41!CLy8h515mU(<03hx`PM@FNp&1*d(+X2A3z zs+4(B+d1n7CqyL#D=TB?RkqyKJWd7WBlW$7YmN#g$3?q$RM?AP||5*Hsxz&6A*RCaGDH8TI--;f|}b6HOjoEQp!+WY84D+=O}YR3~-m>j!a0bauMH zxzojT!jAzs6U*Ru+>IKOn}CVRN|tdq@Dfw94mR0&u(D}Y27mNEC=FOAN;6dHX-)tP zLR^Wmd?vVT_NBp(aqD|VX&np(4CbKp9jcu>cFIcrg88~a&i0Y*{WY1dKAKb(ni|#< zE-YE zR+TMutHNqZQ)MO-ZapsI(2?ZCbH0X<3=(c%r>W%KELJVHN*LIPsEWW4sy2_al7A4Y zQ6$b-T7<1uw_O&J<(0w1Ut2FI*K-g$_7T5}s#1P7xJv;y>Mp!XFQv=-Pu1GXG13LqJMs4Lo_+$^#c*m_V)cm8B69EgFM@ zTOe!^PaE-8w77+2w^@QWOXERr)EnHlgyv~|?Hli+mGPb0*_i z5n>%0RISRhxy(bM=NfFD6v-TV%Q##BhzxAB=oGmV4Vf5SU(CGOM#|v|r?4jxO^a}* z_<^cFusi})nQeVgw@&lk)eaTjw(1O^Diz1&x9GZq*p=sUY$$VRS}cuGkjG0jy*0C* z3LnT=Yinhwk`5yQsbHN-Vl?P56p)aC0JN@frc}h_lkYUWvBkxif<09D$}BCOyE!PQ zLTpiX)G)6mA#17K!03T(G4r@2y=uOF2D%Dx85Q5|CzheI@?=0jj?Z;7iZ9*Euf7w$(b?Yx76Cy0g1$q`QC9FM|yY zXlUx$?Tvn{vx8+zN|wX-+9*rd8g)%~ca3_kup_F_WE%22*-+=m4$!Sx!+RF%dzgd=JN*yCvE}f7l&GbxumM5 z1(-`-(3qUdVZ-KbD)YgzWNtp~uS!P9bO|+$rd1B{f!$-N;)Q2tf;iQG{82h zBP&bZWm@`?yU#RlKc2!uSm};VG=u={|CrP?#!^Ml-Ya|+2R7YDg0xa2kMioqv=rlf zul;k}Yn}+uj1^9rS6;tDg{~KfLh1#@!n`jW4Q?S{0U=vmB)f53) zHrD6q6OQMg(4eUrJcfU@&#*!_zAli6zLt zC#-;Yawt5|Tvu=0G-E!qOLFG*IvhZrx$-S))t8M8ddM`*jX{yP77}9D+ z?W3<&iL|LY`(dW{X4ne?uz>=9WPlm`PJw4P6$ceJs1?Ki^A_Ypf)(e@e#-^{w?v-Z zG<4b-^UV4{Kj`Bll$G@d7bnL8v0+MGee4@=%@3F;Sh#zDWzv)GU`-kp?FHVREsPB5WHuDp}8~H}-nq%JeP4j#1{@hZ! zp$r&pPOLpvgGt=5IY?pLFh6z7Sna$W_DgCm6;~C{%cxIHTvEcx{uF0c1saM0l@0$V zVs)D&cgR&g?#@rp`8J=Cb}USosX9@D{co{P7hk<@GdtJX?|{=h>z{0gB-@_YP@|-I ztS>(p+&7q$kySeG&3VduU%dXuNhZHSA7AzI%=K5+q0YalU7b}9cJ<_Z@X71m`?W$- zxaYqD@nt0d_pHF^PywzSk#Jsk_fZZM>u5#(ZYP7!zI>(_9$|}!$W64RPf&)voE0vP zeBEy0SbVqcT6z*`W1s<6Fl(bBK~iSI0*I%Qm}37B^7kyf;J_{z1$@`|K1&uZtx zUOau4mr#zJEa&E=5I-zRDcn;k`xk&q|>KQ&L9Mv{ACRKz%CE~$*(L!SO` zGHxOFuD0sO6(rSrLzd>qCw`T(JVjjWEE#4PXAl*z!gTf%7JQjmsSwUuo3bV4zHsK! z+~8na43_PUZPJXHYw5AD!G0At4!IYuJfWIm?2vQRntI9@rxM6z!)JHy?!~cgT>Sa! zzY`QEB7NnZ^E*di_;FHx7=)e56<+=KGu#-Nl`a2aqQmmOj0P9f>p6ftFjafi?QXrYU6fdRgghhqBI0G zvlC^a<1cZ9Sj?Y@aSy|kmY|X#i?Wyh8CGR9#Z{EhfSd7GMWW+RniJDvF$XgANz0D^ zan2E<439MY5ybrC?|Y&DdWFI^Iw3hB&2IMn^4swmgEdHw$){SwKv>Z*UW~yIB;WId z6eVN;22IlJ)rikc2}&DC3s9^|PX%r~)HZ4T(y3KLW!i65zs*?cJ+4yMZOk2X->GeK@>{4{q2*dDcKNi*MLSfuSRUY*w2x zgE0O=pH?}EmZsD$@G7v?_U)M}rEY;wAyh2#X~65?1NwgXm%jpQ*l5^@)^8MB)6b4s z6Vuage*X(^T>mChefOpHxQ%wzdOK*i6)TPr%jIJypO%|6a(c(u$A@{rfs*sG5v7>i zu#?sQ_b3PJMI#kGs*tZ^>a(NvMn&$cXWL5*twMOxAh&L&HF?3`#>nqV>{bU)1Zz-K zafWoRVr*QRGFgf8az>akoF?Sy7UN5GYQ6StO@Y>N$8j6|mnvPsuiqSwy&IoXmSbYV zgFJQ*sJ>si@Gz?`OM<_5i!2%GNZ8sl|66rfwC&4X{hdGlTYUL`ChV;?KR!6$98Z&B zycn%FCA%&9mFWlyj&HkdcOf2`dFBfA$99a$z>ecEz1ak*)#cIIx|wfE+-QvO4%|$?9N=vl6U73- zWCq{gHRj_@co+^emW~F--_Ete3S#q+Se<^Vb*(`n;}M~V-<1>`3%)3y#U2yV`k3ar zAq{>ZGO{oooQ>tBUm$*&ovLx0sK!fs+do))R*}jxF3dO>q}m|mZBS*W0#g^6iwhP9 zIxHbzti(^sd`0m5_MVIcD?q!M8uz~9pu27fv+z_E|4!cKzT@6 zE2v5wICqqCT_-IMFD+vysSyNC4qT~OC)UbEQ8^T_)NX;IMHAGL?XE-GVPWYMn}^_- z1afe`b_vEUvj|`(`T;~QMQ#2P0J4tMCD%js7B2ukQ>c|z=0r5R&mHD&XtP|GZKgw; z7(%_O^YCQeeLo8wPIAqX zp!b`~mE+1ECh!TS5N_Q&GX`geB4={}KKR-yD)qr_!zuwPcs7gY^W_Tvb&BR^Jh`^C3|n}0nJ zQjuIl2AG6sC0EfZTHbor+d0hfDOij7z?)6(rv9DziHMsfcafjlO6OXs!wCnmrq{P~88$&_G6dn$pii5^uzyU~|jkBu=-1 z*5b*#ZotS(7+HQm#oo;1Am<}+c6$BeP>xA&q3pB#con#~PqoobSj6_m2NQNWSuTYa zG}OtTWlP&#@{karC`lwlbv62?rfR(z(e@%{cVklz>wwE!WGD2Fa8rk=Gt8;okQG{NN+ThiI|>Fs3c7O&Xlato~u0nh$UfiV>u zJ{-vD@MkxHd1PDYU6nHke+ixPPP}Hl#7aR$(t61FU2Us->N_^V9SV8c4Xv zir9;iA1-QtpvDhyG3O9(!nti?(o`BcD=Rw-fK3Y2wB01Q};;eHyqS6jb(}2O53=RhEBLvosqD=9V4DUbg z(h|DRzuyFGQKj9*a~Pk4Q66mT;0)^H2{4HlrY7&QzBpPl zb&>FZjN7H%4o+jW$v25yIK(P8vM>w<^TO7Ob^#*6!04dCEYoRbLf9X!4d<{eSs6ac zSUH&DY-X4TGnT;1i$%!vi*W*4Stna%1%LdzH|sH^HPIVsT8mTNuiRV5hCPh>=sQ)- zd*(H7J@Gb@ZNPCUO4k@dADFx^Y$}Z>e|$#J%aa9ip!5{PAEf1-iGfg1GPqyCuTJgi zhZ^}5#eW7G-6vgXC&&TWxS7KmZDUAHcfcGQx5HM?K-8?m0 zogs^T>8DR5b`~&Kp7oMfA+I=wQ%zV}SRtwq$jQobHZoVwWqZYAVfkkaX7GVT*)j>| z%i%nmXOxU1foGlMmBu0SJw}eADoEvDvW=X8?-hD5tcl0slds@niozzBwT!}rA!1Q5 z#bIq2*3J{rgymq++MdmY7s21GoQqHWBF3j472sDo_$;r9hYiQ^34F}Lhya|J4e*r3 zpdM>#H=;42^%&Uw&&^e<-Isd%>_I`dGr@SQxY*v;J2uhzD#XfaVNwwWmnu;pmY*bC zy~dZ)XlOT~*ArAigDGF3wd1eqG@4TLleMgm=8!2DaUyJr?a0nLF^4gYz$%i5MH(v% zu`kWLvi|IP@4(1|C=Sv9i}MsanK8qfzW$0~PF}TJ{fHW_OK)<;#{i{F*1dDX|N~Baz)U9F|<~k=mVCy{wW{*XcOWlnG<|)}WKetu~BT z0`Y4oz@n0y7mg@tffdXo^m`p<)4RJwXbPK<33If`BFSQoqkR)hp!XEDO8;Hs7; zw%Hf#O5V=`ErWl)lejEl21qYr6JJv{whixGQIR8yoDmq2tSkFf6x_OnZiq|~r9pLT z{|u>2a@+6l<}o59&#-cE*C$8n(p)$USmHnvrjdKLrB~q_ucKV+bas|DBv%#%5yK3t z9WLXQSEFw>9l6`&DPxwN+3{>^KoOv5G`jN5)af@5JM|QmTRC&##djFV@!szBqhC4p&7*BwJTA?kV2?ZZ1;^dM=L}|pqqDQ$5~7y( zc0{Wsc8NOLm-9p*crqss9Ottl6a;&6)3=Xqi|K2DnlWr75f-*N&>)a(?vn_@!y7X` z{)klSlw?awhP#kpXD#N4OU{gHJW4z|fAi)?PUF$C>KYc8$$W#`J?r}0+D?SV3s3NR z3uj*ZlHtBb?*cLcxA*axUJjuGn?JaCsCQ;|A}LI$3^{a=VGrF=gUmuL*3vS1t;HhY z$_{4Ke?0f$m%C@q0Ov1iPmUIH65iWwZ#H?f(VBJ1aB}oX?GY|ECdb#>Dj>T_c6p^V zQ4$+nk@Mw{h{&e$>_o@@h zt+qE&Q|ugPh zifUf+4<4#fg9Ab7S(fh^%eMLzU!p?rgdoOK)BaXi(N-_Z^rE(7&5i`V1EDL?ji3A# z332sn8TiokDpw5zkmMILS=mAt)@r3~HIQFmSvw8Z_&&je3fj@ny!X7he6C#nTs?E! zLm}u_RBgR?U2}+H+*9*N)vnn|1I@t)j*J|0U=eW6c;fPZAAA2`Ah=4=|1gw)howK8 zGg9U2o!!%|on=%Mz}m+NDM8t#dr3(JL2^Mrx37b|{O5V*%!fG>&$B?|SJ`6%Ou&4c97HPq;ulZ+ia14EzQowzUS0%f`?WQYWoFvJ2 z!VlRjULopX0ymr6{({)<4^3-V5`Jq~9R52GW78)EM~4EjR6W>g9GWclYB-2Qbu$WutlDuCI%U#^s9Y7cksQiLBhO?mUvEwNicN3i&=0R9I~8|? zpD+QI@4y{moR%)#2ok zrl_mhfLyK35XCU#T7CLR5UJD6DZd9(~ zmfYFJ4B^tz*r8lkXBB$sD;K#Kw`6Yvf*n-MOij%!+!Qpp6p+fzHMn?g+-yYi$@9SV z9FjY>YlTYbqr`PN^etCI=YhF;497dt^9aprxw!e9rc$TX{Icu4qxGTVc#%5Bu8dV| z8@YWMtH;>JI2o7Sbm~G?(mD#%Gxpw+n4}0spvL!_a@+rhqj3aWuZ|e+3>4C!cs{Psr#XXr@4crEt zP9&@CV)|ms$*>CslCvu+ZZ_sbV(-xM%c&&5=T4i_NuKlSx8w)IikAa)UrPw1IVcj+ z++;zu*7d|;l%=YoxD#?M@&vDJK6W(Zpg7Gt$7AVt=k3yp1?nRqL;Kq)8n?vr z>l*wHon`^5d(D=gMysg7i$0=O-7$#RsqNG%{@BU9q@e6u%s(ZPj`WJ@A07Xwxpo`{ z4A@eIq4_`YZx*`BH_A@L3UsdxoT(y0n^PJOqg>@L3Flu=l|%_2lrn zsOu#YL59@LO}tgBp+ue)TG>BiZcDmw&g`)gvQ9HC{v{4l_ zOfezGh@?;4o~Qj0;#$f#XeQzk_fj_P{g5t| zvaP4)o1tWO|F#6x5*#4j-#EAA`CGp@mJQKvHMO7SFd2(kRwh85b9Ym${L^%#MzPL- z?Gdy0`vsC@Q=LQoG_z%U@4>mtO!7HaTp4a;>hDiy*N;!qXCEb{zP~&ix;1vQ22B$I zy?O7X*JF;Zi+hMySecx{52K9gOYfFtEv`XB!*9;eud_f8wUl>Ul}%LLo3=4B~i4UqYh#w*x!NfM-=Ai2x3hn z(+#m#`VxPBdy+_3&H;%026MMVQUq>mGE5a=;~p6FrMo+HWDGCExodXjD7#DGd>C1ea>z=)2y7 z6e`L7J9b*Inf_CkY{3#}_nz{Z`~2D9{0frpY#?nZ$8Nux&t}_A?=W+4JFc0*Z&t2f zY7stZHT83$>HQUM22e|mod80^w}NNC%hS^n_Oi7XLv7V`B^(+bIGra5?_~u%CGsKzge=)7)Qhje(q^PZa zW^1a^x!M*u8L|csSh^6E-54sxfJMslv!uo)Tvqx;)}Rge>Y%mZhU0mWND&mI3T~D=2!IZX~CyN12?Z*W>a=P3^I(=!SO3Pf!Q$9|`c? zVub|Eoe_}xslY*uQ7*2l@f^sTnqe10;mRQTD7aPvyA4e-xlnQBy)a`d@Zfrn zQuu46G#0~~m6rHaHs!ed$GuRK$OyOMmp$RR0=Rsr&yBJ1+)#Cr$G%?}Z1NANymThIA@XQ08jmA zfb2+XEp?b6ZF@8LB4Qi!dhE9ob9q4b_v6`G)Vq#A1PWHYSk~@TcPQp^2MoM{dw)Ax zYFR`EiltTyU4T}^Py(VsmCKZ~CSSXolryg2Qo%m3Oed*a8}RgTLj0%u%z|ejx=;1G zpA4rYjsPbVc~&Mfg2qdu6WpFz6E_;Z`^Hptw?4oe+wpBnNqA3nn(Pf| zx-nkkN;)w+l7f}P8mG)*r(3tZSpFW~onKFngf>Tcz^>_VOx2@3pwqM95e>E> zX~PneiEOfV?}jYw_pD&fU*zaD1bL=1`MbHKDRO7_{AgCM38(UTttI7N*)`?W3$UhF zhdzP8ZHD4u_=G!8EmHd2C*-j!OG9xN{i(HvMv(S#qffItNo>x0Le)JwbX3@{gnK>` zymZZl=>tU8jC#&1S2c@)e5Oh&k7wdJ%?J!F;!<+0G13VJF3MAyw0B3O`5}_sh%TcQ z8%ij{rYz?o$6VBc>$bE`m*;7h{#|FsjRbnN?non$&NIPcq?fnPlPIqtnxa;}QBjt1 zms=7PVe$pk$+7BaC)Q~MM5S#oJ^Pc_=#|W*iv^PL0N{JfO8*$Wc&)h*g%!uNn@r=y z26VKn*w-PJ(IqQ2vx1~KmHm7)+C%L@1t}|;{Z?&Zgob*>azwi&*olFM$CzF$k3XRQ zBrX5uylA#yg1bu7iZ{|T+h#`kIW_u_^rRj1$48ZQ?}xN!Uux#v{RCp5`j*ut=W6L$ z;xog1wB{8Fq950LA&WuZa|vg_14hC~qkC1W6>3i=_6nrxjl?MWk6LD%4qSORgu~hj z4xR(KeWw9^v5cja5RPUUSazaRF?xZt@aCv~fApLed@5u+r5#&IuB!~%vN22K*DUq0 zFL)g?5?o@{;KieA8N=MwOEuV96|aX>o4wyjd4| z78){vZ9zFfHom>^3he8lp)+4*w#Bq8%bPvzB=@nVkTmNdl!lrZFch(GuWKY`H)lSz zpfw6&KRZ8AZ*8#CtB~H{{BrlnsFqi{!wSvW1Ah79U7(NEc*u{ab6K#rX2urns(&ps zjZK9mnC?*(pA?-;vE5J2n5c1d{__A5k6TeTRqJmA9-bThoI9e@jNTjISDBsw8xzA< z9tn)TOuOf!v)<`x88%OYe-!1htEGU;ipIZl1**?ZvlT(WwsLOvB8i{05r~O?-Ot;( zC?6|6gh59svdf#&f&L?folgpdPMTQa3m+Z0+oyx7+P9tWmiN*@#l!4Q5cM7N^9`dJ z#L|LmK{NT>X5dZ|5>z)3*YeqN_nslBbsI;iOvm}0oe%vg#$w)wJ#Ggl3txV13E6<* za&W0=07o&wmk+Vl-bCpM1wY)hp`C~mi93ek<;pc}M=`qW;a&+Tq5&CMtGw=Jz-uN1 zvabc32XXcI7uGIfXwzG_TsJ_F=c+1wmIBUh%k`(qji2`}vN%KPClPs{jiKNDT_i*# zpOHs=fZe?o&AfgZ_cjyP@9J64w!N#oufnI~YLT89yV7#`GTb4j>r2W z+;KhDB^&NE?@t?%O(?E|-oip>&$~QRoSh5^^?u1*7QVjm&QssteyylNLYRT~-W%1L zoxA?!m$d88lc}TJ1K@l;Myurn1#P<}8OFxgui327S2JtS{+`tlU*oGHJlT zBgL#OYe4LEyjK^{w(DFDZCyQXri>M5hh_#2b>OAx-qyE3P~2=ei~(gVJI;H5E7@>c zhE;(eKa|v9SjJywAgo1&nQ3yz2Ey+?#LUFI=e5;dTJxWb%(Nr76>2}rbb>yQ`d8`s z%R}8e%7~d%einM_#nGNf5&On6EFy*8u={#U2K)6g-hVx&r)Ia}Ci68SfOEQT>@2mV zn=`{ctgrO`#E-*gv0X7@RZYsjqc!BhJF#+rHPO@MK)qci0V#1S1=>~%$gLE*dVC%- zKZKKt^3$Pxweq2kts92jSu4x_39N)C&0&&_5igui7{V5lRMI6rwZiej-iP`5TT{+_ zEAe%qDO{p*Yn@44^rxHsN%qFqg?cB;IB7;}gT~;D{DZ&&_W_OSGs^m>PW2g+!W$ zw7A=T!pt8ct!W?O)}joyraU`-g#HnQM@^JaOhDXZ+D5*`YeFH#pq1+3dYbL4Ws{$a z63myA41S3UL;jGPMpHl&lzRomVn|FD6F};YfRvsJuci{C0iPu~Gb9U4Uem)?nFmhH zwzl~y9cRly4_RR*9mEHB0~QZ)ByeTb30UQ$E#G}2msa=_sHQ#kWUPvI>J-Woo%pKn zV^wj+_uUBR^v~{dv8Ro}-v6hIj@CmY=ROa^A;NYx)ln{PMWpM$4-#SW=-1KVp;{ct zKqU=#?T$vPeX4_^{Wzot8;rtH^egF-bj^YtJ}+6y&C;;^x%(z$@l zsr#N?uDO*}H}|1|tXn#-t@!S2v`8K}48N%6+u(o8rvK66o0$|b8;9uZ*KIbeZj+-Z>P~F5<(rEJ|fTGY_ukK!`;@11n29O;e1k(T{>mbhp zkP$&kLnwf}KgIt#0ug-lPoE%y7=ID_FQWfNtiOo)7jgcDb^n?mNZnuEy1%-0e|78r z>el_$t-}GBzM&-7v@vgX{EM!i(f+xDd=>zI5%(|7oe|Ta{l`N1A8Y.switch__handle{left:21px;box-shadow:0 3px 2px rgba(0,0,0,.25)}:disabled+.switch__toggle{opacity:.3;cursor:default;pointer-events:none}.switch__touch{position:absolute;top:-5px;bottom:-5px;left:-10px;right:-10px}.switch--material{width:36px;height:24px;padding:0 10px;min-width:36px}.switch--material__toggle{background-color:#b0afaf;background-color:var(--material-switch-inactive-background-color);margin-top:5px;height:14px;box-shadow:none}.switch--material__input{right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none;z-index:0}.switch--material__handle{background-color:#f1f1f1;background-color:var(--material-switch-inactive-thumb-color);left:0;margin-top:-5px;width:20px;height:20px;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.4)}:checked+.switch--material__toggle{background-color:#77c2bb;background-color:var(--material-switch-active-background-color);box-shadow:none}:checked+.switch--material__toggle>.switch--material__handle{left:16px;background-color:#009688;background-color:var(--material-switch-active-thumb-color);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.switch--material__handle:before{background:0 0;content:'';display:block;width:100%;height:100%;border-radius:50%;z-index:0;box-shadow:0 0 0 0 rgba(0,0,0,.12);transition:box-shadow .1s linear}.switch--material__toggle>.switch--active__handle:before{box-shadow:0 0 0 14px rgba(0,0,0,.12)}:checked+.switch--material__toggle>.switch--active__handle:before{animation:blend-box-shadow 1s -.2s linear forwards paused}@-webkit-keyframes blend-box-shadow{0%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 14px #009688;box-shadow:0 0 0 14px var(--material-switch-active-thumb-color)}}@keyframes blend-box-shadow{0%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 14px #009688;box-shadow:0 0 0 14px var(--material-switch-active-thumb-color)}}.switch--material__touch{position:absolute;top:-10px;bottom:-10px;left:-15px;right:-15px}:root{--range-thumb-size:28px;--range-track-height:2px;--material-range-track-height:2px;--material-range-thumb-size:14px;--material-range-thumb-radius:calc(var(--material-range-thumb-size) / 2);--material-range-thumb-vertical-margin:24px;--material-range-thumb-horizontal-margin:2px}.range{display:inline-block;position:relative;width:100px;height:calc(28px + 2px);height:calc(var(--range-thumb-size) + 2px);margin:0;padding:0;background-image:linear-gradient(#a4aab3,#a4aab3);background-image:linear-gradient(var(--range-track-background-color),var(--range-track-background-color));background-position:left center;background-size:100% 2px;background-size:100% var(--range-track-height);background-repeat:no-repeat;background-color:transparent}.range__input{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;vertical-align:top;outline:0;line-height:1;-webkit-appearance:none;appearance:none;background-image:linear-gradient(rgba(24,103,194,.81),rgba(24,103,194,.81));background-image:linear-gradient(var(--range-track-background-color-active),var(--range-track-background-color-active));background-position:left center;background-size:0 2px;background-size:0 var(--range-track-height);background-repeat:no-repeat;height:calc(28px + 2px);height:calc(var(--range-thumb-size) + 2px);position:relative;z-index:1;width:100%}.range__input::-moz-range-track{position:relative;border:none;background:0 0;box-shadow:none;top:0;margin:0;padding:0}.range__input::-ms-track{position:relative;border:none;background-color:#a4aab3;background-color:var(--range-track-background-color);height:0;border-radius:50%}.range__input::-webkit-slider-thumb{cursor:pointer;position:relative;height:28px;height:var(--range-thumb-size);width:28px;width:var(--range-thumb-size);background-color:#fff;background-color:var(--range-thumb-background-color);border:none;box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25);border-radius:50%;margin:0;padding:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;top:0;z-index:1}.range__input::-moz-range-thumb{cursor:pointer;position:relative;height:28px;height:var(--range-thumb-size);width:28px;width:var(--range-thumb-size);background-color:#fff;background-color:var(--range-thumb-background-color);border:none;box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25);border-radius:50%;margin:0;padding:0}.range__input::-ms-thumb{cursor:pointer;position:relative;height:28px;height:var(--range-thumb-size);width:28px;width:var(--range-thumb-size);background-color:#fff;background-color:var(--range-thumb-background-color);border:none;box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25);border-radius:50%;margin:0;padding:0;top:0}.range__input::-ms-fill-lower{height:2px;background-color:rgba(24,103,194,.81);background-color:var(--range-track-background-color-active)}.range__input::-ms-tooltip{display:none}.range__input:disabled{opacity:1;pointer-events:none}.range__focus-ring{pointer-events:none;top:0;left:0;display:none;box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;border:none;vertical-align:top;outline:0;line-height:1;-webkit-appearance:none;appearance:none;background:0 0;height:calc(28px + 2px);height:calc(var(--range-thumb-size) + 2px);position:absolute;z-index:0;width:100%}.range--disabled{cursor:default;pointer-events:none}.range--material{position:relative;background-image:linear-gradient(#bdbdbd,#bdbdbd);background-image:linear-gradient(var(--material-range-track-color),var(--material-range-track-color))}.range--material__input{background-image:linear-gradient(#009688,#009688);background-image:linear-gradient(var(--material-range-thumb-color),var(--material-range-thumb-color));background-position:center left;background-size:0 2px}.range--material__focus-ring{display:block}.range--material__focus-ring::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;width:var(--material-range-thumb-size);height:14px;height:var(--material-range-thumb-size);border:none;box-shadow:0 0 0 calc((32px - 14px)/ 2) #009688;box-shadow:0 0 0 calc((32px - var(--material-range-thumb-size))/ 2) var(--material-range-thumb-color);background-color:#009688;background-color:var(--material-range-thumb-color);border-radius:50%;opacity:0;-webkit-transition:opacity .25s ease-out,-webkit-transform .25s ease-out;transition:opacity .25s ease-out,-webkit-transform .25s ease-out;transition:opacity .25s ease-out,transform .25s ease-out;transition:opacity .25s ease-out,transform .25s ease-out,-webkit-transform .25s ease-out}.range--material__input.range__input--active+.range--material__focus-ring::-webkit-slider-thumb{opacity:.2;-webkit-transform:scale(1.5,1.5,1.5);transform:scale(1.5,1.5,1.5)}.range--material__input::-webkit-slider-thumb{position:relative;box-sizing:border-box;border:none;background-color:transparent;width:14px;width:var(--material-range-thumb-size);height:32px;border-radius:0;box-shadow:none;background-image:radial-gradient(circle farthest-corner,#009688 0,#009688 calc(calc(14px / 2) - .4px),transparent calc(14px / 2));background-image:radial-gradient(circle farthest-corner,var(--material-range-thumb-color) 0,var(--material-range-thumb-color) calc(var(--material-range-thumb-radius) - .4px),transparent var(--material-range-thumb-radius));-webkit-transition:-webkit-transform .1s linear;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear;overflow:visible}.range--material__input[_zero]::-webkit-slider-thumb{background-image:radial-gradient(circle farthest-corner,#f2f2f2 0,#f2f2f2 4px,#bdbdbd 4px,#bdbdbd calc(calc(14px / 2) - .6px),transparent calc(calc(14px / 2)));background-image:radial-gradient(circle farthest-corner,var(--material-range-zero-thumb-color) 0,var(--material-range-zero-thumb-color) 4px,var(--material-range-track-color) 4px,var(--material-range-track-color) calc(var(--material-range-thumb-radius) - .6px),transparent calc(var(--material-range-thumb-radius)))}.range--material__input[_zero]+.range--material__focus-ring::-webkit-slider-thumb{box-shadow:0 0 0 calc((32px - 14px)/ 2) #bdbdbd;box-shadow:0 0 0 calc((32px - var(--material-range-thumb-size))/ 2) var(--material-range-track-color)}.range--material__input::-moz-range-track{background:0 0}.range--material__input::-moz-range-thumb,.range--material__input:focus::-moz-range-thumb{box-sizing:border-box;border:none;width:14px;width:var(--material-range-thumb-size);height:32px;border-radius:0;background-color:transparent;background-image:-moz-radial-gradient(circle farthest-corner,var(--material-range-thumb-color) 0,var(--material-range-thumb-color) calc(var(--material-range-thumb-radius) - .4px),transparent var(--material-range-thumb-radius));box-shadow:none}.range--material__input.range__input--active::-webkit-slider-thumb,.range--material__input:active::-webkit-slider-thumb{transform:scale(1.5);-webkit-transition:-webkit-transform .1s linear;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear}.range--material__input:disabled::-webkit-slider-thumb{background-image:radial-gradient(circle farthest-corner,#b0b0b0 0,#b0b0b0 4px,#eee 4.4px,#eee calc(calc(14px / 2) + .6px),transparent calc(calc(14px / 2) + .6px));background-image:radial-gradient(circle farthest-corner,var(--material-range-disabled-thumb-color) 0,var(--material-range-disabled-thumb-color) 4px,var(--material-range-disabled-thumb-border-color) 4.4px,var(--material-range-disabled-thumb-border-color) calc(var(--material-range-thumb-radius) + .6px),transparent calc(var(--material-range-thumb-radius) + .6px));-webkit-transition:none;transition:none}.range--material__input:disabled::-moz-range-thumb{background-image:-moz-radial-gradient(circle farthest-corner,var(--material-range-disabled-thumb-color) 0,var(--material-range-disabled-thumb-color) 4px,var(--material-range-disabled-thumb-border-color) 4.4px,var(--material-range-disabled-thumb-border-color) calc(var(--material-range-thumb-radius) + .6px),transparent calc(var(--material-range-thumb-radius) + .6px));-moz-transition:none;transition:none}:root{--notification-border-radius:19px;--notification-width:auto;--notification-height:19px;--notification-min-width:19px;--notification-padding:0 4px;--notification-font-weight:var(--font-weight);--notification-font-size:16px;--material-notification-font-size:16px;--material-notification-font-weight:500}.notification{position:relative;display:inline-block;vertical-align:top;font:inherit;border:none;box-sizing:border-box;background:0 0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none;margin:0;padding:0 4px;padding:var(--notification-padding);width:auto;width:var(--notification-width);height:19px;height:var(--notification-height);border-radius:19px;border-radius:var(--notification-border-radius);background-color:#dc5236;background-color:var(--notification-background-color);color:#fff;color:var(--notification-color);text-align:center;font-size:16px;font-size:var(--notification-font-size);min-width:19px;min-width:var(--notification-min-width);line-height:19px;line-height:var(--notification-height);font-weight:400;font-weight:var(--notification-font-weight)}.notification:empty{display:none}.notification--material{-webkit-font-smoothing:antialiased;background-color:#e91e63;background-color:var(--material-notification-background-color);font-size:16px;font-size:var(--material-notification-font-size);font-weight:500;font-weight:var(--material-notification-font-weight);color:#fff;color:var(--material-notification-color)}:root{--toolbar-separator-color:var(--toolbar-border-color);--toolbar-height:44px;--toolbar-box-shadow:none;--toolbar-padding:0;--toolbar-separator:1px solid var(--toolbar-separator-color);--toolbar-material-height:56px}.toolbar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;z-index:2;display:-webkit-flex;display:flex;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:44px;height:var(--toolbar-height);padding-left:0;padding-left:var(--toolbar-padding);padding-right:0;padding-right:var(--toolbar-padding);background:#fff;background:var(--toolbar-background-color);color:#1f1f21;color:var(--toolbar-text-color);box-shadow:none;box-shadow:var(--toolbar-box-shadow);font-weight:400;font-weight:var(--font-weight);width:100%;white-space:nowrap;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#bbb,#bbb 100%);background-image:linear-gradient(0deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.toolbar{background-image:linear-gradient(0deg,#bbb,#bbb 50%,transparent 50%);background-image:linear-gradient(0deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 50%,transparent 50%)}}.toolbar__bg{background:#fff;background:var(--toolbar-background-color)}.toolbar__item{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;height:44px;height:var(--toolbar-height);overflow:visible;display:block;vertical-align:middle}.toolbar__left{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;max-width:50%;width:27%;text-align:left;line-height:44px;line-height:var(--toolbar-height)}.toolbar__right{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;max-width:50%;width:27%;text-align:right;line-height:44px;line-height:var(--toolbar-height)}.toolbar__center{box-sizing:border-box;padding:0;margin:0;font:inherit;background:0 0;border:none;width:46%;text-align:center;line-height:44px;line-height:var(--toolbar-height);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);color:#1f1f21;color:var(--toolbar-text-color)}.toolbar__title{line-height:44px;line-height:var(--toolbar-height);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);color:#1f1f21;color:var(--toolbar-text-color);margin:0;padding:0;overflow:visible}.toolbar__center:first-child:last-child{width:100%}.bottom-bar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;white-space:nowrap;overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;z-index:2;display:block;height:44px;height:var(--toolbar-height);padding-left:0;padding-left:var(--toolbar-padding);padding-right:0;padding-right:var(--toolbar-padding);background:#fff;background:var(--toolbar-background-color);color:#1f1f21;color:var(--toolbar-text-color);box-shadow:none;box-shadow:var(--toolbar-box-shadow);font-weight:400;font-weight:var(--font-weight);border-bottom:none;position:absolute;bottom:0;right:0;left:0;border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#bbb,#bbb 100%);background-image:linear-gradient(180deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.bottom-bar{background-image:linear-gradient(180deg,#bbb,#bbb 50%,transparent 50%);background-image:linear-gradient(180deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 50%,transparent 50%)}}.bottom-bar__line-height{line-height:44px;line-height:var(--toolbar-height);padding-bottom:0;padding-top:0}.bottom-bar--aligned{display:-webkit-flex;display:flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;line-height:44px;line-height:var(--toolbar-height)}.bottom-bar--transparent{background-color:transparent;background-image:none;border:none}.toolbar--material{display:-webkit-flex;display:flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-justify-content:space-between;justify-content:space-between;height:56px;height:var(--toolbar-material-height);border-bottom:0;box-shadow:0 1px 5px rgba(0,0,0,.3);padding:0;background-color:#009688;background-color:var(--material-toolbar-background-color);background-size:0}.toolbar--noshadow{box-shadow:none;background-image:none;border-bottom:none}.toolbar--material__left,.toolbar--material__right{-webkit-font-smoothing:antialiased;font-size:20px;font-weight:500;color:#fff;color:var(--material-toolbar-text-color);height:56px;height:var(--toolbar-material-height);min-width:72px;width:auto;line-height:56px;line-height:var(--toolbar-material-height)}.toolbar--material__center{-webkit-font-smoothing:antialiased;font-size:20px;font-weight:500;color:#fff;color:var(--material-toolbar-text-color);height:56px;height:var(--toolbar-material-height);width:auto;-webkit-flex-grow:1;flex-grow:1;overflow:hidden;text-overflow:ellipsis;text-align:left;line-height:56px;line-height:var(--toolbar-material-height)}.toolbar--material__center:first-child{margin-left:16px}.toolbar--material__center:last-child{margin-right:16px}.toolbar--material__left:empty,.toolbar--material__right:empty{min-width:16px}.toolbar--transparent{background-color:transparent;box-shadow:none;background-image:none;border-bottom:none}:root{--button-text-color:white;--button-quiet-color:var(--highlight-color);--button-cta-color:white;--button-large-padding:4px 12px;--button-padding:4px 10px;--button-line-height:32px;--button-large-line-height:36px;--button-active-opacity:0.2;--button-border-radius:3px}.button{position:relative;display:inline-block;box-sizing:border-box;margin:0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:auto;text-decoration:none;padding:4px 10px;padding:var(--button-padding);font-size:17px;font-size:var(--font-size);line-height:32px;line-height:var(--button-line-height);letter-spacing:0;color:#fff;color:var(--button-text-color);vertical-align:middle;background-color:rgba(24,103,194,.81);background-color:var(--button-background-color);border:0 solid currentColor;border-radius:3px;border-radius:var(--button-border-radius);transition:none}.button::-moz-focus-inner{outline:0}.button:hover{transition:none}.button:active{background-color:rgba(24,103,194,.81);background-color:var(--button-background-color);transition:none;opacity:.2;opacity:var(--button-active-opacity)}.button:focus{outline:0}.button:disabled,.button[disabled]{opacity:.3;cursor:default;pointer-events:none}.button--outline{background-color:transparent;border:1px solid rgba(24,103,194,.81);border:1px solid var(--button-background-color);color:rgba(24,103,194,.81);color:var(--button-background-color)}.button--outline:active{border:1px solid rgba(24,103,194,.81);border:1px solid var(--button-background-color);color:rgba(24,103,194,.81);color:var(--button-background-color);opacity:1;--blend-background-color__base:var(--button-background-color);--blend-background-color__color:white;-webkit-animation:blend-background-color 1s -.7s linear forwards paused;animation:blend-background-color 1s -.7s linear forwards paused}.button--outline:hover{border:1px solid rgba(24,103,194,.81);border:1px solid var(--button-background-color);transition:0}.button--light{background-color:transparent;border:1px solid;--blend-color__base:transparent;--blend-color__color:var(--button-light-color);--blend-border-color__base:transparent;--blend-border-color__color:var(--button-light-color);-webkit-animation:blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused;animation:blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused}.button--light:active{border:1px solid;--blend-background-color__base:transparent;--blend-background-color__color:var(--button-light-color);--blend-color__base:transparent;--blend-color__color:var(--button-light-color);--blend-border-color__base:transparent;--blend-border-color__color:var(--button-light-color);-webkit-animation:blend-background-color 1s -50ms linear forwards paused,blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused;animation:blend-background-color 1s -50ms linear forwards paused,blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused;opacity:1}.button--quiet{background:0 0;color:rgba(24,103,194,.81);color:var(--button-quiet-color);border:none}.button--quiet:disabled,.button--quiet[disabled]{border:none}.button--quiet:active{background-color:transparent;border:none;transition:none;opacity:.2;opacity:var(--button-active-opacity);color:rgba(24,103,194,.81);color:var(--button-quiet-color)}.button--cta{border:none;background-color:#25a6d9;background-color:var(--button-cta-background-color);color:#fff;color:var(--button-cta-color)}.button--cta:active{color:#fff;color:var(--button-cta-color);background-color:#25a6d9;background-color:var(--button-cta-background-color);transition:none;opacity:.2;opacity:var(--button-active-opacity)}.button--large{font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);line-height:36px;line-height:var(--button-large-line-height);padding:4px 12px;padding:var(--button-large-padding);display:block;width:100%;text-align:center}.button--large:active{transition:none}.button--large--quiet{font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);line-height:36px;line-height:var(--button-large-line-height);padding:4px 12px;padding:var(--button-large-padding);display:block;width:100%;background:0 0;border:1px solid transparent;box-shadow:none;color:rgba(24,103,194,.81);color:var(--button-quiet-color);text-align:center}.button--large--quiet:active{opacity:.2;opacity:var(--button-active-opacity);color:rgba(24,103,194,.81);color:var(--button-quiet-color);background:0 0;border:1px solid transparent;box-shadow:none}.button--large--cta{background-color:#25a6d9;background-color:var(--button-cta-background-color);color:#fff;color:var(--button-cta-color);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);line-height:36px;line-height:var(--button-large-line-height);padding:4px 12px;padding:var(--button-large-padding);width:100%;text-align:center;display:block}.button--large--cta:active{color:var(--button-cta-color);background-color:#25a6d9;background-color:var(--button-cta-background-color);transition:none;opacity:.2;opacity:var(--button-active-opacity)}.button--material{font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;min-height:36px;line-height:36px;padding:0 16px;text-align:center;font-size:14px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);text-transform:uppercase;background-color:#009688;background-color:var(--material-button-background-color);color:#fff;color:var(--material-button-text-color);font-weight:500;font-weight:var(--font-weight--large);opacity:1;transition:all .25s linear}.button--material:hover{transition:all .25s linear}.button--material:active{background-color:#009688;background-color:var(--material-button-background-color);opacity:.9;transition:all .25s linear}.button--material:disabled,.button--material[disabled]{transition:none;box-shadow:none;background-color:rgba(79,79,79,.26);background-color:var(--material-button-disabled-background-color);color:rgba(0,0,0,.26);color:var(--material-button-disabled-color);opacity:1}.button--material--flat{-webkit-font-smoothing:antialiased;min-height:36px;line-height:36px;padding:0 16px;text-align:center;font-size:14px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);text-transform:uppercase;font-weight:500;font-weight:var(--font-weight--large);box-shadow:none;background-color:transparent;color:#009688;color:var(--material-button-background-color);transition:all .25s linear}.button--material--flat:focus{background-color:transparent;color:#009688;color:var(--material-button-background-color);outline:0;opacity:1;border:none}.button--material--flat:active{outline:0;opacity:1;border:none;background-color:rgba(153,153,153,.2);background-color:var(--material-flat-button-active-background-color);color:#009688;color:var(--material-button-background-color);transition:all .25s linear}.button--material--flat:disabled,.button--material--flat[disabled]{opacity:1;box-shadow:none;background-color:transparent;color:rgba(0,0,0,.26);color:var(--material-button-disabled-color)}:root{--button-bar-active-color:var(--button-bar-active-text-color);--button-bar-border-top:1px solid var(--button-bar-color);--button-bar-border-bottom:1px solid var(--button-bar-color);--button-bar-border:0 solid var(--button-bar-color);--button-bar-border-radius:4px}.button-bar{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;border:none}.button-bar__item{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);border-radius:0;width:100%;padding:0;margin:0;position:relative;overflow:hidden;box-sizing:border-box}.button-bar__button{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-radius:0;background-color:transparent;color:rgba(18,114,224,.77);color:var(--button-bar-color);border:1px solid rgba(18,114,224,.77);border:1px solid var(--button-bar-color);border-top-width:1px;border-bottom-width:1px;border-right-width:1px;border-left-width:0;font-weight:400;font-weight:var(--font-weight);padding:0;font-size:13px;height:27px;line-height:27px;width:100%;transition:background-color .2s linear,color .2s linear;box-sizing:border-box}.button-bar__button:disabled{opacity:.3;cursor:default;pointer-events:none}.button-bar__button:hover{transition:none}.button-bar__button:focus{outline:0}:checked+.button-bar__button{background-color:rgba(18,114,224,.77);background-color:var(--button-bar-color);color:#fff;color:var(--button-bar-active-color);transition:none}.button-bar__button:active,:active+.button-bar__button{background-color:unset;background-color:var(--button-bar-active-background-color);border:0 solid rgba(18,114,224,.77);border:var(--button-bar-border);border-top:1px solid rgba(18,114,224,.77);border-top:var(--button-bar-border-top);border-bottom:1px solid rgba(18,114,224,.77);border-bottom:var(--button-bar-border-bottom);border-right:1px solid rgba(18,114,224,.77);border-right:1px solid var(--button-bar-color);font-size:13px;width:100%;transition:none}.button-bar__button:active:before,:active+.button-bar__button:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1;--blend-background-color__base:var(--button-bar-color);--blend-background-color__color:var(--button-bar-active-background-color-default-blend-color);-webkit-animation:blend-background-color 1s -.7s linear forwards paused;animation:blend-background-color 1s -.7s linear forwards paused;-webkit-animation:blend-background-color 1s var(--button-bar-active-background-color-default-blend-time) linear forwards paused;animation:blend-background-color 1s var(--button-bar-active-background-color-default-blend-time) linear forwards paused}.button-bar__item:first-child>.button-bar__button{border-left-width:1px;border-radius:4px 0 0 4px;border-radius:var(--button-bar-border-radius) 0 0 var(--button-bar-border-radius)}.button-bar__item:last-child>.button-bar__button{border-right-width:1px;border-radius:0 4px 4px 0;border-radius:0 var(--button-bar-border-radius) var(--button-bar-border-radius) 0}:root{--segment-active-color:var(--segment-active-text-color);--segment-border-top:1px solid var(--segment-color);--segment-border-bottom:1px solid var(--segment-color);--segment-border:0 solid var(--segment-color);--segment-border-radius:4px}.segment{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;border:none}.segment__item{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);border-radius:0;width:100%;padding:0;margin:0;position:relative;overflow:hidden;box-sizing:border-box;display:block;background-color:transparent;border:none}.segment__input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.segment__button{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-radius:0;background-color:transparent;color:rgba(18,114,224,.77);color:var(--segment-color);border:1px solid rgba(18,114,224,.77);border:1px solid var(--segment-color);border-top-width:1px;border-bottom-width:1px;border-right-width:1px;border-left-width:0;font-weight:400;font-weight:var(--font-weight);padding:0;font-size:13px;height:29px;line-height:29px;width:100%;transition:background-color .2s linear,color .2s linear;box-sizing:border-box;text-align:center}.segment__item:disabled{opacity:.3;cursor:default;pointer-events:none}.segment__button:hover{transition:none}.segment__button:focus{outline:0}:active+.segment__button{background-color:unset;background-color:var(--segment-active-background-color);border:0 solid rgba(18,114,224,.77);border:var(--segment-border);border-top:1px solid rgba(18,114,224,.77);border-top:var(--segment-border-top);border-bottom:1px solid rgba(18,114,224,.77);border-bottom:var(--segment-border-bottom);border-right:1px solid rgba(18,114,224,.77);border-right:1px solid var(--segment-color);font-size:13px;width:100%;transition:none}:active+.segment__button:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1;--blend-background-color__base:var(--segment-color);--blend-background-color__color:var(--segment-active-background-color-default-blend-color);-webkit-animation:blend-background-color 1s -.7s linear forwards paused;animation:blend-background-color 1s -.7s linear forwards paused;-webkit-animation:blend-background-color 1s var(--segment-active-background-color-default-blend-time) linear forwards paused;animation:blend-background-color 1s var(--segment-active-background-color-default-blend-time) linear forwards paused}:checked+.segment__button{background-color:rgba(18,114,224,.77);background-color:var(--segment-color);color:#fff;color:var(--segment-active-color);transition:none}.segment__item:first-child>.segment__button{border-left-width:1px;border-radius:4px 0 0 4px;border-radius:var(--segment-border-radius) 0 0 var(--segment-border-radius)}.segment__item:last-child>.segment__button{border-right-width:1px;border-radius:0 4px 4px 0;border-radius:0 var(--segment-border-radius) var(--segment-border-radius) 0}.segment--material{border-radius:2px;overflow:hidden;box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.24)}.segment--material__button{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);font-size:14px;height:32px;line-height:32px;border-width:0;color:rgba(0,0,0,.38);color:var(--material-segment-text-color);border-radius:0;background-color:#fafafa;background-color:var(--material-segment-background-color)}:active+.segment--material__button{background-color:#fafafa;background-color:var(--material-segment-background-color);border-radius:0;border-width:0;font-size:14px;transition:none;color:rgba(0,0,0,.38);color:var(--material-segment-text-color)}:checked+.segment--material__button{background-color:#c8c8c8;background-color:var(--material-segment-active-background-color);color:#353535;color:var(--material-segment-active-text-color);border-radius:0;border-width:0}.segment--material__item:first-child>.segment--material__button,.segment--material__item:last-child>.segment--material__button{border-radius:0;border-width:0}:root{--tabbar-button-color:var(--tabbar-text-color);--tabbar-active-color:var(--tabbar-highlight-text-color);--material-tabbar-current-color:var(--material-tabbar-highlight-text-color);--tabbar-active-border-top:none;--tabbar-focus-border-top:none;--tabbar-height:49px;--tabbar-button-line-height:49px;--tabbar-button-border:none;--tabbar-active-box-shadow:none;--tabbar-button-focus-box-shadow:none;--tabbar-border-top:1px solid var(--tabbar-border-color)}.tabbar{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:-webkit-flex;display:flex;position:absolute;bottom:0;left:0;right:0;white-space:nowrap;margin:0;padding:0;height:49px;height:var(--tabbar-height);background-color:#fff;background-color:var(--tabbar-background-color);border-top:1px solid #ccc;border-top:var(--tabbar-border-top);width:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.tabbar{border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(180deg,var(--tabbar-border-color),var(--tabbar-border-color) 50%,transparent 50%)}}.tabbar__item{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:relative;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-basis:0;flex-basis:0;width:auto;border-radius:0}.tabbar__item>input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.tabbar__button{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;margin:0;font:inherit;background:0 0;border:none;cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative;display:inline-block;text-decoration:none;padding:0;height:49px;height:var(--tabbar-button-line-height);letter-spacing:0;color:#999;color:var(--tabbar-button-color);vertical-align:top;background-color:transparent;border-top:none;border-top:var(--tabbar-button-border);width:100%;font-weight:400;font-weight:var(--font-weight);line-height:49px;line-height:var(--tabbar-button-line-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.tabbar__button{border-top:none}}.tabbar__icon{font-size:24px;padding:0;margin:0;line-height:26px;display:block!important;height:28px}.tabbar__label{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:inline-block}.tabbar__badge.notification{vertical-align:text-bottom;top:-1px;margin-left:5px;z-index:10;font-size:12px;height:16px;min-width:16px;line-height:16px;border-radius:8px}.tabbar__icon~.tabbar__badge.notification{position:absolute;top:5px;margin-left:0}.tabbar__icon+.tabbar__label{display:block;font-size:10px;line-height:1;margin:0;font-weight:400;font-weight:var(--font-weight)}.tabbar__label:first-child{font-size:16px;line-height:49px;line-height:var(--tabbar-button-line-height);margin:0;padding:0}:checked+.tabbar__button{color:rgba(24,103,194,.81);color:var(--tabbar-active-color);background-color:transparent;box-shadow:none;box-shadow:var(--tabbar-active-box-shadow);border-top:none;border-top:var(--tabbar-active-border-top)}.tabbar__button:disabled{opacity:.3;cursor:default;pointer-events:none}.tabbar__button:focus{z-index:1;border-top:none;border-top:var(--tabbar-focus-border-top);box-shadow:none;box-shadow:var(--tabbar-button-focus-box-shadow);outline:0}.tabbar__content{position:absolute;top:0;left:0;right:0;bottom:49px;bottom:var(--tabbar-height);z-index:0}.tabbar--autogrow .tabbar__item{-webkit-flex-basis:auto;flex-basis:auto}.tabbar--top{position:relative;top:0;left:0;right:0;bottom:auto;border-top:none;border-bottom:1px solid #ccc;border-bottom:var(--tabbar-border-top)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.tabbar--top{border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--tabbar-border-color),var(--tabbar-border-color) 50%,transparent 50%)}}.tabbar--top__content{top:49px;top:var(--tabbar-height);left:0;right:0;bottom:0;z-index:0}.tabbar--top-border__button{background-color:transparent;border-bottom:4px solid transparent}:checked+.tabbar--top-border__button{background-color:transparent;border-bottom:4px solid rgba(24,103,194,.81);border-bottom:4px solid var(--tabbar-active-color)}.tabbar__border{position:absolute;bottom:0;left:0;width:0;height:4px;background-color:rgba(24,103,194,.81);background-color:var(--tabbar-active-color)}.tabbar--material{background:0 0;background-color:#009688;background-color:var(--material-tabbar-background-color);border-bottom-width:0;box-shadow:0 4px 2px -2px rgba(0,0,0,.14),0 3px 5px -2px rgba(0,0,0,.12),0 5px 1px -4px rgba(0,0,0,.2)}.tabbar--material__button{background-color:transparent;color:rgba(255,255,255,.6);color:var(--material-tabbar-text-color);text-transform:uppercase;font-size:14px;font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.tabbar--material__button:after{content:'';display:block;width:0;height:2px;bottom:0;position:absolute;margin-top:-2px;background-color:#fff;background-color:var(--material-tabbar-current-color)}:checked+.tabbar--material__button:after{width:100%;transition:width .2s ease-in-out}:checked+.tabbar--material__button{background-color:transparent;color:#fff;color:var(--material-tabbar-current-color)}.tabbar--material__item:not([ripple]):active{background-color:#26a69a;background-color:var(--material-tabbar-highlight-color)}.tabbar--material__border{height:2px;background-color:#fff;background-color:var(--material-tabbar-current-color)}.tabbar--material__icon{font-size:22px!important;line-height:36px}.tabbar--material__label{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.tabbar--material__label:first-child{-webkit-font-smoothing:antialiased;letter-spacing:.015em;font-weight:500;font-size:14px}.tabbar--material__icon+.tabbar--material__label{font-size:10px}:root{--toolbar-button-background-color:rgba(0, 0, 0, 0);--toolbar-button-border-color:var(--toolbar-button-color);--toolbar-button-border-radius:2px;--toolbar-button-padding:4px 10px;--toolbar-button-active-background-color:var(--toolbar-button-background-color);--toolbar-button-border:1px solid var(--toolbar-button-border-color)}.toolbar-button{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:4px 10px;padding:var(--toolbar-button-padding);letter-spacing:0;color:rgba(38,100,171,.81);color:var(--toolbar-button-color);background-color:rgba(0,0,0,0);background-color:var(--toolbar-button-background-color);border-radius:2px;border-radius:var(--toolbar-button-border-radius);border:1px solid transparent;font-weight:400;font-weight:var(--font-weight);font-size:17px;font-size:var(--font-size);transition:none}.toolbar-button:active{background-color:rgba(0,0,0,0);background-color:var(--toolbar-button-active-background-color);transition:none;opacity:.2}.toolbar-button:disabled,.toolbar-button[disabled]{opacity:.3;cursor:default;pointer-events:none}.toolbar-button:focus{outline:0;transition:none}.toolbar-button:hover{transition:none}.toolbar-button--outline{border:1px solid rgba(38,100,171,.81);border:var(--toolbar-button-border);margin:auto 8px;padding-left:6px;padding-right:6px}.toolbar-button--material{font-size:22px;color:#fff;color:var(--material-toolbar-button-color);display:inline-block;padding:0 12px;height:100%;margin:0;border:none;border-radius:0;vertical-align:baseline;vertical-align:initial;transition:background-color .25s linear}.toolbar-button--material:first-of-type{margin-left:4px}.toolbar-button--material:last-of-type{margin-right:4px}.toolbar-button--material:active{opacity:1;transition:background-color .25s linear}.back-button{height:44px;line-height:44px;padding-left:8px;color:rgba(38,100,171,.81);color:var(--toolbar-button-color);background-color:rgba(0,0,0,0);background-color:var(--toolbar-button-background-color);display:inline-block}.back-button:active{opacity:.2}.back-button__label{display:inline-block;height:100%;vertical-align:top;line-height:44px;line-height:var(--toolbar-height);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large)}.back-button__icon{margin-right:6px;display:-webkit-inline-flex;display:inline-flex;fill:rgba(38,100,171,0.81);fill:var(--toolbar-button-color);-webkit-align-items:center;align-items:center;height:100%}.back-button--material{font-size:22px;color:#fff;color:var(--material-toolbar-button-color);display:inline-block;padding:0 12px;height:100%;margin:0 0 0 4px;border:none;border-radius:0;vertical-align:baseline;vertical-align:initial;line-height:56px}.back-button--material__label{display:none;font-size:20px}.back-button--material__icon{display:-webkit-inline-flex;display:inline-flex;fill:#ffffff;fill:var(--material-toolbar-button-color);-webkit-align-items:center;align-items:center;height:100%}.back-button--material:active{opacity:1}:root{--checkbox-size:22px;--checkbox-border:1px solid #c7c7cd;--checkbox-checked-background-color:var(--highlight-color);--background-color--before--checkbox:var(--checkbox-checked-background-color);--checkmark-border:2px solid #fff;--material-checkbox-size:18px;--material-checkbox-focus-ring-size:40px;--material-checkbox-focus-ring-shadow-size:calc((var(--material-checkbox-focus-ring-size) - var(--material-checkbox-size)) / 2)}.checkbox{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);line-height:22px;line-height:var(--checkbox-size)}.checkbox__checkmark{box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);height:22px;height:var(--checkbox-size);width:22px;width:var(--checkbox-size);pointer-events:none}.checkbox__input,.checkbox__input:checked{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.checkbox__checkmark:before{content:'';position:absolute;box-sizing:border-box;width:22px;width:var(--checkbox-size);height:22px;height:var(--checkbox-size);background:0 0;border:1px solid #c7c7cd;border:var(--checkbox-border);border-radius:22px;border-radius:var(--checkbox-size);left:0}.checkbox__checkmark:after{content:'';position:absolute;top:7px;left:5px;width:11px;height:5px;background:0 0;border:2px solid #fff;border:var(--checkmark-border);border-width:1px;border-top:none;border-right:none;border-radius:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}:checked+.checkbox__checkmark:before{background:rgba(24,103,194,.81);background:var(--background-color--before--checkbox);border:none}:checked+.checkbox__checkmark:after{opacity:1}:disabled+.checkbox__checkmark{opacity:.3;cursor:default;pointer-events:none}:disabled:active+.checkbox__checkmark:before{background:0 0}.checkbox--noborder__checkmark{background:0 0;border:none}.checkbox--noborder__checkmark:before{border:none}.checkbox--noborder__checkmark:after{height:4px;border:2px solid rgba(24,103,194,.81);border:2px solid var(--highlight-color)}:checked+.checkbox--noborder__checkmark:before{background:0 0}:focus+.checkbox--noborder__checkmark:before{border:none}:disabled:active+.checkbox--noborder__checkmark:before{border:none}.checkbox--material{line-height:18px;line-height:var(--material-checkbox-size);font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);overflow:visible}.checkbox--material__checkmark{width:18px;width:var(--material-checkbox-size);height:18px;height:var(--material-checkbox-size)}.checkbox--material__checkmark:before{border-radius:2px;height:18px;height:var(--material-checkbox-size);width:18px;width:var(--material-checkbox-size);border:2px solid #717171;border:2px solid var(--material-checkbox-inactive-color);transition:background-color .1s linear .2s,border-color .1s linear .2s;background-color:transparent}:checked+.checkbox--material__checkmark:before{border:2px solid #009688;border:2px solid var(--material-checkbox-active-color);background-color:#009688;background-color:var(--material-checkbox-active-color);transition:background-color .1s linear,border-color .1s linear}.checkbox--material__checkmark:after{border-color:#fff;border-color:var(--material-checkbox-checkmark-color);transition:-webkit-transform .2s ease 0;transition:transform .2s ease 0;transition:transform .2s ease 0,-webkit-transform .2s ease 0;width:10px;height:5px;top:4px;left:3px;-webkit-transform:scale(0) rotate(-45deg);transform:scale(0) rotate(-45deg);border-width:2px}:checked+.checkbox--material__checkmark:after{transition:-webkit-transform .2s ease .2s;transition:transform .2s ease .2s;transition:transform .2s ease .2s,-webkit-transform .2s ease .2s;width:10px;height:5px;top:4px;left:3px;-webkit-transform:scale(1) rotate(-45deg);transform:scale(1) rotate(-45deg);border-width:2px}.checkbox--material__input:before{content:'';opacity:0;position:absolute;top:0;left:0;width:18px;width:var(--material-checkbox-size);height:18px;height:var(--material-checkbox-size);box-shadow:0 0 0 calc((40px - 18px)/ 2) #717171;box-shadow:0 0 0 var(--material-checkbox-focus-ring-shadow-size) var(--material-checkbox-inactive-color);box-sizing:border-box;border-radius:50%;background-color:#717171;background-color:var(--material-checkbox-inactive-color);pointer-events:none;display:block;-webkit-transform:scale3d(.2,.2,.2);transform:scale3d(.2,.2,.2);transition:opacity .25s ease-out,-webkit-transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out,-webkit-transform .1s ease-out}.checkbox--material__input:checked:before{box-shadow:0 0 0 calc((40px - 18px)/ 2) #009688;box-shadow:0 0 0 var(--material-checkbox-focus-ring-shadow-size) var(--material-checkbox-active-color);background-color:#009688;background-color:var(--material-checkbox-active-color)}.checkbox--material__input:active:before{opacity:.15;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}:disabled+.checkbox--material__checkmark{opacity:1}:disabled+.checkbox--material__checkmark:before{border-color:#afafaf}:disabled:checked+.checkbox--material__checkmark:before{background-color:#afafaf}:disabled:checked+.checkbox--material__checkmark:after{border-color:#fff}:root{--radio-button-background-active:rgba(0, 0, 0, 0);--radio-button-indicator-color:var(--highlight-color);--radio-button-background:transparent;--radio-button-border:3px solid var(--radio-button-indicator-color);--radio-button-size:24px;--material-radio-button-size:20px;--material-radio-button-shadow-size:calc((48px - var(--material-radio-button-size)) / 2)}.radio-button__input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.radio-button__input:active,.radio-button__input:focus{outline:0;-webkit-tap-highlight-color:transparent}.radio-button{display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;position:relative;line-height:24px;line-height:var(--radio-button-size);text-align:left}.radio-button__checkmark:before{content:'';position:absolute;box-sizing:border-box;width:22px;width:var(--checkbox-size);height:22px;height:var(--checkbox-size);background:0 0;border:none;border-radius:22px;border-radius:var(--checkbox-size);left:0}.radio-button__checkmark{box-sizing:border-box;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:relative;width:24px;width:var(--radio-button-size);height:24px;height:var(--radio-button-size);background:0 0;background:var(--radio-button-background);pointer-events:none}.radio-button__checkmark:after{content:'';position:absolute;top:7px;left:4px;opacity:0;width:11px;height:4px;background:0 0;border:2px solid rgba(24,103,194,.81);border:2px solid var(--highlight-color);border-top:none;border-right:none;border-radius:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}:checked+.radio-button__checkmark{background:rgba(0,0,0,0);background:var(--radio-button-background-active)}:checked+.radio-button__checkmark:after{opacity:1}:checked+.radio-button__checkmark:before{background:0 0;border:none}:disabled+.radio-button__checkmark{opacity:.3;cursor:default;pointer-events:none}.radio-button--material{line-height:calc(20px + 2px);line-height:calc(var(--material-radio-button-size) + 2px);font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.radio-button--material__input:before{content:'';position:absolute;top:0;left:0;opacity:0;width:20px;width:var(--material-radio-button-size);height:20px;height:var(--material-radio-button-size);box-shadow:0 0 0 calc((48px - 20px)/ 2) #717171;box-shadow:0 0 0 var(--material-radio-button-shadow-size) var(--material-radio-button-inactive-color);border:none;box-sizing:border-box;border-radius:50%;background-color:#717171;background-color:var(--material-radio-button-inactive-color);pointer-events:none;display:block;-webkit-transform:scale3d(.2,.2,.2);transform:scale3d(.2,.2,.2);transition:opacity .25s ease-out,-webkit-transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out,-webkit-transform .1s ease-out}.radio-button--material__input:checked:before{box-shadow:0 0 0 calc((48px - 20px)/ 2) #009688;box-shadow:0 0 0 var(--material-radio-button-shadow-size) var(--material-radio-button-active-color);background-color:#009688;background-color:var(--material-radio-button-active-color)}.radio-button--material__input:active:before{opacity:.15;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.radio-button--material__checkmark{width:20px;width:var(--material-radio-button-size);height:20px;height:var(--material-radio-button-size);overflow:visible}.radio-button--material__checkmark:before{background:0 0;border:2px solid #717171;border:2px solid var(--material-radio-button-inactive-color);box-sizing:border-box;border-radius:50%;width:20px;width:var(--material-radio-button-size);height:20px;height:var(--material-radio-button-size);transition:border .2s ease}.radio-button--material__checkmark:after{transition:background .2s ease,-webkit-transform .2s ease;transition:background .2s ease,transform .2s ease;transition:background .2s ease,transform .2s ease,-webkit-transform .2s ease;top:calc(20px / 4);top:calc(var(--material-radio-button-size)/ 4);left:calc(20px / 4);left:calc(var(--material-radio-button-size)/ 4);width:calc(20px / 2);width:calc(var(--material-radio-button-size)/ 2);height:calc(20px / 2);height:calc(var(--material-radio-button-size)/ 2);border:none;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}:checked+.radio-button--material__checkmark:before{background:0 0;border:2px solid #009688;border:2px solid var(--material-radio-button-active-color)}.radio-button--material__input+.radio-button__checkmark:after{background:#717171;background:var(--material-radio-button-inactive-color);opacity:1;-webkit-transform:scale(0);transform:scale(0)}:checked+.radio-button--material__checkmark:after{opacity:1;background:#009688;background:var(--material-radio-button-active-color);-webkit-transform:scale(1);transform:scale(1)}:disabled+.radio-button--material__checkmark{opacity:1}:disabled+.radio-button--material__checkmark:after{background-color:#afafaf;background-color:var(--material-radio-button-disabled-color);border-color:#afafaf;border-color:var(--material-radio-button-disabled-color)}:disabled+.radio-button--material__checkmark:before{border-color:#afafaf;border-color:var(--material-radio-button-disabled-color)}:root{--list-item-color:var(--text-color);--list-item-active-background-color:var(--list-tap-active-background-color);--list-item-separator-color:var(--border-color);--list-border:1px solid var(--list-item-separator-color);--list-item-min-height:44px;--list-item-margin:0 0 -1px 0;--list-item-padding-side:14px;--list-item-padding:0 0 0 var(--list-item-padding-side);--list-border-top:1px solid var(--list-item-separator-color);--list-border-bottom:1px solid var(--list-item-separator-color);--list-header-color:var(--text-color);--list-header-font-size:12px;--list-header-padding:0 0 0 15px;--list-header-min-height:24px;--list-header-font-weight:var(--font-weight--large);--inset-list-border:1px solid var(--list-item-separator-color);--list-title-color:#6d6d72;--list-title-font-size:13px;--list-title-font-weight:500;--list-title-line-height:24px;--list-title-padding:0 0 0 16px;--material-list-item-side-padding:16px;--material-list-item-min-height:48px;--material-list-item-padding:0 0 0 var(--material-list-item-side-padding);--material-list-title-color:#757575;--material-list-title-font-size:14px;--material-list-title-font-weight:500;--material-list-title-line-height:24px;--material-list-title-padding:12px 0 12px var(--material-list-item-side-padding)}.list{padding:0;margin:0;color:inherit;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);list-style-type:none;text-align:left;display:block;-webkit-overflow-scrolling:touch;overflow:hidden;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-image:linear-gradient(var(--list-item-separator-color),var(--list-item-separator-color)),linear-gradient(var(--list-item-separator-color),var(--list-item-separator-color));background-size:100% 1px,100% 1px;background-repeat:no-repeat;background-position:bottom,top;border:none;background-color:#fff;background-color:var(--list-background-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%),linear-gradient(180deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%),linear-gradient(180deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item{position:relative;width:100%;list-style:none;box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:center;align-items:center;padding:0 0 0 14px;padding:var(--list-item-padding);margin:0 0 -1px 0;margin:var(--list-item-margin);color:#1f1f21;color:var(--list-item-color);transition:background-color .2s linear}.list-item__top{display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:center;align-items:center;-webkit-order:0;order:0;width:100%}.list-item--expandable{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%);background-position-x:14px;background-position-x:var(--list-item-padding-side)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--expandable{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item__expandable-content{display:none;width:100%;padding:12px 14px 12px 0;box-sizing:border-box;-webkit-order:1;order:1;overflow:hidden}.list-item--expandable.list-item--expanded>.list-item__expandable-content{display:block;height:auto}.list-item__left{box-sizing:border-box;display:-webkit-flex;display:flex;padding:12px 14px 12px 0;-webkit-order:0;order:0;-webkit-align-items:center;align-items:center;-webkit-align-self:stretch;align-self:stretch;line-height:1.2em;min-height:44px;min-height:var(--list-item-min-height)}.list-item__left:empty{width:0;min-width:0;padding:0;margin:0}.list-item__center{box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;flex-direction:row;-webkit-order:1;order:1;margin-right:auto;-webkit-align-items:center;align-items:center;-webkit-align-self:stretch;align-self:stretch;margin-left:0;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%);padding:12px 6px 12px 0;line-height:1.2em;min-height:44px;min-height:var(--list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item__center{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item__right{box-sizing:border-box;display:-webkit-flex;display:flex;margin-left:auto;padding:12px 12px 12px 0;-webkit-order:2;order:2;-webkit-align-items:center;align-items:center;-webkit-align-self:stretch;align-self:stretch;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%);line-height:1.2em;min-height:44px;min-height:var(--list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item__right{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-header{margin:0;list-style:none;text-align:left;display:block;box-sizing:border-box;padding:0 0 0 15px;padding:var(--list-header-padding);font-size:12px;font-size:var(--list-header-font-size);font-weight:500;font-weight:var(--list-header-font-weight);color:#1f1f21;color:var(--list-header-color);min-height:24px;min-height:var(--list-header-min-height);line-height:calc(1px + 24px);line-height:calc(1px + var(--list-header-min-height));text-transform:uppercase;position:relative;background-color:#eee;background-color:var(--list-header-background-color);background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-header{background-image:linear-gradient(180deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(180deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list--noborder{border-top:none;border-bottom:none;background-image:none}.list-item--tappable:active{transition:none;background-color:#d9d9d9;background-color:var(--list-item-active-background-color)}.list--inset{margin:0 8px;border:1px solid #ccc;border:var(--inset-list-border);border-radius:4px;background-image:none}.list-item__label{font-size:calc(17px - 3px);font-size:var(--font-size--mini);padding:0 4px;opacity:.6}.list-item__title{-webkit-flex-basis:100%;flex-basis:100%;-webkit-align-self:flex-end;align-self:flex-end;-webkit-order:0;order:0}.list-item__subtitle{opacity:.75;font-size:calc(17px - 3px);font-size:var(--font-size--mini);-webkit-order:1;order:1;-webkit-flex-basis:100%;flex-basis:100%;-webkit-align-self:flex-start;align-self:flex-start}.list-item__thumbnail{width:40px;height:40px;border-radius:6px;display:block;margin:0}.list-item__icon{font-size:22px;padding:0 6px}.list--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);background-image:none;background-color:#fff;background-color:var(--material-list-background-color)}.list-item--material{border:0;padding:0 0 0 16px;padding:var(--material-list-item-padding);line-height:normal}.list-item--material__subtitle{margin-top:4px}.list-item--material:first-child{box-shadow:none}.list-item--material__left{padding:14px 0;min-width:56px;line-height:1;min-height:48px;min-height:var(--material-list-item-min-height)}.list-item--material__center,.list-item--material__left:empty{padding:14px 6px 14px 0;border-color:#eee;border-color:var(--material-list-item-separator-color);border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#eee,#eee 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);min-height:48px;min-height:var(--material-list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material__center,.list-item--material__left:empty{background-image:linear-gradient(0deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material__right{padding:14px 16px 14px 0;line-height:1;border-color:#eee;border-color:var(--material-list-item-separator-color);border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#eee,#eee 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);min-height:48px;min-height:var(--material-list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material__right{background-image:linear-gradient(0deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material.list-item--expandable{background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#eee,#eee 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);background-position-x:16px;background-position-x:var(--material-list-item-side-padding)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material.list-item--expandable{background-image:linear-gradient(0deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material.list-item--expandable.list-item--longdivider,.list-item--material.list-item--longdivider{background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#eee,#eee 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material.list-item--expandable.list-item--longdivider,.list-item--material.list-item--longdivider{background-image:linear-gradient(0deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-header--material{background:#fff;background:var(--list-background-color);border:none;font-size:14px;text-transform:none;margin:-1px 0 0 0;color:#757575;color:var(--material-list-header-text-color);font-weight:500;padding:8px 16px}.list-header--material:not(:first-of-type){border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#eee,#eee 100%);background-image:linear-gradient(180deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);padding-top:16px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-header--material:not(:first-of-type){background-image:linear-gradient(180deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(180deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material__thumbnail{width:40px;height:40px;border-radius:100%}.list-item--material__icon{font-size:20px;padding:0 4px}.list-item--chevron:before,.list-item__expand-chevron{border-right:2px solid #c7c7cc;border-right:2px solid var(--list-item-chevron-color);border-bottom:2px solid #c7c7cc;border-bottom:2px solid var(--list-item-chevron-color);width:7px;height:7px;background-color:transparent;z-index:5}.list-item--chevron:before{position:absolute;content:'';right:16px;top:50%;-webkit-transform:translateY(-50%) rotate(-45deg);transform:translateY(-50%) rotate(-45deg)}.list-item__expand-chevron{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin:1px}.list-item--expandable.list-item--expanded .list-item__expand-chevron{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.list-item--chevron__right{padding-right:30px}.list-item--expandable .list-item__center,.list-item--expandable .list-item__right,.list-item--nodivider.list-item--expandable,.list-item--nodivider__center,.list-item--nodivider__right{border:none;background-image:none}.list-item--longdivider{background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--longdivider{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item--longdivider:last-of-type{border:none;background-image:none}.list-item--longdivider__center{border:none;background-image:none}.list-item--longdivider__right{border:none;background-image:none}.list-title{background:0 0;border:none;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;color:#6d6d72;color:var(--list-title-color);text-align:left;box-sizing:border-box;padding:0 0 0 16px;padding:var(--list-title-padding);margin:0;font-size:13px;font-size:var(--list-title-font-size);font-weight:500;font-weight:var(--list-title-font-weight);line-height:24px;line-height:var(--list-title-line-height);text-transform:uppercase;letter-spacing:.04em}.list-title--material{-webkit-font-smoothing:antialiased;color:#757575;color:var(--material-list-title-color);font-size:14px;font-size:var(--material-list-title-font-size);margin:0;padding:12px 0 12px 16px;padding:var(--material-list-title-padding);font-weight:500;font-weight:var(--material-list-title-font-weight);line-height:24px;line-height:var(--material-list-title-line-height)}:root{--search-icon:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTNweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTMgMTQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aW9zLXNlYXJjaC1pbnB1dC1pY29uPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImNvbXBvbmVudHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpb3Mtc2VhcmNoLWlucHV0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDguMDAwMDAwLCAtNDMuMDAwMDAwKSIgZmlsbD0iIzdBNzk3QiI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDAuMDAwMDAwLCAzNi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNi45OTcyNDgyLDE1LjUwNDE0NjYgQzE3LjA3NzM2NTcsMTUuNTQwNTkzOCAxNy4xNTIyNzMxLDE1LjU5MTYxMjkgMTcuMjE3NzUxNiwxNS42NTcwOTE0IEwyMC42NDk5OTEsMTkuMDg5MzMwOCBDMjAuOTQ0ODQ0OSwxOS4zODQxODQ3IDIwLjk0ODQ3NjQsMTkuODU4NjA2IDIwLjY1MzU0MTIsMjAuMTUzNTQxMiBDMjAuMzYwNjQ4LDIwLjQ0NjQzNDQgMTkuODgxMjcxNiwyMC40NDE5MzE3IDE5LjU4OTMzMDgsMjAuMTQ5OTkxIEwxNi4xNTcwOTE0LDE2LjcxNzc1MTYgQzE2LjA5MTM3LDE2LjY1MjAzMDEgMTYuMDQwMTE3MSwxNi41NzczODc0IDE2LjAwMzQxNDEsMTYuNDk3Nzk5NSBDMTUuMTY3MTY5NCwxNy4xMjcwNDExIDE0LjEyNzEzOTMsMTcuNSAxMywxNy41IEMxMC4yMzg1NzYzLDE3LjUgOCwxNS4yNjE0MjM3IDgsMTIuNSBDOCw5LjczODU3NjI1IDEwLjIzODU3NjMsNy41IDEzLDcuNSBDMTUuNzYxNDIzNyw3LjUgMTgsOS43Mzg1NzYyNSAxOCwxMi41IEMxOCwxMy42Mjc0Njg1IDE3LjYyNjgyMzIsMTQuNjY3Nzc2OCAxNi45OTcyNDgyLDE1LjUwNDE0NjYgWiBNMTMsMTYuNSBDMTUuMjA5MTM5LDE2LjUgMTcsMTQuNzA5MTM5IDE3LDEyLjUgQzE3LDEwLjI5MDg2MSAxNS4yMDkxMzksOC41IDEzLDguNSBDMTAuNzkwODYxLDguNSA5LDEwLjI5MDg2MSA5LDEyLjUgQzksMTQuNzA5MTM5IDEwLjc5MDg2MSwxNi41IDEzLDE2LjUgWiIgaWQ9Imlvcy1zZWFyY2gtaW5wdXQtaWNvbiI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=');--search-input-background-image:var(--search-icon);--search-input-color:var(--input-text-color);--search-decoration-margin-right:0;--search-input-border-radius:5.5px;--search-input-height:28px;--search-input-font-size:14px;--search-input-placeholder-color:#7a797b;--material-search-icon:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMThweCIgaGVpZ2h0PSIxOHB4IiB2aWV3Qm94PSIwIDAgMTggMTgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQzLjIgKDM5MDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5TaGFwZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJhbmRyb2lkLXNlYXJjaC1pbnB1dC1pY29uIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9IiM4OTg5ODkiPgogICAgICAgICAgICA8ZyBpZD0iY29tcG9uZW50cyI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ibWF0ZXJpYWwtc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ik1hdGVyaWFsL0ljb25zLWJsYWNrL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuNTAyLDYuNDkxIEwxMS43MDgsNi40OTEgTDExLjQzMiw2Ljc2NSBDMTIuNDA3LDcuOTAyIDEzLDkuMzc2IDEzLDEwLjk5MSBDMTMsMTQuNTgxIDEwLjA5LDE3LjQ5MSA2LjUsMTcuNDkxIEMyLjkxLDE3LjQ5MSAwLDE0LjU4MSAwLDEwLjk5MSBDMCw3LjQwMSAyLjkxLDQuNDkxIDYuNSw0LjQ5MSBDOC4xMTUsNC40OTEgOS41ODgsNS4wODMgMTAuNzI1LDYuMDU3IEwxMS4wMDEsNS43ODMgTDExLjAwMSw0Ljk5MSBMMTUuOTk5LDAgTDE3LjQ5LDEuNDkxIEwxMi41MDIsNi40OTEgTDEyLjUwMiw2LjQ5MSBaIE02LjUsNi40OTEgQzQuMDE0LDYuNDkxIDIsOC41MDUgMiwxMC45OTEgQzIsMTMuNDc2IDQuMDE0LDE1LjQ5MSA2LjUsMTUuNDkxIEM4Ljk4NSwxNS40OTEgMTEsMTMuNDc2IDExLDEwLjk5MSBDMTEsOC41MDUgOC45ODUsNi40OTEgNi41LDYuNDkxIEw2LjUsNi40OTEgWiIgaWQ9IlNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Ljc0NTAwMCwgOC43NDU1MDApIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtOC43NDUwMDAsIC04Ljc0NTUwMCkgIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==')}.search-input{font:inherit;background:0 0;border:none;vertical-align:top;outline:0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-appearance:textfield;appearance:textfield;box-sizing:border-box;height:28px;height:var(--search-input-height);font-size:14px;font-size:var(--search-input-font-size);background-color:rgba(3,3,3,.09);background-color:var(--search-input-background-color);box-shadow:none;color:#1f1f21;color:var(--search-input-color);line-height:1.3;padding:0 8px 0 28px;margin:0;border-radius:5.5px;border-radius:var(--search-input-border-radius);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTNweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTMgMTQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aW9zLXNlYXJjaC1pbnB1dC1pY29uPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImNvbXBvbmVudHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpb3Mtc2VhcmNoLWlucHV0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDguMDAwMDAwLCAtNDMuMDAwMDAwKSIgZmlsbD0iIzdBNzk3QiI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDAuMDAwMDAwLCAzNi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNi45OTcyNDgyLDE1LjUwNDE0NjYgQzE3LjA3NzM2NTcsMTUuNTQwNTkzOCAxNy4xNTIyNzMxLDE1LjU5MTYxMjkgMTcuMjE3NzUxNiwxNS42NTcwOTE0IEwyMC42NDk5OTEsMTkuMDg5MzMwOCBDMjAuOTQ0ODQ0OSwxOS4zODQxODQ3IDIwLjk0ODQ3NjQsMTkuODU4NjA2IDIwLjY1MzU0MTIsMjAuMTUzNTQxMiBDMjAuMzYwNjQ4LDIwLjQ0NjQzNDQgMTkuODgxMjcxNiwyMC40NDE5MzE3IDE5LjU4OTMzMDgsMjAuMTQ5OTkxIEwxNi4xNTcwOTE0LDE2LjcxNzc1MTYgQzE2LjA5MTM3LDE2LjY1MjAzMDEgMTYuMDQwMTE3MSwxNi41NzczODc0IDE2LjAwMzQxNDEsMTYuNDk3Nzk5NSBDMTUuMTY3MTY5NCwxNy4xMjcwNDExIDE0LjEyNzEzOTMsMTcuNSAxMywxNy41IEMxMC4yMzg1NzYzLDE3LjUgOCwxNS4yNjE0MjM3IDgsMTIuNSBDOCw5LjczODU3NjI1IDEwLjIzODU3NjMsNy41IDEzLDcuNSBDMTUuNzYxNDIzNyw3LjUgMTgsOS43Mzg1NzYyNSAxOCwxMi41IEMxOCwxMy42Mjc0Njg1IDE3LjYyNjgyMzIsMTQuNjY3Nzc2OCAxNi45OTcyNDgyLDE1LjUwNDE0NjYgWiBNMTMsMTYuNSBDMTUuMjA5MTM5LDE2LjUgMTcsMTQuNzA5MTM5IDE3LDEyLjUgQzE3LDEwLjI5MDg2MSAxNS4yMDkxMzksOC41IDEzLDguNSBDMTAuNzkwODYxLDguNSA5LDEwLjI5MDg2MSA5LDEyLjUgQzksMTQuNzA5MTM5IDEwLjc5MDg2MSwxNi41IDEzLDE2LjUgWiIgaWQ9Imlvcy1zZWFyY2gtaW5wdXQtaWNvbiI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=');background-image:var(--search-input-background-image);background-position:8px center;background-repeat:no-repeat;background-size:13px;font-weight:400;font-weight:var(--font-weight);display:inline-block;text-indent:0}.search-input::-webkit-search-cancel-button{-webkit-appearance:textfield;appearance:textfield;display:none}.search-input::-webkit-search-decoration{display:none}.search-input:focus{outline:0}.search-input::-webkit-input-placeholder{color:#7a797b;color:var(--search-input-placeholder-color);font-size:14px;font-size:var(--search-input-font-size);text-indent:0}.search-input::placeholder{color:#7a797b;color:var(--search-input-placeholder-color);font-size:14px;font-size:var(--search-input-font-size);text-indent:0}.search-input:disabled{opacity:.3;cursor:default;pointer-events:none}.search-input--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);border-radius:2px;height:48px;background-color:#fafafa;background-color:var(--material-search-background-color);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMThweCIgaGVpZ2h0PSIxOHB4IiB2aWV3Qm94PSIwIDAgMTggMTgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQzLjIgKDM5MDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5TaGFwZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJhbmRyb2lkLXNlYXJjaC1pbnB1dC1pY29uIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9IiM4OTg5ODkiPgogICAgICAgICAgICA8ZyBpZD0iY29tcG9uZW50cyI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ibWF0ZXJpYWwtc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ik1hdGVyaWFsL0ljb25zLWJsYWNrL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuNTAyLDYuNDkxIEwxMS43MDgsNi40OTEgTDExLjQzMiw2Ljc2NSBDMTIuNDA3LDcuOTAyIDEzLDkuMzc2IDEzLDEwLjk5MSBDMTMsMTQuNTgxIDEwLjA5LDE3LjQ5MSA2LjUsMTcuNDkxIEMyLjkxLDE3LjQ5MSAwLDE0LjU4MSAwLDEwLjk5MSBDMCw3LjQwMSAyLjkxLDQuNDkxIDYuNSw0LjQ5MSBDOC4xMTUsNC40OTEgOS41ODgsNS4wODMgMTAuNzI1LDYuMDU3IEwxMS4wMDEsNS43ODMgTDExLjAwMSw0Ljk5MSBMMTUuOTk5LDAgTDE3LjQ5LDEuNDkxIEwxMi41MDIsNi40OTEgTDEyLjUwMiw2LjQ5MSBaIE02LjUsNi40OTEgQzQuMDE0LDYuNDkxIDIsOC41MDUgMiwxMC45OTEgQzIsMTMuNDc2IDQuMDE0LDE1LjQ5MSA2LjUsMTUuNDkxIEM4Ljk4NSwxNS40OTEgMTEsMTMuNDc2IDExLDEwLjk5MSBDMTEsOC41MDUgOC45ODUsNi40OTEgNi41LDYuNDkxIEw2LjUsNi40OTEgWiIgaWQ9IlNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Ljc0NTAwMCwgOC43NDU1MDApIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtOC43NDUwMDAsIC04Ljc0NTUwMCkgIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==');background-image:var(--material-search-icon);background-size:18px;background-position:18px center;font-size:14px;padding:0 24px 0 64px;box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.24),0 1px 0 0 rgba(255,255,255,.06) inset}:root{--text-input-font-size:16px;--text-input-height:31px;--text-input-border-color:var(--input-border-color);--material-text-input-font-size:16px;--material-text-input-color:var(--material-text-input-text-color)}.text-input{font:inherit;background:0 0;vertical-align:top;outline:0;line-height:1;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:none;background-color:transparent;letter-spacing:0;box-shadow:none;color:#1f1f21;color:var(--input-text-color);padding:0;margin:0;width:auto;font-size:16px;font-size:var(--text-input-font-size);height:31px;height:var(--text-input-height);font-weight:400;font-weight:var(--font-weight);box-sizing:border-box}.text-input::-ms-clear{display:none}.text-input:disabled{opacity:.3;cursor:default;pointer-events:none}.text-input::-webkit-input-placeholder{color:#999;color:var(--input-placeholder-color)}.text-input::placeholder{color:#999;color:var(--input-placeholder-color)}.text-input:disabled::-webkit-input-placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.text-input:disabled::placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.text-input:invalid{border:none;background-color:transparent;color:#1f1f21;color:var(--input-invalid-text-color)}.text-input--underbar{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--text-input-border-color);border-radius:0}.text-input--underbar:disabled{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--text-input-border-color)}.text-input--underbar:disabled::-webkit-input-placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.text-input--underbar:disabled::placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.text-input--underbar:invalid{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--input-invalid-border-color)}.text-input--material{padding:0;margin:0;font:inherit;background:0 0;outline:0;line-height:1;-moz-osx-font-smoothing:grayscale;font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#212121;color:var(--material-text-input-color);background-image:linear-gradient(to top,transparent 1px,#afafaf 1px);background-image:linear-gradient(to top,transparent 1px,var(--material-text-input-inactive-color) 1px);background-size:100% 2px;background-repeat:no-repeat;background-position:center bottom;background-color:transparent;font-size:16px;font-size:var(--material-text-input-font-size);border:none;padding-bottom:2px;border-radius:0;height:24px;vertical-align:middle;-webkit-transform:translate3d(0,0,0)}.text-input--material__label{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#afafaf;color:var(--material-text-input-inactive-color);position:absolute;left:0;top:2px;font-size:16px;pointer-events:none}.text-input--material__label--active{color:#009688;color:var(--material-text-input-active-color);-webkit-transform:translate(0,-75%) scale(.75);transform:translate(0,-75%) scale(.75);-webkit-transform-origin:left top;transform-origin:left top;transition:color .1s ease-in,-webkit-transform .1s ease-in;transition:transform .1s ease-in,color .1s ease-in;transition:transform .1s ease-in,color .1s ease-in,-webkit-transform .1s ease-in}.text-input--material:focus{background-image:linear-gradient(#009688,#009688),linear-gradient(to top,transparent 1px,#afafaf 1px);background-image:linear-gradient(var(--material-text-input-active-color),var(--material-text-input-active-color)),linear-gradient(to top,transparent 1px,var(--material-text-input-inactive-color) 1px);-webkit-animation:material-text-input-animate .3s forwards;animation:material-text-input-animate .3s forwards}.text-input--material::-webkit-input-placeholder{color:#afafaf;color:var(--material-text-input-inactive-color);line-height:20px}.text-input--material::placeholder{color:#afafaf;color:var(--material-text-input-inactive-color);line-height:20px}@-webkit-keyframes material-text-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}@keyframes material-text-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}:root{--textarea-color:var(--input-text-color);--textarea-border:1px solid var(--input-border-color);--textarea-padding:5px 5px 5px 5px;--textarea-box-shadow:none;--textarea-border-radius:4px}.textarea{box-sizing:border-box;margin:0;font:inherit;background:0 0;line-height:normal;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;resize:none;outline:0;padding:5px 5px 5px 5px;padding:var(--textarea-padding);font-size:16px;font-size:var(--text-input-font-size);font-weight:400;font-weight:var(--font-weight);border-radius:4px;border-radius:var(--textarea-border-radius);border:1px solid #ccc;border:var(--textarea-border);background-color:#f9f9f9;background-color:var(--input-bg-color);color:#1f1f21;color:var(--textarea-color);letter-spacing:0;box-shadow:none;box-shadow:var(--textarea-box-shadow);-webkit-appearance:none;appearance:none;width:auto}.textarea:disabled{opacity:.3;cursor:default;pointer-events:none}.textarea::-webkit-input-placeholder{color:#999;color:var(--input-placeholder-color)}.textarea::placeholder{color:#999;color:var(--input-placeholder-color)}.textarea--transparent{padding-left:0;padding-right:0;border:none;background-color:transparent}.dialog{box-sizing:border-box;padding:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);margin:auto auto;overflow:hidden;min-width:270px;min-height:100px;text-align:left}.dialog-container{height:inherit;min-height:inherit;overflow:hidden;border-radius:4px;background-color:#f4f4f4;background-color:var(--dialog-background-color);-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC');color:#1f1f21;color:var(--dialog-text-color)}.dialog-mask{padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.2)}.dialog--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);text-align:left;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)}.dialog-container--material{border-radius:2px;background-color:#fff;background-color:var(--material-dialog-background-color);color:#1f1f21;color:var(--material-dialog-text-color)}.dialog-mask--material{background-color:rgba(0,0,0,.3)}.alert-dialog{box-sizing:border-box;padding:0;font:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:270px;margin:auto;background-color:#f4f4f4;background-color:var(--alert-dialog-background-color);border-radius:8px;overflow:visible;max-width:95%;color:#1f1f21;color:var(--alert-dialog-text-color)}.alert-dialog-container{height:inherit;padding-top:16px;overflow:hidden}.alert-dialog-title{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);padding:0 8px;text-align:center;color:#1f1f21;color:var(--alert-dialog-text-color)}.alert-dialog-content{box-sizing:border-box;background-clip:padding-box;padding:4px 12px 8px;font-size:calc(17px - 3px);font-size:var(--font-size--mini);min-height:36px;text-align:center;color:#1f1f21;color:var(--alert-dialog-text-color)}.alert-dialog-footer{width:100%}.alert-dialog-button{box-sizing:border-box;font:inherit;background:0 0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none;letter-spacing:0;vertical-align:middle;border:none;border-top:1px solid #ddd;border-top:1px solid var(--alert-dialog-separator-color);font-size:calc(17px - 1px);font-size:calc(var(--font-size) - 1px);padding:0 8px;margin:0;display:block;width:100%;background-color:transparent;text-align:center;height:44px;line-height:44px;outline:0;color:rgba(24,103,194,.81);color:var(--alert-dialog-button-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button{border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#ddd,#ddd 50%,transparent 50%);background-image:linear-gradient(180deg,var(--alert-dialog-separator-color),var(--alert-dialog-separator-color) 50%,transparent 50%)}}.alert-dialog-button:active{background-color:rgba(0,0,0,.05)}.alert-dialog-button--primal{font-weight:500;font-weight:var(--font-weight--large)}.alert-dialog-footer--rowfooter{white-space:nowrap;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.alert-dialog-button--rowfooter{-webkit-flex:1;flex:1;display:block;width:100%;border-left:1px solid #ddd;border-left:1px solid var(--alert-dialog-separator-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--rowfooter{border-top:none;border-left:none;background-size:100% 1px,1px 100%;background-repeat:no-repeat;background-position:top,left;background-image:linear-gradient(0deg,transparent,transparent 50%,#ddd 50%),linear-gradient(90deg,transparent,transparent 50%,#ddd 50%);background-image:linear-gradient(0deg,transparent,transparent 50%,var(--alert-dialog-separator-color) 50%),linear-gradient(90deg,transparent,transparent 50%,var(--alert-dialog-separator-color) 50%)}}.alert-dialog-button--rowfooter:first-child{border-left:none}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--rowfooter:first-child{border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top,left;background-image:linear-gradient(0deg,transparent,transparent 50%,#ddd 50%);background-image:linear-gradient(0deg,transparent,transparent 50%,var(--alert-dialog-separator-color) 50%)}}.alert-dialog-mask{padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.2)}.alert-dialog--material{border-radius:2px;background-color:#fff;background-color:var(--material-alert-dialog-background-color)}.alert-dialog-container--material{padding:22px 0 0 0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)}.alert-dialog-title--material{-webkit-font-smoothing:antialiased;text-align:left;font-size:20px;font-weight:500;padding:0 24px;color:#212121;color:var(--material-alert-dialog-title-color)}.alert-dialog-content--material{-webkit-font-smoothing:antialiased;text-align:left;font-size:16px;font-weight:400;font-weight:var(--material-font-weight);line-height:20px;padding:0 24px;margin:24px 0 10px 0;min-height:0;color:#727272;color:var(--material-alert-dialog-content-color)}.alert-dialog-footer--material{display:block;padding:0;height:52px;box-sizing:border-box;margin:0;line-height:1}.alert-dialog-button--material{-webkit-font-smoothing:antialiased;text-transform:uppercase;display:inline-block;width:auto;float:right;background:0 0;border:none;border-radius:2px;font-size:14px;font-weight:500;outline:0;height:36px;line-height:36px;padding:0 8px;margin:8px 8px 8px 0;box-sizing:border-box;min-width:50px;color:#009688;color:var(--material-alert-dialog-button-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--material{background:0 0}}.alert-dialog-button--material:active{background-color:transparent;background-color:initial}.alert-dialog-button--rowfooter--material,.alert-dialog-button--rowfooter--material:first-child{border:0}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--rowfooter--material,.alert-dialog-button--rowfooter--material:first-child{background:0 0}}.alert-dialog-button--primal--material{font-weight:500}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--primal--material{background:0 0}}.alert-dialog-mask--material{background-color:rgba(0,0,0,.3)}:root{--popover-arrow-size:18px;--popover-arrow-radius:4px;--popover-radius:8px;--popover-margin:6px;--material-popover-radius:2px;--material-popover-margin:4px}.popover{position:absolute;z-index:20001}.popover--bottom{bottom:0}.popover--top{top:0}.popover--left{left:0}.popover--right{right:0}.popover-mask{left:0;right:0;top:0;bottom:0;background-color:rgba(0,0,0,.2);position:absolute;z-index:19999}.popover__content{box-sizing:border-box;padding:0;margin:0;font:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:block;width:220px;overflow:auto;min-height:100px;max-height:100%;background-color:#fff;background-color:var(--popover-background-color);border-radius:8px;border-radius:var(--popover-radius);color:#1f1f21;color:var(--popover-text-color);pointer-events:auto}.popover__arrow{position:absolute;width:18px;width:var(--popover-arrow-size);height:18px;height:var(--popover-arrow-size);-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;background-color:transparent;background-image:linear-gradient(45deg,#fff,#fff 50%,transparent 50%);background-image:linear-gradient(45deg,var(--popover-background-color),var(--popover-background-color) 50%,transparent 50%);border-radius:0 0 0 4px;border-radius:0 0 0 var(--popover-arrow-radius);margin:0;z-index:20001}.popover--bottom__arrow{-webkit-transform:translateY(6px) translateX(calc(18px / -2)) rotate(-45deg);transform:translateY(6px) translateX(calc(18px / -2)) rotate(-45deg);-webkit-transform:translateY(6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(-45deg);transform:translateY(6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(-45deg);bottom:0;margin-right:-18px}.popover--top__arrow{-webkit-transform:translateY(-6px) translateX(calc(18px / -2)) rotate(135deg);transform:translateY(-6px) translateX(calc(18px / -2)) rotate(135deg);-webkit-transform:translateY(-6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(135deg);transform:translateY(-6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(135deg);top:0;margin-right:-18px}.popover--left__arrow{-webkit-transform:translateX(-6px) translateY(calc(18px / -2)) rotate(45deg);transform:translateX(-6px) translateY(calc(18px / -2)) rotate(45deg);-webkit-transform:translateX(-6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(45deg);transform:translateX(-6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(45deg);left:0;margin-bottom:-18px}.popover--right__arrow{-webkit-transform:translateX(6px) translateY(calc(18px / -2)) rotate(225deg);transform:translateX(6px) translateY(calc(18px / -2)) rotate(225deg);-webkit-transform:translateX(6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(225deg);transform:translateX(6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(225deg);right:0;margin-bottom:-18px}.popover-mask--material{background-color:transparent}.popover--material__content{background-color:#fafafa;background-color:var(--material-popover-background-color);border-radius:2px;border-radius:var(--material-popover-radius);color:#1f1f21;color:var(--material-popover-text-color);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.popover--material__arrow{display:none}.progress-bar{position:relative;height:2px;display:block;width:100%;background-color:#b6b6b6;background-color:var(--progress-bar-background-color);background-clip:padding-box;margin:0;overflow:hidden;border-radius:4px}.progress-bar__primary,.progress-bar__secondary{position:absolute;background-color:rgba(24,103,194,.81);background-color:var(--progress-bar-color);top:0;bottom:0;transition:width .3s linear;z-index:100;border-radius:4px}.progress-bar__secondary{background-color:rgba(24,103,194,.4);background-color:var(--progress-bar-secondary-color);z-index:0}.progress-bar--indeterminate:before{content:'';position:absolute;background-color:rgba(24,103,194,.81);background-color:var(--progress-bar-color);top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:progress-bar__indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:progress-bar__indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;border-radius:4px}.progress-bar--indeterminate:after{content:'';position:absolute;background-color:rgba(24,103,194,.81);background-color:var(--progress-bar-color);top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:progress-bar__indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:progress-bar__indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s;border-radius:4px}@-webkit-keyframes progress-bar__indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes progress-bar__indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes progress-bar__indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes progress-bar__indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.progress-bar--material{height:4px;background-color:#e0e0e0;background-color:var(--material-progress-bar-background-color);border-radius:0}.progress-bar--material__primary,.progress-bar--material__secondary{background-color:#009688;background-color:var(--material-progress-bar-primary-color);border-radius:0}.progress-bar--material__secondary{background-color:#80cbc4;background-color:var(--material-progress-bar-secondary-color);z-index:0}.progress-bar--material.progress-bar--indeterminate:before{background-color:var(--material-progress-bar-primary-color);border-radius:0}.progress-bar--material.progress-bar--indeterminate:after{background-color:var(--material-progress-bar-primary-color);border-radius:0}.progress-circular{height:32px;position:relative;width:32px;-webkit-transform:rotate(270deg);transform:rotate(270deg);-webkit-animation:none;animation:none}.progress-circular__background,.progress-circular__primary,.progress-circular__secondary{ + cx: 50%; + cy: 50%; + r: 40%; + -webkit-animation:none;animation:none;fill:none;stroke-width:5%;stroke-miterlimit:10}.progress-circular__background{stroke:#ddd;stroke:var(--progress-circle-background-color)}.progress-circular__primary{stroke-dasharray:1,200;stroke-dashoffset:0;stroke:rgba(24,103,194,0.81);stroke:var(--progress-circle-primary-color);transition:all 1s cubic-bezier(.4, 0, .2, 1)}.progress-circular__secondary{stroke:rgba(24,103,194,0.81);stroke:var(--progress-circle-secondary-color)}.progress-circular--indeterminate{-webkit-animation:progress__rotate 2s linear infinite;animation:progress__rotate 2s linear infinite;-webkit-transform:none;transform:none}.progress-circular--indeterminate__primary{-webkit-animation:progress__dash 1.5s ease-in-out infinite;animation:progress__dash 1.5s ease-in-out infinite}.progress-circular--indeterminate__secondary{display:none}@-webkit-keyframes progress__rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes progress__rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes progress__dash{0%{stroke-dasharray:10%,241.32%;stroke-dashoffset:0}50%{stroke-dasharray:201%,50.322%;stroke-dashoffset:-100%}100%{stroke-dasharray:10%,241.32%;stroke-dashoffset:-251.32%}}@keyframes progress__dash{0%{stroke-dasharray:10%,241.32%;stroke-dashoffset:0}50%{stroke-dasharray:201%,50.322%;stroke-dashoffset:-100%}100%{stroke-dasharray:10%,241.32%;stroke-dashoffset:-251.32%}}.progress-circular--material__background,.progress-circular--material__primary,.progress-circular--material__secondary{stroke-width:9%}.progress-circular--material__background{stroke:#dbdbdb;stroke:var(--material-progress-circle-background-color)}.progress-circular--material__primary{stroke:#009688;stroke:var(--material-progress-circle-primary-color)}.progress-circular--material__secondary{stroke:#80cbc4;stroke:var(--material-progress-circle-secondary-color)}:root{--fab-width:56px;--fab-height:56px;--fab-position:absolute;--fab-mini-width:40px;--fab-mini-height:40px;--material-fab-width:56px;--material-fab-height:56px;--material-fab-position:absolute;--material-fab-mini-width:40px;--material-fab-mini-height:40px}button.fab,ons-fab.fab,ons-speed-dial-item.fab{position:relative;display:inline-block;box-sizing:border-box;padding:0;margin:0;font:inherit;background:0 0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;-webkit-user-select:none;user-select:none;width:56px;width:var(--fab-width);height:56px;height:var(--fab-height);text-decoration:none;font-size:25px;line-height:56px;line-height:var(--fab-height);letter-spacing:0;color:#fff;color:var(--fab-text-color);vertical-align:middle;text-align:center;background-color:rgba(24,103,194,.81);background-color:var(--fab-background-color);border:0 solid currentColor;border-radius:50%;overflow:hidden;box-shadow:0 3px 6px rgba(0,0,0,.12);transition:all .1s linear}button.fab:active,ons-fab.fab:active,ons-speed-dial-item.fab:active{background-color:rgba(24,103,194,.61);background-color:var(--fab-active-background-color);transition:all .2s ease;box-shadow:0 0 6px rgba(0,0,0,.12)}button.fab:focus,ons-fab.fab:focus,ons-speed-dial-item.fab:focus{outline:0}button.fab:disabled,button.fab[disabled],ons-fab.fab:disabled,ons-fab.fab[disabled],ons-speed-dial-item.fab:disabled,ons-speed-dial-item.fab[disabled]{background-color:rgba(0,0,0,.5);box-shadow:none;opacity:.3;cursor:default;pointer-events:none}button.fab__icon,ons-fab.fab__icon,ons-speed-dial-item.fab__icon{position:relative;overflow:hidden;height:100%;width:100%;display:block;border-radius:100%;padding:0;z-index:100;line-height:56px;line-height:var(--material-fab-height)}button.fab--material,ons-fab.fab--material,ons-speed-dial-item.fab--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);width:56px;width:var(--material-fab-width);height:56px;height:var(--material-fab-height);text-decoration:none;font-size:25px;line-height:56px;line-height:var(--material-fab-height);color:#fff;color:var(--material-fab-text-color);background-color:#009688;background-color:var(--material-fab-background-color);box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.4);transition:all .2s ease-in-out}button.fab--material:active,ons-fab.fab--material:active,ons-speed-dial-item.fab--material:active{background-color:rgba(0,150,136,.85);background-color:var(--material-fab-active-background-color);transition:all .2s ease}button.fab--material:focus,ons-fab.fab--material:focus,ons-speed-dial-item.fab--material:focus{outline:0}button.fab--material__icon,ons-fab.fab--material__icon,ons-speed-dial-item.fab--material__icon{position:relative;overflow:hidden;height:100%;width:100%;display:block;border-radius:100%;padding:0;z-index:100;line-height:56px;line-height:var(--material-fab-height)}button.fab--mini,ons-fab.fab--mini,ons-speed-dial-item.fab--mini{width:40px;width:var(--fab-mini-width);height:40px;height:var(--fab-mini-height);line-height:40px;line-height:var(--fab-mini-height)}button.fab--mini__icon,ons-fab.fab--mini__icon,ons-speed-dial-item.fab--mini__icon{line-height:40px;line-height:var(--fab-mini-height)}button.speed-dial__item,ons-fab.speed-dial__item,ons-speed-dial-item.speed-dial__item{position:absolute;-webkit-transform:scale(0);transform:scale(0)}.speed-dial.fab--top__right,button.fab--top__right,ons-fab.fab--top__right{top:20px;bottom:auto;right:20px;left:auto;position:absolute;position:var(--fab-position)}.speed-dial.fab--bottom__right,button.fab--bottom__right,ons-fab.fab--bottom__right{top:auto;bottom:20px;right:20px;left:auto;position:absolute;position:var(--fab-position)}.speed-dial.fab--top__left,button.fab--top__left,ons-fab.fab--top__left{top:20px;bottom:auto;right:auto;left:20px;position:absolute;position:var(--fab-position)}.speed-dial.fab--bottom__left,button.fab--bottom__left,ons-fab.fab--bottom__left{top:auto;bottom:20px;right:auto;left:20px;position:absolute;position:var(--fab-position)}.speed-dial.fab--top__center,button.fab--top__center,ons-fab.fab--top__center{top:20px;bottom:auto;margin-left:-28px;left:50%;right:auto;position:absolute;position:var(--fab-position)}.speed-dial.fab--bottom__center,button.fab--bottom__center,ons-fab.fab--bottom__center{top:auto;bottom:20px;margin-left:-28px;left:50%;right:auto;position:absolute;position:var(--fab-position)}.modal{white-space:nowrap;word-spacing:0;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;box-sizing:border-box;background-clip:padding-box;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);overflow:hidden;background-color:rgba(0,0,0,.7);background-color:var(--modal-background-color);position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;display:table;z-index:2147483647}.modal__content{overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;background:0 0;border:none;line-height:normal;box-sizing:border-box;background-clip:padding-box;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:table-cell;vertical-align:middle;text-align:center;color:#fff;color:var(--modal-text-color);white-space:normal}:root{--select-input-font-size:var(--font-size);--select-input-height:32px;--material-select-input-font-size:15px;--select-arrow-icon:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTBweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCAxMCA1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0LWFsbG93PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InNlbGVjdCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imlvcy1zZWxlY3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTguMDAwMDAwLCAtMTE0LjAwMDAwMCkiIGZpbGw9IiM3NTc1NzUiPgogICAgICAgICAgICA8ZyBpZD0ibWVudS1iYXItKy1vcGVuLW1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDEwMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJtZW51LWJhciI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9InNlbGVjdC1hbGxvdyIgcG9pbnRzPSI3NSAxNCA4MCAxOSA4NSAxNCI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=')}.select-input{box-sizing:border-box;margin:0;font:inherit;background:0 0;vertical-align:top;outline:0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:relative;font-size:17px;font-size:var(--select-input-font-size);height:32px;height:var(--select-input-height);line-height:32px;line-height:var(--select-input-height);border-color:#ccc;border-color:var(--select-input-border-color);color:#1f1f21;color:var(--select-input-color);-webkit-appearance:none;appearance:none;display:inline-block;border-radius:0;border:none;padding:0 20px 0 0;background-color:transparent;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTBweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCAxMCA1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0LWFsbG93PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InNlbGVjdCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imlvcy1zZWxlY3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTguMDAwMDAwLCAtMTE0LjAwMDAwMCkiIGZpbGw9IiM3NTc1NzUiPgogICAgICAgICAgICA8ZyBpZD0ibWVudS1iYXItKy1vcGVuLW1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDEwMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJtZW51LWJhciI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9InNlbGVjdC1hbGxvdyIgcG9pbnRzPSI3NSAxNCA4MCAxOSA4NSAxNCI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=');background-image:var(--select-arrow-icon);background-repeat:no-repeat;background-position:right center;border-bottom:none}.select-input::-ms-clear{display:none}.select-input::-webkit-input-placeholder{color:#999;color:var(--input-placeholder-color)}.select-input::placeholder{color:#999;color:var(--input-placeholder-color)}.select-input:disabled{opacity:.3;cursor:default;pointer-events:none;border:none;background-color:transparent}.select-input:disabled::-webkit-input-placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.select-input:disabled::placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.select-input:invalid{border:none;background-color:transparent;color:#1f1f21;color:var(--input-invalid-text-color)}.select-input[multiple]{height:calc(32px * 2);height:calc(var(--select-input-height) * 2)}.select-input--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#1f1f21;color:var(--material-select-input-color);font-size:15px;font-size:var(--material-select-input-font-size);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTBweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCAxMCA1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0LWFsbG93PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InNlbGVjdCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imlvcy1zZWxlY3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTguMDAwMDAwLCAtMTE0LjAwMDAwMCkiIGZpbGw9IiM3NTc1NzUiPgogICAgICAgICAgICA8ZyBpZD0ibWVudS1iYXItKy1vcGVuLW1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDEwMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJtZW51LWJhciI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9InNlbGVjdC1hbGxvdyIgcG9pbnRzPSI3NSAxNCA4MCAxOSA4NSAxNCI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4='),linear-gradient(to top,rgba(0,0,0,.12) 50%,rgba(0,0,0,.12) 50%);background-image:var(--select-arrow-icon),linear-gradient(to top,var(--material-select-border-color) 50%,var(--material-select-border-color) 50%);background-size:auto,100% 1px;background-repeat:no-repeat;background-position:right center,left bottom;border:none;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.select-input--material__label{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:rgba(0,0,0,.81);color:var(--material-select-input-inactive-color);position:absolute;left:0;top:2px;font-size:16px;pointer-events:none}.select-input--material__label--active{color:rgba(0,0,0,.15);color:var(--material-select-input-active-color);-webkit-transform:translate(0,-75%) scale(.75);transform:translate(0,-75%) scale(.75);-webkit-transform-origin:left top;transform-origin:left top;transition:color .1s ease-in,-webkit-transform .1s ease-in;transition:transform .1s ease-in,color .1s ease-in;transition:transform .1s ease-in,color .1s ease-in,-webkit-transform .1s ease-in}.select-input--material::-webkit-input-placeholder{color:rgba(0,0,0,.81);color:var(--material-select-input-inactive-color);line-height:20px}.select-input--material::placeholder{color:rgba(0,0,0,.81);color:var(--material-select-input-inactive-color);line-height:20px}@-webkit-keyframes material-select-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}@keyframes material-select-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}.select-input--underbar{border:none;border-bottom:1px solid #ccc;border-bottom:1px solid var(--select-input-border-color)}.select-input--underbar:disabled{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--select-input-border-color)}.select-input--underbar:disabled::-webkit-input-placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.select-input--underbar:disabled::placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.select-input--underbar:invalid{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--input-invalid-border-color)}:root{--action-sheet-mask-color:rgba(0, 0, 0, 0.1);--material-action-sheet-mask-color:rgba(0, 0, 0, 0.2)}.action-sheet{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;position:absolute;left:10px;right:10px;bottom:10px;z-index:2}.action-sheet-button{box-sizing:border-box;height:56px;font-size:20px;text-align:center;color:rgba(24,103,194,.81);color:var(--action-sheet-button-color);background-color:rgba(255,255,255,.9);background-color:var(--action-sheet-button-background-color);border-radius:0;line-height:56px;border:none;-webkit-appearance:none;appearance:none;display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 100%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.action-sheet-button{background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 50%,transparent 50%)}}.action-sheet-button:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.action-sheet-button:active{background-color:#e9e9e9;background-color:var(--action-sheet-button-active-background-color);background-image:none}.action-sheet-button:focus{outline:0}.action-sheet-button:nth-last-of-type(2){border-bottom-right-radius:12px;border-bottom-left-radius:12px;background-image:none}.action-sheet-button:last-of-type{border-radius:12px;margin:8px 0 0 0;background-color:#fff;background-color:var(--action-sheet-cancel-button-background-color);background-image:none;font-weight:600}.action-sheet-button:last-of-type:active{background-color:#e9e9e9;background-color:var(--action-sheet-button-active-background-color)}.action-sheet-button--destructive{color:#fe3824;color:var(--action-sheet-button-destructive-color)}.action-sheet-title{box-sizing:border-box;height:56px;font-size:13px;color:#8f8e94;color:var(--action-sheet-title-color);text-align:center;background-color:rgba(255,255,255,.9);background-color:var(--action-sheet-button-background-color);line-height:56px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 100%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.action-sheet-title{background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 50%,transparent 50%)}}.action-sheet-title:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.action-sheet-icon{display:none}.action-sheet-mask{position:absolute;left:0;top:0;right:0;bottom:0;background-color:rgba(0,0,0,.1);background-color:var(--action-sheet-mask-color);z-index:1}.action-sheet--material{left:0;right:0;bottom:0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)}.action-sheet-title--material{-webkit-font-smoothing:antialiased;border-radius:0;background-image:none;text-align:left;height:56px;line-height:56px;font-size:16px;padding:0 0 0 16px;color:#686868;color:var(--material-action-sheet-text-color);background-color:#fff;font-weight:400;font-weight:var(--material-font-weight)}.action-sheet-title--material:first-child{border-radius:0}.action-sheet-button--material{-webkit-font-smoothing:antialiased;border-radius:0;background-image:none;height:52px;line-height:52px;text-align:left;font-size:16px;padding:0 0 0 16px;color:#686868;color:var(--material-action-sheet-text-color);font-weight:400;font-weight:var(--material-font-weight);background-color:#fff}.action-sheet-button--material:first-child{border-radius:0}.action-sheet-button--material:nth-last-of-type(2){border-radius:0}.action-sheet-button--material:last-of-type{margin:0;border-radius:0;font-weight:400;background-color:#fff}.action-sheet-icon--material{display:inline-block;float:left;height:52px;line-height:52px;margin-right:32px;font-size:26px;width:.8em;text-align:center}.action-sheet-mask--material{background-color:rgba(0,0,0,.2);background-color:var(--material-action-sheet-mask-color)}:root{--card-text-line-height:1.4;--card-text-font-size:14px;--material-card-text-line-height:1.4;--material-card-text-font-size:14px}.card{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);box-shadow:0 1px 2px rgba(0,0,0,.12);border-radius:8px;background-color:#fff;background-color:var(--card-background-color);box-sizing:border-box;display:block;margin:8px;padding:16px;text-align:left;word-wrap:break-word}.card__content{margin:0;font-size:14px;font-size:var(--card-text-font-size);line-height:1.4;line-height:var(--card-text-line-height);color:#030303;color:var(--card-text-color)}.card__title{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:20px;margin:4px 0 8px 0;padding:0;display:block;box-sizing:border-box}.card--material{background-color:#fff;background-color:var(--material-card-background-color);border-radius:2px;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.card--material__content{font-size:14px;font-size:var(--material-card-text-font-size);line-height:1.4;line-height:var(--material-card-text-line-height);color:rgba(0,0,0,.54);color:var(--material-card-text-color)}.card--material__title{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);font-size:24px;margin:8px 0 12px 0}.toast{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:absolute;z-index:2;left:8px;right:8px;bottom:0;margin:8px 0;border-radius:8px;background-color:rgba(0,0,0,.8);background-color:var(--toast-background-color);display:-webkit-flex;display:flex;min-height:48px;line-height:1.5;box-sizing:border-box;padding:16px 16px}.toast__message{font-size:14px;color:#fff;color:var(--toast-text-color);-webkit-flex-grow:1;flex-grow:1;text-align:left;margin:0 16px 0 0;white-space:normal}.toast__button{font-size:14px;color:#fff;color:var(--toast-button-text-color);-webkit-flex-grow:0;flex-grow:0;-webkit-appearance:none;appearance:none;border:none;background-color:transparent;cursor:default;text-transform:uppercase}.toast__button:focus{outline:0}.toast__button:active{opacity:.4}.toast--material{left:0;right:0;bottom:0;margin:0;background-color:rgba(0,0,0,.8);background-color:var(--material-toast-background-color);border-radius:0;padding:16px 24px}.toast--material__message{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);margin:0 24px 0 0}.toast--material__button{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#bbdefb;color:var(--material-toast-button-text-color)}.toolbar{top:0;box-sizing:border-box;padding-top:0}.bottom-bar{bottom:0;box-sizing:border-box;padding-bottom:0}.toolbar+.page__background{top:44px;top:var(--toolbar-height)}.page__content{top:0;padding-top:0;bottom:0}.toolbar+.page__background+.page__content{top:44px;top:var(--toolbar-height);padding-top:0}.page-with-bottom-toolbar>.page__content{bottom:44px}.toolbar.toolbar--material+.page__background{top:56px;top:var(--toolbar-material-height)}.toolbar.toolbar--material+.page__background+.page__content{top:56px;top:var(--toolbar-material-height);padding-top:0}.toolbar.toolbar--transparent+.page__background{top:0}.toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,.toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content{top:0;padding-top:44px;padding-top:var(--toolbar-height)}.toolbar.toolbar--material.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,.toolbar.toolbar--material.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content{top:0;padding-top:56px;padding-top:var(--toolbar-material-height)}.tabbar--top{padding-top:0}.tabbar:not(.tabbar--top){padding-bottom:0}:root{--iphonex-safe-area-inset-top-portrait:44px;--iphonex-safe-area-inset-right-portrait:0;--iphonex-safe-area-inset-bottom-portrait:34px;--iphonex-safe-area-inset-left-portrait:0;--iphonex-safe-area-inset-top-landscape:0;--iphonex-safe-area-inset-right-landscape:44px;--iphonex-safe-area-inset-bottom-landscape:21px;--iphonex-safe-area-inset-left-landscape:44px}@media (orientation:landscape){html[onsflag-iphonex-landscape] .page__content{padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape);padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape)}html[onsflag-iphonex-landscape] .dialog .page__content,html[onsflag-iphonex-landscape] .modal .page__content{padding-left:0;padding-right:0}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .toolbar__left{padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape)}html[onsflag-iphonex-landscape] .toolbar__right{padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape)}html[onsflag-iphonex-landscape] .bottom-bar{padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape);padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .tabbar{padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape);padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape);width:calc(100% - 44px - 44px);width:calc(100% - var(--iphonex-safe-area-inset-left-landscape) - var(--iphonex-safe-area-inset-right-landscape))}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .fab--top__center,html[onsflag-iphonex-portrait] .fab--top__left,html[onsflag-iphonex-portrait] .fab--top__right{top:calc(44px + 20px);top:calc(var(--iphonex-safe-area-inset-top-portrait) + 20px)}html[onsflag-iphonex-portrait] .fab--bottom__center,html[onsflag-iphonex-portrait] .fab--bottom__left,html[onsflag-iphonex-portrait] .fab--bottom__right{bottom:calc(34px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait))}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .fab--bottom__center,html[onsflag-iphonex-landscape] .fab--bottom__left,html[onsflag-iphonex-landscape] .fab--bottom__right{bottom:calc(21px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape))}html[onsflag-iphonex-landscape] .fab--bottom__left,html[onsflag-iphonex-landscape] .fab--top__left{left:calc(44px);left:calc(var(--iphonex-safe-area-inset-left-landscape))}html[onsflag-iphonex-landscape] .fab--bottom__right,html[onsflag-iphonex-landscape] .fab--top__right{right:calc(44px);right:calc(var(--iphonex-safe-area-inset-right-landscape))}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .action-sheet{bottom:calc(34px + 14px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait) + 14px)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .action-sheet{left:calc((100vw - (100vh + 20px))/ 2);right:calc((100vw - (100vh + 20px))/ 2);bottom:calc(21px + 12px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape) + 12px)}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .toast{bottom:34px;bottom:var(--iphonex-safe-area-inset-bottom-portrait)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .toast{left:calc(44px + 8px);left:calc(var(--iphonex-safe-area-inset-left-landscape) + 8px);right:calc(44px + 8px);right:calc(var(--iphonex-safe-area-inset-right-landscape) + 8px);bottom:21px;bottom:var(--iphonex-safe-area-inset-bottom-landscape)}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .toolbar{top:0;box-sizing:content-box;padding-top:44px;padding-top:var(--iphonex-safe-area-inset-top-portrait)}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar,html[onsflag-iphonex-portrait] .dialog .toolbar,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar{box-sizing:border-box;padding-top:0}html[onsflag-iphonex-portrait] .bottom-bar{bottom:0;box-sizing:content-box;padding-bottom:34px;padding-bottom:var(--iphonex-safe-area-inset-bottom-portrait)}html[onsflag-iphonex-portrait] .dialog .bottom-bar,html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .bottom-bar,html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .bottom-bar{box-sizing:border-box;padding-bottom:0}html[onsflag-iphonex-portrait] .page__content{top:0;padding-top:44px;padding-top:var(--iphonex-safe-area-inset-top-portrait);bottom:0;padding-bottom:34px;padding-bottom:var(--iphonex-safe-area-inset-bottom-portrait)}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .page__content,/* if wrapped with a top tabbar */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content,html[onsflag-iphonex-portrait] .dialog .page__content,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .page__content{padding-top:0}/* if wrapped with a bottom tabbar */ html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-portrait] .dialog .page__content,html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .page__content,html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .page__content{padding-bottom:0}html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content{top:calc(44px + 44px);top:calc(var(--iphonex-safe-area-inset-top-portrait) + var(--toolbar-height));padding-top:0}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar:not(.toolbar--cover-content)+.page__background,/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar:not(.toolbar--cover-content)+.page__background,html[onsflag-iphonex-portrait] .dialog .toolbar:not(.toolbar--cover-content)+.page__background,html[onsflag-iphonex-portrait] .dialog .toolbar:not(.toolbar--cover-content)+.page__background+.page__content,html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar:not(.toolbar--cover-content)+.page__background+.page__content,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar:not(.toolbar--cover-content)+.page__background+.page__content{top:var(--toolbar-height);padding-top:0}html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content{bottom:calc(34px + 44px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait) + var(--toolbar-height));padding-bottom:0}html[onsflag-iphonex-portrait] .dialog .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .page-with-bottom-toolbar>.page__content{bottom:var(--toolbar-height);padding-bottom:0}html[onsflag-iphonex-portrait] .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,html[onsflag-iphonex-portrait] .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content{top:0;padding-top:calc(44px + 44px);padding-top:calc(var(--iphonex-safe-area-inset-top-portrait) + var(--toolbar-height))}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page__content,/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .dialog .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content,html[onsflag-iphonex-portrait] .dialog .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content{padding-top:44px;padding-top:var(--toolbar-height)}html[onsflag-iphonex-portrait] .tabbar--top{padding-top:44px;padding-top:var(--iphonex-safe-area-inset-top-portrait)}html[onsflag-iphonex-portrait] .tabbar--top__content{top:calc(44px + 49px);top:calc(var(--iphonex-safe-area-inset-top-portrait) + var(--tabbar-height))}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .tabbar--top__content,/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .tabbar--top__content,html[onsflag-iphonex-portrait] .dialog .tabbar--top__content{top:var(--tabbar-height)}html[onsflag-iphonex-portrait] .tabbar:not(.tabbar--top):not(.tabbar--top){padding-bottom:34px;padding-bottom:var(--iphonex-safe-area-inset-bottom-portrait)}html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content){bottom:calc(34px + 49px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait) + var(--tabbar-height))}/* if wrapped with a page with a bottom-bar */ html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .tabbar__content:not(.tabbar--top__content),/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .tabbar__content:not(.tabbar--top__content),html[onsflag-iphonex-portrait] .dialog .tabbar__content:not(.tabbar--top__content){bottom:var(--tabbar-height)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .bottom-bar{bottom:0;box-sizing:content-box;padding-bottom:21px;padding-bottom:var(--iphonex-safe-area-inset-bottom-landscape)}html[onsflag-iphonex-landscape] .dialog .bottom-bar,html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .bottom-bar,html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .bottom-bar{box-sizing:border-box;padding-bottom:0}html[onsflag-iphonex-landscape] .page__content{bottom:0;padding-bottom:21px;padding-bottom:var(--iphonex-safe-area-inset-bottom-landscape)}/* if wrapped with a bottom tabbar */ html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-landscape] .dialog .page__content,html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .page__content,html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .page__content{padding-bottom:0}html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content{bottom:calc(21px + 44px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape) + var(--toolbar-height));padding-bottom:0}html[onsflag-iphonex-landscape] .dialog .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .page-with-bottom-toolbar>.page__content{bottom:var(--toolbar-height);padding-bottom:0}html[onsflag-iphonex-landscape] .tabbar:not(.tabbar--top){padding-bottom:21px;padding-bottom:var(--iphonex-safe-area-inset-bottom-landscape)}html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content){bottom:calc(21px + 49px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape) + var(--tabbar-height))}/* if wrapped with a page with a bottom-bar */ html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .tabbar__content:not(.tabbar--top__content),/* if wrapped with dialogs */ html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .tabbar__content:not(.tabbar--top__content),html[onsflag-iphonex-landscape] .dialog .tabbar__content:not(.tabbar--top__content){bottom:var(--tabbar-height)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset){margin-left:calc(-1 * 44px);margin-left:calc(-1 * var(--iphonex-safe-area-inset-left-landscape));margin-right:calc(-1 * 44px);margin-right:calc(-1 * var(--iphonex-safe-area-inset-right-landscape))}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-header{padding-left:calc(44px + 15px);padding-left:calc(var(--iphonex-safe-area-inset-left-landscape) + 15px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item{padding-left:calc(var(--iphonex-safe-area-inset-left-landscape) + 14px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item--chevron:before{right:calc(44px + 16px);right:calc(var(--iphonex-safe-area-inset-right-landscape) + 16px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item>.list-item__center:last-child{padding-right:calc(44px + 6px);padding-right:calc(var(--iphonex-safe-area-inset-right-landscape) + 6px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item>.list-item__right{padding-right:calc(44px + 12px);padding-right:calc(var(--iphonex-safe-area-inset-right-landscape) + 12px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item>.list-item--chevron__right{padding-right:calc(44px + 30px);padding-right:calc(var(--iphonex-safe-area-inset-right-landscape) + 30px)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset){margin-left:0;margin-right:0}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-header{padding-left:15px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item{padding-left:14px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item--chevron:before{right:16px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item>.list-item__center:last-child{padding-right:6px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item>.list-item__right{padding-right:12px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item>.list-item--chevron__right{padding-right:30px}} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/onsen-css-components.min.css b/Server/www/spiderbasic/onsenui-css/onsen-css-components.min.css new file mode 100644 index 0000000..f1dbe43 --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/onsen-css-components.min.css @@ -0,0 +1,35 @@ +/*! + * Copyright 2013-2017 ASIAL CORPORATION + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + *//*! + * Copyright 2012 Adobe Systems Inc.; + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */:root{--background-color:#efeff4;--text-color:#1f1f21;--sub-text-color:#999;--highlight-color-rgb:0,118,255;--highlight-color:rgb(var(--highlight-color-rgb));--second-highlight-color:#25a6d9;--border-color:#ccc;--button-background-color:var(--highlight-color);--button-cta-background-color:var(--second-highlight-color);--toolbar-background-color:#fafafa;--toolbar-button-color:var(--highlight-color);--toolbar-text-color:#1f1f21;--toolbar-border-color:#b2b2b2;--button-bar-color:var(--highlight-color);--button-bar-active-text-color:#fff;--button-bar-active-background-color:unset;--button-bar-active-background-color-default-blend-color:white;--button-bar-active-background-color-default-blend-time:-0.7s;--button-light-color:black;--segment-color:var(--highlight-color);--segment-active-text-color:#fff;--segment-active-background-color:unset;--segment-active-background-color-default-blend-color:white;--segment-active-background-color-default-blend-time:-0.7s;--list-background-color:#fff;--list-header-background-color:#eee;--list-tap-active-background-color:#d9d9d9;--list-item-chevron-color:#c7c7cc;--progress-bar-color:var(--highlight-color);--progress-bar-secondary-color:#65adff;--progress-bar-background-color:transparent;--progress-circle-primary-color:var(--highlight-color);--progress-circle-secondary-color:#65adff;--progress-circle-background-color:transparent;--tabbar-background-color:#fafafa;--tabbar-text-color:#999;--tabbar-highlight-text-color:var(--highlight-color);--tabbar-border-color:#ccc;--switch-highlight-color:#44db5e;--switch-border-color:#e5e5e5;--switch-background-color:white;--range-track-background-color:#a4aab3;--range-track-background-color-active:var(--highlight-color);--range-thumb-background-color:#fff;--modal-background-color:rgba(0, 0, 0, 0.7);--modal-text-color:#fff;--alert-dialog-background-color:#f4f4f4;--alert-dialog-text-color:#1f1f21;--alert-dialog-button-color:var(--highlight-color);--alert-dialog-separator-color:#ddd;--dialog-background-color:#f4f4f4;--dialog-text-color:var(--text-color);--popover-background-color:white;--popover-text-color:#1f1f21;--action-sheet-title-color:#8f8e94;--action-sheet-button-separator-color:rgba(0, 0, 0, 0.1);--action-sheet-button-color:var(--highlight-color);--action-sheet-button-destructive-color:#fe3824;--action-sheet-button-background-color:rgba(255, 255, 255, 0.9);--action-sheet-button-active-background-color:#e9e9e9;--action-sheet-cancel-button-background-color:#fff;--notification-background-color:#fe3824;--notification-color:white;--search-input-background-color:rgba(3, 3, 3, 0.09);--fab-text-color:#ffffff;--fab-background-color-rgb:var(--highlight-color-rgb);--fab-background-color:rgba(var(--fab-background-color-rgb));--fab-active-background-color:rgba(var(--fab-background-color-rgb), 0.7);--card-background-color:white;--card-text-color:#030303;--toast-background-color:rgba(0, 0, 0, 0.8);--toast-text-color:white;--toast-button-text-color:white;--select-input-color:var(--text-color);--select-input-border-color:var(--border-color);--material-background-color:#eceff1;--material-text-color:var(--text-color);--material-notification-background-color:#e91e63;--material-notification-color:white;--material-switch-active-thumb-color:#37474f;--material-switch-active-background-color:rgba(55, 71, 79, 0.5);--material-switch-inactive-thumb-color:#f1f1f1;--material-switch-inactive-background-color:#b0afaf;--material-range-track-color:#bdbdbd;--material-range-thumb-color:#31313a;--material-range-disabled-thumb-color:#b0b0b0;--material-range-disabled-thumb-border-color:#eeeeee;--material-range-zero-thumb-color:#f2f2f2;--material-toolbar-background-color:#ffffff;--material-toolbar-text-color:#31313a;--material-toolbar-button-color:#1e88e5;--material-segment-background-color:#fafafa;--material-segment-active-background-color:#c8c8c8;--material-segment-text-color:rgba(0, 0, 0, 0.38);--material-segment-active-text-color:#353535;--material-button-background-color:#2979ff;--material-button-text-color:#ffffff;--material-button-disabled-background-color:rgba(79, 79, 79, 0.26);--material-button-disabled-color:rgba(0, 0, 0, 0.26);--material-flat-button-active-background-color:rgba(153, 153, 153, 0.2);--material-list-background-color:#fff;--material-list-item-separator-color:#eee;--material-list-header-text-color:#757575;--material-checkbox-active-color:#37474f;--material-checkbox-inactive-color:#717171;--material-checkbox-checkmark-color:#ffffff;--material-radio-button-active-color:#37474f;--material-radio-button-inactive-color:#717171;--material-radio-button-disabled-color:#afafaf;--material-text-input-text-color:#212121;--material-text-input-active-color:#3d5afe;--material-text-input-inactive-color:#afafaf;--material-search-background-color:#fafafa;--material-dialog-background-color:#ffffff;--material-dialog-text-color:var(--material-text-color);--material-alert-dialog-background-color:#ffffff;--material-alert-dialog-title-color:#31313a;--material-alert-dialog-content-color:rgba(49, 49, 58, 0.85);--material-alert-dialog-button-color:#37474f;--material-progress-bar-primary-color:#37474f;--material-progress-bar-secondary-color:#548ba7;--material-progress-bar-background-color:transparent;--material-progress-circle-primary-color:var(--material-progress-bar-primary-color);--material-progress-circle-secondary-color:var(--material-progress-bar-secondary-color);--material-progress-circle-background-color:transparent;--material-tabbar-background-color:#ffffff;--material-tabbar-text-color:#31313a;--material-tabbar-highlight-text-color:#31313a;--material-tabbar-highlight-color:rgba(49, 49, 58, 0.1);--material-fab-text-color:#31313a;--material-fab-background-color:#ffffff;--material-fab-active-background-color:rgba(255, 255, 255, 0.75);--material-card-background-color:white;--material-card-text-color:rgba(0, 0, 0, 0.54);--material-toast-background-color:rgba(0, 0, 0, 0.8);--material-toast-text-color:white;--material-toast-button-text-color:#bbdefb;--material-select-input-color:var(--material-text-color);--material-select-input-active-color:rgba(0, 0, 0, 0.15);--material-select-input-inactive-color:rgba(0, 0, 0, 0.81);--material-select-border-color:rgba(0, 0, 0, 0.12);--material-popover-background-color:#fafafa;--material-popover-text-color:var(--material-text-color);--material-action-sheet-text-color:#686868;--tap-highlight-color:transparent}:root{--input-bg-color:var(--background-color);--input-border-color:var(--border-color);--input-text-color:var(--text-color);--input-placeholder-color:var(--sub-text-color);--input-invalid-border-color:var(--border-color);--input-invalid-text-color:var(--text-color);--input-border:1px solid var(--input-border-color);--font-size:17px;--font-weight:400;--material-font-size:17px;--material-font-weight:400;--font-size--mini:calc(var(--font-size) - 3px);--font-weight--large:500;--background-color--input:transparent}html{height:100%;width:100%}body{position:absolute;overflow:hidden;top:0;right:0;left:0;bottom:0;padding:0;margin:0;-webkit-text-size-adjust:100%;touch-action:manipulation}a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:var(--tap-highlight-color);-webkit-touch-callout:none}input,select,textarea{-webkit-user-select:auto;user-select:auto;-moz-user-select:text;-webkit-touch-callout:none}a,button,input,select,textarea{touch-action:manipulation}input:active,input:focus,select:active,select:focus,textarea:active,textarea:focus{outline:0}h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4,h5,h6{font-size:18px}@-webkit-keyframes blend-background-color{0%{background-color:var(--blend-background-color__base)}100%{background-color:var(--blend-background-color__color)}}@keyframes blend-background-color{0%{background-color:var(--blend-background-color__base)}100%{background-color:var(--blend-background-color__color)}}@-webkit-keyframes blend-color{0%{color:var(--blend-color__base)}100%{color:var(--blend-color__color)}}@keyframes blend-color{0%{color:var(--blend-color__base)}100%{color:var(--blend-color__color)}}@-webkit-keyframes blend-border-color{0%{border-color:var(--blend-border-color__base)}100%{border-color:var(--blend-border-color__color)}}@keyframes blend-border-color{0%{border-color:var(--blend-border-color__base)}100%{border-color:var(--blend-border-color__color)}}:root{--page-background-color:var(--background-color);--page-material-background-color:var(--material-background-color)}.page{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);background-color:#efeff4;background-color:var(--page-background-color);position:absolute;top:0;left:0;right:0;bottom:0;overflow-x:visible;overflow-y:hidden;color:#1f1f21;color:var(--text-color);-ms-overflow-style:none;-webkit-font-smoothing:antialiased}.page::-webkit-scrollbar{display:none}.page__content{background-color:#efeff4;background-color:var(--page-background-color);position:absolute;top:0;left:0;right:0;bottom:0;box-sizing:border-box}.page__background{background-color:#efeff4;background-color:var(--page-background-color);position:absolute;top:0;left:0;right:0;bottom:0;box-sizing:border-box}.page--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);background-color:#eceff1;background-color:var(--page-material-background-color)}.page--material__content{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--font-weight)}.page__content h1,.page__content h2,.page__content h3,.page__content h4,.page__content h5{font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:500;font-weight:var(--font-weight--large);margin:.6em 0;padding:0}.page__content h1{font-size:28px}.page__content h2{font-size:24px}.page__content h3{font-size:20px}.page--material__content h1,.page--material__content h2,.page--material__content h3,.page--material__content h4,.page--material__content h5{-webkit-font-smoothing:antialiased;font-weight:500;font-weight:var(--font-weight--large);margin:.6em 0;padding:0}.page--material__content h1{font-size:28px}.page--material__content h2{font-size:24px}.page--material__content h3{font-size:20px}.page--material__background{background-color:#eceff1;background-color:var(--page-material-background-color)}:root{--switch-checked-background-color:var(--switch-highlight-color);--switch-thumb-background-color:white;--switch-thumb-border-color:var(--border-color);--switch-thumb-border-color-active:var(--switch-highlight-color);--switch-height:32px;--switch-width:51px}.switch{display:inline-block;vertical-align:top;box-sizing:border-box;background-clip:padding-box;position:relative;min-width:51px;font-size:17px;font-size:var(--font-size);padding:0 20px;border:none;overflow:visible;width:51px;width:var(--switch-width);height:32px;height:var(--switch-height);z-index:0;text-align:left}.switch__input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none;z-index:0}.switch__toggle{background-color:#fff;background-color:var(--switch-background-color);position:absolute;top:0;left:0;right:0;bottom:0;border-radius:30px;transition-property:all;transition-duration:.35s;transition-timing-function:ease-out;box-shadow:inset 0 0 0 2px #e5e5e5;box-shadow:inset 0 0 0 2px var(--switch-border-color)}.switch__handle{box-sizing:border-box;background-clip:padding-box;position:absolute;content:'';border-radius:28px;height:28px;width:28px;background-color:#fff;background-color:var(--switch-thumb-background-color);left:1px;top:2px;transition-property:all;transition-duration:.35s;transition-timing-function:cubic-bezier(.59,.01,.5,.99);box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25)}.switch--active__handle{transition:none}:checked+.switch__toggle{box-shadow:inset 0 0 0 2px #44db5e;box-shadow:inset 0 0 0 2px var(--switch-checked-background-color);background-color:#44db5e;background-color:var(--switch-checked-background-color)}:checked+.switch__toggle>.switch__handle{left:21px;box-shadow:0 3px 2px rgba(0,0,0,.25)}:disabled+.switch__toggle{opacity:.3;cursor:default;pointer-events:none}.switch__touch{position:absolute;top:-5px;bottom:-5px;left:-10px;right:-10px}.switch--material{width:36px;height:24px;padding:0 10px;min-width:36px}.switch--material__toggle{background-color:#b0afaf;background-color:var(--material-switch-inactive-background-color);margin-top:5px;height:14px;box-shadow:none}.switch--material__input{right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none;z-index:0}.switch--material__handle{background-color:#f1f1f1;background-color:var(--material-switch-inactive-thumb-color);left:0;margin-top:-5px;width:20px;height:20px;box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.4)}:checked+.switch--material__toggle{background-color:rgba(55,71,79,.5);background-color:var(--material-switch-active-background-color);box-shadow:none}:checked+.switch--material__toggle>.switch--material__handle{left:16px;background-color:#37474f;background-color:var(--material-switch-active-thumb-color);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.switch--material__handle:before{background:0 0;content:'';display:block;width:100%;height:100%;border-radius:50%;z-index:0;box-shadow:0 0 0 0 rgba(0,0,0,.12);transition:box-shadow .1s linear}.switch--material__toggle>.switch--active__handle:before{box-shadow:0 0 0 14px rgba(0,0,0,.12)}:checked+.switch--material__toggle>.switch--active__handle:before{animation:blend-box-shadow 1s -.2s linear forwards paused}@-webkit-keyframes blend-box-shadow{0%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 14px #37474f;box-shadow:0 0 0 14px var(--material-switch-active-thumb-color)}}@keyframes blend-box-shadow{0%{box-shadow:0 0 0 14px transparent}100%{box-shadow:0 0 0 14px #37474f;box-shadow:0 0 0 14px var(--material-switch-active-thumb-color)}}.switch--material__touch{position:absolute;top:-10px;bottom:-10px;left:-15px;right:-15px}:root{--range-thumb-size:28px;--range-track-height:2px;--material-range-track-height:2px;--material-range-thumb-size:14px;--material-range-thumb-radius:calc(var(--material-range-thumb-size) / 2);--material-range-thumb-vertical-margin:24px;--material-range-thumb-horizontal-margin:2px}.range{display:inline-block;position:relative;width:100px;height:calc(28px + 2px);height:calc(var(--range-thumb-size) + 2px);margin:0;padding:0;background-image:linear-gradient(#a4aab3,#a4aab3);background-image:linear-gradient(var(--range-track-background-color),var(--range-track-background-color));background-position:left center;background-size:100% 2px;background-size:100% var(--range-track-height);background-repeat:no-repeat;background-color:transparent}.range__input{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;vertical-align:top;outline:0;line-height:1;-webkit-appearance:none;appearance:none;background-image:linear-gradient(#0076ff,#0076ff);background-image:linear-gradient(var(--range-track-background-color-active),var(--range-track-background-color-active));background-position:left center;background-size:0 2px;background-size:0 var(--range-track-height);background-repeat:no-repeat;height:calc(28px + 2px);height:calc(var(--range-thumb-size) + 2px);position:relative;z-index:1;width:100%}.range__input::-moz-range-track{position:relative;border:none;background:0 0;box-shadow:none;top:0;margin:0;padding:0}.range__input::-ms-track{position:relative;border:none;background-color:#a4aab3;background-color:var(--range-track-background-color);height:0;border-radius:50%}.range__input::-webkit-slider-thumb{cursor:pointer;position:relative;height:28px;height:var(--range-thumb-size);width:28px;width:var(--range-thumb-size);background-color:#fff;background-color:var(--range-thumb-background-color);border:none;box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25);border-radius:50%;margin:0;padding:0;box-sizing:border-box;-webkit-appearance:none;appearance:none;top:0;z-index:1}.range__input::-moz-range-thumb{cursor:pointer;position:relative;height:28px;height:var(--range-thumb-size);width:28px;width:var(--range-thumb-size);background-color:#fff;background-color:var(--range-thumb-background-color);border:none;box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25);border-radius:50%;margin:0;padding:0}.range__input::-ms-thumb{cursor:pointer;position:relative;height:28px;height:var(--range-thumb-size);width:28px;width:var(--range-thumb-size);background-color:#fff;background-color:var(--range-thumb-background-color);border:none;box-shadow:0 0 1px 0 rgba(0,0,0,.25),0 3px 2px rgba(0,0,0,.25);border-radius:50%;margin:0;padding:0;top:0}.range__input::-ms-fill-lower{height:2px;background-color:#0076ff;background-color:var(--range-track-background-color-active)}.range__input::-ms-tooltip{display:none}.range__input:disabled{opacity:1;pointer-events:none}.range__focus-ring{pointer-events:none;top:0;left:0;display:none;box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;border:none;vertical-align:top;outline:0;line-height:1;-webkit-appearance:none;appearance:none;background:0 0;height:calc(28px + 2px);height:calc(var(--range-thumb-size) + 2px);position:absolute;z-index:0;width:100%}.range--disabled{cursor:default;pointer-events:none}.range--material{position:relative;background-image:linear-gradient(#bdbdbd,#bdbdbd);background-image:linear-gradient(var(--material-range-track-color),var(--material-range-track-color))}.range--material__input{background-image:linear-gradient(#31313a,#31313a);background-image:linear-gradient(var(--material-range-thumb-color),var(--material-range-thumb-color));background-position:center left;background-size:0 2px}.range--material__focus-ring{display:block}.range--material__focus-ring::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;width:var(--material-range-thumb-size);height:14px;height:var(--material-range-thumb-size);border:none;box-shadow:0 0 0 calc((32px - 14px)/ 2) #31313a;box-shadow:0 0 0 calc((32px - var(--material-range-thumb-size))/ 2) var(--material-range-thumb-color);background-color:#31313a;background-color:var(--material-range-thumb-color);border-radius:50%;opacity:0;-webkit-transition:opacity .25s ease-out,-webkit-transform .25s ease-out;transition:opacity .25s ease-out,-webkit-transform .25s ease-out;transition:opacity .25s ease-out,transform .25s ease-out;transition:opacity .25s ease-out,transform .25s ease-out,-webkit-transform .25s ease-out}.range--material__input.range__input--active+.range--material__focus-ring::-webkit-slider-thumb{opacity:.2;-webkit-transform:scale(1.5,1.5,1.5);transform:scale(1.5,1.5,1.5)}.range--material__input::-webkit-slider-thumb{position:relative;box-sizing:border-box;border:none;background-color:transparent;width:14px;width:var(--material-range-thumb-size);height:32px;border-radius:0;box-shadow:none;background-image:radial-gradient(circle farthest-corner,#31313a 0,#31313a calc(calc(14px / 2) - .4px),transparent calc(14px / 2));background-image:radial-gradient(circle farthest-corner,var(--material-range-thumb-color) 0,var(--material-range-thumb-color) calc(var(--material-range-thumb-radius) - .4px),transparent var(--material-range-thumb-radius));-webkit-transition:-webkit-transform .1s linear;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear;overflow:visible}.range--material__input[_zero]::-webkit-slider-thumb{background-image:radial-gradient(circle farthest-corner,#f2f2f2 0,#f2f2f2 4px,#bdbdbd 4px,#bdbdbd calc(calc(14px / 2) - .6px),transparent calc(calc(14px / 2)));background-image:radial-gradient(circle farthest-corner,var(--material-range-zero-thumb-color) 0,var(--material-range-zero-thumb-color) 4px,var(--material-range-track-color) 4px,var(--material-range-track-color) calc(var(--material-range-thumb-radius) - .6px),transparent calc(var(--material-range-thumb-radius)))}.range--material__input[_zero]+.range--material__focus-ring::-webkit-slider-thumb{box-shadow:0 0 0 calc((32px - 14px)/ 2) #bdbdbd;box-shadow:0 0 0 calc((32px - var(--material-range-thumb-size))/ 2) var(--material-range-track-color)}.range--material__input::-moz-range-track{background:0 0}.range--material__input::-moz-range-thumb,.range--material__input:focus::-moz-range-thumb{box-sizing:border-box;border:none;width:14px;width:var(--material-range-thumb-size);height:32px;border-radius:0;background-color:transparent;background-image:-moz-radial-gradient(circle farthest-corner,var(--material-range-thumb-color) 0,var(--material-range-thumb-color) calc(var(--material-range-thumb-radius) - .4px),transparent var(--material-range-thumb-radius));box-shadow:none}.range--material__input.range__input--active::-webkit-slider-thumb,.range--material__input:active::-webkit-slider-thumb{transform:scale(1.5);-webkit-transition:-webkit-transform .1s linear;transition:-webkit-transform .1s linear;transition:transform .1s linear;transition:transform .1s linear,-webkit-transform .1s linear}.range--material__input:disabled::-webkit-slider-thumb{background-image:radial-gradient(circle farthest-corner,#b0b0b0 0,#b0b0b0 4px,#eee 4.4px,#eee calc(calc(14px / 2) + .6px),transparent calc(calc(14px / 2) + .6px));background-image:radial-gradient(circle farthest-corner,var(--material-range-disabled-thumb-color) 0,var(--material-range-disabled-thumb-color) 4px,var(--material-range-disabled-thumb-border-color) 4.4px,var(--material-range-disabled-thumb-border-color) calc(var(--material-range-thumb-radius) + .6px),transparent calc(var(--material-range-thumb-radius) + .6px));-webkit-transition:none;transition:none}.range--material__input:disabled::-moz-range-thumb{background-image:-moz-radial-gradient(circle farthest-corner,var(--material-range-disabled-thumb-color) 0,var(--material-range-disabled-thumb-color) 4px,var(--material-range-disabled-thumb-border-color) 4.4px,var(--material-range-disabled-thumb-border-color) calc(var(--material-range-thumb-radius) + .6px),transparent calc(var(--material-range-thumb-radius) + .6px));-moz-transition:none;transition:none}:root{--notification-border-radius:19px;--notification-width:auto;--notification-height:19px;--notification-min-width:19px;--notification-padding:0 4px;--notification-font-weight:var(--font-weight);--notification-font-size:16px;--material-notification-font-size:16px;--material-notification-font-weight:500}.notification{position:relative;display:inline-block;vertical-align:top;font:inherit;border:none;box-sizing:border-box;background:0 0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none;margin:0;padding:0 4px;padding:var(--notification-padding);width:auto;width:var(--notification-width);height:19px;height:var(--notification-height);border-radius:19px;border-radius:var(--notification-border-radius);background-color:#fe3824;background-color:var(--notification-background-color);color:#fff;color:var(--notification-color);text-align:center;font-size:16px;font-size:var(--notification-font-size);min-width:19px;min-width:var(--notification-min-width);line-height:19px;line-height:var(--notification-height);font-weight:400;font-weight:var(--notification-font-weight)}.notification:empty{display:none}.notification--material{-webkit-font-smoothing:antialiased;background-color:#e91e63;background-color:var(--material-notification-background-color);font-size:16px;font-size:var(--material-notification-font-size);font-weight:500;font-weight:var(--material-notification-font-weight);color:#fff;color:var(--material-notification-color)}:root{--toolbar-separator-color:var(--toolbar-border-color);--toolbar-height:44px;--toolbar-box-shadow:none;--toolbar-padding:0;--toolbar-separator:1px solid var(--toolbar-separator-color);--toolbar-material-height:56px}.toolbar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;z-index:2;display:-webkit-flex;display:flex;-webkit-align-items:stretch;align-items:stretch;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;height:44px;height:var(--toolbar-height);padding-left:0;padding-left:var(--toolbar-padding);padding-right:0;padding-right:var(--toolbar-padding);background:#fafafa;background:var(--toolbar-background-color);color:#1f1f21;color:var(--toolbar-text-color);box-shadow:none;box-shadow:var(--toolbar-box-shadow);font-weight:400;font-weight:var(--font-weight);width:100%;white-space:nowrap;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 100%);background-image:linear-gradient(0deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.toolbar{background-image:linear-gradient(0deg,#b2b2b2,#b2b2b2 50%,transparent 50%);background-image:linear-gradient(0deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 50%,transparent 50%)}}.toolbar__bg{background:#fafafa;background:var(--toolbar-background-color)}.toolbar__item{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;height:44px;height:var(--toolbar-height);overflow:visible;display:block;vertical-align:middle}.toolbar__left{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;max-width:50%;width:27%;text-align:left;line-height:44px;line-height:var(--toolbar-height)}.toolbar__right{box-sizing:border-box;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;max-width:50%;width:27%;text-align:right;line-height:44px;line-height:var(--toolbar-height)}.toolbar__center{box-sizing:border-box;padding:0;margin:0;font:inherit;background:0 0;border:none;width:46%;text-align:center;line-height:44px;line-height:var(--toolbar-height);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);color:#1f1f21;color:var(--toolbar-text-color)}.toolbar__title{line-height:44px;line-height:var(--toolbar-height);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);color:#1f1f21;color:var(--toolbar-text-color);margin:0;padding:0;overflow:visible}.toolbar__center:first-child:last-child{width:100%}.bottom-bar{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;white-space:nowrap;overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;z-index:2;display:block;height:44px;height:var(--toolbar-height);padding-left:0;padding-left:var(--toolbar-padding);padding-right:0;padding-right:var(--toolbar-padding);background:#fafafa;background:var(--toolbar-background-color);color:#1f1f21;color:var(--toolbar-text-color);box-shadow:none;box-shadow:var(--toolbar-box-shadow);font-weight:400;font-weight:var(--font-weight);border-bottom:none;position:absolute;bottom:0;right:0;left:0;border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#b2b2b2,#b2b2b2 100%);background-image:linear-gradient(180deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.bottom-bar{background-image:linear-gradient(180deg,#b2b2b2,#b2b2b2 50%,transparent 50%);background-image:linear-gradient(180deg,var(--toolbar-separator-color),var(--toolbar-separator-color) 50%,transparent 50%)}}.bottom-bar__line-height{line-height:44px;line-height:var(--toolbar-height);padding-bottom:0;padding-top:0}.bottom-bar--aligned{display:-webkit-flex;display:flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;line-height:44px;line-height:var(--toolbar-height)}.bottom-bar--transparent{background-color:transparent;background-image:none;border:none}.toolbar--material{display:-webkit-flex;display:flex;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;-webkit-justify-content:space-between;justify-content:space-between;height:56px;height:var(--toolbar-material-height);border-bottom:0;box-shadow:0 1px 5px rgba(0,0,0,.3);padding:0;background-color:#fff;background-color:var(--material-toolbar-background-color);background-size:0}.toolbar--noshadow{box-shadow:none;background-image:none;border-bottom:none}.toolbar--material__left,.toolbar--material__right{-webkit-font-smoothing:antialiased;font-size:20px;font-weight:500;color:#31313a;color:var(--material-toolbar-text-color);height:56px;height:var(--toolbar-material-height);min-width:72px;width:auto;line-height:56px;line-height:var(--toolbar-material-height)}.toolbar--material__center{-webkit-font-smoothing:antialiased;font-size:20px;font-weight:500;color:#31313a;color:var(--material-toolbar-text-color);height:56px;height:var(--toolbar-material-height);width:auto;-webkit-flex-grow:1;flex-grow:1;overflow:hidden;text-overflow:ellipsis;text-align:left;line-height:56px;line-height:var(--toolbar-material-height)}.toolbar--material__center:first-child{margin-left:16px}.toolbar--material__center:last-child{margin-right:16px}.toolbar--material__left:empty,.toolbar--material__right:empty{min-width:16px}.toolbar--transparent{background-color:transparent;box-shadow:none;background-image:none;border-bottom:none}:root{--button-text-color:white;--button-quiet-color:var(--highlight-color);--button-cta-color:white;--button-large-padding:4px 12px;--button-padding:4px 10px;--button-line-height:32px;--button-large-line-height:36px;--button-active-opacity:0.2;--button-border-radius:3px}.button{position:relative;display:inline-block;box-sizing:border-box;margin:0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;height:auto;text-decoration:none;padding:4px 10px;padding:var(--button-padding);font-size:17px;font-size:var(--font-size);line-height:32px;line-height:var(--button-line-height);letter-spacing:0;color:#fff;color:var(--button-text-color);vertical-align:middle;background-color:#0076ff;background-color:var(--button-background-color);border:0 solid currentColor;border-radius:3px;border-radius:var(--button-border-radius);transition:none}.button::-moz-focus-inner{outline:0}.button:hover{transition:none}.button:active{background-color:#0076ff;background-color:var(--button-background-color);transition:none;opacity:.2;opacity:var(--button-active-opacity)}.button:focus{outline:0}.button:disabled,.button[disabled]{opacity:.3;cursor:default;pointer-events:none}.button--outline{background-color:transparent;border:1px solid #0076ff;border:1px solid var(--button-background-color);color:#0076ff;color:var(--button-background-color)}.button--outline:active{border:1px solid #0076ff;border:1px solid var(--button-background-color);color:#0076ff;color:var(--button-background-color);opacity:1;--blend-background-color__base:var(--button-background-color);--blend-background-color__color:white;-webkit-animation:blend-background-color 1s -.7s linear forwards paused;animation:blend-background-color 1s -.7s linear forwards paused}.button--outline:hover{border:1px solid #0076ff;border:1px solid var(--button-background-color);transition:0}.button--light{background-color:transparent;border:1px solid;--blend-color__base:transparent;--blend-color__color:var(--button-light-color);--blend-border-color__base:transparent;--blend-border-color__color:var(--button-light-color);-webkit-animation:blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused;animation:blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused}.button--light:active{border:1px solid;--blend-background-color__base:transparent;--blend-background-color__color:var(--button-light-color);--blend-color__base:transparent;--blend-color__color:var(--button-light-color);--blend-border-color__base:transparent;--blend-border-color__color:var(--button-light-color);-webkit-animation:blend-background-color 1s -50ms linear forwards paused,blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused;animation:blend-background-color 1s -50ms linear forwards paused,blend-color 1s -.4s linear forwards paused,blend-border-color 1s -.2s linear forwards paused;opacity:1}.button--quiet{background:0 0;color:#0076ff;color:var(--button-quiet-color);border:none}.button--quiet:disabled,.button--quiet[disabled]{border:none}.button--quiet:active{background-color:transparent;border:none;transition:none;opacity:.2;opacity:var(--button-active-opacity);color:#0076ff;color:var(--button-quiet-color)}.button--cta{border:none;background-color:#25a6d9;background-color:var(--button-cta-background-color);color:#fff;color:var(--button-cta-color)}.button--cta:active{color:#fff;color:var(--button-cta-color);background-color:#25a6d9;background-color:var(--button-cta-background-color);transition:none;opacity:.2;opacity:var(--button-active-opacity)}.button--large{font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);line-height:36px;line-height:var(--button-large-line-height);padding:4px 12px;padding:var(--button-large-padding);display:block;width:100%;text-align:center}.button--large:active{transition:none}.button--large--quiet{font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);line-height:36px;line-height:var(--button-large-line-height);padding:4px 12px;padding:var(--button-large-padding);display:block;width:100%;background:0 0;border:1px solid transparent;box-shadow:none;color:#0076ff;color:var(--button-quiet-color);text-align:center}.button--large--quiet:active{opacity:.2;opacity:var(--button-active-opacity);color:#0076ff;color:var(--button-quiet-color);background:0 0;border:1px solid transparent;box-shadow:none}.button--large--cta{background-color:#25a6d9;background-color:var(--button-cta-background-color);color:#fff;color:var(--button-cta-color);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);line-height:36px;line-height:var(--button-large-line-height);padding:4px 12px;padding:var(--button-large-padding);width:100%;text-align:center;display:block}.button--large--cta:active{color:var(--button-cta-color);background-color:#25a6d9;background-color:var(--button-cta-background-color);transition:none;opacity:.2;opacity:var(--button-active-opacity)}.button--material{font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;min-height:36px;line-height:36px;padding:0 16px;text-align:center;font-size:14px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);text-transform:uppercase;background-color:#2979ff;background-color:var(--material-button-background-color);color:#fff;color:var(--material-button-text-color);font-weight:500;font-weight:var(--font-weight--large);opacity:1;transition:all .25s linear}.button--material:hover{transition:all .25s linear}.button--material:active{background-color:#2979ff;background-color:var(--material-button-background-color);opacity:.9;transition:all .25s linear}.button--material:disabled,.button--material[disabled]{transition:none;box-shadow:none;background-color:rgba(79,79,79,.26);background-color:var(--material-button-disabled-background-color);color:rgba(0,0,0,.26);color:var(--material-button-disabled-color);opacity:1}.button--material--flat{-webkit-font-smoothing:antialiased;min-height:36px;line-height:36px;padding:0 16px;text-align:center;font-size:14px;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);text-transform:uppercase;font-weight:500;font-weight:var(--font-weight--large);box-shadow:none;background-color:transparent;color:#2979ff;color:var(--material-button-background-color);transition:all .25s linear}.button--material--flat:focus{background-color:transparent;color:#2979ff;color:var(--material-button-background-color);outline:0;opacity:1;border:none}.button--material--flat:active{outline:0;opacity:1;border:none;background-color:rgba(153,153,153,.2);background-color:var(--material-flat-button-active-background-color);color:#2979ff;color:var(--material-button-background-color);transition:all .25s linear}.button--material--flat:disabled,.button--material--flat[disabled]{opacity:1;box-shadow:none;background-color:transparent;color:rgba(0,0,0,.26);color:var(--material-button-disabled-color)}:root{--button-bar-active-color:var(--button-bar-active-text-color);--button-bar-border-top:1px solid var(--button-bar-color);--button-bar-border-bottom:1px solid var(--button-bar-color);--button-bar-border:0 solid var(--button-bar-color);--button-bar-border-radius:4px}.button-bar{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;border:none}.button-bar__item{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);border-radius:0;width:100%;padding:0;margin:0;position:relative;overflow:hidden;box-sizing:border-box}.button-bar__button{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-radius:0;background-color:transparent;color:#0076ff;color:var(--button-bar-color);border:1px solid #0076ff;border:1px solid var(--button-bar-color);border-top-width:1px;border-bottom-width:1px;border-right-width:1px;border-left-width:0;font-weight:400;font-weight:var(--font-weight);padding:0;font-size:13px;height:27px;line-height:27px;width:100%;transition:background-color .2s linear,color .2s linear;box-sizing:border-box}.button-bar__button:disabled{opacity:.3;cursor:default;pointer-events:none}.button-bar__button:hover{transition:none}.button-bar__button:focus{outline:0}:checked+.button-bar__button{background-color:#0076ff;background-color:var(--button-bar-color);color:#fff;color:var(--button-bar-active-color);transition:none}.button-bar__button:active,:active+.button-bar__button{background-color:unset;background-color:var(--button-bar-active-background-color);border:0 solid #0076ff;border:var(--button-bar-border);border-top:1px solid #0076ff;border-top:var(--button-bar-border-top);border-bottom:1px solid #0076ff;border-bottom:var(--button-bar-border-bottom);border-right:1px solid #0076ff;border-right:1px solid var(--button-bar-color);font-size:13px;width:100%;transition:none}.button-bar__button:active:before,:active+.button-bar__button:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1;--blend-background-color__base:var(--button-bar-color);--blend-background-color__color:var(--button-bar-active-background-color-default-blend-color);-webkit-animation:blend-background-color 1s -.7s linear forwards paused;animation:blend-background-color 1s -.7s linear forwards paused;-webkit-animation:blend-background-color 1s var(--button-bar-active-background-color-default-blend-time) linear forwards paused;animation:blend-background-color 1s var(--button-bar-active-background-color-default-blend-time) linear forwards paused}.button-bar__item:first-child>.button-bar__button{border-left-width:1px;border-radius:4px 0 0 4px;border-radius:var(--button-bar-border-radius) 0 0 var(--button-bar-border-radius)}.button-bar__item:last-child>.button-bar__button{border-right-width:1px;border-radius:0 4px 4px 0;border-radius:0 var(--button-bar-border-radius) var(--button-bar-border-radius) 0}:root{--segment-active-color:var(--segment-active-text-color);--segment-border-top:1px solid var(--segment-color);--segment-border-bottom:1px solid var(--segment-color);--segment-border:0 solid var(--segment-color);--segment-border-radius:4px}.segment{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:-webkit-inline-flex;display:inline-flex;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch;-webkit-flex-wrap:nowrap;flex-wrap:nowrap;margin:0;padding:0;border:none}.segment__item{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);border-radius:0;width:100%;padding:0;margin:0;position:relative;overflow:hidden;box-sizing:border-box;display:block;background-color:transparent;border:none}.segment__input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.segment__button{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border-radius:0;background-color:transparent;color:#0076ff;color:var(--segment-color);border:1px solid #0076ff;border:1px solid var(--segment-color);border-top-width:1px;border-bottom-width:1px;border-right-width:1px;border-left-width:0;font-weight:400;font-weight:var(--font-weight);padding:0;font-size:13px;height:29px;line-height:29px;width:100%;transition:background-color .2s linear,color .2s linear;box-sizing:border-box;text-align:center}.segment__item:disabled{opacity:.3;cursor:default;pointer-events:none}.segment__button:hover{transition:none}.segment__button:focus{outline:0}:active+.segment__button{background-color:unset;background-color:var(--segment-active-background-color);border:0 solid #0076ff;border:var(--segment-border);border-top:1px solid #0076ff;border-top:var(--segment-border-top);border-bottom:1px solid #0076ff;border-bottom:var(--segment-border-bottom);border-right:1px solid #0076ff;border-right:1px solid var(--segment-color);font-size:13px;width:100%;transition:none}:active+.segment__button:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;z-index:-1;--blend-background-color__base:var(--segment-color);--blend-background-color__color:var(--segment-active-background-color-default-blend-color);-webkit-animation:blend-background-color 1s -.7s linear forwards paused;animation:blend-background-color 1s -.7s linear forwards paused;-webkit-animation:blend-background-color 1s var(--segment-active-background-color-default-blend-time) linear forwards paused;animation:blend-background-color 1s var(--segment-active-background-color-default-blend-time) linear forwards paused}:checked+.segment__button{background-color:#0076ff;background-color:var(--segment-color);color:#fff;color:var(--segment-active-color);transition:none}.segment__item:first-child>.segment__button{border-left-width:1px;border-radius:4px 0 0 4px;border-radius:var(--segment-border-radius) 0 0 var(--segment-border-radius)}.segment__item:last-child>.segment__button{border-right-width:1px;border-radius:0 4px 4px 0;border-radius:0 var(--segment-border-radius) var(--segment-border-radius) 0}.segment--material{border-radius:2px;overflow:hidden;box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.24)}.segment--material__button{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);font-size:14px;height:32px;line-height:32px;border-width:0;color:rgba(0,0,0,.38);color:var(--material-segment-text-color);border-radius:0;background-color:#fafafa;background-color:var(--material-segment-background-color)}:active+.segment--material__button{background-color:#fafafa;background-color:var(--material-segment-background-color);border-radius:0;border-width:0;font-size:14px;transition:none;color:rgba(0,0,0,.38);color:var(--material-segment-text-color)}:checked+.segment--material__button{background-color:#c8c8c8;background-color:var(--material-segment-active-background-color);color:#353535;color:var(--material-segment-active-text-color);border-radius:0;border-width:0}.segment--material__item:first-child>.segment--material__button,.segment--material__item:last-child>.segment--material__button{border-radius:0;border-width:0}:root{--tabbar-button-color:var(--tabbar-text-color);--tabbar-active-color:var(--tabbar-highlight-text-color);--material-tabbar-current-color:var(--material-tabbar-highlight-text-color);--tabbar-active-border-top:none;--tabbar-focus-border-top:none;--tabbar-height:49px;--tabbar-button-line-height:49px;--tabbar-button-border:none;--tabbar-active-box-shadow:none;--tabbar-button-focus-box-shadow:none;--tabbar-border-top:1px solid var(--tabbar-border-color)}.tabbar{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:-webkit-flex;display:flex;position:absolute;bottom:0;left:0;right:0;white-space:nowrap;margin:0;padding:0;height:49px;height:var(--tabbar-height);background-color:#fafafa;background-color:var(--tabbar-background-color);border-top:1px solid #ccc;border-top:var(--tabbar-border-top);width:100%}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.tabbar{border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(180deg,var(--tabbar-border-color),var(--tabbar-border-color) 50%,transparent 50%)}}.tabbar__item{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:relative;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-basis:0;flex-basis:0;width:auto;border-radius:0}.tabbar__item>input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.tabbar__button{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;box-sizing:border-box;margin:0;font:inherit;background:0 0;border:none;cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative;display:inline-block;text-decoration:none;padding:0;height:49px;height:var(--tabbar-button-line-height);letter-spacing:0;color:#999;color:var(--tabbar-button-color);vertical-align:top;background-color:transparent;border-top:none;border-top:var(--tabbar-button-border);width:100%;font-weight:400;font-weight:var(--font-weight);line-height:49px;line-height:var(--tabbar-button-line-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.tabbar__button{border-top:none}}.tabbar__icon{font-size:24px;padding:0;margin:0;line-height:26px;display:block!important;height:28px}.tabbar__label{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:inline-block}.tabbar__badge.notification{vertical-align:text-bottom;top:-1px;margin-left:5px;z-index:10;font-size:12px;height:16px;min-width:16px;line-height:16px;border-radius:8px}.tabbar__icon~.tabbar__badge.notification{position:absolute;top:5px;margin-left:0}.tabbar__icon+.tabbar__label{display:block;font-size:10px;line-height:1;margin:0;font-weight:400;font-weight:var(--font-weight)}.tabbar__label:first-child{font-size:16px;line-height:49px;line-height:var(--tabbar-button-line-height);margin:0;padding:0}:checked+.tabbar__button{color:#0076ff;color:var(--tabbar-active-color);background-color:transparent;box-shadow:none;box-shadow:var(--tabbar-active-box-shadow);border-top:none;border-top:var(--tabbar-active-border-top)}.tabbar__button:disabled{opacity:.3;cursor:default;pointer-events:none}.tabbar__button:focus{z-index:1;border-top:none;border-top:var(--tabbar-focus-border-top);box-shadow:none;box-shadow:var(--tabbar-button-focus-box-shadow);outline:0}.tabbar__content{position:absolute;top:0;left:0;right:0;bottom:49px;bottom:var(--tabbar-height);z-index:0}.tabbar--autogrow .tabbar__item{-webkit-flex-basis:auto;flex-basis:auto}.tabbar--top{position:relative;top:0;left:0;right:0;bottom:auto;border-top:none;border-bottom:1px solid #ccc;border-bottom:var(--tabbar-border-top)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.tabbar--top{border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--tabbar-border-color),var(--tabbar-border-color) 50%,transparent 50%)}}.tabbar--top__content{top:49px;top:var(--tabbar-height);left:0;right:0;bottom:0;z-index:0}.tabbar--top-border__button{background-color:transparent;border-bottom:4px solid transparent}:checked+.tabbar--top-border__button{background-color:transparent;border-bottom:4px solid #0076ff;border-bottom:4px solid var(--tabbar-active-color)}.tabbar__border{position:absolute;bottom:0;left:0;width:0;height:4px;background-color:#0076ff;background-color:var(--tabbar-active-color)}.tabbar--material{background:0 0;background-color:#fff;background-color:var(--material-tabbar-background-color);border-bottom-width:0;box-shadow:0 4px 2px -2px rgba(0,0,0,.14),0 3px 5px -2px rgba(0,0,0,.12),0 5px 1px -4px rgba(0,0,0,.2)}.tabbar--material__button{background-color:transparent;color:#31313a;color:var(--material-tabbar-text-color);text-transform:uppercase;font-size:14px;font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.tabbar--material__button:after{content:'';display:block;width:0;height:2px;bottom:0;position:absolute;margin-top:-2px;background-color:#31313a;background-color:var(--material-tabbar-current-color)}:checked+.tabbar--material__button:after{width:100%;transition:width .2s ease-in-out}:checked+.tabbar--material__button{background-color:transparent;color:#31313a;color:var(--material-tabbar-current-color)}.tabbar--material__item:not([ripple]):active{background-color:rgba(49,49,58,.1);background-color:var(--material-tabbar-highlight-color)}.tabbar--material__border{height:2px;background-color:#31313a;background-color:var(--material-tabbar-current-color)}.tabbar--material__icon{font-size:22px!important;line-height:36px}.tabbar--material__label{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.tabbar--material__label:first-child{-webkit-font-smoothing:antialiased;letter-spacing:.015em;font-weight:500;font-size:14px}.tabbar--material__icon+.tabbar--material__label{font-size:10px}:root{--toolbar-button-background-color:rgba(0, 0, 0, 0);--toolbar-button-border-color:var(--toolbar-button-color);--toolbar-button-border-radius:2px;--toolbar-button-padding:4px 10px;--toolbar-button-active-background-color:var(--toolbar-button-background-color);--toolbar-button-border:1px solid var(--toolbar-button-border-color)}.toolbar-button{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:4px 10px;padding:var(--toolbar-button-padding);letter-spacing:0;color:#0076ff;color:var(--toolbar-button-color);background-color:rgba(0,0,0,0);background-color:var(--toolbar-button-background-color);border-radius:2px;border-radius:var(--toolbar-button-border-radius);border:1px solid transparent;font-weight:400;font-weight:var(--font-weight);font-size:17px;font-size:var(--font-size);transition:none}.toolbar-button:active{background-color:rgba(0,0,0,0);background-color:var(--toolbar-button-active-background-color);transition:none;opacity:.2}.toolbar-button:disabled,.toolbar-button[disabled]{opacity:.3;cursor:default;pointer-events:none}.toolbar-button:focus{outline:0;transition:none}.toolbar-button:hover{transition:none}.toolbar-button--outline{border:1px solid #0076ff;border:var(--toolbar-button-border);margin:auto 8px;padding-left:6px;padding-right:6px}.toolbar-button--material{font-size:22px;color:#1e88e5;color:var(--material-toolbar-button-color);display:inline-block;padding:0 12px;height:100%;margin:0;border:none;border-radius:0;vertical-align:baseline;vertical-align:initial;transition:background-color .25s linear}.toolbar-button--material:first-of-type{margin-left:4px}.toolbar-button--material:last-of-type{margin-right:4px}.toolbar-button--material:active{opacity:1;transition:background-color .25s linear}.back-button{height:44px;line-height:44px;padding-left:8px;color:#0076ff;color:var(--toolbar-button-color);background-color:rgba(0,0,0,0);background-color:var(--toolbar-button-background-color);display:inline-block}.back-button:active{opacity:.2}.back-button__label{display:inline-block;height:100%;vertical-align:top;line-height:44px;line-height:var(--toolbar-height);font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large)}.back-button__icon{margin-right:6px;display:-webkit-inline-flex;display:inline-flex;fill:rgb(0,118,255);fill:var(--toolbar-button-color);-webkit-align-items:center;align-items:center;height:100%}.back-button--material{font-size:22px;color:#1e88e5;color:var(--material-toolbar-button-color);display:inline-block;padding:0 12px;height:100%;margin:0 0 0 4px;border:none;border-radius:0;vertical-align:baseline;vertical-align:initial;line-height:56px}.back-button--material__label{display:none;font-size:20px}.back-button--material__icon{display:-webkit-inline-flex;display:inline-flex;fill:#1e88e5;fill:var(--material-toolbar-button-color);-webkit-align-items:center;align-items:center;height:100%}.back-button--material:active{opacity:1}:root{--checkbox-size:22px;--checkbox-border:1px solid #c7c7cd;--checkbox-checked-background-color:var(--highlight-color);--background-color--before--checkbox:var(--checkbox-checked-background-color);--checkmark-border:2px solid #fff;--material-checkbox-size:18px;--material-checkbox-focus-ring-size:40px;--material-checkbox-focus-ring-shadow-size:calc((var(--material-checkbox-focus-ring-size) - var(--material-checkbox-size)) / 2)}.checkbox{position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);line-height:22px;line-height:var(--checkbox-size)}.checkbox__checkmark{box-sizing:border-box;background-clip:padding-box;position:relative;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);height:22px;height:var(--checkbox-size);width:22px;width:var(--checkbox-size);pointer-events:none}.checkbox__input,.checkbox__input:checked{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.checkbox__checkmark:before{content:'';position:absolute;box-sizing:border-box;width:22px;width:var(--checkbox-size);height:22px;height:var(--checkbox-size);background:0 0;border:1px solid #c7c7cd;border:var(--checkbox-border);border-radius:22px;border-radius:var(--checkbox-size);left:0}.checkbox__checkmark:after{content:'';position:absolute;top:7px;left:5px;width:11px;height:5px;background:0 0;border:2px solid #fff;border:var(--checkmark-border);border-width:1px;border-top:none;border-right:none;border-radius:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);opacity:0}:checked+.checkbox__checkmark:before{background:#0076ff;background:var(--background-color--before--checkbox);border:none}:checked+.checkbox__checkmark:after{opacity:1}:disabled+.checkbox__checkmark{opacity:.3;cursor:default;pointer-events:none}:disabled:active+.checkbox__checkmark:before{background:0 0}.checkbox--noborder__checkmark{background:0 0;border:none}.checkbox--noborder__checkmark:before{border:none}.checkbox--noborder__checkmark:after{height:4px;border:2px solid #0076ff;border:2px solid var(--highlight-color)}:checked+.checkbox--noborder__checkmark:before{background:0 0}:focus+.checkbox--noborder__checkmark:before{border:none}:disabled:active+.checkbox--noborder__checkmark:before{border:none}.checkbox--material{line-height:18px;line-height:var(--material-checkbox-size);font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);overflow:visible}.checkbox--material__checkmark{width:18px;width:var(--material-checkbox-size);height:18px;height:var(--material-checkbox-size)}.checkbox--material__checkmark:before{border-radius:2px;height:18px;height:var(--material-checkbox-size);width:18px;width:var(--material-checkbox-size);border:2px solid #717171;border:2px solid var(--material-checkbox-inactive-color);transition:background-color .1s linear .2s,border-color .1s linear .2s;background-color:transparent}:checked+.checkbox--material__checkmark:before{border:2px solid #37474f;border:2px solid var(--material-checkbox-active-color);background-color:#37474f;background-color:var(--material-checkbox-active-color);transition:background-color .1s linear,border-color .1s linear}.checkbox--material__checkmark:after{border-color:#fff;border-color:var(--material-checkbox-checkmark-color);transition:-webkit-transform .2s ease 0;transition:transform .2s ease 0;transition:transform .2s ease 0,-webkit-transform .2s ease 0;width:10px;height:5px;top:4px;left:3px;-webkit-transform:scale(0) rotate(-45deg);transform:scale(0) rotate(-45deg);border-width:2px}:checked+.checkbox--material__checkmark:after{transition:-webkit-transform .2s ease .2s;transition:transform .2s ease .2s;transition:transform .2s ease .2s,-webkit-transform .2s ease .2s;width:10px;height:5px;top:4px;left:3px;-webkit-transform:scale(1) rotate(-45deg);transform:scale(1) rotate(-45deg);border-width:2px}.checkbox--material__input:before{content:'';opacity:0;position:absolute;top:0;left:0;width:18px;width:var(--material-checkbox-size);height:18px;height:var(--material-checkbox-size);box-shadow:0 0 0 calc((40px - 18px)/ 2) #717171;box-shadow:0 0 0 var(--material-checkbox-focus-ring-shadow-size) var(--material-checkbox-inactive-color);box-sizing:border-box;border-radius:50%;background-color:#717171;background-color:var(--material-checkbox-inactive-color);pointer-events:none;display:block;-webkit-transform:scale3d(.2,.2,.2);transform:scale3d(.2,.2,.2);transition:opacity .25s ease-out,-webkit-transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out,-webkit-transform .1s ease-out}.checkbox--material__input:checked:before{box-shadow:0 0 0 calc((40px - 18px)/ 2) #37474f;box-shadow:0 0 0 var(--material-checkbox-focus-ring-shadow-size) var(--material-checkbox-active-color);background-color:#37474f;background-color:var(--material-checkbox-active-color)}.checkbox--material__input:active:before{opacity:.15;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}:disabled+.checkbox--material__checkmark{opacity:1}:disabled+.checkbox--material__checkmark:before{border-color:#afafaf}:disabled:checked+.checkbox--material__checkmark:before{background-color:#afafaf}:disabled:checked+.checkbox--material__checkmark:after{border-color:#fff}:root{--radio-button-background-active:rgba(0, 0, 0, 0);--radio-button-indicator-color:var(--highlight-color);--radio-button-background:transparent;--radio-button-border:3px solid var(--radio-button-indicator-color);--radio-button-size:24px;--material-radio-button-size:20px;--material-radio-button-shadow-size:calc((48px - var(--material-radio-button-size)) / 2)}.radio-button__input{position:absolute;right:0;top:0;left:0;bottom:0;padding:0;border:0;background-color:transparent;z-index:1;vertical-align:top;outline:0;width:100%;height:100%;margin:0;-webkit-appearance:none;appearance:none}.radio-button__input:active,.radio-button__input:focus{outline:0;-webkit-tap-highlight-color:transparent}.radio-button{display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;position:relative;line-height:24px;line-height:var(--radio-button-size);text-align:left}.radio-button__checkmark:before{content:'';position:absolute;box-sizing:border-box;width:22px;width:var(--checkbox-size);height:22px;height:var(--checkbox-size);background:0 0;border:none;border-radius:22px;border-radius:var(--checkbox-size);left:0}.radio-button__checkmark{box-sizing:border-box;display:inline-block;vertical-align:top;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:relative;width:24px;width:var(--radio-button-size);height:24px;height:var(--radio-button-size);background:0 0;background:var(--radio-button-background);pointer-events:none}.radio-button__checkmark:after{content:'';position:absolute;top:7px;left:4px;opacity:0;width:11px;height:4px;background:0 0;border:2px solid #0076ff;border:2px solid var(--highlight-color);border-top:none;border-right:none;border-radius:0;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}:checked+.radio-button__checkmark{background:rgba(0,0,0,0);background:var(--radio-button-background-active)}:checked+.radio-button__checkmark:after{opacity:1}:checked+.radio-button__checkmark:before{background:0 0;border:none}:disabled+.radio-button__checkmark{opacity:.3;cursor:default;pointer-events:none}.radio-button--material{line-height:calc(20px + 2px);line-height:calc(var(--material-radio-button-size) + 2px);font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.radio-button--material__input:before{content:'';position:absolute;top:0;left:0;opacity:0;width:20px;width:var(--material-radio-button-size);height:20px;height:var(--material-radio-button-size);box-shadow:0 0 0 calc((48px - 20px)/ 2) #717171;box-shadow:0 0 0 var(--material-radio-button-shadow-size) var(--material-radio-button-inactive-color);border:none;box-sizing:border-box;border-radius:50%;background-color:#717171;background-color:var(--material-radio-button-inactive-color);pointer-events:none;display:block;-webkit-transform:scale3d(.2,.2,.2);transform:scale3d(.2,.2,.2);transition:opacity .25s ease-out,-webkit-transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out;transition:opacity .25s ease-out,transform .1s ease-out,-webkit-transform .1s ease-out}.radio-button--material__input:checked:before{box-shadow:0 0 0 calc((48px - 20px)/ 2) #37474f;box-shadow:0 0 0 var(--material-radio-button-shadow-size) var(--material-radio-button-active-color);background-color:#37474f;background-color:var(--material-radio-button-active-color)}.radio-button--material__input:active:before{opacity:.15;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}.radio-button--material__checkmark{width:20px;width:var(--material-radio-button-size);height:20px;height:var(--material-radio-button-size);overflow:visible}.radio-button--material__checkmark:before{background:0 0;border:2px solid #717171;border:2px solid var(--material-radio-button-inactive-color);box-sizing:border-box;border-radius:50%;width:20px;width:var(--material-radio-button-size);height:20px;height:var(--material-radio-button-size);transition:border .2s ease}.radio-button--material__checkmark:after{transition:background .2s ease,-webkit-transform .2s ease;transition:background .2s ease,transform .2s ease;transition:background .2s ease,transform .2s ease,-webkit-transform .2s ease;top:calc(20px / 4);top:calc(var(--material-radio-button-size)/ 4);left:calc(20px / 4);left:calc(var(--material-radio-button-size)/ 4);width:calc(20px / 2);width:calc(var(--material-radio-button-size)/ 2);height:calc(20px / 2);height:calc(var(--material-radio-button-size)/ 2);border:none;border-radius:50%;-webkit-transform:scale(0);transform:scale(0)}:checked+.radio-button--material__checkmark:before{background:0 0;border:2px solid #37474f;border:2px solid var(--material-radio-button-active-color)}.radio-button--material__input+.radio-button__checkmark:after{background:#717171;background:var(--material-radio-button-inactive-color);opacity:1;-webkit-transform:scale(0);transform:scale(0)}:checked+.radio-button--material__checkmark:after{opacity:1;background:#37474f;background:var(--material-radio-button-active-color);-webkit-transform:scale(1);transform:scale(1)}:disabled+.radio-button--material__checkmark{opacity:1}:disabled+.radio-button--material__checkmark:after{background-color:#afafaf;background-color:var(--material-radio-button-disabled-color);border-color:#afafaf;border-color:var(--material-radio-button-disabled-color)}:disabled+.radio-button--material__checkmark:before{border-color:#afafaf;border-color:var(--material-radio-button-disabled-color)}:root{--list-item-color:var(--text-color);--list-item-active-background-color:var(--list-tap-active-background-color);--list-item-separator-color:var(--border-color);--list-border:1px solid var(--list-item-separator-color);--list-item-min-height:44px;--list-item-margin:0 0 -1px 0;--list-item-padding-side:14px;--list-item-padding:0 0 0 var(--list-item-padding-side);--list-border-top:1px solid var(--list-item-separator-color);--list-border-bottom:1px solid var(--list-item-separator-color);--list-header-color:var(--text-color);--list-header-font-size:12px;--list-header-padding:0 0 0 15px;--list-header-min-height:24px;--list-header-font-weight:var(--font-weight--large);--inset-list-border:1px solid var(--list-item-separator-color);--list-title-color:#6d6d72;--list-title-font-size:13px;--list-title-font-weight:500;--list-title-line-height:24px;--list-title-padding:0 0 0 16px;--material-list-item-side-padding:16px;--material-list-item-min-height:48px;--material-list-item-padding:0 0 0 var(--material-list-item-side-padding);--material-list-title-color:#757575;--material-list-title-font-size:14px;--material-list-title-font-weight:500;--material-list-title-line-height:24px;--material-list-title-padding:12px 0 12px var(--material-list-item-side-padding)}.list{padding:0;margin:0;color:inherit;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);list-style-type:none;text-align:left;display:block;-webkit-overflow-scrolling:touch;overflow:hidden;background-image:linear-gradient(#ccc,#ccc),linear-gradient(#ccc,#ccc);background-image:linear-gradient(var(--list-item-separator-color),var(--list-item-separator-color)),linear-gradient(var(--list-item-separator-color),var(--list-item-separator-color));background-size:100% 1px,100% 1px;background-repeat:no-repeat;background-position:bottom,top;border:none;background-color:#fff;background-color:var(--list-background-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%),linear-gradient(180deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%),linear-gradient(180deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item{position:relative;width:100%;list-style:none;box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:center;align-items:center;padding:0 0 0 14px;padding:var(--list-item-padding);margin:0 0 -1px 0;margin:var(--list-item-margin);color:#1f1f21;color:var(--list-item-color);transition:background-color .2s linear}.list-item__top{display:-webkit-flex;display:flex;-webkit-flex-direction:row;flex-direction:row;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-align-items:center;align-items:center;-webkit-order:0;order:0;width:100%}.list-item--expandable{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%);background-position-x:14px;background-position-x:var(--list-item-padding-side)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--expandable{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item__expandable-content{display:none;width:100%;padding:12px 14px 12px 0;box-sizing:border-box;-webkit-order:1;order:1;overflow:hidden}.list-item--expandable.list-item--expanded>.list-item__expandable-content{display:block;height:auto}.list-item__left{box-sizing:border-box;display:-webkit-flex;display:flex;padding:12px 14px 12px 0;-webkit-order:0;order:0;-webkit-align-items:center;align-items:center;-webkit-align-self:stretch;align-self:stretch;line-height:1.2em;min-height:44px;min-height:var(--list-item-min-height)}.list-item__left:empty{width:0;min-width:0;padding:0;margin:0}.list-item__center{box-sizing:border-box;display:-webkit-flex;display:flex;-webkit-flex-grow:1;flex-grow:1;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-flex-direction:row;flex-direction:row;-webkit-order:1;order:1;margin-right:auto;-webkit-align-items:center;align-items:center;-webkit-align-self:stretch;align-self:stretch;margin-left:0;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%);padding:12px 6px 12px 0;line-height:1.2em;min-height:44px;min-height:var(--list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item__center{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item__right{box-sizing:border-box;display:-webkit-flex;display:flex;margin-left:auto;padding:12px 12px 12px 0;-webkit-order:2;order:2;-webkit-align-items:center;align-items:center;-webkit-align-self:stretch;align-self:stretch;border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%);line-height:1.2em;min-height:44px;min-height:var(--list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item__right{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-header{margin:0;list-style:none;text-align:left;display:block;box-sizing:border-box;padding:0 0 0 15px;padding:var(--list-header-padding);font-size:12px;font-size:var(--list-header-font-size);font-weight:500;font-weight:var(--list-header-font-weight);color:#1f1f21;color:var(--list-header-color);min-height:24px;min-height:var(--list-header-min-height);line-height:calc(1px + 24px);line-height:calc(1px + var(--list-header-min-height));text-transform:uppercase;position:relative;background-color:#eee;background-color:var(--list-header-background-color);background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-header{background-image:linear-gradient(180deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(180deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list--noborder{border-top:none;border-bottom:none;background-image:none}.list-item--tappable:active{transition:none;background-color:#d9d9d9;background-color:var(--list-item-active-background-color)}.list--inset{margin:0 8px;border:1px solid #ccc;border:var(--inset-list-border);border-radius:4px;background-image:none}.list-item__label{font-size:calc(17px - 3px);font-size:var(--font-size--mini);padding:0 4px;opacity:.6}.list-item__title{-webkit-flex-basis:100%;flex-basis:100%;-webkit-align-self:flex-end;align-self:flex-end;-webkit-order:0;order:0}.list-item__subtitle{opacity:.75;font-size:calc(17px - 3px);font-size:var(--font-size--mini);-webkit-order:1;order:1;-webkit-flex-basis:100%;flex-basis:100%;-webkit-align-self:flex-start;align-self:flex-start}.list-item__thumbnail{width:40px;height:40px;border-radius:6px;display:block;margin:0}.list-item__icon{font-size:22px;padding:0 6px}.list--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);background-image:none;background-color:#fff;background-color:var(--material-list-background-color)}.list-item--material{border:0;padding:0 0 0 16px;padding:var(--material-list-item-padding);line-height:normal}.list-item--material__subtitle{margin-top:4px}.list-item--material:first-child{box-shadow:none}.list-item--material__left{padding:14px 0;min-width:56px;line-height:1;min-height:48px;min-height:var(--material-list-item-min-height)}.list-item--material__center,.list-item--material__left:empty{padding:14px 6px 14px 0;border-color:#eee;border-color:var(--material-list-item-separator-color);border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#eee,#eee 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);min-height:48px;min-height:var(--material-list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material__center,.list-item--material__left:empty{background-image:linear-gradient(0deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material__right{padding:14px 16px 14px 0;line-height:1;border-color:#eee;border-color:var(--material-list-item-separator-color);border-bottom:none;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#eee,#eee 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);min-height:48px;min-height:var(--material-list-item-min-height)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material__right{background-image:linear-gradient(0deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material.list-item--expandable{background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#eee,#eee 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);background-position-x:16px;background-position-x:var(--material-list-item-side-padding)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material.list-item--expandable{background-image:linear-gradient(0deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material.list-item--expandable.list-item--longdivider,.list-item--material.list-item--longdivider{background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#eee,#eee 100%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--material.list-item--expandable.list-item--longdivider,.list-item--material.list-item--longdivider{background-image:linear-gradient(0deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(0deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-header--material{background:#fff;background:var(--list-background-color);border:none;font-size:14px;text-transform:none;margin:-1px 0 0 0;color:#757575;color:var(--material-list-header-text-color);font-weight:500;padding:8px 16px}.list-header--material:not(:first-of-type){border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#eee,#eee 100%);background-image:linear-gradient(180deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 100%);padding-top:16px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-header--material:not(:first-of-type){background-image:linear-gradient(180deg,#eee,#eee 50%,transparent 50%);background-image:linear-gradient(180deg,var(--material-list-item-separator-color),var(--material-list-item-separator-color) 50%,transparent 50%)}}.list-item--material__thumbnail{width:40px;height:40px;border-radius:100%}.list-item--material__icon{font-size:20px;padding:0 4px}.list-item--chevron:before,.list-item__expand-chevron{border-right:2px solid #c7c7cc;border-right:2px solid var(--list-item-chevron-color);border-bottom:2px solid #c7c7cc;border-bottom:2px solid var(--list-item-chevron-color);width:7px;height:7px;background-color:transparent;z-index:5}.list-item--chevron:before{position:absolute;content:'';right:16px;top:50%;-webkit-transform:translateY(-50%) rotate(-45deg);transform:translateY(-50%) rotate(-45deg)}.list-item__expand-chevron{-webkit-transform:rotate(45deg);transform:rotate(45deg);margin:1px}.list-item--expandable.list-item--expanded .list-item__expand-chevron{-webkit-transform:rotate(225deg);transform:rotate(225deg)}.list-item--chevron__right{padding-right:30px}.list-item--expandable .list-item__center,.list-item--expandable .list-item__right,.list-item--nodivider.list-item--expandable,.list-item--nodivider__center,.list-item--nodivider__right{border:none;background-image:none}.list-item--longdivider{background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,#ccc,#ccc 100%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.list-item--longdivider{background-image:linear-gradient(0deg,#ccc,#ccc 50%,transparent 50%);background-image:linear-gradient(0deg,var(--list-item-separator-color),var(--list-item-separator-color) 50%,transparent 50%)}}.list-item--longdivider:last-of-type{border:none;background-image:none}.list-item--longdivider__center{border:none;background-image:none}.list-item--longdivider__right{border:none;background-image:none}.list-title{background:0 0;border:none;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:block;color:#6d6d72;color:var(--list-title-color);text-align:left;box-sizing:border-box;padding:0 0 0 16px;padding:var(--list-title-padding);margin:0;font-size:13px;font-size:var(--list-title-font-size);font-weight:500;font-weight:var(--list-title-font-weight);line-height:24px;line-height:var(--list-title-line-height);text-transform:uppercase;letter-spacing:.04em}.list-title--material{-webkit-font-smoothing:antialiased;color:#757575;color:var(--material-list-title-color);font-size:14px;font-size:var(--material-list-title-font-size);margin:0;padding:12px 0 12px 16px;padding:var(--material-list-title-padding);font-weight:500;font-weight:var(--material-list-title-font-weight);line-height:24px;line-height:var(--material-list-title-line-height)}:root{--search-icon:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTNweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTMgMTQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aW9zLXNlYXJjaC1pbnB1dC1pY29uPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImNvbXBvbmVudHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpb3Mtc2VhcmNoLWlucHV0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDguMDAwMDAwLCAtNDMuMDAwMDAwKSIgZmlsbD0iIzdBNzk3QiI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDAuMDAwMDAwLCAzNi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNi45OTcyNDgyLDE1LjUwNDE0NjYgQzE3LjA3NzM2NTcsMTUuNTQwNTkzOCAxNy4xNTIyNzMxLDE1LjU5MTYxMjkgMTcuMjE3NzUxNiwxNS42NTcwOTE0IEwyMC42NDk5OTEsMTkuMDg5MzMwOCBDMjAuOTQ0ODQ0OSwxOS4zODQxODQ3IDIwLjk0ODQ3NjQsMTkuODU4NjA2IDIwLjY1MzU0MTIsMjAuMTUzNTQxMiBDMjAuMzYwNjQ4LDIwLjQ0NjQzNDQgMTkuODgxMjcxNiwyMC40NDE5MzE3IDE5LjU4OTMzMDgsMjAuMTQ5OTkxIEwxNi4xNTcwOTE0LDE2LjcxNzc1MTYgQzE2LjA5MTM3LDE2LjY1MjAzMDEgMTYuMDQwMTE3MSwxNi41NzczODc0IDE2LjAwMzQxNDEsMTYuNDk3Nzk5NSBDMTUuMTY3MTY5NCwxNy4xMjcwNDExIDE0LjEyNzEzOTMsMTcuNSAxMywxNy41IEMxMC4yMzg1NzYzLDE3LjUgOCwxNS4yNjE0MjM3IDgsMTIuNSBDOCw5LjczODU3NjI1IDEwLjIzODU3NjMsNy41IDEzLDcuNSBDMTUuNzYxNDIzNyw3LjUgMTgsOS43Mzg1NzYyNSAxOCwxMi41IEMxOCwxMy42Mjc0Njg1IDE3LjYyNjgyMzIsMTQuNjY3Nzc2OCAxNi45OTcyNDgyLDE1LjUwNDE0NjYgWiBNMTMsMTYuNSBDMTUuMjA5MTM5LDE2LjUgMTcsMTQuNzA5MTM5IDE3LDEyLjUgQzE3LDEwLjI5MDg2MSAxNS4yMDkxMzksOC41IDEzLDguNSBDMTAuNzkwODYxLDguNSA5LDEwLjI5MDg2MSA5LDEyLjUgQzksMTQuNzA5MTM5IDEwLjc5MDg2MSwxNi41IDEzLDE2LjUgWiIgaWQ9Imlvcy1zZWFyY2gtaW5wdXQtaWNvbiI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=');--search-input-background-image:var(--search-icon);--search-input-color:var(--input-text-color);--search-decoration-margin-right:0;--search-input-border-radius:5.5px;--search-input-height:28px;--search-input-font-size:14px;--search-input-placeholder-color:#7a797b;--material-search-icon:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMThweCIgaGVpZ2h0PSIxOHB4IiB2aWV3Qm94PSIwIDAgMTggMTgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQzLjIgKDM5MDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5TaGFwZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJhbmRyb2lkLXNlYXJjaC1pbnB1dC1pY29uIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9IiM4OTg5ODkiPgogICAgICAgICAgICA8ZyBpZD0iY29tcG9uZW50cyI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ibWF0ZXJpYWwtc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ik1hdGVyaWFsL0ljb25zLWJsYWNrL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuNTAyLDYuNDkxIEwxMS43MDgsNi40OTEgTDExLjQzMiw2Ljc2NSBDMTIuNDA3LDcuOTAyIDEzLDkuMzc2IDEzLDEwLjk5MSBDMTMsMTQuNTgxIDEwLjA5LDE3LjQ5MSA2LjUsMTcuNDkxIEMyLjkxLDE3LjQ5MSAwLDE0LjU4MSAwLDEwLjk5MSBDMCw3LjQwMSAyLjkxLDQuNDkxIDYuNSw0LjQ5MSBDOC4xMTUsNC40OTEgOS41ODgsNS4wODMgMTAuNzI1LDYuMDU3IEwxMS4wMDEsNS43ODMgTDExLjAwMSw0Ljk5MSBMMTUuOTk5LDAgTDE3LjQ5LDEuNDkxIEwxMi41MDIsNi40OTEgTDEyLjUwMiw2LjQ5MSBaIE02LjUsNi40OTEgQzQuMDE0LDYuNDkxIDIsOC41MDUgMiwxMC45OTEgQzIsMTMuNDc2IDQuMDE0LDE1LjQ5MSA2LjUsMTUuNDkxIEM4Ljk4NSwxNS40OTEgMTEsMTMuNDc2IDExLDEwLjk5MSBDMTEsOC41MDUgOC45ODUsNi40OTEgNi41LDYuNDkxIEw2LjUsNi40OTEgWiIgaWQ9IlNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Ljc0NTAwMCwgOC43NDU1MDApIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtOC43NDUwMDAsIC04Ljc0NTUwMCkgIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==')}.search-input{font:inherit;background:0 0;border:none;vertical-align:top;outline:0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-appearance:textfield;appearance:textfield;box-sizing:border-box;height:28px;height:var(--search-input-height);font-size:14px;font-size:var(--search-input-font-size);background-color:rgba(3,3,3,.09);background-color:var(--search-input-background-color);box-shadow:none;color:#1f1f21;color:var(--search-input-color);line-height:1.3;padding:0 8px 0 28px;margin:0;border-radius:5.5px;border-radius:var(--search-input-border-radius);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTNweCIgaGVpZ2h0PSIxNHB4IiB2aWV3Qm94PSIwIDAgMTMgMTQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQyICgzNjc4MSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+aW9zLXNlYXJjaC1pbnB1dC1pY29uPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9ImNvbXBvbmVudHMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJpb3Mtc2VhcmNoLWlucHV0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDguMDAwMDAwLCAtNDMuMDAwMDAwKSIgZmlsbD0iIzdBNzk3QiI+CiAgICAgICAgICAgIDxnIGlkPSJHcm91cCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDAuMDAwMDAwLCAzNi4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNi45OTcyNDgyLDE1LjUwNDE0NjYgQzE3LjA3NzM2NTcsMTUuNTQwNTkzOCAxNy4xNTIyNzMxLDE1LjU5MTYxMjkgMTcuMjE3NzUxNiwxNS42NTcwOTE0IEwyMC42NDk5OTEsMTkuMDg5MzMwOCBDMjAuOTQ0ODQ0OSwxOS4zODQxODQ3IDIwLjk0ODQ3NjQsMTkuODU4NjA2IDIwLjY1MzU0MTIsMjAuMTUzNTQxMiBDMjAuMzYwNjQ4LDIwLjQ0NjQzNDQgMTkuODgxMjcxNiwyMC40NDE5MzE3IDE5LjU4OTMzMDgsMjAuMTQ5OTkxIEwxNi4xNTcwOTE0LDE2LjcxNzc1MTYgQzE2LjA5MTM3LDE2LjY1MjAzMDEgMTYuMDQwMTE3MSwxNi41NzczODc0IDE2LjAwMzQxNDEsMTYuNDk3Nzk5NSBDMTUuMTY3MTY5NCwxNy4xMjcwNDExIDE0LjEyNzEzOTMsMTcuNSAxMywxNy41IEMxMC4yMzg1NzYzLDE3LjUgOCwxNS4yNjE0MjM3IDgsMTIuNSBDOCw5LjczODU3NjI1IDEwLjIzODU3NjMsNy41IDEzLDcuNSBDMTUuNzYxNDIzNyw3LjUgMTgsOS43Mzg1NzYyNSAxOCwxMi41IEMxOCwxMy42Mjc0Njg1IDE3LjYyNjgyMzIsMTQuNjY3Nzc2OCAxNi45OTcyNDgyLDE1LjUwNDE0NjYgWiBNMTMsMTYuNSBDMTUuMjA5MTM5LDE2LjUgMTcsMTQuNzA5MTM5IDE3LDEyLjUgQzE3LDEwLjI5MDg2MSAxNS4yMDkxMzksOC41IDEzLDguNSBDMTAuNzkwODYxLDguNSA5LDEwLjI5MDg2MSA5LDEyLjUgQzksMTQuNzA5MTM5IDEwLjc5MDg2MSwxNi41IDEzLDE2LjUgWiIgaWQ9Imlvcy1zZWFyY2gtaW5wdXQtaWNvbiI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=');background-image:var(--search-input-background-image);background-position:8px center;background-repeat:no-repeat;background-size:13px;font-weight:400;font-weight:var(--font-weight);display:inline-block;text-indent:0}.search-input::-webkit-search-cancel-button{-webkit-appearance:textfield;appearance:textfield;display:none}.search-input::-webkit-search-decoration{display:none}.search-input:focus{outline:0}.search-input::-webkit-input-placeholder{color:#7a797b;color:var(--search-input-placeholder-color);font-size:14px;font-size:var(--search-input-font-size);text-indent:0}.search-input::placeholder{color:#7a797b;color:var(--search-input-placeholder-color);font-size:14px;font-size:var(--search-input-font-size);text-indent:0}.search-input:disabled{opacity:.3;cursor:default;pointer-events:none}.search-input--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);border-radius:2px;height:48px;background-color:#fafafa;background-color:var(--material-search-background-color);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMThweCIgaGVpZ2h0PSIxOHB4IiB2aWV3Qm94PSIwIDAgMTggMTgiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDQzLjIgKDM5MDY5KSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5TaGFwZTwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJhbmRyb2lkLXNlYXJjaC1pbnB1dC1pY29uIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGZpbGw9IiM4OTg5ODkiPgogICAgICAgICAgICA8ZyBpZD0iY29tcG9uZW50cyI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ibWF0ZXJpYWwtc2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICA8ZyBpZD0ic2VhcmNoIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGcgaWQ9Ik1hdGVyaWFsL0ljb25zLWJsYWNrL3NlYXJjaCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIuNTAyLDYuNDkxIEwxMS43MDgsNi40OTEgTDExLjQzMiw2Ljc2NSBDMTIuNDA3LDcuOTAyIDEzLDkuMzc2IDEzLDEwLjk5MSBDMTMsMTQuNTgxIDEwLjA5LDE3LjQ5MSA2LjUsMTcuNDkxIEMyLjkxLDE3LjQ5MSAwLDE0LjU4MSAwLDEwLjk5MSBDMCw3LjQwMSAyLjkxLDQuNDkxIDYuNSw0LjQ5MSBDOC4xMTUsNC40OTEgOS41ODgsNS4wODMgMTAuNzI1LDYuMDU3IEwxMS4wMDEsNS43ODMgTDExLjAwMSw0Ljk5MSBMMTUuOTk5LDAgTDE3LjQ5LDEuNDkxIEwxMi41MDIsNi40OTEgTDEyLjUwMiw2LjQ5MSBaIE02LjUsNi40OTEgQzQuMDE0LDYuNDkxIDIsOC41MDUgMiwxMC45OTEgQzIsMTMuNDc2IDQuMDE0LDE1LjQ5MSA2LjUsMTUuNDkxIEM4Ljk4NSwxNS40OTEgMTEsMTMuNDc2IDExLDEwLjk5MSBDMTEsOC41MDUgOC45ODUsNi40OTEgNi41LDYuNDkxIEw2LjUsNi40OTEgWiIgaWQ9IlNoYXBlIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4Ljc0NTAwMCwgOC43NDU1MDApIHNjYWxlKC0xLCAxKSByb3RhdGUoLTE4MC4wMDAwMDApIHRyYW5zbGF0ZSgtOC43NDUwMDAsIC04Ljc0NTUwMCkgIj48L3BhdGg+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==');background-image:var(--material-search-icon);background-size:18px;background-position:18px center;font-size:14px;padding:0 24px 0 64px;box-shadow:0 0 2px 0 rgba(0,0,0,.12),0 2px 2px 0 rgba(0,0,0,.24),0 1px 0 0 rgba(255,255,255,.06) inset}:root{--text-input-font-size:16px;--text-input-height:31px;--text-input-border-color:var(--input-border-color);--material-text-input-font-size:16px;--material-text-input-color:var(--material-text-input-text-color)}.text-input{font:inherit;background:0 0;vertical-align:top;outline:0;line-height:1;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:none;background-color:transparent;letter-spacing:0;box-shadow:none;color:#1f1f21;color:var(--input-text-color);padding:0;margin:0;width:auto;font-size:16px;font-size:var(--text-input-font-size);height:31px;height:var(--text-input-height);font-weight:400;font-weight:var(--font-weight);box-sizing:border-box}.text-input::-ms-clear{display:none}.text-input:disabled{opacity:.3;cursor:default;pointer-events:none}.text-input::-webkit-input-placeholder{color:#999;color:var(--input-placeholder-color)}.text-input::placeholder{color:#999;color:var(--input-placeholder-color)}.text-input:disabled::-webkit-input-placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.text-input:disabled::placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.text-input:invalid{border:none;background-color:transparent;color:#1f1f21;color:var(--input-invalid-text-color)}.text-input--underbar{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--text-input-border-color);border-radius:0}.text-input--underbar:disabled{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--text-input-border-color)}.text-input--underbar:disabled::-webkit-input-placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.text-input--underbar:disabled::placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.text-input--underbar:invalid{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--input-invalid-border-color)}.text-input--material{padding:0;margin:0;font:inherit;background:0 0;outline:0;line-height:1;-moz-osx-font-smoothing:grayscale;font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#212121;color:var(--material-text-input-color);background-image:linear-gradient(to top,transparent 1px,#afafaf 1px);background-image:linear-gradient(to top,transparent 1px,var(--material-text-input-inactive-color) 1px);background-size:100% 2px;background-repeat:no-repeat;background-position:center bottom;background-color:transparent;font-size:16px;font-size:var(--material-text-input-font-size);border:none;padding-bottom:2px;border-radius:0;height:24px;vertical-align:middle;-webkit-transform:translate3d(0,0,0)}.text-input--material__label{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#afafaf;color:var(--material-text-input-inactive-color);position:absolute;left:0;top:2px;font-size:16px;pointer-events:none}.text-input--material__label--active{color:#3d5afe;color:var(--material-text-input-active-color);-webkit-transform:translate(0,-75%) scale(.75);transform:translate(0,-75%) scale(.75);-webkit-transform-origin:left top;transform-origin:left top;transition:color .1s ease-in,-webkit-transform .1s ease-in;transition:transform .1s ease-in,color .1s ease-in;transition:transform .1s ease-in,color .1s ease-in,-webkit-transform .1s ease-in}.text-input--material:focus{background-image:linear-gradient(#3d5afe,#3d5afe),linear-gradient(to top,transparent 1px,#afafaf 1px);background-image:linear-gradient(var(--material-text-input-active-color),var(--material-text-input-active-color)),linear-gradient(to top,transparent 1px,var(--material-text-input-inactive-color) 1px);-webkit-animation:material-text-input-animate .3s forwards;animation:material-text-input-animate .3s forwards}.text-input--material::-webkit-input-placeholder{color:#afafaf;color:var(--material-text-input-inactive-color);line-height:20px}.text-input--material::placeholder{color:#afafaf;color:var(--material-text-input-inactive-color);line-height:20px}@-webkit-keyframes material-text-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}@keyframes material-text-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}:root{--textarea-color:var(--input-text-color);--textarea-border:1px solid var(--input-border-color);--textarea-padding:5px 5px 5px 5px;--textarea-box-shadow:none;--textarea-border-radius:4px}.textarea{box-sizing:border-box;margin:0;font:inherit;background:0 0;line-height:normal;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;vertical-align:top;resize:none;outline:0;padding:5px 5px 5px 5px;padding:var(--textarea-padding);font-size:16px;font-size:var(--text-input-font-size);font-weight:400;font-weight:var(--font-weight);border-radius:4px;border-radius:var(--textarea-border-radius);border:1px solid #ccc;border:var(--textarea-border);background-color:#efeff4;background-color:var(--input-bg-color);color:#1f1f21;color:var(--textarea-color);letter-spacing:0;box-shadow:none;box-shadow:var(--textarea-box-shadow);-webkit-appearance:none;appearance:none;width:auto}.textarea:disabled{opacity:.3;cursor:default;pointer-events:none}.textarea::-webkit-input-placeholder{color:#999;color:var(--input-placeholder-color)}.textarea::placeholder{color:#999;color:var(--input-placeholder-color)}.textarea--transparent{padding-left:0;padding-right:0;border:none;background-color:transparent}.dialog{box-sizing:border-box;padding:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);margin:auto auto;overflow:hidden;min-width:270px;min-height:100px;text-align:left}.dialog-container{height:inherit;min-height:inherit;overflow:hidden;border-radius:4px;background-color:#f4f4f4;background-color:var(--dialog-background-color);-webkit-mask-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAA5JREFUeNpiYGBgAAgwAAAEAAGbA+oJAAAAAElFTkSuQmCC');color:#1f1f21;color:var(--dialog-text-color)}.dialog-mask{padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.2)}.dialog--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);text-align:left;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)}.dialog-container--material{border-radius:2px;background-color:#fff;background-color:var(--material-dialog-background-color);color:#1f1f21;color:var(--material-dialog-text-color)}.dialog-mask--material{background-color:rgba(0,0,0,.3)}.alert-dialog{box-sizing:border-box;padding:0;font:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:270px;margin:auto;background-color:#f4f4f4;background-color:var(--alert-dialog-background-color);border-radius:8px;overflow:visible;max-width:95%;color:#1f1f21;color:var(--alert-dialog-text-color)}.alert-dialog-container{height:inherit;padding-top:16px;overflow:hidden}.alert-dialog-title{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:17px;font-size:var(--font-size);font-weight:500;font-weight:var(--font-weight--large);padding:0 8px;text-align:center;color:#1f1f21;color:var(--alert-dialog-text-color)}.alert-dialog-content{box-sizing:border-box;background-clip:padding-box;padding:4px 12px 8px;font-size:calc(17px - 3px);font-size:var(--font-size--mini);min-height:36px;text-align:center;color:#1f1f21;color:var(--alert-dialog-text-color)}.alert-dialog-footer{width:100%}.alert-dialog-button{box-sizing:border-box;font:inherit;background:0 0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;text-decoration:none;letter-spacing:0;vertical-align:middle;border:none;border-top:1px solid #ddd;border-top:1px solid var(--alert-dialog-separator-color);font-size:calc(17px - 1px);font-size:calc(var(--font-size) - 1px);padding:0 8px;margin:0;display:block;width:100%;background-color:transparent;text-align:center;height:44px;line-height:44px;outline:0;color:#0076ff;color:var(--alert-dialog-button-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button{border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top;background-image:linear-gradient(180deg,#ddd,#ddd 50%,transparent 50%);background-image:linear-gradient(180deg,var(--alert-dialog-separator-color),var(--alert-dialog-separator-color) 50%,transparent 50%)}}.alert-dialog-button:active{background-color:rgba(0,0,0,.05)}.alert-dialog-button--primal{font-weight:500;font-weight:var(--font-weight--large)}.alert-dialog-footer--rowfooter{white-space:nowrap;display:-webkit-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap}.alert-dialog-button--rowfooter{-webkit-flex:1;flex:1;display:block;width:100%;border-left:1px solid #ddd;border-left:1px solid var(--alert-dialog-separator-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--rowfooter{border-top:none;border-left:none;background-size:100% 1px,1px 100%;background-repeat:no-repeat;background-position:top,left;background-image:linear-gradient(0deg,transparent,transparent 50%,#ddd 50%),linear-gradient(90deg,transparent,transparent 50%,#ddd 50%);background-image:linear-gradient(0deg,transparent,transparent 50%,var(--alert-dialog-separator-color) 50%),linear-gradient(90deg,transparent,transparent 50%,var(--alert-dialog-separator-color) 50%)}}.alert-dialog-button--rowfooter:first-child{border-left:none}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--rowfooter:first-child{border-top:none;background-size:100% 1px;background-repeat:no-repeat;background-position:top,left;background-image:linear-gradient(0deg,transparent,transparent 50%,#ddd 50%);background-image:linear-gradient(0deg,transparent,transparent 50%,var(--alert-dialog-separator-color) 50%)}}.alert-dialog-mask{padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;position:absolute;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.2)}.alert-dialog--material{border-radius:2px;background-color:#fff;background-color:var(--material-alert-dialog-background-color)}.alert-dialog-container--material{padding:22px 0 0 0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)}.alert-dialog-title--material{-webkit-font-smoothing:antialiased;text-align:left;font-size:20px;font-weight:500;padding:0 24px;color:#31313a;color:var(--material-alert-dialog-title-color)}.alert-dialog-content--material{-webkit-font-smoothing:antialiased;text-align:left;font-size:16px;font-weight:400;font-weight:var(--material-font-weight);line-height:20px;padding:0 24px;margin:24px 0 10px 0;min-height:0;color:rgba(49,49,58,.85);color:var(--material-alert-dialog-content-color)}.alert-dialog-footer--material{display:block;padding:0;height:52px;box-sizing:border-box;margin:0;line-height:1}.alert-dialog-button--material{-webkit-font-smoothing:antialiased;text-transform:uppercase;display:inline-block;width:auto;float:right;background:0 0;border:none;border-radius:2px;font-size:14px;font-weight:500;outline:0;height:36px;line-height:36px;padding:0 8px;margin:8px 8px 8px 0;box-sizing:border-box;min-width:50px;color:#37474f;color:var(--material-alert-dialog-button-color)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--material{background:0 0}}.alert-dialog-button--material:active{background-color:transparent;background-color:initial}.alert-dialog-button--rowfooter--material,.alert-dialog-button--rowfooter--material:first-child{border:0}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--rowfooter--material,.alert-dialog-button--rowfooter--material:first-child{background:0 0}}.alert-dialog-button--primal--material{font-weight:500}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.alert-dialog-button--primal--material{background:0 0}}.alert-dialog-mask--material{background-color:rgba(0,0,0,.3)}:root{--popover-arrow-size:18px;--popover-arrow-radius:4px;--popover-radius:8px;--popover-margin:6px;--material-popover-radius:2px;--material-popover-margin:4px}.popover{position:absolute;z-index:20001}.popover--bottom{bottom:0}.popover--top{top:0}.popover--left{left:0}.popover--right{right:0}.popover-mask{left:0;right:0;top:0;bottom:0;background-color:rgba(0,0,0,.2);position:absolute;z-index:19999}.popover__content{box-sizing:border-box;padding:0;margin:0;font:inherit;background:0 0;border:none;line-height:normal;cursor:default;-webkit-user-select:none;user-select:none;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:block;width:220px;overflow:auto;min-height:100px;max-height:100%;background-color:#fff;background-color:var(--popover-background-color);border-radius:8px;border-radius:var(--popover-radius);color:#1f1f21;color:var(--popover-text-color);pointer-events:auto}.popover__arrow{position:absolute;width:18px;width:var(--popover-arrow-size);height:18px;height:var(--popover-arrow-size);-webkit-transform-origin:50% 50% 0;transform-origin:50% 50% 0;background-color:transparent;background-image:linear-gradient(45deg,#fff,#fff 50%,transparent 50%);background-image:linear-gradient(45deg,var(--popover-background-color),var(--popover-background-color) 50%,transparent 50%);border-radius:0 0 0 4px;border-radius:0 0 0 var(--popover-arrow-radius);margin:0;z-index:20001}.popover--bottom__arrow{-webkit-transform:translateY(6px) translateX(calc(18px / -2)) rotate(-45deg);transform:translateY(6px) translateX(calc(18px / -2)) rotate(-45deg);-webkit-transform:translateY(6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(-45deg);transform:translateY(6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(-45deg);bottom:0;margin-right:-18px}.popover--top__arrow{-webkit-transform:translateY(-6px) translateX(calc(18px / -2)) rotate(135deg);transform:translateY(-6px) translateX(calc(18px / -2)) rotate(135deg);-webkit-transform:translateY(-6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(135deg);transform:translateY(-6px) translateX(calc(var(--popover-arrow-size)/ -2)) rotate(135deg);top:0;margin-right:-18px}.popover--left__arrow{-webkit-transform:translateX(-6px) translateY(calc(18px / -2)) rotate(45deg);transform:translateX(-6px) translateY(calc(18px / -2)) rotate(45deg);-webkit-transform:translateX(-6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(45deg);transform:translateX(-6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(45deg);left:0;margin-bottom:-18px}.popover--right__arrow{-webkit-transform:translateX(6px) translateY(calc(18px / -2)) rotate(225deg);transform:translateX(6px) translateY(calc(18px / -2)) rotate(225deg);-webkit-transform:translateX(6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(225deg);transform:translateX(6px) translateY(calc(var(--popover-arrow-size)/ -2)) rotate(225deg);right:0;margin-bottom:-18px}.popover-mask--material{background-color:transparent}.popover--material__content{background-color:#fafafa;background-color:var(--material-popover-background-color);border-radius:2px;border-radius:var(--material-popover-radius);color:#1f1f21;color:var(--material-popover-text-color);box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2)}.popover--material__arrow{display:none}.progress-bar{position:relative;height:2px;display:block;width:100%;background-color:transparent;background-color:var(--progress-bar-background-color);background-clip:padding-box;margin:0;overflow:hidden;border-radius:4px}.progress-bar__primary,.progress-bar__secondary{position:absolute;background-color:#0076ff;background-color:var(--progress-bar-color);top:0;bottom:0;transition:width .3s linear;z-index:100;border-radius:4px}.progress-bar__secondary{background-color:#65adff;background-color:var(--progress-bar-secondary-color);z-index:0}.progress-bar--indeterminate:before{content:'';position:absolute;background-color:#0076ff;background-color:var(--progress-bar-color);top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:progress-bar__indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;animation:progress-bar__indeterminate 2.1s cubic-bezier(.65,.815,.735,.395) infinite;border-radius:4px}.progress-bar--indeterminate:after{content:'';position:absolute;background-color:#0076ff;background-color:var(--progress-bar-color);top:0;left:0;bottom:0;will-change:left,right;-webkit-animation:progress-bar__indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;animation:progress-bar__indeterminate-short 2.1s cubic-bezier(.165,.84,.44,1) infinite;-webkit-animation-delay:1.15s;animation-delay:1.15s;border-radius:4px}@-webkit-keyframes progress-bar__indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@keyframes progress-bar__indeterminate{0%{left:-35%;right:100%}60%{left:100%;right:-90%}100%{left:100%;right:-90%}}@-webkit-keyframes progress-bar__indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}@keyframes progress-bar__indeterminate-short{0%{left:-200%;right:100%}60%{left:107%;right:-8%}100%{left:107%;right:-8%}}.progress-bar--material{height:4px;background-color:transparent;background-color:var(--material-progress-bar-background-color);border-radius:0}.progress-bar--material__primary,.progress-bar--material__secondary{background-color:#37474f;background-color:var(--material-progress-bar-primary-color);border-radius:0}.progress-bar--material__secondary{background-color:#548ba7;background-color:var(--material-progress-bar-secondary-color);z-index:0}.progress-bar--material.progress-bar--indeterminate:before{background-color:var(--material-progress-bar-primary-color);border-radius:0}.progress-bar--material.progress-bar--indeterminate:after{background-color:var(--material-progress-bar-primary-color);border-radius:0}.progress-circular{height:32px;position:relative;width:32px;-webkit-transform:rotate(270deg);transform:rotate(270deg);-webkit-animation:none;animation:none}.progress-circular__background,.progress-circular__primary,.progress-circular__secondary{ + cx: 50%; + cy: 50%; + r: 40%; + -webkit-animation:none;animation:none;fill:none;stroke-width:5%;stroke-miterlimit:10}.progress-circular__background{stroke:transparent;stroke:var(--progress-circle-background-color)}.progress-circular__primary{stroke-dasharray:1,200;stroke-dashoffset:0;stroke:rgb(0,118,255);stroke:var(--progress-circle-primary-color);transition:all 1s cubic-bezier(.4, 0, .2, 1)}.progress-circular__secondary{stroke:#65adff;stroke:var(--progress-circle-secondary-color)}.progress-circular--indeterminate{-webkit-animation:progress__rotate 2s linear infinite;animation:progress__rotate 2s linear infinite;-webkit-transform:none;transform:none}.progress-circular--indeterminate__primary{-webkit-animation:progress__dash 1.5s ease-in-out infinite;animation:progress__dash 1.5s ease-in-out infinite}.progress-circular--indeterminate__secondary{display:none}@-webkit-keyframes progress__rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes progress__rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes progress__dash{0%{stroke-dasharray:10%,241.32%;stroke-dashoffset:0}50%{stroke-dasharray:201%,50.322%;stroke-dashoffset:-100%}100%{stroke-dasharray:10%,241.32%;stroke-dashoffset:-251.32%}}@keyframes progress__dash{0%{stroke-dasharray:10%,241.32%;stroke-dashoffset:0}50%{stroke-dasharray:201%,50.322%;stroke-dashoffset:-100%}100%{stroke-dasharray:10%,241.32%;stroke-dashoffset:-251.32%}}.progress-circular--material__background,.progress-circular--material__primary,.progress-circular--material__secondary{stroke-width:9%}.progress-circular--material__background{stroke:transparent;stroke:var(--material-progress-circle-background-color)}.progress-circular--material__primary{stroke:#37474f;stroke:var(--material-progress-circle-primary-color)}.progress-circular--material__secondary{stroke:#548ba7;stroke:var(--material-progress-circle-secondary-color)}:root{--fab-width:56px;--fab-height:56px;--fab-position:absolute;--fab-mini-width:40px;--fab-mini-height:40px;--material-fab-width:56px;--material-fab-height:56px;--material-fab-position:absolute;--material-fab-mini-width:40px;--material-fab-mini-height:40px}button.fab,ons-fab.fab,ons-speed-dial-item.fab{position:relative;display:inline-block;box-sizing:border-box;padding:0;margin:0;font:inherit;background:0 0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;-webkit-user-select:none;user-select:none;width:56px;width:var(--fab-width);height:56px;height:var(--fab-height);text-decoration:none;font-size:25px;line-height:56px;line-height:var(--fab-height);letter-spacing:0;color:#fff;color:var(--fab-text-color);vertical-align:middle;text-align:center;background-color:rgba(0,118,255);background-color:var(--fab-background-color);border:0 solid currentColor;border-radius:50%;overflow:hidden;box-shadow:0 3px 6px rgba(0,0,0,.12);transition:all .1s linear}button.fab:active,ons-fab.fab:active,ons-speed-dial-item.fab:active{background-color:rgba(0,118,255,.7);background-color:var(--fab-active-background-color);transition:all .2s ease;box-shadow:0 0 6px rgba(0,0,0,.12)}button.fab:focus,ons-fab.fab:focus,ons-speed-dial-item.fab:focus{outline:0}button.fab:disabled,button.fab[disabled],ons-fab.fab:disabled,ons-fab.fab[disabled],ons-speed-dial-item.fab:disabled,ons-speed-dial-item.fab[disabled]{background-color:rgba(0,0,0,.5);box-shadow:none;opacity:.3;cursor:default;pointer-events:none}button.fab__icon,ons-fab.fab__icon,ons-speed-dial-item.fab__icon{position:relative;overflow:hidden;height:100%;width:100%;display:block;border-radius:100%;padding:0;z-index:100;line-height:56px;line-height:var(--material-fab-height)}button.fab--material,ons-fab.fab--material,ons-speed-dial-item.fab--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);width:56px;width:var(--material-fab-width);height:56px;height:var(--material-fab-height);text-decoration:none;font-size:25px;line-height:56px;line-height:var(--material-fab-height);color:#31313a;color:var(--material-fab-text-color);background-color:#fff;background-color:var(--material-fab-background-color);box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.4);transition:all .2s ease-in-out}button.fab--material:active,ons-fab.fab--material:active,ons-speed-dial-item.fab--material:active{background-color:rgba(255,255,255,.75);background-color:var(--material-fab-active-background-color);transition:all .2s ease}button.fab--material:focus,ons-fab.fab--material:focus,ons-speed-dial-item.fab--material:focus{outline:0}button.fab--material__icon,ons-fab.fab--material__icon,ons-speed-dial-item.fab--material__icon{position:relative;overflow:hidden;height:100%;width:100%;display:block;border-radius:100%;padding:0;z-index:100;line-height:56px;line-height:var(--material-fab-height)}button.fab--mini,ons-fab.fab--mini,ons-speed-dial-item.fab--mini{width:40px;width:var(--fab-mini-width);height:40px;height:var(--fab-mini-height);line-height:40px;line-height:var(--fab-mini-height)}button.fab--mini__icon,ons-fab.fab--mini__icon,ons-speed-dial-item.fab--mini__icon{line-height:40px;line-height:var(--fab-mini-height)}button.speed-dial__item,ons-fab.speed-dial__item,ons-speed-dial-item.speed-dial__item{position:absolute;-webkit-transform:scale(0);transform:scale(0)}.speed-dial.fab--top__right,button.fab--top__right,ons-fab.fab--top__right{top:20px;bottom:auto;right:20px;left:auto;position:absolute;position:var(--fab-position)}.speed-dial.fab--bottom__right,button.fab--bottom__right,ons-fab.fab--bottom__right{top:auto;bottom:20px;right:20px;left:auto;position:absolute;position:var(--fab-position)}.speed-dial.fab--top__left,button.fab--top__left,ons-fab.fab--top__left{top:20px;bottom:auto;right:auto;left:20px;position:absolute;position:var(--fab-position)}.speed-dial.fab--bottom__left,button.fab--bottom__left,ons-fab.fab--bottom__left{top:auto;bottom:20px;right:auto;left:20px;position:absolute;position:var(--fab-position)}.speed-dial.fab--top__center,button.fab--top__center,ons-fab.fab--top__center{top:20px;bottom:auto;margin-left:-28px;left:50%;right:auto;position:absolute;position:var(--fab-position)}.speed-dial.fab--bottom__center,button.fab--bottom__center,ons-fab.fab--bottom__center{top:auto;bottom:20px;margin-left:-28px;left:50%;right:auto;position:absolute;position:var(--fab-position)}.modal{white-space:nowrap;word-spacing:0;padding:0;margin:0;font:inherit;color:inherit;background:0 0;border:none;line-height:normal;box-sizing:border-box;background-clip:padding-box;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);overflow:hidden;background-color:rgba(0,0,0,.7);background-color:var(--modal-background-color);position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;display:table;z-index:2147483647}.modal__content{overflow:hidden;word-spacing:0;padding:0;margin:0;font:inherit;background:0 0;border:none;line-height:normal;box-sizing:border-box;background-clip:padding-box;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);display:table-cell;vertical-align:middle;text-align:center;color:#fff;color:var(--modal-text-color);white-space:normal}:root{--select-input-font-size:var(--font-size);--select-input-height:32px;--material-select-input-font-size:15px;--select-arrow-icon:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTBweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCAxMCA1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0LWFsbG93PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InNlbGVjdCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imlvcy1zZWxlY3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTguMDAwMDAwLCAtMTE0LjAwMDAwMCkiIGZpbGw9IiM3NTc1NzUiPgogICAgICAgICAgICA8ZyBpZD0ibWVudS1iYXItKy1vcGVuLW1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDEwMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJtZW51LWJhciI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9InNlbGVjdC1hbGxvdyIgcG9pbnRzPSI3NSAxNCA4MCAxOSA4NSAxNCI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=')}.select-input{box-sizing:border-box;margin:0;font:inherit;background:0 0;vertical-align:top;outline:0;font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:relative;font-size:17px;font-size:var(--select-input-font-size);height:32px;height:var(--select-input-height);line-height:32px;line-height:var(--select-input-height);border-color:#ccc;border-color:var(--select-input-border-color);color:#1f1f21;color:var(--select-input-color);-webkit-appearance:none;appearance:none;display:inline-block;border-radius:0;border:none;padding:0 20px 0 0;background-color:transparent;background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTBweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCAxMCA1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0LWFsbG93PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InNlbGVjdCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imlvcy1zZWxlY3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTguMDAwMDAwLCAtMTE0LjAwMDAwMCkiIGZpbGw9IiM3NTc1NzUiPgogICAgICAgICAgICA8ZyBpZD0ibWVudS1iYXItKy1vcGVuLW1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDEwMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJtZW51LWJhciI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9InNlbGVjdC1hbGxvdyIgcG9pbnRzPSI3NSAxNCA4MCAxOSA4NSAxNCI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=');background-image:var(--select-arrow-icon);background-repeat:no-repeat;background-position:right center;border-bottom:none}.select-input::-ms-clear{display:none}.select-input::-webkit-input-placeholder{color:#999;color:var(--input-placeholder-color)}.select-input::placeholder{color:#999;color:var(--input-placeholder-color)}.select-input:disabled{opacity:.3;cursor:default;pointer-events:none;border:none;background-color:transparent}.select-input:disabled::-webkit-input-placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.select-input:disabled::placeholder{border:none;background-color:transparent;color:#999;color:var(--input-placeholder-color)}.select-input:invalid{border:none;background-color:transparent;color:#1f1f21;color:var(--input-invalid-text-color)}.select-input[multiple]{height:calc(32px * 2);height:calc(var(--select-input-height) * 2)}.select-input--material{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#1f1f21;color:var(--material-select-input-color);font-size:15px;font-size:var(--material-select-input-font-size);background-image:url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTBweCIgaGVpZ2h0PSI1cHgiIHZpZXdCb3g9IjAgMCAxMCA1IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCA0My4yICgzOTA2OSkgLSBodHRwOi8vd3d3LmJvaGVtaWFuY29kaW5nLmNvbS9za2V0Y2ggLS0+CiAgICA8dGl0bGU+c2VsZWN0LWFsbG93PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9InNlbGVjdCIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Imlvcy1zZWxlY3QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xOTguMDAwMDAwLCAtMTE0LjAwMDAwMCkiIGZpbGw9IiM3NTc1NzUiPgogICAgICAgICAgICA8ZyBpZD0ibWVudS1iYXItKy1vcGVuLW1lbnUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEyMy4wMDAwMDAsIDEwMC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxnIGlkPSJtZW51LWJhciI+CiAgICAgICAgICAgICAgICAgICAgPHBvbHlnb24gaWQ9InNlbGVjdC1hbGxvdyIgcG9pbnRzPSI3NSAxNCA4MCAxOSA4NSAxNCI+PC9wb2x5Z29uPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4='),linear-gradient(to top,rgba(0,0,0,.12) 50%,rgba(0,0,0,.12) 50%);background-image:var(--select-arrow-icon),linear-gradient(to top,var(--material-select-border-color) 50%,var(--material-select-border-color) 50%);background-size:auto,100% 1px;background-repeat:no-repeat;background-position:right center,left bottom;border:none;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.select-input--material__label{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:rgba(0,0,0,.81);color:var(--material-select-input-inactive-color);position:absolute;left:0;top:2px;font-size:16px;pointer-events:none}.select-input--material__label--active{color:rgba(0,0,0,.15);color:var(--material-select-input-active-color);-webkit-transform:translate(0,-75%) scale(.75);transform:translate(0,-75%) scale(.75);-webkit-transform-origin:left top;transform-origin:left top;transition:color .1s ease-in,-webkit-transform .1s ease-in;transition:transform .1s ease-in,color .1s ease-in;transition:transform .1s ease-in,color .1s ease-in,-webkit-transform .1s ease-in}.select-input--material::-webkit-input-placeholder{color:rgba(0,0,0,.81);color:var(--material-select-input-inactive-color);line-height:20px}.select-input--material::placeholder{color:rgba(0,0,0,.81);color:var(--material-select-input-inactive-color);line-height:20px}@-webkit-keyframes material-select-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}@keyframes material-select-input-animate{0%{background-size:0 2px,100% 2px}100%{background-size:100% 2px,100% 2px}}.select-input--underbar{border:none;border-bottom:1px solid #ccc;border-bottom:1px solid var(--select-input-border-color)}.select-input--underbar:disabled{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--select-input-border-color)}.select-input--underbar:disabled::-webkit-input-placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.select-input--underbar:disabled::placeholder{color:var(--input-placeholder-color);border:none;background-color:transparent}.select-input--underbar:invalid{border:none;background-color:transparent;border-bottom:1px solid #ccc;border-bottom:1px solid var(--input-invalid-border-color)}:root{--action-sheet-mask-color:rgba(0, 0, 0, 0.1);--material-action-sheet-mask-color:rgba(0, 0, 0, 0.2)}.action-sheet{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);cursor:default;position:absolute;left:10px;right:10px;bottom:10px;z-index:2}.action-sheet-button{box-sizing:border-box;height:56px;font-size:20px;text-align:center;color:#0076ff;color:var(--action-sheet-button-color);background-color:rgba(255,255,255,.9);background-color:var(--action-sheet-button-background-color);border-radius:0;line-height:56px;border:none;-webkit-appearance:none;appearance:none;display:block;width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 100%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.action-sheet-button{background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 50%,transparent 50%)}}.action-sheet-button:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.action-sheet-button:active{background-color:#e9e9e9;background-color:var(--action-sheet-button-active-background-color);background-image:none}.action-sheet-button:focus{outline:0}.action-sheet-button:nth-last-of-type(2){border-bottom-right-radius:12px;border-bottom-left-radius:12px;background-image:none}.action-sheet-button:last-of-type{border-radius:12px;margin:8px 0 0 0;background-color:#fff;background-color:var(--action-sheet-cancel-button-background-color);background-image:none;font-weight:600}.action-sheet-button:last-of-type:active{background-color:#e9e9e9;background-color:var(--action-sheet-button-active-background-color)}.action-sheet-button--destructive{color:#fe3824;color:var(--action-sheet-button-destructive-color)}.action-sheet-title{box-sizing:border-box;height:56px;font-size:13px;color:#8f8e94;color:var(--action-sheet-title-color);text-align:center;background-color:rgba(255,255,255,.9);background-color:var(--action-sheet-button-background-color);line-height:56px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;background-size:100% 1px;background-repeat:no-repeat;background-position:bottom;background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 100%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 100%)}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi),(min-resolution:2dppx){.action-sheet-title{background-image:linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,.1) 50%,transparent 50%);background-image:linear-gradient(0deg,var(--action-sheet-button-separator-color),var(--action-sheet-button-separator-color) 50%,transparent 50%)}}.action-sheet-title:first-child{border-top-left-radius:12px;border-top-right-radius:12px}.action-sheet-icon{display:none}.action-sheet-mask{position:absolute;left:0;top:0;right:0;bottom:0;background-color:rgba(0,0,0,.1);background-color:var(--action-sheet-mask-color);z-index:1}.action-sheet--material{left:0;right:0;bottom:0;box-shadow:0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12),0 8px 10px -5px rgba(0,0,0,.4)}.action-sheet-title--material{-webkit-font-smoothing:antialiased;border-radius:0;background-image:none;text-align:left;height:56px;line-height:56px;font-size:16px;padding:0 0 0 16px;color:#686868;color:var(--material-action-sheet-text-color);background-color:#fff;font-weight:400;font-weight:var(--material-font-weight)}.action-sheet-title--material:first-child{border-radius:0}.action-sheet-button--material{-webkit-font-smoothing:antialiased;border-radius:0;background-image:none;height:52px;line-height:52px;text-align:left;font-size:16px;padding:0 0 0 16px;color:#686868;color:var(--material-action-sheet-text-color);font-weight:400;font-weight:var(--material-font-weight);background-color:#fff}.action-sheet-button--material:first-child{border-radius:0}.action-sheet-button--material:nth-last-of-type(2){border-radius:0}.action-sheet-button--material:last-of-type{margin:0;border-radius:0;font-weight:400;background-color:#fff}.action-sheet-icon--material{display:inline-block;float:left;height:52px;line-height:52px;margin-right:32px;font-size:26px;width:.8em;text-align:center}.action-sheet-mask--material{background-color:rgba(0,0,0,.2);background-color:var(--material-action-sheet-mask-color)}:root{--card-text-line-height:1.4;--card-text-font-size:14px;--material-card-text-line-height:1.4;--material-card-text-font-size:14px}.card{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);box-shadow:0 1px 2px rgba(0,0,0,.12);border-radius:8px;background-color:#fff;background-color:var(--card-background-color);box-sizing:border-box;display:block;margin:8px;padding:16px;text-align:left;word-wrap:break-word}.card__content{margin:0;font-size:14px;font-size:var(--card-text-font-size);line-height:1.4;line-height:var(--card-text-line-height);color:#030303;color:var(--card-text-color)}.card__title{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-size:20px;margin:4px 0 8px 0;padding:0;display:block;box-sizing:border-box}.card--material{background-color:#fff;background-color:var(--material-card-background-color);border-radius:2px;box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 1px 5px 0 rgba(0,0,0,.12),0 3px 1px -2px rgba(0,0,0,.2);font-family:Roboto,Noto,sans-serif;-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight)}.card--material__content{font-size:14px;font-size:var(--material-card-text-font-size);line-height:1.4;line-height:var(--material-card-text-line-height);color:rgba(0,0,0,.54);color:var(--material-card-text-color)}.card--material__title{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);font-size:24px;margin:8px 0 12px 0}.toast{font-family:-apple-system,'Helvetica Neue',Helvetica,Arial,'Lucida Grande',sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;font-weight:var(--font-weight);position:absolute;z-index:2;left:8px;right:8px;bottom:0;margin:8px 0;border-radius:8px;background-color:rgba(0,0,0,.8);background-color:var(--toast-background-color);display:-webkit-flex;display:flex;min-height:48px;line-height:1.5;box-sizing:border-box;padding:16px 16px}.toast__message{font-size:14px;color:#fff;color:var(--toast-text-color);-webkit-flex-grow:1;flex-grow:1;text-align:left;margin:0 16px 0 0;white-space:normal}.toast__button{font-size:14px;color:#fff;color:var(--toast-button-text-color);-webkit-flex-grow:0;flex-grow:0;-webkit-appearance:none;appearance:none;border:none;background-color:transparent;cursor:default;text-transform:uppercase}.toast__button:focus{outline:0}.toast__button:active{opacity:.4}.toast--material{left:0;right:0;bottom:0;margin:0;background-color:rgba(0,0,0,.8);background-color:var(--material-toast-background-color);border-radius:0;padding:16px 24px}.toast--material__message{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);margin:0 24px 0 0}.toast--material__button{-webkit-font-smoothing:antialiased;font-weight:400;font-weight:var(--material-font-weight);color:#bbdefb;color:var(--material-toast-button-text-color)}.toolbar{top:0;box-sizing:border-box;padding-top:0}.bottom-bar{bottom:0;box-sizing:border-box;padding-bottom:0}.toolbar+.page__background{top:44px;top:var(--toolbar-height)}.page__content{top:0;padding-top:0;bottom:0}.toolbar+.page__background+.page__content{top:44px;top:var(--toolbar-height);padding-top:0}.page-with-bottom-toolbar>.page__content{bottom:44px}.toolbar.toolbar--material+.page__background{top:56px;top:var(--toolbar-material-height)}.toolbar.toolbar--material+.page__background+.page__content{top:56px;top:var(--toolbar-material-height);padding-top:0}.toolbar.toolbar--transparent+.page__background{top:0}.toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,.toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content{top:0;padding-top:44px;padding-top:var(--toolbar-height)}.toolbar.toolbar--material.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,.toolbar.toolbar--material.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content{top:0;padding-top:56px;padding-top:var(--toolbar-material-height)}.tabbar--top{padding-top:0}.tabbar:not(.tabbar--top){padding-bottom:0}:root{--iphonex-safe-area-inset-top-portrait:44px;--iphonex-safe-area-inset-right-portrait:0;--iphonex-safe-area-inset-bottom-portrait:34px;--iphonex-safe-area-inset-left-portrait:0;--iphonex-safe-area-inset-top-landscape:0;--iphonex-safe-area-inset-right-landscape:44px;--iphonex-safe-area-inset-bottom-landscape:21px;--iphonex-safe-area-inset-left-landscape:44px}@media (orientation:landscape){html[onsflag-iphonex-landscape] .page__content{padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape);padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape)}html[onsflag-iphonex-landscape] .dialog .page__content,html[onsflag-iphonex-landscape] .modal .page__content{padding-left:0;padding-right:0}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .toolbar__left{padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape)}html[onsflag-iphonex-landscape] .toolbar__right{padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape)}html[onsflag-iphonex-landscape] .bottom-bar{padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape);padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .tabbar{padding-left:44px;padding-left:var(--iphonex-safe-area-inset-left-landscape);padding-right:44px;padding-right:var(--iphonex-safe-area-inset-right-landscape);width:calc(100% - 44px - 44px);width:calc(100% - var(--iphonex-safe-area-inset-left-landscape) - var(--iphonex-safe-area-inset-right-landscape))}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .fab--top__center,html[onsflag-iphonex-portrait] .fab--top__left,html[onsflag-iphonex-portrait] .fab--top__right{top:calc(44px + 20px);top:calc(var(--iphonex-safe-area-inset-top-portrait) + 20px)}html[onsflag-iphonex-portrait] .fab--bottom__center,html[onsflag-iphonex-portrait] .fab--bottom__left,html[onsflag-iphonex-portrait] .fab--bottom__right{bottom:calc(34px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait))}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .fab--bottom__center,html[onsflag-iphonex-landscape] .fab--bottom__left,html[onsflag-iphonex-landscape] .fab--bottom__right{bottom:calc(21px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape))}html[onsflag-iphonex-landscape] .fab--bottom__left,html[onsflag-iphonex-landscape] .fab--top__left{left:calc(44px);left:calc(var(--iphonex-safe-area-inset-left-landscape))}html[onsflag-iphonex-landscape] .fab--bottom__right,html[onsflag-iphonex-landscape] .fab--top__right{right:calc(44px);right:calc(var(--iphonex-safe-area-inset-right-landscape))}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .action-sheet{bottom:calc(34px + 14px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait) + 14px)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .action-sheet{left:calc((100vw - (100vh + 20px))/ 2);right:calc((100vw - (100vh + 20px))/ 2);bottom:calc(21px + 12px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape) + 12px)}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .toast{bottom:34px;bottom:var(--iphonex-safe-area-inset-bottom-portrait)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .toast{left:calc(44px + 8px);left:calc(var(--iphonex-safe-area-inset-left-landscape) + 8px);right:calc(44px + 8px);right:calc(var(--iphonex-safe-area-inset-right-landscape) + 8px);bottom:21px;bottom:var(--iphonex-safe-area-inset-bottom-landscape)}}@media (orientation:portrait){html[onsflag-iphonex-portrait] .toolbar{top:0;box-sizing:content-box;padding-top:44px;padding-top:var(--iphonex-safe-area-inset-top-portrait)}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar,html[onsflag-iphonex-portrait] .dialog .toolbar,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar{box-sizing:border-box;padding-top:0}html[onsflag-iphonex-portrait] .bottom-bar{bottom:0;box-sizing:content-box;padding-bottom:34px;padding-bottom:var(--iphonex-safe-area-inset-bottom-portrait)}html[onsflag-iphonex-portrait] .dialog .bottom-bar,html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .bottom-bar,html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .bottom-bar{box-sizing:border-box;padding-bottom:0}html[onsflag-iphonex-portrait] .page__content{top:0;padding-top:44px;padding-top:var(--iphonex-safe-area-inset-top-portrait);bottom:0;padding-bottom:34px;padding-bottom:var(--iphonex-safe-area-inset-bottom-portrait)}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .page__content,/* if wrapped with a top tabbar */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content,html[onsflag-iphonex-portrait] .dialog .page__content,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .page__content{padding-top:0}/* if wrapped with a bottom tabbar */ html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-portrait] .dialog .page__content,html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .page__content,html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .page__content{padding-bottom:0}html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content{top:calc(44px + 44px);top:calc(var(--iphonex-safe-area-inset-top-portrait) + var(--toolbar-height));padding-top:0}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar:not(.toolbar--cover-content)+.page__background,/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar:not(.toolbar--cover-content)+.page__background,html[onsflag-iphonex-portrait] .dialog .toolbar:not(.toolbar--cover-content)+.page__background,html[onsflag-iphonex-portrait] .dialog .toolbar:not(.toolbar--cover-content)+.page__background+.page__content,html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar:not(.toolbar--cover-content)+.page__background+.page__content,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar:not(.toolbar--cover-content)+.page__background+.page__content{top:var(--toolbar-height);padding-top:0}html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content{bottom:calc(34px + 44px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait) + var(--toolbar-height));padding-bottom:0}html[onsflag-iphonex-portrait] .dialog .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .page-with-bottom-toolbar>.page__content{bottom:var(--toolbar-height);padding-bottom:0}html[onsflag-iphonex-portrait] .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,html[onsflag-iphonex-portrait] .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content{top:0;padding-top:calc(44px + 44px);padding-top:calc(var(--iphonex-safe-area-inset-top-portrait) + var(--toolbar-height))}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page__content,/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .dialog .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content,html[onsflag-iphonex-portrait] .dialog .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content,html[onsflag-iphonex-portrait] .tabbar--top__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content .page_content,html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .toolbar.toolbar--transparent.toolbar--cover-content+.page__background+.page__content{padding-top:44px;padding-top:var(--toolbar-height)}html[onsflag-iphonex-portrait] .tabbar--top{padding-top:44px;padding-top:var(--iphonex-safe-area-inset-top-portrait)}html[onsflag-iphonex-portrait] .tabbar--top__content{top:calc(44px + 49px);top:calc(var(--iphonex-safe-area-inset-top-portrait) + var(--tabbar-height))}/* if wrapped with a page with a toolbar */ html[onsflag-iphonex-portrait] .tabbar--top__content .tabbar--top__content,/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .toolbar:not(.toolbar--cover-content)+.page__background+.page__content .tabbar--top__content,html[onsflag-iphonex-portrait] .dialog .tabbar--top__content{top:var(--tabbar-height)}html[onsflag-iphonex-portrait] .tabbar:not(.tabbar--top):not(.tabbar--top){padding-bottom:34px;padding-bottom:var(--iphonex-safe-area-inset-bottom-portrait)}html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content){bottom:calc(34px + 49px);bottom:calc(var(--iphonex-safe-area-inset-bottom-portrait) + var(--tabbar-height))}/* if wrapped with a page with a bottom-bar */ html[onsflag-iphonex-portrait] .tabbar__content:not(.tabbar--top__content) .tabbar__content:not(.tabbar--top__content),/* if wrapped with dialogs */ html[onsflag-iphonex-portrait] .page-with-bottom-toolbar>.page__content .tabbar__content:not(.tabbar--top__content),html[onsflag-iphonex-portrait] .dialog .tabbar__content:not(.tabbar--top__content){bottom:var(--tabbar-height)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .bottom-bar{bottom:0;box-sizing:content-box;padding-bottom:21px;padding-bottom:var(--iphonex-safe-area-inset-bottom-landscape)}html[onsflag-iphonex-landscape] .dialog .bottom-bar,html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .bottom-bar,html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .bottom-bar{box-sizing:border-box;padding-bottom:0}html[onsflag-iphonex-landscape] .page__content{bottom:0;padding-bottom:21px;padding-bottom:var(--iphonex-safe-area-inset-bottom-landscape)}/* if wrapped with a bottom tabbar */ html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-landscape] .dialog .page__content,html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .page__content,html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .page__content{padding-bottom:0}html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content{bottom:calc(21px + 44px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape) + var(--toolbar-height));padding-bottom:0}html[onsflag-iphonex-landscape] .dialog .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .page-with-bottom-toolbar>.page__content,html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .page-with-bottom-toolbar>.page__content{bottom:var(--toolbar-height);padding-bottom:0}html[onsflag-iphonex-landscape] .tabbar:not(.tabbar--top){padding-bottom:21px;padding-bottom:var(--iphonex-safe-area-inset-bottom-landscape)}html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content){bottom:calc(21px + 49px);bottom:calc(var(--iphonex-safe-area-inset-bottom-landscape) + var(--tabbar-height))}/* if wrapped with a page with a bottom-bar */ html[onsflag-iphonex-landscape] .tabbar__content:not(.tabbar--top__content) .tabbar__content:not(.tabbar--top__content),/* if wrapped with dialogs */ html[onsflag-iphonex-landscape] .page-with-bottom-toolbar>.page__content .tabbar__content:not(.tabbar--top__content),html[onsflag-iphonex-landscape] .dialog .tabbar__content:not(.tabbar--top__content){bottom:var(--tabbar-height)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset){margin-left:calc(-1 * 44px);margin-left:calc(-1 * var(--iphonex-safe-area-inset-left-landscape));margin-right:calc(-1 * 44px);margin-right:calc(-1 * var(--iphonex-safe-area-inset-right-landscape))}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-header{padding-left:calc(44px + 15px);padding-left:calc(var(--iphonex-safe-area-inset-left-landscape) + 15px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item{padding-left:calc(var(--iphonex-safe-area-inset-left-landscape) + 14px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item--chevron:before{right:calc(44px + 16px);right:calc(var(--iphonex-safe-area-inset-right-landscape) + 16px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item>.list-item__center:last-child{padding-right:calc(44px + 6px);padding-right:calc(var(--iphonex-safe-area-inset-right-landscape) + 6px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item>.list-item__right{padding-right:calc(44px + 12px);padding-right:calc(var(--iphonex-safe-area-inset-right-landscape) + 12px)}html[onsflag-iphonex-landscape] .page__content>.list:not(.list--inset)>.list-item>.list-item--chevron__right{padding-right:calc(44px + 30px);padding-right:calc(var(--iphonex-safe-area-inset-right-landscape) + 30px)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset){margin-left:0;margin-right:0}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-header{padding-left:15px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item{padding-left:14px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item--chevron:before{right:16px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item>.list-item__center:last-child{padding-right:6px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item>.list-item__right{padding-right:12px}html[onsflag-iphonex-landscape] .dialog .page__content>.list:not(.list--inset)>.list-item>.list-item--chevron__right{padding-right:30px}} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/onsenui-core.min.css b/Server/www/spiderbasic/onsenui-css/onsenui-core.min.css new file mode 100644 index 0000000..5359859 --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/onsenui-core.min.css @@ -0,0 +1 @@ +ons-gesture-detector,ons-navigator,ons-page,ons-tabbar{display:block;touch-action:manipulation}ons-action-sheet,ons-alert-dialog,ons-dialog,ons-navigator,ons-splitter,ons-tabbar,ons-toast{position:absolute;top:0;left:0;bottom:0;right:0;overflow:hidden;touch-action:manipulation}ons-toast{pointer-events:none}ons-toast .toast{pointer-events:auto}ons-tab{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}ons-action-sheet,ons-alert-dialog,ons-dialog,ons-navigator,ons-page,ons-tabbar,ons-toast{z-index:2}ons-fab,ons-speed-dial{z-index:10001}ons-bottom-toolbar,ons-toolbar:not([inline]){position:absolute;left:0;right:0;z-index:10000}ons-toolbar:not([inline]){top:0}ons-bottom-toolbar{bottom:0}.page,.page--material,.page--material__content,.page__content{background-color:transparent!important;background:0 0!important}.page__content{overflow:auto;-webkit-overflow-scrolling:touch;z-index:0;-ms-touch-action:pan-y}.page.overflow-visible,.page.overflow-visible .page,.page.overflow-visible .page__content,.page.overflow-visible ons-navigator,.page.overflow-visible ons-splitter{overflow:visible}.page.overflow-visible .page__content.content-swiping,.page.overflow-visible .page__content.content-swiping .page,.page.overflow-visible .page__content.content-swiping .page__content{overflow:auto}.page[status-bar-fill]>.page__content{top:20px}.page[status-bar-fill]>.toolbar{padding-top:20px;box-sizing:content-box}.page[status-bar-fill]>.toolbar:not(.toolbar--cover-content)+.page__background+.page__content,.page[status-bar-fill]>.toolbar:not(.toolbar--transparent)+.page__background{top:64px}.page[status-bar-fill]>.toolbar--material:not(.toolbar--cover-content)+.page__background+.page__content,.page[status-bar-fill]>.toolbar--material:not(.toolbar-transparent)+.page__background{top:76px}.page[status-bar-fill]>.toolbar.toolbar--transparent+.page__background{top:0}ons-tabbar[status-bar-fill]>.tabbar--top__content{top:71px}ons-tabbar[status-bar-fill]>.tabbar--top{padding-top:22px}ons-tabbar[position=top] .page[status-bar-fill]>.page__content{top:0}.toolbar+.page__background+.page__content ons-tabbar[status-bar-fill]>.tabbar--top{top:0}.toolbar+.page__background+.page__content ons-tabbar[status-bar-fill]>.tabbar--top__content{top:49px}.page__content>.list:not(.list--material):first-child{margin-top:-1px}.page--wrapper>.page__background{display:none}ons-action-sheet[disabled],ons-alert-dialog[disabled],ons-dialog[disabled],ons-popover[disabled]{pointer-events:none;opacity:.75}ons-list-item[disabled]{pointer-events:none}ons-range[disabled]{opacity:.3;pointer-events:none}ons-pull-hook{position:relative;display:block;margin:auto;text-align:center;z-index:20002}ons-splitter,ons-splitter-content,ons-splitter-mask,ons-splitter-side{display:block;position:absolute;left:0;right:0;top:0;bottom:0;box-sizing:border-box;z-index:0}ons-splitter-mask{z-index:4;background-color:rgba(0,0,0,.1);display:none;opacity:0}ons-splitter-content{z-index:2}ons-splitter-side{right:auto;z-index:2}ons-splitter-side[side=right]{right:0;left:auto}ons-splitter-side[mode=collapse]{z-index:5;left:auto;right:100%}ons-splitter-side[side=right][mode=collapse]{right:auto;left:100%}ons-splitter-side[mode=split]{z-index:3}ons-toolbar-button>ons-icon[icon*=ion-]{font-size:26px}ons-range,ons-select{display:inline-block}ons-range>input{min-width:50px;width:100%}ons-select>select{width:100%}ons-carousel[disabled]{pointer-events:none;opacity:.75}ons-carousel[fullscreen]{height:100%}.ons-status-bar-mock{position:absolute;width:100%;height:20px;padding:0 16px 0 6px;box-sizing:border-box;z-index:30000;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;font-size:12px;line-height:20px;font-family:Arial,Helvetica}.ons-status-bar-mock i{padding:0 2px}.ons-status-bar-mock.android{color:#fff;background-color:#222;font-family:Roboto,Arial,Helvetica}.ons-status-bar-mock.android~*{top:20px;bottom:0;position:inherit;width:100%}.ons-ios-scroll-fix .page:not(.page--wrapper)[shown]>.page__content{overflow-y:hidden}.ons-ios-scroll-fix ons-splitter-side>.page:not(.page--wrapper)[shown]>.page__content{overflow-y:auto}ons-row{display:-webkit-flex;display:-moz-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;width:100%;box-sizing:border-box}ons-row[align=top],ons-row[vertical-align=top]{box-align:start;-webkit-align-items:flex-start;-moz-align-items:flex-start;align-items:flex-start}ons-row[align=bottom],ons-row[vertical-align=bottom]{box-align:end;-webkit-align-items:flex-end;-moz-align-items:flex-end;align-items:flex-end}ons-row[align=center],ons-row[vertical-align=center]{box-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;text-align:inherit}ons-row+ons-row{padding-top:0}ons-col{-webkit-flex:1;-moz-flex:1;flex:1;display:block;width:100%;box-sizing:border-box}ons-col[align=top],ons-col[vertical-align=top]{-webkit-align-self:flex-start;align-self:flex-start}ons-col[align=bottom],ons-col[vertical-align=bottom]{-webkit-align-self:flex-end;align-self:flex-end}ons-col[align=center],ons-col[vertical-align=center]{-webkit-align-self:center;-moz-align-self:center;-ms-flex-item-align:center;text-align:inherit}.ons-icon{display:inline-block;line-height:inherit;font-style:normal;font-weight:400;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.segment__button .ons-icon{line-height:normal;line-height:initial}:not(ons-toolbar-button):not(ons-action-sheet-button):not(.segment__button)>.ons-icon--ion{line-height:.75em;vertical-align:-25%}.ons-icon[spin]{-webkit-animation:ons-icon-spin 2s infinite linear;animation:ons-icon-spin 2s infinite linear}@-webkit-keyframes ons-icon-spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes ons-icon-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.ons-icon[rotate="90"]{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ons-icon[rotate="180"]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ons-icon[rotate="270"]{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.ons-icon[fixed-width]{width:1.28571429em;text-align:center}.ons-icon--lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.ons-icon--2x{font-size:2em}.ons-icon--3x{font-size:3em}.ons-icon--4x{font-size:4em}.ons-icon--5x{font-size:5em}.ons-icon.fa{font-family:'Font Awesome 5 Brands','Font Awesome 5 Free';font-weight:900}ons-checkbox,ons-input,ons-radio,ons-search-input{display:inline-block;position:relative}ons-input .text-input,ons-search-input .search-input{width:100%;display:inline-block}ons-input .text-input__label:not(.text-input--material__label){display:none}ons-input:not([float]) .text-input--material__label--active{display:none}ons-checkbox[disabled],ons-input[disabled],ons-radio[disabled],ons-search-input[disabled],ons-segment[disabled]{opacity:.5;pointer-events:none}ons-input input.text-input--material::-webkit-input-placeholder{color:transparent}ons-input input.text-input--material::-moz-placeholder{color:transparent}ons-input input.text-input--material:-ms-input-placeholder{color:transparent}@media (orientation:landscape){html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content{padding-right:0}html[onsflag-iphonex-landscape] ons-splitter-side[side=right] .page__content{padding-left:0}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .page__content>ons-progress-bar>.progress-bar{margin-left:-44px;margin-right:-44px;width:calc(100% + 88px)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] ons-splitter-side[side=right] .page__content>.list:not(.list--inset){margin-left:0}html[onsflag-iphonex-landscape] ons-splitter-side[side=right] .page__content>.list:not(.list--inset)>.list-header{padding-left:15px}html[onsflag-iphonex-landscape] ons-splitter-side[side=right] .page__content>.list:not(.list--inset)>.list-item{padding-left:14px}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset){margin-right:0}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset)>.list-item--chevron:before{right:16px}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset)>.list-item>.list-item__center:last-child{padding-right:6px}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset)>.list-item>.list-item__right{padding-right:12px}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset)>.list-item>.list-item--chevron__right{padding-right:30px}}ons-progress-bar{display:block}ons-progress-circular{display:inline-block;width:32px;height:32px}ons-progress-circular>svg.progress-circular{width:100%;height:100%}.ripple{display:block;position:absolute;overflow:hidden;top:0;left:0;right:0;bottom:0;pointer-events:none}.ripple__background{background:rgba(255,255,255,.2);position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none}.ripple__wave{background:rgba(255,255,255,.2);width:0;height:0;border-radius:50%;position:absolute;top:0;left:0;z-index:0;pointer-events:none}.button--material--flat .ripple__background,.button--material--flat .ripple__wave,ons-list-item .ripple__background,ons-list-item .ripple__wave{background:rgba(189,189,189,.3)}.ripple--light-gray__background,.ripple--light-gray__wave{background:rgba(189,189,189,.3)}.ons-swiper{overflow:hidden;display:block;box-sizing:border-box}.ons-swiper-target{display:-webkit-flex;display:flex;height:100%;z-index:1;-webkit-flex-direction:row;flex-direction:row}.ons-swiper-target--vertical{-webkit-flex-direction:column;flex-direction:column}.ons-swiper-target>*{height:inherit;-webkit-flex-shrink:0;flex-shrink:0;box-sizing:border-box;width:100%;position:relative!important}.ons-swiper-target.active:not(.swiping)>.page:not([shown]){visibility:hidden}.ons-swiper-tabbar .tabbar--material__button:after{display:none}.ons-swiper-blocker{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui-css/onsenui-fonts.css b/Server/www/spiderbasic/onsenui-css/onsenui-fonts.css new file mode 100644 index 0000000..ebf5d3c --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/onsenui-fonts.css @@ -0,0 +1,4 @@ +@import url("./ionicons/css/ionicons.min.css"); +@import url("./material-design-iconic-font/css/material-design-iconic-font.min.css"); +@import url("./font_awesome/css/all.min.css"); +@import url("./font_awesome/css/v4-shims.min.css"); diff --git a/Server/www/spiderbasic/onsenui-css/onsenui.min.css b/Server/www/spiderbasic/onsenui-css/onsenui.min.css new file mode 100644 index 0000000..f213288 --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/onsenui.min.css @@ -0,0 +1 @@ +@import url(ionicons/css/ionicons.min.css);@import url(material-design-iconic-font/css/material-design-iconic-font.min.css);@import url(font_awesome/css/all.min.css);@import url(font_awesome/css/v4-shims.min.css);ons-gesture-detector,ons-navigator,ons-page,ons-tabbar{display:block;touch-action:manipulation}ons-action-sheet,ons-alert-dialog,ons-dialog,ons-navigator,ons-splitter,ons-tabbar,ons-toast{position:absolute;top:0;left:0;bottom:0;right:0;overflow:hidden;touch-action:manipulation}ons-toast{pointer-events:none}ons-toast .toast{pointer-events:auto}ons-tab{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}ons-action-sheet,ons-alert-dialog,ons-dialog,ons-navigator,ons-page,ons-tabbar,ons-toast{z-index:2}ons-fab,ons-speed-dial{z-index:10001}ons-bottom-toolbar,ons-toolbar:not([inline]){position:absolute;left:0;right:0;z-index:10000}ons-toolbar:not([inline]){top:0}ons-bottom-toolbar{bottom:0}.page,.page--material,.page--material__content,.page__content{background-color:transparent!important;background:0 0!important}.page__content{overflow:auto;-webkit-overflow-scrolling:touch;z-index:0;-ms-touch-action:pan-y}.page.overflow-visible,.page.overflow-visible .page,.page.overflow-visible .page__content,.page.overflow-visible ons-navigator,.page.overflow-visible ons-splitter{overflow:visible}.page.overflow-visible .page__content.content-swiping,.page.overflow-visible .page__content.content-swiping .page,.page.overflow-visible .page__content.content-swiping .page__content{overflow:auto}.page[status-bar-fill]>.page__content{top:20px}.page[status-bar-fill]>.toolbar{padding-top:20px;box-sizing:content-box}.page[status-bar-fill]>.toolbar:not(.toolbar--cover-content)+.page__background+.page__content,.page[status-bar-fill]>.toolbar:not(.toolbar--transparent)+.page__background{top:64px}.page[status-bar-fill]>.toolbar--material:not(.toolbar--cover-content)+.page__background+.page__content,.page[status-bar-fill]>.toolbar--material:not(.toolbar-transparent)+.page__background{top:76px}.page[status-bar-fill]>.toolbar.toolbar--transparent+.page__background{top:0}ons-tabbar[status-bar-fill]>.tabbar--top__content{top:71px}ons-tabbar[status-bar-fill]>.tabbar--top{padding-top:22px}ons-tabbar[position=top] .page[status-bar-fill]>.page__content{top:0}.toolbar+.page__background+.page__content ons-tabbar[status-bar-fill]>.tabbar--top{top:0}.toolbar+.page__background+.page__content ons-tabbar[status-bar-fill]>.tabbar--top__content{top:49px}.page__content>.list:not(.list--material):first-child{margin-top:-1px}.page--wrapper>.page__background{display:none}ons-action-sheet[disabled],ons-alert-dialog[disabled],ons-dialog[disabled],ons-popover[disabled]{pointer-events:none;opacity:.75}ons-list-item[disabled]{pointer-events:none}ons-range[disabled]{opacity:.3;pointer-events:none}ons-pull-hook{position:relative;display:block;margin:auto;text-align:center;z-index:20002}ons-splitter,ons-splitter-content,ons-splitter-mask,ons-splitter-side{display:block;position:absolute;left:0;right:0;top:0;bottom:0;box-sizing:border-box;z-index:0}ons-splitter-mask{z-index:4;background-color:rgba(0,0,0,.1);display:none;opacity:0}ons-splitter-content{z-index:2}ons-splitter-side{right:auto;z-index:2}ons-splitter-side[side=right]{right:0;left:auto}ons-splitter-side[mode=collapse]{z-index:5;left:auto;right:100%}ons-splitter-side[side=right][mode=collapse]{right:auto;left:100%}ons-splitter-side[mode=split]{z-index:3}ons-toolbar-button>ons-icon[icon*=ion-]{font-size:26px}ons-range,ons-select{display:inline-block}ons-range>input{min-width:50px;width:100%}ons-select>select{width:100%}ons-carousel[disabled]{pointer-events:none;opacity:.75}ons-carousel[fullscreen]{height:100%}.ons-status-bar-mock{position:absolute;width:100%;height:20px;padding:0 16px 0 6px;box-sizing:border-box;z-index:30000;display:-webkit-flex;display:flex;-webkit-justify-content:space-between;justify-content:space-between;font-size:12px;line-height:20px;font-family:Arial,Helvetica}.ons-status-bar-mock i{padding:0 2px}.ons-status-bar-mock.android{color:#fff;background-color:#222;font-family:Roboto,Arial,Helvetica}.ons-status-bar-mock.android~*{top:20px;bottom:0;position:inherit;width:100%}.ons-ios-scroll-fix .page:not(.page--wrapper)[shown]>.page__content{overflow-y:hidden}.ons-ios-scroll-fix ons-splitter-side>.page:not(.page--wrapper)[shown]>.page__content{overflow-y:auto}ons-row{display:-webkit-flex;display:-moz-flex;display:flex;-webkit-flex-wrap:wrap;flex-wrap:wrap;width:100%;box-sizing:border-box}ons-row[align=top],ons-row[vertical-align=top]{box-align:start;-webkit-align-items:flex-start;-moz-align-items:flex-start;align-items:flex-start}ons-row[align=bottom],ons-row[vertical-align=bottom]{box-align:end;-webkit-align-items:flex-end;-moz-align-items:flex-end;align-items:flex-end}ons-row[align=center],ons-row[vertical-align=center]{box-align:center;-webkit-align-items:center;-moz-align-items:center;align-items:center;text-align:inherit}ons-row+ons-row{padding-top:0}ons-col{-webkit-flex:1;-moz-flex:1;flex:1;display:block;width:100%;box-sizing:border-box}ons-col[align=top],ons-col[vertical-align=top]{-webkit-align-self:flex-start;align-self:flex-start}ons-col[align=bottom],ons-col[vertical-align=bottom]{-webkit-align-self:flex-end;align-self:flex-end}ons-col[align=center],ons-col[vertical-align=center]{-webkit-align-self:center;-moz-align-self:center;-ms-flex-item-align:center;text-align:inherit}.ons-icon{display:inline-block;line-height:inherit;font-style:normal;font-weight:400;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.segment__button .ons-icon{line-height:normal;line-height:initial}:not(ons-toolbar-button):not(ons-action-sheet-button):not(.segment__button)>.ons-icon--ion{line-height:.75em;vertical-align:-25%}.ons-icon[spin]{-webkit-animation:ons-icon-spin 2s infinite linear;animation:ons-icon-spin 2s infinite linear}@-webkit-keyframes ons-icon-spin{0%{-webkit-transform:rotate(0)}100%{-webkit-transform:rotate(359deg)}}@keyframes ons-icon-spin{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.ons-icon[rotate="90"]{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.ons-icon[rotate="180"]{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.ons-icon[rotate="270"]{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.ons-icon[fixed-width]{width:1.28571429em;text-align:center}.ons-icon--lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.ons-icon--2x{font-size:2em}.ons-icon--3x{font-size:3em}.ons-icon--4x{font-size:4em}.ons-icon--5x{font-size:5em}.ons-icon.fa{font-family:'Font Awesome 5 Brands','Font Awesome 5 Free';font-weight:900}ons-checkbox,ons-input,ons-radio,ons-search-input{display:inline-block;position:relative}ons-input .text-input,ons-search-input .search-input{width:100%;display:inline-block}ons-input .text-input__label:not(.text-input--material__label){display:none}ons-input:not([float]) .text-input--material__label--active{display:none}ons-checkbox[disabled],ons-input[disabled],ons-radio[disabled],ons-search-input[disabled],ons-segment[disabled]{opacity:.5;pointer-events:none}ons-input input.text-input--material::-webkit-input-placeholder{color:transparent}ons-input input.text-input--material::-moz-placeholder{color:transparent}ons-input input.text-input--material:-ms-input-placeholder{color:transparent}@media (orientation:landscape){html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content{padding-right:0}html[onsflag-iphonex-landscape] ons-splitter-side[side=right] .page__content{padding-left:0}}@media (orientation:landscape){html[onsflag-iphonex-landscape] .page__content>ons-progress-bar>.progress-bar{margin-left:-44px;margin-right:-44px;width:calc(100% + 88px)}}@media (orientation:landscape){html[onsflag-iphonex-landscape] ons-splitter-side[side=right] .page__content>.list:not(.list--inset){margin-left:0}html[onsflag-iphonex-landscape] ons-splitter-side[side=right] .page__content>.list:not(.list--inset)>.list-header{padding-left:15px}html[onsflag-iphonex-landscape] ons-splitter-side[side=right] .page__content>.list:not(.list--inset)>.list-item{padding-left:14px}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset){margin-right:0}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset)>.list-item--chevron:before{right:16px}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset)>.list-item>.list-item__center:last-child{padding-right:6px}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset)>.list-item>.list-item__right{padding-right:12px}html[onsflag-iphonex-landscape] ons-splitter-side[side=left] .page__content>.list:not(.list--inset)>.list-item>.list-item--chevron__right{padding-right:30px}}ons-progress-bar{display:block}ons-progress-circular{display:inline-block;width:32px;height:32px}ons-progress-circular>svg.progress-circular{width:100%;height:100%}.ripple{display:block;position:absolute;overflow:hidden;top:0;left:0;right:0;bottom:0;pointer-events:none}.ripple__background{background:rgba(255,255,255,.2);position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;pointer-events:none}.ripple__wave{background:rgba(255,255,255,.2);width:0;height:0;border-radius:50%;position:absolute;top:0;left:0;z-index:0;pointer-events:none}.button--material--flat .ripple__background,.button--material--flat .ripple__wave,ons-list-item .ripple__background,ons-list-item .ripple__wave{background:rgba(189,189,189,.3)}.ripple--light-gray__background,.ripple--light-gray__wave{background:rgba(189,189,189,.3)}.ons-swiper{overflow:hidden;display:block;box-sizing:border-box}.ons-swiper-target{display:-webkit-flex;display:flex;height:100%;z-index:1;-webkit-flex-direction:row;flex-direction:row}.ons-swiper-target--vertical{-webkit-flex-direction:column;flex-direction:column}.ons-swiper-target>*{height:inherit;-webkit-flex-shrink:0;flex-shrink:0;box-sizing:border-box;width:100%;position:relative!important}.ons-swiper-target.active:not(.swiping)>.page:not([shown]){visibility:hidden}.ons-swiper-tabbar .tabbar--material__button:after{display:none}.ons-swiper-blocker{display:block;position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none} \ No newline at end of file diff --git a/Server/www/spiderbasic/onsenui.min.js b/Server/www/spiderbasic/onsenui.min.js new file mode 100644 index 0000000..22ae685 --- /dev/null +++ b/Server/www/spiderbasic/onsenui.min.js @@ -0,0 +1,11 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).ons=e()}(this,(function(){"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function e(e){for(var n=1;n=0||(a[n]=t[n]);return a}(t,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(a[n]=t[n])}return a}function d(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function h(t){var e=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var n,i=l(t);if(e){var a=l(this).constructor;n=Reflect.construct(i,arguments,a)}else n=i.apply(this,arguments);return function(t,e){if(e&&("object"==typeof e||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return d(t)}(this,n)}}function f(){return f="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,e,n){var i=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=l(t)););return t}(t,e);if(i){var a=Object.getOwnPropertyDescriptor(i,e);return a.get?a.get.call(arguments.length<3?t:n):a.value}},f.apply(this,arguments)}function p(t){return function(t){if(Array.isArray(t))return m(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return m(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);"Object"===n&&t.constructor&&(n=t.constructor.name);if("Map"===n||"Set"===n)return Array.from(t);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return m(t,e)}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n=7;if(/iPhone|iPad|iPod/i.test(navigator.userAgent)){var t=(navigator.userAgent.match(/\b[0-9]+_[0-9]+(?:_[0-9]+)?\b/)||[""])[0].replace(/_/g,".");return parseInt(t.split(".")[0])>=7}return!1}},{key:"isIPadOS",value:function(){return!(!/Macintosh/i.test(navigator.userAgent)||!navigator.maxTouchPoints||5!==navigator.maxTouchPoints)}},{key:"isIOSSafari",value:function(){var t=window.navigator,e=t.userAgent;return!(!this.isIOS()||-1===e.indexOf("Safari")||-1===e.indexOf("Version")||t.standalone)}},{key:"isWKWebView",value:function(){var t=/constructor/i.test(v);return!(!(this.isIOS()&&window.webkit&&window.webkit.messageHandlers&&window.indexedDB)||t)}},{key:"isAndroidPhone",value:function(){return/Android/i.test(navigator.userAgent)&&/Mobile/i.test(navigator.userAgent)}},{key:"isAndroidTablet",value:function(){return/Android/i.test(navigator.userAgent)&&!/Mobile/i.test(navigator.userAgent)}},{key:"isAndroid",value:function(t){return!t&&this._getSelectedPlatform()?"android"===this._getSelectedPlatform():"object"!==("undefined"==typeof device?"undefined":n(device))||/browser/i.test(device.platform)?/Android/i.test(navigator.userAgent):/Android/i.test(device.platform)}},{key:"isWP",value:function(t){return!t&&this._getSelectedPlatform()?"wp"===this._getSelectedPlatform():"object"!==("undefined"==typeof device?"undefined":n(device))||/browser/i.test(device.platform)?/Windows Phone|IEMobile|WPDesktop/i.test(navigator.userAgent):/Win32NT|WinCE/i.test(device.platform)}},{key:"isBlackBerry",value:function(t){return!t&&this._getSelectedPlatform()?"blackberry"===this._getSelectedPlatform():"object"!==("undefined"==typeof device?"undefined":n(device))||/browser/i.test(device.platform)?/BlackBerry|RIM Tablet OS|BB10/i.test(navigator.userAgent):/BlackBerry/i.test(device.platform)}},{key:"isOpera",value:function(t){return!t&&this._getSelectedPlatform()?"opera"===this._getSelectedPlatform():!!window.opera||navigator.userAgent.indexOf(" OPR/")>=0}},{key:"isFirefox",value:function(t){return!t&&this._getSelectedPlatform()?"firefox"===this._getSelectedPlatform():"undefined"!=typeof InstallTrigger}},{key:"isSafari",value:function(t){return!t&&this._getSelectedPlatform()?"safari"===this._getSelectedPlatform():Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0||"[object SafariRemoteNotification]"===(!window.safari||safari.pushNotification).toString()}},{key:"isChrome",value:function(t){return!t&&this._getSelectedPlatform()?"chrome"===this._getSelectedPlatform():!(!window.chrome||window.opera||navigator.userAgent.indexOf(" OPR/")>=0||navigator.userAgent.indexOf(" Edge/")>=0)}},{key:"isIE",value:function(t){return!t&&this._getSelectedPlatform()?"ie"===this._getSelectedPlatform():!!document.documentMode}},{key:"isEdge",value:function(t){return!t&&this._getSelectedPlatform()?"edge"===this._getSelectedPlatform():navigator.userAgent.indexOf(" Edge/")>=0}},{key:"getMobileOS",value:function(){return this.isAndroid()?"android":this.isIOS()?"ios":this.isWP()?"wp":"other"}},{key:"getIOSDevice",value:function(){return this.isIPhone()?"iphone":this.isIPad()?"ipad":this.isIPod()?"ipod":"na"}}]),t}(),b=new _;window.customElements&&(window.customElements.forcePolyfill=!0),function(){var t=new function(){},e=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function n(t){var n=e.has(t);return t=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(t),!n&&t}function i(t){var e=t.isConnected;if(void 0!==e)return e;for(;t&&!(t.__CE_isImportDocument||t instanceof Document);)t=t.parentNode||(window.ShadowRoot&&t instanceof ShadowRoot?t.host:void 0);return!(!t||!(t.__CE_isImportDocument||t instanceof Document))}function a(t,e){for(;e&&e!==t&&!e.nextSibling;)e=e.parentNode;return e&&e!==t?e.nextSibling:null}function o(t,e,n){n=n||new Set;for(var i=t;i;){if(i.nodeType===Node.ELEMENT_NODE){var r=i;e(r);var s=r.localName;if("link"===s&&"import"===r.getAttribute("rel")){if((i=r.import)instanceof Node&&!n.has(i))for(n.add(i),i=i.firstChild;i;i=i.nextSibling)o(i,e,n);i=a(t,r);continue}if("template"===s){i=a(t,r);continue}if(r=r.__CE_shadowRoot)for(r=r.firstChild;r;r=r.nextSibling)o(r,e,n)}i=i.firstChild?i.firstChild:a(t,i)}}function r(t,e,n){t[e]=n}function s(){this.a=new Map,this.f=new Map,this.c=[],this.b=!1}function l(t,e){t.b=!0,t.c.push(e)}function c(t,e){t.b&&o(e,(function(e){return u(t,e)}))}function u(t,e){if(t.b&&!e.__CE_patched){e.__CE_patched=!0;for(var n=0;n0){var o=g(i[a-1],t);if(o)return void(i[a-1]=o)}else n=this.observer,l.push(n),s||(s=!0,e(u));i[a]=t},addListeners:function(){this.addListeners_(this.target)},addListeners_:function(t){var e=this.options;e.attributes&&t.addEventListener("DOMAttrModified",this,!0),e.characterData&&t.addEventListener("DOMCharacterDataModified",this,!0),e.childList&&t.addEventListener("DOMNodeInserted",this,!0),(e.childList||e.subtree)&&t.addEventListener("DOMNodeRemoved",this,!0)},removeListeners:function(){this.removeListeners_(this.target)},removeListeners_:function(t){var e=this.options;e.attributes&&t.removeEventListener("DOMAttrModified",this,!0),e.characterData&&t.removeEventListener("DOMCharacterDataModified",this,!0),e.childList&&t.removeEventListener("DOMNodeInserted",this,!0),(e.childList||e.subtree)&&t.removeEventListener("DOMNodeRemoved",this,!0)},addTransientObserver:function(t){if(t!==this.target){this.addListeners_(t),this.transientObservedNodes.push(t);var e=n.get(t);e||n.set(t,e=[]),e.push(this)}},removeTransientObservers:function(){var t=this.transientObservedNodes;this.transientObservedNodes=[],t.forEach((function(t){this.removeListeners_(t);for(var e=n.get(t),i=0;i1&&void 0!==arguments[1]?arguments[1]:"").split(/\s+/).reduce((function(t,e){return t.concat([Y.hyphenate(e),w(e)])}),[]),n=[],i=function(){var i=t.style[a];(0===e.length||e.some((function(t){return 0===i.indexOf(t)})))&&n.push(i)},a=t.style.length-1;a>=0;a--)i();n.forEach((function(e){return t.style[e]=""})),""===t.getAttribute("style")&&t.removeAttribute("style")};var C=!0,A={quiet:"material--flat",light:"material--flat",outline:"material--flat",cta:"","large--quiet":"material--flat large","large--cta":"large",noborder:"",tappable:""},S={android:function(t){var e=t.tagName.toLowerCase();if(!Y.hasModifier(t,"material")){var n=(t.getAttribute("modifier")||"").trim().split(/\s+/).map((function(t){return Object.prototype.hasOwnProperty.call(A,t)?A[t]:t}));n.unshift("material"),t.setAttribute("modifier",n.join(" ").trim())}-1===["ons-alert-dialog-button","ons-toolbar-button","ons-back-button","ons-button","ons-list-item","ons-fab","ons-speed-dial","ons-speed-dial-item","ons-tab"].indexOf(e)||t.hasAttribute("ripple")||t.querySelector("ons-ripple")||("ons-list-item"===e?t.hasAttribute("tappable")&&(t.setAttribute("ripple",""),t.removeAttribute("tappable")):t.setAttribute("ripple",""))},ios:function(t){Y.removeModifier(t,"material")&&(Y.removeModifier(t,"material--flat")&&Y.addModifier(t,Y.removeModifier(t,"large")?"large--quiet":"quiet"),t.getAttribute("modifier")||t.removeAttribute("modifier")),t.hasAttribute("ripple")&&("ons-list-item"===t.tagName.toLowerCase()&&t.setAttribute("tappable",""),t.removeAttribute("ripple"))}},x={android:!0},P=function(t,e){if(C&&!t.hasAttribute("disable-auto-styling")){var n=b.getMobileOS();if(Object.prototype.hasOwnProperty.call(S,n)&&(Object.prototype.hasOwnProperty.call(x,n)||e))return n}return null},L=function(t,e,n){return P(e,n)?t.split(/\s+/).map((function(t){return Object.prototype.hasOwnProperty.call(A,t)?A[t]:t})).join(" "):t},O={isEnabled:function(){return C},enable:function(){return C=!0},disable:function(){return C=!1},prepare:function(t,e){var n=P(t,e);n&&S[n](t)},mapModifier:L,getPlatform:P,restoreModifier:function(t){if("android"===P(t)){var e=t.getAttribute("modifier")||"",n=L(e,t);if(/(^|\s+)material($|\s+)/i.test(e)||(n="material "+n),n!==e)return t.setAttribute("modifier",n.trim()),!0}return!1}},M=function(){function t(){i(this,t)}return o(t,null,[{key:"diff",value:function(e,n){e=a((""+e).trim()),n=a((""+n).trim());var i=Object.keys(e).reduce((function(t,e){return n[e]||t.push(e),t}),[]);return{added:Object.keys(n).reduce((function(t,n){return e[n]||t.push(n),t}),[]),removed:i};function a(e){var n={};return t.split(e).forEach((function(t){return n[t]=t})),n}}},{key:"applyDiffToClassList",value:function(t,e,n){t.added.map((function(t){return n.replace(/\*/g,t)})).forEach((function(t){return t.split(/\s+/).forEach((function(t){return e.add(t)}))})),t.removed.map((function(t){return n.replace(/\*/g,t)})).forEach((function(t){return t.split(/\s+/).forEach((function(t){return e.remove(t)}))}))}},{key:"applyDiffToElement",value:function(e,n,i){Object.keys(i).forEach((function(a){for(var o=!a||Y.match(n,a)?[n]:Array.prototype.filter.call(n.querySelectorAll(a),(function(t){return!Y.findParent(t,n.tagName,(function(t){return t===n}))})),r=0;r0;)if(n=i,i=z(t),t=t.slice(i.length,t.length).trim(),":"===i&&(!s||!n||","===n)||","===i&&s||":"!==i&&","!==i&&n&&","!==n&&":"!==n)H(i,t,o);else if(":"===i&&s&&n){if(!a(n=R(n)?D(n):n))throw new Error("Invalid key token '"+n+"' at position 0 in string: '"+o+"'");e=n,s=!1}else","===i&&!s&&n&&(r[e]=q(n,t,o),s=!0);return i&&(r[e]=q(i,t,o)),r},j=function(t){for(var e,n,i=t=t.trim(),a=[];t.length>0;)e=n,n=z(t),t=t.slice(n.length,t.length).trim(),","!==n||e&&","!==e?","===n&&a.push(q(e,t,i)):H(n,t,i);return n&&(","!==n?a.push(q(n,t,i)):H(n,t,i)),a},V={},W="[Onsen UI]";V.globals={fabOffset:0,errorPrefix:W,supportsPassive:!1},b._runOnActualPlatform((function(){V.globals.actualMobileOS=b.getMobileOS(),V.globals.isWKWebView=b.isWKWebView()}));try{var X=Object.defineProperty({},"passive",{get:function(){V.globals.supportsPassive=!0}});window.addEventListener("testPassive",null,X),window.removeEventListener("testPassive",null,X)}catch(t){}V.addEventListener=function(t,e,n,i,a){t.addEventListener(e,n,V.globals.supportsPassive?i:(i||{}).capture)},V.removeEventListener=function(t,e,n,i,a){t.removeEventListener(e,n,V.globals.supportsPassive?i:(i||{}).capture)},V.prepareQuery=function(t){return t instanceof Function?t:function(e){return V.match(e,t)}},V.match=function(t,e){return(t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.msMatchesSelector).call(t,e)},V.findChild=function(t,e){for(var n=V.prepareQuery(e),i=0;i1&&void 0!==arguments[1]?arguments[1]:{},e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").split("."),n=document.createElement(e.shift()||"div");return e.length&&(n.className=e.join(" ")),E(n,t),n},V.createElement=function(t){var e=document.createElement("div");t instanceof DocumentFragment?e.appendChild(document.importNode(t,!0)):e.innerHTML=t.trim(),e.children.length>1&&V.throw("HTML template must contain a single root element");var n=e.children[0];return e.children[0].remove(),n},V.createFragment=function(t){var e=document.createElement("template");return e.innerHTML=t,document.importNode(e.content,!0)},V.extend=function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:{};try{var i=JSON.parse(""+t);if("object"===n(i)&&null!==i)return i}catch(t){return e}return e},V.findFromPath=function(t){t=t.split(".");for(var e,n=window;e=t.shift();)n=n[e];return n},V.getTopPage=function(t){return t&&("ons-page"===t.tagName.toLowerCase()?t:t.topPage)||null},V.findToolbarPage=function(t){var e=V.getTopPage(t);if(e){if(e._canAnimateToolbar())return e;for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{},i=new CustomEvent(e,{bubbles:!0,cancelable:!0,detail:n});return Object.keys(n).forEach((function(t){i[t]=n[t]})),t.dispatchEvent(i),i},V.hasModifier=function(t,e){return!!t.hasAttribute("modifier")&&RegExp("(^|\\s+)".concat(e,"($|\\s+)"),"i").test(t.getAttribute("modifier"))},V.addModifier=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.autoStyle&&(e=O.mapModifier(e,t,n.forceAutoStyle)),!V.hasModifier(t,e)&&(t.setAttribute("modifier",((t.getAttribute("modifier")||"")+" "+e).trim()),!0)},V.removeModifier=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(n.autoStyle&&(e=O.mapModifier(e,t,n.forceAutoStyle)),!t.getAttribute("modifier")||!V.hasModifier(t,e))return!1;var i=t.getAttribute("modifier").split(/\s+/).filter((function(t){return t&&t!==e}));return i.length?t.setAttribute("modifier",i.join(" ")):t.removeAttribute("modifier"),!0},V.toggleModifier=function(){var t=arguments.length>2?arguments.length<=2?void 0:arguments[2]:{},e="boolean"==typeof t?t:t.force;("boolean"==typeof e?e:!V.hasModifier.apply(V,arguments))?V.addModifier.apply(V,arguments):V.removeModifier.apply(V,arguments)},V.restoreClass=function(t,e,n){e.split(/\s+/).forEach((function(e){return""!==e&&!t.classList.contains(e)&&t.classList.add(e)})),t.hasAttribute("modifier")&&M.refresh(t,n)},V.updateParentPosition=function(t){!t._parentUpdated&&t.parentElement&&("static"===window.getComputedStyle(t.parentElement).getPropertyValue("position")&&(t.parentElement.style.position="relative"),t._parentUpdated=!0)},V.toggleAttribute=function(t,e,n){n?t.setAttribute(e,"boolean"==typeof n?"":n):t.removeAttribute(e)},V.bindListeners=function(t,e){e.forEach((function(e){var n=e.replace(/^_[a-z]/,"_bound"+e[1].toUpperCase());t[n]=t[n]||t[e].bind(t)}))},V.each=function(t,e){return Object.keys(t).forEach((function(n){return e(n,t[n])}))},V.updateRipple=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};void 0===e&&(e=t.hasAttribute("ripple"));var i=V.findChild(t,"ons-ripple");if(e){if(!i){var a=document.createElement("ons-ripple");Object.keys(n).forEach((function(t){return a.setAttribute(t,n[t])})),t.insertBefore(a,t.firstChild)}}else i&&i.remove()},V.animationOptionsParse=function(t){if(t=t.trim(),N(t))return F(D(t));if(B(t))return j(D(t));throw new Error("Provided string must be object or array like: "+t)},V.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t},V.defer=function(){var t={};return t.promise=new Promise((function(e,n){t.resolve=e,t.reject=n})),t},V.warn=function(){if(!Q.config.warningsDisabled){for(var t,e=arguments.length,n=new Array(e),i=0;i2&&void 0!==arguments[2]&&arguments[2];"string"!=typeof t?G("Variable name must be a string"):"string"!=typeof e&&"function"!=typeof e?G("Variable value must be a string or a function"):Object.prototype.hasOwnProperty.call(this._variables,t)&&!n&&G('"'.concat(t,'" is already defined')),this._variables[t]=e},getVariable:function(t){return Object.prototype.hasOwnProperty.call(this._variables,t)?this._variables[t]:null},removeVariable:function(t){delete this._variables[t]},getAllVariables:function(){return this._variables},_parsePart:function(t){var e,n=!1,i=0,a=[];0===t.length&&G("Unable to parse empty string");for(var o=0;o0&&a.push(t.substring(i,o)),i=o,n=!0;else if("}"===e){n||G("} must be preceeded by ${"),t.substring(i,o+1).length>0&&a.push(t.substring(i,o+1)),i=o+1,n=!1}}return n&&G("Unterminated interpolation"),a.push(t.substring(i,t.length)),a},_replaceToken:function(t){var e=t.match(/^\${(.*?)}$/);if(!e)return t;var n=e[1].trim(),i=this.getVariable(n);if(null!==i){if("string"==typeof i)return i;var a=i();return"string"!=typeof a&&G("Must return a string"),a}G('Variable "'.concat(n,'" does not exist'))},_replaceTokens:function(t){return t.map(this._replaceToken.bind(this))},_parseExpression:function(t){return t.split(",").map((function(t){return t.trim()})).map(this._parsePart.bind(this)).map(this._replaceTokens.bind(this)).map((function(t){return t.join("")}))},evaluate:function(t){return t?this._parseExpression(t):[]}};K.defineVariable("mobileOS",b.getMobileOS()),K.defineVariable("iOSDevice",b.getIOSDevice()),K.defineVariable("runtime",(function(){return b.isWebView()?"cordova":"browser"}));var J={config:{autoStatusBarFill:!0,animationsDisabled:!1,warningsDisabled:!1}};J.nullElement=window.document.createElement("div"),J.isEnabledAutoStatusBarFill=function(){return!!J.config.autoStatusBarFill},J.normalizePageHTML=function(t){return(""+t).trim()},J.waitDOMContentLoaded=function(t){if("loading"===window.document.readyState||"uninitialized"==window.document.readyState){window.document.addEventListener("DOMContentLoaded",(function e(){t(),window.document.removeEventListener("DOMContentLoaded",e)}))}else setImmediate(t)},J.autoStatusBarFill=function(t){var e=function e(){J.shouldFillStatusBar()&&t(),document.removeEventListener("deviceready",e)};"object"===("undefined"==typeof device?"undefined":n(device))?document.addEventListener("deviceready",e):-1===["complete","interactive"].indexOf(document.readyState)?J.waitDOMContentLoaded(e):e()},J.shouldFillStatusBar=function(){return J.isEnabledAutoStatusBarFill()&&(b.isWebView()&&(b.isIOS7above()||b.isIPadOS())&&!b.isIPhoneX()||document.body.querySelector(".ons-status-bar-mock.ios"))},J.templateStore={_storage:{},get:function(t){return J.templateStore._storage[t]||null},set:function(t,e){J.templateStore._storage[t]=e}},J.getTemplateHTMLAsync=function(t){return new Promise((function(e,n){J.waitDOMContentLoaded((function(){var i=J.templateStore.get(t);if(i){if(i instanceof DocumentFragment)return e(i);var a="string"==typeof i?i:i[1];return e(J.normalizePageHTML(a))}var o=window.document.getElementById(t);if(o){var r=o.textContent||o.content;return e(r)}var s=new XMLHttpRequest;s.open("GET",t,!0),s.onload=function(){var i=s.responseText;if(s.status>=400&&s.status<600)404===s.status?n(404):n(i);else{var a=Y.createFragment(i);Y.arrayFrom(a.querySelectorAll("script")).forEach((function(t){var e=document.createElement("script");e.type=t.type||"text/javascript",e.appendChild(document.createTextNode(t.text||t.textContent||t.innerHTML)),t.parentNode.replaceChild(e,t)})),J.templateStore.set(t,a),e(a)}},s.onerror=function(){Y.throw("Page template not found: ".concat(t))},s.send(null)}))}))},J.getPageHTMLAsync=function(t){var e=K.evaluate(t);return function t(n){return"string"!=typeof n?Promise.reject("Must specify a page."):J.getTemplateHTMLAsync(n).catch((function(n){return 0===e.length?Promise.reject(n):t(e.shift())}))}(e.shift())};var Q=J,Z=function(){function t(e){i(this,t),this._animators=e.animators,this._baseClass=e.baseClass,this._baseClassName=e.baseClassName||e.baseClass.name,this._animation=e.defaultAnimation||"default",this._animationOptions=e.defaultAnimationOptions||{},this._animators[this._animation]||Y.throw("No such animation: "+this._animation)}return o(t,[{key:"setAnimationOptions",value:function(t){this._animationOptions=t}},{key:"newAnimator",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0,n=null;if(t.animation instanceof this._baseClass)return t.animation;var i=null;if("string"==typeof t.animation&&(i=this._animators[t.animation]),!i&&e)n=e;else{i=i||this._animators[this._animation];var a=Y.extend({},this._animationOptions,t.animationOptions||{},Q.config.animationsDisabled?{duration:0,delay:0}:{});"function"==typeof(n=new i(a))&&(n=new n(a))}return n instanceof this._baseClass||Y.throw('"animator" is not an instance of '.concat(this._baseClassName)),n}}],[{key:"parseAnimationOptionsString",value:function(t){try{if("string"==typeof t){var e=Y.animationOptionsParse(t);if("object"===n(e)&&null!==e)return e;console.error('"animation-options" attribute must be a JSON object string: '+t)}return{}}catch(e){return console.error('"animation-options" attribute must be a JSON object string: '+t),{}}}}]),t}(),tt={_ready:!1,_domContentLoaded:!1,_onDOMContentLoaded:function(){tt._domContentLoaded=!0,b.isWebView()?window.document.addEventListener("deviceready",(function(){tt._ready=!0}),!1):tt._ready=!0},addBackButtonListener:function(t){if(!this._domContentLoaded)throw new Error("This method is available after DOMContentLoaded");this._ready?window.document.addEventListener("backbutton",t,!1):window.document.addEventListener("deviceready",(function(){window.document.addEventListener("backbutton",t,!1)}))},removeBackButtonListener:function(t){if(!this._domContentLoaded)throw new Error("This method is available after DOMContentLoaded");this._ready?window.document.removeEventListener("backbutton",t,!1):window.document.addEventListener("deviceready",(function(){window.document.removeEventListener("backbutton",t,!1)}))}};window.addEventListener("DOMContentLoaded",(function(){return tt._onDOMContentLoaded()}),!1);var et,nt={_store:{},_genId:(et=0,function(){return et++}),set:function(t,e){t.dataset.deviceBackButtonHandlerId&&this.remove(t);var n=t.dataset.deviceBackButtonHandlerId=nt._genId();this._store[n]=e},remove:function(t){t.dataset.deviceBackButtonHandlerId&&(delete this._store[t.dataset.deviceBackButtonHandlerId],delete t.dataset.deviceBackButtonHandlerId)},get:function(t){if(t.dataset.deviceBackButtonHandlerId){var e=t.dataset.deviceBackButtonHandlerId;if(!this._store[e])throw new Error;return this._store[e]}},has:function(t){if(!t.dataset)return!1;var e=t.dataset.deviceBackButtonHandlerId;return!!this._store[e]}},it=function(){function t(){i(this,t),this._isEnabled=!1,this._boundCallback=this._callback.bind(this)}return o(t,[{key:"enable",value:function(){this._isEnabled||(tt.addBackButtonListener(this._boundCallback),this._isEnabled=!0)}},{key:"disable",value:function(){this._isEnabled&&(tt.removeBackButtonListener(this._boundCallback),this._isEnabled=!1)}},{key:"fireDeviceBackButtonEvent",value:function(){var t=document.createEvent("Event");t.initEvent("backbutton",!0,!0),document.dispatchEvent(t)}},{key:"_callback",value:function(){this._dispatchDeviceBackButtonEvent()}},{key:"createHandler",value:function(t,e){if(!(t instanceof HTMLElement))throw new Error("element must be an instance of HTMLElement");if(!(e instanceof Function))throw new Error("callback must be an instance of Function");var n={_callback:e,_element:t,disable:function(){nt.remove(t)},setListener:function(t){this._callback=t},enable:function(){nt.set(t,this)},isEnabled:function(){return nt.get(t)===this},destroy:function(){nt.remove(t),this._callback=this._element=null}};return n.enable(),n}},{key:"_dispatchDeviceBackButtonEvent",value:function(){var t=this._captureTree(),e=this._findHandlerLeafElement(t),n=nt.get(e);n._callback(function t(e){return{_element:e,callParentHandler:function(){for(var e=this._element.parentNode;e;){if(n=nt.get(e))return n._callback(t(e));e=e.parentNode}}}}(e))}},{key:"_captureTree",value:function(){return function e(n){var i={element:n,children:Array.prototype.concat.apply([],t(n.children).map((function(t){if("none"===t.style.display||!1===t._isShown)return[];if(0===t.children.length&&!nt.has(t))return[];var n=e(t);return 0!==n.children.length||nt.has(n.element)?[n]:[]})))};if(!nt.has(i.element))for(var a=0;ai?t:e;throw new Error("Capturing backbutton-handler is failure.")}),null)}(t)}}]),t}(),at=new it;Q.AnimatorFactory=Z,Q.ModifierUtil=M,Q.dbbDispatcher=at;var ot,rt,st={};st.capitalize=function(t){return t.charAt(0).toUpperCase()+t.slice(1)},st.buildTransitionValue=function(t){return t.property=t.property||"all",t.duration=t.duration||.4,t.timing=t.timing||"linear",t.property.split(/ +/).map((function(e){return e+" "+t.duration+"s "+t.timing})).join(", ")},st.onceOnTransitionEnd=function(t,e){if(!t)return function(){};var n=function(){st._transitionEndEvents.forEach((function(e){t.removeEventListener(e,i,!1)}))},i=function(i){t==i.target&&(i.stopPropagation(),n(),e())};return st._transitionEndEvents.forEach((function(e){t.addEventListener(e,i,!1)})),n},st._transitionEndEvents="ontransitionend"in window?["transitionend"]:"onwebkittransitionend"in window?["webkitTransitionEnd"]:"webkit"===st.vendorPrefix||"o"===st.vendorPrefix||"moz"===st.vendorPrefix||"ms"===st.vendorPrefix?[st.vendorPrefix+"TransitionEnd","transitionend"]:[],st._cssPropertyDict=function(){for(var t=window.getComputedStyle(document.documentElement,""),e={},n="A".charCodeAt(0),i="z".charCodeAt(0),a=function(t){return t.substr(1).toUpperCase()},o=0;o=r.charCodeAt(0)&&"cssText"!==r&&"parentText"!==r&&(e[r]=!0)}return e}(),st.hasCssProperty=function(t){return t in st._cssPropertyDict},st.vendorPrefix=(ot=window.getComputedStyle(document.documentElement,""),(Array.prototype.slice.call(ot).join("").match(/-(moz|webkit|ms)-/)||""===ot.OLink&&["","o"])[1]),st.forceLayoutAtOnce=function(t,e){this.batchImmediate((function(){t.forEach((function(t){t.offsetHeight})),e()}))},st.batchImmediate=(rt=[],function(t){0===rt.length&&setImmediate((function(){var t=rt.slice(0);rt=[],t.forEach((function(t){t()}))})),rt.push(t)}),st.batchAnimationFrame=function(){var t=[],e=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){setTimeout(t,1e3/60)};return function(n){0===t.length&&e((function(){var e=t.slice(0);t=[],e.forEach((function(t){t()}))})),t.push(n)}}(),st.transitionPropertyName=function(){if(st.hasCssProperty("transitionDuration"))return"transition";if(st.hasCssProperty(st.vendorPrefix+"TransitionDuration"))return st.vendorPrefix+"Transition";throw new Error("Invalid state")}();var lt,ct,ut,dt,ht=function t(e,n){if(!(this instanceof t))return new t(e,n);if(e instanceof HTMLElement)this.elements=[e];else{if("[object Array]"!==Object.prototype.toString.call(e))throw new Error("First argument must be an array or an instance of HTMLElement.");this.elements=e}this.defaults=n,this.transitionQueue=[],this.lastStyleAttributeDict=[]};ht.prototype={transitionQueue:void 0,elements:void 0,defaults:void 0,play:function(t){return"function"==typeof t&&this.transitionQueue.push((function(e){t(),e()})),this.startAnimation(),this},default:function(t,e,n){function i(t,e,n){return void 0!==t.duration&&(e=t.duration),void 0!==t.timing&&(n=t.timing),{css:t.css||t,duration:e,timing:n}}return this.saveStyle().queue(i(t,0,this.defaults.timing)).wait(void 0===n?this.defaults.delay:n).queue(i(e,this.defaults.duration,this.defaults.timing)).restoreStyle()},queue:function(t,e){var n=this.transitionQueue;if(t&&e&&(e.css=t,t=new ht.Transition(e)),t instanceof Function||t instanceof ht.Transition||(t=t.css?new ht.Transition(t):new ht.Transition({css:t})),t instanceof Function)n.push(t);else{if(!(t instanceof ht.Transition))throw new Error("Invalid arguments");n.push(t.build())}return this},wait:function(t){return t>0&&this.transitionQueue.push((function(e){setTimeout(e,1e3*t)})),this},saveStyle:function(){return this.transitionQueue.push(function(t){this.elements.forEach(function(t,e){for(var n=this.lastStyleAttributeDict[e]={},i=0;i0){var i=t.transition||"all "+t.duration+"s "+(t.timing||"linear");this.transitionQueue.push((function(a){var o,r=this.elements,s=function(){r.forEach((function(t){t.style[n]=""}))},l=st.onceOnTransitionEnd(r[0],(function(){clearTimeout(o),s(),a()}));o=setTimeout((function(){l(),s(),a()}),1e3*t.duration*1.4),r.forEach((function(t,a){var o,r=e.lastStyleAttributeDict[a];if(!r)throw new Error("restoreStyle(): The style is not saved. Invoke saveStyle() before.");e.lastStyleAttributeDict[a]=void 0;for(var s=0,l=t.style.length;s0){var e=st.buildTransitionValue(this.options),n=this;return function(i){var a,o=this.elements,r=1e3*n.options.duration*1.4,s=st.onceOnTransitionEnd(o[0],(function(){clearTimeout(a),i()}));a=setTimeout((function(){s(),i()}),r),o.forEach((function(n){n.style[st.transitionPropertyName]=e,Object.keys(t).forEach((function(e){n.style[e]=t[e]}))}))}}if(this.options.duration<=0)return function(e){var n=this.elements;n.forEach((function(e){e.style[st.transitionPropertyName]="",Object.keys(t).forEach((function(n){e.style[n]=t[n]}))})),n.length>0?st.forceLayoutAtOnce(n,(function(){st.batchAnimationFrame(e)})):st.batchAnimationFrame(e)}}};var ft=function t(e,n){return new t.Instance(e,n||{})};ft.defaults={behavior:{touchAction:"pan-y",touchCallout:"none",contentZooming:"none",userDrag:"none",tapHighlightColor:"rgba(0,0,0,0)"}},ft.DOCUMENT=document,ft.HAS_POINTEREVENTS=navigator.pointerEnabled||navigator.msPointerEnabled,ft.HAS_TOUCHEVENTS="ontouchstart"in window,ft.IS_MOBILE=/mobile|tablet|ip(ad|hone|od)|android|silk/i.test(navigator.userAgent),ft.NO_MOUSEEVENTS=ft.HAS_TOUCHEVENTS&&ft.IS_MOBILE||ft.HAS_POINTEREVENTS,ft.CALCULATE_INTERVAL=25;var pt,mt,gt,vt,_t={},bt=ft.DIRECTION_DOWN="down",yt=ft.DIRECTION_LEFT="left",kt=ft.DIRECTION_UP="up",wt=ft.DIRECTION_RIGHT="right",Et=ft.POINTER_MOUSE="mouse",Ct=ft.POINTER_TOUCH="touch",At=ft.POINTER_PEN="pen",St=ft.EVENT_START="start",xt=ft.EVENT_MOVE="move",Pt=ft.EVENT_END="end",Lt=ft.EVENT_RELEASE="release",Ot=ft.EVENT_TOUCH="touch";function Mt(t){gt.set(t,!0)}function Tt(t){var e=vt.get(t,[])||[];vt.delete(t),e.forEach((function(t){return t()}))}function It(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){};(void 0===gt&&(gt=new WeakMap,vt=new WeakMap),function(t,e){vt.has(t)||vt.set(t,[]),vt.get(t).push(e)}(t,e),function(t){return t.childNodes.length>0&&Mt(t),gt.has(t)}(t))?Tt(t):(new MutationObserver((function(e){Mt(t),Tt(t)})).observe(t,{childList:!0,characterData:!0}),setImmediate((function(){Mt(t),Tt(t)})))}ft.READY=!1,ft.plugins=ft.plugins||{},ft.gestures=ft.gestures||{},ct=ft.utils={extend:function(t,e,n){for(var i in e)!Object.prototype.hasOwnProperty.call(e,i)||void 0!==t[i]&&n||(t[i]=e[i]);return t},on:function(t,e,n,i){Y.addEventListener(t,e,n,i,!0)},off:function(t,e,n,i){Y.removeEventListener(t,e,n,i,!0)},each:function(t,e,n){var i,a;if("forEach"in t)t.forEach(e,n);else if(void 0!==t.length){for(i=0,a=t.length;i-1},inArray:function(t,e,n){if(n){for(var i=0,a=t.length;i=Math.abs(t.clientY-e.clientY)?t.clientX-e.clientX>0?yt:wt:t.clientY-e.clientY>0?kt:bt},getDistance:function(t,e){var n=e.clientX-t.clientX,i=e.clientY-t.clientY;return Math.sqrt(n*n+i*i)},getScale:function(t,e){return t.length>=2&&e.length>=2?this.getDistance(e[0],e[1])/this.getDistance(t[0],t[1]):1},getRotation:function(t,e){return t.length>=2&&e.length>=2?this.getAngle(e[1],e[0])-this.getAngle(t[1],t[0]):0},isVertical:function(t){return t==kt||t==bt},setPrefixedCss:function(t,e,n,i){var a=["","Webkit","Moz","O","ms"];e=ct.toCamelCase(e);for(var o=0;o0&&this.started&&(r=xt),this.started=!0;var c=this.collectEventData(n,r,a,t);return e!=Pt&&i.call(ut,c),s&&(c.changedLength=l,c.eventType=s,i.call(ut,c),c.eventType=r,delete c.changedLength),r==Pt&&(i.call(ut,c),this.started=!1),r},determineEventTypes:function(){var t;return t=ft.HAS_POINTEREVENTS?window.PointerEvent?["pointerdown","pointermove","pointerup pointercancel lostpointercapture"]:["MSPointerDown","MSPointerMove","MSPointerUp MSPointerCancel MSLostPointerCapture"]:ft.NO_MOUSEEVENTS?["touchstart","touchmove","touchend touchcancel"]:["touchstart mousedown","touchmove mousemove","touchend touchcancel mouseup"],_t[St]=t[0],_t[xt]=t[1],_t[Pt]=t[2],_t},getTouchList:function(t,e){if(ft.HAS_POINTEREVENTS)return dt.getTouchList();if(t.touches){if(e==xt)return t.touches;var n=[],i=[].concat(ct.toArray(t.touches),ct.toArray(t.changedTouches)),a=[];return ct.each(i,(function(t){-1===ct.inArray(n,t.identifier)&&a.push(t),n.push(t.identifier)})),a}return t.identifier=1,[t]},collectEventData:function(t,e,n,i){var a=Ct;return ct.inStr(i.type,"mouse")||dt.matchType(Et,i)?a=Et:dt.matchType(At,i)&&(a=At),{center:ct.getCenter(n),timeStamp:Date.now(),target:i.target,touches:n,eventType:e,pointerType:a,srcEvent:i,preventDefault:function(){var t=this.srcEvent;t.preventManipulation&&t.preventManipulation(),t.preventDefault&&t.preventDefault()},stopPropagation:function(){this.srcEvent.stopPropagation()},stopDetect:function(){return ut.stopDetect()}}}},dt=ft.PointerEvent={pointers:{},getTouchList:function(){var t=[];return ct.each(this.pointers,(function(e){t.push(e)})),t},updatePointer:function(t,e){t==Pt||t!=Pt&&1!==e.buttons?delete this.pointers[e.pointerId]:(e.identifier=e.pointerId,this.pointers[e.pointerId]=e)},matchType:function(t,e){if(!e.pointerType)return!1;var n=e.pointerType,i={};return i[Et]=n===(e.MSPOINTER_TYPE_MOUSE||Et),i[Ct]=n===(e.MSPOINTER_TYPE_TOUCH||Ct),i[At]=n===(e.MSPOINTER_TYPE_PEN||At),i[t]},reset:function(){this.pointers={}}},ut=ft.detection={gestures:[],current:null,previous:null,stopped:!1,startDetect:function(t,e){this.current||(this.stopped=!1,this.current={inst:t,startEvent:ct.extend({},e),lastEvent:!1,lastCalcEvent:!1,futureCalcEvent:!1,lastCalcData:{},name:""},this.detect(e))},detect:function(t){if(this.current&&!this.stopped){t=this.extendEventData(t);var e=this.current.inst,n=e.options;return ct.each(this.gestures,(function(i){!this.stopped&&e.enabled&&n[i.name]&&i.handler.call(i,t,e)}),this),this.current&&(this.current.lastEvent=t),t.eventType==Pt&&this.stopDetect(),t}},stopDetect:function(){this.previous=ct.extend({},this.current),this.current=null,this.stopped=!0},getCalculatedData:function(t,e,n,i,a){var o=this.current,r=!1,s=o.lastCalcEvent,l=o.lastCalcData;s&&t.timeStamp-s.timeStamp>ft.CALCULATE_INTERVAL&&(e=s.center,n=t.timeStamp-s.timeStamp,i=t.center.clientX-s.center.clientX,a=t.center.clientY-s.center.clientY,r=!0),t.eventType!=Ot&&t.eventType!=Lt||(o.futureCalcEvent=t),o.lastCalcEvent&&!r||(l.velocity=ct.getVelocity(n,i,a),l.angle=ct.getAngle(e,t.center),l.direction=ct.getDirection(e,t.center),o.lastCalcEvent=o.futureCalcEvent||t,o.futureCalcEvent=t),t.velocityX=l.velocity.x,t.velocityY=l.velocity.y,t.interimAngle=l.angle,t.interimDirection=l.direction},extendEventData:function(t){var e=this.current,n=e.startEvent,i=e.lastEvent||n;t.eventType!=Ot&&t.eventType!=Lt||(n.touches=[],ct.each(t.touches,(function(t){n.touches.push({clientX:t.clientX,clientY:t.clientY})})));var a=t.timeStamp-n.timeStamp,o=t.center.clientX-n.center.clientX,r=t.center.clientY-n.center.clientY;return this.getCalculatedData(t,i.center,a,o,r),ct.extend(t,{startEvent:n,deltaTime:a,deltaX:o,deltaY:r,distance:ct.getDistance(n.center,t.center),angle:ct.getAngle(n.center,t.center),direction:ct.getDirection(n.center,t.center),scale:ct.getScale(n.touches,t.touches),rotation:ct.getRotation(n.touches,t.touches)}),t},register:function(t){var e=t.defaults||{};return void 0===e[t.name]&&(e[t.name]=!0),ct.extend(ft.defaults,e,!0),t.index=t.index||1e3,this.gestures.push(t),this.gestures.sort((function(t,e){return t.indexe.index?1:0})),this.gestures}},ft.Instance=function(t,e){var n=this,i=e&&e.passive?{passive:!0}:void 0;!function(t){ft.READY||(lt.determineEventTypes(),ct.each(ft.gestures,(function(t){ut.register(t)})),lt.onTouch(ft.DOCUMENT,xt,ut.detect,t),lt.onTouch(ft.DOCUMENT,Pt,ut.detect,t),ft.READY=!0)}(i),this.element=t,this.enabled=!0,ct.each(e,(function(t,n){delete e[n],e[ct.toCamelCase(n)]=t})),this.options=ct.extend(ct.extend({},ft.defaults),e||{}),this.options.listenerOptions=i,this.options.behavior&&ct.toggleBehavior(this.element,this.options.behavior,!0),this.eventStartHandler=lt.onTouch(t,St,(function(t){n.enabled&&t.eventType==St?ut.startDetect(n,t):t.eventType==Ot&&ut.detect(t)}),i),this.eventHandlers=[]},ft.Instance.prototype={on:function(t,e,n){var i=this;return lt.on(i.element,t,e,Y.extend({},i.options.listenerOptions,n),(function(t){i.eventHandlers.push({gesture:t,handler:e})})),i},off:function(t,e,n){var i=this;return lt.off(i.element,t,e,Y.extend({},i.options.listenerOptions,n),(function(t){var n=ct.inArray(i.eventHandlers,{gesture:t,handler:e},!0);n>=0&&i.eventHandlers.splice(n,1)})),i},trigger:function(t,e){e||(e={});var n=ft.DOCUMENT.createEvent("Event");n.initEvent(t,!0,!0),n.gesture=e;var i=this.element;return ct.hasParent(e.target,i)&&(i=e.target),i.dispatchEvent(n),this},enable:function(t){return this.enabled=t,this},dispose:function(){var t,e;for(ct.toggleBehavior(this.element,this.options.behavior,!1),t=-1;e=this.eventHandlers[++t];)ct.off(this.element,e.gesture,e.handler);return this.eventHandlers=[],lt.off(this.element,_t[St],this.eventStartHandler),null}},pt="drag",mt=!1,ft.gestures.Drag={name:pt,index:50,handler:function(t,e){var n=ut.current;if(!(e.options.dragMaxTouches>0&&t.touches.length>e.options.dragMaxTouches))switch(t.eventType){case St:mt=!1;break;case xt:if(t.distance0)){var a=Math.abs(e.options.dragMinDistance/t.distance);i.pageX+=t.deltaX*a,i.pageY+=t.deltaY*a,i.clientX+=t.deltaX*a,i.clientY+=t.deltaY*a,t=ut.extendEventData(t)}(n.lastEvent.dragLockToAxis||e.options.dragLockToAxis&&e.options.dragLockMinDistance<=t.distance)&&(t.dragLockToAxis=!0);var o=n.lastEvent.direction;t.dragLockToAxis&&o!==t.direction&&(ct.isVertical(o)?t.direction=t.deltaY<0?kt:bt:t.direction=t.deltaX<0?yt:wt),mt||(e.trigger(pt+"start",t),mt=!0),e.trigger(pt,t),e.trigger(pt+t.direction,t);var r=ct.isVertical(t.direction);(e.options.dragBlockVertical&&r||e.options.dragBlockHorizontal&&!r)&&t.preventDefault();break;case Lt:mt&&t.changedLength<=e.options.dragMaxTouches&&(e.trigger(pt+"end",t),mt=!1);break;case Pt:mt=!1}},defaults:{dragMinDistance:10,dragDistanceCorrection:!0,dragMaxTouches:1,dragBlockHorizontal:!1,dragBlockVertical:!1,dragLockToAxis:!1,dragLockMinDistance:25}},ft.gestures.Gesture={name:"gesture",index:1337,handler:function(t,e){e.trigger(this.name,t)}},function(t){var e;ft.gestures.Hold={name:t,index:10,defaults:{holdTimeout:500,holdThreshold:2},handler:function(n,i){var a=i.options,o=ut.current;switch(n.eventType){case St:clearTimeout(e),o.name=t,e=setTimeout((function(){o&&o.name==t&&i.trigger(t,n)}),a.holdTimeout);break;case xt:n.distance>a.holdThreshold&&clearTimeout(e);break;case Lt:clearTimeout(e)}}}}("hold"),ft.gestures.Release={name:"release",index:1/0,handler:function(t,e){t.eventType==Lt&&e.trigger(this.name,t)}},ft.gestures.Swipe={name:"swipe",index:40,defaults:{swipeMinTouches:1,swipeMaxTouches:1,swipeVelocityX:.6,swipeVelocityY:.6},handler:function(t,e){if(t.eventType==Lt){var n=t.touches.length,i=e.options;if(ni.swipeMaxTouches)return;(t.velocityX>i.swipeVelocityX||t.velocityY>i.swipeVelocityY)&&(e.trigger(this.name,t),e.trigger(this.name+t.direction,t))}}},function(t){var e=!1;ft.gestures.Tap={name:t,index:100,handler:function(n,i){var a,o,r=i.options,s=ut.current,l=ut.previous;switch(n.eventType){case St:e=!1;break;case xt:e=e||n.distance>r.tapMaxDistance;break;case Pt:!ct.inStr(n.srcEvent.type,"cancel")&&n.deltaTimei.options.transformMinRotation&&i.trigger("rotate",n),a>i.options.transformMinScale&&(i.trigger("pinch",n),i.trigger("pinch"+(n.scale<1?"in":"out"),n));break;case Lt:e&&n.changedLength<2&&(i.trigger(t+"end",n),e=!1)}}}}("transform");var Dt,Nt=new(function(){function t(){i(this,t),this.queue=[]}return o(t,[{key:"add",value:function(t,e){var n=this;this.queue.push(t),1===this.queue.length&&setImmediate(this.queue[0]),e.then((function(){n.queue.shift(),n.queue.length>0&&setTimeout(n.queue[0],1e3/30)}))}}]),t}()),Bt=function(t,e){["id","class","animation"].forEach((function(n){return Object.prototype.hasOwnProperty.call(e,n)&&t.setAttribute(n,e[n])})),e.modifier&&Y.addModifier(t,e.modifier)},Rt=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n=e({},n),"string"==typeof t?n.message=t:n=t,n&&(n.message||n.messageHTML)||Y.throw("Notifications must contain a message"),(Object.prototype.hasOwnProperty.call(n,"buttonLabels")||Object.prototype.hasOwnProperty.call(n,"buttonLabel"))&&(n.buttonLabels=n.buttonLabels||n.buttonLabel,Array.isArray(n.buttonLabels)||(n.buttonLabels=[n.buttonLabels||""])),Y.extend({compile:function(t){return t},callback:function(t){return t},animation:"default",cancelable:!1,primaryButtonIndex:(n.buttonLabels||i.buttonLabels||[]).length-1},i,n)},Ht={_createAlertDialog:function(){for(var t=arguments.length,e=new Array(t),n=0;n\n '));var a="";n.buttonLabels.forEach((function(t,e){a+='\n \n ').concat(t,"\n \n ")}));var o={},r=function(){o.dialog.onDialogCancel&&o.dialog.removeEventListener("dialogcancel",o.dialog.onDialogCancel),Object.keys(o).forEach((function(t){return delete o[t]})),o=null,n.destroy instanceof Function&&n.destroy()};o.dialog=document.createElement("ons-alert-dialog"),o.dialog.innerHTML='\n

\n
\n
\n
\n ').concat(n.title||"",'\n
\n
\n ').concat(n.message||n.messageHTML,"\n ").concat(i,'\n
\n
\n ').concat(a,"\n
\n
\n
\n "),It(o.dialog),Bt(o.dialog,n),n.isPrompt&&(o.input=o.dialog.querySelector(".text-input"),n.submitOnEnter&&(o.input.onkeypress=function(e){13===e.keyCode&&o.dialog.hide().then((function(){if(o){var e=o.input.value;r(),n.callback(e),t(e)}}))})),o.footer=o.dialog.querySelector(".alert-dialog-footer"),Y.arrayFrom(o.dialog.querySelectorAll(".alert-dialog-button")).forEach((function(e,i){e.onclick=function(){o.dialog.hide().then((function(){if(o){var e=i;n.isPrompt&&(e=i===n.primaryButtonIndex?o.input.value:null),o.dialog.remove(),r(),n.callback(e),t(e)}}))},o.footer.appendChild(e)})),n.cancelable&&(o.dialog.cancelable=!0,o.dialog.onDialogCancel=function(){setImmediate((function(){o.dialog.remove(),r()}));var e=n.isPrompt?null:-1;n.callback(e),t(e)},o.dialog.addEventListener("dialogcancel",o.dialog.onDialogCancel,!1)),document.body.appendChild(o.dialog),n.compile(o.dialog),setImmediate((function(){o.dialog.show().then((function(){if(o.input&&n.isPrompt&&n.autofocus){var t=o.input.value.length;o.input.focus(),o.input.type&&["text","search","url","tel","password"].includes(o.input.type)&&o.input.setSelectionRange(t,t)}}))}))}))},alert:function(t,e){return Ht._createAlertDialog(t,e,{buttonLabels:["OK"],title:"Alert"})},confirm:function(t,e){return Ht._createAlertDialog(t,e,{buttonLabels:["Cancel","OK"],title:"Confirm"})},prompt:function(t,e){return Ht._createAlertDialog(t,e,{buttonLabels:["OK"],title:"Alert",isPrompt:!0,autofocus:!0,submitOnEnter:!0})},toast:function(t,e){var n=new Promise((function(i){Y.checkMissingImport("Toast"),e=Rt(t,e,{timeout:0,force:!1});var a=Y.createElement("\n \n ".concat(e.message,"\n ").concat(e.buttonLabels?""):"","\n \n "));Bt(a,e);var o=a.hide.bind(a),r=function(t){a&&o().then((function(){a&&(a.remove(),a=null,e.callback(t),i(t))}))};e.buttonLabels&&(Y.findChild(a._toast,"button").onclick=function(){return r(0)}),a.hide=function(){return r(-1)},document.body.appendChild(a),e.compile(a);var s=function(){a.parentElement&&a.show(e).then((function(){e.timeout&&setTimeout((function(){return r(-1)}),e.timeout)}))};setImmediate((function(){return e.force?s():Nt.add(s,n)}))}));return n}},qt=(Dt={_isPortrait:!1,isPortrait:function(){return this._isPortrait()},isLandscape:function(){return!this.isPortrait()},_init:function(){return document.addEventListener("DOMContentLoaded",this._onDOMContentLoaded.bind(this),!1),"orientation"in window?window.addEventListener("orientationchange",this._onOrientationChange.bind(this),!1):window.addEventListener("resize",this._onResize.bind(this),!1),this._isPortrait=function(){return window.innerHeight>window.innerWidth},this},_onDOMContentLoaded:function(){this._installIsPortraitImplementation(),this.emit("change",{isPortrait:this.isPortrait()})},_installIsPortraitImplementation:function(){var t=window.innerWidthwindow.innerWidth}},_onOrientationChange:function(){var t=this,e=this._isPortrait(),n=0,i=setInterval((function(){n++;var a=window.innerWidth,o=window.innerHeight;(e&&a<=o||!e&&a>=o||50===n)&&(t.emit("change",{isPortrait:e}),clearInterval(i))}),20)},_onResize:function(){this.emit("change",{isPortrait:this.isPortrait()})}},y.mixin(Dt),Dt)._init(),zt={add:function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),i=1;i1?e-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:{};i(this,t),this._lockList=[],this._waitList=[],this._log=e.log||function(){}}return o(t,[{key:"lock",value:function(){var t=this,e=function e(){t._unlock(e)};return e.id=Xt(),this._lockList.push(e),this._log("lock: "+e.id),e}},{key:"_unlock",value:function(t){var e=this._lockList.indexOf(t);if(-1===e)throw new Error("This function is not registered in the lock list.");this._lockList.splice(e,1),this._log("unlock: "+t.id),this._tryToFreeWaitList()}},{key:"_tryToFreeWaitList",value:function(){for(;!this.isLocked()&&this._waitList.length>0;)this._waitList.shift()()}},{key:"waitUnlock",value:function(t){if(!(t instanceof Function))throw new Error("The callback param must be a function.");this.isLocked()?this._waitList.push(t):t()}},{key:"isLocked",value:function(){return this._lockList.length>0}}]),t}();function Yt(t,e,n){var i=t.page,a=t.parent;t.params;var o=document.getElementById(i);a.appendChild(o),o.style.display="",e(o)}function $t(t){t._destroy,t.style.display="none",$("body").append(t)}var Gt,Kt=function(){function t(e,n){i(this,t),this._loader=e instanceof Function?e:Yt,this._unloader=n instanceof Function?n:$t}return o(t,[{key:"internalLoader",get:function(){return this._loader},set:function(t){if(!(t instanceof Function))throw Error("First parameter must be an instance of Function");this._loader=t}},{key:"load",value:function(t,e,n){var i=t.page,a=t.parent,o=t.params,r=void 0===o?{}:o;this._loader({page:i,parent:a,params:r},(function(t){if(!(t instanceof Element))throw Error("pageElement must be an instance of Element.");e(t)}),n)}},{key:"unload",value:function(t){if(!(t instanceof Element))throw Error("pageElement must be an instance of Element.");this._unloader(t)}}]),t}(),Jt=new Kt,Qt=new Kt((function(t,e){var n=t.page,i=t.parent;t.params;var a=Y.createElement(n.trim());i.appendChild(a),e(a)}),$t),Zt={animit:ht,defaultPageLoader:Jt,elements:k,GestureDetector:ft,modifier:zt,notification:Ht,orientation:qt,pageAttributeExpression:K,PageLoader:Kt,platform:b,softwareKeyboard:Ft,_autoStyle:O,_internal:Q,_readyLock:new Ut,_util:Y};Zt.platform.select((window.location.search.match(/platform=([\w-]+)/)||[])[1]),Gt=Zt._readyLock.lock(),window.addEventListener("DOMContentLoaded",(function(){Zt.isWebView()?window.document.addEventListener("deviceready",Gt,{once:!0}):Gt()}),{once:!0});var te=function(t){return Y.throw("This method must be called ".concat(t?"after":"before"," ons.isReady() is true"))};Zt.isReady=function(){return!Zt._readyLock.isLocked()},Zt.isWebView=Zt.platform.isWebView,Zt.ready=function(t){Zt.isReady()?t():Zt._readyLock.waitUnlock(t)},Zt.setDefaultDeviceBackButtonListener=function(t){Zt.isReady()||te(!0),Zt._defaultDeviceBackButtonHandler.setListener(t)},Zt.disableDeviceBackButtonHandler=function(){Zt.isReady()||te(!0),Q.dbbDispatcher.disable()},Zt.enableDeviceBackButtonHandler=function(){Zt.isReady()||te(!0),Q.dbbDispatcher.enable()},Zt.fireDeviceBackButtonEvent=function(){Q.dbbDispatcher.fireDeviceBackButtonEvent()},Zt.enableAutoStatusBarFill=function(){Zt.isReady()&&te(!1),Q.config.autoStatusBarFill=!0},Zt.disableAutoStatusBarFill=function(){Zt.isReady()&&te(!1),Q.config.autoStatusBarFill=!1},Zt.mockStatusBar=function(){Zt.isReady()&&te(!1);var t=function(){if(!document.body.children[0]||!document.body.children[0].classList.contains("ons-status-bar-mock")){var t=b.isAndroid(),e=function(t){return'')},n=t?"".concat(e("zmdi-twitter")," ").concat(e("zmdi-google-play")):"No SIM ".concat(e("fa-wifi")),i=t?"":"12:28 PM",a=t?"".concat(e("zmdi-network")," ").concat(e("zmdi-wifi")," ").concat(e("zmdi-battery")," 12:28 PM"):"80% ".concat(e("fa-battery-three-quarters"));document.body.insertBefore(Y.createElement('
')+"
".concat(n,"
").concat(i,"
").concat(a,"
")+"
"),document.body.firstChild)}};document.body?t():Q.waitDOMContentLoaded(t)},Zt.disableAnimations=function(){Q.config.animationsDisabled=!0},Zt.enableAnimations=function(){Q.config.animationsDisabled=!1},Zt._disableWarnings=function(){Q.config.warningsDisabled=!0},Zt._enableWarnings=function(){Q.config.warningsDisabled=!1},Zt.disableAutoStyling=O.disable,Zt.enableAutoStyling=O.enable,Zt.disableIconAutoPrefix=function(){Y.checkMissingImport("Icon"),k.Icon.setAutoPrefix(!1)},Zt.forcePlatformStyling=function(t){Zt.enableAutoStyling(),Zt.platform.select(t||"ios"),Zt._util.arrayFrom(document.querySelectorAll("*")).forEach((function(t){"ons-if"===t.tagName.toLowerCase()?t._platformUpdate():t.tagName.match(/^ons-/i)&&(O.prepare(t,!0),"ons-tabbar"===t.tagName.toLowerCase()&&t._updatePosition())}))},Zt.preload=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return Promise.all((t instanceof Array?t:[t]).map((function(t){return"string"!=typeof t&&Y.throw("Expected string arguments but got "+n(t)),Q.getTemplateHTMLAsync(t)})))},Zt.createElement=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=function(t){var n=Zt._util.createElement(t);(n.remove(),e.append)&&((e.append instanceof HTMLElement?e.append:document.body).insertBefore(n,e.insertBefore||null),e.link instanceof Function&&e.link(n));return n};return"<"===(t=t.trim()).charAt(0)?n(t):Q.getPageHTMLAsync(t).then(n)},Zt.createPopover=Zt.createDialog=Zt.createAlertDialog=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Zt.createElement(t,e({append:!0},n))},Zt.openActionSheet=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return new Promise((function(n){Y.checkMissingImport("ActionSheet"),function(t){var e=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Function";return Y.throw('"options.'.concat(t,'" must be an instance of ').concat(e))},n=function(e){return Object.hasOwnProperty.call(t,e)},i=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Function;return t[e]instanceof n},a="buttons",o="callback",r="compile",s="destroy";(!n(a)||!i(a,Array))&&e(a,"Array"),n(o)&&!i(o)&&e(o),n(r)&&!i(r)&&e(r),n(s)&&!i(s)&&e(s)}(t);var i=Y.createElement("\n \n
\n \n ')),a=function e(a){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;i&&(t.destroy&&t.destroy(i),i.removeEventListener("dialogcancel",e,!1),i.remove(),i=null,t.callback&&t.callback(o),n(o))};i.addEventListener("dialogcancel",a,!1);var o=document.createDocumentFragment();t.buttons.forEach((function(n,r){var s="string"==typeof n?{label:n}:e({},n);t.destructive===r&&(s.modifier=(s.modifier||"")+" destructive");var l=Y.createElement("\n \n ").concat(s.label,"\n \n "));l.onclick=function(t){return i.hide().then((function(){return a(t,r)}))},o.appendChild(l)})),Y.findChild(i,".action-sheet").appendChild(o),document.body.appendChild(i),t.compile&&t.compile(el.dialog),setImmediate((function(){return i.show({animation:t.animation,animationOptions:t.animationOptions})}))}))},Zt.resolveLoadingPlaceholder=function(t,e){var n=Zt._util.arrayFrom(window.document.querySelectorAll("[ons-loading-placeholder]"));0===n.length&&Y.throw("No ons-loading-placeholder exists"),n.filter((function(t){return!t.getAttribute("page")})).forEach((function(n){n.setAttribute("ons-loading-placeholder",t),Zt._resolveLoadingPlaceholder(n,t,e)}))},Zt._setupLoadingPlaceHolders=function(){Zt.ready((function(){Zt._util.arrayFrom(window.document.querySelectorAll("[ons-loading-placeholder]")).forEach((function(t){var e=t.getAttribute("ons-loading-placeholder");"string"==typeof e&&Zt._resolveLoadingPlaceholder(t,e)}))}))},Zt._resolveLoadingPlaceholder=function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(t,e){return e()};e&&Zt.createElement(e).then((function(e){e.style.display="none",t.appendChild(e),n(e,(function(){for(;t.firstChild&&t.firstChild!==e;)t.removeChild(t.firstChild);e.style.display=""}))})).catch((function(t){return Promise.reject("Unabled to resolve placeholder: "+t)}))};var ee="currentScript"in document?function(){return document.currentScript}:function(){return document.scripts[document.scripts.length-1]};Zt.getScriptPage=function(){return ee()&&/ons-page/i.test(ee().parentElement.tagName)&&ee().parentElement||null};var ne=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.call(this)}return o(n)}(function(){if("function"!=typeof HTMLElement){var t=function(){};return t.prototype=document.createElement("div"),t}return HTMLElement}()),ie=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){if(null!==b._getSelectedPlatform())t._platformUpdate();else if(!t._isAllowedPlatform()){for(;t.childNodes[0];)t.childNodes[0].remove();t._platformUpdate()}})),t._onOrientationChange(),t}return o(n,[{key:"connectedCallback",value:function(){qt.on("change",this._onOrientationChange.bind(this))}},{key:"attributeChangedCallback",value:function(t){"orientation"===t&&this._onOrientationChange()}},{key:"disconnectedCallback",value:function(){qt.off("change",this._onOrientationChange)}},{key:"_platformUpdate",value:function(){this.style.display=this._isAllowedPlatform()?"":"none"}},{key:"_isAllowedPlatform",value:function(){return!this.getAttribute("platform")||this.getAttribute("platform").split(/\s+/).indexOf(b.getMobileOS())>=0}},{key:"_onOrientationChange",value:function(){if(this.hasAttribute("orientation")&&this._isAllowedPlatform()){var t=this.getAttribute("orientation").toLowerCase(),e=qt.isPortrait()?"portrait":"landscape";this.style.display=t===e?"":"none"}}}],[{key:"observedAttributes",get:function(){return["orientation"]}}]),n}(ne);k.If=ie,customElements.define("ons-if",ie);var ae=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};i(this,t),this.timing=e.timing||"linear",this.duration=e.duration||0,this.delay=e.delay||0,this.def={timing:this.timing,duration:this.duration,delay:this.delay}}return o(t,null,[{key:"extend",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=this,n=function(){e.apply(this,arguments),Y.extend(this,t)};return n.prototype=this.prototype,n}}]),t}(),oe={isIPhoneXPortraitPatchActive:function(){return null!=document.documentElement.getAttribute("onsflag-iphonex-portrait")&&window.innerWidth=window.innerHeight},getSafeAreaLengths:function(){return oe.isIPhoneXPortraitPatchActive()?{top:44,right:0,bottom:34,left:0}:oe.isIPhoneXLandscapePatchActive()?{top:0,right:44,bottom:21,left:44}:{top:0,right:0,bottom:0,left:0}},getSafeAreaDOMRect:function(){var t;return e(e({},t=oe.isIPhoneXPortraitPatchActive()?{x:0,y:44,width:window.innerWidth,height:window.innerHeight-78}:oe.isIPhoneXLandscapePatchActive()?{x:44,y:0,width:window.innerWidth-88,height:window.innerHeight-21}:{x:0,y:0,width:window.innerWidth,height:window.innerHeight}),{},{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}},re=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"linear":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.2:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e()}},{key:"hide",value:function(t,e){e()}}]),n}(ae),se=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"ease":o,s=a.delay,l=void 0===s?0:s,c=a.duration,u=void 0===c?.4:c;return i(this,n),(t=e.call(this,{timing:r,delay:l,duration:u})).maskTiming="linear",t.maskDuration=.2,t}return o(n,[{key:"show",value:function(t,e){ht.runAll(ht(t._mask).queue({opacity:0}).wait(this.delay).queue({opacity:1},{duration:this.maskDuration,timing:this.maskTiming}),ht(t._sheet,this.def).default({transform:"translate3d(0, 80%, 0)",opacity:0},{transform:"translate3d(0, 0, 0)",opacity:1}).queue((function(t){e&&e(),t()})))}},{key:"hide",value:function(t,e){ht.runAll(ht(t._mask).queue({opacity:1}).wait(this.delay).queue({opacity:0},{duration:this.maskDuration,timing:this.maskTiming}),ht(t._sheet,this.def).default({transform:"translate3d(0, 0, 0)",opacity:1},{transform:"translate3d(0, 80%, 0)",opacity:0}).queue((function(t){e&&e(),t()})))}}]),n}(re),le=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"ease":o,s=a.delay,l=void 0===s?0:s,c=a.duration,u=void 0===c?.3:c;return i(this,n),(t=e.call(this,{timing:r,delay:l,duration:u})).maskTiming="linear",t.maskDuration=.2,oe.isIPhoneXPortraitPatchActive()?t.liftAmount="calc(100% + 48px)":oe.isIPhoneXLandscapePatchActive()?t.liftAmount="calc(100% + 33px)":t.liftAmount=document.body.clientHeight/2-1+"px",t}return o(n,[{key:"show",value:function(t,e){ht.runAll(ht(t._mask).queue({opacity:0}).wait(this.delay).queue({opacity:1},{duration:this.maskDuration,timing:this.maskTiming}),ht(t._sheet,this.def).default({transform:"translate3d(0, ".concat(this.liftAmount,", 0)")},{transform:"translate3d(0, 0, 0)"}).queue((function(t){e&&e(),t()})))}},{key:"hide",value:function(t,e){ht.runAll(ht(t._mask).queue({opacity:1}).wait(this.delay).queue({opacity:0},{duration:this.maskDuration,timing:this.maskTiming}),ht(t._sheet,this.def).default({transform:"translate3d(0, 0, 0)"},{transform:"translate3d(0, ".concat(this.liftAmount,", 0)")}).queue((function(t){e&&e(),t()})))}}]),n}(re),ce=function(t){s(a,t);var n=h(a);function a(){var t;return i(this,a),(t=n.call(this)).constructor===a&&Y.throwAbstract(),t._visible=!1,t._doorLock=new Ut,t._cancel=t._cancel.bind(d(t)),t._selfCamelName=Y.camelize(t.tagName.slice(4)),t._defaultDBB=function(e){return t.cancelable?t._cancel():e.callParentHandler()},t._animatorFactory=t._updateAnimatorFactory(),t}return o(a,[{key:"_scheme",get:function(){Y.throwMember()}},{key:"_updateAnimatorFactory",value:function(){Y.throwMember()}},{key:"_toggleStyle",value:function(t){this.style.display=t?"block":"none"}},{key:"onDeviceBackButton",get:function(){return this._backButtonHandler},set:function(t){this._backButtonHandler&&this._backButtonHandler.destroy(),this._backButtonCallback=t,this._backButtonHandler=at.createHandler(this,t)}},{key:"_cancel",value:function(){var t=this;this.cancelable&&!this._running&&(this._running=!0,this.hide().then((function(){t._running=!1,Y.triggerElementEvent(t,"dialogcancel"),Y.triggerElementEvent(t,"dialog-cancel")}),(function(){return t._running=!1})))}},{key:"show",value:function(){for(var t=this,e=arguments.length,n=new Array(e),i=0;i1&&void 0!==arguments[1]?arguments[1]:{},o=t?"show":"hide";(a=e({},a)).animationOptions=Y.extend(a.animationOptions||{},this.animationOptions);var s=!1;return Y.triggerElementEvent(this,"pre".concat(o),(r(n={},this._selfCamelName,this),r(n,"cancel",(function(){return s=!0})),n)),s?Promise.reject("Canceled in pre".concat(o," event.")):new Promise((function(e){i._doorLock.waitUnlock((function(){var n=i._doorLock.lock(),s=i._animatorFactory.newAnimator(a);t&&i._toggleStyle(!0,a),i._visible=t,Y.iosPageScrollFix(t),It(i,(function(){s[o](i,(function(){!t&&i._toggleStyle(!1,a),n(),Y.propagateAction(i,"_"+o),Y.triggerElementEvent(i,"post"+o,r({},i._selfCamelName,i)),a.callback instanceof Function&&a.callback(i),e(i)}))}))}))}))}},{key:"maskColor",get:function(){return this.getAttribute("mask-color")},set:function(t){null==t?this.removeAttribute("mask-color"):this.setAttribute("mask-color",t)}},{key:"animationOptions",get:function(){return Z.parseAnimationOptionsString(this.getAttribute("animation-options"))},set:function(t){null==t?this.removeAttribute("animation-options"):this.setAttribute("animation-options",JSON.stringify(t))}},{key:"_updateMask",value:function(){var t=this;It(this,(function(){t._mask&&(t._mask.style.backgroundColor=t.maskColor)}))}},{key:"_updateAnimation",value:function(){this._animatorFactory=this._updateAnimatorFactory()}},{key:"connectedCallback",value:function(){var t=this;"function"==typeof this._backButtonCallback?this.onDeviceBackButton=this._backButtonCallback:"function"==typeof this._defaultDBB&&(this.onDeviceBackButton=this._defaultDBB.bind(this)),It(this,(function(){t._mask&&t._mask.addEventListener("click",t._cancel,!1)}))}},{key:"disconnectedCallback",value:function(){this._backButtonHandler&&(this._backButtonHandler.destroy(),this._backButtonHandler=null),this._mask&&this._mask.removeEventListener("click",this._cancel,!1)}},{key:"attributeChangedCallback",value:function(t,e,n){var i=this;switch(t){case"modifier":M.onModifierChanged(e,n,this,this._scheme);break;case"animation":this._updateAnimation();break;case"mask-color":this._updateMask();break;case"visible":this.visible!==this._visible&&(this._updateMask(),this._updateAnimation(),It(this,(function(){i._setVisible(i.visible)})))}}}],[{key:"observedAttributes",get:function(){return["modifier","animation","mask-color","visible"]}},{key:"events",get:function(){return["preshow","postshow","prehide","posthide","dialogcancel","dialog-cancel"]}}]),a}(ne);Y.defineBooleanProperties(ce,["visible","disabled","cancelable"]);var ue={".action-sheet":"action-sheet--*",".action-sheet-mask":"action-sheet-mask--*",".action-sheet-title":"action-sheet-title--*"},de={default:function(){return b.isAndroid()?se:le},none:re},he=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){return t._compile()})),t}return o(n,[{key:"_scheme",get:function(){return ue}},{key:"_mask",get:function(){return Y.findChild(this,".action-sheet-mask")}},{key:"_sheet",get:function(){return Y.findChild(this,".action-sheet")}},{key:"_title",get:function(){return this.querySelector(".action-sheet-title")}},{key:"_updateAnimatorFactory",value:function(){return new Z({animators:de,baseClass:re,baseClassName:"ActionSheetAnimator",defaultAnimation:this.getAttribute("animation")})}},{key:"_compile",value:function(){if(O.prepare(this),this.style.display="none",this.style.zIndex=10001,!this._sheet){var t=document.createElement("div");for(t.classList.add("action-sheet");this.firstChild;)t.appendChild(this.firstChild);this.appendChild(t)}if(!this._title){var e=document.createElement("div");e.classList.add("action-sheet-title"),this.title?e.innerHTML=this.title:e.hidden=!0,this._sheet.insertBefore(e,this._sheet.firstChild)}if(!this._mask){var n=document.createElement("div");n.classList.add("action-sheet-mask"),this.insertBefore(n,this.firstChild)}this._sheet.style.zIndex=20001,this._mask.style.zIndex=2e4,M.initModifier(this,this._scheme)}},{key:"_updateTitle",value:function(){this._title&&(this.title?(this._title.innerHTML=this.title,this._title.hidden=!1):this._title.hidden=!0)}},{key:"title",get:function(){return this.getAttribute("title")},set:function(t){null==t?this.removeAttribute("title"):this.setAttribute("title",t)}},{key:"attributeChangedCallback",value:function(t,e,i){"title"===t?this._updateTitle():f(l(n.prototype),"attributeChangedCallback",this).call(this,t,e,i)}}],[{key:"observedAttributes",get:function(){return[].concat(p(f(l(n),"observedAttributes",this)),["title"])}},{key:"registerAnimator",value:function(t,e){e.prototype instanceof re||Y.throwAnimator("ActionSheet"),de[t]=e}},{key:"animators",get:function(){return de}},{key:"ActionSheetAnimator",get:function(){return re}}]),n}(ce);k.ActionSheet=he,customElements.define("ons-action-sheet",he);var fe=function(){function t(){i(this,t),this._queue=[],this._index=0}return o(t,[{key:"animate",value:function(t,e){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:200,i=(new Date).getTime(),a={},o=!1,r=!1,s=!1,l=Object.keys(e),c={stop:function(){var u=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};s&&clearTimeout(s);var d=Math.min(1,((new Date).getTime()-i)/n);return l.forEach((function(n){t.style[n]=(1-d)*a[n]+d*e[n]+("opacity"==n?"":"px")})),t.style.transitionDuration="0s",u.stopNext?r=!1:o||(o=!0,r&&r()),c},then:function(t){return r=t,o&&r&&r(),c},speed:function(r){if(Q.config.animationsDisabled&&(r=0),!o){s&&clearTimeout(s);var u=((new Date).getTime()-i)/n,d=r*(1-u);l.forEach((function(n){t.style[n]=(1-u)*a[n]+u*e[n]+("opacity"==n?"":"px")})),h=window.getComputedStyle(t),l.forEach(h.getPropertyValue.bind(h)),h=t.offsetHeight,i=t.speedUpTime,n=d,t.style.transitionDuration=n/1e3+"s",l.forEach((function(n){t.style[n]=e[n]+("opacity"==n?"":"px")})),s=setTimeout(c.stop,d)}var h;return c},finish:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:50,e=((new Date).getTime()-i)/n;return c.speed(t/(1-e)),c}};if(t.hasAttribute("disabled")||o||Q.config.animationsDisabled)return c;var u=window.getComputedStyle(t);return l.forEach((function(t){var e=parseFloat(u.getPropertyValue(t));a[t]=isNaN(e)?0:e})),o||(t.style.transitionProperty=l.join(","),t.style.transitionDuration=n/1e3+"s",l.forEach((function(n){t.style[n]=e[n]+("opacity"==n?"":"px")}))),s=setTimeout(c.stop,n),this._onStopAnimations(t,c.stop),c}},{key:"_onStopAnimations",value:function(t,e){var n=this._queue,i=this._index++;n[t]=n[t]||[],n[t][i]=function(a){return delete n[t][i],n[t]&&0==n[t].length&&delete n[t],e(a)}}},{key:"stopAnimations",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(Array.isArray(t))return t.forEach((function(t){e.stopAnimations(t,n)}));(this._queue[t]||[]).forEach((function(t){t(n||{})}))}},{key:"stopAll",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.stopAnimations(Object.keys(this._queue),t)}},{key:"fade",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:200;return this.animate(t,{opacity:0},e)}}]),t}(),pe="ripple",me={"":"ripple--*",".ripple__wave":"ripple--*__wave",".ripple__background":"ripple--*__background"},ge=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._onTap=t._onTap.bind(d(t)),t._onHold=t._onHold.bind(d(t)),t._onDragStart=t._onDragStart.bind(d(t)),t._onRelease=t._onRelease.bind(d(t)),It(d(t),(function(){return t._compile()})),t._animator=new fe,["color","center","start-radius","background","modifier"].forEach((function(e){t.attributeChangedCallback(e,null,t.getAttribute(e))})),t}return o(n,[{key:"_compile",value:function(){this.classList.add(pe),this._wave=this.getElementsByClassName("ripple__wave")[0],this._background=this.getElementsByClassName("ripple__background")[0],this._background&&this._wave||(this._wave=Y.create(".ripple__wave"),this._background=Y.create(".ripple__background"),this.appendChild(this._wave),this.appendChild(this._background)),M.initModifier(this,me)}},{key:"_getEffectSize",value:function(){if(this.hasAttribute("size")){var t=this.getAttribute("size");if(-1!==["cover","contain"].indexOf(t))return t}return"cover"}},{key:"_calculateCoords",value:function(t){var e,n,i,a,o,r=this.getBoundingClientRect(),s=this._getEffectSize(),l=function(){return Y.throw("Ripple invalid state")};return this._center?(e=r.width/2,n=r.height/2,"cover"===s?o=Math.sqrt(e*e+n*n):"contain"===s?o=Math.min(e,n):l()):(e=("number"==typeof t.clientX?t.clientX:t.changedTouches[0].clientX)-r.left,n=("number"==typeof t.clientY?t.clientY:t.changedTouches[0].clientY)-r.top,i=Math.max(n,r.height-n),a=Math.max(e,r.width-e),"cover"===s?o=Math.sqrt(i*i+a*a):"contain"===s?o=Math.min(Math.round(i/2),Math.round(a/2)):l()),{x:e,y:n,r:o}}},{key:"_rippleAnimation",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:300,n=this._animator,i=this._wave,a=this._background,o=this._minR,r=this._calculateCoords(t),s=r.x,l=r.y,c=r.r;return n.stopAll({stopNext:1}),n.animate(a,{opacity:1},e),Y.extend(i.style,{opacity:1,top:l-o+"px",left:s-o+"px",width:2*o+"px",height:2*o+"px"}),n.animate(i,{top:l-c,left:s-c,height:2*c,width:2*c},e)}},{key:"_updateParent",value:function(){!this._parentUpdated&&this.parentNode&&("static"===window.getComputedStyle(this.parentNode).getPropertyValue("position")&&(this.parentNode.style.position="relative"),this._parentUpdated=!0)}},{key:"_onTap",value:function(t){var e=this;this.disabled||t.ripple||(t.ripple=!0,this._updateParent(),this._rippleAnimation(t.gesture.srcEvent).then((function(){e._animator.fade(e._wave),e._animator.fade(e._background)})))}},{key:"_onHold",value:function(t){this.disabled||t.ripple||(t.ripple=!0,this._updateParent(),this._holding=this._rippleAnimation(t.gesture.srcEvent,2e3),document.addEventListener("release",this._onRelease))}},{key:"_onRelease",value:function(t){var e=this;this._holding&&!t.ripple&&(t.ripple=!0,this._holding.speed(300).then((function(){e._animator.stopAll({stopNext:!0}),e._animator.fade(e._wave),e._animator.fade(e._background)})),this._holding=!1),document.removeEventListener("release",this._onRelease)}},{key:"_onDragStart",value:function(t){if(this._holding)return this._onRelease(t);-1!=["left","right"].indexOf(t.gesture.direction)&&this._onTap(t)}},{key:"connectedCallback",value:function(){this._parentNode=this.parentNode,Q.config.animationsDisabled?this.disabled=!0:(this._parentNode.addEventListener("tap",this._onTap),this._parentNode.addEventListener("hold",this._onHold),this._parentNode.addEventListener("dragstart",this._onDragStart))}},{key:"disconnectedCallback",value:function(){var t=this._parentNode||this.parentNode;t.removeEventListener("tap",this._onTap),t.removeEventListener("hold",this._onHold),t.removeEventListener("dragstart",this._onDragStart)}},{key:"attributeChangedCallback",value:function(t,e,n){var i=this;switch(t){case"class":Y.restoreClass(this,pe,me);break;case"modifier":M.onModifierChanged(e,n,this,me);break;case"start-radius":this._minR=Math.max(0,parseFloat(n)||0);break;case"color":n&&It(this,(function(){i._wave.style.background=n,i.hasAttribute("background")||(i._background.style.background=n)}));break;case"background":(n||e)&&It(this,"none"===n?function(){i._background.setAttribute("disabled","disabled"),i._background.style.background="transparent"}:function(){i._background.hasAttribute("disabled")&&i._background.removeAttribute("disabled"),i._background.style.background=n});break;case"center":"center"===t&&(this._center=null!=n&&"false"!=n)}}}],[{key:"observedAttributes",get:function(){return["start-radius","color","background","center","class","modifier"]}}]),n}(ne);Y.defineBooleanProperties(ge,["disabled","center"]),k.Ripple=ge,customElements.define("ons-ripple",ge);var ve=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this)).constructor===n&&Y.throwAbstract(),It(d(t),(function(){return t._compile()})),t}return o(n,[{key:"_scheme",get:function(){Y.throwMember()}},{key:"_defaultClassName",get:function(){Y.throwMember()}},{key:"_rippleOpt",get:function(){return[this]}},{key:"_icon",get:function(){return Y.findChild(this,"ons-icon")}},{key:"_hiddenButton",get:function(){return Y.findChild(this,"button")}},{key:"_compile",value:function(){if(O.prepare(this),this.classList.add(this._defaultClassName),!this._icon&&this.hasAttribute("icon")){Y.checkMissingImport("Icon");var t=Y.createElement(''));t.classList.add(this._defaultClassName.replace("button","icon")),this.insertBefore(t,this.firstChild)}if(!this._hiddenButton){var e=Y.createElement("");this.appendChild(e)}this._updateRipple(),M.initModifier(this,this._scheme)}},{key:"_updateIcon",value:function(){this._icon&&this._icon.setAttribute("icon",this.getAttribute("icon"))}},{key:"_updateRipple",value:function(){this._rippleOpt&&Y.updateRipple.apply(Y,p(this._rippleOpt))}},{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"class":Y.restoreClass(this,this._defaultClassName,this._scheme);break;case"modifier":M.onModifierChanged(e,n,this,this._scheme);break;case"icon":this._updateIcon();break;case"ripple":this.classList.contains(this._defaultClassName)&&this._updateRipple()}}}],[{key:"observedAttributes",get:function(){return["modifier","class","icon","ripple"]}}]),n}(ne);Y.defineBooleanProperties(ve,["ripple","disabled"]);var _e=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"_scheme",get:function(){return{"":"action-sheet-button--*",".action-sheet-icon":"action-sheet-icon--*"}}},{key:"_defaultClassName",get:function(){return"action-sheet-button"}},{key:"_rippleOpt",get:function(){}}]),n}(ve);k.ActionSheetButton=_e,customElements.define("ons-action-sheet-button",_e);var be=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"linear":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.2:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e()}},{key:"hide",value:function(t,e){e()}}]),n}(ae),ye=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"cubic-bezier(.1, .7, .4, 1)":a,r=t.duration,s=void 0===r?.2:r,l=t.delay,c=void 0===l?0:l;return i(this,n),e.call(this,{duration:s,timing:o,delay:c})}return o(n,[{key:"show",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:0},{opacity:1}),ht(t._dialog,this.def).default({transform:"translate3d(-50%, -50%, 0) scale3d(.9, .9, 1)",opacity:0},{transform:"translate3d(-50%, -50%, 0) scale3d(1, 1, 1)",opacity:1}).queue((function(t){e(),t()})))}},{key:"hide",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:1},{opacity:0}),ht(t._dialog,this.def).default({transform:"translate3d(-50%, -50%, 0) scale3d(1, 1, 1)",opacity:1},{transform:"translate3d(-50%, -50%, 0) scale3d(.9, .9, 1)",opacity:0}).queue((function(t){e(),t()})))}}]),n}(be),ke=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"cubic-bezier(.1, .7, .4, 1)":a,r=t.duration,s=void 0===r?.2:r,l=t.delay,c=void 0===l?0:l;return i(this,n),e.call(this,{duration:s,timing:o,delay:c})}return o(n,[{key:"show",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:0},{opacity:1}),ht(t._dialog,this.def).default({transform:"translate3d(-50%, -50%, 0) scale3d(1.3, 1.3, 1)",opacity:0},{transform:"translate3d(-50%, -50%, 0) scale3d(1, 1, 1)",opacity:1}).queue((function(t){e(),t()})))}},{key:"hide",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:1},{opacity:0}),ht(t._dialog,this.def).default({opacity:1},{opacity:0}).queue((function(t){e(),t()})))}}]),n}(be),we={".alert-dialog":"alert-dialog--*",".alert-dialog-container":"alert-dialog-container--*",".alert-dialog-title":"alert-dialog-title--*",".alert-dialog-content":"alert-dialog-content--*",".alert-dialog-footer":"alert-dialog-footer--*",".alert-dialog-footer--rowfooter":"alert-dialog-footer--rowfooter--*",".alert-dialog-button--rowfooter":"alert-dialog-button--rowfooter--*",".alert-dialog-button--primal":"alert-dialog-button--primal--*",".alert-dialog-button":"alert-dialog-button--*","ons-alert-dialog-button":"alert-dialog-button--*",".alert-dialog-mask":"alert-dialog-mask--*",".text-input":"text-input--*"},Ee={none:be,default:function(){return b.isAndroid()?ye:ke},fade:function(){return b.isAndroid()?ye:ke}},Ce=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){return t._compile()})),t}return o(n,[{key:"_scheme",get:function(){return we}},{key:"_mask",get:function(){return Y.findChild(this,".alert-dialog-mask")}},{key:"_dialog",get:function(){return Y.findChild(this,".alert-dialog")}},{key:"_titleElement",get:function(){return Y.findChild(this._dialog.children[0],".alert-dialog-title")}},{key:"_contentElement",get:function(){return Y.findChild(this._dialog.children[0],".alert-dialog-content")}},{key:"_updateAnimatorFactory",value:function(){return new Z({animators:Ee,baseClass:be,baseClassName:"AlertDialogAnimator",defaultAnimation:this.getAttribute("animation")})}},{key:"_compile",value:function(){O.prepare(this),this.style.display="none",this.style.zIndex=10001;var t=document.createDocumentFragment();if(!this._mask&&!this._dialog)for(;this.firstChild;)t.appendChild(this.firstChild);if(!this._mask){var e=document.createElement("div");e.classList.add("alert-dialog-mask"),this.insertBefore(e,this.children[0])}if(!this._dialog){var n=document.createElement("div");n.classList.add("alert-dialog"),this.insertBefore(n,null)}if(!Y.findChild(this._dialog,".alert-dialog-container")){var i=document.createElement("div");i.classList.add("alert-dialog-container"),this._dialog.appendChild(i)}this._dialog.children[0].appendChild(t),this._dialog.style.zIndex=20001,this._mask.style.zIndex=2e4,M.initModifier(this,this._scheme)}}],[{key:"registerAnimator",value:function(t,e){e.prototype instanceof be||Y.throwAnimator("AlertDialog"),Ee[t]=e}},{key:"animators",get:function(){return Ee}},{key:"AlertDialogAnimator",get:function(){return be}}]),n}(ce);k.AlertDialog=Ce,customElements.define("ons-alert-dialog",Ce);var Ae=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"_scheme",get:function(){return{"":"alert-dialog-button--*"}}},{key:"_defaultClassName",get:function(){return"alert-dialog-button"}},{key:"_rippleOpt",get:function(){return[this,void 0,{modifier:"light-gray"}]}}]),n}(ve);k.AlertDialogButton=Ae,customElements.define("ons-alert-dialog-button",Ae);var Se="back-button",xe={"":"back-button--*",".back-button__icon":"back-button--*__icon",".back-button__label":"back-button--*__label"},Pe=function(t){s(a,t);var n=h(a);function a(){var t;i(this,a),It(d(t=n.call(this)),(function(){t._compile()})),t._options={},t._boundOnClick=t._onClick.bind(d(t));var e=Y.defineListenerProperty(d(t),"click"),o=e.onConnected,r=e.onDisconnected;return t._connectOnClick=o,t._disconnectOnClick=r,t}return o(a,[{key:"_updateIcon",value:function(){(arguments.length>0&&void 0!==arguments[0]?arguments[0]:Y.findChild(this,".back-button__icon")).innerHTML="android"===O.getPlatform(this)||Y.hasModifier(this,"material")?'\n \n \n md-back-button-icon\n Created with Sketch.\n \n \n \n \n \n \n \n':'\n \n \n ios-back-button-icon\n Created with Sketch.\n \n \n \n \n \n \n \n'}},{key:"_compile",value:function(){if(O.prepare(this),this.classList.add(Se),!Y.findChild(this,".back-button__label")){for(var t=Y.create("span.back-button__label");this.childNodes[0];)t.appendChild(this.childNodes[0]);this.appendChild(t)}if(!Y.findChild(this,".back-button__icon")){var e=Y.create("span.back-button__icon");this._updateIcon(e),this.insertBefore(e,this.children[0])}Y.updateRipple(this,void 0,{center:"",size:"contain",background:"transparent"}),M.initModifier(this,xe)}},{key:"options",get:function(){return this._options},set:function(t){this._options=t}},{key:"_onClick",value:function(t){var n=this;setTimeout((function(){if(!t.defaultPrevented){var i=Y.findParent(n,"ons-navigator");i&&i.popPage(e(e({},n.options),{},{onsBackButton:!0}))}}))}},{key:"connectedCallback",value:function(){this.addEventListener("click",this._boundOnClick,!1),this._connectOnClick()}},{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"class":Y.restoreClass(this,Se,xe);break;case"modifier":M.onModifierChanged(e,n,this,xe)&&this._updateIcon()}}},{key:"disconnectedCallback",value:function(){this.removeEventListener("click",this._boundOnClick,!1),this._disconnectOnClick()}},{key:"show",value:function(){this.style.display="inline-block"}},{key:"hide",value:function(){this.style.display="none"}}],[{key:"observedAttributes",get:function(){return["modifier","class"]}}]),a}(ne);k.BackButton=Pe,customElements.define("ons-back-button",Pe);var Le="bottom-bar",Oe={"":"bottom-bar--*"},Me=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this)).classList.add(Le),M.initModifier(d(t),Oe),t}return o(n,[{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"class":Y.restoreClass(this,Le,Oe);break;case"modifier":M.onModifierChanged(e,n,this,Oe)}}}],[{key:"observedAttributes",get:function(){return["modifier","class"]}}]),n}(ne);k.BottomToolbar=Me,customElements.define("ons-bottom-toolbar",Me);var Te=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"_scheme",get:function(){return{"":"button--*"}}},{key:"_defaultClassName",get:function(){return"button"}}]),n}(ve);k.Button=Te,customElements.define("ons-button",Te);var Ie="card",De={"":"card--*",".card__title":"card--*__title",".card__content":"card--*__content"},Ne=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){t._compile()})),t}return o(n,[{key:"_compile",value:function(){for(var t=0;t1)&&Y.throw("Invalid auto-scroll-ratio "+t+". Must be between 0 and 1"),t},this.shouldBlock="other"===Y.globals.actualMobileOS,this.onDragStart=this.onDragStart.bind(this),this.onDrag=this.onDrag.bind(this),this.onDragEnd=this.onDragEnd.bind(this),this.onResize=this.onResize.bind(this),this._shouldFixScroll="ios"===Y.globals.actualMobileOS}return o(t,[{key:"init",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.swipeable,i=e.autoRefresh;this.initialized=!0,this.target=this.getElement().children[0],this.blocker=this.getElement().children[1],this.target&&this.blocker||Y.throw('Expected "target" and "blocker" elements to exist before initializing Swiper'),this.shouldBlock||(this.blocker.style.display="none"),this.getElement().classList.add("ons-swiper"),this.target.classList.add("ons-swiper-target"),this.blocker.classList.add("ons-swiper-blocker"),this._gestureDetector=new ft(this.getElement(),{dragMinDistance:1,dragLockToAxis:!0,passive:!this._shouldFixScroll}),this._mutationObserver=new MutationObserver((function(){return t.refresh()})),this.updateSwipeable(n),this.updateAutoRefresh(i),this._scroll=this._offset=this._lastActiveIndex=0,this._updateLayout(),this._setupInitialIndex(),setImmediate((function(){return t.initialized&&t._setupInitialIndex()})),window===window.parent&&0!==this.offsetHeight||window.requestAnimationFrame((function(){return t.initialized&&t.onResize()}))}},{key:"dispose",value:function(){this.initialized=!1,this.updateSwipeable(!1),this.updateAutoRefresh(!1),this._gestureDetector&&this._gestureDetector.dispose(),this.target=this.blocker=this._gestureDetector=this._mutationObserver=null,this.setupResize(!1)}},{key:"onResize",value:function(){var t=this._scroll/this.itemNumSize;this._reset(),this.setActiveIndex(t),this.refresh()}},{key:"itemCount",get:function(){return this.target.children.length}},{key:"itemNumSize",get:function(){return"number"==typeof this._itemNumSize&&this._itemNumSize==this._itemNumSize||(this._itemNumSize=this._calculateItemSize()),this._itemNumSize}},{key:"maxScroll",get:function(){var t=this.itemCount*this.itemNumSize-this.targetSize;return Math.ceil(t<0?0:t)}},{key:"_calculateItemSize",value:function(){var t=this.itemSize.match(/^(\d+)(px|%)/);t||Y.throw("Invalid state: swiper's size unit must be '%' or 'px'");var e=parseInt(t[1],10);return"%"===t[2]?Math.round(e/100*this.targetSize):e}},{key:"_setupInitialIndex",value:function(){this._reset(),this._lastActiveIndex=Math.max(Math.min(Number(this.getInitialIndex()),this.itemCount),0),this._scroll=this._offset+this.itemNumSize*this._lastActiveIndex,this._scrollTo(this._scroll)}},{key:"_setSwiping",value:function(t){this.target.classList.toggle("swiping",t)}},{key:"setActiveIndex",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._setSwiping(!0),t=Math.max(0,Math.min(t,this.itemCount-1));var n=Math.max(0,Math.min(this.maxScroll,this._offset+this.itemNumSize*t));return this._changeTo(n,e)}},{key:"getActiveIndex",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._scroll;t-=this._offset;var e=this.itemCount,n=this.itemNumSize;if(0===this.itemNumSize||!Y.isInteger(t))return this._lastActiveIndex;if(t<=0)return 0;for(var i=0;it)return i;return e-1}},{key:"setupResize",value:function(t){window[(t?"add":"remove")+"EventListener"]("resize",this.onResize,!0)}},{key:"show",value:function(){var t=this;this.setupResize(!0),this.onResize(),setTimeout((function(){return t.target&&t.target.classList.add("active")}),1e3/60)}},{key:"hide",value:function(){this.setupResize(!1),this.target.classList.remove("active")}},{key:"updateSwipeable",value:function(t){if(this._gestureDetector){var e=t?"on":"off";this._gestureDetector[e]("drag",this.onDrag),this._gestureDetector[e]("dragstart",this.onDragStart),this._gestureDetector[e]("dragend",this.onDragEnd)}}},{key:"updateAutoRefresh",value:function(t){this._mutationObserver&&(t?this._mutationObserver.observe(this.target,{childList:!0}):this._mutationObserver.disconnect())}},{key:"updateItemSize",value:function(t){this.itemSize=t||"100%",this.refresh()}},{key:"toggleBlocker",value:function(t){this.blocker.style.pointerEvents=t?"auto":"none"}},{key:"_canConsumeGesture",value:function(t){var e=t.direction,n=0===this._scroll&&!this.isOverScrollable(),i=this._scroll===this.maxScroll&&!this.isOverScrollable();return this.isVertical()?"down"===e&&!n||"up"===e&&!i:"right"===e&&!n||"left"===e&&!i}},{key:"onDragStart",value:function(t){var e=this;if(this._ignoreDrag=t.consumed||!Y.isValidGesture(t),!this._ignoreDrag){var n=t.consume;if(t.consume=function(){n&&n(),e._ignoreDrag=!0},this._canConsumeGesture(t.gesture)){var i=t.gesture.center&&t.gesture.center.clientX||0,a=this.getBubbleWidth()||0,o=function(){n&&n(),t.consumed=!0,e._started=!0,e.shouldBlock&&e.toggleBlocker(!0),e._setSwiping(!0),Y.iosPreventScroll(e._gestureDetector)};ithis.targetSize-a?setImmediate((function(){return!e._ignoreDrag&&o()})):o()}}}},{key:"onDrag",value:function(t){t.gesture&&!this._ignoreDrag&&this._started&&(this._continued=!0,t.stopPropagation(),this._scrollTo(this._scroll-this._getDelta(t),{throttle:!0}))}},{key:"onDragEnd",value:function(t){if(this._started=!1,t.gesture&&!this._ignoreDrag&&this._continued){this._continued=!1,t.stopPropagation();var e=this._scroll-this._getDelta(t),n=this._normalizeScroll(e);e===n?this._startMomentumScroll(e,t):this._killOverScroll(n),this.shouldBlock&&this.toggleBlocker(!1)}else this._ignoreDrag=!0}},{key:"_startMomentumScroll",value:function(t,e){var n=this._getVelocity(e),i=e.gesture.interimDirection===this.dM.dir[this._getDelta(e)<0?0:1],a=this._getAutoScroll(t,n,i),o=Math.abs(a-t)/(n+.01)/1e3;o=Math.min(.25,Math.max(.1,o)),this._changeTo(a,{swipe:!0,animationOptions:{duration:o,timing:"cubic-bezier(.4, .7, .5, 1)"}})}},{key:"_killOverScroll",value:function(t){var e=this;this._scroll=t;var n=this.dM.dir[Number(t>0)],i=function(){return e._changeTo(t,{animationOptions:{duration:.4,timing:"cubic-bezier(.1, .4, .1, 1)"}})};this.overScrollHook({direction:n,killOverScroll:i})||i()}},{key:"_changeTo",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i={activeIndex:this.getActiveIndex(t),lastActiveIndex:this._lastActiveIndex,swipe:n.swipe||!1},a=i.activeIndex!==i.lastActiveIndex,o=!!a&&this.preChangeHook(i);return this._scroll=o?this._offset+i.lastActiveIndex*this.itemNumSize:t,this._lastActiveIndex=o?i.lastActiveIndex:i.activeIndex,this._scrollTo(this._scroll,n).then((function(){if(t!==e._scroll||o){if(n.reject)return e._setSwiping(!1),Promise.reject("Canceled")}else e._setSwiping(!1),a&&e.postChangeHook(i)})).catch((function(){return!1}))}},{key:"_scrollTo",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(n.throttle){if(t<0)t=this.isOverScrollable()?Math.round(.35*t):0;else{var i=this.maxScroll;i0&&this.scrollHook((t/this.itemNumSize).toFixed(2),n.animationOptions||{}),new Promise((function(n){return ht(e.target).queue({transform:e._getTransform(t)},a).play(n)}))}},{key:"_getAutoScroll",value:function(t,e,n){var i=this.maxScroll,a=this._offset,o=this.itemNumSize;if(!this.isAutoScrollable())return Math.max(0,Math.min(i,t));for(var r=[],s=a;s1&&(l=r[1]),Math.max(0,Math.min(i,l))}},{key:"_reset",value:function(){this._targetSize=this._itemNumSize=void 0}},{key:"_normalizeScroll",value:function(t){return Math.max(Math.min(t,this.maxScroll),0)}},{key:"refresh",value:function(){if(this._reset(),this._updateLayout(),Y.isInteger(this._scroll)){var t=this._normalizeScroll(this._scroll);t!==this._scroll?this._killOverScroll(t):this._changeTo(t)}else this._setupInitialIndex();this.refreshHook()}},{key:"targetSize",get:function(){return this._targetSize||(this._targetSize=this.target["offset".concat(this.dM.size)]),this._targetSize}},{key:"_getDelta",value:function(t){return t.gesture["delta".concat(this.dM.axis)]}},{key:"_getVelocity",value:function(t){return t.gesture["velocity".concat(this.dM.axis)]}},{key:"_getTransform",value:function(t){return"translate3d(".concat(this.dM.t3d[0]).concat(-t).concat(this.dM.t3d[1],")")}},{key:"_updateLayout",value:function(){this.dM=He[this.isVertical()?"vertical":"horizontal"],this.target.classList.toggle("ons-swiper-target--vertical",this.isVertical());for(var t=this.target.children[0];t;t=t.nextElementSibling)t.style[this.dM.size.toLowerCase()]=this.itemSize;this.isCentered()&&(this._offset=(this.targetSize-this.itemNumSize)/-2||0)}}]),t}(),ze=function(t){s(a,t);var n=h(a);function a(){var t;i(this,a),t=n.call(this);var e=Y.defineListenerProperty(d(t),"swipe"),o=e.onConnected,r=e.onDisconnected;return t._connectOnSwipe=o,t._disconnectOnSwipe=r,It(d(t),(function(){return t._compile()})),t}return o(a,[{key:"_compile",value:function(){var t=this.children[0]&&"ONS-CAROUSEL-ITEM"!==this.children[0].tagName&&this.children[0]||document.createElement("div");if(!t.parentNode){for(;this.firstChild;)t.appendChild(this.firstChild);this.appendChild(t)}!this.children[1]&&this.appendChild(document.createElement("div")),this.appendChild=this.appendChild.bind(t),this.insertBefore=this.insertBefore.bind(t)}},{key:"connectedCallback",value:function(){var t=this;this._swiper||(this._swiper=new qe({getElement:function(){return t},getInitialIndex:function(){return t.getAttribute("active-index")||t.getAttribute("initial-index")},getAutoScrollRatio:function(){return t.autoScrollRatio},isVertical:function(){return t.vertical},isOverScrollable:function(){return t.overscrollable},isCentered:function(){return t.centered},isAutoScrollable:function(){return t.autoScroll},itemSize:this.itemSize,overScrollHook:this._onOverScroll.bind(this),preChangeHook:this._onPreChange.bind(this),postChangeHook:this._onPostChange.bind(this),refreshHook:this._onRefresh.bind(this),scrollHook:function(e,n){return Y.triggerElementEvent(t,"swipe",{index:e,options:n})}}),It(this,(function(){return t._swiper.init({swipeable:t.hasAttribute("swipeable"),autoRefresh:t.hasAttribute("auto-refresh")})}))),this._connectOnSwipe()}},{key:"disconnectedCallback",value:function(){this._swiper&&this._swiper.initialized&&(this._swiper.dispose(),this._swiper=null),this._disconnectOnSwipe()}},{key:"attributeChangedCallback",value:function(t,e,n){if(this._swiper)switch(t){case"swipeable":this._swiper.updateSwipeable(this.hasAttribute("swipeable"));break;case"auto-refresh":this._swiper.updateAutoRefresh(this.hasAttribute("auto-refresh"));break;case"item-height":this.vertical&&this._swiper.updateItemSize(this.itemSize);break;case"item-width":this.vertical||this._swiper.updateItemSize(this.itemSize);break;case"direction":this._swiper.refresh();break;case"active-index":this.getActiveIndex()!==this.activeIndex&&this.setActiveIndex(this.activeIndex)}}},{key:"_show",value:function(){this._swiper.show()}},{key:"_hide",value:function(){this._swiper.hide()}},{key:"_onOverScroll",value:function(t){var e=t.direction,n=t.killOverScroll,i=!1;return Y.triggerElementEvent(this,"overscroll",{carousel:this,activeIndex:this.getActiveIndex(),direction:e,waitToReturn:function(t){i=!0,t.then(n)}}),i}},{key:"_onPreChange",value:function(t){var e=t.activeIndex,n=t.lastActiveIndex;Y.triggerElementEvent(this,"prechange",{carousel:this,activeIndex:e,lastActiveIndex:n})}},{key:"_onPostChange",value:function(t){var e=t.activeIndex,n=t.lastActiveIndex;this.activeIndex=e,Y.triggerElementEvent(this,"postchange",{carousel:this,activeIndex:e,lastActiveIndex:n})}},{key:"_onRefresh",value:function(){Y.triggerElementEvent(this,"refresh",{carousel:this})}},{key:"setActiveIndex",value:function(t){var n=this,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return i=e({animation:this.getAttribute("animation"),animationOptions:this.animationOptions||{duration:.3,timing:"cubic-bezier(.4, .7, .5, 1)"}},i),this._swiper.setActiveIndex(t,i).then((function(){return i.callback instanceof Function&&i.callback(n),Promise.resolve(n)}))}},{key:"getActiveIndex",value:function(){return this._swiper.getActiveIndex()}},{key:"next",value:function(t){return this.setActiveIndex(this.getActiveIndex()+1,t)}},{key:"prev",value:function(t){return this.setActiveIndex(this.getActiveIndex()-1,t)}},{key:"first",value:function(t){return this.setActiveIndex(0,t)}},{key:"last",value:function(t){this.setActiveIndex(Math.max(this.itemCount-1,0),t)}},{key:"refresh",value:function(){this._swiper.refresh()}},{key:"itemCount",get:function(){return this._swiper.itemCount}},{key:"vertical",get:function(){return"vertical"===this.getAttribute("direction")}},{key:"itemSize",get:function(){var t=(this.getAttribute("item-".concat(this.vertical?"height":"width"))||"").trim();return t.match(/^\d+(px|%)$/)?t:"100%"}},{key:"autoScrollRatio",get:function(){return parseFloat(this.getAttribute("auto-scroll-ratio"))},set:function(t){this.setAttribute("auto-scroll-ratio",t)}},{key:"animationOptions",get:function(){var t=this.getAttribute("animation-options");return t?Y.animationOptionsParse(t):t},set:function(t){null==t?this.removeAttribute("animation-options"):this.setAttribute("animation-options",JSON.stringify(t))}},{key:"activeIndex",get:function(){return parseInt(this.getAttribute("active-index"))},set:function(t){null!=t&&this.setAttribute("active-index",t)}}],[{key:"observedAttributes",get:function(){return["swipeable","auto-refresh","direction","item-height","item-width","active-index"]}},{key:"events",get:function(){return["postchange","refresh","overscroll","prechange","swipe"]}}]),a}(ne);Y.defineBooleanProperties(ze,["swipeable","disabled","overscrollable","auto-scroll","centered","fullscreen","auto-refresh"]),k.Carousel=ze,customElements.define("ons-carousel",ze);var Fe=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this)).getAttribute("width")&&t._updateWidth(),t}return o(n,[{key:"attributeChangedCallback",value:function(t,e,n){"width"===t&&this._updateWidth()}},{key:"_updateWidth",value:function(){var t=this.getAttribute("width");t?(t=t.trim().match(/^\d+$/)?t+"%":t,E(this,{flex:"0 0 "+t,maxWidth:t})):E.clear(this,"flex maxWidth")}}],[{key:"observedAttributes",get:function(){return["width"]}}]),n}(ne);k.Col=Fe,customElements.define("ons-col",Fe);var je=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"linear":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.2:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e()}},{key:"hide",value:function(t,e){e()}}]),n}(ae),Ve=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"ease-in-out":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.3:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:0},{opacity:1}),ht(t._dialog,this.def).default({transform:"translate3d(-50%, -60%, 0)",opacity:0},{transform:"translate3d(-50%, -50%, 0)",opacity:1}).queue((function(t){e(),t()})))}},{key:"hide",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:1},{opacity:0}),ht(t._dialog,this.def).default({transform:"translate3d(-50%, -50%, 0)",opacity:1},{transform:"translate3d(-50%, -60%, 0)",opacity:0}).queue((function(t){e(),t()})))}}]),n}(je),We=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"ease-in-out":o,s=a.delay,l=void 0===s?0:s,c=a.duration,u=void 0===c?.2:c;return i(this,n),(t=e.call(this,{timing:r,delay:l,duration:u})).bodyHeight=document.body.clientHeight,t}return o(n,[{key:"show",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:0},{opacity:1}),ht(t._dialog,this.def).default({transform:"translate3d(-50%, ".concat(this.bodyHeight/2-1,"px, 0)")},{transform:"translate3d(-50%, -50%, 0)"}).queue((function(t){e(),t()})))}},{key:"hide",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:1},{opacity:0}),ht(t._dialog,this.def).default({transform:"translate3d(-50%, -50%, 0)"},{transform:"translate3d(-50%, ".concat(this.bodyHeight/2-1,"px, 0)")}).queue((function(t){e(),t()})))}}]),n}(je),Xe=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"cubic-bezier(.1, .7, .4, 1)":o,s=a.delay,l=void 0===s?0:s,c=a.duration,u=void 0===c?.2:c;return i(this,n),(t=e.call(this,{timing:r,delay:l,duration:u})).bodyHeight=document.body.clientHeight,t}return o(n,[{key:"show",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:0},{opacity:1}),ht(t._dialog,this.def).default({transform:"translate3d(-50%, ".concat(-this.bodyHeight/2+1-t._dialog.clientHeight,"px, 0)")},{transform:"translate3d(-50%, -50%, 0)"}).queue((function(t){e(),t()})))}},{key:"hide",value:function(t,e){e=e||function(){},ht.runAll(ht(t._mask,this.def).default({opacity:1},{opacity:0}),ht(t._dialog,this.def).default({transform:"translate3d(-50%, -50%, 0)"},{transform:"translate3d(-50%, ".concat(-this.bodyHeight/2+1-t._dialog.clientHeight,"px, 0)")}).queue((function(t){e(),t()})))}}]),n}(je),Ue={".dialog":"dialog--*",".dialog-container":"dialog-container--*",".dialog-mask":"dialog-mask--*"},Ye={default:function(){return b.isAndroid()?Ve:We},slide:Xe,none:je},$e=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){return t._compile()})),t}return o(n,[{key:"_scheme",get:function(){return Ue}},{key:"_mask",get:function(){return Y.findChild(this,".dialog-mask")}},{key:"_dialog",get:function(){return Y.findChild(this,".dialog")}},{key:"_updateAnimatorFactory",value:function(){return new Z({animators:Ye,baseClass:je,baseClassName:"DialogAnimator",defaultAnimation:this.getAttribute("animation")})}},{key:"_compile",value:function(){if(O.prepare(this),this.style.display="none",this.style.zIndex=10001,!this._dialog){var t=document.createElement("div");t.classList.add("dialog");var e=document.createElement("div");for(e.classList.add("dialog-container");this.firstChild;)e.appendChild(this.firstChild);t.appendChild(e),this.appendChild(t)}if(!this._mask){var n=document.createElement("div");n.classList.add("dialog-mask"),this.insertBefore(n,this.firstChild)}this._dialog.style.zIndex=20001,this._mask.style.zIndex=2e4,this.setAttribute("status-bar-fill",""),M.initModifier(this,this._scheme)}}],[{key:"registerAnimator",value:function(t,e){e.prototype instanceof je||Y.throwAnimator("Dialog"),Ye[t]=e}},{key:"animators",get:function(){return Ye}},{key:"DialogAnimator",get:function(){return je}}]),n}(ce);k.Dialog=$e,customElements.define("ons-dialog",$e);var Ge={"":"fab--*",".fab__icon":"fab--*__icon"},Ke=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._hide(),t.classList.add("fab"),It(d(t),(function(){t._compile()})),t}return o(n,[{key:"_compile",value:function(){if(O.prepare(this),!Y.findChild(this,".fab__icon")){var t=document.createElement("span");t.classList.add("fab__icon"),Y.arrayFrom(this.childNodes).forEach((function(e){e.tagName&&"ons-ripple"===e.tagName.toLowerCase()||t.appendChild(e)})),this.appendChild(t)}this._updateRipple(),M.initModifier(this,Ge),this._updatePosition()}},{key:"connectedCallback",value:function(){var t=this;setImmediate((function(){return t._show()}))}},{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"class":Y.restoreClass(this,"fab",Ge);break;case"modifier":M.onModifierChanged(e,n,this,Ge);break;case"ripple":this._updateRipple();break;case"position":this._updatePosition()}}},{key:"_show",value:function(){this._manuallyHidden||this._toggle(!0)}},{key:"_hide",value:function(){var t=this;setImmediate((function(){return t._toggle(!1)}))}},{key:"_updateRipple",value:function(){Y.updateRipple(this)}},{key:"_updatePosition",value:function(){var t=this.getAttribute("position");switch(this.classList.remove("fab--top__left","fab--bottom__right","fab--bottom__left","fab--top__right","fab--top__center","fab--bottom__center"),t){case"top right":case"right top":this.classList.add("fab--top__right");break;case"top left":case"left top":this.classList.add("fab--top__left");break;case"bottom right":case"right bottom":this.classList.add("fab--bottom__right");break;case"bottom left":case"left bottom":this.classList.add("fab--bottom__left");break;case"center top":case"top center":this.classList.add("fab--top__center");break;case"center bottom":case"bottom center":this.classList.add("fab--bottom__center")}}},{key:"show",value:function(){this.toggle(!0)}},{key:"hide",value:function(){this.toggle(!1)}},{key:"toggle",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.visible;this._manuallyHidden=!t,this._toggle(t)}},{key:"_toggle",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:!this.visible,e=(this.getAttribute("position")||"").indexOf("bottom")>=0?"translate3d(0px, -".concat(Y.globals.fabOffset||0,"px, 0px)"):"";E(this,{transform:"".concat(e," scale(").concat(Number(t),")")})}},{key:"visible",get:function(){return-1===this.style.transform.indexOf("scale(0)")&&"none"!==this.style.display}}],[{key:"observedAttributes",get:function(){return["modifier","ripple","position","class"]}}]),n}(ne);Y.defineBooleanProperties(Ke,["disabled","ripple"]),k.Fab=Ke,customElements.define("ons-fab",Ke);var Je=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._gestureDetector=new ft(d(t),{passive:!0}),t}return o(n)}(ne);k.GestureDetector=Je,customElements.define("ons-gesture-detector",Je);var Qe="fa",Ze=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){t._compile()})),t}return o(n,[{key:"attributeChangedCallback",value:function(t,e,n){this._cleanClassAttribute("icon"===t?e:this.getAttribute("icon"),"modifier"===t?e:void 0),this._update()}},{key:"_compile",value:function(){O.prepare(this),this._update()}},{key:"_update",value:function(){var t=this,e=this._buildClassAndStyle(this._parseAttr("icon"),this._parseAttr("size")),n=e.classList,i=e.style;Y.extend(this.style,i),n.forEach((function(e){return t.classList.add(e)}))}},{key:"_parseAttr",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.getAttribute("modifier")||"",n=(this.getAttribute(t)||t||"").split(/\s*,\s*/),i=n[0],a=n[1];return a=(a||"").split(/\s*:\s*/),(e&&RegExp("(^|\\s+)".concat(a[0],"($|\\s+)"),"i").test(e)?a[1]:i)||""}},{key:"_cleanClassAttribute",value:function(t,e){var n=this,i=this._prefixIcon(this._parseAttr(t,e)),a=i.className,o=i.prefix,r=a!==o?"|".concat(o,"$|").concat(o,"-"):"|".concat(a,"$")||"",s=new RegExp("^(fa$|fa-|ion-|zmdi$|zmdi-|ons-icon--".concat(r,")"));Y.arrayFrom(this.classList).filter((function(t){return s.test(t)})).forEach((function(t){return n.classList.remove(t)}))}},{key:"_prefixIcon",value:function(t){var e=Qe+(Qe?"-":"")+t;return{className:e,prefix:e.split("-")[0]}}},{key:"_buildClassAndStyle",value:function(t,e){var n=["ons-icon"],i={};if(0===t.indexOf("ion-"))n.push(t),n.push("ons-icon--ion");else if(0===t.indexOf("fa-"))n.push(t),this.classList.contains("far")||this.classList.contains("fab")||this.classList.contains("fal")||n.push("fa");else if(0===t.indexOf("md-"))n.push("zmdi"),n.push("zmdi-"+t.split(/-(.+)?/)[1]);else{var a=this._prefixIcon(t),o=a.className,r=a.prefix;r&&n.push(r),o&&n.push(o)}return e.match(/^[1-5]x|lg$/)?(n.push("ons-icon--"+e),this.style.removeProperty("font-size")):i.fontSize=e,{classList:n,style:i}}}],[{key:"observedAttributes",get:function(){return["icon","size","modifier","class"]}},{key:"setAutoPrefix",value:function(t){Qe=t?"string"==typeof t&&t||"fa":""}}]),n}(ne);Y.defineBooleanProperties(Ze,["fixed-width","spin"]),k.Icon=Ze,customElements.define("ons-icon",Ze);var tn=function(){function t(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;i(this,t),"object"===n(e)&&null!==e||Y.throw('"delegate" parameter must be an object'),this._userDelegate=e,a instanceof Element||null===a||Y.throw('"templateElement" parameter must be an instance of Element or null'),this._templateElement=a}return o(t,[{key:"itemHeight",get:function(){return this._userDelegate.itemHeight}},{key:"hasRenderFunction",value:function(){return this._userDelegate._render instanceof Function}},{key:"_render",value:function(){this._userDelegate._render.apply(this._userDelegate,arguments)}},{key:"loadItemElement",value:function(t,e){if(this._userDelegate.loadItemElement instanceof Function)this._userDelegate.loadItemElement(t,e);else{var n=this._userDelegate.createItemContent(t,this._templateElement);n instanceof Element||Y.throw('"createItemContent" must return an instance of Element'),e({element:n})}}},{key:"countItems",value:function(){var t=this._userDelegate.countItems();return"number"!=typeof t&&Y.throw('"countItems" must return a number'),t}},{key:"updateItem",value:function(t,e){this._userDelegate.updateItemContent instanceof Function&&this._userDelegate.updateItemContent(t,e)}},{key:"calculateItemHeight",value:function(t){if(this._userDelegate.calculateItemHeight instanceof Function){var e=this._userDelegate.calculateItemHeight(t);return"number"!=typeof e&&Y.throw('"calculateItemHeight" must return a number'),e}return 0}},{key:"destroyItem",value:function(t,e){this._userDelegate.destroyItem instanceof Function&&this._userDelegate.destroyItem(t,e)}},{key:"destroy",value:function(){this._userDelegate.destroy instanceof Function&&this._userDelegate.destroy(),this._userDelegate=this._templateElement=null}}]),t}(),en=function(){function t(e,n){i(this,t),n instanceof tn||Y.throw('"delegate" parameter must be an instance of LazyRepeatDelegate'),this._wrapperElement=e,this._delegate=n,this._insertIndex=this._wrapperElement.children[0]&&"ONS-LAZY-REPEAT"===this._wrapperElement.children[0].tagName?1:0,"ons-list"===e.tagName.toLowerCase()&&e.classList.add("lazy-list"),this._pageContent=this._findPageContentElement(e),this._pageContent||Y.throw("LazyRepeat must be descendant of a Page element"),this.lastScrollTop=this._pageContent.scrollTop,this.padding=0,this._topPositions=[0],this._renderedItems={},this._delegate.itemHeight||this._delegate.calculateItemHeight(0)||(this._unknownItemHeight=!0),this._addEventListeners(),this._onChange()}return o(t,[{key:"padding",get:function(){return parseInt(this._wrapperElement.style.paddingTop,10)},set:function(t){this._wrapperElement.style.paddingTop=t+"px"}},{key:"_findPageContentElement",value:function(t){var e=Y.findParent(t,".page__content");if(e)return e;var n=Y.findParent(t,"ons-page");if(n){var i=Y.findChild(n,".content");if(i)return i}return null}},{key:"_checkItemHeight",value:function(t){var e=this;this._delegate.loadItemElement(0,(function(n){e._unknownItemHeight||Y.throw("Invalid state"),e._wrapperElement.appendChild(n.element);var i=function(){e._delegate.destroyItem(0,n),n.element&&n.element.remove(),delete e._unknownItemHeight,t()};e._itemHeight=n.element.offsetHeight,e._itemHeight>0?i():(e._wrapperElement.style.visibility="hidden",n.element.style.visibility="hidden",setImmediate((function(){e._itemHeight=n.element.offsetHeight,0==e._itemHeight&&Y.throw('Invalid state: "itemHeight" must be greater than zero'),e._wrapperElement.style.visibility="",i()})))}))}},{key:"staticItemHeight",get:function(){return this._delegate.itemHeight||this._itemHeight}},{key:"_countItems",value:function(){return this._delegate.countItems()}},{key:"_getItemHeight",value:function(t){return Object.prototype.hasOwnProperty.call(this._renderedItems,t)?(Object.prototype.hasOwnProperty.call(this._renderedItems[t],"height")||(this._renderedItems[t].height=this._renderedItems[t].element.offsetHeight),this._renderedItems[t].height):this._topPositions[t+1]&&this._topPositions[t]?this._topPositions[t+1]-this._topPositions[t]:this.staticItemHeight||this._delegate.calculateItemHeight(t)}},{key:"_calculateRenderedHeight",value:function(){var t=this;return Object.keys(this._renderedItems).reduce((function(e,n){return e+t._getItemHeight(+n)}),0)}},{key:"_onChange",value:function(){this._render()}},{key:"_lastItemRendered",value:function(){return Math.max.apply(Math,p(Object.keys(this._renderedItems)))}},{key:"_firstItemRendered",value:function(){return Math.min.apply(Math,p(Object.keys(this._renderedItems)))}},{key:"refresh",value:function(){var t={forceScrollDown:!0},e=this._firstItemRendered();Y.isInteger(e)&&(this._wrapperElement.style.height=this._topPositions[e]+this._calculateRenderedHeight()+"px",this.padding=this._topPositions[e],t.forceFirstIndex=e),this._removeAllElements(),this._render(t),this._wrapperElement.style.height="inherit"}},{key:"_render",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.forceScrollDown,i=void 0!==n&&n,a=e.forceFirstIndex,o=e.forceLastIndex;if(this._unknownItemHeight)return this._checkItemHeight(this._render.bind(this,arguments[0]));var r=!i&&this.lastScrollTop>this._pageContent.scrollTop;this.lastScrollTop=this._pageContent.scrollTop;for(var s={},l=this._wrapperElement.getBoundingClientRect().top,c=4*window.innerHeight-l,u=this._countItems(),d=a||Math.max(0,this._calculateStartIndex(l)-30),h=d,f=this._topPositions[h];h=this._topPositions.length&&(this._topPositions.length+=100),this._topPositions[h]=f,f+=this._getItemHeight(h);if(this._delegate.hasRenderFunction&&this._delegate.hasRenderFunction())return this._delegate._render(d,h,(function(){t.padding=t._topPositions[d]}));if(r)for(var m=h-1;m>=d;m--)s[m]=!0,this._renderElement(m,r);else for(var g=o||Math.max.apply(Math,[h-1].concat(p(Object.keys(this._renderedItems)))),v=d;v<=g;v++)s[v]=!0,this._renderElement(v,r);Object.keys(this._renderedItems).forEach((function(e){return s[e]||t._removeElement(e,r)}))}},{key:"_renderElement",value:function(t,e){var n=this,i=this._renderedItems[t];i?this._delegate.updateItem(t,i):this._delegate.loadItemElement(t,(function(i){e?(n._wrapperElement.insertBefore(i.element,n._wrapperElement.children[n._insertIndex]),n.padding=n._topPositions[t],i.height=n._topPositions[t+1]-n._topPositions[t]):n._wrapperElement.appendChild(i.element),n._renderedItems[t]=i}))}},{key:"_removeElement",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];t=+t;var n=this._renderedItems[t];this._delegate.destroyItem(t,n),e?this._topPositions[t+1]=void 0:this.padding=this.padding+this._getItemHeight(t),n.element.parentElement&&n.element.parentElement.removeChild(n.element),delete this._renderedItems[t]}},{key:"_removeAllElements",value:function(){var t=this;Object.keys(this._renderedItems).forEach((function(e){return t._removeElement(e)}))}},{key:"_recalculateTopPositions",value:function(t,e){for(var n=t;n<=e;n++)this._topPositions[n+1]=this._topPositions[n]+this._getItemHeight(n)}},{key:"_calculateStartIndex",value:function(t){var e=this._firstItemRendered(),n=this._lastItemRendered();this._recalculateTopPositions(e,n);for(var i=0,a=this._countItems()-1;;){var o=Math.floor((i+a)/2),r=t+this._topPositions[o];if(a0)return o;isNaN(r)||r>=0?a=o-1:i=o+1}}},{key:"_debounce",value:function(t,e,n){var i;return function(){var a=arguments,o=this,r=n&&!i;clearTimeout(i),r?t.apply(this,arguments):i=setTimeout((function(){i=null,t.apply(o,a)}),e)}}},{key:"_doubleFireOnTouchend",value:function(){this._render(),this._debounce(this._render.bind(this),100)}},{key:"_addEventListeners",value:function(){Y.bindListeners(this,["_onChange","_doubleFireOnTouchend"]),b.isIOS()&&(this._boundOnChange=this._debounce(this._boundOnChange,30)),this._pageContent.addEventListener("scroll",this._boundOnChange,!0),b.isIOS()&&(Y.addEventListener(this._pageContent,"touchmove",this._boundOnChange,{capture:!0,passive:!0}),this._pageContent.addEventListener("touchend",this._boundDoubleFireOnTouchend,!0)),window.document.addEventListener("resize",this._boundOnChange,!0)}},{key:"_removeEventListeners",value:function(){this._pageContent.removeEventListener("scroll",this._boundOnChange,!0),b.isIOS()&&(Y.removeEventListener(this._pageContent,"touchmove",this._boundOnChange,{capture:!0,passive:!0}),this._pageContent.removeEventListener("touchend",this._boundDoubleFireOnTouchend,!0)),window.document.removeEventListener("resize",this._boundOnChange,!0)}},{key:"destroy",value:function(){this._removeAllElements(),this._delegate.destroy(),this._parentElement=this._delegate=this._renderedItems=null,this._removeEventListeners()}}]),t}(),nn=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"connectedCallback",value:function(){this.hasAttribute("delegate")&&(this.delegate=window[this.getAttribute("delegate")])}},{key:"delegate",get:function(){Y.throw("No delegate getter")},set:function(t){this._lazyRepeatProvider&&this._lazyRepeatProvider.destroy(),!this._templateElement&&this.children[0]&&(this._templateElement=this.removeChild(this.children[0]));var e=new tn(t,this._templateElement||null);this._lazyRepeatProvider=new en(this.parentElement,e)}},{key:"refresh",value:function(){this._lazyRepeatProvider&&this._lazyRepeatProvider.refresh()}},{key:"attributeChangedCallback",value:function(t,e,n){}},{key:"disconnectedCallback",value:function(){this._lazyRepeatProvider&&(this._lazyRepeatProvider.destroy(),this._lazyRepeatProvider=null)}}]),n}(ne);Q.LazyRepeatDelegate=tn,Q.LazyRepeatProvider=en,k.LazyRepeat=nn,customElements.define("ons-lazy-repeat",nn);var an="list-header",on={"":"list-header--*"},rn=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._compile(),t}return o(n,[{key:"_compile",value:function(){O.prepare(this),this.classList.add(an),M.initModifier(this,on)}},{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"class":Y.restoreClass(this,an,on);break;case"modifier":M.onModifierChanged(e,n,this,on)}}}],[{key:"observedAttributes",get:function(){return["modifier","class"]}}]),n}(ne);k.ListHeader=rn,customElements.define("ons-list-header",rn);var sn="list-title",ln={"":"list-title--*"},cn=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._compile(),t}return o(n,[{key:"_compile",value:function(){O.prepare(this),this.classList.add(sn),M.initModifier(this,ln)}},{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"class":Y.restoreClass(this,sn,ln);break;case"modifier":M.onModifierChanged(e,n,this,ln)}}}],[{key:"observedAttributes",get:function(){return["modifier","class"]}}]),n}(ne);k.ListTitle=cn,customElements.define("ons-list-title",cn);var un=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"linear":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.2:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"showExpansion",value:function(t,e){e()}},{key:"hideExpansion",value:function(t,e){e()}}]),n}(ae),dn=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"showExpansion",value:function(t,e){this._animateExpansion(t,!0,e)}},{key:"hideExpansion",value:function(t,e){this._animateExpansion(t,!1,e)}},{key:"_animateExpansion",value:function(t,e,n){var i,a=t.expandableContent.style.height,o=t.expandableContent.style.display;t.expandableContent.style.height="auto",t.expandableContent.style.display="block";var r,s=window.getComputedStyle(t.expandableContent),l=[{height:0,paddingTop:0,paddingBottom:0},{height:s.height,paddingTop:s.paddingTop,paddingBottom:s.paddingBottom}],c=[{transform:"rotate(45deg)"},{transform:"rotate(225deg)"}];(t.expandableContent.style.height=a,(i=ht(t.expandableContent,{duration:this.duration,property:"height padding-top padding-bottom"})).default.apply(i,p(e?l:l.reverse())).play((function(){t.expandableContent.style.display=o,n&&n()})),t.expandChevron)&&(r=ht(t.expandChevron,{duration:this.duration,property:"transform"})).default.apply(r,p(e?c:c.reverse())).play()}}]),n}(un),hn="list-item",fn={".list-item":"list-item--*",".list-item__left":"list-item--*__left",".list-item__center":"list-item--*__center",".list-item__right":"list-item--*__right",".list-item__label":"list-item--*__label",".list-item__title":"list-item--*__title",".list-item__subtitle":"list-item--*__subtitle",".list-item__thumbnail":"list-item--*__thumbnail",".list-item__icon":"list-item--*__icon"},pn={default:dn,none:un},mn=function(t){s(n,t);var e=h(n);function n(){var t;i(this,n),(t=e.call(this))._animatorFactory=t._updateAnimatorFactory();var a=/^ons-(?!col$|row$|if$)/i;return t._shouldIgnoreTap=function(t){return t.hasAttribute("prevent-tap")||a.test(t.tagName)},t.show=t.showExpansion,t.hide=t.hideExpansion,It(d(t),(function(){t._compile()})),t}return o(n,[{key:"_compile",value:function(){var t,e;O.prepare(this),this.classList.add(hn);var n,i,a,o=[];Array.from(this.childNodes).forEach((function(n){n.nodeType!==Node.ELEMENT_NODE?o.push(n):n.classList.contains("top")?t=n:n.classList.contains("expandable-content")?e=n:o.push(n),"ONS-RIPPLE"!==n.nodeName&&n.remove()})),o=t?Array.from(t.childNodes):o;var r=[];if(o.forEach((function(t){t.nodeType!==Node.ELEMENT_NODE?r.push(t):t.classList.contains("left")?n=t:t.classList.contains("right")?i=t:t.classList.contains("center")?a=t:r.push(t)})),this.hasAttribute("expandable")){if(this.classList.add("list-item--expandable"),t||(t=document.createElement("div")).classList.add("top"),t.classList.add("list-item__top"),this.appendChild(t),this._top=t,e&&(e.classList.add("list-item__expandable-content"),this.appendChild(e)),!i){(i=document.createElement("div")).classList.add("list-item__right","right");var s=document.createElement("span");s.classList.add("list-item__expand-chevron"),i.appendChild(s)}this.expanded&&this.classList.add("list-item--expanded")}else t=this;a||((a=document.createElement("div")).classList.add("center"),r.forEach((function(t){return a.appendChild(t)}))),a.classList.add("list-item__center"),t.appendChild(a),n&&(n.classList.add("list-item__left"),t.appendChild(n)),i&&(i.classList.add("list-item__right"),t.appendChild(i)),Y.updateRipple(this),M.initModifier(this,fn)}},{key:"showExpansion",value:function(){this.expanded=!0}},{key:"hideExpansion",value:function(){this.expanded=!1}},{key:"toggleExpansion",value:function(){this.expanded=!this.expanded}},{key:"clearTapBackgroundColor",value:function(){this._clearTapBackgroundColor()}},{key:"_animateExpansion",value:function(){var t=this,e=this.expanded&&this.classList.contains("list-item--expanded");if(this.hasAttribute("expandable")&&!this._expanding&&!e){this._expanding=!0;var n=function(){t._expanding=!1,t.expanded?t.classList.add("list-item--expanded"):t.classList.remove("list-item--expanded")},i=this._animatorFactory.newAnimator();i._animateExpansion?i._animateExpansion(this,this.expanded,n):n()}}},{key:"_updateAnimatorFactory",value:function(){return new Z({animators:pn,baseClass:un,baseClassName:"ListItemAnimator",defaultAnimation:this.getAttribute("animation")||"default"})}},{key:"expandableContent",get:function(){return this.querySelector(".list-item__expandable-content")}},{key:"expandChevron",get:function(){return this.querySelector(".list-item__expand-chevron")}},{key:"attributeChangedCallback",value:function(t,e,n){var i=this;switch(t){case"class":Y.restoreClass(this,hn,fn);break;case"modifier":M.onModifierChanged(e,n,this,fn);break;case"ripple":Y.updateRipple(this);break;case"animation":this._animatorFactory=this._updateAnimatorFactory();break;case"expanded":It(this,(function(){return i._animateExpansion()}))}}},{key:"connectedCallback",value:function(){var t=this;It(this,(function(){t._setupListeners(!0),t._originalBackgroundColor=t.style.backgroundColor,t.tapped=!1}))}},{key:"disconnectedCallback",value:function(){this._setupListeners(!1)}},{key:"_setupListeners",value:function(t){var e=(t?"add":"remove")+"EventListener";Y[e](this,"touchstart",this._onTouch,{passive:!0}),Y[e](this,"touchmove",this._onRelease,{passive:!0}),this[e]("touchcancel",this._onRelease),this[e]("touchend",this._onRelease),this[e]("touchleave",this._onRelease),this[e]("drag",this._onDrag),this[e]("mousedown",this._onTouch),this[e]("mouseup",this._onRelease),this[e]("mouseout",this._onRelease),this._top&&this._top[e]("click",this._onClickTop.bind(this))}},{key:"_onClickTop",value:function(){this._expanding||(this.toggleExpansion(),this.dispatchEvent(new Event("expand")),this.dispatchEvent(new Event("expansion")))}},{key:"_onDrag",value:function(t){var e=t.gesture;this.hasAttribute("lock-on-drag")&&["left","right"].indexOf(e.direction)>-1&&e.preventDefault()}},{key:"_onTouch",value:function(t){var e=this;if(!(this.tapped||this!==t.target&&(this._shouldIgnoreTap(t.target)||Y.findParent(t.target,this._shouldIgnoreTap,(function(t){return t===e}))))){this.tapped=!0;var n={transition:"background-color 0.0s linear 0.02s, box-shadow 0.0s linear 0.02s"};this.hasAttribute("tappable")&&(this.style.backgroundColor&&(this._originalBackgroundColor=this.style.backgroundColor),n.backgroundColor=this.getAttribute("tap-background-color")||"#d9d9d9",n.boxShadow="0px -1px 0px 0px ".concat(n.backgroundColor)),E(this,n)}}},{key:"_onRelease",value:function(){this.tapped=!1,this.keepTapBackgroundColor||this._clearTapBackgroundColor(),E.clear(this,"transition boxShadow")}},{key:"_clearTapBackgroundColor",value:function(){this.style.backgroundColor=this._originalBackgroundColor||""}}],[{key:"observedAttributes",get:function(){return["modifier","class","ripple","animation","expanded"]}}]),n}(ne);Y.defineBooleanProperties(mn,["expanded","expandable","tappable","lock-on-drag","keep-tap-background-color"]),Y.defineStringProperties(mn,["animation","tap-background-color"]),k.ListItem=mn,customElements.define("ons-list-item",mn);var gn="list",vn={"":"list--*"},_n=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._compile(),t}return o(n,[{key:"_compile",value:function(){O.prepare(this),this.classList.add(gn),M.initModifier(this,vn)}},{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"class":Y.restoreClass(this,gn,vn);break;case"modifier":M.onModifierChanged(e,n,this,vn)}}}],[{key:"observedAttributes",get:function(){return["modifier","class"]}}]),n}(ne);k.List=_n,customElements.define("ons-list",_n);var bn=["autocapitalize","autocomplete","autocorrect","autofocus","disabled","inputmode","max","maxlength","min","minlength","name","pattern","placeholder","readonly","required","size","spellcheck","step","validator","value"],yn=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this)).constructor===n&&Y.throwAbstract(),It(d(t),(function(){return t._compile()})),t._boundDelegateEvent=t._delegateEvent.bind(d(t)),t}return o(n,[{key:"_update",value:function(){}},{key:"_scheme",get:function(){Y.throwMember()}},{key:"_template",get:function(){Y.throwMember()}},{key:"type",get:function(){Y.throwMember()}},{key:"_compile",value:function(){O.prepare(this),this._defaultClassName&&this.classList.add(this._defaultClassName),0===this.children.length&&(this.appendChild(Y.createFragment(this._template)),this._setInputId(),this._updateBoundAttributes(),M.initModifier(this,this._scheme))}},{key:"_updateBoundAttributes",value:function(){var t=this;bn.forEach((function(e){t.hasAttribute(e)?t._input.setAttribute(e,t.getAttribute(e)):t._input.removeAttribute(e)})),this._update()}},{key:"_delegateEvent",value:function(t){var e=new CustomEvent(t.type,{bubbles:!1,cancelable:!0});return this.dispatchEvent(e)}},{key:"_setInputId",value:function(){this.hasAttribute("input-id")&&(this._input.id=this.getAttribute("input-id"))}},{key:"_defaultClassName",get:function(){return""}},{key:"_input",get:function(){return this.querySelector("input")}},{key:"value",get:function(){return null===this._input?this.getAttribute("value"):this._input.value},set:function(t){var e=this;It(this,(function(){t instanceof Date&&(t=t.toISOString().substring(0,10)),e._input.value=t,e._update()}))}},{key:"connectedCallback",value:function(){var t=this;It(this,(function(){t._input.addEventListener("focus",t._boundDelegateEvent),t._input.addEventListener("blur",t._boundDelegateEvent)}))}},{key:"disconnectedCallback",value:function(){var t=this;It(this,(function(){t._input.removeEventListener("focus",t._boundDelegateEvent),t._input.removeEventListener("blur",t._boundDelegateEvent)}))}},{key:"attributeChangedCallback",value:function(t,e,n){var i=this;switch(t){case"modifier":It(this,(function(){return M.onModifierChanged(e,n,i,i._scheme)}));break;case"input-id":It(this,(function(){return i._setInputId()}));break;case"class":Y.restoreClass(this,this._defaultClassName,this._scheme)}bn.indexOf(t)>=0&&It(this,(function(){return i._updateBoundAttributes()}))}},{key:"blur",value:function(){this._input.blur()}},{key:"focus",value:function(){this._input.focus()}}],[{key:"observedAttributes",get:function(){return["modifier","input-id","class"].concat(bn)}}]),n}(ne);Y.defineBooleanProperties(yn,["disabled"]);var kn={".text-input":"text-input--*",".text-input__label":"text-input--*__label"},wn=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._boundOnInput=t._update.bind(d(t)),t._boundOnFocusin=t._update.bind(d(t)),t}return o(n,[{key:"_update",value:function(){this._updateLabel(),this._updateLabelClass()}},{key:"_scheme",get:function(){return kn}},{key:"_template",get:function(){return'\n \n \n ')}},{key:"type",get:function(){var t=this.getAttribute("type");return["checkbox","radio"].indexOf(t)<0&&t||"text"},set:function(t){this.setAttribute("type",t)}},{key:"_updateLabel",value:function(){var t=this.getAttribute("placeholder")||"";void 0!==this._helper.textContent?this._helper.textContent=t:this._helper.innerText=t}},{key:"_updateLabelClass",value:function(){""===this.value?this._helper.classList.remove("text-input--material__label--active"):this._helper.classList.add("text-input--material__label--active")}},{key:"_helper",get:function(){return this.querySelector("span")}},{key:"connectedCallback",value:function(){var t=this;f(l(n.prototype),"connectedCallback",this).call(this),It(this,(function(){t._input.addEventListener("input",t._boundOnInput),t._input.addEventListener("focusin",t._boundOnFocusin)}));var e=this.getAttribute("type");["checkbox","radio"].indexOf(e)>=0&&Y.warn('Warn: is deprecated since v2.4.0. Use instead."))}},{key:"disconnectedCallback",value:function(){var t=this;f(l(n.prototype),"disconnectedCallback",this).call(this),It(this,(function(){t._input.removeEventListener("input",t._boundOnInput),t._input.removeEventListener("focusin",t._boundOnFocusin)}))}},{key:"attributeChangedCallback",value:function(t,e,i){var a=this;if("type"===t)It(this,(function(){return a._input.setAttribute("type",a.type)}));else f(l(n.prototype),"attributeChangedCallback",this).call(this,t,e,i)}}],[{key:"observedAttributes",get:function(){return[].concat(p(f(l(n),"observedAttributes",this)),["type"])}}]),n}(yn);Y.defineBooleanProperties(wn,["float"]),k.Input=wn,customElements.define("ons-input",wn);var En=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this)).constructor===n&&util.throwAbstract(),It(d(t),(function(){t.attributeChangedCallback("checked",null,t.getAttribute("checked"))})),t}return o(n,[{key:"_template",get:function(){return'\n \n \n ')}},{key:"_helper",get:function(){return this.querySelector("span")}},{key:"checked",get:function(){return this._input.checked},set:function(t){var e=this;It(this,(function(){e._input.checked=t}))}},{key:"attributeChangedCallback",value:function(t,e,i){if("checked"===t)this.checked=null!==i;else f(l(n.prototype),"attributeChangedCallback",this).call(this,t,e,i)}}],[{key:"observedAttributes",get:function(){return[].concat(p(f(l(n),"observedAttributes",this)),["checked"])}}]),n}(yn),Cn={".checkbox":"checkbox--*",".checkbox__input":"checkbox--*__input",".checkbox__checkmark":"checkbox--*__checkmark"},An=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"_scheme",get:function(){return Cn}},{key:"_defaultClassName",get:function(){return"checkbox"}},{key:"type",get:function(){return"checkbox"}}]),n}(En);k.Checkbox=An,customElements.define("ons-checkbox",An);var Sn={".radio-button":"radio-button--*",".radio-button__input":"radio-button--*__input",".radio-button__checkmark":"radio-button--*__checkmark"},xn=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"_scheme",get:function(){return Sn}},{key:"_defaultClassName",get:function(){return"radio-button"}},{key:"type",get:function(){return"radio"}}]),n}(En);k.Radio=xn,customElements.define("ons-radio",xn);var Pn={".search-input":"search-input--*"},Ln=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"_scheme",get:function(){return Pn}},{key:"_template",get:function(){return'\n \n ')}},{key:"type",get:function(){return"search"}}]),n}(yn);k.SearchInput=Ln,customElements.define("ons-search-input",Ln);var On=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"linear":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.2:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e()}},{key:"hide",value:function(t,e){e()}}]),n}(ae),Mn=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"linear":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.3:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e=e||function(){},ht(t,this.def).default({opacity:0},{opacity:1}).queue((function(t){e(),t()})).play()}},{key:"hide",value:function(t,e){e=e||function(){},ht(t,this.def).default({opacity:1},{opacity:0}).queue((function(t){e(),t()})).play()}}]),n}(On),Tn=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"cubic-bezier( .1, .7, .1, 1)":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.4:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e=e||function(){},ht(t,this.def).default({transform:"translate3d(0, 100%, 0)"},{transform:"translate3d(0, 0, 0)"}).queue((function(t){e(),t()})).play()}},{key:"hide",value:function(t,e){e=e||function(){},ht(t,this.def).default({transform:"translate3d(0, 0, 0)"},{transform:"translate3d(0, 100%, 0)"}).queue((function(t){e(),t()})).play()}}]),n}(On),In={"":"modal--*",modal__content:"modal--*__content"},Dn="modal",Nn={default:On,fade:Mn,lift:Tn,none:On},Bn=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._defaultDBB=function(){},It(d(t),(function(){return t._compile()})),t}return o(n,[{key:"_scheme",get:function(){return In}},{key:"_updateAnimatorFactory",value:function(){return new Z({animators:Nn,baseClass:On,baseClassName:"ModalAnimator",defaultAnimation:this.getAttribute("animation")})}},{key:"_compile",value:function(){if(this.style.display="none",this.style.zIndex=10001,this.classList.add(Dn),!Y.findChild(this,".modal__content")){var t=document.createElement("div");for(t.classList.add("modal__content");this.childNodes[0];){var e=this.childNodes[0];this.removeChild(e),t.insertBefore(e,null)}this.appendChild(t)}M.initModifier(this,this._scheme)}},{key:"_toggleStyle",value:function(t){this.style.display=t?"table":"none"}},{key:"connectedCallback",value:function(){f(l(n.prototype),"connectedCallback",this).call(this)}},{key:"disconnectedCallback",value:function(){f(l(n.prototype),"disconnectedCallback",this).call(this)}},{key:"attributeChangedCallback",value:function(t,e,i){"class"===t?Y.restoreClass(this,Dn,In):f(l(n.prototype),"attributeChangedCallback",this).call(this,t,e,i)}}],[{key:"observedAttributes",get:function(){return[].concat(p(f(l(n),"observedAttributes",this)),["class"])}},{key:"registerAnimator",value:function(t,e){e.prototype instanceof On||Y.throwAnimator("Modal"),Nn[t]=e}},{key:"animators",get:function(){return Nn}},{key:"ModalAnimator",get:function(){return On}}]),n}(ce);k.Modal=Bn,customElements.define("ons-modal",Bn);var Rn=function(){function t(e){var n=this;i(this,t),"element ignoreSwipe isInitialState onDragCallback swipeMax swipeMin swipeMid".split(/\s+/).forEach((function(t){return n[t]=e[t]})),this.elementHandler=e.elementHandler||e.element,this.getThreshold=e.getThreshold||function(){return.5},this.getSide=e.getSide||function(){return"left"},this.handleGesture=this.handleGesture.bind(this),this._shouldFixScroll="ios"===Y.globals.actualMobileOS}return o(t,[{key:"update",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.element.hasAttribute("swipeable");this.gestureDetector||(this.gestureDetector=new ft(this.elementHandler,{dragMinDistance:1,passive:!this._shouldFixScroll}));var e=t?"on":"off";this.gestureDetector[e]("drag dragstart dragend",this.handleGesture)}},{key:"handleGesture",value:function(t){t.gesture&&("dragstart"===t.type?this.onDragStart(t):this._ignoreDrag||("dragend"===t.type?this.onDragEnd(t):this.onDrag(t)))}},{key:"onDragStart",value:function(t){var e,n,i,a=this;this._ignoreDrag=t.consumed||!Y.isValidGesture(t)||this.ignoreSwipe(t,"left"===a.getSide()?t.gesture.center.clientX:window.innerWidth-t.gesture.center.clientX),this._ignoreDrag||(t.consume&&t.consume(),t.consumed=!0,this._width=(e=this.element.style.width||"100%",n=[parseInt(e,10),/px/.test(e)],i=n[0],n[1]?i:Math.round(document.body.offsetWidth*i/100)),this._startDistance=this._distance=this.isInitialState instanceof Function&&!this.isInitialState()?this._width:0,Y.iosPreventScroll(this.gestureDetector))}},{key:"onDrag",value:function(t){t.stopPropagation();var e="left"===this.getSide()?t.gesture.deltaX:-t.gesture.deltaX,n=Math.max(0,Math.min(this._width,this._startDistance+e));n!==this._distance&&(this._distance=n,this.swipeMid(this._distance,this._width))}},{key:"onDragEnd",value:function(t){t.stopPropagation();var e=t.gesture.interimDirection;this.getSide()!==e&&this._distance>this._width*this.getThreshold()?this.swipeMax():this.swipeMin()}},{key:"dispose",value:function(){this.gestureDetector&&this.gestureDetector.dispose(),this.gestureDetector=this.element=this.elementHandler=null}}]),t}(),Hn=function(t){s(n,t);var e=h(n);function n(t){return i(this,n),t=Y.extend({timing:"linear",duration:"0.4",delay:"0"},t||{}),e.call(this,t)}return o(n,[{key:"push",value:function(t,e,n){n()}},{key:"pop",value:function(t,e,n){n()}},{key:"block",value:function(t){var e=Y.createElement('\n
\n ');return t.parentNode.appendChild(e),function(){return e.remove()}}}]),n}(ae),qn=["durationRestore","durationSwipe","timingSwipe"],zn=function(t){s(a,t);var n=h(a);function a(){var t,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=o.durationRestore,s=void 0===r?.1:r,l=o.durationSwipe,c=void 0===l?.15:l,d=o.timingSwipe,h=void 0===d?"linear":d,f=u(o,qn);return i(this,a),(t=n.call(this,e({},f))).constructor===a&&Y.throwAbstract(),t.durationRestore=s,t.durationSwipe=c,t.timingSwipe=h,t.optSwipe={timing:h,duration:c},t.optRestore={timing:h,duration:s},t.swipeShadow=Y.createElement('
'),t.isDragStart=!0,t}return o(a,[{key:"_decompose",value:function(){Y.throwMember()}},{key:"_shouldAnimateToolbar",value:function(){Y.throwMember()}},{key:"_calculateDelta",value:function(){Y.throwMember()}},{key:"_dragStartSetup",value:function(t,e){this.isDragStart=!1,this.unblock=f(l(a.prototype),"block",this).call(this,e),t.parentElement.insertBefore(this.backgroundMask,t),this.target={enter:Y.findToolbarPage(t)||t,leave:Y.findToolbarPage(e)||e},this.decomp={enter:this._decompose(this.target.enter),leave:this._decompose(this.target.leave)},this.delta=this._calculateDelta(e,this.decomp.leave),this.shouldAnimateToolbar=this._shouldAnimateToolbar(this.target.enter,this.target.leave),this.shouldAnimateToolbar?(this.swipeShadow.style.top=this.decomp.leave.toolbar.offsetHeight+"px",this.target.leave.appendChild(this.swipeShadow),this._saveStyle(this.target.enter,this.target.leave)):(e.appendChild(this.swipeShadow),this._saveStyle(t,e)),e.classList.add("overflow-visible"),this.overflowElement=e,this.decomp.leave.content.classList.add("content-swiping")}},{key:"translate",value:function(t,e,n,i){this.isSwiping=!0,"none"===n.style.display&&(n.style.display=""),this.isDragStart&&(this.maxWidth=e,this._dragStartSetup(n,i));var a=(t-e)/e;this.shouldAnimateToolbar?ht.runAll(ht([this.decomp.enter.content,this.decomp.enter.bottomToolbar,this.decomp.enter.background]).queue({transform:"translate3d(".concat(25*a,"%, 0, 0)"),opacity:1+10*a/100}),ht(this.decomp.enter.toolbarCenter).queue({transform:"translate3d(".concat(this.delta.title*a,"px, 0, 0)"),opacity:1+a}),ht(this.decomp.enter.backButtonLabel).queue({opacity:1+10*a/100,transform:"translate3d(".concat(this.delta.label*a,"px, 0, 0)")}),ht(this.decomp.enter.other).queue({opacity:1+a}),ht([this.decomp.leave.content,this.decomp.leave.bottomToolbar,this.decomp.leave.background,this.swipeShadow]).queue({transform:"translate3d(".concat(t,"px, 0, 0)")}),ht(this.decomp.leave.toolbar).queue({opacity:-1*a}),ht(this.decomp.leave.toolbarCenter).queue({transform:"translate3d(".concat(125*(1+a),"%, 0, 0)")}),ht(this.decomp.leave.backButtonLabel).queue({opacity:-1*a,transform:"translate3d(".concat(this.delta.title*(1+a),"px, 0, 0)")}),ht(this.swipeShadow).queue({opacity:-1*a})):ht.runAll(ht(i).queue({transform:"translate3d(".concat(t,"px, 0, 0)")}),ht(n).queue({transform:"translate3d(".concat(25*a,"%, 0, 0)"),opacity:1+10*a/100}),ht(this.swipeShadow).queue({opacity:-1*a}))}},{key:"restore",value:function(t,e,n){var i=this;this.isDragStart||(this.shouldAnimateToolbar?ht.runAll(ht([this.decomp.enter.content,this.decomp.enter.bottomToolbar,this.decomp.enter.background]).queue({transform:"translate3d(-25%, 0, 0)",opacity:.9},this.optRestore),ht(this.decomp.enter.toolbarCenter).queue({transform:"translate3d(-".concat(this.delta.title,"px, 0, 0)"),transition:"opacity ".concat(this.durationRestore,"s linear, transform ").concat(this.durationRestore,"s ").concat(this.timingSwipe),opacity:0}),ht(this.decomp.enter.backButtonLabel).queue({transform:"translate3d(-".concat(this.delta.label,"px, 0, 0)")},this.optRestore),ht(this.decomp.enter.other).queue({opacity:0},this.optRestore),ht([this.decomp.leave.content,this.decomp.leave.bottomToolbar,this.decomp.leave.background,this.swipeShadow]).queue({transform:"translate3d(0, 0, 0)"},this.optRestore),ht(this.decomp.leave.toolbar).queue({opacity:1},this.optRestore),ht(this.decomp.leave.toolbarCenter).queue({transform:"translate3d(0, 0, 0)"},this.optRestore),ht(this.decomp.leave.backButtonLabel).queue({opacity:1,transform:"translate3d(0, 0, 0)",transition:"opacity ".concat(this.durationRestore,"s linear, transform ").concat(this.durationRestore,"s ").concat(this.timingSwipe)}),ht(this.swipeShadow).queue({opacity:0},this.optRestore).queue((function(e){i._reset(i.target.enter,i.target.leave),t.style.display="none",n&&n(),e()}))):ht.runAll(ht(t).queue({transform:"translate3D(-25%, 0, 0)",opacity:.9},this.optRestore),ht(e).queue({transform:"translate3D(0, 0, 0)"},this.optRestore).queue((function(a){i._reset(t,e),t.style.display="none",n&&n(),a()}))))}},{key:"popSwipe",value:function(t,e,n){var i=this;this.isDragStart||(this.shouldAnimateToolbar?ht.runAll(ht([this.decomp.enter.content,this.decomp.enter.bottomToolbar,this.decomp.enter.background]).queue({transform:"translate3d(0, 0, 0)",opacity:1},this.optSwipe),ht(this.decomp.enter.toolbarCenter).queue({transform:"translate3d(0, 0, 0)",transition:"opacity ".concat(this.durationSwipe,"s linear, transform ").concat(this.durationSwipe,"s ").concat(this.timingSwipe),opacity:1}),ht(this.decomp.enter.backButtonLabel).queue({transform:"translate3d(0, 0, 0)"},this.optSwipe),ht(this.decomp.enter.other).queue({opacity:1},this.optSwipe),ht([this.decomp.leave.content,this.decomp.leave.bottomToolbar,this.decomp.leave.background]).queue({transform:"translate3d(100%, 0, 0)"},this.optSwipe),ht(this.decomp.leave.toolbar).queue({opacity:0},this.optSwipe),ht(this.decomp.leave.toolbarCenter).queue({transform:"translate3d(125%, 0, 0)"},this.optSwipe),ht(this.decomp.leave.backButtonLabel).queue({opacity:0,transform:"translate3d(".concat(this.delta.title,"px, 0, 0)"),transition:"opacity ".concat(this.durationSwipe,"s linear, transform ").concat(this.durationSwipe,"s ").concat(this.timingSwipe)}),ht(this.swipeShadow).queue({opacity:0,transform:"translate3d(".concat(this.maxWidth,"px, 0, 0)")},this.optSwipe).queue((function(t){i._reset(i.target.enter,i.target.leave),n&&n(),t()}))):ht.runAll(ht(t).queue({transform:"translate3D(0, 0, 0)",opacity:1},this.optSwipe),ht(e).queue({transform:"translate3D(100%, 0, 0)"},this.optSwipe).queue((function(a){i._reset(t,e),n&&n(),a()}))))}},{key:"_saveStyle",value:function(){var t=this;this._savedStyle=new WeakMap;for(var e=function(e){return t._savedStyle.set(e,e.getAttribute("style"))},n=arguments.length,i=new Array(n),a=0;a1&&void 0!==arguments[1]?arguments[1]:0,e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return"translate3d(".concat(arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,", ").concat(t,", ").concat(e,")")},Vn=function(t){s(a,t);var n=h(a);function a(){var t,o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=o.timing,s=void 0===r?"cubic-bezier(0.3, .4, 0, .9)":r,l=o.delay,c=void 0===l?0:l,d=o.duration,h=void 0===d?.4:d,f=u(o,Fn);return i(this,a),(t=n.call(this,e({timing:s,delay:c,duration:h},f))).backgroundMask=Y.createElement('
'),t}return o(a,[{key:"_decompose",value:function(t){var e=t._getToolbarElement(),n=e._getToolbarLeftItemsElement(),i=e._getToolbarRightItemsElement(),a=function(t){for(var e=[],n=0;n0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"cubic-bezier(.1, .7, .1, 1)":o,s=a.delay,l=void 0===s?0:s,c=a.duration,u=void 0===c?.4:c;return i(this,n),(t=e.call(this,{timing:r,delay:l,duration:u})).backgroundMask=Y.createElement('
'),t}return o(n,[{key:"push",value:function(t,e,i){var a=this;this.backgroundMask.remove(),e.parentNode.insertBefore(this.backgroundMask,e);var o=f(l(n.prototype),"block",this).call(this,t);ht.runAll(ht(t,this.def).default({transform:"translate3D(0, 100%, 0)"},{transform:"translate3D(0, 0, 0)"}),ht(e,this.def).default({transform:"translate3D(0, 0, 0)",opacity:1},{transform:"translate3D(0, -10%, 0)",opacity:.9}).queue((function(t){a.backgroundMask.remove(),o(),i(),t()})))}},{key:"pop",value:function(t,e,i){var a=this;this.backgroundMask.remove(),t.parentNode.insertBefore(this.backgroundMask,t);var o=f(l(n.prototype),"block",this).call(this,t);ht.runAll(ht(t,this.def).default({transform:"translate3D(0, -43px, 0)",opacity:.9},{transform:"translate3D(0, 0, 0)",opacity:1}).queue((function(t){a.backgroundMask.remove(),o(),i(),t()})),ht(e,this.def).default({transform:"translate3D(0, 0, 0)"},{transform:"translate3D(0, 100%, 0)"}))}}]),n}(Hn),Xn="translate3d(0, 0, 0)",Un=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"linear":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.4:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"push",value:function(t,e,i){var a=f(l(n.prototype),"block",this).call(this,t);ht.runAll(ht(t,this.def).default({transform:Xn,opacity:0},{transform:Xn,opacity:1}).queue((function(t){a(),i(),t()})))}},{key:"pop",value:function(t,e,i){var a=f(l(n.prototype),"block",this).call(this,t);ht.runAll(ht(e,this.def).default({transform:Xn,opacity:1},{transform:Xn,opacity:0}).queue((function(t){a(),i(),t()})))}}]),n}(Hn),Yn=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"cubic-bezier(.1, .7, .4, 1)":o,s=a.delay,l=void 0===s?0:s,c=a.duration,u=void 0===c?.3:c;return i(this,n),(t=e.call(this,{timing:r,delay:l,duration:u})).blackMaskOpacity=.4,t.backgroundMask=Y.createElement('
'),t}return o(n,[{key:"push",value:function(t,e,i){var a=this;this.backgroundMask.remove(),e.parentElement.insertBefore(this.backgroundMask,e.nextSibling);var o=f(l(n.prototype),"block",this).call(this,t);ht.runAll(ht(this.backgroundMask,this.def).default({transform:"translate3d(0, 0, 0)",opacity:0},{opacity:this.blackMaskOpacity}).queue((function(t){a.backgroundMask.remove(),t()})),ht(t,this.def).default({transform:"translate3d(100%, 0, 0)"},{transform:"translate3d(0, 0, 0)"}),ht(e,this.def).default({transform:"translate3d(0, 0, 0)"},{transform:"translate3d(-45%, 0, 0)"}).queue((function(t){o(),i(),t()})))}},{key:"pop",value:function(t,e,i){var a=this;this.backgroundMask.remove(),t.parentNode.insertBefore(this.backgroundMask,t.nextSibling);var o=f(l(n.prototype),"block",this).call(this,t);ht.runAll(ht(this.backgroundMask,this.def).default({transform:"translate3d(0, 0, 0)",opacity:this.blackMaskOpacity},{opacity:0}).queue((function(t){a.backgroundMask.remove(),t()})),ht(t,this.def).default({transform:"translate3d(-45%, 0, 0)",opacity:.9},{transform:"translate3d(0, 0, 0)",opacity:1}),ht(e,this.def).default({transform:"translate3d(0, 0, 0)"},{transform:"translate3d(100%, 0, 0)"}).queue((function(t){o(),i(),t()})))}}]),n}(Hn),$n=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"cubic-bezier(.1, .7, .1, 1)":o,s=a.delay,l=void 0===s?.05:s,c=a.duration,u=void 0===c?.4:c;return i(this,n),(t=e.call(this,{timing:r,delay:l,duration:u})).backgroundMask=Y.createElement('
'),t}return o(n,[{key:"push",value:function(t,e,i){var a=this;this.backgroundMask.remove(),e.parentNode.insertBefore(this.backgroundMask,e);var o=f(l(n.prototype),"block",this).call(this,t),r=ht(this.backgroundMask).wait(this.delay+this.duration).queue((function(t){a.backgroundMask.remove(),t()}));ht.runAll(r,ht(t,this.def).default({transform:"translate3d(0, 100%, 0)"},{transform:"translate3d(0, 0, 0)"}),ht(e,this.def).default({opacity:1},{opacity:.4}).queue((function(t){o(),i(),t()})))}},{key:"pop",value:function(t,e,i){var a=this;this.backgroundMask.remove(),t.parentNode.insertBefore(this.backgroundMask,t);var o=f(l(n.prototype),"block",this).call(this,t);ht.runAll(ht(this.backgroundMask).wait(this.delay+this.duration).queue((function(t){a.backgroundMask.remove(),t()})),ht(t,this.def).default({opacity:.4},{opacity:1}).queue((function(t){o(),i(),t()})),ht(e,this.def).default({transform:"translate3d(0, 0, 0)"},{transform:"translate3d(0, 100%, 0)"}))}}]),n}(Hn),Gn=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"cubic-bezier(0.4, 0, 0.2, 1)":o,s=a.timingPop,l=void 0===s?"cubic-bezier(0.4, 0, 1, 1)":s,c=a.delay,u=void 0===c?0:c,d=a.duration,h=void 0===d?.2:d;return i(this,n),(t=e.call(this,{timing:r,delay:u,duration:h})).timingPop=l,t}return o(n,[{key:"push",value:function(t,e,i){var a=f(l(n.prototype),"block",this).call(this,t);ht.runAll(ht(t,this.def).default({transform:"translate3D(0, 42px, 0)",opacity:0},{transform:"translate3D(0, 0, 0)",opacity:1}).queue((function(t){a(),i(),t()})))}},{key:"pop",value:function(t,e,i){var a=f(l(n.prototype),"block",this).call(this,t);ht.runAll(ht(e,this.def).default({transform:"translate3D(0, 0, 0)",opacity:1},{css:{transform:"translate3D(0, 38px, 0)",opacity:0},timing:this.timingPop}).queue((function(t){a(),i(),t()})))}}]),n}(Hn),Kn={default:function(){return b.isAndroid()?Gn:Vn},slide:function(){return b.isAndroid()?Yn:Vn},lift:function(){return b.isAndroid()?$n:Wn},fade:function(){return b.isAndroid()?Gn:Un},"slide-ios":Vn,"slide-md":Yn,"lift-ios":Wn,"lift-md":$n,"fade-ios":Un,"fade-md":Gn,none:function(t){s(n,t);var e=h(n);function n(t){return i(this,n),e.call(this,t)}return o(n,[{key:"push",value:function(t,e,n){n()}},{key:"pop",value:function(t,e,n){n()}}]),n}(Hn)},Jn={ready:function(t,e){e()}},Qn=function(t){return"ONS-PAGE"!==t.nodeName&&Y.throw("Only page elements can be children of navigator")},Zn=function(t){s(a,t);var e=h(a);function a(){var t;return i(this,a),(t=e.call(this))._isRunning=!1,t._initialized=!1,t._pageLoader=Jt,t._pageMap=new WeakMap,t._updateAnimatorFactory(),t}return o(a,[{key:"animatorFactory",get:function(){return this._animatorFactory}},{key:"pageLoader",get:function(){return this._pageLoader},set:function(t){t instanceof Kt||Y.throwPageLoader(),this._pageLoader=t}},{key:"_getPageTarget",value:function(){return this._page||this.getAttribute("page")}},{key:"page",get:function(){return this._page},set:function(t){this._page=t}},{key:"connectedCallback",value:function(){var t,e=this;(this.onDeviceBackButton=this._onDeviceBackButton.bind(this),b.isAndroid()&&"force"!==this.getAttribute("swipeable"))||(this._swipe=new Rn({element:this,getThreshold:function(){return Math.max(.2,parseFloat(e.getAttribute("swipe-threshold"))||0)},swipeMax:function(){var n={duration:t.durationSwipe,timing:t.timingSwipe};e._onSwipe&&e._onSwipe(1,n),Y.triggerElementEvent(e,"swipe",{ratio:1,animationOptions:n}),e[e.swipeMax?"swipeMax":"popPage"]({animator:t,swipeToPop:!0}),t=null},swipeMid:function(n,i){var a=n/i;e._onSwipe&&e._onSwipe(a),Y.triggerElementEvent(e,"swipe",{ratio:a}),t.translate(n,i,e.topPage.previousElementSibling,e.topPage)},swipeMin:function(){var n={duration:t.durationRestore,timing:t.timingSwipe};e._onSwipe&&e._onSwipe(0,n),Y.triggerElementEvent(e,"swipe",{ratio:0,animationOptions:n}),t.restore(e.topPage.previousElementSibling,e.topPage),t=null},ignoreSwipe:function(n,i){if(!e._isRunning&&e.children.length>1){var a=parseInt(e.getAttribute("swipe-target-width")||25,10);if("right"===n.gesture.direction&&a>i){var o=function(t){return/ons-back-button/i.test(t.tagName)};if(!o(n.target)&&!Y.findParent(n.target,o,(function(t){return/ons-page/i.test(t.tagName)}))){var r=(e.topPage.pushedOptions||{}).animation||e.animatorFactory._animation,s=Kn[r]instanceof Function?Kn[r].call():Kn[r];if(void 0!==s&&s.swipeable)return t=new s,!1}}}return!0}}),this.attributeChangedCallback("swipeable"));if(!this._initialized){this._initialized=!0;var n=Y.defer();this.loaded=n.promise,Jn.ready(this,(function(){var t=!Y.hasAnyComponentAsParent(e),i={animation:"none",show:t};if(0===e.pages.length&&e._getPageTarget())e.pushPage(e._getPageTarget(),i).then((function(){return n.resolve()}));else if(e.pages.length>0){for(var a=0;a0&&void 0!==arguments[0]?arguments[0]:{};e=this._preparePageAndOptions(null,e).options,Y.isInteger(e.times)&&e.times>1&&this._removePages(e.times);return this._popPage(e,(function(){return new Promise((function(e){t._pageLoader.unload(t.pages[t.pages.length-1]),e()}))}))}},{key:"_popPage",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return Promise.resolve()};if(this._isRunning)return Promise.reject("popPage is already running.");if(this.pages.length<=1)return Promise.reject("ons-navigator's page stack is empty.");if(this._emitPrePopEvent())return Promise.reject("Canceled in prepop event.");var i=this.pages.length;return this._isRunning=!0,this.pages[i-2].updateBackButton(i-2>0),new Promise((function(a){var o=e.pages[i-1],r=e.pages[i-2];(t=Y.extend({},e.options||{},t)).data&&(r.data=Y.extend({},r.data||{},t.data||{}));o._hide(),r.style.display="",(t.animator||e._animatorFactory.newAnimator(t)).pop(e.pages[i-2],e.pages[i-1],(function(){n().then((function(){e._isRunning=!1,r._show(),Y.triggerElementEvent(e,"postpop",{leavePage:o,enterPage:r,navigator:e,swipeToPop:!!t.swipeToPop,onsBackButton:!!t.onsBackButton}),t.callback&&t.callback(r),a(r)}))}))})).catch((function(){return e._isRunning=!1}))}},{key:"pushPage",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=this._preparePageAndOptions(t,n);t=i.page,n=i.options;var a=function(i){Qn(i),e._pageMap.set(i,t),(i=Y.extend(i,{data:n.data})).style.visibility="hidden"};return n.pageHTML?this._pushPage(n,(function(){return new Promise((function(t){Qt.load({page:n.pageHTML,parent:e,params:n.data},(function(e){a(e),t()}))}))})):this._pushPage(n,(function(){return new Promise((function(i,o){e._pageLoader.load({page:t,parent:e,params:n.data},(function(t){a(t),i()}),(function(t){e._isRunning=!1,o(t)}))}))}))}},{key:"_pushPage",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(){return Promise.resolve()};if(this._isRunning)return Promise.reject("pushPage is already running.");if(this._emitPrePushEvent())return Promise.reject("Canceled in prepush event.");this._isRunning=!0;var i=this.animationOptions;e=Y.extend({},this.options||{},{animationOptions:i},e);var a=this._animatorFactory.newAnimator(e);return n().then((function(){var n=t.pages.length,i=t.pages[n-1],o=e.leavePage||t.pages[n-2];return Qn(i),i.updateBackButton(n>(e._replacePage?2:1)),i.pushedOptions=Y.extend({},i.pushedOptions||{},e||{}),i.data=Y.extend({},i.data||{},e.data||{}),i.unload=i.unload||e.unload,new Promise((function(n){var r=function(){t._isRunning=!1,!1!==e.show&&setImmediate((function(){return i._show()})),Y.triggerElementEvent(t,"postpush",{leavePage:o,enterPage:i,navigator:t}),o&&(o.style.display="none"),e.callback&&e.callback(i),n(i)};i.style.visibility="",o?(o._hide(),a.push(i,o,r)):r()}))})).catch((function(e){throw t._isRunning=!1,e}))}},{key:"replacePage",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this.pushPage(t,n).then((function(t){return e.pages.length>1&&e._pageLoader.unload(e.pages[e.pages.length-2]),e._updateLastPageBackButton(),Promise.resolve(t)}))}},{key:"insertPage",value:function(t,e){var n=this,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=this._preparePageAndOptions(e,i);if(e=a.page,i=a.options,(t=this._normalizeIndex(t))>=this.pages.length)return this.pushPage(e,i);e="string"==typeof i.pageHTML?i.pageHTML:e;var o="string"==typeof i.pageHTML?Qt:this._pageLoader;return new Promise((function(a){o.load({page:e,parent:n},(function(o){Qn(o),n._pageMap.set(o,e),o=Y.extend(o,{data:i.data,pushedOptions:i}),i.animationOptions=Y.extend({},n.animationOptions,i.animationOptions||{}),o.style.display="none",n.insertBefore(o,n.pages[t]),n.topPage.updateBackButton(!0),setTimeout((function(){o=null,a(n.pages[t])}),1e3/60)}))}))}},{key:"removePage",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(t=this._normalizeIndex(t))1&&void 0!==arguments[1]?arguments[1]:{},i=this._preparePageAndOptions(t,n);if(t=i.page,(n=i.options).animator||n.animation||n.pop||(n.animation="none"),n.page||n.pageHTML||!this._getPageTarget()||(t=n.page=this._getPageTarget()),n.pop)return this._removePages(),this.insertPage(0,t,{data:n.data}).then((function(){return e.popPage(n)}));var a=n.callback;return n.callback=function(t){e._removePages(),t.updateBackButton(!1),a&&a(t)},this.pushPage(t,n)}},{key:"bringPageTop",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};-1===["number","string"].indexOf(n(t))&&Y.throw("First argument must be a page name or the index of an existing page. You supplied "+t);var i="number"==typeof t?this._normalizeIndex(t):this._lastIndexOfPage(t),a=this.pages[i];return i<0?this.pushPage(t,e):(e=this._preparePageAndOptions(a,e).options,i===this.pages.length-1?Promise.resolve(a):(a||Y.throw("Failed to find item "+t),this._isRunning?Promise.reject("pushPage is already running."):this._emitPrePushEvent()?Promise.reject("Canceled in prepush event."):(a.style.display="",a.style.visibility="hidden",a.parentNode.appendChild(a),this._pushPage(e))))}},{key:"_preparePageAndOptions",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"object"!=n(e)&&Y.throw("options must be an object. You supplied "+e),null==t&&e.page&&(t=e.page),{page:t,options:e=Y.extend({},this.options||{},e,{page:t})}}},{key:"_removePages",value:function(t){var e=this.pages,n=void 0===t?0:e.length-t;n=n<0?1:n;for(var i=e.length-2;i>=n;i--)this._pageMap.delete(e[i]),this._pageLoader.unload(e[i])}},{key:"_updateLastPageBackButton",value:function(){var t=this.pages.length-1;t>=0&&this.pages[t].updateBackButton(t>0)}},{key:"_normalizeIndex",value:function(t){return t>=0?t:Math.abs(this.pages.length+t)%this.pages.length}},{key:"_onDeviceBackButton",value:function(t){this.pages.length>1?this.popPage():t.callParentHandler()}},{key:"_lastIndexOfPage",value:function(t){var e;for(e=this.pages.length-1;e>=0&&t!==this._pageMap.get(this.pages[e]);e--);return e}},{key:"_emitPreEvent",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=!1;return Y.triggerElementEvent(this,"pre"+t,Y.extend({navigator:this,currentPage:this.pages[this.pages.length-1],cancel:function(){return n=!0}},e)),n}},{key:"_emitPrePushEvent",value:function(){return this._emitPreEvent("push")}},{key:"_emitPrePopEvent",value:function(){var t=this.pages.length;return this._emitPreEvent("pop",{leavePage:this.pages[t-1],enterPage:this.pages[t-2]})}},{key:"_createPageElement",value:function(t){var e=Y.createElement(Q.normalizePageHTML(t));return Qn(e),e}},{key:"onDeviceBackButton",get:function(){return this._backButtonHandler},set:function(t){this._backButtonHandler&&this._backButtonHandler.destroy(),this._backButtonHandler=at.createHandler(this,t)}},{key:"topPage",get:function(){for(var t=this.lastElementChild;t&&"ONS-PAGE"!==t.tagName;)t=t.previousElementSibling;return t}},{key:"pages",get:function(){return Y.arrayFrom(this.children).filter((function(t){return"ONS-PAGE"===t.tagName}))}},{key:"onSwipe",get:function(){return this._onSwipe},set:function(t){!t||t instanceof Function||Y.throw('"onSwipe" must be a function'),this._onSwipe=t}},{key:"options",get:function(){return this._options},set:function(t){this._options=t}},{key:"animationOptions",get:function(){return this.hasAttribute("animation-options")?Z.parseAnimationOptionsString(this.getAttribute("animation-options")):{}},set:function(t){null==t?this.removeAttribute("animation-options"):this.setAttribute("animation-options",JSON.stringify(t))}},{key:"_isRunning",get:function(){return JSON.parse(this.getAttribute("_is-running"))},set:function(t){this.setAttribute("_is-running",t?"true":"false")}},{key:"_show",value:function(){var t=this;this.loaded.then((function(){return t.topPage&&t.topPage._show()}))}},{key:"_hide",value:function(){this.topPage&&this.topPage._hide()}},{key:"_destroy",value:function(){for(var t=this.pages.length-1;t>=0;t--)this._pageLoader.unload(this.pages[t]);this.remove()}}],[{key:"observedAttributes",get:function(){return["animation","swipeable"]}},{key:"registerAnimator",value:function(t,e){e.prototype instanceof Hn||Y.throwAnimator("Navigator"),Kn[t]=e}},{key:"animators",get:function(){return Kn}},{key:"NavigatorAnimator",get:function(){return Hn}},{key:"events",get:function(){return["prepush","postpush","prepop","postpop","swipe"]}},{key:"rewritables",get:function(){return Jn}}]),a}(ne);k.Navigator=Zn,customElements.define("ons-navigator",Zn);var ti="toolbar",ei={"":"toolbar--*",".toolbar__left":"toolbar--*__left",".toolbar__center":"toolbar--*__center",".toolbar__right":"toolbar--*__right"},ni=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._visible=!0,It(d(t),(function(){t._compile()})),t}return o(n,[{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"class":Y.restoreClass(this,ti,ei);break;case"modifier":M.onModifierChanged(e,n,this,ei)}}},{key:"setVisibility",value:function(t){var e=this;It(this,(function(){if(e._visible=t,e.style.display=t?"":"none",e.parentNode){var n=Y.findChild(e.parentNode,".page__background");n&&(n.style.top=t?null:0);var i=Y.findChild(e.parentNode,".page__content");i&&(i.style.top=t?null:0)}}))}},{key:"show",value:function(){this.setVisibility(!0)}},{key:"hide",value:function(){this.setVisibility(!1)}},{key:"visible",get:function(){return this._visible},set:function(t){this.setVisibility(t)}},{key:"_getToolbarLeftItemsElement",value:function(){return this.querySelector(".left")||Q.nullElement}},{key:"_getToolbarCenterItemsElement",value:function(){return this.querySelector(".center")||Q.nullElement}},{key:"_getToolbarRightItemsElement",value:function(){return this.querySelector(".right")||Q.nullElement}},{key:"_getToolbarBackButtonLabelElement",value:function(){return this.querySelector("ons-back-button .back-button__label")||Q.nullElement}},{key:"_getToolbarBackButtonIconElement",value:function(){return this.querySelector("ons-back-button .back-button__icon")||Q.nullElement}},{key:"_compile",value:function(){O.prepare(this),this.classList.add(ti),this._ensureToolbarItemElements(),M.initModifier(this,ei)}},{key:"_ensureToolbarItemElements",value:function(){for(var t=this.childNodes.length-1;t>=0;t--)1!=this.childNodes[t].nodeType&&this.removeChild(this.childNodes[t]);var e=this._ensureToolbarElement("center");if(e.classList.add("toolbar__title"),1!==this.children.length||!this.children[0].classList.contains("center")){var n=this._ensureToolbarElement("left"),i=this._ensureToolbarElement("right");this.children[0]===n&&this.children[1]===e&&this.children[2]===i||(this.appendChild(n),this.appendChild(e),this.appendChild(i))}}},{key:"_ensureToolbarElement",value:function(t){if(Y.findChild(this,".toolbar__"+t)){var e=Y.findChild(this,".toolbar__"+t);return e.classList.add(t),e}var n=Y.findChild(this,"."+t)||Y.create("."+t);return n.classList.add("toolbar__"+t),n}}],[{key:"observedAttributes",get:function(){return["modifier","class"]}}]),n}(ne);Y.defineBooleanProperties(ni,["static"]),k.Toolbar=ni,customElements.define("ons-toolbar",ni);var ii="page",ai={"":"page--*",".page__content":"page--*__content",".page__background":"page--*__background"},oi=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._deriveHooks(),t._defaultClassName=ii,t.classList.add(ii),t._initialized=!1,It(d(t),(function(){t._compile(),t._isShown=!1,t._contentElement=t._getContentElement(),t._backgroundElement=t._getBackgroundElement()})),t}return o(n,[{key:"_compile",value:function(){var t=this;O.prepare(this);var e=Y.findChild(this,"ons-toolbar"),n=Y.findChild(this,".page__background")||Y.findChild(this,".background")||document.createElement("div");n.classList.add("page__background"),this.insertBefore(n,!e&&this.firstChild||e&&e.nextSibling);var i=Y.findChild(this,".page__content")||Y.findChild(this,".content")||document.createElement("div");i.classList.add("page__content"),i.parentElement||Y.arrayFrom(this.childNodes).forEach((function(e){(1!==e.nodeType||t._elementShouldBeMoved(e))&&i.appendChild(e)})),this._tryToFillStatusBar(i),this.insertBefore(i,n.nextSibling),e&&Y.hasModifier(e,"transparent")||1!==i.children.length||!Y.isPageControl(i.children[0])||(this._defaultClassName+=" page--wrapper",this.attributeChangedCallback("class")),Y.findChild(this,"ons-bottom-toolbar")&&(this._defaultClassName+=" page-with-bottom-toolbar",this.attributeChangedCallback("class")),M.initModifier(this,ai)}},{key:"_elementShouldBeMoved",value:function(t){if(t.classList.contains("page__background"))return!1;var e=t.tagName.toLowerCase();if("ons-fab"===e)return!t.hasAttribute("position");return t.hasAttribute("inline")||-1===["script","ons-toolbar","ons-bottom-toolbar","ons-modal","ons-speed-dial","ons-dialog","ons-alert-dialog","ons-popover","ons-action-sheet"].indexOf(e)}},{key:"_tryToFillStatusBar",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._contentElement;Q.autoStatusBarFill((function(){Y.toggleAttribute(t,"status-bar-fill",!Y.findParent(t,(function(t){return t.hasAttribute("status-bar-fill")}))&&(t._canAnimateToolbar(e)||!Y.findChild(e,Y.isPageControl)))}))}},{key:"_canAnimateToolbar",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._contentElement;return!!Y.findChild(this,"ons-toolbar")||!!Y.findChild(t,(function(t){return Y.match(t,"ons-toolbar")&&!t.hasAttribute("inline")}))}},{key:"connectedCallback",value:function(){var t=this;Y.isAttached(this)&&It(this,(function(){t._tryToFillStatusBar(),t.hasAttribute("on-infinite-scroll")&&t.attributeChangedCallback("on-infinite-scroll",null,t.getAttribute("on-infinite-scroll")),t._initialized||(t._initialized=!0,setImmediate((function(){t.onInit&&t.onInit(),Y.triggerElementEvent(t,"init")})),Y.hasAnyComponentAsParent(t)||setImmediate((function(){return t._show()})))}))}},{key:"updateBackButton",value:function(t){this.backButton&&(t?this.backButton.show():this.backButton.hide())}},{key:"name",get:function(){return this.getAttribute("name")},set:function(t){this.setAttribute("name",t)}},{key:"backButton",get:function(){return this.querySelector("ons-back-button")}},{key:"onInfiniteScroll",get:function(){return this._onInfiniteScroll},set:function(t){var e=this;!t||t instanceof Function||Y.throw('"onInfiniteScroll" must be function or null'),It(this,(function(){t?e._onInfiniteScroll||(e._infiniteScrollLimit=.9,e._boundOnScroll=e._onScroll.bind(e),setImmediate((function(){return e._contentElement.addEventListener("scroll",e._boundOnScroll)}))):e._contentElement.removeEventListener("scroll",e._boundOnScroll),e._onInfiniteScroll=t}))}},{key:"_onScroll",value:function(){var t=this,e=this._contentElement,n=(e.scrollTop+e.clientHeight)/e.scrollHeight>=this._infiniteScrollLimit;this._onInfiniteScroll&&!this._loadingContent&&n&&(this._loadingContent=!0,this._onInfiniteScroll((function(){return t._loadingContent=!1})))}},{key:"onDeviceBackButton",get:function(){return this._backButtonHandler},set:function(t){this._backButtonHandler&&this._backButtonHandler.destroy(),this._backButtonHandler=at.createHandler(this,t)}},{key:"scrollTop",get:function(){return this._contentElement.scrollTop},set:function(t){this._contentElement.scrollTop=t}},{key:"_getContentElement",value:function(){var t=Y.findChild(this,".page__content");if(t)return t;Y.throw('Fail to get ".page__content" element')}},{key:"_getBackgroundElement",value:function(){var t=Y.findChild(this,".page__background");if(t)return t;Y.throw('Fail to get ".page__background" element')}},{key:"_getBottomToolbarElement",value:function(){return Y.findChild(this,"ons-bottom-toolbar")||Q.nullElement}},{key:"_getToolbarElement",value:function(){return Y.findChild(this,"ons-toolbar")||document.createElement("ons-toolbar")}},{key:"attributeChangedCallback",value:function(t,e,n){var i=this;switch(t){case"class":Y.restoreClass(this,this._defaultClassName,ai);break;case"modifier":M.onModifierChanged(e,n,this,ai);break;case"on-infinite-scroll":this.onInfiniteScroll=null===n?null:function(t){var e=Y.findFromPath(n);i.onInfiniteScroll=e,e(t)}}}},{key:"_show",value:function(){!this._isShown&&Y.isAttached(this)&&(this._isShown=!0,this.setAttribute("shown",""),this.onShow&&this.onShow(),Y.triggerElementEvent(this,"show"),Y.propagateAction(this,"_show"))}},{key:"_hide",value:function(){this._isShown&&(this._isShown=!1,this.removeAttribute("shown"),this.onHide&&this.onHide(),Y.triggerElementEvent(this,"hide"),Y.propagateAction(this,"_hide"))}},{key:"_destroy",value:function(){this._hide(),this.onDestroy&&this.onDestroy(),Y.triggerElementEvent(this,"destroy"),this.onDeviceBackButton&&this.onDeviceBackButton.destroy(),Y.propagateAction(this,"_destroy"),this.remove()}},{key:"_deriveHooks",value:function(){var t=this;this.constructor.events.forEach((function(e){var n="on"+e.charAt(0).toUpperCase()+e.slice(1);Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get:function(){return t["_".concat(n)]},set:function(e){e instanceof Function||Y.throw('"'.concat(n,'" hook must be a function')),t["_".concat(n)]=e.bind(t)}})}))}}],[{key:"observedAttributes",get:function(){return["modifier","on-infinite-scroll","class"]}},{key:"events",get:function(){return["init","show","hide","destroy"]}}]),n}(ne);k.Page=oi,customElements.define("ons-page",oi);var ri=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"cubic-bezier(.1, .7, .4, 1)":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.2:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e()}},{key:"hide",value:function(t,e){e()}},{key:"_animate",value:function(t,e){var n=e.from,i=e.to,a=e.options,o=e.callback,r=e.restore,s=void 0!==r&&r,l=e.animation;return a=Y.extend({},this.options,a),l&&(n=l.from,i=l.to),l=ht(t),s&&(l=l.saveStyle()),l=l.queue(n).wait(this.delay).queue({css:i,duration:this.duration,timing:this.timing}),s&&(l=l.restoreStyle()),o&&(l=l.queue((function(t){o(),t()}))),l}},{key:"_animateAll",value:function(t,e){var n=this;Object.keys(e).forEach((function(i){return n._animate(t[i],e[i]).play()}))}}]),n}(ae),si={out:{from:{opacity:1},to:{opacity:0}},in:{from:{opacity:0},to:{opacity:1}}},li=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"show",value:function(t,e){this._animateAll(t,{_mask:si.in,_popover:{animation:si.in,restore:!0,callback:e}})}},{key:"hide",value:function(t,e){this._animateAll(t,{_mask:si.out,_popover:{animation:si.out,restore:!0,callback:e}})}}]),n}(ri),ci=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"show",value:function(t,e){this._animateAll(t,{_mask:si.in,_popover:{from:{transform:"scale3d(1.3, 1.3, 1.0)",opacity:0},to:{transform:"scale3d(1.0, 1.0, 1.0)",opacity:1},restore:!0,callback:e}})}}]),n}(li),ui={".popover":"popover--*",".popover-mask":"popover-mask--*",".popover__content":"popover--*__content",".popover__arrow":"popover--*__arrow"},di={default:function(){return b.isAndroid()?li:ci},none:ri,"fade-ios":ci,"fade-md":li},hi={up:"bottom",left:"right",down:"top",right:"left"},fi=function(t){s(r,t);var a=h(r);function r(){var t;return i(this,r),(t=a.call(this))._boundOnChange=t._onChange.bind(d(t)),It(d(t),(function(){t._compile(),t.style.display="none"})),t}return o(r,[{key:"_scheme",get:function(){return ui}},{key:"_mask",get:function(){return Y.findChild(this,".popover-mask")}},{key:"_popover",get:function(){return Y.findChild(this,".popover")}},{key:"_content",get:function(){return Y.findChild(this._popover,".popover__content")}},{key:"_arrow",get:function(){return Y.findChild(this._popover,".popover__arrow")}},{key:"_updateAnimatorFactory",value:function(){return new Z({animators:di,baseClass:ri,baseClassName:"PopoverAnimator",defaultAnimation:this.getAttribute("animation")||"default"})}},{key:"_toggleStyle",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t){this.style.display="block";var n=e.target;!n&&this.target&&(n=document.getElementById(this.target)),this._currentTarget=n,this._positionPopover(n)}else this.style.display="none",this._clearStyles()}},{key:"_positionPopover",value:function(t){var e=this._radius,n=this._content,i=this._margin,a=oe.getSafeAreaLengths(),o=oe.getSafeAreaDOMRect(),r=t.getBoundingClientRect(),s=Y.hasModifier(this,"material"),l=s&&this.hasAttribute("cover-target"),c=(Y.findParent(this,"ons-page")||document.body).getBoundingClientRect(),u=Math.max(c.top,o.top),d=Math.max(c.left,o.left),h=Math.min(c.bottom,o.bottom),f=Math.min(c.right,o.right),p={top:r.top-(u+i),left:r.left-(d+i),bottom:h-i-r.bottom,right:f-i-r.right},m={top:r.top+Math.round(r.height/2)-(u+i),left:r.left+Math.round(r.width/2)-(d+i),bottom:h-i-r.bottom+Math.round(r.height/2),right:f-i-r.right+Math.round(r.width/2)},g=this._calculateDirections(p),v=g.vertical,_=g.primary,b=g.secondary;this._currentDirection=_,Y.addModifier(this,_);var y,k=v?"width":"height",w=(y=window.getComputedStyle(n),{width:parseInt(y.getPropertyValue("width"),10),height:parseInt(y.getPropertyValue("height"),10)}),E=l?0:(v?r.height:r.width)+(s?0:14),C=Math.max(a[_]+i,a[_]+i+p[_]+E),A=Math.max(a[b]+i,a[b]+i+m[b]-w[k]/2);this._popover.style[_]=C+"px",this._popover.style[b]=A+"px",this._arrow.style[b]=Math.max(e,a[b]+i+m[b]-A)+"px"}},{key:"_calculateDirections",value:function(t){var e=(this.getAttribute("direction")||"up down left right").split(/\s+/).map((function(t){return hi[t]})).sort((function(e,n){return t[e]-t[n]}))[0],n="top"==e||"bottom"==e;return{vertical:n,primary:e,secondary:n?t.left\n
\n
\n
\n
\n '),i=n.querySelector(".popover__content");this.childNodes[0];)i.appendChild(this.childNodes[0]);this.appendChild(n)}this.hasAttribute("style")&&(this._popover.setAttribute("style",this.getAttribute("style")),this.removeAttribute("style")),M.initModifier(this,this._scheme)}}},{key:"show",value:function(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"string"==typeof(i=!t||"object"!==n(t)||t instanceof Event||t instanceof HTMLElement?e(e({},i),{},{target:t}):e({},t)).target?i.target=document.querySelector(i.target):i.target instanceof Event&&(i.target=i.target.target),!i.target&&this.target&&(i.target=document.getElementById(this.target)),i.target instanceof HTMLElement||Y.throw("Invalid target type or undefined"),f(l(r.prototype),"show",this).call(this,i)}},{key:"connectedCallback",value:function(){var t=this;f(l(r.prototype),"connectedCallback",this).call(this),window.addEventListener("resize",this._boundOnChange,!1),this._margin=this._margin||parseInt(window.getComputedStyle(this).getPropertyValue("top")),this._margin=this._margin||6,It(this,(function(){t._radius=parseInt(window.getComputedStyle(t._content).getPropertyValue("border-top-left-radius"))}))}},{key:"disconnectedCallback",value:function(){f(l(r.prototype),"disconnectedCallback",this).call(this),window.removeEventListener("resize",this._boundOnChange,!1)}},{key:"attributeChangedCallback",value:function(t,e,n){if("direction"===t)return this._boundOnChange();"modifier"===t&&this._currentDirection&&Y.addModifier(this,this._currentDirection),f(l(r.prototype),"attributeChangedCallback",this).call(this,t,e,n)}}],[{key:"observedAttributes",get:function(){return[].concat(p(f(l(r),"observedAttributes",this)),["direction"])}},{key:"registerAnimator",value:function(t,e){e.prototype instanceof ri||Y.throwAnimator("Popover"),di[t]=e}},{key:"animators",get:function(){return di}},{key:"PopoverAnimator",get:function(){return ri}}]),r}(ce);Y.defineBooleanProperties(fi,["cover-target"]),Y.defineStringProperties(fi,["target"]),k.Popover=fi,customElements.define("ons-popover",fi);var pi={".progress-bar":"progress-bar--*",".progress-bar__primary":"progress-bar--*__primary",".progress-bar__secondary":"progress-bar--*__secondary"},mi=Y.createElement('\n
\n
\n
\n
\n'),gi="indeterminate",vi=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){return t._compile()})),t}return o(n,[{key:"_compile",value:function(){this._isCompiled()?this._template=Y.findChild(this,".progress-bar"):this._template=mi.cloneNode(!0),this._primary=Y.findChild(this._template,".progress-bar__primary"),this._secondary=Y.findChild(this._template,".progress-bar__secondary"),this._updateDeterminate(),this._updateValue(),this.appendChild(this._template),O.prepare(this),M.initModifier(this,pi)}},{key:"_isCompiled",value:function(){if(!Y.findChild(this,".progress-bar"))return!1;var t=Y.findChild(this,".progress-bar");return!!Y.findChild(t,".progress-bar__secondary")&&!!Y.findChild(t,".progress-bar__primary")}},{key:"attributeChangedCallback",value:function(t,e,n){"modifier"===t?(M.onModifierChanged(e,n,this,pi),this.hasAttribute(gi)&&this._updateDeterminate()):"value"===t||"secondary-value"===t?this._updateValue():t===gi&&this._updateDeterminate()}},{key:"_updateDeterminate",value:function(){var t=this;It(this,(function(){return Y.toggleModifier(t,gi,{force:t.hasAttribute(gi)})}))}},{key:"_updateValue",value:function(){var t=this;It(this,(function(){t._primary.style.width=t.hasAttribute("value")?t.getAttribute("value")+"%":"0%",t._secondary.style.width=t.hasAttribute("secondary-value")?t.getAttribute("secondary-value")+"%":"0%"}))}},{key:"value",get:function(){return parseInt(this.getAttribute("value")||"0")},set:function(t){("number"!=typeof t||t<0||t>100)&&Y.throw("Invalid value"),this.setAttribute("value",Math.floor(t))}},{key:"secondaryValue",get:function(){return parseInt(this.getAttribute("secondary-value")||"0")},set:function(t){("number"!=typeof t||t<0||t>100)&&Y.throw("Invalid value"),this.setAttribute("secondary-value",Math.floor(t))}},{key:"indeterminate",get:function(){return this.hasAttribute(gi)},set:function(t){t?this.setAttribute(gi,""):this.removeAttribute(gi)}}],[{key:"observedAttributes",get:function(){return["modifier","value","secondary-value",gi]}}]),n}(ne);k.ProgressBar=vi,customElements.define("ons-progress-bar",vi);var _i={".progress-circular":"progress-circular--*",".progress-circular__background":"progress-circular--*__background",".progress-circular__primary":"progress-circular--*__primary",".progress-circular__secondary":"progress-circular--*__secondary"},bi=Y.createElement('\n \n \n \n \n \n'),yi="indeterminate",ki=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){return t._compile()})),t}return o(n,[{key:"attributeChangedCallback",value:function(t,e,n){"modifier"===t?(M.onModifierChanged(e,n,this,_i),this.hasAttribute(yi)&&this._updateDeterminate()):"value"===t||"secondary-value"===t?this._updateValue():t===yi&&this._updateDeterminate()}},{key:"_updateDeterminate",value:function(){var t=this;It(this,(function(){return Y.toggleModifier(t,yi,{force:t.hasAttribute(yi)})}))}},{key:"_updateValue",value:function(){var t=this;this.hasAttribute("value")&&It(this,(function(){var e=Math.ceil(251.32*t.getAttribute("value")*.01);t._primary.style["stroke-dasharray"]=e+"%, 251.32%"})),this.hasAttribute("secondary-value")?It(this,(function(){var e=Math.ceil(251.32*t.getAttribute("secondary-value")*.01);t._secondary.style.display=null,t._secondary.style["stroke-dasharray"]=e+"%, 251.32%"})):It(this,(function(){t._secondary.style.display="none"}))}},{key:"value",get:function(){return parseInt(this.getAttribute("value")||"0")},set:function(t){("number"!=typeof t||t<0||t>100)&&Y.throw("Invalid value"),this.setAttribute("value",Math.floor(t))}},{key:"secondaryValue",get:function(){return parseInt(this.getAttribute("secondary-value")||"0")},set:function(t){("number"!=typeof t||t<0||t>100)&&Y.throw("Invalid value"),this.setAttribute("secondary-value",Math.floor(t))}},{key:"indeterminate",get:function(){return this.hasAttribute(yi)},set:function(t){t?this.setAttribute(yi,""):this.removeAttribute(yi)}},{key:"_compile",value:function(){this._isCompiled()?this._template=Y.findChild(this,".progress-circular"):this._template=bi.cloneNode(!0),this._primary=Y.findChild(this._template,".progress-circular__primary"),this._secondary=Y.findChild(this._template,".progress-circular__secondary"),this._updateDeterminate(),this._updateValue(),this.appendChild(this._template),O.prepare(this),M.initModifier(this,_i)}},{key:"_isCompiled",value:function(){if(!Y.findChild(this,".progress-circular"))return!1;var t=Y.findChild(this,".progress-circular");return!!Y.findChild(t,".progress-circular__secondary")&&!!Y.findChild(t,".progress-circular__primary")}}],[{key:"observedAttributes",get:function(){return["modifier","value","secondary-value",yi]}}]),n}(ne);k.ProgressCircular=ki,customElements.define("ons-progress-circular",ki);var wi="initial",Ei=function(t,e){return Y.throw('"'.concat(t,'" must be ').concat(e))},Ci=function(t){s(n,t);var e=h(n);function n(){var t;i(this,n),(t=e.call(this))._onDrag=t._onDrag.bind(d(t)),t._onDragStart=t._onDragStart.bind(d(t)),t._onDragEnd=t._onDragEnd.bind(d(t)),t._onScroll=t._onScroll.bind(d(t)),t._setState(wi,!0),t._hide();var a=Y.defineListenerProperty(d(t),"pull"),o=a.onConnected,r=a.onDisconnected;return t._connectOnPull=o,t._disconnectOnPull=r,t}return o(n,[{key:"_setStyle",value:function(){var t=this.height+"px";E(this,{height:t,lineHeight:t}),""===this.style.display&&this._show()}},{key:"_onScroll",value:function(t){var e=this._pageElement;e.scrollTop<0&&(e.scrollTop=0)}},{key:"_canConsumeGesture",value:function(t){return"up"===t.direction||"down"===t.direction}},{key:"_onDragStart",value:function(t){var e=this;if(t.gesture&&!this.disabled){var n=t.gesture.center.clientY+this._pageElement.scrollTop,i=window.innerHeight;if(this._ignoreDrag=t.consumed||n>1*i,!this._ignoreDrag){var a=t.consume;t.consume=function(){a&&a(),e._ignoreDrag=!0,e._hide()},this._canConsumeGesture(t.gesture)&&(a&&a(),t.consumed=!0,this._show())}this._startScroll=this._pageElement.scrollTop}}},{key:"_onDrag",value:function(t){var e=this;if(t.gesture&&!this.disabled&&!this._ignoreDrag&&this._canConsumeGesture(t.gesture)){"none"===this.style.display&&this._show(),t.stopPropagation(),t.gesture.center.clientY,this._pageElement.scrollTop;var n=Math.max(t.gesture.deltaY-this._startScroll,0);if(n!==this._currentTranslation){var i=this.thresholdHeight;i>0&&n>=i?(t.gesture.stopDetect(),setImmediate((function(){return e._finish()}))):n>=this.height?this._setState("preaction"):this._setState(wi),this._translateTo(n)}}}},{key:"_onDragEnd",value:function(t){!t.gesture||this.disabled||this._ignoreDrag||(t.stopPropagation(),this._currentTranslation>0&&(this._currentTranslation>this.height?this._finish():this._translateTo(0,{animate:!0})))}},{key:"onAction",get:function(){return this._onAction},set:function(t){!t||t instanceof Function||Ei("onAction","function or null"),this._onAction=t}},{key:"_finish",value:function(){var t=this;this._setState("action"),this._translateTo(this.height,{animate:!0}),(this.onAction||function(t){return t()})((function(){t._translateTo(0,{animate:!0}),t._setState(wi)}))}},{key:"height",get:function(){return parseInt(this.getAttribute("height")||"64",10)},set:function(t){Y.isInteger(t)||Ei("height","integer"),this.setAttribute("height","".concat(t,"px"))}},{key:"thresholdHeight",get:function(){return parseInt(this.getAttribute("threshold-height")||"96",10)},set:function(t){Y.isInteger(t)||Ei("thresholdHeight","integer"),this.setAttribute("threshold-height","".concat(t,"px"))}},{key:"_setState",value:function(t,e){var n=this.state;this.setAttribute("state",t),e||n===this.state||Y.triggerElementEvent(this,"changestate",{pullHook:this,state:t,lastState:n})}},{key:"state",get:function(){return this.getAttribute("state")}},{key:"pullDistance",get:function(){return this._currentTranslation}},{key:"_show",value:function(){var t=this;setImmediate((function(){t.style.display="",t._pageElement&&(t._pageElement.style.marginTop="-".concat(t.height,"px"))}))}},{key:"_hide",value:function(){this.style.display="none",this._pageElement&&(this._pageElement.style.marginTop="")}},{key:"_translateTo",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(0!=this._currentTranslation||0!=t){this._currentTranslation=t;var n=e.animate?{duration:.3,timing:"cubic-bezier(.1, .7, .1, 1)"}:{};Y.triggerElementEvent(this,"pull",{ratio:(t/this.height).toFixed(2),animationOptions:n});var i=this.hasAttribute("fixed-content")?this:this._pageElement;ht(i).queue({transform:"translate3d(0px, ".concat(t,"px, 0px)")},n).play((function(){0===t&&E.clear(i,"transition transform"),e.callback instanceof Function&&e.callback()}))}}},{key:"_disableDragLock",value:function(){this._dragLockDisabled=!0,this._setupListeners(!0)}},{key:"_setupListeners",value:function(t){var e=this,n=function(t){return e._pageElement["".concat(t,"EventListener")]("scroll",e._onScroll,!1)},i=function(t){var n={passive:!0};e._gestureDetector[t]("drag",e._onDrag,n),e._gestureDetector[t]("dragstart",e._onDragStart,n),e._gestureDetector[t]("dragend",e._onDragEnd,n)};this._gestureDetector&&(i("off"),this._gestureDetector.dispose(),this._gestureDetector=null),n("remove"),t&&(this._gestureDetector=new ft(this._pageElement,{dragMinDistance:1,dragDistanceCorrection:!1,dragLockToAxis:!this._dragLockDisabled,passive:!0}),i("on"),n("add"))}},{key:"connectedCallback",value:function(){this._currentTranslation=0,this._pageElement=this.parentNode,this._setupListeners(!0),this._setStyle(),this._connectOnPull()}},{key:"disconnectedCallback",value:function(){this._hide(),this._setupListeners(!1),this._disconnectOnPull()}},{key:"attributeChangedCallback",value:function(t,e,n){"height"===t&&this._pageElement&&this._setStyle()}}],[{key:"observedAttributes",get:function(){return["height"]}},{key:"events",get:function(){return["changestate","pull"]}}]),n}(ne);Y.defineBooleanProperties(Ci,["disabled","fixed-content"]),k.PullHook=Ci,customElements.define("ons-pull-hook",Ci);var Ai={"":"range--*",".range__input":"range--*__input",".range__focus-ring":"range--*__focus-ring"},Si="range__input--active",xi=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._onMouseDown=t._onMouseDown.bind(d(t)),t._onMouseUp=t._onMouseUp.bind(d(t)),t._onTouchStart=t._onTouchStart.bind(d(t)),t._onTouchEnd=t._onTouchEnd.bind(d(t)),t._onInput=t._update.bind(d(t)),t._onDragstart=t._onDragstart.bind(d(t)),t._onDragend=t._onDragend.bind(d(t)),t}return o(n,[{key:"_compile",value:function(){f(l(n.prototype),"_compile",this).call(this),this._updateDisabled(this.hasAttribute("disabled"))}},{key:"_update",value:function(){var t=this._input,e=this._focusRing;t.style.backgroundSize="".concat(100*this._ratio,"% 2px"),e.value=this.value,""===t.min&&"0"===t.value||t.min===t.value?t.setAttribute("_zero",""):t.removeAttribute("_zero"),["min","max"].forEach((function(n){return e[n]=t[n]}))}},{key:"_scheme",get:function(){return Ai}},{key:"_template",get:function(){return'\n \n \n ')}},{key:"_defaultClassName",get:function(){return"range"}},{key:"type",get:function(){return"range"}},{key:"_onMouseDown",value:function(t){var e=this;this._input.classList.add(Si),setImmediate((function(){return e._input.focus()}))}},{key:"_onTouchStart",value:function(t){this._onMouseDown()}},{key:"_onMouseUp",value:function(t){this._input.classList.remove(Si)}},{key:"_onTouchEnd",value:function(t){this._onMouseUp(t)}},{key:"_onDragstart",value:function(t){t.consumed=!0,t.gesture.stopPropagation(),this._input.classList.add(Si),this.addEventListener("drag",this._onDrag)}},{key:"_onDrag",value:function(t){t.stopPropagation()}},{key:"_onDragend",value:function(t){this._input.classList.remove(Si),this.removeEventListener("drag",this._onDrag)}},{key:"_focusRing",get:function(){return this.children[1]}},{key:"_ratio",get:function(){var t=""===this._input.min?0:parseInt(this._input.min),e=""===this._input.max?100:parseInt(this._input.max);return(this.value-t)/(e-t)}},{key:"attributeChangedCallback",value:function(t,e,i){"disabled"===t&&this._updateDisabled(i),f(l(n.prototype),"attributeChangedCallback",this).call(this,t,e,i)}},{key:"_updateDisabled",value:function(t){t?this.classList.add("range--disabled"):this.classList.remove("range--disabled")}},{key:"connectedCallback",value:function(){this._setupListeners(!0)}},{key:"disconnectedCallback",value:function(){this._setupListeners(!1)}},{key:"_setupListeners",value:function(t){var e=(t?"add":"remove")+"EventListener";Y[e](this,"touchstart",this._onTouchStart,{passive:!0}),this[e]("mousedown",this._onMouseDown),this[e]("mouseup",this._onMouseUp),this[e]("touchend",this._onTouchEnd),this[e]("dragstart",this._onDragstart),this[e]("dragend",this._onDragend),this[e]("input",this._onInput)}}],[{key:"observedAttributes",get:function(){return["disabled"].concat(p(yn.observedAttributes))}}]),n}(yn);k.Range=xi,customElements.define("ons-range",xi);var Pi=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n)}(ne);k.Row=Pi,customElements.define("ons-row",Pi);var Li="segment",Oi={"":"segment--*",".segment__item":"segment--*__item",".segment__input":"segment--*__input",".segment__button":"segment--*__button"},Mi=function(){var t=0;return function(){return"ons-segment-gen-"+t++}}(),Ti=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._segmentId=Mi(),t._tabbar=null,t._onChange=t._onChange.bind(d(t)),t._onTabbarPreChange=t._onTabbarPreChange.bind(d(t)),It(d(t),(function(){t._compile(),setImmediate((function(){return t._lastActiveIndex=t._tabbar?t._tabbar.getActiveTabIndex():t.getActiveButtonIndex()}))})),t}return o(n,[{key:"_compile",value:function(){O.prepare(this),this.classList.add(Li);for(var t=this.children.length-1;t>=0;t--){var e=this.children[t];e.classList.add("segment__item");var n=Y.findChild(e,".segment__input")||Y.create("input.segment__input");n.type="radio",n.value=t,n.name=n.name||this._segmentId,n.checked=!this.hasAttribute("tabbar-id")&&t===(this.activeIndex||0);var i=Y.findChild(e,".segment__button")||Y.create(".segment__button");if(i.parentElement!==e)for(;e.firstChild;)i.appendChild(e.firstChild);e.appendChild(n),e.appendChild(i)}M.initModifier(this,Oi)}},{key:"connectedCallback",value:function(){var t=this;It(this,(function(){if(t.hasAttribute("tabbar-id")){var e=Y.findParent(t,"ons-page");t._tabbar=e&&e.querySelector("#"+t.getAttribute("tabbar-id")),t._tabbar&&"ONS-TABBAR"===t._tabbar.tagName||Y.throw("No tabbar with id ".concat(t.getAttribute("tabbar-id")," was found.")),t._tabbar.setAttribute("hide-tabs",""),setImmediate((function(){var e=t._tabbar.getActiveTabIndex();t._setChecked(e),t.activeIndex=e})),t._tabbar.addEventListener("prechange",t._onTabbarPreChange)}})),this.addEventListener("change",this._onChange)}},{key:"disconnectedCallback",value:function(){var t=this;It(this,(function(){t._tabbar&&(t._tabbar.removeEventListener("prechange",t._onTabbarPreChange),t._tabbar=null)})),this.removeEventListener("change",this._onChange)}},{key:"_setChecked",value:function(t){this.children[t].firstElementChild.checked=!0}},{key:"setActiveButton",value:function(t,e){return this._tabbar?this._tabbar.setActiveTab(t,e):(this._setChecked(t),this._postChange(t),Promise.resolve(t))}},{key:"getActiveButtonIndex",value:function(){for(var t=this.children.length-1;t>=0;t--)if(this.children[t].firstElementChild.checked)return t;return-1}},{key:"_onChange",value:function(t){t.stopPropagation(),this._tabbar?this._tabbar.setActiveTab(this.getActiveButtonIndex(),{reject:!1}):this._postChange(this.getActiveButtonIndex())}},{key:"_onTabbarPreChange",value:function(t){var e=this;setImmediate((function(){t.detail.canceled||(e._setChecked(t.index),e._postChange(t.index))}))}},{key:"_postChange",value:function(t){Y.triggerElementEvent(this,"postchange",{index:t,activeIndex:t,lastActiveIndex:this._lastActiveIndex,segmentItem:this.children[t]}),this._lastActiveIndex=t,this.activeIndex=t}},{key:"activeIndex",get:function(){return parseInt(this.getAttribute("active-index"))},set:function(t){null!=t&&this.setAttribute("active-index",t)}},{key:"attributeChangedCallback",value:function(t,e,n){var i=this;switch(t){case"class":Y.restoreClass(this,Li,Oi);break;case"modifier":M.onModifierChanged(e,n,this,Oi);break;case"active-index":It(this,(function(){i.getActiveButtonIndex()!==i.activeIndex&&i.setActiveButton(i.activeIndex)}))}}}],[{key:"observedAttributes",get:function(){return["class","modifier","active-index"]}},{key:"events",get:function(){return["postchange"]}}]),n}(ne);Y.defineBooleanProperties(Ti,["disabled"]),k.Segment=Ti,customElements.define("ons-segment",Ti);var Ii={"":"select-* select--*",".select-input":"select-input--*"},Di="select",Ni=["autofocus","disabled","form","multiple","name","required","size"],Bi=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){return t._compile()})),t._deriveGetters(),t}return o(n,[{key:"attributeChangedCallback",value:function(t,e,n){var i=this;switch(t){case"class":Y.restoreClass(this,Di,Ii);break;case"modifier":M.onModifierChanged(e,n,this,Ii)}Ni.indexOf(t)>=0&&It(this,(function(){return i._updateBoundAttributes()}))}},{key:"_select",get:function(){return this.querySelector("select")}},{key:"_updateBoundAttributes",value:function(){var t=this;Ni.forEach((function(e){t.hasAttribute(e)?t._select.setAttribute(e,t.getAttribute(e)):t._select.removeAttribute(e)}))}},{key:"_compile",value:function(){O.prepare(this),this.classList.add(Di);var t=this._select||document.createElement("select");!t.id&&this.hasAttribute("select-id")&&(t.id=this.getAttribute("select-id")),t.classList.add("select-input"),this._select||(Y.arrayFrom(this.childNodes).forEach((function(e){return t.appendChild(e)})),this.appendChild(t)),M.initModifier(this,Ii)}},{key:"_deriveGetters",value:function(){var t=this;["disabled","length","multiple","name","options","selectedIndex","size","value","form","type"].forEach((function(e){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get:function(){return t._select[e]},set:-1===["form","type"].indexOf(e)?function(n){return It(t,(function(){return t._select[e]=n}))}:void 0})}))}},{key:"add",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;this._select.add(t,e)}},{key:"remove",value:function(t){void 0===t?Element.prototype.remove.call(this):this._select.remove(t)}}],[{key:"observedAttributes",get:function(){return["modifier","class"].concat(Ni)}}]),n}(ne);k.Select=Bi,customElements.define("ons-select",Bi);var Ri="fab fab--mini speed-dial__item",Hi={"":"fab--* speed-dial__item--*"},qi=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._compile(),t._boundOnClick=t._onClick.bind(d(t)),t}return o(n,[{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"class":Y.restoreClass(this,Ri,Hi);break;case"modifier":M.onModifierChanged(e,n,this,Hi),Y.addModifier(this,"mini");break;case"ripple":this._updateRipple()}}},{key:"connectedCallback",value:function(){this.addEventListener("click",this._boundOnClick,!1)}},{key:"disconnectedCallback",value:function(){this.removeEventListener("click",this._boundOnClick,!1)}},{key:"_updateRipple",value:function(){Y.updateRipple(this)}},{key:"_onClick",value:function(t){t.stopPropagation()}},{key:"_compile",value:function(){var t=this;O.prepare(this),Ri.split(/\s+/).forEach((function(e){return t.classList.add(e)})),Y.addModifier(this,"mini"),this._updateRipple(),M.initModifier(this,Hi)}}],[{key:"observedAttributes",get:function(){return["modifier","ripple","class"]}}]),n}(ne);Y.defineBooleanProperties(qi,["ripple"]),k.SpeedDialItem=qi,customElements.define("ons-speed-dial-item",qi);var zi="speed-dial",Fi={"":"speed-dial--*"},ji=function(t){s(n,t);var e=h(n);function n(){var t;i(this,n),It(d(t=e.call(this)),(function(){t._compile()})),t._boundOnClick=t._onClick.bind(d(t));var a=Y.defineListenerProperty(d(t),"click"),o=a.onConnected,r=a.onDisconnected;return t._connectOnClick=o,t._disconnectOnClick=r,t}return o(n,[{key:"_compile",value:function(){this.classList.add(zi),O.prepare(this),this._updateRipple(),M.initModifier(this,Fi),this.hasAttribute("direction")?this._updateDirection(this.getAttribute("direction")):this._updateDirection("up"),this._updatePosition()}},{key:"attributeChangedCallback",value:function(t,e,n){var i=this;switch(t){case"class":Y.restoreClass(this,zi,Fi);break;case"modifier":M.onModifierChanged(e,n,this,Fi);break;case"ripple":It(this,(function(){return i._updateRipple()}));break;case"direction":It(this,(function(){return i._updateDirection(n)}));break;case"position":It(this,(function(){return i._updatePosition()}));break;case"open":this._ignoreOpenSideEffect||It(this,(function(){return i._updateOpen(e)}))}}},{key:"connectedCallback",value:function(){this.addEventListener("click",this._boundOnClick,!1),this._connectOnClick()}},{key:"disconnectedCallback",value:function(){this.removeEventListener("click",this._boundOnClick,!1),this._disconnectOnClick()}},{key:"items",get:function(){return Y.arrayFrom(this.querySelectorAll("ons-speed-dial-item"))}},{key:"_fab",get:function(){return Y.findChild(this,"ons-fab")}},{key:"_onClick",value:function(t){var e=this;setTimeout((function(){if(!t.defaultPrevented&&!e.disabled&&e.visible)return e.toggleItems()}))}},{key:"_show",value:function(){return this.inline?Promise.resolve():this.show()}},{key:"_hide",value:function(){var t=this;return new Promise((function(e){t.inline?e():setImmediate((function(){return t.hide().then(e)}))}))}},{key:"_updateRipple",value:function(){this._fab&&(this.hasAttribute("ripple")?this._fab.setAttribute("ripple",""):this._fab.removeAttribute("ripple"))}},{key:"_updateDirection",value:function(t){for(var e=this.items,n=0;n=0?"translate3d(0px, -".concat(Y.globals.fabOffset||0,"px, 0px) "):""}},{key:"show",value:function(){return this._fab.show(),E(this,{transform:this._getTranslate}),Promise.resolve()}},{key:"hide",value:function(){var t=this;return this.hideItems().then((function(){return t._fab.hide()}))}},{key:"showItems",value:function(){var t=this.open;return this._ignoreOpenSideEffect=!0,this.open=!0,this._ignoreOpenSideEffect=!1,this._updateOpen(t)}},{key:"hideItems",value:function(){var t=this.open;return this._ignoreOpenSideEffect=!0,this.open=!1,this._ignoreOpenSideEffect=!1,this._updateOpen(t)}},{key:"_updateOpen",value:function(t){this.open&&(this.hasAttribute("direction")?this._updateDirection(this.getAttribute("direction")):this._updateDirection("up"));var e=0;if(t!==this.open){for(var n=this.items,i=0;i1&&void 0!==arguments[1]?arguments[1]:{};this._page=t;var i=n.callback||function(){};return new Promise((function(n){var a=e._content||null;e._pageLoader.load({page:t,parent:e},(function(t){a&&(e._pageLoader.unload(a),a=null),setImmediate((function(){return e._show()})),i(t),n(t)}))}))}},{key:"_show",value:function(){this._content&&this._content._show()}},{key:"_hide",value:function(){this._content&&this._content._hide()}},{key:"_destroy",value:function(){this._content&&this._pageLoader.unload(this._content),this.remove()}}],[{key:"observedAttributes",get:function(){return[]}},{key:"rewritables",get:function(){return Vi}}]),n}(ne);k.SplitterContent=Wi,customElements.define("ons-splitter-content",Wi);var Xi=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._boundOnClick=t._onClick.bind(d(t)),It(d(t),(function(){t.parentNode._sides.every((function(t){return"split"===t.mode}))&&t.setAttribute("style","display: none !important")})),t}return o(n,[{key:"_onClick",value:function(t){this.onClick instanceof Function?this.onClick():Y.match(this.parentNode,"ons-splitter")&&this.parentNode._sides.forEach((function(t){return t.close("left").catch((function(){}))})),t.stopPropagation()}},{key:"attributeChangedCallback",value:function(t,e,n){}},{key:"connectedCallback",value:function(){this.addEventListener("click",this._boundOnClick)}},{key:"disconnectedCallback",value:function(){this.removeEventListener("click",this._boundOnClick)}}],[{key:"observedAttributes",get:function(){return[]}}]),n}(ne);k.SplitterMask=Xi,customElements.define("ons-splitter-mask",Xi);var Ui=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"cubic-bezier(.1, .7, .1, 1)":a,r=t.duration,s=void 0===r?.3:r,l=t.delay,c=void 0===l?0:l;return i(this,n),e.call(this,{timing:o,duration:s,delay:c})}return o(n,[{key:"updateOptions",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Y.extend(this,{timing:this.timing,duration:this.duration,delay:this.delay},t)}},{key:"activate",value:function(t){var e=this,n=t.parentNode;It(n,(function(){e._side=t,e._oppositeSide=n.right!==t&&n.right||n.left!==t&&n.left,e._content=n.content,e._mask=n.mask}))}},{key:"deactivate",value:function(){this.clearTransition(),this._mask&&this.clearMask(),this._content=this._side=this._oppositeSide=this._mask=null}},{key:"minus",get:function(){return"right"===this._side.side?"-":""}},{key:"clearTransition",value:function(){var t=this;"side mask content".split(/\s+/).forEach((function(e){return t["_"+e]&&E.clear(t["_"+e],"transform transition")}))}},{key:"clearMask",value:function(){this._oppositeSide&&"split"!==this._oppositeSide.mode&&this._oppositeSide.isOpen||(this._mask.style.opacity="",this._mask.style.display="none")}},{key:"translate",value:function(t){}},{key:"open",value:function(t){t()}},{key:"close",value:function(t){t()}}]),n}(ae),Yi=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"translate",value:function(t){this._mask.style.display="block",ht(this._side).queue({transform:"translate3d(".concat(this.minus+t,"px, 0, 0)")}).play()}},{key:"open",value:function(t){ht.runAll(ht(this._side).wait(this.delay).queue({transform:"translate3d(".concat(this.minus,"100%, 0, 0)")},this.def).queue((function(e){e(),t&&t()})),ht(this._mask).wait(this.delay).queue({display:"block"}).queue({opacity:"1"},{duration:this.duration,timing:"linear"}))}},{key:"close",value:function(t){ht.runAll(ht(this._side).wait(this.delay).queue({transform:"translate3d(0, 0, 0)"},this.def).queue((function(e){t&&t(),e()})),ht(this._mask).wait(this.delay).queue({opacity:"0"},{duration:this.duration,timing:"linear"}).queue({display:"none"}))}}]),n}(Ui),$i=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"_getSlidingElements",value:function(){var t=[this._side,this._content];return this._oppositeSide&&"split"===this._oppositeSide.mode&&t.push(this._oppositeSide),t}},{key:"translate",value:function(t){this._slidingElements||(this._slidingElements=this._getSlidingElements()),this._mask.style.display="block",ht(this._slidingElements).queue({transform:"translate3d(".concat(this.minus+t,"px, 0, 0)")}).play()}},{key:"open",value:function(t){var e=this,n=this._side.offsetWidth;this._slidingElements=this._getSlidingElements(),ht.runAll(ht(this._slidingElements).wait(this.delay).queue({transform:"translate3d(".concat(this.minus+n,"px, 0, 0)")},this.def).queue((function(n){e._slidingElements=null,n(),t&&t()})),ht(this._mask).wait(this.delay).queue({display:"block"}))}},{key:"close",value:function(t){var e=this;this._slidingElements=this._getSlidingElements(),ht.runAll(ht(this._slidingElements).wait(this.delay).queue({transform:"translate3d(0, 0, 0)"},this.def).queue((function(i){e._slidingElements=null,f(l(n.prototype),"clearTransition",e).call(e),t&&t(),i()})),ht(this._mask).wait(this.delay).queue({display:"none"}))}}]),n}(Ui),Gi=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"_getSlidingElements",value:function(){var t=[this._content,this._mask];return this._oppositeSide&&"split"===this._oppositeSide.mode&&t.push(this._oppositeSide),t}},{key:"activate",value:function(t){f(l(n.prototype),"activate",this).call(this,t),"collapse"===t.mode&&this._setStyles(t)}},{key:"deactivate",value:function(){this._side&&this._unsetStyles(this._side),f(l(n.prototype),"deactivate",this).call(this)}},{key:"_setStyles",value:function(t){E(t,{left:"right"===t.side?"auto":0,right:"right"===t.side?0:"auto",zIndex:0,backgroundColor:"black",transform:this._generateBehindPageStyle(0).container.transform,display:"none"});var e=t.parentElement;It(e,(function(){return e.content&&E(e.content,{boxShadow:"0 0 12px 0 rgba(0, 0, 0, 0.2)"})}))}},{key:"_unsetStyles",value:function(t){E.clear(t,"left right zIndex backgroundColor display"),t._content&&(t._content.style.opacity=""),this._oppositeSide&&"split"!==this._oppositeSide.mode||t.parentElement.content&&E.clear(t.parentElement.content,"boxShadow")}},{key:"_generateBehindPageStyle",value:function(t){var e=this.maxWidth,n=(t-e)/e*10;return{content:{opacity:1+(n=isNaN(n)?0:Math.max(Math.min(n,0),-10))/100},container:{transform:"translate3d(".concat((this.minus?-1:1)*n,"%, 0, 0)")}}}},{key:"translate",value:function(t){this._side.style.display="",this._side.style.zIndex=1,this.maxWidth=this.maxWidth||this._getMaxWidth();var e=this._generateBehindPageStyle(Math.min(t,this.maxWidth));this._slidingElements||(this._slidingElements=this._getSlidingElements()),this._mask.style.display="block",ht.runAll(ht(this._slidingElements).queue({transform:"translate3d(".concat(this.minus+t,"px, 0, 0)")}),ht(this._side._content).queue(e.content),ht(this._side).queue(e.container))}},{key:"open",value:function(t){var e=this;this._side.style.display="",this._side.style.zIndex=1,this.maxWidth=this.maxWidth||this._getMaxWidth();var n=this._generateBehindPageStyle(this.maxWidth);this._slidingElements=this._getSlidingElements(),setTimeout((function(){ht.runAll(ht(e._slidingElements).wait(e.delay).queue({transform:"translate3d(".concat(e.minus+e.maxWidth,"px, 0, 0)")},e.def),ht(e._mask).wait(e.delay).queue({display:"block"}),ht(e._side._content).wait(e.delay).queue(n.content,e.def),ht(e._side).wait(e.delay).queue(n.container,e.def).queue((function(n){e._slidingElements=null,n(),t&&t()})))}),1e3/60)}},{key:"close",value:function(t){var e=this,n=this._generateBehindPageStyle(0);this._slidingElements=this._getSlidingElements(),ht.runAll(ht(this._slidingElements).wait(this.delay).queue({transform:"translate3d(0, 0, 0)"},this.def),ht(this._mask).wait(this.delay).queue({display:"none"}),ht(this._side._content).wait(this.delay).queue(n.content,this.def),ht(this._side).wait(this.delay).queue(n.container,this.def).queue((function(n){e._slidingElements=null,e._side.style.zIndex=0,e._side.style.display="none",e._side._content.style.opacity="",t&&t(),n()})))}},{key:"_getMaxWidth",value:function(){return this._side.offsetWidth}}]),n}(Ui),Ki={default:Yi,overlay:Yi,push:$i,reveal:Gi},Ji=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._onModeChange=t._onModeChange.bind(d(t)),It(d(t),(function(){!t.mask&&t.appendChild(document.createElement("ons-splitter-mask")),t._layout()})),t}return o(n,[{key:"_getSide",value:function(t){return Y.findChild(this,(function(e){return Y.match(e,"ons-splitter-side")&&e.getAttribute("side")===t}))}},{key:"left",get:function(){return this._getSide("left")}},{key:"right",get:function(){return this._getSide("right")}},{key:"side",get:function(){return Y.findChild(this,"ons-splitter-side")}},{key:"_sides",get:function(){return[this.left,this.right].filter((function(t){return t}))}},{key:"content",get:function(){return Y.findChild(this,"ons-splitter-content")}},{key:"topPage",get:function(){return this.content._content}},{key:"mask",get:function(){return Y.findChild(this,"ons-splitter-mask")}},{key:"onDeviceBackButton",get:function(){return this._backButtonHandler},set:function(t){this._backButtonHandler&&this._backButtonHandler.destroy(),this._backButtonHandler=at.createHandler(this,t)}},{key:"_onDeviceBackButton",value:function(t){this._sides.some((function(t){return!!t.isOpen&&t.close()}))||t.callParentHandler()}},{key:"_onModeChange",value:function(t){var e=this;t.target.parentNode&&It(this,(function(){e._layout()}))}},{key:"_layout",value:function(){var t=this;this._sides.forEach((function(e){t.content&&(t.content.style[e.side]="split"===e.mode?e.style.width:0)}))}},{key:"connectedCallback",value:function(){this.onDeviceBackButton=this._onDeviceBackButton.bind(this),this.addEventListener("modechange",this._onModeChange,!1)}},{key:"disconnectedCallback",value:function(){this._backButtonHandler.destroy(),this._backButtonHandler=null,this.removeEventListener("modechange",this._onModeChange,!1)}},{key:"attributeChangedCallback",value:function(t,e,n){}},{key:"_show",value:function(){Y.propagateAction(this,"_show")}},{key:"_hide",value:function(){Y.propagateAction(this,"_hide")}},{key:"_destroy",value:function(){Y.propagateAction(this,"_destroy"),this.remove()}}],[{key:"registerAnimator",value:function(t,e){e instanceof SplitterAnimator||Y.throwAnimator("Splitter"),Ki[t]=e}},{key:"SplitterAnimator",get:function(){return SplitterAnimator}},{key:"animators",get:function(){return Ki}}]),n}(ne);k.Splitter=Ji,customElements.define("ons-splitter",Ji);var Qi="split",Zi="collapse",ta="closed",ea="open",na="changing",ia={ready:function(t,e){setImmediate(e)}},aa=function(){function t(e,n){i(this,t),this._element=e,this._onChange=this._onChange.bind(this),n&&this.changeTarget(n)}return o(t,[{key:"changeTarget",value:function(t){this.disable(),this._target=t,t&&(this._orientation=-1!==["portrait","landscape"].indexOf(t),this.activate())}},{key:"_match",value:function(t){return this._orientation?this._target===(t.isPortrait?"portrait":"landscape"):t.matches}},{key:"_onChange",value:function(t){this._element._updateMode(this._match(t)?Zi:Qi)}},{key:"activate",value:function(){this._orientation?(qt.on("change",this._onChange),this._onChange({isPortrait:qt.isPortrait()})):(this._queryResult=window.matchMedia(this._target),this._queryResult.addListener(this._onChange),this._onChange(this._queryResult))}},{key:"disable",value:function(){this._orientation?qt.off("change",this._onChange):this._queryResult&&(this._queryResult.removeListener(this._onChange),this._queryResult=null)}}]),t}(),oa=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._page=null,t._state=ta,t._lock=new Ut,t._pageLoader=Jt,t._collapseDetection=new aa(d(t)),t._animatorFactory=new Z({animators:Ji.animators,baseClass:Ui,baseClassName:"SplitterAnimator",defaultAnimation:t.getAttribute("animation")}),It(d(t),(function(){t.attributeChangedCallback("width"),t.hasAttribute("side")||t.setAttribute("side","left"),ia.ready(d(t),(function(){var e=t._page||t.getAttribute("page");e&&t.load(e)}))})),t}return o(n,[{key:"connectedCallback",value:function(){var t=this;Y.match(this.parentNode,"ons-splitter")||Y.throw("Parent must be an ons-splitter element"),this._swipe||(this._swipe=new Rn({element:this,elementHandler:this.parentElement,swipeMax:function(){t._onSwipe&&t._onSwipe(1,t._animationOpt),Y.triggerElementEvent(t,"swipe",{ratio:1,animationOptions:t._animationOpt}),t.open()},swipeMid:function(e,n){var i=e/n;t._onSwipe&&t._onSwipe(i),Y.triggerElementEvent(t,"swipe",{ratio:i}),t._animator.translate(e)},swipeMin:function(){t._onSwipe&&t._onSwipe(0,t._animationOpt),Y.triggerElementEvent(t,"swipe",{ratio:0,animationOptions:t._animationOpt}),t.close()},getThreshold:function(){return Math.max(0,Math.min(1,parseFloat(t.getAttribute("open-threshold"))||.3))},getSide:function(){return t.side},isInitialState:function(){var e=t._state===ta;return t._state=na,e},ignoreSwipe:function(e,n){var i,a=t.isOpen,o=Math.max(0,parseInt(t.getAttribute("swipe-target-width"),10)||0);return t._mode===Qi||t._lock.isLocked()||t._isOtherSideOpen()||(i=e.gesture.direction,!("left"===t.side?"left"===i&&a||"right"===i&&!a:"left"===i&&!a||"right"===i&&a))||!a&&0!==o&&n>o}}),this.attributeChangedCallback("swipeable")),It(this,(function(){t.constructor.observedAttributes.forEach((function(e){return t.attributeChangedCallback(e,null,t.getAttribute(e))}))}))}},{key:"side",get:function(){return"right"===this.getAttribute("side")?"right":"left"},set:function(t){t?this.setAttribute("side",t):tihs.removeAttribute("side")}},{key:"disconnectedCallback",value:function(){this._swipe&&this._swipe.dispose(),this._animator=this._animationOpt=this._swipe=null}},{key:"attributeChangedCallback",value:function(t,e,n){switch(t){case"swipeable":this._swipe&&this._swipe.update();break;case"width":n=this.getAttribute("width"),this.style.width=/^\d+(px|%)$/.test(n)?n:"80%";break;case"animation":case"animation-options":this._updateAnimation();break;default:this[Y.camelize("_update-".concat(t))](n)}}},{key:"_emitEvent",value:function(t){if("pre"!==t.slice(0,3))return Y.triggerElementEvent(this,t,{side:this});var e=!1;return Y.triggerElementEvent(this,t,{side:this,cancel:function(){return e=!0}}),e}},{key:"_isOtherSideOpen",value:function(){var t=this;return!!Y.findChild(this.parentElement,(function(e){return e instanceof t.constructor&&e!==t&&e._mode===Zi&&e.isOpen}))}},{key:"_updateCollapse",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getAttribute("collapse");return null===t||"split"===t?(this._collapseDetection.disable(),this._updateMode(Qi)):""===t||"collapse"===t?(this._collapseDetection.disable(),this._updateMode(Zi)):void this._collapseDetection.changeTarget(t)}},{key:"_updateMode",value:function(t){t!==this._mode&&(this._mode=t,this.setAttribute("mode",t),t===Qi?(this._animator&&this._animator.deactivate(),this._state=ta):(this._animator&&this._animator.activate(this),this._state===ea&&this._animator.open()),Y.triggerElementEvent(this,"modechange",{side:this,mode:t}))}},{key:"_updateAnimation",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getAttribute("animation");this.parentNode&&(this._animator&&this._animator.deactivate(),this._animator=this._animatorFactory.newAnimator({animation:t}),this._animator.activate(this),this._animationOpt={timing:this._animator.duration,duration:this._animator.duration},this._animator.updateOptions(this.animationOptions))}},{key:"page",get:function(){return this._page},set:function(t){this._page=t}},{key:"_content",get:function(){return this.children[0]}},{key:"pageLoader",get:function(){return this._pageLoader},set:function(t){t instanceof Kt||Y.throwPageLoader(),this._pageLoader=t}},{key:"mode",get:function(){return this._mode}},{key:"onSwipe",get:function(){return this._onSwipe},set:function(t){!t||t instanceof Function||Y.throw('"onSwipe" must be a function'),this._onSwipe=t}},{key:"animationOptions",get:function(){return this.hasAttribute("animation-options")?Z.parseAnimationOptionsString(this.getAttribute("animation-options")):{}},set:function(t){null==t?this.removeAttribute("animation-options"):this.setAttribute("animation-options",JSON.stringify(t))}},{key:"isOpen",get:function(){return this._mode===Zi&&this._state!==ta},set:function(t){this.toggle({},t)}},{key:"open",value:function(t){return this.toggle(t,!0)}},{key:"close",value:function(t){return this.toggle(t,!1)}},{key:"toggle",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1?arguments[1]:void 0,i="boolean"==typeof n?n:!this.isOpen,a=i?"open":"close",o=i?ea:ta;if(this._mode===Qi)return Promise.resolve(!1);if(this._state===o)return Promise.resolve(this);if(this._lock.isLocked())return Promise.reject("Another splitter-side action is already running.");if(i&&this._isOtherSideOpen())return Promise.reject("Another menu is already open.");if(this._emitEvent("pre".concat(a)))return Promise.reject("Canceled in pre".concat(a," event."));var r=this._lock.lock();return this._state=na,e.animation&&this._updateAnimation(e.animation),new Promise((function(n){t._animator[a]((function(){Y.iosPageScrollFix(i),t._state=o,r(),t._emitEvent("post".concat(a)),e.callback instanceof Function&&e.callback(t),n(t)}))}))}},{key:"load",value:function(t){var e=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._page=t;var i=n.callback||function(){};return new Promise((function(n){var a=e._content||null;e._pageLoader.load({page:t,parent:e},(function(t){a&&(e._pageLoader.unload(a),a=null),setImmediate((function(){return e._show()})),i(t),n(t)}))}))}},{key:"_show",value:function(){this._content&&this._content._show()}},{key:"_hide",value:function(){this._content&&this._content._hide()}},{key:"_destroy",value:function(){this._content&&this._pageLoader.unload(this._content),this.remove()}}],[{key:"observedAttributes",get:function(){return["animation","width","collapse","swipeable","animation-options"]}},{key:"events",get:function(){return["preopen","postopen","preclose","postclose","modechange","swipe"]}},{key:"rewritables",get:function(){return ia}}]),n}(ne);Y.defineBooleanProperties(oa,["swipeable"]),k.SplitterSide=oa,customElements.define("ons-splitter-side",oa);var ra={"":"switch--*",".switch__input":"switch--*__input",".switch__handle":"switch--*__handle",".switch__toggle":"switch--*__toggle"},sa={ios:[1,21],material:[0,16]},la=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),It(d(t=e.call(this)),(function(){t.attributeChangedCallback("modifier",null,t.getAttribute("modifier"))})),t._onChange=t._onChange.bind(d(t)),t._onRelease=t._onRelease.bind(d(t)),t._lastTimeStamp=0,t}return o(n,[{key:"_scheme",get:function(){return ra}},{key:"_defaultClassName",get:function(){return"switch"}},{key:"_template",get:function(){return'\n \n
\n
\n
\n
\n
\n ')}},{key:"type",get:function(){return"checkbox"}},{key:"_getPosition",value:function(t){var e=this._locations;return Math.min(e[1],Math.max(e[0],this._startX+t.gesture.deltaX))}},{key:"_emitChangeEvent",value:function(){Y.triggerElementEvent(this,"change",{value:this.checked,switch:this,isInteractive:!0})}},{key:"_onChange",value:function(t){t&&t.stopPropagation&&t.stopPropagation(),this._emitChangeEvent()}},{key:"_onClick",value:function(t){(t.target.classList.contains("".concat(this.defaultElementClass,"__touch"))||t.timeStamp-this._lastTimeStamp<50)&&t.preventDefault(),this._lastTimeStamp=t.timeStamp}},{key:"_onHold",value:function(t){this.disabled||(M.addModifier(this,"active"),document.addEventListener("release",this._onRelease))}},{key:"_onDragStart",value:function(t){this.disabled||-1===["left","right"].indexOf(t.gesture.direction)?M.removeModifier(this,"active"):(t.consumed=!0,M.addModifier(this,"active"),this._startX=this._locations[this.checked?1:0],this.addEventListener("drag",this._onDrag),document.addEventListener("release",this._onRelease))}},{key:"_onDrag",value:function(t){t.stopPropagation(),this._handle.style.left=this._getPosition(t)+"px"}},{key:"_onRelease",value:function(t){var e=this._locations,n=this._getPosition(t),i=this.checked;this.checked=n>=(e[0]+e[1])/2,this.checked!==i&&this._emitChangeEvent(),this.removeEventListener("drag",this._onDrag),document.removeEventListener("release",this._onRelease),this._handle.style.left="",M.removeModifier(this,"active")}},{key:"click",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.disabled||(this.checked=!this.checked,this._emitChangeEvent(),this._lastTimeStamp=t.timeStamp||0)}},{key:"_handle",get:function(){return this.querySelector(".".concat(this._defaultClassName,"__handle"))}},{key:"checkbox",get:function(){return this._input}},{key:"connectedCallback",value:function(){var t=this;It(this,(function(){t._input.addEventListener("change",t._onChange)})),this.addEventListener("dragstart",this._onDragStart),this.addEventListener("hold",this._onHold),this.addEventListener("tap",this.click),this.addEventListener("click",this._onClick),this._gestureDetector=new ft(this,{dragMinDistance:1,holdTimeout:251,passive:!0})}},{key:"disconnectedCallback",value:function(){var t=this;It(this,(function(){t._input.removeEventListener("change",t._onChange)})),this.removeEventListener("dragstart",this._onDragStart),this.removeEventListener("hold",this._onHold),this.removeEventListener("tap",this.click),this.removeEventListener("click",this._onClick),this._gestureDetector&&this._gestureDetector.dispose()}},{key:"attributeChangedCallback",value:function(t,e,i){if("modifier"===t){var a=-1!==(i||"").indexOf("material");this._locations=sa[a?"material":"ios"]}f(l(n.prototype),"attributeChangedCallback",this).call(this,t,e,i)}}],[{key:"observedAttributes",get:function(){return[].concat(p(f(l(n),"observedAttributes",this)),["modifier"])}}]),n}(En);k.Switch=la,customElements.define("ons-switch",la);var ca={".tabbar__content":"tabbar--*__content",".tabbar__border":"tabbar--*__border",".tabbar":"tabbar--*"},ua={ready:function(t,e){e()}};Q.nullElement;var da=function(t,e,n){return(1-n)*t+n*e},ha=function(t){s(a,t);var n=h(a);function a(){var t;i(this,a),(t=n.call(this))._loadInactive=Y.defer(),It(d(t),(function(){return t._compile()}));var e=Y.defineListenerProperty(d(t),"swipe"),o=e.onConnected,r=e.onDisconnected;return t._connectOnSwipe=o,t._disconnectOnSwipe=r,t}return o(a,[{key:"connectedCallback",value:function(){var t=this;this._swiper||(this._swiper=new qe({getElement:function(){return t._contentElement},getInitialIndex:function(){return t.activeIndex||t.getAttribute("activeIndex")},getAutoScrollRatio:this._getAutoScrollRatio.bind(this),getBubbleWidth:function(){return parseInt(t.getAttribute("ignore-edge-width")||25,10)},isAutoScrollable:function(){return!0},preChangeHook:this._onPreChange.bind(this),postChangeHook:this._onPostChange.bind(this),refreshHook:this._onRefresh.bind(this),scrollHook:this._onScroll.bind(this)}),It(this,(function(){t._tabbarBorder=Y.findChild(t._tabbarElement,".tabbar__border"),t._swiper.init({swipeable:t.hasAttribute("swipeable")})}))),It(this,(function(){t._updatePosition(),t._updateVisibility(),Y.findParent(t,"ons-page",(function(t){return t===document.body}))||t._show()})),this._connectOnSwipe()}},{key:"disconnectedCallback",value:function(){this._swiper&&this._swiper.initialized&&(this._swiper.dispose(),this._swiper=null,this._tabbarBorder=null,this._tabsRect=null),this._disconnectOnSwipe()}},{key:"_normalizeEvent",value:function(t){return e(e({},t),{},{index:t.activeIndex,tabItem:this.tabs[t.activeIndex]})}},{key:"_onPostChange",value:function(t){t=this._normalizeEvent(t),Y.triggerElementEvent(this,"postchange",t);var e=t.tabItem.pageElement;e&&e._show()}},{key:"_onPreChange",value:function(t){if((t=this._normalizeEvent(t)).cancel=function(){return t.canceled=!0},Y.triggerElementEvent(this,"prechange",t),!t.canceled){var e=t,n=e.activeIndex,i=e.lastActiveIndex,a=this.tabs;if(a[n].setActive(!0),i>=0){var o=a[i];o.setActive(!1),o.pageElement&&o.pageElement._hide()}}return t.canceled}},{key:"_onScroll",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this._tabbarBorder)if(this._tabbarBorder.style.transition="all ".concat(e.duration||0,"s ").concat(e.timing||""),this._autogrow&&this._tabsRect.length>0){var n=Math.floor(t),i=Math.ceil(t),a=t%1;this._tabbarBorder.style.width=da(this._tabsRect[n].width,this._tabsRect[i].width,a)+"px",this._tabbarBorder.style.transform="translate3d(".concat(da(this._tabsRect[n].left,this._tabsRect[i].left,a),"px, 0, 0)")}else this._tabbarBorder.style.transform="translate3d(".concat(100*t,"%, 0, 0)");Y.triggerElementEvent(this,"swipe",{index:t,options:e})}},{key:"_onRefresh",value:function(){if(this._autogrow=Y.hasModifier(this,"autogrow"),this._tabsRect=this.tabs.map((function(t){return t.getBoundingClientRect()})),this._tabbarBorder){this._tabbarBorder.style.display=this.hasAttribute("tab-border")||Y.hasModifier(this,"material")?"block":"none";var t=this.getActiveTabIndex();this._tabsRect.length>0&&t>=0&&(this._tabbarBorder.style.width=this._tabsRect[t].width+"px")}}},{key:"_getAutoScrollRatio",value:function(t,e,n){var i=n/300*(t?-1:1);return Math.min(1,Math.max(0,.6+e*i))}},{key:"_tabbarElement",get:function(){return Y.findChild(this,".tabbar")}},{key:"_contentElement",get:function(){return Y.findChild(this,".tabbar__content")}},{key:"_targetElement",get:function(){var t=this._contentElement;return t&&t.children[0]||null}},{key:"_compile",value:function(){O.prepare(this);var t=this._contentElement||Y.create(".tabbar__content");t.classList.add("ons-tabbar__content");var e=this._tabbarElement||Y.create(".tabbar");if(e.classList.add("ons-tabbar__footer"),!e.parentNode)for(;this.firstChild;)e.appendChild(this.firstChild);e.children.length>this.activeIndex&&!Y.findChild(e,"[active]")&&e.children[this.activeIndex].setAttribute("active",""),this._tabbarBorder=Y.findChild(e,".tabbar__border")||Y.create(".tabbar__border"),e.appendChild(this._tabbarBorder),e.classList.add("ons-swiper-tabbar"),!t.children[0]&&t.appendChild(document.createElement("div")),!t.children[1]&&t.appendChild(document.createElement("div")),t.appendChild=t.appendChild.bind(t.children[0]),t.insertBefore=t.insertBefore.bind(t.children[0]),this.appendChild(t),this.appendChild(e),M.initModifier(this,ca)}},{key:"_updatePosition",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.getAttribute("position"),n=this._top="top"===e||"auto"===e&&Y.hasModifier(this,"material"),i=n?Y.addModifier:Y.removeModifier;i(this,"top");var a=Y.findParent(this,"ons-page");a&&It(a,(function(){var e=0;a.children[0]&&Y.match(a.children[0],"ons-toolbar")&&(i(a.children[0],"noshadow"),e=1);var o=a._getContentElement(),r=window.getComputedStyle(a._getContentElement(),null);t.style.top=n?parseInt(r.getPropertyValue("padding-top"),10)-e+"px":"",o.style.top=r.top,o.style.top=""})),Q.autoStatusBarFill((function(){var e=Y.findParent(t,(function(t){return t.hasAttribute("status-bar-fill")}));Y.toggleAttribute(t,"status-bar-fill",n&&!e)}))}},{key:"topPage",get:function(){var t=this.tabs,e=this.getActiveTabIndex();return t[e]&&(t[e].pageElement||this.pages[0])||null}},{key:"pages",get:function(){return Y.arrayFrom(this._targetElement.children)}},{key:"tabs",get:function(){return Array.prototype.filter.call(this._tabbarElement.children,(function(t){return"ONS-TAB"===t.tagName}))}},{key:"setActiveTab",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.activeIndex;return this._activeIndexSkipEffect=!0,this.activeIndex=t,this._updateActiveIndex(t,n,e)}},{key:"_updateActiveIndex",value:function(t,n){var i=this,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=this.tabs[n],r=this.tabs[t];if(!r)return Promise.reject("Specified index does not match any tab.");if(t===n)return Y.triggerElementEvent(this,"reactive",{index:t,activeIndex:t,tabItem:r}),Promise.resolve(r.pageElement);var s=r.pageElement;return(s?Promise.resolve(s):r.loaded).then((function(n){return i._swiper.setActiveIndex(t,e(e({reject:!0},a),{},{animation:o&&n?a.animation||i.getAttribute("animation"):"none",animationOptions:Y.extend({duration:.3,timing:"cubic-bezier(.4, .7, .5, 1)"},i.animationOptions,a.animationOptions||{})})).then((function(){return a.callback instanceof Function&&a.callback(n),n}))}))}},{key:"setTabbarVisibility",value:function(t){this.hideTabs=!t}},{key:"show",value:function(){this.hideTabs=!1}},{key:"hide",value:function(){this.hideTabs=!0}},{key:"_updateVisibility",value:function(){var t=this;It(this,(function(){var e=!t.hideTabs;t._contentElement.style[t._top?"top":"bottom"]=e?"":"0px",t._tabbarElement.style.display=e?"":"none",e&&t._onRefresh()}))}},{key:"visible",get:function(){return"none"!==this._tabbarElement.style.display}},{key:"getActiveTabIndex",value:function(){for(var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.tabs,e=0;e0&&n>=0&&e[n].loaded.then((function(t){return t&&setImmediate((function(){return t._show()}))}))}))}},{key:"_hide",value:function(){this._swiper.hide();var t=this.topPage;t&&t._hide()}},{key:"_destroy",value:function(){this.tabs.forEach((function(t){return t.remove()})),this.remove()}},{key:"attributeChangedCallback",value:function(t,e,n){var i=this;if("modifier"===t){M.onModifierChanged(e,n,this,ca);var a=function(t){return/(^|\s+)top($|\s+)/i.test(t)};a(e)!==a(n)&&this._updatePosition()}else"position"===t?Y.isAttached(this)&&this._updatePosition():"swipeable"===t?this._swiper&&this._swiper.updateSwipeable(this.hasAttribute("swipeable")):"hide-tabs"===t?this.isConnected&&this._updateVisibility():"active-index"===t&&(this._activeIndexSkipEffect?this._activeIndexSkipEffect=!1:this.isConnected&&It(this,(function(){return i._updateActiveIndex(n,e)})))}},{key:"animationOptions",get:function(){return this.hasAttribute("animation-options")?Y.animationOptionsParse(this.getAttribute("animation-options")):{}},set:function(t){null==t?this.removeAttribute("animation-options"):this.setAttribute("animation-options",JSON.stringify(t))}}],[{key:"observedAttributes",get:function(){return["modifier","position","swipeable","tab-border","hide-tabs","active-index"]}},{key:"rewritables",get:function(){return ua}},{key:"events",get:function(){return["prechange","postchange","reactive","swipe"]}}]),a}(ne);Y.defineBooleanProperties(ha,["hide-tabs","swipeable","tab-border"]),k.Tabbar=ha,customElements.define("ons-tabbar",ha);var fa="tabbar__item",pa={"":"tabbar--*__item",".tabbar__button":"tabbar--*__button"},ma=function(t){s(n,t);var e=h(n);function n(){var t;i(this,n),t=e.call(this),["label","icon","badge"].some(t.hasAttribute.bind(d(t)))?t._compile():It(d(t),(function(){return t._compile()})),t._pageLoader=Jt,t._onClick=t._onClick.bind(d(t));var a=Y.defineListenerProperty(d(t),"click"),o=a.onConnected,r=a.onDisconnected;return t._connectOnClick=o,t._disconnectOnClick=r,t}return o(n,[{key:"pageLoader",get:function(){return this._pageLoader},set:function(t){t instanceof Kt||Y.throwPageLoader(),this._pageLoader=t}},{key:"_compile",value:function(){if(O.prepare(this),this.classList.add(fa),!this._button){for(var t=Y.create("button.tabbar__button");this.childNodes[0];)t.appendChild(this.childNodes[0]);var e=Y.create("input",{display:"none"});e.type="radio",this.appendChild(e),this.appendChild(t),this._updateButtonContent(),M.initModifier(this,pa),this._updateRipple()}}},{key:"_updateRipple",value:function(){this._button&&Y.updateRipple(this._button,this.hasAttribute("ripple"))}},{key:"_updateButtonContent",value:function(){var t,e=this,n=this._button,i=this._icon;if(this.hasAttribute("icon")){var a=(i=i||Y.createElement('
')).children[0],o=(t=a.getAttribute("icon"),function(){return a.attributeChangedCallback("icon",t,e.getAttribute("icon"))});this.hasAttribute("icon")&&this.hasAttribute("active-icon")?a.setAttribute("icon",this.getAttribute(this.isActive()?"active-icon":"icon")):this.hasAttribute("icon")&&a.setAttribute("icon",this.getAttribute("icon")),i.parentElement!==n&&n.insertBefore(i,n.firstChild),a.attributeChangedCallback instanceof Function?o():setImmediate((function(){return a.attributeChangedCallback instanceof Function&&o()}))}else i&&i.remove();["label","badge"].forEach((function(t,i){var a=e.querySelector(".tabbar__".concat(t));e.hasAttribute(t)?((a=a||Y.create(".tabbar__".concat(t)+("badge"===t?" notification":""))).textContent=e.getAttribute(t),a.parentElement!==n&&n.appendChild(a)):a&&a.remove()}))}},{key:"_input",get:function(){return Y.findChild(this,"input")}},{key:"_button",get:function(){return Y.findChild(this,".tabbar__button")}},{key:"_icon",get:function(){return this.querySelector(".tabbar__icon")}},{key:"_tabbar",get:function(){return Y.findParent(this,"ons-tabbar")}},{key:"index",get:function(){return Array.prototype.indexOf.call(this.parentElement.children,this)}},{key:"_onClick",value:function(t){var e=this;setTimeout((function(){t.defaultPrevented||e._tabbar.setActiveTab(e.index,{reject:!1})}))}},{key:"setActive",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];It(this,(function(){t._input.checked=e,t.classList.toggle("active",e),Y.toggleAttribute(t,"active",e),t.hasAttribute("icon")&&t.hasAttribute("active-icon")&&t._icon.children[0].setAttribute("icon",t.getAttribute(e?"active-icon":"icon"))}))}},{key:"_loadPageElement",value:function(t,e){var n=this;return this._hasLoaded=!0,new Promise((function(i){n._pageLoader.load({parent:t,page:e},(function(e){t.replaceChild(e,t.children[n.index]),n._loadedPage=e,i(e)}))}))}},{key:"pageElement",get:function(){if(this._loadedPage)return this._loadedPage;var t=this._tabbar;return t.pages.length===t.tabs.length?t.pages[this.index]:null}},{key:"isActive",value:function(){return this.classList.contains("active")}},{key:"disconnectedCallback",value:function(){this.removeEventListener("click",this._onClick,!1),this._loadedPage&&(this._hasLoaded=!1,this.loaded=null),this._disconnectOnClick()}},{key:"connectedCallback",value:function(){var t=this;if(this.addEventListener("click",this._onClick,!1),Y.isAttached(this)&&!this.loaded){var e=Y.defer();this.loaded=e.promise,It(this,(function(){var n=t.index,i=t._tabbar;i||Y.throw("Tab elements must be children of Tabbar"),i.hasAttribute("modifier")&&Y.addModifier(t,i.getAttribute("modifier")),t._hasLoaded||(t.hasAttribute("active")&&(t.setActive(!0),i.activeIndex=n),n===i.tabs.length-1&&(i._onRefresh(),setImmediate((function(){return i._onRefresh()}))),ha.rewritables.ready(i,(function(){var a=t.page||t.getAttribute("page");if(!t.pageElement&&a){var o=i._targetElement,r=Y.create("div",{height:"100%",width:"100%",visibility:"hidden"});o.insertBefore(r,o.children[n]);var s=function(){return t._loadPageElement(o,a).then(e.resolve)};return t.isActive()?s():i._loadInactive.promise.then(s)}return e.resolve(t.pageElement)})))})),this._connectOnClick()}}},{key:"attributeChangedCallback",value:function(t,e,n){var i=this;switch(t){case"class":Y.restoreClass(this,fa,pa);break;case"modifier":It(this,(function(){return M.onModifierChanged(e,n,i,pa)}));break;case"ripple":It(this,(function(){return i._updateRipple()}));break;case"icon":case"label":case"badge":It(this,(function(){return i._updateButtonContent()}));break;case"page":this.page=n||""}}}],[{key:"observedAttributes",get:function(){return["modifier","ripple","icon","label","page","badge","class"]}}]),n}(ne);k.Tab=ma,customElements.define("ons-tab",ma);var ga=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"linear":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.2:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e()}},{key:"hide",value:function(t,e){e()}}]),n}(ae),va=function(t){s(n,t);var e=h(n);function n(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=t.timing,o=void 0===a?"linear":a,r=t.delay,s=void 0===r?0:r,l=t.duration,c=void 0===l?.3:l;return i(this,n),e.call(this,{timing:o,delay:s,duration:c})}return o(n,[{key:"show",value:function(t,e){e=e||function(){},ht(t,this.def).default({opacity:0},{opacity:1}).queue((function(t){e(),t()})).play()}},{key:"hide",value:function(t,e){e=e||function(){},ht(t,this.def).default({opacity:1},{opacity:0}).queue((function(t){e(),t()})).play()}}]),n}(ga),_a=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"ease":o,s=a.delay,l=void 0===s?0:s,c=a.duration,u=void 0===c?.25:c;return i(this,n),(t=e.call(this,{timing:r,delay:l,duration:u})).messageDelay=.4*t.duration+t.delay,b.isAndroid()?t.ascension=48:oe.isIPhoneXPortraitPatchActive()?t.ascension=98:oe.isIPhoneXLandscapePatchActive()?t.ascension=85:t.ascension=64,t}return o(n,[{key:"show",value:function(t,e){t=t._toast,Y.globals.fabOffset=this.ascension,ht.runAll(ht(t,this.def).default({transform:"translate3d(0, ".concat(this.ascension,"px, 0)")},{transform:"translate3d(0, 0, 0)"}).queue((function(t){e&&e(),t()})),ht(this._getFabs()).wait(this.delay).queue({transform:"translate3d(0, -".concat(this.ascension,"px, 0) scale(1)")},this.def),ht(Y.arrayFrom(t.children),this.def).default({opacity:0},{opacity:1}))}},{key:"hide",value:function(t,e){t=t._toast,Y.globals.fabOffset=0,ht.runAll(ht(t,this.def).default({transform:"translate3d(0, 0, 0)"},{transform:"translate3d(0, ".concat(this.ascension,"px, 0)")}).queue((function(t){e&&e(),t()})),ht(this._getFabs(),this.def).wait(this.delay).queue({transform:"translate3d(0, 0, 0) scale(1)"},this.def),ht(Y.arrayFrom(t.children),this.def).default({opacity:1},{opacity:0}))}},{key:"_getFabs",value:function(){return Y.arrayFrom(document.querySelectorAll("ons-fab[position~=bottom], ons-speed-dial[position~=bottom]")).filter((function(t){return t.visible}))}}]),n}(ga),ba=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"ease":o,s=a.delay,l=void 0===s?0:s,c=a.duration,u=void 0===c?.35:c;return i(this,n),(t=e.call(this,{timing:r,delay:l,duration:u})).bodyHeight=document.body.clientHeight,oe.isIPhoneXPortraitPatchActive()?t.liftAmount="calc(100% + 34px)":oe.isIPhoneXLandscapePatchActive()?t.liftAmount="calc(100% + 21px)":t.liftAmount="100%",t}return o(n,[{key:"show",value:function(t,e){t=t._toast,ht.runAll(ht(t,this.def).default({transform:"translate3d(0, ".concat(this.liftAmount,", 0)"),opacity:0},{transform:"translate3d(0, 0, 0)",opacity:1}).queue((function(t){e&&e(),t()})))}},{key:"hide",value:function(t,e){t=t._toast,ht.runAll(ht(t,this.def).default({transform:"translate3d(0, 0, 0)",opacity:1},{transform:"translate3d(0, ".concat(this.liftAmount,", 0)"),opacity:0}).queue((function(t){e&&e(),t()})))}},{key:"_updatePosition",value:function(t){0===parseInt(t.style.top,10)&&(t.style.top=t.style.bottom="")}}]),n}(ga),ya=function(t){s(n,t);var e=h(n);function n(){var t,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=a.timing,r=void 0===o?"ease":o,s=a.delay,l=void 0===s?0:s,c=a.duration,u=void 0===c?.35:c;return i(this,n),t=e.call(this,{timing:r,delay:l,duration:u}),oe.isIPhoneXPortraitPatchActive()?t.fallAmount="calc(-100% - 44px)":t.fallAmount="-100%",t}return o(n,[{key:"show",value:function(t,e){t=t._toast,this._updatePosition(t),ht.runAll(ht(t,this.def).default({transform:"translate3d(0, ".concat(this.fallAmount,", 0)"),opacity:0},{transform:"translate3d(0, 0, 0)",opacity:1}).queue((function(t){e&&e(),t()})))}},{key:"hide",value:function(t,e){var n=this;t=t._toast,this._updatePosition(t),ht.runAll(ht(t,this.def).default({transform:"translate3d(0, 0, 0)",opacity:1},{transform:"translate3d(0, ".concat(this.fallAmount,", 0)"),opacity:0}).queue((function(i){n._updatePosition(t,!0),e&&e(),i()})))}},{key:"_updatePosition",value:function(t,e){var n;n=oe.isIPhoneXPortraitPatchActive()?"44px":"0",t.style.top!==n&&(t.style.top=n,t.style.bottom="initial")}}]),n}(ga),ka={".toast":"toast--*",".toast__message":"toast--*__message",".toast__button":"toast--*__button"},wa="toast",Ea={default:b.isAndroid()?_a:ba,fade:va,ascend:_a,lift:ba,fall:ya,none:ga},Ca=function(t){s(n,t);var e=h(n);function n(){var t;return i(this,n),(t=e.call(this))._defaultDBB=null,It(d(t),(function(){return t._compile()})),t}return o(n,[{key:"_scheme",get:function(){return ka}},{key:"_toast",get:function(){return Y.findChild(this,".".concat(wa))}},{key:"_updateAnimatorFactory",value:function(){return this._toast&&(this._toast.style.top=this._toast.style.bottom=""),new Z({animators:Ea,baseClass:ga,baseClassName:"ToastAnimator",defaultAnimation:this.getAttribute("animation")})}},{key:"_compile",value:function(){O.prepare(this),this.style.display="none",this.style.zIndex=1e4;var t="toast__message",e="toast__button",n=Y.findChild(this,".".concat(wa));if(!n)for((n=document.createElement("div")).classList.add(wa);this.childNodes[0];)n.appendChild(this.childNodes[0]);var i=Y.findChild(n,".".concat(e));if(i||(i=Y.findChild(n,(function(t){return Y.match(t,".button")||Y.match(t,"button")})))&&(i.classList.remove("button"),i.classList.add(e),n.appendChild(i)),!Y.findChild(n,".".concat(t))){var a=Y.findChild(n,".message");if(!a){a=document.createElement("div");for(var o=n.childNodes.length-1;o>=0;o--)n.childNodes[o]!==i&&a.insertBefore(n.childNodes[o],a.firstChild)}a.classList.add(t),n.insertBefore(a,n.firstChild)}n.parentNode!==this&&this.appendChild(n),M.initModifier(this,this._scheme)}}],[{key:"registerAnimator",value:function(t,e){e.prototype instanceof ga||Y.throw('"Animator" param must inherit OnsToastElement.ToastAnimator'),Ea[t]=e}},{key:"animators",get:function(){return Ea}},{key:"ToastAnimator",get:function(){return ga}}]),n}(ce);k.Toast=Ca,customElements.define("ons-toast",Ca);var Aa=function(t){s(n,t);var e=h(n);function n(){return i(this,n),e.apply(this,arguments)}return o(n,[{key:"_scheme",get:function(){return{"":"toolbar-button--*"}}},{key:"_defaultClassName",get:function(){return"toolbar-button"}},{key:"_rippleOpt",get:function(){return[this,void 0,{center:"",size:"contain",background:"transparent"}]}}]),n}(ve);return k.ToolbarButton=Aa,customElements.define("ons-toolbar-button",Aa),function(t){Q.waitDOMContentLoaded((function(){function t(t){for(var e=window.document.querySelectorAll(t),n=0;n=0;)t[e]=0}const a=256,i=286,n=30,s=15,r=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),l=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),o=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),h=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),d=new Array(576);e(d);const _=new Array(60);e(_);const f=new Array(512);e(f);const c=new Array(256);e(c);const u=new Array(29);e(u);const w=new Array(n);function b(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let g,p,m;function k(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}e(w);const v=t=>t<256?f[t]:f[256+(t>>>7)],y=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},x=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<{x(t,a[2*e],a[2*e+1])},A=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},E=(t,e,a)=>{const i=new Array(16);let n,r,l=0;for(n=1;n<=s;n++)i[n]=l=l+a[n-1]<<1;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=A(i[e]++,e))}},R=t=>{let e;for(e=0;e{t.bi_valid>8?y(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},U=(t,e,a,i)=>{const n=2*e,s=2*a;return t[n]{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n{let n,s,o,h,d=0;if(0!==t.last_lit)do{n=t.pending_buf[t.d_buf+2*d]<<8|t.pending_buf[t.d_buf+2*d+1],s=t.pending_buf[t.l_buf+d],d++,0===n?z(t,s,e):(o=c[s],z(t,o+a+1,e),h=r[o],0!==h&&(s-=u[o],x(t,s,h)),n--,o=v(n),z(t,o,i),h=l[o],0!==h&&(n-=w[o],x(t,n,h)))}while(d{const a=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,r=e.stat_desc.elems;let l,o,h,d=-1;for(t.heap_len=0,t.heap_max=573,l=0;l>1;l>=1;l--)S(t,a,l);h=r;do{l=t.heap[1],t.heap[1]=t.heap[t.heap_len--],S(t,a,1),o=t.heap[1],t.heap[--t.heap_max]=l,t.heap[--t.heap_max]=o,a[2*h]=a[2*l]+a[2*o],t.depth[h]=(t.depth[l]>=t.depth[o]?t.depth[l]:t.depth[o])+1,a[2*l+1]=a[2*o+1]=h,t.heap[1]=h++,S(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,r=e.stat_desc.has_stree,l=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let d,_,f,c,u,w,b=0;for(c=0;c<=s;c++)t.bl_count[c]=0;for(a[2*t.heap[t.heap_max]+1]=0,d=t.heap_max+1;d<573;d++)_=t.heap[d],c=a[2*a[2*_+1]+1]+1,c>h&&(c=h,b++),a[2*_+1]=c,_>i||(t.bl_count[c]++,u=0,_>=o&&(u=l[_-o]),w=a[2*_],t.opt_len+=w*(c+u),r&&(t.static_len+=w*(n[2*_+1]+u)));if(0!==b){do{for(c=h-1;0===t.bl_count[c];)c--;t.bl_count[c]--,t.bl_count[c+1]+=2,t.bl_count[h]--,b-=2}while(b>0);for(c=h;0!==c;c--)for(_=t.bl_count[c];0!==_;)f=t.heap[--d],f>i||(a[2*f+1]!==c&&(t.opt_len+=(c-a[2*f+1])*a[2*f],a[2*f+1]=c),_--)}})(t,e),E(a,d,t.bl_count)},O=(t,e,a)=>{let i,n,s=-1,r=e[1],l=0,o=7,h=4;for(0===r&&(o=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=r,r=e[2*(i+1)+1],++l{let i,n,s=-1,r=e[1],l=0,o=7,h=4;for(0===r&&(o=138,h=3),i=0;i<=a;i++)if(n=r,r=e[2*(i+1)+1],!(++l{x(t,0+(i?1:0),3),((t,e,a,i)=>{Z(t),i&&(y(t,a),y(t,~a)),t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a})(t,e,a,!0)};var N={_tr_init:t=>{F||((()=>{let t,e,a,h,k;const v=new Array(16);for(a=0,h=0;h<28;h++)for(u[h]=a,t=0;t<1<>=7;h{let s,r,l=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e{let e;for(O(t,t.dyn_ltree,t.l_desc.max_code),O(t,t.dyn_dtree,t.d_desc.max_code),T(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*h[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),s=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=s&&(s=r)):s=r=i+5,i+4<=s&&-1!==e?L(t,e,i,n):4===t.strategy||r===s?(x(t,2+(n?1:0),3),D(t,d,_)):(x(t,4+(n?1:0),3),((t,e,a,i)=>{let n;for(x(t,e-257,5),x(t,a-1,5),x(t,i-4,4),n=0;n(t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&i,t.last_lit++,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(c[i]+a+1)]++,t.dyn_dtree[2*v(e)]++),t.last_lit===t.lit_bufsize-1),_tr_align:t=>{x(t,2,3),z(t,256,d),(t=>{16===t.bi_valid?(y(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var B=(t,e,a,i)=>{let n=65535&t|0,s=t>>>16&65535|0,r=0;for(;0!==a;){r=a>2e3?2e3:a,a-=r;do{n=n+e[i++]|0,s=s+n|0}while(--r);n%=65521,s%=65521}return n|s<<16|0};const C=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var M=(t,e,a,i)=>{const n=C,s=i+a;t^=-1;for(let a=i;a>>8^n[255&(t^e[a])];return-1^t},H={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},j={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:K,_tr_stored_block:P,_tr_flush_block:Y,_tr_tally:G,_tr_align:X}=N,{Z_NO_FLUSH:W,Z_PARTIAL_FLUSH:q,Z_FULL_FLUSH:J,Z_FINISH:Q,Z_BLOCK:V,Z_OK:$,Z_STREAM_END:tt,Z_STREAM_ERROR:et,Z_DATA_ERROR:at,Z_BUF_ERROR:it,Z_DEFAULT_COMPRESSION:nt,Z_FILTERED:st,Z_HUFFMAN_ONLY:rt,Z_RLE:lt,Z_FIXED:ot,Z_DEFAULT_STRATEGY:ht,Z_UNKNOWN:dt,Z_DEFLATED:_t}=j,ft=258,ct=262,ut=103,wt=113,bt=666,gt=(t,e)=>(t.msg=H[e],e),pt=t=>(t<<1)-(t>4?9:0),mt=t=>{let e=t.length;for(;--e>=0;)t[e]=0};let kt=(t,e,a)=>(e<{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},yt=(t,e)=>{Y(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,vt(t.strm)},xt=(t,e)=>{t.pending_buf[t.pending++]=e},zt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},At=(t,e,a,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),a),1===t.state.wrap?t.adler=B(t.adler,e,n,a):2===t.state.wrap&&(t.adler=M(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)},Et=(t,e)=>{let a,i,n=t.max_chain_length,s=t.strstart,r=t.prev_length,l=t.nice_match;const o=t.strstart>t.w_size-ct?t.strstart-(t.w_size-ct):0,h=t.window,d=t.w_mask,_=t.prev,f=t.strstart+ft;let c=h[s+r-1],u=h[s+r];t.prev_length>=t.good_match&&(n>>=2),l>t.lookahead&&(l=t.lookahead);do{if(a=e,h[a+r]===u&&h[a+r-1]===c&&h[a]===h[s]&&h[++a]===h[s+1]){s+=2,a++;do{}while(h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&sr){if(t.match_start=e,r=i,i>=l)break;c=h[s+r-1],u=h[s+r]}}}while((e=_[e&d])>o&&0!=--n);return r<=t.lookahead?r:t.lookahead},Rt=t=>{const e=t.w_size;let a,i,n,s,r;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ct)){t.window.set(t.window.subarray(e,e+e),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,i=t.hash_size,a=i;do{n=t.head[--a],t.head[a]=n>=e?n-e:0}while(--i);i=e,a=i;do{n=t.prev[--a],t.prev[a]=n>=e?n-e:0}while(--i);s+=e}if(0===t.strm.avail_in)break;if(i=At(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=i,t.lookahead+t.insert>=3)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=kt(t,t.ins_h,t.window[r+1]);t.insert&&(t.ins_h=kt(t,t.ins_h,t.window[r+3-1]),t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead{let a,i;for(;;){if(t.lookahead=3&&(t.ins_h=kt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ct&&(t.match_length=Et(t,a)),t.match_length>=3)if(i=G(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=kt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=kt(t,t.ins_h,t.window[t.strstart+1]);else i=G(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(yt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(yt(t,!1),0===t.strm.avail_out)?1:2},Ut=(t,e)=>{let a,i,n;for(;;){if(t.lookahead=3&&(t.ins_h=kt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=G(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=kt(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(yt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=G(t,0,t.window[t.strstart-1]),i&&yt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=G(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(yt(t,!1),0===t.strm.avail_out)?1:2};function St(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}const Dt=[new St(0,0,0,0,((t,e)=>{let a=65535;for(a>t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(Rt(t),0===t.lookahead&&e===W)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;const i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,yt(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-ct&&(yt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(yt(t,!1),t.strm.avail_out),1)})),new St(4,4,8,4,Zt),new St(4,5,16,8,Zt),new St(4,6,32,32,Zt),new St(4,4,16,16,Ut),new St(8,16,32,32,Ut),new St(8,16,128,128,Ut),new St(8,32,128,256,Ut),new St(32,128,258,1024,Ut),new St(32,258,258,4096,Ut)];function Tt(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=_t,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),mt(this.dyn_ltree),mt(this.dyn_dtree),mt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),mt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),mt(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Ot=t=>{if(!t||!t.state)return gt(t,et);t.total_in=t.total_out=0,t.data_type=dt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:wt,t.adler=2===e.wrap?0:1,e.last_flush=W,K(e),$},It=t=>{const e=Ot(t);var a;return e===$&&((a=t.state).window_size=2*a.w_size,mt(a.head),a.max_lazy_match=Dt[a.level].max_lazy,a.good_match=Dt[a.level].good_length,a.nice_match=Dt[a.level].nice_length,a.max_chain_length=Dt[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},Ft=(t,e,a,i,n,s)=>{if(!t)return et;let r=1;if(e===nt&&(e=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),n<1||n>9||a!==_t||i<8||i>15||e<0||e>9||s<0||s>ot)return gt(t,et);8===i&&(i=9);const l=new Tt;return t.state=l,l.strm=t,l.wrap=r,l.gzhead=null,l.w_bits=i,l.w_size=1<Ft(t,e,_t,15,8,ht),deflateInit2:Ft,deflateReset:It,deflateResetKeep:Ot,deflateSetHeader:(t,e)=>t&&t.state?2!==t.state.wrap?et:(t.state.gzhead=e,$):et,deflate:(t,e)=>{let a,i;if(!t||!t.state||e>V||e<0)return t?gt(t,et):et;const n=t.state;if(!t.output||!t.input&&0!==t.avail_in||n.status===bt&&e!==Q)return gt(t,0===t.avail_out?it:et);n.strm=t;const s=n.last_flush;if(n.last_flush=e,42===n.status)if(2===n.wrap)t.adler=0,xt(n,31),xt(n,139),xt(n,8),n.gzhead?(xt(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),xt(n,255&n.gzhead.time),xt(n,n.gzhead.time>>8&255),xt(n,n.gzhead.time>>16&255),xt(n,n.gzhead.time>>24&255),xt(n,9===n.level?2:n.strategy>=rt||n.level<2?4:0),xt(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(xt(n,255&n.gzhead.extra.length),xt(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=M(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(xt(n,0),xt(n,0),xt(n,0),xt(n,0),xt(n,0),xt(n,9===n.level?2:n.strategy>=rt||n.level<2?4:0),xt(n,3),n.status=wt);else{let e=_t+(n.w_bits-8<<4)<<8,a=-1;a=n.strategy>=rt||n.level<2?0:n.level<6?1:6===n.level?2:3,e|=a<<6,0!==n.strstart&&(e|=32),e+=31-e%31,n.status=wt,zt(n,e),0!==n.strstart&&(zt(n,t.adler>>>16),zt(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(a=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>a&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),vt(t),a=n.pending,n.pending!==n.pending_buf_size));)xt(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>a&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),vt(t),a=n.pending,n.pending===n.pending_buf_size)){i=1;break}i=n.gzindexa&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),0===i&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){a=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>a&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),vt(t),a=n.pending,n.pending===n.pending_buf_size)){i=1;break}i=n.gzindexa&&(t.adler=M(t.adler,n.pending_buf,n.pending-a,a)),0===i&&(n.status=ut)}else n.status=ut;if(n.status===ut&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&vt(t),n.pending+2<=n.pending_buf_size&&(xt(n,255&t.adler),xt(n,t.adler>>8&255),t.adler=0,n.status=wt)):n.status=wt),0!==n.pending){if(vt(t),0===t.avail_out)return n.last_flush=-1,$}else if(0===t.avail_in&&pt(e)<=pt(s)&&e!==Q)return gt(t,it);if(n.status===bt&&0!==t.avail_in)return gt(t,it);if(0!==t.avail_in||0!==n.lookahead||e!==W&&n.status!==bt){let a=n.strategy===rt?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(Rt(t),0===t.lookahead)){if(e===W)return 1;break}if(t.match_length=0,a=G(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(yt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(yt(t,!1),0===t.strm.avail_out)?1:2})(n,e):n.strategy===lt?((t,e)=>{let a,i,n,s;const r=t.window;for(;;){if(t.lookahead<=ft){if(Rt(t),t.lookahead<=ft&&e===W)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=r[n],i===r[++n]&&i===r[++n]&&i===r[++n])){s=t.strstart+ft;do{}while(i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=G(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=G(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(yt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Q?(yt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(yt(t,!1),0===t.strm.avail_out)?1:2})(n,e):Dt[n.level].func(n,e);if(3!==a&&4!==a||(n.status=bt),1===a||3===a)return 0===t.avail_out&&(n.last_flush=-1),$;if(2===a&&(e===q?X(n):e!==V&&(P(n,0,0,!1),e===J&&(mt(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),vt(t),0===t.avail_out))return n.last_flush=-1,$}return e!==Q?$:n.wrap<=0?tt:(2===n.wrap?(xt(n,255&t.adler),xt(n,t.adler>>8&255),xt(n,t.adler>>16&255),xt(n,t.adler>>24&255),xt(n,255&t.total_in),xt(n,t.total_in>>8&255),xt(n,t.total_in>>16&255),xt(n,t.total_in>>24&255)):(zt(n,t.adler>>>16),zt(n,65535&t.adler)),vt(t),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?$:tt)},deflateEnd:t=>{if(!t||!t.state)return et;const e=t.state.status;return 42!==e&&69!==e&&73!==e&&91!==e&&e!==ut&&e!==wt&&e!==bt?gt(t,et):(t.state=null,e===wt?gt(t,at):$)},deflateSetDictionary:(t,e)=>{let a=e.length;if(!t||!t.state)return et;const i=t.state,n=i.wrap;if(2===n||1===n&&42!==i.status||i.lookahead)return et;if(1===n&&(t.adler=B(t.adler,e,a,0)),i.wrap=0,a>=i.w_size){0===n&&(mt(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(a-i.w_size,a),0),e=t,a=i.w_size}const s=t.avail_in,r=t.next_in,l=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,Rt(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=kt(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,Rt(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=r,t.input=l,t.avail_in=s,i.wrap=n,$},deflateInfo:"pako deflate (from Nodeca project)"};const Nt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Bt=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)Nt(a,e)&&(t[e]=a[e])}}return t},Ct=t=>{let e=0;for(let a=0,i=t.length;a=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Ht[254]=Ht[254]=1;var jt=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,a,i,n,s,r=t.length,l=0;for(n=0;n>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},Kt=(t,e)=>{const a=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const s=new Array(2*a);for(n=0,i=0;i4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i1?s[n++]=65533:e<65536?s[n++]=e:(e-=65536,s[n++]=55296|e>>10&1023,s[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Mt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let a="";for(let i=0;i{(e=e||t.length)>t.length&&(e=t.length);let a=e-1;for(;a>=0&&128==(192&t[a]);)a--;return a<0||0===a?e:a+Ht[t[a]]>e?a:e};var Yt=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Gt=Object.prototype.toString,{Z_NO_FLUSH:Xt,Z_SYNC_FLUSH:Wt,Z_FULL_FLUSH:qt,Z_FINISH:Jt,Z_OK:Qt,Z_STREAM_END:Vt,Z_DEFAULT_COMPRESSION:$t,Z_DEFAULT_STRATEGY:te,Z_DEFLATED:ee}=j;function ae(t){this.options=Bt({level:$t,method:ee,chunkSize:16384,windowBits:15,memLevel:8,strategy:te},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yt,this.strm.avail_out=0;let a=Lt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==Qt)throw new Error(H[a]);if(e.header&&Lt.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?jt(e.dictionary):"[object ArrayBuffer]"===Gt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=Lt.deflateSetDictionary(this.strm,t),a!==Qt)throw new Error(H[a]);this._dict_set=!0}}function ie(t,e){const a=new ae(e);if(a.push(t,!0),a.err)throw a.msg||H[a.err];return a.result}ae.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize;let n,s;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Jt:Xt,"string"==typeof t?a.input=jt(t):"[object ArrayBuffer]"===Gt.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),(s===Wt||s===qt)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(n=Lt.deflate(a,s),n===Vt)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),n=Lt.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Qt;if(0!==a.avail_out){if(s>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},ae.prototype.onData=function(t){this.chunks.push(t)},ae.prototype.onEnd=function(t){t===Qt&&(this.result=Ct(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var ne={Deflate:ae,deflate:ie,deflateRaw:function(t,e){return(e=e||{}).raw=!0,ie(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,ie(t,e)},constants:j};var se=function(t,e){let a,i,n,s,r,l,o,h,d,_,f,c,u,w,b,g,p,m,k,v,y,x,z,A;const E=t.state;a=t.next_in,z=t.input,i=a+(t.avail_in-5),n=t.next_out,A=t.output,s=n-(e-t.avail_out),r=n+(t.avail_out-257),l=E.dmax,o=E.wsize,h=E.whave,d=E.wnext,_=E.window,f=E.hold,c=E.bits,u=E.lencode,w=E.distcode,b=(1<>>24,f>>>=m,c-=m,m=p>>>16&255,0===m)A[n++]=65535&p;else{if(!(16&m)){if(0==(64&m)){p=u[(65535&p)+(f&(1<>>=m,c-=m),c<15&&(f+=z[a++]<>>24,f>>>=m,c-=m,m=p>>>16&255,!(16&m)){if(0==(64&m)){p=w[(65535&p)+(f&(1<l){t.msg="invalid distance too far back",E.mode=30;break t}if(f>>>=m,c-=m,m=n-s,v>m){if(m=v-m,m>h&&E.sane){t.msg="invalid distance too far back",E.mode=30;break t}if(y=0,x=_,0===d){if(y+=o-m,m2;)A[n++]=x[y++],A[n++]=x[y++],A[n++]=x[y++],k-=3;k&&(A[n++]=x[y++],k>1&&(A[n++]=x[y++]))}else{y=n-v;do{A[n++]=A[y++],A[n++]=A[y++],A[n++]=A[y++],k-=3}while(k>2);k&&(A[n++]=A[y++],k>1&&(A[n++]=A[y++]))}break}}break}}while(a>3,a-=k,c-=k<<3,f&=(1<{const o=l.bits;let h,d,_,f,c,u,w=0,b=0,g=0,p=0,m=0,k=0,v=0,y=0,x=0,z=0,A=null,E=0;const R=new Uint16Array(16),Z=new Uint16Array(16);let U,S,D,T=null,O=0;for(w=0;w<=re;w++)R[w]=0;for(b=0;b=1&&0===R[p];p--);if(m>p&&(m=p),0===p)return n[s++]=20971520,n[s++]=20971520,l.bits=1,0;for(g=1;g0&&(0===t||1!==p))return-1;for(Z[1]=0,w=1;w852||2===t&&x>592)return 1;for(;;){U=w-v,r[b]u?(S=T[O+r[b]],D=A[E+r[b]]):(S=96,D=0),h=1<>v)+d]=U<<24|S<<16|D|0}while(0!==d);for(h=1<>=1;if(0!==h?(z&=h-1,z+=h):z=0,b++,0==--R[w]){if(w===p)break;w=e[a+r[b]]}if(w>m&&(z&f)!==_){for(0===v&&(v=m),c+=g,k=w-v,y=1<852||2===t&&x>592)return 1;_=z&f,n[_]=m<<24|k<<16|c-s|0}}return 0!==z&&(n[c+z]=w-v<<24|64<<16|0),l.bits=m,0};const{Z_FINISH:fe,Z_BLOCK:ce,Z_TREES:ue,Z_OK:we,Z_STREAM_END:be,Z_NEED_DICT:ge,Z_STREAM_ERROR:pe,Z_DATA_ERROR:me,Z_MEM_ERROR:ke,Z_BUF_ERROR:ve,Z_DEFLATED:ye}=j,xe=12,ze=30,Ae=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function Ee(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const Re=t=>{if(!t||!t.state)return pe;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,we},Ze=t=>{if(!t||!t.state)return pe;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,Re(t)},Ue=(t,e)=>{let a;if(!t||!t.state)return pe;const i=t.state;return e<0?(a=0,e=-e):(a=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?pe:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,Ze(t))},Se=(t,e)=>{if(!t)return pe;const a=new Ee;t.state=a,a.window=null;const i=Ue(t,e);return i!==we&&(t.state=null),i};let De,Te,Oe=!0;const Ie=t=>{if(Oe){De=new Int32Array(512),Te=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(_e(1,t.lens,0,288,De,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;_e(2,t.lens,0,32,Te,0,t.work,{bits:5}),Oe=!1}t.lencode=De,t.lenbits=9,t.distcode=Te,t.distbits=5},Fe=(t,e,a,i)=>{let n;const s=t.state;return null===s.window&&(s.wsize=1<=s.wsize?(s.window.set(e.subarray(a-s.wsize,a),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),s.window.set(e.subarray(a-i,a-i+n),s.wnext),(i-=n)?(s.window.set(e.subarray(a-i,a),0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whaveSe(t,15),inflateInit2:Se,inflate:(t,e)=>{let a,i,n,s,r,l,o,h,d,_,f,c,u,w,b,g,p,m,k,v,y,x,z=0;const A=new Uint8Array(4);let E,R;const Z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return pe;a=t.state,a.mode===xe&&(a.mode=13),r=t.next_out,n=t.output,o=t.avail_out,s=t.next_in,i=t.input,l=t.avail_in,h=a.hold,d=a.bits,_=l,f=o,x=we;t:for(;;)switch(a.mode){case 1:if(0===a.wrap){a.mode=13;break}for(;d<16;){if(0===l)break t;l--,h+=i[s++]<>>8&255,a.check=M(a.check,A,2,0),h=0,d=0,a.mode=2;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=ze;break}if((15&h)!==ye){t.msg="unknown compression method",a.mode=ze;break}if(h>>>=4,d-=4,y=8+(15&h),0===a.wbits)a.wbits=y;else if(y>a.wbits){t.msg="invalid window size",a.mode=ze;break}a.dmax=1<>8&1),512&a.flags&&(A[0]=255&h,A[1]=h>>>8&255,a.check=M(a.check,A,2,0)),h=0,d=0,a.mode=3;case 3:for(;d<32;){if(0===l)break t;l--,h+=i[s++]<>>8&255,A[2]=h>>>16&255,A[3]=h>>>24&255,a.check=M(a.check,A,4,0)),h=0,d=0,a.mode=4;case 4:for(;d<16;){if(0===l)break t;l--,h+=i[s++]<>8),512&a.flags&&(A[0]=255&h,A[1]=h>>>8&255,a.check=M(a.check,A,2,0)),h=0,d=0,a.mode=5;case 5:if(1024&a.flags){for(;d<16;){if(0===l)break t;l--,h+=i[s++]<>>8&255,a.check=M(a.check,A,2,0)),h=0,d=0}else a.head&&(a.head.extra=null);a.mode=6;case 6:if(1024&a.flags&&(c=a.length,c>l&&(c=l),c&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(i.subarray(s,s+c),y)),512&a.flags&&(a.check=M(a.check,i,c,s)),l-=c,s+=c,a.length-=c),a.length))break t;a.length=0,a.mode=7;case 7:if(2048&a.flags){if(0===l)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y))}while(y&&c>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=xe;break;case 10:for(;d<32;){if(0===l)break t;l--,h+=i[s++]<>>=7&d,d-=7&d,a.mode=27;break}for(;d<3;){if(0===l)break t;l--,h+=i[s++]<>>=1,d-=1,3&h){case 0:a.mode=14;break;case 1:if(Ie(a),a.mode=20,e===ue){h>>>=2,d-=2;break t}break;case 2:a.mode=17;break;case 3:t.msg="invalid block type",a.mode=ze}h>>>=2,d-=2;break;case 14:for(h>>>=7&d,d-=7&d;d<32;){if(0===l)break t;l--,h+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",a.mode=ze;break}if(a.length=65535&h,h=0,d=0,a.mode=15,e===ue)break t;case 15:a.mode=16;case 16:if(c=a.length,c){if(c>l&&(c=l),c>o&&(c=o),0===c)break t;n.set(i.subarray(s,s+c),r),l-=c,s+=c,o-=c,r+=c,a.length-=c;break}a.mode=xe;break;case 17:for(;d<14;){if(0===l)break t;l--,h+=i[s++]<>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=ze;break}a.have=0,a.mode=18;case 18:for(;a.have>>=3,d-=3}for(;a.have<19;)a.lens[Z[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,E={bits:a.lenbits},x=_e(0,a.lens,0,19,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid code lengths set",a.mode=ze;break}a.have=0,a.mode=19;case 19:for(;a.have>>24,g=z>>>16&255,p=65535&z,!(b<=d);){if(0===l)break t;l--,h+=i[s++]<>>=b,d-=b,a.lens[a.have++]=p;else{if(16===p){for(R=b+2;d>>=b,d-=b,0===a.have){t.msg="invalid bit length repeat",a.mode=ze;break}y=a.lens[a.have-1],c=3+(3&h),h>>>=2,d-=2}else if(17===p){for(R=b+3;d>>=b,d-=b,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=b+7;d>>=b,d-=b,y=0,c=11+(127&h),h>>>=7,d-=7}if(a.have+c>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=ze;break}for(;c--;)a.lens[a.have++]=y}}if(a.mode===ze)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=ze;break}if(a.lenbits=9,E={bits:a.lenbits},x=_e(1,a.lens,0,a.nlen,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid literal/lengths set",a.mode=ze;break}if(a.distbits=6,a.distcode=a.distdyn,E={bits:a.distbits},x=_e(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,E),a.distbits=E.bits,x){t.msg="invalid distances set",a.mode=ze;break}if(a.mode=20,e===ue)break t;case 20:a.mode=21;case 21:if(l>=6&&o>=258){t.next_out=r,t.avail_out=o,t.next_in=s,t.avail_in=l,a.hold=h,a.bits=d,se(t,f),r=t.next_out,n=t.output,o=t.avail_out,s=t.next_in,i=t.input,l=t.avail_in,h=a.hold,d=a.bits,a.mode===xe&&(a.back=-1);break}for(a.back=0;z=a.lencode[h&(1<>>24,g=z>>>16&255,p=65535&z,!(b<=d);){if(0===l)break t;l--,h+=i[s++]<>m)],b=z>>>24,g=z>>>16&255,p=65535&z,!(m+b<=d);){if(0===l)break t;l--,h+=i[s++]<>>=m,d-=m,a.back+=m}if(h>>>=b,d-=b,a.back+=b,a.length=p,0===g){a.mode=26;break}if(32&g){a.back=-1,a.mode=xe;break}if(64&g){t.msg="invalid literal/length code",a.mode=ze;break}a.extra=15&g,a.mode=22;case 22:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=23;case 23:for(;z=a.distcode[h&(1<>>24,g=z>>>16&255,p=65535&z,!(b<=d);){if(0===l)break t;l--,h+=i[s++]<>m)],b=z>>>24,g=z>>>16&255,p=65535&z,!(m+b<=d);){if(0===l)break t;l--,h+=i[s++]<>>=m,d-=m,a.back+=m}if(h>>>=b,d-=b,a.back+=b,64&g){t.msg="invalid distance code",a.mode=ze;break}a.offset=p,a.extra=15&g,a.mode=24;case 24:if(a.extra){for(R=a.extra;d>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=ze;break}a.mode=25;case 25:if(0===o)break t;if(c=f-o,a.offset>c){if(c=a.offset-c,c>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=ze;break}c>a.wnext?(c-=a.wnext,u=a.wsize-c):u=a.wnext-c,c>a.length&&(c=a.length),w=a.window}else w=n,u=r-a.offset,c=a.length;c>o&&(c=o),o-=c,a.length-=c;do{n[r++]=w[u++]}while(--c);0===a.length&&(a.mode=21);break;case 26:if(0===o)break t;n[r++]=a.length,o--,a.mode=21;break;case 27:if(a.wrap){for(;d<32;){if(0===l)break t;l--,h|=i[s++]<{if(!t||!t.state)return pe;let e=t.state;return e.window&&(e.window=null),t.state=null,we},inflateGetHeader:(t,e)=>{if(!t||!t.state)return pe;const a=t.state;return 0==(2&a.wrap)?pe:(a.head=e,e.done=!1,we)},inflateSetDictionary:(t,e)=>{const a=e.length;let i,n,s;return t&&t.state?(i=t.state,0!==i.wrap&&11!==i.mode?pe:11===i.mode&&(n=1,n=B(n,e,a,0),n!==i.check)?me:(s=Fe(t,e,a,a),s?(i.mode=31,ke):(i.havedict=1,we))):pe},inflateInfo:"pako inflate (from Nodeca project)"};var Ne=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const Be=Object.prototype.toString,{Z_NO_FLUSH:Ce,Z_FINISH:Me,Z_OK:He,Z_STREAM_END:je,Z_NEED_DICT:Ke,Z_STREAM_ERROR:Pe,Z_DATA_ERROR:Ye,Z_MEM_ERROR:Ge}=j;function Xe(t){this.options=Bt({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Yt,this.strm.avail_out=0;let a=Le.inflateInit2(this.strm,e.windowBits);if(a!==He)throw new Error(H[a]);if(this.header=new Ne,Le.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=jt(e.dictionary):"[object ArrayBuffer]"===Be.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=Le.inflateSetDictionary(this.strm,e.dictionary),a!==He)))throw new Error(H[a])}function We(t,e){const a=new Xe(e);if(a.push(t),a.err)throw a.msg||H[a.err];return a.result}Xe.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let s,r,l;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Me:Ce,"[object ArrayBuffer]"===Be.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),s=Le.inflate(a,r),s===Ke&&n&&(s=Le.inflateSetDictionary(a,n),s===He?s=Le.inflate(a,r):s===Ye&&(s=Ke));a.avail_in>0&&s===je&&a.state.wrap>0&&0!==t[a.next_in];)Le.inflateReset(a),s=Le.inflate(a,r);switch(s){case Pe:case Ye:case Ke:case Ge:return this.onEnd(s),this.ended=!0,!1}if(l=a.avail_out,a.next_out&&(0===a.avail_out||s===je))if("string"===this.options.to){let t=Pt(a.output,a.next_out),e=a.next_out-t,n=Kt(a.output,t);a.next_out=e,a.avail_out=i-e,e&&a.output.set(a.output.subarray(t,t+e),0),this.onData(n)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(s!==He||0!==l){if(s===je)return s=Le.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},Xe.prototype.onData=function(t){this.chunks.push(t)},Xe.prototype.onEnd=function(t){t===He&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ct(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var qe={Inflate:Xe,inflate:We,inflateRaw:function(t,e){return(e=e||{}).raw=!0,We(t,e)},ungzip:We,constants:j};const{Deflate:Je,deflate:Qe,deflateRaw:Ve,gzip:$e}=ne,{Inflate:ta,inflate:ea,inflateRaw:aa,ungzip:ia}=qe;var na=Je,sa=Qe,ra=Ve,la=$e,oa=ta,ha=ea,da=aa,_a=ia,fa=j,ca={Deflate:na,deflate:sa,deflateRaw:ra,gzip:la,Inflate:oa,inflate:ha,inflateRaw:da,ungzip:_a,constants:fa};t.Deflate=na,t.Inflate=oa,t.constants=fa,t.default=ca,t.deflate=sa,t.deflateRaw=ra,t.gzip=la,t.inflate=ha,t.inflateRaw=da,t.ungzip=_a,Object.defineProperty(t,"__esModule",{value:!0})})); diff --git a/Server/www/spiderbasic/paper-full.min.js b/Server/www/spiderbasic/paper-full.min.js new file mode 100644 index 0000000..9bbbefd --- /dev/null +++ b/Server/www/spiderbasic/paper-full.min.js @@ -0,0 +1,32 @@ +/*! + * Paper.js v0.12.11 - The Swiss Army Knife of Vector Graphics Scripting. + * http://paperjs.org/ + * + * Copyright (c) 2011 - 2020, Jürg Lehni & Jonathan Puckey + * http://juerglehni.com/ & https://puckey.studio/ + * + * Distributed under the MIT license. See LICENSE file for details. + * + * All rights reserved. + * + * Date: Fri Jun 19 19:14:33 2020 +0200 + * + *** + * + * Straps.js - Class inheritance library with support for bean-style accessors + * + * Copyright (c) 2006 - 2020 Jürg Lehni + * http://juerglehni.com/ + * + * Distributed under the MIT license. + * + *** + * + * Acorn.js + * https://marijnhaverbeke.nl/acorn/ + * + * Acorn is a tiny, fast JavaScript parser written in JavaScript, + * created by Marijn Haverbeke and released under an MIT license. + * + */ +var paper=function(C,q){var A=(C=C||require("./node/self.js")).window,T=C.document,U=new function(){function n(t,e,n){var i;return t&&((i=f(t,"length"))&&"number"==typeof i.value?r:function(t,e){for(var n in this)this.hasOwnProperty(n)&&t.call(e,this[n],n,this)}).call(t,e,n=n||t),n}var s=/^(statics|enumerable|beans|preserve)$/,t=[],i=t.slice,a=Object.create,f=Object.getOwnPropertyDescriptor,d=Object.defineProperty,r=t.forEach||function(t,e){for(var n=0,i=this.length;nt.length&&(n=t.length);for(var a=0;a>>1;a[t[s]][e]=T[f]-n&&M<=T[d]+n)&&(b&&z&&S.push(s?A:A-o),C&&O&&v[A].push(x))}}b&&(t===e&&S.push(y),v[y]=S),p.length?(m=u(p,c,w[c]),p.splice(m+1,0,y)):p.push(y)}for(g=0;g>1,l=1&i?s[h++]*t(o):0;hb(s/o)&&(h=((u=-s/o)-r)/o)}}var w=H.solveQuadratic(n,h,u,t,e,a),x=null==e;return isFinite(o)&&(0===w||0=this.x&&n>=this.y&&e<=this.x+this.width&&n<=this.y+this.height},_containsRectangle:function(t){var e=t.x,n=t.y;return e>=this.x&&n>=this.y&&e+t.width<=this.x+this.width&&n+t.height<=this.y+this.height},intersects:function(){var t=M.read(arguments),e=U.read(arguments)||0;return t.x+t.width>this.x-e&&t.y+t.height>this.y-e&&t.xs[h]&&(s[h]=o)}return(e=e||new M)._set(r[0],r[1],s[0]-r[0],s[1]-r[1],n)},inverseTransform:function(){return this._inverseTransform(Z.read(arguments))},_inverseTransform:function(t,e,n){var i,r,s=this._a,a=this._b,o=this._c,h=this._d,u=this._tx,l=this._ty,c=s*h-a*o,f=null;return c&&!isNaN(c)&&isFinite(u)&&isFinite(l)&&(i=t.x-this._tx,r=t.y-this._ty,f=(e=e||new Z)._set((i*h-r*o)/c,(r*s-i*a)/c,n)),f},decompose:function(){var t,e,n,i,r,s=this._a,a=this._b,o=this._c,h=this._d,u=s*h-a*o,l=Math.sqrt,c=Math.atan2,f=180/Math.PI;return i=0!==s||0!==a?(t=l(s*s+a*a),e=Math.acos(s/t)*(0o[r]&&(o[r]=i)}s/=2;var l=a[r]+s,c=o[r]-s;if(t(t||0)},isCollinear:function(t){return t&&this.isStraight()&&t.isStraight()&&this.getLine().isCollinear(t.getLine())},isHorizontal:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).y)<1e-8},isVertical:function(){return this.isStraight()&&Math.abs(this.getTangentAtTime(.5).x)<1e-8}}),{beans:!1,getLocationAt:function(t,e){return this.getLocationAtTime(e?t:this.getTimeAt(t))},getLocationAtTime:function(t){return null!=t&&0<=t&&t<=1?new K(this,t):null},getTimeAt:function(t,e){return X.getTimeAt(this.getValues(),t,e)},getParameterAt:"#getTimeAt",getTimesWithTangent:function(){var t=Z.read(arguments);return t.isZero()?[]:X.getTimesWithTangent(this.getValues(),t)},getOffsetAtTime:function(t){return this.getPartLength(0,t)},getLocationOf:function(){return this.getLocationAtTime(this.getTimeOf(Z.read(arguments)))},getOffsetOf:function(){var t=this.getLocationOf.apply(this,arguments);return t?t.getOffset():null},getTimeOf:function(){return X.getTimeOf(this.getValues(),Z.read(arguments))},getParameterOf:"#getTimeOf",getNearestLocation:function(){var t=Z.read(arguments),e=this.getValues(),n=X.getNearestTime(e,t),i=X.getPoint(e,n);return new K(this,n,i,null,t.getDistance(i))},getNearestPoint:function(){var t=this.getNearestLocation.apply(this,arguments);return t?t.getPoint():t}},new function(){var t=["getPoint","getTangent","getNormal","getWeightedTangent","getWeightedNormal","getCurvature"];return U.each(t,function(i){this[i+"At"]=function(t,e){var n=this.getValues();return X[i](n,e?t:X.getTimeAt(n,t))},this[i+"AtTime"]=function(t){return X[i](this.getValues(),t)}},{statics:{_evaluateMethods:t}})},new function(){function f(t){var e=t[0],n=t[1],i=t[2],r=t[3],s=t[4],a=t[5],o=t[6],h=t[7],u=9*(i-s)+3*(o-e),l=6*(e+s)-12*i,c=3*(i-e),f=9*(r-a)+3*(h-n),d=6*(n+a)-12*r,_=3*(r-n);return function(t){var e=(u*t+l)*t+c,n=(f*t+d)*t+_;return Math.sqrt(e*e+n*n)}}function d(t,e){return Math.max(2,Math.min(16,Math.ceil(32*Math.abs(e-t))))}function n(t,e,n,i){if(null==e||e<0||1i?r(e,!1,i):t[0][0]}function r(t,e,n){for(var i=t[0][0],r=t[0][1],s=1,a=t.length;so(e[0],e[2],e[4],e[6])&&o(t[0],t[2],t[4],t[6])-ao(e[1],e[3],e[5],e[7])&&o(t[1],t[3],t[5],t[7])-a>1,m=1&l,y=6*v,w=6*m,x=new Z(t[y],t[1+y]),b=new Z(e[w],e[1+w]);x.isClose(b,a)&&j(r,s,n,v,i,m)}}}return r}function b(t,e,n,i){var r,s=X.classify(t);return"loop"===s.type&&j(n,i,e,(r=s.roots)[0],e,r[1]),n}function S(t,e){function n(t){var e=t[6]-t[0],n=t[7]-t[1];return e*e+n*n}var i=Math.abs,r=G.getDistance,s=1e-7,a=X.isStraight(t),o=X.isStraight(e),h=a&&o,u=n(t)>1,k=X.getTimeOf(m[b],new Z(m[C][S?6:0],m[C][S?7:1]));if(null!=k&&(x=b?[S,k]:[k,S],(!y.length||1e-8s||i(v[3]-p[3])>s||i(v[4]-p[4])>s||i(v[5]-p[5])>s)&&(y=null)),y}return{getIntersections:function(t){var e=this.getValues(),n=t&&t!==this&&t.getValues();return n?x(e,n,this,t,[]):b(e,this,[])},statics:{getOverlaps:S,getIntersections:function(t,e,n,i,r,s){var a=!e;a&&(e=t);for(var o=t.length,h=e.length,u=new Array(o),l=a?u:new Array(h),c=[],f=0;f>>1,u=r[h];if(t&&(o=s.equals(u)?u:i(h,-1)||i(h,1)))return s._overlap&&(o._overlap=o._intersection._overlap=!0),o;var l=s.getPath(),c=u.getPath();(l!==c?l._id-c._id:s.getIndex()+s.getTime()-(u.getIndex()+u.getTime()))<0?n=h-1:e=1+h}return r.splice(e,0,s),s}return{statics:{insert:i,expand:function(t){for(var e=t.slice(),n=t.length-1;0<=n;n--)i(e,t[n]._intersection,!1);return e}}}}),z=D.extend({_class:"PathItem",_selectBounds:!1,_canScaleStroke:!0,beans:!0,initialize:function(){},statics:{create:function(t){var e,n,i,r;return U.isPlainObject(t)?(n=t.segments,e=t.pathData):Array.isArray(t)?n=t:"string"==typeof t&&(e=t),n?r=(i=n[0])&&Array.isArray(i[0]):e&&(r=1<(e.match(/m/gi)||[]).length||/z\s*\S+/i.test(e)),new(r?Y:Q)(t)}},_asPathItem:function(){return this},isClockwise:function(){return 0<=this.getArea()},setClockwise:function(t){this.isClockwise()!=(t=!!t)&&this.reverse()},setPathData:function(t){var e,n,i=t&&t.match(/[mlhvcsqtaz][^mlhvcsqtaz]*/gi),r=!1,s=new Z,a=new Z;function o(t,e){var n=+c[t];return r&&(n+=s[e]),n}function h(t){return new Z(o(t,"x"),o(t+1,"y"))}this.clear();for(var u=0,l=i&&i.length;u=s&&(a=0),d=u[a]||i[a].getValues(),o=0),!h)return _[0]===a&&_[1]===o;continue}}break}return!1},_hitTestSelf:function(i,r,t,s){var a,o,h,u,e,n,l,c=this,f=this.getStyle(),d=this._segments,_=d.length,g=this._closed,p=r._tolerancePadding,v=p,m=r.stroke&&f.hasStroke(),y=r.fill&&f.hasFill(),w=r.curves,x=m?f.getStrokeWidth()/2:y&&0=E(e,n,i,r))for(var s,a=t[y+0],o=t[y+2],h=t[y+4],u=t[y+6],l=S>L(a,o,h,u)||kL(e,n))){var i=t[y+0],r=t[y+2],s=t[y+4],a=t[y+6];if(e!==n){var o=b===e?0:b!==n&&!(S>L(i,r,s,a)||km[w+6]?1:-1,c=m[y+6];return b!==e?(hu.quality&&(u=C);break}c-=g}for(f=s.length-1;0<=f;f--)s[f].segment._winding=u}function R(t,n){var u,e=[];function l(t){var e;return!(!t||t._visited||n&&(!n[(e=t._winding||{}).winding]||n.unite&&2===e.winding&&e.windingL&&e.windingR))}function c(t){if(t)for(var e=0,n=u.length;e=E(h,u,l,c)&&n<=L(h,u,l,c))for(var f=X.getMonoCurves(o),d=0,_=f.length;d<_;d++){var g,p=f[d],v=p[1],m=p[7];v!==m&&(v<=n&&n<=m||m<=n&&n<=v)&&(g=n===v?p[0]:n===m?p[6]:1===X.solveCubic(p,1,n,r,0,1)?X.getPoint(p,r[0]).x:(p[0]+p[6])/2,i.push(g))}}1=t){var a=n[(this.index=e)-1],o=a&&a.index===s.index?a.time:0,h=a?a.offset:0;return{index:s.index,time:o+(s.time-o)*(t-h)/(s.offset-h)}}}return{index:n[i-1].index,time:1}},drawPart:function(t,e,n){for(var i=this._get(e),r=this._get(n),s=i.index,a=r.index;s<=a;s++){var o=X.getPart(this.curves[s],s===i.index?i.time:0,s===r.index?r.time:1);s===i.index&&t.moveTo(o[0],o[1]),t.bezierCurveTo.apply(t,o.slice(2))}}},U.each(X._evaluateMethods,function(n){this[n+"At"]=function(t){var e=this._get(t);return X[n](this.curves[e.index],e.time)}},{})),i=U.extend({initialize:function(t){for(var e,n=this.points=[],i=t._segments,r=t._closed,s=0,a=i.length;s=u)break;l=this.reparameterize(n,i,h,f),u=d.error}var _=a[o-1].subtract(a[o+1]);this.fitCubic(t,e,n,o,r,_),this.fitCubic(t,e,o,i,_.negate(),s)}else{var g=a[n],p=a[i],v=g.getDistance(p)/3;this.addCurve(t,[g,g.add(r.normalize(v)),p.add(s.normalize(v)),p])}},addCurve:function(t,e){t[t.length-1].setHandleOut(e[1].subtract(e[0])),t.push(new J(e[3],e[2].subtract(e[3])))},generateBezier:function(t,e,n,i,r){for(var s=Math.abs,a=this.points,o=a[t],h=a[e],u=[[0,0],[0,0]],l=[0,0],c=0,f=e-t+1;cz*z&&(S=k=z/3,T=O=null)),[o,o.add(T||i.normalize(S)),h.add(O||r.normalize(k)),h]},reparameterize:function(t,e,n,i){for(var r=t;r<=e;r++)n[r-t]=this.findRoot(i,this.points[r],n[r-t]);for(var r=1,s=n.length;ro&&(n=U.slice(n,0,o))}else if("string"===a){var u,l=function(t){var e=t.match(/^#([\da-f]{2})([\da-f]{2})([\da-f]{2})([\da-f]{2})?$/i)||t.match(/^#([\da-f])([\da-f])([\da-f])([\da-f])?$/i),n="rgb";if(e)for(var i=e[4]?4:3,r=new Array(i),s=0;sn&&(c=u.add(i.normalize(n-.1))),r=c||u,t.createRadialGradient(r.x,r.y,0,u.x,u.y,n)):t.createLinearGradient(u.x,u.y,l.x,l.y);for(var d=0,_=h.length;d<_;d++){var g=h[d],p=g._offset;s.addColorStop(null==p?d/(_-1):p,g._color.toCanvasStyle())}return this._canvasStyle=s},transform:function(t){if("gradient"===this._type){for(var e=this._components,n=1,i=e.length;nthis._maxDistance&&(this._maxDistance=t)},getMaxDistance:function(){return this._maxDistance},setMaxDistance:function(t){this._maxDistance=t,null!=this._minDistance&&null!=t&&tr[a]?(r[o]=(r[o]-r[a])*i/(r[s]-r[a]),r[s]=i):r[o]=r[s]=0,r[a]=0,C=r[0],S=r[1],k=r[2]}var I={multiply:function(){C=y*g/255,S=w*p/255,k=x*v/255},screen:function(){C=y+g-y*g/255,S=w+p-w*p/255,k=x+v-x*v/255},overlay:function(){C=y<128?2*y*g/255:255-2*(255-y)*(255-g)/255,S=w<128?2*w*p/255:255-2*(255-w)*(255-p)/255,k=x<128?2*x*v/255:255-2*(255-x)*(255-v)/255},"soft-light":function(){var t=g*y/255;C=t+y*(255-(255-y)*(255-g)/255-t)/255,S=(t=p*w/255)+w*(255-(255-w)*(255-p)/255-t)/255,k=(t=v*x/255)+x*(255-(255-x)*(255-v)/255-t)/255},"hard-light":function(){C=g<128?2*g*y/255:255-2*(255-g)*(255-y)/255,S=p<128?2*p*w/255:255-2*(255-p)*(255-w)/255,k=v<128?2*v*x/255:255-2*(255-v)*(255-x)/255},"color-dodge":function(){C=0===y?0:255===g?255:l(255,255*y/(255-g)),S=0===w?0:255===p?255:l(255,255*w/(255-p)),k=0===x?0:255===v?255:l(255,255*x/(255-v))},"color-burn":function(){C=255===y?255:0===g?0:c(0,255-255*(255-y)/g),S=255===w?255:0===p?0:c(0,255-255*(255-w)/p),k=255===x?255:0===v?0:c(0,255-255*(255-x)/v)},darken:function(){C=y=t)break;t+=i[1]}return t}function _(t){return f.substring(d(t.range[0]),d(t.range[1]))}function g(t,e){for(var n=d(t.range[0]),i=d(t.range[1]),r=0,s=a.length-1;0<=s;s--)if(n>a[s][0]){r=s+1;break}a.splice(r,0,[n,e.length-i+n]),f=f.substring(0,n)+e+f.substring(i)}function h(t,e){switch(t.type){case"UnaryExpression":t.operator in x&&"Literal"!==t.argument.type&&(r=_(t.argument),g(t,'$__("'+t.operator+'", '+r+")"));break;case"BinaryExpression":var n,i;t.operator in w&&"Literal"!==t.left.type&&(a=_(t.left),o=_(t.right),l=t.left,c=t.right,n=f.substring(d(l.range[1]),d(c.range[0])),i=t.operator,g(t,"__$__("+a+","+n.replace(new RegExp("\\"+i),'"'+i+'"')+", "+o+")"));break;case"UpdateExpression":case"AssignmentExpression":var r,s,a,o,h,u=e&&e.type;"ForStatement"===u||"BinaryExpression"===u&&/^[=!<>]/.test(e.operator)||"MemberExpression"===u&&e.computed||("UpdateExpression"===t.type?(s=(r=_(t.argument))+" = "+(h="__$__("+r+', "'+t.operator[0]+'", 1)'),t.prefix?s="("+s+")":"AssignmentExpression"!==u&&"VariableDeclarator"!==u&&"BinaryExpression"!==u||(_(e.left||e.id)===r&&(s=h),s=r+"; "+s),g(t,s)):/^.=$/.test(t.operator)&&"Literal"!==t.left.type&&(a=_(t.left),o=_(t.right),h=a+" = __$__("+a+', "'+t.operator[0]+'", '+o+")",g(t,/^\(.*\)$/.test(_(t))?"("+h+")":h)))}var l,c}var e,n,i,r=(t=t||{}).url||"",s=t.sourceMaps,o=t.paperFeatures||{},u=t.source||f,l=t.offset||0,c=at.agent,p=c.versionNumber,v=!1,m=/\r\n|\n|\r/gm;return s&&(c.chrome&&30<=p||c.webkit&&537.76<=p||c.firefox&&23<=p||c.node)&&(c.node?l-=2:A&&r&&!A.location.href.indexOf(r)&&(l=(n=T.getElementsByTagName("html")[0].innerHTML).substr(0,n.indexOf(f)+1).match(m).length+1),(i=["AA"+function(t){var e="";for(t=(Math.abs(t)<<1)+(t<0?1:0);t||!e;){var n=31&t;(t>>=5)&&(n|=32),e+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[n]}return e}((v=0 0.0) { + c.rgb /= c.a; + + vec3 rgb = pow(c.rgb, vec3(1. / gamma)); + rgb = mix(vec3(.5), mix(vec3(dot(vec3(.2125, .7154, .0721), rgb)), rgb, saturation), contrast); + rgb.r *= red; + rgb.g *= green; + rgb.b *= blue; + c.rgb = rgb * brightness; + + c.rgb *= c.a; + } + + gl_FragColor = c * alpha; +} +`;class ke extends a.Filter{constructor(e){super(Me,De),this.gamma=1,this.saturation=1,this.contrast=1,this.brightness=1,this.red=1,this.green=1,this.blue=1,this.alpha=1,Object.assign(this,e)}apply(e,r,i,o){this.uniforms.gamma=Math.max(this.gamma,1e-4),this.uniforms.saturation=this.saturation,this.uniforms.contrast=this.contrast,this.uniforms.brightness=this.brightness,this.uniforms.red=this.red,this.uniforms.green=this.green,this.uniforms.blue=this.blue,this.uniforms.alpha=this.alpha,e.applyFilter(this,r,i,o)}}var Oe=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Re=` +varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec2 uOffset; + +void main(void) +{ + vec4 color = vec4(0.0); + + // Sample top left pixel + color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y)); + + // Sample top right pixel + color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y)); + + // Sample bottom right pixel + color += texture2D(uSampler, vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y)); + + // Sample bottom left pixel + color += texture2D(uSampler, vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y)); + + // Average + color *= 0.25; + + gl_FragColor = color; +}`,Ee=` +varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec2 uOffset; +uniform vec4 filterClamp; + +void main(void) +{ + vec4 color = vec4(0.0); + + // Sample top left pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Sample top right pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y + uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Sample bottom right pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x + uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Sample bottom left pixel + color += texture2D(uSampler, clamp(vec2(vTextureCoord.x - uOffset.x, vTextureCoord.y - uOffset.y), filterClamp.xy, filterClamp.zw)); + + // Average + color *= 0.25; + + gl_FragColor = color; +} +`;class T extends a.Filter{constructor(e=4,r=3,i=!1){super(Oe,i?Ee:Re),this._kernels=[],this._blur=4,this._quality=3,this.uniforms.uOffset=new Float32Array(2),this._pixelSize=new a.Point,this.pixelSize=1,this._clamp=i,Array.isArray(e)?this.kernels=e:(this._blur=e,this.quality=r)}apply(e,r,i,o){const s=this._pixelSize.x/r._frame.width,n=this._pixelSize.y/r._frame.height;let l;if(this._quality===1||this._blur===0)l=this._kernels[0]+.5,this.uniforms.uOffset[0]=l*s,this.uniforms.uOffset[1]=l*n,e.applyFilter(this,r,i,o);else{const u=e.getFilterTexture();let h=r,p=u,S;const g=this._quality-1;for(let x=0;xe+r+.5,0))}_generateKernels(){const e=this._blur,r=this._quality,i=[e];if(e>0){let o=e;const s=e/r;for(let n=1;n0?(this._kernels=e,this._quality=e.length,this._blur=Math.max(...e)):(this._kernels=[0],this._quality=1)}get clamp(){return this._clamp}set pixelSize(e){typeof e=="number"?(this._pixelSize.x=e,this._pixelSize.y=e):Array.isArray(e)?(this._pixelSize.x=e[0],this._pixelSize.y=e[1]):e instanceof a.Point?(this._pixelSize.x=e.x,this._pixelSize.y=e.y):(this._pixelSize.x=1,this._pixelSize.y=1)}get pixelSize(){return this._pixelSize}get quality(){return this._quality}set quality(e){this._quality=Math.max(1,Math.round(e)),this._generateKernels()}get blur(){return this._blur}set blur(e){this._blur=e,this._generateKernels()}}var L=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,$e=` +uniform sampler2D uSampler; +varying vec2 vTextureCoord; + +uniform float threshold; + +void main() { + vec4 color = texture2D(uSampler, vTextureCoord); + + // A simple & fast algorithm for getting brightness. + // It's inaccuracy , but good enought for this feature. + float _max = max(max(color.r, color.g), color.b); + float _min = min(min(color.r, color.g), color.b); + float brightness = (_max + _min) * 0.5; + + if(brightness > threshold) { + gl_FragColor = color; + } else { + gl_FragColor = vec4(0.0, 0.0, 0.0, 0.0); + } +} +`;class je extends a.Filter{constructor(e=.5){super(L,$e),this.threshold=e}get threshold(){return this.uniforms.threshold}set threshold(e){this.uniforms.threshold=e}}var Ie=`uniform sampler2D uSampler; +varying vec2 vTextureCoord; + +uniform sampler2D bloomTexture; +uniform float bloomScale; +uniform float brightness; + +void main() { + vec4 color = texture2D(uSampler, vTextureCoord); + color.rgb *= brightness; + vec4 bloomColor = vec4(texture2D(bloomTexture, vTextureCoord).rgb, 0.0); + bloomColor.rgb *= bloomScale; + gl_FragColor = color + bloomColor; +} +`;const V=class extends a.Filter{constructor(t){super(L,Ie),this.bloomScale=1,this.brightness=1,this._resolution=a.settings.FILTER_RESOLUTION,typeof t=="number"&&(t={threshold:t});const e=Object.assign(V.defaults,t);this.bloomScale=e.bloomScale,this.brightness=e.brightness;const{kernels:r,blur:i,quality:o,pixelSize:s,resolution:n}=e;this._extractFilter=new je(e.threshold),this._extractFilter.resolution=n,this._blurFilter=r?new T(r):new T(i,o),this.pixelSize=s,this.resolution=n}apply(t,e,r,i,o){const s=t.getFilterTexture();this._extractFilter.apply(t,e,s,1,o);const n=t.getFilterTexture();this._blurFilter.apply(t,s,n,1),this.uniforms.bloomScale=this.bloomScale,this.uniforms.brightness=this.brightness,this.uniforms.bloomTexture=n,t.applyFilter(this,e,r,i),t.returnFilterTexture(n),t.returnFilterTexture(s)}get resolution(){return this._resolution}set resolution(t){this._resolution=t,this._extractFilter&&(this._extractFilter.resolution=t),this._blurFilter&&(this._blurFilter.resolution=t)}get threshold(){return this._extractFilter.threshold}set threshold(t){this._extractFilter.threshold=t}get kernels(){return this._blurFilter.kernels}set kernels(t){this._blurFilter.kernels=t}get blur(){return this._blurFilter.blur}set blur(t){this._blurFilter.blur=t}get quality(){return this._blurFilter.quality}set quality(t){this._blurFilter.quality=t}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(t){this._blurFilter.pixelSize=t}};let N=V;N.defaults={threshold:.5,bloomScale:1,brightness:1,kernels:null,blur:8,quality:4,pixelSize:1,resolution:a.settings.FILTER_RESOLUTION};var Le=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Ve=`varying vec2 vTextureCoord; + +uniform vec4 filterArea; +uniform float pixelSize; +uniform sampler2D uSampler; + +vec2 mapCoord( vec2 coord ) +{ + coord *= filterArea.xy; + coord += filterArea.zw; + + return coord; +} + +vec2 unmapCoord( vec2 coord ) +{ + coord -= filterArea.zw; + coord /= filterArea.xy; + + return coord; +} + +vec2 pixelate(vec2 coord, vec2 size) +{ + return floor(coord / size) * size; +} + +vec2 getMod(vec2 coord, vec2 size) +{ + return mod(coord, size) / size; +} + +float character(float n, vec2 p) +{ + p = floor(p*vec2(4.0, 4.0) + 2.5); + + if (clamp(p.x, 0.0, 4.0) == p.x) + { + if (clamp(p.y, 0.0, 4.0) == p.y) + { + if (int(mod(n/exp2(p.x + 5.0*p.y), 2.0)) == 1) return 1.0; + } + } + return 0.0; +} + +void main() +{ + vec2 coord = mapCoord(vTextureCoord); + + // get the grid position + vec2 pixCoord = pixelate(coord, vec2(pixelSize)); + pixCoord = unmapCoord(pixCoord); + + // sample the color at grid position + vec4 color = texture2D(uSampler, pixCoord); + + // brightness of the color as it's perceived by the human eye + float gray = 0.3 * color.r + 0.59 * color.g + 0.11 * color.b; + + // determine the character to use + float n = 65536.0; // . + if (gray > 0.2) n = 65600.0; // : + if (gray > 0.3) n = 332772.0; // * + if (gray > 0.4) n = 15255086.0; // o + if (gray > 0.5) n = 23385164.0; // & + if (gray > 0.6) n = 15252014.0; // 8 + if (gray > 0.7) n = 13199452.0; // @ + if (gray > 0.8) n = 11512810.0; // # + + // get the mod.. + vec2 modd = getMod(coord, vec2(pixelSize)); + + gl_FragColor = color * character( n, vec2(-1.0) + modd * 2.0); + +} +`;class Ne extends a.Filter{constructor(e=8){super(Le,Ve),this.size=e}get size(){return this.uniforms.pixelSize}set size(e){this.uniforms.pixelSize=e}}var Ge=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Be=`precision mediump float; + +varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterArea; + +uniform float transformX; +uniform float transformY; +uniform vec3 lightColor; +uniform float lightAlpha; +uniform vec3 shadowColor; +uniform float shadowAlpha; + +void main(void) { + vec2 transform = vec2(1.0 / filterArea) * vec2(transformX, transformY); + vec4 color = texture2D(uSampler, vTextureCoord); + float light = texture2D(uSampler, vTextureCoord - transform).a; + float shadow = texture2D(uSampler, vTextureCoord + transform).a; + + color.rgb = mix(color.rgb, lightColor, clamp((color.a - light) * lightAlpha, 0.0, 1.0)); + color.rgb = mix(color.rgb, shadowColor, clamp((color.a - shadow) * shadowAlpha, 0.0, 1.0)); + gl_FragColor = vec4(color.rgb * color.a, color.a); +} +`;class Xe extends a.Filter{constructor(e){super(Ge,Be),this._thickness=2,this._angle=0,this.uniforms.lightColor=new Float32Array(3),this.uniforms.shadowColor=new Float32Array(3),Object.assign(this,{rotation:45,thickness:2,lightColor:16777215,lightAlpha:.7,shadowColor:0,shadowAlpha:.7},e),this.padding=1}_updateTransform(){this.uniforms.transformX=this._thickness*Math.cos(this._angle),this.uniforms.transformY=this._thickness*Math.sin(this._angle)}get rotation(){return this._angle/a.DEG_TO_RAD}set rotation(e){this._angle=e*a.DEG_TO_RAD,this._updateTransform()}get thickness(){return this._thickness}set thickness(e){this._thickness=e,this._updateTransform()}get lightColor(){return a.utils.rgb2hex(this.uniforms.lightColor)}set lightColor(e){a.utils.hex2rgb(e,this.uniforms.lightColor)}get lightAlpha(){return this.uniforms.lightAlpha}set lightAlpha(e){this.uniforms.lightAlpha=e}get shadowColor(){return a.utils.rgb2hex(this.uniforms.shadowColor)}set shadowColor(e){a.utils.hex2rgb(e,this.uniforms.shadowColor)}get shadowAlpha(){return this.uniforms.shadowAlpha}set shadowAlpha(e){this.uniforms.shadowAlpha=e}}class qe extends a.Filter{constructor(e=2,r=4,i=a.settings.FILTER_RESOLUTION,o=5){super();let s,n;typeof e=="number"?(s=e,n=e):e instanceof a.Point?(s=e.x,n=e.y):Array.isArray(e)&&(s=e[0],n=e[1]),this.blurXFilter=new I.BlurFilterPass(!0,s,r,i,o),this.blurYFilter=new I.BlurFilterPass(!1,n,r,i,o),this.blurYFilter.blendMode=a.BLEND_MODES.SCREEN,this.defaultFilter=new Pe.AlphaFilter}apply(e,r,i,o){const s=e.getFilterTexture();this.defaultFilter.apply(e,r,i,o),this.blurXFilter.apply(e,r,s,1),this.blurYFilter.apply(e,s,i,0),e.returnFilterTexture(s)}get blur(){return this.blurXFilter.blur}set blur(e){this.blurXFilter.blur=this.blurYFilter.blur=e}get blurX(){return this.blurXFilter.blur}set blurX(e){this.blurXFilter.blur=e}get blurY(){return this.blurYFilter.blur}set blurY(e){this.blurYFilter.blur=e}}var Ke=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,We=`uniform float radius; +uniform float strength; +uniform vec2 center; +uniform sampler2D uSampler; +varying vec2 vTextureCoord; + +uniform vec4 filterArea; +uniform vec4 filterClamp; +uniform vec2 dimensions; + +void main() +{ + vec2 coord = vTextureCoord * filterArea.xy; + coord -= center * dimensions.xy; + float distance = length(coord); + if (distance < radius) { + float percent = distance / radius; + if (strength > 0.0) { + coord *= mix(1.0, smoothstep(0.0, radius / distance, percent), strength * 0.75); + } else { + coord *= mix(1.0, pow(percent, 1.0 + strength * 0.75) * radius / distance, 1.0 - percent); + } + } + coord += center * dimensions.xy; + coord /= filterArea.xy; + vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw); + vec4 color = texture2D(uSampler, clampedCoord); + if (coord != clampedCoord) { + color *= max(0.0, 1.0 - length(coord - clampedCoord)); + } + + gl_FragColor = color; +} +`;const G=class extends a.Filter{constructor(t){super(Ke,We),this.uniforms.dimensions=new Float32Array(2),Object.assign(this,G.defaults,t)}apply(t,e,r,i){const{width:o,height:s}=e.filterFrame;this.uniforms.dimensions[0]=o,this.uniforms.dimensions[1]=s,t.applyFilter(this,e,r,i)}get radius(){return this.uniforms.radius}set radius(t){this.uniforms.radius=t}get strength(){return this.uniforms.strength}set strength(t){this.uniforms.strength=t}get center(){return this.uniforms.center}set center(t){this.uniforms.center=t}};let B=G;B.defaults={center:[.5,.5],radius:100,strength:1};var Ye=`const float PI = 3.1415926538; +const float PI_2 = PI*2.; + +varying vec2 vTextureCoord; +varying vec2 vFilterCoord; +uniform sampler2D uSampler; + +const int TYPE_LINEAR = 0; +const int TYPE_RADIAL = 1; +const int TYPE_CONIC = 2; +const int MAX_STOPS = 32; + +uniform int uNumStops; +uniform float uAlphas[3*MAX_STOPS]; +uniform vec3 uColors[MAX_STOPS]; +uniform float uOffsets[MAX_STOPS]; +uniform int uType; +uniform float uAngle; +uniform float uAlpha; +uniform int uMaxColors; + +struct ColorStop { + float offset; + vec3 color; + float alpha; +}; + +mat2 rotate2d(float angle){ + return mat2(cos(angle), -sin(angle), + sin(angle), cos(angle)); +} + +float projectLinearPosition(vec2 pos, float angle){ + vec2 center = vec2(0.5); + vec2 result = pos - center; + result = rotate2d(angle) * result; + result = result + center; + return clamp(result.x, 0., 1.); +} + +float projectRadialPosition(vec2 pos) { + float r = distance(vFilterCoord, vec2(0.5)); + return clamp(2.*r, 0., 1.); +} + +float projectAnglePosition(vec2 pos, float angle) { + vec2 center = pos - vec2(0.5); + float polarAngle=atan(-center.y, center.x); + return mod(polarAngle + angle, PI_2) / PI_2; +} + +float projectPosition(vec2 pos, int type, float angle) { + if (type == TYPE_LINEAR) { + return projectLinearPosition(pos, angle); + } else if (type == TYPE_RADIAL) { + return projectRadialPosition(pos); + } else if (type == TYPE_CONIC) { + return projectAnglePosition(pos, angle); + } + + return pos.y; +} + +void main(void) { + // current/original color + vec4 currentColor = texture2D(uSampler, vTextureCoord); + + // skip calculations if gradient alpha is 0 + if (0.0 == uAlpha) { + gl_FragColor = currentColor; + return; + } + + // project position + float y = projectPosition(vFilterCoord, uType, radians(uAngle)); + + // check gradient bounds + float offsetMin = uOffsets[0]; + float offsetMax = 0.0; + + for (int i = 0; i < MAX_STOPS; i++) { + if (i == uNumStops-1){ // last index + offsetMax = uOffsets[i]; + } + } + + if (y < offsetMin || y > offsetMax) { + gl_FragColor = currentColor; + return; + } + + // limit colors + if (uMaxColors > 0) { + float stepSize = 1./float(uMaxColors); + float stepNumber = float(floor(y/stepSize)); + y = stepSize * (stepNumber + 0.5);// offset by 0.5 to use color from middle of segment + } + + // find color stops + ColorStop from; + ColorStop to; + + for (int i = 0; i < MAX_STOPS; i++) { + if (y >= uOffsets[i]) { + from = ColorStop(uOffsets[i], uColors[i], uAlphas[i]); + to = ColorStop(uOffsets[i+1], uColors[i+1], uAlphas[i+1]); + } + + if (i == uNumStops-1){ // last index + break; + } + } + + // mix colors from stops + vec4 colorFrom = vec4(from.color * from.alpha, from.alpha); + vec4 colorTo = vec4(to.color * to.alpha, to.alpha); + + float segmentHeight = to.offset - from.offset; + float relativePos = y - from.offset;// position from 0 to [segmentHeight] + float relativePercent = relativePos / segmentHeight;// position in percent between [from.offset] and [to.offset]. + + float gradientAlpha = uAlpha * currentColor.a; + vec4 gradientColor = mix(colorFrom, colorTo, relativePercent) * gradientAlpha; + + // mix resulting color with current color + gl_FragColor = gradientColor + currentColor*(1.-gradientColor.a); +} +`,Ue=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; +uniform vec4 inputSize; +uniform vec4 outputFrame; + +varying vec2 vTextureCoord; +varying vec2 vFilterCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; + vFilterCoord = vTextureCoord * inputSize.xy / outputFrame.zw; +} +`,_=_||{};_.stringify=function(){var t={"visit_linear-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-linear-gradient":function(e){return t.visit_gradient(e)},"visit_radial-gradient":function(e){return t.visit_gradient(e)},"visit_repeating-radial-gradient":function(e){return t.visit_gradient(e)},visit_gradient:function(e){var r=t.visit(e.orientation);return r&&(r+=", "),e.type+"("+r+t.visit(e.colorStops)+")"},visit_shape:function(e){var r=e.value,i=t.visit(e.at),o=t.visit(e.style);return o&&(r+=" "+o),i&&(r+=" at "+i),r},"visit_default-radial":function(e){var r="",i=t.visit(e.at);return i&&(r+=i),r},"visit_extent-keyword":function(e){var r=e.value,i=t.visit(e.at);return i&&(r+=" at "+i),r},"visit_position-keyword":function(e){return e.value},visit_position:function(e){return t.visit(e.value.x)+" "+t.visit(e.value.y)},"visit_%":function(e){return e.value+"%"},visit_em:function(e){return e.value+"em"},visit_px:function(e){return e.value+"px"},visit_literal:function(e){return t.visit_color(e.value,e)},visit_hex:function(e){return t.visit_color("#"+e.value,e)},visit_rgb:function(e){return t.visit_color("rgb("+e.value.join(", ")+")",e)},visit_rgba:function(e){return t.visit_color("rgba("+e.value.join(", ")+")",e)},visit_color:function(e,r){var i=e,o=t.visit(r.length);return o&&(i+=" "+o),i},visit_angular:function(e){return e.value+"deg"},visit_directional:function(e){return"to "+e.value},visit_array:function(e){var r="",i=e.length;return e.forEach(function(o,s){r+=t.visit(o),s0&&r("Invalid input not EOF"),c}function o(){return z(s)}function s(){return n("linear-gradient",t.linearGradient,u)||n("repeating-linear-gradient",t.repeatingLinearGradient,u)||n("radial-gradient",t.radialGradient,S)||n("repeating-radial-gradient",t.repeatingRadialGradient,S)}function n(c,d,m){return l(d,function(C){var we=m();return we&&(y(t.comma)||r("Missing comma before color stops")),{type:c,orientation:we,colorStops:z(Vr)}})}function l(c,d){var m=y(c);if(m){y(t.startCall)||r("Missing (");var C=d(m);return y(t.endCall)||r("Missing )"),C}}function u(){return h()||p()}function h(){return v("directional",t.sideOrCorner,1)}function p(){return v("angular",t.angleValue,1)}function S(){var c,d=g(),m;return d&&(c=[],c.push(d),m=e,y(t.comma)&&(d=g(),d?c.push(d):e=m)),c}function g(){var c=x()||Ir();if(c)c.at=Se();else{var d=j();if(d){c=d;var m=Se();m&&(c.at=m)}else{var C=Te();C&&(c={type:"default-radial",at:C})}}return c}function x(){var c=v("shape",/^(circle)/i,0);return c&&(c.style=Ae()||j()),c}function Ir(){var c=v("shape",/^(ellipse)/i,0);return c&&(c.style=w()||j()),c}function j(){return v("extent-keyword",t.extentKeywords,1)}function Se(){if(v("position",/^at/,0)){var c=Te();return c||r("Missing positioning value"),c}}function Te(){var c=Lr();if(c.x||c.y)return{type:"position",value:c}}function Lr(){return{x:w(),y:w()}}function z(c){var d=c(),m=[];if(d)for(m.push(d);y(t.comma);)d=c(),d?m.push(d):r("One extra comma");return m}function Vr(){var c=Nr();return c||r("Expected color definition"),c.length=w(),c}function Nr(){return Br()||qr()||Xr()||Gr()}function Gr(){return v("literal",t.literalColor,0)}function Br(){return v("hex",t.hexColor,1)}function Xr(){return l(t.rgbColor,function(){return{type:"rgb",value:z(Fe)}})}function qr(){return l(t.rgbaColor,function(){return{type:"rgba",value:z(Fe)}})}function Fe(){return y(t.number)[1]}function w(){return v("%",t.percentageValue,1)||Kr()||Ae()}function Kr(){return v("position-keyword",t.positionKeywords,1)}function Ae(){return v("px",t.pixelValue,1)||v("em",t.emValue,1)}function v(c,d,m){var C=y(d);if(C)return{type:c,value:C[m]}}function y(c){var d,m;return m=/^[\n\r\t\s]+/.exec(e),m&&ze(m[0].length),d=c.exec(e),d&&ze(d[0].length),d}function ze(c){e=e.substr(c)}return function(c){return e=c.toString(),i()}}();var Ze=_.parse;_.stringify;var X={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},q={red:0,orange:60,yellow:120,green:180,blue:240,purple:300};function He(t){var e,r=[],i=1,o;if(typeof t=="string")if(X[t])r=X[t].slice(),o="rgb";else if(t==="transparent")i=0,o="rgb",r=[0,0,0];else if(/^#[A-Fa-f0-9]+$/.test(t)){var s=t.slice(1),n=s.length,l=n<=4;i=1,l?(r=[parseInt(s[0]+s[0],16),parseInt(s[1]+s[1],16),parseInt(s[2]+s[2],16)],n===4&&(i=parseInt(s[3]+s[3],16)/255)):(r=[parseInt(s[0]+s[1],16),parseInt(s[2]+s[3],16),parseInt(s[4]+s[5],16)],n===8&&(i=parseInt(s[6]+s[7],16)/255)),r[0]||(r[0]=0),r[1]||(r[1]=0),r[2]||(r[2]=0),o="rgb"}else if(e=/^((?:rgb|hs[lvb]|hwb|cmyk?|xy[zy]|gray|lab|lchu?v?|[ly]uv|lms)a?)\s*\(([^\)]*)\)/.exec(t)){var u=e[1],h=u==="rgb",s=u.replace(/a$/,"");o=s;var n=s==="cmyk"?4:s==="gray"?1:3;r=e[2].trim().split(/\s*[,\/]\s*|\s+/).map(function(g,x){if(/%$/.test(g))return x===n?parseFloat(g)/100:s==="rgb"?parseFloat(g)*255/100:parseFloat(g);if(s[x]==="h"){if(/deg$/.test(g))return parseFloat(g);if(q[g]!==void 0)return q[g]}return parseFloat(g)}),u===s&&r.push(1),i=h||r[n]===void 0?1:r[n],r=r.slice(0,n)}else t.length>10&&/[0-9](?:\s|\/)/.test(t)&&(r=t.match(/([0-9]+)/g).map(function(p){return parseFloat(p)}),o=t.match(/([a-z])/ig).join("").toLowerCase());else isNaN(t)?Array.isArray(t)||t.length?(r=[t[0],t[1],t[2]],o="rgb",i=t.length===4?t[3]:1):t instanceof Object&&(t.r!=null||t.red!=null||t.R!=null?(o="rgb",r=[t.r||t.red||t.R||0,t.g||t.green||t.G||0,t.b||t.blue||t.B||0]):(o="hsl",r=[t.h||t.hue||t.H||0,t.s||t.saturation||t.S||0,t.l||t.lightness||t.L||t.b||t.brightness]),i=t.a||t.alpha||t.opacity||1,t.opacity!=null&&(i/=100)):(o="rgb",r=[t>>>16,(t&65280)>>>8,t&255]);return{space:o,values:r,alpha:i}}var P={name:"rgb",min:[0,0,0],max:[255,255,255],channel:["red","green","blue"],alias:["RGB"]},M={name:"hsl",min:[0,0,0],max:[360,100,100],channel:["hue","saturation","lightness"],alias:["HSL"],rgb:function(t){var e=t[0]/360,r=t[1]/100,i=t[2]/100,o,s,n,l,u;if(r===0)return u=i*255,[u,u,u];i<.5?s=i*(1+r):s=i+r-i*r,o=2*i-s,l=[0,0,0];for(var h=0;h<3;h++)n=e+1/3*-(h-1),n<0?n++:n>1&&n--,6*n<1?u=o+(s-o)*6*n:2*n<1?u=s:3*n<2?u=o+(s-o)*(2/3-n)*6:u=o,l[h]=u*255;return l}};P.hsl=function(t){var e=t[0]/255,r=t[1]/255,i=t[2]/255,o=Math.min(e,r,i),s=Math.max(e,r,i),n=s-o,l,u,h;return s===o?l=0:e===s?l=(r-i)/n:r===s?l=2+(i-e)/n:i===s&&(l=4+(e-r)/n),l=Math.min(l*60,360),l<0&&(l+=360),h=(o+s)/2,s===o?u=0:h<=.5?u=n/(s+o):u=n/(2-s-o),[l,u*100,h*100]};function Qe(t){Array.isArray(t)&&t.raw&&(t=String.raw(...arguments));var e,r=He(t);if(!r.space)return[];const i=r.space[0]==="h"?M.min:P.min,o=r.space[0]==="h"?M.max:P.max;return e=Array(3),e[0]=Math.min(Math.max(r.values[0],i[0]),o[0]),e[1]=Math.min(Math.max(r.values[1],i[1]),o[1]),e[2]=Math.min(Math.max(r.values[2],i[2]),o[2]),r.space[0]==="h"&&(e=M.rgb(e)),e.push(Math.min(Math.max(r.alpha,0),1)),e}function K(t){switch(typeof t){case"string":return Je(t);case"number":return a.utils.hex2rgb(t);default:return t}}function Je(t){const e=Qe(t);if(!e)throw new Error(`Unable to parse color "${t}" as RGBA.`);return[e[0]/255,e[1]/255,e[2]/255,e[3]]}function et(t){const e=Ze(ut(t));if(e.length===0)throw new Error("Invalid CSS gradient.");if(e.length!==1)throw new Error("Unsupported CSS gradient (multiple gradients is not supported).");const r=e[0],i=tt(r.type),o=rt(r.colorStops),s=nt(r.orientation);return{type:i,stops:o,angle:s}}function tt(t){const e={"linear-gradient":0,"radial-gradient":1};if(!(t in e))throw new Error(`Unsupported gradient type "${t}"`);return e[t]}function rt(t){const e=st(t),r=[];for(let i=0;i{for(let s=o;s6?parseFloat(t.toString().substring(0,6)):t}function nt(t){if(typeof t=="undefined")return 0;if("type"in t&&"value"in t)switch(t.type){case"angular":return parseFloat(t.value);case"directional":return lt(t.value)}return 0}function lt(t){const e={left:270,top:0,bottom:180,right:90,"left top":315,"top left":315,"left bottom":225,"bottom left":225,"right top":45,"top right":45,"right bottom":135,"bottom right":135};if(!(t in e))throw new Error(`Unsupported directional value "${t}"`);return e[t]}function ut(t){let e=t.replace(/\s{2,}/gu," ");return e=e.replace(/;/g,""),e=e.replace(/ ,/g,","),e=e.replace(/\( /g,"("),e=e.replace(/ \)/g,")"),e.trim()}var ct=Object.defineProperty,ft=Object.defineProperties,dt=Object.getOwnPropertyDescriptors,W=Object.getOwnPropertySymbols,ht=Object.prototype.hasOwnProperty,mt=Object.prototype.propertyIsEnumerable,Y=(t,e,r)=>e in t?ct(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,D=(t,e)=>{for(var r in e||(e={}))ht.call(e,r)&&Y(t,r,e[r]);if(W)for(var r of W(e))mt.call(e,r)&&Y(t,r,e[r]);return t},gt=(t,e)=>ft(t,dt(e));const U=90;function vt(t){return[...t].sort((e,r)=>e.offset-r.offset)}const k=class extends a.Filter{constructor(t){t&&"css"in t&&(t=gt(D({},et(t.css||"")),{alpha:t.alpha,maxColors:t.maxColors}));const e=D(D({},k.defaults),t);if(!e.stops||e.stops.length<2)throw new Error("ColorGradientFilter requires at least 2 color stops.");super(Ue,Ye),this._stops=[],this.autoFit=!1,Object.assign(this,e)}get stops(){return this._stops}set stops(t){const e=vt(t),r=new Float32Array(e.length*3),i=0,o=1,s=2;for(let n=0;nn.offset),this.uniforms.uAlphas=e.map(n=>n.alpha),this.uniforms.uNumStops=e.length,this._stops=e}set type(t){this.uniforms.uType=t}get type(){return this.uniforms.uType}set angle(t){this.uniforms.uAngle=t-U}get angle(){return this.uniforms.uAngle+U}set alpha(t){this.uniforms.uAlpha=t}get alpha(){return this.uniforms.uAlpha}set maxColors(t){this.uniforms.uMaxColors=t}get maxColors(){return this.uniforms.uMaxColors}};let F=k;F.LINEAR=0,F.RADIAL=1,F.CONIC=2,F.defaults={type:k.LINEAR,stops:[{offset:0,color:16711680,alpha:1},{offset:1,color:255,alpha:1}],alpha:1,angle:90,maxColors:0};var pt=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,xt=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform sampler2D colorMap; +uniform float _mix; +uniform float _size; +uniform float _sliceSize; +uniform float _slicePixelSize; +uniform float _sliceInnerSize; +void main() { + vec4 color = texture2D(uSampler, vTextureCoord.xy); + + vec4 adjusted; + if (color.a > 0.0) { + color.rgb /= color.a; + float innerWidth = _size - 1.0; + float zSlice0 = min(floor(color.b * innerWidth), innerWidth); + float zSlice1 = min(zSlice0 + 1.0, innerWidth); + float xOffset = _slicePixelSize * 0.5 + color.r * _sliceInnerSize; + float s0 = xOffset + (zSlice0 * _sliceSize); + float s1 = xOffset + (zSlice1 * _sliceSize); + float yOffset = _sliceSize * 0.5 + color.g * (1.0 - _sliceSize); + vec4 slice0Color = texture2D(colorMap, vec2(s0,yOffset)); + vec4 slice1Color = texture2D(colorMap, vec2(s1,yOffset)); + float zOffset = fract(color.b * innerWidth); + adjusted = mix(slice0Color, slice1Color, zOffset); + + color.rgb *= color.a; + } + gl_FragColor = vec4(mix(color, adjusted, _mix).rgb, color.a); + +}`;class yt extends a.Filter{constructor(e,r=!1,i=1){super(pt,xt),this.mix=1,this._size=0,this._sliceSize=0,this._slicePixelSize=0,this._sliceInnerSize=0,this._nearest=!1,this._scaleMode=null,this._colorMap=null,this._scaleMode=null,this.nearest=r,this.mix=i,this.colorMap=e}apply(e,r,i,o){this.uniforms._mix=this.mix,e.applyFilter(this,r,i,o)}get colorSize(){return this._size}get colorMap(){return this._colorMap}set colorMap(e){!e||(e instanceof a.Texture||(e=a.Texture.from(e)),e!=null&&e.baseTexture&&(e.baseTexture.scaleMode=this._scaleMode,e.baseTexture.mipmap=a.MIPMAP_MODES.OFF,this._size=e.height,this._sliceSize=1/this._size,this._slicePixelSize=this._sliceSize/this._size,this._sliceInnerSize=this._slicePixelSize*(this._size-1),this.uniforms._size=this._size,this.uniforms._sliceSize=this._sliceSize,this.uniforms._slicePixelSize=this._slicePixelSize,this.uniforms._sliceInnerSize=this._sliceInnerSize,this.uniforms.colorMap=e),this._colorMap=e)}get nearest(){return this._nearest}set nearest(e){this._nearest=e,this._scaleMode=e?a.SCALE_MODES.NEAREST:a.SCALE_MODES.LINEAR;const r=this._colorMap;r&&r.baseTexture&&(r.baseTexture._glTextures={},r.baseTexture.scaleMode=this._scaleMode,r.baseTexture.mipmap=a.MIPMAP_MODES.OFF,r._updateID++,r.baseTexture.emit("update",r.baseTexture))}updateColorMap(){const e=this._colorMap;e&&e.baseTexture&&(e._updateID++,e.baseTexture.emit("update",e.baseTexture),this.colorMap=e)}destroy(e=!1){this._colorMap&&this._colorMap.destroy(e),super.destroy()}}var Ct=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,_t=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec3 color; +uniform float alpha; + +void main(void) { + vec4 currentColor = texture2D(uSampler, vTextureCoord); + gl_FragColor = vec4(mix(currentColor.rgb, color.rgb, currentColor.a * alpha), currentColor.a); +} +`;class bt extends a.Filter{constructor(e=0,r=1){super(Ct,_t),this._color=0,this._alpha=1,this.uniforms.color=new Float32Array(3),this.color=e,this.alpha=r}set color(e){const r=this.uniforms.color;typeof e=="number"?(a.utils.hex2rgb(e,r),this._color=e):(r[0]=e[0],r[1]=e[1],r[2]=e[2],this._color=a.utils.rgb2hex(r))}get color(){return this._color}set alpha(e){this.uniforms.alpha=e,this._alpha=e}get alpha(){return this._alpha}}var St=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Tt=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec3 originalColor; +uniform vec3 newColor; +uniform float epsilon; +void main(void) { + vec4 currentColor = texture2D(uSampler, vTextureCoord); + vec3 colorDiff = originalColor - (currentColor.rgb / max(currentColor.a, 0.0000000001)); + float colorDistance = length(colorDiff); + float doReplace = step(colorDistance, epsilon); + gl_FragColor = vec4(mix(currentColor.rgb, (newColor + colorDiff) * currentColor.a, doReplace), currentColor.a); +} +`;class Ft extends a.Filter{constructor(e=16711680,r=0,i=.4){super(St,Tt),this._originalColor=16711680,this._newColor=0,this.uniforms.originalColor=new Float32Array(3),this.uniforms.newColor=new Float32Array(3),this.originalColor=e,this.newColor=r,this.epsilon=i}set originalColor(e){const r=this.uniforms.originalColor;typeof e=="number"?(a.utils.hex2rgb(e,r),this._originalColor=e):(r[0]=e[0],r[1]=e[1],r[2]=e[2],this._originalColor=a.utils.rgb2hex(r))}get originalColor(){return this._originalColor}set newColor(e){const r=this.uniforms.newColor;typeof e=="number"?(a.utils.hex2rgb(e,r),this._newColor=e):(r[0]=e[0],r[1]=e[1],r[2]=e[2],this._newColor=a.utils.rgb2hex(r))}get newColor(){return this._newColor}set epsilon(e){this.uniforms.epsilon=e}get epsilon(){return this.uniforms.epsilon}}var At=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,zt=`precision mediump float; + +varying mediump vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform vec2 texelSize; +uniform float matrix[9]; + +void main(void) +{ + vec4 c11 = texture2D(uSampler, vTextureCoord - texelSize); // top left + vec4 c12 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y - texelSize.y)); // top center + vec4 c13 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y - texelSize.y)); // top right + + vec4 c21 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y)); // mid left + vec4 c22 = texture2D(uSampler, vTextureCoord); // mid center + vec4 c23 = texture2D(uSampler, vec2(vTextureCoord.x + texelSize.x, vTextureCoord.y)); // mid right + + vec4 c31 = texture2D(uSampler, vec2(vTextureCoord.x - texelSize.x, vTextureCoord.y + texelSize.y)); // bottom left + vec4 c32 = texture2D(uSampler, vec2(vTextureCoord.x, vTextureCoord.y + texelSize.y)); // bottom center + vec4 c33 = texture2D(uSampler, vTextureCoord + texelSize); // bottom right + + gl_FragColor = + c11 * matrix[0] + c12 * matrix[1] + c13 * matrix[2] + + c21 * matrix[3] + c22 * matrix[4] + c23 * matrix[5] + + c31 * matrix[6] + c32 * matrix[7] + c33 * matrix[8]; + + gl_FragColor.a = c22.a; +} +`;class wt extends a.Filter{constructor(e,r=200,i=200){super(At,zt),this.uniforms.texelSize=new Float32Array(2),this.uniforms.matrix=new Float32Array(9),e!==void 0&&(this.matrix=e),this.width=r,this.height=i}get matrix(){return this.uniforms.matrix}set matrix(e){e.forEach((r,i)=>{this.uniforms.matrix[i]=r})}get width(){return 1/this.uniforms.texelSize[0]}set width(e){this.uniforms.texelSize[0]=1/e}get height(){return 1/this.uniforms.texelSize[1]}set height(e){this.uniforms.texelSize[1]=1/e}}var Pt=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Mt=`precision mediump float; + +varying vec2 vTextureCoord; + +uniform sampler2D uSampler; + +void main(void) +{ + float lum = length(texture2D(uSampler, vTextureCoord.xy).rgb); + + gl_FragColor = vec4(1.0, 1.0, 1.0, 1.0); + + if (lum < 1.00) + { + if (mod(gl_FragCoord.x + gl_FragCoord.y, 10.0) == 0.0) + { + gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + } + } + + if (lum < 0.75) + { + if (mod(gl_FragCoord.x - gl_FragCoord.y, 10.0) == 0.0) + { + gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + } + } + + if (lum < 0.50) + { + if (mod(gl_FragCoord.x + gl_FragCoord.y - 5.0, 10.0) == 0.0) + { + gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + } + } + + if (lum < 0.3) + { + if (mod(gl_FragCoord.x - gl_FragCoord.y - 5.0, 10.0) == 0.0) + { + gl_FragColor = vec4(0.0, 0.0, 0.0, 1.0); + } + } +} +`;class Dt extends a.Filter{constructor(){super(Pt,Mt)}}var kt=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Ot=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec4 filterArea; +uniform vec2 dimensions; + +const float SQRT_2 = 1.414213; + +const float light = 1.0; + +uniform float curvature; +uniform float lineWidth; +uniform float lineContrast; +uniform bool verticalLine; +uniform float noise; +uniform float noiseSize; + +uniform float vignetting; +uniform float vignettingAlpha; +uniform float vignettingBlur; + +uniform float seed; +uniform float time; + +float rand(vec2 co) { + return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453); +} + +void main(void) +{ + vec2 pixelCoord = vTextureCoord.xy * filterArea.xy; + vec2 dir = vec2(vTextureCoord.xy * filterArea.xy / dimensions - vec2(0.5, 0.5)); + + gl_FragColor = texture2D(uSampler, vTextureCoord); + vec3 rgb = gl_FragColor.rgb; + + if (noise > 0.0 && noiseSize > 0.0) + { + pixelCoord.x = floor(pixelCoord.x / noiseSize); + pixelCoord.y = floor(pixelCoord.y / noiseSize); + float _noise = rand(pixelCoord * noiseSize * seed) - 0.5; + rgb += _noise * noise; + } + + if (lineWidth > 0.0) + { + float _c = curvature > 0. ? curvature : 1.; + float k = curvature > 0. ?(length(dir * dir) * 0.25 * _c * _c + 0.935 * _c) : 1.; + vec2 uv = dir * k; + + float v = (verticalLine ? uv.x * dimensions.x : uv.y * dimensions.y) * min(1.0, 2.0 / lineWidth ) / _c; + float j = 1. + cos(v * 1.2 - time) * 0.5 * lineContrast; + rgb *= j; + float segment = verticalLine ? mod((dir.x + .5) * dimensions.x, 4.) : mod((dir.y + .5) * dimensions.y, 4.); + rgb *= 0.99 + ceil(segment) * 0.015; + } + + if (vignetting > 0.0) + { + float outter = SQRT_2 - vignetting * SQRT_2; + float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0); + rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha); + } + + gl_FragColor.rgb = rgb; +} +`;const Z=class extends a.Filter{constructor(t){super(kt,Ot),this.time=0,this.seed=0,this.uniforms.dimensions=new Float32Array(2),Object.assign(this,Z.defaults,t)}apply(t,e,r,i){const{width:o,height:s}=e.filterFrame;this.uniforms.dimensions[0]=o,this.uniforms.dimensions[1]=s,this.uniforms.seed=this.seed,this.uniforms.time=this.time,t.applyFilter(this,e,r,i)}set curvature(t){this.uniforms.curvature=t}get curvature(){return this.uniforms.curvature}set lineWidth(t){this.uniforms.lineWidth=t}get lineWidth(){return this.uniforms.lineWidth}set lineContrast(t){this.uniforms.lineContrast=t}get lineContrast(){return this.uniforms.lineContrast}set verticalLine(t){this.uniforms.verticalLine=t}get verticalLine(){return this.uniforms.verticalLine}set noise(t){this.uniforms.noise=t}get noise(){return this.uniforms.noise}set noiseSize(t){this.uniforms.noiseSize=t}get noiseSize(){return this.uniforms.noiseSize}set vignetting(t){this.uniforms.vignetting=t}get vignetting(){return this.uniforms.vignetting}set vignettingAlpha(t){this.uniforms.vignettingAlpha=t}get vignettingAlpha(){return this.uniforms.vignettingAlpha}set vignettingBlur(t){this.uniforms.vignettingBlur=t}get vignettingBlur(){return this.uniforms.vignettingBlur}};let H=Z;H.defaults={curvature:1,lineWidth:1,lineContrast:.25,verticalLine:!1,noise:0,noiseSize:1,seed:0,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3,time:0};var Rt=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Et=`precision mediump float; + +varying vec2 vTextureCoord; +varying vec4 vColor; + +uniform vec4 filterArea; +uniform sampler2D uSampler; + +uniform float angle; +uniform float scale; +uniform bool grayscale; + +float pattern() +{ + float s = sin(angle), c = cos(angle); + vec2 tex = vTextureCoord * filterArea.xy; + vec2 point = vec2( + c * tex.x - s * tex.y, + s * tex.x + c * tex.y + ) * scale; + return (sin(point.x) * sin(point.y)) * 4.0; +} + +void main() +{ + vec4 color = texture2D(uSampler, vTextureCoord); + vec3 colorRGB = vec3(color); + + if (grayscale) + { + colorRGB = vec3(color.r + color.g + color.b) / 3.0; + } + + gl_FragColor = vec4(colorRGB * 10.0 - 5.0 + pattern(), color.a); +} +`;class $t extends a.Filter{constructor(e=1,r=5,i=!0){super(Rt,Et),this.scale=e,this.angle=r,this.grayscale=i}get scale(){return this.uniforms.scale}set scale(e){this.uniforms.scale=e}get angle(){return this.uniforms.angle}set angle(e){this.uniforms.angle=e}get grayscale(){return this.uniforms.grayscale}set grayscale(e){this.uniforms.grayscale=e}}var jt=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,It=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform float alpha; +uniform vec3 color; + +uniform vec2 shift; +uniform vec4 inputSize; + +void main(void){ + vec4 sample = texture2D(uSampler, vTextureCoord - shift * inputSize.zw); + + // Premultiply alpha + sample.rgb = color.rgb * sample.a; + + // alpha user alpha + sample *= alpha; + + gl_FragColor = sample; +}`,Lt=Object.defineProperty,Q=Object.getOwnPropertySymbols,Vt=Object.prototype.hasOwnProperty,Nt=Object.prototype.propertyIsEnumerable,J=(t,e,r)=>e in t?Lt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,ee=(t,e)=>{for(var r in e||(e={}))Vt.call(e,r)&&J(t,r,e[r]);if(Q)for(var r of Q(e))Nt.call(e,r)&&J(t,r,e[r]);return t};const O=class extends a.Filter{constructor(t){super(),this.angle=45,this._distance=5,this._resolution=a.settings.FILTER_RESOLUTION;const e=t?ee(ee({},O.defaults),t):O.defaults,{kernels:r,blur:i,quality:o,pixelSize:s,resolution:n}=e;this._offset=new a.ObservablePoint(this._updatePadding,this),this._tintFilter=new a.Filter(jt,It),this._tintFilter.uniforms.color=new Float32Array(4),this._tintFilter.uniforms.shift=this._offset,this._tintFilter.resolution=n,this._blurFilter=r?new T(r):new T(i,o),this.pixelSize=s,this.resolution=n;const{shadowOnly:l,rotation:u,distance:h,offset:p,alpha:S,color:g}=e;this.shadowOnly=l,u!==void 0&&h!==void 0?(this.rotation=u,this.distance=h):this.offset=p,this.alpha=S,this.color=g}apply(t,e,r,i){const o=t.getFilterTexture();this._tintFilter.apply(t,e,o,1),this._blurFilter.apply(t,o,r,i),this.shadowOnly!==!0&&t.applyFilter(this,e,r,0),t.returnFilterTexture(o)}_updatePadding(){const t=Math.max(Math.abs(this._offset.x),Math.abs(this._offset.y));this.padding=t+this.blur*2}_updateShift(){this._tintFilter.uniforms.shift.set(this.distance*Math.cos(this.angle),this.distance*Math.sin(this.angle))}set offset(t){this._offset.copyFrom(t),this._updatePadding()}get offset(){return this._offset}get resolution(){return this._resolution}set resolution(t){this._resolution=t,this._tintFilter&&(this._tintFilter.resolution=t),this._blurFilter&&(this._blurFilter.resolution=t)}get distance(){return this._distance}set distance(t){a.utils.deprecation("5.3.0","DropShadowFilter distance is deprecated, use offset"),this._distance=t,this._updatePadding(),this._updateShift()}get rotation(){return this.angle/a.DEG_TO_RAD}set rotation(t){a.utils.deprecation("5.3.0","DropShadowFilter rotation is deprecated, use offset"),this.angle=t*a.DEG_TO_RAD,this._updateShift()}get alpha(){return this._tintFilter.uniforms.alpha}set alpha(t){this._tintFilter.uniforms.alpha=t}get color(){return a.utils.rgb2hex(this._tintFilter.uniforms.color)}set color(t){a.utils.hex2rgb(t,this._tintFilter.uniforms.color)}get kernels(){return this._blurFilter.kernels}set kernels(t){this._blurFilter.kernels=t}get blur(){return this._blurFilter.blur}set blur(t){this._blurFilter.blur=t,this._updatePadding()}get quality(){return this._blurFilter.quality}set quality(t){this._blurFilter.quality=t}get pixelSize(){return this._blurFilter.pixelSize}set pixelSize(t){this._blurFilter.pixelSize=t}};let te=O;te.defaults={offset:{x:4,y:4},color:0,alpha:.5,shadowOnly:!1,kernels:null,blur:2,quality:3,pixelSize:1,resolution:a.settings.FILTER_RESOLUTION};var Gt=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Bt=`precision mediump float; + +varying vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform float strength; +uniform vec4 filterArea; + + +void main(void) +{ + vec2 onePixel = vec2(1.0 / filterArea); + + vec4 color; + + color.rgb = vec3(0.5); + + color -= texture2D(uSampler, vTextureCoord - onePixel) * strength; + color += texture2D(uSampler, vTextureCoord + onePixel) * strength; + + color.rgb = vec3((color.r + color.g + color.b) / 3.0); + + float alpha = texture2D(uSampler, vTextureCoord).a; + + gl_FragColor = vec4(color.rgb * alpha, alpha); +} +`;class Xt extends a.Filter{constructor(e=5){super(Gt,Bt),this.strength=e}get strength(){return this.uniforms.strength}set strength(e){this.uniforms.strength=e}}var qt=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Kt=`// precision highp float; + +varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec4 filterArea; +uniform vec4 filterClamp; +uniform vec2 dimensions; +uniform float aspect; + +uniform sampler2D displacementMap; +uniform float offset; +uniform float sinDir; +uniform float cosDir; +uniform int fillMode; + +uniform float seed; +uniform vec2 red; +uniform vec2 green; +uniform vec2 blue; + +const int TRANSPARENT = 0; +const int ORIGINAL = 1; +const int LOOP = 2; +const int CLAMP = 3; +const int MIRROR = 4; + +void main(void) +{ + vec2 coord = (vTextureCoord * filterArea.xy) / dimensions; + + if (coord.x > 1.0 || coord.y > 1.0) { + return; + } + + float cx = coord.x - 0.5; + float cy = (coord.y - 0.5) * aspect; + float ny = (-sinDir * cx + cosDir * cy) / aspect + 0.5; + + // displacementMap: repeat + // ny = ny > 1.0 ? ny - 1.0 : (ny < 0.0 ? 1.0 + ny : ny); + + // displacementMap: mirror + ny = ny > 1.0 ? 2.0 - ny : (ny < 0.0 ? -ny : ny); + + vec4 dc = texture2D(displacementMap, vec2(0.5, ny)); + + float displacement = (dc.r - dc.g) * (offset / filterArea.x); + + coord = vTextureCoord + vec2(cosDir * displacement, sinDir * displacement * aspect); + + if (fillMode == CLAMP) { + coord = clamp(coord, filterClamp.xy, filterClamp.zw); + } else { + if( coord.x > filterClamp.z ) { + if (fillMode == TRANSPARENT) { + discard; + } else if (fillMode == LOOP) { + coord.x -= filterClamp.z; + } else if (fillMode == MIRROR) { + coord.x = filterClamp.z * 2.0 - coord.x; + } + } else if( coord.x < filterClamp.x ) { + if (fillMode == TRANSPARENT) { + discard; + } else if (fillMode == LOOP) { + coord.x += filterClamp.z; + } else if (fillMode == MIRROR) { + coord.x *= -filterClamp.z; + } + } + + if( coord.y > filterClamp.w ) { + if (fillMode == TRANSPARENT) { + discard; + } else if (fillMode == LOOP) { + coord.y -= filterClamp.w; + } else if (fillMode == MIRROR) { + coord.y = filterClamp.w * 2.0 - coord.y; + } + } else if( coord.y < filterClamp.y ) { + if (fillMode == TRANSPARENT) { + discard; + } else if (fillMode == LOOP) { + coord.y += filterClamp.w; + } else if (fillMode == MIRROR) { + coord.y *= -filterClamp.w; + } + } + } + + gl_FragColor.r = texture2D(uSampler, coord + red * (1.0 - seed * 0.4) / filterArea.xy).r; + gl_FragColor.g = texture2D(uSampler, coord + green * (1.0 - seed * 0.3) / filterArea.xy).g; + gl_FragColor.b = texture2D(uSampler, coord + blue * (1.0 - seed * 0.2) / filterArea.xy).b; + gl_FragColor.a = texture2D(uSampler, coord).a; +} +`;const R=class extends a.Filter{constructor(t){super(qt,Kt),this.offset=100,this.fillMode=R.TRANSPARENT,this.average=!1,this.seed=0,this.minSize=8,this.sampleSize=512,this._slices=0,this._offsets=new Float32Array(1),this._sizes=new Float32Array(1),this._direction=-1,this.uniforms.dimensions=new Float32Array(2),this._canvas=document.createElement("canvas"),this._canvas.width=4,this._canvas.height=this.sampleSize,this.texture=a.Texture.from(this._canvas,{scaleMode:a.SCALE_MODES.NEAREST}),Object.assign(this,R.defaults,t)}apply(t,e,r,i){const{width:o,height:s}=e.filterFrame;this.uniforms.dimensions[0]=o,this.uniforms.dimensions[1]=s,this.uniforms.aspect=s/o,this.uniforms.seed=this.seed,this.uniforms.offset=this.offset,this.uniforms.fillMode=this.fillMode,t.applyFilter(this,e,r,i)}_randomizeSizes(){const t=this._sizes,e=this._slices-1,r=this.sampleSize,i=Math.min(this.minSize/r,.9/this._slices);if(this.average){const o=this._slices;let s=1;for(let n=0;n0;r--){const i=Math.random()*r>>0,o=t[r];t[r]=t[i],t[i]=o}}_randomizeOffsets(){for(let t=0;t0?i:0,u=i<0?-i:0;r.fillStyle=`rgba(${l}, ${u}, 0, 1)`,r.fillRect(0,o>>0,t,n+1>>0),o+=n}e.baseTexture.update(),this.uniforms.displacementMap=e}set sizes(t){const e=Math.min(this._slices,t.length);for(let r=0;r 0.) { + result.rgb += (average - result.rgb) * (1. - 1. / (1.001 - uSaturation)); + } else { + result.rgb -= (average - result.rgb) * uSaturation; + } + + // lightness + result.rgb = mix(result.rgb, vec3(ceil(uLightness)) * color.a, abs(uLightness)); + + // alpha + gl_FragColor = mix(color, result, uAlpha); +} +`;const ae=class extends a.Filter{constructor(t){super(tr,rr),this._hue=0;const e=Object.assign({},ae.defaults,t);Object.assign(this,e)}get hue(){return this._hue}set hue(t){this._hue=t,this.uniforms.uHue=this._hue*(Math.PI/180)}get alpha(){return this.uniforms.uAlpha}set alpha(t){this.uniforms.uAlpha=t}get colorize(){return this.uniforms.uColorize}set colorize(t){this.uniforms.uColorize=t}get lightness(){return this.uniforms.uLightness}set lightness(t){this.uniforms.uLightness=t}get saturation(){return this.uniforms.uSaturation}set saturation(t){this.uniforms.uSaturation=t}};let ne=ae;ne.defaults={hue:0,saturation:0,lightness:0,colorize:!1,alpha:1};var ir=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,or=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterArea; + +uniform vec2 uVelocity; +uniform int uKernelSize; +uniform float uOffset; + +const int MAX_KERNEL_SIZE = 2048; + +// Notice: +// the perfect way: +// int kernelSize = min(uKernelSize, MAX_KERNELSIZE); +// BUT in real use-case , uKernelSize < MAX_KERNELSIZE almost always. +// So use uKernelSize directly. + +void main(void) +{ + vec4 color = texture2D(uSampler, vTextureCoord); + + if (uKernelSize == 0) + { + gl_FragColor = color; + return; + } + + vec2 velocity = uVelocity / filterArea.xy; + float offset = -uOffset / length(uVelocity) - 0.5; + int k = uKernelSize - 1; + + for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) { + if (i == k) { + break; + } + vec2 bias = velocity * (float(i) / float(k) + offset); + color += texture2D(uSampler, vTextureCoord + bias); + } + gl_FragColor = color / float(uKernelSize); +} +`;class sr extends a.Filter{constructor(e=[0,0],r=5,i=0){super(ir,or),this.kernelSize=5,this.uniforms.uVelocity=new Float32Array(2),this._velocity=new a.ObservablePoint(this.velocityChanged,this),this.setVelocity(e),this.kernelSize=r,this.offset=i}apply(e,r,i,o){const{x:s,y:n}=this.velocity;this.uniforms.uKernelSize=s!==0||n!==0?this.kernelSize:0,e.applyFilter(this,r,i,o)}set velocity(e){this.setVelocity(e)}get velocity(){return this._velocity}setVelocity(e){if(Array.isArray(e)){const[r,i]=e;this._velocity.set(r,i)}else this._velocity.copyFrom(e)}velocityChanged(){this.uniforms.uVelocity[0]=this._velocity.x,this.uniforms.uVelocity[1]=this._velocity.y,this.padding=(Math.max(Math.abs(this._velocity.x),Math.abs(this._velocity.y))>>0)+1}set offset(e){this.uniforms.uOffset=e}get offset(){return this.uniforms.uOffset}}var ar=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,nr=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform float epsilon; + +const int MAX_COLORS = %maxColors%; + +uniform vec3 originalColors[MAX_COLORS]; +uniform vec3 targetColors[MAX_COLORS]; + +void main(void) +{ + gl_FragColor = texture2D(uSampler, vTextureCoord); + + float alpha = gl_FragColor.a; + if (alpha < 0.0001) + { + return; + } + + vec3 color = gl_FragColor.rgb / alpha; + + for(int i = 0; i < MAX_COLORS; i++) + { + vec3 origColor = originalColors[i]; + if (origColor.r < 0.0) + { + break; + } + vec3 colorDiff = origColor - color; + if (length(colorDiff) < epsilon) + { + vec3 targetColor = targetColors[i]; + gl_FragColor = vec4((targetColor + colorDiff) * alpha, alpha); + return; + } + } +} +`;class lr extends a.Filter{constructor(e,r=.05,i=e.length){super(ar,nr.replace(/%maxColors%/g,i.toFixed(0))),this._replacements=[],this._maxColors=0,this.epsilon=r,this._maxColors=i,this.uniforms.originalColors=new Float32Array(i*3),this.uniforms.targetColors=new Float32Array(i*3),this.replacements=e}set replacements(e){const r=this.uniforms.originalColors,i=this.uniforms.targetColors,o=e.length;if(o>this._maxColors)throw new Error(`Length of replacements (${o}) exceeds the maximum colors length (${this._maxColors})`);r[o*3]=-1;for(let s=0;s 0.5) then: 1 - 2 * (1 - dst) * (1 - src) + return vec3((dst.x <= 0.5) ? (2.0 * src.x * dst.x) : (1.0 - 2.0 * (1.0 - dst.x) * (1.0 - src.x)), + (dst.y <= 0.5) ? (2.0 * src.y * dst.y) : (1.0 - 2.0 * (1.0 - dst.y) * (1.0 - src.y)), + (dst.z <= 0.5) ? (2.0 * src.z * dst.z) : (1.0 - 2.0 * (1.0 - dst.z) * (1.0 - src.z))); +} + + +void main() +{ + gl_FragColor = texture2D(uSampler, vTextureCoord); + vec3 color = gl_FragColor.rgb; + + if (sepia > 0.0) + { + float gray = (color.x + color.y + color.z) / 3.0; + vec3 grayscale = vec3(gray); + + color = Overlay(SEPIA_RGB, grayscale); + + color = grayscale + sepia * (color - grayscale); + } + + vec2 coord = vTextureCoord * filterArea.xy / dimensions.xy; + + if (vignetting > 0.0) + { + float outter = SQRT_2 - vignetting * SQRT_2; + vec2 dir = vec2(vec2(0.5, 0.5) - coord); + dir.y *= dimensions.y / dimensions.x; + float darker = clamp((outter - length(dir) * SQRT_2) / ( 0.00001 + vignettingBlur * SQRT_2), 0.0, 1.0); + color.rgb *= darker + (1.0 - darker) * (1.0 - vignettingAlpha); + } + + if (scratchDensity > seed && scratch != 0.0) + { + float phase = seed * 256.0; + float s = mod(floor(phase), 2.0); + float dist = 1.0 / scratchDensity; + float d = distance(coord, vec2(seed * dist, abs(s - seed * dist))); + if (d < seed * 0.6 + 0.4) + { + highp float period = scratchDensity * 10.0; + + float xx = coord.x * period + phase; + float aa = abs(mod(xx, 0.5) * 4.0); + float bb = mod(floor(xx / 0.5), 2.0); + float yy = (1.0 - bb) * aa + bb * (2.0 - aa); + + float kk = 2.0 * period; + float dw = scratchWidth / dimensions.x * (0.75 + seed); + float dh = dw * kk; + + float tine = (yy - (2.0 - dh)); + + if (tine > 0.0) { + float _sign = sign(scratch); + + tine = s * tine / period + scratch + 0.1; + tine = clamp(tine + 1.0, 0.5 + _sign * 0.5, 1.5 + _sign * 0.5); + + color.rgb *= tine; + } + } + } + + if (noise > 0.0 && noiseSize > 0.0) + { + vec2 pixelCoord = vTextureCoord.xy * filterArea.xy; + pixelCoord.x = floor(pixelCoord.x / noiseSize); + pixelCoord.y = floor(pixelCoord.y / noiseSize); + // vec2 d = pixelCoord * noiseSize * vec2(1024.0 + seed * 512.0, 1024.0 - seed * 512.0); + // float _noise = snoise(d) * 0.5; + float _noise = rand(pixelCoord * noiseSize * seed) - 0.5; + color += _noise * noise; + } + + gl_FragColor.rgb = color; +} +`;const le=class extends a.Filter{constructor(t,e=0){super(ur,cr),this.seed=0,this.uniforms.dimensions=new Float32Array(2),typeof t=="number"?(this.seed=t,t=void 0):this.seed=e,Object.assign(this,le.defaults,t)}apply(t,e,r,i){var o,s;this.uniforms.dimensions[0]=(o=e.filterFrame)==null?void 0:o.width,this.uniforms.dimensions[1]=(s=e.filterFrame)==null?void 0:s.height,this.uniforms.seed=this.seed,t.applyFilter(this,e,r,i)}set sepia(t){this.uniforms.sepia=t}get sepia(){return this.uniforms.sepia}set noise(t){this.uniforms.noise=t}get noise(){return this.uniforms.noise}set noiseSize(t){this.uniforms.noiseSize=t}get noiseSize(){return this.uniforms.noiseSize}set scratch(t){this.uniforms.scratch=t}get scratch(){return this.uniforms.scratch}set scratchDensity(t){this.uniforms.scratchDensity=t}get scratchDensity(){return this.uniforms.scratchDensity}set scratchWidth(t){this.uniforms.scratchWidth=t}get scratchWidth(){return this.uniforms.scratchWidth}set vignetting(t){this.uniforms.vignetting=t}get vignetting(){return this.uniforms.vignetting}set vignettingAlpha(t){this.uniforms.vignettingAlpha=t}get vignettingAlpha(){return this.uniforms.vignettingAlpha}set vignettingBlur(t){this.uniforms.vignettingBlur=t}get vignettingBlur(){return this.uniforms.vignettingBlur}};let ue=le;ue.defaults={sepia:.3,noise:.3,noiseSize:1,scratch:.5,scratchDensity:.3,scratchWidth:1,vignetting:.3,vignettingAlpha:1,vignettingBlur:.3};var fr=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,dr=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterClamp; + +uniform float uAlpha; +uniform vec2 uThickness; +uniform vec4 uColor; +uniform bool uKnockout; + +const float DOUBLE_PI = 2. * 3.14159265358979323846264; +const float ANGLE_STEP = \${angleStep}; + +float outlineMaxAlphaAtPos(vec2 pos) { + if (uThickness.x == 0. || uThickness.y == 0.) { + return 0.; + } + + vec4 displacedColor; + vec2 displacedPos; + float maxAlpha = 0.; + + for (float angle = 0.; angle <= DOUBLE_PI; angle += ANGLE_STEP) { + displacedPos.x = vTextureCoord.x + uThickness.x * cos(angle); + displacedPos.y = vTextureCoord.y + uThickness.y * sin(angle); + displacedColor = texture2D(uSampler, clamp(displacedPos, filterClamp.xy, filterClamp.zw)); + maxAlpha = max(maxAlpha, displacedColor.a); + } + + return maxAlpha; +} + +void main(void) { + vec4 sourceColor = texture2D(uSampler, vTextureCoord); + vec4 contentColor = sourceColor * float(!uKnockout); + float outlineAlpha = uAlpha * outlineMaxAlphaAtPos(vTextureCoord.xy) * (1.-sourceColor.a); + vec4 outlineColor = vec4(vec3(uColor) * outlineAlpha, outlineAlpha); + gl_FragColor = contentColor + outlineColor; +} +`;const A=class extends a.Filter{constructor(t=1,e=0,r=.1,i=1,o=!1){super(fr,dr.replace(/\$\{angleStep\}/,A.getAngleStep(r))),this._thickness=1,this._alpha=1,this._knockout=!1,this.uniforms.uThickness=new Float32Array([0,0]),this.uniforms.uColor=new Float32Array([0,0,0,1]),this.uniforms.uAlpha=i,this.uniforms.uKnockout=o,Object.assign(this,{thickness:t,color:e,quality:r,alpha:i,knockout:o})}static getAngleStep(t){const e=Math.max(t*A.MAX_SAMPLES,A.MIN_SAMPLES);return(Math.PI*2/e).toFixed(7)}apply(t,e,r,i){this.uniforms.uThickness[0]=this._thickness/e._frame.width,this.uniforms.uThickness[1]=this._thickness/e._frame.height,this.uniforms.uAlpha=this._alpha,this.uniforms.uKnockout=this._knockout,t.applyFilter(this,e,r,i)}get alpha(){return this._alpha}set alpha(t){this._alpha=t}get color(){return a.utils.rgb2hex(this.uniforms.uColor)}set color(t){a.utils.hex2rgb(t,this.uniforms.uColor)}get knockout(){return this._knockout}set knockout(t){this._knockout=t}get thickness(){return this._thickness}set thickness(t){this._thickness=t,this.padding=t}};let E=A;E.MIN_SAMPLES=1,E.MAX_SAMPLES=100;var hr=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,mr=`precision mediump float; + +varying vec2 vTextureCoord; + +uniform vec2 size; +uniform sampler2D uSampler; + +uniform vec4 filterArea; + +vec2 mapCoord( vec2 coord ) +{ + coord *= filterArea.xy; + coord += filterArea.zw; + + return coord; +} + +vec2 unmapCoord( vec2 coord ) +{ + coord -= filterArea.zw; + coord /= filterArea.xy; + + return coord; +} + +vec2 pixelate(vec2 coord, vec2 size) +{ + return floor( coord / size ) * size; +} + +void main(void) +{ + vec2 coord = mapCoord(vTextureCoord); + + coord = pixelate(coord, size); + + coord = unmapCoord(coord); + + gl_FragColor = texture2D(uSampler, coord); +} +`;class gr extends a.Filter{constructor(e=10){super(hr,mr),this.size=e}get size(){return this.uniforms.size}set size(e){typeof e=="number"&&(e=[e,e]),this.uniforms.size=e}}var vr=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,pr=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterArea; + +uniform float uRadian; +uniform vec2 uCenter; +uniform float uRadius; +uniform int uKernelSize; + +const int MAX_KERNEL_SIZE = 2048; + +void main(void) +{ + vec4 color = texture2D(uSampler, vTextureCoord); + + if (uKernelSize == 0) + { + gl_FragColor = color; + return; + } + + float aspect = filterArea.y / filterArea.x; + vec2 center = uCenter.xy / filterArea.xy; + float gradient = uRadius / filterArea.x * 0.3; + float radius = uRadius / filterArea.x - gradient * 0.5; + int k = uKernelSize - 1; + + vec2 coord = vTextureCoord; + vec2 dir = vec2(center - coord); + float dist = length(vec2(dir.x, dir.y * aspect)); + + float radianStep = uRadian; + if (radius >= 0.0 && dist > radius) { + float delta = dist - radius; + float gap = gradient; + float scale = 1.0 - abs(delta / gap); + if (scale <= 0.0) { + gl_FragColor = color; + return; + } + radianStep *= scale; + } + radianStep /= float(k); + + float s = sin(radianStep); + float c = cos(radianStep); + mat2 rotationMatrix = mat2(vec2(c, -s), vec2(s, c)); + + for(int i = 0; i < MAX_KERNEL_SIZE - 1; i++) { + if (i == k) { + break; + } + + coord -= center; + coord.y *= aspect; + coord = rotationMatrix * coord; + coord.y /= aspect; + coord += center; + + vec4 sample = texture2D(uSampler, coord); + + // switch to pre-multiplied alpha to correctly blur transparent images + // sample.rgb *= sample.a; + + color += sample; + } + + gl_FragColor = color / float(uKernelSize); +} +`;class xr extends a.Filter{constructor(e=0,r=[0,0],i=5,o=-1){super(vr,pr),this._angle=0,this.angle=e,this.center=r,this.kernelSize=i,this.radius=o}apply(e,r,i,o){this.uniforms.uKernelSize=this._angle!==0?this.kernelSize:0,e.applyFilter(this,r,i,o)}set angle(e){this._angle=e,this.uniforms.uRadian=e*Math.PI/180}get angle(){return this._angle}get center(){return this.uniforms.uCenter}set center(e){this.uniforms.uCenter=e}get radius(){return this.uniforms.uRadius}set radius(e){(e<0||e===1/0)&&(e=-1),this.uniforms.uRadius=e}}var yr=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Cr=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; + +uniform vec4 filterArea; +uniform vec4 filterClamp; +uniform vec2 dimensions; + +uniform bool mirror; +uniform float boundary; +uniform vec2 amplitude; +uniform vec2 waveLength; +uniform vec2 alpha; +uniform float time; + +float rand(vec2 co) { + return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453); +} + +void main(void) +{ + vec2 pixelCoord = vTextureCoord.xy * filterArea.xy; + vec2 coord = pixelCoord / dimensions; + + if (coord.y < boundary) { + gl_FragColor = texture2D(uSampler, vTextureCoord); + return; + } + + float k = (coord.y - boundary) / (1. - boundary + 0.0001); + float areaY = boundary * dimensions.y / filterArea.y; + float v = areaY + areaY - vTextureCoord.y; + float y = mirror ? v : vTextureCoord.y; + + float _amplitude = ((amplitude.y - amplitude.x) * k + amplitude.x ) / filterArea.x; + float _waveLength = ((waveLength.y - waveLength.x) * k + waveLength.x) / filterArea.y; + float _alpha = (alpha.y - alpha.x) * k + alpha.x; + + float x = vTextureCoord.x + cos(v * 6.28 / _waveLength - time) * _amplitude; + x = clamp(x, filterClamp.x, filterClamp.z); + + vec4 color = texture2D(uSampler, vec2(x, y)); + + gl_FragColor = color * _alpha; +} +`;const ce=class extends a.Filter{constructor(t){super(yr,Cr),this.time=0,this.uniforms.amplitude=new Float32Array(2),this.uniforms.waveLength=new Float32Array(2),this.uniforms.alpha=new Float32Array(2),this.uniforms.dimensions=new Float32Array(2),Object.assign(this,ce.defaults,t)}apply(t,e,r,i){var o,s;this.uniforms.dimensions[0]=(o=e.filterFrame)==null?void 0:o.width,this.uniforms.dimensions[1]=(s=e.filterFrame)==null?void 0:s.height,this.uniforms.time=this.time,t.applyFilter(this,e,r,i)}set mirror(t){this.uniforms.mirror=t}get mirror(){return this.uniforms.mirror}set boundary(t){this.uniforms.boundary=t}get boundary(){return this.uniforms.boundary}set amplitude(t){this.uniforms.amplitude[0]=t[0],this.uniforms.amplitude[1]=t[1]}get amplitude(){return this.uniforms.amplitude}set waveLength(t){this.uniforms.waveLength[0]=t[0],this.uniforms.waveLength[1]=t[1]}get waveLength(){return this.uniforms.waveLength}set alpha(t){this.uniforms.alpha[0]=t[0],this.uniforms.alpha[1]=t[1]}get alpha(){return this.uniforms.alpha}};let fe=ce;fe.defaults={mirror:!0,boundary:.5,amplitude:[0,20],waveLength:[30,100],alpha:[1,1],time:0};var _r=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,br=`precision mediump float; + +varying vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform vec4 filterArea; +uniform vec2 red; +uniform vec2 green; +uniform vec2 blue; + +void main(void) +{ + gl_FragColor.r = texture2D(uSampler, vTextureCoord + red/filterArea.xy).r; + gl_FragColor.g = texture2D(uSampler, vTextureCoord + green/filterArea.xy).g; + gl_FragColor.b = texture2D(uSampler, vTextureCoord + blue/filterArea.xy).b; + gl_FragColor.a = texture2D(uSampler, vTextureCoord).a; +} +`;class Sr extends a.Filter{constructor(e=[-10,0],r=[0,10],i=[0,0]){super(_r,br),this.red=e,this.green=r,this.blue=i}get red(){return this.uniforms.red}set red(e){this.uniforms.red=e}get green(){return this.uniforms.green}set green(e){this.uniforms.green=e}get blue(){return this.uniforms.blue}set blue(e){this.uniforms.blue=e}}var Tr=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Fr=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterArea; +uniform vec4 filterClamp; + +uniform vec2 center; + +uniform float amplitude; +uniform float wavelength; +// uniform float power; +uniform float brightness; +uniform float speed; +uniform float radius; + +uniform float time; + +const float PI = 3.14159; + +void main() +{ + float halfWavelength = wavelength * 0.5 / filterArea.x; + float maxRadius = radius / filterArea.x; + float currentRadius = time * speed / filterArea.x; + + float fade = 1.0; + + if (maxRadius > 0.0) { + if (currentRadius > maxRadius) { + gl_FragColor = texture2D(uSampler, vTextureCoord); + return; + } + fade = 1.0 - pow(currentRadius / maxRadius, 2.0); + } + + vec2 dir = vec2(vTextureCoord - center / filterArea.xy); + dir.y *= filterArea.y / filterArea.x; + float dist = length(dir); + + if (dist <= 0.0 || dist < currentRadius - halfWavelength || dist > currentRadius + halfWavelength) { + gl_FragColor = texture2D(uSampler, vTextureCoord); + return; + } + + vec2 diffUV = normalize(dir); + + float diff = (dist - currentRadius) / halfWavelength; + + float p = 1.0 - pow(abs(diff), 2.0); + + // float powDiff = diff * pow(p, 2.0) * ( amplitude * fade ); + float powDiff = 1.25 * sin(diff * PI) * p * ( amplitude * fade ); + + vec2 offset = diffUV * powDiff / filterArea.xy; + + // Do clamp : + vec2 coord = vTextureCoord + offset; + vec2 clampedCoord = clamp(coord, filterClamp.xy, filterClamp.zw); + vec4 color = texture2D(uSampler, clampedCoord); + if (coord != clampedCoord) { + color *= max(0.0, 1.0 - length(coord - clampedCoord)); + } + + // No clamp : + // gl_FragColor = texture2D(uSampler, vTextureCoord + offset); + + color.rgb *= 1.0 + (brightness - 1.0) * p * fade; + + gl_FragColor = color; +} +`;const de=class extends a.Filter{constructor(t=[0,0],e,r=0){super(Tr,Fr),this.center=t,Object.assign(this,de.defaults,e),this.time=r}apply(t,e,r,i){this.uniforms.time=this.time,t.applyFilter(this,e,r,i)}get center(){return this.uniforms.center}set center(t){this.uniforms.center=t}get amplitude(){return this.uniforms.amplitude}set amplitude(t){this.uniforms.amplitude=t}get wavelength(){return this.uniforms.wavelength}set wavelength(t){this.uniforms.wavelength=t}get brightness(){return this.uniforms.brightness}set brightness(t){this.uniforms.brightness=t}get speed(){return this.uniforms.speed}set speed(t){this.uniforms.speed=t}get radius(){return this.uniforms.radius}set radius(t){this.uniforms.radius=t}};let he=de;he.defaults={amplitude:30,wavelength:160,brightness:1,speed:500,radius:-1};var Ar=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,zr=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform sampler2D uLightmap; +uniform vec4 filterArea; +uniform vec2 dimensions; +uniform vec4 ambientColor; +void main() { + vec4 diffuseColor = texture2D(uSampler, vTextureCoord); + vec2 lightCoord = (vTextureCoord * filterArea.xy) / dimensions; + vec4 light = texture2D(uLightmap, lightCoord); + vec3 ambient = ambientColor.rgb * ambientColor.a; + vec3 intensity = ambient + light.rgb; + vec3 finalColor = diffuseColor.rgb * intensity; + gl_FragColor = vec4(finalColor, diffuseColor.a); +} +`;class wr extends a.Filter{constructor(e,r=0,i=1){super(Ar,zr),this._color=0,this.uniforms.dimensions=new Float32Array(2),this.uniforms.ambientColor=new Float32Array([0,0,0,i]),this.texture=e,this.color=r}apply(e,r,i,o){var s,n;this.uniforms.dimensions[0]=(s=r.filterFrame)==null?void 0:s.width,this.uniforms.dimensions[1]=(n=r.filterFrame)==null?void 0:n.height,e.applyFilter(this,r,i,o)}get texture(){return this.uniforms.uLightmap}set texture(e){this.uniforms.uLightmap=e}set color(e){const r=this.uniforms.ambientColor;typeof e=="number"?(a.utils.hex2rgb(e,r),this._color=e):(r[0]=e[0],r[1]=e[1],r[2]=e[2],r[3]=e[3],this._color=a.utils.rgb2hex(r))}get color(){return this._color}get alpha(){return this.uniforms.ambientColor[3]}set alpha(e){this.uniforms.ambientColor[3]=e}}var Pr=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Mr=`varying vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform float blur; +uniform float gradientBlur; +uniform vec2 start; +uniform vec2 end; +uniform vec2 delta; +uniform vec2 texSize; + +float random(vec3 scale, float seed) +{ + return fract(sin(dot(gl_FragCoord.xyz + seed, scale)) * 43758.5453 + seed); +} + +void main(void) +{ + vec4 color = vec4(0.0); + float total = 0.0; + + float offset = random(vec3(12.9898, 78.233, 151.7182), 0.0); + vec2 normal = normalize(vec2(start.y - end.y, end.x - start.x)); + float radius = smoothstep(0.0, 1.0, abs(dot(vTextureCoord * texSize - start, normal)) / gradientBlur) * blur; + + for (float t = -30.0; t <= 30.0; t++) + { + float percent = (t + offset - 0.5) / 30.0; + float weight = 1.0 - abs(percent); + vec4 sample = texture2D(uSampler, vTextureCoord + delta / texSize * percent * radius); + sample.rgb *= sample.a; + color += sample * weight; + total += weight; + } + + color /= total; + color.rgb /= color.a + 0.00001; + + gl_FragColor = color; +} +`;class $ extends a.Filter{constructor(e){var r,i;super(Pr,Mr),this.uniforms.blur=e.blur,this.uniforms.gradientBlur=e.gradientBlur,this.uniforms.start=(r=e.start)!=null?r:new a.Point(0,window.innerHeight/2),this.uniforms.end=(i=e.end)!=null?i:new a.Point(600,window.innerHeight/2),this.uniforms.delta=new a.Point(30,30),this.uniforms.texSize=new a.Point(window.innerWidth,window.innerHeight),this.updateDelta()}updateDelta(){this.uniforms.delta.x=0,this.uniforms.delta.y=0}get blur(){return this.uniforms.blur}set blur(e){this.uniforms.blur=e}get gradientBlur(){return this.uniforms.gradientBlur}set gradientBlur(e){this.uniforms.gradientBlur=e}get start(){return this.uniforms.start}set start(e){this.uniforms.start=e,this.updateDelta()}get end(){return this.uniforms.end}set end(e){this.uniforms.end=e,this.updateDelta()}}class me extends ${updateDelta(){const e=this.uniforms.end.x-this.uniforms.start.x,r=this.uniforms.end.y-this.uniforms.start.y,i=Math.sqrt(e*e+r*r);this.uniforms.delta.x=e/i,this.uniforms.delta.y=r/i}}class ge extends ${updateDelta(){const e=this.uniforms.end.x-this.uniforms.start.x,r=this.uniforms.end.y-this.uniforms.start.y,i=Math.sqrt(e*e+r*r);this.uniforms.delta.x=-r/i,this.uniforms.delta.y=e/i}}const ve=class extends a.Filter{constructor(t,e,r,i){super(),typeof t=="number"&&(a.utils.deprecation("5.3.0","TiltShiftFilter constructor arguments is deprecated, use options."),t={blur:t,gradientBlur:e,start:r,end:i}),t=Object.assign({},ve.defaults,t),this.tiltShiftXFilter=new me(t),this.tiltShiftYFilter=new ge(t)}apply(t,e,r,i){const o=t.getFilterTexture();this.tiltShiftXFilter.apply(t,e,o,1),this.tiltShiftYFilter.apply(t,o,r,i),t.returnFilterTexture(o)}get blur(){return this.tiltShiftXFilter.blur}set blur(t){this.tiltShiftXFilter.blur=this.tiltShiftYFilter.blur=t}get gradientBlur(){return this.tiltShiftXFilter.gradientBlur}set gradientBlur(t){this.tiltShiftXFilter.gradientBlur=this.tiltShiftYFilter.gradientBlur=t}get start(){return this.tiltShiftXFilter.start}set start(t){this.tiltShiftXFilter.start=this.tiltShiftYFilter.start=t}get end(){return this.tiltShiftXFilter.end}set end(t){this.tiltShiftXFilter.end=this.tiltShiftYFilter.end=t}};let pe=ve;pe.defaults={blur:100,gradientBlur:600,start:void 0,end:void 0};var Dr=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,kr=`varying vec2 vTextureCoord; + +uniform sampler2D uSampler; +uniform float radius; +uniform float angle; +uniform vec2 offset; +uniform vec4 filterArea; + +vec2 mapCoord( vec2 coord ) +{ + coord *= filterArea.xy; + coord += filterArea.zw; + + return coord; +} + +vec2 unmapCoord( vec2 coord ) +{ + coord -= filterArea.zw; + coord /= filterArea.xy; + + return coord; +} + +vec2 twist(vec2 coord) +{ + coord -= offset; + + float dist = length(coord); + + if (dist < radius) + { + float ratioDist = (radius - dist) / radius; + float angleMod = ratioDist * ratioDist * angle; + float s = sin(angleMod); + float c = cos(angleMod); + coord = vec2(coord.x * c - coord.y * s, coord.x * s + coord.y * c); + } + + coord += offset; + + return coord; +} + +void main(void) +{ + + vec2 coord = mapCoord(vTextureCoord); + + coord = twist(coord); + + coord = unmapCoord(coord); + + gl_FragColor = texture2D(uSampler, coord ); + +} +`;const xe=class extends a.Filter{constructor(t){super(Dr,kr),Object.assign(this,xe.defaults,t)}get offset(){return this.uniforms.offset}set offset(t){this.uniforms.offset=t}get radius(){return this.uniforms.radius}set radius(t){this.uniforms.radius=t}get angle(){return this.uniforms.angle}set angle(t){this.uniforms.angle=t}};let ye=xe;ye.defaults={radius:200,angle:4,padding:20,offset:new a.Point};var Or=`attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + vTextureCoord = aTextureCoord; +}`,Rr=`varying vec2 vTextureCoord; +uniform sampler2D uSampler; +uniform vec4 filterArea; + +uniform vec2 uCenter; +uniform float uStrength; +uniform float uInnerRadius; +uniform float uRadius; + +const float MAX_KERNEL_SIZE = \${maxKernelSize}; + +// author: http://byteblacksmith.com/improvements-to-the-canonical-one-liner-glsl-rand-for-opengl-es-2-0/ +highp float rand(vec2 co, float seed) { + const highp float a = 12.9898, b = 78.233, c = 43758.5453; + highp float dt = dot(co + seed, vec2(a, b)), sn = mod(dt, 3.14159); + return fract(sin(sn) * c + seed); +} + +void main() { + + float minGradient = uInnerRadius * 0.3; + float innerRadius = (uInnerRadius + minGradient * 0.5) / filterArea.x; + + float gradient = uRadius * 0.3; + float radius = (uRadius - gradient * 0.5) / filterArea.x; + + float countLimit = MAX_KERNEL_SIZE; + + vec2 dir = vec2(uCenter.xy / filterArea.xy - vTextureCoord); + float dist = length(vec2(dir.x, dir.y * filterArea.y / filterArea.x)); + + float strength = uStrength; + + float delta = 0.0; + float gap; + if (dist < innerRadius) { + delta = innerRadius - dist; + gap = minGradient; + } else if (radius >= 0.0 && dist > radius) { // radius < 0 means it's infinity + delta = dist - radius; + gap = gradient; + } + + if (delta > 0.0) { + float normalCount = gap / filterArea.x; + delta = (normalCount - delta) / normalCount; + countLimit *= delta; + strength *= delta; + if (countLimit < 1.0) + { + gl_FragColor = texture2D(uSampler, vTextureCoord); + return; + } + } + + // randomize the lookup values to hide the fixed number of samples + float offset = rand(vTextureCoord, 0.0); + + float total = 0.0; + vec4 color = vec4(0.0); + + dir *= strength; + + for (float t = 0.0; t < MAX_KERNEL_SIZE; t++) { + float percent = (t + offset) / MAX_KERNEL_SIZE; + float weight = 4.0 * (percent - percent * percent); + vec2 p = vTextureCoord + dir * percent; + vec4 sample = texture2D(uSampler, p); + + // switch to pre-multiplied alpha to correctly blur transparent images + // sample.rgb *= sample.a; + + color += sample * weight; + total += weight; + + if (t > countLimit){ + break; + } + } + + color /= total; + // switch back from pre-multiplied alpha + // color.rgb /= color.a + 0.00001; + + gl_FragColor = color; +} +`,Ce=Object.getOwnPropertySymbols,Er=Object.prototype.hasOwnProperty,$r=Object.prototype.propertyIsEnumerable,jr=(t,e)=>{var r={};for(var i in t)Er.call(t,i)&&e.indexOf(i)<0&&(r[i]=t[i]);if(t!=null&&Ce)for(var i of Ce(t))e.indexOf(i)<0&&$r.call(t,i)&&(r[i]=t[i]);return r};const _e=class extends a.Filter{constructor(t){const e=Object.assign(_e.defaults,t),{maxKernelSize:r}=e,i=jr(e,["maxKernelSize"]);super(Or,Rr.replace("${maxKernelSize}",r.toFixed(1))),Object.assign(this,i)}get center(){return this.uniforms.uCenter}set center(t){this.uniforms.uCenter=t}get strength(){return this.uniforms.uStrength}set strength(t){this.uniforms.uStrength=t}get innerRadius(){return this.uniforms.uInnerRadius}set innerRadius(t){this.uniforms.uInnerRadius=t}get radius(){return this.uniforms.uRadius}set radius(t){(t<0||t===1/0)&&(t=-1),this.uniforms.uRadius=t}};let be=_e;return be.defaults={strength:.1,center:[0,0],innerRadius:0,radius:-1,maxKernelSize:32},f.AdjustmentFilter=ke,f.AdvancedBloomFilter=N,f.AsciiFilter=Ne,f.BevelFilter=Xe,f.BloomFilter=qe,f.BulgePinchFilter=B,f.CRTFilter=H,f.ColorGradientFilter=F,f.ColorMapFilter=yt,f.ColorOverlayFilter=bt,f.ColorReplaceFilter=Ft,f.ConvolutionFilter=wt,f.CrossHatchFilter=Dt,f.DotFilter=$t,f.DropShadowFilter=te,f.EmbossFilter=Xt,f.GlitchFilter=b,f.GlowFilter=ie,f.GodrayFilter=se,f.GrayscaleFilter=er,f.HslAdjustmentFilter=ne,f.KawaseBlurFilter=T,f.MotionBlurFilter=sr,f.MultiColorReplaceFilter=lr,f.OldFilmFilter=ue,f.OutlineFilter=E,f.PixelateFilter=gr,f.RGBSplitFilter=Sr,f.RadialBlurFilter=xr,f.ReflectionFilter=fe,f.ShockwaveFilter=he,f.SimpleLightmapFilter=wr,f.TiltShiftAxisFilter=$,f.TiltShiftFilter=pe,f.TiltShiftXFilter=me,f.TiltShiftYFilter=ge,f.TwistFilter=ye,f.ZoomBlurFilter=be,Object.defineProperty(f,"__esModule",{value:!0}),f}({},PIXI,PIXI.filters,PIXI.filters);Object.assign(PIXI.filters,__filters); +//# sourceMappingURL=pixi-filters.js.map diff --git a/Server/www/spiderbasic/pixi.min.js b/Server/www/spiderbasic/pixi.min.js new file mode 100644 index 0000000..a8d8cf2 --- /dev/null +++ b/Server/www/spiderbasic/pixi.min.js @@ -0,0 +1,9 @@ +/*! + * pixi.js-legacy - v5.3.12 + * Compiled Wed, 23 Mar 2022 18:38:07 UTC + * + * pixi.js-legacy is licensed under the MIT License. + * http://www.opensource.org/licenses/mit-license + */ +var PIXI=function(t){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function r(t,e){return t(e={exports:{}},e.exports),e.exports}var i=r(function(t,r){!function(t){var e=t.Promise,i=e&&"resolve"in e&&"reject"in e&&"all"in e&&"race"in e&&function(){var t;return new e(function(e){t=e}),"function"==typeof t}();r?(r.Promise=i?e:T,r.Polyfill=T):i||(t.Promise=T);var n="pending",o="sealed",s="fulfilled",a="rejected",h=function(){};function u(t){return"[object Array]"===Object.prototype.toString.call(t)}var l,c="undefined"!=typeof setImmediate?setImmediate:setTimeout,d=[];function p(){for(var t=0;t0?1:-1}),Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),window.ArrayBuffer||(window.ArrayBuffer=Array),window.Float32Array||(window.Float32Array=Array),window.Uint32Array||(window.Uint32Array=Array),window.Uint16Array||(window.Uint16Array=Array),window.Uint8Array||(window.Uint8Array=Array),window.Int32Array||(window.Int32Array=Array);var f=/iPhone/i,m=/iPod/i,v=/iPad/i,g=/\biOS-universal(?:.+)Mac\b/i,y=/\bAndroid(?:.+)Mobile\b/i,_=/Android/i,x=/(?:SD4930UR|\bSilk(?:.+)Mobile\b)/i,b=/Silk/i,E=/Windows Phone/i,T=/\bWindows(?:.+)ARM\b/i,S=/BlackBerry/i,w=/BB10/i,P=/Opera Mini/i,I=/\b(CriOS|Chrome)(?:.+)Mobile/i,A=/Mobile(?:.+)Firefox\b/i,O=function(t){return void 0!==t&&"MacIntel"===t.platform&&"number"==typeof t.maxTouchPoints&&t.maxTouchPoints>1&&"undefined"==typeof MSStream};var M=function(t){var e={userAgent:"",platform:"",maxTouchPoints:0};t||"undefined"==typeof navigator?"string"==typeof t?e.userAgent=t:t&&t.userAgent&&(e={userAgent:t.userAgent,platform:t.platform,maxTouchPoints:t.maxTouchPoints||0}):e={userAgent:navigator.userAgent,platform:navigator.platform,maxTouchPoints:navigator.maxTouchPoints||0};var r=e.userAgent,i=r.split("[FBAN");void 0!==i[1]&&(r=i[0]),void 0!==(i=r.split("Twitter"))[1]&&(r=i[0]);var n=function(t){return function(e){return e.test(t)}}(r),o={apple:{phone:n(f)&&!n(E),ipod:n(m),tablet:!n(f)&&(n(v)||O(e))&&!n(E),universal:n(g),device:(n(f)||n(m)||n(v)||n(g)||O(e))&&!n(E)},amazon:{phone:n(x),tablet:!n(x)&&n(b),device:n(x)||n(b)},android:{phone:!n(E)&&n(x)||!n(E)&&n(y),tablet:!n(E)&&!n(x)&&!n(y)&&(n(b)||n(_)),device:!n(E)&&(n(x)||n(b)||n(y)||n(_))||n(/\bokhttp\b/i)},windows:{phone:n(E),tablet:n(T),device:n(E)||n(T)},other:{blackberry:n(S),blackberry10:n(w),opera:n(P),firefox:n(A),chrome:n(I),device:n(S)||n(w)||n(P)||n(A)||n(I)},any:!1,phone:!1,tablet:!1};return o.any=o.apple.device||o.android.device||o.windows.device||o.other.device,o.phone=o.apple.phone||o.android.phone||o.windows.phone,o.tablet=o.apple.tablet||o.android.tablet||o.windows.tablet,o}(window.navigator);var D={MIPMAP_TEXTURES:1,ANISOTROPIC_LEVEL:0,RESOLUTION:1,FILTER_RESOLUTION:1,SPRITE_MAX_TEXTURES:function(t){var e=!0;if(M.tablet||M.phone){var r;M.apple.device&&(r=navigator.userAgent.match(/OS (\d+)_(\d+)?/))&&parseInt(r[1],10)<11&&(e=!1),M.android.device&&(r=navigator.userAgent.match(/Android\s([0-9.]*)/))&&parseInt(r[1],10)<7&&(e=!1)}return e?t:4}(32),SPRITE_BATCH_SIZE:4096,RENDER_OPTIONS:{view:null,antialias:!1,autoDensity:!1,transparent:!1,backgroundColor:0,clearBeforeRender:!0,preserveDrawingBuffer:!1,width:800,height:600,legacy:!1},GC_MODE:0,GC_MAX_IDLE:3600,GC_MAX_CHECK_COUNT:600,WRAP_MODE:33071,SCALE_MODE:1,PRECISION_VERTEX:"highp",PRECISION_FRAGMENT:M.apple.device?"highp":"mediump",CAN_UPLOAD_SAME_BUFFER:!M.apple.device,CREATE_IMAGE_BITMAP:!1,ROUND_PIXELS:!1},C=r(function(t){var e=Object.prototype.hasOwnProperty,r="~";function i(){}function n(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function o(t,e,i,o,s){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new n(i,o||t,s),h=r?r+e:e;return t._events[h]?t._events[h].fn?t._events[h]=[t._events[h],a]:t._events[h].push(a):(t._events[h]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new i:delete t._events[e]}function a(){this._events=new i,this._eventsCount=0}Object.create&&(i.prototype=Object.create(null),(new i).__proto__||(r=!1)),a.prototype.eventNames=function(){var t,i,n=[];if(0===this._eventsCount)return n;for(i in t=this._events)e.call(t,i)&&n.push(r?i.slice(1):i);return Object.getOwnPropertySymbols?n.concat(Object.getOwnPropertySymbols(t)):n},a.prototype.listeners=function(t){var e=r?r+t:t,i=this._events[e];if(!i)return[];if(i.fn)return[i.fn];for(var n=0,o=i.length,s=new Array(o);n80*r){i=o=t[0],n=s=t[1];for(var f=r;fo&&(o=a),h>s&&(s=h);u=0!==(u=Math.max(o-i,s-n))?1/u:0}return U(d,p,r,i,n,u),p}function F(t,e,r,i,n){var o,s;if(n===st(t,e,r,i)>0)for(o=e;o=e;o-=i)s=it(o,t[o],t[o+1],s);return s&&J(s,s.next)&&(nt(s),s=s.next),s}function B(t,e){if(!t)return t;e||(e=t);var r,i=t;do{if(r=!1,i.steiner||!J(i,i.next)&&0!==Z(i.prev,i,i.next))i=i.next;else{if(nt(i),(i=e=i.prev)===i.next)break;r=!0}}while(r||i!==e);return e}function U(t,e,r,i,n,o,s){if(t){!s&&o&&function(t,e,r,i){var n=t;do{null===n.z&&(n.z=V(n.x,n.y,e,r,i)),n.prevZ=n.prev,n.nextZ=n.next,n=n.next}while(n!==t);n.prevZ.nextZ=null,n.prevZ=null,function(t){var e,r,i,n,o,s,a,h,u=1;do{for(r=t,t=null,o=null,s=0;r;){for(s++,i=r,a=0,e=0;e0||h>0&&i;)0!==a&&(0===h||!i||r.z<=i.z)?(n=r,r=r.nextZ,a--):(n=i,i=i.nextZ,h--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;r=i}o.nextZ=null,u*=2}while(s>1)}(n)}(t,i,n,o);for(var a,h,u=t;t.prev!==t.next;)if(a=t.prev,h=t.next,o?X(t,i,n,o):k(t))e.push(a.i/r),e.push(t.i/r),e.push(h.i/r),nt(t),t=h.next,u=h.next;else if((t=h)===u){s?1===s?U(t=j(B(t),e,r),e,r,i,n,o,2):2===s&&H(t,e,r,i,n,o):U(B(t),e,r,i,n,o,1);break}}}function k(t){var e=t.prev,r=t,i=t.next;if(Z(e,r,i)>=0)return!1;for(var n=t.next.next;n!==t.prev;){if(q(e.x,e.y,r.x,r.y,i.x,i.y,n.x,n.y)&&Z(n.prev,n,n.next)>=0)return!1;n=n.next}return!0}function X(t,e,r,i){var n=t.prev,o=t,s=t.next;if(Z(n,o,s)>=0)return!1;for(var a=n.xo.x?n.x>s.x?n.x:s.x:o.x>s.x?o.x:s.x,l=n.y>o.y?n.y>s.y?n.y:s.y:o.y>s.y?o.y:s.y,c=V(a,h,e,r,i),d=V(u,l,e,r,i),p=t.prevZ,f=t.nextZ;p&&p.z>=c&&f&&f.z<=d;){if(p!==t.prev&&p!==t.next&&q(n.x,n.y,o.x,o.y,s.x,s.y,p.x,p.y)&&Z(p.prev,p,p.next)>=0)return!1;if(p=p.prevZ,f!==t.prev&&f!==t.next&&q(n.x,n.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Z(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(;p&&p.z>=c;){if(p!==t.prev&&p!==t.next&&q(n.x,n.y,o.x,o.y,s.x,s.y,p.x,p.y)&&Z(p.prev,p,p.next)>=0)return!1;p=p.prevZ}for(;f&&f.z<=d;){if(f!==t.prev&&f!==t.next&&q(n.x,n.y,o.x,o.y,s.x,s.y,f.x,f.y)&&Z(f.prev,f,f.next)>=0)return!1;f=f.nextZ}return!0}function j(t,e,r){var i=t;do{var n=i.prev,o=i.next.next;!J(n,o)&&Q(n,i,i.next,o)&&et(n,o)&&et(o,n)&&(e.push(n.i/r),e.push(i.i/r),e.push(o.i/r),nt(i),nt(i.next),i=t=o),i=i.next}while(i!==t);return B(i)}function H(t,e,r,i,n,o){var s=t;do{for(var a=s.next.next;a!==s.prev;){if(s.i!==a.i&&K(s,a)){var h=rt(s,a);return s=B(s,s.next),h=B(h,h.next),U(s,e,r,i,n,o),void U(h,e,r,i,n,o)}a=a.next}s=s.next}while(s!==t)}function G(t,e){return t.x-e.x}function Y(t,e){var r=function(t,e){var r,i=e,n=t.x,o=t.y,s=-1/0;do{if(o<=i.y&&o>=i.next.y&&i.next.y!==i.y){var a=i.x+(o-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(a<=n&&a>s){if(s=a,a===n){if(o===i.y)return i;if(o===i.next.y)return i.next}r=i.x=i.x&&i.x>=l&&n!==i.x&&q(or.x||i.x===r.x&&z(r,i)))&&(r=i,d=h)),i=i.next}while(i!==u);return r}(t,e);if(!r)return e;var i=rt(r,t),n=B(r,r.next);return B(i,i.next),e===r?n:e}function z(t,e){return Z(t.prev,t,e.prev)<0&&Z(e.next,t,t.next)<0}function V(t,e,r,i,n){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-r)*n)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-i)*n)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function W(t){var e=t,r=t;do{(e.x=0&&(t-s)*(i-a)-(r-s)*(e-a)>=0&&(r-s)*(o-a)-(n-s)*(i-a)>=0}function K(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!function(t,e){var r=t;do{if(r.i!==t.i&&r.next.i!==t.i&&r.i!==e.i&&r.next.i!==e.i&&Q(r,r.next,t,e))return!0;r=r.next}while(r!==t);return!1}(t,e)&&(et(t,e)&&et(e,t)&&function(t,e){var r=t,i=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{r.y>o!=r.next.y>o&&r.next.y!==r.y&&n<(r.next.x-r.x)*(o-r.y)/(r.next.y-r.y)+r.x&&(i=!i),r=r.next}while(r!==t);return i}(t,e)&&(Z(t.prev,t,e.prev)||Z(t,e.prev,e))||J(t,e)&&Z(t.prev,t,t.next)>0&&Z(e.prev,e,e.next)>0)}function Z(t,e,r){return(e.y-t.y)*(r.x-e.x)-(e.x-t.x)*(r.y-e.y)}function J(t,e){return t.x===e.x&&t.y===e.y}function Q(t,e,r,i){var n=tt(Z(t,e,r)),o=tt(Z(t,e,i)),s=tt(Z(r,i,t)),a=tt(Z(r,i,e));return n!==o&&s!==a||(!(0!==n||!$(t,r,e))||(!(0!==o||!$(t,i,e))||(!(0!==s||!$(r,t,i))||!(0!==a||!$(r,e,i)))))}function $(t,e,r){return e.x<=Math.max(t.x,r.x)&&e.x>=Math.min(t.x,r.x)&&e.y<=Math.max(t.y,r.y)&&e.y>=Math.min(t.y,r.y)}function tt(t){return t>0?1:t<0?-1:0}function et(t,e){return Z(t.prev,t,t.next)<0?Z(t,e,t.next)>=0&&Z(t,t.prev,e)>=0:Z(t,e,t.prev)<0||Z(t,t.next,e)<0}function rt(t,e){var r=new ot(t.i,t.x,t.y),i=new ot(e.i,e.x,e.y),n=t.next,o=e.prev;return t.next=e,e.prev=t,r.next=n,n.prev=r,i.next=r,r.prev=i,o.next=i,i.prev=o,i}function it(t,e,r,i){var n=new ot(t,e,r);return i?(n.next=i.next,n.prev=i,i.next.prev=n,i.next=n):(n.prev=n,n.next=n),n}function nt(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function ot(t,e,r){this.i=t,this.x=e,this.y=r,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function st(t,e,r,i){for(var n=0,o=e,s=r-i;o0&&(i+=t[n-1].length,r.holes.push(i))}return r},R.default=L;var at=r(function(t,r){!function(i){var n=r&&!r.nodeType&&r,o=t&&!t.nodeType&&t,s="object"==typeof e&&e;s.global!==s&&s.window!==s&&s.self!==s||(i=s);var a,h,u=2147483647,l=36,c=1,d=26,p=38,f=700,m=72,v=128,g="-",y=/^xn--/,_=/[^\x20-\x7E]/,x=/[\x2E\u3002\uFF0E\uFF61]/g,b={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},E=l-c,T=Math.floor,S=String.fromCharCode;function w(t){throw RangeError(b[t])}function P(t,e){for(var r=t.length,i=[];r--;)i[r]=e(t[r]);return i}function I(t,e){var r=t.split("@"),i="";return r.length>1&&(i=r[0]+"@",t=r[1]),i+P((t=t.replace(x,".")).split("."),e).join(".")}function A(t){for(var e,r,i=[],n=0,o=t.length;n=55296&&e<=56319&&n65535&&(e+=S((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=S(t)}).join("")}function M(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function D(t,e,r){var i=0;for(t=r?T(t/f):t>>1,t+=T(t/e);t>E*d>>1;i+=l)t=T(t/E);return T(i+(E+1)*t/(t+p))}function C(t){var e,r,i,n,o,s,a,h,p,f,y,_=[],x=t.length,b=0,E=v,S=m;for((r=t.lastIndexOf(g))<0&&(r=0),i=0;i=128&&w("not-basic"),_.push(t.charCodeAt(i));for(n=r>0?r+1:0;n=x&&w("invalid-input"),((h=(y=t.charCodeAt(n++))-48<10?y-22:y-65<26?y-65:y-97<26?y-97:l)>=l||h>T((u-b)/s))&&w("overflow"),b+=h*s,!(h<(p=a<=S?c:a>=S+d?d:a-S));a+=l)s>T(u/(f=l-p))&&w("overflow"),s*=f;S=D(b-o,e=_.length+1,0==o),T(b/e)>u-E&&w("overflow"),E+=T(b/e),b%=e,_.splice(b++,0,E)}return O(_)}function R(t){var e,r,i,n,o,s,a,h,p,f,y,_,x,b,E,P=[];for(_=(t=A(t)).length,e=v,r=0,o=m,s=0;s<_;++s)(y=t[s])<128&&P.push(S(y));for(i=n=P.length,n&&P.push(g);i<_;){for(a=u,s=0;s<_;++s)(y=t[s])>=e&&yT((u-r)/(x=i+1))&&w("overflow"),r+=(a-e)*x,e=a,s=0;s<_;++s)if((y=t[s])u&&w("overflow"),y==e){for(h=r,p=l;!(h<(f=p<=o?c:p>=o+d?d:p-o));p+=l)E=h-f,b=l-f,P.push(S(M(f+E%b,0))),h=T(E/b);P.push(S(M(h,0))),o=D(r,x,i==n),r=0,++i}++r,++e}return P.join("")}if(a={version:"1.3.2",ucs2:{decode:A,encode:O},decode:C,encode:R,toASCII:function(t){return I(t,function(t){return _.test(t)?"xn--"+R(t):t})},toUnicode:function(t){return I(t,function(t){return y.test(t)?C(t.slice(4).toLowerCase()):t})}},n&&o)if(t.exports==n)o.exports=a;else for(h in a)a.hasOwnProperty(h)&&(n[h]=a[h]);else i.punycode=a}(e)}),ht={isString:function(t){return"string"==typeof t},isObject:function(t){return"object"==typeof t&&null!==t},isNull:function(t){return null===t},isNullOrUndefined:function(t){return null==t}};ht.isString,ht.isObject,ht.isNull,ht.isNullOrUndefined;function ut(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var lt=function(t,e,r,i){e=e||"&",r=r||"=";var n={};if("string"!=typeof t||0===t.length)return n;var o=/\+/g;t=t.split(e);var s=1e3;i&&"number"==typeof i.maxKeys&&(s=i.maxKeys);var a=t.length;s>0&&a>s&&(a=s);for(var h=0;h=0?(u=p.substr(0,f),l=p.substr(f+1)):(u=p,l=""),c=decodeURIComponent(u),d=decodeURIComponent(l),ut(n,c)?Array.isArray(n[c])?n[c].push(d):n[c]=[n[c],d]:n[c]=d}return n},ct=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}},dt=function(t,e,r,i){return e=e||"&",r=r||"=",null===t&&(t=void 0),"object"==typeof t?Object.keys(t).map(function(i){var n=encodeURIComponent(ct(i))+r;return Array.isArray(t[i])?t[i].map(function(t){return n+encodeURIComponent(ct(t))}).join(e):n+encodeURIComponent(ct(t[i]))}).join(e):i?encodeURIComponent(ct(i))+r+encodeURIComponent(ct(t)):""},pt=r(function(t,e){e.decode=e.parse=lt,e.encode=e.stringify=dt}),ft=(pt.decode,pt.parse,pt.encode,pt.stringify,Ct),mt=function(t,e){return Ct(t,!1,!0).resolve(e)},vt=function(t,e){if(!t)return e;return Ct(t,!1,!0).resolveObject(e)},gt=function(t){ht.isString(t)&&(t=Ct(t));if(!(t instanceof _t))return _t.prototype.format.call(t);return t.format()},yt=_t;function _t(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}var xt=/^([a-z0-9.+-]+:)/i,bt=/:[0-9]*$/,Et=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Tt=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r","\n","\t"]),St=["'"].concat(Tt),wt=["%","/","?",";","#"].concat(St),Pt=["/","?","#"],It=/^[+a-z0-9A-Z_-]{0,63}$/,At=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Ot={javascript:!0,"javascript:":!0},Mt={javascript:!0,"javascript:":!0},Dt={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function Ct(t,e,r){if(t&&ht.isObject(t)&&t instanceof _t)return t;var i=new _t;return i.parse(t,e,r),i}_t.prototype.parse=function(t,e,r){if(!ht.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var i=t.indexOf("?"),n=-1!==i&&i127?x+="x":x+=_[b];if(!x.match(It)){var T=g.slice(0,f),S=g.slice(f+1),w=_.match(At);w&&(T.push(w[1]),S.unshift(w[2])),S.length&&(s="/"+S.join(".")+s),this.hostname=T.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),v||(this.hostname=at.toASCII(this.hostname));var P=this.port?":"+this.port:"",I=this.hostname||"";this.host=I+P,this.href+=this.host,v&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),"/"!==s[0]&&(s="/"+s))}if(!Ot[u])for(f=0,y=St.length;f0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift());return r.search=t.search,r.query=t.query,ht.isNull(r.pathname)&&ht.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r}if(!_.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var b=_.slice(-1)[0],E=(r.host||t.host||_.length>1)&&("."===b||".."===b)||""===b,T=0,S=_.length;S>=0;S--)"."===(b=_[S])?_.splice(S,1):".."===b?(_.splice(S,1),T++):T&&(_.splice(S,1),T--);if(!g&&!y)for(;T--;T)_.unshift("..");!g||""===_[0]||_[0]&&"/"===_[0].charAt(0)||_.unshift(""),E&&"/"!==_.join("/").substr(-1)&&_.push("");var w,P=""===_[0]||_[0]&&"/"===_[0].charAt(0);x&&(r.hostname=r.host=P?"":_.length?_.shift():"",(w=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift()));return(g=g||r.host&&_.length)&&!P&&_.unshift(""),_.length?r.pathname=_.join("/"):(r.pathname=null,r.path=null),ht.isNull(r.pathname)&&ht.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},_t.prototype.parseHost=function(){var t=this.host,e=bt.exec(t);e&&(":"!==(e=e[0])&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)};var Rt={parse:ft,resolve:mt,resolveObject:vt,format:gt,Url:yt};!function(t){t[t.WEBGL_LEGACY=0]="WEBGL_LEGACY",t[t.WEBGL=1]="WEBGL",t[t.WEBGL2=2]="WEBGL2"}(t.ENV||(t.ENV={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.WEBGL=1]="WEBGL",t[t.CANVAS=2]="CANVAS"}(t.RENDERER_TYPE||(t.RENDERER_TYPE={})),function(t){t[t.COLOR=16384]="COLOR",t[t.DEPTH=256]="DEPTH",t[t.STENCIL=1024]="STENCIL"}(t.BUFFER_BITS||(t.BUFFER_BITS={})),function(t){t[t.NORMAL=0]="NORMAL",t[t.ADD=1]="ADD",t[t.MULTIPLY=2]="MULTIPLY",t[t.SCREEN=3]="SCREEN",t[t.OVERLAY=4]="OVERLAY",t[t.DARKEN=5]="DARKEN",t[t.LIGHTEN=6]="LIGHTEN",t[t.COLOR_DODGE=7]="COLOR_DODGE",t[t.COLOR_BURN=8]="COLOR_BURN",t[t.HARD_LIGHT=9]="HARD_LIGHT",t[t.SOFT_LIGHT=10]="SOFT_LIGHT",t[t.DIFFERENCE=11]="DIFFERENCE",t[t.EXCLUSION=12]="EXCLUSION",t[t.HUE=13]="HUE",t[t.SATURATION=14]="SATURATION",t[t.COLOR=15]="COLOR",t[t.LUMINOSITY=16]="LUMINOSITY",t[t.NORMAL_NPM=17]="NORMAL_NPM",t[t.ADD_NPM=18]="ADD_NPM",t[t.SCREEN_NPM=19]="SCREEN_NPM",t[t.NONE=20]="NONE",t[t.SRC_OVER=0]="SRC_OVER",t[t.SRC_IN=21]="SRC_IN",t[t.SRC_OUT=22]="SRC_OUT",t[t.SRC_ATOP=23]="SRC_ATOP",t[t.DST_OVER=24]="DST_OVER",t[t.DST_IN=25]="DST_IN",t[t.DST_OUT=26]="DST_OUT",t[t.DST_ATOP=27]="DST_ATOP",t[t.ERASE=26]="ERASE",t[t.SUBTRACT=28]="SUBTRACT",t[t.XOR=29]="XOR"}(t.BLEND_MODES||(t.BLEND_MODES={})),function(t){t[t.POINTS=0]="POINTS",t[t.LINES=1]="LINES",t[t.LINE_LOOP=2]="LINE_LOOP",t[t.LINE_STRIP=3]="LINE_STRIP",t[t.TRIANGLES=4]="TRIANGLES",t[t.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",t[t.TRIANGLE_FAN=6]="TRIANGLE_FAN"}(t.DRAW_MODES||(t.DRAW_MODES={})),function(t){t[t.RGBA=6408]="RGBA",t[t.RGB=6407]="RGB",t[t.ALPHA=6406]="ALPHA",t[t.LUMINANCE=6409]="LUMINANCE",t[t.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",t[t.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",t[t.DEPTH_STENCIL=34041]="DEPTH_STENCIL"}(t.FORMATS||(t.FORMATS={})),function(t){t[t.TEXTURE_2D=3553]="TEXTURE_2D",t[t.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",t[t.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",t[t.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",t[t.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",t[t.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",t[t.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",t[t.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z"}(t.TARGETS||(t.TARGETS={})),function(t){t[t.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",t[t.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",t[t.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",t[t.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",t[t.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",t[t.FLOAT=5126]="FLOAT",t[t.HALF_FLOAT=36193]="HALF_FLOAT"}(t.TYPES||(t.TYPES={})),function(t){t[t.NEAREST=0]="NEAREST",t[t.LINEAR=1]="LINEAR"}(t.SCALE_MODES||(t.SCALE_MODES={})),function(t){t[t.CLAMP=33071]="CLAMP",t[t.REPEAT=10497]="REPEAT",t[t.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT"}(t.WRAP_MODES||(t.WRAP_MODES={})),function(t){t[t.OFF=0]="OFF",t[t.POW2=1]="POW2",t[t.ON=2]="ON"}(t.MIPMAP_MODES||(t.MIPMAP_MODES={})),function(t){t[t.NPM=0]="NPM",t[t.UNPACK=1]="UNPACK",t[t.PMA=2]="PMA",t[t.NO_PREMULTIPLIED_ALPHA=0]="NO_PREMULTIPLIED_ALPHA",t[t.PREMULTIPLY_ON_UPLOAD=1]="PREMULTIPLY_ON_UPLOAD",t[t.PREMULTIPLY_ALPHA=2]="PREMULTIPLY_ALPHA"}(t.ALPHA_MODES||(t.ALPHA_MODES={})),function(t){t[t.NO=0]="NO",t[t.YES=1]="YES",t[t.AUTO=2]="AUTO",t[t.BLEND=0]="BLEND",t[t.CLEAR=1]="CLEAR",t[t.BLIT=2]="BLIT"}(t.CLEAR_MODES||(t.CLEAR_MODES={})),function(t){t[t.AUTO=0]="AUTO",t[t.MANUAL=1]="MANUAL"}(t.GC_MODES||(t.GC_MODES={})),function(t){t.LOW="lowp",t.MEDIUM="mediump",t.HIGH="highp"}(t.PRECISION||(t.PRECISION={})),function(t){t[t.NONE=0]="NONE",t[t.SCISSOR=1]="SCISSOR",t[t.STENCIL=2]="STENCIL",t[t.SPRITE=3]="SPRITE"}(t.MASK_TYPES||(t.MASK_TYPES={})),function(t){t[t.NONE=0]="NONE",t[t.LOW=2]="LOW",t[t.MEDIUM=4]="MEDIUM",t[t.HIGH=8]="HIGH"}(t.MSAA_QUALITY||(t.MSAA_QUALITY={})),D.RETINA_PREFIX=/@([0-9\.]+)x/,D.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT=!0;var Lt,Nt=!1,Ft="5.3.12";function Bt(t){var e;if(!Nt){if(navigator.userAgent.toLowerCase().indexOf("chrome")>-1){var r=["\n %c %c %c PixiJS "+Ft+" - ✰ "+t+" ✰ %c %c http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n","background: #ff66a5; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff66a5; background: #030307; padding:5px 0;","background: #ff66a5; padding:5px 0;","background: #ffc3dc; padding:5px 0;","background: #ff66a5; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;","color: #ff2424; background: #fff; padding:5px 0;"];(e=window.console).log.apply(e,r)}else window.console&&window.console.log("PixiJS "+Ft+" - "+t+" - http://www.pixijs.com/");Nt=!0}}function Ut(){return void 0===Lt&&(Lt=function(){var t={stencil:!0,failIfMajorPerformanceCaveat:D.FAIL_IF_MAJOR_PERFORMANCE_CAVEAT};try{if(!window.WebGLRenderingContext)return!1;var e=document.createElement("canvas"),r=e.getContext("webgl",t)||e.getContext("experimental-webgl",t),i=!(!r||!r.getContextAttributes().stencil);if(r){var n=r.getExtension("WEBGL_lose_context");n&&n.loseContext()}return r=null,i}catch(t){return!1}}()),Lt}function kt(t,e){return void 0===e&&(e=[]),e[0]=(t>>16&255)/255,e[1]=(t>>8&255)/255,e[2]=(255&t)/255,e}function Xt(t){var e=t.toString(16);return"#"+(e="000000".substr(0,6-e.length)+e)}function jt(t){return"string"==typeof t&&"#"===t[0]&&(t=t.substr(1)),parseInt(t,16)}function Ht(t){return(255*t[0]<<16)+(255*t[1]<<8)+(255*t[2]|0)}var Gt=function(){for(var e=[],r=[],i=0;i<32;i++)e[i]=i,r[i]=i;e[t.BLEND_MODES.NORMAL_NPM]=t.BLEND_MODES.NORMAL,e[t.BLEND_MODES.ADD_NPM]=t.BLEND_MODES.ADD,e[t.BLEND_MODES.SCREEN_NPM]=t.BLEND_MODES.SCREEN,r[t.BLEND_MODES.NORMAL]=t.BLEND_MODES.NORMAL_NPM,r[t.BLEND_MODES.ADD]=t.BLEND_MODES.ADD_NPM,r[t.BLEND_MODES.SCREEN]=t.BLEND_MODES.SCREEN_NPM;var n=[];return n.push(r),n.push(e),n}();function Yt(t,e){return Gt[e?1:0][t]}function zt(t,e,r,i){return r=r||new Float32Array(4),i||void 0===i?(r[0]=t[0]*e,r[1]=t[1]*e,r[2]=t[2]*e):(r[0]=t[0],r[1]=t[1],r[2]=t[2]),r[3]=e,r}function Vt(t,e){if(1===e)return(255*e<<24)+t;if(0===e)return 0;var r=t>>16&255,i=t>>8&255,n=255&t;return(255*e<<24)+((r=r*e+.5|0)<<16)+((i=i*e+.5|0)<<8)+(n=n*e+.5|0)}function Wt(t,e,r,i){return(r=r||new Float32Array(4))[0]=(t>>16&255)/255,r[1]=(t>>8&255)/255,r[2]=(255&t)/255,(i||void 0===i)&&(r[0]*=e,r[1]*=e,r[2]*=e),r[3]=e,r}function qt(t,e){void 0===e&&(e=null);var r=6*t;if((e=e||new Uint16Array(r)).length!==r)throw new Error("Out buffer length is incorrect, got "+e.length+" and expected "+r);for(var i=0,n=0;i>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)+1}function Qt(t){return!(t&t-1||!t)}function $t(t){var e=(t>65535?1:0)<<4,r=((t>>>=e)>255?1:0)<<3;return e|=r,e|=r=((t>>>=r)>15?1:0)<<2,(e|=r=((t>>>=r)>3?1:0)<<1)|(t>>>=r)>>1}function te(t,e,r){var i,n=t.length;if(!(e>=n||0===r)){var o=n-(r=e+r>n?n-e:r);for(i=e;i=this.x&&t=this.y&&ee!=u>e&&t<(e-a)/(u-a)*(h-s)+s&&(r=!r)}return r},e}(),Se=function(){function e(e,r,i,n,o){void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===o&&(o=20),this.x=e,this.y=r,this.width=i,this.height=n,this.radius=o,this.type=t.SHAPES.RREC}return e.prototype.clone=function(){return new e(this.x,this.y,this.width,this.height,this.radius)},e.prototype.contains=function(t,e){if(this.width<=0||this.height<=0)return!1;if(t>=this.x&&t<=this.x+this.width&&e>=this.y&&e<=this.y+this.height){if(e>=this.y+this.radius&&e<=this.y+this.height-this.radius||t>=this.x+this.radius&&t<=this.x+this.width-this.radius)return!0;var r=t-(this.x+this.radius),i=e-(this.y+this.radius),n=this.radius*this.radius;if(r*r+i*i<=n)return!0;if((r=t-(this.x+this.width-this.radius))*r+i*i<=n)return!0;if(r*r+(i=e-(this.y+this.height-this.radius))*i<=n)return!0;if((r=t-(this.x+this.radius))*r+i*i<=n)return!0}return!1},e}(),we=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.clone=function(){return new t(this.x,this.y)},t.prototype.copyFrom=function(t){return this.set(t.x,t.y),this},t.prototype.copyTo=function(t){return t.set(this.x,this.y),t},t.prototype.equals=function(t){return t.x===this.x&&t.y===this.y},t.prototype.set=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this.x=t,this.y=e,this},t}(),Pe=function(){function t(t,e,r,i){void 0===r&&(r=0),void 0===i&&(i=0),this._x=r,this._y=i,this.cb=t,this.scope=e}return t.prototype.clone=function(e,r){return void 0===e&&(e=this.cb),void 0===r&&(r=this.scope),new t(e,r,this._x,this._y)},t.prototype.set=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=t),this._x===t&&this._y===e||(this._x=t,this._y=e,this.cb.call(this.scope)),this},t.prototype.copyFrom=function(t){return this._x===t.x&&this._y===t.y||(this._x=t.x,this._y=t.y,this.cb.call(this.scope)),this},t.prototype.copyTo=function(t){return t.set(this._x,this._y),t},t.prototype.equals=function(t){return t.x===this._x&&t.y===this._y},Object.defineProperty(t.prototype,"x",{get:function(){return this._x},set:function(t){this._x!==t&&(this._x=t,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"y",{get:function(){return this._y},set:function(t){this._y!==t&&(this._y=t,this.cb.call(this.scope))},enumerable:!1,configurable:!0}),t}(),Ie=function(){function t(t,e,r,i,n,o){void 0===t&&(t=1),void 0===e&&(e=0),void 0===r&&(r=0),void 0===i&&(i=1),void 0===n&&(n=0),void 0===o&&(o=0),this.array=null,this.a=t,this.b=e,this.c=r,this.d=i,this.tx=n,this.ty=o}return t.prototype.fromArray=function(t){this.a=t[0],this.b=t[1],this.c=t[3],this.d=t[4],this.tx=t[2],this.ty=t[5]},t.prototype.set=function(t,e,r,i,n,o){return this.a=t,this.b=e,this.c=r,this.d=i,this.tx=n,this.ty=o,this},t.prototype.toArray=function(t,e){this.array||(this.array=new Float32Array(9));var r=e||this.array;return t?(r[0]=this.a,r[1]=this.b,r[2]=0,r[3]=this.c,r[4]=this.d,r[5]=0,r[6]=this.tx,r[7]=this.ty,r[8]=1):(r[0]=this.a,r[1]=this.c,r[2]=this.tx,r[3]=this.b,r[4]=this.d,r[5]=this.ty,r[6]=0,r[7]=0,r[8]=1),r},t.prototype.apply=function(t,e){e=e||new we;var r=t.x,i=t.y;return e.x=this.a*r+this.c*i+this.tx,e.y=this.b*r+this.d*i+this.ty,e},t.prototype.applyInverse=function(t,e){e=e||new we;var r=1/(this.a*this.d+this.c*-this.b),i=t.x,n=t.y;return e.x=this.d*r*i+-this.c*r*n+(this.ty*this.c-this.tx*this.d)*r,e.y=this.a*r*n+-this.b*r*i+(-this.ty*this.a+this.tx*this.b)*r,e},t.prototype.translate=function(t,e){return this.tx+=t,this.ty+=e,this},t.prototype.scale=function(t,e){return this.a*=t,this.d*=e,this.c*=t,this.b*=e,this.tx*=t,this.ty*=e,this},t.prototype.rotate=function(t){var e=Math.cos(t),r=Math.sin(t),i=this.a,n=this.c,o=this.tx;return this.a=i*e-this.b*r,this.b=i*r+this.b*e,this.c=n*e-this.d*r,this.d=n*r+this.d*e,this.tx=o*e-this.ty*r,this.ty=o*r+this.ty*e,this},t.prototype.append=function(t){var e=this.a,r=this.b,i=this.c,n=this.d;return this.a=t.a*e+t.b*i,this.b=t.a*r+t.b*n,this.c=t.c*e+t.d*i,this.d=t.c*r+t.d*n,this.tx=t.tx*e+t.ty*i+this.tx,this.ty=t.tx*r+t.ty*n+this.ty,this},t.prototype.setTransform=function(t,e,r,i,n,o,s,a,h){return this.a=Math.cos(s+h)*n,this.b=Math.sin(s+h)*n,this.c=-Math.sin(s-a)*o,this.d=Math.cos(s-a)*o,this.tx=t-(r*this.a+i*this.c),this.ty=e-(r*this.b+i*this.d),this},t.prototype.prepend=function(t){var e=this.tx;if(1!==t.a||0!==t.b||0!==t.c||1!==t.d){var r=this.a,i=this.c;this.a=r*t.a+this.b*t.c,this.b=r*t.b+this.b*t.d,this.c=i*t.a+this.d*t.c,this.d=i*t.b+this.d*t.d}return this.tx=e*t.a+this.ty*t.c+t.tx,this.ty=e*t.b+this.ty*t.d+t.ty,this},t.prototype.decompose=function(t){var e=this.a,r=this.b,i=this.c,n=this.d,o=-Math.atan2(-i,n),s=Math.atan2(r,e),a=Math.abs(o+s);return a<1e-5||Math.abs(ge-a)<1e-5?(t.rotation=s,t.skew.x=t.skew.y=0):(t.rotation=0,t.skew.x=o,t.skew.y=s),t.scale.x=Math.sqrt(e*e+r*r),t.scale.y=Math.sqrt(i*i+n*n),t.position.x=this.tx,t.position.y=this.ty,t},t.prototype.invert=function(){var t=this.a,e=this.b,r=this.c,i=this.d,n=this.tx,o=t*i-e*r;return this.a=i/o,this.b=-e/o,this.c=-r/o,this.d=t/o,this.tx=(r*this.ty-i*n)/o,this.ty=-(t*this.ty-e*n)/o,this},t.prototype.identity=function(){return this.a=1,this.b=0,this.c=0,this.d=1,this.tx=0,this.ty=0,this},t.prototype.clone=function(){var e=new t;return e.a=this.a,e.b=this.b,e.c=this.c,e.d=this.d,e.tx=this.tx,e.ty=this.ty,e},t.prototype.copyTo=function(t){return t.a=this.a,t.b=this.b,t.c=this.c,t.d=this.d,t.tx=this.tx,t.ty=this.ty,t},t.prototype.copyFrom=function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},Object.defineProperty(t,"IDENTITY",{get:function(){return new t},enumerable:!1,configurable:!0}),Object.defineProperty(t,"TEMP_MATRIX",{get:function(){return new t},enumerable:!1,configurable:!0}),t}(),Ae=[1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1,0,1],Oe=[0,1,1,1,0,-1,-1,-1,0,1,1,1,0,-1,-1,-1],Me=[0,-1,-1,-1,0,1,1,1,0,1,1,1,0,-1,-1,-1],De=[1,1,0,-1,-1,-1,0,1,-1,-1,0,1,1,1,0,-1],Ce=[],Re=[],Le=Math.sign;!function(){for(var t=0;t<16;t++){var e=[];Ce.push(e);for(var r=0;r<16;r++)for(var i=Le(Ae[t]*Ae[r]+Me[t]*Oe[r]),n=Le(Oe[t]*Ae[r]+De[t]*Oe[r]),o=Le(Ae[t]*Me[r]+Me[t]*De[r]),s=Le(Oe[t]*Me[r]+De[t]*De[r]),a=0;a<16;a++)if(Ae[a]===i&&Oe[a]===n&&Me[a]===o&&De[a]===s){e.push(a);break}}for(t=0;t<16;t++){var h=new Ie;h.set(Ae[t],Oe[t],Me[t],De[t],0,0),Re.push(h)}}();var Ne={E:0,SE:1,S:2,SW:3,W:4,NW:5,N:6,NE:7,MIRROR_VERTICAL:8,MAIN_DIAGONAL:10,MIRROR_HORIZONTAL:12,REVERSE_DIAGONAL:14,uX:function(t){return Ae[t]},uY:function(t){return Oe[t]},vX:function(t){return Me[t]},vY:function(t){return De[t]},inv:function(t){return 8&t?15&t:7&-t},add:function(t,e){return Ce[t][e]},sub:function(t,e){return Ce[t][Ne.inv(e)]},rotate180:function(t){return 4^t},isVertical:function(t){return 2==(3&t)},byDirection:function(t,e){return 2*Math.abs(t)<=Math.abs(e)?e>=0?Ne.S:Ne.N:2*Math.abs(e)<=Math.abs(t)?t>0?Ne.E:Ne.W:e>0?t>0?Ne.SE:Ne.SW:t>0?Ne.NE:Ne.NW},matrixAppendRotationInv:function(t,e,r,i){void 0===r&&(r=0),void 0===i&&(i=0);var n=Re[Ne.inv(e)];n.tx=r,n.ty=i,t.append(n)}},Fe=function(){function t(){this.worldTransform=new Ie,this.localTransform=new Ie,this.position=new Pe(this.onChange,this,0,0),this.scale=new Pe(this.onChange,this,1,1),this.pivot=new Pe(this.onChange,this,0,0),this.skew=new Pe(this.updateSkew,this,0,0),this._rotation=0,this._cx=1,this._sx=0,this._cy=0,this._sy=1,this._localID=0,this._currentLocalID=0,this._worldID=0,this._parentID=0}return t.prototype.onChange=function(){this._localID++},t.prototype.updateSkew=function(){this._cx=Math.cos(this._rotation+this.skew.y),this._sx=Math.sin(this._rotation+this.skew.y),this._cy=-Math.sin(this._rotation-this.skew.x),this._sy=Math.cos(this._rotation-this.skew.x),this._localID++},t.prototype.updateLocalTransform=function(){var t=this.localTransform;this._localID!==this._currentLocalID&&(t.a=this._cx*this.scale.x,t.b=this._sx*this.scale.x,t.c=this._cy*this.scale.y,t.d=this._sy*this.scale.y,t.tx=this.position.x-(this.pivot.x*t.a+this.pivot.y*t.c),t.ty=this.position.y-(this.pivot.x*t.b+this.pivot.y*t.d),this._currentLocalID=this._localID,this._parentID=-1)},t.prototype.updateTransform=function(t){var e=this.localTransform;if(this._localID!==this._currentLocalID&&(e.a=this._cx*this.scale.x,e.b=this._sx*this.scale.x,e.c=this._cy*this.scale.y,e.d=this._sy*this.scale.y,e.tx=this.position.x-(this.pivot.x*e.a+this.pivot.y*e.c),e.ty=this.position.y-(this.pivot.x*e.b+this.pivot.y*e.d),this._currentLocalID=this._localID,this._parentID=-1),this._parentID!==t._worldID){var r=t.worldTransform,i=this.worldTransform;i.a=e.a*r.a+e.b*r.c,i.b=e.a*r.b+e.b*r.d,i.c=e.c*r.a+e.d*r.c,i.d=e.c*r.b+e.d*r.d,i.tx=e.tx*r.a+e.ty*r.c+r.tx,i.ty=e.tx*r.b+e.ty*r.d+r.ty,this._parentID=t._worldID,this._worldID++}},t.prototype.setFromMatrix=function(t){t.decompose(this),this._localID++},Object.defineProperty(t.prototype,"rotation",{get:function(){return this._rotation},set:function(t){this._rotation!==t&&(this._rotation=t,this.updateSkew())},enumerable:!1,configurable:!0}),t.IDENTITY=new t,t}();D.SORTABLE_CHILDREN=!1;var Be=function(){function t(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,this.rect=null,this.updateID=-1}return t.prototype.isEmpty=function(){return this.minX>this.maxX||this.minY>this.maxY},t.prototype.clear=function(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0},t.prototype.getRectangle=function(t){return this.minX>this.maxX||this.minY>this.maxY?xe.EMPTY:((t=t||new xe(0,0,1,1)).x=this.minX,t.y=this.minY,t.width=this.maxX-this.minX,t.height=this.maxY-this.minY,t)},t.prototype.addPoint=function(t){this.minX=Math.min(this.minX,t.x),this.maxX=Math.max(this.maxX,t.x),this.minY=Math.min(this.minY,t.y),this.maxY=Math.max(this.maxY,t.y)},t.prototype.addQuad=function(t){var e=this.minX,r=this.minY,i=this.maxX,n=this.maxY,o=t[0],s=t[1];e=oi?o:i,n=s>n?s:n,e=(o=t[2])i?o:i,n=s>n?s:n,e=(o=t[4])i?o:i,n=s>n?s:n,e=(o=t[6])i?o:i,n=s>n?s:n,this.minX=e,this.minY=r,this.maxX=i,this.maxY=n},t.prototype.addFrame=function(t,e,r,i,n){this.addFrameMatrix(t.worldTransform,e,r,i,n)},t.prototype.addFrameMatrix=function(t,e,r,i,n){var o=t.a,s=t.b,a=t.c,h=t.d,u=t.tx,l=t.ty,c=this.minX,d=this.minY,p=this.maxX,f=this.maxY,m=o*e+a*r+u,v=s*e+h*r+l;c=mp?m:p,f=v>f?v:f,c=(m=o*i+a*r+u)p?m:p,f=v>f?v:f,c=(m=o*e+a*n+u)p?m:p,f=v>f?v:f,c=(m=o*i+a*n+u)p?m:p,f=v>f?v:f,this.minX=c,this.minY=d,this.maxX=p,this.maxY=f},t.prototype.addVertexData=function(t,e,r){for(var i=this.minX,n=this.minY,o=this.maxX,s=this.maxY,a=e;ao?h:o,s=u>s?u:s}this.minX=i,this.minY=n,this.maxX=o,this.maxY=s},t.prototype.addVertices=function(t,e,r,i){this.addVerticesMatrix(t.worldTransform,e,r,i)},t.prototype.addVerticesMatrix=function(t,e,r,i,n,o){void 0===n&&(n=0),void 0===o&&(o=n);for(var s=t.a,a=t.b,h=t.c,u=t.d,l=t.tx,c=t.ty,d=this.minX,p=this.minY,f=this.maxX,m=this.maxY,v=r;vi?t.maxX:i,this.maxY=t.maxY>n?t.maxY:n},t.prototype.addBoundsMask=function(t,e){var r=t.minX>e.minX?t.minX:e.minX,i=t.minY>e.minY?t.minY:e.minY,n=t.maxXh?n:h,this.maxY=o>u?o:u}},t.prototype.addBoundsMatrix=function(t,e){this.addFrameMatrix(e,t.minX,t.minY,t.maxX,t.maxY)},t.prototype.addBoundsArea=function(t,e){var r=t.minX>e.x?t.minX:e.x,i=t.minY>e.y?t.minY:e.y,n=t.maxXh?n:h,this.maxY=o>u?o:u}},t.prototype.pad=function(t,e){void 0===t&&(t=0),void 0===e&&(e=t),this.isEmpty()||(this.minX-=t,this.maxX+=t,this.minY-=e,this.maxY+=e)},t.prototype.addFramePad=function(t,e,r,i,n,o){t-=n,e-=o,r+=n,i+=o,this.minX=this.minXr?this.maxX:r,this.minY=this.minYi?this.maxY:i},t}(),Ue=function(t,e){return(Ue=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function ke(t,e){function r(){this.constructor=t}Ue(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var Xe=function(t){function e(){var e=t.call(this)||this;return e.tempDisplayObjectParent=null,e.transform=new Fe,e.alpha=1,e.visible=!0,e.renderable=!0,e.parent=null,e.worldAlpha=1,e._lastSortedIndex=0,e._zIndex=0,e.filterArea=null,e.filters=null,e._enabledFilters=null,e._bounds=new Be,e._localBounds=null,e._boundsID=0,e._boundsRect=null,e._localBoundsRect=null,e._mask=null,e._destroyed=!1,e.isSprite=!1,e.isMask=!1,e}return ke(e,t),e.mixin=function(t){for(var r=Object.keys(t),i=0;i1)for(var i=0;ithis.children.length)throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length);return t.parent&&t.parent.removeChild(t),t.parent=this,this.sortDirty=!0,t.transform._parentID=-1,this.children.splice(e,0,t),this._boundsID++,this.onChildrenChange(e),t.emit("added",this),this.emit("childAdded",t,this,e),t},e.prototype.swapChildren=function(t,e){if(t!==e){var r=this.getChildIndex(t),i=this.getChildIndex(e);this.children[r]=e,this.children[i]=t,this.onChildrenChange(r=this.children.length)throw new Error("The index "+e+" supplied is out of bounds "+this.children.length);var r=this.getChildIndex(t);te(this.children,r,1),this.children.splice(e,0,t),this.onChildrenChange(e)},e.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Index ("+t+") does not exist.");return this.children[t]},e.prototype.removeChild=function(){for(var t=arguments,e=[],r=0;r1)for(var i=0;i0&&n<=e){r=this.children.splice(i,n);for(var o=0;o1&&this.children.sort(He),this.sortDirty=!1},e.prototype.updateTransform=function(){this.sortableChildren&&this.sortDirty&&this.sortChildren(),this._boundsID++,this.transform.updateTransform(this.parent.transform),this.worldAlpha=this.alpha*this.parent.worldAlpha;for(var t=0,e=this.children.length;t title : "+t.title+"
tabIndex: "+t.tabIndex},t.prototype.capHitArea=function(t){t.x<0&&(t.width+=t.x,t.x=0),t.y<0&&(t.height+=t.y,t.y=0),t.x+t.width>this.renderer.width&&(t.width=this.renderer.width-t.x),t.y+t.height>this.renderer.height&&(t.height=this.renderer.height-t.y)},t.prototype.addChild=function(t){var e=this.pool.pop();e||((e=document.createElement("button")).style.width=Ve+"px",e.style.height=Ve+"px",e.style.backgroundColor=this.debug?"rgba(255,255,255,0.5)":"transparent",e.style.position="absolute",e.style.zIndex=Ke.toString(),e.style.borderStyle="none",navigator.userAgent.toLowerCase().indexOf("chrome")>-1?e.setAttribute("aria-live","off"):e.setAttribute("aria-live","polite"),navigator.userAgent.match(/rv:.*Gecko\//)?e.setAttribute("aria-relevant","additions"):e.setAttribute("aria-relevant","text"),e.addEventListener("click",this._onClick.bind(this)),e.addEventListener("focus",this._onFocus.bind(this)),e.addEventListener("focusout",this._onFocusOut.bind(this))),e.style.pointerEvents=t.accessiblePointerEvents,e.type=t.accessibleType,t.accessibleTitle&&null!==t.accessibleTitle?e.title=t.accessibleTitle:t.accessibleHint&&null!==t.accessibleHint||(e.title="displayObject "+t.tabIndex),t.accessibleHint&&null!==t.accessibleHint&&e.setAttribute("aria-label",t.accessibleHint),this.debug&&this.updateDebugHTML(e),t._accessibleActive=!0,t._accessibleDiv=e,e.displayObject=t,this.children.push(t),this.div.appendChild(t._accessibleDiv),t._accessibleDiv.tabIndex=t.tabIndex},t.prototype._onClick=function(t){var e=this.renderer.plugins.interaction;e.dispatchEvent(t.target.displayObject,"click",e.eventData),e.dispatchEvent(t.target.displayObject,"pointertap",e.eventData),e.dispatchEvent(t.target.displayObject,"tap",e.eventData)},t.prototype._onFocus=function(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","assertive");var e=this.renderer.plugins.interaction;e.dispatchEvent(t.target.displayObject,"mouseover",e.eventData)},t.prototype._onFocusOut=function(t){t.target.getAttribute("aria-live")||t.target.setAttribute("aria-live","polite");var e=this.renderer.plugins.interaction;e.dispatchEvent(t.target.displayObject,"mouseout",e.eventData)},t.prototype._onKeyDown=function(t){9===t.keyCode&&this.activate()},t.prototype._onMouseMove=function(t){0===t.movementX&&0===t.movementY||this.deactivate()},t.prototype.destroy=function(){this.destroyTouchHook(),this.div=null,window.document.removeEventListener("mousemove",this._onMouseMove,!0),window.removeEventListener("keydown",this._onKeyDown),this.pool=null,this.children=null,this.renderer=null},t}();D.TARGET_FPMS=.06,(ze=t.UPDATE_PRIORITY||(t.UPDATE_PRIORITY={}))[ze.INTERACTION=50]="INTERACTION",ze[ze.HIGH=25]="HIGH",ze[ze.NORMAL=0]="NORMAL",ze[ze.LOW=-25]="LOW",ze[ze.UTILITY=-50]="UTILITY";var Je=function(){function t(t,e,r,i){void 0===e&&(e=null),void 0===r&&(r=0),void 0===i&&(i=!1),this.fn=t,this.context=e,this.priority=r,this.once=i,this.next=null,this.previous=null,this._destroyed=!1}return t.prototype.match=function(t,e){return void 0===e&&(e=null),this.fn===t&&this.context===e},t.prototype.emit=function(t){this.fn&&(this.context?this.fn.call(this.context,t):this.fn(t));var e=this.next;return this.once&&this.destroy(!0),this._destroyed&&(this.next=null),e},t.prototype.connect=function(t){this.previous=t,t.next&&(t.next.previous=this),this.next=t.next,t.next=this},t.prototype.destroy=function(t){void 0===t&&(t=!1),this._destroyed=!0,this.fn=null,this.context=null,this.previous&&(this.previous.next=this.next),this.next&&(this.next.previous=this.previous);var e=this.next;return this.next=t?null:e,this.previous=null,e},t}(),Qe=function(){function e(){var t=this;this._head=new Je(null,null,1/0),this._requestId=null,this._maxElapsedMS=100,this._minElapsedMS=0,this.autoStart=!1,this.deltaTime=1,this.deltaMS=1/D.TARGET_FPMS,this.elapsedMS=1/D.TARGET_FPMS,this.lastTime=-1,this.speed=1,this.started=!1,this._protected=!1,this._lastFrame=-1,this._tick=function(e){t._requestId=null,t.started&&(t.update(e),t.started&&null===t._requestId&&t._head.next&&(t._requestId=requestAnimationFrame(t._tick)))}}return e.prototype._requestIfNeeded=function(){null===this._requestId&&this._head.next&&(this.lastTime=performance.now(),this._lastFrame=this.lastTime,this._requestId=requestAnimationFrame(this._tick))},e.prototype._cancelIfNeeded=function(){null!==this._requestId&&(cancelAnimationFrame(this._requestId),this._requestId=null)},e.prototype._startIfPossible=function(){this.started?this._requestIfNeeded():this.autoStart&&this.start()},e.prototype.add=function(e,r,i){return void 0===i&&(i=t.UPDATE_PRIORITY.NORMAL),this._addListener(new Je(e,r,i))},e.prototype.addOnce=function(e,r,i){return void 0===i&&(i=t.UPDATE_PRIORITY.NORMAL),this._addListener(new Je(e,r,i,!0))},e.prototype._addListener=function(t){var e=this._head.next,r=this._head;if(e){for(;e;){if(t.priority>e.priority){t.connect(r);break}r=e,e=e.next}t.previous||t.connect(r)}else t.connect(r);return this._startIfPossible(),this},e.prototype.remove=function(t,e){for(var r=this._head.next;r;)r=r.match(t,e)?r.destroy():r.next;return this._head.next||this._cancelIfNeeded(),this},Object.defineProperty(e.prototype,"count",{get:function(){if(!this._head)return 0;for(var t=0,e=this._head;e=e.next;)t++;return t},enumerable:!1,configurable:!0}),e.prototype.start=function(){this.started||(this.started=!0,this._requestIfNeeded())},e.prototype.stop=function(){this.started&&(this.started=!1,this._cancelIfNeeded())},e.prototype.destroy=function(){if(!this._protected){this.stop();for(var t=this._head.next;t;)t=t.destroy(!0);this._head.destroy(),this._head=null}},e.prototype.update=function(t){var e;if(void 0===t&&(t=performance.now()),t>this.lastTime){if((e=this.elapsedMS=t-this.lastTime)>this._maxElapsedMS&&(e=this._maxElapsedMS),e*=this.speed,this._minElapsedMS){var r=t-this._lastFrame|0;if(r=0;l--){var c=u[l],d=this.recursiveFindHit(t,c,r,i,a);if(d){if(!c.parent)continue;a=!1,d&&(t.target&&(i=!1),s=!0)}}return n&&(i&&!t.target&&!e.hitArea&&e.containsPoint&&e.containsPoint(o)&&(s=!0),e.interactive&&(s&&!t.target&&(t.target=e),r&&r(t,e,!!s))),s},t.prototype.findHit=function(t,e,r,i){this.recursiveFindHit(t,e,r,i,!1)},t}(),or={interactive:!1,interactiveChildren:!0,hitArea:null,get buttonMode(){return"pointer"===this.cursor},set buttonMode(t){t?this.cursor="pointer":"pointer"===this.cursor&&(this.cursor=null)},cursor:null,get trackedPointers(){return void 0===this._trackedPointers&&(this._trackedPointers={}),this._trackedPointers},_trackedPointers:void 0};Xe.mixin(or);var sr=1,ar={target:null,data:{global:null}},hr=function(e){function r(t,r){var i=e.call(this)||this;return r=r||{},i.renderer=t,i.autoPreventDefault=void 0===r.autoPreventDefault||r.autoPreventDefault,i.interactionFrequency=r.interactionFrequency||10,i.mouse=new tr,i.mouse.identifier=sr,i.mouse.global.set(-999999),i.activeInteractionData={},i.activeInteractionData[sr]=i.mouse,i.interactionDataPool=[],i.eventData=new rr,i.interactionDOMElement=null,i.moveWhenInside=!1,i.eventsAdded=!1,i.tickerAdded=!1,i.mouseOverRenderer=!1,i.supportsTouchEvents="ontouchstart"in window,i.supportsPointerEvents=!!window.PointerEvent,i.onPointerUp=i.onPointerUp.bind(i),i.processPointerUp=i.processPointerUp.bind(i),i.onPointerCancel=i.onPointerCancel.bind(i),i.processPointerCancel=i.processPointerCancel.bind(i),i.onPointerDown=i.onPointerDown.bind(i),i.processPointerDown=i.processPointerDown.bind(i),i.onPointerMove=i.onPointerMove.bind(i),i.processPointerMove=i.processPointerMove.bind(i),i.onPointerOut=i.onPointerOut.bind(i),i.processPointerOverOut=i.processPointerOverOut.bind(i),i.onPointerOver=i.onPointerOver.bind(i),i.cursorStyles={default:"inherit",pointer:"pointer"},i.currentCursorMode=null,i.cursor=null,i.resolution=1,i.delayedEvents=[],i.search=new nr,i._tempDisplayObject=new je,i._useSystemTicker=void 0===r.useSystemTicker||r.useSystemTicker,i.setTargetElement(i.renderer.view,i.renderer.resolution),i}return function(t,e){function r(){this.constructor=t}er(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(r,e),Object.defineProperty(r.prototype,"useSystemTicker",{get:function(){return this._useSystemTicker},set:function(t){this._useSystemTicker=t,t?this.addTickerListener():this.removeTickerListener()},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"lastObjectRendered",{get:function(){return this.renderer._lastObjectRendered||this._tempDisplayObject},enumerable:!1,configurable:!0}),r.prototype.hitTest=function(t,e){return ar.target=null,ar.data.global=t,e||(e=this.lastObjectRendered),this.processInteractive(ar,e,null,!0),ar.target},r.prototype.setTargetElement=function(t,e){void 0===e&&(e=1),this.removeTickerListener(),this.removeEvents(),this.interactionDOMElement=t,this.resolution=e,this.addEvents(),this.addTickerListener()},r.prototype.addTickerListener=function(){!this.tickerAdded&&this.interactionDOMElement&&this._useSystemTicker&&(Qe.system.add(this.tickerUpdate,this,t.UPDATE_PRIORITY.INTERACTION),this.tickerAdded=!0)},r.prototype.removeTickerListener=function(){this.tickerAdded&&(Qe.system.remove(this.tickerUpdate,this),this.tickerAdded=!1)},r.prototype.addEvents=function(){if(!this.eventsAdded&&this.interactionDOMElement){var t=this.interactionDOMElement.style;window.navigator.msPointerEnabled?(t.msContentZooming="none",t.msTouchAction="none"):this.supportsPointerEvents&&(t.touchAction="none"),this.supportsPointerEvents?(window.document.addEventListener("pointermove",this.onPointerMove,!0),this.interactionDOMElement.addEventListener("pointerdown",this.onPointerDown,!0),this.interactionDOMElement.addEventListener("pointerleave",this.onPointerOut,!0),this.interactionDOMElement.addEventListener("pointerover",this.onPointerOver,!0),window.addEventListener("pointercancel",this.onPointerCancel,!0),window.addEventListener("pointerup",this.onPointerUp,!0)):(window.document.addEventListener("mousemove",this.onPointerMove,!0),this.interactionDOMElement.addEventListener("mousedown",this.onPointerDown,!0),this.interactionDOMElement.addEventListener("mouseout",this.onPointerOut,!0),this.interactionDOMElement.addEventListener("mouseover",this.onPointerOver,!0),window.addEventListener("mouseup",this.onPointerUp,!0)),this.supportsTouchEvents&&(this.interactionDOMElement.addEventListener("touchstart",this.onPointerDown,!0),this.interactionDOMElement.addEventListener("touchcancel",this.onPointerCancel,!0),this.interactionDOMElement.addEventListener("touchend",this.onPointerUp,!0),this.interactionDOMElement.addEventListener("touchmove",this.onPointerMove,!0)),this.eventsAdded=!0}},r.prototype.removeEvents=function(){if(this.eventsAdded&&this.interactionDOMElement){var t=this.interactionDOMElement.style;window.navigator.msPointerEnabled?(t.msContentZooming="",t.msTouchAction=""):this.supportsPointerEvents&&(t.touchAction=""),this.supportsPointerEvents?(window.document.removeEventListener("pointermove",this.onPointerMove,!0),this.interactionDOMElement.removeEventListener("pointerdown",this.onPointerDown,!0),this.interactionDOMElement.removeEventListener("pointerleave",this.onPointerOut,!0),this.interactionDOMElement.removeEventListener("pointerover",this.onPointerOver,!0),window.removeEventListener("pointercancel",this.onPointerCancel,!0),window.removeEventListener("pointerup",this.onPointerUp,!0)):(window.document.removeEventListener("mousemove",this.onPointerMove,!0),this.interactionDOMElement.removeEventListener("mousedown",this.onPointerDown,!0),this.interactionDOMElement.removeEventListener("mouseout",this.onPointerOut,!0),this.interactionDOMElement.removeEventListener("mouseover",this.onPointerOver,!0),window.removeEventListener("mouseup",this.onPointerUp,!0)),this.supportsTouchEvents&&(this.interactionDOMElement.removeEventListener("touchstart",this.onPointerDown,!0),this.interactionDOMElement.removeEventListener("touchcancel",this.onPointerCancel,!0),this.interactionDOMElement.removeEventListener("touchend",this.onPointerUp,!0),this.interactionDOMElement.removeEventListener("touchmove",this.onPointerMove,!0)),this.interactionDOMElement=null,this.eventsAdded=!1}},r.prototype.tickerUpdate=function(t){this._deltaTime+=t,this._deltaTime8)throw new Error("max arguments reached");var h=this.name,u=this.items;this._aliasCount++;for(var l=0,c=u.length;l0&&this.items.length>1&&(this._aliasCount=0,this.items=this.items.slice(0))},t.prototype.add=function(t){return t[this._name]&&(this.ensureNonAliasedItems(),this.remove(t),this.items.push(t)),this},t.prototype.remove=function(t){var e=this.items.indexOf(t);return-1!==e&&(this.ensureNonAliasedItems(),this.items.splice(e,1)),this},t.prototype.contains=function(t){return-1!==this.items.indexOf(t)},t.prototype.removeAll=function(){return this.ensureNonAliasedItems(),this.items.length=0,this},t.prototype.destroy=function(){this.removeAll(),this.items=null,this._name=null},Object.defineProperty(t.prototype,"empty",{get:function(){return 0===this.items.length},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),t}();Object.defineProperties(ur.prototype,{dispatch:{value:ur.prototype.emit},run:{value:ur.prototype.emit}}),D.PREFER_ENV=M.any?t.ENV.WEBGL:t.ENV.WEBGL2,D.STRICT_TEXTURE_CACHE=!1;var lr=[];function cr(t,e){if(!t)return null;var r="";if("string"==typeof t){var i=/\.(\w{3,4})(?:$|\?|#)/i.exec(t);i&&(r=i[1].toLowerCase())}for(var n=lr.length-1;n>=0;--n){var o=lr[n];if(o.test&&o.test(t,r))return new o(t,e)}throw new Error("Unrecognized source type to auto-detect Resource")}var dr=function(t,e){return(dr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function pr(t,e){function r(){this.constructor=t}dr(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var fr=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._width=t,this._height=e,this.destroyed=!1,this.internal=!1,this.onResize=new ur("setRealSize"),this.onUpdate=new ur("update"),this.onError=new ur("onError")}return t.prototype.bind=function(t){this.onResize.add(t),this.onUpdate.add(t),this.onError.add(t),(this._width||this._height)&&this.onResize.emit(this._width,this._height)},t.prototype.unbind=function(t){this.onResize.remove(t),this.onUpdate.remove(t),this.onError.remove(t)},t.prototype.resize=function(t,e){t===this._width&&e===this._height||(this._width=t,this._height=e,this.onResize.emit(t,e))},Object.defineProperty(t.prototype,"valid",{get:function(){return!!this._width&&!!this._height},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.destroyed||this.onUpdate.emit()},t.prototype.load=function(){return Promise.resolve(this)},Object.defineProperty(t.prototype,"width",{get:function(){return this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"height",{get:function(){return this._height},enumerable:!1,configurable:!0}),t.prototype.style=function(t,e,r){return!1},t.prototype.dispose=function(){},t.prototype.destroy=function(){this.destroyed||(this.destroyed=!0,this.dispose(),this.onError.removeAll(),this.onError=null,this.onResize.removeAll(),this.onResize=null,this.onUpdate.removeAll(),this.onUpdate=null)},t.test=function(t,e){return!1},t}(),mr=function(e){function r(t,r){var i=this,n=r||{},o=n.width,s=n.height;if(!o||!s)throw new Error("BufferResource width or height invalid");return(i=e.call(this,o,s)||this).data=t,i}return pr(r,e),r.prototype.upload=function(e,r,i){var n=e.gl;return n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===t.ALPHA_MODES.UNPACK),i.width===r.width&&i.height===r.height?n.texSubImage2D(r.target,0,0,0,r.width,r.height,r.format,r.type,this.data):(i.width=r.width,i.height=r.height,n.texImage2D(r.target,0,i.internalFormat,r.width,r.height,0,r.format,i.type,this.data)),!0},r.prototype.dispose=function(){this.data=null},r.test=function(t){return t instanceof Float32Array||t instanceof Uint8Array||t instanceof Uint32Array},r}(fr),vr={scaleMode:t.SCALE_MODES.NEAREST,format:t.FORMATS.RGBA,alphaMode:t.ALPHA_MODES.NPM},gr=function(e){function r(r,i){void 0===r&&(r=null),void 0===i&&(i=null);var n=e.call(this)||this,o=(i=i||{}).alphaMode,s=i.mipmap,a=i.anisotropicLevel,h=i.scaleMode,u=i.width,l=i.height,c=i.wrapMode,d=i.format,p=i.type,f=i.target,m=i.resolution,v=i.resourceOptions;return!r||r instanceof fr||((r=cr(r,v)).internal=!0),n.width=u||0,n.height=l||0,n.resolution=m||D.RESOLUTION,n.mipmap=void 0!==s?s:D.MIPMAP_TEXTURES,n.anisotropicLevel=void 0!==a?a:D.ANISOTROPIC_LEVEL,n.wrapMode=c||D.WRAP_MODE,n.scaleMode=void 0!==h?h:D.SCALE_MODE,n.format=d||t.FORMATS.RGBA,n.type=p||t.TYPES.UNSIGNED_BYTE,n.target=f||t.TARGETS.TEXTURE_2D,n.alphaMode=void 0!==o?o:t.ALPHA_MODES.UNPACK,void 0!==i.premultiplyAlpha&&(n.premultiplyAlpha=i.premultiplyAlpha),n.uid=ie(),n.touched=0,n.isPowerOfTwo=!1,n._refreshPOT(),n._glTextures={},n.dirtyId=0,n.dirtyStyleId=0,n.cacheId=null,n.valid=u>0&&l>0,n.textureCacheIds=[],n.destroyed=!1,n.resource=null,n._batchEnabled=0,n._batchLocation=0,n.parentTextureArray=null,n.setResource(r),n}return pr(r,e),Object.defineProperty(r.prototype,"realWidth",{get:function(){return Math.ceil(this.width*this.resolution-1e-4)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"realHeight",{get:function(){return Math.ceil(this.height*this.resolution-1e-4)},enumerable:!1,configurable:!0}),r.prototype.setStyle=function(t,e){var r;return void 0!==t&&t!==this.scaleMode&&(this.scaleMode=t,r=!0),void 0!==e&&e!==this.mipmap&&(this.mipmap=e,r=!0),r&&this.dirtyStyleId++,this},r.prototype.setSize=function(t,e,r){return this.resolution=r||this.resolution,this.width=t,this.height=e,this._refreshPOT(),this.update(),this},r.prototype.setRealSize=function(t,e,r){return this.resolution=r||this.resolution,this.width=t/this.resolution,this.height=e/this.resolution,this._refreshPOT(),this.update(),this},r.prototype._refreshPOT=function(){this.isPowerOfTwo=Qt(this.realWidth)&&Qt(this.realHeight)},r.prototype.setResolution=function(t){var e=this.resolution;return e===t?this:(this.resolution=t,this.valid&&(this.width=this.width*e/t,this.height=this.height*e/t,this.emit("update",this)),this._refreshPOT(),this)},r.prototype.setResource=function(t){if(this.resource===t)return this;if(this.resource)throw new Error("Resource can be set only once");return t.bind(this),this.resource=t,this},r.prototype.update=function(){this.valid?(this.dirtyId++,this.dirtyStyleId++,this.emit("update",this)):this.width>0&&this.height>0&&(this.valid=!0,this.emit("loaded",this),this.emit("update",this))},r.prototype.onError=function(t){this.emit("error",this,t)},r.prototype.destroy=function(){this.resource&&(this.resource.unbind(this),this.resource.internal&&this.resource.destroy(),this.resource=null),this.cacheId&&(delete he[this.cacheId],delete ae[this.cacheId],this.cacheId=null),this.dispose(),r.removeFromCache(this),this.textureCacheIds=null,this.destroyed=!0},r.prototype.dispose=function(){this.emit("dispose",this)},r.prototype.castToBaseTexture=function(){return this},r.from=function(t,e,i){void 0===i&&(i=D.STRICT_TEXTURE_CACHE);var n="string"==typeof t,o=null;n?o=t:(t._pixiId||(t._pixiId="pixiid_"+ie()),o=t._pixiId);var s=he[o];if(n&&i&&!s)throw new Error('The cacheId "'+o+'" does not exist in BaseTextureCache.');return s||((s=new r(t,e)).cacheId=o,r.addToCache(s,o)),s},r.fromBuffer=function(e,i,n,o){e=e||new Float32Array(i*n*4);var s=new mr(e,{width:i,height:n}),a=e instanceof Float32Array?t.TYPES.FLOAT:t.TYPES.UNSIGNED_BYTE;return new r(s,Object.assign(vr,o||{width:i,height:n,type:a}))},r.addToCache=function(t,e){e&&(-1===t.textureCacheIds.indexOf(e)&&t.textureCacheIds.push(e),he[e]&&console.warn("BaseTexture added to the cache with an id ["+e+"] that already had an entry"),he[e]=t)},r.removeFromCache=function(t){if("string"==typeof t){var e=he[t];if(e){var r=e.textureCacheIds.indexOf(t);return r>-1&&e.textureCacheIds.splice(r,1),delete he[t],e}}else if(t&&t.textureCacheIds){for(var i=0;i0){if(!e.resource)throw new Error("CubeResource does not support copying of renderTexture.");this.addResourceAt(e.resource,r)}else e.target=t.TARGETS.TEXTURE_CUBE_MAP_POSITIVE_X+r,e.parentTextureArray=this.baseTexture,this.items[r]=e;return e.valid&&!this.valid&&this.resize(e.realWidth,e.realHeight),this.items[r]=e,this},r.prototype.upload=function(t,e,i){for(var n=this.itemDirtyIds,o=0;o]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*(?:\s(width|height)=('|")(\d*(?:\.\d+)?)(?:px)?('|"))[^>]*>/i,e}(xr),wr=function(t){function e(r,i){var n=this;if(i=i||{},!(r instanceof HTMLVideoElement)){var o=document.createElement("video");o.setAttribute("preload","auto"),o.setAttribute("webkit-playsinline",""),o.setAttribute("playsinline",""),"string"==typeof r&&(r=[r]);var s=r[0].src||r[0];xr.crossOrigin(o,s,i.crossorigin);for(var a=0;a0&&!1===t.paused&&!1===t.ended&&t.readyState>2},e.prototype._isSourceReady=function(){var t=this.source;return 3===t.readyState||4===t.readyState},e.prototype._onPlayStart=function(){this.valid||this._onCanPlay(),this.autoUpdate&&!this._isConnectedToTicker&&(Qe.shared.add(this.update,this),this._isConnectedToTicker=!0)},e.prototype._onPlayStop=function(){this._isConnectedToTicker&&(Qe.shared.remove(this.update,this),this._isConnectedToTicker=!1)},e.prototype._onCanPlay=function(){var t=this.source;t.removeEventListener("canplay",this._onCanPlay),t.removeEventListener("canplaythrough",this._onCanPlay);var e=this.valid;this.resize(t.videoWidth,t.videoHeight),!e&&this._resolve&&(this._resolve(this),this._resolve=null),this._isSourcePlaying()?this._onPlayStart():this.autoPlay&&t.play()},e.prototype.dispose=function(){this._isConnectedToTicker&&Qe.shared.remove(this.update,this);var e=this.source;e&&(e.removeEventListener("error",this._onError,!0),e.pause(),e.src="",e.load()),t.prototype.dispose.call(this)},Object.defineProperty(e.prototype,"autoUpdate",{get:function(){return this._autoUpdate},set:function(t){t!==this._autoUpdate&&(this._autoUpdate=t,!this._autoUpdate&&this._isConnectedToTicker?(Qe.shared.remove(this.update,this),this._isConnectedToTicker=!1):this._autoUpdate&&!this._isConnectedToTicker&&this._isSourcePlaying()&&(Qe.shared.add(this.update,this),this._isConnectedToTicker=!0))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"updateFPS",{get:function(){return this._updateFPS},set:function(t){t!==this._updateFPS&&(this._updateFPS=t)},enumerable:!1,configurable:!0}),e.test=function(t,r){return t instanceof HTMLVideoElement||e.TYPES.indexOf(r)>-1},e.TYPES=["mp4","m4v","webm","ogg","ogv","h264","avi","mov"],e.MIME_TYPES={ogv:"video/ogg",mov:"video/quicktime",m4v:"video/mp4"},e}(xr),Pr=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return pr(e,t),e.test=function(t){return!!window.createImageBitmap&&t instanceof ImageBitmap},e}(xr);lr.push(Tr,Pr,br,wr,Sr,mr,Er,_r);var Ir={Resource:fr,BaseImageResource:xr,INSTALLED:lr,autoDetectResource:cr,AbstractMultiResource:yr,ArrayResource:_r,BufferResource:mr,CanvasResource:br,CubeResource:Er,ImageResource:Tr,SVGResource:Sr,VideoResource:wr,ImageBitmapResource:Pr},Ar=function(){function t(t){this.renderer=t}return t.prototype.destroy=function(){this.renderer=null},t}(),Or=function(e){function r(){return null!==e&&e.apply(this,arguments)||this}return pr(r,e),r.prototype.upload=function(e,r,i){var n=e.gl;return n.pixelStorei(n.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r.alphaMode===t.ALPHA_MODES.UNPACK),i.width===r.width&&i.height===r.height?n.texSubImage2D(r.target,0,0,0,r.width,r.height,r.format,r.type,this.data):(i.width=r.width,i.height=r.height,n.texImage2D(r.target,0,1===e.context.webGLVersion?n.DEPTH_COMPONENT:n.DEPTH_COMPONENT16,r.width,r.height,0,r.format,r.type,this.data)),!0},r}(mr),Mr=function(){function e(e,r){this.width=Math.ceil(e||100),this.height=Math.ceil(r||100),this.stencil=!1,this.depth=!1,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.depthTexture=null,this.colorTextures=[],this.glFramebuffers={},this.disposeRunner=new ur("disposeFramebuffer"),this.multisample=t.MSAA_QUALITY.NONE}return Object.defineProperty(e.prototype,"colorTexture",{get:function(){return this.colorTextures[0]},enumerable:!1,configurable:!0}),e.prototype.addColorTexture=function(e,r){return void 0===e&&(e=0),this.colorTextures[e]=r||new gr(null,{scaleMode:t.SCALE_MODES.NEAREST,resolution:1,mipmap:t.MIPMAP_MODES.OFF,width:this.width,height:this.height}),this.dirtyId++,this.dirtyFormat++,this},e.prototype.addDepthTexture=function(e){return this.depthTexture=e||new gr(new Or(null,{width:this.width,height:this.height}),{scaleMode:t.SCALE_MODES.NEAREST,resolution:1,width:this.width,height:this.height,mipmap:t.MIPMAP_MODES.OFF,format:t.FORMATS.DEPTH_COMPONENT,type:t.TYPES.UNSIGNED_SHORT}),this.dirtyId++,this.dirtyFormat++,this},e.prototype.enableDepth=function(){return this.depth=!0,this.dirtyId++,this.dirtyFormat++,this},e.prototype.enableStencil=function(){return this.stencil=!0,this.dirtyId++,this.dirtyFormat++,this},e.prototype.resize=function(t,e){if(t=Math.ceil(t),e=Math.ceil(e),t!==this.width||e!==this.height){this.width=t,this.height=e,this.dirtyId++,this.dirtySize++;for(var r=0;r-1&&e.textureCacheIds.splice(r,1),delete ae[t],e}}else if(t&&t.textureCacheIds){for(var i=0;ithis.baseTexture.width,s=r+n>this.baseTexture.height;if(o||s){var a=o&&s?"and":"or",h="X: "+e+" + "+i+" = "+(e+i)+" > "+this.baseTexture.width,u="Y: "+r+" + "+n+" = "+(r+n)+" > "+this.baseTexture.height;throw new Error("Texture Error: frame does not fit inside the base Texture dimensions: "+h+" "+a+" "+u)}this.valid=i&&n&&this.baseTexture.valid,this.trim||this.rotate||(this.orig=t),this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rotate",{get:function(){return this._rotate},set:function(t){this._rotate=t,this.valid&&this.updateUvs()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"width",{get:function(){return this.orig.width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){return this.orig.height},enumerable:!1,configurable:!0}),e.prototype.castToBaseTexture=function(){return this.baseTexture},e}(C);function Nr(t){t.destroy=function(){},t.on=function(){},t.once=function(){},t.emit=function(){}}Lr.EMPTY=new Lr(new gr),Nr(Lr.EMPTY),Nr(Lr.EMPTY.baseTexture),Lr.WHITE=function(){var t=document.createElement("canvas");t.width=16,t.height=16;var e=t.getContext("2d");return e.fillStyle="white",e.fillRect(0,0,16,16),new Lr(new gr(new br(t)))}(),Nr(Lr.WHITE),Nr(Lr.WHITE.baseTexture);var Fr=function(t){function e(e,r){var i=this,n=null;if(!(e instanceof Dr)){var o=arguments[1],s=arguments[2],a=arguments[3],h=arguments[4];console.warn("Please use RenderTexture.create("+o+", "+s+") instead of the ctor directly."),n=arguments[0],r=null,e=new Dr({width:o,height:s,scaleMode:a,resolution:h})}return(i=t.call(this,e,r)||this).legacyRenderer=n,i.valid=!0,i.filterFrame=null,i.filterPoolKey=null,i.updateUvs(),i}return pr(e,t),Object.defineProperty(e.prototype,"framebuffer",{get:function(){return this.baseTexture.framebuffer},enumerable:!1,configurable:!0}),e.prototype.resize=function(t,e,r){void 0===r&&(r=!0),t=Math.ceil(t),e=Math.ceil(e),this.valid=t>0&&e>0,this._frame.width=this.orig.width=t,this._frame.height=this.orig.height=e,r&&this.baseTexture.resize(t,e),this.updateUvs()},e.prototype.setResolution=function(t){var e=this.baseTexture;e.resolution!==t&&(e.setResolution(t),this.resize(e.width,e.height,!1))},e.create=function(t){return"number"==typeof t&&(t={width:t,height:arguments[1],scaleMode:arguments[2],resolution:arguments[3]}),new e(new Dr(t))},e}(Lr),Br=function(){function t(t){this.texturePool={},this.textureOptions=t||{},this.enableFullScreen=!1,this._pixelsWidth=0,this._pixelsHeight=0}return t.prototype.createTexture=function(t,e){var r=new Dr(Object.assign({width:t,height:e,resolution:1},this.textureOptions));return new Fr(r)},t.prototype.getOptimalTexture=function(e,r,i){void 0===i&&(i=1);var n=t.SCREEN_KEY;e*=i,r*=i,this.enableFullScreen&&e===this._pixelsWidth&&r===this._pixelsHeight||(n=(65535&(e=Jt(e)))<<16|65535&(r=Jt(r))),this.texturePool[n]||(this.texturePool[n]=[]);var o=this.texturePool[n].pop();return o||(o=this.createTexture(e,r)),o.filterPoolKey=n,o.setResolution(i),o},t.prototype.getFilterTexture=function(t,e){var r=this.getOptimalTexture(t.width,t.height,e||t.resolution);return r.filterFrame=t.filterFrame,r},t.prototype.returnTexture=function(t){var e=t.filterPoolKey;t.filterFrame=null,this.texturePool[e].push(t)},t.prototype.returnFilterTexture=function(t){this.returnTexture(t)},t.prototype.clear=function(t){if(t=!1!==t)for(var e in this.texturePool){var r=this.texturePool[e];if(r)for(var i=0;i0&&e.height>0,i)for(var n=0;n1){for(var u=0;u1&&this.renderer.framebuffer.blit(),1===i.length)i[0].apply(this,r.renderTexture,u.renderTexture,t.CLEAR_MODES.BLEND,r),this.returnFilterTexture(r.renderTexture);else{var l=r.renderTexture,c=this.getOptimalFilterTexture(l.width,l.height,r.resolution);c.filterFrame=l.filterFrame;var d=0;for(d=0;d=0;--i)t[i]=r[i]||null,t[i]&&(t[i]._batchLocation=i)},e.prototype.boundArray=function(t,e,r,i){for(var n=t.elements,o=t.ids,s=t.count,a=0,h=0;h=0&&l=t.ENV.WEBGL2&&(i=e.getContext("webgl2",r)),i)this.webGLVersion=2;else if(this.webGLVersion=1,!(i=e.getContext("webgl",r)||e.getContext("experimental-webgl",r)))throw new Error("This browser does not support WebGL. Try using the canvas renderer");return this.gl=i,this.getExtensions(),this.gl},r.prototype.getExtensions=function(){var t=this.gl;1===this.webGLVersion?Object.assign(this.extensions,{drawBuffers:t.getExtension("WEBGL_draw_buffers"),depthTexture:t.getExtension("WEBGL_depth_texture"),loseContext:t.getExtension("WEBGL_lose_context"),vertexArrayObject:t.getExtension("OES_vertex_array_object")||t.getExtension("MOZ_OES_vertex_array_object")||t.getExtension("WEBKIT_OES_vertex_array_object"),anisotropicFiltering:t.getExtension("EXT_texture_filter_anisotropic"),uint32ElementIndex:t.getExtension("OES_element_index_uint"),floatTexture:t.getExtension("OES_texture_float"),floatTextureLinear:t.getExtension("OES_texture_float_linear"),textureHalfFloat:t.getExtension("OES_texture_half_float"),textureHalfFloatLinear:t.getExtension("OES_texture_half_float_linear")}):2===this.webGLVersion&&Object.assign(this.extensions,{anisotropicFiltering:t.getExtension("EXT_texture_filter_anisotropic"),colorBufferFloat:t.getExtension("EXT_color_buffer_float"),floatTextureLinear:t.getExtension("OES_texture_float_linear")})},r.prototype.handleContextLost=function(t){t.preventDefault()},r.prototype.handleContextRestored=function(){this.renderer.runners.contextChange.emit(this.gl)},r.prototype.destroy=function(){var t=this.renderer.view;t.removeEventListener("webglcontextlost",this.handleContextLost),t.removeEventListener("webglcontextrestored",this.handleContextRestored),this.gl.useProgram(null),this.extensions.loseContext&&this.extensions.loseContext.loseContext()},r.prototype.postrender=function(){this.renderer.renderingToScreen&&this.gl.flush()},r.prototype.validateContext=function(t){var e=t.getContextAttributes(),r="WebGL2RenderingContext"in window&&t instanceof window.WebGL2RenderingContext;r&&(this.webGLVersion=2),e.stencil||console.warn("Provided WebGL context does not have a stencil buffer, masks may not render correctly");var i=r||!!t.getExtension("OES_element_index_uint");this.supports.uint32Indices=i,i||console.warn("Provided WebGL context does not support 32 index buffer, complex graphics may not render correctly")},r}(Ar),ii=function(){return function(e){this.framebuffer=e,this.stencil=null,this.dirtyId=0,this.dirtyFormat=0,this.dirtySize=0,this.multisample=t.MSAA_QUALITY.NONE,this.msaaBuffer=null,this.blitFramebuffer=null}}(),ni=new xe,oi=function(e){function r(t){var r=e.call(this,t)||this;return r.managedFramebuffers=[],r.unknownFramebuffer=new Mr(10,10),r.msaaSamples=null,r}return pr(r,e),r.prototype.contextChange=function(){var e=this.gl=this.renderer.gl;if(this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.current=this.unknownFramebuffer,this.viewport=new xe,this.hasMRT=!0,this.writeDepthTexture=!0,this.disposeAll(!0),1===this.renderer.context.webGLVersion){var r=this.renderer.context.extensions.drawBuffers,i=this.renderer.context.extensions.depthTexture;D.PREFER_ENV===t.ENV.WEBGL_LEGACY&&(r=null,i=null),r?e.drawBuffers=function(t){return r.drawBuffersWEBGL(t)}:(this.hasMRT=!1,e.drawBuffers=function(){}),i||(this.writeDepthTexture=!1)}else this.msaaSamples=e.getInternalformatParameter(e.RENDERBUFFER,e.RGBA8,e.SAMPLES)},r.prototype.bind=function(t,e){var r=this.gl;if(t){var i=t.glFramebuffers[this.CONTEXT_UID]||this.initFramebuffer(t);this.current!==t&&(this.current=t,r.bindFramebuffer(r.FRAMEBUFFER,i.framebuffer)),i.dirtyId!==t.dirtyId&&(i.dirtyId=t.dirtyId,i.dirtyFormat!==t.dirtyFormat?(i.dirtyFormat=t.dirtyFormat,this.updateFramebuffer(t)):i.dirtySize!==t.dirtySize&&(i.dirtySize=t.dirtySize,this.resizeFramebuffer(t)));for(var n=0;n1&&(r.msaaBuffer=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,r.msaaBuffer),e.renderbufferStorageMultisample(e.RENDERBUFFER,r.multisample,e.RGBA8,t.width,t.height),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.RENDERBUFFER,r.msaaBuffer));for(var n=[],o=0;o1)){var s=t.colorTextures[o],a=s.parentTextureArray||s;this.renderer.texture.bind(a,0),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+o,s.target,a._glTextures[this.CONTEXT_UID].texture,0),n.push(e.COLOR_ATTACHMENT0+o)}if((n.length>1&&e.drawBuffers(n),t.depthTexture)&&this.writeDepthTexture){var h=t.depthTexture;this.renderer.texture.bind(h,0),e.framebufferTexture2D(e.FRAMEBUFFER,e.DEPTH_ATTACHMENT,e.TEXTURE_2D,h._glTextures[this.CONTEXT_UID].texture,0)}r.stencil||!t.stencil&&!t.depth||(r.stencil=e.createRenderbuffer(),e.bindRenderbuffer(e.RENDERBUFFER,r.stencil),e.renderbufferStorage(e.RENDERBUFFER,e.DEPTH_STENCIL,t.width,t.height),t.depthTexture||e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,r.stencil))},r.prototype.detectSamples=function(e){var r=this.msaaSamples,i=t.MSAA_QUALITY.NONE;if(e<=1||null===r)return i;for(var n=0;n=0&&this.managedFramebuffers.splice(n,1),t.disposeRunner.remove(this),e||(i.deleteFramebuffer(r.framebuffer),r.stencil&&i.deleteRenderbuffer(r.stencil))}},r.prototype.disposeAll=function(t){var e=this.managedFramebuffers;this.managedFramebuffers=[];for(var r=0;r=i.data.byteLength)e.bufferSubData(o,0,i.data);else{var s=i.static?e.STATIC_DRAW:e.DYNAMIC_DRAW;n.byteLength=i.data.byteLength,e.bufferData(o,i.data,s)}}}},r.prototype.checkCompatibility=function(t,e){var r=t.attributes,i=e.attributeData;for(var n in i)if(!r[n])throw new Error('shader and geometry incompatible, geometry missing the "'+n+'" attribute')},r.prototype.getSignature=function(t,e){var r=t.attributes,i=e.attributeData,n=["g",t.id];for(var o in r)i[o]&&n.push(o);return n.join("-")},r.prototype.initGeometryVao=function(t,e,r){void 0===r&&(r=!0),this.checkCompatibility(t,e);var i=this.gl,n=this.CONTEXT_UID,o=this.getSignature(t,e),s=t.glVertexArrayObjects[this.CONTEXT_UID],a=s[o];if(a)return s[e.id]=a,a;var h=t.buffers,u=t.attributes,l={},c={};for(var d in h)l[d]=0,c[d]=0;for(var d in u)!u[d].size&&e.attributeData[d]?u[d].size=e.attributeData[d].size:u[d].size||console.warn("PIXI Geometry attribute '"+d+"' size cannot be determined (likely the bound shader does not have the attribute)"),l[u[d].buffer]+=u[d].size*ai[u[d].type];for(var d in u){var p=u[d],f=p.size;void 0===p.stride&&(l[p.buffer]===f*ai[p.type]?p.stride=0:p.stride=l[p.buffer]),void 0===p.start&&(p.start=c[p.buffer],c[p.buffer]+=f*ai[p.type])}a=i.createVertexArray(),i.bindVertexArray(a);for(var m=0;m=t.ENV.WEBGL2&&(r=e.getContext("webgl2",{})),r||((r=e.getContext("webgl",{})||e.getContext("experimental-webgl",{}))?r.getExtension("WEBGL_draw_buffers"):r=null),vi=r}return vi}function yi(e,r,i){if("precision"!==e.substring(0,9)){var n=r;return r===t.PRECISION.HIGH&&i!==t.PRECISION.HIGH&&(n=t.PRECISION.MEDIUM),"precision "+n+" float;\n"+e}return i!==t.PRECISION.HIGH&&"precision highp"===e.substring(0,15)?e.replace("precision highp","precision mediump"):e}var _i={float:1,vec2:2,vec3:3,vec4:4,int:1,ivec2:2,ivec3:3,ivec4:4,bool:1,bvec2:2,bvec3:3,bvec4:4,mat2:4,mat3:9,mat4:16,sampler2D:1};function xi(t){return _i[t]}var bi=null,Ei={FLOAT:"float",FLOAT_VEC2:"vec2",FLOAT_VEC3:"vec3",FLOAT_VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",FLOAT_MAT2:"mat2",FLOAT_MAT3:"mat3",FLOAT_MAT4:"mat4",SAMPLER_2D:"sampler2D",INT_SAMPLER_2D:"sampler2D",UNSIGNED_INT_SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube",INT_SAMPLER_CUBE:"samplerCube",UNSIGNED_INT_SAMPLER_CUBE:"samplerCube",SAMPLER_2D_ARRAY:"sampler2DArray",INT_SAMPLER_2D_ARRAY:"sampler2DArray",UNSIGNED_INT_SAMPLER_2D_ARRAY:"sampler2DArray"};function Ti(t,e){if(!bi){var r=Object.keys(Ei);bi={};for(var i=0;i0&&(e+="\nelse "),re.name?1:-1});for(o=0;o0?this._useCurrent():t.disable(t.SCISSOR_TEST)},e.prototype._useCurrent=function(){var t=this.maskStack[this.maskStack.length-1]._scissorRect,e=this.renderer.renderTexture.current,r=this.renderer.projection,i=r.transform,n=r.sourceFrame,o=r.destinationFrame,s=e?e.resolution:this.renderer.resolution,a=(t.x-n.x)*s+o.x,h=(t.y-n.y)*s+o.y,u=t.width*s,l=t.height*s;i&&(a+=i.tx*s,h+=i.ty*s),e||(h=this.renderer.height-l-h),this.renderer.gl.scissor(a,h,u,l)},e}(Gi),zi=function(t){function e(e){var r=t.call(this,e)||this;return r.glConst=WebGLRenderingContext.STENCIL_TEST,r}return pr(e,t),e.prototype.getStackLength=function(){var t=this.maskStack[this.maskStack.length-1];return t?t._stencilCounter:0},e.prototype.push=function(t){var e=t.maskObject,r=this.renderer.gl,i=t._stencilCounter;0===i&&(this.renderer.framebuffer.forceStencil(),r.enable(r.STENCIL_TEST)),t._stencilCounter++,r.colorMask(!1,!1,!1,!1),r.stencilFunc(r.EQUAL,i,this._getBitwiseMask()),r.stencilOp(r.KEEP,r.KEEP,r.INCR),e.renderable=!0,e.render(this.renderer),this.renderer.batch.flush(),e.renderable=!1,this._useCurrent()},e.prototype.pop=function(t){var e=this.renderer.gl;0===this.getStackLength()?(e.disable(e.STENCIL_TEST),e.clear(e.STENCIL_BUFFER_BIT),e.clearStencil(0)):(e.colorMask(!1,!1,!1,!1),e.stencilOp(e.KEEP,e.KEEP,e.DECR),t.renderable=!0,t.render(this.renderer),this.renderer.batch.flush(),t.renderable=!1,this._useCurrent())},e.prototype._useCurrent=function(){var t=this.renderer.gl;t.colorMask(!0,!0,!0,!0),t.stencilFunc(t.EQUAL,this.getStackLength(),this._getBitwiseMask()),t.stencilOp(t.KEEP,t.KEEP,t.KEEP)},e.prototype._getBitwiseMask=function(){return(1<>=1,r++;this.stateId=t.data}for(r=0;rthis.checkCountMax&&(this.checkCount=0,this.run())))},r.prototype.run=function(){for(var t=this.renderer.texture,e=t.managedTextures,r=!1,i=0;ithis.maxIdle&&(t.destroyTexture(n,!0),e[i]=null,r=!0)}if(r){var o=0;for(i=0;i=0;i--)this.unload(t.children[i])},r}(Ar),ln=function(){return function(t){this.texture=t,this.width=-1,this.height=-1,this.dirtyId=-1,this.dirtyStyleId=-1,this.mipmap=!1,this.wrapMode=33071,this.type=6408,this.internalFormat=5121}}(),cn=function(e){function r(t){var r=e.call(this,t)||this;return r.boundTextures=[],r.currentLocation=-1,r.managedTextures=[],r._unknownBoundTextures=!1,r.unknownTexture=new gr,r}return pr(r,e),r.prototype.contextChange=function(){var t=this.gl=this.renderer.gl;this.CONTEXT_UID=this.renderer.CONTEXT_UID,this.webGLVersion=this.renderer.context.webGLVersion;var e=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);this.boundTextures.length=e;for(var r=0;r=1:r.mipmap=!1,2===this.webGLVersion||e.isPowerOfTwo?r.wrapMode=e.wrapMode:r.wrapMode=t.WRAP_MODES.CLAMP,e.resource&&e.resource.style(this.renderer,e,r)||this.setStyle(e,r),r.dirtyStyleId=e.dirtyStyleId)},r.prototype.setStyle=function(e,r){var i=this.gl;if(r.mipmap&&i.generateMipmap(e.target),i.texParameteri(e.target,i.TEXTURE_WRAP_S,r.wrapMode),i.texParameteri(e.target,i.TEXTURE_WRAP_T,r.wrapMode),r.mipmap){i.texParameteri(e.target,i.TEXTURE_MIN_FILTER,e.scaleMode===t.SCALE_MODES.LINEAR?i.LINEAR_MIPMAP_LINEAR:i.NEAREST_MIPMAP_NEAREST);var n=this.renderer.context.extensions.anisotropicFiltering;if(n&&e.anisotropicLevel>0&&e.scaleMode===t.SCALE_MODES.LINEAR){var o=Math.min(e.anisotropicLevel,i.getParameter(n.MAX_TEXTURE_MAX_ANISOTROPY_EXT));i.texParameterf(e.target,n.TEXTURE_MAX_ANISOTROPY_EXT,o)}}else i.texParameteri(e.target,i.TEXTURE_MIN_FILTER,e.scaleMode===t.SCALE_MODES.LINEAR?i.LINEAR:i.NEAREST);i.texParameteri(e.target,i.TEXTURE_MAG_FILTER,e.scaleMode===t.SCALE_MODES.LINEAR?i.LINEAR:i.NEAREST)},r}(Ar),dn={FilterSystem:Qr,BatchSystem:ti,ContextSystem:ri,FramebufferSystem:oi,GeometrySystem:hi,MaskSystem:Hi,ScissorSystem:Yi,StencilSystem:zi,ProjectionSystem:Vi,RenderTextureSystem:Zi,ShaderSystem:en,StateSystem:hn,TextureGCSystem:un,TextureSystem:cn},pn=new Ie,fn=function(e){function r(r,i){void 0===r&&(r=t.RENDERER_TYPE.UNKNOWN);var n=e.call(this)||this;return(i=Object.assign({},D.RENDER_OPTIONS,i)).roundPixels&&(D.ROUND_PIXELS=i.roundPixels,oe("5.0.0","Renderer roundPixels option is deprecated, please use PIXI.settings.ROUND_PIXELS",2)),n.options=i,n.type=r,n.screen=new xe(0,0,i.width,i.height),n.view=i.view||document.createElement("canvas"),n.resolution=i.resolution||D.RESOLUTION,n.transparent=i.transparent,n.autoDensity=i.autoDensity||i.autoResize||!1,n.preserveDrawingBuffer=i.preserveDrawingBuffer,n.clearBeforeRender=i.clearBeforeRender,n._backgroundColor=0,n._backgroundColorRgba=[0,0,0,0],n._backgroundColorString="#000000",n.backgroundColor=i.backgroundColor||n._backgroundColor,n._lastObjectRendered=null,n.plugins={},n}return pr(r,e),r.prototype.initPlugins=function(t){for(var e in t)this.plugins[e]=new t[e](this)},Object.defineProperty(r.prototype,"width",{get:function(){return this.view.width},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"height",{get:function(){return this.view.height},enumerable:!1,configurable:!0}),r.prototype.resize=function(t,e){this.screen.width=t,this.screen.height=e,this.view.width=t*this.resolution,this.view.height=e*this.resolution,this.autoDensity&&(this.view.style.width=t+"px",this.view.style.height=e+"px"),this.emit("resize",t,e)},r.prototype.generateTexture=function(t,e,r,i){0===(i=i||t.getLocalBounds(null,!0)).width&&(i.width=1),0===i.height&&(i.height=1);var n=Fr.create({width:0|i.width,height:0|i.height,scaleMode:e,resolution:r});return pn.tx=-i.x,pn.ty=-i.y,this.render(t,n,!1,pn,!!t.parent),n},r.prototype.destroy=function(e){for(var r in this.plugins)this.plugins[r].destroy(),this.plugins[r]=null;e&&this.view.parentNode&&this.view.parentNode.removeChild(this.view);this.plugins=null,this.type=t.RENDERER_TYPE.UNKNOWN,this.view=null,this.screen=null,this._tempDisplayObjectParent=null,this.options=null,this._backgroundColorRgba=null,this._backgroundColorString=null,this._lastObjectRendered=null},Object.defineProperty(r.prototype,"backgroundColor",{get:function(){return this._backgroundColor},set:function(t){this._backgroundColor=t,this._backgroundColorString=Xt(t),kt(t,this._backgroundColorRgba)},enumerable:!1,configurable:!0}),r}(C),mn=function(e){function r(i){var n=e.call(this,t.RENDERER_TYPE.WEBGL,i)||this;return i=n.options,n.gl=null,n.CONTEXT_UID=0,n.runners={destroy:new ur("destroy"),contextChange:new ur("contextChange"),reset:new ur("reset"),update:new ur("update"),postrender:new ur("postrender"),prerender:new ur("prerender"),resize:new ur("resize")},n.globalUniforms=new Zr({projectionMatrix:new Ie},!0),n.addSystem(Hi,"mask").addSystem(ri,"context").addSystem(hn,"state").addSystem(en,"shader").addSystem(cn,"texture").addSystem(hi,"geometry").addSystem(oi,"framebuffer").addSystem(Yi,"scissor").addSystem(zi,"stencil").addSystem(Vi,"projection").addSystem(un,"textureGC").addSystem(Qr,"filter").addSystem(Zi,"renderTexture").addSystem(ti,"batch"),n.initPlugins(r.__plugins),i.context?n.context.initFromContext(i.context):n.context.initFromOptions({alpha:!!n.transparent,antialias:i.antialias,premultipliedAlpha:n.transparent&&"notMultiplied"!==n.transparent,stencil:!0,preserveDrawingBuffer:i.preserveDrawingBuffer,powerPreference:n.options.powerPreference}),n.renderingToScreen=!0,Bt(2===n.context.webGLVersion?"WebGL 2":"WebGL 1"),n.resize(n.options.width,n.options.height),n}return pr(r,e),r.create=function(t){if(Ut())return new r(t);throw new Error('WebGL unsupported in this browser, use "pixi.js-legacy" for fallback canvas2d support.')},r.prototype.addSystem=function(t,e){e||(e=t.name);var r=new t(this);if(this[e])throw new Error('Whoops! The name "'+e+'" is already in use');for(var i in this[e]=r,this.runners)this.runners[i].add(r);return this},r.prototype.render=function(t,e,r,i,n){if(this.renderingToScreen=!e,this.runners.prerender.emit(),this.emit("prerender"),this.projection.transform=i,!this.context.isLost){if(e||(this._lastObjectRendered=t),!n){var o=t.enableTempParent();t.updateTransform(),t.disableTempParent(o)}this.renderTexture.bind(e),this.batch.currentRenderer.start(),(void 0!==r?r:this.clearBeforeRender)&&this.renderTexture.clear(),t.render(this),this.batch.currentRenderer.flush(),e&&e.baseTexture.update(),this.runners.postrender.emit(),this.projection.transform=null,this.emit("postrender")}},r.prototype.resize=function(t,r){e.prototype.resize.call(this,t,r),this.runners.resize.emit(t,r)},r.prototype.reset=function(){return this.runners.reset.emit(),this},r.prototype.clear=function(){this.renderTexture.bind(),this.renderTexture.clear()},r.prototype.destroy=function(t){for(var r in this.runners.destroy.emit(),this.runners)this.runners[r].destroy();e.prototype.destroy.call(this,t),this.gl=null},r.registerPlugin=function(t,e){r.__plugins=r.__plugins||{},r.__plugins[t]=e},r}(fn);function vn(t){return mn.create(t)}var gn="attribute vec2 aVertexPosition;\nattribute vec2 aTextureCoord;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nvoid main(void)\n{\n gl_Position = vec4((projectionMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0);\n vTextureCoord = aTextureCoord;\n}",yn="attribute vec2 aVertexPosition;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 vTextureCoord;\n\nuniform vec4 inputSize;\nuniform vec4 outputFrame;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n\n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n}\n\nvoid main(void)\n{\n gl_Position = filterVertexPosition();\n vTextureCoord = filterTextureCoord();\n}\n",_n=function(){return function(){this.texArray=null,this.blend=0,this.type=t.DRAW_MODES.TRIANGLES,this.start=0,this.size=0,this.data=null}}(),xn=function(){function t(){this.elements=[],this.ids=[],this.count=0}return t.prototype.clear=function(){for(var t=0;tthis.size&&this.flush(),this._vertexCount+=t.vertexData.length/2,this._indexCount+=t.indices.length,this._bufferedTextures[this._bufferSize]=t._texture.baseTexture,this._bufferedElements[this._bufferSize++]=t)},r.prototype.buildTexturesAndDrawCalls=function(){var t=this._bufferedTextures,e=this.MAX_TEXTURES,i=r._textureArrayPool,n=this.renderer.batch,o=this._tempBoundTextures,s=this.renderer.textureGC.count,a=++gr._globalBatch,h=0,u=i[0],l=0;n.copyBoundTextures(o,e);for(var c=0;c=e&&(n.boundArray(u,o,a,e),this.buildDrawCalls(u,l,c),l=c,u=i[++h],++a),d._batchEnabled=a,d.touched=s,u.elements[u.count++]=d)}u.count>0&&(n.boundArray(u,o,a,e),this.buildDrawCalls(u,l,this._bufferSize),++h,++a);for(c=0;c0&&(e+="\nelse "),r0||e.responseType===t.XHR_RESPONSE_TYPE.BUFFER)?i=200:1223===i&&(i=204),2===(i/100|0)){if(this.xhrType===t.XHR_RESPONSE_TYPE.TEXT)this.data=r,this.type=t.TYPE.TEXT;else if(this.xhrType===t.XHR_RESPONSE_TYPE.JSON)try{this.data=JSON.parse(r),this.type=t.TYPE.JSON}catch(t){return void this.abort("Error trying to parse loaded json: "+t)}else if(this.xhrType===t.XHR_RESPONSE_TYPE.DOCUMENT)try{if(window.DOMParser){var n=new DOMParser;this.data=n.parseFromString(r,"text/xml")}else{var o=document.createElement("div");o.innerHTML=r,this.data=o}this.type=t.TYPE.XML}catch(t){return void this.abort("Error trying to parse loaded xml: "+t)}else this.data=e.response||r;this.complete()}else this.abort("["+e.status+"] "+e.statusText+": "+e.responseURL)},e._determineCrossOrigin=function(t,e){if(0===t.indexOf("data:"))return"";if(window.origin!==window.location.origin)return"anonymous";e=e||window.location,Gn||(Gn=document.createElement("a")),Gn.href=t;var r=!(t=Rn(Gn.href,{strictMode:!0})).port&&""===e.port||t.port===e.port,i=t.protocol?t.protocol+":":"";return t.host===e.hostname&&r&&i===e.protocol?"":"anonymous"},e._determineXhrType=function(){return t._xhrTypeMap[this.extension]||t.XHR_RESPONSE_TYPE.TEXT},e._determineLoadType=function(){return t._loadTypeMap[this.extension]||t.LOAD_TYPE.XHR},e._getExtension=function(){var t=this.url,e="";if(this.isDataUrl){var r=t.indexOf("/");e=t.substring(r+1,t.indexOf(";",r))}else{var i=t.indexOf("?"),n=t.indexOf("#"),o=Math.min(i>-1?i:t.length,n>-1?n:t.length);e=(t=t.substring(0,o)).substring(t.lastIndexOf(".")+1)}return e.toLowerCase()},e._getMimeFromXhrType=function(e){switch(e){case t.XHR_RESPONSE_TYPE.BUFFER:return"application/octet-binary";case t.XHR_RESPONSE_TYPE.BLOB:return"application/blob";case t.XHR_RESPONSE_TYPE.DOCUMENT:return"application/xml";case t.XHR_RESPONSE_TYPE.JSON:return"application/json";case t.XHR_RESPONSE_TYPE.DEFAULT:case t.XHR_RESPONSE_TYPE.TEXT:default:return"text/plain"}},jn(t,[{key:"isDataUrl",get:function(){return this._hasFlag(t.STATUS_FLAGS.DATA_URL)}},{key:"isComplete",get:function(){return this._hasFlag(t.STATUS_FLAGS.COMPLETE)}},{key:"isLoading",get:function(){return this._hasFlag(t.STATUS_FLAGS.LOADING)}}]),t}();function Vn(t,e,r){e&&0===e.indexOf(".")&&(e=e.substring(1)),e&&(t[e]=r)}function Wn(t){return t.toString().replace("object ","")}zn.STATUS_FLAGS={NONE:0,DATA_URL:1,COMPLETE:2,LOADING:4},zn.TYPE={UNKNOWN:0,JSON:1,XML:2,IMAGE:3,AUDIO:4,VIDEO:5,TEXT:6},zn.LOAD_TYPE={XHR:1,IMAGE:2,AUDIO:3,VIDEO:4},zn.XHR_RESPONSE_TYPE={DEFAULT:"text",BUFFER:"arraybuffer",BLOB:"blob",DOCUMENT:"document",JSON:"json",TEXT:"text"},zn._loadTypeMap={gif:zn.LOAD_TYPE.IMAGE,png:zn.LOAD_TYPE.IMAGE,bmp:zn.LOAD_TYPE.IMAGE,jpg:zn.LOAD_TYPE.IMAGE,jpeg:zn.LOAD_TYPE.IMAGE,tif:zn.LOAD_TYPE.IMAGE,tiff:zn.LOAD_TYPE.IMAGE,webp:zn.LOAD_TYPE.IMAGE,tga:zn.LOAD_TYPE.IMAGE,svg:zn.LOAD_TYPE.IMAGE,"svg+xml":zn.LOAD_TYPE.IMAGE,mp3:zn.LOAD_TYPE.AUDIO,ogg:zn.LOAD_TYPE.AUDIO,wav:zn.LOAD_TYPE.AUDIO,mp4:zn.LOAD_TYPE.VIDEO,webm:zn.LOAD_TYPE.VIDEO},zn._xhrTypeMap={xhtml:zn.XHR_RESPONSE_TYPE.DOCUMENT,html:zn.XHR_RESPONSE_TYPE.DOCUMENT,htm:zn.XHR_RESPONSE_TYPE.DOCUMENT,xml:zn.XHR_RESPONSE_TYPE.DOCUMENT,tmx:zn.XHR_RESPONSE_TYPE.DOCUMENT,svg:zn.XHR_RESPONSE_TYPE.DOCUMENT,tsx:zn.XHR_RESPONSE_TYPE.DOCUMENT,gif:zn.XHR_RESPONSE_TYPE.BLOB,png:zn.XHR_RESPONSE_TYPE.BLOB,bmp:zn.XHR_RESPONSE_TYPE.BLOB,jpg:zn.XHR_RESPONSE_TYPE.BLOB,jpeg:zn.XHR_RESPONSE_TYPE.BLOB,tif:zn.XHR_RESPONSE_TYPE.BLOB,tiff:zn.XHR_RESPONSE_TYPE.BLOB,webp:zn.XHR_RESPONSE_TYPE.BLOB,tga:zn.XHR_RESPONSE_TYPE.BLOB,json:zn.XHR_RESPONSE_TYPE.JSON,text:zn.XHR_RESPONSE_TYPE.TEXT,txt:zn.XHR_RESPONSE_TYPE.TEXT,ttf:zn.XHR_RESPONSE_TYPE.BUFFER,otf:zn.XHR_RESPONSE_TYPE.BUFFER},zn.EMPTY_GIF="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==";var qn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var Kn=window.URL||window.webkitURL;var Zn={caching:function(t,e){var r=this;kn[t.url]?(t.data=kn[t.url],t.complete()):t.onComplete.once(function(){return kn[r.url]=r.data}),e()},parsing:function(t,e){if(t.data){if(t.xhr&&t.xhrType===zn.XHR_RESPONSE_TYPE.BLOB)if(window.Blob&&"string"!=typeof t.data){if(0===t.data.type.indexOf("image")){var r=Kn.createObjectURL(t.data);return t.blob=t.data,t.data=new Image,t.data.src=r,t.type=zn.TYPE.IMAGE,void(t.data.onload=function(){Kn.revokeObjectURL(r),t.data.onload=null,e()})}}else{var i=t.xhr.getResponseHeader("content-type");if(i&&0===i.indexOf("image"))return t.data=new Image,t.data.src="data:"+i+";base64,"+function(t){for(var e="",r=0;r>2,n[1]=(3&i[0])<<4|i[1]>>4,n[2]=(15&i[1])<<2|i[2]>>6,n[3]=63&i[2],r-(t.length-1)){case 2:n[3]=64,n[2]=64;break;case 1:n[3]=64}for(var s=0;s16384&&(n=16384),s._properties=[!1,!0,!1,!1,!1],s._maxSize=r,s._batchSize=n,s._buffers=null,s._bufferUpdateIDs=[],s._updateID=0,s.interactiveChildren=!1,s.blendMode=t.BLEND_MODES.NORMAL,s.autoResize=o,s.roundPixels=!0,s.baseTexture=null,s.setProperties(i),s._tint=0,s.tintRgb=new Float32Array(4),s.tint=16777215,s}return oo(r,e),r.prototype.setProperties=function(t){t&&(this._properties[0]="vertices"in t||"scale"in t?!!t.vertices||!!t.scale:this._properties[0],this._properties[1]="position"in t?!!t.position:this._properties[1],this._properties[2]="rotation"in t?!!t.rotation:this._properties[2],this._properties[3]="uvs"in t?!!t.uvs:this._properties[3],this._properties[4]="tint"in t||"alpha"in t?!!t.tint||!!t.alpha:this._properties[4])},r.prototype.updateTransform=function(){this.displayObjectUpdateTransform()},Object.defineProperty(r.prototype,"tint",{get:function(){return this._tint},set:function(t){this._tint=t,kt(t,this.tintRgb)},enumerable:!1,configurable:!0}),r.prototype.render=function(t){var e=this;this.visible&&!(this.worldAlpha<=0)&&this.children.length&&this.renderable&&(this.baseTexture||(this.baseTexture=this.children[0]._texture.baseTexture,this.baseTexture.valid||this.baseTexture.once("update",function(){return e.onChildrenChange(0)})),t.batch.setObjectRenderer(t.plugins.particle),t.plugins.particle.render(this))},r.prototype.onChildrenChange=function(t){for(var e=Math.floor(t/this._batchSize);this._bufferUpdateIDs.lengthr&&!t.autoResize&&(o=r);var s=t._buffers;s||(s=t._buffers=this.generateBuffers(t));var a=e[0]._texture.baseTexture;this.state.blendMode=Yt(t.blendMode,a.alphaMode),n.state.set(this.state);var h=n.gl,u=t.worldTransform.copyTo(this.tempMatrix);u.prepend(n.globalUniforms.uniforms.projectionMatrix),this.shader.uniforms.translationMatrix=u.toArray(!0),this.shader.uniforms.uColor=zt(t.tintRgb,t.worldAlpha,this.shader.uniforms.uColor,a.alphaMode),this.shader.uniforms.uSampler=a,this.renderer.shader.bind(this.shader);for(var l=!1,c=0,d=0;ci&&(p=i),d>=s.length&&s.push(this._generateOneMoreBuffer(t));var f=s[d];f.uploadDynamic(e,c,p);var m=t._bufferUpdateIDs[d]||0;(l=l||f._updateID0,u=a.alpha,l=u<1&&h?Vt(a._tintRGB,u):a._tintRGB+(255*u<<24);i[o]=l,i[o+n]=l,i[o+2*n]=l,i[o+3*n]=l,o+=4*n}},r.prototype.destroy=function(){e.prototype.destroy.call(this),this.shader&&(this.shader.destroy(),this.shader=null),this.tempMatrix=null},r}($r);(so=t.LINE_JOIN||(t.LINE_JOIN={})).MITER="miter",so.BEVEL="bevel",so.ROUND="round",(ao=t.LINE_CAP||(t.LINE_CAP={})).BUTT="butt",ao.ROUND="round",ao.SQUARE="square";var fo={adaptive:!0,maxLength:10,minSegments:8,maxSegments:2048,epsilon:1e-4,_segmentsCount:function(t,e){if(void 0===e&&(e=20),!this.adaptive||!t||isNaN(t))return e;var r=Math.ceil(t/this.maxLength);return rthis.maxSegments&&(r=this.maxSegments),r}},mo=function(){function t(){this.color=16777215,this.alpha=1,this.texture=Lr.WHITE,this.matrix=null,this.visible=!1,this.reset()}return t.prototype.clone=function(){var e=new t;return e.color=this.color,e.alpha=this.alpha,e.texture=this.texture,e.matrix=this.matrix,e.visible=this.visible,e},t.prototype.reset=function(){this.color=16777215,this.alpha=1,this.texture=Lr.WHITE,this.matrix=null,this.visible=!1},t.prototype.destroy=function(){this.texture=null,this.matrix=null},t}(),vo=function(t,e){return(vo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};function go(t,e){function r(){this.constructor=t}vo(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}var yo={build:function(t){t.points=t.shape.points.slice()},triangulate:function(t,e){var r=t.points,i=t.holes,n=e.points,o=e.indices;if(r.length>=6){for(var s=[],a=0;ac&&(c+=2*Math.PI);var d=l,p=c-l,f=Math.abs(p),m=Math.sqrt(h*h+u*u),v=1+(15*f*Math.sqrt(m)/Math.PI>>0),g=p/v;if(d+=g,a){s.push(t,e),s.push(r,i);for(var y=1,_=d;y_?(X?(p.push(V,W),p.push(E+P*R,T+I*R),p.push(V,W),p.push(E+A*R,T+O*R)):(p.push(E-P*C,T-I*C),p.push(q,K),p.push(E-A*C,T-O*C),p.push(q,K)),m+=2):s.join===t.LINE_JOIN.ROUND?X?(p.push(V,W),p.push(E+P*R,T+I*R),m+=wo(E,T,E+P*R,T+I*R,E+A*R,T+O*R,p,!0)+4,p.push(V,W),p.push(E+A*R,T+O*R)):(p.push(E-P*C,T-I*C),p.push(q,K),m+=wo(E,T,E-P*C,T-I*C,E-A*C,T-O*C,p,!1)+4,p.push(E-A*C,T-O*C),p.push(q,K)):(p.push(V,W),p.push(q,K)):(p.push(E-P*C,T-I*C),p.push(E+P*R,T+I*R),s.join===t.LINE_JOIN.BEVEL||z/y>_||(s.join===t.LINE_JOIN.ROUND?m+=X?wo(E,T,E+P*R,T+I*R,E+A*R,T+O*R,p,!0)+2:wo(E,T,E-P*C,T-I*C,E-A*C,T-O*C,p,!1)+2:(X?(p.push(q,K),p.push(q,K)):(p.push(V,W),p.push(V,W)),m+=2)),p.push(E-A*C,T-O*C),p.push(E+A*R,T+O*R),m+=2)}}x=n[2*(f-2)],b=n[2*(f-2)+1],E=n[2*(f-1)],P=-(b-(T=n[2*(f-1)+1])),I=x-E,P/=M=Math.sqrt(P*P+I*I),I/=M,P*=g,I*=g,p.push(E-P*C,T-I*C),p.push(E+P*R,T+I*R),u||(s.cap===t.LINE_CAP.ROUND?m+=wo(E-P*(C-R)*.5,T-I*(C-R)*.5,E-P*C,T-I*C,E+P*R,T+I*R,p,!1)+2:s.cap===t.LINE_CAP.SQUARE&&(m+=So(E,T,P,I,C,R,!1,p)));var J=r.indices,Q=fo.epsilon*fo.epsilon;for(L=v;Ll*a}},t.arc=function(t,e,r,i,n,o,s,a,h){for(var u=s-o,l=fo._segmentsCount(Math.abs(u)*n,40*Math.ceil(Math.abs(u)/ge)),c=u/(2*l),d=2*c,p=Math.cos(c),f=Math.sin(c),m=l-1,v=m%1/m,g=0;g<=m;++g){var y=c+o+d*(g+v*g),_=Math.cos(y),x=-Math.sin(y);h.push((p*_+f*x)*n+r,(p*-x+f*_)*n+i)}},t}(),Mo=function(){function t(){}return t.curveLength=function(t,e,r,i,n,o,s,a){for(var h=0,u=0,l=0,c=0,d=0,p=0,f=0,m=0,v=0,g=0,y=0,_=t,x=e,b=1;b<=10;++b)g=_-(m=(f=(p=(d=1-(u=b/10))*d)*d)*t+3*p*u*r+3*d*(l=u*u)*n+(c=l*u)*s),y=x-(v=f*e+3*p*u*i+3*d*l*o+c*a),_=m,x=v,h+=Math.sqrt(g*g+y*y);return h},t.curveTo=function(e,r,i,n,o,s,a){var h=a[a.length-2],u=a[a.length-1];a.length-=2;var l=fo._segmentsCount(t.curveLength(h,u,e,r,i,n,o,s)),c=0,d=0,p=0,f=0,m=0;a.push(h,u);for(var v=1,g=0;v<=l;++v)p=(d=(c=1-(g=v/l))*c)*c,m=(f=g*g)*g,a.push(p*h+3*d*g*e+3*c*f*i+m*o,p*u+3*d*g*r+3*c*f*n+m*s)},t}(),Do=function(){function t(){}return t.curveLength=function(t,e,r,i,n,o){var s=t-2*r+n,a=e-2*i+o,h=2*r-2*t,u=2*i-2*e,l=4*(s*s+a*a),c=4*(s*h+a*u),d=h*h+u*u,p=2*Math.sqrt(l+c+d),f=Math.sqrt(l),m=2*l*f,v=2*Math.sqrt(d),g=c/f;return(m*p+f*c*(p-v)+(4*d*l-c*c)*Math.log((2*f+g+p)/(g+v)))/(4*m)},t.curveTo=function(e,r,i,n,o){for(var s=o[o.length-2],a=o[o.length-1],h=fo._segmentsCount(t.curveLength(s,a,e,r,i,n)),u=0,l=0,c=1;c<=h;++c){var d=c/h;u=s+(e-s)*d,l=a+(r-a)*d,o.push(u+(e+(i-e)*d-u)*d,l+(r+(n-r)*d-l)*d)}},t}(),Co=function(){function t(){this.reset()}return t.prototype.begin=function(t,e,r){this.reset(),this.style=t,this.start=e,this.attribStart=r},t.prototype.end=function(t,e){this.attribSize=e-this.attribStart,this.size=t-this.start},t.prototype.reset=function(){this.style=null,this.size=0,this.start=0,this.attribStart=0,this.attribSize=0},t}(),Ro=((Io={})[t.SHAPES.POLY]=yo,Io[t.SHAPES.CIRC]=_o,Io[t.SHAPES.ELIP]=_o,Io[t.SHAPES.RECT]=xo,Io[t.SHAPES.RREC]=To,Io),Lo=[],No=[],Fo={buildPoly:yo,buildCircle:_o,buildRectangle:xo,buildRoundedRectangle:To,FILL_COMMANDS:Ro,BATCH_POOL:Lo,DRAW_CALL_POOL:No,buildLine:Po,Star:Ao,ArcUtils:Oo,BezierUtils:Mo,QuadraticUtils:Do,BatchPart:Co},Bo=function(){function t(t,e,r,i){void 0===e&&(e=null),void 0===r&&(r=null),void 0===i&&(i=null),this.shape=t,this.lineStyle=r,this.fillStyle=e,this.matrix=i,this.type=t.type,this.points=[],this.holes=[]}return t.prototype.clone=function(){return new t(this.shape,this.fillStyle,this.lineStyle,this.matrix)},t.prototype.destroy=function(){this.shape=null,this.holes.length=0,this.holes=null,this.points.length=0,this.points=null,this.lineStyle=null,this.fillStyle=null},t}(),Uo=new we,ko=new Be,Xo=function(e){function r(){var t=e.call(this)||this;return t.uvsFloat32=null,t.indicesUint16=null,t.points=[],t.colors=[],t.uvs=[],t.indices=[],t.textureIds=[],t.graphicsData=[],t.dirty=0,t.batchDirty=-1,t.cacheDirty=-1,t.clearDirty=0,t.drawCalls=[],t.batches=[],t.shapeIndex=0,t._bounds=new Be,t.boundsDirty=-1,t.boundsPadding=0,t.batchable=!1,t.indicesUint16=null,t.uvsFloat32=null,t.closePointEps=1e-4,t}return go(r,e),Object.defineProperty(r.prototype,"bounds",{get:function(){return this.boundsDirty!==this.dirty&&(this.boundsDirty=this.dirty,this.calculateBounds()),this._bounds},enumerable:!1,configurable:!0}),r.prototype.invalidate=function(){this.boundsDirty=-1,this.dirty++,this.batchDirty++,this.shapeIndex=0,this.points.length=0,this.colors.length=0,this.uvs.length=0,this.indices.length=0,this.textureIds.length=0;for(var t=0;t0&&(this.invalidate(),this.clearDirty++,this.graphicsData.length=0),this},r.prototype.drawShape=function(t,e,r,i){void 0===e&&(e=null),void 0===r&&(r=null),void 0===i&&(i=null);var n=new Bo(t,e,r,i);return this.graphicsData.push(n),this.dirty++,this},r.prototype.drawHole=function(t,e){if(void 0===e&&(e=null),!this.graphicsData.length)return null;var r=new Bo(t,null,null,e),i=this.graphicsData[this.graphicsData.length-1];return r.lineStyle=i.lineStyle,i.holes.push(r),this.dirty++,this},r.prototype.destroy=function(){e.prototype.destroy.call(this);for(var t=0;t0&&(o=(n=this.batches[this.batches.length-1]).style);for(var s=this.shapeIndex;s65535&&e;this.indicesUint16=y?new Uint32Array(this.indices):new Uint16Array(this.indices)}this.batchable=this.isBatchable(),this.batchable?this.packBatches():this.buildDrawCalls()}else this.batchable=!0}}else this.batchable=!0},r.prototype._compareStyles=function(t,e){return!(!t||!e)&&(t.texture.baseTexture===e.texture.baseTexture&&(t.color+t.alpha===e.color+e.alpha&&!!t.native==!!e.native))},r.prototype.validateBatching=function(){if(this.dirty===this.cacheDirty||!this.graphicsData.length)return!1;for(var t=0,e=this.graphicsData.length;t131070)return!1;for(var t=this.batches,e=0;e0&&((o=No.pop())||((o=new _n).texArray=new xn),this.drawCalls.push(o)),o.start=c,o.size=0,o.texArray.count=0,o.type=l),f.touched=1,f._batchEnabled=e,f._batchLocation=s,f.wrapMode=10497,o.texArray.elements[o.texArray.count++]=f,s++)),o.size+=d.size,c+=d.size,h=f._batchLocation,this.addColors(i,p.color,p.alpha,d.attribSize,d.attribStart),this.addTextureIds(n,h,d.attribSize,d.attribStart)}gr._globalBatch=e,this.packAttributes()},r.prototype.packAttributes=function(){for(var t=this.points,e=this.uvs,r=this.colors,i=this.textureIds,n=new ArrayBuffer(3*t.length*4),o=new Float32Array(n),s=new Uint32Array(n),a=0,h=0;h>16)+(65280&e)+((255&e)<<16),r);t.length=Math.max(t.length,n+i);for(var s=0;s0&&e.alpha>0;return l?(e.matrix&&(e.matrix=e.matrix.clone(),e.matrix.invert()),Object.assign(this._lineStyle,{visible:l},e)):this._lineStyle.reset(),this},r.prototype.startPoly=function(){if(this.currentPath){var t=this.currentPath.points,e=this.currentPath.points.length;e>2&&(this.drawShape(this.currentPath),this.currentPath=new Te,this.currentPath.closeStroke=!1,this.currentPath.points.push(t[e-2],t[e-1]))}else this.currentPath=new Te,this.currentPath.closeStroke=!1},r.prototype.finishPoly=function(){this.currentPath&&(this.currentPath.points.length>2?(this.drawShape(this.currentPath),this.currentPath=null):this.currentPath.points.length=0)},r.prototype.moveTo=function(t,e){return this.startPoly(),this.currentPath.points[0]=t,this.currentPath.points[1]=e,this},r.prototype.lineTo=function(t,e){this.currentPath||this.moveTo(0,0);var r=this.currentPath.points,i=r[r.length-2],n=r[r.length-1];return i===t&&n===e||r.push(t,e),this},r.prototype._initCurve=function(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.currentPath?0===this.currentPath.points.length&&(this.currentPath.points=[t,e]):this.moveTo(t,e)},r.prototype.quadraticCurveTo=function(t,e,r,i){this._initCurve();var n=this.currentPath.points;return 0===n.length&&this.moveTo(0,0),Do.curveTo(t,e,r,i,n),this},r.prototype.bezierCurveTo=function(t,e,r,i,n,o){return this._initCurve(),Mo.curveTo(t,e,r,i,n,o,this.currentPath.points),this},r.prototype.arcTo=function(t,e,r,i,n){this._initCurve(t,e);var o=this.currentPath.points,s=Oo.curveTo(t,e,r,i,n,o);if(s){var a=s.cx,h=s.cy,u=s.radius,l=s.startAngle,c=s.endAngle,d=s.anticlockwise;this.arc(a,h,u,l,c,d)}return this},r.prototype.arc=function(t,e,r,i,n,o){if(void 0===o&&(o=!1),i===n)return this;if(!o&&n<=i?n+=ge:o&&i<=n&&(i+=ge),0===n-i)return this;var s=t+Math.cos(i)*r,a=e+Math.sin(i)*r,h=this._geometry.closePointEps,u=this.currentPath?this.currentPath.points:null;if(u){var l=Math.abs(u[u.length-2]-s),c=Math.abs(u[u.length-1]-a);l0;return s?(t.matrix&&(t.matrix=t.matrix.clone(),t.matrix.invert()),Object.assign(this._fillStyle,{visible:s},t)):this._fillStyle.reset(),this},r.prototype.endFill=function(){return this.finishPoly(),this._fillStyle.reset(),this},r.prototype.drawRect=function(t,e,r,i){return this.drawShape(new xe(t,e,r,i))},r.prototype.drawRoundedRect=function(t,e,r,i,n){return this.drawShape(new Se(t,e,r,i,n))},r.prototype.drawCircle=function(t,e,r){return this.drawShape(new be(t,e,r))},r.prototype.drawEllipse=function(t,e,r,i){return this.drawShape(new Ee(t,e,r,i))},r.prototype.drawPolygon=function(){for(var t,e=arguments,r=[],i=0;i>16&255)/255*n,o.tint[1]=(i>>8&255)/255*n,o.tint[2]=(255&i)/255*n,o.tint[3]=n,t.shader.bind(e),t.geometry.bind(r,e),t.state.set(this.state);for(var a=0,h=s.length;a>16)+(65280&n)+((255&n)<<16)}}},r.prototype.calculateVertices=function(){var t=this.transform._worldID;if(this._transformID!==t){this._transformID=t;for(var e=this.transform.worldTransform,r=e.a,i=e.b,n=e.c,o=e.d,s=e.tx,a=e.ty,h=this._geometry.points,u=this.vertexData,l=0,c=0;c=i&&Wo.x=n&&Wo.y>16)+(65280&t)+((255&t)<<16)},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"texture",{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture&&this._texture.off("update",this._onTextureUpdate,this),this._texture=t||Lr.EMPTY,this._cachedTint=16777215,this._textureID=-1,this._textureTrimmedID=-1,t&&(t.baseTexture.valid?this._onTextureUpdate():t.once("update",this._onTextureUpdate,this)))},enumerable:!1,configurable:!0}),r}(Ge),Zo=function(t,e){return(Zo=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};(Vo=t.TEXT_GRADIENT||(t.TEXT_GRADIENT={}))[Vo.LINEAR_VERTICAL=0]="LINEAR_VERTICAL",Vo[Vo.LINEAR_HORIZONTAL=1]="LINEAR_HORIZONTAL";var Jo={align:"left",breakWords:!1,dropShadow:!1,dropShadowAlpha:1,dropShadowAngle:Math.PI/6,dropShadowBlur:0,dropShadowColor:"black",dropShadowDistance:5,fill:"black",fillGradientType:t.TEXT_GRADIENT.LINEAR_VERTICAL,fillGradientStops:[],fontFamily:"Arial",fontSize:26,fontStyle:"normal",fontVariant:"normal",fontWeight:"normal",letterSpacing:0,lineHeight:0,lineJoin:"miter",miterLimit:10,padding:0,stroke:"black",strokeThickness:0,textBaseline:"alphabetic",trim:!1,whiteSpace:"pre",wordWrap:!1,wordWrapWidth:100,leading:0},Qo=["serif","sans-serif","monospace","cursive","fantasy","system-ui"],$o=function(){function t(t){this.styleID=0,this.reset(),rs(this,t,t)}return t.prototype.clone=function(){var e={};return rs(e,this,Jo),new t(e)},t.prototype.reset=function(){rs(this,Jo,Jo)},Object.defineProperty(t.prototype,"align",{get:function(){return this._align},set:function(t){this._align!==t&&(this._align=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"breakWords",{get:function(){return this._breakWords},set:function(t){this._breakWords!==t&&(this._breakWords=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadow",{get:function(){return this._dropShadow},set:function(t){this._dropShadow!==t&&(this._dropShadow=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowAlpha",{get:function(){return this._dropShadowAlpha},set:function(t){this._dropShadowAlpha!==t&&(this._dropShadowAlpha=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowAngle",{get:function(){return this._dropShadowAngle},set:function(t){this._dropShadowAngle!==t&&(this._dropShadowAngle=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowBlur",{get:function(){return this._dropShadowBlur},set:function(t){this._dropShadowBlur!==t&&(this._dropShadowBlur=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowColor",{get:function(){return this._dropShadowColor},set:function(t){var e=es(t);this._dropShadowColor!==e&&(this._dropShadowColor=e,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"dropShadowDistance",{get:function(){return this._dropShadowDistance},set:function(t){this._dropShadowDistance!==t&&(this._dropShadowDistance=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fill",{get:function(){return this._fill},set:function(t){var e=es(t);this._fill!==e&&(this._fill=e,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fillGradientType",{get:function(){return this._fillGradientType},set:function(t){this._fillGradientType!==t&&(this._fillGradientType=t,this.styleID++)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"fillGradientStops",{get:function(){return this._fillGradientStops},set:function(t){(function(t,e){if(!Array.isArray(t)||!Array.isArray(e))return!1;if(t.length!==e.length)return!1;for(var r=0;r=0;r--){var i=e[r].trim();!/([\"\'])[^\'\"]+\1/.test(i)&&Qo.indexOf(i)<0&&(i='"'+i+'"'),e[r]=i}return this.fontStyle+" "+this.fontVariant+" "+this.fontWeight+" "+t+" "+e.join(",")},t}();function ts(t){return"number"==typeof t?Xt(t):("string"==typeof t&&0===t.indexOf("0x")&&(t=t.replace("0x","#")),t)}function es(t){if(Array.isArray(t)){for(var e=0;ef)if(""!==s&&(a+=t.addLine(s),s="",o=0),t.canBreakWords(g,r.breakWords))for(var b=t.wordWrapSplit(g),E=0;Ef&&(a+=t.addLine(s),p=!1,s="",o=0),s+=T,o+=I}else{s.length>0&&(a+=t.addLine(s),s="",o=0);var A=v===m.length-1;a+=t.addLine(g,!A),p=!1,s="",o=0}else x+o>f&&(p=!1,a+=t.addLine(s),s="",o=0),(s.length>0||!t.isBreakingSpace(g)||p)&&(s+=g,o+=x)}return a+=t.addLine(s,!1)},t.addLine=function(e,r){return void 0===r&&(r=!0),e=t.trimRight(e),e=r?e+"\n":e},t.getFromCache=function(t,e,r,i){var n=r[t];if("number"!=typeof n){var o=t.length*e;n=i.measureText(t).width+o,r[t]=n}return n},t.collapseSpaces=function(t){return"normal"===t||"pre-line"===t},t.collapseNewlines=function(t){return"normal"===t},t.trimRight=function(e){if("string"!=typeof e)return"";for(var r=e.length-1;r>=0;r--){var i=e[r];if(!t.isBreakingSpace(i))break;e=e.slice(0,-1)}return e},t.isNewline=function(e){return"string"==typeof e&&t._newlines.indexOf(e.charCodeAt(0))>=0},t.isBreakingSpace=function(e){return"string"==typeof e&&t._breakingSpaces.indexOf(e.charCodeAt(0))>=0},t.tokenize=function(e){var r=[],i="";if("string"!=typeof e)return r;for(var n=0;na;--d){for(m=0;m0},t}();function us(t,e){var r=!1;if(t&&t._textures&&t._textures.length)for(var i=0;i=0;e--)this.add(t.children[e]);return this},e.prototype.destroy=function(){this.ticking&&Qe.system.remove(this.tick,this),this.ticking=!1,this.addHooks=null,this.uploadHooks=null,this.renderer=null,this.completes=null,this.queue=null,this.limiter=null,this.uploadHookHelper=null},e}();function gs(t,e){return e instanceof gr&&(e._glTextures[t.CONTEXT_UID]||t.texture.bind(e),!0)}function ys(t,e){if(!(e instanceof Yo))return!1;var r=e.geometry;e.finishPoly(),r.updateBatches();for(var i=r.batches,n=0;n=i&&Ps.x=n&&Ps.y>16)+(65280&t)+((255&t)<<16),this._colorDirty=!0)},enumerable:!1,configurable:!0}),e.prototype.update=function(){if(this._colorDirty){this._colorDirty=!1;var t=this.texture.baseTexture;Wt(this._tint,this._alpha,this.uniforms.uColor,t.alphaMode)}this.uvMatrix.update()&&(this.uniforms.uTextureMatrix=this.uvMatrix.mapCoord)},e}(Li),Hs=function(e){function r(r,i,n){var o=e.call(this)||this,s=new Xr(r),a=new Xr(i,!0),h=new Xr(n,!0,!0);return o.addAttribute("aVertexPosition",s,2,!1,t.TYPES.FLOAT).addAttribute("aTextureCoord",a,2,!1,t.TYPES.FLOAT).addIndex(h),o._updateId=-1,o}return Ls(r,e),Object.defineProperty(r.prototype,"vertexDirtyId",{get:function(){return this.buffers[0]._updateID},enumerable:!1,configurable:!0}),r}(Vr),Gs=function(t,e){return(Gs=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var Ys=function(){return function(){this.info=[],this.common=[],this.page=[],this.char=[],this.kerning=[]}}(),zs=function(){function t(){}return t.test=function(t){return"string"==typeof t&&0===t.indexOf("info face=")},t.parse=function(t){var e=t.match(/^[a-z]+\s+.+$/gm),r={info:[],common:[],page:[],char:[],chars:[],kerning:[],kernings:[]};for(var i in e){var n=e[i].match(/^[a-z]+/gm)[0],o=e[i].match(/[a-zA-Z]+=([^\s"']+|"([^"]*)")/gm),s={};for(var a in o){var h=o[a].split("="),u=h[0],l=h[1].replace(/"/gm,""),c=parseFloat(l),d=isNaN(c)?l:c;s[u]=d}r[n].push(s)}var p=new Ys;return r.info.forEach(function(t){return p.info.push({face:t.face,size:parseInt(t.size,10)})}),r.common.forEach(function(t){return p.common.push({lineHeight:parseInt(t.lineHeight,10)})}),r.page.forEach(function(t){return p.page.push({id:parseInt(t.id,10),file:t.file})}),r.char.forEach(function(t){return p.char.push({id:parseInt(t.id,10),page:parseInt(t.page,10),x:parseInt(t.x,10),y:parseInt(t.y,10),width:parseInt(t.width,10),height:parseInt(t.height,10),xoffset:parseInt(t.xoffset,10),yoffset:parseInt(t.yoffset,10),xadvance:parseInt(t.xadvance,10)})}),r.kerning.forEach(function(t){return p.kerning.push({first:parseInt(t.first,10),second:parseInt(t.second,10),amount:parseInt(t.amount,10)})}),p},t}(),Vs=function(){function t(){}return t.test=function(t){return t instanceof XMLDocument&&t.getElementsByTagName("page").length&&null!==t.getElementsByTagName("info")[0].getAttribute("face")},t.parse=function(t){for(var e=new Ys,r=t.getElementsByTagName("info"),i=t.getElementsByTagName("common"),n=t.getElementsByTagName("page"),o=t.getElementsByTagName("char"),s=t.getElementsByTagName("kerning"),a=0;a")>-1){var e=(new self.DOMParser).parseFromString(t,"text/xml");return Vs.test(e)}return!1},t.parse=function(t){var e=(new window.DOMParser).parseFromString(t,"text/xml");return Vs.parse(e)},t}(),qs=[zs,Vs,Ws];function Ks(t){for(var e=0;e=u-S*a){if(0===y)throw new Error("[BitmapFont] textureHeight "+u+"px is too small for "+c.fontSize+"px fonts");--b,f=null,m=null,v=null,y=0,g=0,_=0}else if(_=Math.max(S+E.fontProperties.descent,_),w*a+g>=d)--b,y+=_*a,y=Math.ceil(y),g=0,_=0;else{Zs(f,m,E,g,y,a,c);var P=E.text.charCodeAt(0);p.char.push({id:P,page:x.length-1,x:g/a,y:y/a,width:w,height:S,xoffset:0,yoffset:0,xadvance:Math.ceil(T-(c.dropShadow?c.dropShadowDistance:0)-(c.stroke?c.strokeThickness:0))}),g+=(w+2*s)*a,g=Math.ceil(g)}}var I=new t(p,x,!0);return void 0!==t.available[e]&&t.uninstall(e),t.available[e]=I,I},t.ALPHA=[["a","z"],["A","Z"]," "],t.NUMERIC=[["0","9"]],t.ALPHANUMERIC=[["a","z"],["A","Z"],["0","9"]," "],t.ASCII=[[" ","~"]],t.defaultOptions={resolution:1,textureWidth:512,textureHeight:512,padding:4,chars:t.ALPHANUMERIC},t.available={},t}(),Qs=[],$s=[],ta=function(t){function e(r,i){void 0===i&&(i={});var n=t.call(this)||this;n._tint=16777215,i.font&&(oe("5.3.0","PIXI.BitmapText constructor style.font property is deprecated."),n._upgradeStyle(i));var o=Object.assign({},e.styleDefaults,i),s=o.align,a=o.tint,h=o.maxWidth,u=o.letterSpacing,l=o.fontName,c=o.fontSize;if(!Js.available[l])throw new Error('Missing BitmapFont "'+l+'"');return n._activePagesMeshData=[],n._textWidth=0,n._textHeight=0,n._align=s,n._tint=a,n._fontName=l,n._fontSize=c||Js.available[l].size,n._text=r,n._maxWidth=h,n._maxLineHeight=0,n._letterSpacing=u,n._anchor=new Pe(function(){n.dirty=!0},n,0,0),n._roundPixels=D.ROUND_PIXELS,n.dirty=!0,n._textureCache={},n}return function(t,e){function r(){this.constructor=t}Gs(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),e.prototype.updateText=function(){for(var t,e=Js.available[this._fontName],r=this._fontSize/e.size,i=new we,n=[],o=[],s=this._text.replace(/(?:\r\n|\r)/g,"\n")||" ",a=s.length,h=this._maxWidth*e.size/this._fontSize,u=null,l=0,c=0,d=0,p=-1,f=0,m=0,v=0,g=0;g0&&i.x>h&&(te(n,1+p-++m,1+g-p),g=p,p=-1,o.push(f),c=Math.max(c,f),d++,i.x=0,i.y+=e.lineHeight,u=null)}}else o.push(l),c=Math.max(c,l),++d,++m,i.x=0,i.y+=e.lineHeight,u=null}var E=s.charAt(s.length-1);"\r"!==E&&"\n"!==E&&(/(?:\s)/.test(E)&&(l=f),o.push(l),c=Math.max(c,l));var T=[];for(g=0;g<=d;g++){var S=0;"right"===this._align?S=c-o[g]:"center"===this._align&&(S=(c-o[g])/2),T.push(S)}var w=n.length,P={},I=[],A=this._activePagesMeshData;for(g=0;g6*R)||z.vertices.length<2*Us.BATCHABLE_SIZE)z.vertices=new Float32Array(8*R),z.uvs=new Float32Array(8*R),z.indices=new Uint16Array(6*R);else for(var L=z.total,N=z.vertices,F=4*L*2;F=2&&(t.fontSize=parseInt(e[0],10))}else t.fontName=t.font.name,t.fontSize="number"==typeof t.font.size?t.font.size:parseInt(t.font.size,10)},e.prototype.destroy=function(e){var r=this._textureCache;for(var i in r){r[i].destroy(),delete r[i]}this._textureCache=null,t.prototype.destroy.call(this,e)},e.registerFont=function(t,e){return oe("5.3.0","PIXI.BitmapText.registerFont is deprecated, use PIXI.BitmapFont.install"),Js.install(t,e)},Object.defineProperty(e,"fonts",{get:function(){return oe("5.3.0","PIXI.BitmapText.fonts is deprecated, use PIXI.BitmapFont.available"),Js.available},enumerable:!1,configurable:!0}),e.styleDefaults={align:"left",tint:16777215,maxWidth:0,letterSpacing:0},e}(Ge),ea=function(){function t(){}return t.add=function(){$n.setExtensionXhrType("fnt",$n.XHR_RESPONSE_TYPE.TEXT)},t.use=function(e,r){var i=Ks(e.data);if(i)for(var n=t.getBaseUrl(this,e),o=i.parse(e.data),s={},a=function(t){s[t.metadata.pageFile]=t.texture,Object.keys(s).length===o.page.length&&(e.bitmapFont=Js.install(o,s,!0),r())},h=0;h=i&&(e=t-s-1),o+=a=a.replace("%value%",r[e].toString()),o+="\n"}return n=(n=n.replace("%blur%",o)).replace("%size%",t.toString())}(o);return(s=t.call(this,a,h)||this).horizontal=e,s.resolution=n,s._quality=0,s.quality=i,s.blur=r,s}return sa(e,t),e.prototype.apply=function(t,e,r,i){if(r?this.horizontal?this.uniforms.strength=1/r.width*(r.width/e.width):this.uniforms.strength=1/r.height*(r.height/e.height):this.horizontal?this.uniforms.strength=1/t.renderer.width*(t.renderer.width/e.width):this.uniforms.strength=1/t.renderer.height*(t.renderer.height/e.height),this.uniforms.strength*=this.strength,this.uniforms.strength/=this.passes,1===this.passes)t.applyFilter(this,e,r,i);else{var n=t.getFilterTexture(),o=t.renderer,s=e,a=n;this.state.blend=!1,t.applyFilter(this,s,a,xa.CLEAR);for(var h=1;h>16&255)/255,s=(r>>8&255)/255,a=(255&r)/255,h=((i=i||3375104)>>16&255)/255,u=(i>>8&255)/255,l=(255&i)/255,c=[.3,.59,.11,0,0,o,s,a,t=t||.2,0,h,u,l,e=e||.15,0,o-h,s-u,a-l,0,0];this._loadMatrix(c,n)},e.prototype.night=function(t,e){var r=[-2*(t=t||.1),-t,0,0,0,-t,0,t,0,0,0,t,2*t,0,0,0,0,0,1,0];this._loadMatrix(r,e)},e.prototype.predator=function(t,e){var r=[11.224130630493164*t,-4.794486999511719*t,-2.8746118545532227*t,0*t,.40342438220977783*t,-3.6330697536468506*t,9.193157196044922*t,-2.951810836791992*t,0*t,-1.316135048866272*t,-3.2184197902679443*t,-4.2375030517578125*t,7.476448059082031*t,0*t,.8044459223747253*t,0,0,0,1,0];this._loadMatrix(r,e)},e.prototype.lsd=function(t){this._loadMatrix([2,-.4,.5,0,0,-.5,2,-.4,0,0,-.4,-.5,3,0,0,0,0,0,1,0],t)},e.prototype.reset=function(){this._loadMatrix([1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0],!1)},Object.defineProperty(e.prototype,"matrix",{get:function(){return this.uniforms.m},set:function(t){this.uniforms.m=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"alpha",{get:function(){return this.uniforms.uAlpha},set:function(t){this.uniforms.uAlpha=t},enumerable:!1,configurable:!0}),e}(Fi);Da.prototype.grayscale=Da.prototype.greyscale;var Ca=function(t,e){return(Ca=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var Ra="varying vec2 vFilterCoord;\nvarying vec2 vTextureCoord;\n\nuniform vec2 scale;\nuniform mat2 rotation;\nuniform sampler2D uSampler;\nuniform sampler2D mapSampler;\n\nuniform highp vec4 inputSize;\nuniform vec4 inputClamp;\n\nvoid main(void)\n{\n vec4 map = texture2D(mapSampler, vFilterCoord);\n\n map -= 0.5;\n map.xy = scale * inputSize.zw * (rotation * map.xy);\n\n gl_FragColor = texture2D(uSampler, clamp(vec2(vTextureCoord.x + map.x, vTextureCoord.y + map.y), inputClamp.xy, inputClamp.zw));\n}\n",La="attribute vec2 aVertexPosition;\n\nuniform mat3 projectionMatrix;\nuniform mat3 filterMatrix;\n\nvarying vec2 vTextureCoord;\nvarying vec2 vFilterCoord;\n\nuniform vec4 inputSize;\nuniform vec4 outputFrame;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n\n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n}\n\nvec2 filterTextureCoord( void )\n{\n return aVertexPosition * (outputFrame.zw * inputSize.zw);\n}\n\nvoid main(void)\n{\n\tgl_Position = filterVertexPosition();\n\tvTextureCoord = filterTextureCoord();\n\tvFilterCoord = ( filterMatrix * vec3( vTextureCoord, 1.0) ).xy;\n}\n",Na=function(t){function e(e,r){var i=this,n=new Ie;return e.renderable=!1,(i=t.call(this,La,Ra,{mapSampler:e._texture,filterMatrix:n,scale:{x:1,y:1},rotation:new Float32Array([1,0,0,1])})||this).maskSprite=e,i.maskMatrix=n,null==r&&(r=20),i.scale=new we(r,r),i}return function(t,e){function r(){this.constructor=t}Ca(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),e.prototype.apply=function(t,e,r,i){this.uniforms.filterMatrix=t.calculateSpriteMatrix(this.maskMatrix,this.maskSprite),this.uniforms.scale.x=this.scale.x,this.uniforms.scale.y=this.scale.y;var n=this.maskSprite.worldTransform,o=Math.sqrt(n.a*n.a+n.b*n.b),s=Math.sqrt(n.c*n.c+n.d*n.d);0!==o&&0!==s&&(this.uniforms.rotation[0]=n.a/o,this.uniforms.rotation[1]=n.b/o,this.uniforms.rotation[2]=n.c/s,this.uniforms.rotation[3]=n.d/s),t.applyFilter(this,e,r,i)},Object.defineProperty(e.prototype,"map",{get:function(){return this.uniforms.mapSampler},set:function(t){this.uniforms.mapSampler=t},enumerable:!1,configurable:!0}),e}(Fi),Fa=function(t,e){return(Fa=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var Ba="\nattribute vec2 aVertexPosition;\n\nuniform mat3 projectionMatrix;\n\nvarying vec2 v_rgbNW;\nvarying vec2 v_rgbNE;\nvarying vec2 v_rgbSW;\nvarying vec2 v_rgbSE;\nvarying vec2 v_rgbM;\n\nvarying vec2 vFragCoord;\n\nuniform vec4 inputPixel;\nuniform vec4 outputFrame;\n\nvec4 filterVertexPosition( void )\n{\n vec2 position = aVertexPosition * max(outputFrame.zw, vec2(0.)) + outputFrame.xy;\n\n return vec4((projectionMatrix * vec3(position, 1.0)).xy, 0.0, 1.0);\n}\n\nvoid texcoords(vec2 fragCoord, vec2 inverseVP,\n out vec2 v_rgbNW, out vec2 v_rgbNE,\n out vec2 v_rgbSW, out vec2 v_rgbSE,\n out vec2 v_rgbM) {\n v_rgbNW = (fragCoord + vec2(-1.0, -1.0)) * inverseVP;\n v_rgbNE = (fragCoord + vec2(1.0, -1.0)) * inverseVP;\n v_rgbSW = (fragCoord + vec2(-1.0, 1.0)) * inverseVP;\n v_rgbSE = (fragCoord + vec2(1.0, 1.0)) * inverseVP;\n v_rgbM = vec2(fragCoord * inverseVP);\n}\n\nvoid main(void) {\n\n gl_Position = filterVertexPosition();\n\n vFragCoord = aVertexPosition * outputFrame.zw;\n\n texcoords(vFragCoord, inputPixel.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);\n}\n",Ua='varying vec2 v_rgbNW;\nvarying vec2 v_rgbNE;\nvarying vec2 v_rgbSW;\nvarying vec2 v_rgbSE;\nvarying vec2 v_rgbM;\n\nvarying vec2 vFragCoord;\nuniform sampler2D uSampler;\nuniform highp vec4 inputPixel;\n\n\n/**\n Basic FXAA implementation based on the code on geeks3d.com with the\n modification that the texture2DLod stuff was removed since it\'s\n unsupported by WebGL.\n\n --\n\n From:\n https://github.com/mitsuhiko/webgl-meincraft\n\n Copyright (c) 2011 by Armin Ronacher.\n\n Some rights reserved.\n\n Redistribution and use in source and binary forms, with or without\n modification, are permitted provided that the following conditions are\n met:\n\n * Redistributions of source code must retain the above copyright\n notice, this list of conditions and the following disclaimer.\n\n * Redistributions in binary form must reproduce the above\n copyright notice, this list of conditions and the following\n disclaimer in the documentation and/or other materials provided\n with the distribution.\n\n * The names of the contributors may not be used to endorse or\n promote products derived from this software without specific\n prior written permission.\n\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\n#ifndef FXAA_REDUCE_MIN\n#define FXAA_REDUCE_MIN (1.0/ 128.0)\n#endif\n#ifndef FXAA_REDUCE_MUL\n#define FXAA_REDUCE_MUL (1.0 / 8.0)\n#endif\n#ifndef FXAA_SPAN_MAX\n#define FXAA_SPAN_MAX 8.0\n#endif\n\n//optimized version for mobile, where dependent\n//texture reads can be a bottleneck\nvec4 fxaa(sampler2D tex, vec2 fragCoord, vec2 inverseVP,\n vec2 v_rgbNW, vec2 v_rgbNE,\n vec2 v_rgbSW, vec2 v_rgbSE,\n vec2 v_rgbM) {\n vec4 color;\n vec3 rgbNW = texture2D(tex, v_rgbNW).xyz;\n vec3 rgbNE = texture2D(tex, v_rgbNE).xyz;\n vec3 rgbSW = texture2D(tex, v_rgbSW).xyz;\n vec3 rgbSE = texture2D(tex, v_rgbSE).xyz;\n vec4 texColor = texture2D(tex, v_rgbM);\n vec3 rgbM = texColor.xyz;\n vec3 luma = vec3(0.299, 0.587, 0.114);\n float lumaNW = dot(rgbNW, luma);\n float lumaNE = dot(rgbNE, luma);\n float lumaSW = dot(rgbSW, luma);\n float lumaSE = dot(rgbSE, luma);\n float lumaM = dot(rgbM, luma);\n float lumaMin = min(lumaM, min(min(lumaNW, lumaNE), min(lumaSW, lumaSE)));\n float lumaMax = max(lumaM, max(max(lumaNW, lumaNE), max(lumaSW, lumaSE)));\n\n mediump vec2 dir;\n dir.x = -((lumaNW + lumaNE) - (lumaSW + lumaSE));\n dir.y = ((lumaNW + lumaSW) - (lumaNE + lumaSE));\n\n float dirReduce = max((lumaNW + lumaNE + lumaSW + lumaSE) *\n (0.25 * FXAA_REDUCE_MUL), FXAA_REDUCE_MIN);\n\n float rcpDirMin = 1.0 / (min(abs(dir.x), abs(dir.y)) + dirReduce);\n dir = min(vec2(FXAA_SPAN_MAX, FXAA_SPAN_MAX),\n max(vec2(-FXAA_SPAN_MAX, -FXAA_SPAN_MAX),\n dir * rcpDirMin)) * inverseVP;\n\n vec3 rgbA = 0.5 * (\n texture2D(tex, fragCoord * inverseVP + dir * (1.0 / 3.0 - 0.5)).xyz +\n texture2D(tex, fragCoord * inverseVP + dir * (2.0 / 3.0 - 0.5)).xyz);\n vec3 rgbB = rgbA * 0.5 + 0.25 * (\n texture2D(tex, fragCoord * inverseVP + dir * -0.5).xyz +\n texture2D(tex, fragCoord * inverseVP + dir * 0.5).xyz);\n\n float lumaB = dot(rgbB, luma);\n if ((lumaB < lumaMin) || (lumaB > lumaMax))\n color = vec4(rgbA, texColor.a);\n else\n color = vec4(rgbB, texColor.a);\n return color;\n}\n\nvoid main() {\n\n vec4 color;\n\n color = fxaa(uSampler, vFragCoord, inputPixel.zw, v_rgbNW, v_rgbNE, v_rgbSW, v_rgbSE, v_rgbM);\n\n gl_FragColor = color;\n}\n',ka=function(t){function e(){return t.call(this,Ba,Ua)||this}return function(t,e){function r(){this.constructor=t}Fa(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),e}(Fi),Xa=function(t,e){return(Xa=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var ja="precision highp float;\n\nvarying vec2 vTextureCoord;\nvarying vec4 vColor;\n\nuniform float uNoise;\nuniform float uSeed;\nuniform sampler2D uSampler;\n\nfloat rand(vec2 co)\n{\n return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453);\n}\n\nvoid main()\n{\n vec4 color = texture2D(uSampler, vTextureCoord);\n float randomValue = rand(gl_FragCoord.xy * uSeed);\n float diff = (randomValue - 0.5) * uNoise;\n\n // Un-premultiply alpha before applying the color matrix. See issue #3539.\n if (color.a > 0.0) {\n color.rgb /= color.a;\n }\n\n color.r += diff;\n color.g += diff;\n color.b += diff;\n\n // Premultiply alpha again.\n color.rgb *= color.a;\n\n gl_FragColor = color;\n}\n",Ha=function(t){function e(e,r){void 0===e&&(e=.5),void 0===r&&(r=Math.random());var i=t.call(this,yn,ja,{uNoise:0,uSeed:0})||this;return i.noise=e,i.seed=r,i}return function(t,e){function r(){this.constructor=t}Xa(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),Object.defineProperty(e.prototype,"noise",{get:function(){return this.uniforms.uNoise},set:function(t){this.uniforms.uNoise=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"seed",{get:function(){return this.uniforms.uSeed},set:function(t){this.uniforms.uSeed=t},enumerable:!1,configurable:!0}),e}(Fi),Ga=new Ie;Xe.prototype._cacheAsBitmap=!1,Xe.prototype._cacheData=null;var Ya=function(){return function(){this.textureCacheId=null,this.originalRender=null,this.originalRenderCanvas=null,this.originalCalculateBounds=null,this.originalGetLocalBounds=null,this.originalUpdateTransform=null,this.originalDestroy=null,this.originalMask=null,this.originalFilterArea=null,this.originalContainsPoint=null,this.sprite=null}}();Object.defineProperties(Xe.prototype,{cacheAsBitmap:{get:function(){return this._cacheAsBitmap},set:function(t){var e;this._cacheAsBitmap!==t&&(this._cacheAsBitmap=t,t?(this._cacheData||(this._cacheData=new Ya),(e=this._cacheData).originalRender=this.render,e.originalRenderCanvas=this.renderCanvas,e.originalUpdateTransform=this.updateTransform,e.originalCalculateBounds=this.calculateBounds,e.originalGetLocalBounds=this.getLocalBounds,e.originalDestroy=this.destroy,e.originalContainsPoint=this.containsPoint,e.originalMask=this._mask,e.originalFilterArea=this.filterArea,this.render=this._renderCached,this.renderCanvas=this._renderCachedCanvas,this.destroy=this._cacheAsBitmapDestroy):((e=this._cacheData).sprite&&this._destroyCachedDisplayObject(),this.render=e.originalRender,this.renderCanvas=e.originalRenderCanvas,this.calculateBounds=e.originalCalculateBounds,this.getLocalBounds=e.originalGetLocalBounds,this.destroy=e.originalDestroy,this.updateTransform=e.originalUpdateTransform,this.containsPoint=e.originalContainsPoint,this._mask=e.originalMask,this.filterArea=e.originalFilterArea))}}}),Xe.prototype._renderCached=function(t){!this.visible||this.worldAlpha<=0||!this.renderable||(this._initCachedDisplayObject(t),this._cacheData.sprite.transform._worldID=this.transform._worldID,this._cacheData.sprite.worldAlpha=this.worldAlpha,this._cacheData.sprite._render(t))},Xe.prototype._initCachedDisplayObject=function(t){if(!this._cacheData||!this._cacheData.sprite){var e=this.alpha;this.alpha=1,t.batch.flush();var r=this.getLocalBounds(null,!0).clone();if(this.filters){var i=this.filters[0].padding;r.pad(i)}r.ceil(D.RESOLUTION);var n=t.renderTexture.current,o=t.renderTexture.sourceFrame.clone(),s=t.renderTexture.destinationFrame.clone(),a=t.projection.transform,h=Fr.create({width:r.width,height:r.height}),u="cacheAsBitmap_"+ie();this._cacheData.textureCacheId=u,gr.addToCache(h.baseTexture,u),Lr.addToCache(h,u);var l=this.transform.localTransform.copyTo(Ga).invert().translate(-r.x,-r.y);this.render=this._cacheData.originalRender,t.render(this,h,!0,l,!1),t.projection.transform=a,t.renderTexture.bind(n,o,s),this.render=this._renderCached,this.updateTransform=this.displayObjectUpdateTransform,this.calculateBounds=this._calculateCachedBounds,this.getLocalBounds=this._getCachedLocalBounds,this._mask=null,this.filterArea=null;var c=new Ko(h);c.transform.worldTransform=this.transform.worldTransform,c.anchor.x=-r.x/r.width,c.anchor.y=-r.y/r.height,c.alpha=e,c._bounds=this._bounds,this._cacheData.sprite=c,this.transform._parentID=-1,this.parent?this.updateTransform():(this.enableTempParent(),this.updateTransform(),this.disableTempParent(null)),this.containsPoint=c.containsPoint.bind(c)}},Xe.prototype._renderCachedCanvas=function(t){!this.visible||this.worldAlpha<=0||!this.renderable||(this._initCachedDisplayObjectCanvas(t),this._cacheData.sprite.worldAlpha=this.worldAlpha,this._cacheData.sprite._renderCanvas(t))},Xe.prototype._initCachedDisplayObjectCanvas=function(t){if(!this._cacheData||!this._cacheData.sprite){var e=this.getLocalBounds(null,!0),r=this.alpha;this.alpha=1;var i=t.context,n=t._projTransform;e.ceil(D.RESOLUTION);var o=Fr.create({width:e.width,height:e.height}),s="cacheAsBitmap_"+ie();this._cacheData.textureCacheId=s,gr.addToCache(o.baseTexture,s),Lr.addToCache(o,s);var a=Ga;this.transform.localTransform.copyTo(a),a.invert(),a.tx-=e.x,a.ty-=e.y,this.renderCanvas=this._cacheData.originalRenderCanvas,t.render(this,o,!0,a,!1),t.context=i,t._projTransform=n,this.renderCanvas=this._renderCachedCanvas,this.updateTransform=this.displayObjectUpdateTransform,this.calculateBounds=this._calculateCachedBounds,this.getLocalBounds=this._getCachedLocalBounds,this._mask=null,this.filterArea=null;var h=new Ko(o);h.transform.worldTransform=this.transform.worldTransform,h.anchor.x=-e.x/e.width,h.anchor.y=-e.y/e.height,h.alpha=r,h._bounds=this._bounds,this._cacheData.sprite=h,this.transform._parentID=-1,this.parent?this.updateTransform():(this.parent=t._tempDisplayObjectParent,this.updateTransform(),this.parent=null),this.containsPoint=h.containsPoint.bind(h)}},Xe.prototype._calculateCachedBounds=function(){this._bounds.clear(),this._cacheData.sprite.transform._worldID=this.transform._worldID,this._cacheData.sprite._calculateBounds(),this._bounds.updateID=this._boundsID},Xe.prototype._getCachedLocalBounds=function(){return this._cacheData.sprite.getLocalBounds(null)},Xe.prototype._destroyCachedDisplayObject=function(){this._cacheData.sprite._texture.destroy(!0),this._cacheData.sprite=null,gr.removeFromCache(this._cacheData.textureCacheId),Lr.removeFromCache(this._cacheData.textureCacheId),this._cacheData.textureCacheId=null},Xe.prototype._cacheAsBitmapDestroy=function(t){this.cacheAsBitmap=!1,this.destroy(t)},Xe.prototype.name=null,Ge.prototype.getChildByName=function(t,e){for(var r=0,i=this.children.length;r0){var d=a.x-t[l].x,p=a.y-t[l].y,f=Math.sqrt(d*d+p*p);a=t[l],s+=f/h}else s=l/(u-1);n[c]=s,n[c+1]=0,n[c+2]=s,n[c+3]=1}var m=0;for(l=0;l0?this.textureScale*this._width/2:this._width/2;i/=l,n/=l,i*=c,n*=c,o[u]=h.x+i,o[u+1]=h.y+n,o[u+2]=h.x-i,o[u+3]=h.y-n,r=h}this.buffers[0].update()}},e.prototype.update=function(){this.textureScale>0?this.build():this.updateVertices()},e}(Hs),Ka=function(e){function r(r,i,n){void 0===n&&(n=0);var o=this,s=new qa(r.height,i,n),a=new js(r);return n>0&&(r.baseTexture.wrapMode=t.WRAP_MODES.REPEAT),(o=e.call(this,s,a)||this).autoUpdate=!0,o}return Va(r,e),r.prototype._render=function(t){var r=this.geometry;(this.autoUpdate||r._width!==this.shader.texture.height)&&(r._width=this.shader.texture.height,r.update()),e.prototype._render.call(this,t)},r}(Us),Za=function(t){function e(e,r,i){var n=this,o=new Wa(e.width,e.height,r,i),s=new js(Lr.WHITE);return(n=t.call(this,o,s)||this).texture=e,n}return Va(e,t),e.prototype.textureUpdated=function(){this._textureID=this.shader.texture._updateID;var t=this.geometry;t.width=this.shader.texture.width,t.height=this.shader.texture.height,t.build()},Object.defineProperty(e.prototype,"texture",{get:function(){return this.shader.texture},set:function(t){this.shader.texture!==t&&(this.shader.texture=t,this._textureID=-1,t.baseTexture.valid?this.textureUpdated():t.once("update",this.textureUpdated,this))},enumerable:!1,configurable:!0}),e.prototype._render=function(e){this._textureID!==this.shader.texture._updateID&&this.textureUpdated(),t.prototype._render.call(this,e)},e.prototype.destroy=function(e){this.shader.texture.off("update",this.textureUpdated,this),t.prototype.destroy.call(this,e)},e}(Us),Ja=function(t){function e(e,r,i,n,o){void 0===e&&(e=Lr.EMPTY);var s=this,a=new Hs(r,i,n);a.getBuffer("aVertexPosition").static=!1;var h=new js(e);return(s=t.call(this,a,h,null,o)||this).autoUpdate=!0,s}return Va(e,t),Object.defineProperty(e.prototype,"vertices",{get:function(){return this.geometry.getBuffer("aVertexPosition").data},set:function(t){this.geometry.getBuffer("aVertexPosition").data=t},enumerable:!1,configurable:!0}),e.prototype._render=function(e){this.autoUpdate&&this.geometry.getBuffer("aVertexPosition").update(),t.prototype._render.call(this,e)},e}(Us),Qa=10,$a=function(t){function e(e,r,i,n,o){void 0===r&&(r=Qa),void 0===i&&(i=Qa),void 0===n&&(n=Qa),void 0===o&&(o=Qa);var s=t.call(this,Lr.WHITE,4,4)||this;return s._origWidth=e.orig.width,s._origHeight=e.orig.height,s._width=s._origWidth,s._height=s._origHeight,s._leftWidth=r,s._rightWidth=n,s._topHeight=i,s._bottomHeight=o,s.texture=e,s}return Va(e,t),e.prototype.textureUpdated=function(){this._textureID=this.shader.texture._updateID,this._refresh()},Object.defineProperty(e.prototype,"vertices",{get:function(){return this.geometry.getBuffer("aVertexPosition").data},set:function(t){this.geometry.getBuffer("aVertexPosition").data=t},enumerable:!1,configurable:!0}),e.prototype.updateHorizontalVertices=function(){var t=this.vertices,e=this._getMinScale();t[9]=t[11]=t[13]=t[15]=this._topHeight*e,t[17]=t[19]=t[21]=t[23]=this._height-this._bottomHeight*e,t[25]=t[27]=t[29]=t[31]=this._height},e.prototype.updateVerticalVertices=function(){var t=this.vertices,e=this._getMinScale();t[2]=t[10]=t[18]=t[26]=this._leftWidth*e,t[4]=t[12]=t[20]=t[28]=this._width-this._rightWidth*e,t[6]=t[14]=t[22]=t[30]=this._width},e.prototype._getMinScale=function(){var t=this._leftWidth+this._rightWidth,e=this._width>t?1:this._width/t,r=this._topHeight+this._bottomHeight,i=this._height>r?1:this._height/r;return Math.min(e,i)},Object.defineProperty(e.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"leftWidth",{get:function(){return this._leftWidth},set:function(t){this._leftWidth=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"rightWidth",{get:function(){return this._rightWidth},set:function(t){this._rightWidth=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"topHeight",{get:function(){return this._topHeight},set:function(t){this._topHeight=t,this._refresh()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"bottomHeight",{get:function(){return this._bottomHeight},set:function(t){this._bottomHeight=t,this._refresh()},enumerable:!1,configurable:!0}),e.prototype._refresh=function(){var t=this.texture,e=this.geometry.buffers[1].data;this._origWidth=t.orig.width,this._origHeight=t.orig.height;var r=1/this._origWidth,i=1/this._origHeight;e[0]=e[8]=e[16]=e[24]=0,e[1]=e[3]=e[5]=e[7]=0,e[6]=e[14]=e[22]=e[30]=1,e[25]=e[27]=e[29]=e[31]=1,e[2]=e[10]=e[18]=e[26]=r*this._leftWidth,e[4]=e[12]=e[20]=e[28]=1-r*this._rightWidth,e[9]=e[11]=e[13]=e[15]=i*this._topHeight,e[17]=e[19]=e[21]=e[23]=1-i*this._bottomHeight,this.updateHorizontalVertices(),this.updateVerticalVertices(),this.geometry.buffers[0].update(),this.geometry.buffers[1].update()},e}(Za),th=function(t,e){return(th=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var eh=function(e){function r(t,r){void 0===r&&(r=!0);var i=e.call(this,t[0]instanceof Lr?t[0]:t[0].texture)||this;return i._textures=null,i._durations=null,i._autoUpdate=r,i._isConnectedToTicker=!1,i.animationSpeed=1,i.loop=!0,i.updateAnchor=!1,i.onComplete=null,i.onFrameChange=null,i.onLoop=null,i._currentTime=0,i._playing=!1,i._previousFrame=null,i.textures=t,i}return function(t,e){function r(){this.constructor=t}th(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(r,e),r.prototype.stop=function(){this._playing&&(this._playing=!1,this._autoUpdate&&this._isConnectedToTicker&&(Qe.shared.remove(this.update,this),this._isConnectedToTicker=!1))},r.prototype.play=function(){this._playing||(this._playing=!0,this._autoUpdate&&!this._isConnectedToTicker&&(Qe.shared.add(this.update,this,t.UPDATE_PRIORITY.HIGH),this._isConnectedToTicker=!0))},r.prototype.gotoAndStop=function(t){this.stop();var e=this.currentFrame;this._currentTime=t,e!==this.currentFrame&&this.updateTexture()},r.prototype.gotoAndPlay=function(t){var e=this.currentFrame;this._currentTime=t,e!==this.currentFrame&&this.updateTexture(),this.play()},r.prototype.update=function(t){if(this._playing){var e=this.animationSpeed*t,r=this.currentFrame;if(null!==this._durations){var i=this._currentTime%1*this._durations[this.currentFrame];for(i+=e/60*1e3;i<0;)this._currentTime--,i+=this._durations[this.currentFrame];var n=Math.sign(this.animationSpeed*t);for(this._currentTime=Math.floor(this._currentTime);i>=this._durations[this.currentFrame];)i-=this._durations[this.currentFrame]*n,this._currentTime+=n;this._currentTime+=i/this._durations[this.currentFrame]}else this._currentTime+=e;this._currentTime<0&&!this.loop?(this.gotoAndStop(0),this.onComplete&&this.onComplete()):this._currentTime>=this._textures.length&&!this.loop?(this.gotoAndStop(this._textures.length-1),this.onComplete&&this.onComplete()):r!==this.currentFrame&&(this.loop&&this.onLoop&&(this.animationSpeed>0&&this.currentFramer&&this.onLoop()),this.updateTexture())}},r.prototype.updateTexture=function(){var t=this.currentFrame;this._previousFrame!==t&&(this._previousFrame=t,this._texture=this._textures[t],this._textureID=-1,this._textureTrimmedID=-1,this._cachedTint=16777215,this.uvs=this._texture._uvs.uvsFloat32,this.updateAnchor&&this._anchor.copyFrom(this._texture.defaultAnchor),this.onFrameChange&&this.onFrameChange(this.currentFrame))},r.prototype.destroy=function(t){this.stop(),e.prototype.destroy.call(this,t),this.onComplete=null,this.onFrameChange=null,this.onLoop=null},r.fromFrames=function(t){for(var e=[],i=0;i0){var n=e.context;n.beginPath();for(var o=0;oS?S:T,r.moveTo(_,x+T),r.lineTo(_,x+E-T),r.quadraticCurveTo(_,x+E,_+T,x+E),r.lineTo(_+b-T,x+E),r.quadraticCurveTo(_+b,x+E,_+b,x+E-T),r.lineTo(_+b,x+T),r.quadraticCurveTo(_+b,x,_+b-T,x),r.lineTo(_+T,x),r.quadraticCurveTo(_,x,_,x+T),r.closePath()}}},e.prototype.popMask=function(t){t.context.restore(),t.invalidateBlendMode()},e.prototype.destroy=function(){},e}();function hh(t){var e=document.createElement("canvas");e.width=6,e.height=1;var r=e.getContext("2d");return r.fillStyle=t,r.fillRect(0,0,6,1),e}function uh(){if("undefined"==typeof document)return!1;var t=hh("#ff00ff"),e=hh("#ffff00"),r=document.createElement("canvas");r.width=6,r.height=1;var i=r.getContext("2d");i.globalCompositeOperation="multiply",i.drawImage(t,0,0),i.drawImage(e,2,0);var n=i.getImageData(2,0,1,1);if(!n)return!1;var o=n.data;return 255===o[0]&&0===o[1]&&0===o[2]}var lh=new Ie,ch=function(e){function r(i){var n,o=e.call(this,t.RENDERER_TYPE.CANVAS,i)||this;if(o.rootContext=o.view.getContext("2d",{alpha:o.transparent}),o.context=o.rootContext,o.refresh=!0,o.maskManager=new ah(o),o.smoothProperty="imageSmoothingEnabled",!o.rootContext.imageSmoothingEnabled){var s=o.rootContext;s.webkitImageSmoothingEnabled?o.smoothProperty="webkitImageSmoothingEnabled":s.mozImageSmoothingEnabled?o.smoothProperty="mozImageSmoothingEnabled":s.oImageSmoothingEnabled?o.smoothProperty="oImageSmoothingEnabled":s.msImageSmoothingEnabled&&(o.smoothProperty="msImageSmoothingEnabled")}return o.initPlugins(r.__plugins),o.blendModes=(void 0===n&&(n=[]),uh()?(n[t.BLEND_MODES.NORMAL]="source-over",n[t.BLEND_MODES.ADD]="lighter",n[t.BLEND_MODES.MULTIPLY]="multiply",n[t.BLEND_MODES.SCREEN]="screen",n[t.BLEND_MODES.OVERLAY]="overlay",n[t.BLEND_MODES.DARKEN]="darken",n[t.BLEND_MODES.LIGHTEN]="lighten",n[t.BLEND_MODES.COLOR_DODGE]="color-dodge",n[t.BLEND_MODES.COLOR_BURN]="color-burn",n[t.BLEND_MODES.HARD_LIGHT]="hard-light",n[t.BLEND_MODES.SOFT_LIGHT]="soft-light",n[t.BLEND_MODES.DIFFERENCE]="difference",n[t.BLEND_MODES.EXCLUSION]="exclusion",n[t.BLEND_MODES.HUE]="hue",n[t.BLEND_MODES.SATURATION]="saturate",n[t.BLEND_MODES.COLOR]="color",n[t.BLEND_MODES.LUMINOSITY]="luminosity"):(n[t.BLEND_MODES.NORMAL]="source-over",n[t.BLEND_MODES.ADD]="lighter",n[t.BLEND_MODES.MULTIPLY]="source-over",n[t.BLEND_MODES.SCREEN]="source-over",n[t.BLEND_MODES.OVERLAY]="source-over",n[t.BLEND_MODES.DARKEN]="source-over",n[t.BLEND_MODES.LIGHTEN]="source-over",n[t.BLEND_MODES.COLOR_DODGE]="source-over",n[t.BLEND_MODES.COLOR_BURN]="source-over",n[t.BLEND_MODES.HARD_LIGHT]="source-over",n[t.BLEND_MODES.SOFT_LIGHT]="source-over",n[t.BLEND_MODES.DIFFERENCE]="source-over",n[t.BLEND_MODES.EXCLUSION]="source-over",n[t.BLEND_MODES.HUE]="source-over",n[t.BLEND_MODES.SATURATION]="source-over",n[t.BLEND_MODES.COLOR]="source-over",n[t.BLEND_MODES.LUMINOSITY]="source-over"),n[t.BLEND_MODES.NORMAL_NPM]=n[t.BLEND_MODES.NORMAL],n[t.BLEND_MODES.ADD_NPM]=n[t.BLEND_MODES.ADD],n[t.BLEND_MODES.SCREEN_NPM]=n[t.BLEND_MODES.SCREEN],n[t.BLEND_MODES.SRC_IN]="source-in",n[t.BLEND_MODES.SRC_OUT]="source-out",n[t.BLEND_MODES.SRC_ATOP]="source-atop",n[t.BLEND_MODES.DST_OVER]="destination-over",n[t.BLEND_MODES.DST_IN]="destination-in",n[t.BLEND_MODES.DST_OUT]="destination-out",n[t.BLEND_MODES.DST_ATOP]="destination-atop",n[t.BLEND_MODES.XOR]="xor",n[t.BLEND_MODES.SUBTRACT]="source-over",n),o._activeBlendMode=null,o._outerBlend=!1,o._projTransform=null,o.renderingToScreen=!1,Bt("Canvas"),o.resize(o.options.width,o.options.height),o}return function(t,e){function r(){this.constructor=t}sh(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(r,e),r.prototype.render=function(e,r,i,n,o){if(this.view){this.renderingToScreen=!r,this.emit("prerender");var s=this.resolution;r?((r=r.castToBaseTexture())._canvasRenderTarget||(r._canvasRenderTarget=new ue(r.width,r.height,r.resolution),r.resource=new Ir.CanvasResource(r._canvasRenderTarget.canvas),r.valid=!0),this.context=r._canvasRenderTarget.context,this.resolution=r._canvasRenderTarget.resolution):this.context=this.rootContext;var a=this.context;if(this._projTransform=n||null,r||(this._lastObjectRendered=e),!o){var h=e.enableTempParent();e.updateTransform(),e.disableTempParent(h)}if(a.save(),a.setTransform(1,0,0,1,0,0),a.globalAlpha=1,this._activeBlendMode=t.BLEND_MODES.NORMAL,this._outerBlend=!1,a.globalCompositeOperation=this.blendModes[t.BLEND_MODES.NORMAL],void 0!==i?i:this.clearBeforeRender)if(this.renderingToScreen)this.transparent?a.clearRect(0,0,this.width,this.height):(a.fillStyle=this._backgroundColorString,a.fillRect(0,0,this.width,this.height));else{(r=r)._canvasRenderTarget.clear();var u=r.clearColor;u[3]>0&&(a.fillStyle=Xt(Ht(u)),a.fillRect(0,0,r.realWidth,r.realHeight))}var l=this.context;this.context=a,e.renderCanvas(this),this.context=l,a.restore(),this.resolution=s,this._projTransform=null,this.emit("postrender")}},r.prototype.setContextTransform=function(t,e,r){var i=t,n=this._projTransform,o=this.resolution;r=r||o,n&&((i=lh).copyFrom(t),i.prepend(n)),e?this.context.setTransform(i.a*r,i.b*r,i.c*r,i.d*r,i.tx*o|0,i.ty*o|0):this.context.setTransform(i.a*r,i.b*r,i.c*r,i.d*r,i.tx*o,i.ty*o)},r.prototype.clear=function(t){var e=this.context;t=t||this._backgroundColorString,!this.transparent&&t?(e.fillStyle=t,e.fillRect(0,0,this.width,this.height)):e.clearRect(0,0,this.width,this.height)},r.prototype.setBlendMode=function(e,r){var i=e===t.BLEND_MODES.SRC_IN||e===t.BLEND_MODES.SRC_OUT||e===t.BLEND_MODES.DST_IN||e===t.BLEND_MODES.DST_ATOP;!r&&i&&(e=t.BLEND_MODES.NORMAL),this._activeBlendMode!==e&&(this._activeBlendMode=e,this._outerBlend=i,this.context.globalCompositeOperation=this.blendModes[e])},r.prototype.destroy=function(t){e.prototype.destroy.call(this,t),this.context=null,this.refresh=!0,this.maskManager.destroy(),this.maskManager=null,this.smoothProperty=null},r.prototype.resize=function(r,i){e.prototype.resize.call(this,r,i),this.smoothProperty&&(this.rootContext[this.smoothProperty]=D.SCALE_MODE===t.SCALE_MODES.LINEAR)},r.prototype.invalidateBlendMode=function(){this._activeBlendMode=this.blendModes.indexOf(this.context.globalCompositeOperation)},r.registerPlugin=function(t,e){r.__plugins=r.__plugins||{},r.__plugins[t]=e},r}(fn),dh={canvas:null,getTintedCanvas:function(t,e){var r=t.texture,i="#"+("00000"+(0|(e=dh.roundColor(e))).toString(16)).substr(-6);r.tintCache=r.tintCache||{};var n,o=r.tintCache[i];if(o){if(o.tintId===r._updateID)return r.tintCache[i];n=r.tintCache[i]}else n=document.createElement("canvas");if(dh.tintMethod(r,e,n),n.tintId=r._updateID,dh.convertTintToImage){var s=new Image;s.src=n.toDataURL(),r.tintCache[i]=s}else r.tintCache[i]=n;return n},getTintedPattern:function(t,e){var r="#"+("00000"+(0|(e=dh.roundColor(e))).toString(16)).substr(-6);t.patternCache=t.patternCache||{};var i=t.patternCache[r];return i&&i.tintId===t._updateID?i:(dh.canvas||(dh.canvas=document.createElement("canvas")),dh.tintMethod(t,e,dh.canvas),(i=dh.canvas.getContext("2d").createPattern(dh.canvas,"repeat")).tintId=t._updateID,t.patternCache[r]=i,i)},tintWithMultiply:function(t,e,r){var i=r.getContext("2d"),n=t._frame.clone(),o=t.baseTexture.resolution;n.x*=o,n.y*=o,n.width*=o,n.height*=o,r.width=Math.ceil(n.width),r.height=Math.ceil(n.height),i.save(),i.fillStyle="#"+("00000"+(0|e).toString(16)).substr(-6),i.fillRect(0,0,n.width,n.height),i.globalCompositeOperation="multiply";var s=t.baseTexture.getDrawableSource();i.drawImage(s,n.x,n.y,n.width,n.height,0,0,n.width,n.height),i.globalCompositeOperation="destination-atop",i.drawImage(s,n.x,n.y,n.width,n.height,0,0,n.width,n.height),i.restore()},tintWithOverlay:function(t,e,r){var i=r.getContext("2d"),n=t._frame.clone(),o=t.baseTexture.resolution;n.x*=o,n.y*=o,n.width*=o,n.height*=o,r.width=Math.ceil(n.width),r.height=Math.ceil(n.height),i.save(),i.globalCompositeOperation="copy",i.fillStyle="#"+("00000"+(0|e).toString(16)).substr(-6),i.fillRect(0,0,n.width,n.height),i.globalCompositeOperation="destination-atop",i.drawImage(t.baseTexture.getDrawableSource(),n.x,n.y,n.width,n.height,0,0,n.width,n.height),i.restore()},tintWithPerPixel:function(t,e,r){var i=r.getContext("2d"),n=t._frame.clone(),o=t.baseTexture.resolution;n.x*=o,n.y*=o,n.width*=o,n.height*=o,r.width=Math.ceil(n.width),r.height=Math.ceil(n.height),i.save(),i.globalCompositeOperation="copy",i.drawImage(t.baseTexture.getDrawableSource(),n.x,n.y,n.width,n.height,0,0,n.width,n.height),i.restore();for(var s=kt(e),a=s[0],h=s[1],u=s[2],l=i.getImageData(0,0,n.width,n.height),c=l.data,d=0;d0){var P=w/Math.abs(t.worldTransform.a),I=w/Math.abs(t.worldTransform.d),A=(_+x+b)/3,O=(E+T+S)/3,M=_-A,D=E-O,C=Math.sqrt(M*M+D*D);_=A+M/C*(C+P),E=O+D/C*(C+I),D=T-O,x=A+(M=x-A)/(C=Math.sqrt(M*M+D*D))*(C+P),T=O+D/C*(C+I),D=S-O,b=A+(M=b-A)/(C=Math.sqrt(M*M+D*D))*(C+P),S=O+D/C*(C+I)}n.save(),n.beginPath(),n.moveTo(_,E),n.lineTo(x,T),n.lineTo(b,S),n.closePath(),n.clip();var R=p*g+v*m+f*y-g*m-v*f-p*y,L=_*g+v*b+x*y-g*b-v*x-_*y,N=p*x+_*m+f*b-x*m-_*f-p*b,F=p*g*b+v*x*m+_*f*y-_*g*m-v*f*b-p*x*y,B=E*g+v*S+T*y-g*S-v*T-E*y,U=p*T+E*m+f*S-T*m-E*f-p*S,k=p*g*S+v*T*m+E*f*y-E*g*m-v*f*S-p*T*y;n.transform(L/R,B/R,N/R,U/R,F/R,k/R),n.drawImage(d,0,0,l*u.resolution,c*u.resolution,0,0,l,c),n.restore(),this.renderer.invalidateBlendMode()}},e.prototype.renderMeshFlat=function(t){var e=this.renderer.context,r=t.geometry.getBuffer("aVertexPosition").data,i=r.length/2;e.beginPath();for(var n=1;n>16&255)/255,l=(e.tint>>8&255)/255,c=(255&e.tint)/255,d=0;d>16&255)/255*u*255<<16)+((g>>8&255)/255*l*255<<8)+(255&g)/255*c*255;s=this._calcCanvasStyle(m,_)}if(v.visible){var x=((y>>16&255)/255*u*255<<16)+((y>>8&255)/255*l*255<<8)+(255&y)/255*c*255;a=this._calcCanvasStyle(v,x)}if(i.lineWidth=v.width,i.lineCap=v.cap,i.lineJoin=v.join,i.miterLimit=v.miterLimit,p.type===t.SHAPES.POLY){i.beginPath();var b=(O=f).points,E=p.holes,T=void 0,S=void 0,w=void 0,P=void 0;i.moveTo(b[0],b[1]);for(var I=2;I0){T=0,w=b[0],P=b[1];for(I=2;I+2=0;I-=2)i.lineTo(b[I],b[I+1])}E[A].shape.closeStroke&&i.closePath()}}m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fill()),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.stroke())}else if(p.type===t.SHAPES.RECT){var O=f;m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fillRect(O.x,O.y,O.width,O.height)),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.strokeRect(O.x,O.y,O.width,O.height))}else if(p.type===t.SHAPES.CIRC){O=f;i.beginPath(),i.arc(O.x,O.y,O.radius,0,2*Math.PI),i.closePath(),m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fill()),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.stroke())}else if(p.type===t.SHAPES.ELIP){var M=2*(O=f).width,D=2*O.height,C=O.x-M/2,R=O.y-D/2;i.beginPath();var L=M/2*.5522848,N=D/2*.5522848,F=C+M,B=R+D,U=C+M/2,k=R+D/2;i.moveTo(C,k),i.bezierCurveTo(C,k-N,U-L,R,U,R),i.bezierCurveTo(U+L,R,F,k-N,F,k),i.bezierCurveTo(F,k+N,U+L,B,U,B),i.bezierCurveTo(U-L,B,C,k+N,C,k),i.closePath(),m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fill()),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.stroke())}else if(p.type===t.SHAPES.RREC){var X=(O=f).x,j=O.y,H=O.width,G=O.height,Y=O.radius,z=Math.min(H,G)/2|0;Y=Y>z?z:Y,i.beginPath(),i.moveTo(X,j+Y),i.lineTo(X,j+G-Y),i.quadraticCurveTo(X,j+G,X+Y,j+G),i.lineTo(X+H-Y,j+G),i.quadraticCurveTo(X+H,j+G,X+H,j+G-Y),i.lineTo(X+H,j+Y),i.quadraticCurveTo(X+H,j,X+H-Y,j),i.lineTo(X+Y,j),i.quadraticCurveTo(X,j,X,j+Y),i.closePath(),m.visible&&(i.globalAlpha=m.alpha*n,i.fillStyle=s,i.fill()),v.visible&&(i.globalAlpha=v.alpha*n,i.strokeStyle=a,i.stroke())}}},e.prototype.setPatternTransform=function(t,e){if(!1!==this._svgMatrix){if(!this._svgMatrix){var r=document.createElementNS("http://www.w3.org/2000/svg","svg");if(r&&r.createSVGMatrix&&(this._svgMatrix=r.createSVGMatrix()),!this._svgMatrix||!t.setTransform)return void(this._svgMatrix=!1)}this._svgMatrix.a=e.a,this._svgMatrix.b=e.b,this._svgMatrix.c=e.c,this._svgMatrix.d=e.d,this._svgMatrix.e=e.tx,this._svgMatrix.f=e.ty,t.setTransform(this._svgMatrix.inverse())}},e.prototype.destroy=function(){this.renderer=null,this._svgMatrix=null,this._tempMatrix=null},e}(),yh=new Ie;Yo.prototype.generateCanvasTexture=function(t,e){void 0===e&&(e=1);var r=this.getLocalBounds(),i=Fr.create({width:r.width,height:r.height,scaleMode:t,resolution:e});vh||(vh=new ch),this.transform.updateLocalTransform(),this.transform.localTransform.copyTo(yh),yh.invert(),yh.tx-=r.x,yh.ty-=r.y,vh.render(this,i,!0,yh);var n=Lr.from(i.baseTexture._canvasRenderTarget.canvas,{scaleMode:t});return n.baseTexture.setResolution(e),n},Yo.prototype.cachedGraphicsData=[],Yo.prototype._renderCanvas=function(t){!0!==this.isMask&&(this.finishPoly(),t.plugins.graphics.render(this))};var _h=new Ie,xh=function(){function e(t){this.renderer=t}return e.prototype.render=function(e){var r=e._texture,i=this.renderer,n=i.context,o=r._frame.width,s=r._frame.height,a=e.transform.worldTransform,h=0,u=0,l=r.baseTexture.getDrawableSource();if(!(r.orig.width<=0||r.orig.height<=0)&&r.valid&&l&&r.valid){i.setBlendMode(e.blendMode,!0),i.context.globalAlpha=e.worldAlpha;var c=r.baseTexture.scaleMode===t.SCALE_MODES.LINEAR;i.smoothProperty&&i.context[i.smoothProperty]!==c&&(n[i.smoothProperty]=c),r.trim?(h=r.trim.width/2+r.trim.x-e.anchor.x*r.orig.width,u=r.trim.height/2+r.trim.y-e.anchor.y*r.orig.height):(h=(.5-e.anchor.x)*r.orig.width,u=(.5-e.anchor.y)*r.orig.height),r.rotate&&(a.copyTo(_h),a=_h,Ne.matrixAppendRotationInv(a,r.rotate,h,u),h=0,u=0),h-=o/2,u-=s/2,i.setContextTransform(a,e.roundPixels,1),e.roundPixels&&(h|=0,u|=0);var d=r.baseTexture.resolution,p=i._outerBlend;p&&(n.save(),n.beginPath(),n.rect(h*i.resolution,u*i.resolution,o*i.resolution,s*i.resolution),n.clip()),16777215!==e.tint?(e._cachedTint===e.tint&&e._tintedCanvas.tintId===e._texture._updateID||(e._cachedTint=e.tint,e._tintedCanvas=dh.getTintedCanvas(e,e.tint)),n.drawImage(e._tintedCanvas,0,0,Math.floor(o*d),Math.floor(s*d),Math.floor(h*i.resolution),Math.floor(u*i.resolution),Math.floor(o*i.resolution),Math.floor(s*i.resolution))):n.drawImage(l,r._frame.x*d,r._frame.y*d,Math.floor(o*d),Math.floor(s*d),Math.floor(h*i.resolution),Math.floor(u*i.resolution),Math.floor(o*i.resolution),Math.floor(s*i.resolution)),p&&n.restore(),i.setBlendMode(t.BLEND_MODES.NORMAL)}},e.prototype.destroy=function(){this.renderer=null},e}();Ko.prototype._tintedCanvas=null,Ko.prototype._renderCanvas=function(t){t.plugins.sprite.render(this)};var bh=new xe,Eh=function(){function t(t){this.renderer=t}return t.prototype.image=function(t,e,r){var i=new Image;return i.src=this.base64(t,e,r),i},t.prototype.base64=function(t,e,r){return this.canvas(t).toDataURL(e,r)},t.prototype.canvas=function(t){var e,r,i,n,o=this.renderer;t&&(n=t instanceof Fr?t:o.generateTexture(t)),n?(e=n.baseTexture._canvasRenderTarget.context,r=n.baseTexture._canvasRenderTarget.resolution,i=n.frame):(e=o.rootContext,r=o.resolution,(i=bh).width=this.renderer.width,i.height=this.renderer.height);var s=Math.floor(i.width*r+1e-4),a=Math.floor(i.height*r+1e-4),h=new ue(s,a,1),u=e.getImageData(i.x*r,i.y*r,s,a);return h.context.putImageData(u,0,0),h.canvas},t.prototype.pixels=function(t){var e,r,i,n,o=this.renderer;return t&&(n=t instanceof Fr?t:o.generateTexture(t)),n?(e=n.baseTexture._canvasRenderTarget.context,r=n.baseTexture._canvasRenderTarget.resolution,i=n.frame):(e=o.rootContext,(i=bh).width=o.width,i.height=o.height),e.getImageData(0,0,i.width*r,i.height*r).data},t.prototype.destroy=function(){this.renderer=null},t}();Object.defineProperty(ch.prototype,"extract",{get:function(){return oe("v5.3.0","CanvasRenderer#extract is deprecated, use CanvasRenderer#plugins.extract"),this.plugins.extract}});var Th=function(t,e){return(Th=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var Sh=16;function wh(t,e){var r=t;if(e instanceof gr){var i=e.source,n=0===i.width?r.canvas.width:Math.min(r.canvas.width,i.width),o=0===i.height?r.canvas.height:Math.min(r.canvas.height,i.height);return r.ctx.drawImage(i,0,0,n,o,0,0,r.canvas.width,r.canvas.height),!0}return!1}var Ph=function(t){function e(e){var r=t.call(this,e)||this;return r.uploadHookHelper=r,r.canvas=document.createElement("canvas"),r.canvas.width=Sh,r.canvas.height=Sh,r.ctx=r.canvas.getContext("2d"),r.registerUploadHook(wh),r}return function(t,e){function r(){this.constructor=t}Th(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}(e,t),e.prototype.destroy=function(){t.prototype.destroy.call(this),this.ctx=null,this.canvas=null},e}(vs);return Is.prototype._renderCanvas=function(t){var e=this._texture;if(e.baseTexture.valid){var r=t.context,i=this.worldTransform,n=e.baseTexture,o=n.getDrawableSource(),s=n.resolution,a=this.tilePosition.x/this.tileScale.x%e._frame.width*s,h=this.tilePosition.y/this.tileScale.y%e._frame.height*s;if(this._textureID!==this._texture._updateID||this._cachedTint!==this.tint){this._textureID=this._texture._updateID;var u=new ue(e._frame.width,e._frame.height,s);16777215!==this.tint?(this._tintedCanvas=dh.getTintedCanvas(this,this.tint),u.context.drawImage(this._tintedCanvas,0,0)):u.context.drawImage(o,-e._frame.x*s,-e._frame.y*s),this._cachedTint=this.tint,this._canvasPattern=u.context.createPattern(u.canvas,"repeat")}r.globalAlpha=this.worldAlpha,t.setBlendMode(this.blendMode),t.setContextTransform(i),r.fillStyle=this._canvasPattern,r.scale(this.tileScale.x/s,this.tileScale.y/s);var l=this.anchor.x*-this._width,c=this.anchor.y*-this._height;this.uvRespectAnchor?(r.translate(a,h),r.fillRect(-a+l,-h+c,this._width/this.tileScale.x*s,this._height/this.tileScale.y*s)):(r.translate(a+l,h+c),r.fillRect(-a,-h,this._width/this.tileScale.x*s,this._height/this.tileScale.y*s))}},ho.prototype.renderCanvas=function(t){if(this.visible&&!(this.worldAlpha<=0)&&this.children.length&&this.renderable){var e=t.context,r=this.worldTransform,i=!0,n=0,o=0,s=0,a=0;t.setBlendMode(this.blendMode),e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var h=0;h + * Copyright 2014-2016 Benjamin Tan + * Copyright 2011-2013 John-David Dalton + * Available under MIT license + */ +;(function() { + 'use strict'; + + /** Used to determine if values are of the language type `Object`. */ + var objectTypes = { + 'function': true, + 'object': true + }; + + /** Used as a reference to the global object. */ + var root = (objectTypes[typeof window] && window) || this; + + /** Backup possible global object. */ + var oldRoot = root; + + /** Detect free variable `exports`. */ + var freeExports = objectTypes[typeof exports] && exports; + + /** Detect free variable `module`. */ + var freeModule = objectTypes[typeof module] && module && !module.nodeType && module; + + /** Detect free variable `global` from Node.js or Browserified code and use it as `root`. */ + var freeGlobal = freeExports && freeModule && typeof global == 'object' && global; + if (freeGlobal && (freeGlobal.global === freeGlobal || freeGlobal.window === freeGlobal || freeGlobal.self === freeGlobal)) { + root = freeGlobal; + } + + /** + * Used as the maximum length of an array-like object. + * See the [ES6 spec](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength) + * for more details. + */ + var maxSafeInteger = Math.pow(2, 53) - 1; + + /** Regular expression to detect Opera. */ + var reOpera = /\bOpera/; + + /** Possible global object. */ + var thisBinding = this; + + /** Used for native method references. */ + var objectProto = Object.prototype; + + /** Used to check for own properties of an object. */ + var hasOwnProperty = objectProto.hasOwnProperty; + + /** Used to resolve the internal `[[Class]]` of values. */ + var toString = objectProto.toString; + + /*--------------------------------------------------------------------------*/ + + /** + * Capitalizes a string value. + * + * @private + * @param {string} string The string to capitalize. + * @returns {string} The capitalized string. + */ + function capitalize(string) { + string = String(string); + return string.charAt(0).toUpperCase() + string.slice(1); + } + + /** + * A utility function to clean up the OS name. + * + * @private + * @param {string} os The OS name to clean up. + * @param {string} [pattern] A `RegExp` pattern matching the OS name. + * @param {string} [label] A label for the OS. + */ + function cleanupOS(os, pattern, label) { + // Platform tokens are defined at: + // http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx + // http://web.archive.org/web/20081122053950/http://msdn.microsoft.com/en-us/library/ms537503(VS.85).aspx + var data = { + '10.0': '10', + '6.4': '10 Technical Preview', + '6.3': '8.1', + '6.2': '8', + '6.1': '7 / Server 2008 R2', + '6.0': 'Vista / Server 2008', + '5.2': 'XP 64-bit / Server 2003', + '5.1': 'XP', + '5.01': '2000 SP1', + '5.0': '2000', + '4.0': 'NT', + '4.90': 'ME' + }; + // Detect Windows version from platform tokens. + if (pattern && label && /^Win/i.test(os) && !/^Windows Phone /i.test(os) && + (data = data[/[\d.]+$/.exec(os)])) { + os = 'Windows ' + data; + } + // Correct character case and cleanup string. + os = String(os); + + if (pattern && label) { + os = os.replace(RegExp(pattern, 'i'), label); + } + + os = format( + os.replace(/ ce$/i, ' CE') + .replace(/\bhpw/i, 'web') + .replace(/\bMacintosh\b/, 'Mac OS') + .replace(/_PowerPC\b/i, ' OS') + .replace(/\b(OS X) [^ \d]+/i, '$1') + .replace(/\bMac (OS X)\b/, '$1') + .replace(/\/(\d)/, ' $1') + .replace(/_/g, '.') + .replace(/(?: BePC|[ .]*fc[ \d.]+)$/i, '') + .replace(/\bx86\.64\b/gi, 'x86_64') + .replace(/\b(Windows Phone) OS\b/, '$1') + .replace(/\b(Chrome OS \w+) [\d.]+\b/, '$1') + .split(' on ')[0] + ); + + return os; + } + + /** + * An iteration utility for arrays and objects. + * + * @private + * @param {Array|Object} object The object to iterate over. + * @param {Function} callback The function called per iteration. + */ + function each(object, callback) { + var index = -1, + length = object ? object.length : 0; + + if (typeof length == 'number' && length > -1 && length <= maxSafeInteger) { + while (++index < length) { + callback(object[index], index, object); + } + } else { + forOwn(object, callback); + } + } + + /** + * Trim and conditionally capitalize string values. + * + * @private + * @param {string} string The string to format. + * @returns {string} The formatted string. + */ + function format(string) { + string = trim(string); + return /^(?:webOS|i(?:OS|P))/.test(string) + ? string + : capitalize(string); + } + + /** + * Iterates over an object's own properties, executing the `callback` for each. + * + * @private + * @param {Object} object The object to iterate over. + * @param {Function} callback The function executed per own property. + */ + function forOwn(object, callback) { + for (var key in object) { + if (hasOwnProperty.call(object, key)) { + callback(object[key], key, object); + } + } + } + + /** + * Gets the internal `[[Class]]` of a value. + * + * @private + * @param {*} value The value. + * @returns {string} The `[[Class]]`. + */ + function getClassOf(value) { + return value == null + ? capitalize(value) + : toString.call(value).slice(8, -1); + } + + /** + * Host objects can return type values that are different from their actual + * data type. The objects we are concerned with usually return non-primitive + * types of "object", "function", or "unknown". + * + * @private + * @param {*} object The owner of the property. + * @param {string} property The property to check. + * @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`. + */ + function isHostType(object, property) { + var type = object != null ? typeof object[property] : 'number'; + return !/^(?:boolean|number|string|undefined)$/.test(type) && + (type == 'object' ? !!object[property] : true); + } + + /** + * Prepares a string for use in a `RegExp` by making hyphens and spaces optional. + * + * @private + * @param {string} string The string to qualify. + * @returns {string} The qualified string. + */ + function qualify(string) { + return String(string).replace(/([ -])(?!$)/g, '$1?'); + } + + /** + * A bare-bones `Array#reduce` like utility function. + * + * @private + * @param {Array} array The array to iterate over. + * @param {Function} callback The function called per iteration. + * @returns {*} The accumulated result. + */ + function reduce(array, callback) { + var accumulator = null; + each(array, function(value, index) { + accumulator = callback(accumulator, value, index, array); + }); + return accumulator; + } + + /** + * Removes leading and trailing whitespace from a string. + * + * @private + * @param {string} string The string to trim. + * @returns {string} The trimmed string. + */ + function trim(string) { + return String(string).replace(/^ +| +$/g, ''); + } + + /*--------------------------------------------------------------------------*/ + + /** + * Creates a new platform object. + * + * @memberOf platform + * @param {Object|string} [ua=navigator.userAgent] The user agent string or + * context object. + * @returns {Object} A platform object. + */ + function parse(ua) { + + /** The environment context object. */ + var context = root; + + /** Used to flag when a custom context is provided. */ + var isCustomContext = ua && typeof ua == 'object' && getClassOf(ua) != 'String'; + + // Juggle arguments. + if (isCustomContext) { + context = ua; + ua = null; + } + + /** Browser navigator object. */ + var nav = context.navigator || {}; + + /** Browser user agent string. */ + var userAgent = nav.userAgent || ''; + + ua || (ua = userAgent); + + /** Used to flag when `thisBinding` is the [ModuleScope]. */ + var isModuleScope = isCustomContext || thisBinding == oldRoot; + + /** Used to detect if browser is like Chrome. */ + var likeChrome = isCustomContext + ? !!nav.likeChrome + : /\bChrome\b/.test(ua) && !/internal|\n/i.test(toString.toString()); + + /** Internal `[[Class]]` value shortcuts. */ + var objectClass = 'Object', + airRuntimeClass = isCustomContext ? objectClass : 'ScriptBridgingProxyObject', + enviroClass = isCustomContext ? objectClass : 'Environment', + javaClass = (isCustomContext && context.java) ? 'JavaPackage' : getClassOf(context.java), + phantomClass = isCustomContext ? objectClass : 'RuntimeObject'; + + /** Detect Java environments. */ + var java = /\bJava/.test(javaClass) && context.java; + + /** Detect Rhino. */ + var rhino = java && getClassOf(context.environment) == enviroClass; + + /** A character to represent alpha. */ + var alpha = java ? 'a' : '\u03b1'; + + /** A character to represent beta. */ + var beta = java ? 'b' : '\u03b2'; + + /** Browser document object. */ + var doc = context.document || {}; + + /** + * Detect Opera browser (Presto-based). + * http://www.howtocreate.co.uk/operaStuff/operaObject.html + * http://dev.opera.com/articles/view/opera-mini-web-content-authoring-guidelines/#operamini + */ + var opera = context.operamini || context.opera; + + /** Opera `[[Class]]`. */ + var operaClass = reOpera.test(operaClass = (isCustomContext && opera) ? opera['[[Class]]'] : getClassOf(opera)) + ? operaClass + : (opera = null); + + /*------------------------------------------------------------------------*/ + + /** Temporary variable used over the script's lifetime. */ + var data; + + /** The CPU architecture. */ + var arch = ua; + + /** Platform description array. */ + var description = []; + + /** Platform alpha/beta indicator. */ + var prerelease = null; + + /** A flag to indicate that environment features should be used to resolve the platform. */ + var useFeatures = ua == userAgent; + + /** The browser/environment version. */ + var version = useFeatures && opera && typeof opera.version == 'function' && opera.version(); + + /** A flag to indicate if the OS begins with "Name Version /". */ + var isSpecialCasedOS; + + /* Detectable layout engines (order is important). */ + var layout = getLayout([ + { 'label': 'EdgeHTML', 'pattern': 'Edge' }, + 'Trident', + { 'label': 'WebKit', 'pattern': 'AppleWebKit' }, + 'iCab', + 'Presto', + 'NetFront', + 'Tasman', + 'KHTML', + 'Gecko' + ]); + + /* Detectable browser names (order is important). */ + var name = getName([ + 'Adobe AIR', + 'Arora', + 'Avant Browser', + 'Breach', + 'Camino', + 'Epiphany', + 'Fennec', + 'Flock', + 'Galeon', + 'GreenBrowser', + 'iCab', + 'Iceweasel', + 'K-Meleon', + 'Konqueror', + 'Lunascape', + 'Maxthon', + { 'label': 'Microsoft Edge', 'pattern': 'Edge' }, + 'Midori', + 'Nook Browser', + 'PaleMoon', + 'PhantomJS', + 'Raven', + 'Rekonq', + 'RockMelt', + 'SeaMonkey', + { 'label': 'Silk', 'pattern': '(?:Cloud9|Silk-Accelerated)' }, + 'Sleipnir', + 'SlimBrowser', + { 'label': 'SRWare Iron', 'pattern': 'Iron' }, + 'Sunrise', + 'Swiftfox', + 'WebPositive', + 'Opera Mini', + { 'label': 'Opera Mini', 'pattern': 'OPiOS' }, + 'Opera', + { 'label': 'Opera', 'pattern': 'OPR' }, + 'Chrome', + { 'label': 'Chrome Mobile', 'pattern': '(?:CriOS|CrMo)' }, + { 'label': 'Firefox', 'pattern': '(?:Firefox|Minefield)' }, + { 'label': 'Firefox Mobile', 'pattern': 'FxiOS' }, + { 'label': 'IE', 'pattern': 'IEMobile' }, + { 'label': 'IE', 'pattern': 'MSIE' }, + 'Safari' + ]); + + /* Detectable products (order is important). */ + var product = getProduct([ + { 'label': 'BlackBerry', 'pattern': 'BB10' }, + 'BlackBerry', + { 'label': 'Galaxy S', 'pattern': 'GT-I9000' }, + { 'label': 'Galaxy S2', 'pattern': 'GT-I9100' }, + { 'label': 'Galaxy S3', 'pattern': 'GT-I9300' }, + { 'label': 'Galaxy S4', 'pattern': 'GT-I9500' }, + 'Google TV', + 'Lumia', + 'iPad', + 'iPod', + 'iPhone', + 'Kindle', + { 'label': 'Kindle Fire', 'pattern': '(?:Cloud9|Silk-Accelerated)' }, + 'Nexus', + 'Nook', + 'PlayBook', + 'PlayStation 3', + 'PlayStation 4', + 'PlayStation Vita', + 'TouchPad', + 'Transformer', + { 'label': 'Wii U', 'pattern': 'WiiU' }, + 'Wii', + 'Xbox One', + { 'label': 'Xbox 360', 'pattern': 'Xbox' }, + 'Xoom' + ]); + + /* Detectable manufacturers. */ + var manufacturer = getManufacturer({ + 'Apple': { 'iPad': 1, 'iPhone': 1, 'iPod': 1 }, + 'Amazon': { 'Kindle': 1, 'Kindle Fire': 1 }, + 'Asus': { 'Transformer': 1 }, + 'Barnes & Noble': { 'Nook': 1 }, + 'BlackBerry': { 'PlayBook': 1 }, + 'Google': { 'Google TV': 1, 'Nexus': 1 }, + 'HP': { 'TouchPad': 1 }, + 'HTC': {}, + 'LG': {}, + 'Microsoft': { 'Xbox': 1, 'Xbox One': 1 }, + 'Motorola': { 'Xoom': 1 }, + 'Nintendo': { 'Wii U': 1, 'Wii': 1 }, + 'Nokia': { 'Lumia': 1 }, + 'Samsung': { 'Galaxy S': 1, 'Galaxy S2': 1, 'Galaxy S3': 1, 'Galaxy S4': 1 }, + 'Sony': { 'PlayStation 4': 1, 'PlayStation 3': 1, 'PlayStation Vita': 1 } + }); + + /* Detectable operating systems (order is important). */ + var os = getOS([ + 'Windows Phone ', + 'Android', + 'CentOS', + { 'label': 'Chrome OS', 'pattern': 'CrOS' }, + 'Debian', + 'Fedora', + 'FreeBSD', + 'Gentoo', + 'Haiku', + 'Kubuntu', + 'Linux Mint', + 'OpenBSD', + 'Red Hat', + 'SuSE', + 'Ubuntu', + 'Xubuntu', + 'Cygwin', + 'Symbian OS', + 'hpwOS', + 'webOS ', + 'webOS', + 'Tablet OS', + 'Linux', + 'Mac OS X', + 'Macintosh', + 'Mac', + 'Windows 98;', + 'Windows ' + ]); + + /*------------------------------------------------------------------------*/ + + /** + * Picks the layout engine from an array of guesses. + * + * @private + * @param {Array} guesses An array of guesses. + * @returns {null|string} The detected layout engine. + */ + function getLayout(guesses) { + return reduce(guesses, function(result, guess) { + return result || RegExp('\\b' + ( + guess.pattern || qualify(guess) + ) + '\\b', 'i').exec(ua) && (guess.label || guess); + }); + } + + /** + * Picks the manufacturer from an array of guesses. + * + * @private + * @param {Array} guesses An object of guesses. + * @returns {null|string} The detected manufacturer. + */ + function getManufacturer(guesses) { + return reduce(guesses, function(result, value, key) { + // Lookup the manufacturer by product or scan the UA for the manufacturer. + return result || ( + value[product] || + value[/^[a-z]+(?: +[a-z]+\b)*/i.exec(product)] || + RegExp('\\b' + qualify(key) + '(?:\\b|\\w*\\d)', 'i').exec(ua) + ) && key; + }); + } + + /** + * Picks the browser name from an array of guesses. + * + * @private + * @param {Array} guesses An array of guesses. + * @returns {null|string} The detected browser name. + */ + function getName(guesses) { + return reduce(guesses, function(result, guess) { + return result || RegExp('\\b' + ( + guess.pattern || qualify(guess) + ) + '\\b', 'i').exec(ua) && (guess.label || guess); + }); + } + + /** + * Picks the OS name from an array of guesses. + * + * @private + * @param {Array} guesses An array of guesses. + * @returns {null|string} The detected OS name. + */ + function getOS(guesses) { + return reduce(guesses, function(result, guess) { + var pattern = guess.pattern || qualify(guess); + if (!result && (result = + RegExp('\\b' + pattern + '(?:/[\\d.]+|[ \\w.]*)', 'i').exec(ua) + )) { + result = cleanupOS(result, pattern, guess.label || guess); + } + return result; + }); + } + + /** + * Picks the product name from an array of guesses. + * + * @private + * @param {Array} guesses An array of guesses. + * @returns {null|string} The detected product name. + */ + function getProduct(guesses) { + return reduce(guesses, function(result, guess) { + var pattern = guess.pattern || qualify(guess); + if (!result && (result = + RegExp('\\b' + pattern + ' *\\d+[.\\w_]*', 'i').exec(ua) || + RegExp('\\b' + pattern + '(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)', 'i').exec(ua) + )) { + // Split by forward slash and append product version if needed. + if ((result = String((guess.label && !RegExp(pattern, 'i').test(guess.label)) ? guess.label : result).split('/'))[1] && !/[\d.]+/.test(result[0])) { + result[0] += ' ' + result[1]; + } + // Correct character case and cleanup string. + guess = guess.label || guess; + result = format(result[0] + .replace(RegExp(pattern, 'i'), guess) + .replace(RegExp('; *(?:' + guess + '[_-])?', 'i'), ' ') + .replace(RegExp('(' + guess + ')[-_.]?(\\w)', 'i'), '$1 $2')); + } + return result; + }); + } + + /** + * Resolves the version using an array of UA patterns. + * + * @private + * @param {Array} patterns An array of UA patterns. + * @returns {null|string} The detected version. + */ + function getVersion(patterns) { + return reduce(patterns, function(result, pattern) { + return result || (RegExp(pattern + + '(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)', 'i').exec(ua) || 0)[1] || null; + }); + } + + /** + * Returns `platform.description` when the platform object is coerced to a string. + * + * @name toString + * @memberOf platform + * @returns {string} Returns `platform.description` if available, else an empty string. + */ + function toStringPlatform() { + return this.description || ''; + } + + /*------------------------------------------------------------------------*/ + + // Convert layout to an array so we can add extra details. + layout && (layout = [layout]); + + // Detect product names that contain their manufacturer's name. + if (manufacturer && !product) { + product = getProduct([manufacturer]); + } + // Clean up Google TV. + if ((data = /\bGoogle TV\b/.exec(product))) { + product = data[0]; + } + // Detect simulators. + if (/\bSimulator\b/i.test(ua)) { + product = (product ? product + ' ' : '') + 'Simulator'; + } + // Detect Opera Mini 8+ running in Turbo/Uncompressed mode on iOS. + if (name == 'Opera Mini' && /\bOPiOS\b/.test(ua)) { + description.push('running in Turbo/Uncompressed mode'); + } + // Detect iOS. + if (/^iP/.test(product)) { + name || (name = 'Safari'); + os = 'iOS' + ((data = / OS ([\d_]+)/i.exec(ua)) + ? ' ' + data[1].replace(/_/g, '.') + : ''); + } + // Detect Kubuntu. + else if (name == 'Konqueror' && !/buntu/i.test(os)) { + os = 'Kubuntu'; + } + // Detect Android browsers. + else if (manufacturer && manufacturer != 'Google' && + ((/Chrome/.test(name) && !/\bMobile Safari\b/i.test(ua)) || /\bVita\b/.test(product))) { + name = 'Android Browser'; + os = /\bAndroid\b/.test(os) ? os : 'Android'; + } + // Detect Silk desktop/accelerated modes. + else if (name == 'Silk') { + if (!/\bMobi/i.test(ua)) { + os = 'Android'; + description.unshift('desktop mode'); + } + if (/Accelerated *= *true/i.test(ua)) { + description.unshift('accelerated'); + } + } + // Detect PaleMoon identifying as Firefox. + else if (name == 'PaleMoon' && (data = /\bFirefox\/([\d.]+)\b/.exec(ua))) { + description.push('identifying as Firefox ' + data[1]); + } + // Detect Firefox OS and products running Firefox. + else if (name == 'Firefox' && (data = /\b(Mobile|Tablet|TV)\b/i.exec(ua))) { + os || (os = 'Firefox OS'); + product || (product = data[1]); + } + // Detect false positives for Firefox/Safari. + else if (!name || (data = !/\bMinefield\b/i.test(ua) && /\b(?:Firefox|Safari)\b/.exec(name))) { + // Escape the `/` for Firefox 1. + if (name && !product && /[\/,]|^[^(]+?\)/.test(ua.slice(ua.indexOf(data + '/') + 8))) { + // Clear name of false positives. + name = null; + } + // Reassign a generic name. + if ((data = product || manufacturer || os) && + (product || manufacturer || /\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(os))) { + name = /[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(os) ? os : data) + ' Browser'; + } + } + // Detect non-Opera (Presto-based) versions (order is important). + if (!version) { + version = getVersion([ + '(?:Cloud9|CriOS|CrMo|Edge|FxiOS|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|Silk(?!/[\\d.]+$))', + 'Version', + qualify(name), + '(?:Firefox|Minefield|NetFront)' + ]); + } + // Detect stubborn layout engines. + if ((data = + layout == 'iCab' && parseFloat(version) > 3 && 'WebKit' || + /\bOpera\b/.test(name) && (/\bOPR\b/.test(ua) ? 'Blink' : 'Presto') || + /\b(?:Midori|Nook|Safari)\b/i.test(ua) && !/^(?:Trident|EdgeHTML)$/.test(layout) && 'WebKit' || + !layout && /\bMSIE\b/i.test(ua) && (os == 'Mac OS' ? 'Tasman' : 'Trident') || + layout == 'WebKit' && /\bPlayStation\b(?! Vita\b)/i.test(name) && 'NetFront' + )) { + layout = [data]; + } + // Detect Windows Phone 7 desktop mode. + if (name == 'IE' && (data = (/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(ua) || 0)[1])) { + name += ' Mobile'; + os = 'Windows Phone ' + (/\+$/.test(data) ? data : data + '.x'); + description.unshift('desktop mode'); + } + // Detect Windows Phone 8.x desktop mode. + else if (/\bWPDesktop\b/i.test(ua)) { + name = 'IE Mobile'; + os = 'Windows Phone 8.x'; + description.unshift('desktop mode'); + version || (version = (/\brv:([\d.]+)/.exec(ua) || 0)[1]); + } + // Detect IE 11. + else if (name != 'IE' && layout == 'Trident' && (data = /\brv:([\d.]+)/.exec(ua))) { + if (name) { + description.push('identifying as ' + name + (version ? ' ' + version : '')); + } + name = 'IE'; + version = data[1]; + } + // Leverage environment features. + if (useFeatures) { + // Detect server-side environments. + // Rhino has a global function while others have a global object. + if (isHostType(context, 'global')) { + if (java) { + data = java.lang.System; + arch = data.getProperty('os.arch'); + os = os || data.getProperty('os.name') + ' ' + data.getProperty('os.version'); + } + if (isModuleScope && isHostType(context, 'system') && (data = [context.system])[0]) { + os || (os = data[0].os || null); + try { + data[1] = context.require('ringo/engine').version; + version = data[1].join('.'); + name = 'RingoJS'; + } catch(e) { + if (data[0].global.system == context.system) { + name = 'Narwhal'; + } + } + } + else if (typeof context.process == 'object' && (data = context.process)) { + name = 'Node.js'; + arch = data.arch; + os = data.platform; + version = /[\d.]+/.exec(data.version)[0]; + } + else if (rhino) { + name = 'Rhino'; + } + } + // Detect Adobe AIR. + else if (getClassOf((data = context.runtime)) == airRuntimeClass) { + name = 'Adobe AIR'; + os = data.flash.system.Capabilities.os; + } + // Detect PhantomJS. + else if (getClassOf((data = context.phantom)) == phantomClass) { + name = 'PhantomJS'; + version = (data = data.version || null) && (data.major + '.' + data.minor + '.' + data.patch); + } + // Detect IE compatibility modes. + else if (typeof doc.documentMode == 'number' && (data = /\bTrident\/(\d+)/i.exec(ua))) { + // We're in compatibility mode when the Trident version + 4 doesn't + // equal the document mode. + version = [version, doc.documentMode]; + if ((data = +data[1] + 4) != version[1]) { + description.push('IE ' + version[1] + ' mode'); + layout && (layout[1] = ''); + version[1] = data; + } + version = name == 'IE' ? String(version[1].toFixed(1)) : version[0]; + } + os = os && format(os); + } + // Detect prerelease phases. + if (version && (data = + /(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(version) || + /(?:alpha|beta)(?: ?\d)?/i.exec(ua + ';' + (useFeatures && nav.appMinorVersion)) || + /\bMinefield\b/i.test(ua) && 'a' + )) { + prerelease = /b/i.test(data) ? 'beta' : 'alpha'; + version = version.replace(RegExp(data + '\\+?$'), '') + + (prerelease == 'beta' ? beta : alpha) + (/\d+\+?/.exec(data) || ''); + } + // Detect Firefox Mobile. + if (name == 'Fennec' || name == 'Firefox' && /\b(?:Android|Firefox OS)\b/.test(os)) { + name = 'Firefox Mobile'; + } + // Obscure Maxthon's unreliable version. + else if (name == 'Maxthon' && version) { + version = version.replace(/\.[\d.]+/, '.x'); + } + // Detect Xbox 360 and Xbox One. + else if (/\bXbox\b/i.test(product)) { + os = null; + if (product == 'Xbox 360' && /\bIEMobile\b/.test(ua)) { + description.unshift('mobile mode'); + } + } + // Add mobile postfix. + else if ((/^(?:Chrome|IE|Opera)$/.test(name) || name && !product && !/Browser|Mobi/.test(name)) && + (os == 'Windows CE' || /Mobi/i.test(ua))) { + name += ' Mobile'; + } + // Detect IE platform preview. + else if (name == 'IE' && useFeatures && context.external === null) { + description.unshift('platform preview'); + } + // Detect BlackBerry OS version. + // http://docs.blackberry.com/en/developers/deliverables/18169/HTTP_headers_sent_by_BB_Browser_1234911_11.jsp + else if ((/\bBlackBerry\b/.test(product) || /\bBB10\b/.test(ua)) && (data = + (RegExp(product.replace(/ +/g, ' *') + '/([.\\d]+)', 'i').exec(ua) || 0)[1] || + version + )) { + data = [data, /BB10/.test(ua)]; + os = (data[1] ? (product = null, manufacturer = 'BlackBerry') : 'Device Software') + ' ' + data[0]; + version = null; + } + // Detect Opera identifying/masking itself as another browser. + // http://www.opera.com/support/kb/view/843/ + else if (this != forOwn && product != 'Wii' && ( + (useFeatures && opera) || + (/Opera/.test(name) && /\b(?:MSIE|Firefox)\b/i.test(ua)) || + (name == 'Firefox' && /\bOS X (?:\d+\.){2,}/.test(os)) || + (name == 'IE' && ( + (os && !/^Win/.test(os) && version > 5.5) || + /\bWindows XP\b/.test(os) && version > 8 || + version == 8 && !/\bTrident\b/.test(ua) + )) + ) && !reOpera.test((data = parse.call(forOwn, ua.replace(reOpera, '') + ';'))) && data.name) { + // When "identifying", the UA contains both Opera and the other browser's name. + data = 'ing as ' + data.name + ((data = data.version) ? ' ' + data : ''); + if (reOpera.test(name)) { + if (/\bIE\b/.test(data) && os == 'Mac OS') { + os = null; + } + data = 'identify' + data; + } + // When "masking", the UA contains only the other browser's name. + else { + data = 'mask' + data; + if (operaClass) { + name = format(operaClass.replace(/([a-z])([A-Z])/g, '$1 $2')); + } else { + name = 'Opera'; + } + if (/\bIE\b/.test(data)) { + os = null; + } + if (!useFeatures) { + version = null; + } + } + layout = ['Presto']; + description.push(data); + } + // Detect WebKit Nightly and approximate Chrome/Safari versions. + if ((data = (/\bAppleWebKit\/([\d.]+\+?)/i.exec(ua) || 0)[1])) { + // Correct build number for numeric comparison. + // (e.g. "532.5" becomes "532.05") + data = [parseFloat(data.replace(/\.(\d)$/, '.0$1')), data]; + // Nightly builds are postfixed with a "+". + if (name == 'Safari' && data[1].slice(-1) == '+') { + name = 'WebKit Nightly'; + prerelease = 'alpha'; + version = data[1].slice(0, -1); + } + // Clear incorrect browser versions. + else if (version == data[1] || + version == (data[2] = (/\bSafari\/([\d.]+\+?)/i.exec(ua) || 0)[1])) { + version = null; + } + // Use the full Chrome version when available. + data[1] = (/\bChrome\/([\d.]+)/i.exec(ua) || 0)[1]; + // Detect Blink layout engine. + if (data[0] == 537.36 && data[2] == 537.36 && parseFloat(data[1]) >= 28 && layout == 'WebKit') { + layout = ['Blink']; + } + // Detect JavaScriptCore. + // http://stackoverflow.com/questions/6768474/how-can-i-detect-which-javascript-engine-v8-or-jsc-is-used-at-runtime-in-androi + if (!useFeatures || (!likeChrome && !data[1])) { + layout && (layout[1] = 'like Safari'); + data = (data = data[0], data < 400 ? 1 : data < 500 ? 2 : data < 526 ? 3 : data < 533 ? 4 : data < 534 ? '4+' : data < 535 ? 5 : data < 537 ? 6 : data < 538 ? 7 : data < 601 ? 8 : '8'); + } else { + layout && (layout[1] = 'like Chrome'); + data = data[1] || (data = data[0], data < 530 ? 1 : data < 532 ? 2 : data < 532.05 ? 3 : data < 533 ? 4 : data < 534.03 ? 5 : data < 534.07 ? 6 : data < 534.10 ? 7 : data < 534.13 ? 8 : data < 534.16 ? 9 : data < 534.24 ? 10 : data < 534.30 ? 11 : data < 535.01 ? 12 : data < 535.02 ? '13+' : data < 535.07 ? 15 : data < 535.11 ? 16 : data < 535.19 ? 17 : data < 536.05 ? 18 : data < 536.10 ? 19 : data < 537.01 ? 20 : data < 537.11 ? '21+' : data < 537.13 ? 23 : data < 537.18 ? 24 : data < 537.24 ? 25 : data < 537.36 ? 26 : layout != 'Blink' ? '27' : '28'); + } + // Add the postfix of ".x" or "+" for approximate versions. + layout && (layout[1] += ' ' + (data += typeof data == 'number' ? '.x' : /[.+]/.test(data) ? '' : '+')); + // Obscure version for some Safari 1-2 releases. + if (name == 'Safari' && (!version || parseInt(version) > 45)) { + version = data; + } + } + // Detect Opera desktop modes. + if (name == 'Opera' && (data = /\bzbov|zvav$/.exec(os))) { + name += ' '; + description.unshift('desktop mode'); + if (data == 'zvav') { + name += 'Mini'; + version = null; + } else { + name += 'Mobile'; + } + os = os.replace(RegExp(' *' + data + '$'), ''); + } + // Detect Chrome desktop mode. + else if (name == 'Safari' && /\bChrome\b/.exec(layout && layout[1])) { + description.unshift('desktop mode'); + name = 'Chrome Mobile'; + version = null; + + if (/\bOS X\b/.test(os)) { + manufacturer = 'Apple'; + os = 'iOS 4.3+'; + } else { + os = null; + } + } + // Strip incorrect OS versions. + if (version && version.indexOf((data = /[\d.]+$/.exec(os))) == 0 && + ua.indexOf('/' + data + '-') > -1) { + os = trim(os.replace(data, '')); + } + // Add layout engine. + if (layout && !/\b(?:Avant|Nook)\b/.test(name) && ( + /Browser|Lunascape|Maxthon/.test(name) || + name != 'Safari' && /^iOS/.test(os) && /\bSafari\b/.test(layout[1]) || + /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Sleipnir|Web)/.test(name) && layout[1])) { + // Don't add layout details to description if they are falsey. + (data = layout[layout.length - 1]) && description.push(data); + } + // Combine contextual information. + if (description.length) { + description = ['(' + description.join('; ') + ')']; + } + // Append manufacturer to description. + if (manufacturer && product && product.indexOf(manufacturer) < 0) { + description.push('on ' + manufacturer); + } + // Append product to description. + if (product) { + description.push((/^on /.test(description[description.length - 1]) ? '' : 'on ') + product); + } + // Parse the OS into an object. + if (os) { + data = + / ([\d.+]+)$/.exec(os) || + (isSpecialCasedOS = /^[a-z]+ ([\d.+]+) \//i.exec(os)); + os = { + 'architecture': 32, + 'family': (data && !isSpecialCasedOS) ? os.replace(data[0], '') : os, + 'version': data ? data[1] : null, + 'toString': function() { + var version = this.version; + return this.family + ((version && !isSpecialCasedOS) ? ' ' + version : '') + (this.architecture == 64 ? ' 64-bit' : ''); + } + }; + } + // Add browser/OS architecture. + if ((data = /\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(arch)) && !/\bi686\b/i.test(arch)) { + if (os) { + os.architecture = 64; + os.family = os.family.replace(RegExp(' *' + data), ''); + } + if ( + name && (/\bWOW64\b/i.test(ua) || + (useFeatures && /\w(?:86|32)$/.test(nav.cpuClass || nav.platform) && !/\bWin64; x64\b/i.test(ua))) + ) { + description.unshift('32-bit'); + } + } + + ua || (ua = null); + + /*------------------------------------------------------------------------*/ + + /** + * The platform object. + * + * @name platform + * @type Object + */ + var platform = {}; + + /** + * The platform description. + * + * @memberOf platform + * @type string|null + */ + platform.description = ua; + + /** + * The name of the browser's layout engine. + * + * @memberOf platform + * @type string|null + */ + platform.layout = layout && layout[0]; + + /** + * The name of the product's manufacturer. + * + * @memberOf platform + * @type string|null + */ + platform.manufacturer = manufacturer; + + /** + * The name of the browser/environment. + * + * @memberOf platform + * @type string|null + */ + platform.name = name; + + /** + * The alpha/beta release indicator. + * + * @memberOf platform + * @type string|null + */ + platform.prerelease = prerelease; + + /** + * The name of the product hosting the browser. + * + * @memberOf platform + * @type string|null + */ + platform.product = product; + + /** + * The browser's user agent string. + * + * @memberOf platform + * @type string|null + */ + platform.ua = ua; + + /** + * The browser/environment version. + * + * @memberOf platform + * @type string|null + */ + platform.version = name && version; + + /** + * The name of the operating system. + * + * @memberOf platform + * @type Object + */ + platform.os = os || { + + /** + * The CPU architecture the OS is built for. + * + * @memberOf platform.os + * @type number|null + */ + 'architecture': null, + + /** + * The family of the OS. + * + * Common values include: + * "Windows", "Windows 7 / Server 2008 R2", "Windows Vista / Server 2008", + * "Windows XP", "OS X", "Ubuntu", "Debian", "Fedora", "Red Hat", "SuSE", + * "Android", "iOS" and "Windows Phone" + * + * @memberOf platform.os + * @type string|null + */ + 'family': null, + + /** + * The version of the OS. + * + * @memberOf platform.os + * @type string|null + */ + 'version': null, + + /** + * Returns the OS string. + * + * @memberOf platform.os + * @returns {string} The OS string. + */ + 'toString': function() { return 'null'; } + }; + + platform.parse = parse; + platform.toString = toStringPlatform; + + if (platform.version) { + description.unshift(version); + } + if (platform.name) { + description.unshift(name); + } + if (os && name && !(os == String(os).split(' ')[0] && (os == name.split(' ')[0] || product))) { + description.push(product ? '(' + os + ')' : 'on ' + os); + } + if (description.length) { + platform.description = description.join(' '); + } + return platform; + } + + /*--------------------------------------------------------------------------*/ + + // Export platform. + // Some AMD build optimizers, like r.js, check for condition patterns like the following: + if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { + // Define as an anonymous module so platform can be aliased through path mapping. + define(function() { + return parse(); + }); + } + // Check for `exports` after `define` in case a build optimizer adds an `exports` object. + else if (freeExports && freeModule) { + // Export for CommonJS support. + forOwn(parse(), function(value, key) { + freeExports[key] = value; + }); + } + else { + // Export to the global object. + root.platform = parse(); + } +}.call(this)); diff --git a/Server/www/spiderbasic/preloadjs.min.js b/Server/www/spiderbasic/preloadjs.min.js new file mode 100644 index 0000000..83c5a92 --- /dev/null +++ b/Server/www/spiderbasic/preloadjs.min.js @@ -0,0 +1,13 @@ +/*! +* @license PreloadJS +* Visit http://createjs.com/ for documentation, updates and examples. +* +* Copyright (c) 2011-2015 gskinner.com, inc. +* +* Distributed under the terms of the MIT license. +* http://www.opensource.org/licenses/mit-license.html +* +* This notice shall be included in all copies or substantial portions of the Software. +*/ +this.createjs=this.createjs||{},function(){"use strict";var a=createjs.PreloadJS=createjs.PreloadJS||{};a.version="0.6.2",a.buildDate="Thu, 26 Nov 2015 20:44:31 GMT"}(),this.createjs=this.createjs||{},createjs.extend=function(a,b){"use strict";function c(){this.constructor=a}return c.prototype=b.prototype,a.prototype=new c},this.createjs=this.createjs||{},createjs.promote=function(a,b){"use strict";var c=a.prototype,d=Object.getPrototypeOf&&Object.getPrototypeOf(c)||c.__proto__;if(d){c[(b+="_")+"constructor"]=d.constructor;for(var e in d)c.hasOwnProperty(e)&&"function"==typeof d[e]&&(c[b+e]=d[e])}return a},this.createjs=this.createjs||{},function(){"use strict";createjs.proxy=function(a,b){var c=Array.prototype.slice.call(arguments,2);return function(){return a.apply(b,Array.prototype.slice.call(arguments,0).concat(c))}}}(),this.createjs=this.createjs||{},createjs.indexOf=function(a,b){"use strict";for(var c=0,d=a.length;d>c;c++)if(b===a[c])return c;return-1},this.createjs=this.createjs||{},function(){"use strict";function Event(a,b,c){this.type=a,this.target=null,this.currentTarget=null,this.eventPhase=0,this.bubbles=!!b,this.cancelable=!!c,this.timeStamp=(new Date).getTime(),this.defaultPrevented=!1,this.propagationStopped=!1,this.immediatePropagationStopped=!1,this.removed=!1}var a=Event.prototype;a.preventDefault=function(){this.defaultPrevented=this.cancelable&&!0},a.stopPropagation=function(){this.propagationStopped=!0},a.stopImmediatePropagation=function(){this.immediatePropagationStopped=this.propagationStopped=!0},a.remove=function(){this.removed=!0},a.clone=function(){return new Event(this.type,this.bubbles,this.cancelable)},a.set=function(a){for(var b in a)this[b]=a[b];return this},a.toString=function(){return"[Event (type="+this.type+")]"},createjs.Event=Event}(),this.createjs=this.createjs||{},function(){"use strict";function ErrorEvent(a,b,c){this.Event_constructor("error"),this.title=a,this.message=b,this.data=c}var a=createjs.extend(ErrorEvent,createjs.Event);a.clone=function(){return new createjs.ErrorEvent(this.title,this.message,this.data)},createjs.ErrorEvent=createjs.promote(ErrorEvent,"Event")}(),this.createjs=this.createjs||{},function(){"use strict";function EventDispatcher(){this._listeners=null,this._captureListeners=null}var a=EventDispatcher.prototype;EventDispatcher.initialize=function(b){b.addEventListener=a.addEventListener,b.on=a.on,b.removeEventListener=b.off=a.removeEventListener,b.removeAllEventListeners=a.removeAllEventListeners,b.hasEventListener=a.hasEventListener,b.dispatchEvent=a.dispatchEvent,b._dispatchEvent=a._dispatchEvent,b.willTrigger=a.willTrigger},a.addEventListener=function(a,b,c){var d;d=c?this._captureListeners=this._captureListeners||{}:this._listeners=this._listeners||{};var e=d[a];return e&&this.removeEventListener(a,b,c),e=d[a],e?e.push(b):d[a]=[b],b},a.on=function(a,b,c,d,e,f){return b.handleEvent&&(c=c||b,b=b.handleEvent),c=c||this,this.addEventListener(a,function(a){b.call(c,a,e),d&&a.remove()},f)},a.removeEventListener=function(a,b,c){var d=c?this._captureListeners:this._listeners;if(d){var e=d[a];if(e)for(var f=0,g=e.length;g>f;f++)if(e[f]==b){1==g?delete d[a]:e.splice(f,1);break}}},a.off=a.removeEventListener,a.removeAllEventListeners=function(a){a?(this._listeners&&delete this._listeners[a],this._captureListeners&&delete this._captureListeners[a]):this._listeners=this._captureListeners=null},a.dispatchEvent=function(a,b,c){if("string"==typeof a){var d=this._listeners;if(!(b||d&&d[a]))return!0;a=new createjs.Event(a,b,c)}else a.target&&a.clone&&(a=a.clone());try{a.target=this}catch(e){}if(a.bubbles&&this.parent){for(var f=this,g=[f];f.parent;)g.push(f=f.parent);var h,i=g.length;for(h=i-1;h>=0&&!a.propagationStopped;h--)g[h]._dispatchEvent(a,1+(0==h));for(h=1;i>h&&!a.propagationStopped;h++)g[h]._dispatchEvent(a,3)}else this._dispatchEvent(a,2);return!a.defaultPrevented},a.hasEventListener=function(a){var b=this._listeners,c=this._captureListeners;return!!(b&&b[a]||c&&c[a])},a.willTrigger=function(a){for(var b=this;b;){if(b.hasEventListener(a))return!0;b=b.parent}return!1},a.toString=function(){return"[EventDispatcher]"},a._dispatchEvent=function(a,b){var c,d=1==b?this._captureListeners:this._listeners;if(a&&d){var e=d[a.type];if(!e||!(c=e.length))return;try{a.currentTarget=this}catch(f){}try{a.eventPhase=b}catch(f){}a.removed=!1,e=e.slice();for(var g=0;c>g&&!a.immediatePropagationStopped;g++){var h=e[g];h.handleEvent?h.handleEvent(a):h(a),a.removed&&(this.off(a.type,h,1==b),a.removed=!1)}}},createjs.EventDispatcher=EventDispatcher}(),this.createjs=this.createjs||{},function(){"use strict";function ProgressEvent(a,b){this.Event_constructor("progress"),this.loaded=a,this.total=null==b?1:b,this.progress=0==b?0:this.loaded/this.total}var a=createjs.extend(ProgressEvent,createjs.Event);a.clone=function(){return new createjs.ProgressEvent(this.loaded,this.total)},createjs.ProgressEvent=createjs.promote(ProgressEvent,"Event")}(window),function(){function a(b,d){function f(a){if(f[a]!==q)return f[a];var b;if("bug-string-char-index"==a)b="a"!="a"[0];else if("json"==a)b=f("json-stringify")&&f("json-parse");else{var c,e='{"a":[1,true,false,null,"\\u0000\\b\\n\\f\\r\\t"]}';if("json-stringify"==a){var i=d.stringify,k="function"==typeof i&&t;if(k){(c=function(){return 1}).toJSON=c;try{k="0"===i(0)&&"0"===i(new g)&&'""'==i(new h)&&i(s)===q&&i(q)===q&&i()===q&&"1"===i(c)&&"[1]"==i([c])&&"[null]"==i([q])&&"null"==i(null)&&"[null,null,null]"==i([q,s,null])&&i({a:[c,!0,!1,null,"\x00\b\n\f\r "]})==e&&"1"===i(null,c)&&"[\n 1,\n 2\n]"==i([1,2],null,1)&&'"-271821-04-20T00:00:00.000Z"'==i(new j(-864e13))&&'"+275760-09-13T00:00:00.000Z"'==i(new j(864e13))&&'"-000001-01-01T00:00:00.000Z"'==i(new j(-621987552e5))&&'"1969-12-31T23:59:59.999Z"'==i(new j(-1))}catch(l){k=!1}}b=k}if("json-parse"==a){var m=d.parse;if("function"==typeof m)try{if(0===m("0")&&!m(!1)){c=m(e);var n=5==c.a.length&&1===c.a[0];if(n){try{n=!m('" "')}catch(l){}if(n)try{n=1!==m("01")}catch(l){}if(n)try{n=1!==m("1.")}catch(l){}}}}catch(l){n=!1}b=n}}return f[a]=!!b}b||(b=e.Object()),d||(d=e.Object());var g=b.Number||e.Number,h=b.String||e.String,i=b.Object||e.Object,j=b.Date||e.Date,k=b.SyntaxError||e.SyntaxError,l=b.TypeError||e.TypeError,m=b.Math||e.Math,n=b.JSON||e.JSON;"object"==typeof n&&n&&(d.stringify=n.stringify,d.parse=n.parse);var o,p,q,r=i.prototype,s=r.toString,t=new j(-0xc782b5b800cec);try{t=-109252==t.getUTCFullYear()&&0===t.getUTCMonth()&&1===t.getUTCDate()&&10==t.getUTCHours()&&37==t.getUTCMinutes()&&6==t.getUTCSeconds()&&708==t.getUTCMilliseconds()}catch(u){}if(!f("json")){var v="[object Function]",w="[object Date]",x="[object Number]",y="[object String]",z="[object Array]",A="[object Boolean]",B=f("bug-string-char-index");if(!t)var C=m.floor,D=[0,31,59,90,120,151,181,212,243,273,304,334],E=function(a,b){return D[b]+365*(a-1970)+C((a-1969+(b=+(b>1)))/4)-C((a-1901+b)/100)+C((a-1601+b)/400)};if((o=r.hasOwnProperty)||(o=function(a){var b,c={};return(c.__proto__=null,c.__proto__={toString:1},c).toString!=s?o=function(a){var b=this.__proto__,c=a in(this.__proto__=null,this);return this.__proto__=b,c}:(b=c.constructor,o=function(a){var c=(this.constructor||b).prototype;return a in this&&!(a in c&&this[a]===c[a])}),c=null,o.call(this,a)}),p=function(a,b){var d,e,f,g=0;(d=function(){this.valueOf=0}).prototype.valueOf=0,e=new d;for(f in e)o.call(e,f)&&g++;return d=e=null,g?p=2==g?function(a,b){var c,d={},e=s.call(a)==v;for(c in a)e&&"prototype"==c||o.call(d,c)||!(d[c]=1)||!o.call(a,c)||b(c)}:function(a,b){var c,d,e=s.call(a)==v;for(c in a)e&&"prototype"==c||!o.call(a,c)||(d="constructor"===c)||b(c);(d||o.call(a,c="constructor"))&&b(c)}:(e=["valueOf","toString","toLocaleString","propertyIsEnumerable","isPrototypeOf","hasOwnProperty","constructor"],p=function(a,b){var d,f,g=s.call(a)==v,h=!g&&"function"!=typeof a.constructor&&c[typeof a.hasOwnProperty]&&a.hasOwnProperty||o;for(d in a)g&&"prototype"==d||!h.call(a,d)||b(d);for(f=e.length;d=e[--f];h.call(a,d)&&b(d));}),p(a,b)},!f("json-stringify")){var F={92:"\\\\",34:'\\"',8:"\\b",12:"\\f",10:"\\n",13:"\\r",9:"\\t"},G="000000",H=function(a,b){return(G+(b||0)).slice(-a)},I="\\u00",J=function(a){for(var b='"',c=0,d=a.length,e=!B||d>10,f=e&&(B?a.split(""):a);d>c;c++){var g=a.charCodeAt(c);switch(g){case 8:case 9:case 10:case 12:case 13:case 34:case 92:b+=F[g];break;default:if(32>g){b+=I+H(2,g.toString(16));break}b+=e?f[c]:a.charAt(c)}}return b+'"'},K=function(a,b,c,d,e,f,g){var h,i,j,k,m,n,r,t,u,v,B,D,F,G,I,L;try{h=b[a]}catch(M){}if("object"==typeof h&&h)if(i=s.call(h),i!=w||o.call(h,"toJSON"))"function"==typeof h.toJSON&&(i!=x&&i!=y&&i!=z||o.call(h,"toJSON"))&&(h=h.toJSON(a));else if(h>-1/0&&1/0>h){if(E){for(m=C(h/864e5),j=C(m/365.2425)+1970-1;E(j+1,0)<=m;j++);for(k=C((m-E(j,0))/30.42);E(j,k+1)<=m;k++);m=1+m-E(j,k),n=(h%864e5+864e5)%864e5,r=C(n/36e5)%24,t=C(n/6e4)%60,u=C(n/1e3)%60,v=n%1e3}else j=h.getUTCFullYear(),k=h.getUTCMonth(),m=h.getUTCDate(),r=h.getUTCHours(),t=h.getUTCMinutes(),u=h.getUTCSeconds(),v=h.getUTCMilliseconds();h=(0>=j||j>=1e4?(0>j?"-":"+")+H(6,0>j?-j:j):H(4,j))+"-"+H(2,k+1)+"-"+H(2,m)+"T"+H(2,r)+":"+H(2,t)+":"+H(2,u)+"."+H(3,v)+"Z"}else h=null;if(c&&(h=c.call(b,a,h)),null===h)return"null";if(i=s.call(h),i==A)return""+h;if(i==x)return h>-1/0&&1/0>h?""+h:"null";if(i==y)return J(""+h);if("object"==typeof h){for(G=g.length;G--;)if(g[G]===h)throw l();if(g.push(h),B=[],I=f,f+=e,i==z){for(F=0,G=h.length;G>F;F++)D=K(F,h,c,d,e,f,g),B.push(D===q?"null":D);L=B.length?e?"[\n"+f+B.join(",\n"+f)+"\n"+I+"]":"["+B.join(",")+"]":"[]"}else p(d||h,function(a){var b=K(a,h,c,d,e,f,g);b!==q&&B.push(J(a)+":"+(e?" ":"")+b)}),L=B.length?e?"{\n"+f+B.join(",\n"+f)+"\n"+I+"}":"{"+B.join(",")+"}":"{}";return g.pop(),L}};d.stringify=function(a,b,d){var e,f,g,h;if(c[typeof b]&&b)if((h=s.call(b))==v)f=b;else if(h==z){g={};for(var i,j=0,k=b.length;k>j;i=b[j++],h=s.call(i),(h==y||h==x)&&(g[i]=1));}if(d)if((h=s.call(d))==x){if((d-=d%1)>0)for(e="",d>10&&(d=10);e.lengthL;)switch(e=f.charCodeAt(L)){case 9:case 10:case 13:case 32:L++;break;case 123:case 125:case 91:case 93:case 58:case 44:return a=B?f.charAt(L):f[L],L++,a;case 34:for(a="@",L++;g>L;)if(e=f.charCodeAt(L),32>e)P();else if(92==e)switch(e=f.charCodeAt(++L)){case 92:case 34:case 47:case 98:case 116:case 110:case 102:case 114:a+=O[e],L++;break;case 117:for(b=++L,c=L+4;c>L;L++)e=f.charCodeAt(L),e>=48&&57>=e||e>=97&&102>=e||e>=65&&70>=e||P();a+=N("0x"+f.slice(b,L));break;default:P()}else{if(34==e)break;for(e=f.charCodeAt(L),b=L;e>=32&&92!=e&&34!=e;)e=f.charCodeAt(++L);a+=f.slice(b,L)}if(34==f.charCodeAt(L))return L++,a;P();default:if(b=L,45==e&&(d=!0,e=f.charCodeAt(++L)),e>=48&&57>=e){for(48==e&&(e=f.charCodeAt(L+1),e>=48&&57>=e)&&P(),d=!1;g>L&&(e=f.charCodeAt(L),e>=48&&57>=e);L++);if(46==f.charCodeAt(L)){for(c=++L;g>c&&(e=f.charCodeAt(c),e>=48&&57>=e);c++);c==L&&P(),L=c}if(e=f.charCodeAt(L),101==e||69==e){for(e=f.charCodeAt(++L),(43==e||45==e)&&L++,c=L;g>c&&(e=f.charCodeAt(c),e>=48&&57>=e);c++);c==L&&P(),L=c}return+f.slice(b,L)}if(d&&P(),"true"==f.slice(L,L+4))return L+=4,!0;if("false"==f.slice(L,L+5))return L+=5,!1;if("null"==f.slice(L,L+4))return L+=4,null;P()}return"$"},R=function(a){var b,c;if("$"==a&&P(),"string"==typeof a){if("@"==(B?a.charAt(0):a[0]))return a.slice(1);if("["==a){for(b=[];a=Q(),"]"!=a;c||(c=!0))c&&(","==a?(a=Q(),"]"==a&&P()):P()),","==a&&P(),b.push(R(a));return b}if("{"==a){for(b={};a=Q(),"}"!=a;c||(c=!0))c&&(","==a?(a=Q(),"}"==a&&P()):P()),(","==a||"string"!=typeof a||"@"!=(B?a.charAt(0):a[0])||":"!=Q())&&P(),b[a.slice(1)]=R(Q());return b}P()}return a},S=function(a,b,c){var d=T(a,b,c);d===q?delete a[b]:a[b]=d},T=function(a,b,c){var d,e=a[b];if("object"==typeof e&&e)if(s.call(e)==z)for(d=e.length;d--;)S(e,d,c);else p(e,function(a){S(e,a,c)});return c.call(a,b,e)};d.parse=function(a,b){var c,d;return L=0,M=""+a,c=R(Q()),"$"!=Q()&&P(),L=M=null,b&&s.call(b)==v?T((d={},d[""]=c,d),"",b):c}}}return d.runInContext=a,d}var b="function"==typeof define&&define.amd,c={"function":!0,object:!0},d=c[typeof exports]&&exports&&!exports.nodeType&&exports,e=c[typeof window]&&window||this,f=d&&c[typeof module]&&module&&!module.nodeType&&"object"==typeof global&&global;if(!f||f.global!==f&&f.window!==f&&f.self!==f||(e=f),d&&!b)a(e,d);else{var g=e.JSON,h=e.JSON3,i=!1,j=a(e,e.JSON3={noConflict:function(){return i||(i=!0,e.JSON=g,e.JSON3=h,g=h=null),j}});e.JSON={parse:j.parse,stringify:j.stringify}}b&&define(function(){return j})}.call(this),function(){var a={};a.appendToHead=function(b){a.getHead().appendChild(b)},a.getHead=function(){return document.head||document.getElementsByTagName("head")[0]},a.getBody=function(){return document.body||document.getElementsByTagName("body")[0]},createjs.DomUtils=a}(),function(){var a={};a.parseXML=function(a,b){var c=null;try{if(window.DOMParser){var d=new DOMParser;c=d.parseFromString(a,b)}}catch(e){}if(!c)try{c=new ActiveXObject("Microsoft.XMLDOM"),c.async=!1,c.loadXML(a)}catch(e){c=null}return c},a.parseJSON=function(a){if(null==a)return null;try{return JSON.parse(a)}catch(b){throw b}},createjs.DataUtils=a}(),this.createjs=this.createjs||{},function(){"use strict";function LoadItem(){this.src=null,this.type=null,this.id=null,this.maintainOrder=!1,this.callback=null,this.data=null,this.method=createjs.LoadItem.GET,this.values=null,this.headers=null,this.withCredentials=!1,this.mimeType=null,this.crossOrigin=null,this.loadTimeout=b.LOAD_TIMEOUT_DEFAULT}var a=LoadItem.prototype={},b=LoadItem;b.LOAD_TIMEOUT_DEFAULT=8e3,b.create=function(a){if("string"==typeof a){var c=new LoadItem;return c.src=a,c}if(a instanceof b)return a;if(a instanceof Object&&a.src)return null==a.loadTimeout&&(a.loadTimeout=b.LOAD_TIMEOUT_DEFAULT),a;throw new Error("Type not recognized.")},a.set=function(a){for(var b in a)this[b]=a[b];return this},createjs.LoadItem=b}(),function(){var a={};a.ABSOLUTE_PATT=/^(?:\w+:)?\/{2}/i,a.RELATIVE_PATT=/^[.\/]*?\//i,a.EXTENSION_PATT=/\/?[^\/]+\.(\w{1,5})$/i,a.parseURI=function(b){var c={absolute:!1,relative:!1};if(null==b)return c;var d=b.indexOf("?");d>-1&&(b=b.substr(0,d));var e;return a.ABSOLUTE_PATT.test(b)?c.absolute=!0:a.RELATIVE_PATT.test(b)&&(c.relative=!0),(e=b.match(a.EXTENSION_PATT))&&(c.extension=e[1].toLowerCase()),c},a.formatQueryString=function(a,b){if(null==a)throw new Error("You must specify data.");var c=[];for(var d in a)c.push(d+"="+escape(a[d]));return b&&(c=c.concat(b)),c.join("&")},a.buildPath=function(a,b){if(null==b)return a;var c=[],d=a.indexOf("?");if(-1!=d){var e=a.slice(d+1);c=c.concat(e.split("&"))}return-1!=d?a.slice(0,d)+"?"+this.formatQueryString(b,c):a+"?"+this.formatQueryString(b,c)},a.isCrossDomain=function(a){var b=document.createElement("a");b.href=a.src;var c=document.createElement("a");c.href=location.href;var d=""!=b.hostname&&(b.port!=c.port||b.protocol!=c.protocol||b.hostname!=c.hostname);return d},a.isLocal=function(a){var b=document.createElement("a");return b.href=a.src,""==b.hostname&&"file:"==b.protocol},a.isBinary=function(a){switch(a){case createjs.AbstractLoader.IMAGE:case createjs.AbstractLoader.BINARY:return!0;default:return!1}},a.isImageTag=function(a){return a instanceof HTMLImageElement},a.isAudioTag=function(a){return window.HTMLAudioElement?a instanceof HTMLAudioElement:!1},a.isVideoTag=function(a){return window.HTMLVideoElement?a instanceof HTMLVideoElement:!1},a.isText=function(a){switch(a){case createjs.AbstractLoader.TEXT:case createjs.AbstractLoader.JSON:case createjs.AbstractLoader.MANIFEST:case createjs.AbstractLoader.XML:case createjs.AbstractLoader.CSS:case createjs.AbstractLoader.SVG:case createjs.AbstractLoader.JAVASCRIPT:case createjs.AbstractLoader.SPRITESHEET:return!0;default:return!1}},a.getTypeByExtension=function(a){if(null==a)return createjs.AbstractLoader.TEXT;switch(a.toLowerCase()){case"jpeg":case"jpg":case"gif":case"png":case"webp":case"bmp":return createjs.AbstractLoader.IMAGE;case"ogg":case"mp3":case"webm":return createjs.AbstractLoader.SOUND;case"mp4":case"webm":case"ts":return createjs.AbstractLoader.VIDEO;case"json":return createjs.AbstractLoader.JSON;case"xml":return createjs.AbstractLoader.XML;case"css":return createjs.AbstractLoader.CSS;case"js":return createjs.AbstractLoader.JAVASCRIPT;case"svg":return createjs.AbstractLoader.SVG;default:return createjs.AbstractLoader.TEXT}},createjs.RequestUtils=a}(),this.createjs=this.createjs||{},function(){"use strict";function AbstractLoader(a,b,c){this.EventDispatcher_constructor(),this.loaded=!1,this.canceled=!1,this.progress=0,this.type=c,this.resultFormatter=null,this._item=a?createjs.LoadItem.create(a):null,this._preferXHR=b,this._result=null,this._rawResult=null,this._loadedItems=null,this._tagSrcAttribute=null,this._tag=null}var a=createjs.extend(AbstractLoader,createjs.EventDispatcher),b=AbstractLoader;b.POST="POST",b.GET="GET",b.BINARY="binary",b.CSS="css",b.IMAGE="image",b.JAVASCRIPT="javascript",b.JSON="json",b.JSONP="jsonp",b.MANIFEST="manifest",b.SOUND="sound",b.VIDEO="video",b.SPRITESHEET="spritesheet",b.SVG="svg",b.TEXT="text",b.XML="xml",a.getItem=function(){return this._item},a.getResult=function(a){return a?this._rawResult:this._result},a.getTag=function(){return this._tag},a.setTag=function(a){this._tag=a},a.load=function(){this._createRequest(),this._request.on("complete",this,this),this._request.on("progress",this,this),this._request.on("loadStart",this,this),this._request.on("abort",this,this),this._request.on("timeout",this,this),this._request.on("error",this,this);var a=new createjs.Event("initialize");a.loader=this._request,this.dispatchEvent(a),this._request.load()},a.cancel=function(){this.canceled=!0,this.destroy()},a.destroy=function(){this._request&&(this._request.removeAllEventListeners(),this._request.destroy()),this._request=null,this._item=null,this._rawResult=null,this._result=null,this._loadItems=null,this.removeAllEventListeners()},a.getLoadedItems=function(){return this._loadedItems},a._createRequest=function(){this._request=this._preferXHR?new createjs.XHRRequest(this._item):new createjs.TagRequest(this._item,this._tag||this._createTag(),this._tagSrcAttribute)},a._createTag=function(){return null},a._sendLoadStart=function(){this._isCanceled()||this.dispatchEvent("loadstart")},a._sendProgress=function(a){if(!this._isCanceled()){var b=null;"number"==typeof a?(this.progress=a,b=new createjs.ProgressEvent(this.progress)):(b=a,this.progress=a.loaded/a.total,b.progress=this.progress,(isNaN(this.progress)||1/0==this.progress)&&(this.progress=0)),this.hasEventListener("progress")&&this.dispatchEvent(b)}},a._sendComplete=function(){if(!this._isCanceled()){this.loaded=!0;var a=new createjs.Event("complete");a.rawResult=this._rawResult,null!=this._result&&(a.result=this._result),this.dispatchEvent(a)}},a._sendError=function(a){!this._isCanceled()&&this.hasEventListener("error")&&(null==a&&(a=new createjs.ErrorEvent("PRELOAD_ERROR_EMPTY")),this.dispatchEvent(a))},a._isCanceled=function(){return null==window.createjs||this.canceled?!0:!1},a.resultFormatter=null,a.handleEvent=function(a){switch(a.type){case"complete":this._rawResult=a.target._response;var b=this.resultFormatter&&this.resultFormatter(this);b instanceof Function?b.call(this,createjs.proxy(this._resultFormatSuccess,this),createjs.proxy(this._resultFormatFailed,this)):(this._result=b||this._rawResult,this._sendComplete());break;case"progress":this._sendProgress(a);break;case"error":this._sendError(a);break;case"loadstart":this._sendLoadStart();break;case"abort":case"timeout":this._isCanceled()||this.dispatchEvent(new createjs.ErrorEvent("PRELOAD_"+a.type.toUpperCase()+"_ERROR"))}},a._resultFormatSuccess=function(a){this._result=a,this._sendComplete()},a._resultFormatFailed=function(a){this._sendError(a)},a.buildPath=function(a,b){return createjs.RequestUtils.buildPath(a,b)},a.toString=function(){return"[PreloadJS AbstractLoader]"},createjs.AbstractLoader=createjs.promote(AbstractLoader,"EventDispatcher")}(),this.createjs=this.createjs||{},function(){"use strict";function AbstractMediaLoader(a,b,c){this.AbstractLoader_constructor(a,b,c),this.resultFormatter=this._formatResult,this._tagSrcAttribute="src",this.on("initialize",this._updateXHR,this)}var a=createjs.extend(AbstractMediaLoader,createjs.AbstractLoader);a.load=function(){this._tag||(this._tag=this._createTag(this._item.src)),this._tag.preload="auto",this._tag.load(),this.AbstractLoader_load()},a._createTag=function(){},a._createRequest=function(){this._request=this._preferXHR?new createjs.XHRRequest(this._item):new createjs.MediaTagRequest(this._item,this._tag||this._createTag(),this._tagSrcAttribute)},a._updateXHR=function(a){a.loader.setResponseType&&a.loader.setResponseType("blob")},a._formatResult=function(a){if(this._tag.removeEventListener&&this._tag.removeEventListener("canplaythrough",this._loadedHandler),this._tag.onstalled=null,this._preferXHR){var b=window.URL||window.webkitURL,c=a.getResult(!0);a.getTag().src=b.createObjectURL(c)}return a.getTag()},createjs.AbstractMediaLoader=createjs.promote(AbstractMediaLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";var AbstractRequest=function(a){this._item=a},a=createjs.extend(AbstractRequest,createjs.EventDispatcher);a.load=function(){},a.destroy=function(){},a.cancel=function(){},createjs.AbstractRequest=createjs.promote(AbstractRequest,"EventDispatcher")}(),this.createjs=this.createjs||{},function(){"use strict";function TagRequest(a,b,c){this.AbstractRequest_constructor(a),this._tag=b,this._tagSrcAttribute=c,this._loadedHandler=createjs.proxy(this._handleTagComplete,this),this._addedToDOM=!1,this._startTagVisibility=null}var a=createjs.extend(TagRequest,createjs.AbstractRequest);a.load=function(){this._tag.onload=createjs.proxy(this._handleTagComplete,this),this._tag.onreadystatechange=createjs.proxy(this._handleReadyStateChange,this),this._tag.onerror=createjs.proxy(this._handleError,this);var a=new createjs.Event("initialize");a.loader=this._tag,this.dispatchEvent(a),this._hideTag(),this._loadTimeout=setTimeout(createjs.proxy(this._handleTimeout,this),this._item.loadTimeout),this._tag[this._tagSrcAttribute]=this._item.src,null==this._tag.parentNode&&(window.document.body.appendChild(this._tag),this._addedToDOM=!0)},a.destroy=function(){this._clean(),this._tag=null,this.AbstractRequest_destroy()},a._handleReadyStateChange=function(){clearTimeout(this._loadTimeout);var a=this._tag;("loaded"==a.readyState||"complete"==a.readyState)&&this._handleTagComplete()},a._handleError=function(){this._clean(),this.dispatchEvent("error")},a._handleTagComplete=function(){this._rawResult=this._tag,this._result=this.resultFormatter&&this.resultFormatter(this)||this._rawResult,this._clean(),this._showTag(),this.dispatchEvent("complete")},a._handleTimeout=function(){this._clean(),this.dispatchEvent(new createjs.Event("timeout"))},a._clean=function(){this._tag.onload=null,this._tag.onreadystatechange=null,this._tag.onerror=null,this._addedToDOM&&null!=this._tag.parentNode&&this._tag.parentNode.removeChild(this._tag),clearTimeout(this._loadTimeout)},a._hideTag=function(){this._startTagVisibility=this._tag.style.visibility,this._tag.style.visibility="hidden"},a._showTag=function(){this._tag.style.visibility=this._startTagVisibility},a._handleStalled=function(){},createjs.TagRequest=createjs.promote(TagRequest,"AbstractRequest")}(),this.createjs=this.createjs||{},function(){"use strict";function MediaTagRequest(a,b,c){this.AbstractRequest_constructor(a),this._tag=b,this._tagSrcAttribute=c,this._loadedHandler=createjs.proxy(this._handleTagComplete,this)}var a=createjs.extend(MediaTagRequest,createjs.TagRequest);a.load=function(){var a=createjs.proxy(this._handleStalled,this);this._stalledCallback=a;var b=createjs.proxy(this._handleProgress,this);this._handleProgress=b,this._tag.addEventListener("stalled",a),this._tag.addEventListener("progress",b),this._tag.addEventListener&&this._tag.addEventListener("canplaythrough",this._loadedHandler,!1),this.TagRequest_load()},a._handleReadyStateChange=function(){clearTimeout(this._loadTimeout);var a=this._tag;("loaded"==a.readyState||"complete"==a.readyState)&&this._handleTagComplete()},a._handleStalled=function(){},a._handleProgress=function(a){if(a&&!(a.loaded>0&&0==a.total)){var b=new createjs.ProgressEvent(a.loaded,a.total);this.dispatchEvent(b)}},a._clean=function(){this._tag.removeEventListener&&this._tag.removeEventListener("canplaythrough",this._loadedHandler),this._tag.removeEventListener("stalled",this._stalledCallback),this._tag.removeEventListener("progress",this._progressCallback),this.TagRequest__clean()},createjs.MediaTagRequest=createjs.promote(MediaTagRequest,"TagRequest")}(),this.createjs=this.createjs||{},function(){"use strict";function XHRRequest(a){this.AbstractRequest_constructor(a),this._request=null,this._loadTimeout=null,this._xhrLevel=1,this._response=null,this._rawResponse=null,this._canceled=!1,this._handleLoadStartProxy=createjs.proxy(this._handleLoadStart,this),this._handleProgressProxy=createjs.proxy(this._handleProgress,this),this._handleAbortProxy=createjs.proxy(this._handleAbort,this),this._handleErrorProxy=createjs.proxy(this._handleError,this),this._handleTimeoutProxy=createjs.proxy(this._handleTimeout,this),this._handleLoadProxy=createjs.proxy(this._handleLoad,this),this._handleReadyStateChangeProxy=createjs.proxy(this._handleReadyStateChange,this),!this._createXHR(a)}var a=createjs.extend(XHRRequest,createjs.AbstractRequest);XHRRequest.ACTIVEX_VERSIONS=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],a.getResult=function(a){return a&&this._rawResponse?this._rawResponse:this._response},a.cancel=function(){this.canceled=!0,this._clean(),this._request.abort()},a.load=function(){if(null==this._request)return void this._handleError();null!=this._request.addEventListener?(this._request.addEventListener("loadstart",this._handleLoadStartProxy,!1),this._request.addEventListener("progress",this._handleProgressProxy,!1),this._request.addEventListener("abort",this._handleAbortProxy,!1),this._request.addEventListener("error",this._handleErrorProxy,!1),this._request.addEventListener("timeout",this._handleTimeoutProxy,!1),this._request.addEventListener("load",this._handleLoadProxy,!1),this._request.addEventListener("readystatechange",this._handleReadyStateChangeProxy,!1)):(this._request.onloadstart=this._handleLoadStartProxy,this._request.onprogress=this._handleProgressProxy,this._request.onabort=this._handleAbortProxy,this._request.onerror=this._handleErrorProxy,this._request.ontimeout=this._handleTimeoutProxy,this._request.onload=this._handleLoadProxy,this._request.onreadystatechange=this._handleReadyStateChangeProxy),1==this._xhrLevel&&(this._loadTimeout=setTimeout(createjs.proxy(this._handleTimeout,this),this._item.loadTimeout));try{this._item.values&&this._item.method!=createjs.AbstractLoader.GET?this._item.method==createjs.AbstractLoader.POST&&this._request.send(createjs.RequestUtils.formatQueryString(this._item.values)):this._request.send()}catch(a){this.dispatchEvent(new createjs.ErrorEvent("XHR_SEND",null,a))}},a.setResponseType=function(a){"blob"===a&&(a=window.URL?"blob":"arraybuffer",this._responseType=a),this._request.responseType=a},a.getAllResponseHeaders=function(){return this._request.getAllResponseHeaders instanceof Function?this._request.getAllResponseHeaders():null},a.getResponseHeader=function(a){return this._request.getResponseHeader instanceof Function?this._request.getResponseHeader(a):null},a._handleProgress=function(a){if(a&&!(a.loaded>0&&0==a.total)){var b=new createjs.ProgressEvent(a.loaded,a.total);this.dispatchEvent(b)}},a._handleLoadStart=function(){clearTimeout(this._loadTimeout),this.dispatchEvent("loadstart")},a._handleAbort=function(a){this._clean(),this.dispatchEvent(new createjs.ErrorEvent("XHR_ABORTED",null,a))},a._handleError=function(a){this._clean(),this.dispatchEvent(new createjs.ErrorEvent(a.message))},a._handleReadyStateChange=function(){4==this._request.readyState&&this._handleLoad()},a._handleLoad=function(){if(!this.loaded){this.loaded=!0;var a=this._checkError();if(a)return void this._handleError(a);if(this._response=this._getResponse(),"arraybuffer"===this._responseType)try{this._response=new Blob([this._response])}catch(b){if(window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,"TypeError"===b.name&&window.BlobBuilder){var c=new BlobBuilder;c.append(this._response),this._response=c.getBlob()}}this._clean(),this.dispatchEvent(new createjs.Event("complete"))}},a._handleTimeout=function(a){this._clean(),this.dispatchEvent(new createjs.ErrorEvent("PRELOAD_TIMEOUT",null,a))},a._checkError=function(){var a=parseInt(this._request.status);switch(a){case 404:case 0:return new Error(a)}return null},a._getResponse=function(){if(null!=this._response)return this._response;if(null!=this._request.response)return this._request.response;try{if(null!=this._request.responseText)return this._request.responseText}catch(a){}try{if(null!=this._request.responseXML)return this._request.responseXML}catch(a){}return null},a._createXHR=function(a){var b=createjs.RequestUtils.isCrossDomain(a),c={},d=null;if(window.XMLHttpRequest)d=new XMLHttpRequest,b&&void 0===d.withCredentials&&window.XDomainRequest&&(d=new XDomainRequest);else{for(var e=0,f=s.ACTIVEX_VERSIONS.length;f>e;e++){var g=s.ACTIVEX_VERSIONS[e];try{d=new ActiveXObject(g);break}catch(h){}}if(null==d)return!1}null==a.mimeType&&createjs.RequestUtils.isText(a.type)&&(a.mimeType="text/plain; charset=utf-8"),a.mimeType&&d.overrideMimeType&&d.overrideMimeType(a.mimeType),this._xhrLevel="string"==typeof d.responseType?2:1;var i=null;if(i=a.method==createjs.AbstractLoader.GET?createjs.RequestUtils.buildPath(a.src,a.values):a.src,d.open(a.method||createjs.AbstractLoader.GET,i,!0),b&&d instanceof XMLHttpRequest&&1==this._xhrLevel&&(c.Origin=location.origin),a.values&&a.method==createjs.AbstractLoader.POST&&(c["Content-Type"]="application/x-www-form-urlencoded"),b||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest"),a.headers)for(var j in a.headers)c[j]=a.headers[j];for(j in c)d.setRequestHeader(j,c[j]);return d instanceof XMLHttpRequest&&void 0!==a.withCredentials&&(d.withCredentials=a.withCredentials),this._request=d,!0},a._clean=function(){clearTimeout(this._loadTimeout),null!=this._request.removeEventListener?(this._request.removeEventListener("loadstart",this._handleLoadStartProxy),this._request.removeEventListener("progress",this._handleProgressProxy),this._request.removeEventListener("abort",this._handleAbortProxy),this._request.removeEventListener("error",this._handleErrorProxy),this._request.removeEventListener("timeout",this._handleTimeoutProxy),this._request.removeEventListener("load",this._handleLoadProxy),this._request.removeEventListener("readystatechange",this._handleReadyStateChangeProxy)):(this._request.onloadstart=null,this._request.onprogress=null,this._request.onabort=null,this._request.onerror=null,this._request.ontimeout=null,this._request.onload=null,this._request.onreadystatechange=null)},a.toString=function(){return"[PreloadJS XHRRequest]"},createjs.XHRRequest=createjs.promote(XHRRequest,"AbstractRequest")}(),this.createjs=this.createjs||{},function(){"use strict";function LoadQueue(a,b,c){this.AbstractLoader_constructor(),this._plugins=[],this._typeCallbacks={},this._extensionCallbacks={},this.next=null,this.maintainScriptOrder=!0,this.stopOnError=!1,this._maxConnections=1,this._availableLoaders=[createjs.ImageLoader,createjs.JavaScriptLoader,createjs.CSSLoader,createjs.JSONLoader,createjs.JSONPLoader,createjs.SoundLoader,createjs.ManifestLoader,createjs.SpriteSheetLoader,createjs.XMLLoader,createjs.SVGLoader,createjs.BinaryLoader,createjs.VideoLoader,createjs.TextLoader],this._defaultLoaderLength=this._availableLoaders.length,this.init(a,b,c) +}var a=createjs.extend(LoadQueue,createjs.AbstractLoader),b=LoadQueue;a.init=function(a,b,c){this.useXHR=!0,this.preferXHR=!0,this._preferXHR=!0,this.setPreferXHR(a),this._paused=!1,this._basePath=b,this._crossOrigin=c,this._loadStartWasDispatched=!1,this._currentlyLoadingScript=null,this._currentLoads=[],this._loadQueue=[],this._loadQueueBackup=[],this._loadItemsById={},this._loadItemsBySrc={},this._loadedResults={},this._loadedRawResults={},this._numItems=0,this._numItemsLoaded=0,this._scriptOrder=[],this._loadedScripts=[],this._lastProgress=0/0},b.loadTimeout=8e3,b.LOAD_TIMEOUT=0,b.BINARY=createjs.AbstractLoader.BINARY,b.CSS=createjs.AbstractLoader.CSS,b.IMAGE=createjs.AbstractLoader.IMAGE,b.JAVASCRIPT=createjs.AbstractLoader.JAVASCRIPT,b.JSON=createjs.AbstractLoader.JSON,b.JSONP=createjs.AbstractLoader.JSONP,b.MANIFEST=createjs.AbstractLoader.MANIFEST,b.SOUND=createjs.AbstractLoader.SOUND,b.VIDEO=createjs.AbstractLoader.VIDEO,b.SVG=createjs.AbstractLoader.SVG,b.TEXT=createjs.AbstractLoader.TEXT,b.XML=createjs.AbstractLoader.XML,b.POST=createjs.AbstractLoader.POST,b.GET=createjs.AbstractLoader.GET,a.registerLoader=function(a){if(!a||!a.canLoadItem)throw new Error("loader is of an incorrect type.");if(-1!=this._availableLoaders.indexOf(a))throw new Error("loader already exists.");this._availableLoaders.unshift(a)},a.unregisterLoader=function(a){var b=this._availableLoaders.indexOf(a);-1!=b&&b0)return;var c=!1;if(b){for(;b.length;){var d=b.pop(),e=this.getResult(d);for(f=this._loadQueue.length-1;f>=0;f--)if(g=this._loadQueue[f].getItem(),g.id==d||g.src==d){this._loadQueue.splice(f,1)[0].cancel();break}for(f=this._loadQueueBackup.length-1;f>=0;f--)if(g=this._loadQueueBackup[f].getItem(),g.id==d||g.src==d){this._loadQueueBackup.splice(f,1)[0].cancel();break}if(e)this._disposeItem(this.getItem(d));else for(var f=this._currentLoads.length-1;f>=0;f--){var g=this._currentLoads[f].getItem();if(g.id==d||g.src==d){this._currentLoads.splice(f,1)[0].cancel(),c=!0;break}}}c&&this._loadNext()}else{this.close();for(var h in this._loadItemsById)this._disposeItem(this._loadItemsById[h]);this.init(this.preferXHR,this._basePath)}},a.reset=function(){this.close();for(var a in this._loadItemsById)this._disposeItem(this._loadItemsById[a]);for(var b=[],c=0,d=this._loadQueueBackup.length;d>c;c++)b.push(this._loadQueueBackup[c].getItem());this.loadManifest(b,!1)},a.installPlugin=function(a){if(null!=a&&null!=a.getPreloadHandlers){this._plugins.push(a);var b=a.getPreloadHandlers();if(b.scope=a,null!=b.types)for(var c=0,d=b.types.length;d>c;c++)this._typeCallbacks[b.types[c]]=b;if(null!=b.extensions)for(c=0,d=b.extensions.length;d>c;c++)this._extensionCallbacks[b.extensions[c]]=b}},a.setMaxConnections=function(a){this._maxConnections=a,!this._paused&&this._loadQueue.length>0&&this._loadNext()},a.loadFile=function(a,b,c){if(null==a){var d=new createjs.ErrorEvent("PRELOAD_NO_FILE");return void this._sendError(d)}this._addItem(a,null,c),this.setPaused(b!==!1?!1:!0)},a.loadManifest=function(a,c,d){var e=null,f=null;if(Array.isArray(a)){if(0==a.length){var g=new createjs.ErrorEvent("PRELOAD_MANIFEST_EMPTY");return void this._sendError(g)}e=a}else if("string"==typeof a)e=[{src:a,type:b.MANIFEST}];else{if("object"!=typeof a){var g=new createjs.ErrorEvent("PRELOAD_MANIFEST_NULL");return void this._sendError(g)}if(void 0!==a.src){if(null==a.type)a.type=b.MANIFEST;else if(a.type!=b.MANIFEST){var g=new createjs.ErrorEvent("PRELOAD_MANIFEST_TYPE");this._sendError(g)}e=[a]}else void 0!==a.manifest&&(e=a.manifest,f=a.path)}for(var h=0,i=e.length;i>h;h++)this._addItem(e[h],f,d);this.setPaused(c!==!1?!1:!0)},a.load=function(){this.setPaused(!1)},a.getItem=function(a){return this._loadItemsById[a]||this._loadItemsBySrc[a]},a.getResult=function(a,b){var c=this._loadItemsById[a]||this._loadItemsBySrc[a];if(null==c)return null;var d=c.id;return b&&this._loadedRawResults[d]?this._loadedRawResults[d]:this._loadedResults[d]},a.getItems=function(a){var b=[];for(var c in this._loadItemsById){var d=this._loadItemsById[c],e=this.getResult(c);(a!==!0||null!=e)&&b.push({item:d,result:e,rawResult:this.getResult(c,!0)})}return b},a.setPaused=function(a){this._paused=a,this._paused||this._loadNext()},a.close=function(){for(;this._currentLoads.length;)this._currentLoads.pop().cancel();this._scriptOrder.length=0,this._loadedScripts.length=0,this.loadStartWasDispatched=!1,this._itemCount=0,this._lastProgress=0/0},a._addItem=function(a,b,c){var d=this._createLoadItem(a,b,c);if(null!=d){var e=this._createLoader(d);null!=e&&("plugins"in e&&(e.plugins=this._plugins),d._loader=e,this._loadQueue.push(e),this._loadQueueBackup.push(e),this._numItems++,this._updateProgress(),(this.maintainScriptOrder&&d.type==createjs.LoadQueue.JAVASCRIPT||d.maintainOrder===!0)&&(this._scriptOrder.push(d),this._loadedScripts.push(null)))}},a._createLoadItem=function(a,b,c){var d=createjs.LoadItem.create(a);if(null==d)return null;var e="",f=c||this._basePath;if(d.src instanceof Object){if(!d.type)return null;if(b){e=b;var g=createjs.RequestUtils.parseURI(b);null==f||g.absolute||g.relative||(e=f+e)}else null!=f&&(e=f)}else{var h=createjs.RequestUtils.parseURI(d.src);h.extension&&(d.ext=h.extension),null==d.type&&(d.type=createjs.RequestUtils.getTypeByExtension(d.ext));var i=d.src;if(!h.absolute&&!h.relative)if(b){e=b;var g=createjs.RequestUtils.parseURI(b);i=b+i,null==f||g.absolute||g.relative||(e=f+e)}else null!=f&&(e=f);d.src=e+d.src}d.path=e,(void 0===d.id||null===d.id||""===d.id)&&(d.id=i);var j=this._typeCallbacks[d.type]||this._extensionCallbacks[d.ext];if(j){var k=j.callback.call(j.scope,d,this);if(k===!1)return null;k===!0||null!=k&&(d._loader=k),h=createjs.RequestUtils.parseURI(d.src),null!=h.extension&&(d.ext=h.extension)}return this._loadItemsById[d.id]=d,this._loadItemsBySrc[d.src]=d,null==d.crossOrigin&&(d.crossOrigin=this._crossOrigin),d},a._createLoader=function(a){if(null!=a._loader)return a._loader;for(var b=this.preferXHR,c=0;c=this._maxConnections);a++){var b=this._loadQueue[a];this._canStartLoad(b)&&(this._loadQueue.splice(a,1),a--,this._loadItem(b))}}},a._loadItem=function(a){a.on("fileload",this._handleFileLoad,this),a.on("progress",this._handleProgress,this),a.on("complete",this._handleFileComplete,this),a.on("error",this._handleError,this),a.on("fileerror",this._handleFileError,this),this._currentLoads.push(a),this._sendFileStart(a.getItem()),a.load()},a._handleFileLoad=function(a){a.target=null,this.dispatchEvent(a)},a._handleFileError=function(a){var b=new createjs.ErrorEvent("FILE_LOAD_ERROR",null,a.item);this._sendError(b)},a._handleError=function(a){var b=a.target;this._numItemsLoaded++,this._finishOrderedItem(b,!0),this._updateProgress();var c=new createjs.ErrorEvent("FILE_LOAD_ERROR",null,b.getItem());this._sendError(c),this.stopOnError?this.setPaused(!0):(this._removeLoadItem(b),this._cleanLoadItem(b),this._loadNext())},a._handleFileComplete=function(a){var b=a.target,c=b.getItem(),d=b.getResult();this._loadedResults[c.id]=d;var e=b.getResult(!0);null!=e&&e!==d&&(this._loadedRawResults[c.id]=e),this._saveLoadedItems(b),this._removeLoadItem(b),this._finishOrderedItem(b)||this._processFinishedLoad(c,b),this._cleanLoadItem(b)},a._saveLoadedItems=function(a){var b=a.getLoadedItems();if(null!==b)for(var c=0;cb;b++){var c=this._loadedScripts[b];if(null===c)break;if(c!==!0){var d=this._loadedResults[c.id];c.type==createjs.LoadQueue.JAVASCRIPT&&createjs.DomUtils.appendToHead(d);var e=c._loader;this._processFinishedLoad(c,e),this._loadedScripts[b]=!0}}},a._processFinishedLoad=function(a,b){if(this._numItemsLoaded++,!this.maintainScriptOrder&&a.type==createjs.LoadQueue.JAVASCRIPT){var c=b.getTag();createjs.DomUtils.appendToHead(c)}this._updateProgress(),this._sendFileComplete(a,b),this._loadNext()},a._canStartLoad=function(a){if(!this.maintainScriptOrder||a.preferXHR)return!0;var b=a.getItem();if(b.type!=createjs.LoadQueue.JAVASCRIPT)return!0;if(this._currentlyLoadingScript)return!1;for(var c=this._scriptOrder.indexOf(b),d=0;c>d;){var e=this._loadedScripts[d];if(null==e)return!1;d++}return this._currentlyLoadingScript=!0,!0},a._removeLoadItem=function(a){for(var b=this._currentLoads.length,c=0;b>c;c++)if(this._currentLoads[c]==a){this._currentLoads.splice(c,1);break}},a._cleanLoadItem=function(a){var b=a.getItem();b&&delete b._loader},a._handleProgress=function(a){var b=a.target;this._sendFileProgress(b.getItem(),b.progress),this._updateProgress()},a._updateProgress=function(){var a=this._numItemsLoaded/this._numItems,b=this._numItems-this._numItemsLoaded;if(b>0){for(var c=0,d=0,e=this._currentLoads.length;e>d;d++)c+=this._currentLoads[d].progress;a+=c/b*(b/this._numItems)}this._lastProgress!=a&&(this._sendProgress(a),this._lastProgress=a)},a._disposeItem=function(a){delete this._loadedResults[a.id],delete this._loadedRawResults[a.id],delete this._loadItemsById[a.id],delete this._loadItemsBySrc[a.src]},a._sendFileProgress=function(a,b){if(!this._isCanceled()&&!this._paused&&this.hasEventListener("fileprogress")){var c=new createjs.Event("fileprogress");c.progress=b,c.loaded=b,c.total=1,c.item=a,this.dispatchEvent(c)}},a._sendFileComplete=function(a,b){if(!this._isCanceled()&&!this._paused){var c=new createjs.Event("fileload");c.loader=b,c.item=a,c.result=this._loadedResults[a.id],c.rawResult=this._loadedRawResults[a.id],a.completeHandler&&a.completeHandler(c),this.hasEventListener("fileload")&&this.dispatchEvent(c)}},a._sendFileStart=function(a){var b=new createjs.Event("filestart");b.item=a,this.hasEventListener("filestart")&&this.dispatchEvent(b)},a.toString=function(){return"[PreloadJS LoadQueue]"},createjs.LoadQueue=createjs.promote(LoadQueue,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function TextLoader(a){this.AbstractLoader_constructor(a,!0,createjs.AbstractLoader.TEXT)}var a=(createjs.extend(TextLoader,createjs.AbstractLoader),TextLoader);a.canLoadItem=function(a){return a.type==createjs.AbstractLoader.TEXT},createjs.TextLoader=createjs.promote(TextLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function BinaryLoader(a){this.AbstractLoader_constructor(a,!0,createjs.AbstractLoader.BINARY),this.on("initialize",this._updateXHR,this)}var a=createjs.extend(BinaryLoader,createjs.AbstractLoader),b=BinaryLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.BINARY},a._updateXHR=function(a){a.loader.setResponseType("arraybuffer")},createjs.BinaryLoader=createjs.promote(BinaryLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function CSSLoader(a,b){this.AbstractLoader_constructor(a,b,createjs.AbstractLoader.CSS),this.resultFormatter=this._formatResult,this._tagSrcAttribute="href",this._tag=document.createElement(b?"style":"link"),this._tag.rel="stylesheet",this._tag.type="text/css"}var a=createjs.extend(CSSLoader,createjs.AbstractLoader),b=CSSLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.CSS},a._formatResult=function(a){if(this._preferXHR){var b=a.getTag();if(b.styleSheet)b.styleSheet.cssText=a.getResult(!0);else{var c=document.createTextNode(a.getResult(!0));b.appendChild(c)}}else b=this._tag;return createjs.DomUtils.appendToHead(b),b},createjs.CSSLoader=createjs.promote(CSSLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function ImageLoader(a,b){this.AbstractLoader_constructor(a,b,createjs.AbstractLoader.IMAGE),this.resultFormatter=this._formatResult,this._tagSrcAttribute="src",createjs.RequestUtils.isImageTag(a)?this._tag=a:createjs.RequestUtils.isImageTag(a.src)?this._tag=a.src:createjs.RequestUtils.isImageTag(a.tag)&&(this._tag=a.tag),null!=this._tag?this._preferXHR=!1:this._tag=document.createElement("img"),this.on("initialize",this._updateXHR,this)}var a=createjs.extend(ImageLoader,createjs.AbstractLoader),b=ImageLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.IMAGE},a.load=function(){if(""!=this._tag.src&&this._tag.complete)return void this._sendComplete();var a=this._item.crossOrigin;1==a&&(a="Anonymous"),null==a||createjs.RequestUtils.isLocal(this._item.src)||(this._tag.crossOrigin=a),this.AbstractLoader_load()},a._updateXHR=function(a){a.loader.mimeType="text/plain; charset=x-user-defined-binary",a.loader.setResponseType&&a.loader.setResponseType("blob")},a._formatResult=function(){return this._formatImage},a._formatImage=function(a,b){var c=this._tag,d=window.URL||window.webkitURL;if(this._preferXHR)if(d){var e=d.createObjectURL(this.getResult(!0));c.src=e,c.addEventListener("load",this._cleanUpURL,!1),c.addEventListener("error",this._cleanUpURL,!1)}else c.src=this._item.src;else;c.complete?a(c):(c.onload=createjs.proxy(function(){a(this._tag)},this),c.onerror=createjs.proxy(function(){b(_this._tag)},this))},a._cleanUpURL=function(a){var b=window.URL||window.webkitURL;b.revokeObjectURL(a.target.src)},createjs.ImageLoader=createjs.promote(ImageLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function JavaScriptLoader(a,b){this.AbstractLoader_constructor(a,b,createjs.AbstractLoader.JAVASCRIPT),this.resultFormatter=this._formatResult,this._tagSrcAttribute="src",this.setTag(document.createElement("script"))}var a=createjs.extend(JavaScriptLoader,createjs.AbstractLoader),b=JavaScriptLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.JAVASCRIPT},a._formatResult=function(a){var b=a.getTag();return this._preferXHR&&(b.text=a.getResult(!0)),b},createjs.JavaScriptLoader=createjs.promote(JavaScriptLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function JSONLoader(a){this.AbstractLoader_constructor(a,!0,createjs.AbstractLoader.JSON),this.resultFormatter=this._formatResult}var a=createjs.extend(JSONLoader,createjs.AbstractLoader),b=JSONLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.JSON},a._formatResult=function(a){var b=null;try{b=createjs.DataUtils.parseJSON(a.getResult(!0))}catch(c){var d=new createjs.ErrorEvent("JSON_FORMAT",null,c);return this._sendError(d),c}return b},createjs.JSONLoader=createjs.promote(JSONLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function JSONPLoader(a){this.AbstractLoader_constructor(a,!1,createjs.AbstractLoader.JSONP),this.setTag(document.createElement("script")),this.getTag().type="text/javascript"}var a=createjs.extend(JSONPLoader,createjs.AbstractLoader),b=JSONPLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.JSONP},a.cancel=function(){this.AbstractLoader_cancel(),this._dispose()},a.load=function(){if(null==this._item.callback)throw new Error("callback is required for loading JSONP requests.");if(null!=window[this._item.callback])throw new Error("JSONP callback '"+this._item.callback+"' already exists on window. You need to specify a different callback or re-name the current one.");window[this._item.callback]=createjs.proxy(this._handleLoad,this),window.document.body.appendChild(this._tag),this._loadTimeout=setTimeout(createjs.proxy(this._handleTimeout,this),this._item.loadTimeout),this._tag.src=this._item.src},a._handleLoad=function(a){this._result=this._rawResult=a,this._sendComplete(),this._dispose()},a._handleTimeout=function(){this._dispose(),this.dispatchEvent(new createjs.ErrorEvent("timeout"))},a._dispose=function(){window.document.body.removeChild(this._tag),delete window[this._item.callback],clearTimeout(this._loadTimeout)},createjs.JSONPLoader=createjs.promote(JSONPLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function ManifestLoader(a){this.AbstractLoader_constructor(a,null,createjs.AbstractLoader.MANIFEST),this.plugins=null,this._manifestQueue=null}var a=createjs.extend(ManifestLoader,createjs.AbstractLoader),b=ManifestLoader;b.MANIFEST_PROGRESS=.25,b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.MANIFEST},a.load=function(){this.AbstractLoader_load()},a._createRequest=function(){var a=this._item.callback;this._request=null!=a?new createjs.JSONPLoader(this._item):new createjs.JSONLoader(this._item)},a.handleEvent=function(a){switch(a.type){case"complete":return this._rawResult=a.target.getResult(!0),this._result=a.target.getResult(),this._sendProgress(b.MANIFEST_PROGRESS),void this._loadManifest(this._result);case"progress":return a.loaded*=b.MANIFEST_PROGRESS,this.progress=a.loaded/a.total,(isNaN(this.progress)||1/0==this.progress)&&(this.progress=0),void this._sendProgress(a)}this.AbstractLoader_handleEvent(a)},a.destroy=function(){this.AbstractLoader_destroy(),this._manifestQueue.close()},a._loadManifest=function(a){if(a&&a.manifest){var b=this._manifestQueue=new createjs.LoadQueue;b.on("fileload",this._handleManifestFileLoad,this),b.on("progress",this._handleManifestProgress,this),b.on("complete",this._handleManifestComplete,this,!0),b.on("error",this._handleManifestError,this,!0);for(var c=0,d=this.plugins.length;d>c;c++)b.installPlugin(this.plugins[c]);b.loadManifest(a)}else this._sendComplete()},a._handleManifestFileLoad=function(a){a.target=null,this.dispatchEvent(a)},a._handleManifestComplete=function(){this._loadedItems=this._manifestQueue.getItems(!0),this._sendComplete()},a._handleManifestProgress=function(a){this.progress=a.progress*(1-b.MANIFEST_PROGRESS)+b.MANIFEST_PROGRESS,this._sendProgress(this.progress)},a._handleManifestError=function(a){var b=new createjs.Event("fileerror");b.item=a.data,this.dispatchEvent(b)},createjs.ManifestLoader=createjs.promote(ManifestLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function SoundLoader(a,b){this.AbstractMediaLoader_constructor(a,b,createjs.AbstractLoader.SOUND),createjs.RequestUtils.isAudioTag(a)?this._tag=a:createjs.RequestUtils.isAudioTag(a.src)?this._tag=a:createjs.RequestUtils.isAudioTag(a.tag)&&(this._tag=createjs.RequestUtils.isAudioTag(a)?a:a.src),null!=this._tag&&(this._preferXHR=!1)}var a=createjs.extend(SoundLoader,createjs.AbstractMediaLoader),b=SoundLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.SOUND},a._createTag=function(a){var b=document.createElement("audio");return b.autoplay=!1,b.preload="none",b.src=a,b},createjs.SoundLoader=createjs.promote(SoundLoader,"AbstractMediaLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function VideoLoader(a,b){this.AbstractMediaLoader_constructor(a,b,createjs.AbstractLoader.VIDEO),createjs.RequestUtils.isVideoTag(a)||createjs.RequestUtils.isVideoTag(a.src)?(this.setTag(createjs.RequestUtils.isVideoTag(a)?a:a.src),this._preferXHR=!1):this.setTag(this._createTag())}var a=createjs.extend(VideoLoader,createjs.AbstractMediaLoader),b=VideoLoader;a._createTag=function(){return document.createElement("video")},b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.VIDEO},createjs.VideoLoader=createjs.promote(VideoLoader,"AbstractMediaLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function SpriteSheetLoader(a,b){this.AbstractLoader_constructor(a,b,createjs.AbstractLoader.SPRITESHEET),this._manifestQueue=null}var a=createjs.extend(SpriteSheetLoader,createjs.AbstractLoader),b=SpriteSheetLoader;b.SPRITESHEET_PROGRESS=.25,b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.SPRITESHEET},a.destroy=function(){this.AbstractLoader_destroy,this._manifestQueue.close()},a._createRequest=function(){var a=this._item.callback;this._request=null!=a?new createjs.JSONPLoader(this._item):new createjs.JSONLoader(this._item)},a.handleEvent=function(a){switch(a.type){case"complete":return this._rawResult=a.target.getResult(!0),this._result=a.target.getResult(),this._sendProgress(b.SPRITESHEET_PROGRESS),void this._loadManifest(this._result);case"progress":return a.loaded*=b.SPRITESHEET_PROGRESS,this.progress=a.loaded/a.total,(isNaN(this.progress)||1/0==this.progress)&&(this.progress=0),void this._sendProgress(a)}this.AbstractLoader_handleEvent(a)},a._loadManifest=function(a){if(a&&a.images){var b=this._manifestQueue=new createjs.LoadQueue(this._preferXHR,this._item.path,this._item.crossOrigin);b.on("complete",this._handleManifestComplete,this,!0),b.on("fileload",this._handleManifestFileLoad,this),b.on("progress",this._handleManifestProgress,this),b.on("error",this._handleManifestError,this,!0),b.loadManifest(a.images)}},a._handleManifestFileLoad=function(a){var b=a.result;if(null!=b){var c=this.getResult().images,d=c.indexOf(a.item.src);c[d]=b}},a._handleManifestComplete=function(){this._result=new createjs.SpriteSheet(this._result),this._loadedItems=this._manifestQueue.getItems(!0),this._sendComplete()},a._handleManifestProgress=function(a){this.progress=a.progress*(1-b.SPRITESHEET_PROGRESS)+b.SPRITESHEET_PROGRESS,this._sendProgress(this.progress)},a._handleManifestError=function(a){var b=new createjs.Event("fileerror");b.item=a.data,this.dispatchEvent(b)},createjs.SpriteSheetLoader=createjs.promote(SpriteSheetLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function SVGLoader(a,b){this.AbstractLoader_constructor(a,b,createjs.AbstractLoader.SVG),this.resultFormatter=this._formatResult,this._tagSrcAttribute="data",b?this.setTag(document.createElement("svg")):(this.setTag(document.createElement("object")),this.getTag().type="image/svg+xml")}var a=createjs.extend(SVGLoader,createjs.AbstractLoader),b=SVGLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.SVG},a._formatResult=function(a){var b=createjs.DataUtils.parseXML(a.getResult(!0),"text/xml"),c=a.getTag();return!this._preferXHR&&document.body.contains(c)&&document.body.removeChild(c),null!=b.documentElement?(c.appendChild(b.documentElement),c.style.visibility="visible",c):b},createjs.SVGLoader=createjs.promote(SVGLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function XMLLoader(a){this.AbstractLoader_constructor(a,!0,createjs.AbstractLoader.XML),this.resultFormatter=this._formatResult}var a=createjs.extend(XMLLoader,createjs.AbstractLoader),b=XMLLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.XML},a._formatResult=function(a){return createjs.DataUtils.parseXML(a.getResult(!0),"text/xml")},createjs.XMLLoader=createjs.promote(XMLLoader,"AbstractLoader")}(); \ No newline at end of file diff --git a/Server/www/spiderbasic/put.min.js b/Server/www/spiderbasic/put.min.js new file mode 100644 index 0000000..c754d4a --- /dev/null +++ b/Server/www/spiderbasic/put.min.js @@ -0,0 +1,4 @@ +(function(b){var d,c=/[-+,> ]/;b([],d=function(k,b){function q(u){function w(){a&&f&&a!=f&&(f==u&&(v||(v=c.test(g)&&k.createDocumentFragment()))?v:f).insertBefore(a,r||null)}for(var v,b,r,f,a,p=arguments,d=p[0],m=0;mm&&(u=null); +b=!0;if(d=g.replace(y,function(e,h,b,d,l,c){h&&(w(),"-"==h||"+"==h?(f=(r=a||f).parentNode,a=null,"+"==h&&(r=r.nextSibling)):("<"==h?f=a=(a||f).parentNode:(","==h?f=u:a&&(f=a),a=null),r=0),a&&(f=a));if((e=!b&&d)||!a&&(b||l))"$"==e?(e=p[++m],f.appendChild(k.createTextNode(e))):(e=e||q.defaultTag,(h=x&&p[m+1]&&p[m+1].name)&&(e="<"+e+' name="'+h+'">'),a=s&&~(t=e.indexOf("|"))?k.createElementNS(s[e.slice(0,t)],e.slice(t+1)):k.createElement(e));if(b)if("$"==d&&(d=p[++m]),"#"==b)a.id=d;else if(h=(e=a.className)&& +(" "+e+" ").replace(" "+d+" "," "),"."==b)a.className=e?(h+d).substring(1):d;else if("!"==g){var n;x?q("div",a,"<").innerHTML="":(n=a.parentNode)&&n.removeChild(a)}else h=h.substring(1,h.length-1),h!=e&&(a.className=h);l&&("$"==c&&(c=p[++m]),"style"==l?a.style.cssText=c:(b="!"==l.charAt(0)?(l=l.substring(1))&&"removeAttribute":"setAttribute",c=""===c?l:c,s&&~(t=l.indexOf("|"))?a[b+"NS"](s[l.slice(0,t)],l.slice(t+1),c):a[b](l,c)));return""}))throw new SyntaxError("Unexpected char "+d+" in "+g);w(); +f=d=a||f}}u&&v&&u.appendChild(v);return d}c=b||c;var y=/(?:\s*([-+ ,<>]))?\s*(\.|!\.?|#)?([-\w%$|]+)?(?:\[([^\]=]+)=?['"]?([^\]'"]*)['"]?\])?/g,t,s=!1;k=k||document;var x="object"==typeof k.createElement;q.addNamespace=function(b,c){k.createElementNS?(s||(s={}))[b]=c:k.namespaces.add(b,c)};q.defaultTag="div";q.forDocument=d;return q})})(function(b,d,c){c=c||d;"function"===typeof define?define([],function(){return c()}):"undefined"==typeof window?require("./node-html")(module,c):put=c()}); diff --git a/Server/www/spiderbasic/seedrandom.min.js b/Server/www/spiderbasic/seedrandom.min.js new file mode 100644 index 0000000..5516aa8 --- /dev/null +++ b/Server/www/spiderbasic/seedrandom.min.js @@ -0,0 +1 @@ +!function(a,b,c,d,e,f,g,h,i){function j(a){var b,c=a.length,e=this,f=0,g=e.i=e.j=0,h=e.S=[];for(c||(a=[c++]);d>f;)h[f]=f++;for(f=0;d>f;f++)h[f]=h[g=r&g+a[f%c]+(b=h[f])],h[g]=b;(e.g=function(a){for(var b,c=0,f=e.i,g=e.j,h=e.S;a--;)b=h[f=r&f+1],c=c*d+h[r&(h[f]=h[g=r&g+b])+(h[g]=b)];return e.i=f,e.j=g,c})(d)}function k(a,b){var c,d=[],e=typeof a;if(b&&"object"==e)for(c in a)try{d.push(k(a[c],b-1))}catch(f){}return d.length?d:"string"==e?a:a+"\0"}function l(a,b){for(var c,d=a+"",e=0;ea;)a=(a+c)*d,b*=d,c=s.g(1);for(;a>=q;)a/=2,b/=2,c>>>=1;return(a+c)/b},r,this==c)};l(c[i](),b),g&&g.exports?g.exports=s:h&&h.amd&&h(function(){return s})}(this,[],Math,256,6,52,"object"==typeof module&&module,"function"==typeof define&&define,"random"); diff --git a/Server/www/spiderbasic/soundjs.min.js b/Server/www/spiderbasic/soundjs.min.js new file mode 100644 index 0000000..c186e64 --- /dev/null +++ b/Server/www/spiderbasic/soundjs.min.js @@ -0,0 +1,18 @@ +/*! +* @license SoundJS +* Visit http://createjs.com/ for documentation, updates and examples. +* +* Copyright (c) 2011-2015 gskinner.com, inc. +* +* Distributed under the terms of the MIT license. +* http://www.opensource.org/licenses/mit-license.html +* +* This notice shall be included in all copies or substantial portions of the Software. +*/ + +/**! + * SoundJS FlashAudioPlugin also includes swfobject (http://code.google.com/p/swfobject/) + */ + +this.createjs=this.createjs||{},function(){var a=createjs.SoundJS=createjs.SoundJS||{};a.version="0.6.2",a.buildDate="Thu, 26 Nov 2015 20:44:31 GMT"}(),this.createjs=this.createjs||{},createjs.extend=function(a,b){"use strict";function c(){this.constructor=a}return c.prototype=b.prototype,a.prototype=new c},this.createjs=this.createjs||{},createjs.promote=function(a,b){"use strict";var c=a.prototype,d=Object.getPrototypeOf&&Object.getPrototypeOf(c)||c.__proto__;if(d){c[(b+="_")+"constructor"]=d.constructor;for(var e in d)c.hasOwnProperty(e)&&"function"==typeof d[e]&&(c[b+e]=d[e])}return a},this.createjs=this.createjs||{},createjs.indexOf=function(a,b){"use strict";for(var c=0,d=a.length;d>c;c++)if(b===a[c])return c;return-1},this.createjs=this.createjs||{},function(){"use strict";createjs.proxy=function(a,b){var c=Array.prototype.slice.call(arguments,2);return function(){return a.apply(b,Array.prototype.slice.call(arguments,0).concat(c))}}}(),this.createjs=this.createjs||{},function(){"use strict";function BrowserDetect(){throw"BrowserDetect cannot be instantiated"}var a=BrowserDetect.agent=window.navigator.userAgent;BrowserDetect.isWindowPhone=a.indexOf("IEMobile")>-1||a.indexOf("Windows Phone")>-1,BrowserDetect.isFirefox=a.indexOf("Firefox")>-1,BrowserDetect.isOpera=null!=window.opera,BrowserDetect.isChrome=a.indexOf("Chrome")>-1,BrowserDetect.isIOS=(a.indexOf("iPod")>-1||a.indexOf("iPhone")>-1||a.indexOf("iPad")>-1)&&!BrowserDetect.isWindowPhone,BrowserDetect.isAndroid=a.indexOf("Android")>-1&&!BrowserDetect.isWindowPhone,BrowserDetect.isBlackberry=a.indexOf("Blackberry")>-1,createjs.BrowserDetect=BrowserDetect}(),this.createjs=this.createjs||{},function(){"use strict";function EventDispatcher(){this._listeners=null,this._captureListeners=null}var a=EventDispatcher.prototype;EventDispatcher.initialize=function(b){b.addEventListener=a.addEventListener,b.on=a.on,b.removeEventListener=b.off=a.removeEventListener,b.removeAllEventListeners=a.removeAllEventListeners,b.hasEventListener=a.hasEventListener,b.dispatchEvent=a.dispatchEvent,b._dispatchEvent=a._dispatchEvent,b.willTrigger=a.willTrigger},a.addEventListener=function(a,b,c){var d;d=c?this._captureListeners=this._captureListeners||{}:this._listeners=this._listeners||{};var e=d[a];return e&&this.removeEventListener(a,b,c),e=d[a],e?e.push(b):d[a]=[b],b},a.on=function(a,b,c,d,e,f){return b.handleEvent&&(c=c||b,b=b.handleEvent),c=c||this,this.addEventListener(a,function(a){b.call(c,a,e),d&&a.remove()},f)},a.removeEventListener=function(a,b,c){var d=c?this._captureListeners:this._listeners;if(d){var e=d[a];if(e)for(var f=0,g=e.length;g>f;f++)if(e[f]==b){1==g?delete d[a]:e.splice(f,1);break}}},a.off=a.removeEventListener,a.removeAllEventListeners=function(a){a?(this._listeners&&delete this._listeners[a],this._captureListeners&&delete this._captureListeners[a]):this._listeners=this._captureListeners=null},a.dispatchEvent=function(a,b,c){if("string"==typeof a){var d=this._listeners;if(!(b||d&&d[a]))return!0;a=new createjs.Event(a,b,c)}else a.target&&a.clone&&(a=a.clone());try{a.target=this}catch(e){}if(a.bubbles&&this.parent){for(var f=this,g=[f];f.parent;)g.push(f=f.parent);var h,i=g.length;for(h=i-1;h>=0&&!a.propagationStopped;h--)g[h]._dispatchEvent(a,1+(0==h));for(h=1;i>h&&!a.propagationStopped;h++)g[h]._dispatchEvent(a,3)}else this._dispatchEvent(a,2);return!a.defaultPrevented},a.hasEventListener=function(a){var b=this._listeners,c=this._captureListeners;return!!(b&&b[a]||c&&c[a])},a.willTrigger=function(a){for(var b=this;b;){if(b.hasEventListener(a))return!0;b=b.parent}return!1},a.toString=function(){return"[EventDispatcher]"},a._dispatchEvent=function(a,b){var c,d=1==b?this._captureListeners:this._listeners;if(a&&d){var e=d[a.type];if(!e||!(c=e.length))return;try{a.currentTarget=this}catch(f){}try{a.eventPhase=b}catch(f){}a.removed=!1,e=e.slice();for(var g=0;c>g&&!a.immediatePropagationStopped;g++){var h=e[g];h.handleEvent?h.handleEvent(a):h(a),a.removed&&(this.off(a.type,h,1==b),a.removed=!1)}}},createjs.EventDispatcher=EventDispatcher}(),this.createjs=this.createjs||{},function(){"use strict";function Event(a,b,c){this.type=a,this.target=null,this.currentTarget=null,this.eventPhase=0,this.bubbles=!!b,this.cancelable=!!c,this.timeStamp=(new Date).getTime(),this.defaultPrevented=!1,this.propagationStopped=!1,this.immediatePropagationStopped=!1,this.removed=!1}var a=Event.prototype;a.preventDefault=function(){this.defaultPrevented=this.cancelable&&!0},a.stopPropagation=function(){this.propagationStopped=!0},a.stopImmediatePropagation=function(){this.immediatePropagationStopped=this.propagationStopped=!0},a.remove=function(){this.removed=!0},a.clone=function(){return new Event(this.type,this.bubbles,this.cancelable)},a.set=function(a){for(var b in a)this[b]=a[b];return this},a.toString=function(){return"[Event (type="+this.type+")]"},createjs.Event=Event}(),this.createjs=this.createjs||{},function(){"use strict";function ErrorEvent(a,b,c){this.Event_constructor("error"),this.title=a,this.message=b,this.data=c}var a=createjs.extend(ErrorEvent,createjs.Event);a.clone=function(){return new createjs.ErrorEvent(this.title,this.message,this.data)},createjs.ErrorEvent=createjs.promote(ErrorEvent,"Event")}(),this.createjs=this.createjs||{},function(){"use strict";function ProgressEvent(a,b){this.Event_constructor("progress"),this.loaded=a,this.total=null==b?1:b,this.progress=0==b?0:this.loaded/this.total}var a=createjs.extend(ProgressEvent,createjs.Event);a.clone=function(){return new createjs.ProgressEvent(this.loaded,this.total)},createjs.ProgressEvent=createjs.promote(ProgressEvent,"Event")}(window),this.createjs=this.createjs||{},function(){"use strict";function LoadItem(){this.src=null,this.type=null,this.id=null,this.maintainOrder=!1,this.callback=null,this.data=null,this.method=createjs.LoadItem.GET,this.values=null,this.headers=null,this.withCredentials=!1,this.mimeType=null,this.crossOrigin=null,this.loadTimeout=b.LOAD_TIMEOUT_DEFAULT}var a=LoadItem.prototype={},b=LoadItem;b.LOAD_TIMEOUT_DEFAULT=8e3,b.create=function(a){if("string"==typeof a){var c=new LoadItem;return c.src=a,c}if(a instanceof b)return a;if(a instanceof Object&&a.src)return null==a.loadTimeout&&(a.loadTimeout=b.LOAD_TIMEOUT_DEFAULT),a;throw new Error("Type not recognized.")},a.set=function(a){for(var b in a)this[b]=a[b];return this},createjs.LoadItem=b}(),function(){var a={};a.ABSOLUTE_PATT=/^(?:\w+:)?\/{2}/i,a.RELATIVE_PATT=/^[.\/]*?\//i,a.EXTENSION_PATT=/\/?[^\/]+\.(\w{1,5})$/i,a.parseURI=function(b){var c={absolute:!1,relative:!1};if(null==b)return c;var d=b.indexOf("?");d>-1&&(b=b.substr(0,d));var e;return a.ABSOLUTE_PATT.test(b)?c.absolute=!0:a.RELATIVE_PATT.test(b)&&(c.relative=!0),(e=b.match(a.EXTENSION_PATT))&&(c.extension=e[1].toLowerCase()),c},a.formatQueryString=function(a,b){if(null==a)throw new Error("You must specify data.");var c=[];for(var d in a)c.push(d+"="+escape(a[d]));return b&&(c=c.concat(b)),c.join("&")},a.buildPath=function(a,b){if(null==b)return a;var c=[],d=a.indexOf("?");if(-1!=d){var e=a.slice(d+1);c=c.concat(e.split("&"))}return-1!=d?a.slice(0,d)+"?"+this.formatQueryString(b,c):a+"?"+this.formatQueryString(b,c)},a.isCrossDomain=function(a){var b=document.createElement("a");b.href=a.src;var c=document.createElement("a");c.href=location.href;var d=""!=b.hostname&&(b.port!=c.port||b.protocol!=c.protocol||b.hostname!=c.hostname);return d},a.isLocal=function(a){var b=document.createElement("a");return b.href=a.src,""==b.hostname&&"file:"==b.protocol},a.isBinary=function(a){switch(a){case createjs.AbstractLoader.IMAGE:case createjs.AbstractLoader.BINARY:return!0;default:return!1}},a.isImageTag=function(a){return a instanceof HTMLImageElement},a.isAudioTag=function(a){return window.HTMLAudioElement?a instanceof HTMLAudioElement:!1},a.isVideoTag=function(a){return window.HTMLVideoElement?a instanceof HTMLVideoElement:!1},a.isText=function(a){switch(a){case createjs.AbstractLoader.TEXT:case createjs.AbstractLoader.JSON:case createjs.AbstractLoader.MANIFEST:case createjs.AbstractLoader.XML:case createjs.AbstractLoader.CSS:case createjs.AbstractLoader.SVG:case createjs.AbstractLoader.JAVASCRIPT:case createjs.AbstractLoader.SPRITESHEET:return!0;default:return!1}},a.getTypeByExtension=function(a){if(null==a)return createjs.AbstractLoader.TEXT;switch(a.toLowerCase()){case"jpeg":case"jpg":case"gif":case"png":case"webp":case"bmp":return createjs.AbstractLoader.IMAGE;case"ogg":case"mp3":case"webm":return createjs.AbstractLoader.SOUND;case"mp4":case"webm":case"ts":return createjs.AbstractLoader.VIDEO;case"json":return createjs.AbstractLoader.JSON;case"xml":return createjs.AbstractLoader.XML;case"css":return createjs.AbstractLoader.CSS;case"js":return createjs.AbstractLoader.JAVASCRIPT;case"svg":return createjs.AbstractLoader.SVG;default:return createjs.AbstractLoader.TEXT}},createjs.RequestUtils=a}(),this.createjs=this.createjs||{},function(){"use strict";function AbstractLoader(a,b,c){this.EventDispatcher_constructor(),this.loaded=!1,this.canceled=!1,this.progress=0,this.type=c,this.resultFormatter=null,this._item=a?createjs.LoadItem.create(a):null,this._preferXHR=b,this._result=null,this._rawResult=null,this._loadedItems=null,this._tagSrcAttribute=null,this._tag=null}var a=createjs.extend(AbstractLoader,createjs.EventDispatcher),b=AbstractLoader;b.POST="POST",b.GET="GET",b.BINARY="binary",b.CSS="css",b.IMAGE="image",b.JAVASCRIPT="javascript",b.JSON="json",b.JSONP="jsonp",b.MANIFEST="manifest",b.SOUND="sound",b.VIDEO="video",b.SPRITESHEET="spritesheet",b.SVG="svg",b.TEXT="text",b.XML="xml",a.getItem=function(){return this._item},a.getResult=function(a){return a?this._rawResult:this._result},a.getTag=function(){return this._tag},a.setTag=function(a){this._tag=a},a.load=function(){this._createRequest(),this._request.on("complete",this,this),this._request.on("progress",this,this),this._request.on("loadStart",this,this),this._request.on("abort",this,this),this._request.on("timeout",this,this),this._request.on("error",this,this);var a=new createjs.Event("initialize");a.loader=this._request,this.dispatchEvent(a),this._request.load()},a.cancel=function(){this.canceled=!0,this.destroy()},a.destroy=function(){this._request&&(this._request.removeAllEventListeners(),this._request.destroy()),this._request=null,this._item=null,this._rawResult=null,this._result=null,this._loadItems=null,this.removeAllEventListeners()},a.getLoadedItems=function(){return this._loadedItems},a._createRequest=function(){this._request=this._preferXHR?new createjs.XHRRequest(this._item):new createjs.TagRequest(this._item,this._tag||this._createTag(),this._tagSrcAttribute)},a._createTag=function(){return null},a._sendLoadStart=function(){this._isCanceled()||this.dispatchEvent("loadstart")},a._sendProgress=function(a){if(!this._isCanceled()){var b=null;"number"==typeof a?(this.progress=a,b=new createjs.ProgressEvent(this.progress)):(b=a,this.progress=a.loaded/a.total,b.progress=this.progress,(isNaN(this.progress)||1/0==this.progress)&&(this.progress=0)),this.hasEventListener("progress")&&this.dispatchEvent(b)}},a._sendComplete=function(){if(!this._isCanceled()){this.loaded=!0;var a=new createjs.Event("complete");a.rawResult=this._rawResult,null!=this._result&&(a.result=this._result),this.dispatchEvent(a)}},a._sendError=function(a){!this._isCanceled()&&this.hasEventListener("error")&&(null==a&&(a=new createjs.ErrorEvent("PRELOAD_ERROR_EMPTY")),this.dispatchEvent(a))},a._isCanceled=function(){return null==window.createjs||this.canceled?!0:!1},a.resultFormatter=null,a.handleEvent=function(a){switch(a.type){case"complete":this._rawResult=a.target._response;var b=this.resultFormatter&&this.resultFormatter(this);b instanceof Function?b.call(this,createjs.proxy(this._resultFormatSuccess,this),createjs.proxy(this._resultFormatFailed,this)):(this._result=b||this._rawResult,this._sendComplete());break;case"progress":this._sendProgress(a);break;case"error":this._sendError(a);break;case"loadstart":this._sendLoadStart();break;case"abort":case"timeout":this._isCanceled()||this.dispatchEvent(new createjs.ErrorEvent("PRELOAD_"+a.type.toUpperCase()+"_ERROR"))}},a._resultFormatSuccess=function(a){this._result=a,this._sendComplete()},a._resultFormatFailed=function(a){this._sendError(a)},a.buildPath=function(a,b){return createjs.RequestUtils.buildPath(a,b)},a.toString=function(){return"[PreloadJS AbstractLoader]"},createjs.AbstractLoader=createjs.promote(AbstractLoader,"EventDispatcher")}(),this.createjs=this.createjs||{},function(){"use strict";function AbstractMediaLoader(a,b,c){this.AbstractLoader_constructor(a,b,c),this.resultFormatter=this._formatResult,this._tagSrcAttribute="src",this.on("initialize",this._updateXHR,this)}var a=createjs.extend(AbstractMediaLoader,createjs.AbstractLoader);a.load=function(){this._tag||(this._tag=this._createTag(this._item.src)),this._tag.preload="auto",this._tag.load(),this.AbstractLoader_load()},a._createTag=function(){},a._createRequest=function(){this._request=this._preferXHR?new createjs.XHRRequest(this._item):new createjs.MediaTagRequest(this._item,this._tag||this._createTag(),this._tagSrcAttribute)},a._updateXHR=function(a){a.loader.setResponseType&&a.loader.setResponseType("blob")},a._formatResult=function(a){if(this._tag.removeEventListener&&this._tag.removeEventListener("canplaythrough",this._loadedHandler),this._tag.onstalled=null,this._preferXHR){var b=window.URL||window.webkitURL,c=a.getResult(!0);a.getTag().src=b.createObjectURL(c)}return a.getTag()},createjs.AbstractMediaLoader=createjs.promote(AbstractMediaLoader,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";var AbstractRequest=function(a){this._item=a},a=createjs.extend(AbstractRequest,createjs.EventDispatcher);a.load=function(){},a.destroy=function(){},a.cancel=function(){},createjs.AbstractRequest=createjs.promote(AbstractRequest,"EventDispatcher")}(),this.createjs=this.createjs||{},function(){"use strict";function TagRequest(a,b,c){this.AbstractRequest_constructor(a),this._tag=b,this._tagSrcAttribute=c,this._loadedHandler=createjs.proxy(this._handleTagComplete,this),this._addedToDOM=!1,this._startTagVisibility=null}var a=createjs.extend(TagRequest,createjs.AbstractRequest);a.load=function(){this._tag.onload=createjs.proxy(this._handleTagComplete,this),this._tag.onreadystatechange=createjs.proxy(this._handleReadyStateChange,this),this._tag.onerror=createjs.proxy(this._handleError,this);var a=new createjs.Event("initialize");a.loader=this._tag,this.dispatchEvent(a),this._hideTag(),this._loadTimeout=setTimeout(createjs.proxy(this._handleTimeout,this),this._item.loadTimeout),this._tag[this._tagSrcAttribute]=this._item.src,null==this._tag.parentNode&&(window.document.body.appendChild(this._tag),this._addedToDOM=!0)},a.destroy=function(){this._clean(),this._tag=null,this.AbstractRequest_destroy()},a._handleReadyStateChange=function(){clearTimeout(this._loadTimeout);var a=this._tag;("loaded"==a.readyState||"complete"==a.readyState)&&this._handleTagComplete()},a._handleError=function(){this._clean(),this.dispatchEvent("error")},a._handleTagComplete=function(){this._rawResult=this._tag,this._result=this.resultFormatter&&this.resultFormatter(this)||this._rawResult,this._clean(),this._showTag(),this.dispatchEvent("complete")},a._handleTimeout=function(){this._clean(),this.dispatchEvent(new createjs.Event("timeout"))},a._clean=function(){this._tag.onload=null,this._tag.onreadystatechange=null,this._tag.onerror=null,this._addedToDOM&&null!=this._tag.parentNode&&this._tag.parentNode.removeChild(this._tag),clearTimeout(this._loadTimeout)},a._hideTag=function(){this._startTagVisibility=this._tag.style.visibility,this._tag.style.visibility="hidden"},a._showTag=function(){this._tag.style.visibility=this._startTagVisibility},a._handleStalled=function(){},createjs.TagRequest=createjs.promote(TagRequest,"AbstractRequest")}(),this.createjs=this.createjs||{},function(){"use strict";function MediaTagRequest(a,b,c){this.AbstractRequest_constructor(a),this._tag=b,this._tagSrcAttribute=c,this._loadedHandler=createjs.proxy(this._handleTagComplete,this)}var a=createjs.extend(MediaTagRequest,createjs.TagRequest);a.load=function(){var a=createjs.proxy(this._handleStalled,this);this._stalledCallback=a;var b=createjs.proxy(this._handleProgress,this);this._handleProgress=b,this._tag.addEventListener("stalled",a),this._tag.addEventListener("progress",b),this._tag.addEventListener&&this._tag.addEventListener("canplaythrough",this._loadedHandler,!1),this.TagRequest_load()},a._handleReadyStateChange=function(){clearTimeout(this._loadTimeout);var a=this._tag;("loaded"==a.readyState||"complete"==a.readyState)&&this._handleTagComplete()},a._handleStalled=function(){},a._handleProgress=function(a){if(a&&!(a.loaded>0&&0==a.total)){var b=new createjs.ProgressEvent(a.loaded,a.total);this.dispatchEvent(b)}},a._clean=function(){this._tag.removeEventListener&&this._tag.removeEventListener("canplaythrough",this._loadedHandler),this._tag.removeEventListener("stalled",this._stalledCallback),this._tag.removeEventListener("progress",this._progressCallback),this.TagRequest__clean()},createjs.MediaTagRequest=createjs.promote(MediaTagRequest,"TagRequest")}(),this.createjs=this.createjs||{},function(){"use strict";function XHRRequest(a){this.AbstractRequest_constructor(a),this._request=null,this._loadTimeout=null,this._xhrLevel=1,this._response=null,this._rawResponse=null,this._canceled=!1,this._handleLoadStartProxy=createjs.proxy(this._handleLoadStart,this),this._handleProgressProxy=createjs.proxy(this._handleProgress,this),this._handleAbortProxy=createjs.proxy(this._handleAbort,this),this._handleErrorProxy=createjs.proxy(this._handleError,this),this._handleTimeoutProxy=createjs.proxy(this._handleTimeout,this),this._handleLoadProxy=createjs.proxy(this._handleLoad,this),this._handleReadyStateChangeProxy=createjs.proxy(this._handleReadyStateChange,this),!this._createXHR(a)}var a=createjs.extend(XHRRequest,createjs.AbstractRequest);XHRRequest.ACTIVEX_VERSIONS=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","MSXML2.XMLHTTP.3.0","MSXML2.XMLHTTP","Microsoft.XMLHTTP"],a.getResult=function(a){return a&&this._rawResponse?this._rawResponse:this._response},a.cancel=function(){this.canceled=!0,this._clean(),this._request.abort()},a.load=function(){if(null==this._request)return void this._handleError();null!=this._request.addEventListener?(this._request.addEventListener("loadstart",this._handleLoadStartProxy,!1),this._request.addEventListener("progress",this._handleProgressProxy,!1),this._request.addEventListener("abort",this._handleAbortProxy,!1),this._request.addEventListener("error",this._handleErrorProxy,!1),this._request.addEventListener("timeout",this._handleTimeoutProxy,!1),this._request.addEventListener("load",this._handleLoadProxy,!1),this._request.addEventListener("readystatechange",this._handleReadyStateChangeProxy,!1)):(this._request.onloadstart=this._handleLoadStartProxy,this._request.onprogress=this._handleProgressProxy,this._request.onabort=this._handleAbortProxy,this._request.onerror=this._handleErrorProxy,this._request.ontimeout=this._handleTimeoutProxy,this._request.onload=this._handleLoadProxy,this._request.onreadystatechange=this._handleReadyStateChangeProxy),1==this._xhrLevel&&(this._loadTimeout=setTimeout(createjs.proxy(this._handleTimeout,this),this._item.loadTimeout));try{this._item.values&&this._item.method!=createjs.AbstractLoader.GET?this._item.method==createjs.AbstractLoader.POST&&this._request.send(createjs.RequestUtils.formatQueryString(this._item.values)):this._request.send()}catch(a){this.dispatchEvent(new createjs.ErrorEvent("XHR_SEND",null,a))}},a.setResponseType=function(a){"blob"===a&&(a=window.URL?"blob":"arraybuffer",this._responseType=a),this._request.responseType=a},a.getAllResponseHeaders=function(){return this._request.getAllResponseHeaders instanceof Function?this._request.getAllResponseHeaders():null},a.getResponseHeader=function(a){return this._request.getResponseHeader instanceof Function?this._request.getResponseHeader(a):null},a._handleProgress=function(a){if(a&&!(a.loaded>0&&0==a.total)){var b=new createjs.ProgressEvent(a.loaded,a.total);this.dispatchEvent(b)}},a._handleLoadStart=function(){clearTimeout(this._loadTimeout),this.dispatchEvent("loadstart")},a._handleAbort=function(a){this._clean(),this.dispatchEvent(new createjs.ErrorEvent("XHR_ABORTED",null,a))},a._handleError=function(a){this._clean(),this.dispatchEvent(new createjs.ErrorEvent(a.message))},a._handleReadyStateChange=function(){4==this._request.readyState&&this._handleLoad()},a._handleLoad=function(){if(!this.loaded){this.loaded=!0;var a=this._checkError();if(a)return void this._handleError(a);if(this._response=this._getResponse(),"arraybuffer"===this._responseType)try{this._response=new Blob([this._response])}catch(b){if(window.BlobBuilder=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,"TypeError"===b.name&&window.BlobBuilder){var c=new BlobBuilder;c.append(this._response),this._response=c.getBlob()}}this._clean(),this.dispatchEvent(new createjs.Event("complete"))}},a._handleTimeout=function(a){this._clean(),this.dispatchEvent(new createjs.ErrorEvent("PRELOAD_TIMEOUT",null,a))},a._checkError=function(){var a=parseInt(this._request.status);switch(a){case 404:case 0:return new Error(a)}return null},a._getResponse=function(){if(null!=this._response)return this._response;if(null!=this._request.response)return this._request.response;try{if(null!=this._request.responseText)return this._request.responseText}catch(a){}try{if(null!=this._request.responseXML)return this._request.responseXML}catch(a){}return null},a._createXHR=function(a){var b=createjs.RequestUtils.isCrossDomain(a),c={},d=null;if(window.XMLHttpRequest)d=new XMLHttpRequest,b&&void 0===d.withCredentials&&window.XDomainRequest&&(d=new XDomainRequest);else{for(var e=0,f=s.ACTIVEX_VERSIONS.length;f>e;e++){var g=s.ACTIVEX_VERSIONS[e];try{d=new ActiveXObject(g);break}catch(h){}}if(null==d)return!1}null==a.mimeType&&createjs.RequestUtils.isText(a.type)&&(a.mimeType="text/plain; charset=utf-8"),a.mimeType&&d.overrideMimeType&&d.overrideMimeType(a.mimeType),this._xhrLevel="string"==typeof d.responseType?2:1;var i=null;if(i=a.method==createjs.AbstractLoader.GET?createjs.RequestUtils.buildPath(a.src,a.values):a.src,d.open(a.method||createjs.AbstractLoader.GET,i,!0),b&&d instanceof XMLHttpRequest&&1==this._xhrLevel&&(c.Origin=location.origin),a.values&&a.method==createjs.AbstractLoader.POST&&(c["Content-Type"]="application/x-www-form-urlencoded"),b||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest"),a.headers)for(var j in a.headers)c[j]=a.headers[j];for(j in c)d.setRequestHeader(j,c[j]);return d instanceof XMLHttpRequest&&void 0!==a.withCredentials&&(d.withCredentials=a.withCredentials),this._request=d,!0},a._clean=function(){clearTimeout(this._loadTimeout),null!=this._request.removeEventListener?(this._request.removeEventListener("loadstart",this._handleLoadStartProxy),this._request.removeEventListener("progress",this._handleProgressProxy),this._request.removeEventListener("abort",this._handleAbortProxy),this._request.removeEventListener("error",this._handleErrorProxy),this._request.removeEventListener("timeout",this._handleTimeoutProxy),this._request.removeEventListener("load",this._handleLoadProxy),this._request.removeEventListener("readystatechange",this._handleReadyStateChangeProxy)):(this._request.onloadstart=null,this._request.onprogress=null,this._request.onabort=null,this._request.onerror=null,this._request.ontimeout=null,this._request.onload=null,this._request.onreadystatechange=null)},a.toString=function(){return"[PreloadJS XHRRequest]"},createjs.XHRRequest=createjs.promote(XHRRequest,"AbstractRequest")}(),this.createjs=this.createjs||{},function(){"use strict";function SoundLoader(a,b){this.AbstractMediaLoader_constructor(a,b,createjs.AbstractLoader.SOUND),createjs.RequestUtils.isAudioTag(a)?this._tag=a:createjs.RequestUtils.isAudioTag(a.src)?this._tag=a:createjs.RequestUtils.isAudioTag(a.tag)&&(this._tag=createjs.RequestUtils.isAudioTag(a)?a:a.src),null!=this._tag&&(this._preferXHR=!1)}var a=createjs.extend(SoundLoader,createjs.AbstractMediaLoader),b=SoundLoader;b.canLoadItem=function(a){return a.type==createjs.AbstractLoader.SOUND},a._createTag=function(a){var b=document.createElement("audio");return b.autoplay=!1,b.preload="none",b.src=a,b},createjs.SoundLoader=createjs.promote(SoundLoader,"AbstractMediaLoader")}(),this.createjs=this.createjs||{},function(){"use strict";var PlayPropsConfig=function(){this.interrupt=null,this.delay=null,this.offset=null,this.loop=null,this.volume=null,this.pan=null,this.startTime=null,this.duration=null},a=PlayPropsConfig.prototype={},b=PlayPropsConfig;b.create=function(a){if(a instanceof b||a instanceof Object){var c=new createjs.PlayPropsConfig;return c.set(a),c}throw new Error("Type not recognized.")},a.set=function(a){for(var b in a)this[b]=a[b];return this},a.toString=function(){return"[PlayPropsConfig]"},createjs.PlayPropsConfig=b}(),this.createjs=this.createjs||{},function(){"use strict";function Sound(){throw"Sound cannot be instantiated"}function a(a,b){this.init(a,b)}var b=Sound;b.INTERRUPT_ANY="any",b.INTERRUPT_EARLY="early",b.INTERRUPT_LATE="late",b.INTERRUPT_NONE="none",b.PLAY_INITED="playInited",b.PLAY_SUCCEEDED="playSucceeded",b.PLAY_INTERRUPTED="playInterrupted",b.PLAY_FINISHED="playFinished",b.PLAY_FAILED="playFailed",b.SUPPORTED_EXTENSIONS=["mp3","ogg","opus","mpeg","wav","m4a","mp4","aiff","wma","mid"],b.EXTENSION_MAP={m4a:"mp4"},b.FILE_PATTERN=/^(?:(\w+:)\/{2}(\w+(?:\.\w+)*\/?))?([\/.]*?(?:[^?]+)?\/)?((?:[^\/?]+)\.(\w+))(?:\?(\S+)?)?$/,b.defaultInterruptBehavior=b.INTERRUPT_NONE,b.alternateExtensions=[],b.activePlugin=null,b._masterVolume=1,Object.defineProperty(b,"volume",{get:function(){return this._masterVolume},set:function(a){if(null==Number(a))return!1;if(a=Math.max(0,Math.min(1,a)),b._masterVolume=a,!this.activePlugin||!this.activePlugin.setVolume||!this.activePlugin.setVolume(a))for(var c=this._instances,d=0,e=c.length;e>d;d++)c[d].setMasterVolume(a)}}),b._masterMute=!1,Object.defineProperty(b,"muted",{get:function(){return this._masterMute},set:function(a){if(null==a)return!1;if(this._masterMute=a,!this.activePlugin||!this.activePlugin.setMute||!this.activePlugin.setMute(a))for(var b=this._instances,c=0,d=b.length;d>c;c++)b[c].setMasterMute(a);return!0}}),Object.defineProperty(b,"capabilities",{get:function(){return null==b.activePlugin?null:b.activePlugin._capabilities},set:function(){return!1}}),b._pluginsRegistered=!1,b._lastID=0,b._instances=[],b._idHash={},b._preloadHash={},b._defaultPlayPropsHash={},b.addEventListener=null,b.removeEventListener=null,b.removeAllEventListeners=null,b.dispatchEvent=null,b.hasEventListener=null,b._listeners=null,createjs.EventDispatcher.initialize(b),b.getPreloadHandlers=function(){return{callback:createjs.proxy(b.initLoad,b),types:["sound"],extensions:b.SUPPORTED_EXTENSIONS}},b._handleLoadComplete=function(a){var c=a.target.getItem().src;if(b._preloadHash[c])for(var d=0,e=b._preloadHash[c].length;e>d;d++){var f=b._preloadHash[c][d];if(b._preloadHash[c][d]=!0,b.hasEventListener("fileload")){var a=new createjs.Event("fileload");a.src=f.src,a.id=f.id,a.data=f.data,a.sprite=f.sprite,b.dispatchEvent(a)}}},b._handleLoadError=function(a){var c=a.target.getItem().src;if(b._preloadHash[c])for(var d=0,e=b._preloadHash[c].length;e>d;d++){var f=b._preloadHash[c][d];if(b._preloadHash[c][d]=!1,b.hasEventListener("fileerror")){var a=new createjs.Event("fileerror");a.src=f.src,a.id=f.id,a.data=f.data,a.sprite=f.sprite,b.dispatchEvent(a)}}},b._registerPlugin=function(a){return a.isSupported()?(b.activePlugin=new a,!0):!1},b.registerPlugins=function(a){b._pluginsRegistered=!0;for(var c=0,d=a.length;d>c;c++)if(b._registerPlugin(a[c]))return!0;return!1},b.initializeDefaultPlugins=function(){return null!=b.activePlugin?!0:b._pluginsRegistered?!1:b.registerPlugins([createjs.WebAudioPlugin,createjs.HTMLAudioPlugin])?!0:!1},b.isReady=function(){return null!=b.activePlugin},b.getCapabilities=function(){return null==b.activePlugin?null:b.activePlugin._capabilities},b.getCapability=function(a){return null==b.activePlugin?null:b.activePlugin._capabilities[a]},b.initLoad=function(a){return b._registerSound(a)},b._registerSound=function(c){if(!b.initializeDefaultPlugins())return!1;var d;if(c.src instanceof Object?(d=b._parseSrc(c.src),d.src=c.path+d.src):d=b._parsePath(c.src),null==d)return!1;c.src=d.src,c.type="sound";var e=c.data,f=null;if(null!=e&&(isNaN(e.channels)?isNaN(e)||(f=parseInt(e)):f=parseInt(e.channels),e.audioSprite))for(var g,h=e.audioSprite.length;h--;)g=e.audioSprite[h],b._idHash[g.id]={src:c.src,startTime:parseInt(g.startTime),duration:parseInt(g.duration)},g.defaultPlayProps&&(b._defaultPlayPropsHash[g.id]=createjs.PlayPropsConfig.create(g.defaultPlayProps));null!=c.id&&(b._idHash[c.id]={src:c.src});var i=b.activePlugin.register(c);return a.create(c.src,f),null!=e&&isNaN(e)?c.data.channels=f||a.maxPerChannel():c.data=f||a.maxPerChannel(),i.type&&(c.type=i.type),c.defaultPlayProps&&(b._defaultPlayPropsHash[c.src]=createjs.PlayPropsConfig.create(c.defaultPlayProps)),i},b.registerSound=function(a,c,d,e,f){var g={src:a,id:c,data:d,defaultPlayProps:f};a instanceof Object&&a.src&&(e=c,g=a),g=createjs.LoadItem.create(g),g.path=e,null==e||g.src instanceof Object||(g.src=e+a);var h=b._registerSound(g);if(!h)return!1;if(b._preloadHash[g.src]||(b._preloadHash[g.src]=[]),b._preloadHash[g.src].push(g),1==b._preloadHash[g.src].length)h.on("complete",createjs.proxy(this._handleLoadComplete,this)),h.on("error",createjs.proxy(this._handleLoadError,this)),b.activePlugin.preload(h);else if(1==b._preloadHash[g.src][0])return!0;return g},b.registerSounds=function(a,b){var c=[];a.path&&(b?b+=a.path:b=a.path,a=a.manifest);for(var d=0,e=a.length;e>d;d++)c[d]=createjs.Sound.registerSound(a[d].src,a[d].id,a[d].data,b,a[d].defaultPlayProps);return c},b.removeSound=function(c,d){if(null==b.activePlugin)return!1;c instanceof Object&&c.src&&(c=c.src);var e;if(c instanceof Object?e=b._parseSrc(c):(c=b._getSrcById(c).src,e=b._parsePath(c)),null==e)return!1;c=e.src,null!=d&&(c=d+c);for(var f in b._idHash)b._idHash[f].src==c&&delete b._idHash[f];return a.removeSrc(c),delete b._preloadHash[c],b.activePlugin.removeSound(c),!0},b.removeSounds=function(a,b){var c=[];a.path&&(b?b+=a.path:b=a.path,a=a.manifest);for(var d=0,e=a.length;e>d;d++)c[d]=createjs.Sound.removeSound(a[d].src,b);return c},b.removeAllSounds=function(){b._idHash={},b._preloadHash={},a.removeAll(),b.activePlugin&&b.activePlugin.removeAllSounds()},b.loadComplete=function(a){if(!b.isReady())return!1;var c=b._parsePath(a);return a=c?b._getSrcById(c.src).src:b._getSrcById(a).src,void 0==b._preloadHash[a]?!1:1==b._preloadHash[a][0]},b._parsePath=function(a){"string"!=typeof a&&(a=a.toString());var c=a.match(b.FILE_PATTERN);if(null==c)return!1;for(var d=c[4],e=c[5],f=b.capabilities,g=0;!f[e];)if(e=b.alternateExtensions[g++],g>b.alternateExtensions.length)return null;a=a.replace("."+c[5],"."+e);var h={name:d,src:a,extension:e};return h},b._parseSrc=function(a){var c={name:void 0,src:void 0,extension:void 0},d=b.capabilities;for(var e in a)if(a.hasOwnProperty(e)&&d[e]){c.src=a[e],c.extension=e;break}if(!c.src)return!1;var f=c.src.lastIndexOf("/");return c.name=-1!=f?c.src.slice(f+1):c.src,c},b.play=function(a,c,d,e,f,g,h,i,j){var k;k=createjs.PlayPropsConfig.create(c instanceof Object||c instanceof createjs.PlayPropsConfig?c:{interrupt:c,delay:d,offset:e,loop:f,volume:g,pan:h,startTime:i,duration:j});var l=b.createInstance(a,k.startTime,k.duration),m=b._playInstance(l,k);return m||l._playFailed(),l},b.createInstance=function(c,d,e){if(!b.initializeDefaultPlugins())return new createjs.DefaultSoundInstance(c,d,e);var f=b._defaultPlayPropsHash[c];c=b._getSrcById(c);var g=b._parsePath(c.src),h=null; +return null!=g&&null!=g.src?(a.create(g.src),null==d&&(d=c.startTime),h=b.activePlugin.create(g.src,d,e||c.duration),f=f||b._defaultPlayPropsHash[g.src],f&&h.applyPlayProps(f)):h=new createjs.DefaultSoundInstance(c,d,e),h.uniqueId=b._lastID++,h},b.stop=function(){for(var a=this._instances,b=a.length;b--;)a[b].stop()},b.setVolume=function(a){if(null==Number(a))return!1;if(a=Math.max(0,Math.min(1,a)),b._masterVolume=a,!this.activePlugin||!this.activePlugin.setVolume||!this.activePlugin.setVolume(a))for(var c=this._instances,d=0,e=c.length;e>d;d++)c[d].setMasterVolume(a)},b.getVolume=function(){return this._masterVolume},b.setMute=function(a){if(null==a)return!1;if(this._masterMute=a,!this.activePlugin||!this.activePlugin.setMute||!this.activePlugin.setMute(a))for(var b=this._instances,c=0,d=b.length;d>c;c++)b[c].setMasterMute(a);return!0},b.getMute=function(){return this._masterMute},b.setDefaultPlayProps=function(a,c){a=b._getSrcById(a),b._defaultPlayPropsHash[b._parsePath(a.src).src]=createjs.PlayPropsConfig.create(c)},b.getDefaultPlayProps=function(a){return a=b._getSrcById(a),b._defaultPlayPropsHash[b._parsePath(a.src).src]},b._playInstance=function(a,c){var d=b._defaultPlayPropsHash[a.src]||{};if(null==c.interrupt&&(c.interrupt=d.interrupt||b.defaultInterruptBehavior),null==c.delay&&(c.delay=d.delay||0),null==c.offset&&(c.offset=a.getPosition()),null==c.loop&&(c.loop=a.loop),null==c.volume&&(c.volume=a.volume),null==c.pan&&(c.pan=a.pan),0==c.delay){var e=b._beginPlaying(a,c);if(!e)return!1}else{var f=setTimeout(function(){b._beginPlaying(a,c)},c.delay);a.delayTimeoutId=f}return this._instances.push(a),!0},b._beginPlaying=function(b,c){if(!a.add(b,c.interrupt))return!1;var d=b._beginPlaying(c);if(!d){var e=createjs.indexOf(this._instances,b);return e>-1&&this._instances.splice(e,1),!1}return!0},b._getSrcById=function(a){return b._idHash[a]||{src:a}},b._playFinished=function(b){a.remove(b);var c=createjs.indexOf(this._instances,b);c>-1&&this._instances.splice(c,1)},createjs.Sound=Sound,a.channels={},a.create=function(b,c){var d=a.get(b);return null==d?(a.channels[b]=new a(b,c),!0):!1},a.removeSrc=function(b){var c=a.get(b);return null==c?!1:(c._removeAll(),delete a.channels[b],!0)},a.removeAll=function(){for(var b in a.channels)a.channels[b]._removeAll();a.channels={}},a.add=function(b,c){var d=a.get(b.src);return null==d?!1:d._add(b,c)},a.remove=function(b){var c=a.get(b.src);return null==c?!1:(c._remove(b),!0)},a.maxPerChannel=function(){return c.maxDefault},a.get=function(b){return a.channels[b]};var c=a.prototype;c.constructor=a,c.src=null,c.max=null,c.maxDefault=100,c.length=0,c.init=function(a,b){this.src=a,this.max=b||this.maxDefault,-1==this.max&&(this.max=this.maxDefault),this._instances=[]},c._get=function(a){return this._instances[a]},c._add=function(a,b){return this._getSlot(b,a)?(this._instances.push(a),this.length++,!0):!1},c._remove=function(a){var b=createjs.indexOf(this._instances,a);return-1==b?!1:(this._instances.splice(b,1),this.length--,!0)},c._removeAll=function(){for(var a=this.length-1;a>=0;a--)this._instances[a].stop()},c._getSlot=function(a){var b,c;if(a!=Sound.INTERRUPT_NONE&&(c=this._get(0),null==c))return!0;for(var d=0,e=this.max;e>d;d++){if(b=this._get(d),null==b)return!0;if(b.playState==Sound.PLAY_FINISHED||b.playState==Sound.PLAY_INTERRUPTED||b.playState==Sound.PLAY_FAILED){c=b;break}a!=Sound.INTERRUPT_NONE&&(a==Sound.INTERRUPT_EARLY&&b.getPosition()c.getPosition())&&(c=b)}return null!=c?(c._interrupt(),this._remove(c),!0):!1},c.toString=function(){return"[Sound SoundChannel]"}}(),this.createjs=this.createjs||{},function(){"use strict";var AbstractSoundInstance=function(a,b,c,d){this.EventDispatcher_constructor(),this.src=a,this.uniqueId=-1,this.playState=null,this.delayTimeoutId=null,this._volume=1,Object.defineProperty(this,"volume",{get:this.getVolume,set:this.setVolume}),this._pan=0,Object.defineProperty(this,"pan",{get:this.getPan,set:this.setPan}),this._startTime=Math.max(0,b||0),Object.defineProperty(this,"startTime",{get:this.getStartTime,set:this.setStartTime}),this._duration=Math.max(0,c||0),Object.defineProperty(this,"duration",{get:this.getDuration,set:this.setDuration}),this._playbackResource=null,Object.defineProperty(this,"playbackResource",{get:this.getPlaybackResource,set:this.setPlaybackResource}),d!==!1&&d!==!0&&this.setPlaybackResource(d),this._position=0,Object.defineProperty(this,"position",{get:this.getPosition,set:this.setPosition}),this._loop=0,Object.defineProperty(this,"loop",{get:this.getLoop,set:this.setLoop}),this._muted=!1,Object.defineProperty(this,"muted",{get:this.getMuted,set:this.setMuted}),this._paused=!1,Object.defineProperty(this,"paused",{get:this.getPaused,set:this.setPaused})},a=createjs.extend(AbstractSoundInstance,createjs.EventDispatcher);a.play=function(a,b,c,d,e,f){var g;return g=createjs.PlayPropsConfig.create(a instanceof Object||a instanceof createjs.PlayPropsConfig?a:{interrupt:a,delay:b,offset:c,loop:d,volume:e,pan:f}),this.playState==createjs.Sound.PLAY_SUCCEEDED?(this.applyPlayProps(g),void(this._paused&&this.setPaused(!1))):(this._cleanUp(),createjs.Sound._playInstance(this,g),this)},a.stop=function(){return this._position=0,this._paused=!1,this._handleStop(),this._cleanUp(),this.playState=createjs.Sound.PLAY_FINISHED,this},a.destroy=function(){this._cleanUp(),this.src=null,this.playbackResource=null,this.removeAllEventListeners()},a.applyPlayProps=function(a){return null!=a.offset&&this.setPosition(a.offset),null!=a.loop&&this.setLoop(a.loop),null!=a.volume&&this.setVolume(a.volume),null!=a.pan&&this.setPan(a.pan),null!=a.startTime&&(this.setStartTime(a.startTime),this.setDuration(a.duration)),this},a.toString=function(){return"[AbstractSoundInstance]"},a.getPaused=function(){return this._paused},a.setPaused=function(a){return a!==!0&&a!==!1||this._paused==a||1==a&&this.playState!=createjs.Sound.PLAY_SUCCEEDED?void 0:(this._paused=a,a?this._pause():this._resume(),clearTimeout(this.delayTimeoutId),this)},a.setVolume=function(a){return a==this._volume?this:(this._volume=Math.max(0,Math.min(1,a)),this._muted||this._updateVolume(),this)},a.getVolume=function(){return this._volume},a.setMuted=function(a){return a===!0||a===!1?(this._muted=a,this._updateVolume(),this):void 0},a.getMuted=function(){return this._muted},a.setPan=function(a){return a==this._pan?this:(this._pan=Math.max(-1,Math.min(1,a)),this._updatePan(),this)},a.getPan=function(){return this._pan},a.getPosition=function(){return this._paused||this.playState!=createjs.Sound.PLAY_SUCCEEDED||(this._position=this._calculateCurrentPosition()),this._position},a.setPosition=function(a){return this._position=Math.max(0,a),this.playState==createjs.Sound.PLAY_SUCCEEDED&&this._updatePosition(),this},a.getStartTime=function(){return this._startTime},a.setStartTime=function(a){return a==this._startTime?this:(this._startTime=Math.max(0,a||0),this._updateStartTime(),this)},a.getDuration=function(){return this._duration},a.setDuration=function(a){return a==this._duration?this:(this._duration=Math.max(0,a||0),this._updateDuration(),this)},a.setPlaybackResource=function(a){return this._playbackResource=a,0==this._duration&&this._setDurationFromSource(),this},a.getPlaybackResource=function(){return this._playbackResource},a.getLoop=function(){return this._loop},a.setLoop=function(a){null!=this._playbackResource&&(0!=this._loop&&0==a?this._removeLooping(a):0==this._loop&&0!=a&&this._addLooping(a)),this._loop=a},a._sendEvent=function(a){var b=new createjs.Event(a);this.dispatchEvent(b)},a._cleanUp=function(){clearTimeout(this.delayTimeoutId),this._handleCleanUp(),this._paused=!1,createjs.Sound._playFinished(this)},a._interrupt=function(){this._cleanUp(),this.playState=createjs.Sound.PLAY_INTERRUPTED,this._sendEvent("interrupted")},a._beginPlaying=function(a){return this.setPosition(a.offset),this.setLoop(a.loop),this.setVolume(a.volume),this.setPan(a.pan),null!=a.startTime&&(this.setStartTime(a.startTime),this.setDuration(a.duration)),null!=this._playbackResource&&this._positionc;c++){var e=this._soundInstances[b][c];e.setPlaybackResource(this._audioSources[b])}},a._handlePreloadError=function(){},a._updateVolume=function(){},createjs.AbstractPlugin=AbstractPlugin}(),this.createjs=this.createjs||{},function(){"use strict";function a(a){this.AbstractLoader_constructor(a,!0,createjs.AbstractLoader.SOUND)}var b=createjs.extend(a,createjs.AbstractLoader);a.context=null,b.toString=function(){return"[WebAudioLoader]"},b._createRequest=function(){this._request=new createjs.XHRRequest(this._item,!1),this._request.setResponseType("arraybuffer")},b._sendComplete=function(){a.context.decodeAudioData(this._rawResult,createjs.proxy(this._handleAudioDecoded,this),createjs.proxy(this._sendError,this))},b._handleAudioDecoded=function(a){this._result=a,this.AbstractLoader__sendComplete()},createjs.WebAudioLoader=createjs.promote(a,"AbstractLoader")}(),this.createjs=this.createjs||{},function(){"use strict";function WebAudioSoundInstance(a,c,d,e){this.AbstractSoundInstance_constructor(a,c,d,e),this.gainNode=b.context.createGain(),this.panNode=b.context.createPanner(),this.panNode.panningModel=b._panningModel,this.panNode.connect(this.gainNode),this._updatePan(),this.sourceNode=null,this._soundCompleteTimeout=null,this._sourceNodeNext=null,this._playbackStartTime=0,this._endedHandler=createjs.proxy(this._handleSoundComplete,this)}var a=createjs.extend(WebAudioSoundInstance,createjs.AbstractSoundInstance),b=WebAudioSoundInstance;b.context=null,b._scratchBuffer=null,b.destinationNode=null,b._panningModel="equalpower",a.destroy=function(){this.AbstractSoundInstance_destroy(),this.panNode.disconnect(0),this.panNode=null,this.gainNode.disconnect(0),this.gainNode=null},a.toString=function(){return"[WebAudioSoundInstance]"},a._updatePan=function(){this.panNode.setPosition(this._pan,0,-.5)},a._removeLooping=function(){this._sourceNodeNext=this._cleanUpAudioNode(this._sourceNodeNext)},a._addLooping=function(){this.playState==createjs.Sound.PLAY_SUCCEEDED&&(this._sourceNodeNext=this._createAndPlayAudioNode(this._playbackStartTime,0))},a._setDurationFromSource=function(){this._duration=1e3*this.playbackResource.duration},a._handleCleanUp=function(){this.sourceNode&&this.playState==createjs.Sound.PLAY_SUCCEEDED&&(this.sourceNode=this._cleanUpAudioNode(this.sourceNode),this._sourceNodeNext=this._cleanUpAudioNode(this._sourceNodeNext)),0!=this.gainNode.numberOfOutputs&&this.gainNode.disconnect(0),clearTimeout(this._soundCompleteTimeout),this._playbackStartTime=0},a._cleanUpAudioNode=function(a){if(a){a.stop(0),a.disconnect(0);try{a.buffer=b._scratchBuffer}catch(c){}a=null}return a},a._handleSoundReady=function(){this.gainNode.connect(b.destinationNode);var a=.001*this._duration,c=.001*this._position;c>a&&(c=a),this.sourceNode=this._createAndPlayAudioNode(b.context.currentTime-a,c),this._playbackStartTime=this.sourceNode.startTime-c,this._soundCompleteTimeout=setTimeout(this._endedHandler,1e3*(a-c)),0!=this._loop&&(this._sourceNodeNext=this._createAndPlayAudioNode(this._playbackStartTime,0))},a._createAndPlayAudioNode=function(a,c){var d=b.context.createBufferSource();d.buffer=this.playbackResource,d.connect(this.panNode);var e=.001*this._duration;return d.startTime=a+e,d.start(d.startTime,c+.001*this._startTime,e-c),d},a._pause=function(){this._position=1e3*(b.context.currentTime-this._playbackStartTime),this.sourceNode=this._cleanUpAudioNode(this.sourceNode),this._sourceNodeNext=this._cleanUpAudioNode(this._sourceNodeNext),0!=this.gainNode.numberOfOutputs&&this.gainNode.disconnect(0),clearTimeout(this._soundCompleteTimeout)},a._resume=function(){this._handleSoundReady()},a._updateVolume=function(){var a=this._muted?0:this._volume;a!=this.gainNode.gain.value&&(this.gainNode.gain.value=a)},a._calculateCurrentPosition=function(){return 1e3*(b.context.currentTime-this._playbackStartTime)},a._updatePosition=function(){this.sourceNode=this._cleanUpAudioNode(this.sourceNode),this._sourceNodeNext=this._cleanUpAudioNode(this._sourceNodeNext),clearTimeout(this._soundCompleteTimeout),this._paused||this._handleSoundReady()},a._handleLoop=function(){this._cleanUpAudioNode(this.sourceNode),this.sourceNode=this._sourceNodeNext,this._playbackStartTime=this.sourceNode.startTime,this._sourceNodeNext=this._createAndPlayAudioNode(this._playbackStartTime,0),this._soundCompleteTimeout=setTimeout(this._endedHandler,this._duration)},a._updateDuration=function(){this.playState==createjs.Sound.PLAY_SUCCEEDED&&(this._pause(),this._resume())},createjs.WebAudioSoundInstance=createjs.promote(WebAudioSoundInstance,"AbstractSoundInstance")}(),this.createjs=this.createjs||{},function(){"use strict";function WebAudioPlugin(){this.AbstractPlugin_constructor(),this._panningModel=b._panningModel,this.context=b.context,this.dynamicsCompressorNode=this.context.createDynamicsCompressor(),this.dynamicsCompressorNode.connect(this.context.destination),this.gainNode=this.context.createGain(),this.gainNode.connect(this.dynamicsCompressorNode),createjs.WebAudioSoundInstance.destinationNode=this.gainNode,this._capabilities=b._capabilities,this._loaderClass=createjs.WebAudioLoader,this._soundInstanceClass=createjs.WebAudioSoundInstance,this._addPropsToClasses()}var a=createjs.extend(WebAudioPlugin,createjs.AbstractPlugin),b=WebAudioPlugin;b._capabilities=null,b._panningModel="equalpower",b.context=null,b._scratchBuffer=null,b._unlocked=!1,b.isSupported=function(){var a=createjs.BrowserDetect.isIOS||createjs.BrowserDetect.isAndroid||createjs.BrowserDetect.isBlackberry;return"file:"!=location.protocol||a||this._isFileXHRSupported()?(b._generateCapabilities(),null==b.context?!1:!0):!1},b.playEmptySound=function(){if(null!=b.context){var a=b.context.createBufferSource();a.buffer=b._scratchBuffer,a.connect(b.context.destination),a.start(0,0,0)}},b._isFileXHRSupported=function(){var a=!0,b=new XMLHttpRequest;try{b.open("GET","WebAudioPluginTest.fail",!1)}catch(c){return a=!1}b.onerror=function(){a=!1},b.onload=function(){a=404==this.status||200==this.status||0==this.status&&""!=this.response};try{b.send()}catch(c){a=!1}return a},b._generateCapabilities=function(){if(null==b._capabilities){var a=document.createElement("audio");if(null==a.canPlayType)return null;if(null==b.context)if(window.AudioContext)b.context=new AudioContext;else{if(!window.webkitAudioContext)return null;b.context=new webkitAudioContext}null==b._scratchBuffer&&(b._scratchBuffer=b.context.createBuffer(1,1,22050)),b._compatibilitySetUp(),"ontouchstart"in window&&"running"!=b.context.state&&(b._unlock(),document.addEventListener("mousedown",b._unlock,!0),document.addEventListener("touchend",b._unlock,!0)),b._capabilities={panning:!0,volume:!0,tracks:-1};for(var c=createjs.Sound.SUPPORTED_EXTENSIONS,d=createjs.Sound.EXTENSION_MAP,e=0,f=c.length;f>e;e++){var g=c[e],h=d[g]||g;b._capabilities[g]="no"!=a.canPlayType("audio/"+g)&&""!=a.canPlayType("audio/"+g)||"no"!=a.canPlayType("audio/"+h)&&""!=a.canPlayType("audio/"+h)}b.context.destination.numberOfChannels<2&&(b._capabilities.panning=!1)}},b._compatibilitySetUp=function(){if(b._panningModel="equalpower",!b.context.createGain){b.context.createGain=b.context.createGainNode;var a=b.context.createBufferSource();a.__proto__.start=a.__proto__.noteGrainOn,a.__proto__.stop=a.__proto__.noteOff,b._panningModel=0}},b._unlock=function(){b._unlocked||(b.playEmptySound(),"running"==b.context.state&&(document.removeEventListener("mousedown",b._unlock,!0),document.removeEventListener("touchend",b._unlock,!0),b._unlocked=!0))},a.toString=function(){return"[WebAudioPlugin]"},a._addPropsToClasses=function(){var a=this._soundInstanceClass;a.context=this.context,a._scratchBuffer=b._scratchBuffer,a.destinationNode=this.gainNode,a._panningModel=this._panningModel,this._loaderClass.context=this.context},a._updateVolume=function(){var a=createjs.Sound._masterMute?0:this._volume;a!=this.gainNode.gain.value&&(this.gainNode.gain.value=a)},createjs.WebAudioPlugin=createjs.promote(WebAudioPlugin,"AbstractPlugin")}(),this.createjs=this.createjs||{},function(){"use strict";function HTMLAudioTagPool(){throw"HTMLAudioTagPool cannot be instantiated"}function a(){this._tags=[]}var b=HTMLAudioTagPool;b._tags={},b._tagPool=new a,b._tagUsed={},b.get=function(a){var c=b._tags[a];return null==c?(c=b._tags[a]=b._tagPool.get(),c.src=a):b._tagUsed[a]?(c=b._tagPool.get(),c.src=a):b._tagUsed[a]=!0,c},b.set=function(a,c){c==b._tags[a]?b._tagUsed[a]=!1:b._tagPool.set(c)},b.remove=function(a){var c=b._tags[a];return null==c?!1:(b._tagPool.set(c),delete b._tags[a],delete b._tagUsed[a],!0)},b.getDuration=function(a){var c=b._tags[a];return null!=c&&c.duration?1e3*c.duration:0},createjs.HTMLAudioTagPool=HTMLAudioTagPool;var c=a.prototype;c.constructor=a,c.get=function(){var a;return a=0==this._tags.length?this._createTag():this._tags.pop(),null==a.parentNode&&document.body.appendChild(a),a},c.set=function(a){var b=createjs.indexOf(this._tags,a);-1==b&&(this._tags.src=null,this._tags.push(a))},c.toString=function(){return"[TagPool]"},c._createTag=function(){var a=document.createElement("audio");return a.autoplay=!1,a.preload="none",a}}(),this.createjs=this.createjs||{},function(){"use strict";function HTMLAudioSoundInstance(a,b,c,d){this.AbstractSoundInstance_constructor(a,b,c,d),this._audioSpriteStopTime=null,this._delayTimeoutId=null,this._endedHandler=createjs.proxy(this._handleSoundComplete,this),this._readyHandler=createjs.proxy(this._handleTagReady,this),this._stalledHandler=createjs.proxy(this._playFailed,this),this._audioSpriteEndHandler=createjs.proxy(this._handleAudioSpriteLoop,this),this._loopHandler=createjs.proxy(this._handleSoundComplete,this),c?this._audioSpriteStopTime=.001*(b+c):this._duration=createjs.HTMLAudioTagPool.getDuration(this.src)}var a=createjs.extend(HTMLAudioSoundInstance,createjs.AbstractSoundInstance);a.setMasterVolume=function(){this._updateVolume()},a.setMasterMute=function(){this._updateVolume()},a.toString=function(){return"[HTMLAudioSoundInstance]"},a._removeLooping=function(){null!=this._playbackResource&&(this._playbackResource.loop=!1,this._playbackResource.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED,this._loopHandler,!1))},a._addLooping=function(){null==this._playbackResource||this._audioSpriteStopTime||(this._playbackResource.addEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED,this._loopHandler,!1),this._playbackResource.loop=!0)},a._handleCleanUp=function(){var a=this._playbackResource;if(null!=a){a.pause(),a.loop=!1,a.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_ENDED,this._endedHandler,!1),a.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_READY,this._readyHandler,!1),a.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_STALLED,this._stalledHandler,!1),a.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED,this._loopHandler,!1),a.removeEventListener(createjs.HTMLAudioPlugin._TIME_UPDATE,this._audioSpriteEndHandler,!1);try{a.currentTime=this._startTime}catch(b){}createjs.HTMLAudioTagPool.set(this.src,a),this._playbackResource=null}},a._beginPlaying=function(a){return this._playbackResource=createjs.HTMLAudioTagPool.get(this.src),this.AbstractSoundInstance__beginPlaying(a)},a._handleSoundReady=function(){if(4!==this._playbackResource.readyState){var a=this._playbackResource;return a.addEventListener(createjs.HTMLAudioPlugin._AUDIO_READY,this._readyHandler,!1),a.addEventListener(createjs.HTMLAudioPlugin._AUDIO_STALLED,this._stalledHandler,!1),a.preload="auto",void a.load()}this._updateVolume(),this._playbackResource.currentTime=.001*(this._startTime+this._position),this._audioSpriteStopTime?this._playbackResource.addEventListener(createjs.HTMLAudioPlugin._TIME_UPDATE,this._audioSpriteEndHandler,!1):(this._playbackResource.addEventListener(createjs.HTMLAudioPlugin._AUDIO_ENDED,this._endedHandler,!1),0!=this._loop&&(this._playbackResource.addEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED,this._loopHandler,!1),this._playbackResource.loop=!0)),this._playbackResource.play()},a._handleTagReady=function(){this._playbackResource.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_READY,this._readyHandler,!1),this._playbackResource.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_STALLED,this._stalledHandler,!1),this._handleSoundReady()},a._pause=function(){this._playbackResource.pause()},a._resume=function(){this._playbackResource.play()},a._updateVolume=function(){if(null!=this._playbackResource){var a=this._muted||createjs.Sound._masterMute?0:this._volume*createjs.Sound._masterVolume;a!=this._playbackResource.volume&&(this._playbackResource.volume=a)}},a._calculateCurrentPosition=function(){return 1e3*this._playbackResource.currentTime-this._startTime},a._updatePosition=function(){this._playbackResource.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED,this._loopHandler,!1),this._playbackResource.addEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED,this._handleSetPositionSeek,!1);try{this._playbackResource.currentTime=.001*(this._position+this._startTime)}catch(a){this._handleSetPositionSeek(null)}},a._handleSetPositionSeek=function(){null!=this._playbackResource&&(this._playbackResource.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED,this._handleSetPositionSeek,!1),this._playbackResource.addEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED,this._loopHandler,!1))},a._handleAudioSpriteLoop=function(){this._playbackResource.currentTime<=this._audioSpriteStopTime||(this._playbackResource.pause(),0==this._loop?this._handleSoundComplete(null):(this._position=0,this._loop--,this._playbackResource.currentTime=.001*this._startTime,this._paused||this._playbackResource.play(),this._sendEvent("loop")))},a._handleLoop=function(){0==this._loop&&(this._playbackResource.loop=!1,this._playbackResource.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_SEEKED,this._loopHandler,!1))},a._updateStartTime=function(){this._audioSpriteStopTime=.001*(this._startTime+this._duration),this.playState==createjs.Sound.PLAY_SUCCEEDED&&(this._playbackResource.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_ENDED,this._endedHandler,!1),this._playbackResource.addEventListener(createjs.HTMLAudioPlugin._TIME_UPDATE,this._audioSpriteEndHandler,!1))},a._updateDuration=function(){this._audioSpriteStopTime=.001*(this._startTime+this._duration),this.playState==createjs.Sound.PLAY_SUCCEEDED&&(this._playbackResource.removeEventListener(createjs.HTMLAudioPlugin._AUDIO_ENDED,this._endedHandler,!1),this._playbackResource.addEventListener(createjs.HTMLAudioPlugin._TIME_UPDATE,this._audioSpriteEndHandler,!1))},a._setDurationFromSource=function(){this._duration=createjs.HTMLAudioTagPool.getDuration(this.src),this._playbackResource=null},createjs.HTMLAudioSoundInstance=createjs.promote(HTMLAudioSoundInstance,"AbstractSoundInstance")}(),this.createjs=this.createjs||{},function(){"use strict";function HTMLAudioPlugin(){this.AbstractPlugin_constructor(),this.defaultNumChannels=2,this._capabilities=b._capabilities,this._loaderClass=createjs.SoundLoader,this._soundInstanceClass=createjs.HTMLAudioSoundInstance}var a=createjs.extend(HTMLAudioPlugin,createjs.AbstractPlugin),b=HTMLAudioPlugin;b.MAX_INSTANCES=30,b._AUDIO_READY="canplaythrough",b._AUDIO_ENDED="ended",b._AUDIO_SEEKED="seeked",b._AUDIO_STALLED="stalled",b._TIME_UPDATE="timeupdate",b._capabilities=null,b.isSupported=function(){return b._generateCapabilities(),null!=b._capabilities},b._generateCapabilities=function(){if(null==b._capabilities){var a=document.createElement("audio");if(null==a.canPlayType)return null;b._capabilities={panning:!1,volume:!0,tracks:-1};for(var c=createjs.Sound.SUPPORTED_EXTENSIONS,d=createjs.Sound.EXTENSION_MAP,e=0,f=c.length;f>e;e++){var g=c[e],h=d[g]||g;b._capabilities[g]="no"!=a.canPlayType("audio/"+g)&&""!=a.canPlayType("audio/"+g)||"no"!=a.canPlayType("audio/"+h)&&""!=a.canPlayType("audio/"+h)}}},a.register=function(a){var b=createjs.HTMLAudioTagPool.get(a.src),c=this.AbstractPlugin_register(a);return c.setTag(b),c},a.removeSound=function(a){this.AbstractPlugin_removeSound(a),createjs.HTMLAudioTagPool.remove(a)},a.create=function(a,b,c){var d=this.AbstractPlugin_create(a,b,c);return d.setPlaybackResource(null),d},a.toString=function(){return"[HTMLAudioPlugin]"},a.setVolume=a.getVolume=a.setMute=null,createjs.HTMLAudioPlugin=createjs.promote(HTMLAudioPlugin,"AbstractPlugin")}(); \ No newline at end of file diff --git a/Server/www/spiderbasic/sql.min.js b/Server/www/spiderbasic/sql.min.js new file mode 100644 index 0000000..ff32644 --- /dev/null +++ b/Server/www/spiderbasic/sql.min.js @@ -0,0 +1,473 @@ +// This prevents pollution of the global namespace +var SQL = (function () { +var e;e||(e=eval("(function() { try { return Module || {} } catch(e) { return {} } })()"));var aa={},ba;for(ba in e)e.hasOwnProperty(ba)&&(aa[ba]=e[ba]);var ca=!1,k=!1,l=!1,da=!1; +if(e.ENVIRONMENT)if("WEB"===e.ENVIRONMENT)ca=!0;else if("WORKER"===e.ENVIRONMENT)k=!0;else if("NODE"===e.ENVIRONMENT)l=!0;else if("SHELL"===e.ENVIRONMENT)da=!0;else throw Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL.");else ca="object"===typeof window,k="function"===typeof importScripts,l="object"===typeof process&&"function"===typeof require&&!ca&&!k,da=!ca&&!l&&!k; +if(l){e.print||(e.print=console.log);e.printErr||(e.printErr=console.warn);var ea,fa;e.read=function(a,b){ea||(ea=require("fs"));fa||(fa=require("path"));a=fa.normalize(a);var c=ea.readFileSync(a);return b?c:c.toString()};e.readBinary=function(a){a=e.read(a,!0);a.buffer||(a=new Uint8Array(a));assert(a.buffer);return a};e.load=function(a){ga(read(a))};e.thisProgram||(e.thisProgram=1 0) var gc = undefined");else if(ca||k)e.read=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.send(null);return b.responseText},k&&(e.readBinary=function(a){var b=new XMLHttpRequest;b.open("GET",a,!1);b.responseType="arraybuffer";b.send(null);return new Uint8Array(b.response)}), +e.readAsync=function(a,b,c){var d=new XMLHttpRequest;d.open("GET",a,!0);d.responseType="arraybuffer";d.onload=function(){200==d.status||0==d.status&&d.response?b(d.response):c()};d.onerror=c;d.send(null)},"undefined"!=typeof arguments&&(e.arguments=arguments),"undefined"!==typeof console?(e.print||(e.print=function(a){console.log(a)}),e.printErr||(e.printErr=function(a){console.warn(a)})):e.print||(e.print=function(){}),k&&(e.load=importScripts),"undefined"===typeof e.setWindowTitle&&(e.setWindowTitle= +function(a){document.title=a});else throw"Unknown runtime environment. Where are we?";function ga(a){eval.call(null,a)}!e.load&&e.read&&(e.load=function(a){ga(e.read(a))});e.print||(e.print=function(){});e.printErr||(e.printErr=e.print);e.arguments||(e.arguments=[]);e.thisProgram||(e.thisProgram="./this.program");e.quit||(e.quit=function(a,b){throw b;});e.print=e.print;e.Z=e.printErr;e.preRun=[];e.postRun=[];for(ba in aa)aa.hasOwnProperty(ba)&&(e[ba]=aa[ba]); +var aa=void 0,n={tb:function(a){return tempRet0=a},hb:function(){return tempRet0},$:function(){return m},Q:function(a){m=a},Ga:function(a){switch(a){case "i1":case "i8":return 1;case "i16":return 2;case "i32":return 4;case "i64":return 8;case "float":return 4;case "double":return 8;default:return"*"===a[a.length-1]?n.U:"i"===a[0]?(a=parseInt(a.substr(1)),assert(0===a%8),a/8):0}},eb:function(a){return Math.max(n.Ga(a),n.U)},Qd:16,ke:function(a,b){"double"===b||"i64"===b?a&7&&(assert(4===(a&7)),a+= +4):assert(0===(a&3));return a},$d:function(a,b,c){return c||"i64"!=a&&"double"!=a?a?Math.min(b||(a?n.eb(a):0),n.U):Math.min(b,8):8},ga:function(a,b,c){return c&&c.length?e["dynCall_"+a].apply(null,[b].concat(c)):e["dynCall_"+a].call(null,b)},j:[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null, +null,null,null,null,null,null,null,null,null,null,null,null],ua:function(a){for(var b=0;b>2];a=(b+a+15|0)&-16;t[ia>>2]=a;if(a=a>=ja)ka(),a=!0;return a?(t[ia>>2]=b,0):b},va:function(a,b){return Math.ceil(a/(b?b:16))*(b?b:16)}, +je:function(a,b,c){return c?+(a>>>0)+4294967296*+(b>>>0):+(a>>>0)+4294967296*+(b|0)},G:8,U:4,Td:0};e.Runtime=n;n.addFunction=n.ua;n.removeFunction=n.pb;var la=0;function assert(a,b){a||u("Assertion failed: "+b)}function na(a){var b=e["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b,"Cannot call unknown function "+a+" (perhaps LLVM optimizations or closure removed it?)");return b}var oa,pa; +(function(){function a(a){a=a.toString().match(f).slice(1);return{arguments:a[0],body:a[1],returnValue:a[2]}}function b(){if(!g){g={};for(var b in c)c.hasOwnProperty(b)&&(g[b]=a(c[b]))}}var c={stackSave:function(){n.$()},stackRestore:function(){n.Q()},arrayToC:function(a){var b=n.D(a.length);qa(a,b);return b},stringToC:function(a){var b=0;if(null!==a&&void 0!==a&&0!==a){var c=(a.length<<2)+1,b=n.D(c);ra(a,b,c)}return b}},d={string:c.stringToC,array:c.arrayToC};pa=function(a,b,c,f,g){a=na(a);var B= +[],R=0;if(f)for(var G=0;G>0]=b;break;case "i8":x[a>>0]=b;break;case "i16":ta[a>>1]=b;break;case "i32":t[a>>2]=b;break;case "i64":tempI64=[b>>>0,(tempDouble=b,1<=+ua(tempDouble)?0>>0:~~+xa((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)];t[a>>2]=tempI64[0];t[a+4>>2]=tempI64[1];break;case "float":ya[a>>2]=b;break;case "double":za[a>>3]=b;break;default:u("invalid type for setValue: "+ +c)}}e.setValue=sa;function y(a,b){b=b||"i8";"*"===b.charAt(b.length-1)&&(b="i32");switch(b){case "i1":return x[a>>0];case "i8":return x[a>>0];case "i16":return ta[a>>1];case "i32":return t[a>>2];case "i64":return t[a>>2];case "float":return ya[a>>2];case "double":return za[a>>3];default:u("invalid type for setValue: "+b)}return null}e.getValue=y;e.ALLOC_NORMAL=0;e.ALLOC_STACK=1;e.ALLOC_STATIC=2;e.ALLOC_DYNAMIC=3;e.ALLOC_NONE=4; +function z(a,b,c,d){var f,g;"number"===typeof a?(f=!0,g=a):(f=!1,g=a.length);var h="string"===typeof b?b:null,p;4==c?p=d:p=["function"===typeof Aa?Aa:n.oa,n.D,n.oa,n.Ba][void 0===c?2:c](Math.max(g,h?1:b.length));if(f){d=p;assert(0==(p&3));for(a=p+(g&-4);d>2]=0;for(a=p+g;d>0]=0;return p}if("i8"===h)return a.subarray||a.slice?A.set(a,p):A.set(new Uint8Array(a),p),p;d=0;for(var r,v;d>0];c|=d;if(0==d&&!b)break;f++;if(b&&f==b)break}b||(b=f);d="";if(128>c){for(;0>0];if(!c)return b;b+=String.fromCharCode(c)}}; +e.stringToAscii=function(a,b){return Da(a,b,!1)};var Ea="undefined"!==typeof TextDecoder?new TextDecoder("utf8"):void 0; +function Fa(a,b){for(var c=b;a[c];)++c;if(16d?c+=String.fromCharCode(d):(d-=65536,c+=String.fromCharCode(55296|d>> +10,56320|d&1023)))):c+=String.fromCharCode(d)}}e.UTF8ArrayToString=Fa;e.UTF8ToString=function(a){return Fa(A,a)}; +function Ga(a,b,c,d){if(!(0=h&&(h=65536+((h&1023)<<10)|a.charCodeAt(++g)&1023);if(127>=h){if(c>=d)break;b[c++]=h}else{if(2047>=h){if(c+1>=d)break;b[c++]=192|h>>6}else{if(65535>=h){if(c+2>=d)break;b[c++]=224|h>>12}else{if(2097151>=h){if(c+3>=d)break;b[c++]=240|h>>18}else{if(67108863>=h){if(c+4>=d)break;b[c++]=248|h>>24}else{if(c+5>=d)break;b[c++]=252|h>>30;b[c++]=128|h>>24&63}b[c++]=128|h>>18&63}b[c++]=128| +h>>12&63}b[c++]=128|h>>6&63}b[c++]=128|h&63}}b[c]=0;return c-f}e.stringToUTF8Array=Ga;function ra(a,b,c){return Ga(a,A,b,c)}e.stringToUTF8=ra;function Ha(a){for(var b=0,c=0;c=d&&(d=65536+((d&1023)<<10)|a.charCodeAt(++c)&1023);127>=d?++b:b=2047>=d?b+2:65535>=d?b+3:2097151>=d?b+4:67108863>=d?b+5:b+6}return b}e.lengthBytesUTF8=Ha;"undefined"!==typeof TextDecoder&&new TextDecoder("utf-16le"); +function Ia(a){return a.replace(/__Z[\w\d_]+/g,function(a){var c;a:{var d=e.___cxa_demangle||e.__cxa_demangle;if(d)try{var f=a.substr(1),g=Ha(f)+1,h=Aa(g);ra(f,h,g);var p=Aa(4),r=d(h,0,0,p);if(0===y(p,"i32")&&r){c=w(r);break a}}catch(v){}finally{h&&Ja(h),p&&Ja(p),r&&Ja(r)}else n.K("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");c=a}return a===c?a:a+" ["+c+"]"})} +function Ka(){var a;a:{a=Error();if(!a.stack){try{throw Error(0);}catch(b){a=b}if(!a.stack){a="(no stack trace available)";break a}}a=a.stack.toString()}e.extraStackTrace&&(a+="\n"+e.extraStackTrace());return Ia(a)}e.stackTrace=Ka;var buffer,x,A,ta,La,t,Ma,ya,za,Na,q,Ba,Oa,m,Pa,Qa,ia;Na=q=Oa=m=Pa=Qa=ia=0;Ba=!1; +function ka(){u("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+ja+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}var Ra=e.TOTAL_STACK||5242880,ja=e.TOTAL_MEMORY||16777216; +ja>0]=a.charCodeAt(d);c||(x[b>>0]=0)}e.writeAsciiToMemory=Da;Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(a,b){var c=a&65535,d=b&65535;return c*d+((a>>>16)*d+c*(b>>>16)<<16)|0}); +Math.ee=Math.imul;Math.clz32||(Math.clz32=function(a){a=a>>>0;for(var b=0;32>b;b++)if(a&1<<31-b)return b;return 32});Math.Xd=Math.clz32;Math.trunc||(Math.trunc=function(a){return 0>a?Math.ceil(a):Math.floor(a)});Math.trunc=Math.trunc;var ua=Math.abs,xa=Math.ceil,wa=Math.floor,ab=Math.pow,va=Math.min,bb=0,cb=null,db=null;function eb(){bb++;e.monitorRunDependencies&&e.monitorRunDependencies(bb)}e.addRunDependency=eb; +function fb(){bb--;e.monitorRunDependencies&&e.monitorRunDependencies(bb);if(0==bb&&(null!==cb&&(clearInterval(cb),cb=null),db)){var a=db;db=null;a()}}e.removeRunDependency=fb;e.preloadedImages={};e.preloadedAudios={};Na=n.G;q=Na+48976;Ua.push(); +z([1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,254,255,255,127,0,0,0,0,128,0,0,0,244,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,255,255,127,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,170,61,0,0,1,0,1,0,130,0,0,0,175,61,0,0,1,0,1,0,131,0,0,0,180,61,0,0,1,0,1,0,132,0,0,0,185,61,0,0,2,0,1,0,133,0,0,0,190,61,0,0,2,0,1,0,133,0,0,0,196,61,0,0,1,0,1,0,134,0,0,0,202,61,0,0,1,0,1,0,135,0,0,0,208,61,0,0,1,0,1,0,136,0,0,0,214,61,0,0,2,0,1,0,137,0,0,0,225,61,0,0,1,0,1,0,138,0,0,0,233,61,0,0,1,0,1,0,139,0,0,0,241,61,0,0,1,0,1, +0,140,0,0,0,245,61,0,0,1,0,1,0,141,0,0,0,249,61,0,0,1,0,1,0,142,0,0,0,253,61,0,0,1,0,1,0,143,0,0,0,1,62,0,0,1,0,1,0,144,0,0,0,6,62,0,0,1,0,1,0,145,0,0,0,11,62,0,0,1,0,1,0,146,0,0,0,16,62,0,0,1,0,1,0,147,0,0,0,21,62,0,0,1,0,1,0,148,0,0,0,221,113,0,0,1,0,1,0,149,0,0,0,25,62,0,0,1,0,1,0,150,0,0,0,31,62,0,0,2,0,1,0,151,0,0,0,37,62,0,0,1,0,1,0,152,0,0,0,42,62,0,0,1,0,1,0,153,0,0,0,47,62,0,0,1,0,1,0,154,0,0,0,54,62,0,0,1,0,1,0,155,0,0,0,59,62,0,0,1,0,1,0,156,0,0,0,65,62,0,0,0,0,1,1,157,0,0,0,68,62,0,0, +2,0,1,0,158,0,0,0,78,62,0,0,2,0,1,0,159,0,0,0,78,62,0,0,3,0,1,0,159,0,0,0,88,62,0,0,2,0,1,0,160,0,0,0,96,62,0,0,2,0,1,0,161,0,0,0,105,62,0,0,1,0,1,0,162,0,0,0,113,62,0,0,1,0,1,0,163,0,0,0,120,62,0,0,2,0,1,0,164,0,0,0,125,62,0,0,2,0,1,0,165,0,0,0,130,62,0,0,2,0,1,0,166,0,0,0,135,62,0,0,2,0,1,0,167,0,0,0,145,62,0,0,1,0,0,0,168,0,0,0,130,0,0,0,151,62,0,0,1,0,0,0,168,0,0,0,131,0,0,0,212,108,0,0,1,0,0,0,169,0,0,0,132,0,0,0,160,62,0,0,1,0,0,0,169,0,0,0,133,0,0,0,167,62,0,0,1,0,0,0,169,0,0,0,134,0,0,0,182, +62,0,0,1,0,0,0,169,0,0,0,135,0,0,0,0,0,0,0,128,48,0,0,128,32,14,0,128,32,200,3,0,0,0,0,128,255,255,255,0,248,255,255,0,0,255,255,1,0,0,0,69,67,0,0,90,67,0,0,102,67,0,0,114,67,0,0,138,67,0,0,149,67,0,0,169,67,0,0,183,67,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,193,69,0,0,44,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,198,69,0,0,48,5,0,0,130,0,0,0,130,0,0,0, +130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,208,69,0,0,52,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,3,0,0,0,44,0,0,0,0,2,0,0,0,0,0,0,221,69,0,0,44,5,0,0,130,0,0,0,130,0,0,0,130,0,0,0,131,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,131,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0, +132,0,0,0,133,0,0,0,133,0,0,0,134,0,0,0,135,0,0,0,136,0,0,0,137,0,0,0,1,0,0,0,130,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,141,0,0,0,142,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,12,70,0,0,136,0,0,0,0,0,0,0,231,69,0,0,133,0,0,0,0,0,0,0,17,70,0,0,144,0,0,0,0,0,0,0,24,70,0,0,145,0,0,0,0,0,0,0,31,70,0,0,146,0,0,0,0,0,0,0,36,70,0,0,147,0,0,0,0,0,0,0,42,70,0,0,148,0,0,0,0,0,0,0,52,70,0,0,137,0,0,0,0,0,0,0,58,70,0,0,138,0,0,0, +0,0,0,0,63,70,0,0,0,0,0,0,0,0,0,0,69,70,0,0,0,0,0,0,0,0,0,0,77,70,0,0,139,0,0,0,0,0,0,0,83,70,0,0,0,0,0,0,0,0,0,0,90,70,0,0,0,0,0,0,0,0,0,0,99,70,0,0,149,0,0,0,0,0,0,0,106,70,0,0,0,0,0,0,0,0,0,0,116,70,0,0,134,0,0,0,0,0,0,0,123,70,0,0,150,0,0,0,0,0,0,0,137,70,0,0,151,0,0,0,0,0,0,0,143,70,0,0,135,0,0,0,0,0,0,0,149,70,0,0,140,0,0,0,0,0,0,0,156,70,0,0,130,0,0,0,0,0,0,0,164,70,0,0,130,0,0,0,0,0,0,0,169,70,0,0,152,0,0,0,0,0,0,0,176,70,0,0,0,0,0,0,0,0,0,0,183,70,0,0,131,0,0,0,0,0,0,0,195,70,0,0,141,0,0, +0,0,0,0,0,204,70,0,0,153,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,71,0,0,74,71,0,0,83,71,0,0,191,69,0,0,3,0,0,0,136,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,154,0,0,0,155,0,0,0,156,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,0,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,3,0,0,0,137,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,138,0,0,0,139,0,0,0,157,0,0,0,158,0,0,0,159,0,0,0,135,0,0,0,131,0,0,0,132,0,0,0,134,0,0,0,132,0,0,0,136,0,0,0,143,0,0,0,133,0,0,0,133,0,0,0,0,0,0,64,1,0,0,0,0,0,0,0,138,0, +0,0,137,0,0,0,142,0,0,0,130,0,0,0,139,0,0,0,143,0,0,0,170,0,0,0,130,0,0,0,131,0,0,0,138,0,0,0,139,0,0,0,140,0,0,0,140,0,0,0,160,0,0,0,141,0,0,0,142,0,0,0,143,0,0,0,141,0,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,171,0,0,0,0,0,0,0,133,72,0,0,0,0,0,0,1,0,1,32,0,0,0,0,0,0,0,0,172,0,0,0,0,0,0,0,159,72,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,184,72,0,0,0,0,0,0,2,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,193,72,0,0,0,0,0,0,1,0,1,12,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,204,72,0,0,0,0,0,0,1,0,1,8,1, +0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,211,72,0,0,0,0,0,0,2,0,1,8,1,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,211,72,0,0,0,0,0,0,1,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,217,72,0,0,0,0,0,0,2,0,1,8,2,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,217,72,0,0,0,0,0,0,1,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,223,72,0,0,0,0,0,0,2,0,1,8,3,0,0,0,0,0,0,0,174,0,0,0,0,0,0,0,223,72,0,0,0,0,0,0,255,0,33,8,0,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,228,72,0,0,0,0,0,0,0,0,33,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,228,72,0,0,0,0,0,0,1,0,33,16,0,0,0,0,0,0, +0,0,176,0,0,0,142,0,0,0,228,72,0,0,0,0,0,0,255,0,33,8,1,0,0,0,0,0,0,0,175,0,0,0,0,0,0,0,232,72,0,0,0,0,0,0,0,0,33,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,72,0,0,0,0,0,0,1,0,33,16,1,0,0,0,0,0,0,0,176,0,0,0,142,0,0,0,232,72,0,0,0,0,0,0,1,0,129,8,0,0,0,0,0,0,0,0,177,0,0,0,0,0,0,0,236,72,0,0,0,0,0,0,1,0,65,8,0,0,0,0,0,0,0,0,178,0,0,0,0,0,0,0,243,72,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,179,0,0,0,0,0,0,0,250,72,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,180,0,0,0,0,0,0,0,0,73,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0, +0,181,0,0,0,0,0,0,0,7,73,0,0,0,0,0,0,255,0,1,8,0,0,0,0,0,0,0,0,182,0,0,0,0,0,0,0,15,73,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,183,0,0,0,0,0,0,0,20,73,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,24,73,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,24,73,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,30,73,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,186,0,0,0,0,0,0,0,36,73,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,187,0,0,0,0,0,0,0,42,73,0,0,0,0,0,0,2,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0, +46,73,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,188,0,0,0,0,0,0,0,53,73,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,189,0,0,0,0,0,0,0,60,73,0,0,0,0,0,0,2,0,33,8,0,0,0,0,0,0,0,0,190,0,0,0,0,0,0,0,71,73,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,78,73,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,191,0,0,0,0,0,0,0,93,73,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,192,0,0,0,0,0,0,0,110,73,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,193,0,0,0,0,0,0,0,121,73,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,194,0,0,0,0,0,0,0,127,73,0,0,0,0,0, +0,0,0,1,0,0,0,0,0,0,0,0,0,195,0,0,0,0,0,0,0,145,73,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,196,0,0,0,0,0,0,0,153,73,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,197,0,0,0,0,0,0,0,167,73,0,0,0,0,0,0,1,0,1,8,0,0,0,0,0,0,0,0,198,0,0,0,0,0,0,0,175,73,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,184,73,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,199,0,0,0,0,0,0,0,184,73,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,143,0,0,0,191,73,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,200,0,0,0,144,0,0,0,195,73,0,0,0,0,0,0,1,0,1,0, +0,0,0,0,0,0,0,0,200,0,0,0,145,0,0,0,201,73,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,205,73,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,201,0,0,0,146,0,0,0,205,73,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,211,73,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,202,0,0,0,147,0,0,0,211,73,0,0,0,0,0,0,2,0,13,8,224,73,0,0,0,0,0,0,203,0,0,0,0,0,0,0,228,73,0,0,0,0,0,0,2,0,5,8,233,73,0,0,0,0,0,0,203,0,0,0,0,0,0,0,237,73,0,0,0,0,0,0,3,0,5,8,233,73,0,0,0,0,0,0,203,0,0,0,0,0,0,0,237,73,0,0,0,0,0,0,1, +0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,73,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,242,73,0,0,0,0,0,0,255,0,1,10,0,0,0,0,0,0,0,0,173,0,0,0,0,0,0,0,242,73,0,0,0,0,0,0,22,75,0,0,35,75,0,0,0,0,0,0,71,75,0,0,96,75,0,0,127,75,0,0,146,75,0,0,171,75,0,0,185,75,0,0,222,75,0,0,234,75,0,0,249,75,0,0,26,76,0,0,44,76,0,0,69,76,0,0,98,76,0,0,115,76,0,0,138,76,0,0,149,74,0,0,166,76,0,0,184,76,0,0,202,76,0,0,241,76,0,0,16,77,0,0,37,77,0,0,69,77,0,0,103,77,0,0,199,77,0,0,255,0,1,32,0,0,0,0,0,0,0,0, +204,0,0,0,0,0,0,0,201,77,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,205,0,0,0,0,0,0,0,211,77,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,206,0,0,0,0,0,0,0,216,77,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,207,0,0,0,0,0,0,0,221,77,0,0,0,0,0,0,255,0,1,32,0,0,0,0,0,0,0,0,208,0,0,0,0,0,0,0,230,77,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,209,0,0,0,0,0,0,0,239,77,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,210,0,0,0,0,0,0,0,252,77,0,0,0,0,0,0,0,0,1,32,0,0,0,0,0,0,0,0,211,0,0,0,0,0,0,0,14,78,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0, +212,0,0,0,0,0,0,0,251,78,0,0,0,0,0,0,2,0,1,8,0,0,0,0,0,0,0,0,213,0,0,0,0,0,0,0,15,79,0,0,0,0,0,0,3,0,1,8,0,0,0,0,0,0,0,0,214,0,0,0,0,0,0,0,37,79,0,0,0,0,0,0,1,0,0,0,144,0,0,0,135,0,0,0,136,0,0,0,144,0,0,0,161,0,0,0,162,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,86,0,0,105,86,0,0,112,86,0,0,115,86,0,0,118,86,0,0,121,86,0,0,124,86,0,0,127,86,0,0,135,86,0,0,144,86,0,0,150,86,0,0,155,86,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +235,119,0,0,1,0,0,0,207,92,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,215,0,0,0,0,0,0,0,209,105,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,216,0,0,0,0,0,0,0,199,105,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,179,105,0,0,0,0,0,0,176,93,0,0,16,106,0,0,29,106,0,0,0,0,0,0,42,106,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,218,0,0,0,0,0,0,0,109,107,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,219,0,0,0,0,0,0,0,234,107,0,0,0,0,0,0,38,109,0,0,0,0,2,0,45,109,0,0,0,0,4,0,0,0,0,0,0,0,0,0,21,109,0,0,1,0,0,0,24,109,0,0,2,0,0,0, +27,109,0,0,6,0,0,0,31,109,0,0,128,0,0,0,0,0,0,0,0,0,0,0,113,116,0,0,0,0,0,0,8,0,0,0,174,111,0,0,1,1,0,0,0,0,0,0,128,116,0,0,2,0,0,0,0,0,16,0,144,116,0,0,3,0,0,0,0,0,0,0,41,111,0,0,4,1,0,0,0,0,0,0,206,111,0,0,5,0,0,0,0,0,0,0,157,116,0,0,6,0,0,0,0,0,0,0,177,116,0,0,2,0,0,0,0,0,0,32,193,116,0,0,2,0,0,0,16,0,0,0,214,116,0,0,7,0,0,0,0,0,0,0,229,116,0,0,8,0,0,0,0,0,0,0,245,116,0,0,2,0,0,0,128,0,0,0,3,117,0,0,0,2,0,0,15,0,0,0,16,117,0,0,10,1,0,0,0,0,0,0,30,117,0,0,11,1,0,0,0,0,0,0,49,117,0,0,2,0,0,0,0,0, +0,2,68,117,0,0,2,0,0,0,0,1,0,0,53,113,0,0,12,0,0,0,0,0,0,0,91,117,0,0,13,1,0,0,0,0,0,0,109,117,0,0,14,1,0,0,0,0,0,0,126,117,0,0,2,0,0,0,0,0,8,0,139,117,0,0,0,2,0,0,0,0,0,0,154,117,0,0,2,0,0,0,4,0,0,0,172,117,0,0,2,0,0,0,8,0,0,0,182,117,0,0,2,0,0,0,0,32,0,0,207,117,0,0,15,1,0,0,0,0,0,0,226,117,0,0,16,1,0,0,0,0,0,0,237,117,0,0,17,1,0,0,0,0,0,0,248,117,0,0,16,1,0,0,1,0,0,0,148,112,0,0,18,1,0,0,0,0,0,0,142,111,0,0,19,1,0,0,0,0,0,0,155,111,0,0,20,0,0,0,0,0,0,0,4,118,0,0,2,0,0,0,0,128,0,0,129,111,0,0,22, +0,0,0,0,0,0,0,23,118,0,0,23,1,0,0,0,0,0,0,218,111,0,0,24,0,0,0,0,0,0,0,38,118,0,0,23,1,0,0,0,0,0,0,88,111,0,0,25,0,0,0,0,0,0,0,49,118,0,0,2,0,0,0,0,0,0,4,60,118,0,0,18,1,0,0,0,0,0,0,72,118,0,0,2,0,0,0,0,64,0,0,89,118,0,0,2,0,0,0,0,0,4,0,108,118,0,0,2,0,0,0,0,0,2,0,134,118,0,0,0,0,0,0,1,0,0,0,98,111,0,0,26,0,0,0,0,0,0,0,149,118,0,0,2,0,0,0,64,0,0,0,168,118,0,0,27,0,0,0,0,0,0,0,171,113,0,0,28,0,0,0,0,0,0,0,182,118,0,0,29,1,0,0,0,0,0,0,29,112,0,0,30,1,0,0,0,0,0,0,188,118,0,0,31,1,0,0,0,0,0,0,228,111, +0,0,32,0,0,0,0,0,0,0,239,111,0,0,33,0,0,0,0,0,0,0,187,113,0,0,34,0,0,0,0,0,0,0,199,118,0,0,0,0,0,0,6,0,0,0,144,113,0,0,35,0,0,0,0,0,0,0,212,118,0,0,36,1,0,0,0,0,0,0,227,118,0,0,2,0,0,0,0,8,1,0,43,115,0,0,254,114,0,0,80,115,0,0,85,115,0,0,93,115,0,0,12,115,0,0,152,114,0,0,61,115,0,0,67,115,0,0,73,115,0,0,37,115,0,0,43,115,0,0,254,114,0,0,47,115,0,0,52,115,0,0,57,115,0,0,221,114,0,0,254,114,0,0,15,115,0,0,22,115,0,0,29,115,0,0,8,115,0,0,10,115,0,0,12,115,0,0,221,114,0,0,254,114,0,0,3,115,0,0,221,114, +0,0,254,114,0,0,218,114,0,0,221,114,0,0,152,114,0,0,150,86,0,0,225,114,0,0,228,114,0,0,238,114,0,0,248,114,0,0,152,114,0,0,107,89,0,0,158,114,0,0,165,114,0,0,238,113,0,0,1,0,0,0,243,113,0,0,1,0,0,0,249,113,0,0,2,0,0,0,2,114,0,0,3,0,0,0,11,114,0,0,2,0,0,0,19,114,0,0,3,0,0,0,27,114,0,0,0,0,0,0,34,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,113,0,0,221,113,0,0,225,113,0,0,0,202,154,59,0,202,154,59,208,7,0,0,232,3,0,0,244,1,0,0,168,97,0,0,127,0,0,0,10,0,0,0,80,195,0,0,231,3,0,0,232,3,0,0,0,0,0,0,183,115,0,0, +190,115,0,0,198,115,0,0,135,113,0,0,31,109,0,0,202,115,0,0,248,114,0,0,64,0,0,0,228,73,0,0,66,0,0,0,237,73,0,0,65,0,0,0,120,122,0,0,67,0,0,0,138,102,0,0,3,0,0,0,134,102,0,0,3,0,0,0,20,186,0,0,186,131,0,0,192,131,0,0,197,131,0,0,202,131,0,0,62,132,0,0,68,132,0,0,76,132,0,0,163,146,0,0,172,146,0,0,179,146,0,0,185,146,0,0,6,147,0,0,16,147,0,0,27,147,0,0,39,147,0,0,50,147,0,0,61,147,0,0,72,147,0,0,77,147,0,0,82,147,0,0,93,147,0,0,105,147,0,0,112,147,0,0,120,147,0,0,128,147,0,0,133,147,0,0,139,147,0,0, +153,147,0,0,159,147,0,0,169,147,0,0,174,147,0,0,178,147,0,0,183,147,0,0,186,147,0,0,192,147,0,0,199,147,0,0,206,147,0,0,213,147,0,0,220,147,0,0,223,147,0,0,227,147,0,0,238,147,0,0,247,147,0,0,253,147,0,0,7,148,0,0,17,148,0,0,24,148,0,0,32,148,0,0,35,148,0,0,38,148,0,0,41,148,0,0,44,148,0,0,47,148,0,0,50,148,0,0,60,148,0,0,67,148,0,0,73,148,0,0,83,148,0,0,94,148,0,0,98,148,0,0,107,148,0,0,116,148,0,0,123,148,0,0,133,148,0,0,140,148,0,0,145,148,0,0,152,148,0,0,163,148,0,0,168,148,0,0,175,148,0,0,181, +148,0,0,187,148,0,0,193,148,0,0,199,148,0,0,210,148,0,0,221,148,0,0,229,148,0,0,238,148,0,0,244,148,0,0,254,148,0,0,11,149,0,0,22,149,0,0,28,149,0,0,33,149,0,0,40,149,0,0,53,149,0,0,64,149,0,0,69,149,0,0,77,149,0,0,83,149,0,0,90,149,0,0,95,149,0,0,104,149,0,0,109,149,0,0,118,149,0,0,123,149,0,0,128,149,0,0,134,149,0,0,142,149,0,0,152,149,0,0,160,149,0,0,170,149,0,0,179,149,0,0,186,149,0,0,199,149,0,0,204,149,0,0,216,149,0,0,224,149,0,0,231,149,0,0,239,149,0,0,248,149,0,0,3,150,0,0,9,150,0,0,20,150, +0,0,30,150,0,0,40,150,0,0,49,150,0,0,59,150,0,0,73,150,0,0,87,150,0,0,98,150,0,0,111,150,0,0,122,150,0,0,128,150,0,0,140,150,0,0,149,150,0,0,158,150,0,0,165,150,0,0,175,150,0,0,182,150,0,0,193,150,0,0,207,150,0,0,218,150,0,0,225,150,0,0,233,150,0,0,239,150,0,0,247,150,0,0,4,151,0,0,14,151,0,0,24,151,0,0,29,151,0,0,38,151,0,0,46,151,0,0,52,151,0,0,57,151,0,0,69,151,0,0,81,151,0,0,93,151,0,0,105,151,0,0,118,151,0,0,128,151,0,0,138,151,0,0,150,151,0,0,162,151,0,0,172,151,0,0,178,151,0,0,188,151,0,0, +195,151,0,0,207,151,0,0,216,151,0,0,224,151,0,0,233,151,0,0,240,151,0,0,250,151,0,0,1,152,0,0,9,152,0,0,18,152,0,0,24,152,0,0,32,152,0,0,40,152,0,0,50,152,0,0,59,152,0,0,70,152,0,0,75,152,0,0,234,3,0,0,0,0,8,0,235,3,0,0,0,0,0,1,236,3,0,0,0,0,0,64,237,3,0,0,0,0,64,0,2,0,0,0,131,0,0,0,132,0,0,0,163,0,0,0,145,0,0,0,146,0,0,0,164,0,0,0,147,0,0,0,137,0,0,0,148,0,0,0,149,0,0,0,145,0,0,0,165,0,0,0,134,0,0,0,150,0,0,0,151,0,0,0,152,0,0,0,153,0,0,0,138,0,0,0,166,0,0,0,167,0,0,0,168,0,0,0,169,0,0,0,0,0,0,0, +133,0,0,0,133,0,0,0,170,0,0,0,154,0,0,0,154,0,0,0,171,0,0,0,155,0,0,0,139,0,0,0,156,0,0,0,157,0,0,0,146,0,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,155,0,0,255,155,0,0,67,156,0,0,95,156,0,0,124,156,0,0,151,156,0,0,179,156,0,0,204,156,0,0,228,156,0,0,37,157,0,0,96,157,0,0,164,157,0,0,212,157,0,0,68,158,0,0,203,158,0,0,255,158,0,0,65,159,0,0,108,159,0,0,167,159,0,0,206,159,0,0,250,159,0,0,35,160,0,0,82,160,0,0,124,160,0,0,20,186,0,0,20,186,0,0, +162,160,0,0,217,160,0,0,22,161,0,0,141,161,0,0,244,161,0,0,43,162,0,0,101,162,0,0,208,162,0,0,31,163,0,0,96,163,0,0,156,163,0,0,204,163,0,0,54,164,0,0,127,164,0,0,77,154,0,0,220,0,0,0,85,154,0,0,221,0,0,0,103,154,0,0,222,0,0,0,93,154,0,0,223,0,0,0,71,167,0,0,2,0,4,0,74,167,0,0,3,1,3,0,78,167,0,0,3,1,2,0,82,167,0,0,4,0,1,0,93,154,0,0,9,0,0,0,16,171,0,0,6,0,0,0,146,168,0,0,8,0,0,0,155,168,0,0,10,0,0,0,144,86,0,0,5,0,0,0,103,168,0,0,7,0,0,0,23,171,0,0,10,0,0,0,34,171,0,0,10,0,0,0,0,0,0,0,147,0,0,0,158, +0,0,0,135,0,0,0,159,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,148,0,0,0,160,0,0,0,136,0,0,0,161,0,0,0,135,0,0,0,0,0,0,0,0,0,0,0,136,0,0,0,136,0,0,0,173,0,0,0,162,0,0,0,162,0,0,0,174,0,0,0,163,0,0,0,140,0,0,0,164,0,0,0,165,0,0,0,149,0,0,0,175,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,150,0,0,0,166,0,0,0,137,0,0,0,167,0,0,0,137,0,0,0,0,0,0,0,255,255,255,255,255,255,0,252,1,0,0,248,1,0,0,248,48,0,0,0,7,232,0,0,6,108,1,0,47,236,1,0,7,172,2,0,1,208,2,0,3,216,2, +0,1,236,2,0,1,252,2,0,1,92,3,0,1,220,3,0,4,8,11,0,14,72,11,0,7,148,11,0,1,180,11,0,129,188,11,0,1,212,13,0,1,248,13,0,2,16,14,0,1,28,14,0,1,216,15,0,8,8,18,0,6,104,21,0,2,36,22,0,1,60,22,0,55,68,22,0,2,204,23,0,5,0,24,0,22,24,24,0,2,120,24,0,21,44,25,0,4,168,25,0,1,192,25,0,1,80,27,0,15,88,27,0,7,156,27,0,2,244,27,0,14,0,28,0,1,60,28,0,1,68,28,0,27,192,28,0,11,152,30,0,9,172,31,0,4,216,31,0,4,88,32,0,9,108,32,0,3,148,32,0,5,164,32,0,15,192,32,0,3,100,33,0,1,120,33,0,27,144,35,0,4,0,36,0,3,232,36, +0,18,248,36,0,7,68,37,0,4,136,37,0,1,192,37,0,3,4,38,0,1,240,38,0,7,248,38,0,2,28,39,0,3,44,39,0,1,92,39,0,2,136,39,0,2,200,39,0,2,232,39,0,3,4,40,0,1,240,40,0,5,248,40,0,2,28,41,0,3,44,41,0,1,68,41,0,2,192,41,0,1,212,41,0,3,4,42,0,1,240,42,0,8,248,42,0,3,28,43,0,3,44,43,0,2,136,43,0,2,192,43,0,3,4,44,0,1,240,44,0,7,248,44,0,2,28,45,0,3,44,45,0,2,88,45,0,2,136,45,0,1,192,45,0,1,8,46,0,5,248,46,0,3,24,47,0,4,40,47,0,1,92,47,0,8,204,47,0,3,4,48,0,7,248,48,0,3,24,49,0,4,40,49,0,2,84,49,0,2,136,49,0, +1,252,49,0,2,8,50,0,1,240,50,0,7,248,50,0,3,24,51,0,4,40,51,0,2,84,51,0,2,136,51,0,2,8,52,0,7,248,52,0,3,24,53,0,4,40,53,0,1,92,53,0,2,136,53,0,1,228,53,0,2,8,54,0,1,40,55,0,6,60,55,0,1,88,55,0,8,96,55,0,3,200,55,0,1,196,56,0,7,208,56,0,1,252,56,0,9,28,57,0,2,104,57,0,1,196,58,0,6,208,58,0,2,236,58,0,6,32,59,0,31,4,60,0,12,208,60,0,23,196,61,0,11,52,62,0,36,100,62,0,15,248,62,0,13,56,63,0,20,172,64,0,6,40,65,0,4,88,65,0,3,120,65,0,3,136,65,0,7,156,65,0,4,196,65,0,12,8,66,0,1,60,66,0,6,104,66,0,1, +236,67,0,12,116,77,0,10,64,78,0,1,0,80,0,2,180,89,0,1,0,90,0,2,108,90,0,3,172,91,0,3,72,92,0,5,200,92,0,2,72,93,0,2,200,93,0,35,208,94,0,4,96,95,0,1,116,95,0,15,0,96,0,1,164,98,0,12,128,100,0,12,192,100,0,1,0,101,0,2,16,101,0,17,192,102,0,2,32,103,0,34,120,103,0,5,92,104,0,2,120,104,0,10,84,105,0,29,128,105,0,1,252,105,0,7,128,106,0,6,160,106,0,5,0,108,0,17,208,108,0,35,104,109,0,3,0,110,0,13,132,110,0,14,152,111,0,4,240,111,0,20,144,112,0,5,236,112,0,2,248,113,0,8,0,115,0,25,64,115,0,1,180,115,0, +3,200,115,0,39,0,119,0,4,240,119,0,1,244,126,0,3,252,126,0,3,52,127,0,3,116,127,0,3,180,127,0,2,244,127,0,101,0,128,0,6,168,129,0,5,232,129,0,5,40,130,0,26,128,130,0,33,64,131,0,2,0,132,0,4,12,132,0,2,32,132,0,1,80,132,0,3,88,132,0,6,120,132,0,1,148,132,0,1,156,132,0,1,164,132,0,1,184,132,0,2,232,132,0,5,0,133,0,4,40,133,0,1,60,133,0,100,66,134,0,39,0,144,0,11,0,145,0,78,112,146,0,0,2,148,0,117,4,156,0,185,83,158,0,10,64,173,0,6,148,179,0,3,188,179,0,4,228,179,0,2,248,179,0,1,192,181,0,1,252,181, +0,79,128,183,0,12,192,184,0,26,0,186,0,89,108,186,0,214,0,188,0,12,192,191,0,5,0,192,0,25,32,192,0,7,168,192,0,2,216,192,0,3,244,192,0,4,100,194,0,1,128,194,0,1,236,195,0,2,64,198,0,10,88,198,0,36,0,199,0,31,0,200,0,30,168,200,0,1,64,201,0,32,128,201,0,39,40,202,0,63,0,203,0,0,1,204,0,64,0,55,1,55,64,146,2,2,248,147,2,3,52,152,2,16,188,153,2,1,124,154,2,8,192,155,2,23,0,156,2,2,128,156,2,2,36,158,2,1,8,160,2,1,24,160,2,1,44,160,2,9,140,160,2,4,216,160,2,4,208,161,2,2,0,162,2,17,208,162,2,2,56,163, +2,18,128,163,2,3,224,163,2,10,152,164,2,13,28,165,2,1,124,165,2,4,0,166,2,27,204,166,2,2,120,167,2,14,164,168,2,1,12,169,2,2,48,169,2,4,112,169,2,3,220,169,2,1,236,169,2,1,192,170,2,3,200,170,2,2,220,170,2,2,248,170,2,1,4,171,2,2,120,171,2,7,172,171,2,2,212,171,2,11,140,175,2,1,0,96,3,2,252,109,3,2,252,111,3,1,252,127,3,1,120,236,3,1,164,236,3,16,200,238,3,2,248,244,3,2,240,247,3,26,0,248,3,7,128,248,3,35,192,248,3,19,80,249,3,4,160,249,3,1,252,251,3,15,4,252,3,7,104,252,3,6,236,252,3,11,108,253, +3,7,128,255,3,7,160,255,3,5,228,255,3,3,0,4,4,9,220,4,4,17,228,5,4,12,64,6,4,46,64,7,4,1,124,14,4,1,64,15,4,1,92,33,4,1,124,36,4,1,252,36,4,3,4,40,4,2,20,40,4,4,48,40,4,3,224,40,4,1,252,40,4,9,64,41,4,1,252,41,4,7,228,44,4,3,0,64,4,22,224,64,4,3,0,66,4,18,192,66,4,3,0,68,4,14,156,68,4,4,0,69,4,3,0,70,4,14,204,70,4,4,20,71,4,13,172,90,4,4,192,145,4,46,68,189,5,4,60,190,5,246,0,64,7,39,0,68,7,181,164,68,7,70,0,72,7,87,0,76,7,1,4,91,7,1,108,91,7,1,236,91,7,1,84,92,7,1,212,92,7,1,60,93,7,1,188,93,7,1, +36,94,7,1,164,94,7,1,12,95,7,2,192,187,7,44,0,192,7,100,192,192,7,15,128,194,7,14,196,194,7,15,4,195,7,15,68,195,7,31,64,196,7,60,192,196,7,43,192,197,7,29,152,199,7,43,64,200,7,9,0,201,7,2,64,201,7,33,0,204,7,6,192,204,7,70,220,204,7,20,0,206,7,37,128,206,7,5,24,207,7,17,128,207,7,63,0,208,7,1,0,209,7,182,8,209,7,4,228,211,7,62,0,212,7,4,0,213,7,24,64,213,7,70,236,215,7,11,20,217,7,70,0,218,7,116,0,220,7,1,4,0,56,96,128,0,56,240,0,4,56,5,0,0,0,0,0,0,0,0,0,0,0,168,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,151,0,0,0,152,0,0,0,69,187,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,33,0,0,12,0,14,0,24,0,31,0,59,0,15,39,0,0,2,0,2,0,8,0,9,0,14,0,16,0,20,0,23,0,25,0,25,0,29,0,33,0,36,0,41,0,46,0,48,0,53,0,54,0,59,0,62,0,65,0,67,0,69,0,78,0,81,0,86,0,91,0,95,0,96,0,101,0,105,0,109,0,117,0,122,0,128,0,136,0,142,0,152,0,159,0,162,0,162,0,165,0,167,0,167,0,171,0,176,0,179,0,184,0,184,0,188, +0,192,0,199,0,204,0,209,0,212,0,218,0,221,0,225,0,234,0,240,0,240,0,240,0,243,0,246,0,250,0,251,0,255,0,5,1,9,1,16,1,22,1,34,1,40,1,49,1,51,1,57,1,62,1,64,1,71,1,76,1,81,1,87,1,93,1,98,1,102,1,105,1,111,1,115,1,122,1,124,1,131,1,133,1,135,1,144,1,148,1,154,1,160,1,168,1,173,1,173,1,189,1,196,1,203,1,204,1,211,1,215,1,219,1,223,1,227,1,230,1,232,1,234,1,240,1,244,1,252,1,1,2,9,2,12,2,17,2,22,2,28,2,32,2,37,2,227,255,54,2,13,2,93,2,207,255,51,1,235,1,21,2,156,2,179,1,89,2,132,2,148,0,235,2,18,3,27, +3,163,1,20,3,59,3,22,3,198,1,64,3,121,3,239,1,56,3,222,2,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,76,0,15,3,130,3,137,3,139,3,143,3,153,3,165,3,168,3,172,3,175,3,179,3,182,3,184,3,187,3,190,3,194,3,197,3,201,3,206,3,209,3,212,3,216,3,220,3,223,3,225,3,228,3,231,3,234,3,238,3,242,3,250,3,253,3,0,4,4,4,8,4,10,4,12,4,16,4,22,4,27,4,34,4,38,4,40,4,44,4,46,4,49,4,76,0,76,0,76,0,76,0,76,0,76, +0,76,0,76,0,76,0,87,3,36,0,11,2,235,0,160,1,9,3,76,0,22,1,76,0,76,0,76,0,76,0,188,2,188,2,188,2,150,0,220,0,147,0,217,0,221,0,50,1,50,1,99,2,5,0,23,2,44,2,108,2,208,2,104,3,129,3,116,0,96,3,93,1,11,4,13,4,148,1,23,4,224,3,127,255,26,4,236,1,62,0,210,2,111,3,48,4,65,4,40,3,42,4,70,4,71,4,72,4,73,4,74,4,8,3,30,4,45,2,57,0,112,0,131,0,167,0,182,0,250,0,16,1,35,1,75,1,108,1,182,1,241,1,5,2,79,2,141,2,178,2,227,2,7,3,30,3,124,3,140,3,156,3,162,3,247,3,39,4,45,4,99,1,16,3,31,3,213,3,77,4,158,3,127,4,137, +4,138,4,177,3,140,4,142,4,104,4,144,4,147,4,148,4,250,0,149,4,150,4,151,4,154,4,156,4,157,4,64,4,78,4,95,4,100,4,102,4,158,3,107,4,115,4,164,4,116,4,105,4,106,4,79,4,120,4,83,4,155,4,132,4,143,4,158,4,110,4,98,4,159,4,160,4,126,4,129,4,173,4,87,4,178,4,179,4,99,4,101,4,181,4,123,4,161,4,145,4,162,4,166,4,167,4,168,4,189,4,193,4,169,4,133,4,172,4,174,4,170,4,196,4,194,4,121,4,130,4,205,4,207,4,209,4,192,4,213,4,216,4,217,4,220,4,198,4,203,4,206,4,208,4,199,4,211,4,212,4,221,4,225,4,202,4,226,4,230, +4,175,4,177,4,180,4,183,4,185,4,187,4,190,4,188,4,231,4,184,4,235,4,191,4,232,4,176,4,182,4,236,4,223,4,237,4,239,4,238,4,242,4,254,4,2,5,12,5,14,5,17,5,18,5,19,5,20,5,197,4,200,4,204,4,8,5,11,5,252,4,253,4,15,5,69,1,64,3,95,1,57,3,5,0,203,0,203,0,51,3,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,209,3,209,3,56,3,56,3,58,3,179,3,98,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98, +0,98,0,82,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,95,0,95,0,94,0,94,0,94,0,93,0,95,1,23,3,209,3,209,3,69,1,94,0,94,0,94,0,93,0,95,1,24,3,75,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,53,5,155,0,155,0,2,0,69,1,19,1,146,0,132,0,52,0,52,0,93,0,95,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,101,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,190,3, +190,3,69,1,12,1,172,1,157,1,155,1,61,0,240,2,240,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,60,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,14,1,73,1,17,1,21,1,191,3,192,3,250,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,45,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,46,5,186,2,194,2],"i8",4,n.G); +z([46,5,242,0,156,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,91,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,170,3,47,5,128,1,187,2,47,5,125,1,123,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,189,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,92,0,89,0,178,0,65,3,168,3,117,1,188,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,119,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94, +0,94,0,93,0,95,1,69,1,252,4,179,3,98,1,50,3,168,3,227,2,227,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,230,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,201,3,227,0,92,0,89,0,178,0,117,1,44,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,153,3,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,193,1,191,1,191,1,191,1,147,0,225,2,225,2,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98, +0,40,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,163,1,231,0,190,3,190,3,158,0,25,0,166,1,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,187,1,224,0,224,0,164,1,190,3,190,3,194,3,69,1,52,0,52,0,191,3,192,3,176,0,159,1,78,0,99,0,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,123,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,172,1,162,1,42,1,191,3,192,3, +194,3,81,0,99,0,88,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,205,2,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,75,3,75,3,87,3,90,3,228,3,62,1,87,1,123,1,100,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,194,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,69,1,94,1,94,1,94,1,4,1,121,1,84,1,161,3,52,0,52,0,90,0,74,3,74,3,86,3,89,3,78,3,78,3,97,0,97,0,98,0,98,0,98,0,98,0,105,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95, +1,86,0,189,1,79,3,3,0,179,4,105,1,104,1,122,1,88,1,45,3,190,3,190,3,20,5,86,0,189,1,217,2,3,0,212,0,169,0,31,1,149,1,26,1,148,1,199,0,232,0,194,1,44,1,248,2,83,0,84,0,24,1,245,0,6,1,109,1,251,0,85,0,96,1,96,1,92,0,89,0,178,0,83,0,84,0,242,0,156,1,52,0,52,0,192,1,85,0,96,1,96,1,246,0,191,3,192,3,194,0,199,1,158,2,146,1,143,1,142,1,192,1,243,0,221,0,114,0,178,1,8,3,105,1,194,1,141,1,12,1,235,2,224,0,224,0,132,0,132,0,198,0,64,3,178,1,196,1,195,1,172,1,171,1,51,3,159,1,222,2,201,2,132,0,52,0,52,0,64, +3,12,1,196,1,195,1,222,2,194,0,51,3,107,1,146,1,143,1,142,1,194,1,247,4,247,4,23,0,190,3,190,3,86,0,189,1,141,1,3,0,228,0,173,1,127,3,56,3,56,3,58,3,59,3,19,0,203,0,208,2,52,0,52,0,172,1,152,1,183,1,249,0,56,3,56,3,58,3,59,3,19,0,229,0,147,1,153,0,83,0,84,0,249,2,177,0,241,0,194,1,209,2,85,0,96,1,96,1,120,0,157,0,191,3,192,3,58,0,209,3,153,1,99,1,74,1,192,1,12,1,172,1,174,1,64,1,22,3,32,0,32,0,86,0,189,1,8,3,3,0,85,1,98,0,98,0,98,0,98,0,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1, +64,3,120,0,196,1,195,1,45,3,119,3,51,3,83,0,84,0,209,3,45,3,132,0,154,1,152,3,85,0,96,1,96,1,132,0,151,1,21,3,190,3,190,3,92,0,89,0,178,0,149,3,192,1,6,1,114,1,5,1,82,0,146,3,80,0,6,1,114,1,5,1,8,3,56,3,56,3,58,3,59,3,19,0,166,3,178,1,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,64,3,74,0,196,1,195,1,190,3,190,3,51,3,191,3,192,3,120,0,92,0,89,0,178,0,177,3,2,0,150,3,197,3,12,1,1,0,208,3,76,0,189,1,250,2,3,0,196,2,133,3,133,3,131,1,190,3,190,3,245,2,151,3,115,1,228,2,10,3,244,2,1,1,56,3, +56,3,58,3,59,3,19,0,161,1,229,2,194,1,24,0,191,3,192,3,83,0,84,0,113,1,190,3,190,3,177,0,226,0,85,0,96,1,96,1,117,3,59,1,58,1,57,1,215,0,55,1,10,0,10,0,171,2,192,1,93,1,92,1,191,3,192,3,141,3,9,3,157,0,120,0,190,3,190,3,81,1,8,3,160,1,199,2,54,1,194,1,178,1,194,1,65,1,194,1,23,3,103,0,200,0,175,0,194,1,191,3,192,3,140,3,64,3,24,3,196,1,195,1,9,0,9,0,51,3,10,0,10,0,52,0,52,0,51,0,51,0,180,0,204,2,248,0,10,0,10,0,171,0,170,0,167,0,83,1,191,3,192,3,247,0,216,3,190,2,190,2,194,1,203,2,233,0,174,2,214, +3,121,3,215,3,182,0,146,3,56,3,56,3,58,3,59,3,19,0,183,0,0,1,167,1,132,0,181,0,138,1,10,0,10,0,121,3,123,3,237,2,190,3,190,3,149,3,12,1,217,3,198,0,217,3,93,1,92,1,169,1,159,1,43,1,49,3,64,3,70,1,57,3,120,0,76,1,133,0,51,3,12,1,98,0,98,0,98,0,98,0,91,0,96,0,96,0,96,0,96,0,95,0,95,0,94,0,94,0,94,0,93,0,95,1,157,0,42,3,115,1,126,1,103,1,191,3,192,3,102,1,12,1,194,1,150,3,112,1,68,1,56,3,56,3,58,3,194,1,197,2,194,1,8,1,124,1,121,3,194,1,109,3,234,2,253,0,151,3,255,0,177,1,36,0,36,0,234,0,194,1,234,0, +120,0,13,1,37,0,37,0,12,0,12,0,78,1,16,1,27,0,27,0,194,1,74,1,118,0,194,1,162,0,230,2,24,1,194,1,38,0,38,0,194,1,217,3,100,1,217,3,194,1,197,2,186,4,194,1,132,0,194,1,39,0,39,0,194,1,40,0,40,0,194,1,106,1,41,0,41,0,194,1,42,0,42,0,194,1,254,0,28,0,28,0,194,1,29,0,29,0,31,0,31,0,194,1,43,0,43,0,194,1,44,0,44,0,194,1,202,2,45,0,45,0,194,1,11,0,11,0,255,2,194,1,46,0,46,0,194,1,12,1,194,1,105,0,105,0,194,1,47,0,47,0,194,1,48,0,48,0,194,1,237,0,33,0,33,0,194,1,172,0,49,0,49,0,194,1,50,0,50,0,34,0,34,0, +18,1,122,0,122,0,194,1,123,0,123,0,194,1,124,0,124,0,194,1,130,3,56,0,56,0,194,1,129,3,35,0,35,0,194,1,11,1,194,1,49,3,194,1,49,3,106,0,106,0,194,1,53,0,53,0,129,1,107,0,107,0,194,1,49,3,108,0,108,0,49,3,194,1,104,0,104,0,121,0,121,0,119,0,119,0,194,1,117,0,112,0,112,0,194,1,20,1,194,1,225,0,111,0,111,0,194,1,218,2,194,1,109,0,109,0,194,1,161,2,162,2,163,2,144,3,110,0,110,0,61,1,230,3,55,0,55,0,57,0,57,0,180,2,75,1,54,0,54,0,26,0,26,0,184,2,30,0,30,0,61,1,169,3,197,0,196,0,195,0,79,1,25,1,80,1,190, +1,75,1,233,2,177,2,180,1,184,1,188,1,120,0,72,0,130,1,223,0,175,0,89,1,245,2,165,3,20,0,30,1,63,1,244,2,47,3,116,1,118,1,202,0,202,0,202,0,7,1,139,1,29,1,74,0,208,0,21,0,184,2,207,2,206,2,116,3,120,0,120,0,120,0,120,0,120,0,242,2,22,1,60,3,77,0,74,0,214,2,215,2,17,3,15,3,112,3,202,0,231,3,208,0,126,3,125,3,126,3,125,3,182,2,48,3,251,2,116,0,6,3,10,5,175,1,176,1,46,1,231,3,134,1,47,1,55,3,185,2,179,2,168,2,159,0,33,1,167,2,116,3,169,2,184,3,35,1,218,0,37,1,7,0,60,1,60,3,173,0,37,3,3,1,108,1,252,0, +143,3,120,1,201,2,39,1,179,1,52,1,168,0,187,3,225,3,135,0,144,1,222,3,28,1,114,3,113,3,205,0,160,3,158,3,59,0,77,1,62,0,144,0,156,0,130,0,72,0,34,3,110,1,111,1,137,1,137,0,185,0,189,0,160,0,139,0,127,1,67,0,128,3,140,0,141,0,142,0,148,0,133,1,44,3,7,3,10,1,219,0,190,0,154,0,135,1,145,3,108,3,15,1,150,1,191,0,66,1,170,2,221,2,192,0,86,1,220,2,212,2,219,2,199,2,211,2,165,1,193,2,71,0,67,1,6,0,204,0,3,3,32,1,79,0,41,1,90,1,4,3,192,2,34,1,27,1,191,2,2,3,36,1,38,1,199,3,239,0,1,3,102,0,94,3,182,1,170, +1,240,0,168,1,186,1,73,0,213,0,176,2,238,0,22,0,197,1,185,3,214,0,217,0,216,0,198,1,165,2,164,2,159,2,241,2,125,0,115,0,235,0,126,0,157,2,97,1,166,0,127,0,244,0,179,0,101,1,50,1,48,1,49,1,51,1,113,0,124,3,71,1,122,3,43,3,72,1,134,0,128,0,136,0,138,0,231,2,2,1,139,3,184,0,143,0,129,0,142,3,186,0,63,0,64,0,145,0,187,0,138,3,65,0,8,0,66,0,13,0,188,0,202,0,131,3,9,1,149,0,219,3,132,1,150,0,173,2,161,0,136,1,29,1,193,0,23,1,140,1,151,0,145,1,68,0,14,0,15,0,210,2,69,0,236,0,63,3,131,0,62,3,92,3,70,0,239, +2,16,0,158,1,243,2,4,0,174,0,220,0,222,0,16,3,201,0,152,0,11,3,77,0,74,0,17,0,18,0,107,3,93,3,91,3,148,3,96,3,147,3,207,0,206,0,174,3,163,0,181,1,180,3,175,3,164,0,209,0,234,3,185,1,95,3,165,0,210,0,61,3,183,2,87,0,56,1,211,0,12,5,11,5,53,1,33,0,32,0,30,0,28,0,26,0,0,0,2,0,3,0,5,0,6,0,7,0,8,0,9,0,16,16,2,16,40,0,87,2,136,3,100,2,248,2,248,2,248,2,248,2,213,2,237,255,16,0,16,0,100,0,248,2,248,2,248,2,248,2,248,2,248,2,248,2,108,3,108,3,61,2,30,2,207,2,88,2,61,0,137,0,172,0,207,0,242,0,21,1,56,1,91, +1,126,1,161,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,203,1,238,1,203,1,17,2,52,2,52,2,193,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,88,3,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,248,2,219,3,234,2,234,2,234,2,234,2,234,2,33,3,23,0,32,0,181,3,193,3,211,3,196,3,196,3,181, +3,73,0,113,0,205,255,31,6,31,6,31,6,24,2,24,2,24,2,99,0,99,0,45,3,45,3,155,2,205,0,240,0,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,76,1,243,3,166,1,166,1,113,0,30,0,30,0,30,0,30,0,30,0,30,0,31,6,31,6,31,6,154,3,162,255,162,255,128,1,101,2,60,3,164,1,253,2,36,3,83,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,160,2,160,2,160,2,181,3,181,3,145,2,181,3,181,3,181,3,238,255, +181,3,181,3,226,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,181,3,4,3,94,4,200,2,200,2,200,2,42,3,45,0,1,3,195,4,109,4,162,1,162,1,57,2,109,4,57,2,62,3,95,2,151,2,114,3,162,1,181,2,114,3,114,3,80,3,128,4,41,4,6,5,214,4,214,4,7,5,7,5,214,4,64,5,61,5,215,4,73,5,73,5,73,5,73,5,214,4,75,5,215,4,64,5,61,5,61,5,215,4,214,4,75,5,219,4,32,5,214,4,214,4,75,5,90,5,214,4,75,5,214,4,75,5,90,5,10,5,10,5,10,5,47,5,90,5,10,5,21,5,10,5,47,5,10,5,10,5,4,5,24,5,4,5,24,5,4,5,24,5,4,5,24,5,214,4,111,5,214, +4,0,5,90,5,86,5,86,5,90,5,22,5,28,5,30,5,29,5,215,4,134,5,136,5,151,5,151,5,160,5,160,5,160,5,160,5,31,6,31,6,31,6,31,6,31,6,31,6,31,6,31,6,7,2,210,3,186,4,201,4,104,0,117,4,165,4,222,4,224,4,227,4,228,4,229,4,233,4,234,4,249,4,235,3,163,4,13,5,146,4,248,4,255,4,210,4,1,5,152,4,153,4,9,5,218,4,171,4,173,5,175,5,157,5,39,5,167,5,89,5,172,5,166,5,168,5,72,5,65,5,84,5,74,5,178,5,76,5,183,5,199,5,79,5,77,5,169,5,170,5,174,5,176,5,92,5,148,5,141,5,87,5,209,5,207,5,192,5,108,5,78,5,137,5,190,5,139,5,133, +5,149,5,115,5,200,5,203,5,206,5,114,5,122,5,208,5,150,5,210,5,211,5,205,5,212,5,152,5,177,5,214,5,158,5,171,5,215,5,217,5,218,5,216,5,127,5,222,5,223,5,225,5,219,5,126,5,226,5,227,5,195,5,188,5,231,5,130,5,229,5,193,5,230,5,194,5,236,5,229,5,237,5,238,5,239,5,240,5,241,5,243,5,252,5,244,5,246,5,245,5,247,5,248,5,250,5,251,5,247,5,253,5,255,5,0,6,1,6,3,6,156,5,161,5,162,5,163,5,7,6,11,6,13,6,1,5,247,4,247,4,247,4,179,4,179,4,179,4,179,4,247,4,72,4,101,4,101,4,231,4,52,5,52,5,52,5,52,5,52,5,52,5,178, +4,52,5,52,5,52,5,52,5,247,4,76,4,107,4,52,5,52,5,52,5,52,5,180,4,181,4,52,5,52,5,52,5,230,4,232,4,117,4,116,4,115,4,114,4,213,4,88,4,112,4,105,4,109,4,180,4,174,4,175,4,173,4,177,4,181,4,52,5,108,4,143,4,158,4,142,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,152,4,157,4,164,4,156,4,153,4,145,4,144,4,146,4,147,4,52, +5,251,3,43,4,52,5,52,5,52,5,148,4,52,5,149,4,161,4,160,4,159,4,238,4,9,5,8,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,1,5,247,4,1,4,1,4,52,5,247,4,247,4,247,4,247,4,247,4,247,4,243,4,76,4,67,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,235,4,233,4,52,5,194,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,72,4,52,5,52,5,52,5,52,5,52,5,52,5,52, +5,52,5,52,5,52,5,52,5,52,5,3,5,52,5,208,4,72,4,72,4,72,4,74,4,56,4,66,4,236,3,111,4,90,4,90,4,41,5,111,4,41,5,18,4,23,5,15,4,101,4,90,4,176,4,101,4,101,4,73,4,66,4,52,5,44,5,81,4,81,4,43,5,43,5,81,4,122,4,46,4,111,4,52,4,52,4,52,4,52,4,81,4,248,3,111,4,122,4,46,4,46,4,111,4,81,4,248,3,212,4,38,5,81,4,81,4,248,3,187,4,81,4,248,3,81,4,248,3,187,4,44,4,44,4,44,4,33,4,187,4,44,4,18,4,44,4,33,4,44,4,44,4,94,4,89,4,94,4,89,4,94,4,89,4,94,4,89,4,81,4,182,4,81,4,52,5,187,4,191,4,191,4,187,4,106,4,95,4,104, +4,102,4,111,4,254,3,36,4,6,5,6,5,2,5,2,5,2,5,2,5,49,5,49,5,243,4,18,5,18,5,20,4,20,4,18,5,52,5,52,5,52,5,52,5,52,5,52,5,13,5,52,5,196,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,128,4,52,5,232,3,240,4,52,5,52,5,239,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,40,5,52,5,52,5,52,5,52,5,52,5,52,5,211,4,210,4,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5, +52,5,52,5,52,5,52,5,52,5,58,4,52,5,52,5,52,5,27,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,103,4,52,5,96,4,52,5,52,5,31,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,52,5,249,4,52,5,52,5,52,5,248,4,52,5,52,5,52,5,52,5,52,5,130,4,52,5,129,4,133,4,52,5,242,3,52,5,16,0,2,2,65,0,14,26,181,0,64,1,192,0,14,23,216,0,14,7,0,1,1,48,50,1,1,6,57,1,1,16,74,1,1,46,120,1,116,1,121,1,1,6,127,1,104,1,129,1,50,1,130,1,1,4,134,1,44,1,135,1,0,1,137,1,42,2,139,1,0,1,142,1,32,1,143,1,38,1,144,1,40,1,145,1,0,1,147,1,42,1,148, +1,46,1,150,1,52,1,151,1,48,1,152,1,0,1,156,1,52,1,157,1,54,1,159,1,56,1,160,1,1,6,166,1,60,1,167,1,0,1,169,1,60,1,172,1,0,1,174,1,60,1,175,1,0,1,177,1,58,2,179,1,1,4,183,1,62,1,184,1,0,1,188,1,0,1,196,1,2,1,197,1,0,1,199,1,2,1,200,1,0,1,202,1,2,1,203,1,1,18,222,1,1,18,241,1,2,1,242,1,1,4,246,1,122,1,247,1,134,1,248,1,1,40,32,2,110,1,34,2,1,18,58,2,70,1,59,2,0,1,61,2,108,1,62,2,68,1,65,2,0,1,67,2,106,1,68,2,28,1,69,2,30,1,70,2,1,10,69,3,36,1,112,3,1,4,118,3,0,1,134,3,18,1,136,3,16,3,140,3,26,1,142, +3,24,2,145,3,14,17,163,3,14,9,194,3,0,1,207,3,4,1,208,3,140,1,209,3,142,1,213,3,146,1,214,3,144,1,216,3,1,24,240,3,136,1,241,3,138,1,244,3,130,1,245,3,128,1,247,3,0,1,249,3,152,1,250,3,0,1,253,3,110,3,0,4,34,16,16,4,14,32,96,4,1,34,138,4,1,54,192,4,6,1,193,4,1,14,208,4,1,88,49,5,22,38,160,16,66,38,199,16,66,1,205,16,66,1,0,30,1,150,155,30,132,1,158,30,96,1,160,30,1,96,8,31,150,8,24,31,150,6,40,31,150,8,56,31,150,8,72,31,150,6,89,31,151,8,104,31,150,8,136,31,150,8,152,31,150,8,168,31,150,8,184,31, +150,2,186,31,126,2,188,31,148,1,190,31,100,1,200,31,124,4,204,31,148,1,216,31,150,2,218,31,120,2,232,31,150,2,234,31,118,2,236,31,152,1,248,31,112,2,250,31,114,2,252,31,148,1,38,33,98,1,42,33,92,1,43,33,94,1,50,33,12,1,96,33,8,16,131,33,0,1,182,36,10,26,0,44,22,47,96,44,0,1,98,44,88,1,99,44,102,1,100,44,90,1,103,44,1,6,109,44,84,1,110,44,86,1,111,44,80,1,112,44,82,1,114,44,0,1,117,44,0,1,126,44,78,2,128,44,1,100,235,44,1,4,242,44,0,1,64,166,1,46,128,166,1,24,34,167,1,14,50,167,1,62,121,167,1,4,125, +167,76,1,126,167,1,10,139,167,0,1,141,167,74,1,144,167,1,4,160,167,1,10,170,167,72,1,33,255,14,26,1,0,2,0,8,0,15,0,16,0,26,0,28,0,32,0,37,0,38,0,40,0,48,0,63,0,64,0,69,0,71,0,79,0,80,0,116,0,202,0,203,0,205,0,206,0,207,0,209,0,210,0,211,0,213,0,214,0,217,0,218,0,219,0,7,3,96,28,40,42,43,42,188,90,216,90,252,117,193,213,225,213,226,213,228,213,3,214,9,214,25,214,65,223,186,223,65,226,163,226,251,227,26,241,244,254,61,255,93,255,126,255,128,255,130,255,135,255,144,255,156,255,159,255,170,255,182,255, +192,255,196,255,198,255,200,255,202,255,208,255,226,255,231,255,234,255,241,255,247,255,248,255,249,255,0,0,5,7,56,7,67,7,99,7,136,7,148,7,203,7,232,7,248,7,12,8,62,8,120,8,158,8,216,8,238,8,40,9,79,9,168,9,184,9,212,9,36,10,108,10,172,10,222,10,26,11,78,11,138,11,168,11,184,11,212,11,8,13,128,13,112,14,128,14,144,14,160,14,56,15,72,15,88,15,128,15,168,15,200,15,10,16,42,16,74,16,106,16,138,16,170,16,200,16,216,16,248,16,56,17,72,17,120,17,152,17,4,24,54,24,120,24,136,24,216,24,29,25,105,25,129,25, +8,240,28,240,94,240,152,240,202,240,248,240,8,241,30,241,88,241,104,241,140,241,184,241,218,241,252,241,46,242,170,242,202,242,248,242,10,243,94,243,156,243,234,243,14,244,72,244,90,244,120,244,140,244,176,244,184,244,192,244,200,244,10,245,204,245,74,246,106,246,42,247,158,247,97,99,111,115,0,97,115,105,110,0,97,116,97,110,0,97,116,110,50,0,97,116,97,110,50,0,97,99,111,115,104,0,97,115,105,110,104,0,97,116,97,110,104,0,100,105,102,102,101,114,101,110,99,101,0,100,101,103,114,101,101,115,0,114,97, +100,105,97,110,115,0,99,111,115,0,115,105,110,0,116,97,110,0,99,111,116,0,99,111,115,104,0,115,105,110,104,0,116,97,110,104,0,99,111,116,104,0,101,120,112,0,108,111,103,49,48,0,112,111,119,101,114,0,115,105,103,110,0,115,113,114,116,0,115,113,117,97,114,101,0,99,101,105,108,0,102,108,111,111,114,0,112,105,0,114,101,112,108,105,99,97,116,101,0,99,104,97,114,105,110,100,101,120,0,108,101,102,116,115,116,114,0,114,105,103,104,116,115,116,114,0,114,101,118,101,114,115,101,0,112,114,111,112,101,114,0, +112,97,100,108,0,112,97,100,114,0,112,97,100,99,0,115,116,114,102,105,108,116,101,114,0,115,116,100,101,118,0,118,97,114,105,97,110,99,101,0,109,101,100,105,97,110,0,108,111,119,101,114,95,113,117,97,114,116,105,108,101,0,117,112,112,101,114,95,113,117,97,114,116,105,108,101,0,102,111,114,32,110,111,100,101,0,97,114,103,99,61,61,49,0,99,47,101,120,116,101,110,115,105,111,110,45,102,117,110,99,116,105,111,110,115,46,99,0,97,99,111,115,70,117,110,99,0,97,115,105,110,70,117,110,99,0,97,116,97,110,70, +117,110,99,0,97,114,103,99,61,61,50,0,97,116,110,50,70,117,110,99,0,97,99,111,115,104,70,117,110,99,0,97,115,105,110,104,70,117,110,99,0,97,116,97,110,104,70,117,110,99,0,100,105,102,102,101,114,101,110,99,101,70,117,110,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,0,0,1,2,3,0,1,2,0,0,2,2,4,5,5,0,1,2,6,2,3,0,1,0,2,0,2,0,0,0,0,0,63,48,48,48,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4, +4,4,114,97,100,50,100,101,103,70,117,110,99,0,100,101,103,50,114,97,100,70,117,110,99,0,99,111,115,70,117,110,99,0,115,105,110,70,117,110,99,0,116,97,110,70,117,110,99,0,99,111,116,70,117,110,99,0,99,111,115,104,70,117,110,99,0,115,105,110,104,70,117,110,99,0,116,97,110,104,70,117,110,99,0,99,111,116,104,70,117,110,99,0,101,120,112,70,117,110,99,0,108,111,103,70,117,110,99,0,108,111,103,49,48,70,117,110,99,0,112,111,119,101,114,70,117,110,99,0,115,105,103,110,70,117,110,99,0,115,113,114,116,70,117, +110,99,0,115,113,117,97,114,101,70,117,110,99,0,99,101,105,108,70,117,110,99,0,102,108,111,111,114,70,117,110,99,0,100,111,109,97,105,110,32,101,114,114,111,114,0,97,114,103,99,61,61,51,32,124,124,97,114,103,99,61,61,50,0,99,104,97,114,105,110,100,101,120,70,117,110,99,0,108,101,102,116,70,117,110,99,0,114,105,103,104,116,70,117,110,99,0,49,61,61,97,114,103,99,0,114,101,118,101,114,115,101,70,117,110,99,0,112,114,111,112,101,114,70,117,110,99,0,112,97,100,108,70,117,110,99,0,122,60,61,122,84,101, +114,109,0,115,113,108,105,116,101,51,85,116,102,56,67,104,97,114,76,101,110,0,112,97,100,114,70,117,110,99,0,112,97,100,99,70,117,110,99,0,115,116,114,102,105,108,116,101,114,70,117,110,99,0,118,97,114,105,97,110,99,101,83,116,101,112,0,109,111,100,101,83,116,101,112,0,51,46,49,53,46,49,0,83,81,76,73,84,69,95,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,128,0,64,0,0,128,0,0,0,0,0,0,0,0,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,10,10,10,10,10,10,2,2,2,2,2,2,2,2,2,2,2,2,2, +2,2,2,2,2,2,2,128,0,0,0,64,128,42,42,42,42,42,42,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,0,0,0,0,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, +67,79,77,80,73,76,69,82,61,99,108,97,110,103,45,52,46,48,46,48,0,68,73,83,65,66,76,69,95,76,70,83,0,69,78,65,66,76,69,95,70,84,83,51,0,69,78,65,66,76,69,95,70,84,83,51,95,80,65,82,69,78,84,72,69,83,73,83,0,73,78,84,54,52,95,84,89,80,69,0,79,77,73,84,95,76,79,65,68,95,69,88,84,69,78,83,73,79,78,0,83,89,83,84,69,77,95,77,65,76,76,79,67,0,84,72,82,69,65,68,83,65,70,69,61,48,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44, +45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178, +179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,0,1,1,0,0,0,0,1,0,0,109,105,115,117,115,101,0,37,115,32,97,116,32,108,105,110,101,32,37,100,32,111,102,32,91,37,46,49,48,115,93,0,37,0,100,10,1,0,0,0,115,0,4,5,0,0,103,0,1,3,30,0,122,0,4,6,0,0, +113,0,4,9,0,0,81,0,4,10,0,0,119,0,4,14,0,0,99,0,0,8,0,0,111,8,0,0,0,2,117,10,0,0,0,0,120,16,0,0,16,1,88,16,0,0,0,4,102,0,1,1,0,0,101,0,1,2,30,0,69,0,1,2,14,0,71,0,1,3,14,0,105,10,1,0,0,0,110,0,0,4,0,0,37,0,0,7,0,0,112,16,0,13,0,1,84,0,2,11,0,0,83,0,2,12,0,0,114,10,3,15,0,0,116,104,115,116,110,100,114,100,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,0,45,120,48,0,88,48,0,78,97,78,0,73,110,102,0,78,85,76,76,0,40,78,85,76,76,41,0,46,0,117,110,105, +120,0,117,110,105,120,45,110,111,110,101,0,117,110,105,120,45,100,111,116,102,105,108,101,0,117,110,105,120,45,101,120,99,108,0,99,108,111,115,101,0,111,115,95,117,110,105,120,46,99,58,37,100,58,32,40,37,100,41,32,37,115,40,37,115,41,32,45,32,37,115,0,111,112,101,110,0,97,99,99,101,115,115,0,103,101,116,99,119,100,0,115,116,97,116,0,102,115,116,97,116,0,102,116,114,117,110,99,97,116,101,0,102,99,110,116,108,0,114,101,97,100,0,112,114,101,97,100,0,112,114,101,97,100,54,52,0,119,114,105,116,101,0,112, +119,114,105,116,101,0,112,119,114,105,116,101,54,52,0,102,99,104,109,111,100,0,102,97,108,108,111,99,97,116,101,0,117,110,108,105,110,107,0,111,112,101,110,68,105,114,101,99,116,111,114,121,0,109,107,100,105,114,0,114,109,100,105,114,0,102,99,104,111,119,110,0,103,101,116,101,117,105,100,0,109,109,97,112,0,109,117,110,109,97,112,0,109,114,101,109,97,112,0,103,101,116,112,97,103,101,115,105,122,101,0,114,101,97,100,108,105,110,107,0,108,115,116,97,116,0,37,115,0,99,97,110,110,111,116,32,111,112,101, +110,32,102,105,108,101,0,97,116,116,101,109,112,116,32,116,111,32,111,112,101,110,32,34,37,115,34,32,97,115,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,37,100,0,47,100,101,118,47,110,117,108,108,0,37,115,47,101,116,105,108,113,115,95,37,108,108,120,37,99,0,83,81,76,73,84,69,95,84,77,80,68,73,82,0,84,77,80,68,73,82,0,47,118,97,114,47,116,109,112,0,47,117,115,114,47,116,109,112,0,47,116,109,112,0,102,117,108,108,95,102,115,121,110,99,0,47,100,101,118,47,117,114,97,110,100,111,109, +0,102,115,121,110,99,0,112,115,111,119,0,37,115,46,108,111,99,107,0,99,97,110,110,111,116,32,102,115,116,97,116,32,100,98,32,102,105,108,101,32,37,115,0,102,105,108,101,32,117,110,108,105,110,107,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,109,117,108,116,105,112,108,101,32,108,105,110,107,115,32,116,111,32,102,105,108,101,58,32,37,115,0,102,105,108,101,32,114,101,110,97,109,101,100,32,119,104,105,108,101,32,111,112,101,110,58,32,37,115,0,37,115,45,115,104,109,0,114,101,97,100, +111,110,108,121,95,115,104,109,0,2,2,3,5,3,4,5,4,0,1,2,4,9,12,15,20,111,110,111,102,102,97,108,115,101,121,101,115,116,114,117,101,120,116,114,97,102,117,108,108,0,1,0,0,0,1,1,3,2,109,111,100,101,111,102,0,102,97,105,108,101,100,32,109,101,109,111,114,121,32,114,101,115,105,122,101,32,37,117,32,116,111,32,37,117,32,98,121,116,101,115,0,102,97,105,108,101,100,32,116,111,32,97,108,108,111,99,97,116,101,32,37,117,32,98,121,116,101,115,32,111,102,32,109,101,109,111,114,121,0,115,113,108,105,116,101,95, +99,111,109,112,105,108,101,111,112,116,105,111,110,95,117,115,101,100,0,115,113,108,105,116,101,95,99,111,109,112,105,108,101,111,112,116,105,111,110,95,103,101,116,0,117,110,108,105,107,101,108,121,0,108,105,107,101,108,105,104,111,111,100,0,108,105,107,101,108,121,0,108,116,114,105,109,0,114,116,114,105,109,0,116,114,105,109,0,109,105,110,0,109,97,120,0,116,121,112,101,111,102,0,108,101,110,103,116,104,0,105,110,115,116,114,0,112,114,105,110,116,102,0,117,110,105,99,111,100,101,0,99,104,97,114, +0,97,98,115,0,114,111,117,110,100,0,117,112,112,101,114,0,108,111,119,101,114,0,104,101,120,0,105,102,110,117,108,108,0,114,97,110,100,111,109,0,114,97,110,100,111,109,98,108,111,98,0,110,117,108,108,105,102,0,115,113,108,105,116,101,95,118,101,114,115,105,111,110,0,115,113,108,105,116,101,95,115,111,117,114,99,101,95,105,100,0,115,113,108,105,116,101,95,108,111,103,0,113,117,111,116,101,0,108,97,115,116,95,105,110,115,101,114,116,95,114,111,119,105,100,0,99,104,97,110,103,101,115,0,116,111,116,97, +108,95,99,104,97,110,103,101,115,0,114,101,112,108,97,99,101,0,122,101,114,111,98,108,111,98,0,115,117,98,115,116,114,0,115,117,109,0,116,111,116,97,108,0,97,118,103,0,99,111,117,110,116,0,103,114,111,117,112,95,99,111,110,99,97,116,0,42,63,91,0,103,108,111,98,0,37,95,0,1,108,105,107,101,0,99,111,97,108,101,115,99,101,0,76,73,75,69,32,111,114,32,71,76,79,66,32,112,97,116,116,101,114,110,32,116,111,111,32,99,111,109,112,108,101,120,0,69,83,67,65,80,69,32,101,120,112,114,101,115,115,105,111,110,32, +109,117,115,116,32,98,101,32,97,32,115,105,110,103,108,101,32,99,104,97,114,97,99,116,101,114,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,0,1,2,3,4,5,6,7,0,1,2,3,0,1,0,0,37,108,108,100,0,37,33,46,49,53,103,0,115,116,114,105,110,103,32,111,114,32,98,108,111,98,32,116,111,111,32,98,105,103,0,44,0,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,4,5,3,5,1,5,1,5,2,5,2,5,1,5,1,5,105,110,116,101,103,101,114,32,111,118,101,114,102,108,111, +119,0,57,50,50,51,51,55,50,48,51,54,56,53,52,55,55,53,56,48,0,117,110,107,110,111,119,110,32,101,114,114,111,114,0,97,98,111,114,116,32,100,117,101,32,116,111,32,82,79,76,76,66,65,67,75,0,110,111,116,32,97,110,32,101,114,114,111,114,0,83,81,76,32,108,111,103,105,99,32,101,114,114,111,114,32,111,114,32,109,105,115,115,105,110,103,32,100,97,116,97,98,97,115,101,0,97,99,99,101,115,115,32,112,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,99,97,108,108,98,97,99,107,32,114,101,113,117, +101,115,116,101,100,32,113,117,101,114,121,32,97,98,111,114,116,0,100,97,116,97,98,97,115,101,32,105,115,32,108,111,99,107,101,100,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,0,111,117,116,32,111,102,32,109,101,109,111,114,121,0,97,116,116,101,109,112,116,32,116,111,32,119,114,105,116,101,32,97,32,114,101,97,100,111,110,108,121,32,100,97,116,97,98,97,115,101,0,105,110,116,101,114,114,117,112,116,101,100,0,100,105,115,107,32,73,47,79,32,101,114,114,111,114, +0,100,97,116,97,98,97,115,101,32,100,105,115,107,32,105,109,97,103,101,32,105,115,32,109,97,108,102,111,114,109,101,100,0,117,110,107,110,111,119,110,32,111,112,101,114,97,116,105,111,110,0,100,97,116,97,98,97,115,101,32,111,114,32,100,105,115,107,32,105,115,32,102,117,108,108,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,32,102,105,108,101,0,108,111,99,107,105,110,103,32,112,114,111,116,111,99,111,108,0,116,97,98,108,101,32,99,111,110,116,97,105,110,115,32, +110,111,32,100,97,116,97,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,104,97,115,32,99,104,97,110,103,101,100,0,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,100,97,116,97,116,121,112,101,32,109,105,115,109,97,116,99,104,0,108,105,98,114,97,114,121,32,114,111,117,116,105,110,101,32,99,97,108,108,101,100,32,111,117,116,32,111,102,32,115,101,113,117,101,110,99,101,0,108,97,114,103,101,32,102,105,108,101,32,115,117,112,112,111,114,116,32,105,115,32,100,105,115,97,98, +108,101,100,0,97,117,116,104,111,114,105,122,97,116,105,111,110,32,100,101,110,105,101,100,0,97,117,120,105,108,105,97,114,121,32,100,97,116,97,98,97,115,101,32,102,111,114,109,97,116,32,101,114,114,111,114,0,98,105,110,100,32,111,114,32,99,111,108,117,109,110,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0,102,105,108,101,32,105,115,32,101,110,99,114,121,112,116,101,100,32,111,114,32,105,115,32,110,111,116,32,97,32,100,97,116,97,98,97,115,101,0,37,33,46,50,48,101,0,48,49, +50,51,52,53,54,55,56,57,65,66,67,68,69,70,37,46,42,102,0,105,110,116,101,103,101,114,0,116,101,120,116,0,114,101,97,108,0,98,108,111,98,0,110,117,108,108,0,1,32,0,106,117,108,105,97,110,100,97,121,0,100,97,116,101,0,116,105,109,101,0,100,97,116,101,116,105,109,101,0,115,116,114,102,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,0,99,117,114,114,101,110,116,95,116,105,109,101,115,116,97,109,112,0,99,117,114,114,101,110,116,95,100,97,116,101,0,37,48,50,100,0,37,48,54,46,51,102,0,37, +48,51,100,0,37,46,49,54,103,0,37,48,52,100,0,108,111,99,97,108,116,105,109,101,0,117,110,105,120,101,112,111,99,104,0,117,116,99,0,119,101,101,107,100,97,121,32,0,115,116,97,114,116,32,111,102,32,0,109,111,110,116,104,0,121,101,97,114,0,100,97,121,0,104,111,117,114,0,109,105,110,117,116,101,0,115,101,99,111,110,100,0,50,48,99,58,50,48,101,0,50,48,101,0,50,48,98,58,50,48,101,0,108,111,99,97,108,32,116,105,109,101,32,117,110,97,118,97,105,108,97,98,108,101,0,110,111,119,0,52,48,102,45,50,49,97,45,50, +49,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,32,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,50,100,58,37,48,50,100,58,37,48,50,100,0,37,48,52,100,45,37,48,50,100,45,37,48,50,100,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,0,115,113,108,105,116,101,95,114,101,110,97,109,101,95,112,97,114,101,110,116,0,37,115,37,46,42,115,34,37,119,34,0,37,115,37,115,0,27,27,27,27,27,27, +27,27,27,7,7,27,7,7,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,7,15,8,5,4,22,24,8,17,18,21,20,23,11,26,16,3,3,3,3,3,3,3,3,3,3,5,19,12,14,13,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,9,27,27,27,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,27,10,27,25,27,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2],"i8",4,n.G+10240); +z([2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,76,105,117,74,0,45,0,0,82,0,77,0,0,42,12,78,15,0,116,85,54,112,0,19,0,0,121,0,119,115,0,22,93,0,9,0,0,70,71,0,69,6,0,48,90,102,0,118,101,0,0,44,0,103,24,0,17,0,122,53,23,0,5,110,25,96,0,0,124,106,60,123,57,28,55,0,91,0,100,26,0,99,0,0,0,95,92,97,88,109,14,39,108,0,81,0,18,89,111,32,0,120,80,113,62,46,84,0,0,94,40,59,114,0,36,0,0,29,0,86,63,64,0,20,61,0,56,7,7,5,4, +6,4,5,3,6,7,3,6,6,7,7,3,8,2,6,5,4,4,3,10,4,6,11,6,2,7,5,5,9,6,9,9,7,10,10,4,6,2,3,9,4,2,6,5,7,4,5,7,6,6,5,6,5,5,9,7,7,3,2,4,4,7,3,6,4,7,6,12,6,9,4,6,5,4,7,6,5,6,7,5,4,5,6,5,7,3,7,13,2,2,4,6,6,8,5,17,12,7,8,8,2,4,4,4,4,4,2,2,6,5,8,5,8,3,5,5,6,4,9,3,82,69,73,78,68,69,88,69,68,69,83,67,65,80,69,65,67,72,69,67,75,69,89,66,69,70,79,82,69,73,71,78,79,82,69,71,69,88,80,76,65,73,78,83,84,69,65,68,68,65,84,65,66,65,83,69,76,69,67,84,65,66,76,69,70,84,72,69,78,68,69,70,69,82,82,65,66,76,69,76,83,69,88,67,69, +80,84,82,65,78,83,65,67,84,73,79,78,65,84,85,82,65,76,84,69,82,65,73,83,69,88,67,76,85,83,73,86,69,88,73,83,84,83,65,86,69,80,79,73,78,84,69,82,83,69,67,84,82,73,71,71,69,82,69,70,69,82,69,78,67,69,83,67,79,78,83,84,82,65,73,78,84,79,70,70,83,69,84,69,77,80,79,82,65,82,89,85,78,73,81,85,69,82,89,87,73,84,72,79,85,84,69,82,69,76,69,65,83,69,65,84,84,65,67,72,65,86,73,78,71,82,79,85,80,68,65,84,69,66,69,71,73,78,78,69,82,69,67,85,82,83,73,86,69,66,69,84,87,69,69,78,79,84,78,85,76,76,73,75,69,67,65, +83,67,65,68,69,76,69,84,69,67,65,83,69,67,79,76,76,65,84,69,67,82,69,65,84,69,67,85,82,82,69,78,84,95,68,65,84,69,68,69,84,65,67,72,73,77,77,69,68,73,65,84,69,74,79,73,78,83,69,82,84,77,65,84,67,72,80,76,65,78,65,76,89,90,69,80,82,65,71,77,65,66,79,82,84,86,65,76,85,69,83,86,73,82,84,85,65,76,73,77,73,84,87,72,69,78,87,72,69,82,69,78,65,77,69,65,70,84,69,82,69,80,76,65,67,69,65,78,68,69,70,65,85,76,84,65,85,84,79,73,78,67,82,69,77,69,78,84,67,65,83,84,67,79,76,85,77,78,67,79,77,77,73,84,67,79,78, +70,76,73,67,84,67,82,79,83,83,67,85,82,82,69,78,84,95,84,73,77,69,83,84,65,77,80,82,73,77,65,82,89,68,69,70,69,82,82,69,68,73,83,84,73,78,67,84,68,82,79,80,70,65,73,76,70,82,79,77,70,85,76,76,71,76,79,66,89,73,70,73,83,78,85,76,76,79,82,68,69,82,69,83,84,82,73,67,84,82,73,71,72,84,82,79,76,76,66,65,67,75,82,79,87,85,78,73,79,78,85,83,73,78,71,86,65,67,85,85,77,86,73,69,87,73,78,73,84,73,65,76,76,89,93,56,140,70,42,72,104,79,63,113,74,75,31,2,77,142,69,24,119,16,98,138,11,112,139,117,6,58,107,98,141, +83,9,20,13,118,88,105,99,131,81,80,111,21,21,27,103,3,25,92,98,14,62,128,127,110,5,98,84,32,35,19,78,101,31,65,61,109,136,53,17,95,71,8,124,108,30,4,60,82,57,120,91,129,137,130,94,59,85,28,100,106,15,33,66,67,10,68,98,95,95,102,7,121,29,114,73,123,98,31,64,18,34,126,86,98,12,87,115,125,89,90,76,116,0,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,13,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,0,21,0,0,0,0,0,50,0,43,3,47,0,0,0,0,30,0,58,0,38,0,0,0,1,66,0,0,67,0,41,0,0,0,0,0,0,49,65,0,0,0,0,31,52,16,34,10, +0,0,0,0,0,0,0,11,72,79,0,8,0,104,98,0,107,0,87,0,75,51,0,27,37,73,83,0,35,68,0,0,37,46,42,115,34,37,119,34,37,115,0,50,48,49,54,45,49,49,45,48,52,32,49,50,58,48,56,58,52,57,32,49,49,51,54,56,54,51,99,55,54,53,55,54,49,49,48,101,55,49,48,100,100,53,100,54,57,97,98,54,98,102,51,52,55,99,54,53,101,51,54,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,97,32,116,101,109,112,111,114,97,114,121,32,100,97,116,97,98,97,115,101,32,102,105,108,101,32,102,111,114,32,115,116,111,114,105,110,103,32,116, +101,109,112,111,114,97,114,121,32,116,97,98,108,101,115,0,58,109,101,109,111,114,121,58,0,114,101,99,111,118,101,114,101,100,32,37,100,32,112,97,103,101,115,32,102,114,111,109,32,37,115,0,100,97,116,97,98,97,115,101,32,99,111,114,114,117,112,116,105,111,110,0,217,213,5,249,32,161,99,215,99,97,110,110,111,116,32,108,105,109,105,116,32,87,65,76,32,115,105,122,101,58,32,37,115,0,114,101,99,111,118,101,114,101,100,32,37,100,32,102,114,97,109,101,115,32,102,114,111,109,32,87,65,76,32,102,105,108,101,32, +37,115,0,45,106,111,117,114,110,97,108,0,0,45,119,97,108,0,0,110,111,108,111,99,107,0,105,109,109,117,116,97,98,108,101,0,83,81,76,105,116,101,32,102,111,114,109,97,116,32,51,0,64,32,32,0,1,1,0,1,0,0,37,115,45,109,106,88,88,88,88,88,88,57,88,88,122,0,77,74,32,100,101,108,101,116,101,58,32,37,115,0,77,74,32,99,111,108,108,105,100,101,58,32,37,115,0,45,109,106,37,48,54,88,57,37,48,50,88,0,70,79,82,69,73,71,78,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,65,80,73, +32,99,97,108,108,101,100,32,119,105,116,104,32,102,105,110,97,108,105,122,101,100,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,116,111,111,32,108,111,110,103,0,97,100,100,114,0,111,112,99,111,100,101,0,112,49,0,112,50,0,112,51,0,112,52,0,112,53,0,99,111,109,109,101,110,116,0,115,101,108,101,99,116,105,100,0,111,114,100,101,114, +0,102,114,111,109,0,100,101,116,97,105,108,0,117,110,114,101,99,111,103,110,105,122,101,100,32,116,111,107,101,110,58,32,34,37,84,34,0,110,101,97,114,32,34,37,84,34,58,32,115,121,110,116,97,120,32,101,114,114,111,114,0,147,1,147,3,148,1,149,3,150,0,150,1,150,1,150,1,149,2,149,2,149,2,149,2,149,3,149,5,154,6,156,1,158,0,158,3,157,1,157,0,155,5,155,2,162,0,162,2,164,2,166,0,166,4,166,6,167,2,171,2,171,2,171,4,171,3,171,3,171,2,171,3,171,5,171,2,171,4,171,4,171,1,171,2,176,0,176,1,178,0,178,2,180,2, +180,3,180,3,180,3,181,2,181,2,181,1,181,1,181,2,179,3,179,2,182,0,182,2,182,2,161,0,184,1,185,2,185,7,185,5,185,5,185,10,188,0,174,0,174,3,189,0,189,2,190,1,190,1,149,4,192,2,192,0,149,9,149,4,149,1,163,2,194,3,197,1,197,2,197,1,195,9,206,4,206,5,198,1,198,1,198,0,209,0,199,3,199,2,199,4,210,2,210,0,200,0,200,2,212,2,212,0,211,7,211,9,211,7,211,7,159,0,159,2,193,2,213,1,213,2,213,3,213,4,215,2,215,0,214,0,214,3,214,2,216,4,216,0,204,0,204,3,186,4,186,2,175,1,175,1,175,0,202,0,202,3,203,0,203,2,205, +0,205,2,205,4,205,4,149,6,201,0,201,2,149,8,218,5,218,7,218,3,218,5,149,6,149,7,219,2,219,1,220,0,220,3,217,3,217,1,173,3,172,1,173,1,173,1,173,3,173,5,172,1,172,1,172,1,173,1,173,3,173,6,173,5,173,4,172,1,173,5,173,3,173,3,173,3,173,3,173,3,173,3,173,3,173,3,221,1,221,2,173,3,173,5,173,2,173,3,173,3,173,4,173,2,173,2,173,2,173,2,222,1,222,2,173,5,223,1,223,2,173,5,173,3,173,5,173,5,173,4,173,5,226,5,226,4,227,2,227,0,225,1,225,0,208,0,207,3,207,1,224,0,224,3,149,12,228,1,228,0,177,0,177,3,187,5, +187,3,229,0,229,2,149,4,149,1,149,2,149,3,149,5,149,6,149,5,149,6,169,2,170,2,149,5,231,11,233,1,233,1,233,2,233,0,234,1,234,1,234,3,236,0,236,2,232,3,232,2,238,3,239,3,239,2,237,7,237,5,237,5,237,1,173,4,173,6,191,1,191,1,191,1,149,4,149,6,149,3,241,0,241,2,149,1,149,3,149,1,149,3,149,6,149,7,242,1,149,1,149,4,244,8,246,0,247,1,247,3,248,1,196,0,196,2,196,3,250,6,250,8,144,1,145,2,145,1,146,1,146,3,147,0,151,0,151,1,151,2,153,1,153,0,149,2,160,4,160,2,152,1,152,1,152,1,166,1,167,1,168,1,168,1,165, +2,165,0,171,2,161,2,183,3,183,1,184,0,188,1,190,1,194,1,195,1,209,2,210,1,173,1,208,1,230,1,230,1,230,1,230,1,230,1,169,1,235,0,235,3,238,1,239,0,240,1,240,0,243,0,243,1,245,1,245,3,246,2,249,0,249,4,249,2,114,111,119,105,100,0,117,110,107,110,111,119,110,32,116,97,98,108,101,32,111,112,116,105,111,110,58,32,37,46,42,115,0,115,101,116,32,108,105,115,116,0,116,111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,102,117,110,99,116,105,111,110,32,37,84,0,113,117,97,108,105, +102,105,101,100,32,116,97,98,108,101,32,110,97,109,101,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,73,78,83,69,82,84,44,32,85,80,68,65,84,69,44,32,97,110,100,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,73,78,68,69,88,69,68,32,66,89,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69, +84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,116,104,101,32,78,79,84,32,73,78,68,69,88,69,68,32,99,108,97,117,115,101,32,105,115,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,85,80,68,65,84,69,32,111,114,32,68,69,76,69,84,69,32,115,116,97,116,101,109,101,110,116,115,32,119,105,116,104,105,110,32,116,114,105,103,103,101,114,115,0,100,117,112,108,105,99,97,116,101,32,87,73,84,72,32,116,97,98,108,101,32,110,97,109,101,58, +32,37,115,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,0,97,117,116,104,111,114,105,122,101,114,32,109,97,108,102,117,110,99,116,105,111,110,0,67,82,69,65,84,69,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,37,84,0,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,0,115,113,108,105,116,101,95,109,97,115,116,101,114,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,116,97,98,108,101,39,44,32,110,97,109,101,61,37,81,44,32,116,98,108,95,110,97,109, +101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,48,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,116,97,98,108,101,39,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,116,111,32,97,32,118,105,101,119,0,115,113,108,105,116,101,95,97,108,116,101, +114,116,97,98,95,37,115,0,115,113,108,105,116,101,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,110,111,32,115,117,99,104,32,118,105,101,119,0,110,111,32,115,117,99,104,32,116,97,98,108,101,0,37,115,58,32,37,115,46,37,115,0,37,115,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,99,97,108,108,101,100,32,114,101,99,117,114,115,105,118,101,108,121,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116, +114,117,99,116,111,114,32,102,97,105,108,101,100,58,32,37,115,0,118,116,97,98,108,101,32,99,111,110,115,116,114,117,99,116,111,114,32,100,105,100,32,110,111,116,32,100,101,99,108,97,114,101,32,115,99,104,101,109,97,58,32,37,115,0,104,105,100,100,101,110,0,49,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,121,112,101,32,116,101,120,116,44,110,97,109,101,32,116,101,120,116,44,116,98,108,95,110,97,109,101,32,116,101,120,116,44,114,111,111,116,112,97,103,101,32,105,110,116,101,103,101,114,44,115, +113,108,32,116,101,120,116,41,0,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,109,117,115,116,32,117,115,101,32,116,104,101,32,115,97,109,101,32,116,101,120,116,32,101,110,99,111,100,105,110,103,32,97,115,32,109,97,105,110,32,100,97,116,97,98,97,115,101,0,117,110,115,117,112,112,111,114,116,101,100,32,102,105,108,101,32,102,111,114,109,97,116,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,37,115,32, +79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,115,113,108,105,116,101,95,115,116,97,116,49,0,83,69,76,69,67,84,32,116,98,108,44,105,100,120,44,115,116,97,116,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,116,97,116,49,0,117,110,111,114,100,101,114,101,100,42,0,115,122,61,91,48,45,57,93,42,0,110,111,115,107,105,112,115,99,97,110,42,0,105,110,118,97,108,105,100,0,65,80,73,32,99,97,108,108,32,119,105,116,104,32,37,115,32,100,97,116,97,98,97,115,101,32,99,111,110,110,101,99,116,105,111, +110,32,112,111,105,110,116,101,114,0,99,114,101,97,116,101,32,0,105,110,118,97,108,105,100,32,114,111,111,116,112,97,103,101,0,63,0,109,97,108,102,111,114,109,101,100,32,100,97,116,97,98,97,115,101,32,115,99,104,101,109,97,32,40,37,115,41,0,37,122,32,45,32,37,115,0,67,97,110,110,111,116,32,97,100,100,32,97,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32,97,32,85,78,73,81,85,69,32,99,111,108,117,109,110,0,67,97,110,110,111,116,32,97,100,100,32, +97,32,82,69,70,69,82,69,78,67,69,83,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,78,85,76,76,32,100,101,102,97,117,108,116,32,118,97,108,117,101,0,67,97,110,110,111,116,32,97,100,100,32,97,32,78,79,84,32,78,85,76,76,32,99,111,108,117,109,110,32,119,105,116,104,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,78,85,76,76,0,67,97,110,110,111,116,32,97,100,100,32,97,32,99,111,108,117,109,110,32,119,105,116,104,32,110,111,110,45,99,111,110,115,116,97,110,116,32,100,101,102,97, +117,108,116,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,117,98,115,116,114,40,115,113,108,44,49,44,37,100,41,32,124,124,32,39,44,32,39,32,124,124,32,37,81,32,124,124,32,115,117,98,115,116,114,40,115,113,108,44,37,100,41,32,87,72,69,82,69,32,116,121,112,101,32,61,32,39,116,97,98,108,101,39,32,65,78,68,32,110,97,109,101,32,61,32,37,81,0,116,98,108,95,110,97,109,101,61,37,81,0,116,121,112,101,61,39,116,114,105,103,103,101,114,39,32,65,78,68,32,40,37,115,41,0, +110,97,109,101,61,37,81,0,37,115,32,79,82,32,110,97,109,101,61,37,81,0,45,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,111,116,104,101,114,32,116,97,98,108,101,32,111,114,32,105,110,100,101,120,32,119,105,116,104,32,116,104,105,115,32,110,97,109,101,58,32,37,115,0,118,105,101,119,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,97,108,116,101,114,101,100,0,85,80,68,65,84,69,32,34,37,119,34,46,37,115,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101, +110,97,109,101,95,112,97,114,101,110,116,40,115,113,108,44,32,37,81,44,32,37,81,41,32,87,72,69,82,69,32,37,115,59,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,115,113,108,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,32,61,32,39,116,114,105,103,103,101,114,39,32,84,72,69,78,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,69,76,83,69,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,97,98,108,101,40,115,113, +108,44,32,37,81,41,32,69,78,68,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,44,32,110,97,109,101,32,61,32,67,65,83,69,32,87,72,69,78,32,116,121,112,101,61,39,116,97,98,108,101,39,32,84,72,69,78,32,37,81,32,87,72,69,78,32,110,97,109,101,32,76,73,75,69,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,37,37,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,32,84,72,69,78,32,39,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,39,32,124,124,32,37,81, +32,124,124,32,115,117,98,115,116,114,40,110,97,109,101,44,37,100,43,49,56,41,32,69,76,83,69,32,110,97,109,101,32,69,78,68,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,67,79,76,76,65,84,69,32,110,111,99,97,115,101,32,65,78,68,32,40,116,121,112,101,61,39,116,97,98,108,101,39,32,79,82,32,116,121,112,101,61,39,105,110,100,101,120,39,32,79,82,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,41,59,0,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,0,85,80,68,65,84,69,32, +34,37,119,34,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,115,101,116,32,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,110,97,109,101,32,61,32,37,81,0,85,80,68,65,84,69,32,115,113,108,105,116,101,95,116,101,109,112,95,109,97,115,116,101,114,32,83,69,84,32,115,113,108,32,61,32,115,113,108,105,116,101,95,114,101,110,97,109,101,95,116,114,105,103,103,101,114,40,115,113,108,44,32,37,81,41,44,32,116,98,108,95,110,97,109,101,32,61,32,37,81,32,87,72,69,82,69,32,37,115,59,0,118,105, +101,119,32,37,115,32,105,115,32,99,105,114,99,117,108,97,114,108,121,32,100,101,102,105,110,101,100,0,110,111,32,115,117,99,104,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,58,32,37,115,0,3,2,1,73,78,84,69,71,69,82,0,37,46,42,122,58,37,117,0,97,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,72,65,86,73,78,71,0,79,82,68,69,82,0,71,82,79,85,80,0,97,103,103,114,101,103,97,116,101,32,102,117,110, +99,116,105,111,110,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,116,104,101,32,71,82,79,85,80,32,66,89,32,99,108,97,117,115,101,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,0,37,114,32,79,82,68,69,82,32,66,89,32,116,101,114,109,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,97,110,121,32,99,111,108,117,109,110,32,105,110,32,116,104,101,32,114,101,115,117,108,116,32,115,101,116,0,37, +114,32,37,115,32,66,89,32,116,101,114,109,32,111,117,116,32,111,102,32,114,97,110,103,101,32,45,32,115,104,111,117,108,100,32,98,101,32,98,101,116,119,101,101,110,32,49,32,97,110,100,32,37,100,0,97,108,108,32,86,65,76,85,69,83,32,109,117,115,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,116,101,114,109,115,0,83,69,76,69,67,84,115,32,116,111,32,116,104,101,32,108,101,102,116,32,97,110,100,32,114,105,103,104,116,32,111,102,32,37,115,32,100,111,32,110, +111,116,32,104,97,118,101,32,116,104,101,32,115,97,109,101,32,110,117,109,98,101,114,32,111,102,32,114,101,115,117,108,116,32,99,111,108,117,109,110,115,0,85,78,73,79,78,32,65,76,76,0,73,78,84,69,82,83,69,67,84,0,69,88,67,69,80,84,0,85,78,73,79,78,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,37,115,32,66,89,32,99,108,97,117,115,101,0,69,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32, +100,101,112,116,104,32,37,100,41,0,116,104,101,32,34,46,34,32,111,112,101,114,97,116,111,114,0,115,101,99,111,110,100,32,97,114,103,117,109,101,110,116,32,116,111,32,108,105,107,101,108,105,104,111,111,100,40,41,32,109,117,115,116,32,98,101,32,97,32,99,111,110,115,116,97,110,116,32,98,101,116,119,101,101,110,32,48,46,48,32,97,110,100,32,49,46,48,0,110,111,116,32,97,117,116,104,111,114,105,122,101,100,32,116,111,32,117,115,101,32,102,117,110,99,116,105,111,110,58,32,37,115,0,110,111,110,45,100,101, +116,101,114,109,105,110,105,115,116,105,99,32,102,117,110,99,116,105,111,110,115,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,110,111,32,115,117,99,104,32,102,117,110,99,116,105,111,110,58,32,37,46,42,115,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,37,46,42,115,40,41,0,115,117,98,113,117,101,114,105,101,115,0,112, +97,114,97,109,101,116,101,114,115,0,114,111,119,32,118,97,108,117,101,32,109,105,115,117,115,101,100,0,112,97,114,116,105,97,108,32,105,110,100,101,120,32,87,72,69,82,69,32,99,108,97,117,115,101,115,0,105,110,100,101,120,32,101,120,112,114,101,115,115,105,111,110,115,0,67,72,69,67,75,32,99,111,110,115,116,114,97,105,110,116,115,0,37,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,37,115,0,110,101,119,0,111,108,100,0,109,105,115,117,115,101,32,111,102,32,97,108,105,97,115,101,100,32,97, +103,103,114,101,103,97,116,101,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,0,97,109,98,105,103,117,111,117,115,32,99,111,108,117,109,110,32,110,97,109,101,0,37,115,58,32,37,115,46,37,115,46,37,115,0,82,79,87,73,68,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,97,99,99,101,115,115,32,116,111,32,37,115,46,37,115,32,105,115,32,112,114,111,104,105,98,105,116,101,100,0,95,82,79,87,73,68,95,0,79,73,68,0,115,113, +108,105,116,101,95,115,113,95,37,112,0,116,111,111,32,109,97,110,121,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,34,37,115,34,58,32,109,97,120,32,54,53,53,51,53,0,42,0,37,115,46,37,115,0,37,115,46,37,115,46,37,115,0,110,111,32,115,117,99,104,32,116,97,98,108,101,58,32,37,115,0,110,111,32,116,97,98,108,101,115,32,115,112,101,99,105,102,105,101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,114,101,115,117,108,116,32,115,101,116,0,97,32,78,65,84,85,82,65, +76,32,106,111,105,110,32,109,97,121,32,110,111,116,32,104,97,118,101,32,97,110,32,79,78,32,111,114,32,85,83,73,78,71,32,99,108,97,117,115,101,0,99,97,110,110,111,116,32,104,97,118,101,32,98,111,116,104,32,79,78,32,97,110,100,32,85,83,73,78,71,32,99,108,97,117,115,101,115,32,105,110,32,116,104,101,32,115,97,109,101,32,106,111,105,110,0,99,97,110,110,111,116,32,106,111,105,110,32,117,115,105,110,103,32,99,111,108,117,109,110,32,37,115,32,45,32,99,111,108,117,109,110,32,110,111,116,32,112,114,101,115, +101,110,116,32,105,110,32,98,111,116,104,32,116,97,98,108,101,115,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,115,0,39,37,115,39,32,105,115,32,110,111,116,32,97,32,102,117,110,99,116,105,111,110,0,109,117,108,116,105,112,108,101,32,114,101,102,101,114,101,110,99,101,115,32,116,111,32,114,101,99,117,114,115,105,118,101,32,116,97,98,108,101,58,32,37,115,0,99,105,114,99,117,108,97,114,32,114,101,102,101,114,101,110,99,101,58,32,37,115,0,116,97,98,108,101,32,37,115,32,104,97,115,32,37, +100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111,108,117,109,110,115,0,109,117,108,116,105,112,108,101,32,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,115,58,32,37,115,0,114,101,99,117,114,115,105,118,101,32,114,101,102,101,114,101,110,99,101,32,105,110,32,97,32,115,117,98,113,117,101,114,121,58,32,37,115,0,110,111,32,115,117,99,104,32,109,111,100,117,108,101,58,32,37,115,0,111,98,106,101,99,116,32,110,97,109,101,32,114,101,115,101,114,118,101,100,32,102, +111,114,32,105,110,116,101,114,110,97,108,32,117,115,101,58,32,37,115,0,99,111,114,114,117,112,116,32,100,97,116,97,98,97,115,101,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,32,37,84,0,105,100,120,0,116,98,108,0,115,113,108,105,116,101,95,37,0,66,66,66,0,115,116,97,116,95,103,101,116,0,37,108,108,117,0,32,37,108,108,117,0,115,116,97,116,95,112,117,115,104,0,115,116,97,116,95,105,110,105,116,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,37,115,40,37,115,41,0,68,69,76,69,84,69, +32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,37,115,61,37,81,0,116,98,108,44,105,100,120,44,115,116,97,116,0,115,113,108,105,116,101,95,115,116,97,116,51,0,115,113,108,105,116,101,95,115,116,97,116,52,0,117,110,97,98,108,101,32,116,111,32,105,100,101,110,116,105,102,121,32,116,104,101,32,111,98,106,101,99,116,32,116,111,32,98,101,32,114,101,105,110,100,101,120,101,100,0,105,110,100,101,120,32,39,37,113,39,0,44,32,0,109,105,115,117,115,101,32,111,102,32,97,103,103,114,101,103,97,116,101, +58,32,37,115,40,41,0,117,110,107,110,111,119,110,32,102,117,110,99,116,105,111,110,58,32,37,115,40,41,0,82,65,73,83,69,40,41,32,109,97,121,32,111,110,108,121,32,98,101,32,117,115,101,100,32,119,105,116,104,105,110,32,97,32,116,114,105,103,103,101,114,45,112,114,111,103,114,97,109,0,85,83,73,78,71,32,73,78,68,69,88,32,37,115,32,70,79,82,32,73,78,45,79,80,69,82,65,84,79,82,0,67,79,82,82,69,76,65,84,69,68,32,0,76,73,83,84,0,83,67,65,76,65,82,0,69,88,69,67,85,84,69,32,37,115,37,115,32,83,85,66,81,85, +69,82,89,32,37,100,0,115,117,98,45,115,101,108,101,99,116,32,114,101,116,117,114,110,115,32,37,100,32,99,111,108,117,109,110,115,32,45,32,101,120,112,101,99,116,101,100,32,37,100,0,48,120,0,104,101,120,32,108,105,116,101,114,97,108,32,116,111,111,32,98,105,103,58,32,37,115,0,115,113,108,105,116,101,95,100,101,116,97,99,104,0,110,111,32,115,117,99,104,32,100,97,116,97,98,97,115,101,58,32,37,115,0,99,97,110,110,111,116,32,100,101,116,97,99,104,32,100,97,116,97,98,97,115,101,32,37,115,0,99,97,110,110, +111,116,32,68,69,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,108,111,99,107,101,100,0,115,113,108,105,116,101,95,97,116,116,97,99,104,0,116,111,111,32,109,97,110,121,32,97,116,116,97,99,104,101,100,32,100,97,116,97,98,97,115,101,115,32,45,32,109,97,120,32,37,100,0,99,97,110,110,111,116,32,65,84,84,65,67,72,32,100,97,116,97,98,97,115,101,32,119,105,116,104,105,110,32,116,114, +97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,37,115,32,105,115,32,97,108,114,101,97,100,121,32,105,110,32,117,115,101,0,100,97,116,97,98,97,115,101,32,105,115,32,97,108,114,101,97,100,121,32,97,116,116,97,99,104,101,100,0,117,110,97,98,108,101,32,116,111,32,111,112,101,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,102,105,108,101,58,0,108,111,99,97,108,104,111,115,116,0,105,110,118,97,108,105,100,32,117,114,105,32,97,117,116,104,111,114,105,116,121,58,32,37,46,42,115,0,118, +102,115,0,99,97,99,104,101,0,109,111,100,101,0,110,111,32,115,117,99,104,32,37,115,32,109,111,100,101,58,32,37,115,0,37,115,32,109,111,100,101,32,110,111,116,32,97,108,108,111,119,101,100,58,32,37,115,0,110,111,32,115,117,99,104,32,118,102,115,58,32,37,115,0,114,111,0,114,119,0,114,119,99,0,109,101,109,111,114,121,0,115,104,97,114,101,100,0,112,114,105,118,97,116,101,0,110,111,32,115,117,99,104,32,116,114,105,103,103,101,114,58,32,37,83,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87, +72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,116,114,105,103,103,101,114,39,0,116,101,109,112,111,114,97,114,121,32,116,114,105,103,103,101,114,32,109,97,121,32,110,111,116,32,104,97,118,101,32,113,117,97,108,105,102,105,101,100,32,110,97,109,101,0,116,114,105,103,103,101,114,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,115,32,111,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,115,0,116,114,105,103,103,101,114,32,37,84,32,97, +108,114,101,97,100,121,32,101,120,105,115,116,115,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,116,114,105,103,103,101,114,32,111,110,32,115,121,115,116,101,109,32,116,97,98,108,101,0,66,69,70,79,82,69,0,65,70,84,69,82,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,37,115,32,116,114,105,103,103,101,114,32,111,110,32,118,105,101,119,58,32,37,83,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,73,78,83,84,69,65,68,32,79,70,32,116,114,105,103,103,101,114,32,111,110,32,116,97,98,108,101, +58,32,37,83,0,37,115,32,37,84,32,99,97,110,110,111,116,32,114,101,102,101,114,101,110,99,101,32,111,98,106,101,99,116,115,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,0,37,115,32,99,97,110,110,111,116,32,117,115,101,32,118,97,114,105,97,98,108,101,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,116,114,105,103,103,101,114,39,44,37,81,44,37,81,44,48,44,39,67,82,69,65,84,69,32,84,82,73,71,71,69,82,32,37,113,39,41,0,116,121,112,101,61,39,116,114,105,103,103, +101,114,39,32,65,78,68,32,110,97,109,101,61,39,37,113,39,0,45,37,84,0,114,101,115,117,108,116,0,99,97,99,104,101,95,115,105,122,101,0,2,0,0,0,101,0,1,3,66,1,8,0,76,0,2,0,48,1,2,1,66,1,8,0,76,0,1,0,161,0,0,0,87,1,1,0,112,97,103,101,95,115,105,122,101,0,115,101,99,117,114,101,95,100,101,108,101,116,101,0,110,111,114,109,97,108,0,101,120,99,108,117,115,105,118,101,0,108,111,99,107,105,110,103,95,109,111,100,101,0,106,111,117,114,110,97,108,95,109,111,100,101,0,106,111,117,114,110,97,108,95,115,105,122, +101,95,108,105,109,105,116,0,97,117,116,111,95,118,97,99,117,117,109,0,2,0,1,0,101,0,1,4,21,1,0,0,75,0,2,0,102,0,7,0,99,97,99,104,101,95,115,112,105,108,108,0,109,109,97,112,95,115,105,122,101,0,116,101,109,112,95,115,116,111,114,101,0,116,101,109,112,95,115,116,111,114,101,95,100,105,114,101,99,116,111,114,121,0,110,111,116,32,97,32,119,114,105,116,97,98,108,101,32,100,105,114,101,99,116,111,114,121,0,115,121,110,99,104,114,111,110,111,117,115,0,83,97,102,101,116,121,32,108,101,118,101,108,32,109, +97,121,32,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,105,110,115,105,100,101,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,105,115,115,105,115,105,0,115,115,105,105,0,115,105,105,0,105,105,115,0,105,115,105,0,105,115,105,115,105,0,105,115,115,0,105,115,0,105,105,115,115,115,115,115,115,0,78,79,78,69,0,115,105,0,105,110,116,101,103,114,105,116,121,95,99,104,101,99,107,0,42,42,42,32,105,110,32,100,97,116,97,98,97,115,101,32,37,115,32,42,42,42,10,0,78,85,76,76,32,118,97,108,117,101, +32,105,110,32,37,115,46,37,115,0,114,111,119,32,0,32,109,105,115,115,105,110,103,32,102,114,111,109,32,105,110,100,101,120,32,0,110,111,110,45,117,110,105,113,117,101,32,101,110,116,114,121,32,105,110,32,105,110,100,101,120,32,0,119,114,111,110,103,32,35,32,111,102,32,101,110,116,114,105,101,115,32,105,110,32,105,110,100,101,120,32,0,91,1,0,0,21,1,4,0,97,0,3,0,87,3,1,0,111,107,0,101,110,99,111,100,105,110,103,0,117,110,115,117,112,112,111,114,116,101,100,32,101,110,99,111,100,105,110,103,58,32,37, +115,0,2,0,1,0,102,0,0,0,2,0,0,0,101,0,1,0,87,1,1,0,99,111,109,112,105,108,101,95,111,112,116,105,111,110,0,102,117,108,108,0,114,101,115,116,97,114,116,0,116,114,117,110,99,97,116,101,0,119,97,108,95,97,117,116,111,99,104,101,99,107,112,111,105,110,116,0,116,105,109,101,111,117,116,0,115,111,102,116,95,104,101,97,112,95,108,105,109,105,116,0,116,104,114,101,97,100,115,0,117,110,107,110,111,119,110,32,100,97,116,97,98,97,115,101,58,32,37,115,0,98,117,115,121,0,108,111,103,0,99,104,101,99,107,112,111, +105,110,116,101,100,0,85,84,70,56,0,85,84,70,45,56,0,85,84,70,45,49,54,108,101,0,85,84,70,45,49,54,98,101,0,85,84,70,49,54,108,101,0,85,84,70,49,54,98,101,0,85,84,70,45,49,54,0,85,84,70,49,54,0,37,95,0,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,117,115,101,114,45,102,117,110,99,116,105,111,110,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101,109,101,110,116,115,0,102,111,114,101,105,103,110,32,107,101,121,32,109,105,115,109, +97,116,99,104,32,45,32,34,37,119,34,32,114,101,102,101,114,101,110,99,105,110,103,32,34,37,119,34,0,116,97,98,108,101,0,112,97,114,101,110,116,0,102,107,105,100,0,83,69,84,32,78,85,76,76,0,83,69,84,32,68,69,70,65,85,76,84,0,67,65,83,67,65,68,69,0,82,69,83,84,82,73,67,84,0,78,79,32,65,67,84,73,79,78,0,105,100,0,115,101,113,0,116,111,0,111,110,95,117,112,100,97,116,101,0,111,110,95,100,101,108,101,116,101,0,109,97,116,99,104,0,110,97,109,101,0,102,105,108,101,0,99,0,117,0,112,107,0,117,110,105,113, +117,101,0,111,114,105,103,105,110,0,112,97,114,116,105,97,108,0,115,101,113,110,111,0,99,105,100,0,100,101,115,99,0,99,111,108,108,0,107,101,121,0,105,110,100,101,120,0,119,105,100,116,104,0,104,101,105,103,104,116,0,116,121,112,101,0,110,111,116,110,117,108,108,0,100,102,108,116,95,118,97,108,117,101,0,116,101,109,112,111,114,97,114,121,32,115,116,111,114,97,103,101,32,99,97,110,110,111,116,32,98,101,32,99,104,97,110,103,101,100,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110, +115,97,99,116,105,111,110,0,110,111,110,101,0,105,110,99,114,101,109,101,110,116,97,108,0,100,101,108,101,116,101,0,112,101,114,115,105,115,116,0,111,102,102,0,119,97,108,0,0,0,0,1,1,1,1,1,0,16,0,1,0,1,1,1,3,3,1,18,1,3,3,9,9,9,9,38,38,9,9,9,9,9,3,3,11,11,11,11,11,11,1,38,38,38,38,38,38,38,38,38,38,1,18,1,1,1,1,1,1,1,35,11,1,1,3,3,3,1,1,1,2,2,8,0,16,16,16,16,0,16,16,0,0,16,16,0,0,0,0,2,2,2,0,0,0,16,0,0,16,16,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,16,0,4,4,0,0,16,16,0,16,0,16,16,0,0,0,0,0,0,6, +16,0,4,26,0,0,0,0,0,0,0,0,0,0,0,16,16,0,0,0,97,112,112,108,105,99,97,116,105,111,110,95,105,100,0,97,117,116,111,109,97,116,105,99,95,105,110,100,101,120,0,98,117,115,121,95,116,105,109,101,111,117,116,0,99,97,115,101,95,115,101,110,115,105,116,105,118,101,95,108,105,107,101,0,99,101,108,108,95,115,105,122,101,95,99,104,101,99,107,0,99,104,101,99,107,112,111,105,110,116,95,102,117,108,108,102,115,121,110,99,0,99,111,108,108,97,116,105,111,110,95,108,105,115,116,0,99,111,109,112,105,108,101,95,111, +112,116,105,111,110,115,0,99,111,117,110,116,95,99,104,97,110,103,101,115,0,100,97,116,97,95,118,101,114,115,105,111,110,0,100,97,116,97,98,97,115,101,95,108,105,115,116,0,100,101,102,97,117,108,116,95,99,97,99,104,101,95,115,105,122,101,0,100,101,102,101,114,95,102,111,114,101,105,103,110,95,107,101,121,115,0,101,109,112,116,121,95,114,101,115,117,108,116,95,99,97,108,108,98,97,99,107,115,0,102,111,114,101,105,103,110,95,107,101,121,95,99,104,101,99,107,0,102,111,114,101,105,103,110,95,107,101,121, +95,108,105,115,116,0,102,111,114,101,105,103,110,95,107,101,121,115,0,102,114,101,101,108,105,115,116,95,99,111,117,110,116,0,102,117,108,108,95,99,111,108,117,109,110,95,110,97,109,101,115,0,102,117,108,108,102,115,121,110,99,0,105,103,110,111,114,101,95,99,104,101,99,107,95,99,111,110,115,116,114,97,105,110,116,115,0,105,110,99,114,101,109,101,110,116,97,108,95,118,97,99,117,117,109,0,105,110,100,101,120,95,105,110,102,111,0,105,110,100,101,120,95,108,105,115,116,0,105,110,100,101,120,95,120,105, +110,102,111,0,108,101,103,97,99,121,95,102,105,108,101,95,102,111,114,109,97,116,0,109,97,120,95,112,97,103,101,95,99,111,117,110,116,0,112,97,103,101,95,99,111,117,110,116,0,113,117,101,114,121,95,111,110,108,121,0,113,117,105,99,107,95,99,104,101,99,107,0,114,101,97,100,95,117,110,99,111,109,109,105,116,116,101,100,0,114,101,99,117,114,115,105,118,101,95,116,114,105,103,103,101,114,115,0,114,101,118,101,114,115,101,95,117,110,111,114,100,101,114,101,100,95,115,101,108,101,99,116,115,0,115,99,104, +101,109,97,95,118,101,114,115,105,111,110,0,115,104,111,114,116,95,99,111,108,117,109,110,95,110,97,109,101,115,0,115,104,114,105,110,107,95,109,101,109,111,114,121,0,115,116,97,116,115,0,116,97,98,108,101,95,105,110,102,111,0,117,115,101,114,95,118,101,114,115,105,111,110,0,119,97,108,95,99,104,101,99,107,112,111,105,110,116,0,119,114,105,116,97,98,108,101,95,115,99,104,101,109,97,0,110,111,32,115,117,99,104,32,105,110,100,101,120,58,32,37,83,0,105,110,100,101,120,32,97,115,115,111,99,105,97,116, +101,100,32,119,105,116,104,32,85,78,73,81,85,69,32,111,114,32,80,82,73,77,65,82,89,32,75,69,89,32,99,111,110,115,116,114,97,105,110,116,32,99,97,110,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,37,115,32,87,72,69,82,69,32,110,97,109,101,61,37,81,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,114,111,111,116,112,97,103,101,61,37,100,32,87,72,69,82,69,32,35,37,100,32,65,78,68,32, +114,111,111,116,112,97,103,101,61,35,37,100,0,115,113,108,105,116,101,95,115,116,97,116,37,100,0,115,121,110,116,97,120,32,101,114,114,111,114,32,97,102,116,101,114,32,99,111,108,117,109,110,32,110,97,109,101,32,34,37,46,42,115,34,0,48,0,118,97,114,105,97,98,108,101,32,110,117,109,98,101,114,32,109,117,115,116,32,98,101,32,98,101,116],"i8",4,n.G+20480); +z([119,101,101,110,32,63,49,32,97,110,100,32,63,37,100,0,116,111,111,32,109,97,110,121,32,83,81,76,32,118,97,114,105,97,98,108,101,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,110,111,32,99,111,108,117,109,110,32,110,97,109,101,100,32,37,115,0,116,97,98,108,101,32,37,83,32,104,97,115,32,37,100,32,99,111,108,117,109,110,115,32,98,117,116,32,37,100,32,118,97,108,117,101,115,32,119,101,114,101,32,115,117,112,112,108,105,101,100,0,37,100,32,118,97,108,117,101,115,32,102,111,114,32,37,100,32,99,111, +108,117,109,110,115,0,114,111,119,115,32,105,110,115,101,114,116,101,100,0,35,0,2,0,114,0,0,0,99,0,2,0,115,0,0,0,111,0,0,0,97,116,32,109,111,115,116,32,37,100,32,116,97,98,108,101,115,32,105,110,32,97,32,106,111,105,110,0,26,24,23,25,0,0,57,53,26,23,25,24,61,59,58,60,7,6,57,53,83,69,65,82,67,72,0,83,67,65,78,0,32,83,85,66,81,85,69,82,89,32,37,100,0,32,84,65,66,76,69,32,37,115,0,32,65,83,32,37,115,0,80,82,73,77,65,82,89,32,75,69,89,0,65,85,84,79,77,65,84,73,67,32,80,65,82,84,73,65,76,32,67,79,86,69, +82,73,78,71,32,73,78,68,69,88,0,65,85,84,79,77,65,84,73,67,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,0,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,37,115,0,73,78,68,69,88,32,37,115,0,32,85,83,73,78,71,32,0,61,0,62,63,32,65,78,68,32,114,111,119,105,100,60,0,62,0,60,0,32,85,83,73,78,71,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,32,40,114,111,119,105,100,37,115,63,41,0,32,86,73,82,84,85,65,76,32,84,65,66,76,69,32,73,78,68,69,88,32,37,100,58,37,115,0,32,40,0,32,65,78,68,32,0,37,115, +61,63,0,65,78,89,40,37,115,41,0,41,0,40,0,60,101,120,112,114,62,0,97,117,116,111,109,97,116,105,99,32,105,110,100,101,120,32,111,110,32,37,115,40,37,115,41,0,97,117,116,111,45,105,110,100,101,120,0,110,111,32,113,117,101,114,121,32,115,111,108,117,116,105,111,110,0,10,10,9,9,8,8,7,7,7,6,6,6,5,5,5,4,4,4,4,3,3,3,3,3,3,2,2,2,2,2,2,2,37,115,46,120,66,101,115,116,73,110,100,101,120,32,109,97,108,102,117,110,99,116,105,111,110,0,41,39,78,79,67,65,83,69,0,66,73,78,65,82,89,0,114,101,103,101,120,112,0,116, +111,111,32,109,97,110,121,32,97,114,103,117,109,101,110,116,115,32,111,110,32,37,115,40,41,32,45,32,109,97,120,32,37,100,0,45,45,32,84,82,73,71,71,69,82,32,37,115,0,0,1,2,3,4,6,8,8,0,0,0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49,50,50,51,51,52,52,53,53,54,54,55, +55,56,56,57,57,37,115,46,114,111,119,105,100,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,109,111,100,105,102,105,101,100,0,99,97,110,110,111,116,32,109,111,100,105,102,121,32,37,115,32,98,101,99,97,117,115,101,32,105,116,32,105,115,32,97,32,118,105,101,119,0,37,100,32,99,111,108,117,109,110,115,32,97,115,115,105,103,110,101,100,32,37,100,32,118,97,108,117,101,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,37,115,0,114,111,119,115,32,117,112,100,97,116, +101,100,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,105,110,32,37,115,0,114,111,119,115,32,100,101,108,101,116,101,100,0,0,7,4,6,4,40,10,5,32,14,5,48,19,4,56,23,5,1,28,5,3,110,97,116,117,114,97,108,101,102,116,111,117,116,101,114,105,103,104,116,102,117,108,108,105,110,110,101,114,99,114,111,115,115,0,117,110,107,110,111,119,110,32,111,114,32,117,110,115,117,112,112,111,114,116,101,100,32,106,111,105,110,32,116,121,112,101,58,32,37,84,32,37,84,37,115,37,84,0,82,73,71,72,84,32, +97,110,100,32,70,85,76,76,32,79,85,84,69,82,32,74,79,73,78,115,32,97,114,101,32,110,111,116,32,99,117,114,114,101,110,116,108,121,32,115,117,112,112,111,114,116,101,100,0,79,78,0,85,83,73,78,71,0,97,32,74,79,73,78,32,99,108,97,117,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,98,101,102,111,114,101,32,37,115,0,116,111,111,32,109,97,110,121,32,116,101,114,109,115,32,105,110,32,99,111,109,112,111,117,110,100,32,83,69,76,69,67,84,0,101,120,112,101,99,116,101,100,32,37,100,32,99,111,108,117, +109,110,115,32,102,111,114,32,39,37,115,39,32,98,117,116,32,103,111,116,32,37,100,0,68,73,83,84,73,78,67,84,0,71,82,79,85,80,32,66,89,0,82,73,71,72,84,32,80,65,82,84,32,79,70,32,79,82,68,69,82,32,66,89,0,79,82,68,69,82,32,66,89,0,99,111,108,117,109,110,37,100,0,32,85,83,73,78,71,32,67,79,86,69,82,73,78,71,32,73,78,68,69,88,32,0,83,67,65,78,32,84,65,66,76,69,32,37,115,37,115,37,115,0,68,73,83,84,73,78,67,84,32,97,103,103,114,101,103,97,116,101,115,32,109,117,115,116,32,104,97,118,101,32,101,120,97, +99,116,108,121,32,111,110,101,32,97,114,103,117,109,101,110,116,0,85,83,69,32,84,69,77,80,32,66,45,84,82,69,69,32,70,79,82,32,37,115,0,79,82,68,69,82,32,66,89,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,76,73,77,73,84,32,99,108,97,117,115,101,32,115,104,111,117,108,100,32,99,111,109,101,32,97,102,116,101,114,32,37,115,32,110,111,116,32,98,101,102,111,114,101,0,85,83,73,78,71,32,84,69,77,80,32,66,45, +84,82,69,69,32,0,67,79,77,80,79,85,78,68,32,83,85,66,81,85,69,82,73,69,83,32,37,100,32,65,78,68,32,37,100,32,37,115,40,37,115,41,0,114,101,99,117,114,115,105,118,101,32,97,103,103,114,101,103,97,116,101,32,113,117,101,114,105,101,115,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,112,97,114,97,109,101,116,101,114,115,32,97,114,101,32,110,111,116,32,97,108,108,111,119,101,100,32,105,110,32,118,105,101,119,115,0,118,105,101,119,0,115,113,108,105,116,101,95,115,116,97,116,0,116,97,98,108,101, +32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,100,114,111,112,112,101,100,0,117,115,101,32,68,82,79,80,32,84,65,66,76,69,32,116,111,32,100,101,108,101,116,101,32,116,97,98,108,101,32,37,115,0,117,115,101,32,68,82,79,80,32,86,73,69,87,32,116,111,32,100,101,108,101,116,101,32,118,105,101,119,32,37,115,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,32,87,72,69,82,69,32,110,97,109,101,61,37,81,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81, +46,37,115,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,37,81,32,97,110,100,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,102,111,114,101,105,103,110,32,107,101,121,32,111,110,32,37,115,32,115,104,111,117,108,100,32,114,101,102,101,114,101,110,99,101,32,111,110,108,121,32,111,110,101,32,99,111,108,117,109,110,32,111,102,32,116,97,98,108,101,32,37,84,0,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100, +111,101,115,32,110,111,116,32,109,97,116,99,104,32,116,104,101,32,110,117,109,98,101,114,32,111,102,32,99,111,108,117,109,110,115,32,105,110,32,116,104,101,32,114,101,102,101,114,101,110,99,101,100,32,116,97,98,108,101,0,117,110,107,110,111,119,110,32,99,111,108,117,109,110,32,34,37,115,34,32,105,110,32,102,111,114,101,105,103,110,32,107,101,121,32,100,101,102,105,110,105,116,105,111,110,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,97,32,84,69,77,80,32,105,110,100,101,120,32,111,110,32,110, +111,110,45,84,69,77,80,32,116,97,98,108,101,32,34,37,115,34,0,97,108,116,101,114,116,97,98,95,0,116,97,98,108,101,32,37,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,101,119,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,118,105,114,116,117,97,108,32,116,97,98,108,101,115,32,109,97,121,32,110,111,116,32,98,101,32,105,110,100,101,120,101,100,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,32,116,97,98,108,101,32, +110,97,109,101,100,32,37,115,0,105,110,100,101,120,32,37,115,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,115,113,108,105,116,101,95,97,117,116,111,105,110,100,101,120,95,37,115,95,37,100,0,101,120,112,114,101,115,115,105,111,110,115,32,112,114,111,104,105,98,105,116,101,100,32,105,110,32,80,82,73,77,65,82,89,32,75,69,89,32,97,110,100,32,85,78,73,81,85,69,32,99,111,110,115,116,114,97,105,110,116,115,0,99,111,110,102,108,105,99,116,105,110,103,32,79,78,32,67,79,78,70,76,73,67,84,32,99, +108,97,117,115,101,115,32,115,112,101,99,105,102,105,101,100,0,32,85,78,73,81,85,69,0,67,82,69,65,84,69,37,115,32,73,78,68,69,88,32,37,46,42,115,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,37,115,32,86,65,76,85,69,83,40,39,105,110,100,101,120,39,44,37,81,44,37,81,44,35,37,100,44,37,81,41,59,0,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,61,39,105,110,100,101,120,39,0,116,97,98,108,101,32,34,37,115,34,32,104,97,115,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,112,114, +105,109,97,114,121,32,107,101,121,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,105,115,32,111,110,108,121,32,97,108,108,111,119,101,100,32,111,110,32,97,110,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,100,101,102,97,117,108,116,32,118,97,108,117,101,32,111,102,32,99,111,108,117,109,110,32,91,37,115,93,32,105,115,32,110,111,116,32,99,111,110,115,116,97,110,116,0,116,111,111,32,109,97,110,121,32,99,111,108,117,109,110,115,32,111,110,32,37,115,0,100,117,112,108,105,99,97,116,101,32, +99,111,108,117,109,110,32,110,97,109,101,58,32,37,115,0,65,85,84,79,73,78,67,82,69,77,69,78,84,32,110,111,116,32,97,108,108,111,119,101,100,32,111,110,32,87,73,84,72,79,85,84,32,82,79,87,73,68,32,116,97,98,108,101,115,0,80,82,73,77,65,82,89,32,75,69,89,32,109,105,115,115,105,110,103,32,111,110,32,116,97,98,108,101,32,37,115,0,84,65,66,76,69,0,86,73,69,87,0,67,82,69,65,84,69,32,37,115,32,37,46,42,115,0,85,80,68,65,84,69,32,37,81,46,37,115,32,83,69,84,32,116,121,112,101,61,39,37,115,39,44,32,110,97, +109,101,61,37,81,44,32,116,98,108,95,110,97,109,101,61,37,81,44,32,114,111,111,116,112,97,103,101,61,35,37,100,44,32,115,113,108,61,37,81,32,87,72,69,82,69,32,114,111,119,105,100,61,35,37,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,40,110,97,109,101,44,115,101,113,41,0,116,98,108,95,110,97,109,101,61,39,37,113,39,32,65,78,68,32,116,121,112,101,33,61,39,116,114,105,103,103,101,114,39,0,10,32,32,0,44,10,32,32,0,10,41,0,67,82,69,65, +84,69,32,84,65,66,76,69,32,0,32,84,69,88,84,0,32,78,85,77,0,32,73,78,84,0,32,82,69,65,76,0,116,101,109,112,111,114,97,114,121,32,116,97,98,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101,32,117,110,113,117,97,108,105,102,105,101,100,0,2,4,8,6,116,97,98,108,101,32,37,84,32,97,108,114,101,97,100,121,32,101,120,105,115,116,115,0,116,104,101,114,101,32,105,115,32,97,108,114,101,97,100,121,32,97,110,32,105,110,100,101,120,32,110,97,109,101,100,32,37,115,0,6,0,0,0,0,0,66,69,71,73,78,0,82,69,76,69, +65,83,69,0,82,79,76,76,66,65,67,75,0,67,79,77,77,73,84,0,79,0,0,0,57,0,9,0,96,0,0,0,36,0,7,0,123,0,0,0,96,0,1,0,13,0,9,0,7,0,2,0,76,0,0,0,111,0,0,0,112,97,114,115,101,114,32,115,116,97,99,107,32,111,118,101,114,102,108,111,119,0,19,95,53,97,22,24,24,101,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,55,55,132,133,134,1,2,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43,44,45,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,61,97,97,19,49,50,51,52,53,70,26,27,28, +29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,144,145,146,147,19,16,22,92,172,173,52,53,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,81,43,44,45,46,47,48,49,50,51,52,53,55,56,19,152,207,208,115,24,117,118,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,79,43,44,45,46,47,48,49,50,51,52,53,19,88,157,90,23,97,98,193,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,22,23,172,23,26,119,120,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,187,43, +44,45,46,47,48,49,50,51,52,53,19,22,23,228,23,26,231,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,172,43,44,45,46,47,48,49,50,51,52,53,19,221,222,223,23,96,152,172,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,0,1,2,23,96,190,191,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,238,43,44,45,46,47,48,49,50,51,52,53,19,185,218,221,222,223,152,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,241,43,44,45,46,47,48,49,50,51,52,53,19,152,168,169,170,22,190,191,27, +28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,19,218,55,56,24,22,152,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,250,194,195,56,55,56,55,19,172,173,97,98,152,206,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,207,208,152,97,98,97,138,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,181,43,44,45,46,47,48,49,50,51,52,53,19,30,31,32,33,247,248,19,152,28,29,30,31,32,33,34,35,36,37,38,39,40, +41,152,43,44,45,46,47,48,49,50,51,52,53,19,168,169,170,238,19,53,152,172,173,29,30,31,32,33,34,35,36,37,38,39,40,41,152,43,44,45,46,47,48,49,50,51,52,53,19,20,101,22,23,169,170,56,207,85,55,56,23,19,20,26,22,99,100,101,102,103,104,105,238,152,152,210,47,48,112,152,108,109,110,54,55,56,221,222,223,47,48,119,120,172,173,66,54,55,56,152,97,98,99,148,149,102,103,104,66,154,23,156,83,26,230,152,113,152,163,194,195,92,92,30,95,83,97,98,207,208,101,206,179,180,92,172,173,95,152,97,98,188,99,101,219,102, +103,104,152,119,120,196,55,56,19,20,113,22,193,163,11,132,133,134,135,136,24,65,172,173,207,208,250,152,132,133,134,135,136,193,78,84,47,48,49,98,199,152,86,54,55,56,196,152,97,98,209,55,163,244,107,66,152,207,208,164,175,172,173,19,20,124,22,111,38,39,40,41,83,43,44,45,46,47,48,49,50,51,52,53,95,196,97,98,85,152,101,47,48,97,85,92,207,193,54,55,56,92,49,175,55,56,221,222,223,12,66,108,109,110,137,163,139,108,109,110,26,132,133,134,135,136,152,83,43,44,45,46,47,48,49,50,51,52,53,95,26,97,98,55,56, +101,97,98,196,221,222,223,146,147,57,171,152,22,26,19,20,49,22,179,108,109,110,55,56,116,73,219,75,124,121,152,132,133,134,135,136,163,85,152,232,97,98,47,48,237,55,56,98,5,54,55,56,193,10,11,12,13,14,172,173,17,66,47,48,97,98,152,124,152,196,55,56,186,124,152,106,160,152,83,152,164,152,61,22,211,212,152,97,98,152,95,70,97,98,172,173,101,172,173,172,173,172,173,60,181,62,172,173,47,48,123,186,97,98,71,100,55,56,152,181,186,21,107,152,109,82,163,132,133,134,135,136,89,16,207,92,93,19,172,173,169,170, +195,55,56,12,152,132,30,134,47,48,186,206,225,152,95,114,97,196,245,246,101,152,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,152,163,219,152,141,97,98,193,152,152,57,91,164,132,133,134,152,55,152,152,237,230,152,103,193,88,73,90,75,172,173,183,152,185,196,152,172,173,172,173,217,152,172,173,152,107,22,152,24,193,112,152,172,173,152,132,242,134,152,97,140,152,92,152,172,173,152,172,173,152,100,172,173,152,172,173,152,140,172,173,152,172,173,172,173,152,172,173,152,172,173,152,152,172,173,152,172, +173,213,152,172,173,152,152,152,172,173,152,172,173,152,172,173,152,210,172,173,152,26,172,173,152,172,173,172,173,152,172,173,152,172,173,152,172,173,152,59,172,173,152,63,172,173,152,193,152,152,152,152,172,173,152,172,173,77,172,173,152,152,172,173,152,152,172,173,172,173,172,173,152,22,172,173,152,152,152,22,172,173,152,152,152,172,173,152,7,8,9,163,172,173,22,23,172,173,172,173,166,167,172,173,172,173,55,172,173,22,23,108,109,110,217,152,217,166,167,163,163,163,163,163,196,130,217,211,212,217, +116,23,22,101,26,121,23,23,23,26,26,26,23,23,112,26,26,37,97,100,101,55,196,196,196,196,196,23,23,55,26,26,7,8,23,152,23,26,96,26,132,132,134,134,23,152,152,26,152,122,152,191,152,96,234,152,152,152,152,152,197,210,152,97,152,152,210,233,210,198,150,97,184,201,239,214,214,201,239,180,214,227,200,198,155,67,243,176,69,175,175,175,122,159,159,240,159,240,22,220,27,130,201,18,159,18,189,158,158,220,192,159,137,236,192,192,192,189,74,189,159,235,159,158,22,177,201,201,159,107,158,177,159,174,158,76,174, +182,174,106,182,125,174,107,177,22,159,216,215,137,159,53,216,176,215,174,174,216,215,215,174,229,216,129,224,177,126,229,127,177,128,25,162,226,26,161,13,153,6,153,151,151,151,151,205,165,178,178,165,4,3,22,165,142,15,94,202,204,203,201,16,23,249,23,120,249,246,111,131,123,20,16,1,125,123,111,56,64,37,37,131,122,1,37,5,37,22,107,26,80,140,80,87,72,107,20,24,19,112,105,23,79,22,79,22,22,22,58,22,79,23,68,23,23,26,116,22,26,23,22,122,23,23,56,64,22,124,26,26,64,64,23,23,23,23,11,23,22,26,23,22,24, +1,23,22,26,251,24,23,22,122,23,23,22,15,122,122,122,23,0,0,55,55,55,55,0,55,55,55,0,55,55,55,55,0,0,0,55,0,0,55,0,0,0,55,0,0,0,0,55,55,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,117,110,111,112,101,110,101,100,0,37,115,32,99,111,110,115,116,114,97,105,110,116,32,102,97,105,108,101,100,0,37,122,58,32,37,115,0,97,98,111,114,116,32,97,116,32,37,100,32,105,110,32,91,37,115,93,58, +32,37,115,0,0,0,0,0,1,2,0,2,2,0,1,2,1,1,1,2,1,2,99,97,110,110,111,116,32,111,112,101,110,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,110,111,32,115,117,99,104,32,115,97,118,101,112,111,105,110,116,58,32,37,115,0,99,97,110,110,111,116,32,114,101,108,101,97,115,101,32,115,97,118,101,112,111,105,110,116,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101, +115,115,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,116,114,97,110,115,97,99,116,105,111,110,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,99,97,110,110,111,116,32,114,111,108,108,98,97,99,107,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118,101,0,99,97,110,110,111,116,32,99,111,109,109,105,116,32,45,32,110,111,32,116,114,97,110,115,97,99,116,105,111,110,32,105,115,32,97,99,116,105,118, +101,0,99,97,110,110,111,116,32,115,116,97,114,116,32,97,32,116,114,97,110,115,97,99,116,105,111,110,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,83,69,76,69,67,84,32,110,97,109,101,44,32,114,111,111,116,112,97,103,101,44,32,115,113,108,32,70,82,79,77,32,39,37,113,39,46,37,115,32,87,72,69,82,69,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,0,116,111,111,32,109,97,110,121,32,108,101,118,101,108,115,32,111,102,32,116,114,105,103,103,101,114,32,114,101, +99,117,114,115,105,111,110,0,105,110,116,111,0,111,117,116,32,111,102,0,99,97,110,110,111,116,32,99,104,97,110,103,101,32,37,115,32,119,97,108,32,109,111,100,101,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,100,97,116,97,98,97,115,101,32,116,97,98,108,101,32,105,115,32,108,111,99,107,101,100,58,32,37,115,0,115,116,97,116,101,109,101,110,116,32,97,98,111,114,116,115,32,97,116,32,37,100,58,32,91,37,115,93,32,37,115,0,45,45,32,0,39,37,46,42,113,39, +0,122,101,114,111,98,108,111,98,40,37,100,41,0,120,39,0,37,48,50,120,0,39,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,102,114,111,109,32,119,105,116,104,105,110,32,97,32,116,114,97,110,115,97,99,116,105,111,110,0,99,97,110,110,111,116,32,86,65,67,85,85,77,32,45,32,83,81,76,32,115,116,97,116,101,109,101,110,116,115,32,105,110,32,112,114,111,103,114,101,115,115,0,65,84,84,65,67,72,39,39,65,83,32,118,97,99,117,117,109,95,100,98,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46, +115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,110,97,109,101,60,62,39,115,113,108,105,116,101,95,115,101,113,117,101,110,99,101,39,32,65,78,68,32,99,111,97,108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,83,69,76,69,67,84,32,115,113,108,32,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,105,110,100,101,120,39,32,65,78,68, +32,108,101,110,103,116,104,40,115,113,108,41,62,49,48,0,83,69,76,69,67,84,39,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,124,124,39,32,83,69,76,69,67,84,42,70,82,79,77,34,37,119,34,46,39,124,124,113,117,111,116,101,40,110,97,109,101,41,70,82,79,77,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,99,111,97, +108,101,115,99,101,40,114,111,111,116,112,97,103,101,44,49,41,62,48,0,73,78,83,69,82,84,32,73,78,84,79,32,118,97,99,117,117,109,95,100,98,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,83,69,76,69,67,84,42,70,82,79,77,32,34,37,119,34,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,121,112,101,32,73,78,40,39,118,105,101,119,39,44,39,116,114,105,103,103,101,114,39,41,32,79,82,40,116,121,112,101,61,39,116,97,98,108,101,39,65,78,68,32,114,111,111,116,112,97,103, +101,61,48,41,0,1,1,3,0,5,0,6,0,8,0,77,97,105,110,32,102,114,101,101,108,105,115,116,58,32,0,80,97,103,101,32,37,100,32,105,115,32,110,101,118,101,114,32,117,115,101,100,0,80,111,105,110,116,101,114,32,109,97,112,32,112,97,103,101,32,37,100,32,105,115,32,114,101,102,101,114,101,110,99,101,100,0,10,0,80,97,103,101,32,37,100,58,32,0,117,110,97,98,108,101,32,116,111,32,103,101,116,32,116,104,101,32,112,97,103,101,46,32,101,114,114,111,114,32,99,111,100,101,61,37,100,0,98,116,114,101,101,73,110,105,116, +80,97,103,101,40,41,32,114,101,116,117,114,110,115,32,101,114,114,111,114,32,99,111,100,101,32,37,100,0,79,110,32,116,114,101,101,32,112,97,103,101,32,37,100,32,99,101,108,108,32,37,100,58,32,0,79,110,32,112,97,103,101,32,37,100,32,97,116,32,114,105,103,104,116,32,99,104,105,108,100,58,32,0,79,102,102,115,101,116,32,37,100,32,111,117,116,32,111,102,32,114,97,110,103,101,32,37,100,46,46,37,100,0,69,120,116,101,110,100,115,32,111,102,102,32,101,110,100,32,111,102,32,112,97,103,101,0,82,111,119,105, +100,32,37,108,108,100,32,111,117,116,32,111,102,32,111,114,100,101,114,0,67,104,105,108,100,32,112,97,103,101,32,100,101,112,116,104,32,100,105,102,102,101,114,115,0,77,117,108,116,105,112,108,101,32,117,115,101,115,32,102,111,114,32,98,121,116,101,32,37,117,32,111,102,32,112,97,103,101,32,37,100,0,70,114,97,103,109,101,110,116,97,116,105,111,110,32,111,102,32,37,100,32,98,121,116,101,115,32,114,101,112,111,114,116,101,100,32,97,115,32,37,100,32,111,110,32,112,97,103,101,32,37,100,0,105,110,118,97, +108,105,100,32,112,97,103,101,32,110,117,109,98,101,114,32,37,100,0,50,110,100,32,114,101,102,101,114,101,110,99,101,32,116,111,32,112,97,103,101,32,37,100,0,70,97,105,108,101,100,32,116,111,32,114,101,97,100,32,112,116,114,109,97,112,32,107,101,121,61,37,100,0,66,97,100,32,112,116,114,32,109,97,112,32,101,110,116,114,121,32,107,101,121,61,37,100,32,101,120,112,101,99,116,101,100,61,40,37,100,44,37,100,41,32,103,111,116,61,40,37,100,44,37,100,41,0,37,100,32,111,102,32,37,100,32,112,97,103,101,115, +32,109,105,115,115,105,110,103,32,102,114,111,109,32,111,118,101,114,102,108,111,119,32,108,105,115,116,32,115,116,97,114,116,105,110,103,32,97,116,32,37,100,0,102,97,105,108,101,100,32,116,111,32,103,101,116,32,112,97,103,101,32,37,100,0,102,114,101,101,108,105,115,116,32,108,101,97,102,32,99,111,117,110,116,32,116,111,111,32,98,105,103,32,111,110,32,112,97,103,101,32,37,100,0,102,114,101,101,45,112,97,103,101,32,99,111,117,110,116,32,105,110,32,104,101,97,100,101,114,32,105,115,32,116,111,111,32, +115,109,97,108,108,0,0,1,2,3,4,6,8,78,79,84,32,78,85,76,76,0,85,78,73,81,85,69,0,67,72,69,67,75,0,70,79,82,69,73,71,78,32,75,69,89,0,37,46,50,120,0,107,40,37,100,0,66,0,44,37,115,37,115,0,40,37,46,50,48,115,41,0,37,115,40,37,100,41,0,37,100,0,40,98,108,111,98,41,0,118,116,97,98,58,37,112,0,44,37,100,0,93,0,112,114,111,103,114,97,109,0,83,97,118,101,112,111,105,110,116,0,65,117,116,111,67,111,109,109,105,116,0,84,114,97,110,115,97,99,116,105,111,110,0,83,111,114,116,101,114,78,101,120,116,0,80,114, +101,118,73,102,79,112,101,110,0,78,101,120,116,73,102,79,112,101,110,0,80,114,101,118,0,78,101,120,116,0,67,104,101,99,107,112,111,105,110,116,0,74,111,117,114,110,97,108,77,111,100,101,0,86,97,99,117,117,109,0,86,70,105,108,116,101,114,0,86,85,112,100,97,116,101,0,71,111,116,111,0,71,111,115,117,98,0,73,110,105,116,67,111,114,111,117,116,105,110,101,0,89,105,101,108,100,0,77,117,115,116,66,101,73,110,116,0,74,117,109,112,0,78,111,116,0,79,110,99,101,0,73,102,0,73,102,78,111,116,0,83,101,101,107, +76,84,0,83,101,101,107,76,69,0,83,101,101,107,71,69,0,83,101,101,107,71,84,0,79,114,0,65,110,100,0,78,111,67,111,110,102,108,105,99,116,0,78,111,116,70,111,117,110,100,0,70,111,117,110,100,0,83,101,101,107,82,111,119,105,100,0,78,111,116,69,120,105,115,116,115,0,73,115,78,117,108,108,0,78,111,116,78,117,108,108,0,78,101,0,69,113,0,71,116,0,76,101,0,76,116,0,71,101,0,69,108,115,101,78,111,116,69,113,0,66,105,116,65,110,100,0,66,105,116,79,114,0,83,104,105,102,116,76,101,102,116,0,83,104,105,102,116, +82,105,103,104,116,0,65,100,100,0,83,117,98,116,114,97,99,116,0,77,117,108,116,105,112,108,121,0,68,105,118,105,100,101,0,82,101,109,97,105,110,100,101,114,0,67,111,110,99,97,116,0,76,97,115,116,0,66,105,116,78,111,116,0,83,111,114,116,101,114,83,111,114,116,0,83,111,114,116,0,82,101,119,105,110,100,0,73,100,120,76,69,0,73,100,120,71,84,0,73,100,120,76,84,0,73,100,120,71,69,0,82,111,119,83,101,116,82,101,97,100,0,82,111,119,83,101,116,84,101,115,116,0,80,114,111,103,114,97,109,0,70,107,73,102,90, +101,114,111,0,73,102,80,111,115,0,73,102,78,111,116,90,101,114,111,0,68,101,99,114,74,117,109,112,90,101,114,111,0,73,110,99,114,86,97,99,117,117,109,0,86,78,101,120,116,0,73,110,105,116,0,82,101,116,117,114,110,0,69,110,100,67,111,114,111,117,116,105,110,101,0,72,97,108,116,73,102,78,117,108,108,0,72,97,108,116,0,73,110,116,101,103,101,114,0,73,110,116,54,52,0,83,116,114,105,110,103,0,78,117,108,108,0,83,111,102,116,78,117,108,108,0,66,108,111,98,0,86,97,114,105,97,98,108,101,0,77,111,118,101,0, +67,111,112,121,0,83,67,111,112,121,0,73,110,116,67,111,112,121,0,82,101,115,117,108,116,82,111,119,0,67,111,108,108,83,101,113,0,70,117,110,99,116,105,111,110,48,0,70,117,110,99,116,105,111,110,0,65,100,100,73,109,109,0,82,101,97,108,65,102,102,105,110,105,116,121,0,67,97,115,116,0,80,101,114,109,117,116,97,116,105,111,110,0,67,111,109,112,97,114,101,0,67,111,108,117,109,110,0,83,116,114,105,110,103,56,0,65,102,102,105,110,105,116,121,0,77,97,107,101,82,101,99,111,114,100,0,67,111,117,110,116,0,82, +101,97,100,67,111,111,107,105,101,0,83,101,116,67,111,111,107,105,101,0,82,101,111,112,101,110,73,100,120,0,79,112,101,110,82,101,97,100,0,79,112,101,110,87,114,105,116,101,0,79,112,101,110,65,117,116,111,105,110,100,101,120,0,79,112,101,110,69,112,104,101,109,101,114,97,108,0,83,111,114,116,101,114,79,112,101,110,0,83,101,113,117,101,110,99,101,84,101,115,116,0,79,112,101,110,80,115,101,117,100,111,0,67,108,111,115,101,0,67,111,108,117,109,110,115,85,115,101,100,0,83,101,113,117,101,110,99,101,0, +78,101,119,82,111,119,105,100,0,73,110,115,101,114,116,0,73,110,115,101,114,116,73,110,116,0,68,101,108,101,116,101,0,82,101,115,101,116,67,111,117,110,116,0,83,111,114,116,101,114,67,111,109,112,97,114,101,0,83,111,114,116,101,114,68,97,116,97,0,82,111,119,75,101,121,0,82,111,119,68,97,116,97,0,82,111,119,105,100,0,78,117,108,108,82,111,119,0,83,111,114,116,101,114,73,110,115,101,114,116,0,73,100,120,73,110,115,101,114,116,0,73,100,120,68,101,108,101,116,101,0,83,101,101,107,0,73,100,120,82,111, +119,105,100,0,68,101,115,116,114,111,121,0,67,108,101,97,114,0,82,101,97,108,0,82,101,115,101,116,83,111,114,116,101,114,0,67,114,101,97,116,101,73,110,100,101,120,0,67,114,101,97,116,101,84,97,98,108,101,0,80,97,114,115,101,83,99,104,101,109,97,0,76,111,97,100,65,110,97,108,121,115,105,115,0,68,114,111,112,84,97,98,108,101,0,68,114,111,112,73,110,100,101,120,0,68,114,111,112,84,114,105,103,103,101,114,0,73,110,116,101,103,114,105,116,121,67,107,0,82,111,119,83,101,116,65,100,100,0,80,97,114,97,109, +0,70,107,67,111,117,110,116,101,114,0,77,101,109,77,97,120,0,79,102,102,115,101,116,76,105,109,105,116,0,65,103,103,83,116,101,112,48,0,65,103,103,83,116,101,112,0,65,103,103,70,105,110,97,108,0,69,120,112,105,114,101,0,84,97,98,108,101,76,111,99,107,0,86,66,101,103,105,110,0,86,67,114,101,97,116,101,0,86,68,101,115,116,114,111,121,0,86,79,112,101,110,0,86,67,111,108,117,109,110,0,86,82,101,110,97,109,101,0,80,97,103,101,99,111,117,110,116,0,77,97,120,80,103,99,110,116,0,67,117,114,115,111,114,72, +105,110,116,0,78,111,111,112,0,69,120,112,108,97,105,110,0,65,80,73,32,99,97,108,108,101,100,32,119,105,116,104,32,78,85,76,76,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,0,98,105,110,100,32,111,110,32,97,32,98,117,115,121,32,112,114,101,112,97,114,101,100,32,115,116,97,116,101,109,101,110,116,58,32,91,37,115,93,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,114,116,117,97,108,32,116,97,98,108,101,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,116,97, +98,108,101,32,119,105,116,104,111,117,116,32,114,111,119,105,100,58,32,37,115,0,99,97,110,110,111,116,32,111,112,101,110,32,118,105,101,119,58,32,37,115,0,110,111,32,115,117,99,104,32,99,111,108,117,109,110,58,32,34,37,115,34,0,102,111,114,101,105,103,110,32,107,101,121,0,105,110,100,101,120,101,100,0,99,97,110,110,111,116,32,111,112,101,110,32,37,115,32,99,111,108,117,109,110,32,102,111,114,32,119,114,105,116,105,110,103,0,151,0,0,0,104,0,0,0,82,1,1,0,33,0,7,1,96,0,0,1,87,1,0,0,13,0,2,0,111,0,0, +0,75,0,0,0,99,97,110,110,111,116,32,111,112,101,110,32,118,97,108,117,101,32,111,102,32,116,121,112,101,32,37,115,0,110,111,32,115,117,99,104,32,114,111,119,105,100,58,32,37,108,108,100,0,1,4,3,2,5,116,101,109,112,0,117,110,97,98,108,101,32,116,111,32,99,108,111,115,101,32,100,117,101,32,116,111,32,117,110,102,105,110,97,108,105,122,101,100,32,115,116,97,116,101,109,101,110,116,115,32,111,114,32,117,110,102,105,110,105,115,104,101,100,32,98,97,99,107,117,112,115,0,117,110,97,98,108,101,32,116,111, +32,117,115,101,32,102,117,110,99,116,105,111,110,32,37,115,32,105,110,32,116,104,101,32,114,101,113,117,101,115,116,101,100,32,99,111,110,116,101,120,116,0,82,84,82,73,77,0,109,97,105,110,0,115,105,109,112,108,101,0,112,111,114,116,101,114,0,117,110,105,99,111,100,101,54,49,0,102,116,115,51,95,116,111,107,101,110,105,122,101,114,0,115,110,105,112,112,101,116,0,111,102,102,115,101,116,115,0,109,97,116,99,104,105,110,102,111,0,111,112,116,105,109,105,122,101,0,102,116,115,51,0,102,116,115,52,0,102, +116,115,51,116,111,107,101,110,105,122,101,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,105,110,112,117,116,44,32,116,111,107,101,110,44,32,115,116,97,114,116,44,32,101,110,100,44,32,112,111,115,105,116,105,111,110,41,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,58,32,37,115,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,99,111,110,116,101,110,116,39,59,0,65,76,84,69,82,32,84,65, +66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,100,111,99,115,105,122,101,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,116,97,116,39,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,116,97,116,39,59,0,65,76,84,69,82,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,109,101,110,116,115,39,59,0,65,76,84,69,82,32,84,65,66, +76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,32,32,82,69,78,65,77,69,32,84,79,32,39,37,113,95,115,101,103,100,105,114,39,59,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,83,69,76,69,67,84,32,78,79,84,32,69,88,73,83,84,83,40,83,69,76,69,67,84,32,100,111,99,105,100,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,87,72,69,82,69,32,114,111,119,105,100,33,61,63,41, +0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119, +105,100,61,63,0,83,69,76,69,67,84,32,40,83,69,76,69,67,84,32,109,97,120,40,105,100,120,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,41,32,43,32,49,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,44,32,98,108,111,99,107,41,32,86,65,76,85,69,83,40,63,44,32,63,41,0,83,69,76,69,67,84,32,99,111,97,108,101,115,99,101,40,40,83,69,76,69,67,84,32,109, +97,120,40,98,108,111,99,107,105,100,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,41,32,43,32,49,44,32,49,41,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,86,65,76,85,69,83,40,63,44,63,44,63,44,63,44,63,44,63,41,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32, +70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,79,82,68,69,82,32,66,89,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,105,100,120,44,32,115,116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87, +69,69,78,32,63,32,65,78,68,32,63,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,83,69,76,69,67,84,32,99,111,117,110,116,40,42,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,83,69,76,69,67,84,32,109,97,120,40,108,101,118,101,108,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78, +68,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,73,78,83,69,82,84,32,73,78,84,79,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,32,86,65,76,85,69,83,40,37,115,41,0,68,69,76,69,84,69,32,70,82,79,77,32, +37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,32,61,32,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37],"i8",4,n.G+30720); +z([81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,86,65,76,85,69,83,40,63,44,63,41,0,83,69,76,69,67,84,32,115,105,122,101,32,70,82,79,77,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,32,87,72,69,82,69,32,100,111,99,105,100,61,63,0,83,69,76,69,67,84,32,118,97,108,117,101,32,70,82,79,77,32,37,81,46,39,37,113,95,115,116,97,116,39,32,87,72,69,82,69,32,105,100,61,63,0,82,69,80,76,65,67,69,32,73,78,84,79,32,37,81,46,39,37,113,95,115,116,97,116,39,32,86,65,76,85,69,83,40,63,44,63,41,0,68,69, +76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,0,83,69,76,69,67,84,32,63,32,85,78,73,79,78,32,83,69,76,69,67,84,32,108,101,118,101,108,32,47,32,40,49,48,50,52,32,42,32,63,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,99,111,117,110,116,40,42,41,32,65,83,32,99,110,116,32,70,82,79,77,32,37,81,46,39,37,113,95, +115,101,103,100,105,114,39,32,32,32,71,82,79,85,80,32,66,89,32,108,101,118,101,108,32,72,65,86,73,78,71,32,99,110,116,62,61,63,32,32,79,82,68,69,82,32,66,89,32,40,108,101,118,101,108,32,37,37,32,49,48,50,52,41,32,65,83,67,32,76,73,77,73,84,32,49,0,83,69,76,69,67,84,32,50,32,42,32,116,111,116,97,108,40,49,32,43,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,45,32,115,116,97,114,116,95,98,108,111,99,107,41,32,32,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32, +87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,60,32,63,0,68,69,76,69,84,69,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,105,100,120,32,61,32,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,83,69,76,69,67,84,32,105,100,120,44,32,115, +116,97,114,116,95,98,108,111,99,107,44,32,108,101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,44,32,101,110,100,95,98,108,111,99,107,44,32,114,111,111,116,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,85,80,68,65,84,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,115,116,97,114,116,95,98,108,111,99,107,32,61,32,63,44,32,114,111,111,116,32,61,32,63,87,72,69, +82,69,32,108,101,118,101,108,32,61,32,63,32,65,78,68,32,105,100,120,32,61,32,63,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,32,87,72,69,82,69,32,98,108,111,99,107,105,100,61,63,32,65,78,68,32,98,108,111,99,107,32,73,83,32,78,85,76,76,0,83,69,76,69,67,84,32,105,100,120,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,79,82,68,69,82,32,66,89,32,49,32,65,83,67,0,83,69,76,69,67, +84,32,109,97,120,40,32,108,101,118,101,108,32,37,37,32,49,48,50,52,32,41,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,0,83,69,76,69,67,84,32,108,101,118,101,108,44,32,105,100,120,44,32,101,110,100,95,98,108,111,99,107,32,70,82,79,77,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,87,72,69,82,69,32,108,101,118,101,108,32,66,69,84,87,69,69,78,32,63,32,65,78,68,32,63,32,79,82,68,69,82,32,66,89,32,108,101,118,101,108,32,68,69,83,67,44,32,105,100,120,32,65,83,67,0,85,80,68, +65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,45,49,44,105,100,120,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,63,32,65,78,68,32,105,100,120,61,63,0,85,80,68,65,84,69,32,79,82,32,70,65,73,76,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,32,83,69,84,32,108,101,118,101,108,61,63,32,87,72,69,82,69,32,108,101,118,101,108,61,45,49,0,37,108,108,100,32,37,108,108,100,0,37,115,95,115,101,103,109,101,110,116,115,0,98, +108,111,99,107,0,83,69,76,69,67,84,32,49,32,70,82,79,77,32,37,81,46,115,113,108,105,116,101,95,109,97,115,116,101,114,32,87,72,69,82,69,32,116,98,108,95,110,97,109,101,61,39,37,113,95,115,116,97,116,39,0,112,99,120,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,61,32,63,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,32,114,101,113,117,101,115,116,58,32,37,99,0,105,108,108,101,103,97,108,32,102,105,114,115,116,32,97,114,103,117,109, +101,110,116,32,116,111,32,37,115,0,73,110,100,101,120,32,111,112,116,105,109,105,122,101,100,0,73,110,100,101,120,32,97,108,114,101,97,100,121,32,111,112,116,105,109,97,108,0,83,65,86,69,80,79,73,78,84,32,102,116,115,51,0,82,69,76,69,65,83,69,32,102,116,115,51,0,82,79,76,76,66,65,67,75,32,84,79,32,102,116,115,51,0,37,100,32,37,100,32,37,100,32,37,100,32,0,60,98,62,0,60,47,98,62,0,60,98,62,46,46,46,60,47,98,62,0,119,114,111,110,103,32,110,117,109,98,101,114,32,111,102,32,97,114,103,117,109,101,110, +116,115,32,116,111,32,102,117,110,99,116,105,111,110,32,115,110,105,112,112,101,116,40,41,0,114,101,98,117,105,108,100,0,105,110,116,101,103,114,105,116,121,45,99,104,101,99,107,0,109,101,114,103,101,61,0,97,117,116,111,109,101,114,103,101,61,0,67,82,69,65,84,69,32,84,65,66,76,69,32,73,70,32,78,79,84,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,40,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,118,97,108,117,101,32,66,76,79,66,41,59,0,83,69,76,69,67,84, +32,37,115,0,68,69,83,67,0,65,83,67,0,83,69,76,69,67,84,32,37,115,32,87,72,69,82,69,32,114,111,119,105,100,32,66,69,84,87,69,69,78,32,37,108,108,100,32,65,78,68,32,37,108,108,100,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,83,69,76,69,67,84,32,37,115,32,79,82,68,69,82,32,66,89,32,114,111,119,105,100,32,37,115,0,70,84,83,32,101,120,112,114,101,115,115,105,111,110,32,116,114,101,101,32,105,115,32,116,111,111,32,108,97,114,103,101,32,40,109,97,120,105,109,117,109,32,100,101,112,116, +104,32,37,100,41,0,109,97,108,102,111,114,109,101,100,32,77,65,84,67,72,32,101,120,112,114,101,115,115,105,111,110,58,32,91,37,115,93,0,79,82,0,65,78,68,0,78,79,84,0,78,69,65,82,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,99,111,110,116,101,110,116,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113, +95,115,101,103,100,105,114,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,0,68,82,79,80,32,84,65,66,76,69,32,73,70,32,69,88,73,83,84,83,32,37,81,46,39,37,113,95,115,116,97,116,39,0,116,111,107,101,110,105,122,101,0,117,110,114,101,99,111,103,110,105,122,101,100,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,117,110,114,101,99,111,103,110,105,122,101,100,32,109,97,116,99,104,105,110,102,111,58,32,37,115,0,97,115,99,0,117, +110,114,101,99,111,103,110,105,122,101,100,32,111,114,100,101,114,58,32,37,115,0,99,111,110,116,101,110,116,0,101,114,114,111,114,32,112,97,114,115,105,110,103,32,112,114,101,102,105,120,32,112,97,114,97,109,101,116,101,114,58,32,37,115,0,99,111,109,112,114,101,115,115,0,117,110,99,111,109,112,114,101,115,115,0,109,105,115,115,105,110,103,32,37,115,32,112,97,114,97,109,101,116,101,114,32,105,110,32,102,116,115,52,32,99,111,110,115,116,114,117,99,116,111,114,0,95,95,108,97,110,103,105,100,0,37,81, +44,32,0,37,122,37,81,44,32,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,37,115,32,37,81,32,72,73,68,68,69,78,44,32,100,111,99,105,100,32,72,73,68,68,69,78,44,32,37,81,32,72,73,68,68,69,78,41,0,80,82,65,71,77,65,32,37,81,46,112,97,103,101,95,115,105,122,101,0,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,0,37,122,44,32,39,99,37,100,37,113,39,0,37,122,44,32,108,97,110,103,105,100,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,99,111,110,116,101,110, +116,39,40,37,115,41,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,109,101,110,116,115,39,40,98,108,111,99,107,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,98,108,111,99,107,32,66,76,79,66,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,115,101,103,100,105,114,39,40,108,101,118,101,108,32,73,78,84,69,71,69,82,44,105,100,120,32,73,78,84,69,71,69,82,44,115,116,97,114,116,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,108, +101,97,118,101,115,95,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,101,110,100,95,98,108,111,99,107,32,73,78,84,69,71,69,82,44,114,111,111,116,32,66,76,79,66,44,80,82,73,77,65,82,89,32,75,69,89,40,108,101,118,101,108,44,32,105,100,120,41,41,59,0,67,82,69,65,84,69,32,84,65,66,76,69,32,37,81,46,39,37,113,95,100,111,99,115,105,122,101,39,40,100,111,99,105,100,32,73,78,84,69,71,69,82,32,80,82,73,77,65,82,89,32,75,69,89,44,32,115,105,122,101,32,66,76,79,66,41,59,0,44,37,115,40,63,41,0,44, +32,63,0,100,111,99,105,100,0,44,37,115,40,120,46,39,99,37,100,37,113,39,41,0,44,32,120,46,37,81,0,108,97,110,103,105,100,0,44,32,120,46,39,37,113,39,0,95,99,111,110,116,101,110,116,0,32,70,82,79,77,32,39,37,113,39,46,39,37,113,37,115,39,32,65,83,32,120,0,83,69,76,69,67,84,32,42,32,70,82,79,77,32,37,81,46,37,81,0,112,114,101,102,105,120,0,108,97,110,103,117,97,103,101,105,100,0,110,111,116,105,110,100,101,120,101,100,0,117,110,107,110,111,119,110,32,116,111,107,101,110,105,122,101,114,0,0,0,0,0,0, +0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,97,114,103,117,109,101,110,116,32,116,121,112,101,32,109,105,115,109,97,116,99,104,0,102,116,115,51,116,111,107,101,110,105,122,101,32,100,105,115,97,98,108,101,100,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, +0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,115,101,115,115,0,115,115,0,115,101,105,0,105,0,100,101,101,0,101,101,0,103,110,105,0,100,101,0,116,97,0,97,116,101,0,108,98,0,98,108,101,0,122,105,0,105,122,101,0,108,97,110,111,105,116,97,0,108,97,110,111,105,116,0,116,105,111,110,0,105,99,110,101,0,101,110,99,101,0,105,99,110,97,0,97,110,99,101,0,114,101,122,105,0,105,103,111,108,0,105,108,98,0,105,108,108,97,0,97,108,0,105,108,116,110,101,0,101,110,116,0,105,108,101,0,101, +0,105,108,115,117,111,0,111,117,115,0,110,111,105,116,97,122,105,0,110,111,105,116,97,0,114,111,116,97,0,109,115,105,108,97,0,115,115,101,110,101,118,105,0,105,118,101,0,115,115,101,110,108,117,102,0,102,117,108,0,115,115,101,110,115,117,111,0,105,116,105,108,97,0,105,116,105,118,105,0,105,116,105,108,105,98,0,101,116,97,99,105,0,105,99,0,101,118,105,116,97,0,101,122,105,108,97,0,105,116,105,99,105,0,108,97,99,105,0,108,117,102,0,115,115,101,110,0,116,110,101,109,101,0,116,110,101,109,0,116,110,101, +0,110,111,105,0,101,116,97,0,105,116,105,0,0,1,1,1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,2,1,102,116,115,52,97,117,120,0,67,82,69,65,84,69,32,84,65,66,76,69,32,120,40,116,101,114,109,44,32,99,111,108,44,32,100,111,99,117,109,101,110,116,115,44,32,111,99,99,117,114,114,101,110,99,101,115,44,32,108,97,110,103,117,97,103,101,105,100,32,72,73,68,68,69,78,41,0,105,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,115,32,116,111,32,102,116,115,52,97,117,120,32,99,111,110,115,116,114,117,99,116, +111,114,0,0,97,99,101,105,110,111,117,121,121,97,99,100,101,101,103,104,105,106,107,108,110,111,114,115,116,117,117,119,121,122,111,117,97,105,111,117,103,107,111,106,103,110,97,101,105,111,114,117,115,116,104,97,101,111,121,0,0,0,0,0,0,0,0,97,98,100,100,101,102,103,104,104,105,107,108,108,109,110,112,114,114,115,116,117,118,119,119,120,121,122,104,116,119,121,97,101,105,111,117,121,114,101,109,111,118,101,95,100,105,97,99,114,105,116,105,99,115,61,49,0,114,101,109,111,118,101,95,100,105,97,99,114, +105,116,105,99,115,61,48,0,116,111,107,101,110,99,104,97,114,115,61,0,115,101,112,97,114,97,116,111,114,115,61,0,97,117,116,111,109,97,116,105,99,32,101,120,116,101,110,115,105,111,110,32,108,111,97,100,105,110,103,32,102,97,105,108,101,100,58,32,37,115,0,77,65,84,67,72,0,117,110,97,98,108,101,32,116,111,32,100,101,108,101,116,101,47,109,111,100,105,102,121,32,99,111,108,108,97,116,105,111,110,32,115,101,113,117,101,110,99,101,32,100,117,101,32,116,111,32,97,99,116,105,118,101,32,115,116,97,116,101, +109,101,110,116,115,0,84,33,34,25,13,1,2,3,17,75,28,12,16,4,11,29,18,30,39,104,110,111,112,113,98,32,5,6,15,19,20,21,26,8,22,7,40,36,23,24,9,10,14,27,31,37,35,131,130,125,38,42,43,60,61,62,63,67,71,74,77,88,89,90,91,92,93,94,95,96,97,99,100,101,102,103,105,106,107,108,114,115,116,121,122,123,124,0,73,108,108,101,103,97,108,32,98,121,116,101,32,115,101,113,117,101,110,99,101,0,68,111,109,97,105,110,32,101,114,114,111,114,0,82,101,115,117,108,116,32,110,111,116,32,114,101,112,114,101,115,101,110,116, +97,98,108,101,0,78,111,116,32,97,32,116,116,121,0,80,101,114,109,105,115,115,105,111,110,32,100,101,110,105,101,100,0,79,112,101,114,97,116,105,111,110,32,110,111,116,32,112,101,114,109,105,116,116,101,100,0,78,111,32,115,117,99,104,32,102,105,108,101,32,111,114,32,100,105,114,101,99,116,111,114,121,0,78,111,32,115,117,99,104,32,112,114,111,99,101,115,115,0,70,105,108,101,32,101,120,105,115,116,115,0,86,97,108,117,101,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,100,97,116,97,32,116,121, +112,101,0,78,111,32,115,112,97,99,101,32,108,101,102,116,32,111,110,32,100,101,118,105,99,101,0,79,117,116,32,111,102,32,109,101,109,111,114,121,0,82,101,115,111,117,114,99,101,32,98,117,115,121,0,73,110,116,101,114,114,117,112,116,101,100,32,115,121,115,116,101,109,32,99,97,108,108,0,82,101,115,111,117,114,99,101,32,116,101,109,112,111,114,97,114,105,108,121,32,117,110,97,118,97,105,108,97,98,108,101,0,73,110,118,97,108,105,100,32,115,101,101,107,0,67,114,111,115,115,45,100,101,118,105,99,101,32, +108,105,110,107,0,82,101,97,100,45,111,110,108,121,32,102,105,108,101,32,115,121,115,116,101,109,0,68,105,114,101,99,116,111,114,121,32,110,111,116,32,101,109,112,116,121,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,112,101,101,114,0,79,112,101,114,97,116,105,111,110,32,116,105,109,101,100,32,111,117,116,0,67,111,110,110,101,99,116,105,111,110,32,114,101,102,117,115,101,100,0,72,111,115,116,32,105,115,32,100,111,119,110,0,72,111,115,116,32,105,115,32,117,110,114,101, +97,99,104,97,98,108,101,0,65,100,100,114,101,115,115,32,105,110,32,117,115,101,0,66,114,111,107,101,110,32,112,105,112,101,0,73,47,79,32,101,114,114,111,114,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,32,111,114,32,97,100,100,114,101,115,115,0,66,108,111,99,107,32,100,101,118,105,99,101,32,114,101,113,117,105,114,101,100,0,78,111,32,115,117,99,104,32,100,101,118,105,99,101,0,78,111,116,32,97,32,100,105,114,101,99,116,111,114,121,0,73,115,32,97,32,100,105,114,101,99,116,111,114,121,0,84,101, +120,116,32,102,105,108,101,32,98,117,115,121,0,69,120,101,99,32,102,111,114,109,97,116,32,101,114,114,111,114,0,73,110,118,97,108,105,100,32,97,114,103,117,109,101,110,116,0,65,114,103,117,109,101,110,116,32,108,105,115,116,32,116,111,111,32,108,111,110,103,0,83,121,109,98,111,108,105,99,32,108,105,110,107,32,108,111,111,112,0,70,105,108,101,110,97,109,101,32,116,111,111,32,108,111,110,103,0,84,111,111,32,109,97,110,121,32,111,112,101,110,32,102,105,108,101,115,32,105,110,32,115,121,115,116,101,109, +0,78,111,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,115,32,97,118,97,105,108,97,98,108,101,0,66,97,100,32,102,105,108,101,32,100,101,115,99,114,105,112,116,111,114,0,78,111,32,99,104,105,108,100,32,112,114,111,99,101,115,115,0,66,97,100,32,97,100,100,114,101,115,115,0,70,105,108,101,32,116,111,111,32,108,97,114,103,101,0,84,111,111,32,109,97,110,121,32,108,105,110,107,115,0,78,111,32,108,111,99,107,115,32,97,118,97,105,108,97,98,108,101,0,82,101,115,111,117,114,99,101,32,100,101, +97,100,108,111,99,107,32,119,111,117,108,100,32,111,99,99,117,114,0,83,116,97,116,101,32,110,111,116,32,114,101,99,111,118,101,114,97,98,108,101,0,80,114,101,118,105,111,117,115,32,111,119,110,101,114,32,100,105,101,100,0,79,112,101,114,97,116,105,111,110,32,99,97,110,99,101,108,101,100,0,70,117,110,99,116,105,111,110,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,0,78,111,32,109,101,115,115,97,103,101,32,111,102,32,100,101,115,105,114,101,100,32,116,121,112,101,0,73,100,101,110,116, +105,102,105,101,114,32,114,101,109,111,118,101,100,0,68,101,118,105,99,101,32,110,111,116,32,97,32,115,116,114,101,97,109,0,78,111,32,100,97,116,97,32,97,118,97,105,108,97,98,108,101,0,68,101,118,105,99,101,32,116,105,109,101,111,117,116,0,79,117,116,32,111,102,32,115,116,114,101,97,109,115,32,114,101,115,111,117,114,99,101,115,0,76,105,110,107,32,104,97,115,32,98,101,101,110,32,115,101,118,101,114,101,100,0,80,114,111,116,111,99,111,108,32,101,114,114,111,114,0,66,97,100,32,109,101,115,115,97,103, +101,0,70,105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,105,110,32,98,97,100,32,115,116,97,116,101,0,78,111,116,32,97,32,115,111,99,107,101,116,0,68,101,115,116,105,110,97,116,105,111,110,32,97,100,100,114,101,115,115,32,114,101,113,117,105,114,101,100,0,77,101,115,115,97,103,101,32,116,111,111,32,108,97,114,103,101,0,80,114,111,116,111,99,111,108,32,119,114,111,110,103,32,116,121,112,101,32,102,111,114,32,115,111,99,107,101,116,0,80,114,111,116,111,99,111,108,32,110,111,116,32,97,118,97, +105,108,97,98,108,101,0,80,114,111,116,111,99,111,108,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,83,111,99,107,101,116,32,116,121,112,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,78,111,116,32,115,117,112,112,111,114,116,101,100,0,80,114,111,116,111,99,111,108,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,65,100,100,114,101,115,115,32,102,97,109,105,108,121,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,98,121,32,112,114,111, +116,111,99,111,108,0,65,100,100,114,101,115,115,32,110,111,116,32,97,118,97,105,108,97,98,108,101,0,78,101,116,119,111,114,107,32,105,115,32,100,111,119,110,0,78,101,116,119,111,114,107,32,117,110,114,101,97,99,104,97,98,108,101,0,67,111,110,110,101,99,116,105,111,110,32,114,101,115,101,116,32,98,121,32,110,101,116,119,111,114,107,0,67,111,110,110,101,99,116,105,111,110,32,97,98,111,114,116,101,100,0,78,111,32,98,117,102,102,101,114,32,115,112,97,99,101,32,97,118,97,105,108,97,98,108,101,0,83,111, +99,107,101,116,32,105,115,32,99,111,110,110,101,99,116,101,100,0,83,111,99,107,101,116,32,110,111,116,32,99,111,110,110,101,99,116,101,100,0,67,97,110,110,111,116,32,115,101,110,100,32,97,102,116,101,114,32,115,111,99,107,101,116,32,115,104,117,116,100,111,119,110,0,79,112,101,114,97,116,105,111,110,32,97,108,114,101,97,100,121,32,105,110,32,112,114,111,103,114,101,115,115,0,79,112,101,114,97,116,105,111,110,32,105,110,32,112,114,111,103,114,101,115,115,0,83,116,97,108,101,32,102,105,108,101,32,104, +97,110,100,108,101,0,82,101,109,111,116,101,32,73,47,79,32,101,114,114,111,114,0,81,117,111,116,97,32,101,120,99,101,101,100,101,100,0,78,111,32,109,101,100,105,117,109,32,102,111,117,110,100,0,87,114,111,110,103,32,109,101,100,105,117,109,32,116,121,112,101,0,78,111,32,101,114,114,111,114,32,105,110,102,111,114,109,97,116,105,111,110,0,0,47,112,114,111,99,47,115,101,108,102,47,102,100,47,0],"i8",4,n.G+40960);var gb=q;q+=16;e._i64Subtract=hb; +function ib(a){e.___errno_location&&(t[e.___errno_location()>>2]=a);return a} +var E={q:1,p:2,md:3,ic:4,v:5,ta:6,Cb:7,Gc:8,t:9,Qb:10,pa:11,wd:11,ra:12,L:13,bc:14,Sc:15,M:16,qa:17,xd:18,R:19,S:20,N:21,h:22,Bc:23,Ma:24,F:25,td:26,cc:27,Oc:28,T:29,jd:30,uc:31,bd:32,Zb:33,Na:34,Kc:42,fc:43,Rb:44,lc:45,mc:46,nc:47,tc:48,ud:49,Ec:50,kc:51,Wb:35,Hc:37,Ib:52,Lb:53,yd:54,Cc:55,Mb:56,Nb:57,Xb:35,Ob:59,Qc:60,Fc:61,qd:62,Pc:63,Lc:64,Mc:65,hd:66,Ic:67,Fb:68,nd:69,Sb:70,cd:71,wc:72,$b:73,Kb:74,Xc:76,Jb:77,gd:78,oc:79,pc:80,sc:81,rc:82,qc:83,Rc:38,sa:39,xc:36,ba:40,Yc:95,ad:96,Vb:104,Dc:105, +Gb:97,ed:91,Vc:88,Nc:92,kd:108,Ub:111,Db:98,Tb:103,Ac:101,yc:100,rd:110,dc:112,ec:113,hc:115,Hb:114,Yb:89,vc:90,dd:93,ld:94,Eb:99,zc:102,jc:106,Tc:107,sd:109,vd:87,ac:122,od:116,Wc:95,Jc:123,gc:84,Zc:75,Pb:125,Uc:131,$c:130,pd:86},jb={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core", +13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable", +35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor", +54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message", +75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket", +92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown", +109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"}; +function kb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a.splice(d,1):".."===f?(a.splice(d,1),c++):c&&(a.splice(d,1),c--)}if(b)for(;c--;c)a.unshift("..");return a}function lb(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=kb(a.split("/").filter(function(a){return!!a}),!b).join("/"))||b||(a=".");a&&c&&(a+="/");return(b?"/":"")+a} +function mb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(a).slice(1);a=b[0];b=b[1];if(!a&&!b)return".";b&&(b=b.substr(0,b.length-1));return a+b}function nb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===b?a:a.substr(b+1)}function ob(){var a=Array.prototype.slice.call(arguments,0);return lb(a.join("/"))}function F(a,b){return lb(a+"/"+b)} +function pb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<=c?arguments[c]:"/";if("string"!==typeof b)throw new TypeError("Arguments to path.resolve must be strings");if(!b)return"";a=b+"/"+a;b="/"===b.charAt(0)}a=kb(a.split("/").filter(function(a){return!!a}),!b).join("/");return(b?"/":"")+a||"."}var qb=[];function rb(a,b){qb[a]={input:[],output:[],J:b};sb(a,tb)} +var tb={open:function(a){var b=qb[a.c.rdev];if(!b)throw new H(E.R);a.tty=b;a.seekable=!1},close:function(a){a.tty.J.flush(a.tty)},flush:function(a){a.tty.J.flush(a.tty)},read:function(a,b,c,d){if(!a.tty||!a.tty.J.Ha)throw new H(E.ta);for(var f=0,g=0;ga.b.length&&(a.b=I.cb(a),a.g=a.b.length);if(!a.b||a.b.subarray){var c=a.b?a.b.length:0;c>=b||(b=Math.max(b,c*(1048576>c?2:1.125)|0),0!=c&&(b=Math.max(b,256)),c=a.b,a.b=new Uint8Array(b),0b)a.b.length=b;else for(;a.b.length=a.c.g)return 0;a=Math.min(a.c.g-f,d);assert(0<=a);if(8b)throw new H(E.h);return b},wa:function(a,b,c){I.Ca(a.c,b+c);a.c.g=Math.max(a.c.g,b+c)},X:function(a, +b,c,d,f,g,h){if(32768!==(a.c.mode&61440))throw new H(E.R);c=a.c.b;if(h&2||c.buffer!==b&&c.buffer!==b.buffer){if(0>1)}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}return b.mode},m:function(a){for(var b=[];a.parent!==a;)b.push(a.name),a=a.parent;b.push(a.l.ka.root);b.reverse();return ob.apply(null,b)},Da:{0:"r",1:"r+",2:"r+",64:"r",65:"r+",66:"r+",129:"rx+",193:"rx+",514:"w+",577:"w", +578:"w+",705:"wx",706:"wx+",1024:"a",1025:"a",1026:"a+",1089:"a",1090:"a+",1153:"ax",1154:"ax+",1217:"ax",1218:"ax+",4096:"rs",4098:"rs+"},bb:function(a){a&=-2099201;a&=-32769;a&=-524289;if(a in K.Da)return K.Da[a];throw new H(E.h);},d:{n:function(a){a=K.m(a);var b;try{b=fs.lstatSync(a)}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}K.W&&!b.B&&(b.B=4096);K.W&&!b.blocks&&(b.blocks=(b.size+b.B-1)/b.B|0);return{dev:b.dev,ino:b.ino,mode:b.mode,nlink:b.nlink,uid:b.uid,gid:b.gid,rdev:b.rdev,size:b.size, +atime:b.atime,mtime:b.mtime,ctime:b.ctime,B:b.B,blocks:b.blocks}},k:function(a,b){var c=K.m(a);try{void 0!==b.mode&&(fs.chmodSync(c,b.mode),a.mode=b.mode),void 0!==b.size&&fs.truncateSync(c,b.size)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},lookup:function(a,b){var c=F(K.m(a),b),c=K.Fa(c);return K.createNode(a,b,c)},O:function(a,b,c,d){a=K.createNode(a,b,c,d);b=K.m(a);try{J(a.mode)?fs.mkdirSync(b,a.mode):fs.writeFileSync(b,"",{mode:a.mode})}catch(f){if(!f.code)throw f;throw new H(E[f.code]); +}return a},rename:function(a,b,c){a=K.m(a);b=F(K.m(b),c);try{fs.renameSync(a,b)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},unlink:function(a,b){var c=F(K.m(a),b);try{fs.unlinkSync(c)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},rmdir:function(a,b){var c=F(K.m(a),b);try{fs.rmdirSync(c)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},readdir:function(a){a=K.m(a);try{return fs.readdirSync(a)}catch(b){if(!b.code)throw b;throw new H(E[b.code]);}},symlink:function(a,b,c){a=F(K.m(a), +b);try{fs.symlinkSync(c,a)}catch(d){if(!d.code)throw d;throw new H(E[d.code]);}},readlink:function(a){var b=K.m(a);try{return b=fs.readlinkSync(b),b=Ab.relative(Ab.resolve(a.l.ka.root),b)}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}}},e:{open:function(a){var b=K.m(a.c);try{32768===(a.c.mode&61440)&&(a.P=fs.openSync(b,K.bb(a.flags)))}catch(c){if(!c.code)throw c;throw new H(E[c.code]);}},close:function(a){try{32768===(a.c.mode&61440)&&a.P&&fs.closeSync(a.P)}catch(b){if(!b.code)throw b;throw new H(E[b.code]); +}},read:function(a,b,c,d,f){if(0===d)return 0;var g=new Buffer(d),h;try{h=fs.readSync(a.P,g,0,d,f)}catch(p){throw new H(E[p.code]);}if(0b)throw new H(E.h);return b}}};q+=16; +q+=16;q+=16;var Bb=null,Cb=[null],L=[],Db=1,Eb=null,Fb=!0,M={},H=null,yb={}; +function N(a,b){a=pb("/",a);b=b||{};if(!a)return{path:"",c:null};var c={Ea:!0,ma:0},d;for(d in c)void 0===b[d]&&(b[d]=c[d]);if(8>>0)%Eb.length}function Ib(a){var b=Hb(a.parent.id,a.name);a.I=Eb[b];Eb[b]=a}function Jb(a){var b=Hb(a.parent.id,a.name);if(Eb[b]===a)Eb[b]=a.I;else for(b=Eb[b];b;){if(b.I===a){b.I=a.I;break}b=b.I}} +function zb(a,b){var c;if(c=(c=Kb(a,"x"))?c:a.d.lookup?0:E.L)throw new H(c,a);for(c=Eb[Hb(a.id,b)];c;c=c.I){var d=c.name;if(c.parent.id===a.id&&d===b)return c}return a.d.lookup(a,b)} +function xb(a,b,c,d){Lb||(Lb=function(a,b,c,d){a||(a=this);this.parent=a;this.l=a.l;this.H=null;this.id=Db++;this.name=b;this.mode=c;this.d={};this.e={};this.rdev=d},Lb.prototype={},Object.defineProperties(Lb.prototype,{read:{get:function(){return 365===(this.mode&365)},set:function(a){a?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146===(this.mode&146)},set:function(a){a?this.mode|=146:this.mode&=-147}},kb:{get:function(){return J(this.mode)}},jb:{get:function(){return 8192===(this.mode& +61440)}}}));a=new Lb(a,b,c,d);Ib(a);return a}function J(a){return 16384===(a&61440)}var Mb={r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218};function Nb(a){var b=["r","w","rw"][a&3];a&512&&(b+="w");return b}function Kb(a,b){if(Fb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-1!==b.indexOf("w")&&!(a.mode&146)||-1!==b.indexOf("x")&&!(a.mode&73))return E.L}else return E.L;return 0} +function Ob(a,b){try{return zb(a,b),E.qa}catch(c){}return Kb(a,"wx")}function Pb(a,b,c){var d;try{d=zb(a,b)}catch(f){return f.f}if(a=Kb(a,"wx"))return a;if(c){if(!J(d.mode))return E.S;if(d===d.parent||"/"===O(d))return E.M}else if(J(d.mode))return E.N;return 0}function Qb(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!L[a])return a;throw new H(E.Ma);} +function Rb(a,b){Sb||(Sb=function(){},Sb.prototype={},Object.defineProperties(Sb.prototype,{object:{get:function(){return this.c},set:function(a){this.c=a}},he:{get:function(){return 1!==(this.flags&2097155)}},ie:{get:function(){return 0!==(this.flags&2097155)}},ge:{get:function(){return this.flags&1024}}}));var c=new Sb,d;for(d in a)c[d]=a[d];a=c;c=Qb(b);a.fd=c;return L[c]=a}var wb={open:function(a){a.e=Cb[a.c.rdev].e;a.e.open&&a.e.open(a)},u:function(){throw new H(E.T);}}; +function sb(a,b){Cb[a]={e:b}}function Tb(a,b){var c="/"===b,d=!b,f;if(c&&Bb)throw new H(E.M);if(!c&&!d){f=N(b,{Ea:!1});b=f.path;f=f.c;if(f.H)throw new H(E.M);if(!J(f.mode))throw new H(E.S);}var d={type:a,ka:{},Ka:b,nb:[]},g=a.l(d);g.l=d;d.root=g;c?Bb=g:f&&(f.H=d,f.l&&f.l.nb.push(d))}function Ub(a,b,c){var d=N(a,{parent:!0}).c;a=nb(a);if(!a||"."===a||".."===a)throw new H(E.h);var f=Ob(d,a);if(f)throw new H(f);if(!d.d.O)throw new H(E.q);return d.d.O(d,a,b,c)} +function Vb(a,b){b=(void 0!==b?b:438)&4095;b|=32768;return Ub(a,b,0)}function P(a,b){b=(void 0!==b?b:511)&1023;b|=16384;return Ub(a,b,0)}function Wb(a,b,c){"undefined"===typeof c&&(c=b,b=438);return Ub(a,b|8192,c)}function Xb(a,b){if(!pb(a))throw new H(E.p);var c=N(b,{parent:!0}).c;if(!c)throw new H(E.p);var d=nb(b),f=Ob(c,d);if(f)throw new H(f);if(!c.d.symlink)throw new H(E.q);return c.d.symlink(c,d,a)} +function Yb(a){var b=N(a,{parent:!0}).c,c=nb(a),d=zb(b,c),f=Pb(b,c,!1);if(f)throw new H(f);if(!b.d.unlink)throw new H(E.q);if(d.H)throw new H(E.M);try{M.willDeletePath&&M.willDeletePath(a)}catch(g){console.log("FS.trackingDelegate['willDeletePath']('"+a+"') threw an exception: "+g.message)}b.d.unlink(b,c);Jb(d);try{if(M.onDeletePath)M.onDeletePath(a)}catch(h){console.log("FS.trackingDelegate['onDeletePath']('"+a+"') threw an exception: "+h.message)}} +function Gb(a){a=N(a).c;if(!a)throw new H(E.p);if(!a.d.readlink)throw new H(E.h);return pb(O(a.parent),a.d.readlink(a))}function Zb(a,b){var c=N(a,{C:!b}).c;if(!c)throw new H(E.p);if(!c.d.n)throw new H(E.q);return c.d.n(c)}function $b(a){return Zb(a,!0)}function ac(a,b){var c;"string"===typeof a?c=N(a,{C:!0}).c:c=a;if(!c.d.k)throw new H(E.q);c.d.k(c,{mode:b&4095|c.mode&-4096,timestamp:Date.now()})} +function bc(a){var b;"string"===typeof a?b=N(a,{C:!0}).c:b=a;if(!b.d.k)throw new H(E.q);b.d.k(b,{timestamp:Date.now()})}function cc(a,b){if(0>b)throw new H(E.h);var c;"string"===typeof a?c=N(a,{C:!0}).c:c=a;if(!c.d.k)throw new H(E.q);if(J(c.mode))throw new H(E.N);if(32768!==(c.mode&61440))throw new H(E.h);var d=Kb(c,"w");if(d)throw new H(d);c.d.k(c,{size:b,timestamp:Date.now()})} +function dc(a,b,c,d){if(""===a)throw new H(E.p);if("string"===typeof b){var f=Mb[b];if("undefined"===typeof f)throw Error("Unknown file open mode: "+b);b=f}c=b&64?("undefined"===typeof c?438:c)&4095|32768:0;var g;if("object"===typeof a)g=a;else{a=lb(a);try{g=N(a,{C:!(b&131072)}).c}catch(h){}}f=!1;if(b&64)if(g){if(b&128)throw new H(E.qa);}else g=Ub(a,c,0),f=!0;if(!g)throw new H(E.p);8192===(g.mode&61440)&&(b&=-513);if(b&65536&&!J(g.mode))throw new H(E.S);if(!f&&(c=g?40960===(g.mode&61440)?E.ba:J(g.mode)&& +("r"!==Nb(b)||b&512)?E.N:Kb(g,Nb(b)):E.p))throw new H(c);b&512&&cc(g,0);b&=-641;d=Rb({c:g,path:O(g),flags:b,seekable:!0,position:0,e:g.e,vb:[],error:!1},d);d.e.open&&d.e.open(d);!e.logReadFiles||b&1||(ec||(ec={}),a in ec||(ec[a]=1,e.printErr("read file: "+a)));try{M.onOpenFile&&(g=0,1!==(b&2097155)&&(g|=1),0!==(b&2097155)&&(g|=2),M.onOpenFile(a,g))}catch(p){console.log("FS.trackingDelegate['onOpenFile']('"+a+"', flags) threw an exception: "+p.message)}return d} +function fc(a){a.ia&&(a.ia=null);try{a.e.close&&a.e.close(a)}catch(b){throw b;}finally{L[a.fd]=null}}function gc(a,b,c){if(!a.seekable||!a.e.u)throw new H(E.T);a.position=a.e.u(a,b,c);a.vb=[]}function hc(a,b,c,d,f){if(0>d||0>f)throw new H(E.h);if(1===(a.flags&2097155))throw new H(E.t);if(J(a.c.mode))throw new H(E.N);if(!a.e.read)throw new H(E.h);var g=!0;if("undefined"===typeof f)f=a.position,g=!1;else if(!a.seekable)throw new H(E.T);b=a.e.read(a,b,c,d,f);g||(a.position+=b);return b} +function ic(a,b,c,d,f,g){if(0>d||0>f)throw new H(E.h);if(0===(a.flags&2097155))throw new H(E.t);if(J(a.c.mode))throw new H(E.N);if(!a.e.write)throw new H(E.h);a.flags&1024&&gc(a,0,2);var h=!0;if("undefined"===typeof f)f=a.position,h=!1;else if(!a.seekable)throw new H(E.T);b=a.e.write(a,b,c,d,f,g);h||(a.position+=b);try{if(a.path&&M.onWriteToFile)M.onWriteToFile(a.path)}catch(p){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+p.message)}return b} +function jc(){H||(H=function(a,b){this.c=b;this.sb=function(a){this.f=a;for(var b in E)if(E[b]===a){this.code=b;break}};this.sb(a);this.message=jb[a]},H.prototype=Error(),H.prototype.constructor=H,[E.p].forEach(function(a){yb[a]=new H(a);yb[a].stack=""}))}var kc;function lc(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}function mc(a,b,c,d){a=F("string"===typeof a?a:O(a),b);return Vb(a,lc(c,d))} +function nc(a,b,c,d,f,g){a=b?F("string"===typeof a?a:O(a),b):a;d=lc(d,f);f=Vb(a,d);if(c){if("string"===typeof c){a=Array(c.length);b=0;for(var h=c.length;b>2]=d.dev;t[c+4>>2]=0;t[c+8>>2]=d.ino;t[c+12>>2]=d.mode;t[c+16>>2]=d.nlink;t[c+20>>2]=d.uid;t[c+24>>2]=d.gid;t[c+28>>2]=d.rdev;t[c+32>>2]=0;t[c+36>>2]=d.size;t[c+40>>2]=4096;t[c+44>>2]=d.blocks;t[c+48>>2]=d.atime.getTime()/1E3|0;t[c+52>>2]=0;t[c+56>>2]=d.mtime.getTime()/1E3|0;t[c+60>>2]=0;t[c+64>>2]=d.ctime.getTime()/1E3|0;t[c+68>>2]=0;t[c+72>>2]=d.ino;return 0}var S=0; +function T(){S+=4;return t[S-4>>2]}function U(){return w(T())}function sc(){var a;a=T();a=L[a];if(!a)throw new H(E.t);return a}e._memset=tc;e._bitshift64Shl=uc;e._i64Add=vc; +var wc=z([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0, +1,0,3,0,1,0,2,0,1,0],"i8",2);e._llvm_cttz_i32=xc;e.___udivmoddi4=yc;e.___divdi3=zc;function Ac(a){a=a/1E3;if((ca||k)&&self.performance&&self.performance.now)for(var b=self.performance.now();self.performance.now()-b>2]=60*-(new Date).getTimezoneOffset();var b=new Date(2E3,0,1),c=new Date(2E3,6,1);t[Fc>>2]=Number(b.getTimezoneOffset()!=c.getTimezoneOffset());var d=a(b),f=a(c),d=z(C(d),"i8",0),f=z(C(f),"i8",0);c.getTimezoneOffset()>2]=d,t[Ec+4>>2]=f):(t[Ec>>2]=f,t[Ec+4>>2]=d)}} +function Ic(a,b){Hc();var c=new Date(1E3*t[a>>2]);t[b>>2]=c.getSeconds();t[b+4>>2]=c.getMinutes();t[b+8>>2]=c.getHours();t[b+12>>2]=c.getDate();t[b+16>>2]=c.getMonth();t[b+20>>2]=c.getFullYear()-1900;t[b+24>>2]=c.getDay();var d=new Date(c.getFullYear(),0,1);t[b+28>>2]=(c.getTime()-d.getTime())/864E5|0;t[b+36>>2]=-(60*c.getTimezoneOffset());c=c.getTimezoneOffset()==Math.min(d.getTimezoneOffset(),(new Date(2E3,6,1)).getTimezoneOffset())|0;t[b+32>>2]=c;t[b+40>>2]=t[Ec+(c?n.U:0)>>2];return b} +e._bitshift64Lshr=Jc;var Kc=q;q+=16;function Lc(a){var b,c;Lc.A?(c=t[Kc>>2],b=t[c>>2]):(Lc.A=!0,V.USER=V.LOGNAME="web_user",V.PATH="/",V.PWD="/",V.HOME="/home/web_user",V.LANG="C",V._=e.thisProgram,b=z(1024,"i8",2),c=z(256,"i8*",2),t[c>>2]=b,t[Kc>>2]=c);var d=[],f=0,g;for(g in a)if("string"===typeof a[g]){var h=g+"="+a[g];d.push(h);f+=h.length}if(1024>2]=b,b+=h.length+1;t[c+4*d.length>>2]=0} +var V={};function Mc(a){if(0===a)return 0;a=w(a);if(!V.hasOwnProperty(a))return 0;Mc.A&&Ja(Mc.A);Mc.A=z(C(V[a]),"i8",0);return Mc.A}e.___udivdi3=Nc;e.___muldsi3=Oc;e.___muldi3=Pc;e._sbrk=Qc;e._memmove=Rc;e.___uremdi3=Sc;function Tc(a,b){S=b;return 0}e.___remdi3=Uc;jc();Eb=Array(4096);Tb(I,"/");P("/tmp");P("/home");P("/home/web_user"); +(function(){P("/dev");sb(259,{read:function(){return 0},write:function(a,b,f,g){return g}});Wb("/dev/null",259);rb(1280,ub);rb(1536,vb);Wb("/dev/tty",1280);Wb("/dev/tty1",1536);var a;if("undefined"!==typeof crypto){var b=new Uint8Array(1);a=function(){crypto.getRandomValues(b);return b[0]}}else a=l?function(){return require("crypto").randomBytes(1)[0]}:function(){return 256*Math.random()|0};oc("/dev","random",a);oc("/dev","urandom",a);P("/dev/shm");P("/dev/shm/tmp")})();P("/proc");P("/proc/self"); +P("/proc/self/fd");Tb({l:function(){var a=xb("/proc/self","fd",16895,73);a.d={lookup:function(a,c){var d=L[+c];if(!d)throw new H(E.t);var f={parent:null,l:{Ka:"fake"},d:{readlink:function(){return d.path}}};return f.parent=f}};return a}},"/proc/self/fd"); +Ua.unshift(function(){if(!e.noFSInit&&!kc){assert(!kc,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)");kc=!0;jc();e.stdin=e.stdin;e.stdout=e.stdout;e.stderr=e.stderr;e.stdin?oc("/dev","stdin",e.stdin):Xb("/dev/tty","/dev/stdin");e.stdout?oc("/dev","stdout",null,e.stdout):Xb("/dev/tty","/dev/stdout");e.stderr?oc("/dev","stderr",null,e.stderr):Xb("/dev/tty1","/dev/stderr"); +var a=dc("/dev/stdin","r");assert(0===a.fd,"invalid handle for stdin ("+a.fd+")");a=dc("/dev/stdout","w");assert(1===a.fd,"invalid handle for stdout ("+a.fd+")");a=dc("/dev/stderr","w");assert(2===a.fd,"invalid handle for stderr ("+a.fd+")")}});Va.push(function(){Fb=!1});Wa.push(function(){kc=!1;var a=e._fflush;a&&a(0);for(a=0;athis.length-1||0>a)){var b=a%this.chunkSize;return this.Ia(a/this.chunkSize|0)[b]}};p.prototype.rb=function(a){this.Ia=a};p.prototype.za=function(){var a=new XMLHttpRequest;a.open("HEAD",c,!1);a.send(null);if(!(200<=a.status&&300>a.status||304===a.status))throw Error("Couldn't load "+c+". Status: "+a.status);var b=Number(a.getResponseHeader("Content-length")),d,f=(d=a.getResponseHeader("Accept-Ranges"))&& +"bytes"===d,a=(d=a.getResponseHeader("Content-Encoding"))&&"gzip"===d,g=1048576;f||(g=b);var h=this;h.rb(function(a){var d=a*g,f=(a+1)*g-1,f=Math.min(f,b-1);if("undefined"===typeof h.V[a]){var p=h.V;if(d>f)throw Error("invalid range ("+d+", "+f+") or no bytes requested!");if(f>b-1)throw Error("only "+b+" bytes available! programmer error!");var r=new XMLHttpRequest;r.open("GET",c,!1);b!==g&&r.setRequestHeader("Range","bytes="+d+"-"+f);"undefined"!=typeof Uint8Array&&(r.responseType="arraybuffer"); +r.overrideMimeType&&r.overrideMimeType("text/plain; charset=x-user-defined");r.send(null);if(!(200<=r.status&&300>r.status||304===r.status))throw Error("Couldn't load "+c+". Status: "+r.status);d=void 0!==r.response?new Uint8Array(r.response||[]):C(r.responseText||"",!0);p[a]=d}if("undefined"===typeof h.V[a])throw Error("doXHR failed!");return h.V[a]});if(a||!b)g=b=1,g=b=this.Ia(0).length,console.log("LazyFiles on gzip forces download of the whole file when length is accessed");this.Ta=b;this.Sa= +g;this.ja=!0};if("undefined"!==typeof XMLHttpRequest){if(!k)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";g=new p;Object.defineProperties(g,{length:{get:function(){this.ja||this.za();return this.Ta}},chunkSize:{get:function(){this.ja||this.za();return this.Sa}}});h=void 0}else h=c,g=void 0;var r=mc(a,b,d,f);g?r.b=g:h&&(r.b=null,r.url=h);Object.defineProperties(r,{g:{get:function(){return this.b.length}}});var v={};Object.keys(r.e).forEach(function(a){var b= +r.e[a];v[a]=function(){if(!pc(r))throw new H(E.v);return b.apply(null,arguments)}});v.read=function(a,b,c,d,f){if(!pc(r))throw new H(E.v);a=a.c.b;if(f>=a.length)return 0;d=Math.min(a.length-f,d);assert(0<=d);if(a.slice)for(var g=0;g>2]=Qa;Ba=!0;e.Ua={Math:Math,Int8Array:Int8Array,Int16Array:Int16Array,Int32Array:Int32Array,Uint8Array:Uint8Array,Uint16Array:Uint16Array,Uint32Array:Uint32Array,Float32Array:Float32Array,Float64Array:Float64Array,NaN:NaN,Infinity:Infinity}; +e.Va={abort:u,assert:assert,enlargeMemory:function(){ka()},getTotalMemory:function(){return ja},abortOnCannotGrowMemory:ka,invoke_iiii:function(a,b,c,d){try{return e.dynCall_iiii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},jsCall_iiii:function(a,b,c,d){return n.j[a](b,c,d)},invoke_i:function(a){try{return e.dynCall_i(a)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;e.setThrew(1,0)}},jsCall_i:function(a){return n.j[a]()},invoke_vi:function(a,b){try{e.dynCall_vi(a, +b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},jsCall_vi:function(a,b){n.j[a](b)},invoke_vii:function(a,b,c){try{e.dynCall_vii(a,b,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;e.setThrew(1,0)}},jsCall_vii:function(a,b,c){n.j[a](b,c)},invoke_iiiiiii:function(a,b,c,d,f,g,h){try{return e.dynCall_iiiiiii(a,b,c,d,f,g,h)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;e.setThrew(1,0)}},jsCall_iiiiiii:function(a,b,c,d,f,g,h){return n.j[a](b,c,d,f,g,h)},invoke_ii:function(a, +b){try{return e.dynCall_ii(a,b)}catch(c){if("number"!==typeof c&&"longjmp"!==c)throw c;e.setThrew(1,0)}},jsCall_ii:function(a,b){return n.j[a](b)},invoke_viii:function(a,b,c,d){try{e.dynCall_viii(a,b,c,d)}catch(f){if("number"!==typeof f&&"longjmp"!==f)throw f;e.setThrew(1,0)}},jsCall_viii:function(a,b,c,d){n.j[a](b,c,d)},invoke_v:function(a){try{e.dynCall_v(a)}catch(b){if("number"!==typeof b&&"longjmp"!==b)throw b;e.setThrew(1,0)}},jsCall_v:function(a){n.j[a]()},invoke_iiiii:function(a,b,c,d,f){try{return e.dynCall_iiiii(a, +b,c,d,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},jsCall_iiiii:function(a,b,c,d,f){return n.j[a](b,c,d,f)},invoke_viiiiii:function(a,b,c,d,f,g,h){try{e.dynCall_viiiiii(a,b,c,d,f,g,h)}catch(p){if("number"!==typeof p&&"longjmp"!==p)throw p;e.setThrew(1,0)}},jsCall_viiiiii:function(a,b,c,d,f,g,h){n.j[a](b,c,d,f,g,h)},invoke_iii:function(a,b,c){try{return e.dynCall_iii(a,b,c)}catch(d){if("number"!==typeof d&&"longjmp"!==d)throw d;e.setThrew(1,0)}},jsCall_iii:function(a, +b,c){return n.j[a](b,c)},invoke_iiiiii:function(a,b,c,d,f,g){try{return e.dynCall_iiiiii(a,b,c,d,f,g)}catch(h){if("number"!==typeof h&&"longjmp"!==h)throw h;e.setThrew(1,0)}},jsCall_iiiiii:function(a,b,c,d,f,g){return n.j[a](b,c,d,f,g)},invoke_viiii:function(a,b,c,d,f){try{e.dynCall_viiii(a,b,c,d,f)}catch(g){if("number"!==typeof g&&"longjmp"!==g)throw g;e.setThrew(1,0)}},jsCall_viiii:function(a,b,c,d,f){n.j[a](b,c,d,f)},___syscall221:function(a,b){S=b;try{var c=sc();switch(T()){case 0:var d=T();return 0> +d?-E.h:dc(c.path,c.flags,0,d).fd;case 1:case 2:return 0;case 3:return c.flags;case 4:return d=T(),c.flags|=d,0;case 12:case 12:return d=T(),ta[d+0>>1]=2,0;case 13:case 14:case 13:case 14:return 0;case 16:case 8:return-E.h;case 9:return ib(E.h),-1;default:return-E.h}}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall85:function(a,b){S=b;try{var c=U(),d=T(),f;var g=T();if(0>=g)f=-E.h;else{var h=Gb(c),p=Math.min(g,Ha(h)),r=x[d+p];ra(h,d,g+1);x[d+p]=r;f=p}return f}catch(v){return"undefined"!== +typeof Q&&v instanceof H||u(v),-v.f}},_utimes:function(a,b){var c;b?(c=1E3*t[b+8>>2],c+=t[b+12>>2]/1E3):c=Date.now();a=w(a);try{var d=c,f=N(a,{C:!0}).c;f.d.k(f,{timestamp:Math.max(d,c)});return 0}catch(g){if(!(g instanceof H))throw g+" : "+Ka();ib(g.f);return-1}},_llvm_pow_f64:ab,___syscall6:function(a,b){S=b;try{var c=sc();fc(c);return 0}catch(d){return"undefined"!==typeof Q&&d instanceof H||u(d),-d.f}},___syscall40:function(a,b){S=b;try{var c=U(),d=N(c,{parent:!0}).c,f=nb(c),g=zb(d,f),h=Pb(d,f, +!0);if(h)throw new H(h);if(!d.d.rmdir)throw new H(E.q);if(g.H)throw new H(E.M);try{M.willDeletePath&&M.willDeletePath(c)}catch(p){console.log("FS.trackingDelegate['willDeletePath']('"+c+"') threw an exception: "+p.message)}d.d.rmdir(d,f);Jb(g);try{if(M.onDeletePath)M.onDeletePath(c)}catch(r){console.log("FS.trackingDelegate['onDeletePath']('"+c+"') threw an exception: "+r.message)}return 0}catch(v){return"undefined"!==typeof Q&&v instanceof H||u(v),-v.f}},___syscall118:function(a,b){S=b;try{return sc(), +0}catch(c){return"undefined"!==typeof Q&&c instanceof H||u(c),-c.f}},___syscall20:function(a,b){S=b;return 42},___syscall183:function(a,b){S=b;try{var c=T(),d=T();if(0===d)return-E.h;if(2>d)return-E.Na;Da("/",c);return c}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___assert_fail:function(a,b,c,d){la=!0;throw"Assertion failed: "+w(a)+", at: "+[b?w(b):"unknown filename",c,d?w(d):"unknown function"]+" at "+Ka();},_usleep:Ac,___buildEnvironment:Lc,_localtime_r:Ic,_tzset:Hc,___setErrNo:ib, +___syscall192:function(a,b){S=b;try{var c=T(),d=T(),f=T(),g=T(),h=T(),p=T(),p=p<<12,r,v=!1;if(-1===h){r=Vc(16384,d);if(!r)return-E.ra;tc(r,0,d);v=!0}else{var D=L[h];if(!D)return-E.t;var B,R=A;if(1===(D.flags&2097155))throw new H(E.L);if(!D.e.X)throw new H(E.R);B=D.e.X(D,R,c,d,p,f,g);r=B.ob;v=B.da}qc[r]={mb:r,lb:d,da:v,fd:h,flags:g};return r}catch(G){return"undefined"!==typeof Q&&G instanceof H||u(G),-G.f}},___syscall197:function(a,b){S=b;try{var c=sc(),d=T();return rc(Zb,c.path,d)}catch(f){return"undefined"!== +typeof Q&&f instanceof H||u(f),-f.f}},___syscall196:function(a,b){S=b;try{var c=U(),d=T();return rc($b,c,d)}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall195:function(a,b){S=b;try{var c=U(),d=T();return rc(Zb,c,d)}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall194:function(a,b){S=b;try{var c=T();assert(0===T());var d=T(),f=T();0<=d?assert(0===f):assert(-1===f);var g=L[c];if(!g)throw new H(E.t);if(0===(g.flags&2097155))throw new H(E.h);cc(g.c, +d);return 0}catch(h){return"undefined"!==typeof Q&&h instanceof H||u(h),-h.f}},___syscall212:function(a,b){S=b;try{var c=U();T();T();bc(c);return 0}catch(d){return"undefined"!==typeof Q&&d instanceof H||u(d),-d.f}},_sysconf:function(a){switch(a){case 30:return 16384;case 85:return a=2130706432,a=A.length,a/16384;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809; +case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32; +case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1E3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"===typeof navigator?navigator.hardwareConcurrency||1:1}ib(E.h);return-1}, +___syscall94:function(a,b){S=b;try{var c=T(),d=T(),f=L[c];if(!f)throw new H(E.t);ac(f.c,d);return 0}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},_nanosleep:function(a,b){var c=t[a>>2],d=t[a+4>>2];0!==b&&(t[b>>2]=0,t[b+4>>2]=0);return Ac(1E6*c+d/1E3)},_emscripten_memcpy_big:function(a,b,c){A.set(A.subarray(b,b+c),a);return a},___syscall91:function(a,b){S=b;try{var c=T(),d=T(),f=qc[c];if(!f)return 0;if(d===f.lb){var g=L[f.fd],h=f.flags,p=new Uint8Array(A.subarray(c,c+d));g&&g.e.Y&& +g.e.Y(g,p,0,d,h);qc[c]=null;f.da&&Ja(f.mb)}return 0}catch(r){return"undefined"!==typeof Q&&r instanceof H||u(r),-r.f}},_getenv:Mc,___syscall33:function(a,b){S=b;try{var c=U(),d;var f=T();if(f&-8)d=-E.h;else{var g;g=N(c,{C:!0}).c;c="";f&4&&(c+="r");f&2&&(c+="w");f&1&&(c+="x");d=c&&Kb(g,c)?-E.L:0}return d}catch(h){return"undefined"!==typeof Q&&h instanceof H||u(h),-h.f}},___syscall54:function(a,b){S=b;try{var c=sc(),d=T();switch(d){case 21505:return c.tty?0:-E.F;case 21506:return c.tty?0:-E.F;case 21519:if(!c.tty)return-E.F; +var f=T();return t[f>>2]=0;case 21520:return c.tty?-E.h:-E.F;case 21531:f=T();if(!c.e.ib)throw new H(E.F);return c.e.ib(c,d,f);case 21523:return c.tty?0:-E.F;default:u("bad ioctl syscall "+d)}}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},___unlock:function(){},___syscall140:function(a,b){S=b;try{var c=sc();T();var d=T(),f=T(),g=T();gc(c,d,g);t[f>>2]=c.position;c.ia&&0===d&&0===g&&(c.ia=null);return 0}catch(h){return"undefined"!==typeof Q&&h instanceof H||u(h),-h.f}},___syscall15:function(a, +b){S=b;try{var c=U(),d=T();ac(c,d);return 0}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall39:function(a,b){S=b;try{var c=U(),d=T(),c=lb(c);"/"===c[c.length-1]&&(c=c.substr(0,c.length-1));P(c,d);return 0}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},___syscall10:function(a,b){S=b;try{var c=U();Yb(c);return 0}catch(d){return"undefined"!==typeof Q&&d instanceof H||u(d),-d.f}},___syscall3:function(a,b){S=b;try{var c=sc(),d=T(),f=T();return hc(c,x,d, +f)}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},___lock:function(){},_abort:function(){e.abort()},___syscall5:function(a,b){S=b;try{var c=U(),d=T(),f=T();return dc(c,d,f).fd}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},___syscall4:function(a,b){S=b;try{var c=sc(),d=T(),f=T();return ic(c,x,d,f)}catch(g){return"undefined"!==typeof Q&&g instanceof H||u(g),-g.f}},_time:function(a){var b=Date.now()/1E3|0;a&&(t[a>>2]=b);return b},_gettimeofday:function(a){var b= +Date.now();t[a>>2]=b/1E3|0;t[a+4>>2]=b%1E3*1E3|0;return 0},___syscall201:function(){return Tc.apply(null,arguments)},___syscall207:function(a,b){S=b;try{var c=T();T();T();var d=L[c];if(!d)throw new H(E.t);bc(d.c);return 0}catch(f){return"undefined"!==typeof Q&&f instanceof H||u(f),-f.f}},_localtime:function(a){return Ic(a,Dc)},___syscall202:Tc,___syscall146:function(a,b){S=b;try{var c=sc(),d=T(),f;a:{for(var g=T(),h=0,p=0;p>2],t[d+(8*p+4)>>2],void 0);if(0>r){f=-1;break a}h+= +r}f=h}return f}catch(v){return"undefined"!==typeof Q&&v instanceof H||u(v),-v.f}},DYNAMICTOP_PTR:ia,tempDoublePtr:gb,ABORT:la,STACKTOP:m,STACK_MAX:Pa,cttz_i8:wc};// EMSCRIPTEN_START_ASM +var W=(function(global,env,buffer) { +"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.DYNAMICTOP_PTR|0;var j=env.tempDoublePtr|0;var k=env.ABORT|0;var l=env.STACKTOP|0;var m=env.STACK_MAX|0;var n=env.cttz_i8|0;var o=0;var p=0;var q=0;var r=0;var s=global.NaN,t=global.Infinity;var u=0,v=0,w=0,x=0,y=0.0;var z=0;var A=global.Math.floor;var B=global.Math.abs;var C=global.Math.sqrt;var D=global.Math.pow;var E=global.Math.cos;var F=global.Math.sin;var G=global.Math.tan;var H=global.Math.acos;var I=global.Math.asin;var J=global.Math.atan;var K=global.Math.atan2;var L=global.Math.exp;var M=global.Math.log;var N=global.Math.ceil;var O=global.Math.imul;var P=global.Math.min;var Q=global.Math.max;var R=global.Math.clz32;var S=env.abort;var T=env.assert;var U=env.enlargeMemory;var V=env.getTotalMemory;var W=env.abortOnCannotGrowMemory;var X=env.invoke_iiii;var Y=env.jsCall_iiii;var Z=env.invoke_i;var _=env.jsCall_i;var $=env.invoke_vi;var aa=env.jsCall_vi;var ba=env.invoke_vii;var ca=env.jsCall_vii;var da=env.invoke_iiiiiii;var ea=env.jsCall_iiiiiii;var fa=env.invoke_ii;var ga=env.jsCall_ii;var ha=env.invoke_viii;var ia=env.jsCall_viii;var ja=env.invoke_v;var ka=env.jsCall_v;var la=env.invoke_iiiii;var ma=env.jsCall_iiiii;var na=env.invoke_viiiiii;var oa=env.jsCall_viiiiii;var pa=env.invoke_iii;var qa=env.jsCall_iii;var ra=env.invoke_iiiiii;var sa=env.jsCall_iiiiii;var ta=env.invoke_viiii;var ua=env.jsCall_viiii;var va=env.___syscall221;var wa=env.___syscall85;var xa=env._utimes;var ya=env._llvm_pow_f64;var za=env.___syscall6;var Aa=env.___syscall40;var Ba=env.___syscall118;var Ca=env.___syscall20;var Da=env.___syscall183;var Ea=env.___assert_fail;var Fa=env._usleep;var Ga=env.___buildEnvironment;var Ha=env._localtime_r;var Ia=env._tzset;var Ja=env.___setErrNo;var Ka=env.___syscall192;var La=env.___syscall197;var Ma=env.___syscall196;var Na=env.___syscall195;var Oa=env.___syscall194;var Pa=env.___syscall212;var Qa=env._sysconf;var Ra=env.___syscall94;var Sa=env._nanosleep;var Ta=env._emscripten_memcpy_big;var Ua=env.___syscall91;var Va=env._getenv;var Wa=env.___syscall33;var Xa=env.___syscall54;var Ya=env.___unlock;var Za=env.___syscall140;var _a=env.___syscall15;var $a=env.___syscall39;var ab=env.___syscall10;var bb=env.___syscall3;var cb=env.___lock;var db=env._abort;var eb=env.___syscall5;var fb=env.___syscall4;var gb=env._time;var hb=env._gettimeofday;var ib=env.___syscall201;var jb=env.___syscall207;var kb=env._localtime;var lb=env.___syscall202;var mb=env.___syscall146;var nb=0.0; +// EMSCRIPTEN_START_FUNCS +function Gw(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+208|0;W=Y+56|0;V=Y+48|0;U=Y+40|0;T=Y+24|0;X=Y+16|0;p=Y+8|0;m=Y;w=Y+196|0;k=Y+192|0;N=Y+188|0;O=Y+184|0;P=Y+180|0;Q=Y+176|0;R=Y+172|0;S=Y+168|0;q=Y+164|0;r=Y+160|0;s=Y+156|0;t=Y+152|0;u=Y+148|0;v=Y+144|0;h=Y+202|0;n=Y+140|0;i=Y+136|0;j=Y+200|0;x=Y+132|0;y=Y+128|0;o=Y+124|0;z=Y+120|0;A=Y+116|0;B=Y+112|0;C=Y+108|0;D=Y+104|0;E=Y+100|0;F=Y+96|0;G=Y+92|0;H=Y+88|0;I=Y+84|0;J=Y+80|0;K=Y+72|0;L=Y+64|0;M=Y+60|0;c[k>>2]=f;c[N>>2]=g;c[O>>2]=c[c[k>>2]>>2];c[s>>2]=c[c[O>>2]>>2];b[h>>1]=c[(c[N>>2]|0)+8>>2];g=(c[N>>2]|0)+8|0;c[g>>2]=c[g>>2]|64;if(a[(c[s>>2]|0)+69>>0]|0){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}if(c[(c[N>>2]|0)+28>>2]|0?(e[h>>1]&64|0)==0:0){c[S>>2]=c[(c[N>>2]|0)+28>>2];c[q>>2]=c[c[N>>2]>>2];if((c[(c[k>>2]|0)+12>>2]|0)==132){h=c[O>>2]|0;Us(h,c[(Iw(c[N>>2]|0)|0)+64>>2]|0,0)}rv(c[O>>2]|0,c[S>>2]|0);c[P>>2]=0;c[r>>2]=(c[S>>2]|0)+8;a:while(1){if((c[P>>2]|0)>=(c[c[S>>2]>>2]|0)){h=38;break}if(!((d[(c[r>>2]|0)+36+1>>0]|0)>>>5&1)){if(Jw(c[k>>2]|0,c[r>>2]|0)|0){h=12;break}do if(!(c[(c[r>>2]|0)+16>>2]|0)){if(!(c[(c[r>>2]|0)+8>>2]|0)){c[i>>2]=c[(c[r>>2]|0)+20>>2];if(Mv(c[k>>2]|0,c[i>>2]|0)|0){h=16;break a}h=jl(c[s>>2]|0,72,0)|0;c[n>>2]=h;c[(c[r>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){h=18;break a}b[(c[n>>2]|0)+36>>1]=1;h=c[s>>2]|0;c[m>>2]=c[n>>2];h=Bj(h,26416,m)|0;c[c[n>>2]>>2]=h;while(1){if(!(c[(c[i>>2]|0)+48>>2]|0))break;c[i>>2]=c[(c[i>>2]|0)+48>>2]}tv(c[O>>2]|0,c[c[i>>2]>>2]|0,(c[n>>2]|0)+34|0,(c[n>>2]|0)+4|0)|0;b[(c[n>>2]|0)+32>>1]=-1;b[(c[n>>2]|0)+38>>1]=200;h=(c[n>>2]|0)+42|0;a[h>>0]=d[h>>0]|2;break}h=gu(c[O>>2]|0,0,c[r>>2]|0)|0;c[n>>2]=h;c[(c[r>>2]|0)+16>>2]=h;if(!(c[n>>2]|0)){h=24;break a}if((e[(c[n>>2]|0)+36>>1]|0)==65535){h=26;break a}h=(c[n>>2]|0)+36|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;if((d[(c[n>>2]|0)+42>>0]&16|0)==0?Kw(c[O>>2]|0,c[r>>2]|0)|0:0){h=29;break a}if((d[(c[n>>2]|0)+42>>0]&16|0)==0?(c[(c[n>>2]|0)+12>>2]|0)==0:0)break;if(kv(c[O>>2]|0,c[n>>2]|0)|0){h=33;break a}h=qv(c[s>>2]|0,c[(c[n>>2]|0)+12>>2]|0,0)|0;c[(c[r>>2]|0)+20>>2]=h;b[j>>1]=b[(c[n>>2]|0)+34>>1]|0;b[(c[n>>2]|0)+34>>1]=-1;Mv(c[k>>2]|0,c[(c[r>>2]|0)+20>>2]|0)|0;b[(c[n>>2]|0)+34>>1]=b[j>>1]|0}while(0);if(Lw(c[O>>2]|0,c[r>>2]|0)|0){h=36;break}}c[P>>2]=(c[P>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+72}if((h|0)==12){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==16){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==18){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==24){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==26){X=c[O>>2]|0;c[p>>2]=c[c[n>>2]>>2];Ck(X,26429,p);c[(c[r>>2]|0)+16>>2]=0;c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==29){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==33){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==36){c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}else if((h|0)==38){if((d[(c[s>>2]|0)+69>>0]|0)==0?(Mw(c[O>>2]|0,c[N>>2]|0)|0)==0:0){c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[c[q>>2]>>2]|0))break;c[t>>2]=c[(c[(c[q>>2]|0)+4>>2]|0)+((c[R>>2]|0)*20|0)>>2];if((d[c[t>>2]>>0]|0)==160)break;if((d[c[t>>2]>>0]|0)==122?(d[c[(c[t>>2]|0)+16>>2]>>0]|0)==160:0)break;c[R>>2]=(c[R>>2]|0)+1}if((c[R>>2]|0)<(c[c[q>>2]>>2]|0)){c[x>>2]=c[(c[q>>2]|0)+4>>2];c[y>>2]=0;c[o>>2]=c[(c[c[O>>2]>>2]|0)+24>>2];if(c[o>>2]&4|0)f=(c[o>>2]&64|0)==0;else f=0;c[z>>2]=f&1;c[R>>2]=0;while(1){if((c[R>>2]|0)>=(c[c[q>>2]>>2]|0))break;c[t>>2]=c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)>>2];c[u>>2]=c[(c[t>>2]|0)+16>>2];do if((d[c[t>>2]>>0]|0)!=160){if((d[c[t>>2]>>0]|0)==122?(d[c[u>>2]>>0]|0)==160:0){h=58;break}c[y>>2]=Ks(c[O>>2]|0,c[y>>2]|0,c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)>>2]|0)|0;if(c[y>>2]|0){c[(c[(c[y>>2]|0)+4>>2]|0)+(((c[c[y>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+4>>2];c[(c[(c[y>>2]|0)+4>>2]|0)+(((c[c[y>>2]>>2]|0)-1|0)*20|0)+8>>2]=c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+8>>2];c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+4>>2]=0;c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)+8>>2]=0}c[(c[x>>2]|0)+((c[R>>2]|0)*20|0)>>2]=0}else h=58;while(0);do if((h|0)==58){h=0;c[A>>2]=0;c[B>>2]=0;if((d[c[t>>2]>>0]|0)==122)c[B>>2]=c[(c[(c[t>>2]|0)+12>>2]|0)+8>>2];c[P>>2]=0;c[r>>2]=(c[S>>2]|0)+8;while(1){if((c[P>>2]|0)>=(c[c[S>>2]>>2]|0))break;c[C>>2]=c[(c[r>>2]|0)+16>>2];c[D>>2]=c[(c[r>>2]|0)+20>>2];c[E>>2]=c[(c[r>>2]|0)+12>>2];c[F>>2]=0;if(!(c[E>>2]|0))c[E>>2]=c[c[C>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0)break;if((c[D>>2]|0)!=0?(c[(c[D>>2]|0)+8>>2]&2048|0)!=0:0)h=72;else h=67;do if((h|0)==67){h=0;c[D>>2]=0;if(c[B>>2]|0?Ig(c[B>>2]|0,c[E>>2]|0)|0:0)break;c[G>>2]=Nt(c[s>>2]|0,c[(c[C>>2]|0)+64>>2]|0)|0;if((c[G>>2]|0)>=0)f=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[G>>2]<<4)>>2]|0;else f=26468;c[F>>2]=f;h=72}while(0);b:do if((h|0)==72){h=0;c[Q>>2]=0;while(1){if((c[Q>>2]|0)>=(b[(c[C>>2]|0)+34>>1]|0))break b;c[H>>2]=c[(c[(c[C>>2]|0)+4>>2]|0)+(c[Q>>2]<<4)>>2];if(!((c[B>>2]|0)!=0&(c[D>>2]|0)!=0?!(Aw(c[(c[(c[c[D>>2]>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)+8>>2]|0,0,c[B>>2]|0,0)|0):0))h=76;do if((h|0)==76){h=0;if((c[(c[N>>2]|0)+8>>2]&131072|0)==0?d[(c[(c[C>>2]|0)+4>>2]|0)+(c[Q>>2]<<4)+15>>0]&2|0:0)break;c[A>>2]=1;if((c[P>>2]|0)>0&(c[B>>2]|0)==0){if(d[(c[r>>2]|0)+36>>0]&4|0?Nw(c[S>>2]|0,c[P>>2]|0,c[H>>2]|0,0,0)|0:0)break;if((Ow(c[(c[r>>2]|0)+52>>2]|0,c[H>>2]|0)|0)>=0)break}c[u>>2]=Ns(c[s>>2]|0,55,c[H>>2]|0)|0;c[I>>2]=c[H>>2];c[J>>2]=0;do if(c[z>>2]|0)h=84;else{if((c[c[S>>2]>>2]|0)>1){h=84;break}c[v>>2]=c[u>>2]}while(0);do if((h|0)==84){h=0;c[L>>2]=Ns(c[s>>2]|0,55,c[E>>2]|0)|0;c[v>>2]=vs(c[O>>2]|0,122,c[L>>2]|0,c[u>>2]|0,0)|0;if(c[F>>2]|0){c[L>>2]=Ns(c[s>>2]|0,55,c[F>>2]|0)|0;c[v>>2]=vs(c[O>>2]|0,122,c[L>>2]|0,c[v>>2]|0,0)|0}if(!(c[z>>2]|0))break;p=c[s>>2]|0;o=c[H>>2]|0;c[X>>2]=c[E>>2];c[X+4>>2]=o;c[I>>2]=Bj(p,26470,X)|0;c[J>>2]=c[I>>2]}while(0);c[y>>2]=Ks(c[O>>2]|0,c[y>>2]|0,c[v>>2]|0)|0;pw(K,c[I>>2]|0);Ls(c[O>>2]|0,c[y>>2]|0,K,0);do if(c[y>>2]|0){if(!(c[(c[N>>2]|0)+8>>2]&2048))break;c[M>>2]=(c[(c[y>>2]|0)+4>>2]|0)+(((c[c[y>>2]>>2]|0)-1|0)*20|0);f=c[s>>2]|0;if(c[D>>2]|0){f=go(f,c[(c[(c[c[D>>2]>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)+8>>2]|0)|0;g=c[M>>2]|0}else{p=c[E>>2]|0;g=c[I>>2]|0;c[T>>2]=c[F>>2];c[T+4>>2]=p;c[T+8>>2]=g;f=Bj(f,26476,T)|0;g=c[M>>2]|0}c[g+8>>2]=f;p=(c[M>>2]|0)+13|0;a[p>>0]=a[p>>0]&-3|2}while(0);Hd(c[s>>2]|0,c[J>>2]|0)}while(0);c[Q>>2]=(c[Q>>2]|0)+1}}while(0);c[P>>2]=(c[P>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+72}if(!(c[A>>2]|0)){f=c[O>>2]|0;if(c[B>>2]|0){c[U>>2]=c[B>>2];Ck(f,26485,U);break}else{Ck(f,26503,V);break}}}while(0);c[R>>2]=(c[R>>2]|0)+1}_j(c[s>>2]|0,c[q>>2]|0);c[c[N>>2]>>2]=c[y>>2]}if(c[c[N>>2]>>2]|0?(c[c[c[N>>2]>>2]>>2]|0)>(c[(c[s>>2]|0)+96+8>>2]|0):0){Ck(c[O>>2]|0,26523,W);c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}c[w>>2]=0;X=c[w>>2]|0;l=Y;return X|0}c[w>>2]=2;X=c[w>>2]|0;l=Y;return X|0}}c[w>>2]=1;X=c[w>>2]|0;l=Y;return X|0}function Hw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f+8|0;d=f+4|0;e=f;c[h>>2]=a;c[g>>2]=b;c[d>>2]=c[c[h>>2]>>2];c[e>>2]=c[(Iw(c[g>>2]|0)|0)+64>>2];if(!(c[e>>2]|0)){l=f;return}c[(c[d>>2]|0)+472>>2]=c[(c[e>>2]|0)+4>>2];l=f;return}function Iw(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+52>>2]|0))break;c[b>>2]=c[a+52>>2]}l=d;return a|0}function Jw(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+96|0;A=B+16|0;o=B+8|0;i=B;v=B+88|0;w=B+84|0;n=B+80|0;x=B+76|0;h=B+72|0;y=B+68|0;p=B+64|0;z=B+60|0;q=B+56|0;r=B+52|0;s=B+48|0;t=B+44|0;u=B+40|0;j=B+36|0;k=B+32|0;m=B+28|0;c[w>>2]=f;c[n>>2]=g;c[x>>2]=c[c[w>>2]>>2];c[h>>2]=c[c[x>>2]>>2];c[y>>2]=$w(c[(c[x>>2]|0)+472>>2]|0,c[n>>2]|0,p)|0;if(c[y>>2]|0){f=c[x>>2]|0;if(c[(c[y>>2]|0)+12>>2]|0){A=c[(c[y>>2]|0)+12>>2]|0;c[i>>2]=c[c[y>>2]>>2];Ck(f,A,i);c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}if(Kw(f,c[n>>2]|0)|0){c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}i=jl(c[h>>2]|0,72,0)|0;c[z>>2]=i;c[(c[n>>2]|0)+16>>2]=i;if(!(c[z>>2]|0)){c[v>>2]=2;A=c[v>>2]|0;l=B;return A|0}b[(c[z>>2]|0)+36>>1]=1;i=go(c[h>>2]|0,c[c[y>>2]>>2]|0)|0;c[c[z>>2]>>2]=i;b[(c[z>>2]|0)+32>>1]=-1;b[(c[z>>2]|0)+38>>1]=200;i=(c[z>>2]|0)+42|0;a[i>>0]=d[i>>0]|66;i=qv(c[h>>2]|0,c[(c[y>>2]|0)+8>>2]|0,0)|0;c[(c[n>>2]|0)+20>>2]=i;if(a[(c[h>>2]|0)+69>>0]|0){c[v>>2]=7;A=c[v>>2]|0;l=B;return A|0}c[r>>2]=c[(c[n>>2]|0)+20>>2];if((d[(c[r>>2]|0)+4>>0]|0)==116)f=1;else f=(d[(c[r>>2]|0)+4>>0]|0)==115;c[t>>2]=f&1;a:do if(c[t>>2]|0){c[k>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+28>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[k>>2]>>2]|0))break a;c[m>>2]=(c[k>>2]|0)+8+((c[j>>2]|0)*72|0);if(((c[(c[m>>2]|0)+4>>2]|0)==0?c[(c[m>>2]|0)+8>>2]|0:0)?0==(Ig(c[(c[m>>2]|0)+8>>2]|0,c[c[y>>2]>>2]|0)|0):0){c[(c[m>>2]|0)+16>>2]=c[z>>2];n=(c[m>>2]|0)+36+1|0;a[n>>0]=a[n>>0]&-33|32;n=(c[z>>2]|0)+36|0;b[n>>1]=(b[n>>1]|0)+1<<16>>16;n=(c[r>>2]|0)+8|0;c[n>>2]=c[n>>2]|8192}c[j>>2]=(c[j>>2]|0)+1}}while(0);if((e[(c[z>>2]|0)+36>>1]|0)>2){A=c[x>>2]|0;c[o>>2]=c[c[y>>2]>>2];Ck(A,26764,o);c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}c[(c[y>>2]|0)+12>>2]=26807;c[u>>2]=c[(c[x>>2]|0)+472>>2];c[(c[x>>2]|0)+472>>2]=c[p>>2];f=c[r>>2]|0;if(c[t>>2]|0)f=c[f+48>>2]|0;Mv(c[w>>2]|0,f)|0;c[(c[x>>2]|0)+472>>2]=c[p>>2];c[s>>2]=c[r>>2];while(1){f=c[s>>2]|0;if(!(c[(c[s>>2]|0)+48>>2]|0))break;c[s>>2]=c[f+48>>2]}c[q>>2]=c[f>>2];if(c[(c[y>>2]|0)+4>>2]|0){if(c[q>>2]|0?(c[c[q>>2]>>2]|0)!=(c[c[(c[y>>2]|0)+4>>2]>>2]|0):0){z=c[x>>2]|0;t=c[c[q>>2]>>2]|0;w=c[c[(c[y>>2]|0)+4>>2]>>2]|0;c[A>>2]=c[c[y>>2]>>2];c[A+4>>2]=t;c[A+8>>2]=w;Ck(z,26830,A);c[(c[x>>2]|0)+472>>2]=c[u>>2];c[v>>2]=1;A=c[v>>2]|0;l=B;return A|0}c[q>>2]=c[(c[y>>2]|0)+4>>2]}tv(c[x>>2]|0,c[q>>2]|0,(c[z>>2]|0)+34|0,(c[z>>2]|0)+4|0)|0;if(c[t>>2]|0){c[(c[y>>2]|0)+12>>2]=c[(c[r>>2]|0)+8>>2]&8192|0?26868:26902;Mv(c[w>>2]|0,c[r>>2]|0)|0}c[(c[y>>2]|0)+12>>2]=0;c[(c[x>>2]|0)+472>>2]=c[u>>2]}c[v>>2]=0;A=c[v>>2]|0;l=B;return A|0}function Kw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=i+12|0;f=i+8|0;g=i+4|0;c[f>>2]=a;c[g>>2]=b;if((d[(c[g>>2]|0)+36+1>>0]|0)>>>2&1|0){f=c[f>>2]|0;c[h>>2]=c[(c[g>>2]|0)+8>>2];Ck(f,26741,h);c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}else{c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}return 0}function Lw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;c[g>>2]=b;c[h>>2]=e;do if(c[(c[h>>2]|0)+16>>2]|0?(d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0:0){c[i>>2]=c[(c[h>>2]|0)+16>>2];c[j>>2]=c[(c[h>>2]|0)+64>>2];c[k>>2]=c[(c[i>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if(!(Ig(c[c[k>>2]>>2]|0,c[j>>2]|0)|0))break;c[k>>2]=c[(c[k>>2]|0)+20>>2]}if(c[k>>2]|0){c[(c[h>>2]|0)+68>>2]=c[k>>2];break}k=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=0;Ck(k,26723,m);a[(c[g>>2]|0)+17>>0]=1;c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}while(0);c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}function Mw(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+96|0;B=C+16|0;A=C+8|0;z=C;x=C+92|0;y=C+88|0;q=C+84|0;r=C+80|0;s=C+76|0;t=C+72|0;u=C+68|0;v=C+64|0;f=C+60|0;g=C+56|0;h=C+52|0;i=C+48|0;j=C+44|0;k=C+40|0;m=C+36|0;w=C+32|0;n=C+28|0;o=C+24|0;p=C+20|0;c[y>>2]=a;c[q>>2]=e;c[r>>2]=c[(c[q>>2]|0)+28>>2];c[u>>2]=(c[r>>2]|0)+8;c[v>>2]=(c[u>>2]|0)+72;c[s>>2]=0;a:while(1){if((c[s>>2]|0)>=((c[c[r>>2]>>2]|0)-1|0)){a=28;break}c[f>>2]=c[(c[u>>2]|0)+16>>2];c[g>>2]=c[(c[v>>2]|0)+16>>2];b:do if(!((c[f>>2]|0)==0|(c[g>>2]|0)==0)){c[h>>2]=(d[(c[v>>2]|0)+36>>0]&32|0)!=0&1;c:do if(d[(c[v>>2]|0)+36>>0]&4|0){if(c[(c[v>>2]|0)+48>>2]|0){a=7;break a}if(c[(c[v>>2]|0)+52>>2]|0){a=7;break a}c[t>>2]=0;while(1){if((c[t>>2]|0)>=(b[(c[g>>2]|0)+34>>1]|0))break c;c[i>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+(c[t>>2]<<4)>>2];if(Nw(c[r>>2]|0,(c[s>>2]|0)+1|0,c[i>>2]|0,j,k)|0)Qw(c[y>>2]|0,c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,(c[s>>2]|0)+1|0,c[t>>2]|0,c[h>>2]|0,(c[q>>2]|0)+32|0);c[t>>2]=(c[t>>2]|0)+1}}while(0);if(c[(c[v>>2]|0)+48>>2]|0?c[(c[v>>2]|0)+52>>2]|0:0){a=15;break a}if(c[(c[v>>2]|0)+48>>2]|0){if(c[h>>2]|0)Rw(c[(c[v>>2]|0)+48>>2]|0,c[(c[v>>2]|0)+44>>2]|0);e=Sw(c[c[y>>2]>>2]|0,c[(c[q>>2]|0)+32>>2]|0,c[(c[v>>2]|0)+48>>2]|0)|0;c[(c[q>>2]|0)+32>>2]=e;c[(c[v>>2]|0)+48>>2]=0}if(c[(c[v>>2]|0)+52>>2]|0){c[m>>2]=c[(c[v>>2]|0)+52>>2];c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[(c[m>>2]|0)+4>>2]|0))break b;c[w>>2]=c[(c[c[m>>2]>>2]|0)+(c[t>>2]<<3)>>2];c[p>>2]=Pw(c[g>>2]|0,c[w>>2]|0)|0;if((c[p>>2]|0)<0){a=25;break a}if(!(Nw(c[r>>2]|0,(c[s>>2]|0)+1|0,c[w>>2]|0,n,o)|0)){a=25;break a}Qw(c[y>>2]|0,c[r>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[s>>2]|0)+1|0,c[p>>2]|0,c[h>>2]|0,(c[q>>2]|0)+32|0);c[t>>2]=(c[t>>2]|0)+1}}}while(0);c[s>>2]=(c[s>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+72;c[u>>2]=(c[u>>2]|0)+72}if((a|0)==7){B=c[y>>2]|0;c[z>>2]=0;Ck(B,26554,z);c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}else if((a|0)==15){Ck(c[y>>2]|0,26604,A);c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}else if((a|0)==25){A=c[y>>2]|0;c[B>>2]=c[w>>2];Ck(A,26659,B);c[x>>2]=1;B=c[x>>2]|0;l=C;return B|0}else if((a|0)==28){c[x>>2]=0;B=c[x>>2]|0;l=C;return B|0}return 0}function Nw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;g=q+8|0;h=q+4|0;i=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[g>>2]=f;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[m>>2]|0)){p=8;break}c[i>>2]=Pw(c[(c[k>>2]|0)+8+((c[h>>2]|0)*72|0)+16>>2]|0,c[n>>2]|0)|0;if((c[i>>2]|0)>=0)break;c[h>>2]=(c[h>>2]|0)+1}if((p|0)==8){c[j>>2]=0;p=c[j>>2]|0;l=q;return p|0}if(c[o>>2]|0){c[c[o>>2]>>2]=c[h>>2];c[c[g>>2]>>2]=c[i>>2]}c[j>>2]=1;p=c[j>>2]|0;l=q;return p|0}function Ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+4>>2]|0)){a=8;break}a=(Ig(c[(c[c[d>>2]>>2]|0)+(c[f>>2]<<3)>>2]|0,c[e>>2]|0)|0)==0;b=c[f>>2]|0;if(a){a=6;break}c[f>>2]=b+1}if((a|0)==6){c[g>>2]=b;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==8){c[g>>2]=-1;g=c[g>>2]|0;l=h;return g|0}return 0}function Pw(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=a;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+34>>1]|0)){a=6;break}a=(Ig(c[(c[(c[e>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2]|0,c[f>>2]|0)|0)==0;d=c[g>>2]|0;if(a){a=4;break}c[g>>2]=d+1}if((a|0)==4){c[h>>2]=d;h=c[h>>2]|0;l=i;return h|0}else if((a|0)==6){c[h>>2]=-1;h=c[h>>2]|0;l=i;return h|0}return 0}function Qw(a,d,e,f,g,h,i,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;p=l;l=l+48|0;s=p+44|0;v=p+40|0;x=p+36|0;w=p+32|0;u=p+28|0;t=p+24|0;q=p+20|0;k=p+16|0;m=p+12|0;r=p+8|0;n=p+4|0;o=p;c[s>>2]=a;c[v>>2]=d;c[x>>2]=e;c[w>>2]=f;c[u>>2]=g;c[t>>2]=h;c[q>>2]=i;c[k>>2]=j;c[m>>2]=c[c[s>>2]>>2];c[r>>2]=_w(c[m>>2]|0,c[v>>2]|0,c[x>>2]|0,c[w>>2]|0)|0;c[n>>2]=_w(c[m>>2]|0,c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0;c[o>>2]=vs(c[s>>2]|0,37,c[r>>2]|0,c[n>>2]|0,0)|0;if(!((c[o>>2]|0)!=0&(c[q>>2]|0)!=0)){v=c[m>>2]|0;x=c[k>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=Sw(v,x,w)|0;x=c[k>>2]|0;c[x>>2]=w;l=p;return}v=(c[o>>2]|0)+4|0;c[v>>2]=c[v>>2]|1;b[(c[o>>2]|0)+36>>1]=c[(c[n>>2]|0)+28>>2];v=c[m>>2]|0;x=c[k>>2]|0;x=c[x>>2]|0;w=c[o>>2]|0;w=Sw(v,x,w)|0;x=c[k>>2]|0;c[x>>2]=w;l=p;return}function Rw(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=e;while(1){if(!(c[f>>2]|0))break;e=(c[f>>2]|0)+4|0;c[e>>2]=c[e>>2]|1;b[(c[f>>2]|0)+36>>1]=c[g>>2];a:do if((d[c[f>>2]>>0]|0|0)==151?c[(c[f>>2]|0)+20>>2]|0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[f>>2]|0)+20>>2]>>2]|0))break a;Rw(c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);Rw(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0);c[f>>2]=c[(c[f>>2]|0)+16>>2]}l=i;return}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a=c[h>>2]|0;if(!(c[g>>2]|0)){c[e>>2]=a;i=c[e>>2]|0;l=j;return i|0}b=c[g>>2]|0;if(!a){c[e>>2]=b;i=c[e>>2]|0;l=j;return i|0}if((Tw(b)|0)==0?(Tw(c[h>>2]|0)|0)==0:0){c[i>>2]=at(c[f>>2]|0,28,0,0)|0;Uw(c[f>>2]|0,c[i>>2]|0,c[g>>2]|0,c[h>>2]|0);c[e>>2]=c[i>>2];i=c[e>>2]|0;l=j;return i|0}ck(c[f>>2]|0,c[g>>2]|0);ck(c[f>>2]|0,c[h>>2]|0);c[e>>2]=at(c[f>>2]|0,134,4176,0)|0;i=c[e>>2]|0;l=j;return i|0}function Tw(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1|0))if(Zv(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)==0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);l=f;return c[b>>2]|0}function Uw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){ck(c[f>>2]|0,c[h>>2]|0);ck(c[f>>2]|0,c[i>>2]|0);l=j;return}if(c[i>>2]|0){c[(c[g>>2]|0)+16>>2]=c[i>>2];f=(c[g>>2]|0)+4|0;c[f>>2]=c[f>>2]|2097408&c[(c[i>>2]|0)+4>>2]}if(c[h>>2]|0){c[(c[g>>2]|0)+12>>2]=c[h>>2];i=(c[g>>2]|0)+4|0;c[i>>2]=c[i>>2]|2097408&c[(c[h>>2]|0)+4>>2]}Vw(c[g>>2]|0);l=j;return}function Vw(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;Ww(c[(c[b>>2]|0)+12>>2]|0,d);Ww(c[(c[b>>2]|0)+16>>2]|0,d);a=(c[b>>2]|0)+20|0;if(!(c[(c[b>>2]|0)+4>>2]&2048|0)){if(c[a>>2]|0){Yw(c[(c[b>>2]|0)+20>>2]|0,d);f=2097408&(Zw(c[(c[b>>2]|0)+20>>2]|0)|0);a=(c[b>>2]|0)+4|0;c[a>>2]=c[a>>2]|f}}else Xw(c[a>>2]|0,d);c[(c[b>>2]|0)+24>>2]=(c[d>>2]|0)+1;l=e;return}function Ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){l=f;return}if((c[(c[d>>2]|0)+24>>2]|0)<=(c[c[e>>2]>>2]|0)){l=f;return}c[c[e>>2]>>2]=c[(c[d>>2]|0)+24>>2];l=f;return}function Xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){l=f;return}Ww(c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);Ww(c[(c[d>>2]|0)+40>>2]|0,c[e>>2]|0);Ww(c[(c[d>>2]|0)+56>>2]|0,c[e>>2]|0);Ww(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0);Yw(c[c[d>>2]>>2]|0,c[e>>2]|0);Yw(c[(c[d>>2]|0)+36>>2]|0,c[e>>2]|0);Yw(c[(c[d>>2]|0)+44>>2]|0,c[e>>2]|0);Xw(c[(c[d>>2]|0)+48>>2]|0,c[e>>2]|0);l=f;return}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){l=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0))break;Ww(c[(c[(c[d>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,c[e>>2]|0);c[f>>2]=(c[f>>2]|0)+1}l=g;return}function Zw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=0;if(!(c[b>>2]|0)){f=c[e>>2]|0;l=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[d>>2]|0)*20|0)>>2];c[e>>2]=c[e>>2]|c[(c[f>>2]|0)+4>>2];c[d>>2]=(c[d>>2]|0)+1}f=c[e>>2]|0;l=g;return f|0}function _w(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=a;c[g>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=at(c[n>>2]|0,152,0,0)|0;if(!(c[j>>2]|0)){n=c[j>>2]|0;l=m;return n|0}c[k>>2]=(c[g>>2]|0)+8+((c[h>>2]|0)*72|0);c[(c[j>>2]|0)+44>>2]=c[(c[k>>2]|0)+16>>2];c[(c[j>>2]|0)+28>>2]=c[(c[k>>2]|0)+44>>2];if((b[(c[(c[j>>2]|0)+44>>2]|0)+32>>1]|0)==(c[i>>2]|0))b[(c[j>>2]|0)+32>>1]=-1;else{b[(c[j>>2]|0)+32>>1]=c[i>>2];i=HR(1,0,((c[i>>2]|0)>=64?63:c[i>>2]|0)|0)|0;n=(c[k>>2]|0)+56|0;h=n;k=c[h+4>>2]|z;c[n>>2]=c[h>>2]|i;c[n+4>>2]=k}n=(c[j>>2]|0)+4|0;c[n>>2]=c[n>>2]|4;n=c[j>>2]|0;l=m;return n|0}function $w(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;a:do if((c[(c[g>>2]|0)+4>>2]|0)==0?(g=c[(c[g>>2]|0)+8>>2]|0,c[i>>2]=g,g|0):0){c[j>>2]=c[f>>2];b:while(1){if(!(c[j>>2]|0))break a;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[j>>2]>>2]|0))break;if(!(Ig(c[i>>2]|0,c[(c[j>>2]|0)+8+(c[k>>2]<<4)>>2]|0)|0))break b;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=c[(c[j>>2]|0)+4>>2]}c[c[h>>2]>>2]=c[j>>2];c[e>>2]=(c[j>>2]|0)+8+(c[k>>2]<<4);k=c[e>>2]|0;l=m;return k|0}while(0);c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}function ax(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[m>>2]=a;c[n>>2]=e;c[o>>2]=f;if(!(c[n>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}if((c[c[n>>2]>>2]|0)>0)a=((c[c[n>>2]>>2]|0)-1|0)*72|0;else a=0;c[g>>2]=80+a;g=c[g>>2]|0;c[p>>2]=od(c[m>>2]|0,g,((g|0)<0)<<31>>31)|0;if(!(c[p>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}g=c[c[n>>2]>>2]|0;c[(c[p>>2]|0)+4>>2]=g;c[c[p>>2]>>2]=g;c[q>>2]=0;while(1){a=c[p>>2]|0;if((c[q>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[h>>2]=a+8+((c[q>>2]|0)*72|0);c[i>>2]=(c[n>>2]|0)+8+((c[q>>2]|0)*72|0);c[c[h>>2]>>2]=c[c[i>>2]>>2];g=go(c[m>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0;c[(c[h>>2]|0)+4>>2]=g;g=go(c[m>>2]|0,c[(c[i>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+8>>2]=g;g=go(c[m>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0;c[(c[h>>2]|0)+12>>2]=g;c[(c[h>>2]|0)+36>>2]=c[(c[i>>2]|0)+36>>2];c[(c[h>>2]|0)+44>>2]=c[(c[i>>2]|0)+44>>2];c[(c[h>>2]|0)+24>>2]=c[(c[i>>2]|0)+24>>2];c[(c[h>>2]|0)+28>>2]=c[(c[i>>2]|0)+28>>2];if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0){g=go(c[m>>2]|0,c[(c[i>>2]|0)+64>>2]|0)|0;c[(c[h>>2]|0)+64>>2]=g}c[(c[h>>2]|0)+68>>2]=c[(c[i>>2]|0)+68>>2];if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1|0){g=iw(c[m>>2]|0,c[(c[i>>2]|0)+64>>2]|0,c[o>>2]|0)|0;c[(c[h>>2]|0)+64>>2]=g}g=c[(c[i>>2]|0)+16>>2]|0;c[(c[h>>2]|0)+16>>2]=g;c[j>>2]=g;if(c[j>>2]|0){g=(c[j>>2]|0)+36|0;b[g>>1]=(b[g>>1]|0)+1<<16>>16}e=qv(c[m>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[o>>2]|0)|0;c[(c[h>>2]|0)+20>>2]=e;e=aw(c[m>>2]|0,c[(c[i>>2]|0)+48>>2]|0,c[o>>2]|0)|0;c[(c[h>>2]|0)+48>>2]=e;e=cx(c[m>>2]|0,c[(c[i>>2]|0)+52>>2]|0)|0;c[(c[h>>2]|0)+52>>2]=e;e=(c[i>>2]|0)+56|0;f=c[e+4>>2]|0;g=(c[h>>2]|0)+56|0;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[q>>2]=(c[q>>2]|0)+1}c[k>>2]=a;q=c[k>>2]|0;l=r;return q|0}function bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[e>>2]|0)){h=c[f>>2]|0;l=i;return h|0}c[g>>2]=24+((c[c[e>>2]>>2]|0)-1<<4);g=c[g>>2]|0;c[f>>2]=jl(c[d>>2]|0,g,((g|0)<0)<<31>>31)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;l=i;return h|0}c[c[f>>2]>>2]=c[c[e>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[e>>2]>>2]|0))break;g=qv(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[h>>2]<<4)+8>>2]|0,0)|0;c[(c[f>>2]|0)+8+(c[h>>2]<<4)+8>>2]=g;g=iw(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[h>>2]<<4)+4>>2]|0,0)|0;c[(c[f>>2]|0)+8+(c[h>>2]<<4)+4>>2]=g;g=go(c[d>>2]|0,c[(c[e>>2]|0)+8+(c[h>>2]<<4)>>2]|0)|0;c[(c[f>>2]|0)+8+(c[h>>2]<<4)>>2]=g;c[h>>2]=(c[h>>2]|0)+1}h=c[f>>2]|0;l=i;return h|0}function cx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}c[g>>2]=od(c[e>>2]|0,8,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];b=od(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]<<3,0)|0;c[c[g>>2]>>2]=b;if(!(c[c[g>>2]>>2]|0)){Hd(c[e>>2]|0,c[g>>2]|0);c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}c[h>>2]=0;while(1){a=c[g>>2]|0;if((c[h>>2]|0)>=(c[(c[f>>2]|0)+4>>2]|0))break;c[i>>2]=(c[a>>2]|0)+(c[h>>2]<<3);c[j>>2]=(c[c[f>>2]>>2]|0)+(c[h>>2]<<3);b=go(c[e>>2]|0,c[c[j>>2]>>2]|0)|0;c[c[i>>2]>>2]=b;c[(c[i>>2]|0)+4>>2]=c[(c[j>>2]|0)+4>>2];c[h>>2]=(c[h>>2]|0)+1}c[d>>2]=a;j=c[d>>2]|0;l=k;return j|0}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;e=k+32|0;f=k+28|0;n=k+24|0;m=k+20|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;d=k;c[e>>2]=a;c[f>>2]=b;c[n>>2]=c[c[e>>2]>>2];c[m>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2];iu(c[e>>2]|0,0,c[f>>2]|0);c[h>>2]=c[(c[e>>2]|0)+40>>2];b=(c[e>>2]|0)+40|0;c[b>>2]=(c[b>>2]|0)+3;hx(c[e>>2]|0,c[f>>2]|0,c[h>>2]|0,0,0);c[i>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;c[j>>2]=c[(c[e>>2]|0)+40>>2];c[g>>2]=c[(c[m>>2]|0)+8+8>>2];while(1){if(!(c[g>>2]|0))break;c[d>>2]=c[(c[g>>2]|0)+8>>2];ix(c[e>>2]|0,c[d>>2]|0,0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);c[g>>2]=c[c[g>>2]>>2]}jx(c[e>>2]|0,c[f>>2]|0);l=k;return}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+12|0;h=e+8|0;d=e+4|0;f=e;c[g>>2]=a;c[h>>2]=b;c[f>>2]=Kt(c[g>>2]|0,c[h>>2]|0)|0;c[d>>2]=yk(c[g>>2]|0,c[f>>2]|0)|0;Hd(c[g>>2]|0,c[f>>2]|0);l=e;return c[d>>2]|0}function fx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=Nt(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;iu(c[e>>2]|0,0,c[h>>2]|0);c[i>>2]=c[(c[e>>2]|0)+40>>2];a=(c[e>>2]|0)+40|0;c[a>>2]=(c[a>>2]|0)+3;a=c[e>>2]|0;b=c[h>>2]|0;d=c[i>>2]|0;if(c[g>>2]|0)hx(a,b,d,c[c[g>>2]>>2]|0,27038);else hx(a,b,d,c[c[f>>2]>>2]|0,27042);ix(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,c[i>>2]|0,(c[(c[e>>2]|0)+44>>2]|0)+1|0,c[(c[e>>2]|0)+40>>2]|0);jx(c[e>>2]|0,c[h>>2]|0);l=j;return}function gx(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+8|0;p=r;i=r+36|0;j=r+32|0;k=r+28|0;m=r+24|0;n=r+20|0;o=r+16|0;h=r+12|0;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h>>2]=c[c[j>>2]>>2];b=(c[h>>2]|0)+148|0;if((c[(c[m>>2]|0)+4>>2]|0)>>>0>0){if(a[b+5>>0]|0){Ck(c[j>>2]|0,27001,p);c[i>>2]=-1;q=c[i>>2]|0;l=r;return q|0}c[c[n>>2]>>2]=c[m>>2];c[o>>2]=ex(c[h>>2]|0,c[k>>2]|0)|0;if((c[o>>2]|0)<0){p=c[j>>2]|0;c[q>>2]=c[k>>2];Ck(p,27018,q);c[i>>2]=-1;q=c[i>>2]|0;l=r;return q|0}}else{c[o>>2]=d[b+4>>0];c[c[n>>2]>>2]=c[k>>2]}c[i>>2]=c[o>>2];q=c[i>>2]|0;l=r;return q|0}function hx(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;w=x+16|0;v=x;q=x+84|0;r=x+80|0;s=x+76|0;t=x+72|0;u=x+68|0;h=x+64|0;i=x+60|0;j=x+56|0;k=x+52|0;m=x+40|0;n=x+88|0;o=x+36|0;p=x+32|0;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[i>>2]=c[c[q>>2]>>2];c[k>>2]=Rt(c[q>>2]|0)|0;if(!(c[k>>2]|0)){l=x;return}c[j>>2]=(c[(c[i>>2]|0)+16>>2]|0)+(c[r>>2]<<4);c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;c[o>>2]=c[4276+(c[h>>2]<<3)>>2];g=mu(c[i>>2]|0,c[o>>2]|0,c[c[j>>2]>>2]|0)|0;c[p>>2]=g;do if(!g){if(c[4276+(c[h>>2]<<3)+4>>2]|0){g=c[q>>2]|0;e=c[o>>2]|0;f=c[4276+(c[h>>2]<<3)+4>>2]|0;c[v>>2]=c[c[j>>2]>>2];c[v+4>>2]=e;c[v+8>>2]=f;Qt(g,27099,v);c[m+(c[h>>2]<<2)>>2]=c[(c[q>>2]|0)+104>>2];a[n+(c[h>>2]|0)>>0]=16}}else{c[m+(c[h>>2]<<2)>>2]=c[(c[p>>2]|0)+28>>2];a[n+(c[h>>2]|0)>>0]=0;mx(c[q>>2]|0,c[r>>2]|0,c[m+(c[h>>2]<<2)>>2]|0,1,c[o>>2]|0);if(c[t>>2]|0){g=c[q>>2]|0;d=c[o>>2]|0;e=c[u>>2]|0;f=c[t>>2]|0;c[w>>2]=c[c[j>>2]>>2];c[w+4>>2]=d;c[w+8>>2]=e;c[w+12>>2]=f;Qt(g,27122,w);break}else{Wt(c[k>>2]|0,131,c[m+(c[h>>2]<<2)>>2]|0,c[r>>2]|0)|0;break}}while(0);c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=0;while(1){if(!(c[4276+(c[h>>2]<<3)+4>>2]|0))break;Fx(c[k>>2]|0,105,(c[s>>2]|0)+(c[h>>2]|0)|0,c[m+(c[h>>2]<<2)>>2]|0,c[r>>2]|0,3)|0;px(c[k>>2]|0,a[n+(c[h>>2]|0)>>0]|0);c[h>>2]=(c[h>>2]|0)+1}l=x;return}function ix(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+128|0;M=R+116|0;N=R+112|0;O=R+108|0;P=R+104|0;k=R+100|0;m=R+96|0;n=R+92|0;o=R+88|0;p=R+84|0;q=R+80|0;r=R+76|0;s=R+72|0;t=R+68|0;u=R+64|0;v=R+120|0;w=R+60|0;x=R+56|0;y=R+52|0;z=R+48|0;A=R+44|0;B=R+40|0;C=R+36|0;D=R+32|0;E=R+28|0;F=R+24|0;G=R+20|0;H=R+16|0;I=R+12|0;J=R+8|0;K=R+4|0;L=R;c[M>>2]=b;c[N>>2]=f;c[O>>2]=g;c[P>>2]=h;c[k>>2]=i;c[m>>2]=j;c[n>>2]=c[c[M>>2]>>2];c[t>>2]=-1;a[v>>0]=1;j=c[k>>2]|0;c[k>>2]=j+1;c[w>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[x>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[y>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[z>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[A>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[B>>2]=j;j=c[k>>2]|0;c[k>>2]=j+1;c[C>>2]=j;c[D>>2]=c[k>>2];if((c[(c[M>>2]|0)+44>>2]|0)>(c[k>>2]|0))b=c[(c[M>>2]|0)+44>>2]|0;else b=c[k>>2]|0;c[(c[M>>2]|0)+44>>2]=b;c[r>>2]=Rt(c[M>>2]|0)|0;if((c[r>>2]|0)==0|(c[N>>2]|0)==0){l=R;return}if(!(c[(c[N>>2]|0)+28>>2]|0)){l=R;return}if(!(lx(27046,c[c[N>>2]>>2]|0,0)|0)){l=R;return}c[u>>2]=Nt(c[n>>2]|0,c[(c[N>>2]|0)+64>>2]|0)|0;if(Ot(c[M>>2]|0,28,c[c[N>>2]>>2]|0,0,c[(c[(c[n>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2]|0)|0){l=R;return}mx(c[M>>2]|0,c[u>>2]|0,c[(c[N>>2]|0)+28>>2]|0,0,c[c[N>>2]>>2]|0);j=c[m>>2]|0;c[m>>2]=j+1;c[q>>2]=j;j=c[m>>2]|0;c[m>>2]=j+1;c[p>>2]=j;if((c[(c[M>>2]|0)+40>>2]|0)>(c[m>>2]|0))b=c[(c[M>>2]|0)+40>>2]|0;else b=c[m>>2]|0;c[(c[M>>2]|0)+40>>2]=b;nx(c[M>>2]|0,c[q>>2]|0,c[u>>2]|0,c[N>>2]|0,104);Vt(c[r>>2]|0,c[A>>2]|0,c[c[N>>2]>>2]|0)|0;c[o>>2]=c[(c[N>>2]|0)+8>>2];while(1){b=c[O>>2]|0;if(!(c[o>>2]|0))break;if(!(b|0?(c[O>>2]|0)!=(c[o>>2]|0):0))Q=15;do if((Q|0)==15){Q=0;if(!(c[(c[o>>2]|0)+36>>2]|0))a[v>>0]=0;if(((d[(c[N>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[o>>2]|0)+55>>0]&3|0)==2:0){c[E>>2]=e[(c[o>>2]|0)+50>>1];c[H>>2]=c[c[N>>2]>>2];c[I>>2]=(c[E>>2]|0)-1}else{c[E>>2]=e[(c[o>>2]|0)+52>>1];c[H>>2]=c[c[o>>2]>>2];if((d[(c[o>>2]|0)+55>>0]|0)>>>3&1|0)b=e[(c[o>>2]|0)+50>>1]|0;else b=c[E>>2]|0;c[I>>2]=b-1}Vt(c[r>>2]|0,c[B>>2]|0,c[H>>2]|0)|0;if((c[(c[M>>2]|0)+44>>2]|0)>((c[D>>2]|0)+(c[I>>2]|0)|0))b=c[(c[M>>2]|0)+44>>2]|0;else b=(c[D>>2]|0)+(c[I>>2]|0)|0;c[(c[M>>2]|0)+44>>2]=b;Xt(c[r>>2]|0,104,c[p>>2]|0,c[(c[o>>2]|0)+44>>2]|0,c[u>>2]|0)|0;ox(c[M>>2]|0,c[o>>2]|0);Wt(c[r>>2]|0,76,c[E>>2]|0,(c[x>>2]|0)+1|0)|0;Wt(c[r>>2]|0,76,e[(c[o>>2]|0)+50>>1]|0,(c[x>>2]|0)+2|0)|0;_t(c[r>>2]|0,89,0,(c[x>>2]|0)+1|0,c[x>>2]|0,4192,-5)|0;px(c[r>>2]|0,2);c[F>>2]=kx(c[r>>2]|0,57,c[p>>2]|0)|0;Wt(c[r>>2]|0,76,0,c[y>>2]|0)|0;c[G>>2]=Vu(c[r>>2]|0)|0;if((c[I>>2]|0)>0){c[J>>2]=qx(c[r>>2]|0)|0;c[K>>2]=od(c[n>>2]|0,c[I>>2]<<2,0)|0;if(!(c[K>>2]|0))break;Tt(c[r>>2]|0,13)|0;c[G>>2]=Vu(c[r>>2]|0)|0;if(((c[I>>2]|0)==1?(e[(c[o>>2]|0)+50>>1]|0|0)==1:0)?d[(c[o>>2]|0)+54>>0]|0|0:0)Wt(c[r>>2]|0,35,c[D>>2]|0,c[J>>2]|0)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[I>>2]|0))break;c[L>>2]=rx(c[M>>2]|0,c[(c[(c[o>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2]|0)|0;Wt(c[r>>2]|0,76,c[s>>2]|0,c[y>>2]|0)|0;Xt(c[r>>2]|0,96,c[p>>2]|0,c[s>>2]|0,c[z>>2]|0)|0;m=_t(c[r>>2]|0,36,c[z>>2]|0,0,(c[D>>2]|0)+(c[s>>2]|0)|0,c[L>>2]|0,-4)|0;c[(c[K>>2]|0)+(c[s>>2]<<2)>>2]=m;px(c[r>>2]|0,-128);c[s>>2]=(c[s>>2]|0)+1}Wt(c[r>>2]|0,76,c[I>>2]|0,c[y>>2]|0)|0;sx(c[r>>2]|0,c[J>>2]|0)|0;tx(c[r>>2]|0,(c[G>>2]|0)-1|0);c[s>>2]=0;while(1){b=c[r>>2]|0;if((c[s>>2]|0)>=(c[I>>2]|0))break;tx(b,c[(c[K>>2]|0)+(c[s>>2]<<2)>>2]|0);Xt(c[r>>2]|0,96,c[p>>2]|0,c[s>>2]|0,(c[D>>2]|0)+(c[s>>2]|0)|0)|0;c[s>>2]=(c[s>>2]|0)+1}ux(b,c[J>>2]|0);Hd(c[n>>2]|0,c[K>>2]|0)}_t(c[r>>2]|0,89,1,c[x>>2]|0,c[z>>2]|0,4220,-5)|0;px(c[r>>2]|0,2);Wt(c[r>>2]|0,7,c[p>>2]|0,c[G>>2]|0)|0;vx(c[r>>2]|0,c[x>>2]|0,0,c[C>>2]|0);_t(c[r>>2]|0,99,c[A>>2]|0,3,c[z>>2]|0,27055,0)|0;Wt(c[r>>2]|0,114,c[P>>2]|0,c[w>>2]|0)|0;Xt(c[r>>2]|0,115,c[P>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;px(c[r>>2]|0,8);tx(c[r>>2]|0,c[F>>2]|0)}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}if(b|0){l=R;return}if(!(d[v>>0]|0)){l=R;return}Wt(c[r>>2]|0,100,c[q>>2]|0,c[C>>2]|0)|0;c[t>>2]=kx(c[r>>2]|0,22,c[C>>2]|0)|0;Wt(c[r>>2]|0,79,0,c[B>>2]|0)|0;_t(c[r>>2]|0,99,c[A>>2]|0,3,c[z>>2]|0,27055,0)|0;Wt(c[r>>2]|0,114,c[P>>2]|0,c[w>>2]|0)|0;Xt(c[r>>2]|0,115,c[P>>2]|0,c[z>>2]|0,c[w>>2]|0)|0;px(c[r>>2]|0,8);tx(c[r>>2]|0,c[t>>2]|0);l=R;return}function jx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=Rt(c[g>>2]|0)|0;if(!(c[e>>2]|0)){l=f;return}kx(c[e>>2]|0,137,c[d>>2]|0)|0;l=f;return}function kx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=Xt(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;l=e;return d|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=(Bh(c[h>>2]|0,c[g>>2]|0,18921,c[f>>2]|0)|0)==0&1;l=e;return d|0}function mx(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;t=s+28|0;n=s+24|0;o=s+20|0;p=s+32|0;q=s+16|0;m=s+12|0;i=s+8|0;j=s+4|0;r=s;c[t>>2]=b;c[n>>2]=e;c[o>>2]=f;a[p>>0]=g;c[q>>2]=h;b=c[t>>2]|0;if(c[(c[t>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[m>>2]=b;c[i>>2]=0;while(1){b=c[m>>2]|0;if((c[i>>2]|0)>=(c[(c[m>>2]|0)+112>>2]|0))break;c[r>>2]=(c[b+116>>2]|0)+(c[i>>2]<<4);if((c[c[r>>2]>>2]|0)==(c[n>>2]|0)?(c[(c[r>>2]|0)+4>>2]|0)==(c[o>>2]|0):0){k=7;break}c[i>>2]=(c[i>>2]|0)+1}if((k|0)==7){if(d[(c[r>>2]|0)+8>>0]|0|0)b=1;else b=(d[p>>0]|0|0)!=0;a[(c[r>>2]|0)+8>>0]=b&1;l=s;return}c[j>>2]=(c[b+112>>2]|0)+1<<4;b=c[j>>2]|0;b=Qh(c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+116>>2]|0,b,((b|0)<0)<<31>>31)|0;c[(c[m>>2]|0)+116>>2]=b;b=c[m>>2]|0;if(c[(c[m>>2]|0)+116>>2]|0){k=c[b+116>>2]|0;m=(c[m>>2]|0)+112|0;t=c[m>>2]|0;c[m>>2]=t+1;c[r>>2]=k+(t<<4);c[c[r>>2]>>2]=c[n>>2];c[(c[r>>2]|0)+4>>2]=c[o>>2];a[(c[r>>2]|0)+8>>0]=a[p>>0]|0;c[(c[r>>2]|0)+12>>2]=c[q>>2];l=s;return}else{c[b+112>>2]=0;yd(c[c[m>>2]>>2]|0);l=s;return}}function nx(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[i>>2]=Rt(c[k>>2]|0)|0;mx(c[k>>2]|0,c[n>>2]|0,c[(c[o>>2]|0)+28>>2]|0,((c[p>>2]|0)==105?1:0)&255,c[c[o>>2]>>2]|0);if(!(d[(c[o>>2]|0)+42>>0]&32)){Fx(c[i>>2]|0,c[p>>2]|0,c[m>>2]|0,c[(c[o>>2]|0)+28>>2]|0,c[n>>2]|0,b[(c[o>>2]|0)+34>>1]|0)|0;l=q;return}else{c[j>>2]=Au(c[o>>2]|0)|0;Xt(c[i>>2]|0,c[p>>2]|0,c[m>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[n>>2]|0)|0;ox(c[k>>2]|0,c[j>>2]|0);l=q;return}}function ox(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+8|0;e=d+4|0;g=d;c[f>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];b=c[g>>2]|0;$t(b,-1,Dx(c[f>>2]|0,c[e>>2]|0)|0,-6);l=d;return}function px(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g;f=g+4|0;c[e>>2]=b;a[f>>0]=d;if((c[(c[e>>2]|0)+136>>2]|0)<=0){l=g;return}a[(c[(c[e>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+136>>2]|0)-1|0)*20|0)+3>>0]=a[f>>0]|0;l=g;return}function qx(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+12>>2];f=(c[b>>2]|0)+72|0;a=c[f>>2]|0;c[f>>2]=a+1;c[d>>2]=a;if(!(c[d>>2]&(c[d>>2]|0)-1)){f=Qh(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+76>>2]|0,(c[d>>2]<<1)+1<<2,0)|0;c[(c[b>>2]|0)+76>>2]=f}if(!(c[(c[b>>2]|0)+76>>2]|0)){f=c[d>>2]|0;f=-1-f|0;l=e;return f|0}c[(c[(c[b>>2]|0)+76>>2]|0)+(c[d>>2]<<2)>>2]=-1;f=c[d>>2]|0;f=-1-f|0;l=e;return f|0}function rx(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;f=j+12|0;g=j+8|0;m=j+4|0;h=j+17|0;k=j+16|0;i=j;c[f>>2]=b;c[g>>2]=e;c[m>>2]=c[c[f>>2]>>2];a[h>>0]=a[(c[m>>2]|0)+66>>0]|0;a[k>>0]=a[(c[m>>2]|0)+148+5>>0]|0;c[i>>2]=zv(c[m>>2]|0,a[h>>0]|0,c[g>>2]|0,d[k>>0]|0)|0;if(a[k>>0]|0){m=c[i>>2]|0;l=j;return m|0}if(c[i>>2]|0?c[(c[i>>2]|0)+12>>2]|0:0){m=c[i>>2]|0;l=j;return m|0}c[i>>2]=yv(c[f>>2]|0,a[h>>0]|0,c[i>>2]|0,c[g>>2]|0)|0;m=c[i>>2]|0;l=j;return m|0}function sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Xt(c[f>>2]|0,13,0,c[e>>2]|0,0)|0;l=d;return b|0}function tx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;zx(c[e>>2]|0,c[f>>2]|0,c[(c[e>>2]|0)+136>>2]|0);l=d;return}function ux(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[(c[d>>2]|0)+12>>2];c[f>>2]=-1-(c[h>>2]|0);if(!(c[(c[e>>2]|0)+76>>2]|0)){l=g;return}c[(c[(c[e>>2]|0)+76>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[d>>2]|0)+136>>2];l=g;return}function vx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f;c[g>>2]=a;c[i>>2]=b;c[f+4>>2]=d;c[h>>2]=e;_t(c[g>>2]|0,89,0,c[i>>2]|0,c[h>>2]|0,4248,-5)|0;px(c[g>>2]|0,1);l=f;return}function wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;n=o+24|0;m=o+16|0;g=o+56|0;p=o+48|0;h=o+44|0;i=o+40|0;j=o+36|0;k=o+32|0;e=o+8|0;f=o;c[g>>2]=a;c[o+52>>2]=b;c[p>>2]=d;c[h>>2]=wi(c[c[p>>2]>>2]|0)|0;d=((c[(c[h>>2]|0)+12>>2]|0)+1|0)*25|0;c[k>>2]=Cg(d,((d|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){bi(c[g>>2]|0);l=o;return}p=c[k>>2]|0;d=m;c[d>>2]=c[c[h>>2]>>2];c[d+4>>2]=0;Ne(24,p,27068,m)|0;p=c[k>>2]|0;c[i>>2]=p+(_c(c[k>>2]|0)|0);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[h>>2]|0)+12>>2]|0))break;p=e;c[p>>2]=(c[(c[(c[h>>2]|0)+20+4>>2]|0)+(c[j>>2]<<2)>>2]|0)+1;c[p+4>>2]=0;p=e;p=IR(c[c[h>>2]>>2]|0,0,c[p>>2]|0,c[p+4>>2]|0)|0;p=FR(p|0,z|0,1,0)|0;b=e;b=PR(p|0,z|0,c[b>>2]|0,c[b+4>>2]|0)|0;p=f;c[p>>2]=b;c[p+4>>2]=z;p=c[i>>2]|0;b=f;d=c[b+4>>2]|0;m=n;c[m>>2]=c[b>>2];c[m+4>>2]=d;Ne(24,p,27073,n)|0;p=_c(c[i>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+p;c[j>>2]=(c[j>>2]|0)+1}ci(c[g>>2]|0,c[k>>2]|0,-1,148);l=o;return}function xx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[h+20>>2]=a;c[h+16>>2]=b;c[i>>2]=d;c[f>>2]=wi(c[c[i>>2]>>2]|0)|0;c[g>>2]=vi(c[(c[i>>2]|0)+4>>2]|0)|0;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+8>>2]|0))break;c[(c[(c[f>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=c[f>>2]|0;g=c[i>>2]|0;g=g+1|0;c[i>>2]=g;l=h;return}yx(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[g>>2]|0))break;i=(c[(c[f>>2]|0)+20>>2]|0)+(c[e>>2]<<2)|0;c[i>>2]=(c[i>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}c[e>>2]=c[g>>2];while(1){if((c[e>>2]|0)>=(c[(c[f>>2]|0)+8>>2]|0))break;i=(c[(c[f>>2]|0)+20+4>>2]|0)+(c[e>>2]<<2)|0;c[i>>2]=(c[i>>2]|0)+1;c[(c[(c[f>>2]|0)+20>>2]|0)+(c[e>>2]<<2)>>2]=1;c[e>>2]=(c[e>>2]|0)+1}i=c[f>>2]|0;g=c[i>>2]|0;g=g+1|0;c[i>>2]=g;l=h;return}function yx(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return}function zx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Ax(c[g>>2]|0,c[f>>2]|0)|0)+8>>2]=d;l=e;return}function Ax(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;if((c[g>>2]|0)<0)c[g>>2]=(c[(c[f>>2]|0)+136>>2]|0)-1;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=47036;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);g=c[e>>2]|0;l=h;return g|0}return 0}function Bx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+32|0;n=k+24|0;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;m=k+4|0;e=k;c[f>>2]=a;c[k+28>>2]=b;c[n>>2]=d;c[h>>2]=vi(c[c[n>>2]>>2]|0)|0;c[j>>2]=(c[h>>2]|0)+1&-2;c[i>>2]=vi(c[(c[n>>2]|0)+4>>2]|0)|0;c[m>>2]=56+(c[j>>2]<<2)+(c[j>>2]<<2);c[e>>2]=uh(c[f>>2]|0)|0;d=c[m>>2]|0;c[g>>2]=jl(c[e>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){bi(c[f>>2]|0);l=k;return}else{c[(c[g>>2]|0)+52>>2]=c[e>>2];c[c[g>>2]>>2]=0;c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+12>>2]=c[i>>2];c[(c[g>>2]|0)+20+4>>2]=(c[g>>2]|0)+56;c[(c[g>>2]|0)+20>>2]=(c[(c[g>>2]|0)+20+4>>2]|0)+(c[j>>2]<<2);Ti(c[f>>2]|0,c[g>>2]|0,56,150);l=k;return}}function Cx(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Hd(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0);l=b;return}function Dx(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;g=p+8|0;n=p+4|0;o=p;c[i>>2]=b;c[j>>2]=f;c[m>>2]=e[(c[j>>2]|0)+52>>1];c[g>>2]=e[(c[j>>2]|0)+50>>1];if(c[(c[i>>2]|0)+36>>2]|0){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}b=c[c[i>>2]>>2]|0;if((d[(c[j>>2]|0)+55>>0]|0)>>>3&1|0)c[n>>2]=Ex(b,c[g>>2]|0,(c[m>>2]|0)-(c[g>>2]|0)|0)|0;else c[n>>2]=Ex(b,c[m>>2]|0,0)|0;if(c[n>>2]|0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[o>>2]=c[(c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]<<2)>>2];if((c[o>>2]|0)==31345)b=0;else b=rx(c[i>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+20+(c[k>>2]<<2)>>2]=b;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[j>>2]|0)+28>>2]|0)+(c[k>>2]|0)>>0]|0;c[k>>2]=(c[k>>2]|0)+1}if(c[(c[i>>2]|0)+36>>2]|0){Pj(c[n>>2]|0);c[n>>2]=0}}c[h>>2]=c[n>>2];o=c[h>>2]|0;l=p;return o|0}function Ex(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=((c[h>>2]|0)+(c[i>>2]|0)|0)*5;c[k>>2]=od(c[g>>2]|0,24+(c[j>>2]|0)|0,0)|0;if(c[k>>2]|0){c[(c[k>>2]|0)+16>>2]=(c[k>>2]|0)+20+((c[h>>2]|0)+(c[i>>2]|0)<<2);b[(c[k>>2]|0)+6>>1]=c[h>>2];b[(c[k>>2]|0)+8>>1]=c[i>>2];a[(c[k>>2]|0)+4>>0]=a[(c[g>>2]|0)+66>>0]|0;c[(c[k>>2]|0)+12>>2]=c[g>>2];c[c[k>>2]>>2]=1;GR((c[k>>2]|0)+24|0,0,c[j>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}else{yd(c[g>>2]|0);k=c[k>>2]|0;l=m;return k|0}return 0}function Fx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;i=l;l=l+32|0;k=i+24|0;p=i+20|0;o=i+16|0;n=i+12|0;m=i+8|0;j=i+4|0;h=i;c[k>>2]=a;c[p>>2]=b;c[o>>2]=d;c[n>>2]=e;c[m>>2]=f;c[j>>2]=g;c[h>>2]=Xt(c[k>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;$t(c[k>>2]|0,c[h>>2]|0,c[j>>2]|0,-14);l=i;return c[h>>2]|0}function Gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[c[d>>2]>>2];c[g>>2]=0;c[f>>2]=c[(c[h>>2]|0)+16>>2];while(1){if((c[g>>2]|0)>=(c[(c[h>>2]|0)+20>>2]|0))break;c[i>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[i>>2]|0))break;c[j>>2]=c[(c[i>>2]|0)+8>>2];Hx(c[d>>2]|0,c[j>>2]|0,c[e>>2]|0);c[i>>2]=c[c[i>>2]>>2]}c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+16}l=k;return}function Hx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break;if(!((c[g>>2]|0)!=0?!(Ty(c[g>>2]|0,c[h>>2]|0)|0):0)){c[i>>2]=Nt(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+64>>2]|0)|0;iu(c[e>>2]|0,0,c[i>>2]|0);Ix(c[e>>2]|0,c[h>>2]|0,-1)}c[h>>2]=c[(c[h>>2]|0)+20>>2]}l=j;return}function Ix(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+80|0;s=x+64|0;t=x+60|0;k=x+56|0;m=x+52|0;u=x+48|0;v=x+44|0;w=x+40|0;n=x+36|0;o=x+32|0;g=x+28|0;h=x+24|0;p=x+20|0;i=x+16|0;q=x+12|0;y=x+8|0;j=x+4|0;r=x;c[s>>2]=a;c[t>>2]=b;c[k>>2]=f;c[m>>2]=c[(c[t>>2]|0)+12>>2];f=(c[s>>2]|0)+40|0;b=c[f>>2]|0;c[f>>2]=b+1;c[u>>2]=b;b=(c[s>>2]|0)+40|0;f=c[b>>2]|0;c[b>>2]=f+1;c[v>>2]=f;c[y>>2]=c[c[s>>2]>>2];c[j>>2]=Nt(c[y>>2]|0,c[(c[t>>2]|0)+24>>2]|0)|0;if(Ot(c[s>>2]|0,27,c[c[t>>2]>>2]|0,0,c[(c[(c[y>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0){l=x;return}mx(c[s>>2]|0,c[j>>2]|0,c[(c[m>>2]|0)+28>>2]|0,1,c[c[m>>2]>>2]|0);c[p>>2]=Rt(c[s>>2]|0)|0;if(!(c[p>>2]|0)){l=x;return}if((c[k>>2]|0)>=0)c[g>>2]=c[k>>2];else c[g>>2]=c[(c[t>>2]|0)+44>>2];c[i>>2]=Dx(c[s>>2]|0,c[t>>2]|0)|0;f=(c[s>>2]|0)+40|0;b=c[f>>2]|0;c[f>>2]=b+1;c[w>>2]=b;b=c[p>>2]|0;f=c[w>>2]|0;y=e[(c[t>>2]|0)+50>>1]|0;_t(b,108,f,0,y,Jx(c[i>>2]|0)|0,-6)|0;nx(c[s>>2]|0,c[u>>2]|0,c[j>>2]|0,c[m>>2]|0,104);c[n>>2]=Wt(c[p>>2]|0,57,c[u>>2]|0,0)|0;c[q>>2]=Uu(c[s>>2]|0)|0;Kx(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[q>>2]|0,0,h,0,0)|0;Wt(c[p>>2]|0,125,c[w>>2]|0,c[q>>2]|0)|0;Lx(c[s>>2]|0,c[h>>2]|0);Wt(c[p>>2]|0,7,c[u>>2]|0,(c[n>>2]|0)+1|0)|0;tx(c[p>>2]|0,c[n>>2]|0);if((c[k>>2]|0)<0)Wt(c[p>>2]|0,131,c[g>>2]|0,c[j>>2]|0)|0;_t(c[p>>2]|0,105,c[v>>2]|0,c[g>>2]|0,c[j>>2]|0,c[i>>2]|0,-6)|0;px(c[p>>2]|0,(1|((c[k>>2]|0)>=0?16:0))&255);c[n>>2]=Wt(c[p>>2]|0,55,c[w>>2]|0,0)|0;y=(d[(c[t>>2]|0)+54>>0]|0|0)!=0;a=Vu(c[p>>2]|0)|0;if(y){c[r>>2]=a+3;sx(c[p>>2]|0,c[r>>2]|0)|0;c[o>>2]=Vu(c[p>>2]|0)|0;Fx(c[p>>2]|0,119,c[w>>2]|0,c[r>>2]|0,c[q>>2]|0,e[(c[t>>2]|0)+50>>1]|0)|0;Mx(c[s>>2]|0,2,c[t>>2]|0)}else c[o>>2]=a;Xt(c[p>>2]|0,120,c[w>>2]|0,c[q>>2]|0,c[v>>2]|0)|0;Xt(c[p>>2]|0,53,c[v>>2]|0,0,-1)|0;Xt(c[p>>2]|0,126,c[v>>2]|0,c[q>>2]|0,0)|0;px(c[p>>2]|0,16);Wu(c[s>>2]|0,c[q>>2]|0);Wt(c[p>>2]|0,3,c[w>>2]|0,c[o>>2]|0)|0;tx(c[p>>2]|0,c[n>>2]|0);kx(c[p>>2]|0,111,c[u>>2]|0)|0;kx(c[p>>2]|0,111,c[v>>2]|0)|0;kx(c[p>>2]|0,111,c[w>>2]|0)|0;l=x;return}function Jx(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(c[b>>2]|0){a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+1}l=d;return c[b>>2]|0}function Kx(a,e,f,g,h,i,j,k){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+48|0;w=y+44|0;x=y+40|0;o=y+36|0;p=y+32|0;m=y+28|0;n=y+24|0;q=y+20|0;r=y+16|0;s=y+12|0;t=y+8|0;u=y+4|0;v=y;c[w>>2]=a;c[x>>2]=e;c[o>>2]=f;c[p>>2]=g;c[m>>2]=h;c[n>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=c[(c[w>>2]|0)+8>>2];do if(c[n>>2]|0)if(c[(c[x>>2]|0)+36>>2]|0){k=qx(c[s>>2]|0)|0;c[c[n>>2]>>2]=k;c[(c[w>>2]|0)+60>>2]=c[o>>2];Qx(c[w>>2]|0);Rx(c[w>>2]|0,c[(c[x>>2]|0)+36>>2]|0,c[c[n>>2]>>2]|0,16);break}else{c[c[n>>2]>>2]=0;break}while(0);if(c[m>>2]|0?(d[(c[x>>2]|0)+55>>0]|0)>>>3&1|0:0)a=b[(c[x>>2]|0)+50>>1]|0;else a=b[(c[x>>2]|0)+52>>1]|0;c[v>>2]=a&65535;c[u>>2]=Sx(c[w>>2]|0,c[v>>2]|0)|0;do if(c[q>>2]|0){if((c[u>>2]|0)==(c[r>>2]|0)?(c[(c[q>>2]|0)+36>>2]|0)==0:0)break;c[q>>2]=0}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[v>>2]|0))break;if(!((c[q>>2]|0?(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0)==(b[(c[(c[x>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0):0)?(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[t>>2]<<1)>>1]|0)!=-2:0)){Tx(c[w>>2]|0,c[x>>2]|0,c[o>>2]|0,c[t>>2]|0,(c[u>>2]|0)+(c[t>>2]|0)|0);Ux(c[s>>2]|0,92)|0}c[t>>2]=(c[t>>2]|0)+1}if(!(c[p>>2]|0)){t=c[w>>2]|0;w=c[u>>2]|0;x=c[v>>2]|0;Vx(t,w,x);x=c[u>>2]|0;l=y;return x|0}Xt(c[s>>2]|0,99,c[u>>2]|0,c[v>>2]|0,c[p>>2]|0)|0;t=c[w>>2]|0;w=c[u>>2]|0;x=c[v>>2]|0;Vx(t,w,x);x=c[u>>2]|0;l=y;return x|0}function Lx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}ux(c[(c[d>>2]|0)+8>>2]|0,c[e>>2]|0);Ox(c[d>>2]|0);l=f;return}function Mx(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+80|0;r=s+8|0;q=s;i=s+68|0;j=s+64|0;k=s+60|0;m=s+56|0;n=s+52|0;o=s+24|0;p=s+20|0;h=s+16|0;c[i>>2]=d;c[j>>2]=f;c[k>>2]=g;c[p>>2]=c[(c[k>>2]|0)+12>>2];jd(o,c[c[i>>2]>>2]|0,0,0,200);if(c[(c[k>>2]|0)+40>>2]|0){c[q>>2]=c[c[k>>2]>>2];Vi(o,27237,q);o=ld(o)|0;c[m>>2]=o;o=c[i>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[m>>2]|0;Nx(o,p,q,r,-1,2);l=s;return}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break;c[h>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+(b[(c[(c[k>>2]|0)+4>>2]|0)+(c[n>>2]<<1)>>1]<<4)>>2];if(c[n>>2]|0)zd(o,27248,2);q=c[h>>2]|0;c[r>>2]=c[c[p>>2]>>2];c[r+4>>2]=q;Vi(o,26470,r);c[n>>2]=(c[n>>2]|0)+1}o=ld(o)|0;c[m>>2]=o;o=c[i>>2]|0;p=c[k>>2]|0;p=p+55|0;p=a[p>>0]|0;p=p&3;p=p&255;p=(p|0)==2;p=p?1555:2067;q=c[j>>2]|0;r=c[m>>2]|0;Nx(o,p,q,r,-1,2);l=s;return}function Nx(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;i=q+21|0;j=q+20|0;k=q;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;a[i>>0]=g;a[j>>0]=h;c[k>>2]=Rt(c[m>>2]|0)|0;if((c[o>>2]|0)==2)mv(c[m>>2]|0);_t(c[k>>2]|0,75,c[n>>2]|0,c[o>>2]|0,0,c[p>>2]|0,a[i>>0]|0)|0;px(c[k>>2]|0,a[j>>0]|0);l=q;return}function Ox(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=0;a=(c[b>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+-1;while(1){if((c[e>>2]|0)>=(d[(c[b>>2]|0)+25>>0]|0|0))break;if((c[(c[b>>2]|0)+152+((c[e>>2]|0)*20|0)+8>>2]|0)>(c[(c[b>>2]|0)+64>>2]|0)){Px(c[b>>2]|0,c[e>>2]|0);continue}else{c[e>>2]=(c[e>>2]|0)+1;continue}}l=f;return}function Px(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(a[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+6>>0]|0?(d[(c[f>>2]|0)+19>>0]|0)<8:0){i=c[(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)+12>>2]|0;b=(c[f>>2]|0)+352|0;j=(c[f>>2]|0)+19|0;e=a[j>>0]|0;a[j>>0]=e+1<<24>>24;c[b+((e&255)<<2)>>2]=i}j=(c[f>>2]|0)+25|0;a[j>>0]=(a[j>>0]|0)+-1<<24>>24;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0)){l=h;return}j=(c[f>>2]|0)+152+((c[g>>2]|0)*20|0)|0;i=(c[f>>2]|0)+152+((d[(c[f>>2]|0)+25>>0]|0)*20|0)|0;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];c[j+8>>2]=c[i+8>>2];c[j+12>>2]=c[i+12>>2];c[j+16>>2]=c[i+16>>2];l=h;return}function Qx(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+64|0;c[a>>2]=(c[a>>2]|0)+1;l=b;return}function Rx(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+20|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[n>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[g>>2]>>2];c[k>>2]=aw(c[j>>2]|0,c[n>>2]|0,0)|0;if(d[(c[j>>2]|0)+69>>0]|0|0){j=c[j>>2]|0;n=c[k>>2]|0;ck(j,n);l=m;return}ty(c[g>>2]|0,c[k>>2]|0,c[h>>2]|0,c[i>>2]|0);j=c[j>>2]|0;n=c[k>>2]|0;ck(j,n);l=m;return}function Sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;a=c[e>>2]|0;if((c[f>>2]|0)==1){c[d>>2]=Uu(a)|0;h=c[d>>2]|0;l=i;return h|0}c[g>>2]=c[a+32>>2];c[h>>2]=c[(c[e>>2]|0)+28>>2];if((c[f>>2]|0)<=(c[h>>2]|0)){h=(c[e>>2]|0)+32|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0);h=(c[e>>2]|0)+28|0;c[h>>2]=(c[h>>2]|0)-(c[f>>2]|0)}else{c[g>>2]=(c[(c[e>>2]|0)+44>>2]|0)+1;h=(c[e>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+(c[f>>2]|0)}c[d>>2]=c[g>>2];h=c[d>>2]|0;l=i;return h|0}function Tx(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;h=o+20|0;c[i>>2]=a;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;b[h>>1]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<1)>>1]|0;if((b[h>>1]|0)==-2){c[(c[i>>2]|0)+60>>2]=c[k>>2];Yx(c[i>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2]|0,c[n>>2]|0);l=o;return}else{Zx(c[(c[i>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[k>>2]|0,b[h>>1]|0,c[n>>2]|0);l=o;return}}function Ux(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+4|0;g=h;i=h+8|0;c[g>>2]=b;a[i>>0]=e;if((c[(c[g>>2]|0)+136>>2]|0)>0?(d[(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0)>>0]|0|0)==(d[i>>0]|0|0):0){c[f>>2]=Xx(c[g>>2]|0,(c[(c[g>>2]|0)+136>>2]|0)-1|0)|0;i=c[f>>2]|0;l=h;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=h;return i|0}function Vx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;b=c[f>>2]|0;if((c[g>>2]|0)==1){Wu(a,b);l=h;return}Wx(a,b,c[g>>2]|0);if((c[g>>2]|0)<=(c[(c[e>>2]|0)+28>>2]|0)){l=h;return}c[(c[e>>2]|0)+28>>2]=c[g>>2];c[(c[e>>2]|0)+32>>2]=c[f>>2];l=h;return}function Wx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;c[j>>2]=(c[f>>2]|0)+152+((c[i>>2]|0)*20|0);if((c[(c[j>>2]|0)+12>>2]|0)>=(c[g>>2]|0)?(c[(c[j>>2]|0)+12>>2]|0)<((c[g>>2]|0)+(c[h>>2]|0)|0):0){Px(c[f>>2]|0,c[i>>2]|0);continue}c[i>>2]=(c[i>>2]|0)+1}l=k;return}function Xx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;if(a[(c[c[f>>2]>>2]|0)+69>>0]|0){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=(c[(c[f>>2]|0)+88>>2]|0)+((c[g>>2]|0)*20|0);Nj(c[c[f>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[c[h>>2]>>0]=-95;c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}return 0}function Yx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[g>>2]=aw(c[i>>2]|0,c[g>>2]|0,0)|0;if(a[(c[i>>2]|0)+69>>0]|0){h=c[i>>2]|0;i=c[g>>2]|0;ck(h,i);l=j;return}ay(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);h=c[i>>2]|0;i=c[g>>2]|0;ck(h,i);l=j;return}function Zx(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if((c[o>>2]|0)>=0?(c[o>>2]|0)!=(b[(c[m>>2]|0)+32>>1]|0):0){c[i>>2]=d[(c[m>>2]|0)+42>>0]&16|0?156:96;c[j>>2]=c[o>>2];if(d[(c[m>>2]|0)+42>>0]&32|0?(d[(c[m>>2]|0)+42>>0]&16|0)==0:0){h=Au(c[m>>2]|0)|0;c[j>>2]=(_x(h,c[o>>2]&65535)|0)<<16>>16}Xt(c[k>>2]|0,c[i>>2]|0,c[n>>2]|0,c[j>>2]|0,c[p>>2]|0)|0}else Wt(c[k>>2]|0,123,c[n>>2]|0,c[p>>2]|0)|0;if((c[o>>2]|0)<0){l=q;return}$x(c[k>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0);l=q;return}function _x(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+10|0;f=j+4|0;g=j+8|0;h=j;c[f>>2]=a;b[g>>1]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0)){a=6;break}d=c[h>>2]|0;if((b[g>>1]|0)==(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=4;break}c[h>>2]=d+1}if((a|0)==4){b[i>>1]=d;i=b[i>>1]|0;l=j;return i|0}else if((a|0)==6){b[i>>1]=-1;i=b[i>>1]|0;l=j;return i|0}return 0}function $x(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o+24|0;g=o;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;if(c[(c[i>>2]|0)+12>>2]|0){l=o;return}c[m>>2]=0;a[n>>0]=a[(Mr(c[h>>2]|0)|0)+66>>0]|0;c[g>>2]=(c[(c[i>>2]|0)+4>>2]|0)+(c[j>>2]<<4);f=Mr(c[h>>2]|0)|0;Tu(f,c[(c[g>>2]|0)+4>>2]|0,a[n>>0]|0,a[(c[g>>2]|0)+13>>0]|0,m)|0;if(c[m>>2]|0)$t(c[h>>2]|0,-1,c[m>>2]|0,-8);if((a[(c[(c[i>>2]|0)+4>>2]|0)+(c[j>>2]<<4)+13>>0]|0)!=69){l=o;return}kx(c[h>>2]|0,92,c[k>>2]|0)|0;l=o;return}function ay(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if(c[g>>2]|0?(d[c[g>>2]>>0]|0|0)==157:0){Wt(c[(c[f>>2]|0)+8>>2]|0,84,c[(c[g>>2]|0)+28>>2]|0,c[h>>2]|0)|0;l=j;return}c[i>>2]=by(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;if((c[i>>2]|0)==(c[h>>2]|0)){l=j;return}if(!(c[(c[f>>2]|0)+8>>2]|0)){l=j;return}Wt(c[(c[f>>2]|0)+8>>2]|0,85,c[i>>2]|0,c[h>>2]|0)|0;l=j;return}function by(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0;ja=l;l=l+320|0;z=ja+24|0;y=ja+16|0;G=ja+8|0;x=ja;ga=ja+304|0;ha=ja+300|0;T=ja+296|0;ia=ja+292|0;da=ja+288|0;F=ja+284|0;ea=ja+280|0;ba=ja+276|0;ca=ja+272|0;P=ja+268|0;A=ja+264|0;Q=ja+216|0;B=ja+208|0;i=ja+204|0;j=ja+200|0;k=ja+196|0;m=ja+192|0;n=ja+188|0;o=ja+184|0;C=ja+180|0;p=ja+176|0;q=ja+172|0;r=ja+168|0;R=ja+164|0;S=ja+160|0;H=ja+156|0;D=ja+152|0;I=ja+148|0;J=ja+144|0;K=ja+140|0;E=ja+309|0;L=ja+136|0;M=ja+132|0;N=ja+308|0;s=ja+128|0;t=ja+124|0;u=ja+120|0;v=ja+116|0;w=ja+112|0;U=ja+108|0;V=ja+104|0;W=ja+100|0;X=ja+96|0;Y=ja+92|0;Z=ja+88|0;_=ja+40|0;$=ja+32|0;aa=ja+28|0;c[ha>>2]=f;c[T>>2]=g;c[ia>>2]=h;c[da>>2]=c[(c[ha>>2]|0)+8>>2];c[ea>>2]=c[ia>>2];c[ba>>2]=0;c[ca>>2]=0;c[B>>2]=0;if(!(c[da>>2]|0)){c[ga>>2]=0;ia=c[ga>>2]|0;l=ja;return ia|0}if(!(c[T>>2]|0))c[F>>2]=101;else c[F>>2]=d[c[T>>2]>>0];a:do switch(c[F>>2]|0){case 154:{c[i>>2]=c[(c[T>>2]|0)+40>>2];c[j>>2]=(c[(c[i>>2]|0)+28>>2]|0)+((b[(c[T>>2]|0)+34>>1]|0)*24|0);if(!(a[c[i>>2]>>0]|0)){c[ga>>2]=c[(c[j>>2]|0)+16>>2];ia=c[ga>>2]|0;l=ja;return ia|0}if(a[(c[i>>2]|0)+1>>0]|0){Xt(c[da>>2]|0,96,c[(c[i>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}else fa=11;break}case 152:{fa=11;break}case 134:{dy(c[ha>>2]|0,c[T>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 132:{ey(c[da>>2]|0,c[(c[T>>2]|0)+8>>2]|0,0,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 97:{Vt(c[da>>2]|0,c[ia>>2]|0,c[(c[T>>2]|0)+8>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 101:{Wt(c[da>>2]|0,79,0,c[ia>>2]|0)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 133:{c[n>>2]=(c[(c[T>>2]|0)+8>>2]|0)+2;c[m>>2]=(_c(c[n>>2]|0)|0)-1;c[o>>2]=fv(Mr(c[da>>2]|0)|0,c[n>>2]|0,c[m>>2]|0)|0;_t(c[da>>2]|0,81,(c[m>>2]|0)/2|0,c[ia>>2]|0,0,c[o>>2]|0,-1)|0;c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 135:{Wt(c[da>>2]|0,82,b[(c[T>>2]|0)+32>>1]|0,c[ia>>2]|0)|0;if(a[(c[(c[T>>2]|0)+8>>2]|0)+1>>0]|0)$t(c[da>>2]|0,-1,c[(c[(c[ha>>2]|0)+428>>2]|0)+((b[(c[T>>2]|0)+32>>1]|0)-1<<2)>>2]|0,-2);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 157:{c[ga>>2]=c[(c[T>>2]|0)+28>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 66:{c[ea>>2]=by(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;if((c[ea>>2]|0)!=(c[ia>>2]|0)){Wt(c[da>>2]|0,85,c[ea>>2]|0,c[ia>>2]|0)|0;c[ea>>2]=c[ia>>2]}Wt(c[da>>2]|0,93,c[ia>>2]|0,(av(c[(c[T>>2]|0)+8>>2]|0,0)|0)<<24>>24)|0;fy(c[ha>>2]|0,c[ea>>2]|0,1);c[ga>>2]=c[ea>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 148:case 29:{c[F>>2]=(c[F>>2]|0)==29?37:36;c[B>>2]=128;fa=29;break}case 37:case 36:case 41:case 38:case 39:case 40:{fa=29;break}case 52:case 46:case 45:case 50:case 44:case 43:case 51:case 48:case 49:case 47:case 27:case 28:{c[P>>2]=iy(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ba)|0;c[A>>2]=iy(c[ha>>2]|0,c[(c[T>>2]|0)+16>>2]|0,ca)|0;Xt(c[da>>2]|0,c[F>>2]|0,c[A>>2]|0,c[P>>2]|0,c[ia>>2]|0)|0;break}case 155:{c[p>>2]=c[(c[T>>2]|0)+12>>2];if((d[c[p>>2]>>0]|0)==134){dy(c[ha>>2]|0,c[p>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}if((d[c[p>>2]>>0]|0)!=132){a[Q>>0]=-122;c[Q+4>>2]=17408;c[Q+8>>2]=0;c[P>>2]=iy(c[ha>>2]|0,Q,ba)|0;c[A>>2]=iy(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ca)|0;Xt(c[da>>2]|0,48,c[A>>2]|0,c[P>>2]|0,c[ia>>2]|0)|0;break a}ey(c[da>>2]|0,c[(c[p>>2]|0)+8>>2]|0,1,c[ia>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 19:case 54:{c[P>>2]=iy(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ba)|0;Wt(c[da>>2]|0,c[F>>2]|0,c[P>>2]|0,c[ea>>2]|0)|0;break}case 35:case 34:{Wt(c[da>>2]|0,76,1,c[ia>>2]|0)|0;c[P>>2]=iy(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,ba)|0;c[q>>2]=kx(c[da>>2]|0,c[F>>2]|0,c[P>>2]|0)|0;Wt(c[da>>2]|0,76,0,c[ia>>2]|0)|0;tx(c[da>>2]|0,c[q>>2]|0);break}case 153:{c[r>>2]=c[(c[T>>2]|0)+40>>2];if(!(c[r>>2]|0)){ia=c[ha>>2]|0;c[x>>2]=c[(c[T>>2]|0)+8>>2];Ck(ia,27251,x);break a}c[ga>>2]=c[(c[(c[r>>2]|0)+40>>2]|0)+(b[(c[T>>2]|0)+34>>1]<<4)+8>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 151:{c[I>>2]=0;c[K>>2]=c[c[ha>>2]>>2];a[E>>0]=a[(c[K>>2]|0)+66>>0]|0;c[L>>2]=0;if(c[(c[T>>2]|0)+4>>2]&16384|0)c[R>>2]=0;else c[R>>2]=c[(c[T>>2]|0)+20>>2];if(c[R>>2]|0)f=c[c[R>>2]>>2]|0;else f=0;c[S>>2]=f;c[D>>2]=c[(c[T>>2]|0)+8>>2];c[H>>2]=uw(c[K>>2]|0,c[D>>2]|0,c[S>>2]|0,a[E>>0]|0,0)|0;if(c[H>>2]|0?(c[(c[H>>2]|0)+16>>2]|0)==0:0){if(e[(c[H>>2]|0)+2>>1]&512|0){c[M>>2]=qx(c[da>>2]|0)|0;ay(c[ha>>2]|0,c[c[(c[R>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0);c[J>>2]=1;while(1){f=c[da>>2]|0;if((c[J>>2]|0)>=(c[S>>2]|0))break;Wt(f,35,c[ia>>2]|0,c[M>>2]|0)|0;Wx(c[ha>>2]|0,c[ia>>2]|0,1);Qx(c[ha>>2]|0);ay(c[ha>>2]|0,c[(c[(c[R>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0,c[ia>>2]|0);Ox(c[ha>>2]|0);c[J>>2]=(c[J>>2]|0)+1}ux(f,c[M>>2]|0);break a}if(e[(c[H>>2]|0)+2>>1]&1024|0){c[ga>>2]=by(c[ha>>2]|0,c[c[(c[R>>2]|0)+4>>2]>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[S>>2]|0))break;if((c[J>>2]|0)<32?ky(c[(c[(c[R>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0:0)c[I>>2]=c[I>>2]|1<>2];if(!(c[L>>2]|0?1:(e[(c[H>>2]|0)+2>>1]&32|0)==0))c[L>>2]=xv(c[ha>>2]|0,c[(c[(c[R>>2]|0)+4>>2]|0)+((c[J>>2]|0)*20|0)>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+1}if(c[R>>2]|0){f=c[ha>>2]|0;if(c[I>>2]|0){c[P>>2]=(c[f+44>>2]|0)+1;ea=(c[ha>>2]|0)+44|0;c[ea>>2]=(c[ea>>2]|0)+(c[S>>2]|0)}else c[P>>2]=Sx(f,c[S>>2]|0)|0;do if(e[(c[H>>2]|0)+2>>1]&192|0){a[N>>0]=a[c[c[(c[R>>2]|0)+4>>2]>>2]>>0]|0;if((d[N>>0]|0)!=152?(d[N>>0]|0)!=154:0)break;a[(c[c[(c[R>>2]|0)+4>>2]>>2]|0)+38>>0]=e[(c[H>>2]|0)+2>>1]&192}while(0);Qx(c[ha>>2]|0);ly(c[ha>>2]|0,c[R>>2]|0,c[P>>2]|0,0,3)|0;Ox(c[ha>>2]|0)}else c[P>>2]=0;if((c[S>>2]|0)>=2?c[(c[T>>2]|0)+4>>2]&128|0:0)c[H>>2]=my(c[K>>2]|0,c[H>>2]|0,c[S>>2]|0,c[(c[(c[R>>2]|0)+4>>2]|0)+20>>2]|0)|0;else fa=79;if((fa|0)==79?(c[S>>2]|0)>0:0)c[H>>2]=my(c[K>>2]|0,c[H>>2]|0,c[S>>2]|0,c[c[(c[R>>2]|0)+4>>2]>>2]|0)|0;if(e[(c[H>>2]|0)+2>>1]&32|0){if(!(c[L>>2]|0))c[L>>2]=c[(c[K>>2]|0)+8>>2];_t(c[da>>2]|0,88,0,0,0,c[L>>2]|0,-4)|0}_t(c[da>>2]|0,89,c[I>>2]|0,c[P>>2]|0,c[ia>>2]|0,c[H>>2]|0,-5)|0;px(c[da>>2]|0,c[S>>2]&255);if((c[S>>2]|0)!=0&(c[I>>2]|0)==0)Vx(c[ha>>2]|0,c[P>>2]|0,c[S>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}ia=c[ha>>2]|0;c[G>>2]=c[D>>2];Ck(ia,27277,G);break}case 119:case 20:{if((c[F>>2]|0)==119?(ia=c[c[c[(c[T>>2]|0)+20>>2]>>2]>>2]|0,c[s>>2]=ia,(ia|0)!=1):0){ny(c[ha>>2]|0,c[s>>2]|0,1);break a}c[ga>>2]=oy(c[ha>>2]|0,c[T>>2]|0,0,0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}case 159:{if(!(c[(c[(c[T>>2]|0)+12>>2]|0)+28>>2]|0)){ia=oy(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,0,0)|0;c[(c[(c[T>>2]|0)+12>>2]|0)+28>>2]=ia}c[ga>>2]=(c[(c[(c[T>>2]|0)+12>>2]|0)+28>>2]|0)+(b[(c[T>>2]|0)+32>>1]|0);ia=c[ga>>2]|0;l=ja;return ia|0}case 33:{c[t>>2]=qx(c[da>>2]|0)|0;c[u>>2]=qx(c[da>>2]|0)|0;Wt(c[da>>2]|0,79,0,c[ia>>2]|0)|0;py(c[ha>>2]|0,c[T>>2]|0,c[t>>2]|0,c[u>>2]|0);Wt(c[da>>2]|0,76,1,c[ia>>2]|0)|0;ux(c[da>>2]|0,c[t>>2]|0);Wt(c[da>>2]|0,91,c[ia>>2]|0,0)|0;ux(c[da>>2]|0,c[u>>2]|0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 32:{qy(c[ha>>2]|0,c[T>>2]|0,c[ia>>2]|0,0,0);c[ga>>2]=c[ia>>2];ia=c[ga>>2]|0;l=ja;return ia|0}case 156:case 53:case 161:{c[ga>>2]=by(c[ha>>2]|0,c[(c[T>>2]|0)+12>>2]|0,c[ia>>2]|0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}case 88:{c[v>>2]=c[(c[T>>2]|0)+44>>2];c[w>>2]=(O(c[(c[T>>2]|0)+28>>2]|0,(b[(c[v>>2]|0)+34>>1]|0)+1|0)|0)+1+(b[(c[T>>2]|0)+32>>1]|0);Wt(c[da>>2]|0,143,c[w>>2]|0,c[ia>>2]|0)|0;if((b[(c[T>>2]|0)+32>>1]|0)>=0?(a[(c[(c[v>>2]|0)+4>>2]|0)+(b[(c[T>>2]|0)+32>>1]<<4)+13>>0]|0)==69:0)kx(c[da>>2]|0,92,c[ia>>2]|0)|0;break}case 158:{Ck(c[ha>>2]|0,26144,y);break}case 83:{if(!(c[(c[ha>>2]|0)+128>>2]|0)){Ck(c[ha>>2]|0,27300,z);c[ga>>2]=0;ia=c[ga>>2]|0;l=ja;return ia|0}if((a[(c[T>>2]|0)+1>>0]|0)==2)mv(c[ha>>2]|0);if((a[(c[T>>2]|0)+1>>0]|0)==4){_t(c[da>>2]|0,75,0,4,0,c[(c[T>>2]|0)+8>>2]|0,0)|0;break a}else{Nx(c[ha>>2]|0,1811,a[(c[T>>2]|0)+1>>0]|0,c[(c[T>>2]|0)+8>>2]|0,0,0);break a}}default:{c[aa>>2]=0;c[Y>>2]=c[(c[T>>2]|0)+20>>2];c[Z>>2]=c[(c[Y>>2]|0)+4>>2];c[W>>2]=c[c[Y>>2]>>2];c[U>>2]=qx(c[da>>2]|0)|0;T=c[(c[T>>2]|0)+12>>2]|0;c[$>>2]=T;if(T|0){f=Q;g=c[$>>2]|0;i=f+48|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(i|0));sy(Q,ry(c[ha>>2]|0,Q,ba)|0);f=_;i=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(i|0));a[_>>0]=37;c[_+12>>2]=Q;c[aa>>2]=_;c[ba>>2]=0}c[X>>2]=0;while(1){if((c[X>>2]|0)>=((c[W>>2]|0)-1|0))break;Qx(c[ha>>2]|0);f=c[(c[Z>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0;if(c[$>>2]|0)c[_+16>>2]=f;else c[aa>>2]=f;c[V>>2]=qx(c[da>>2]|0)|0;ty(c[ha>>2]|0,c[aa>>2]|0,c[V>>2]|0,16);ay(c[ha>>2]|0,c[(c[Z>>2]|0)+(((c[X>>2]|0)+1|0)*20|0)>>2]|0,c[ia>>2]|0);sx(c[da>>2]|0,c[U>>2]|0)|0;Ox(c[ha>>2]|0);ux(c[da>>2]|0,c[V>>2]|0);c[X>>2]=(c[X>>2]|0)+2}if(c[W>>2]&1|0){Qx(c[ha>>2]|0);ay(c[ha>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+(((c[W>>2]|0)-1|0)*20|0)>>2]|0,c[ia>>2]|0);Ox(c[ha>>2]|0)}else Wt(c[da>>2]|0,79,0,c[ia>>2]|0)|0;ux(c[da>>2]|0,c[U>>2]|0)}}while(0);do if((fa|0)==11){c[k>>2]=c[(c[T>>2]|0)+28>>2];do if((c[k>>2]|0)<0){if((c[(c[ha>>2]|0)+56>>2]|0)<=0){c[k>>2]=c[(c[ha>>2]|0)+60>>2];break}c[ga>>2]=(b[(c[T>>2]|0)+32>>1]|0)+(c[(c[ha>>2]|0)+56>>2]|0);ia=c[ga>>2]|0;l=ja;return ia|0}while(0);c[ga>>2]=cy(c[ha>>2]|0,c[(c[T>>2]|0)+44>>2]|0,b[(c[T>>2]|0)+32>>1]|0,c[k>>2]|0,c[ia>>2]|0,a[(c[T>>2]|0)+38>>0]|0)|0;ia=c[ga>>2]|0;l=ja;return ia|0}else if((fa|0)==29){c[C>>2]=c[(c[T>>2]|0)+12>>2];fa=(gy(c[C>>2]|0)|0)!=0;f=c[ha>>2]|0;if(fa){hy(f,c[T>>2]|0,c[ia>>2]|0,c[F>>2]&255,c[B>>2]&255);break}else{c[P>>2]=iy(f,c[C>>2]|0,ba)|0;c[A>>2]=iy(c[ha>>2]|0,c[(c[T>>2]|0)+16>>2]|0,ca)|0;jy(c[ha>>2]|0,c[C>>2]|0,c[(c[T>>2]|0)+16>>2]|0,c[F>>2]|0,c[P>>2]|0,c[A>>2]|0,c[ea>>2]|0,32|c[B>>2])|0;break}}while(0);Wu(c[ha>>2]|0,c[ba>>2]|0);Wu(c[ha>>2]|0,c[ca>>2]|0);c[ga>>2]=c[ea>>2];ia=c[ga>>2]|0;l=ja;return ia|0}function cy(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;r=w+32|0;s=w+28|0;t=w+24|0;u=w+20|0;k=w+16|0;m=w+12|0;n=w+36|0;o=w+8|0;p=w+4|0;q=w;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[k>>2]=h;c[m>>2]=i;a[n>>0]=j;c[o>>2]=c[(c[s>>2]|0)+8>>2];c[p>>2]=0;c[q>>2]=(c[s>>2]|0)+152;while(1){if((c[p>>2]|0)>=(d[(c[s>>2]|0)+25>>0]|0))break;if((c[c[q>>2]>>2]|0)==(c[k>>2]|0)?(b[(c[q>>2]|0)+4>>1]|0)==(c[u>>2]|0):0){v=5;break}c[p>>2]=(c[p>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+20}if((v|0)==5){u=(c[s>>2]|0)+68|0;v=c[u>>2]|0;c[u>>2]=v+1;c[(c[q>>2]|0)+16>>2]=v;Ry(c[s>>2]|0,c[(c[q>>2]|0)+12>>2]|0);c[r>>2]=c[(c[q>>2]|0)+12>>2];v=c[r>>2]|0;l=w;return v|0}Zx(c[o>>2]|0,c[t>>2]|0,c[k>>2]|0,c[u>>2]|0,c[m>>2]|0);if(a[n>>0]|0)px(c[o>>2]|0,a[n>>0]|0);else Sy(c[s>>2]|0,c[k>>2]|0,c[u>>2]|0,c[m>>2]|0);c[r>>2]=c[m>>2];v=c[r>>2]|0;l=w;return v|0}function dy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p+8|0;i=p+40|0;q=p+36|0;j=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;f=p+16|0;g=p;h=p+12|0;c[i>>2]=a;c[q>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=c[(c[i>>2]|0)+8>>2];a=(c[q>>2]|0)+8|0;if(c[(c[q>>2]|0)+4>>2]&1024|0){c[n>>2]=c[a>>2];if(c[j>>2]|0)c[n>>2]=0-(c[n>>2]|0);Wt(c[m>>2]|0,76,c[n>>2]|0,c[k>>2]|0)|0;l=p;return}c[h>>2]=c[a>>2];c[f>>2]=Qy(c[h>>2]|0,g)|0;if(c[f>>2]|0?!((c[f>>2]|0)==2&(c[j>>2]|0)!=0):0)if(!(Zc(c[h>>2]|0,27474,2)|0)){q=c[i>>2]|0;c[o>>2]=c[h>>2];Ck(q,27477,o);l=p;return}else{ey(c[m>>2]|0,c[h>>2]|0,c[j>>2]|0,c[k>>2]|0);l=p;return}if(c[j>>2]|0){o=(c[f>>2]|0)==2;n=g;n=FR(0,0,c[n>>2]|0,c[n+4>>2]|0)|0;q=g;c[q>>2]=o?0:n;c[q+4>>2]=o?-2147483648:z}Py(c[m>>2]|0,77,0,c[k>>2]|0,0,g,-13)|0;l=p;return}function ey(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;i=m+12|0;j=m+8|0;k=m;c[f>>2]=a;c[g>>2]=b;c[i>>2]=d;c[j>>2]=e;if(!(c[g>>2]|0)){l=m;return}e=c[g>>2]|0;oi(e,k,_c(c[g>>2]|0)|0,1)|0;if(c[i>>2]|0)h[k>>3]=-+h[k>>3];Py(c[f>>2]|0,132,0,c[j>>2]|0,0,k,-12)|0;l=m;return}function fy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Wx(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function gy(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(xw(c[d>>2]|0)|0)>1&1;l=b;return a|0}function hy(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=l;l=l+80|0;y=C+64|0;D=C+60|0;z=C+56|0;A=C+70|0;B=C+69|0;i=C+52|0;j=C+48|0;k=C+44|0;m=C+40|0;n=C+36|0;o=C+32|0;p=C+28|0;q=C+68|0;r=C+24|0;s=C+20|0;t=C+16|0;u=C+12|0;v=C+8|0;w=C+4|0;x=C;c[y>>2]=b;c[D>>2]=e;c[z>>2]=f;a[A>>0]=g;a[B>>0]=h;c[i>>2]=c[(c[y>>2]|0)+8>>2];c[j>>2]=c[(c[D>>2]|0)+12>>2];c[k>>2]=c[(c[D>>2]|0)+16>>2];c[m>>2]=xw(c[j>>2]|0)|0;c[o>>2]=0;c[p>>2]=0;a[q>>0]=a[A>>0]|0;c[r>>2]=qx(c[i>>2]|0)|0;a[B>>0]=d[B>>0]|0|32;if((d[q>>0]|0|0)==39)a[q>>0]=40;if((d[q>>0]|0|0)==41)a[q>>0]=38;c[o>>2]=Ny(c[y>>2]|0,c[j>>2]|0)|0;c[p>>2]=Ny(c[y>>2]|0,c[k>>2]|0)|0;c[n>>2]=0;while(1){c[s>>2]=0;c[t>>2]=0;if((c[n>>2]|0)>0)Qx(c[y>>2]|0);c[w>>2]=Oy(c[y>>2]|0,c[j>>2]|0,c[n>>2]|0,c[o>>2]|0,u,s)|0;c[x>>2]=Oy(c[y>>2]|0,c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,v,t)|0;jy(c[y>>2]|0,c[u>>2]|0,c[v>>2]|0,d[q>>0]|0,c[w>>2]|0,c[x>>2]|0,c[z>>2]|0,d[B>>0]|0)|0;Wu(c[y>>2]|0,c[s>>2]|0);Wu(c[y>>2]|0,c[t>>2]|0);if((c[n>>2]|0)>0)Ox(c[y>>2]|0);if((c[n>>2]|0)==((c[m>>2]|0)-1|0))break;do if((d[q>>0]|0|0)!=37){b=c[i>>2]|0;if((d[q>>0]|0|0)==36){Wt(b,21,c[z>>2]|0,c[r>>2]|0)|0;a[B>>0]=d[B>>0]|0|8;break}Wt(b,42,0,c[r>>2]|0)|0;if((c[n>>2]|0)==((c[m>>2]|0)-2|0))a[q>>0]=a[A>>0]|0}else{Wt(c[i>>2]|0,22,c[z>>2]|0,c[r>>2]|0)|0;a[B>>0]=d[B>>0]|0|8}while(0);c[n>>2]=(c[n>>2]|0)+1}ux(c[i>>2]|0,c[r>>2]|0);l=C;return}function iy(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;f=q+4|0;g=q;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[j>>2]=Ev(c[j>>2]|0)|0;if((d[(c[i>>2]|0)+23>>0]|0|0?(d[c[j>>2]>>0]|0|0)!=157:0)?My(c[j>>2]|0)|0:0){c[n>>2]=c[(c[i>>2]|0)+80>>2];c[c[k>>2]>>2]=0;a:do if(c[n>>2]|0){c[f>>2]=c[(c[n>>2]|0)+4>>2];c[o>>2]=c[c[n>>2]>>2];while(1){if((c[o>>2]|0)<=0)break a;if((d[(c[f>>2]|0)+13>>0]|0)>>>2&1|0?(cw(c[c[f>>2]>>2]|0,c[j>>2]|0,-1)|0)==0:0)break;c[f>>2]=(c[f>>2]|0)+20;c[o>>2]=(c[o>>2]|0)+-1}c[h>>2]=c[(c[f>>2]|0)+16>>2];p=c[h>>2]|0;l=q;return p|0}while(0);n=(c[i>>2]|0)+44|0;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[m>>2]=o;Hy(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0,1)}else p=12;do if((p|0)==12){c[g>>2]=Uu(c[i>>2]|0)|0;c[m>>2]=by(c[i>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;if((c[m>>2]|0)==(c[g>>2]|0)){c[c[k>>2]>>2]=c[g>>2];break}else{Wu(c[i>>2]|0,c[g>>2]|0);c[c[k>>2]>>2]=0;break}}while(0);c[h>>2]=c[m>>2];p=c[h>>2]|0;l=q;return p|0}function jy(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;k=l;l=l+48|0;n=k+40|0;v=k+36|0;u=k+32|0;s=k+28|0;p=k+24|0;r=k+20|0;q=k+16|0;t=k+12|0;m=k+8|0;j=k+4|0;o=k;c[n>>2]=a;c[v>>2]=b;c[u>>2]=d;c[s>>2]=e;c[p>>2]=f;c[r>>2]=g;c[q>>2]=h;c[t>>2]=i;c[o>>2]=Dy(c[n>>2]|0,c[v>>2]|0,c[u>>2]|0)|0;c[m>>2]=(Ly(c[v>>2]|0,c[u>>2]|0,c[t>>2]|0)|0)&255;c[j>>2]=_t(c[(c[n>>2]|0)+8>>2]|0,c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,-4)|0;px(c[(c[n>>2]|0)+8>>2]|0,c[m>>2]&255);l=k;return c[j>>2]|0}function ky(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Iy(c[d>>2]|0,1,0)|0;l=b;return a|0}function ly(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;t=z+44|0;u=z+40|0;v=z+36|0;w=z+32|0;x=z+49|0;j=z+28|0;k=z+24|0;m=z+20|0;n=z+16|0;o=z+48|0;p=z+12|0;q=z+8|0;r=z+4|0;s=z;c[t>>2]=b;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;a[x>>0]=i;a[o>>0]=d[x>>0]&1|0?84:85;c[p>>2]=c[(c[t>>2]|0)+8>>2];c[n>>2]=c[c[u>>2]>>2];if(!(a[(c[t>>2]|0)+23>>0]|0))a[x>>0]=d[x>>0]&-3;c[j>>2]=c[(c[u>>2]|0)+4>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[n>>2]|0))break;c[q>>2]=c[c[j>>2]>>2];if(d[x>>0]&4|0?(i=e[(c[(c[u>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)+16>>1]|0,c[m>>2]=i,(i|0)>0):0)Wt(c[p>>2]|0,d[o>>0]|0,(c[m>>2]|0)+(c[w>>2]|0)-1|0,(c[v>>2]|0)+(c[k>>2]|0)|0)|0;else y=8;do if((y|0)==8){y=0;if(d[x>>0]&2|0?ky(c[q>>2]|0)|0:0){Hy(c[t>>2]|0,c[q>>2]|0,(c[v>>2]|0)+(c[k>>2]|0)|0,0);break}c[r>>2]=by(c[t>>2]|0,c[q>>2]|0,(c[v>>2]|0)+(c[k>>2]|0)|0)|0;if((c[r>>2]|0)!=((c[v>>2]|0)+(c[k>>2]|0)|0)){if((((d[o>>0]|0)==84?(i=Ax(c[p>>2]|0,-1)|0,c[s>>2]=i,(d[i>>0]|0)==84):0)?((c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==(c[r>>2]|0):0)?((c[(c[s>>2]|0)+8>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0)+1|0)==((c[v>>2]|0)+(c[k>>2]|0)|0):0){i=(c[s>>2]|0)+12|0;c[i>>2]=(c[i>>2]|0)+1;break}Wt(c[p>>2]|0,d[o>>0]|0,c[r>>2]|0,(c[v>>2]|0)+(c[k>>2]|0)|0)|0}}while(0);c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}l=z;return c[n>>2]|0}function my(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;s=y+52|0;t=y+48|0;u=y+44|0;v=y+40|0;w=y+36|0;x=y+32|0;j=y+28|0;k=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=i;c[m>>2]=0;c[n>>2]=0;c[p>>2]=0;if(!(c[w>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}if((d[c[w>>2]>>0]|0)!=152){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}c[x>>2]=c[(c[w>>2]|0)+44>>2];if(!(c[x>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}if(!(d[(c[x>>2]|0)+42>>0]&16)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}c[j>>2]=c[(lv(c[t>>2]|0,c[x>>2]|0)|0)+8>>2];c[k>>2]=c[c[j>>2]>>2];if(!(c[(c[k>>2]|0)+72>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}c[q>>2]=go(c[t>>2]|0,c[(c[u>>2]|0)+20>>2]|0)|0;if(c[q>>2]|0){c[r>>2]=c[q>>2];while(1){if(!(a[c[r>>2]>>0]|0))break;a[c[r>>2]>>0]=a[17348+(d[c[r>>2]>>0]|0)>>0]|0;c[r>>2]=(c[r>>2]|0)+1}c[p>>2]=zb[c[(c[k>>2]|0)+72>>2]&255](c[j>>2]|0,c[v>>2]|0,c[q>>2]|0,m,n)|0;Hd(c[t>>2]|0,c[q>>2]|0)}if(!(c[p>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}x=c[t>>2]|0;c[o>>2]=jl(x,28+(_c(c[(c[u>>2]|0)+20>>2]|0)|0)+1|0,0)|0;if(!(c[o>>2]|0)){c[s>>2]=c[u>>2];x=c[s>>2]|0;l=y;return x|0}else{w=c[o>>2]|0;x=c[u>>2]|0;c[w>>2]=c[x>>2];c[w+4>>2]=c[x+4>>2];c[w+8>>2]=c[x+8>>2];c[w+12>>2]=c[x+12>>2];c[w+16>>2]=c[x+16>>2];c[w+20>>2]=c[x+20>>2];c[w+24>>2]=c[x+24>>2];c[(c[o>>2]|0)+20>>2]=(c[o>>2]|0)+28;w=(c[o>>2]|0)+28|0;x=c[(c[u>>2]|0)+20>>2]|0;MR(w|0,x|0,(_c(c[(c[u>>2]|0)+20>>2]|0)|0)+1|0)|0;c[(c[o>>2]|0)+12>>2]=c[m>>2];c[(c[o>>2]|0)+4>>2]=c[n>>2];x=(c[o>>2]|0)+2|0;b[x>>1]=e[x>>1]|16;c[s>>2]=c[o>>2];x=c[s>>2]|0;l=y;return x|0}return 0}function ny(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;f=e;j=e+20|0;g=e+16|0;h=e+12|0;i=e+8|0;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=27430;b=c[j>>2]|0;d=c[i>>2]|0;a=c[h>>2]|0;c[f>>2]=c[g>>2];c[f+4>>2]=a;Ck(b,d,f);l=e;return}function oy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+176|0;i=O;J=O+168|0;K=O+164|0;L=O+160|0;M=O+156|0;F=O+152|0;N=O+148|0;H=O+144|0;I=O+140|0;h=O+136|0;v=O+132|0;n=O+128|0;w=O+124|0;o=O+120|0;p=O+116|0;q=O+112|0;r=O+88|0;s=O+80|0;t=O+76|0;x=O+172|0;y=O+72|0;u=O+68|0;z=O+64|0;A=O+60|0;B=O+56|0;C=O+52|0;D=O+48|0;E=O+44|0;j=O+40|0;k=O+16|0;m=O+12|0;c[K>>2]=b;c[L>>2]=e;c[M>>2]=f;c[F>>2]=g;c[N>>2]=-1;c[H>>2]=0;c[I>>2]=Rt(c[K>>2]|0)|0;if(!(c[I>>2]|0)){c[J>>2]=0;N=c[J>>2]|0;l=O;return N|0}Qx(c[K>>2]|0);if(!(c[(c[L>>2]|0)+4>>2]&32))c[N>>2]=Tt(c[I>>2]|0,20)|0;if((d[(c[K>>2]|0)+409>>0]|0)==2){g=c[c[K>>2]>>2]|0;e=(d[c[L>>2]>>0]|0)==33?27393:27398;f=c[(c[K>>2]|0)+424>>2]|0;c[i>>2]=(c[N>>2]|0)>=0?47636:27381;c[i+4>>2]=e;c[i+8>>2]=f;c[h>>2]=Bj(g,27405,i)|0;_t(c[I>>2]|0,162,c[(c[K>>2]|0)+420>>2]|0,0,0,c[h>>2]|0,-1)|0}b=c[L>>2]|0;do if((d[c[L>>2]>>0]|0)==33){c[n>>2]=c[b+12>>2];c[w>>2]=0;c[o>>2]=xw(c[n>>2]|0)|0;k=(c[K>>2]|0)+40|0;m=c[k>>2]|0;c[k>>2]=m+1;c[(c[L>>2]|0)+28>>2]=m;c[v>>2]=Wt(c[I>>2]|0,107,c[(c[L>>2]|0)+28>>2]|0,c[F>>2]|0?0:c[o>>2]|0)|0;if(c[F>>2]|0)b=0;else b=Ex(c[c[K>>2]>>2]|0,c[o>>2]|0,1)|0;c[w>>2]=b;b=(c[L>>2]|0)+20|0;a:do if(c[(c[L>>2]|0)+4>>2]&2048|0){c[p>>2]=c[b>>2];c[q>>2]=c[c[p>>2]>>2];if((c[c[q>>2]>>2]|0)==(c[o>>2]|0)){Gy(r,11,c[(c[L>>2]|0)+28>>2]|0);c[r+4>>2]=xy(c[K>>2]|0,c[L>>2]|0)|0;c[(c[p>>2]|0)+12>>2]=0;G=(Gs(c[K>>2]|0,c[p>>2]|0,r)|0)!=0;Hd(c[c[K>>2]>>2]|0,c[r+4>>2]|0);if(G){Pj(c[w>>2]|0);c[J>>2]=0;N=c[J>>2]|0;l=O;return N|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break a;c[t>>2]=Ay(c[n>>2]|0,c[s>>2]|0)|0;G=Dy(c[K>>2]|0,c[t>>2]|0,c[(c[(c[q>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2]|0)|0;c[(c[w>>2]|0)+20+(c[s>>2]<<2)>>2]=G;c[s>>2]=(c[s>>2]|0)+1}}}else if(c[b>>2]|0){c[u>>2]=c[(c[L>>2]|0)+20>>2];t=wv(c[n>>2]|0)|0;a[x>>0]=t;a[x>>0]=a[x>>0]|0?t:65;if(c[w>>2]|0){t=xv(c[K>>2]|0,c[(c[L>>2]|0)+12>>2]|0)|0;c[(c[w>>2]|0)+20>>2]=t}c[A>>2]=Uu(c[K>>2]|0)|0;c[B>>2]=Uu(c[K>>2]|0)|0;if(c[F>>2]|0)Wt(c[I>>2]|0,79,0,c[B>>2]|0)|0;c[y>>2]=c[c[u>>2]>>2];c[z>>2]=c[(c[u>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;c[D>>2]=c[c[z>>2]>>2];if((c[N>>2]|0)>=0?(ky(c[D>>2]|0)|0)==0:0){Xx(c[I>>2]|0,c[N>>2]|0)|0;c[N>>2]=-1}if(c[F>>2]|0?Zv(c[D>>2]|0,E)|0:0)Xt(c[I>>2]|0,116,c[(c[L>>2]|0)+28>>2]|0,c[B>>2]|0,c[E>>2]|0)|0;else G=30;do if((G|0)==30){G=0;c[C>>2]=by(c[K>>2]|0,c[D>>2]|0,c[A>>2]|0)|0;b=c[I>>2]|0;e=c[C>>2]|0;if(c[F>>2]|0){Wt(b,17,e,(Vu(c[I>>2]|0)|0)+2|0)|0;Xt(c[I>>2]|0,115,c[(c[L>>2]|0)+28>>2]|0,c[B>>2]|0,c[C>>2]|0)|0;break}else{_t(b,99,e,1,c[B>>2]|0,x,1)|0;fy(c[K>>2]|0,c[C>>2]|0,1);Wt(c[I>>2]|0,126,c[(c[L>>2]|0)+28>>2]|0,c[B>>2]|0)|0;break}}while(0);c[y>>2]=(c[y>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+20}Wu(c[K>>2]|0,c[A>>2]|0);Wu(c[K>>2]|0,c[B>>2]|0)}while(0);if(c[w>>2]|0)$t(c[I>>2]|0,c[v>>2]|0,c[w>>2]|0,-6)}else{c[j>>2]=c[b+20>>2];if((d[c[L>>2]>>0]|0)==119)b=c[c[c[j>>2]>>2]>>2]|0;else b=1;c[m>>2]=b;Gy(k,0,(c[(c[K>>2]|0)+44>>2]|0)+1|0);G=(c[K>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+(c[m>>2]|0);if((d[c[L>>2]>>0]|0)==119){a[k>>0]=10;c[k+12>>2]=c[k+8>>2];c[k+16>>2]=c[m>>2];Xt(c[I>>2]|0,79,0,c[k+8>>2]|0,(c[k+8>>2]|0)+(c[m>>2]|0)-1|0)|0}else{a[k>>0]=3;Wt(c[I>>2]|0,76,0,c[k+8>>2]|0)|0}ck(c[c[K>>2]>>2]|0,c[(c[j>>2]|0)+56>>2]|0);G=at(c[c[K>>2]>>2]|0,134,4184,0)|0;c[(c[j>>2]|0)+56>>2]=G;c[(c[j>>2]|0)+12>>2]=0;G=(c[j>>2]|0)+8|0;c[G>>2]=c[G>>2]&-1025;if(!(Gs(c[K>>2]|0,c[j>>2]|0,k)|0)){c[H>>2]=c[k+8>>2];break}c[J>>2]=0;N=c[J>>2]|0;l=O;return N|0}while(0);if(c[M>>2]|0)Ey(c[I>>2]|0,c[(c[L>>2]|0)+28>>2]|0,c[M>>2]|0);if((c[N>>2]|0)>=0)tx(c[I>>2]|0,c[N>>2]|0);Ox(c[K>>2]|0);c[J>>2]=c[H>>2];N=c[J>>2]|0;l=O;return N|0}function py(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+128|0;G=L+120|0;H=L+116|0;I=L+112|0;J=L+108|0;K=L+104|0;q=L+100|0;r=L+96|0;s=L+92|0;t=L+88|0;u=L+84|0;v=L+80|0;w=L+76|0;x=L+68|0;y=L+64|0;g=L+60|0;z=L+56|0;A=L+52|0;B=L+48|0;C=L+44|0;h=L+40|0;i=L+36|0;j=L+32|0;k=L+28|0;m=L+24|0;n=L+20|0;o=L+16|0;p=L+12|0;D=L+8|0;E=L+4|0;F=L;c[G>>2]=b;c[H>>2]=d;c[I>>2]=e;c[J>>2]=f;c[K>>2]=0;c[u>>2]=0;c[v>>2]=0;c[z>>2]=0;c[x>>2]=c[(c[H>>2]|0)+12>>2];if(wy(c[G>>2]|0,c[H>>2]|0)|0){l=L;return}c[v>>2]=xy(c[G>>2]|0,c[H>>2]|0)|0;c[w>>2]=xw(c[(c[H>>2]|0)+12>>2]|0)|0;c[u>>2]=jl(c[c[G>>2]>>2]|0,((c[w>>2]|0)*5|0)+1|0,0)|0;if(!(a[(c[c[G>>2]>>2]|0)+69>>0]|0)){c[t>>2]=c[(c[G>>2]|0)+8>>2];c[q>>2]=yy(c[G>>2]|0,c[H>>2]|0,3,(c[I>>2]|0)==(c[J>>2]|0)?0:K,c[u>>2]|0)|0;Qx(c[G>>2]|0);c[s>>2]=ry(c[G>>2]|0,c[x>>2]|0,L+72|0)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;if((c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)!=(c[y>>2]|0))break;c[y>>2]=(c[y>>2]|0)+1}a:do if((c[y>>2]|0)==(c[w>>2]|0))c[r>>2]=c[s>>2];else{c[r>>2]=Sx(c[G>>2]|0,c[w>>2]|0)|0;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break a;Xt(c[t>>2]|0,84,(c[s>>2]|0)+(c[y>>2]|0)|0,(c[r>>2]|0)+(c[(c[u>>2]|0)+(c[y>>2]<<2)>>2]|0)|0,0)|0;c[y>>2]=(c[y>>2]|0)+1}}while(0);b:do if((c[q>>2]|0)==5){c[h>>2]=c[(c[H>>2]|0)+20>>2];c[i>>2]=xv(c[G>>2]|0,c[(c[H>>2]|0)+12>>2]|0)|0;c[j>>2]=qx(c[t>>2]|0)|0;c[n>>2]=0;if((c[J>>2]|0)!=(c[I>>2]|0)){c[n>>2]=Uu(c[G>>2]|0)|0;Xt(c[t>>2]|0,43,c[r>>2]|0,c[r>>2]|0,c[n>>2]|0)|0}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[c[h>>2]>>2]|0))break;c[k>>2]=iy(c[G>>2]|0,c[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,m)|0;if(c[n>>2]|0?zy(c[(c[(c[h>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0)|0:0)Xt(c[t>>2]|0,43,c[n>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)>=((c[c[h>>2]>>2]|0)-1|0)?(c[J>>2]|0)==(c[I>>2]|0):0){_t(c[t>>2]|0,36,c[r>>2]|0,c[I>>2]|0,c[k>>2]|0,c[i>>2]|0,-4)|0;px(c[t>>2]|0,(a[c[v>>2]>>0]|16)&255)}else{_t(c[t>>2]|0,37,c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,c[i>>2]|0,-4)|0;px(c[t>>2]|0,a[c[v>>2]>>0]|0)}Wu(c[G>>2]|0,c[m>>2]|0);c[o>>2]=(c[o>>2]|0)+1}if(c[n>>2]|0){Wt(c[t>>2]|0,34,c[n>>2]|0,c[J>>2]|0)|0;sx(c[t>>2]|0,c[I>>2]|0)|0}ux(c[t>>2]|0,c[j>>2]|0);Wu(c[G>>2]|0,c[n>>2]|0)}else{if((c[J>>2]|0)==(c[I>>2]|0))c[g>>2]=c[I>>2];else{o=qx(c[t>>2]|0)|0;c[z>>2]=o;c[g>>2]=o}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;c[p>>2]=Ay(c[(c[H>>2]|0)+12>>2]|0,c[y>>2]|0)|0;if(zy(c[p>>2]|0)|0)Wt(c[t>>2]|0,34,(c[r>>2]|0)+(c[y>>2]|0)|0,c[g>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+1}b=c[t>>2]|0;do if((c[q>>2]|0)!=1){_t(b,98,c[r>>2]|0,c[w>>2]|0,0,c[v>>2]|0,c[w>>2]|0)|0;b=c[t>>2]|0;d=c[(c[H>>2]|0)+28>>2]|0;if((c[I>>2]|0)==(c[J>>2]|0)){Fx(b,30,d,c[I>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;break b}else{c[A>>2]=Fx(b,31,d,0,c[r>>2]|0,c[w>>2]|0)|0;break}}else{Xt(b,32,c[(c[H>>2]|0)+28>>2]|0,c[I>>2]|0,c[r>>2]|0)|0;c[A>>2]=Tt(c[t>>2]|0,13)|0}while(0);if((c[K>>2]|0)!=0&(c[w>>2]|0)==1)Wt(c[t>>2]|0,35,c[K>>2]|0,c[I>>2]|0)|0;if((c[I>>2]|0)==(c[J>>2]|0))sx(c[t>>2]|0,c[I>>2]|0)|0;if(c[z>>2]|0)ux(c[t>>2]|0,c[z>>2]|0);c[C>>2]=Wt(c[t>>2]|0,57,c[(c[H>>2]|0)+28>>2]|0,c[I>>2]|0)|0;if((c[w>>2]|0)>1)c[B>>2]=qx(c[t>>2]|0)|0;else c[B>>2]=c[I>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[w>>2]|0))break;c[F>>2]=Uu(c[G>>2]|0)|0;c[D>>2]=Ay(c[x>>2]|0,c[y>>2]|0)|0;c[E>>2]=xv(c[G>>2]|0,c[D>>2]|0)|0;Xt(c[t>>2]|0,96,c[(c[H>>2]|0)+28>>2]|0,c[y>>2]|0,c[F>>2]|0)|0;_t(c[t>>2]|0,36,(c[r>>2]|0)+(c[y>>2]|0)|0,c[B>>2]|0,c[F>>2]|0,c[E>>2]|0,-4)|0;Wu(c[G>>2]|0,c[F>>2]|0);c[y>>2]=(c[y>>2]|0)+1}Wt(c[t>>2]|0,13,0,c[J>>2]|0)|0;if((c[w>>2]|0)>1){ux(c[t>>2]|0,c[B>>2]|0);Wt(c[t>>2]|0,7,c[(c[H>>2]|0)+28>>2]|0,(c[C>>2]|0)+1|0)|0;Wt(c[t>>2]|0,13,0,c[I>>2]|0)|0}tx(c[t>>2]|0,c[A>>2]|0)}while(0);if((c[r>>2]|0)!=(c[s>>2]|0))Wu(c[G>>2]|0,c[r>>2]|0);Ox(c[G>>2]|0)}Hd(c[c[G>>2]>>2]|0,c[u>>2]|0);Hd(c[c[G>>2]>>2]|0,c[v>>2]|0);l=L;return}function qy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+224|0;n=s+216|0;o=s+212|0;p=s+208|0;q=s+204|0;r=s+200|0;h=s+152|0;i=s+104|0;j=s+56|0;k=s+8|0;m=s;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[m>>2]=0;b=i;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));b=j;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));b=h;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));b=k;d=c[(c[o>>2]|0)+12>>2]|0;e=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));a[h>>0]=28;c[h+12>>2]=i;c[h+16>>2]=j;a[i>>0]=41;c[i+12>>2]=k;c[i+16>>2]=c[c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]>>2];a[j>>0]=39;c[j+12>>2]=k;c[j+16>>2]=c[(c[(c[(c[o>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];sy(k,ry(c[n>>2]|0,k,m)|0);if(c[q>>2]|0){Ab[c[q>>2]&255](c[n>>2]|0,h,c[p>>2]|0,c[r>>2]|0);q=c[n>>2]|0;r=c[m>>2]|0;Wu(q,r);l=s;return}else{q=k+4|0;c[q>>2]=c[q>>2]|1;by(c[n>>2]|0,h,c[p>>2]|0)|0;q=c[n>>2]|0;r=c[m>>2]|0;Wu(q,r);l=s;return}}function ry(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;f=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[f>>2]=e;c[j>>2]=xw(c[h>>2]|0)|0;if((c[j>>2]|0)==1){c[i>>2]=iy(c[g>>2]|0,c[h>>2]|0,c[f>>2]|0)|0;k=c[i>>2]|0;l=m;return k|0}c[c[f>>2]>>2]=0;a=c[g>>2]|0;if((d[c[h>>2]>>0]|0|0)==119){c[i>>2]=oy(a,c[h>>2]|0,0,0)|0;k=c[i>>2]|0;l=m;return k|0}c[i>>2]=(c[a+44>>2]|0)+1;f=(c[g>>2]|0)+44|0;c[f>>2]=(c[f>>2]|0)+(c[j>>2]|0);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;ay(c[g>>2]|0,c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2]|0,(c[k>>2]|0)+(c[i>>2]|0)|0);c[k>>2]=(c[k>>2]|0)+1}k=c[i>>2]|0;l=m;return k|0}function sy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+38>>0]=a[c[f>>2]>>0]|0;a[c[f>>2]>>0]=-99;c[(c[f>>2]|0)+28>>2]=c[g>>2];d=(c[f>>2]|0)+4|0;c[d>>2]=c[d>>2]&-4097;l=e;return}function ty(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;g=u+20|0;h=u+16|0;i=u+12|0;j=u+8|0;k=u+4|0;m=u;c[n>>2]=a;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=c[(c[n>>2]|0)+8>>2];c[s>>2]=0;c[g>>2]=0;c[h>>2]=0;if((c[r>>2]|0)==0|(c[o>>2]|0)==0){l=u;return}c[s>>2]=((d[c[o>>2]>>0]|0)+0^1)-0;a:do switch(d[c[o>>2]>>0]|0|0){case 28:{ty(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[p>>2]|0,c[q>>2]|0);Qx(c[n>>2]|0);ty(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[p>>2]|0,c[q>>2]|0);Ox(c[n>>2]|0);break}case 27:{c[k>>2]=qx(c[r>>2]|0)|0;uy(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[k>>2]|0,c[q>>2]^16);Qx(c[n>>2]|0);ty(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[p>>2]|0,c[q>>2]|0);ux(c[r>>2]|0,c[k>>2]|0);Ox(c[n>>2]|0);break}case 19:{uy(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[p>>2]|0,c[q>>2]|0);break}case 148:case 29:{c[s>>2]=(d[c[o>>2]>>0]|0|0)==29?36:37;c[q>>2]=128;t=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{t=7;break}case 35:case 34:{c[i>>2]=iy(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,g)|0;Wt(c[r>>2]|0,c[s>>2]|0,c[i>>2]|0,c[p>>2]|0)|0;break}case 32:{qy(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,133,c[q>>2]|0);break}case 33:if(c[q>>2]|0){py(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[p>>2]|0);break a}else{c[m>>2]=qx(c[r>>2]|0)|0;py(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[m>>2]|0);ux(c[r>>2]|0,c[m>>2]|0);break a}default:t=14}while(0);if((t|0)==7)if(gy(c[(c[o>>2]|0)+12>>2]|0)|0)t=14;else{c[i>>2]=iy(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,g)|0;c[j>>2]=iy(c[n>>2]|0,c[(c[o>>2]|0)+16>>2]|0,h)|0;jy(c[n>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+16>>2]|0,c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,c[p>>2]|0,c[q>>2]|0)|0}do if((t|0)==14){if(Tw(c[o>>2]|0)|0){sx(c[r>>2]|0,c[p>>2]|0)|0;break}if(!(vy(c[o>>2]|0)|0)){c[i>>2]=iy(c[n>>2]|0,c[o>>2]|0,g)|0;Xt(c[r>>2]|0,22,c[i>>2]|0,c[p>>2]|0,(c[q>>2]|0)!=0&1)|0}}while(0);Wu(c[n>>2]|0,c[g>>2]|0);Wu(c[n>>2]|0,c[h>>2]|0);l=u;return}function uy(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;o=v+48|0;p=v+44|0;q=v+40|0;r=v+36|0;s=v+32|0;t=v+28|0;g=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;k=v+8|0;m=v+4|0;n=v;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=c[(c[o>>2]|0)+8>>2];c[t>>2]=0;c[g>>2]=0;c[h>>2]=0;if((c[s>>2]|0)==0|(c[p>>2]|0)==0){l=v;return}c[t>>2]=d[c[p>>2]>>0];switch(c[t>>2]|0){case 28:{c[k>>2]=qx(c[s>>2]|0)|0;ty(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[k>>2]|0,c[r>>2]^16);Qx(c[o>>2]|0);uy(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0);ux(c[s>>2]|0,c[k>>2]|0);Ox(c[o>>2]|0);break}case 27:{uy(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[q>>2]|0,c[r>>2]|0);Qx(c[o>>2]|0);uy(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[q>>2]|0,c[r>>2]|0);Ox(c[o>>2]|0);break}case 19:{ty(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[q>>2]|0,c[r>>2]|0);break}case 148:case 29:{c[t>>2]=(c[t>>2]|0)==29?37:36;c[r>>2]=128;u=7;break}case 37:case 36:case 41:case 38:case 39:case 40:{u=7;break}case 35:case 34:{c[i>>2]=iy(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,g)|0;Wt(c[s>>2]|0,c[t>>2]|0,c[i>>2]|0,c[q>>2]|0)|0;break}case 32:{qy(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,134,c[r>>2]|0);break}case 33:{c[m>>2]=qx(c[s>>2]|0)|0;c[n>>2]=c[r>>2]|0?c[q>>2]|0:c[m>>2]|0;py(c[o>>2]|0,c[p>>2]|0,c[m>>2]|0,c[n>>2]|0);sx(c[s>>2]|0,c[q>>2]|0)|0;ux(c[s>>2]|0,c[m>>2]|0);break}default:u=12}if((u|0)==7)if(gy(c[(c[p>>2]|0)+12>>2]|0)|0)u=12;else{c[i>>2]=iy(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,g)|0;c[j>>2]=iy(c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,h)|0;jy(c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[t>>2]|0,c[i>>2]|0,c[j>>2]|0,c[q>>2]|0,c[r>>2]|0)|0}do if((u|0)==12){if(vy(c[p>>2]|0)|0){sx(c[s>>2]|0,c[q>>2]|0)|0;break}if(!(Tw(c[p>>2]|0)|0)){c[i>>2]=iy(c[o>>2]|0,c[p>>2]|0,g)|0;Xt(c[s>>2]|0,21,c[i>>2]|0,c[q>>2]|0,(c[r>>2]|0)!=0&1)|0}}while(0);Wu(c[o>>2]|0,c[g>>2]|0);Wu(c[o>>2]|0,c[h>>2]|0);l=v;return}function vy(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=0;do if(!(c[(c[d>>2]|0)+4>>2]&1|0))if(Zv(c[d>>2]|0,e)|0){c[b>>2]=(c[e>>2]|0)!=0&1;break}else{c[b>>2]=0;break}else c[b>>2]=0;while(0);l=f;return c[b>>2]|0}function wy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i;e=i+16|0;d=i+12|0;f=i+8|0;g=i+4|0;c[d>>2]=a;c[f>>2]=b;c[g>>2]=xw(c[(c[f>>2]|0)+12>>2]|0)|0;a=c[g>>2]|0;if(c[(c[f>>2]|0)+4>>2]&2048|0){if((a|0)!=(c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0)){ny(c[d>>2]|0,c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2]|0,c[g>>2]|0);c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}}else if((a|0)!=1){a=c[d>>2]|0;if(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]&2048|0)ny(a,c[g>>2]|0,1);else Ck(a,26144,h);c[e>>2]=1;h=c[e>>2]|0;l=i;return h|0}c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}function xy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+28|0;e=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;g=o+32|0;c[f>>2]=b;c[e>>2]=d;c[h>>2]=c[(c[e>>2]|0)+12>>2];c[i>>2]=xw(c[h>>2]|0)|0;if(c[(c[e>>2]|0)+4>>2]&2048|0)b=c[(c[e>>2]|0)+20>>2]|0;else b=0;c[j>>2]=b;e=(c[i>>2]|0)+1|0;c[k>>2]=jl(c[c[f>>2]>>2]|0,e,((e|0)<0)<<31>>31)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;l=o;return n|0}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[i>>2]|0))break;c[n>>2]=Ay(c[h>>2]|0,c[m>>2]|0)|0;a[g>>0]=wv(c[n>>2]|0)|0;if(c[j>>2]|0){b=Cy(c[(c[(c[c[j>>2]>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)>>2]|0,a[g>>0]|0)|0;d=(c[k>>2]|0)+(c[m>>2]|0)|0}else{b=a[g>>0]|0;d=(c[k>>2]|0)+(c[m>>2]|0)|0}a[d>>0]=b;c[m>>2]=(c[m>>2]|0)+1}a[(c[k>>2]|0)+(c[i>>2]|0)>>0]=0;n=c[k>>2]|0;l=o;return n|0}function yy(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+160|0;W=X+16|0;R=X+140|0;S=X+136|0;T=X+132|0;U=X+128|0;V=X+124|0;k=X+120|0;m=X+116|0;n=X+112|0;o=X+108|0;p=X+104|0;q=X+100|0;r=X+96|0;s=X+92|0;t=X+88|0;u=X+144|0;v=X+84|0;w=X+80|0;x=X+76|0;y=X+72|0;A=X+68|0;B=X+64|0;C=X+60|0;D=X+56|0;E=X+147|0;F=X+146|0;G=X+8|0;H=X;I=X+52|0;J=X+48|0;K=X+44|0;L=X+40|0;M=X+36|0;N=X+32|0;O=X+28|0;P=X+24|0;Q=X+20|0;c[R>>2]=f;c[S>>2]=g;c[T>>2]=h;c[U>>2]=i;c[V>>2]=j;c[m>>2]=0;i=(c[R>>2]|0)+40|0;j=c[i>>2]|0;c[i>>2]=j+1;c[n>>2]=j;c[p>>2]=Rt(c[R>>2]|0)|0;c[o>>2]=(c[T>>2]&4|0)!=0&1;if(c[U>>2]|0?c[(c[S>>2]|0)+4>>2]&2048|0:0){c[r>>2]=c[c[(c[S>>2]|0)+20>>2]>>2];c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[c[r>>2]>>2]|0))break;if(zy(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2]|0)|0)break;c[q>>2]=(c[q>>2]|0)+1}if((c[q>>2]|0)==(c[c[r>>2]>>2]|0))c[U>>2]=0}a:do if((c[(c[R>>2]|0)+36>>2]|0)==0?(j=By(c[S>>2]|0)|0,c[k>>2]=j,j|0):0){c[s>>2]=c[c[R>>2]>>2];c[v>>2]=c[c[k>>2]>>2];c[w>>2]=c[c[v>>2]>>2];c[t>>2]=c[(c[(c[k>>2]|0)+28>>2]|0)+8+16>>2];b[u>>1]=Nt(c[s>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0;ju(c[R>>2]|0,b[u>>1]|0);mx(c[R>>2]|0,b[u>>1]|0,c[(c[t>>2]|0)+28>>2]|0,0,c[c[t>>2]>>2]|0);if((c[w>>2]|0)==1?(b[(c[c[(c[v>>2]|0)+4>>2]>>2]|0)+32>>1]|0)<0:0){c[x>>2]=Tt(c[p>>2]|0,20)|0;nx(c[R>>2]|0,c[n>>2]|0,b[u>>1]|0,c[t>>2]|0,104);c[m>>2]=1;tx(c[p>>2]|0,c[x>>2]|0);break}c[A>>2]=1;c[B>>2]=0;while(1){if(!((c[B>>2]|0)<(c[w>>2]|0)?(c[A>>2]|0)!=0:0))break;c[C>>2]=Ay(c[(c[S>>2]|0)+12>>2]|0,c[B>>2]|0)|0;c[D>>2]=b[(c[(c[(c[v>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0)+32>>1];a[E>>0]=Fv(c[t>>2]|0,c[D>>2]|0)|0;a[F>>0]=Cy(c[C>>2]|0,a[E>>0]|0)|0;if(((a[F>>0]|0)+-65|0)>>>0>=2)c[A>>2]=(a[E>>0]|0)>=67&1;c[B>>2]=(c[B>>2]|0)+1}if(c[A>>2]|0){c[y>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[y>>2]|0?(c[m>>2]|0)==0:0))break a;do if((e[(c[y>>2]|0)+52>>1]|0)>=(c[w>>2]|0)?(e[(c[y>>2]|0)+52>>1]|0)<63:0){if(c[o>>2]|0){if((e[(c[y>>2]|0)+50>>1]|0)>(c[w>>2]|0))break;if((e[(c[y>>2]|0)+52>>1]|0)>(c[w>>2]|0)?(d[(c[y>>2]|0)+54>>0]|0)==0:0)break}j=G;c[j>>2]=0;c[j+4>>2]=0;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[w>>2]|0))break;c[I>>2]=Ay(c[(c[S>>2]|0)+12>>2]|0,c[B>>2]|0)|0;c[J>>2]=c[(c[(c[v>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2];c[K>>2]=Dy(c[R>>2]|0,c[I>>2]|0,c[J>>2]|0)|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[w>>2]|0))break;if((b[(c[(c[y>>2]|0)+4>>2]|0)+(c[L>>2]<<1)>>1]|0)==(b[(c[J>>2]|0)+32>>1]|0)){if(!(c[K>>2]|0))break;if(!(Ig(c[c[K>>2]>>2]|0,c[(c[(c[y>>2]|0)+32>>2]|0)+(c[L>>2]<<2)>>2]|0)|0))break}c[L>>2]=(c[L>>2]|0)+1}if((c[L>>2]|0)==(c[w>>2]|0))break;j=HR(1,0,c[L>>2]|0)|0;i=H;c[i>>2]=j;c[i+4>>2]=z;i=H;j=G;if(c[i>>2]&c[j>>2]|0?1:(c[i+4>>2]&c[j+4>>2]|0)!=0)break;F=H;E=G;i=c[E+4>>2]|c[F+4>>2];j=G;c[j>>2]=c[E>>2]|c[F>>2];c[j+4>>2]=i;if(c[V>>2]|0)c[(c[V>>2]|0)+(c[B>>2]<<2)>>2]=c[L>>2];c[B>>2]=(c[B>>2]|0)+1}j=G;F=c[j>>2]|0;j=c[j+4>>2]|0;i=HR(1,0,c[w>>2]|0)|0;i=FR(i|0,z|0,1,0)|0;if((F|0)==(i|0)&(j|0)==(z|0)){c[M>>2]=Tt(c[p>>2]|0,20)|0;i=c[p>>2]|0;j=c[s>>2]|0;c[W>>2]=c[c[y>>2]>>2];_t(i,162,0,0,0,Bj(j,27350,W)|0,-1)|0;Xt(c[p>>2]|0,104,c[n>>2]|0,c[(c[y>>2]|0)+44>>2]|0,b[u>>1]|0)|0;ox(c[R>>2]|0,c[y>>2]|0);c[m>>2]=3+(d[c[(c[y>>2]|0)+28>>2]>>0]|0);if(c[U>>2]|0?(i=(c[R>>2]|0)+44|0,j=(c[i>>2]|0)+1|0,c[i>>2]=j,c[c[U>>2]>>2]=j,(c[w>>2]|0)==1):0)Ey(c[p>>2]|0,c[n>>2]|0,c[c[U>>2]>>2]|0);tx(c[p>>2]|0,c[M>>2]|0)}}while(0);c[y>>2]=c[(c[y>>2]|0)+20>>2]}}}while(0);do if(((c[m>>2]|0)==0?c[T>>2]&1|0:0)?(c[(c[S>>2]|0)+4>>2]&2048|0)==0:0){if(Fy(c[S>>2]|0)|0?(c[c[(c[S>>2]|0)+20>>2]>>2]|0)>2:0)break;c[m>>2]=5}while(0);if(!(c[m>>2]|0)){c[N>>2]=c[(c[R>>2]|0)+136>>2];c[O>>2]=0;c[m>>2]=2;if(c[T>>2]&4|0){c[(c[R>>2]|0)+136>>2]=0;if((b[(c[(c[S>>2]|0)+12>>2]|0)+32>>1]|0)<0?(c[(c[S>>2]|0)+4>>2]&2048|0)==0:0)c[m>>2]=1}else if(c[U>>2]|0){T=(c[R>>2]|0)+44|0;W=(c[T>>2]|0)+1|0;c[T>>2]=W;c[O>>2]=W;c[c[U>>2]>>2]=W}oy(c[R>>2]|0,c[S>>2]|0,c[O>>2]|0,(c[m>>2]|0)==1&1)|0;c[(c[R>>2]|0)+136>>2]=c[N>>2]}else c[(c[S>>2]|0)+28>>2]=c[n>>2];if(!((c[V>>2]|0)!=0&(c[m>>2]|0)!=3&(c[m>>2]|0)!=4)){W=c[m>>2]|0;l=X;return W|0}c[Q>>2]=xw(c[(c[S>>2]|0)+12>>2]|0)|0;c[P>>2]=0;while(1){if((c[P>>2]|0)>=(c[Q>>2]|0))break;c[(c[V>>2]|0)+(c[P>>2]<<2)>>2]=c[P>>2];c[P>>2]=(c[P>>2]|0)+1}W=c[m>>2]|0;l=X;return W|0}function zy(e){e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+4|0;g=j;h=j+8|0;c[g>>2]=e;while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[h>>0]=a[e>>0]|0;if((d[h>>0]|0)==157)a[h>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[h>>0]|0){case 133:case 132:case 97:case 134:{c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}case 152:{if(!(c[(c[g>>2]|0)+4>>2]&1048576|0))if((b[(c[g>>2]|0)+32>>1]|0)>=0)e=(d[(c[(c[(c[g>>2]|0)+44>>2]|0)+4>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<4)+12>>0]|0)==0;else e=0;else e=1;c[i>>2]=e&1;i=c[i>>2]|0;l=j;return i|0}default:{c[i>>2]=1;i=c[i>>2]|0;l=j;return i|0}}return 0}function Ay(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;b=(gy(c[f>>2]|0)|0)!=0;a=c[f>>2]|0;if(!b){c[e>>2]=a;g=c[e>>2]|0;l=h;return g|0}if((d[a>>0]|0|0)!=119?(d[(c[f>>2]|0)+38>>0]|0|0)!=119:0){c[e>>2]=c[(c[(c[(c[f>>2]|0)+20>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;l=h;return g|0}c[e>>2]=c[(c[(c[c[(c[f>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2];g=c[e>>2]|0;l=h;return g|0}function By(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+28|0;b=m+24|0;k=m+20|0;e=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;c[b>>2]=a;do if(c[(c[b>>2]|0)+4>>2]&2048|0){if(c[(c[b>>2]|0)+4>>2]&32|0){c[j>>2]=0;break}c[k>>2]=c[(c[b>>2]|0)+20>>2];if(c[(c[k>>2]|0)+48>>2]|0){c[j>>2]=0;break}if(c[(c[k>>2]|0)+8>>2]&9|0){c[j>>2]=0;break}if(c[(c[k>>2]|0)+56>>2]|0){c[j>>2]=0;break}if(c[(c[k>>2]|0)+32>>2]|0){c[j>>2]=0;break}c[e>>2]=c[(c[k>>2]|0)+28>>2];if((c[c[e>>2]>>2]|0)!=1){c[j>>2]=0;break}if(c[(c[e>>2]|0)+8+20>>2]|0){c[j>>2]=0;break}c[g>>2]=c[(c[e>>2]|0)+8+16>>2];if((d[(c[g>>2]|0)+42>>0]|0)&16|0){c[j>>2]=0;break}c[f>>2]=c[c[k>>2]>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[f>>2]>>2]|0)){a=24;break}c[i>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2];if((d[c[i>>2]>>0]|0|0)!=152){a=22;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==22){c[j>>2]=0;break}else if((a|0)==24){c[j>>2]=c[k>>2];break}}else c[j>>2]=0;while(0);l=m;return c[j>>2]|0}function Cy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+6|0;i=h;f=h+5|0;g=h+4|0;c[i>>2]=b;a[f>>0]=d;a[g>>0]=wv(c[i>>2]|0)|0;if(a[g>>0]|0?a[f>>0]|0:0){if((a[g>>0]|0)<67?(a[f>>0]|0)<67:0){a[e>>0]=65;i=a[e>>0]|0;l=h;return i|0}a[e>>0]=67;i=a[e>>0]|0;l=h;return i|0}if((a[g>>0]|0)!=0|(a[f>>0]|0)!=0){a[e>>0]=(a[g>>0]|0)+(a[f>>0]|0);i=a[e>>0]|0;l=h;return i|0}else{a[e>>0]=65;i=a[e>>0]|0;l=h;return i|0}return 0}function Dy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]&256|0){c[h>>2]=xv(c[e>>2]|0,c[f>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}if(c[g>>2]|0?c[(c[g>>2]|0)+4>>2]&256|0:0){c[h>>2]=xv(c[e>>2]|0,c[g>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}c[h>>2]=xv(c[e>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}c[h>>2]=xv(c[e>>2]|0,c[g>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function Ey(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;g=e+12|0;i=e+8|0;h=e+4|0;f=e;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;Wt(c[g>>2]|0,76,0,c[h>>2]|0)|0;c[f>>2]=kx(c[g>>2]|0,57,c[i>>2]|0)|0;Xt(c[g>>2]|0,96,c[i>>2]|0,0,c[h>>2]|0)|0;px(c[g>>2]|0,-128);tx(c[g>>2]|0,c[f>>2]|0);l=e;return}function Fy(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;e=d+8|0;f=d+4|0;b=d;c[e>>2]=a;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[(c[e>>2]|0)+12>>2]=0;c[b>>2]=ky(c[e>>2]|0)|0;c[(c[e>>2]|0)+12>>2]=c[f>>2];l=d;return c[b>>2]|0}function Gy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+8|0;i=f+4|0;h=f;c[g>>2]=b;c[i>>2]=d;c[h>>2]=e;a[c[g>>2]>>0]=c[i>>2];c[(c[g>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;l=f;return}function Hy(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+16|0;o=n+12|0;i=n+8|0;j=n+20|0;k=n+4|0;m=n;c[h>>2]=b;c[o>>2]=e;c[i>>2]=f;a[j>>0]=g;c[k>>2]=c[(c[h>>2]|0)+80>>2];c[o>>2]=aw(c[c[h>>2]>>2]|0,c[o>>2]|0,0)|0;c[k>>2]=Ks(c[h>>2]|0,c[k>>2]|0,c[o>>2]|0)|0;if(!(c[k>>2]|0)){m=c[k>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=m;l=n;return}c[m>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(((c[c[k>>2]>>2]|0)-1|0)*20|0);c[(c[m>>2]|0)+16>>2]=c[i>>2];m=(c[m>>2]|0)+13|0;a[m>>0]=a[m>>0]&-5|((d[j>>0]|0)&1)<<2&255;m=c[k>>2]|0;o=c[h>>2]|0;o=o+80|0;c[o>>2]=m;l=n;return}function Iy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=l;l=l+48|0;i=h+36|0;k=h+32|0;j=h+28|0;g=h;c[i>>2]=b;c[k>>2]=e;c[j>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=c[k>>2];c[g+4>>2]=190;c[g+8>>2]=191;c[g+24>>2]=c[j>>2];Qv(g,c[i>>2]|0)|0;l=h;return d[g+20>>0]|0|0}function Jy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+8|0;g=j+4|0;h=j;c[g>>2]=b;c[h>>2]=e;if((d[(c[g>>2]|0)+20>>0]|0|0)==2?c[(c[h>>2]|0)+4>>2]&1|0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2}else i=4;a:do if((i|0)==4){b:do switch(d[c[h>>2]>>0]|0|0){case 151:{if((d[(c[g>>2]|0)+20>>0]|0|0)<4?(c[(c[h>>2]|0)+4>>2]&524288|0)==0:0){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}c[f>>2]=0;break a}case 154:case 153:case 152:case 55:{if((d[(c[g>>2]|0)+20>>0]|0|0)==3?(c[(c[h>>2]|0)+28>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0):0){c[f>>2]=0;break a}a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}case 135:{if((d[(c[g>>2]|0)+20>>0]|0|0)==5){a[c[h>>2]>>0]=101;break b}if((d[(c[g>>2]|0)+20>>0]|0|0)==4){a[(c[g>>2]|0)+20>>0]=0;c[f>>2]=2;break a}break}default:{}}while(0);c[f>>2]=0}while(0);l=j;return c[f>>2]|0}function Ky(b,d){b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+4|0;c[f>>2]=b;c[e>>2]=d;a[(c[f>>2]|0)+20>>0]=0;l=e;return 2}function Ly(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;i=g+8|0;j=g+4|0;h=g;f=g+12|0;c[i>>2]=b;c[j>>2]=d;c[h>>2]=e;a[f>>0]=wv(c[j>>2]|0)|0;e=(Cy(c[i>>2]|0,a[f>>0]|0)|0)&255;a[f>>0]=e|c[h>>2]&255;l=g;return a[f>>0]|0}function My(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Iy(c[d>>2]|0,2,0)|0;l=b;return a|0}function Ny(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((d[c[f>>2]>>0]|0|0)!=119){g=c[g>>2]|0;l=h;return g|0}c[g>>2]=oy(c[e>>2]|0,c[f>>2]|0,0,0)|0;g=c[g>>2]|0;l=h;return g|0}function Oy(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;p=s+24|0;q=s+20|0;j=s+16|0;r=s+12|0;k=s+8|0;m=s+4|0;n=s;o=s+28|0;c[q>>2]=b;c[j>>2]=e;c[r>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;a[o>>0]=a[c[j>>2]>>0]|0;if((d[o>>0]|0|0)==157){q=Ay(c[j>>2]|0,c[r>>2]|0)|0;c[c[m>>2]>>2]=q;c[p>>2]=(c[(c[j>>2]|0)+28>>2]|0)+(c[r>>2]|0);r=c[p>>2]|0;l=s;return r|0}b=(c[j>>2]|0)+20|0;if((d[o>>0]|0|0)==119){c[c[m>>2]>>2]=c[(c[(c[c[b>>2]>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[p>>2]=(c[k>>2]|0)+(c[r>>2]|0);r=c[p>>2]|0;l=s;return r|0}else{c[c[m>>2]>>2]=c[(c[(c[b>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[p>>2]=iy(c[q>>2]|0,c[c[m>>2]>>2]|0,c[n>>2]|0)|0;r=c[p>>2]|0;l=s;return r|0}return 0}function Py(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;p=s+28|0;q=s+24|0;r=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;n=s+4|0;o=s;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=od(Mr(c[p>>2]|0)|0,8,0)|0;if(c[o>>2]|0){i=c[o>>2]|0;h=c[m>>2]|0;a[i>>0]=a[h>>0]|0;a[i+1>>0]=a[h+1>>0]|0;a[i+2>>0]=a[h+2>>0]|0;a[i+3>>0]=a[h+3>>0]|0;a[i+4>>0]=a[h+4>>0]|0;a[i+5>>0]=a[h+5>>0]|0;a[i+6>>0]=a[h+6>>0]|0;a[i+7>>0]=a[h+7>>0]|0}r=_t(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[j>>2]|0,c[k>>2]|0,c[o>>2]|0,c[n>>2]|0)|0;l=s;return r|0}function Qy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+24|0;f=m+20|0;g=m+16|0;h=m;i=m+12|0;j=m+8|0;c[f>>2]=b;c[g>>2]=e;do if((a[c[f>>2]>>0]|0)==48){if((a[(c[f>>2]|0)+1>>0]|0)!=120?(a[(c[f>>2]|0)+1>>0]|0)!=88:0)break;e=h;c[e>>2]=0;c[e+4>>2]=0;c[i>>2]=2;while(1){b=c[i>>2]|0;if((a[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0)!=48)break;c[i>>2]=b+1}c[j>>2]=b;while(1){if(!(d[16965+(d[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;e=h;e=RR(c[e>>2]|0,c[e+4>>2]|0,16,0)|0;b=z;b=IR(e|0,b|0,(Of(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0)|0)&255|0,0)|0;e=h;c[e>>2]=b;c[e+4>>2]=z;c[j>>2]=(c[j>>2]|0)+1}g=c[g>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=c[h+4>>2];if(!(a[(c[f>>2]|0)+(c[j>>2]|0)>>0]|0))b=((c[j>>2]|0)-(c[i>>2]|0)|0)<=16;else b=0;c[k>>2]=b?0:1;k=c[k>>2]|0;l=m;return k|0}while(0);i=c[f>>2]|0;j=c[g>>2]|0;c[k>>2]=ri(i,j,_c(c[f>>2]|0)|0,1)|0;k=c[k>>2]|0;l=m;return k|0}function Ry(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=(c[f>>2]|0)+152;while(1){if((c[h>>2]|0)>=(d[(c[f>>2]|0)+25>>0]|0|0))break;if((c[(c[i>>2]|0)+12>>2]|0)==(c[g>>2]|0))a[(c[i>>2]|0)+6>>0]=0;c[h>>2]=(c[h>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+20}l=j;return}function Sy(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;r=s+8|0;j=s+4|0;k=s;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;if((e[(c[c[m>>2]>>2]|0)+64>>1]|0)&2|0){l=s;return}if((d[(c[m>>2]|0)+25>>0]|0|0)>=10){c[r>>2]=2147483647;c[j>>2]=-1;c[q>>2]=0;c[k>>2]=(c[m>>2]|0)+152;while(1){if((c[q>>2]|0)>=10)break;if((c[(c[k>>2]|0)+16>>2]|0)<(c[r>>2]|0)){c[j>>2]=c[q>>2];c[r>>2]=c[(c[k>>2]|0)+16>>2]}c[q>>2]=(c[q>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+20}c[k>>2]=(c[m>>2]|0)+152+((c[j>>2]|0)*20|0)}else{q=(c[m>>2]|0)+152|0;i=(c[m>>2]|0)+25|0;r=a[i>>0]|0;a[i>>0]=r+1<<24>>24;c[k>>2]=q+((r&255)*20|0)}c[(c[k>>2]|0)+8>>2]=c[(c[m>>2]|0)+64>>2];c[c[k>>2]>>2]=c[n>>2];b[(c[k>>2]|0)+4>>1]=c[o>>2];c[(c[k>>2]|0)+12>>2]=c[p>>2];a[(c[k>>2]|0)+6>>0]=0;q=(c[m>>2]|0)+68|0;r=c[q>>2]|0;c[q>>2]=r+1;c[(c[k>>2]|0)+16>>2]=r;l=s;return}function Ty(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[g>>2]|0)+52>>1]|0)){a=7;break}c[i>>2]=c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2];if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0?0==(Ig(c[i>>2]|0,c[f>>2]|0)|0):0){a=5;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==5){c[j>>2]=1;j=c[j>>2]|0;l=k;return j|0}else if((a|0)==7){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}return 0}function Uy(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;v=y+76|0;w=y+72|0;x=y+68|0;k=y+64|0;m=y+60|0;n=y+56|0;o=y+52|0;p=y+48|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[v>>2]=b;c[w>>2]=e;c[x>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=j;c[s>>2]=c[c[v>>2]>>2];c[q>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[q+12>>2]=0;c[q+16>>2]=0;c[q+20>>2]=0;c[q+24>>2]=0;c[q+28>>2]=0;c[q>>2]=c[v>>2];j=Vy(q,c[m>>2]|0)|0;c[p>>2]=j;do if((0==(j|0)?(j=Vy(q,c[n>>2]|0)|0,c[p>>2]=j,0==(j|0)):0)?(j=Vy(q,c[o>>2]|0)|0,c[p>>2]=j,0==(j|0)):0){if(c[k>>2]|0){if((d[c[k>>2]>>0]|0)==97)c[u>>2]=c[(c[k>>2]|0)+8>>2];else c[u>>2]=0;c[p>>2]=Ot(c[v>>2]|0,c[w>>2]|0,c[u>>2]|0,0,0)|0;if(c[p>>2]|0)break}c[r>>2]=Rt(c[v>>2]|0)|0;c[t>>2]=Sx(c[v>>2]|0,4)|0;ay(c[v>>2]|0,c[m>>2]|0,c[t>>2]|0);ay(c[v>>2]|0,c[n>>2]|0,(c[t>>2]|0)+1|0);ay(c[v>>2]|0,c[o>>2]|0,(c[t>>2]|0)+2|0);if(c[r>>2]|0){_t(c[r>>2]|0,89,0,(c[t>>2]|0)+3-(a[c[x>>2]>>0]|0)|0,(c[t>>2]|0)+3|0,c[x>>2]|0,-5)|0;px(c[r>>2]|0,a[c[x>>2]>>0]|0);kx(c[r>>2]|0,150,(c[w>>2]|0)==24&1)|0}}while(0);ck(c[s>>2]|0,c[m>>2]|0);ck(c[s>>2]|0,c[n>>2]|0);ck(c[s>>2]|0,c[o>>2]|0);l=y;return}function Vy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;do if(c[g>>2]|0)if((d[c[g>>2]>>0]|0|0)!=55){c[h>>2]=Uv(c[f>>2]|0,c[g>>2]|0)|0;break}else{a[c[g>>2]>>0]=97;break}while(0);l=i;return c[h>>2]|0}function Wy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+192|0;p=q+24|0;o=q+16|0;n=q+8|0;m=q;g=q+52|0;r=q+44|0;h=q+40|0;i=q+36|0;j=q+32|0;k=q+28|0;f=q+56|0;c[g>>2]=b;c[q+48>>2]=d;c[r>>2]=e;c[h>>2]=wh(c[c[r>>2]>>2]|0)|0;c[i>>2]=uh(c[g>>2]|0)|0;c[k>>2]=0;if(!(c[h>>2]|0))c[h>>2]=47636;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0))break;c[k>>2]=(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4);if(c[(c[k>>2]|0)+4>>2]|0?(Ig(c[c[k>>2]>>2]|0,c[h>>2]|0)|0)==0:0)break;c[j>>2]=(c[j>>2]|0)+1}do if((c[j>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0)){c[m>>2]=c[h>>2];Ne(128,f,27515,m)|0}else{if((c[j>>2]|0)<2){c[n>>2]=c[h>>2];Ne(128,f,27536,n)|0;break}if(!(a[(c[i>>2]|0)+67>>0]|0)){Ne(128,f,27562,o)|0;break}if((xk(c[(c[k>>2]|0)+4>>2]|0)|0)==0?(Oq(c[(c[k>>2]|0)+4>>2]|0)|0)==0:0){Fq(c[(c[k>>2]|0)+4>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=0;c[(c[k>>2]|0)+12>>2]=0;_p(c[i>>2]|0);l=q;return}c[p>>2]=c[h>>2];Ne(128,f,27604,p)|0}while(0);yh(c[g>>2]|0,f,-1);l=q;return}function Xy(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+128|0;B=E+48|0;A=E+40|0;D=E+32|0;C=E+24|0;k=E+16|0;h=E+8|0;g=E;w=E+116|0;F=E+108|0;j=E+104|0;x=E+100|0;y=E+96|0;z=E+92|0;n=E+88|0;o=E+84|0;p=E+80|0;q=E+76|0;r=E+72|0;s=E+68|0;t=E+64|0;i=E+60|0;u=E+56|0;v=E+52|0;c[w>>2]=b;c[E+112>>2]=e;c[F>>2]=f;c[x>>2]=0;c[y>>2]=uh(c[w>>2]|0)|0;c[o>>2]=0;c[p>>2]=0;c[s>>2]=0;c[n>>2]=wh(c[c[F>>2]>>2]|0)|0;c[z>>2]=wh(c[(c[F>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0))c[n>>2]=47636;if(!(c[z>>2]|0))c[z>>2]=47636;b=c[y>>2]|0;do if((c[(c[y>>2]|0)+20>>2]|0)<((c[(c[y>>2]|0)+96+28>>2]|0)+2|0)){if(!(a[b+67>>0]|0)){c[s>>2]=Bj(c[y>>2]|0,27677,h)|0;break}c[j>>2]=0;while(1){e=c[(c[y>>2]|0)+16>>2]|0;if((c[j>>2]|0)>=(c[(c[y>>2]|0)+20>>2]|0))break;c[i>>2]=c[e+(c[j>>2]<<4)>>2];if(!(Ig(c[i>>2]|0,c[z>>2]|0)|0)){m=12;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==12){F=c[y>>2]|0;c[k>>2]=c[z>>2];c[s>>2]=Bj(F,27719,k)|0;break}b=c[y>>2]|0;do if((e|0)==((c[y>>2]|0)+392|0)){c[r>>2]=od(b,48,0)|0;if(!(c[r>>2]|0)){l=E;return}else{F=c[r>>2]|0;m=c[(c[y>>2]|0)+16>>2]|0;c[F>>2]=c[m>>2];c[F+4>>2]=c[m+4>>2];c[F+8>>2]=c[m+8>>2];c[F+12>>2]=c[m+12>>2];c[F+16>>2]=c[m+16>>2];c[F+20>>2]=c[m+20>>2];c[F+24>>2]=c[m+24>>2];c[F+28>>2]=c[m+28>>2];break}}else{c[r>>2]=Pd(b,c[(c[y>>2]|0)+16>>2]|0,(c[(c[y>>2]|0)+20>>2]|0)+1<<4,0)|0;if(!(c[r>>2]|0)){l=E;return}}while(0);c[(c[y>>2]|0)+16>>2]=c[r>>2];c[r>>2]=(c[(c[y>>2]|0)+16>>2]|0)+(c[(c[y>>2]|0)+20>>2]<<4);F=c[r>>2]|0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[F+12>>2]=0;c[q>>2]=c[(c[y>>2]|0)+48>>2];c[x>>2]=Yy(c[(c[c[y>>2]>>2]|0)+16>>2]|0,c[n>>2]|0,q,t,o,p)|0;if(c[x>>2]|0){if((c[x>>2]|0)==7)yd(c[y>>2]|0);yh(c[w>>2]|0,c[p>>2]|0,-1);Kd(c[p>>2]|0);l=E;return}c[q>>2]=c[q>>2]|256;c[x>>2]=Bk(c[t>>2]|0,c[o>>2]|0,c[y>>2]|0,(c[r>>2]|0)+4|0,0,c[q>>2]|0)|0;Kd(c[o>>2]|0);F=(c[y>>2]|0)+20|0;c[F>>2]=(c[F>>2]|0)+1;if((c[x>>2]|0)!=19){if(!(c[x>>2]|0)){F=Zy(c[y>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=F;if(c[(c[r>>2]|0)+12>>2]|0){if(d[(c[(c[r>>2]|0)+12>>2]|0)+76>>0]|0?(d[(c[(c[r>>2]|0)+12>>2]|0)+77>>0]|0)!=(d[(c[y>>2]|0)+66>>0]|0):0){c[s>>2]=Bj(c[y>>2]|0,23837,D)|0;c[x>>2]=1}}else c[x>>2]=7;Ek(c[(c[r>>2]|0)+4>>2]|0);c[u>>2]=Hj(c[(c[r>>2]|0)+4>>2]|0)|0;_y(c[u>>2]|0,d[(c[y>>2]|0)+71>>0]|0)|0;F=c[(c[r>>2]|0)+4>>2]|0;$y(F,$y(c[(c[(c[y>>2]|0)+16>>2]|0)+4>>2]|0,-1)|0)|0;az(c[(c[r>>2]|0)+4>>2]|0,3|c[(c[y>>2]|0)+24>>2]&56)|0}}else{c[x>>2]=1;c[s>>2]=Bj(c[y>>2]|0,27749,C)|0}a[(c[r>>2]|0)+8>>0]=3;F=go(c[y>>2]|0,c[z>>2]|0)|0;c[c[r>>2]>>2]=F;if((c[x>>2]|0)==0?(c[c[r>>2]>>2]|0)==0:0)c[x>>2]=7;if(!(c[x>>2]|0)){Gj(c[y>>2]|0);c[x>>2]=ru(c[y>>2]|0,s)|0}if(!(c[x>>2]|0)){l=E;return}c[v>>2]=(c[(c[y>>2]|0)+20>>2]|0)-1;if(c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0){Fq(c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]|0)|0;c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2]=0;c[(c[(c[y>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]=0}Yo(c[y>>2]|0);c[(c[y>>2]|0)+20>>2]=c[v>>2];if((c[x>>2]|0)==7|(c[x>>2]|0)==3082){yd(c[y>>2]|0);Hd(c[y>>2]|0,c[s>>2]|0);c[s>>2]=Bj(c[y>>2]|0,19371,A)|0;break}if(!(c[s>>2]|0)){F=c[y>>2]|0;c[B>>2]=c[n>>2];c[s>>2]=Bj(F,27778,B)|0}}else{c[g>>2]=c[(c[y>>2]|0)+96+28>>2];c[s>>2]=Bj(b,27640,g)|0}while(0);if(c[s>>2]|0){yh(c[w>>2]|0,c[s>>2]|0,-1);Hd(c[y>>2]|0,c[s>>2]|0)}if(!(c[x>>2]|0)){l=E;return}Bi(c[w>>2]|0,c[x>>2]|0);l=E;return}function Yy(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0;S=l;l=l+160|0;Q=S+32|0;P=S+24|0;O=S+16|0;N=S+8|0;K=S+140|0;T=S+136|0;L=S+132|0;M=S+128|0;m=S+124|0;n=S+120|0;o=S+116|0;p=S+112|0;q=S+108|0;r=S+104|0;s=S+100|0;t=S+144|0;j=S+96|0;u=S+92|0;v=S+88|0;w=S+84|0;x=S+80|0;k=S;y=S+76|0;A=S+72|0;B=S+68|0;C=S+64|0;D=S+60|0;E=S+56|0;F=S+52|0;G=S+48|0;H=S+44|0;I=S+40|0;J=S+36|0;c[T>>2]=b;c[L>>2]=e;c[M>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=i;c[p>>2]=0;c[q>>2]=c[c[M>>2]>>2];c[r>>2]=c[T>>2];c[j>>2]=_c(c[L>>2]|0)|0;a:do if(((c[q>>2]&64|0)!=0|(c[5]|0)!=0)&(c[j>>2]|0)>=5?(wQ(c[L>>2]|0,27806,5)|0)==0:0){c[x>>2]=0;i=(c[j>>2]|0)+2|0;T=k;c[T>>2]=i;c[T+4>>2]=((i|0)<0)<<31>>31;c[q>>2]=c[q>>2]|64;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[j>>2]|0))break;i=(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)==38&1;T=k;i=IR(c[T>>2]|0,c[T+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;T=k;c[T>>2]=i;c[T+4>>2]=z;c[w>>2]=(c[w>>2]|0)+1}T=k;c[s>>2]=Ve(c[T>>2]|0,c[T+4>>2]|0)|0;if(!(c[s>>2]|0)){c[K>>2]=7;T=c[K>>2]|0;l=S;return T|0}c[w>>2]=5;do if((a[(c[L>>2]|0)+5>>0]|0)==47?(a[(c[L>>2]|0)+6>>0]|0)==47:0){c[w>>2]=7;while(1){if(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)e=(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)!=47;else e=0;b=c[w>>2]|0;if(!e)break;c[w>>2]=b+1}if((b|0)!=7){if((c[w>>2]|0)==16?(wQ(27812,(c[L>>2]|0)+7|0,9)|0)==0:0)break;T=(c[L>>2]|0)+7|0;c[N>>2]=(c[w>>2]|0)-7;c[N+4>>2]=T;T=Ue(27822,N)|0;c[c[o>>2]>>2]=T;c[p>>2]=1;break a}}while(0);c[v>>2]=0;b:while(1){T=a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))break;if((a[t>>0]|0)==35)break;c[w>>2]=(c[w>>2]|0)+1;do if(((a[t>>0]|0)==37?d[16965+(d[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)>>0]&8|0:0)?d[16965+(d[(c[L>>2]|0)+((c[w>>2]|0)+1)>>0]|0)>>0]&8|0:0){T=c[L>>2]|0;N=c[w>>2]|0;c[w>>2]=N+1;c[y>>2]=((Of(a[T+N>>0]|0)|0)&255)<<4;N=c[L>>2]|0;T=c[w>>2]|0;c[w>>2]=T+1;T=(Of(a[N+T>>0]|0)|0)&255;c[y>>2]=(c[y>>2]|0)+T;if(c[y>>2]|0){a[t>>0]=c[y>>2];break}while(1){T=a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0;a[t>>0]=T;if(!(T<<24>>24))continue b;if((a[t>>0]|0)==35)continue b;if((c[v>>2]|0)==0?(a[t>>0]|0)==63:0)continue b;if((c[v>>2]|0)==1){if((a[t>>0]|0)==61)continue b;if((a[t>>0]|0)==38)continue b}if((c[v>>2]|0)==2?(a[t>>0]|0)==38:0)continue b;c[w>>2]=(c[w>>2]|0)+1}}else R=37;while(0);c:do if((R|0)==37){R=0;do if((c[v>>2]|0)==1){if((a[t>>0]|0)!=38?(a[t>>0]|0)!=61:0)break;if(!(a[(c[s>>2]|0)+((c[x>>2]|0)-1)>>0]|0))while(1){if(!(a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0))continue b;if((a[(c[L>>2]|0)+(c[w>>2]|0)>>0]|0)==35)continue b;if((a[(c[L>>2]|0)+((c[w>>2]|0)-1)>>0]|0)==38)continue b;c[w>>2]=(c[w>>2]|0)+1}else{if((a[t>>0]|0)==38){N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=0}else c[v>>2]=2;a[t>>0]=0;break c}}while(0);if(!((c[v>>2]|0)==0?(a[t>>0]|0)==63:0)){if((c[v>>2]|0)!=2)break;if((a[t>>0]|0)!=38)break}a[t>>0]=0;c[v>>2]=1}while(0);i=a[t>>0]|0;N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=i}if((c[v>>2]|0)==1){N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=0}T=c[s>>2]|0;N=c[x>>2]|0;c[x>>2]=N+1;a[T+N>>0]=0;N=c[s>>2]|0;T=c[x>>2]|0;c[x>>2]=T+1;a[N+T>>0]=0;T=c[s>>2]|0;c[u>>2]=T+((_c(c[s>>2]|0)|0)+1);while(1){if(!(a[c[u>>2]>>0]|0)){R=84;break a}c[A>>2]=_c(c[u>>2]|0)|0;c[B>>2]=(c[u>>2]|0)+((c[A>>2]|0)+1);c[C>>2]=_c(c[B>>2]|0)|0;if((c[A>>2]|0)==3?(wQ(27850,c[u>>2]|0,3)|0)==0:0)c[r>>2]=c[B>>2];else{c[D>>2]=0;c[E>>2]=0;c[F>>2]=0;c[G>>2]=0;if((c[A>>2]|0)==5?(wQ(27854,c[u>>2]|0,5)|0)==0:0){c[F>>2]=393216;c[D>>2]=4356;c[G>>2]=c[F>>2];c[E>>2]=27854}if((c[A>>2]|0)==4?(wQ(27860,c[u>>2]|0,4)|0)==0:0){c[F>>2]=135;c[D>>2]=4380;c[G>>2]=c[F>>2]&c[q>>2];c[E>>2]=17937}if(c[D>>2]|0){c[I>>2]=0;c[H>>2]=0;while(1){if(!(c[(c[D>>2]|0)+(c[H>>2]<<3)>>2]|0))break;c[J>>2]=c[(c[D>>2]|0)+(c[H>>2]<<3)>>2];T=c[C>>2]|0;if((T|0)==(_c(c[J>>2]|0)|0)?0==(wQ(c[B>>2]|0,c[J>>2]|0,c[C>>2]|0)|0):0){R=73;break}c[H>>2]=(c[H>>2]|0)+1}if((R|0)==73){R=0;c[I>>2]=c[(c[D>>2]|0)+(c[H>>2]<<3)+4>>2]}if(!(c[I>>2]|0)){R=76;break}if((c[I>>2]&-129|0)>(c[G>>2]|0)){R=78;break}c[q>>2]=c[q>>2]&~c[F>>2]|c[I>>2]}}c[u>>2]=(c[B>>2]|0)+((c[C>>2]|0)+1)}if((R|0)==76){T=c[B>>2]|0;c[O>>2]=c[E>>2];c[O+4>>2]=T;T=Ue(27865,O)|0;c[c[o>>2]>>2]=T;c[p>>2]=1;break}else if((R|0)==78){T=c[B>>2]|0;c[P>>2]=c[E>>2];c[P+4>>2]=T;T=Ue(27885,P)|0;c[c[o>>2]>>2]=T;c[p>>2]=3;break}}else R=81;while(0);do if((R|0)==81){T=(c[j>>2]|0)+2|0;c[s>>2]=Ve(T,((T|0)<0)<<31>>31)|0;if(c[s>>2]|0){MR(c[s>>2]|0,c[L>>2]|0,c[j>>2]|0)|0;a[(c[s>>2]|0)+(c[j>>2]|0)>>0]=0;a[(c[s>>2]|0)+((c[j>>2]|0)+1)>>0]=0;c[q>>2]=c[q>>2]&-65;R=84;break}c[K>>2]=7;T=c[K>>2]|0;l=S;return T|0}while(0);if((R|0)==84?(T=_e(c[r>>2]|0)|0,c[c[m>>2]>>2]=T,(c[c[m>>2]>>2]|0)==0):0){c[Q>>2]=c[r>>2];T=Ue(27909,Q)|0;c[c[o>>2]>>2]=T;c[p>>2]=1}if(c[p>>2]|0){Kd(c[s>>2]|0);c[s>>2]=0}c[c[M>>2]>>2]=c[q>>2];c[c[n>>2]>>2]=c[s>>2];c[K>>2]=c[p>>2];T=c[K>>2]|0;l=S;return T|0}function Zy(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;if(c[g>>2]|0)c[h>>2]=gl(c[g>>2]|0,84,151)|0;else c[h>>2]=jl(0,84,0)|0;if(!(c[h>>2]|0)){yd(c[f>>2]|0);h=c[h>>2]|0;l=i;return h|0}if(d[(c[h>>2]|0)+76>>0]|0){h=c[h>>2]|0;l=i;return h|0}aq((c[h>>2]|0)+8|0);aq((c[h>>2]|0)+24|0);aq((c[h>>2]|0)+40|0);aq((c[h>>2]|0)+56|0);a[(c[h>>2]|0)+77>>0]=1;h=c[h>>2]|0;l=i;return h|0}function _y(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(((c[g>>2]|0)>=0?(a[(c[f>>2]|0)+13>>0]|0)==0:0)?(cz(c[(c[f>>2]|0)+216>>2]|0)|0)==0:0)a[(c[f>>2]|0)+4>>0]=c[g>>2];l=h;return d[(c[f>>2]|0)+4>>0]|0}function $y(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=d;if(!(c[g>>2]|0)){c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}Ek(c[g>>2]|0);if((c[h>>2]|0)>=0?(d=(c[(c[g>>2]|0)+4>>2]|0)+22|0,b[d>>1]=(e[d>>1]|0)&-5,c[h>>2]|0):0){h=(c[(c[g>>2]|0)+4>>2]|0)+22|0;b[h>>1]=e[h>>1]|0|4}c[i>>2]=((e[(c[(c[g>>2]|0)+4>>2]|0)+22>>1]|0)&4|0)!=0&1;c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}function az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];Ek(c[g>>2]|0);bz(c[c[f>>2]>>2]|0,c[e>>2]|0);l=d;return 0}function bz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;h=i+4|0;f=i;c[g>>2]=b;c[h>>2]=e;c[f>>2]=c[h>>2]&7;if(a[(c[g>>2]|0)+13>>0]|0){a[(c[g>>2]|0)+7>>0]=1;a[(c[g>>2]|0)+8>>0]=0;b=0;e=c[g>>2]|0}else{a[(c[g>>2]|0)+7>>0]=(c[f>>2]|0)==1?1:0;a[(c[g>>2]|0)+8>>0]=(c[f>>2]|0)>>>0>=3?1:0;b=((c[f>>2]|0)==4?1:0)&255;e=c[g>>2]|0}a[e+9>>0]=b;do if(!(a[(c[g>>2]|0)+7>>0]|0))if(c[h>>2]&8|0){a[(c[g>>2]|0)+12>>0]=3;a[(c[g>>2]|0)+10>>0]=3;break}else{f=(c[h>>2]&16|0)!=0;a[(c[g>>2]|0)+12>>0]=2;a[(c[g>>2]|0)+10>>0]=f?3:2;break}else{a[(c[g>>2]|0)+12>>0]=0;a[(c[g>>2]|0)+10>>0]=0}while(0);a[(c[g>>2]|0)+11>>0]=a[(c[g>>2]|0)+12>>0]|0;if(!(a[(c[g>>2]|0)+8>>0]|0)){e=c[h>>2]|0;e=e&32;e=(e|0)!=0;h=c[g>>2]|0;h=h+21|0;f=a[h>>0]|0;f=f&255;g=f|1;f=f&-2;g=e?f:g;g=g&255;a[h>>0]=g;l=i;return}e=(c[g>>2]|0)+11|0;a[e>>0]=d[e>>0]|32;e=c[h>>2]|0;e=e&32;e=(e|0)!=0;h=c[g>>2]|0;h=h+21|0;f=a[h>>0]|0;f=f&255;g=f|1;f=f&-2;g=e?f:g;g=g&255;a[h>>0]=g;l=i;return}function cz(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){b=0;b=b&1;l=e;return b|0}b=(d[(c[b>>2]|0)+43>>0]|0|0)==2;b=b&1;l=e;return b|0}function dz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[h>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4);do if(c[(c[h>>2]|0)+4>>2]|0){if(c[e>>2]|0?0!=(Ig(c[e>>2]|0,c[c[h>>2]>>2]|0)|0):0)break;ju(c[d>>2]|0,c[g>>2]|0)}while(0);c[g>>2]=(c[g>>2]|0)+1}l=i;return}function ez(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;e=o+44|0;f=o+40|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;d=o+12|0;c[e>>2]=a;c[f>>2]=b;c[i>>2]=c[c[e>>2]>>2];c[j>>2]=Nt(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[g>>2]=fz(c[f>>2]|0)|0;c[k>>2]=16;c[m>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[d>>2]=(c[j>>2]|0)==1?23323:23342;if((c[j>>2]|0)==1)c[k>>2]=14;if(Ot(c[e>>2]|0,c[k>>2]|0,c[c[f>>2]>>2]|0,c[c[g>>2]>>2]|0,c[m>>2]|0)|0){l=o;return}if(Ot(c[e>>2]|0,9,c[d>>2]|0,0,c[m>>2]|0)|0){l=o;return}m=Rt(c[e>>2]|0)|0;c[h>>2]=m;if(!m){l=o;return}m=c[e>>2]|0;g=(c[j>>2]|0)==1?23323:23342;k=c[c[f>>2]>>2]|0;c[n>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2];c[n+4>>2]=g;c[n+8>>2]=k;Qt(m,27977,n);St(c[e>>2]|0,c[j>>2]|0);_t(c[h>>2]|0,140,c[j>>2]|0,0,0,c[c[f>>2]>>2]|0,0)|0;l=o;return}function fz(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=nu((c[(c[d>>2]|0)+24>>2]|0)+8|0,c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function gz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+12|0;f=j+16|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=b;a[f>>0]=d;c[g>>2]=e;c[h>>2]=jl(c[k>>2]|0,36+(c[(c[g>>2]|0)+4>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){k=c[h>>2]|0;l=j;return k|0}c[i>>2]=(c[h>>2]|0)+36;MR(c[i>>2]|0,c[c[g>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0)|0;Aj(c[i>>2]|0);c[(c[h>>2]|0)+12>>2]=c[i>>2];a[c[h>>2]>>0]=a[f>>0]|0;k=c[h>>2]|0;l=j;return k|0}function hz(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[i>>2]=d;c[f>>2]=(c[i>>2]|0)+8;c[g>>2]=gu(c[e>>2]|0,0,c[f>>2]|0)|0;Jj(c[c[e>>2]>>2]|0,c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[g>>2];if(c[g>>2]|0){i=(c[g>>2]|0)+36|0;b[i>>1]=(b[i>>1]|0)+1<<16>>16}if(!(Lw(c[e>>2]|0,c[f>>2]|0)|0)){i=c[g>>2]|0;l=h;return i|0}c[g>>2]=0;i=c[g>>2]|0;l=h;return i|0}function iz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+32|0;h=g+20|0;n=g+16|0;i=g+12|0;k=g+8|0;j=g+4|0;m=g;c[h>>2]=a;c[n>>2]=b;c[i>>2]=d;c[k>>2]=e;c[j>>2]=f;c[m>>2]=c[c[n>>2]>>2];c[c[h>>2]>>2]=c[n>>2];c[(c[h>>2]|0)+12>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2];c[(c[h>>2]|0)+4>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[i>>2]<<4)+12>>2];c[(c[h>>2]|0)+16>>2]=c[k>>2];c[(c[h>>2]|0)+20>>2]=c[j>>2];c[(c[h>>2]|0)+8>>2]=(c[i>>2]|0)==1&1;l=g;return}function jz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;j=k;g=k+32|0;h=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;i=k+12|0;c[h>>2]=a;c[d>>2]=b;if(!(c[d>>2]|0)){c[g>>2]=0;j=c[g>>2]|0;l=k;return j|0}c[f>>2]=c[(c[h>>2]|0)+12>>2];c[e>>2]=0;c[i>>2]=(c[d>>2]|0)+8;while(1){if((c[e>>2]|0)>=(c[c[d>>2]>>2]|0)){a=15;break}if(!(c[(c[h>>2]|0)+8>>2]|0)){if(c[(c[i>>2]|0)+4>>2]|0?Ig(c[(c[i>>2]|0)+4>>2]|0,c[f>>2]|0)|0:0){a=8;break}Hd(c[c[c[h>>2]>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0);c[(c[i>>2]|0)+4>>2]=0;c[c[i>>2]>>2]=c[(c[h>>2]|0)+4>>2]}if(kz(c[h>>2]|0,c[(c[i>>2]|0)+20>>2]|0)|0){a=11;break}if(lz(c[h>>2]|0,c[(c[i>>2]|0)+48>>2]|0)|0){a=13;break}c[e>>2]=(c[e>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+72}if((a|0)==8){f=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+20>>2]|0;i=c[(c[i>>2]|0)+4>>2]|0;c[j>>2]=c[(c[h>>2]|0)+16>>2];c[j+4>>2]=e;c[j+8>>2]=i;Ck(f,28283,j);c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}else if((a|0)==11){c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}else if((a|0)==13){c[g>>2]=1;j=c[g>>2]|0;l=k;return j|0}else if((a|0)==15){c[g>>2]=0;j=c[g>>2]|0;l=k;return j|0}return 0}function kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){a=20;break}if(mz(c[d>>2]|0,c[c[e>>2]>>2]|0)|0){a=4;break}if(jz(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0)|0){a=6;break}if(lz(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0){a=8;break}if(mz(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0){a=10;break}if(lz(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0){a=12;break}if(mz(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0){a=14;break}if(lz(c[d>>2]|0,c[(c[e>>2]|0)+56>>2]|0)|0){a=16;break}if(lz(c[d>>2]|0,c[(c[e>>2]|0)+60>>2]|0)|0){a=18;break}c[e>>2]=c[(c[e>>2]|0)+48>>2]}if((a|0)==4)c[f>>2]=1;else if((a|0)==6)c[f>>2]=1;else if((a|0)==8)c[f>>2]=1;else if((a|0)==10)c[f>>2]=1;else if((a|0)==12)c[f>>2]=1;else if((a|0)==14)c[f>>2]=1;else if((a|0)==16)c[f>>2]=1;else if((a|0)==18)c[f>>2]=1;else if((a|0)==20)c[f>>2]=0;l=g;return c[f>>2]|0}function lz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;g=j+12|0;h=j+8|0;f=j+4|0;c[h>>2]=b;c[f>>2]=e;while(1){if(!(c[f>>2]|0)){b=16;break}if((d[c[f>>2]>>0]|0)==135){if(!(a[(c[c[c[h>>2]>>2]>>2]|0)+148+5>>0]|0)){b=6;break}a[c[f>>2]>>0]=101}if(c[(c[f>>2]|0)+4>>2]&8404992|0){b=16;break}b=c[h>>2]|0;e=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048|0){if(kz(b,c[e>>2]|0)|0){b=10;break}}else if(mz(b,c[e>>2]|0)|0){b=12;break}if(lz(c[h>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0){b=14;break}c[f>>2]=c[(c[f>>2]|0)+12>>2]}if((b|0)==6){f=c[c[h>>2]>>2]|0;c[i>>2]=c[(c[h>>2]|0)+16>>2];Ck(f,28329,i);c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==10){c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==12){c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==14){c[g>>2]=1;i=c[g>>2]|0;l=j;return i|0}else if((b|0)==16){c[g>>2]=0;i=c[g>>2]|0;l=j;return i|0}return 0}function mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+16|0;d=i+12|0;e=i+8|0;f=i+4|0;g=i;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){a=8;break}if(lz(c[d>>2]|0,c[c[g>>2]>>2]|0)|0){a=6;break}c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}if((a|0)==6){c[h>>2]=1;h=c[h>>2]|0;l=i;return h|0}else if((a|0)==8){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}return 0}function nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+8|0;d=g+4|0;e=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0)){a=10;break}if(kz(c[d>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0){a=4;break}if(lz(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0){a=6;break}if(mz(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0){a=8;break}c[e>>2]=c[(c[e>>2]|0)+28>>2]}if((a|0)==4)c[f>>2]=1;else if((a|0)==6)c[f>>2]=1;else if((a|0)==8)c[f>>2]=1;else if((a|0)==10)c[f>>2]=0;l=g;return c[f>>2]|0}function oz(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33|32;l=d;return}function pz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;o=m+28|0;n=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;k=m+8|0;f=m+4|0;g=m;c[o>>2]=a;c[n>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=1;c[k>>2]=gA(c[o>>2]|0,c[n>>2]|0)|0;if(!(c[k>>2]|0)){o=c[j>>2]|0;l=m;return o|0}Ek(c[k>>2]|0);c[f>>2]=Hj(c[k>>2]|0)|0;c[g>>2]=_o(c[f>>2]|0)|0;if((c[h>>2]|0)==7){c[c[i>>2]>>2]=c[g>>2];c[j>>2]=0;o=c[j>>2]|0;l=m;return o|0}if((c[h>>2]|0)==27){o=Yk(c[f>>2]|0)|0;c[c[i>>2]>>2]=o;c[j>>2]=0;o=c[j>>2]|0;l=m;return o|0}if((c[h>>2]|0)==28){o=hA(c[f>>2]|0)|0;c[c[i>>2]>>2]=o;c[j>>2]=0;o=c[j>>2]|0;l=m;return o|0}if(c[c[g>>2]>>2]|0){c[j>>2]=Hl(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;o=c[j>>2]|0;l=m;return o|0}else{c[j>>2]=12;o=c[j>>2]|0;l=m;return o|0}return 0}function qz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[g>>2]|0)){l=h;return}Vt(c[e>>2]|0,1,c[g>>2]|0)|0;rz(c[e>>2]|0,c[f>>2]|0);Wt(c[e>>2]|0,87,1,1)|0;l=h;return}function rz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ez(c[f>>2]|0,1,e);l=d;return}function sz(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+8|0;h=p+4|0;i=p;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[p+12>>2]=g;if(((c[(c[k>>2]|0)+136>>2]|0)+(c[m>>2]|0)|0)>(c[(c[(c[k>>2]|0)+12>>2]|0)+48>>2]|0)?Zt(c[k>>2]|0,c[m>>2]|0)|0:0){c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}g=(c[(c[k>>2]|0)+88>>2]|0)+((c[(c[k>>2]|0)+136>>2]|0)*20|0)|0;c[h>>2]=g;c[i>>2]=g;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[m>>2]|0))break;a[c[h>>2]>>0]=a[c[n>>2]>>0]|0;c[(c[h>>2]|0)+4>>2]=a[(c[n>>2]|0)+1>>0];c[(c[h>>2]|0)+8>>2]=a[(c[n>>2]|0)+2>>0];if(d[29646+(d[c[n>>2]>>0]|0)>>0]&1|0?(a[(c[n>>2]|0)+2>>0]|0)>0:0){g=(c[h>>2]|0)+8|0;c[g>>2]=(c[g>>2]|0)+(c[(c[k>>2]|0)+136>>2]|0)}c[(c[h>>2]|0)+12>>2]=a[(c[n>>2]|0)+3>>0];a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0;a[(c[h>>2]|0)+3>>0]=0;c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+4;c[h>>2]=(c[h>>2]|0)+20}o=(c[k>>2]|0)+136|0;c[o>>2]=(c[o>>2]|0)+(c[m>>2]|0);c[j>>2]=c[i>>2];o=c[j>>2]|0;l=p;return o|0}function tz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;h=f+8|0;i=f;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;Py(c[g>>2]|0,77,0,1,0,i,-13)|0;rz(c[g>>2]|0,c[h>>2]|0);Wt(c[g>>2]|0,87,1,1)|0;l=f;return}function uz(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[d>>2]=a;do if(c[d>>2]|0){if(!(Ig(c[d>>2]|0,28535)|0)){c[b>>2]=1;break}if(!(Ig(c[d>>2]|0,28528)|0))c[b>>2]=0;else e=6}else e=6;while(0);if((e|0)==6)c[b>>2]=-1;l=f;return c[b>>2]|0}function vz(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)==6)c[b>>2]=0;else c[b>>2]=c[5412+(c[d>>2]<<2)>>2];l=e;return c[b>>2]|0}function wz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;d=f;b=c[d+4>>2]|0;if((b|0)>-1|(b|0)==-1&(c[d>>2]|0)>>>0>=4294967295){a=f;b=c[a+4>>2]|0;d=(c[e>>2]|0)+168|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;fA(c[(c[e>>2]|0)+216>>2]|0,c[f>>2]|0,c[f+4>>2]|0)}f=(c[e>>2]|0)+168|0;z=c[f+4>>2]|0;l=g;return c[f>>2]|0}function xz(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;Ek(c[d>>2]|0);if(!(a[(c[(c[d>>2]|0)+4>>2]|0)+17>>0]|0)){d=0;c[e>>2]=d;e=c[e>>2]|0;l=f;return e|0}d=(a[(c[(c[d>>2]|0)+4>>2]|0)+18>>0]|0)!=0^1?1:2;c[e>>2]=d;e=c[e>>2]|0;l=f;return e|0}function yz(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(Ig(c[d>>2]|0,29606)|0){if(!(Ig(c[d>>2]|0,29050)|0)){c[b>>2]=1;break}if(!(Ig(c[d>>2]|0,29611)|0)){c[b>>2]=2;break}else{c[e>>2]=Mf(c[d>>2]|0)|0;c[b>>2]=((c[e>>2]|0)>=0&(c[e>>2]|0)<=2?c[e>>2]|0:0)&255;break}}else c[b>>2]=0;while(0);l=f;return c[b>>2]|0}function zz(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;k=j+12|0;m=j+8|0;g=j+4|0;h=j;i=j+16|0;c[k>>2]=b;c[m>>2]=f;c[g>>2]=c[(c[k>>2]|0)+4>>2];c[h>>2]=0;a[i>>0]=c[m>>2];Ek(c[k>>2]|0);if((e[(c[g>>2]|0)+22>>1]|0)&2|0?((d[i>>0]|0|0?1:0)|0)!=(d[(c[g>>2]|0)+17>>0]|0|0):0){c[h>>2]=8;m=c[h>>2]|0;l=j;return m|0}a[(c[g>>2]|0)+17>>0]=d[i>>0]|0|0?1:0;a[(c[g>>2]|0)+18>>0]=(d[i>>0]|0|0)==2?1:0;m=c[h>>2]|0;l=j;return m|0}function Az(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+12|0;f=e+8|0;g=e+4|0;d=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];Ek(c[h>>2]|0);c[d>>2]=dA(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;l=e;return c[d>>2]|0}function Bz(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;if(!(a[(c[e>>2]|0)+67>>0]|0)){l=h;return}c[f>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];while(1){b=c[g>>2]|0;c[g>>2]=b+-1;if((b|0)<=0)break;if(c[(c[f>>2]|0)+4>>2]|0)az(c[(c[f>>2]|0)+4>>2]|0,d[(c[f>>2]|0)+8>>0]|c[(c[e>>2]|0)+24>>2]&56)|0;c[f>>2]=(c[f>>2]|0)+16}l=h;return}function Cz(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[g>>2]=b;c[k>>2]=e;c[h>>2]=cA(c[k>>2]|0)|0;c[i>>2]=c[c[g>>2]>>2];if((d[(c[i>>2]|0)+68>>0]|0|0)==(c[h>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}if(Dz(c[g>>2]|0)|0){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}else{a[(c[i>>2]|0)+68>>0]=c[h>>2];c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}return 0}function Dz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];do if(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0){if(a[(c[f>>2]|0)+67>>0]|0?(xk(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0)==0:0){Fq(c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)|0;c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=0;Yo(c[f>>2]|0);break}Ck(c[e>>2]|0,29544,g);c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function Ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;Xr(c[e>>2]|0,c[f>>2]|0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;Yr(c[e>>2]|0,c[h>>2]|0,0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,0)|0;c[h>>2]=(c[h>>2]|0)+1}l=i;return}function Fz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+40|0;j=q+36|0;k=q+32|0;m=q+16|0;n=q+12|0;o=q+44|0;p=q+8|0;g=q+4|0;h=q;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=0;while(1){f=a[(c[k>>2]|0)+(c[n>>2]|0)>>0]|0;a[o>>0]=f;if(!(f<<24>>24))break;if((a[o>>0]|0)==115){e=(c[m>>2]|0)+(4-1)&~(4-1);d=c[e>>2]|0;c[m>>2]=e+4;c[g>>2]=d;c[p>>2]=c[g>>2];d=c[i>>2]|0;e=(c[p>>2]|0)==0?79:97;f=c[j>>2]|0;c[j>>2]=f+1;_t(d,e,0,f,0,c[p>>2]|0,0)|0}else{d=c[i>>2]|0;f=(c[m>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[m>>2]=f+4;c[h>>2]=e;e=c[h>>2]|0;f=c[j>>2]|0;c[j>>2]=f+1;Wt(d,76,e,f)|0}c[n>>2]=(c[n>>2]|0)+1}l=q;return}function Gz(b){b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;a[g>>0]=b;switch(d[g>>0]|0|0){case 7:{c[e>>2]=29354;break}case 8:{c[e>>2]=29363;break}case 9:{c[e>>2]=29375;break}case 6:{c[e>>2]=29383;break}default:c[e>>2]=29392}l=f;return c[e>>2]|0}function Hz(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;B=D;w=D+64|0;x=D+60|0;y=D+56|0;z=D+52|0;A=D+48|0;k=D+44|0;m=D+40|0;n=D+36|0;o=D+32|0;p=D+28|0;q=D+24|0;r=D+20|0;s=D+16|0;t=D+68|0;u=D+12|0;v=D+8|0;c[x>>2]=f;c[y>>2]=g;c[z>>2]=h;c[A>>2]=i;c[k>>2]=j;c[m>>2]=0;c[n>>2]=0;c[o>>2]=c[(c[z>>2]|0)+20>>2];c[p>>2]=c[(c[z>>2]|0)+36+4>>2];do if((c[o>>2]|0)==1){if((b[(c[y>>2]|0)+32>>1]|0)>=0){if(!(c[p>>2]|0)){c[w>>2]=0;C=c[w>>2]|0;l=D;return C|0}if(!(Ig(c[(c[(c[y>>2]|0)+4>>2]|0)+(b[(c[y>>2]|0)+32>>1]<<4)>>2]|0,c[p>>2]|0)|0)){c[w>>2]=0;C=c[w>>2]|0;l=D;return C|0}}}else if(c[k>>2]|0){c[n>>2]=od(c[c[x>>2]>>2]|0,c[o>>2]<<2,0)|0;if(c[n>>2]|0){c[c[k>>2]>>2]=c[n>>2];break}c[w>>2]=1;C=c[w>>2]|0;l=D;return C|0}while(0);c[m>>2]=c[(c[y>>2]|0)+8>>2];a:while(1){if(!(c[m>>2]|0))break;do if((e[(c[m>>2]|0)+50>>1]|0)==(c[o>>2]|0)?d[(c[m>>2]|0)+54>>0]|0:0){if(!(c[p>>2]|0))if((a[(c[m>>2]|0)+55>>0]&3|0)==2){C=17;break a}else break;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[o>>2]|0))break;b[t>>1]=b[(c[(c[m>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;if((b[t>>1]|0)<0)break;j=c[(c[(c[y>>2]|0)+4>>2]|0)+(b[t>>1]<<4)+8>>2]|0;c[u>>2]=j;c[u>>2]=c[u>>2]|0?j:31345;if(Ig(c[(c[(c[m>>2]|0)+32>>2]|0)+(c[r>>2]<<2)>>2]|0,c[u>>2]|0)|0)break;c[v>>2]=c[(c[(c[y>>2]|0)+4>>2]|0)+(b[t>>1]<<4)>>2];c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[o>>2]|0))break;if(!(Ig(c[(c[z>>2]|0)+36+(c[s>>2]<<3)+4>>2]|0,c[v>>2]|0)|0)){C=28;break}c[s>>2]=(c[s>>2]|0)+1}if((C|0)==28?(C=0,c[n>>2]|0):0)c[(c[n>>2]|0)+(c[r>>2]<<2)>>2]=c[(c[z>>2]|0)+36+(c[s>>2]<<3)>>2];if((c[s>>2]|0)==(c[o>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[o>>2]|0))break a}while(0);c[m>>2]=c[(c[m>>2]|0)+20>>2]}b:do if((C|0)==17?c[n>>2]|0:0){c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[o>>2]|0))break b;c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]=c[(c[z>>2]|0)+36+(c[q>>2]<<3)>>2];c[q>>2]=(c[q>>2]|0)+1}}while(0);if(c[m>>2]|0){c[c[A>>2]>>2]=c[m>>2];c[w>>2]=0;C=c[w>>2]|0;l=D;return C|0}if(!(a[(c[x>>2]|0)+150>>0]|0)){C=c[x>>2]|0;A=c[(c[z>>2]|0)+8>>2]|0;c[B>>2]=c[c[c[z>>2]>>2]>>2];c[B+4>>2]=A;Ck(C,29291,B)}Hd(c[c[x>>2]>>2]|0,c[n>>2]|0);c[w>>2]=1;C=c[w>>2]|0;l=D;return C|0}function Iz(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+16|0;g=o+12|0;i=o+8|0;j=o+4|0;k=o;m=o+20|0;n=o+22|0;c[g>>2]=d;c[i>>2]=f;if(!(c[(c[i>>2]|0)+16>>2]|0)){c[k>>2]=c[(c[i>>2]|0)+12>>2];f=(e[(c[i>>2]|0)+52>>1]|0)+1|0;f=md(0,f,((f|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+16>>2]=f;if(!(c[(c[i>>2]|0)+16>>2]|0)){yd(c[g>>2]|0);c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}c[j>>2]=0;while(1){d=c[i>>2]|0;if((c[j>>2]|0)>=(e[(c[i>>2]|0)+52>>1]|0))break;b[m>>1]=b[(c[d+4>>2]|0)+(c[j>>2]<<1)>>1]|0;if((b[m>>1]|0)>=0)a[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]|0)>>0]=a[(c[(c[k>>2]|0)+4>>2]|0)+(b[m>>1]<<4)+13>>0]|0;else{d=c[i>>2]|0;if((b[m>>1]|0)==-1){f=68;d=(c[d+16>>2]|0)+(c[j>>2]|0)|0}else{f=wv(c[(c[(c[d+40>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)|0;a[n>>0]=f;a[n>>0]=(a[n>>0]|0)==0?65:f;f=a[n>>0]|0;d=(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]|0)|0}a[d>>0]=f}c[j>>2]=(c[j>>2]|0)+1}a[(c[d+16>>2]|0)+(c[j>>2]|0)>>0]=0}c[h>>2]=c[(c[i>>2]|0)+16>>2];n=c[h>>2]|0;l=o;return n|0}function Jz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0)c[f>>2]=29224;else c[f>>2]=18921;aA(c[d>>2]|0,18925,2,1,c[f>>2]|0,203,0,0,0)|0;aA(c[d>>2]|0,18925,3,1,c[f>>2]|0,203,0,0,0)|0;aA(c[d>>2]|0,18916,2,1,18912,203,0,0,0)|0;bA(c[d>>2]|0,18916,12);bA(c[d>>2]|0,18925,(c[e>>2]|0?12:4)&255);l=g;return}function Kz(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;while(1){b=c[e>>2]|0;if((c[f>>2]|0)>=(d[(c[e>>2]|0)+25>>0]|0|0))break;if(d[b+152+((c[f>>2]|0)*20|0)+6>>0]|0|0?(d[(c[e>>2]|0)+19>>0]|0|0)<8:0){i=c[(c[e>>2]|0)+152+((c[f>>2]|0)*20|0)+12>>2]|0;h=(c[e>>2]|0)+352|0;j=(c[e>>2]|0)+19|0;b=a[j>>0]|0;a[j>>0]=b+1<<24>>24;c[h+((b&255)<<2)>>2]=i}c[f>>2]=(c[f>>2]|0)+1}a[b+25>>0]=0;l=g;return}function Lz(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+64|0;A=C+52|0;B=C+48|0;p=C+44|0;q=C+40|0;r=C+56|0;s=C+36|0;t=C+32|0;u=C+28|0;m=C+24|0;v=C+20|0;w=C+16|0;n=C+12|0;x=C+8|0;y=C+4|0;z=C;c[B>>2]=b;c[p>>2]=e;c[q>>2]=f;a[r>>0]=g;c[s>>2]=h;c[t>>2]=i;c[u>>2]=j;c[m>>2]=k;if((d[(c[p>>2]|0)+42>>0]|0)&16|0){c[A>>2]=0;B=c[A>>2]|0;l=C;return B|0}c[w>>2]=Nt(c[c[B>>2]>>2]|0,c[(c[p>>2]|0)+64>>2]|0)|0;c[y>>2]=Rt(c[B>>2]|0)|0;if((c[s>>2]|0)<0)c[s>>2]=c[(c[B>>2]|0)+40>>2];k=c[s>>2]|0;c[s>>2]=k+1;c[n>>2]=k;if(c[u>>2]|0)c[c[u>>2]>>2]=c[n>>2];do if(!((d[(c[p>>2]|0)+42>>0]|0)&32)){if(c[t>>2]|0?(d[c[t>>2]>>0]|0|0)==0:0){o=11;break}nx(c[B>>2]|0,c[n>>2]|0,c[w>>2]|0,c[p>>2]|0,c[q>>2]|0)}else o=11;while(0);if((o|0)==11)mx(c[B>>2]|0,c[w>>2]|0,c[(c[p>>2]|0)+28>>2]|0,(c[q>>2]|0)==105&255,c[c[p>>2]>>2]|0);if(c[m>>2]|0)c[c[m>>2]>>2]=c[s>>2];c[v>>2]=0;c[x>>2]=c[(c[p>>2]|0)+8>>2];while(1){b=c[s>>2]|0;if(!(c[x>>2]|0))break;c[s>>2]=b+1;c[z>>2]=b;if((a[(c[x>>2]|0)+55>>0]&3|0)==2?(d[(c[p>>2]|0)+42>>0]|0)&32|0:0){if(c[u>>2]|0)c[c[u>>2]>>2]=c[z>>2];a[r>>0]=0}if(!((c[t>>2]|0)!=0?!(d[(c[t>>2]|0)+((c[v>>2]|0)+1)>>0]|0|0):0)){Xt(c[y>>2]|0,c[q>>2]|0,c[z>>2]|0,c[(c[x>>2]|0)+44>>2]|0,c[w>>2]|0)|0;ox(c[B>>2]|0,c[x>>2]|0);px(c[y>>2]|0,a[r>>0]|0)}c[x>>2]=c[(c[x>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}if((b|0)>(c[(c[B>>2]|0)+40>>2]|0))c[(c[B>>2]|0)+40>>2]=c[s>>2];c[A>>2]=c[v>>2];B=c[A>>2]|0;l=C;return B|0}function Mz(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-33;l=d;return}function Nz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;a=c[f>>2]|0;if((c[d>>2]|0)>0){$z(a,138,c[d>>2]|0)|0;l=e;return 0}else{$z(a,0,0)|0;l=e;return 0}return 0}function Oz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;i=h+12|0;f=h+8|0;g=h+4|0;j=h;c[i>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=e;if((c[j>>2]|0)<(c[i>>2]|0)){l=h;return 0}zg();Wz(c[f>>2]|0,c[g>>2]|0)|0;Bg();l=h;return 0}function Pz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;Gj(c[b>>2]|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0){c[f>>2]=Hj(c[e>>2]|0)|0;Uz(c[f>>2]|0)}c[d>>2]=(c[d>>2]|0)+1}l=g;return 0}function Qz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;if((c[e>>2]|0)>0){Tz(a,192,c[d>>2]|0)|0;c[(c[d>>2]|0)+428>>2]=c[e>>2];l=f;return 0}else{Tz(a,0,0)|0;l=f;return 0}return 0}function Rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)<0|(c[g>>2]|0)>=12){c[e>>2]=-1;i=c[e>>2]|0;l=j;return i|0}c[i>>2]=c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2];if((c[h>>2]|0)>=0){if((c[h>>2]|0)>(c[5364+(c[g>>2]<<2)>>2]|0))c[h>>2]=c[5364+(c[g>>2]<<2)>>2];c[(c[f>>2]|0)+96+(c[g>>2]<<2)>>2]=c[h>>2]}c[e>>2]=c[i>>2];i=c[e>>2]|0;l=j;return i|0}function Sz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;d=f+16|0;i=f+12|0;h=f+8|0;e=f+4|0;g=f;c[i>>2]=a;c[h>>2]=b;c[e>>2]=c[i>>2];c[g>>2]=c[(c[i>>2]|0)+428>>2];if((((c[h>>2]|0)+1|0)*1e3|0)>(c[g>>2]|0)){c[d>>2]=0;i=c[d>>2]|0;l=f;return i|0}else{zo(c[c[e>>2]>>2]|0,1e6)|0;c[d>>2]=1;i=c[d>>2]|0;l=f;return i|0}return 0}function Tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+380>>2]=c[h>>2];c[(c[f>>2]|0)+380+4>>2]=c[g>>2];c[(c[f>>2]|0)+380+8>>2]=0;c[(c[f>>2]|0)+428>>2]=0;l=e;return 0}function Uz(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Vz(c[(c[d>>2]|0)+212>>2]|0);l=b;return}function Vz(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;qb[c[164>>2]&255](c[(c[d>>2]|0)+44>>2]|0);l=b;return}function Wz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Xz(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;l=d;return b|0}function Xz(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[h>>2]=g;c[j>>2]=10;if(c[p>>2]|0)c[c[p>>2]>>2]=-1;if(c[h>>2]|0)c[c[h>>2]>>2]=-1;if((c[o>>2]|0)<0|(c[o>>2]|0)>3){c[k>>2]=21;q=c[k>>2]|0;l=r;return q|0}if(c[n>>2]|0?a[c[n>>2]>>0]|0:0)c[j>>2]=yk(c[m>>2]|0,c[n>>2]|0)|0;if((c[j>>2]|0)<0){c[i>>2]=1;p=c[m>>2]|0;c[q>>2]=c[n>>2];vk(p,1,29123,q)}else{c[(c[m>>2]|0)+380+8>>2]=0;c[i>>2]=Yz(c[m>>2]|0,c[j>>2]|0,c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;wk(c[m>>2]|0,c[i>>2]|0)}c[i>>2]=Uq(c[m>>2]|0,c[i>>2]|0)|0;c[k>>2]=c[i>>2];q=c[k>>2]|0;l=r;return q|0}function Yz(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;g=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[g>>2]=0;c[i>>2]=0;c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[(c[j>>2]|0)+20>>2]|0)?(c[g>>2]|0)==0:0))break;if(((c[k>>2]|0)==10?1:(c[h>>2]|0)==(c[k>>2]|0))?(c[g>>2]=Zz(c[(c[(c[j>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0,c[n>>2]=0,c[o>>2]=0,(c[g>>2]|0)==5):0){c[i>>2]=1;c[g>>2]=0}c[h>>2]=(c[h>>2]|0)+1}l=p;return ((c[g>>2]|0)==0&(c[i>>2]|0)!=0?5:c[g>>2]|0)|0}function Zz(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;if(!(c[g>>2]|0)){m=c[k>>2]|0;l=n;return m|0}c[m>>2]=c[(c[g>>2]|0)+4>>2];Ek(c[g>>2]|0);if(d[(c[m>>2]|0)+20>>0]|0|0){c[k>>2]=6;m=c[k>>2]|0;l=n;return m|0}else{c[k>>2]=_z(c[c[m>>2]>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;m=c[k>>2]|0;l=n;return m|0}return 0}function _z(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;if(!(c[(c[g>>2]|0)+216>>2]|0)){k=c[k>>2]|0;l=m;return k|0}if(!(c[h>>2]|0))a=0;else a=c[(c[g>>2]|0)+184>>2]|0;c[k>>2]=Fn(c[(c[g>>2]|0)+216>>2]|0,c[h>>2]|0,a,c[(c[g>>2]|0)+188>>2]|0,d[(c[g>>2]|0)+10>>0]|0,c[(c[g>>2]|0)+160>>2]|0,c[(c[g>>2]|0)+208>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}function $z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;i=f+8|0;h=f+4|0;e=f;c[g>>2]=a;c[i>>2]=b;c[h>>2]=d;c[e>>2]=c[(c[g>>2]|0)+228>>2];c[(c[g>>2]|0)+224>>2]=c[i>>2];c[(c[g>>2]|0)+228>>2]=c[h>>2];l=f;return c[e>>2]|0}function aA(d,f,g,h,i,j,k,m,n){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+64|0;C=D;B=D+56|0;q=D+52|0;r=D+48|0;s=D+44|0;t=D+40|0;u=D+36|0;v=D+32|0;w=D+28|0;x=D+24|0;y=D+20|0;z=D+16|0;o=D+12|0;A=D+8|0;p=D+4|0;c[q>>2]=d;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;c[w>>2]=k;c[x>>2]=m;c[y>>2]=n;do if(c[r>>2]|0){if(c[v>>2]|0?(c[x>>2]|0)!=0|(c[w>>2]|0)!=0:0)break;if(((c[v>>2]|0)==0&(c[x>>2]|0)!=0^1|(c[w>>2]|0)!=0?!((((c[v>>2]|0)!=0|(c[x>>2]|0)!=0)^1)&(c[w>>2]|0)!=0|(c[s>>2]|0)<-1|(c[s>>2]|0)>127):0)?(n=_c(c[r>>2]|0)|0,c[o>>2]=n,255>=(n|0)):0){c[A>>2]=c[t>>2]&2048;c[t>>2]=c[t>>2]&7;do if((c[t>>2]|0)!=4){if((c[t>>2]|0)==5){c[p>>2]=aA(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,1|c[A>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[p>>2]|0))c[p>>2]=aA(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,2|c[A>>2],c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[x>>2]|0,c[y>>2]|0)|0;if(!(c[p>>2]|0)){c[t>>2]=3;break}c[B>>2]=c[p>>2];C=c[B>>2]|0;l=D;return C|0}}else c[t>>2]=(a[936]|0)==0?3:2;while(0);c[z>>2]=uw(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]&255,0)|0;do if((c[z>>2]|0?(e[(c[z>>2]|0)+2>>1]&3|0)==(c[t>>2]|0):0)?(a[c[z>>2]>>0]|0)==(c[s>>2]|0):0){d=c[q>>2]|0;if(!(c[(c[q>>2]|0)+156>>2]|0)){$p(d);break}vk(d,5,29228,C);c[B>>2]=5;C=c[B>>2]|0;l=D;return C|0}while(0);c[z>>2]=uw(c[q>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]&255,1)|0;if(!(c[z>>2]|0)){c[B>>2]=7;C=c[B>>2]|0;l=D;return C|0}Gq(c[q>>2]|0,c[z>>2]|0);if(c[y>>2]|0){C=c[y>>2]|0;c[C>>2]=(c[C>>2]|0)+1}c[(c[z>>2]|0)+24>>2]=c[y>>2];b[(c[z>>2]|0)+2>>1]=e[(c[z>>2]|0)+2>>1]&3|c[A>>2];c[(c[z>>2]|0)+12>>2]=c[v>>2]|0?c[v>>2]|0:c[w>>2]|0;c[(c[z>>2]|0)+16>>2]=c[x>>2];c[(c[z>>2]|0)+4>>2]=c[u>>2];a[c[z>>2]>>0]=c[s>>2];c[B>>2]=0;C=c[B>>2]|0;l=D;return C|0}}while(0);c[B>>2]=cd(139436)|0;C=c[B>>2]|0;l=D;return C|0}function bA(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;k=l;l=l+16|0;n=k+8|0;m=k+4|0;i=k+12|0;j=k;c[n>>2]=f;c[m>>2]=g;a[i>>0]=h;c[j>>2]=uw(c[n>>2]|0,c[m>>2]|0,2,1,0)|0;if(!(c[j>>2]|0)){l=k;return}n=(c[j>>2]|0)+2|0;b[n>>1]=e[n>>1]|0|(d[i>>0]|0);l=k;return}function cA(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;e=g;c[e>>2]=b;if((a[c[e>>2]>>0]|0)>=48?(a[c[e>>2]>>0]|0)<=50:0)c[d>>2]=(a[c[e>>2]>>0]|0)-48;else f=4;do if((f|0)==4){if(!(Ig(c[e>>2]|0,29443)|0)){c[d>>2]=1;break}if(!(Ig(c[e>>2]|0,27935)|0)){c[d>>2]=2;break}else{c[d>>2]=0;break}}while(0);l=g;return c[d>>2]|0}function dA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=eA(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function eA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){if((c[e>>2]|0)<0){a=c[e>>2]|0;a=RR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;b=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;b=LR(a|0,z|0,b|0,((b|0)<0)<<31>>31|0)|0;c[e>>2]=b}c[(c[d>>2]|0)+20>>2]=c[e>>2]}c[f>>2]=Ok(c[d>>2]|0)|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+20>>2];f=c[f>>2]|0;l=g;return f|0}function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if(!(c[e>>2]|0)){l=g;return}b=f;d=c[b+4>>2]|0;f=(c[e>>2]|0)+16|0;c[f>>2]=c[b>>2];c[f+4>>2]=d;l=g;return}function gA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0)){a=8;break}if(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2]|0){if(!(c[d>>2]|0)){a=6;break}if(!(Ig(c[d>>2]|0,c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)>>2]|0)|0)){a=6;break}}c[g>>2]=(c[g>>2]|0)+1}if((a|0)==6){c[e>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+4>>2];g=c[e>>2]|0;l=h;return g|0}else if((a|0)==8){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function hA(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=c[d>>2]|0;if(c[(c[d>>2]|0)+216>>2]|0){d=iA(c[a+216>>2]|0)|0;l=b;return d|0}else{d=c[a+68>>2]|0;l=b;return d|0}return 0}function iA(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+8>>2]|0}function jA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+80|0;n=o+8|0;m=o;g=o+44|0;p=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;f=o+48|0;c[g>>2]=a;c[p>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>4)break;c[m>>2]=c[j>>2];Ne(24,f,30647,m)|0;if(mu(c[c[g>>2]>>2]|0,f,c[k>>2]|0)|0){p=c[g>>2]|0;d=c[h>>2]|0;e=c[i>>2]|0;c[n>>2]=c[k>>2];c[n+4>>2]=f;c[n+8>>2]=d;c[n+12>>2]=e;Qt(p,27122,n)}c[j>>2]=(c[j>>2]|0)+1}l=o;return}function kA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=l;l=l+48|0;h=e;g=e+36|0;i=e+32|0;k=e+28|0;j=e+24|0;f=e+20|0;c[g>>2]=a;c[i>>2]=b;c[k>>2]=d;c[j>>2]=Rt(c[g>>2]|0)|0;c[f>>2]=Uu(c[g>>2]|0)|0;Xt(c[j>>2]|0,130,c[i>>2]|0,c[f>>2]|0,c[k>>2]|0)|0;mv(c[g>>2]|0);d=c[g>>2]|0;j=(c[k>>2]|0)==1?23323:23342;i=c[i>>2]|0;a=c[f>>2]|0;b=c[f>>2]|0;c[h>>2]=c[(c[(c[c[g>>2]>>2]|0)+16>>2]|0)+(c[k>>2]<<4)>>2];c[h+4>>2]=j;c[h+8>>2]=i;c[h+12>>2]=a;c[h+16>>2]=b;Qt(d,30591,h);Wu(c[g>>2]|0,c[f>>2]|0);l=e;return}function lA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[g>>2]=f;c[i>>2]=c[c[q>>2]>>2];do if(!(c[i>>2]&(c[i>>2]|0)-1)){c[j>>2]=(c[i>>2]|0)==0?1:c[i>>2]<<1;f=O(c[j>>2]|0,c[p>>2]|0)|0;c[k>>2]=Pd(c[n>>2]|0,c[o>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[k>>2]|0){c[o>>2]=c[k>>2];break}c[c[g>>2]>>2]=-1;c[m>>2]=c[o>>2];q=c[m>>2]|0;l=r;return q|0}while(0);c[h>>2]=c[o>>2];n=(c[h>>2]|0)+(O(c[i>>2]|0,c[p>>2]|0)|0)|0;GR(n|0,0,c[p>>2]|0)|0;c[c[g>>2]>>2]=c[i>>2];q=c[q>>2]|0;c[q>>2]=(c[q>>2]|0)+1;c[m>>2]=c[o>>2];q=c[m>>2]|0;l=r;return q|0}function mA(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=0;c[i>>2]=0;if(c[(c[c[k>>2]>>2]|0)+24>>2]&16777216|0)c[i>>2]=Yu(c[k>>2]|0,c[m>>2]|0)|0;c[j>>2]=c[i>>2];while(1){if(!(c[j>>2]|0))break;if((d[(c[j>>2]|0)+8>>0]|0|0)==(c[n>>2]|0)?uD(c[(c[j>>2]|0)+16>>2]|0,c[o>>2]|0)|0:0)c[h>>2]=c[h>>2]|(d[(c[j>>2]|0)+9>>0]|0);c[j>>2]=c[(c[j>>2]|0)+32>>2]}if(!(c[p>>2]|0)){o=c[h>>2]|0;o=(o|0)!=0;p=c[i>>2]|0;p=o?p:0;l=q;return p|0}c[c[p>>2]>>2]=c[h>>2];o=c[h>>2]|0;o=(o|0)!=0;p=c[i>>2]|0;p=o?p:0;l=q;return p|0}function nA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;k=n+8|0;j=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;if(!((d[(c[h>>2]|0)+42>>0]|0)&16|0?!(c[(c[c[(lv(c[c[g>>2]>>2]|0,c[h>>2]|0)|0)+4>>2]>>2]|0)+52>>2]|0):0))m=3;do if((m|0)==3){if(((d[(c[h>>2]|0)+42>>0]|0)&1|0?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?(d[(c[g>>2]|0)+18>>0]|0|0)==0:0)break;if((c[i>>2]|0)==0?c[(c[h>>2]|0)+12>>2]|0:0){m=c[g>>2]|0;c[k>>2]=c[c[h>>2]>>2];Ck(m,31575,k);c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}while(0);m=c[g>>2]|0;c[j>>2]=c[c[h>>2]>>2];Ck(m,31546,j);c[f>>2]=1;m=c[f>>2]|0;l=n;return m|0}function oA(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+144|0;b[a>>1]=b[a>>1]&-17|16;l=d;return}function pA(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+128|0;L=O+108|0;M=O+104|0;N=O+100|0;n=O+96|0;t=O+92|0;u=O+88|0;v=O+84|0;k=O+80|0;w=O+76|0;x=O+72|0;y=O+68|0;m=O+64|0;z=O+60|0;A=O+56|0;B=O+52|0;C=O+48|0;D=O+44|0;r=O+40|0;E=O+36|0;F=O+32|0;G=O+28|0;s=O+24|0;q=O+20|0;H=O+16|0;I=O+12|0;o=O+8|0;p=O+4|0;J=O+112|0;K=O;c[M>>2]=f;c[N>>2]=g;c[n>>2]=h;c[t>>2]=i;c[u>>2]=j;c[v>>2]=c[c[M>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[q>>2]=0;if(!(c[n>>2]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((c[(c[M>>2]|0)+472>>2]|0)==0?(c[(c[n>>2]|0)+64>>2]|0)==0:0){if(Yu(c[M>>2]|0,c[N>>2]|0)|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(d[(c[N>>2]|0)+42>>0]&16|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((c[t>>2]|0)==10){if((b[(c[N>>2]|0)+32>>1]|0)>=0)c[t>>2]=d[(c[N>>2]|0)+43>>0];if((c[t>>2]|0)==10)c[t>>2]=2}if((c[c[(c[n>>2]|0)+28>>2]>>2]|0)!=1){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[(c[n>>2]|0)+28>>2]|0)+8+20>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+32>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+44>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+36>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+56>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+48>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[n>>2]|0)+8>>2]&1|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[k>>2]=c[c[n>>2]>>2];if((c[c[k>>2]>>2]|0)!=1){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((d[c[c[(c[k>>2]|0)+4>>2]>>2]>>0]|0)!=160){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[m>>2]=(c[(c[n>>2]|0)+28>>2]|0)+8;c[w>>2]=gu(c[M>>2]|0,0,c[m>>2]|0)|0;if(!(c[w>>2]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((c[w>>2]|0)==(c[N>>2]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(((d[(c[N>>2]|0)+42>>0]&32|0)==0|0)!=((d[(c[w>>2]|0)+42>>0]&32|0)==0|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(d[(c[w>>2]|0)+42>>0]&16|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if(c[(c[w>>2]|0)+12>>2]|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((b[(c[N>>2]|0)+34>>1]|0)!=(b[(c[w>>2]|0)+34>>1]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}if((b[(c[N>>2]|0)+32>>1]|0)!=(b[(c[w>>2]|0)+32>>1]|0)){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[z>>2]=0;a:while(1){g=c[N>>2]|0;if((c[z>>2]|0)>=(b[(c[N>>2]|0)+34>>1]|0)){f=64;break}c[o>>2]=(c[g+4>>2]|0)+(c[z>>2]<<4);c[p>>2]=(c[(c[w>>2]|0)+4>>2]|0)+(c[z>>2]<<4);if((a[(c[o>>2]|0)+13>>0]|0)!=(a[(c[p>>2]|0)+13>>0]|0)){f=52;break}if(uk(c[(c[o>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0){f=54;break}if(d[(c[o>>2]|0)+12>>0]|0?(a[(c[p>>2]|0)+12>>0]|0)==0:0){f=57;break}do if((c[z>>2]|0)>0){if(((c[(c[o>>2]|0)+4>>2]|0)==0|0)!=((c[(c[p>>2]|0)+4>>2]|0)==0|0)){f=62;break a}if(!(c[(c[o>>2]|0)+4>>2]|0))break;if(vQ(c[(c[(c[o>>2]|0)+4>>2]|0)+8>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+8>>2]|0)|0){f=62;break a}}while(0);c[z>>2]=(c[z>>2]|0)+1}if((f|0)==52){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==54){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==57){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==62){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else if((f|0)==64){c[y>>2]=c[g+8>>2];while(1){if(!(c[y>>2]|0))break;if(d[(c[y>>2]|0)+54>>0]|0)c[q>>2]=1;c[x>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;if(wD(c[y>>2]|0,c[x>>2]|0)|0)break;c[x>>2]=c[(c[x>>2]|0)+20>>2]}if(!(c[x>>2]|0)){f=73;break}c[y>>2]=c[(c[y>>2]|0)+20>>2]}if((f|0)==73){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}do if(c[(c[N>>2]|0)+24>>2]|0){if(!(dw(c[(c[w>>2]|0)+24>>2]|0,c[(c[N>>2]|0)+24>>2]|0,-1)|0))break;c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}while(0);do if(c[(c[v>>2]|0)+24>>2]&524288|0){if(!(c[(c[N>>2]|0)+16>>2]|0))break;c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}while(0);if(c[(c[v>>2]|0)+24>>2]&128|0){c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}c[A>>2]=Nt(c[v>>2]|0,c[(c[w>>2]|0)+64>>2]|0)|0;c[G>>2]=Rt(c[M>>2]|0)|0;ju(c[M>>2]|0,c[A>>2]|0);p=(c[M>>2]|0)+40|0;o=c[p>>2]|0;c[p>>2]=o+1;c[B>>2]=o;o=(c[M>>2]|0)+40|0;p=c[o>>2]|0;c[o>>2]=p+1;c[C>>2]=p;c[s>>2]=qA(c[M>>2]|0,c[u>>2]|0,c[N>>2]|0)|0;c[H>>2]=Uu(c[M>>2]|0)|0;c[I>>2]=Uu(c[M>>2]|0)|0;nx(c[M>>2]|0,c[C>>2]|0,c[u>>2]|0,c[N>>2]|0,105);do if(!(c[(c[v>>2]|0)+24>>2]&268435456)){if((b[(c[N>>2]|0)+32>>1]|0)<0){if(!(c[q>>2]|0?1:(c[(c[N>>2]|0)+8>>2]|0)!=0))f=87}else if(!(c[q>>2]|0))f=87;if((f|0)==87?!((c[t>>2]|0)!=2&(c[t>>2]|0)!=1):0)break;c[D>>2]=Wt(c[G>>2]|0,57,c[C>>2]|0,0)|0;c[E>>2]=Tt(c[G>>2]|0,13)|0;tx(c[G>>2]|0,c[D>>2]|0)}while(0);f=c[M>>2]|0;if(!(d[(c[w>>2]|0)+42>>0]&32)){nx(f,c[B>>2]|0,c[A>>2]|0,c[w>>2]|0,104);c[F>>2]=Wt(c[G>>2]|0,57,c[B>>2]|0,0)|0;do if((b[(c[N>>2]|0)+32>>1]|0)<0){f=c[G>>2]|0;if(!(c[(c[N>>2]|0)+8>>2]|0)){c[D>>2]=Wt(f,114,c[C>>2]|0,c[I>>2]|0)|0;break}else{c[D>>2]=Wt(f,123,c[B>>2]|0,c[I>>2]|0)|0;break}}else{c[D>>2]=Wt(c[G>>2]|0,123,c[B>>2]|0,c[I>>2]|0)|0;c[r>>2]=Xt(c[G>>2]|0,33,c[C>>2]|0,0,c[I>>2]|0)|0;EC(c[M>>2]|0,c[t>>2]|0,c[N>>2]|0);tx(c[G>>2]|0,c[r>>2]|0);wA(c[M>>2]|0,c[s>>2]|0,c[I>>2]|0)}while(0);Wt(c[G>>2]|0,122,c[B>>2]|0,c[H>>2]|0)|0;_t(c[G>>2]|0,115,c[C>>2]|0,c[H>>2]|0,c[I>>2]|0,c[N>>2]|0,-20)|0;px(c[G>>2]|0,11);Wt(c[G>>2]|0,7,c[B>>2]|0,c[D>>2]|0)|0;Wt(c[G>>2]|0,111,c[B>>2]|0,0)|0;Wt(c[G>>2]|0,111,c[C>>2]|0,0)|0}else{mx(f,c[u>>2]|0,c[(c[N>>2]|0)+28>>2]|0,1,c[c[N>>2]>>2]|0);mx(c[M>>2]|0,c[A>>2]|0,c[(c[w>>2]|0)+28>>2]|0,0,c[c[w>>2]>>2]|0)}c[y>>2]=c[(c[N>>2]|0)+8>>2];while(1){if(!(c[y>>2]|0))break;a[J>>0]=0;c[x>>2]=c[(c[w>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;if(wD(c[y>>2]|0,c[x>>2]|0)|0)break;c[x>>2]=c[(c[x>>2]|0)+20>>2]}Xt(c[G>>2]|0,104,c[B>>2]|0,c[(c[x>>2]|0)+44>>2]|0,c[A>>2]|0)|0;ox(c[M>>2]|0,c[x>>2]|0);Xt(c[G>>2]|0,105,c[C>>2]|0,c[(c[y>>2]|0)+44>>2]|0,c[u>>2]|0)|0;ox(c[M>>2]|0,c[y>>2]|0);px(c[G>>2]|0,1);c[D>>2]=Wt(c[G>>2]|0,57,c[B>>2]|0,0)|0;Wt(c[G>>2]|0,121,c[B>>2]|0,c[H>>2]|0)|0;do if(c[(c[v>>2]|0)+24>>2]&268435456|0){c[z>>2]=0;while(1){if((c[z>>2]|0)>=(e[(c[x>>2]|0)+52>>1]|0))break;c[K>>2]=c[(c[(c[x>>2]|0)+32>>2]|0)+(c[z>>2]<<2)>>2];if(uk(31345,c[K>>2]|0)|0)break;c[z>>2]=(c[z>>2]|0)+1}if((c[z>>2]|0)!=(e[(c[x>>2]|0)+52>>1]|0))break;a[J>>0]=16;Xt(c[G>>2]|0,53,c[C>>2]|0,0,-1)|0}while(0);do if(d[(c[w>>2]|0)+42>>0]&32|0){if((a[(c[y>>2]|0)+55>>0]&3|0)!=2)break;a[J>>0]=d[J>>0]|1}while(0);Xt(c[G>>2]|0,126,c[C>>2]|0,c[H>>2]|0,1)|0;px(c[G>>2]|0,a[J>>0]|0);Wt(c[G>>2]|0,7,c[B>>2]|0,(c[D>>2]|0)+1|0)|0;tx(c[G>>2]|0,c[D>>2]|0);Wt(c[G>>2]|0,111,c[B>>2]|0,0)|0;Wt(c[G>>2]|0,111,c[C>>2]|0,0)|0;c[y>>2]=c[(c[y>>2]|0)+20>>2]}if(c[F>>2]|0)tx(c[G>>2]|0,c[F>>2]|0);Wu(c[M>>2]|0,c[I>>2]|0);Wu(c[M>>2]|0,c[H>>2]|0);if(c[E>>2]|0){CA(c[M>>2]|0);Wt(c[G>>2]|0,75,0,0)|0;tx(c[G>>2]|0,c[E>>2]|0);Wt(c[G>>2]|0,111,c[C>>2]|0,0)|0;c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}else{c[L>>2]=1;N=c[L>>2]|0;l=O;return N|0}}}c[L>>2]=0;N=c[L>>2]|0;l=O;return N|0}function qA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;c[j>>2]=0;if((d[(c[i>>2]|0)+42>>0]|0)&8|0?(c[(c[c[g>>2]>>2]|0)+24>>2]&268435456|0)==0:0){a=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[k>>2]=a;c[m>>2]=c[(c[k>>2]|0)+120>>2];while(1){if(c[m>>2]|0)b=(c[(c[m>>2]|0)+4>>2]|0)!=(c[i>>2]|0);else b=0;a=c[m>>2]|0;if(!b)break;c[m>>2]=c[a>>2]}do if(!a){c[m>>2]=od(c[c[g>>2]>>2]|0,16,0)|0;if(c[m>>2]|0){c[c[m>>2]>>2]=c[(c[k>>2]|0)+120>>2];c[(c[k>>2]|0)+120>>2]=c[m>>2];c[(c[m>>2]|0)+4>>2]=c[i>>2];c[(c[m>>2]|0)+8>>2]=c[h>>2];h=(c[k>>2]|0)+44|0;c[h>>2]=(c[h>>2]|0)+1;h=(c[k>>2]|0)+44|0;i=(c[h>>2]|0)+1|0;c[h>>2]=i;c[(c[m>>2]|0)+12>>2]=i;k=(c[k>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+1;break}c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}while(0);c[j>>2]=c[(c[m>>2]|0)+12>>2]}c[f>>2]=c[j>>2];m=c[f>>2]|0;l=n;return m|0}function rA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;kx(c[f>>2]|0,73,c[g>>2]|0)|0;a[(c[(c[f>>2]|0)+12>>2]|0)+19>>0]=0;c[(c[(c[f>>2]|0)+12>>2]|0)+28>>2]=0;l=e;return}function sA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+40|0;f=r+36|0;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[f>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=Rt(c[f>>2]|0)|0;c[p>>2]=Vu(c[n>>2]|0)|0;if((d[(c[m>>2]|0)+42>>0]|0)&16|0)a=lv(c[c[f>>2]>>2]|0,c[m>>2]|0)|0;else a=0;c[g>>2]=a;c[o>>2]=1;a:while(1){if((c[o>>2]|0)>=(c[p>>2]|0)){a=18;break}c[h>>2]=Ax(c[n>>2]|0,c[o>>2]|0)|0;b:do if((d[c[h>>2]>>0]|0|0)==104?(c[(c[h>>2]|0)+12>>2]|0)==(c[k>>2]|0):0){c[j>>2]=c[(c[h>>2]|0)+8>>2];if((c[j>>2]|0)==(c[(c[m>>2]|0)+28>>2]|0)){a=8;break a}c[i>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[i>>2]|0))break b;if((c[j>>2]|0)==(c[(c[i>>2]|0)+44>>2]|0)){a=12;break a}c[i>>2]=c[(c[i>>2]|0)+20>>2]}}while(0);if((d[c[h>>2]>>0]|0|0)==155?(c[(c[h>>2]|0)+16>>2]|0)==(c[g>>2]|0):0){a=16;break}c[o>>2]=(c[o>>2]|0)+1}if((a|0)==8){c[q>>2]=1;q=c[q>>2]|0;l=r;return q|0}else if((a|0)==12){c[q>>2]=1;q=c[q>>2]|0;l=r;return q|0}else if((a|0)==16){c[q>>2]=1;q=c[q>>2]|0;l=r;return q|0}else if((a|0)==18){c[q>>2]=0;q=c[q>>2]|0;l=r;return q|0}return 0}function tA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;j=e+16|0;g=e+12|0;h=e+8|0;i=e+4|0;f=e;c[j>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=c[(c[j>>2]|0)+8>>2];ay(c[j>>2]|0,c[g>>2]|0,c[h>>2]|0);b=(c[j>>2]|0)+44|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[f>>2]=d;Wt(c[i>>2]|0,84,c[h>>2]|0,c[f>>2]|0)|0;sy(c[g>>2]|0,c[f>>2]|0);l=e;return}function uA(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;i=n;c[g>>2]=d;c[h>>2]=e;c[j>>2]=f;c[m>>2]=c[(c[h>>2]|0)+20>>2];if(!(c[m>>2]|0)){c[i>>2]=Mr(c[g>>2]|0)|0;f=(b[(c[h>>2]|0)+34>>1]|0)+1|0;c[m>>2]=md(0,f,((f|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){yd(c[i>>2]|0);l=n;return}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[h>>2]|0)+34>>1]|0))break;a[(c[m>>2]|0)+(c[k>>2]|0)>>0]=a[(c[(c[h>>2]|0)+4>>2]|0)+(c[k>>2]<<4)+13>>0]|0;c[k>>2]=(c[k>>2]|0)+1}do{f=c[m>>2]|0;i=c[k>>2]|0;c[k>>2]=i+-1;a[f+i>>0]=0;if((c[k>>2]|0)<0)break}while((a[(c[m>>2]|0)+(c[k>>2]|0)>>0]|0)==65);c[(c[h>>2]|0)+20>>2]=c[m>>2]}c[k>>2]=_c(c[m>>2]|0)|0;if(!(c[k>>2]|0)){l=n;return}d=c[g>>2]|0;if(c[j>>2]|0){_t(d,98,c[j>>2]|0,c[k>>2]|0,0,c[m>>2]|0,c[k>>2]|0)|0;l=n;return}else{$t(d,-1,c[m>>2]|0,c[k>>2]|0);l=n;return}}function vA(a,b,e,f,g,h,i,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;u=v+36|0;w=v+32|0;m=v+28|0;n=v+24|0;o=v+20|0;p=v+16|0;q=v+12|0;r=v+8|0;s=v+4|0;t=v;c[u>>2]=a;c[w>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=c[w>>2];while(1){if(!(c[t>>2]|0))break;if(((d[(c[t>>2]|0)+8>>0]|0|0)==(c[m>>2]|0)?(d[(c[t>>2]|0)+9>>0]|0|0)==(c[o>>2]|0):0)?uD(c[(c[t>>2]|0)+16>>2]|0,c[n>>2]|0)|0:0)NC(c[u>>2]|0,c[t>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0);c[t>>2]=c[(c[t>>2]|0)+32>>2]}l=v;return}function wA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){l=h;return}Wt(c[(c[e>>2]|0)+8>>2]|0,145,c[f>>2]|0,c[g>>2]|0)|0;l=h;return}function xA(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if(d[(c[f>>2]|0)+23>>0]|0|0?ky(c[g>>2]|0)|0:0){Hy(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,0);l=i;return}ay(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0);l=i;return}function yA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;d=j+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[k>>2]=a;c[d>>2]=b;a=c[k>>2]|0;if(c[(c[k>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[e>>2]=a;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;if((c[d>>2]|0)==(c[(c[(c[e>>2]|0)+460>>2]|0)+(c[f>>2]<<2)>>2]|0)){i=10;break}c[f>>2]=(c[f>>2]|0)+1}if((i|0)==10){l=j;return}c[g>>2]=(c[(c[e>>2]|0)+412>>2]|0)+1<<2;k=c[g>>2]|0;c[h>>2]=Qd(c[(c[e>>2]|0)+460>>2]|0,k,((k|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+460>>2]=c[h>>2];h=c[d>>2]|0;i=c[(c[e>>2]|0)+460>>2]|0;g=(c[e>>2]|0)+412|0;k=c[g>>2]|0;c[g>>2]=k+1;c[i+(k<<2)>>2]=h;l=j;return}else{yd(c[c[e>>2]>>2]|0);l=j;return}}function zA(f,g,h,i,j,k,m,n,o,p,q,r){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0;na=l;l=l+192|0;C=na;E=na+176|0;F=na+172|0;G=na+168|0;H=na+164|0;I=na+160|0;J=na+156|0;K=na+152|0;L=na+183|0;M=na+182|0;N=na+148|0;O=na+144|0;s=na+140|0;P=na+136|0;Q=na+132|0;R=na+128|0;S=na+124|0;T=na+120|0;U=na+116|0;t=na+112|0;V=na+108|0;u=na+104|0;W=na+100|0;X=na+96|0;Y=na+92|0;Z=na+88|0;_=na+181|0;$=na+180|0;aa=na+84|0;v=na+80|0;w=na+76|0;x=na+72|0;y=na+68|0;z=na+64|0;A=na+60|0;B=na+56|0;ba=na+52|0;ca=na+48|0;da=na+44|0;ea=na+40|0;fa=na+36|0;ga=na+32|0;ha=na+28|0;ia=na+24|0;ja=na+20|0;ka=na+16|0;la=na+12|0;ma=na+8|0;c[E>>2]=f;c[F>>2]=g;c[G>>2]=h;c[H>>2]=i;c[I>>2]=j;c[J>>2]=k;c[K>>2]=m;a[L>>0]=n;a[M>>0]=o;c[N>>2]=p;c[O>>2]=q;c[s>>2]=r;c[R>>2]=0;c[W>>2]=0;c[Y>>2]=0;c[Z>>2]=0;a[$>>0]=0;c[aa>>2]=-1;a[_>>0]=(c[K>>2]|0)!=0;c[S>>2]=c[c[E>>2]>>2];c[P>>2]=Rt(c[E>>2]|0)|0;c[t>>2]=b[(c[F>>2]|0)+34>>1];if(!(d[(c[F>>2]|0)+42>>0]&32)){c[R>>2]=0;c[X>>2]=1}else{c[R>>2]=Au(c[F>>2]|0)|0;c[X>>2]=e[(c[R>>2]|0)+50>>1]}c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[t>>2]|0))break;a:do if((c[T>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0)){if(c[s>>2]|0?(c[(c[s>>2]|0)+(c[T>>2]<<2)>>2]|0)<0:0)break;c[V>>2]=d[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+12>>0];if(c[V>>2]|0){if((d[M>>0]|0)==10){if((c[V>>2]|0)==10)c[V>>2]=2}else c[V>>2]=d[M>>0];if((c[V>>2]|0)==5?(c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0)==0:0)c[V>>2]=2;switch(c[V>>2]|0){case 2:{mv(c[E>>2]|0);break}case 3:case 1:break;case 4:{Wt(c[P>>2]|0,34,(c[J>>2]|0)+1+(c[T>>2]|0)|0,c[N>>2]|0)|0;break a}default:{c[u>>2]=kx(c[P>>2]|0,35,(c[J>>2]|0)+1+(c[T>>2]|0)|0)|0;ay(c[E>>2]|0,c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)+4>>2]|0,(c[J>>2]|0)+1+(c[T>>2]|0)|0);tx(c[P>>2]|0,c[u>>2]|0);break a}}p=c[S>>2]|0;o=c[(c[(c[F>>2]|0)+4>>2]|0)+(c[T>>2]<<4)>>2]|0;c[C>>2]=c[c[F>>2]>>2];c[C+4>>2]=o;c[v>>2]=Bj(p,26470,C)|0;_t(c[P>>2]|0,74,1299,c[V>>2]|0,(c[J>>2]|0)+1+(c[T>>2]|0)|0,c[v>>2]|0,-1)|0;px(c[P>>2]|0,1)}}while(0);c[T>>2]=(c[T>>2]|0)+1}b:do if(c[(c[F>>2]|0)+24>>2]|0?(c[(c[S>>2]|0)+24>>2]&8192|0)==0:0){c[w>>2]=c[(c[F>>2]|0)+24>>2];c[(c[E>>2]|0)+56>>2]=(c[J>>2]|0)+1;c[V>>2]=(d[M>>0]|0)!=10?d[M>>0]|0:2;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(c[c[w>>2]>>2]|0))break b;c[y>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2];if(!(c[s>>2]|0?(DC(c[y>>2]|0,c[s>>2]|0,d[L>>0]|0)|0)!=0:0)){c[x>>2]=qx(c[P>>2]|0)|0;uy(c[E>>2]|0,c[y>>2]|0,c[x>>2]|0,16);if((c[V>>2]|0)==4)sx(c[P>>2]|0,c[N>>2]|0)|0;else{c[z>>2]=c[(c[(c[w>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)+4>>2];if(!(c[z>>2]|0))c[z>>2]=c[c[F>>2]>>2];if((c[V>>2]|0)==5)c[V>>2]=2;Nx(c[E>>2]|0,275,c[V>>2]|0,c[z>>2]|0,0,3)}ux(c[P>>2]|0,c[x>>2]|0)}c[T>>2]=(c[T>>2]|0)+1}}while(0);if((d[L>>0]|0)!=0&(c[R>>2]|0)==0){c[A>>2]=qx(c[P>>2]|0)|0;c[V>>2]=d[(c[F>>2]|0)+43>>0];if((d[M>>0]|0)==10){if((c[V>>2]|0)==10)c[V>>2]=2}else c[V>>2]=d[M>>0];if(a[_>>0]|0){Xt(c[P>>2]|0,37,c[J>>2]|0,c[A>>2]|0,c[K>>2]|0)|0;px(c[P>>2]|0,-112)}c:do if((c[V>>2]|0)==5?(d[M>>0]|0)!=5:0){c[Q>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break c;if((d[(c[Q>>2]|0)+54>>0]|0)==4)break;if((d[(c[Q>>2]|0)+54>>0]|0)==3)break;c[Q>>2]=c[(c[Q>>2]|0)+20>>2]}c[Y>>2]=Tt(c[P>>2]|0,13)|0}while(0);Xt(c[P>>2]|0,33,c[H>>2]|0,c[A>>2]|0,c[J>>2]|0)|0;switch(c[V>>2]|0){case 3:case 2:case 1:{D=55;break}case 5:{c[B>>2]=0;if(c[(c[S>>2]|0)+24>>2]&262144|0)c[B>>2]=mA(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;if(!(c[B>>2]|0)?!(FC(c[E>>2]|0,c[F>>2]|0,0,0)|0):0){if(c[(c[F>>2]|0)+8>>2]|0){GC(c[E>>2]|0);IC(c[E>>2]|0,c[F>>2]|0,c[H>>2]|0,c[I>>2]|0,0,-1)}}else{GC(c[E>>2]|0);HC(c[E>>2]|0,c[F>>2]|0,c[B>>2]|0,c[H>>2]|0,c[I>>2]|0,c[J>>2]|0,1,0,5,1,-1)}c[W>>2]=1;break}case 4:{sx(c[P>>2]|0,c[N>>2]|0)|0;break}default:{c[V>>2]=2;D=55}}if((D|0)==55)EC(c[E>>2]|0,c[V>>2]|0,c[F>>2]|0);ux(c[P>>2]|0,c[A>>2]|0);if(c[Y>>2]|0){c[Z>>2]=Tt(c[P>>2]|0,13)|0;tx(c[P>>2]|0,c[Y>>2]|0)}}c[U>>2]=0;c[Q>>2]=c[(c[F>>2]|0)+8>>2];while(1){if(!(c[Q>>2]|0))break;do if(c[(c[G>>2]|0)+(c[U>>2]<<2)>>2]|0){if(!(d[$>>0]|0)){uA(c[P>>2]|0,c[F>>2]|0,(c[J>>2]|0)+1|0);a[$>>0]=1}c[da>>2]=(c[I>>2]|0)+(c[U>>2]|0);c[ea>>2]=qx(c[P>>2]|0)|0;if(c[(c[Q>>2]|0)+36>>2]|0){Wt(c[P>>2]|0,79,0,c[(c[G>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;c[(c[E>>2]|0)+56>>2]=(c[J>>2]|0)+1;Rx(c[E>>2]|0,c[(c[Q>>2]|0)+36>>2]|0,c[ea>>2]|0,16);c[(c[E>>2]|0)+56>>2]=0}c[ba>>2]=Sx(c[E>>2]|0,e[(c[Q>>2]|0)+52>>1]|0)|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[Q>>2]|0)+52>>1]|0))break;c[fa>>2]=b[(c[(c[Q>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];do if((c[fa>>2]|0)==-2){c[(c[E>>2]|0)+56>>2]=(c[J>>2]|0)+1;Yx(c[E>>2]|0,c[(c[(c[(c[Q>>2]|0)+40>>2]|0)+4>>2]|0)+((c[T>>2]|0)*20|0)>>2]|0,(c[ba>>2]|0)+(c[T>>2]|0)|0);c[(c[E>>2]|0)+56>>2]=0}else{if((c[fa>>2]|0)!=-1?(c[fa>>2]|0)!=(b[(c[F>>2]|0)+32>>1]|0):0)c[ga>>2]=(c[fa>>2]|0)+(c[J>>2]|0)+1;else{if((c[aa>>2]|0)==((c[ba>>2]|0)+(c[T>>2]|0)|0))break;c[ga>>2]=c[J>>2];if(c[(c[Q>>2]|0)+36>>2]|0)f=-1;else f=(c[ba>>2]|0)+(c[T>>2]|0)|0;c[aa>>2]=f}Wt(c[P>>2]|0,(c[fa>>2]|0)<0?86:85,c[ga>>2]|0,(c[ba>>2]|0)+(c[T>>2]|0)|0)|0}while(0);c[T>>2]=(c[T>>2]|0)+1}Xt(c[P>>2]|0,99,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0,c[(c[G>>2]|0)+(c[U>>2]<<2)>>2]|0)|0;fy(c[E>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0);if((d[_>>0]|0?(c[R>>2]|0)==(c[Q>>2]|0):0)?(d[L>>0]|0)==0:0){ux(c[P>>2]|0,c[ea>>2]|0);break}c[V>>2]=d[(c[Q>>2]|0)+54>>0];if(!(c[V>>2]|0)){Vx(c[E>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0);ux(c[P>>2]|0,c[ea>>2]|0);break}if((d[M>>0]|0)==10){if((c[V>>2]|0)==10)c[V>>2]=2}else c[V>>2]=d[M>>0];Fx(c[P>>2]|0,29,c[da>>2]|0,c[ea>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+50>>1]|0)|0;if((c[Q>>2]|0)==(c[R>>2]|0))f=c[ba>>2]|0;else f=Sx(c[E>>2]|0,c[X>>2]|0)|0;c[ca>>2]=f;d:do if((d[_>>0]|0)!=0|(c[V>>2]|0)==5){if(!(d[(c[F>>2]|0)+42>>0]&32)){Wt(c[P>>2]|0,129,c[da>>2]|0,c[ca>>2]|0)|0;if(!(a[_>>0]|0))break;Xt(c[P>>2]|0,37,c[ca>>2]|0,c[ea>>2]|0,c[K>>2]|0)|0;px(c[P>>2]|0,-112);break}e:do if((c[Q>>2]|0)!=(c[R>>2]|0)){c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[R>>2]|0)+50>>1]|0))break e;c[ha>>2]=(_x(c[Q>>2]|0,b[(c[(c[R>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1]|0)|0)<<16>>16;Xt(c[P>>2]|0,96,c[da>>2]|0,c[ha>>2]|0,(c[ca>>2]|0)+(c[T>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(a[_>>0]|0){D=Vu(c[P>>2]|0)|0;c[ia>>2]=D+(e[(c[R>>2]|0)+50>>1]|0);c[ja>>2]=36;c[ka>>2]=(a[(c[Q>>2]|0)+55>>0]&3|0)==2?c[ba>>2]|0:c[ca>>2]|0;c[T>>2]=0;while(1){if((c[T>>2]|0)>=(e[(c[R>>2]|0)+50>>1]|0))break d;c[la>>2]=rx(c[E>>2]|0,c[(c[(c[R>>2]|0)+32>>2]|0)+(c[T>>2]<<2)>>2]|0)|0;c[ha>>2]=b[(c[(c[R>>2]|0)+4>>2]|0)+(c[T>>2]<<1)>>1];if((c[T>>2]|0)==((e[(c[R>>2]|0)+50>>1]|0)-1|0)){c[ia>>2]=c[ea>>2];c[ja>>2]=37}_t(c[P>>2]|0,c[ja>>2]|0,(c[K>>2]|0)+1+(c[ha>>2]|0)|0,c[ia>>2]|0,(c[ka>>2]|0)+(c[T>>2]|0)|0,c[la>>2]|0,-4)|0;px(c[P>>2]|0,-112);c[T>>2]=(c[T>>2]|0)+1}}}while(0);switch(c[V>>2]|0){case 3:case 2:case 1:{Mx(c[E>>2]|0,c[V>>2]|0,c[Q>>2]|0);break}case 4:{sx(c[P>>2]|0,c[N>>2]|0)|0;break}default:{c[ma>>2]=0;GC(c[E>>2]|0);if(c[(c[S>>2]|0)+24>>2]&262144|0)c[ma>>2]=mA(c[E>>2]|0,c[F>>2]|0,109,0,0)|0;HC(c[E>>2]|0,c[F>>2]|0,c[ma>>2]|0,c[H>>2]|0,c[I>>2]|0,c[ca>>2]|0,c[X>>2]&65535,0,5,((c[Q>>2]|0)==(c[R>>2]|0)?1:0)&255,-1);c[W>>2]=1}}ux(c[P>>2]|0,c[ea>>2]|0);Vx(c[E>>2]|0,c[ba>>2]|0,e[(c[Q>>2]|0)+52>>1]|0);if((c[ca>>2]|0)!=(c[ba>>2]|0))Vx(c[E>>2]|0,c[ca>>2]|0,c[X>>2]|0)}while(0);c[Q>>2]=c[(c[Q>>2]|0)+20>>2];c[U>>2]=(c[U>>2]|0)+1}if(!(c[Y>>2]|0)){la=c[W>>2]|0;ma=c[O>>2]|0;c[ma>>2]=la;l=na;return}sx(c[P>>2]|0,(c[Y>>2]|0)+1|0)|0;tx(c[P>>2]|0,c[Z>>2]|0);la=c[W>>2]|0;ma=c[O>>2]|0;c[ma>>2]=la;l=na;return}function AA(e,f,g,h,i,j){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+112|0;J=O+108|0;K=O+104|0;L=O+100|0;M=O+96|0;k=O+92|0;m=O+88|0;n=O+84|0;o=O+80|0;p=O+76|0;q=O+72|0;r=O+68|0;s=O+64|0;t=O+60|0;u=O+56|0;v=O+52|0;w=O+48|0;x=O+44|0;y=O+40|0;z=O+36|0;A=O+32|0;B=O+28|0;C=O+24|0;D=O+20|0;E=O+16|0;F=O+12|0;G=O+8|0;H=O+4|0;I=O;c[J>>2]=e;c[K>>2]=f;c[L>>2]=g;c[M>>2]=h;c[k>>2]=i;c[m>>2]=j;c[n>>2]=c[c[J>>2]>>2];c[r>>2]=d[(c[J>>2]|0)+150>>0];if(!(c[(c[n>>2]|0)+24>>2]&524288)){l=O;return}c[p>>2]=Nt(c[n>>2]|0,c[(c[K>>2]|0)+64>>2]|0)|0;c[q>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[o>>2]=c[(c[K>>2]|0)+16>>2];a:while(1){if(!(c[o>>2]|0)){N=39;break}c[t>>2]=0;c[u>>2]=0;c[y>>2]=0;if(!((c[k>>2]|0?uk(c[c[K>>2]>>2]|0,c[(c[o>>2]|0)+8>>2]|0)|0:0)?!(EA(c[K>>2]|0,c[o>>2]|0,c[k>>2]|0,c[m>>2]|0)|0):0))N=7;do if((N|0)==7){N=0;if(a[(c[J>>2]|0)+150>>0]|0)c[s>>2]=mu(c[n>>2]|0,c[(c[o>>2]|0)+8>>2]|0,c[q>>2]|0)|0;else c[s>>2]=ku(c[J>>2]|0,0,c[(c[o>>2]|0)+8>>2]|0,c[q>>2]|0)|0;if(c[s>>2]|0?(Hz(c[J>>2]|0,c[s>>2]|0,c[o>>2]|0,t,u)|0)==0:0){if(c[u>>2]|0)c[v>>2]=c[u>>2];else{c[w>>2]=c[(c[o>>2]|0)+36>>2];c[v>>2]=w}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;if((c[(c[v>>2]|0)+(c[x>>2]<<2)>>2]|0)==(b[(c[K>>2]|0)+32>>1]|0))c[(c[v>>2]|0)+(c[x>>2]<<2)>>2]=-1;if(c[(c[n>>2]|0)+296>>2]|0){if(c[t>>2]|0)e=b[(c[(c[t>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0;else e=b[(c[s>>2]|0)+32>>1]|0;c[D>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2];c[C>>2]=Ew(c[J>>2]|0,c[c[s>>2]>>2]|0,c[D>>2]|0,c[p>>2]|0)|0;c[y>>2]=(c[C>>2]|0)==2&1}c[x>>2]=(c[x>>2]|0)+1}mx(c[J>>2]|0,c[p>>2]|0,c[(c[s>>2]|0)+28>>2]|0,0,c[c[s>>2]>>2]|0);j=(c[J>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;if(c[L>>2]|0)FA(c[J>>2]|0,c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[o>>2]|0,c[v>>2]|0,c[L>>2]|0,-1,c[y>>2]|0);if(c[M>>2]|0?(GA(c[J>>2]|0,c[o>>2]|0)|0)==0:0)FA(c[J>>2]|0,c[p>>2]|0,c[s>>2]|0,c[t>>2]|0,c[o>>2]|0,c[v>>2]|0,c[M>>2]|0,1,c[y>>2]|0);Hd(c[n>>2]|0,c[u>>2]|0);break}if(!(c[r>>2]|0)){N=59;break a}if(d[(c[n>>2]|0)+69>>0]|0){N=59;break a}if(!(c[s>>2]|0)){c[z>>2]=Rt(c[J>>2]|0)|0;j=Vu(c[z>>2]|0)|0;c[A>>2]=j+(c[(c[o>>2]|0)+20>>2]|0)+1;c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[o>>2]|0)+20>>2]|0))break;c[B>>2]=(c[(c[o>>2]|0)+36+(c[x>>2]<<3)>>2]|0)+(c[L>>2]|0)+1;Wt(c[z>>2]|0,34,c[B>>2]|0,c[A>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}Wt(c[z>>2]|0,144,d[(c[o>>2]|0)+24>>0]|0,-1)|0}}while(0);c[o>>2]=c[(c[o>>2]|0)+4>>2]}if((N|0)==39){c[o>>2]=ov(c[K>>2]|0)|0;b:while(1){if(!(c[o>>2]|0)){N=59;break}c[E>>2]=0;c[G>>2]=0;if(!(c[k>>2]|0?!(HA(c[K>>2]|0,c[o>>2]|0,c[k>>2]|0,c[m>>2]|0)|0):0))N=43;do if((N|0)==43){N=0;if((((a[(c[o>>2]|0)+24>>0]|0)==0?(c[(c[n>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[J>>2]|0)+124>>2]|0)==0:0)?(a[(c[J>>2]|0)+20>>0]|0)==0:0)break;if(Hz(c[J>>2]|0,c[K>>2]|0,c[o>>2]|0,E,G)|0){if(!(c[r>>2]|0)){N=59;break b}if(d[(c[n>>2]|0)+69>>0]|0){N=59;break b}else break}c[F>>2]=Rs(c[n>>2]|0,0,0,0)|0;if(c[F>>2]|0){c[H>>2]=(c[F>>2]|0)+8;c[(c[H>>2]|0)+16>>2]=c[c[o>>2]>>2];c[(c[H>>2]|0)+8>>2]=c[c[c[o>>2]>>2]>>2];C=(c[(c[H>>2]|0)+16>>2]|0)+36|0;b[C>>1]=(b[C>>1]|0)+1<<16>>16;C=(c[J>>2]|0)+40|0;D=c[C>>2]|0;c[C>>2]=D+1;c[(c[H>>2]|0)+44>>2]=D;if(c[M>>2]|0)IA(c[J>>2]|0,c[F>>2]|0,c[K>>2]|0,c[E>>2]|0,c[o>>2]|0,c[G>>2]|0,c[M>>2]|0,-1);if(c[L>>2]|0?(c[I>>2]=d[(c[o>>2]|0)+25+((c[k>>2]|0)!=0&1)>>0],IA(c[J>>2]|0,c[F>>2]|0,c[K>>2]|0,c[E>>2]|0,c[o>>2]|0,c[G>>2]|0,c[L>>2]|0,1),((c[I>>2]|0)!=9?(a[(c[o>>2]|0)+24>>0]|0)==0:0)&(c[I>>2]|0)!=7):0)mv(c[J>>2]|0);c[(c[H>>2]|0)+8>>2]=0;fk(c[n>>2]|0,c[F>>2]|0)}Hd(c[n>>2]|0,c[G>>2]|0)}while(0);c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((N|0)==59){l=O;return}}else if((N|0)==59){l=O;return}}function BA(e,f,g,h,i,j,k,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+64|0;D=E+52|0;o=E+48|0;p=E+44|0;q=E+40|0;r=E+36|0;s=E+32|0;t=E+28|0;u=E+24|0;v=E+20|0;w=E+16|0;x=E+12|0;y=E+57|0;z=E+8|0;A=E+4|0;B=E;C=E+56|0;c[D>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=m;c[v>>2]=n;a[C>>0]=0;c[w>>2]=Rt(c[D>>2]|0)|0;c[B>>2]=0;c[x>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[x>>2]|0))break;if(c[(c[s>>2]|0)+(c[B>>2]<<2)>>2]|0){a[C>>0]=1;if(c[(c[x>>2]|0)+36>>2]|0){m=c[w>>2]|0;n=c[(c[s>>2]|0)+(c[B>>2]<<2)>>2]|0;Wt(m,34,n,(Vu(c[w>>2]|0)|0)+2|0)|0}Wt(c[w>>2]|0,126,(c[q>>2]|0)+(c[B>>2]|0)|0,c[(c[s>>2]|0)+(c[B>>2]<<2)>>2]|0)|0;a[y>>0]=0;a[y>>0]=c[v>>2]|0?16:0;if((a[(c[x>>2]|0)+55>>0]&3|0)==2?d[(c[o>>2]|0)+42>>0]&32|0:0)a[y>>0]=d[y>>0]|1;px(c[w>>2]|0,a[y>>0]|0)}c[x>>2]=c[(c[x>>2]|0)+20>>2];c[B>>2]=(c[B>>2]|0)+1}if(d[(c[o>>2]|0)+42>>0]&32|0){l=E;return}c[z>>2]=(c[r>>2]|0)+1;c[A>>2]=Uu(c[D>>2]|0)|0;Xt(c[w>>2]|0,99,c[z>>2]|0,b[(c[o>>2]|0)+34>>1]|0,c[A>>2]|0)|0;if(!(a[C>>0]|0))uA(c[w>>2]|0,c[o>>2]|0,0);fy(c[D>>2]|0,c[z>>2]|0,b[(c[o>>2]|0)+34>>1]|0);if(a[(c[D>>2]|0)+18>>0]|0)a[y>>0]=0;else{a[y>>0]=1;a[y>>0]=d[y>>0]|(c[t>>2]|0?4:2)}if(c[u>>2]|0)a[y>>0]=d[y>>0]|8;if(c[v>>2]|0)a[y>>0]=d[y>>0]|16;Xt(c[w>>2]|0,115,c[p>>2]|0,c[A>>2]|0,c[r>>2]|0)|0;if(!(a[(c[D>>2]|0)+18>>0]|0))$t(c[w>>2]|0,-1,c[o>>2]|0,-20);px(c[w>>2]|0,a[y>>0]|0);l=E;return}function CA(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+120>>2]|0)){l=d;return}DA(c[b>>2]|0);l=d;return}function DA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];c[g>>2]=c[c[d>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[e>>2]|0)){b=5;break}c[i>>2]=(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[e>>2]|0)+8>>2]<<4);c[k>>2]=c[(c[e>>2]|0)+12>>2];c[j>>2]=Uu(c[d>>2]|0)|0;nx(c[d>>2]|0,0,c[(c[e>>2]|0)+8>>2]|0,c[(c[(c[i>>2]|0)+12>>2]|0)+72>>2]|0,105);c[h>>2]=sz(c[f>>2]|0,5,30890,0)|0;if(!(c[h>>2]|0)){b=5;break}c[(c[h>>2]|0)+4>>2]=(c[k>>2]|0)+1;c[(c[h>>2]|0)+20+8>>2]=(c[k>>2]|0)+1;c[(c[h>>2]|0)+40+4>>2]=(c[k>>2]|0)-1;c[(c[h>>2]|0)+40+12>>2]=c[j>>2];c[(c[h>>2]|0)+60+8>>2]=c[j>>2];c[(c[h>>2]|0)+60+12>>2]=(c[k>>2]|0)+1;a[(c[h>>2]|0)+60+3>>0]=8;Wu(c[d>>2]|0,c[j>>2]|0);c[e>>2]=c[c[e>>2]>>2]}if((b|0)==5){l=m;return}}function EA(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;g=o;c[h>>2]=a;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0)){a=8;break}c[g>>2]=c[(c[i>>2]|0)+36+(c[m>>2]<<3)>>2];if((c[(c[j>>2]|0)+(c[g>>2]<<2)>>2]|0)>=0){a=4;break}if(c[k>>2]|0?(c[g>>2]|0)==(b[(c[h>>2]|0)+32>>1]|0):0){a=6;break}c[m>>2]=(c[m>>2]|0)+1}if((a|0)==4){c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else if((a|0)==6){c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else if((a|0)==8){c[n>>2]=0;n=c[n>>2]|0;l=o;return n|0}return 0} +function Bb(a){a=a|0;var b=0;b=l;l=l+a|0;l=l+15&-16;return b|0}function Cb(){return l|0}function Db(a){a=a|0;l=a}function Eb(a,b){a=a|0;b=b|0;l=a;m=b}function Fb(a,b){a=a|0;b=b|0;if(!o){o=a;p=b}}function Gb(a){a=a|0;z=a}function Hb(){return z|0}function Ib(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=40)break;c[g>>2]=0;switch(d[328+((c[f>>2]|0)*12|0)+5>>0]|0){case 1:{c[g>>2]=c[e>>2];break}case 2:{c[g>>2]=-1;break}default:{}}TI(c[e>>2]|0,c[328+((c[f>>2]|0)*12|0)>>2]|0,a[328+((c[f>>2]|0)*12|0)+4>>0]|0,d[328+((c[f>>2]|0)*12|0)+6>>0]|0,c[g>>2]|0,c[328+((c[f>>2]|0)*12|0)+8>>2]|0,0,0)|0;c[f>>2]=(c[f>>2]|0)+1}c[f>>2]=0;while(1){if((c[f>>2]|0)>>>0>=6)break;c[h>>2]=0;switch(d[808+(c[f>>2]<<4)+5>>0]|0){case 1:{c[h>>2]=c[e>>2];break}case 2:{c[h>>2]=-1;break}default:{}}TI(c[e>>2]|0,c[808+(c[f>>2]<<4)>>2]|0,a[808+(c[f>>2]<<4)+4>>0]|0,1,c[h>>2]|0,0,c[808+(c[f>>2]<<4)+8>>2]|0,c[808+(c[f>>2]<<4)+12>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}l=i;return 0}function Jb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,378,16110);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+H(+(+h[g>>3]));k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Kb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,379,16119);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+I(+(+h[g>>3]));k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Lb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,380,16128);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+J(+(+h[g>>3]));k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Mb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[i>>3]=0.0;if((c[k>>2]|0)!=2)Ea(16137,16086,570,16145);if((fi(c[c[f>>2]>>2]|0)|0)!=5?(fi(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+mi(c[c[f>>2]>>2]|0);h[i>>3]=+mi(c[(c[f>>2]|0)+4>>2]|0);hi(c[e>>2]|0,+K(+(+h[g>>3]),+(+h[i>>3])));l=j;return}Ui(c[e>>2]|0);l=j;return}function Nb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,394,16154);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+LQ(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Ob(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,402,16164);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+GQ(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Pb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,410,16174);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+OQ(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Qb(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;j=o+32|0;p=o+28|0;k=o+24|0;m=o+20|0;n=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;i=o;c[j>>2]=b;c[p>>2]=d;c[k>>2]=e;c[m>>2]=o+48;c[n>>2]=o+40;c[f>>2]=0;c[g>>2]=0;if((c[p>>2]|0)!=2)Ea(16137,16086,1680,16184);if((fi(c[c[k>>2]>>2]|0)|0)!=5?(fi(c[(c[k>>2]|0)+4>>2]|0)|0)!=5:0){c[h>>2]=wh(c[c[k>>2]>>2]|0)|0;c[i>>2]=wh(c[(c[k>>2]|0)+4>>2]|0)|0;Mc(c[h>>2]|0,c[m>>2]|0);Mc(c[i>>2]|0,c[n>>2]|0);c[g>>2]=0;while(1){if((c[g>>2]|0)>=4)break;p=Nc(c[m>>2]|0)|0;if((p|0)==(Nc(c[n>>2]|0)|0))c[f>>2]=(c[f>>2]|0)+1;do{p=(c[m>>2]|0)+1|0;c[m>>2]=p}while((192&a[p>>0]|0)==128);do{p=(c[n>>2]|0)+1|0;c[n>>2]=p}while((192&a[p>>0]|0)==128);c[g>>2]=(c[g>>2]|0)+1}Ch(c[j>>2]|0,c[f>>2]|0);l=o;return}Ui(c[j>>2]|0);l=o;return}function Rb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,498,16588);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+Oc(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Sb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,499,16600);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+Pc(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Tb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,420,16612);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+E(+(+h[g>>3]));k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Ub(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,419,16620);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+F(+(+h[g>>3]));k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Vb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,421,16628);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+G(+(+h[g>>3]));k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Wb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,422,16636);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+Qc(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Xb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,446,16644);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+PQ(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Yb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,438,16653);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+MQ(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function Zb(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,454,16662);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+KQ(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function _b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,456,16671);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+Rc(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function $b(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,474,16680);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+L(+(+h[g>>3]));k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function ac(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,472,16688);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+M(+(+h[g>>3]));k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function bc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,473,16696);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+FQ(+h[g>>3]);k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;e=k+32|0;m=k+28|0;f=k+24|0;g=k+16|0;i=k+8|0;j=k;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;h[g>>3]=0.0;h[i>>3]=0.0;if((c[m>>2]|0)!=2)Ea(16137,16086,546,16706);if((fi(c[c[f>>2]>>2]|0)|0)!=5?(fi(c[(c[f>>2]|0)+4>>2]|0)|0)!=5:0){h[g>>3]=+mi(c[c[f>>2]>>2]|0);h[i>>3]=+mi(c[(c[f>>2]|0)+4>>2]|0);c[(_P()|0)>>2]=0;h[j>>3]=+D(+(+h[g>>3]),+(+h[i>>3]));m=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(m){hi(a,+h[j>>3]);l=k;return}else{m=oQ(c[(_P()|0)>>2]|0)|0;yh(a,m,c[(_P()|0)>>2]|0);l=k;return}}Ui(c[e>>2]|0);l=k;return}function dc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;i=j+24|0;k=j+20|0;e=j+16|0;f=j+8|0;g=j;c[i>>2]=a;c[k>>2]=b;c[e>>2]=d;h[f>>3]=0.0;d=g;c[d>>2]=0;c[d+4>>2]=0;if((c[k>>2]|0)!=1)Ea(16078,16086,590,16716);switch(fi(c[c[e>>2]>>2]|0)|0){case 1:{k=g;c[k>>2]=ki(c[c[e>>2]>>2]|0)|0;c[k+4>>2]=z;k=g;f=c[k+4>>2]|0;if((f|0)>0|(f|0)==0&(c[k>>2]|0)>>>0>0)a=1;else a=(c[g+4>>2]|0)<0?-1:0;k=g;c[k>>2]=a;c[k+4>>2]=((a|0)<0)<<31>>31;k=g;gi(c[i>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=j;return}case 5:{Ui(c[i>>2]|0);l=j;return}default:{h[f>>3]=+mi(c[c[e>>2]>>2]|0);if(+h[f>>3]>0.0)a=1;else a=+h[f>>3]<0.0?-1:0;h[f>>3]=+(a|0);hi(c[i>>2]|0,+h[f>>3]);l=j;return}}}function ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,375,16725);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[e>>2]|0);l=j;return}h[g>>3]=+mi(c[c[f>>2]>>2]|0);c[(_P()|0)>>2]=0;h[i>>3]=+C(+(+h[g>>3]));k=(c[(_P()|0)>>2]|0)==0;a=c[e>>2]|0;if(k){hi(a,+h[i>>3]);l=j;return}else{k=oQ(c[(_P()|0)>>2]|0)|0;yh(a,k,c[(_P()|0)>>2]|0);l=j;return}}function fc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+24|0;k=j+20|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;d=g;c[d>>2]=0;c[d+4>>2]=0;h[i>>3]=0.0;if((c[k>>2]|0)!=1)Ea(16078,16086,514,16734);switch(fi(c[c[f>>2]>>2]|0)|0){case 1:{i=g;c[i>>2]=ki(c[c[f>>2]>>2]|0)|0;c[i+4>>2]=z;f=c[e>>2]|0;i=g;k=g;gi(f,RR(c[i>>2]|0,c[i+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0,z);l=j;return}case 5:{Ui(c[e>>2]|0);l=j;return}default:{h[i>>3]=+mi(c[c[f>>2]>>2]|0);hi(c[e>>2]|0,+h[i>>3]*+h[i>>3]);l=j;return}}}function gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;j=l;l=l+48|0;e=j+32|0;k=j+28|0;f=j+24|0;g=j+16|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;d=j+8|0;c[d>>2]=0;c[d+4>>2]=0;if((c[k>>2]|0)!=1)Ea(16078,16086,620,16745);switch(fi(c[c[f>>2]>>2]|0)|0){case 1:{k=i;c[k>>2]=ki(c[c[f>>2]>>2]|0)|0;c[k+4>>2]=z;k=i;gi(c[e>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=j;return}case 5:{Ui(c[e>>2]|0);l=j;return}default:{h[g>>3]=+mi(c[c[f>>2]>>2]|0);m=+N(+(+h[g>>3]));gi(c[e>>2]|0,~~m>>>0,+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0);l=j;return}}}function hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0.0;j=l;l=l+48|0;e=j+32|0;k=j+28|0;f=j+24|0;g=j+16|0;i=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=d;h[g>>3]=0.0;d=j+8|0;c[d>>2]=0;c[d+4>>2]=0;if((c[k>>2]|0)!=1)Ea(16078,16086,645,16754);switch(fi(c[c[f>>2]>>2]|0)|0){case 1:{k=i;c[k>>2]=ki(c[c[f>>2]>>2]|0)|0;c[k+4>>2]=z;k=i;gi(c[e>>2]|0,c[k>>2]|0,c[k+4>>2]|0);l=j;return}case 5:{Ui(c[e>>2]|0);l=j;return}default:{h[g>>3]=+mi(c[c[f>>2]>>2]|0);m=+A(+(+h[g>>3]));gi(c[e>>2]|0,~~m>>>0,+B(m)>=1.0?(m>0.0?~~+P(+A(m/4294967296.0),4294967295.0)>>>0:~~+N((m-+(~~m>>>0))/4294967296.0)>>>0):0);l=j;return}}}function ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;hi(c[f>>2]|0,3.141592653589793);l=e;return}function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+64|0;g=n+48|0;o=n+44|0;h=n+40|0;i=n+36|0;j=n+32|0;k=n+24|0;m=n+16|0;e=n+8|0;f=n;c[g>>2]=a;c[o>>2]=b;c[h>>2]=d;d=f;c[d>>2]=0;c[d+4>>2]=0;if((c[o>>2]|0)!=2){l=n;return}if(5==(fi(c[c[h>>2]>>2]|0)|0)){l=n;return}d=ki(c[(c[h>>2]|0)+4>>2]|0)|0;o=k;c[o>>2]=d;c[o+4>>2]=z;if((c[k+4>>2]|0)<0){yh(c[g>>2]|0,16764,-1);l=n;return}d=xh(c[c[h>>2]>>2]|0)|0;o=m;c[o>>2]=d;c[o+4>>2]=((d|0)<0)<<31>>31;o=m;d=k;d=RR(c[o>>2]|0,c[o+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;o=e;c[o>>2]=d;c[o+4>>2]=z;o=e;o=IR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[i>>2]=Yd(o)|0;o=m;o=IR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0;c[j>>2]=Yd(o)|0;if((c[i>>2]|0)!=0&(c[j>>2]|0)!=0){o=c[j>>2]|0;xQ(o,wh(c[c[h>>2]>>2]|0)|0)|0;o=f;c[o>>2]=0;c[o+4>>2]=0;while(1){h=f;e=c[h+4>>2]|0;o=k;d=c[o+4>>2]|0;if(!((e|0)<(d|0)|((e|0)==(d|0)?(c[h>>2]|0)>>>0<(c[o>>2]|0)>>>0:0)))break;o=c[i>>2]|0;d=f;h=m;h=RR(c[d>>2]|0,c[d+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;xQ(o+h|0,c[j>>2]|0)|0;h=f;h=IR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;o=f;c[o>>2]=h;c[o+4>>2]=z}ci(c[g>>2]|0,c[i>>2]|0,-1,-1);Kd(c[i>>2]|0);Kd(c[j>>2]|0);l=n;return}bi(c[g>>2]|0);if(c[i>>2]|0)Kd(c[i>>2]|0);if(!(c[j>>2]|0)){l=n;return}Kd(c[j>>2]|0);l=n;return}function kc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[j>>2]=0;c[k>>2]=0;if(!((c[f>>2]|0)==3|(c[f>>2]|0)==2))Ea(16777,16086,1038,16795);if(5!=(fi(c[c[g>>2]>>2]|0)|0)?5!=(fi(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[h>>2]=wh(c[c[g>>2]>>2]|0)|0;if(!(c[h>>2]|0)){l=m;return}c[i>>2]=wh(c[(c[g>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==3){g=(vi(c[(c[g>>2]|0)+8>>2]|0)|0)-1|0;c[j>>2]=g;c[j>>2]=(c[j>>2]|0)<0?0:g}else c[j>>2]=0;c[k>>2]=Sc(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,0)|0;Ch(c[e>>2]|0,(c[k>>2]|0)+1|0);l=m;return}Ui(c[e>>2]|0);l=m;return}function lc(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+32|0;q=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[q>>2]=e;c[j>>2]=f;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;if((c[q>>2]|0)!=2)Ea(16137,16086,1073,16809);if(5!=(fi(c[c[j>>2]>>2]|0)|0)?5!=(fi(c[(c[j>>2]|0)+4>>2]|0)|0):0){c[o>>2]=wh(c[c[j>>2]>>2]|0)|0;c[n>>2]=vi(c[(c[j>>2]|0)+4>>2]|0)|0;c[g>>2]=c[o>>2];a:while(1){if(!(Nc(c[g>>2]|0)|0))break;q=c[k>>2]|0;c[k>>2]=q+1;if((q|0)>=(c[n>>2]|0))break;while(1){q=(c[g>>2]|0)+1|0;c[g>>2]=q;if((192&(d[q>>0]|0)|0)!=128)continue a}}c[m>>2]=(c[g>>2]|0)-(c[o>>2]|0);c[h>>2]=Yd((c[g>>2]|0)-(c[o>>2]|0)+1|0)|0;if(c[h>>2]|0){EQ(c[h>>2]|0,c[o>>2]|0,(c[g>>2]|0)-(c[o>>2]|0)|0)|0;a[(c[h>>2]|0)+(c[m>>2]|0)>>0]=0;ci(c[i>>2]|0,c[h>>2]|0,-1,-1);Kd(c[h>>2]|0);l=p;return}else{bi(c[i>>2]|0);l=p;return}}Ui(c[i>>2]|0);l=p;return}function mc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;i=p+36|0;q=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[q>>2]=d;c[j>>2]=e;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;if((c[q>>2]|0)!=2)Ea(16137,16086,1113,16818);if(5!=(fi(c[c[j>>2]>>2]|0)|0)?5!=(fi(c[(c[j>>2]|0)+4>>2]|0)|0):0){c[o>>2]=wh(c[c[j>>2]>>2]|0)|0;c[k>>2]=vi(c[(c[j>>2]|0)+4>>2]|0)|0;c[f>>2]=c[o>>2];while(1){if(!(Nc(c[f>>2]|0)|0))break;do{q=(c[f>>2]|0)+1|0;c[f>>2]=q}while((192&a[q>>0]|0)==128);c[m>>2]=(c[m>>2]|0)+1}c[g>>2]=c[f>>2];c[f>>2]=c[o>>2];q=(c[m>>2]|0)-(c[k>>2]|0)|0;c[n>>2]=q;c[n>>2]=(c[n>>2]|0)<0?0:q;a:while(1){q=c[n>>2]|0;c[n>>2]=q+-1;if((q|0)<=0)break;while(1){q=(c[f>>2]|0)+1|0;c[f>>2]=q;if((192&a[q>>0]|0)!=128)continue a}}c[h>>2]=Yd((c[g>>2]|0)-(c[f>>2]|0)+1|0)|0;if(c[h>>2]|0){xQ(c[h>>2]|0,c[f>>2]|0)|0;ci(c[i>>2]|0,c[h>>2]|0,-1,-1);Kd(c[h>>2]|0);l=p;return}else{bi(c[i>>2]|0);l=p;return}}Ui(c[i>>2]|0);l=p;return}function nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;h=o+32|0;p=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;c[h>>2]=b;c[p>>2]=d;c[i>>2]=e;c[f>>2]=0;c[g>>2]=0;if(1!=(c[p>>2]|0))Ea(16828,16086,1323,16836);if(5==(fi(c[c[i>>2]>>2]|0)|0)){Ui(c[h>>2]|0);l=o;return}c[j>>2]=wh(c[c[i>>2]>>2]|0)|0;c[f>>2]=lQ(c[j>>2]|0)|0;c[m>>2]=Yd((c[f>>2]|0)+1|0)|0;if(!(c[m>>2]|0)){bi(c[h>>2]|0);l=o;return}c[n>>2]=(c[m>>2]|0)+(c[f>>2]|0);p=c[n>>2]|0;c[n>>2]=p+-1;a[p>>0]=0;c[k>>2]=c[j>>2];a:while(1){if(!(Nc(c[k>>2]|0)|0))break;c[j>>2]=c[k>>2];do{p=(c[k>>2]|0)+1|0;c[k>>2]=p}while((192&a[p>>0]|0)==128);c[g>>2]=1;while(1){if(((c[k>>2]|0)+(0-(c[g>>2]|0))|0)>>>0<(c[j>>2]|0)>>>0)continue a;i=a[(c[k>>2]|0)+(0-(c[g>>2]|0))>>0]|0;p=c[n>>2]|0;c[n>>2]=p+-1;a[p>>0]=i;c[g>>2]=(c[g>>2]|0)+1}}ci(c[h>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);l=o;return}function oc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+24|0;o=n+20|0;f=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n+28|0;g=n;c[h>>2]=b;c[o>>2]=d;c[f>>2]=e;c[g>>2]=1;if((c[o>>2]|0)!=1)Ea(16078,16086,724,16848);if(5==(fi(c[c[f>>2]>>2]|0)|0)){Ui(c[h>>2]|0);l=n;return}c[i>>2]=wh(c[c[f>>2]>>2]|0)|0;c[j>>2]=Tc(c[i>>2]|0)|0;if(!(c[j>>2]|0)){bi(c[h>>2]|0);l=n;return}c[k>>2]=c[j>>2];while(1){o=c[i>>2]|0;c[i>>2]=o+1;o=a[o>>0]|0;a[m>>0]=o;if(!(o<<24>>24))break;if(XQ(a[m>>0]|0)|0)c[g>>2]=1;else{b=a[m>>0]|0;if((c[g>>2]|0)==1)a[m>>0]=pR(b)|0;else a[m>>0]=BQ(b)|0;c[g>>2]=0}f=a[m>>0]|0;o=c[k>>2]|0;c[k>>2]=o+1;a[o>>0]=f}a[c[k>>2]>>0]=0;ci(c[h>>2]|0,c[j>>2]|0,-1,-1);Kd(c[j>>2]|0);l=n;return}function pc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o+40|0;p=o+36|0;f=o+32|0;h=o+8|0;i=o;j=o+28|0;k=o+24|0;m=o+20|0;g=o+16|0;c[n>>2]=b;c[p>>2]=d;c[f>>2]=e;c[j>>2]=0;if((c[p>>2]|0)!=2)Ea(16137,16086,771,16859);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[n>>2]|0);l=o;return}c[k>>2]=wh(c[c[f>>2]>>2]|0)|0;f=ki(c[(c[f>>2]|0)+4>>2]|0)|0;p=h;c[p>>2]=f;c[p+4>>2]=z;if((c[h+4>>2]|0)<0){yh(c[n>>2]|0,16764,-1);l=o;return}d=Uc(c[k>>2]|0,-1)|0;f=i;c[f>>2]=d;c[f+4>>2]=((d|0)<0)<<31>>31;f=i;d=c[f+4>>2]|0;p=h;e=c[p+4>>2]|0;b=c[k>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=(c[p>>2]|0)>>>0:0)){c[m>>2]=Tc(b)|0;b=c[n>>2]|0;if(c[m>>2]|0){ci(b,c[m>>2]|0,-1,-1);break}bi(b);l=o;return}else{p=lQ(b)|0;f=h;f=IR(p|0,0,c[f>>2]|0,c[f+4>>2]|0)|0;p=i;p=FR(f|0,z|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=IR(p|0,z|0,1,0)|0;c[m>>2]=Yd(p)|0;if(!(c[m>>2]|0)){bi(c[n>>2]|0);l=o;return}c[g>>2]=c[m>>2];c[j>>2]=1;while(1){d=c[j>>2]|0;f=i;f=IR(d|0,((d|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;d=z;p=h;e=c[p+4>>2]|0;b=c[g>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?f>>>0<=(c[p>>2]|0)>>>0:0)))break;c[g>>2]=b+1;a[b>>0]=32;c[j>>2]=(c[j>>2]|0)+1}xQ(b,c[k>>2]|0)|0}while(0);ci(c[n>>2]|0,c[m>>2]|0,-1,-1);Kd(c[m>>2]|0);l=o;return}function qc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;o=p+48|0;q=p+44|0;f=p+40|0;j=p+16|0;k=p+8|0;h=p;m=p+36|0;g=p+32|0;n=p+28|0;i=p+24|0;c[o>>2]=b;c[q>>2]=d;c[f>>2]=e;c[m>>2]=0;if((c[q>>2]|0)!=2)Ea(16137,16086,825,16896);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[o>>2]|0);l=p;return}c[g>>2]=wh(c[c[f>>2]>>2]|0)|0;f=ki(c[(c[f>>2]|0)+4>>2]|0)|0;q=j;c[q>>2]=f;c[q+4>>2]=z;if((c[j+4>>2]|0)<0){yh(c[o>>2]|0,16764,-1);l=p;return}d=Uc(c[g>>2]|0,-1)|0;f=k;c[f>>2]=d;c[f+4>>2]=((d|0)<0)<<31>>31;f=k;d=c[f+4>>2]|0;q=j;e=c[q+4>>2]|0;b=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[n>>2]=Tc(b)|0;b=c[o>>2]|0;if(c[n>>2]|0){ci(b,c[n>>2]|0,-1,-1);break}bi(b);l=p;return}else{q=h;c[q>>2]=lQ(b)|0;c[q+4>>2]=0;q=h;f=j;f=IR(c[q>>2]|0,c[q+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;q=k;q=FR(f|0,z|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=IR(q|0,z|0,1,0)|0;c[n>>2]=Yd(q)|0;if(!(c[n>>2]|0)){bi(c[o>>2]|0);l=p;return}q=c[n>>2]|0;xQ(q,c[g>>2]|0)|0;c[i>>2]=q+(c[h>>2]|0);c[m>>2]=1;while(1){f=c[m>>2]|0;h=k;h=IR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=z;q=j;g=c[q+4>>2]|0;b=c[i>>2]|0;if(!((f|0)<(g|0)|((f|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[i>>2]=b+1;a[b>>0]=32;c[m>>2]=(c[m>>2]|0)+1}a[b>>0]=0}while(0);ci(c[o>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);l=p;return}function rc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+64|0;o=p+48|0;q=p+44|0;f=p+40|0;j=p+16|0;k=p+8|0;h=p;m=p+36|0;g=p+32|0;n=p+28|0;i=p+24|0;c[o>>2]=b;c[q>>2]=d;c[f>>2]=e;c[m>>2]=0;if((c[q>>2]|0)!=2)Ea(16137,16086,880,16905);if((fi(c[c[f>>2]>>2]|0)|0)==5){Ui(c[o>>2]|0);l=p;return}c[g>>2]=wh(c[c[f>>2]>>2]|0)|0;f=ki(c[(c[f>>2]|0)+4>>2]|0)|0;q=j;c[q>>2]=f;c[q+4>>2]=z;if((c[j+4>>2]|0)<0){yh(c[o>>2]|0,16764,-1);l=p;return}d=Uc(c[g>>2]|0,-1)|0;f=k;c[f>>2]=d;c[f+4>>2]=((d|0)<0)<<31>>31;f=k;d=c[f+4>>2]|0;q=j;e=c[q+4>>2]|0;b=c[g>>2]|0;do if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>=(c[q>>2]|0)>>>0:0)){c[n>>2]=Tc(b)|0;b=c[o>>2]|0;if(c[n>>2]|0){ci(b,c[n>>2]|0,-1,-1);break}bi(b);l=p;return}else{q=h;c[q>>2]=lQ(b)|0;c[q+4>>2]=0;q=h;f=j;f=IR(c[q>>2]|0,c[q+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;q=k;q=FR(f|0,z|0,c[q>>2]|0,c[q+4>>2]|0)|0;q=IR(q|0,z|0,1,0)|0;c[n>>2]=Yd(q)|0;if(!(c[n>>2]|0)){bi(c[o>>2]|0);l=p;return}c[i>>2]=c[n>>2];c[m>>2]=1;while(1){d=c[m>>2]<<1;f=k;f=IR(d|0,((d|0)<0)<<31>>31|0,c[f>>2]|0,c[f+4>>2]|0)|0;d=z;q=j;e=c[q+4>>2]|0;b=c[i>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?f>>>0<=(c[q>>2]|0)>>>0:0)))break;c[i>>2]=b+1;a[b>>0]=32;c[m>>2]=(c[m>>2]|0)+1}xQ(b,c[g>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0);while(1){f=c[m>>2]|0;h=k;h=IR(f|0,((f|0)<0)<<31>>31|0,c[h>>2]|0,c[h+4>>2]|0)|0;f=z;q=j;g=c[q+4>>2]|0;b=c[i>>2]|0;if(!((f|0)<(g|0)|((f|0)==(g|0)?h>>>0<=(c[q>>2]|0)>>>0:0)))break;c[i>>2]=b+1;a[b>>0]=32;c[m>>2]=(c[m>>2]|0)+1}a[b>>0]=0}while(0);ci(c[o>>2]|0,c[n>>2]|0,-1,-1);Kd(c[n>>2]|0);l=p;return}function sc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;k=r+44|0;s=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;f=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=b;c[s>>2]=d;c[m>>2]=e;c[i>>2]=0;c[j>>2]=0;if((c[s>>2]|0)!=2)Ea(16137,16086,939,16914);if((fi(c[c[m>>2]>>2]|0)|0)!=5?(fi(c[(c[m>>2]|0)+4>>2]|0)|0)!=5:0){c[n>>2]=wh(c[c[m>>2]>>2]|0)|0;c[o>>2]=wh(c[(c[m>>2]|0)+4>>2]|0)|0;c[g>>2]=Yd((lQ(c[n>>2]|0)|0)+1|0)|0;if(!(c[g>>2]|0)){bi(c[k>>2]|0);l=r;return}c[h>>2]=c[g>>2];c[p>>2]=c[n>>2];a:while(1){s=Nc(c[p>>2]|0)|0;c[i>>2]=s;if(!s)break;c[q>>2]=c[o>>2];b:while(1){s=Nc(c[q>>2]|0)|0;c[j>>2]=s;if(!s)break;if((c[j>>2]|0)==(c[i>>2]|0))break;while(1){s=(c[q>>2]|0)+1|0;c[q>>2]=s;if((192&a[s>>0]|0)!=128)continue b}}if(c[j>>2]|0){c[f>>2]=c[q>>2];do{s=(c[f>>2]|0)+1|0;c[f>>2]=s}while((192&a[s>>0]|0)==128);EQ(c[h>>2]|0,c[q>>2]|0,(c[f>>2]|0)-(c[q>>2]|0)|0)|0;c[h>>2]=(c[h>>2]|0)+((c[f>>2]|0)-(c[q>>2]|0))}while(1){s=(c[p>>2]|0)+1|0;c[p>>2]=s;if((192&a[s>>0]|0)!=128)continue a}}a[c[h>>2]>>0]=0;ci(c[k>>2]|0,c[g>>2]|0,-1,-1);Kd(c[g>>2]|0);l=r;return}Ui(c[k>>2]|0);l=r;return}function tc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;e=k+28|0;m=k+24|0;f=k+20|0;g=k+16|0;i=k+8|0;j=k;c[e>>2]=a;c[m>>2]=b;c[f>>2]=d;if((c[m>>2]|0)!=1)Ea(16078,16086,1395,16928);c[g>>2]=$h(c[e>>2]|0,24)|0;if(5==(ji(c[c[f>>2]>>2]|0)|0)){l=k;return}m=(c[g>>2]|0)+16|0;e=m;e=IR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;c[m>>2]=e;c[m+4>>2]=z;h[j>>3]=+mi(c[c[f>>2]>>2]|0);h[i>>3]=+h[j>>3]-+h[c[g>>2]>>3];f=(c[g>>2]|0)+16|0;m=c[g>>2]|0;h[m>>3]=+h[m>>3]+ +h[i>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0));m=(c[g>>2]|0)+8|0;h[m>>3]=+h[m>>3]+ +h[i>>3]*(+h[j>>3]-+h[c[g>>2]>>3]);l=k;return}function uc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=$h(c[b>>2]|0,0)|0;if(c[d>>2]|0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){b=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=FR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;hi(b,+C(+(g/(+(f>>>0)+4294967296.0*+(z|0)))));l=e;return}hi(c[b>>2]|0,0.0);l=e;return}function vc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0.0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=$h(c[b>>2]|0,0)|0;if(c[d>>2]|0?(a=(c[d>>2]|0)+16|0,f=c[a+4>>2]|0,(f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>1):0){b=c[b>>2]|0;g=+h[(c[d>>2]|0)+8>>3];f=(c[d>>2]|0)+16|0;f=FR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;hi(b,g/(+(f>>>0)+4294967296.0*+(z|0)));l=e;return}hi(c[b>>2]|0,0.0);l=e;return}function wc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+80|0;e=q+64|0;r=q+60|0;j=q+56|0;m=q+52|0;n=q+8|0;o=q;p=q+48|0;k=q+44|0;f=q+40|0;g=q+28|0;i=q+16|0;c[e>>2]=a;c[r>>2]=b;c[j>>2]=d;d=n;c[d>>2]=0;c[d+4>>2]=0;h[o>>3]=0.0;if((c[r>>2]|0)!=1)Ea(16078,16086,1418,16941);c[f>>2]=ji(c[c[j>>2]>>2]|0)|0;if((c[f>>2]|0)==5){l=q;return}c[m>>2]=$h(c[e>>2]|0,64)|0;do if(!(c[(c[m>>2]|0)+56>>2]|0)){a=yR(1,12)|0;c[(c[m>>2]|0)+56>>2]=a;a=c[m>>2]|0;if((c[f>>2]|0)==1){r=c[a+56>>2]|0;Bc(g,176);c[r>>2]=c[g>>2];c[r+4>>2]=c[g+4>>2];c[r+8>>2]=c[g+8>>2];r=(c[m>>2]|0)+48|0;c[r>>2]=0;c[r+4>>2]=0;break}else{r=a+48|0;c[r>>2]=1;c[r+4>>2]=0;r=c[(c[m>>2]|0)+56>>2]|0;Bc(i,177);c[r>>2]=c[i>>2];c[r+4>>2]=c[i+4>>2];c[r+8>>2]=c[i+8>>2];break}}while(0);r=(c[m>>2]|0)+16|0;a=r;a=IR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;c[r>>2]=a;c[r+4>>2]=z;r=(c[m>>2]|0)+48|0;a=c[c[j>>2]>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=ki(a)|0;o=n;c[o>>2]=r;c[o+4>>2]=z;c[p>>2]=yR(1,8)|0;o=c[n+4>>2]|0;r=c[p>>2]|0;c[r>>2]=c[n>>2];c[r+4>>2]=o;Fc(c[(c[m>>2]|0)+56>>2]|0,c[p>>2]|0);l=q;return}else{h[o>>3]=+mi(a);c[k>>2]=yR(1,8)|0;h[c[k>>2]>>3]=+h[o>>3];Fc(c[(c[m>>2]|0)+56>>2]|0,c[k>>2]|0);l=q;return}}function xc(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=$h(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}if(!(c[(c[d>>2]|0)+56>>2]|0)){l=e;return}Hc(c[(c[d>>2]|0)+56>>2]|0,131,c[d>>2]|0);Jc(c[(c[d>>2]|0)+56>>2]|0);xR(c[(c[d>>2]|0)+56>>2]|0);a=(c[d>>2]|0)+40|0;if(!(1==(c[a>>2]|0)?0==(c[a+4>>2]|0):0)){l=e;return}f=(c[d>>2]|0)+48|0;b=c[b>>2]|0;a=c[d>>2]|0;if(0==(c[f>>2]|0)?0==(c[f+4>>2]|0):0){f=a;gi(b,c[f>>2]|0,c[f+4>>2]|0);l=e;return}else{hi(b,+h[a+8>>3]);l=e;return}}function yc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=$h(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/2.0;Wc(c[b>>2]|0);l=e;return}function zc(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=$h(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;h[(c[d>>2]|0)+24>>3]=(+((c[a>>2]|0)>>>0)+4294967296.0*+(c[a+4>>2]|0))/4.0;Wc(c[b>>2]|0);l=e;return}function Ac(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=$h(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;a=RR(c[a>>2]|0,c[a+4>>2]|0,3,0)|0;h[(c[d>>2]|0)+24>>3]=(+(a>>>0)+4294967296.0*+(z|0))/4.0;Wc(c[b>>2]|0);l=e;return}function Bc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+12|0;e=d;c[f>>2]=b;c[e+4>>2]=c[f>>2];c[e>>2]=0;c[a>>2]=c[e>>2];c[a+4>>2]=c[e+4>>2];c[a+8>>2]=c[e+8>>2];l=d;return}function Cc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f+8|0;e=f;c[h>>2]=a;c[g>>2]=b;c[f+4>>2]=d;c[e>>2]=yR(c[h>>2]|0,c[g>>2]|0)|0;l=f;return c[e>>2]|0}function Dc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;xR(c[d>>2]|0);l=b;return}function Ec(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;f=j;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if(!(c[c[e>>2]>>2]|0)){c[f>>2]=Cc(1,24,16069)|0;c[(c[f>>2]|0)+8>>2]=c[h>>2];i=(c[f>>2]|0)+16|0;c[i>>2]=1;c[i+4>>2]=0;c[c[e>>2]>>2]=c[f>>2];l=j;return}c[i>>2]=yb[c[g>>2]&255](c[(c[c[e>>2]>>2]|0)+8>>2]|0,c[h>>2]|0)|0;if(!(c[i>>2]|0)){i=(c[c[e>>2]>>2]|0)+16|0;g=i;g=IR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[i>>2]=g;c[i+4>>2]=z;Dc(c[h>>2]|0);l=j;return}a=c[c[e>>2]>>2]|0;if((c[i>>2]|0)>0){Ec(a,c[g>>2]|0,c[h>>2]|0);l=j;return}else{Ec(a+4|0,c[g>>2]|0,c[h>>2]|0);l=j;return}}function Fc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Ec(c[f>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[e>>2]|0);l=d;return}function Gc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){l=h;return}if(c[c[e>>2]>>2]|0)Gc(c[c[e>>2]>>2]|0,c[f>>2]|0,c[g>>2]|0);d=(c[e>>2]|0)+16|0;Ab[c[f>>2]&255](c[(c[e>>2]|0)+8>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[g>>2]|0);if(!(c[(c[e>>2]|0)+4>>2]|0)){l=h;return}Gc(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,c[g>>2]|0);l=h;return}function Hc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Gc(c[c[h>>2]>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function Ic(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Dc(c[(c[b>>2]|0)+8>>2]|0);if(c[c[b>>2]>>2]|0)Ic(c[c[b>>2]>>2]|0);if(c[(c[b>>2]|0)+4>>2]|0)Ic(c[(c[b>>2]|0)+4>>2]|0);Dc(c[b>>2]|0);l=d;return}function Jc(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Ic(c[c[d>>2]>>2]|0);l=b;return}function Kc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;d=g+24|0;i=g+20|0;h=g+16|0;e=g+8|0;f=g;c[i>>2]=a;c[h>>2]=b;i=c[i>>2]|0;a=c[i+4>>2]|0;b=e;c[b>>2]=c[i>>2];c[b+4>>2]=a;h=c[h>>2]|0;b=c[h+4>>2]|0;a=f;c[a>>2]=c[h>>2];c[a+4>>2]=b;a=e;b=f;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[d>>2]=0;i=c[d>>2]|0;l=g;return i|0}h=e;e=c[h+4>>2]|0;i=f;f=c[i+4>>2]|0;if((e|0)<(f|0)|((e|0)==(f|0)?(c[h>>2]|0)>>>0<(c[i>>2]|0)>>>0:0)){c[d>>2]=-1;i=c[d>>2]|0;l=g;return i|0}else{c[d>>2]=1;i=c[d>>2]|0;l=g;return i|0}return 0}function Lc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;g=l;l=l+32|0;d=g+24|0;j=g+20|0;i=g+16|0;e=g+8|0;f=g;c[j>>2]=a;c[i>>2]=b;h[e>>3]=+h[c[j>>2]>>3];h[f>>3]=+h[c[i>>2]>>3];do if(!(+h[e>>3]==+h[f>>3]))if(+h[e>>3]<+h[f>>3]){c[d>>2]=-1;break}else{c[d>>2]=1;break}else c[d>>2]=0;while(0);l=g;return c[d>>2]|0}function Mc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+16|0;i=k+12|0;g=k+8|0;j=k+4|0;h=k;c[f>>2]=b;c[i>>2]=e;c[g>>2]=0;while(1){if(!(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0))break;if(!((oR(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)|0)!=0^1))break;c[g>>2]=(c[g>>2]|0)+1}if(!(a[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)){xQ(c[i>>2]|0,16327)|0;l=k;return}e=(pR(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0)|0)&255;a[c[i>>2]>>0]=e;c[j>>2]=1;while(1){if((c[j>>2]|0)>=4)break;if(!(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]|0))break;c[h>>2]=d[16199+(d[(c[f>>2]|0)+(c[g>>2]|0)>>0]&127)>>0];if((c[h>>2]|0)>0){m=(c[h>>2]|0)+48&255;b=c[i>>2]|0;e=c[j>>2]|0;c[j>>2]=e+1;a[b+e>>0]=m}c[g>>2]=(c[g>>2]|0)+1}while(1){b=c[i>>2]|0;e=c[j>>2]|0;if((c[j>>2]|0)>=4)break;c[j>>2]=e+1;a[b+e>>0]=48}a[b+e>>0]=0;l=k;return}function Nc(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+8|0;e=h+4|0;f=h;c[b>>2]=a;a=c[b>>2]|0;c[b>>2]=a+1;c[e>>2]=d[a>>0];c[f>>2]=d[16332+(c[e>>2]|0)>>0];switch(c[f>>2]|0){case 4:{c[e>>2]=65533;g=c[e>>2]|0;l=h;return g|0}case 3:{a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);g=4;break}case 2:{g=4;break}case 1:break;default:{g=c[e>>2]|0;l=h;return g|0}}if((g|0)==4){a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0)}a=c[e>>2]<<6;g=c[b>>2]|0;c[b>>2]=g+1;c[e>>2]=a+(d[g>>0]|0);c[e>>2]=(c[e>>2]|0)-(c[904+(c[f>>2]<<2)>>2]|0);if((c[920+(c[f>>2]<<2)>>2]&c[e>>2]|0?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){g=c[e>>2]|0;l=h;return g|0}c[e>>2]=65533;g=c[e>>2]|0;l=h;return g|0}function Oc(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;h[b>>3]=a;l=c;return +(+h[b>>3]*180.0/3.141592653589793)}function Pc(a){a=+a;var b=0,c=0;c=l;l=l+16|0;b=c;h[b>>3]=a;l=c;return +(+h[b>>3]*3.141592653589793/180.0)}function Qc(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=1.0/+G(+(+h[c>>3]));l=b;return +a}function Rc(a){a=+a;var b=0,c=0;b=l;l=l+16|0;c=b;h[c>>3]=a;a=1.0/+KQ(+h[c>>3]);l=b;return +a}function Sc(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;g=t+16|0;h=t+12|0;i=t+8|0;j=t+4|0;k=t;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=0;c[g>>2]=-1;if(!(a[c[n>>2]>>0]|0)){c[m>>2]=-1;s=c[m>>2]|0;l=t;return s|0}a:while(1){if(!(Nc(c[o>>2]|0)|0))break;f=c[r>>2]|0;c[r>>2]=f+1;if((f|0)>=(c[p>>2]|0))break;while(1){f=(c[o>>2]|0)+1|0;c[o>>2]=f;if((192&a[f>>0]|0)!=128)continue a}}c[r>>2]=0;while(1){if(!(Nc(c[o>>2]|0)|0))break;c[h>>2]=c[n>>2];c[i>>2]=c[o>>2];do{c[j>>2]=Nc(c[h>>2]|0)|0;c[k>>2]=Nc(c[i>>2]|0)|0;do{f=(c[h>>2]|0)+1|0;c[h>>2]=f}while((192&a[f>>0]|0)==128);do{f=(c[i>>2]|0)+1|0;c[i>>2]=f}while((192&a[f>>0]|0)==128)}while((c[j>>2]|0?(c[j>>2]|0)==(c[k>>2]|0):0)&(c[k>>2]|0)!=0);if(!(c[j>>2]|0)){s=14;break}do{f=(c[o>>2]|0)+1|0;c[o>>2]=f}while((192&a[f>>0]|0)==128);c[r>>2]=(c[r>>2]|0)+1}if((s|0)==14)c[g>>2]=c[r>>2];if(c[q>>2]|0)c[c[q>>2]>>2]=c[o>>2];s=c[g>>2]|0;c[m>>2]=(c[g>>2]|0)>=0?s+(c[p>>2]|0)|0:s;s=c[m>>2]|0;l=t;return s|0}function Tc(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=Yd((lQ(c[d>>2]|0)|0)+1|0)|0;a=xQ(c[e>>2]|0,c[d>>2]|0)|0;l=b;return a|0}function Uc(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;c[f>>2]=b;c[g>>2]=e;c[i>>2]=0;if((c[g>>2]|0)>=0)c[h>>2]=(c[f>>2]|0)+(c[g>>2]|0);else c[h>>2]=-1;if((c[f>>2]|0)>>>0>(c[h>>2]|0)>>>0)Ea(16868,16086,316,16877);while(1){if(!(a[c[f>>2]>>0]|0)){b=10;break}if((c[f>>2]|0)>>>0>=(c[h>>2]|0)>>>0){b=10;break}c[f>>2]=(c[f>>2]|0)+((d[16332+(d[c[f>>2]>>0]|0)>>0]|0)+1);c[i>>2]=(c[i>>2]|0)+1}if((b|0)==10){l=j;return c[i>>2]|0}return 0}function Vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;m=k+32|0;i=k+16|0;n=k+28|0;f=k+8|0;g=k;j=k+24|0;c[m>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[j>>2]=c[n>>2];e=(c[j>>2]|0)+48|0;a=c[m>>2]|0;if(0==(c[e>>2]|0)?0==(c[e+4>>2]|0):0){n=c[a>>2]|0;m=f;c[m>>2]=n;c[m+4>>2]=((n|0)<0)<<31>>31;m=(c[j>>2]|0)+32|0;n=i;a=c[j>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=a+40|0;m=n;m=IR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=z;l=k;return}m=a+32|0;e=c[m+4>>2]|0;n=i;g=c[n+4>>2]|0;if(!((e|0)<(g|0)|((e|0)==(g|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){l=k;return}g=f;n=c[g+4>>2]|0;m=c[j>>2]|0;c[m>>2]=c[g>>2];c[m+4>>2]=n;m=c[i+4>>2]|0;n=(c[j>>2]|0)+32|0;c[n>>2]=c[i>>2];c[n+4>>2]=m;n=(c[j>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;l=k;return}else{h[g>>3]=+h[a>>3];m=(c[j>>2]|0)+32|0;n=i;a=c[j>>2]|0;if((c[m>>2]|0)==(c[n>>2]|0)?(c[m+4>>2]|0)==(c[n+4>>2]|0):0){n=a+40|0;m=n;m=IR(c[m>>2]|0,c[m+4>>2]|0,1,0)|0;c[n>>2]=m;c[n+4>>2]=z;l=k;return}m=a+32|0;e=c[m+4>>2]|0;n=i;f=c[n+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0))){l=k;return}h[(c[j>>2]|0)+8>>3]=+h[g>>3];m=c[i+4>>2]|0;n=(c[j>>2]|0)+32|0;c[n>>2]=c[i>>2];c[n+4>>2]=m;n=(c[j>>2]|0)+40|0;c[n>>2]=1;c[n+4>>2]=0;l=k;return}}function Wc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=$h(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}if(!(c[(c[e>>2]|0)+56>>2]|0)){l=f;return}c[(c[e>>2]|0)+60>>2]=0;Hc(c[(c[e>>2]|0)+56>>2]|0,132,c[e>>2]|0);Jc(c[(c[e>>2]|0)+56>>2]|0);xR(c[(c[e>>2]|0)+56>>2]|0);d=(c[e>>2]|0)+48|0;if(!(0==(c[d>>2]|0)?0==(c[d+4>>2]|0):0)){d=(c[e>>2]|0)+40|0;hi(c[b>>2]|0,+h[(c[e>>2]|0)+8>>3]/(+((c[d>>2]|0)>>>0)+4294967296.0*+(c[d+4>>2]|0)));l=f;return}g=(c[e>>2]|0)+40|0;a=c[b>>2]|0;d=c[e>>2]|0;b=c[d>>2]|0;d=c[d+4>>2]|0;if(1==(c[g>>2]|0)?0==(c[g+4>>2]|0):0){gi(a,b,d);l=f;return}else{g=(c[e>>2]|0)+40|0;hi(a,(+(b>>>0)+4294967296.0*+(d|0))*1.0/(+((c[g>>2]|0)>>>0)+4294967296.0*+(c[g+4>>2]|0)));l=f;return}}function Xc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;k=q+56|0;n=q+32|0;r=q+52|0;o=q+24|0;p=q+16|0;g=q+8|0;i=q;f=q+48|0;j=q+44|0;m=q+40|0;c[k>>2]=a;a=n;c[a>>2]=b;c[a+4>>2]=d;c[r>>2]=e;c[m>>2]=c[r>>2];if((c[(c[m>>2]|0)+60>>2]|0)>0){l=q;return}h[g>>3]=+h[(c[m>>2]|0)+24>>3];r=(c[m>>2]|0)+16|0;h[i>>3]=+((c[r>>2]|0)>>>0)+4294967296.0*+(c[r+4>>2]|0)-+h[(c[m>>2]|0)+24>>3];r=(c[m>>2]|0)+32|0;e=n;e=IR(c[r>>2]|0,c[r+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;c[f>>2]=e;e=(c[m>>2]|0)+16|0;r=(c[m>>2]|0)+32|0;r=FR(c[e>>2]|0,c[e+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[j>>2]=r;do if(+(c[f>>2]|0)>=+h[g>>3]){a=c[m>>2]|0;if(!(+(c[j>>2]|0)>=+h[i>>3])){c[a+60>>2]=1;break}r=a+40|0;a=r;a=IR(c[a>>2]|0,c[a+4>>2]|0,1,0)|0;c[r>>2]=a;c[r+4>>2]=z;r=(c[m>>2]|0)+48|0;a=c[k>>2]|0;if(0==(c[r>>2]|0)?0==(c[r+4>>2]|0):0){r=c[a>>2]|0;p=o;c[p>>2]=r;c[p+4>>2]=((r|0)<0)<<31>>31;p=o;r=c[m>>2]|0;o=r;p=IR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=z;break}else{h[p>>3]=+h[a>>3];r=(c[m>>2]|0)+8|0;h[r>>3]=+h[r>>3]+ +h[p>>3];break}}while(0);p=n;r=(c[m>>2]|0)+32|0;o=r;p=IR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[r>>2]=p;c[r+4>>2]=z;l=q;return}function Yc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=b;if(!(Zc(c[d>>2]|0,16957,7)|0))c[d>>2]=(c[d>>2]|0)+7;c[f>>2]=_c(c[d>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=8){b=9;break}if((Zc(c[d>>2]|0,c[940+(c[e>>2]<<2)>>2]|0,c[f>>2]|0)|0)==0?($c(a[(c[940+(c[e>>2]<<2)>>2]|0)+(c[f>>2]|0)>>0]|0)|0)==0:0){b=7;break}c[e>>2]=(c[e>>2]|0)+1}if((b|0)==7){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((b|0)==9){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function Zc(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a=c[g>>2]|0;if(!(c[f>>2]|0)){c[k>>2]=a|0?-1:0;k=c[k>>2]|0;l=m;return k|0}if(!a){c[k>>2]=1;k=c[k>>2]|0;l=m;return k|0}c[i>>2]=c[f>>2];c[j>>2]=c[g>>2];while(1){g=c[h>>2]|0;c[h>>2]=g+-1;if((g|0)<=0)break;if(!(d[c[i>>2]>>0]|0))break;if((d[17348+(d[c[i>>2]>>0]|0)>>0]|0|0)!=(d[17348+(d[c[j>>2]>>0]|0)>>0]|0|0))break;c[i>>2]=(c[i>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if((c[h>>2]|0)<0)a=0;else a=(d[17348+(d[c[i>>2]>>0]|0)>>0]|0)-(d[17348+(d[c[j>>2]>>0]|0)>>0]|0)|0;c[k>>2]=a;k=c[k>>2]|0;l=m;return k|0}function _c(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(!(c[d>>2]|0))c[b>>2]=0;else c[b>>2]=1073741823&(lQ(c[d>>2]|0)|0);l=e;return c[b>>2]|0}function $c(b){b=b|0;var c=0,e=0;e=l;l=l+16|0;c=e;a[c>>0]=b;l=e;return ((d[16965+(d[c>>0]|0)>>0]|0)&70|0)!=0|0}function ad(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[d>>2]|0)>=0&(c[d>>2]|0)<8){c[b>>2]=c[940+(c[d>>2]<<2)>>2];d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function bd(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;if((c[h>>2]|0)<0|(c[h>>2]|0)>=10){c[g>>2]=cd(18365)|0;k=c[g>>2]|0;l=m;return k|0}if(a[17604+(c[h>>2]|0)>>0]|0)b=dd()|0;else b=ed()|0;c[m>>2]=b;i=c[i>>2]|0;c[i>>2]=c[46740+(c[h>>2]<<2)>>2];c[i+4>>2]=0;j=c[j>>2]|0;c[j>>2]=c[46780+(c[h>>2]<<2)>>2];c[j+4>>2]=0;if(c[k>>2]|0)c[46780+(c[h>>2]<<2)>>2]=c[46740+(c[h>>2]<<2)>>2];c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function cd(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=fd(21,c[d>>2]|0,17614)|0;l=b;return a|0}function dd(){return c[11726]|0}function ed(){return c[11676]|0}function fd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;g=f;e=f+20|0;i=f+16|0;h=f+12|0;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;d=c[e>>2]|0;h=c[h>>2]|0;a=c[i>>2]|0;b=(gd()|0)+20|0;c[g>>2]=h;c[g+4>>2]=a;c[g+8>>2]=b;hd(d,17621,g);l=f;return c[e>>2]|0}function gd(){return 21617}function hd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+20|0;f=h+16|0;g=h;c[e>>2]=a;c[f>>2]=b;if(!(c[66]|0)){l=h;return}c[g>>2]=d;id(c[e>>2]|0,c[f>>2]|0,g);l=h;return}function id(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+256|0;h=e+36|0;i=e+32|0;f=e+28|0;g=e;c[h>>2]=a;c[i>>2]=b;c[f>>2]=d;jd(g,0,e+40|0,210,0);kd(g,c[i>>2]|0,c[f>>2]|0);f=c[66]|0;a=c[67]|0;b=c[h>>2]|0;d=ld(g)|0;ub[f&255](a,b,d);l=e;return}function jd(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;i=h+16|0;m=h+12|0;n=h+8|0;k=h+4|0;j=h;c[i>>2]=b;c[m>>2]=d;c[n>>2]=e;c[k>>2]=f;c[j>>2]=g;g=c[n>>2]|0;c[(c[i>>2]|0)+4>>2]=g;c[(c[i>>2]|0)+8>>2]=g;c[c[i>>2]>>2]=c[m>>2];c[(c[i>>2]|0)+12>>2]=0;c[(c[i>>2]|0)+16>>2]=c[k>>2];c[(c[i>>2]|0)+20>>2]=c[j>>2];a[(c[i>>2]|0)+24>>0]=0;a[(c[i>>2]|0)+25>>0]=0;l=h;return}function kd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0;Ia=l;l=l+352|0;F=Ia+256|0;P=Ia+252|0;_=Ia+248|0;ja=Ia+244|0;ua=Ia+240|0;Fa=Ia+236|0;Ga=Ia+232|0;j=Ia+228|0;k=Ia+224|0;m=Ia+348|0;n=Ia+347|0;o=Ia+346|0;p=Ia+345|0;q=Ia+344|0;r=Ia+343|0;s=Ia+342|0;t=Ia+341|0;u=Ia+340|0;v=Ia+339|0;w=Ia+338|0;x=Ia+337|0;y=Ia+336|0;A=Ia+56|0;B=Ia+48|0;C=Ia+220|0;D=Ia+216|0;E=Ia+212|0;G=Ia+208|0;H=Ia+204|0;I=Ia+200|0;J=Ia+196|0;K=Ia+40|0;L=Ia+335|0;M=Ia+334|0;N=Ia+192|0;O=Ia+264|0;i=Ia+188|0;Q=Ia+184|0;R=Ia+180|0;S=Ia+176|0;T=Ia+172|0;U=Ia+32|0;V=Ia+24|0;W=Ia+168|0;X=Ia+164|0;Y=Ia+16|0;Z=Ia+160|0;$=Ia+156|0;aa=Ia+152|0;ba=Ia+148|0;ca=Ia+263|0;da=Ia+144|0;ea=Ia+262|0;fa=Ia+8|0;ga=Ia;ha=Ia+140|0;ia=Ia+136|0;ka=Ia+132|0;la=Ia+128|0;ma=Ia+124|0;na=Ia+120|0;oa=Ia+116|0;pa=Ia+112|0;qa=Ia+108|0;ra=Ia+104|0;sa=Ia+100|0;ta=Ia+261|0;va=Ia+260|0;wa=Ia+96|0;xa=Ia+92|0;ya=Ia+88|0;za=Ia+84|0;Aa=Ia+80|0;Ba=Ia+76|0;Ca=Ia+72|0;Da=Ia+68|0;Ea=Ia+64|0;c[F>>2]=b;c[P>>2]=e;c[_>>2]=f;a[v>>0]=16;c[G>>2]=0;c[N>>2]=0;c[ua>>2]=0;if(a[(c[F>>2]|0)+25>>0]|0){f=d[(c[F>>2]|0)+25>>0]&2;a[w>>0]=f;if(f&255|0){e=c[_>>2]|0;b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;c[i>>2]=f;c[N>>2]=c[i>>2]}a[x>>0]=d[(c[F>>2]|0)+25>>0]&1}else{a[x>>0]=0;a[w>>0]=0}a:while(1){i=a[c[P>>2]>>0]|0;c[ja>>2]=i;if(!i){Ha=272;break}if((c[ja>>2]|0)!=37){c[ua>>2]=c[P>>2];do{c[P>>2]=(c[P>>2]|0)+1;if(!(a[c[P>>2]>>0]|0))break}while((a[c[P>>2]>>0]|0)!=37);zd(c[F>>2]|0,c[ua>>2]|0,(c[P>>2]|0)-(c[ua>>2]|0)|0);if(!(a[c[P>>2]>>0]|0)){Ha=272;break}}i=(c[P>>2]|0)+1|0;c[P>>2]=i;i=a[i>>0]|0;c[ja>>2]=i;if(!i){Ha=13;break}a[r>>0]=0;a[q>>0]=0;a[p>>0]=0;a[o>>0]=0;a[n>>0]=0;a[m>>0]=0;a[u>>0]=0;do{switch(c[ja>>2]|0){case 45:{a[m>>0]=1;break}case 43:{a[n>>0]=1;break}case 32:{a[o>>0]=1;break}case 35:{a[p>>0]=1;break}case 33:{a[q>>0]=1;break}case 48:{a[r>>0]=1;break}default:a[u>>0]=1}if(a[u>>0]|0)break;i=(c[P>>2]|0)+1|0;c[P>>2]=i;i=a[i>>0]|0;c[ja>>2]=i}while((i|0)!=0);if((c[ja>>2]|0)==42){if(a[w>>0]|0){i=Ad(c[N>>2]|0)|0;c[k>>2]=i}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[Q>>2]=i;c[k>>2]=c[Q>>2]}if((c[k>>2]|0)<0){a[m>>0]=1;c[k>>2]=(c[k>>2]|0)>=-2147483647?0-(c[k>>2]|0)|0:0}i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0]}else{c[R>>2]=0;while(1){b=c[R>>2]|0;if(!((c[ja>>2]|0)>=48?(c[ja>>2]|0)<=57:0))break;c[R>>2]=(b*10|0)+(c[ja>>2]|0)-48;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0]}c[k>>2]=b&2147483647}do if((c[ja>>2]|0)==46){i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];if((c[ja>>2]|0)!=42){c[T>>2]=0;while(1){b=c[T>>2]|0;if(!((c[ja>>2]|0)>=48?(c[ja>>2]|0)<=57:0))break;c[T>>2]=(b*10|0)+(c[ja>>2]|0)-48;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0]}c[Fa>>2]=b&2147483647;break}if(a[w>>0]|0){i=Ad(c[N>>2]|0)|0;c[Fa>>2]=i}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[S>>2]=i;c[Fa>>2]=c[S>>2]}i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];if((c[Fa>>2]|0)<0)c[Fa>>2]=(c[Fa>>2]|0)>=-2147483647?0-(c[Fa>>2]|0)|0:-1}else c[Fa>>2]=-1;while(0);do if((c[ja>>2]|0)==108){a[s>>0]=1;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];if((c[ja>>2]|0)==108){a[t>>0]=1;i=(c[P>>2]|0)+1|0;c[P>>2]=i;c[ja>>2]=a[i>>0];break}else{a[t>>0]=0;break}}else{a[t>>0]=0;a[s>>0]=0}while(0);c[C>>2]=17648;a[v>>0]=16;c[j>>2]=0;while(1){if((c[j>>2]|0)>=23)break;b=c[j>>2]|0;if((c[ja>>2]|0)==(a[17648+((c[j>>2]|0)*6|0)>>0]|0)){Ha=56;break}c[j>>2]=b+1}if((Ha|0)==56){Ha=0;c[C>>2]=17648+(b*6|0);if((d[x>>0]|0)==0?d[(c[C>>2]|0)+2>>0]&2|0:0){Ha=272;break}a[v>>0]=a[(c[C>>2]|0)+3>>0]|0}b:do switch(d[v>>0]|0){case 13:{a[t>>0]=0;a[s>>0]=1;Ha=62;break}case 0:case 15:{Ha=62;break}case 3:case 2:case 1:{if(a[w>>0]|0)h[B>>3]=+Bd(c[N>>2]|0);else{i=c[_>>2]|0;f=(c[i>>2]|0)+(8-1)&~(8-1);g=+h[f>>3];c[i>>2]=f+8;h[fa>>3]=g;h[B>>3]=+h[fa>>3]}if((c[Fa>>2]|0)<0)c[Fa>>2]=6;do if(!(+h[B>>3]<0.0)){if(a[n>>0]|0){a[y>>0]=43;break}if(a[o>>0]|0){a[y>>0]=32;break}else{a[y>>0]=0;break}}else{h[B>>3]=-+h[B>>3];a[y>>0]=45}while(0);if((d[v>>0]|0)==3&(c[Fa>>2]|0)>0)c[Fa>>2]=(c[Fa>>2]|0)+-1;c[j>>2]=c[Fa>>2]&4095;h[K>>3]=.5;while(1){if((c[j>>2]|0)<=0)break;c[j>>2]=(c[j>>2]|0)+-1;h[K>>3]=+h[K>>3]*.1}if((d[v>>0]|0)==1)h[B>>3]=+h[B>>3]+ +h[K>>3];c[H>>2]=0;if(Cd(+h[B>>3])|0){c[ua>>2]=17835;c[Ga>>2]=3;break b}if(+h[B>>3]>0.0){h[ga>>3]=1.0;while(1){if(!(+h[B>>3]>=+h[ga>>3]*1.e+100?(c[H>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.e+100;c[H>>2]=(c[H>>2]|0)+100}while(1){if(!(+h[B>>3]>=+h[ga>>3]*1.0e10?(c[H>>2]|0)<=350:0))break;h[ga>>3]=+h[ga>>3]*1.0e10;c[H>>2]=(c[H>>2]|0)+10}while(1){g=+h[ga>>3];if(!(+h[B>>3]>=+h[ga>>3]*10.0?(c[H>>2]|0)<=350:0))break;h[ga>>3]=g*10.0;c[H>>2]=(c[H>>2]|0)+1}h[B>>3]=+h[B>>3]/g;while(1){if(!(+h[B>>3]<1.0e-08))break;h[B>>3]=+h[B>>3]*1.0e8;c[H>>2]=(c[H>>2]|0)-8}while(1){if(!(+h[B>>3]<1.0))break;h[B>>3]=+h[B>>3]*10.0;c[H>>2]=(c[H>>2]|0)+-1}if((c[H>>2]|0)>350){c[ua>>2]=O;a[O>>0]=a[y>>0]|0;i=O+((a[y>>0]|0)!=0&1)|0;a[i>>0]=a[17839]|0;a[i+1>>0]=a[17840]|0;a[i+2>>0]=a[17841]|0;a[i+3>>0]=a[17842]|0;c[Ga>>2]=3+((a[y>>0]|0)!=0&1);break b}}c[ua>>2]=O;if((d[v>>0]|0)!=1?(h[B>>3]=+h[B>>3]+ +h[K>>3],+h[B>>3]>=10.0):0){h[B>>3]=+h[B>>3]*.1;c[H>>2]=(c[H>>2]|0)+1}c:do if((d[v>>0]|0)==3){a[M>>0]=((a[p>>0]|0)!=0^1)&1;do if((c[H>>2]|0)>=-4){if((c[H>>2]|0)>(c[Fa>>2]|0))break;c[Fa>>2]=(c[Fa>>2]|0)-(c[H>>2]|0);a[v>>0]=1;break c}while(0);a[v>>0]=2}else a[M>>0]=a[q>>0]|0;while(0);if((d[v>>0]|0)==2)c[I>>2]=0;else c[I>>2]=c[H>>2];i=(c[I>>2]|0)>0?c[I>>2]|0:0;f=c[Fa>>2]|0;f=IR(i|0,((i|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0;i=c[k>>2]|0;i=IR(f|0,z|0,i|0,((i|0)<0)<<31>>31|0)|0;f=z;if((f|0)>0|(f|0)==0&i>>>0>55?(i=(c[I>>2]|0)>0?c[I>>2]|0:0,f=c[Fa>>2]|0,f=IR(i|0,((i|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0,i=c[k>>2]|0,i=IR(f|0,z|0,i|0,((i|0)<0)<<31>>31|0)|0,i=IR(i|0,z|0,15,0)|0,i=pd(i,z)|0,c[G>>2]=i,c[ua>>2]=i,(c[ua>>2]|0)==0):0){Ha=165;break a}c[D>>2]=c[ua>>2];c[J>>2]=16+((d[q>>0]|0)*10|0);a[L>>0]=((c[Fa>>2]|0)>0?1:0)|d[p>>0]|d[q>>0];if(a[y>>0]|0){f=a[y>>0]|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f}d:do if((c[I>>2]|0)<0){i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=48}else while(1){if((c[I>>2]|0)<0)break d;f=Dd(B,J)|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f;c[I>>2]=(c[I>>2]|0)+-1}while(0);if(a[L>>0]|0){i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=46}c[I>>2]=(c[I>>2]|0)+1;while(1){if((c[I>>2]|0)>=0)break;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=48;c[Fa>>2]=(c[Fa>>2]|0)+-1;c[I>>2]=(c[I>>2]|0)+1}while(1){i=c[Fa>>2]|0;c[Fa>>2]=i+-1;if((i|0)<=0)break;f=Dd(B,J)|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f}do if(d[M>>0]|0){if(!(d[L>>0]|0))break;while(1){b=(c[ua>>2]|0)+-1|0;if((a[(c[ua>>2]|0)+-1>>0]|0)!=48)break;c[ua>>2]=b;a[b>>0]=0}if((a[b>>0]|0)!=46)break;b=c[ua>>2]|0;if(a[q>>0]|0){c[ua>>2]=b+1;a[b>>0]=48;break}else{i=b+-1|0;c[ua>>2]=i;a[i>>0]=0;break}}while(0);if((d[v>>0]|0)==2){b=a[17795+(d[(c[C>>2]|0)+4>>0]|0)>>0]|0;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=b;i=(c[H>>2]|0)<0;b=c[ua>>2]|0;c[ua>>2]=b+1;if(i){a[b>>0]=45;c[H>>2]=0-(c[H>>2]|0)}else a[b>>0]=43;if((c[H>>2]|0)>=100){f=((c[H>>2]|0)/100|0)+48&255;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f;c[H>>2]=(c[H>>2]|0)%100|0}i=((c[H>>2]|0)/10|0)+48&255;f=c[ua>>2]|0;c[ua>>2]=f+1;a[f>>0]=i;f=((c[H>>2]|0)%10|0)+48&255;i=c[ua>>2]|0;c[ua>>2]=i+1;a[i>>0]=f}a[c[ua>>2]>>0]=0;c[Ga>>2]=(c[ua>>2]|0)-(c[D>>2]|0);c[ua>>2]=c[D>>2];if((d[r>>0]|0)==0|(a[m>>0]|0)!=0)break b;if((c[Ga>>2]|0)>=(c[k>>2]|0))break b;c[ia>>2]=(c[k>>2]|0)-(c[Ga>>2]|0);c[ha>>2]=c[k>>2];while(1){if((c[ha>>2]|0)<(c[ia>>2]|0))break;a[(c[ua>>2]|0)+(c[ha>>2]|0)>>0]=a[(c[ua>>2]|0)+((c[ha>>2]|0)-(c[ia>>2]|0))>>0]|0;c[ha>>2]=(c[ha>>2]|0)+-1}c[ha>>2]=(a[y>>0]|0)!=0&1;while(1){i=c[ia>>2]|0;c[ia>>2]=i+-1;if(!i)break;f=c[ua>>2]|0;i=c[ha>>2]|0;c[ha>>2]=i+1;a[f+i>>0]=48}c[Ga>>2]=c[k>>2];break}case 4:{if(!(a[w>>0]|0)){i=c[(c[F>>2]|0)+12>>2]|0;e=c[_>>2]|0;b=(c[e>>2]|0)+(4-1)&~(4-1);f=c[b>>2]|0;c[e>>2]=b+4;c[ka>>2]=f;c[c[ka>>2]>>2]=i}c[k>>2]=0;c[Ga>>2]=0;break}case 7:{a[O>>0]=37;c[ua>>2]=O;c[Ga>>2]=1;break}case 8:{if(a[w>>0]|0){c[ua>>2]=Ed(c[N>>2]|0)|0;if(c[ua>>2]|0)b=a[c[ua>>2]>>0]|0;else b=0;c[ja>>2]=b}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[la>>2]=i;c[ja>>2]=c[la>>2]}if((c[Fa>>2]|0)>1){c[k>>2]=(c[k>>2]|0)-((c[Fa>>2]|0)-1);if(!((c[k>>2]|0)<=1|(a[m>>0]|0)!=0)){Fd(c[F>>2]|0,(c[k>>2]|0)-1|0,32);c[k>>2]=0}Fd(c[F>>2]|0,(c[Fa>>2]|0)-1|0,c[ja>>2]&255)}c[Ga>>2]=1;a[O>>0]=c[ja>>2];c[ua>>2]=O;break}case 6:case 5:{if(a[w>>0]|0){c[ua>>2]=Ed(c[N>>2]|0)|0;a[v>>0]=5}else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[ma>>2]=i;c[ua>>2]=c[ma>>2]}if(c[ua>>2]|0){if((d[v>>0]|0)==6)c[G>>2]=c[ua>>2]}else c[ua>>2]=47636;if((c[Fa>>2]|0)<0){c[Ga>>2]=_c(c[ua>>2]|0)|0;break b}c[Ga>>2]=0;while(1){if((c[Ga>>2]|0)>=(c[Fa>>2]|0))break b;if(!(a[(c[ua>>2]|0)+(c[Ga>>2]|0)>>0]|0))break b;c[Ga>>2]=(c[Ga>>2]|0)+1}}case 14:case 10:case 9:{a[va>>0]=(d[v>>0]|0)==14?34:39;if(a[w>>0]|0)c[wa>>2]=Ed(c[N>>2]|0)|0;else{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[xa>>2]=i;c[wa>>2]=c[xa>>2]}c[ra>>2]=(c[wa>>2]|0)==0&1;if(c[ra>>2]|0)c[wa>>2]=(d[v>>0]|0)==10?17843:17848;c[pa>>2]=c[Fa>>2];c[qa>>2]=0;c[na>>2]=0;while(1){if(!(c[pa>>2]|0))break;i=a[(c[wa>>2]|0)+(c[na>>2]|0)>>0]|0;a[ta>>0]=i;if(!(i<<24>>24))break;if((a[ta>>0]|0)==(a[va>>0]|0))c[qa>>2]=(c[qa>>2]|0)+1;c[na>>2]=(c[na>>2]|0)+1;c[pa>>2]=(c[pa>>2]|0)+-1}if(c[ra>>2]|0)b=0;else b=(d[v>>0]|0)==10;c[sa>>2]=b&1;c[qa>>2]=(c[qa>>2]|0)+((c[na>>2]|0)+3);if((c[qa>>2]|0)>70){i=c[qa>>2]|0;i=pd(i,((i|0)<0)<<31>>31)|0;c[G>>2]=i;c[ua>>2]=i;if(!(c[ua>>2]|0)){Ha=245;break a}}else c[ua>>2]=O;c[oa>>2]=0;if(c[sa>>2]|0){e=a[va>>0]|0;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e}c[pa>>2]=c[na>>2];c[na>>2]=0;while(1){if((c[na>>2]|0)>=(c[pa>>2]|0))break;e=a[(c[wa>>2]|0)+(c[na>>2]|0)>>0]|0;a[ta>>0]=e;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e;if((a[ta>>0]|0)==(a[va>>0]|0)){e=a[ta>>0]|0;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e}c[na>>2]=(c[na>>2]|0)+1}if(c[sa>>2]|0){e=a[va>>0]|0;f=c[ua>>2]|0;i=c[oa>>2]|0;c[oa>>2]=i+1;a[f+i>>0]=e}a[(c[ua>>2]|0)+(c[oa>>2]|0)>>0]=0;c[Ga>>2]=c[oa>>2];break}case 11:{f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[za>>2]=i;c[ya>>2]=c[za>>2];if(c[ya>>2]|0?c[(c[ya>>2]|0)+4>>2]|0:0)zd(c[F>>2]|0,c[c[ya>>2]>>2]|0,c[(c[ya>>2]|0)+4>>2]|0);c[k>>2]=0;c[Ga>>2]=0;break}case 12:{e=c[_>>2]|0;i=(c[e>>2]|0)+(4-1)&~(4-1);f=c[i>>2]|0;c[e>>2]=i+4;c[Ba>>2]=f;c[Aa>>2]=c[Ba>>2];f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);i=c[e>>2]|0;c[f>>2]=e+4;c[Da>>2]=i;c[Ca>>2]=c[Da>>2];c[Ea>>2]=(c[Aa>>2]|0)+8+((c[Ca>>2]|0)*72|0);if(c[(c[Ea>>2]|0)+4>>2]|0){Gd(c[F>>2]|0,c[(c[Ea>>2]|0)+4>>2]|0);zd(c[F>>2]|0,17855,1)}Gd(c[F>>2]|0,c[(c[Ea>>2]|0)+8>>2]|0);c[k>>2]=0;c[Ga>>2]=0;break}default:{Ha=272;break a}}while(0);if((Ha|0)==62){Ha=0;b=(a[w>>0]|0)!=0;do if(d[(c[C>>2]|0)+2>>0]&1|0){do if(!b){if(a[t>>0]|0){e=c[_>>2]|0;b=(c[e>>2]|0)+(8-1)&~(8-1);f=b;i=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=b+8;e=V;c[e>>2]=i;c[e+4>>2]=f;e=V;f=c[e+4>>2]|0;i=U;c[i>>2]=c[e>>2];c[i+4>>2]=f;break}i=(a[s>>0]|0)!=0;f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if(i){c[W>>2]=b;f=c[W>>2]|0;i=U;c[i>>2]=f;c[i+4>>2]=((f|0)<0)<<31>>31;break}else{c[X>>2]=b;f=c[X>>2]|0;i=U;c[i>>2]=f;c[i+4>>2]=((f|0)<0)<<31>>31;break}}else{f=Ad(c[N>>2]|0)|0;i=U;c[i>>2]=f;c[i+4>>2]=z}while(0);e=U;b=c[e>>2]|0;e=c[e+4>>2]|0;if((c[U+4>>2]|0)<0){if((b|0)==0&(e|0)==-2147483648){i=A;c[i>>2]=0;c[i+4>>2]=-2147483648}else{f=U;f=FR(0,0,c[f>>2]|0,c[f+4>>2]|0)|0;i=A;c[i>>2]=f;c[i+4>>2]=z}a[y>>0]=45;break}i=A;c[i>>2]=b;c[i+4>>2]=e;if(a[n>>0]|0){a[y>>0]=43;break}if(a[o>>0]|0){a[y>>0]=32;break}else{a[y>>0]=0;break}}else{do if(!b){if(a[t>>0]|0){e=c[_>>2]|0;b=(c[e>>2]|0)+(8-1)&~(8-1);f=b;i=c[f>>2]|0;f=c[f+4>>2]|0;c[e>>2]=b+8;e=Y;c[e>>2]=i;c[e+4>>2]=f;e=Y;f=c[e+4>>2]|0;i=A;c[i>>2]=c[e>>2];c[i+4>>2]=f;break}i=(a[s>>0]|0)!=0;f=c[_>>2]|0;e=(c[f>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[f>>2]=e+4;if(i){c[Z>>2]=b;i=A;c[i>>2]=c[Z>>2];c[i+4>>2]=0;break}else{c[$>>2]=b;i=A;c[i>>2]=c[$>>2];c[i+4>>2]=0;break}}else{f=Ad(c[N>>2]|0)|0;i=A;c[i>>2]=f;c[i+4>>2]=z}while(0);a[y>>0]=0}while(0);i=A;if((c[i>>2]|0)==0&(c[i+4>>2]|0)==0)a[p>>0]=0;if(d[r>>0]|0?(c[Fa>>2]|0)<((c[k>>2]|0)-((a[y>>0]|0)!=0&1)|0):0)c[Fa>>2]=(c[k>>2]|0)-((a[y>>0]|0)!=0&1);if((c[Fa>>2]|0)>=60){c[E>>2]=(c[Fa>>2]|0)+10;i=c[E>>2]|0;i=pd(i,((i|0)<0)<<31>>31)|0;c[G>>2]=i;c[D>>2]=i;if(!(c[D>>2]|0)){Ha=96;break}}else{c[E>>2]=70;c[D>>2]=O}c[ua>>2]=(c[D>>2]|0)+((c[E>>2]|0)-1);if((d[v>>0]|0)==15){i=A;i=UR(c[i>>2]|0,c[i+4>>2]|0,10,0)|0;c[aa>>2]=i;if(!((c[aa>>2]|0)<4?(i=A,i=PR(c[i>>2]|0,c[i+4>>2]|0,10,0)|0,i=UR(i|0,z|0,10,0)|0,!((i|0)==1&(z|0)==0)):0))c[aa>>2]=0;i=a[17786+((c[aa>>2]<<1)+1)>>0]|0;f=(c[ua>>2]|0)+-1|0;c[ua>>2]=f;a[f>>0]=i;f=a[17786+(c[aa>>2]<<1)>>0]|0;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=f}c[ba>>2]=17795+(d[(c[C>>2]|0)+4>>0]|0);a[ca>>0]=a[(c[C>>2]|0)+1>>0]|0;do{f=c[ba>>2]|0;i=A;i=UR(c[i>>2]|0,c[i+4>>2]|0,d[ca>>0]|0,0)|0;i=a[f+i>>0]|0;f=(c[ua>>2]|0)+-1|0;c[ua>>2]=f;a[f>>0]=i;f=A;f=PR(c[f>>2]|0,c[f+4>>2]|0,d[ca>>0]|0,0)|0;i=A;c[i>>2]=f;c[i+4>>2]=z;i=A;f=c[i+4>>2]|0}while(f>>>0>0|(f|0)==0&(c[i>>2]|0)>>>0>0);c[Ga>>2]=(c[D>>2]|0)+((c[E>>2]|0)-1)-(c[ua>>2]|0);c[j>>2]=(c[Fa>>2]|0)-(c[Ga>>2]|0);while(1){if((c[j>>2]|0)<=0)break;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=48;c[j>>2]=(c[j>>2]|0)+-1}if(a[y>>0]|0){f=a[y>>0]|0;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=f}e:do if(d[p>>0]|0?d[(c[C>>2]|0)+5>>0]|0:0){c[da>>2]=17828+(d[(c[C>>2]|0)+5>>0]|0);while(1){i=a[c[da>>2]>>0]|0;a[ea>>0]=i;if(!(i<<24>>24))break e;f=a[ea>>0]|0;i=(c[ua>>2]|0)+-1|0;c[ua>>2]=i;a[i>>0]=f;c[da>>2]=(c[da>>2]|0)+1}}while(0);c[Ga>>2]=(c[D>>2]|0)+((c[E>>2]|0)-1)-(c[ua>>2]|0)}c[k>>2]=(c[k>>2]|0)-(c[Ga>>2]|0);if(!((c[k>>2]|0)<=0|(a[m>>0]|0)!=0))Fd(c[F>>2]|0,c[k>>2]|0,32);zd(c[F>>2]|0,c[ua>>2]|0,c[Ga>>2]|0);if((c[k>>2]|0)>0?d[m>>0]|0:0)Fd(c[F>>2]|0,c[k>>2]|0,32);if(c[G>>2]|0){Hd(c[c[F>>2]>>2]|0,c[G>>2]|0);c[G>>2]=0}c[P>>2]=(c[P>>2]|0)+1}if((Ha|0)==13){zd(c[F>>2]|0,17646,1);l=Ia;return}else if((Ha|0)==96){nd(c[F>>2]|0,1);l=Ia;return}else if((Ha|0)==165){nd(c[F>>2]|0,1);l=Ia;return}else if((Ha|0)==245){nd(c[F>>2]|0,1);l=Ia;return}else if((Ha|0)==272){l=Ia;return}}function ld(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;do if((c[(c[e>>2]|0)+8>>2]|0?(a[(c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)>>0]=0,(c[(c[e>>2]|0)+20>>2]|0)>>>0>0):0)?((d[(c[e>>2]|0)+25>>0]|0)&4|0)==0:0){b=md(c[c[e>>2]>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0,0)|0;c[(c[e>>2]|0)+8>>2]=b;b=c[e>>2]|0;if(c[(c[e>>2]|0)+8>>2]|0){MR(c[b+8>>2]|0,c[(c[e>>2]|0)+4>>2]|0,(c[(c[e>>2]|0)+12>>2]|0)+1|0)|0;b=(c[e>>2]|0)+25|0;a[b>>0]=d[b>>0]|0|4;break}else{nd(b,1);break}}while(0);l=f;return c[(c[e>>2]|0)+8>>2]|0}function md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i;h=i+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0){h=g;c[e>>2]=od(c[f>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=pd(c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function nd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[f>>2]=b;a[g>>0]=d;a[(c[f>>2]|0)+24>>0]=a[g>>0]|0;c[(c[f>>2]|0)+16>>2]=0;l=e;return}function od(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=f;do if(c[(c[h>>2]|0)+256>>2]|0){if(a[(c[h>>2]|0)+69>>0]|0){c[g>>2]=0;j=c[g>>2]|0;l=k;return j|0}}else{f=i;d=c[f+4>>2]|0;b=(c[h>>2]|0)+256|0;if(d>>>0>0|((d|0)==0?(c[f>>2]|0)>>>0>(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)){j=b+16+4|0;c[j>>2]=(c[j>>2]|0)+1;break}f=c[b+28>>2]|0;c[j>>2]=f;if(!f){j=(c[h>>2]|0)+256+16+8|0;c[j>>2]=(c[j>>2]|0)+1;break}c[(c[h>>2]|0)+256+28>>2]=c[c[j>>2]>>2];i=(c[h>>2]|0)+256+8|0;c[i>>2]=(c[i>>2]|0)+1;i=(c[h>>2]|0)+256+16|0;c[i>>2]=(c[i>>2]|0)+1;if((c[(c[h>>2]|0)+256+8>>2]|0)>(c[(c[h>>2]|0)+256+12>>2]|0))c[(c[h>>2]|0)+256+12>>2]=c[(c[h>>2]|0)+256+8>>2];c[g>>2]=c[j>>2];j=c[g>>2]|0;l=k;return j|0}while(0);j=i;c[g>>2]=xd(c[h>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[g>>2]|0;l=k;return j|0}function pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;g=d;b=d;a=c[b+4>>2]|0;if((c[g>>2]|0)==0&(c[g+4>>2]|0)==0|(a>>>0>0|(a|0)==0&(c[b>>2]|0)>>>0>=2147483392)){c[e>>2]=0;g=c[e>>2]|0;l=f;return g|0}if(c[2]|0){qd(c[d>>2]|0,e)|0;g=c[e>>2]|0;l=f;return g|0}else{c[e>>2]=tb[c[48>>2]&255](c[d>>2]|0)|0;g=c[e>>2]|0;l=f;return g|0}return 0}function qd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[i>>2]=a;c[d>>2]=b;c[e>>2]=tb[c[64>>2]&255](c[i>>2]|0)|0;rd(5,c[i>>2]|0);b=46712;a=c[b+4>>2]|0;do if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0){b=sd(0)|0;a=g;c[a>>2]=b;c[a+4>>2]=z;a=g;g=c[a>>2]|0;a=c[a+4>>2]|0;b=46712;i=c[e>>2]|0;i=FR(c[b>>2]|0,c[b+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;b=z;if((a|0)>(b|0)|(a|0)==(b|0)&g>>>0>=i>>>0){c[11683]=1;td(c[e>>2]|0);break}else{c[11683]=0;break}}while(0);c[f>>2]=tb[c[48>>2]&255](c[e>>2]|0)|0;if(!(c[f>>2]|0)){g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}c[e>>2]=ud(c[f>>2]|0)|0;vd(0,c[e>>2]|0);vd(9,1);g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}function rd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[g>>2];if((c[e>>2]|0)>>>0<=(c[46780+(c[d>>2]<<2)>>2]|0)>>>0){l=f;return}c[46780+(c[d>>2]<<2)>>2]=c[e>>2];l=f;return}function sd(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;z=0;l=d;return c[46740+(c[b>>2]<<2)>>2]|0}function td(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d;c[b>>2]=a;a=46712;e=c[a+4>>2]|0;if((e|0)<0|(e|0)==0&(c[a>>2]|0)>>>0<=0){l=d;return}wd(c[b>>2]|0)|0;l=d;return}function ud(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=tb[c[60>>2]&255](c[d>>2]|0)|0;l=b;return a|0}function vd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e+4|0;f=e;c[d>>2]=a;c[f>>2]=b;b=46740+(c[d>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)+(c[f>>2]|0);if((c[46740+(c[d>>2]<<2)>>2]|0)>>>0<=(c[46780+(c[d>>2]<<2)>>2]|0)>>>0){l=e;return}c[46780+(c[d>>2]<<2)>>2]=c[46740+(c[d>>2]<<2)>>2];l=e;return}function wd(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g;f=g+8|0;c[e>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;d=h;c[f>>2]=pd(c[d>>2]|0,c[d+4>>2]|0)|0;if(c[f>>2]|0){h=c[f>>2]|0;l=g;return h|0}yd(c[e>>2]|0);h=c[f>>2]|0;l=g;return h|0}function yd(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(d[(c[e>>2]|0)+69>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+70>>0]|0|0){l=f;return}a[(c[e>>2]|0)+69>>0]=1;if((c[(c[e>>2]|0)+168>>2]|0)>0)c[(c[e>>2]|0)+248>>2]=1;e=(c[e>>2]|0)+256|0;c[e>>2]=(c[e>>2]|0)+1;l=f;return}function zd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(((c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]|0)|0)>>>0>=(c[(c[e>>2]|0)+16>>2]|0)>>>0){Fj(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);l=h;return}else{d=(c[e>>2]|0)+12|0;c[d>>2]=(c[d>>2]|0)+(c[g>>2]|0);MR((c[(c[e>>2]|0)+8>>2]|0)+((c[(c[e>>2]|0)+12>>2]|0)-(c[g>>2]|0))|0,c[f>>2]|0,c[g>>2]|0)|0;l=h;return}}function Ad(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){d=b;c[d>>2]=0;c[d+4>>2]=0;d=b;d=c[d>>2]|0;b=b+4|0;b=c[b>>2]|0;z=b;l=e;return d|0}else{f=c[(c[d>>2]|0)+8>>2]|0;d=(c[d>>2]|0)+4|0;a=c[d>>2]|0;c[d>>2]=a+1;a=ki(c[f+(a<<2)>>2]|0)|0;d=b;c[d>>2]=a;c[d+4>>2]=z;d=b;d=c[d>>2]|0;b=b+4|0;b=c[b>>2]|0;z=b;l=e;return d|0}return 0}function Bd(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;e=l;l=l+16|0;b=e;d=e+8|0;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){h[b>>3]=0.0;f=+h[b>>3];l=e;return +f}else{a=c[(c[d>>2]|0)+8>>2]|0;g=(c[d>>2]|0)+4|0;d=c[g>>2]|0;c[g>>2]=d+1;h[b>>3]=+mi(c[a+(d<<2)>>2]|0);f=+h[b>>3];l=e;return +f}return 0.0}function Cd(a){a=+a;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+32|0;g=d+16|0;b=d+24|0;f=d+8|0;e=d;h[g>>3]=a;h[f>>3]=+h[g>>3];h[e>>3]=+h[f>>3];c[b>>2]=+h[f>>3]!=+h[e>>3]&1;l=d;return c[b>>2]|0}function Dd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;i=k+8|0;j=k;c[f>>2]=b;c[g>>2]=d;if((c[c[g>>2]>>2]|0)<=0){a[e>>0]=48;j=a[e>>0]|0;l=k;return j|0}else{g=c[g>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;c[i>>2]=~~+h[c[f>>2]>>3];h[j>>3]=+(c[i>>2]|0);c[i>>2]=(c[i>>2]|0)+48;h[c[f>>2]>>3]=(+h[c[f>>2]>>3]-+h[j>>3])*10.0;a[e>>0]=c[i>>2];j=a[e>>0]|0;l=k;return j|0}return 0}function Ed(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if((c[c[d>>2]>>2]|0)<=(c[(c[d>>2]|0)+4>>2]|0)){c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}else{a=c[(c[d>>2]|0)+8>>2]|0;f=(c[d>>2]|0)+4|0;d=c[f>>2]|0;c[f>>2]=d+1;c[b>>2]=wh(c[a+(d<<2)>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}return 0}function Fd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+4|0;g=i;h=i+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;e=c[g>>2]|0;e=IR(c[(c[f>>2]|0)+12>>2]|0,0,e|0,((e|0)<0)<<31>>31|0)|0;d=z;if((d|0)>0|((d|0)==0?e>>>0>=(c[(c[f>>2]|0)+16>>2]|0)>>>0:0)?(e=Nd(c[f>>2]|0,c[g>>2]|0)|0,c[g>>2]=e,(e|0)<=0):0){l=i;return}while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0)break;b=a[h>>0]|0;d=c[(c[f>>2]|0)+8>>2]|0;j=(c[f>>2]|0)+12|0;e=c[j>>2]|0;c[j>>2]=e+1;a[d+e>>0]=b}l=i;return}function Gd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;zd(a,b,_c(c[e>>2]|0)|0);l=d;return}function Hd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}if(c[d>>2]|0){a=c[d>>2]|0;b=c[e>>2]|0;if(c[(c[d>>2]|0)+456>>2]|0){Id(a,b);l=g;return}if(Jd(a,b)|0){c[f>>2]=c[e>>2];c[c[f>>2]>>2]=c[(c[d>>2]|0)+256+28>>2];c[(c[d>>2]|0)+256+28>>2]=c[f>>2];f=(c[d>>2]|0)+256+8|0;c[f>>2]=(c[f>>2]|0)+-1;l=g;return}}Kd(c[e>>2]|0);l=g;return}function Id(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;a=Md(c[e>>2]|0,c[f>>2]|0)|0;b=c[(c[e>>2]|0)+456>>2]|0;c[b>>2]=(c[b>>2]|0)+a;l=d;return}function Jd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+32>>2]|0)>>>0){e=0;e=e&1;l=f;return e|0}e=(c[e>>2]|0)>>>0<(c[(c[d>>2]|0)+256+36>>2]|0)>>>0;e=e&1;l=f;return e|0}function Kd(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}if(c[2]|0){Ld(0,ud(c[b>>2]|0)|0);Ld(9,1);qb[c[52>>2]&255](c[b>>2]|0);l=d;return}else{qb[c[52>>2]&255](c[b>>2]|0);l=d;return}}function Ld(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=46740+(c[f>>2]<<2)|0;c[b>>2]=(c[b>>2]|0)-(c[e>>2]|0);l=d;return}function Md(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(c[f>>2]|0?Jd(c[f>>2]|0,c[g>>2]|0)|0:0){c[d>>2]=e[(c[f>>2]|0)+256+4>>1];g=c[d>>2]|0;l=h;return g|0}c[d>>2]=tb[c[60>>2]&255](c[g>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}function Nd(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+24|0;i=m+20|0;j=m+16|0;k=m+12|0;f=m+8|0;g=m;c[i>>2]=b;c[j>>2]=e;if(a[(c[i>>2]|0)+24>>0]|0){c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}b=c[i>>2]|0;if(!(c[(c[i>>2]|0)+20>>2]|0)){c[j>>2]=(c[b+16>>2]|0)-(c[(c[i>>2]|0)+12>>2]|0)-1;nd(c[i>>2]|0,2);c[h>>2]=c[j>>2];k=c[h>>2]|0;l=m;return k|0}if(d[b+25>>0]&4|0)b=c[(c[i>>2]|0)+8>>2]|0;else b=0;c[f>>2]=b;b=g;c[b>>2]=c[(c[i>>2]|0)+12>>2];c[b+4>>2]=0;b=(c[j>>2]|0)+1|0;e=g;b=IR(c[e>>2]|0,c[e+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;e=g;c[e>>2]=b;c[e+4>>2]=z;e=g;e=IR(c[e>>2]|0,c[e+4>>2]|0,c[(c[i>>2]|0)+12>>2]|0,0)|0;b=z;if((b|0)<0|((b|0)==0?e>>>0<=(c[(c[i>>2]|0)+20>>2]|0)>>>0:0)){b=g;b=IR(c[b>>2]|0,c[b+4>>2]|0,c[(c[i>>2]|0)+12>>2]|0,0)|0;e=g;c[e>>2]=b;c[e+4>>2]=z}e=g;b=c[e+4>>2]|0;if((b|0)>0|((b|0)==0?(c[e>>2]|0)>>>0>(c[(c[i>>2]|0)+20>>2]|0)>>>0:0)){Od(c[i>>2]|0);nd(c[i>>2]|0,2);c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}c[(c[i>>2]|0)+16>>2]=c[g>>2];if(c[c[i>>2]>>2]|0)c[k>>2]=Pd(c[c[i>>2]>>2]|0,c[f>>2]|0,c[(c[i>>2]|0)+16>>2]|0,0)|0;else c[k>>2]=Qd(c[f>>2]|0,c[(c[i>>2]|0)+16>>2]|0,0)|0;b=c[i>>2]|0;if(!(c[k>>2]|0)){Od(b);nd(c[i>>2]|0,1);c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}if((d[b+25>>0]&4|0)==0?(c[(c[i>>2]|0)+12>>2]|0)>>>0>0:0)MR(c[k>>2]|0,c[(c[i>>2]|0)+8>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0;c[(c[i>>2]|0)+8>>2]=c[k>>2];k=Md(c[c[i>>2]>>2]|0,c[k>>2]|0)|0;c[(c[i>>2]|0)+16>>2]=k;k=(c[i>>2]|0)+25|0;a[k>>0]=d[k>>0]|4;c[h>>2]=c[j>>2];k=c[h>>2]|0;l=m;return k|0}function Od(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(!((d[(c[e>>2]|0)+25>>0]|0)&4)){e=c[e>>2]|0;e=e+8|0;c[e>>2]=0;l=f;return}Hd(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+8>>2]|0);b=(c[e>>2]|0)+25|0;a[b>>0]=(d[b>>0]|0)&-5;e=c[e>>2]|0;e=e+8|0;c[e>>2]=0;l=f;return}function Pd(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k;c[h>>2]=a;c[i>>2]=b;a=j;c[a>>2]=d;c[a+4>>2]=f;a=c[h>>2]|0;if(!(c[i>>2]|0)){c[g>>2]=od(a,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[g>>2]|0;l=k;return j|0}if(Jd(a,c[i>>2]|0)|0?(f=j,d=c[f+4>>2]|0,d>>>0<0|((d|0)==0?(c[f>>2]|0)>>>0<=(e[(c[h>>2]|0)+256+4>>1]|0)>>>0:0)):0){c[g>>2]=c[i>>2];j=c[g>>2]|0;l=k;return j|0}c[g>>2]=Ej(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[g>>2]|0;l=k;return j|0}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(Rd()|0){c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=Sd(c[f>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}return 0}function Rd(){var a=0,b=0,d=0,e=0,f=0;e=l;l=l+16|0;a=e+4|0;b=e;if(c[59]|0){c[a>>2]=0;f=c[a>>2]|0;l=e;return f|0}c[b>>2]=0;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;l=e;return f|0}c[61]=1;if(!(c[62]|0))c[b>>2]=Td()|0;if(((c[b>>2]|0)==0?(c[62]=1,(c[65]|0)==0):0)?(c[65]=8,!((c[3]|0)==0|(c[65]|0)!=0)):0)c[b>>2]=7;if(!(c[b>>2]|0))c[64]=(c[64]|0)+1;if(c[b>>2]|0){c[a>>2]=c[b>>2];f=c[a>>2]|0;l=e;return f|0}if((c[59]|0)==0&(c[60]|0)==0){c[60]=1;d=46920;f=d+92|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(f|0));Ud();if(!(c[63]|0))c[b>>2]=Vd()|0;if(!(c[b>>2]|0)){c[63]=1;c[b>>2]=Wd()|0}if(!(c[b>>2]|0)){Xd(c[53]|0,c[54]|0,c[55]|0);c[59]=1}c[60]=0}c[64]=(c[64]|0)+-1;if((c[64]|0)<=0)c[65]=0;c[a>>2]=c[b>>2];f=c[a>>2]|0;l=e;return f|0}function Sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;e=m+28|0;f=m+24|0;g=m;h=m+20|0;i=m+16|0;j=m+12|0;k=m+8|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;b=g;a=c[b>>2]|0;b=c[b+4>>2]|0;if(!(c[f>>2]|0)){c[e>>2]=pd(a,b)|0;k=c[e>>2]|0;l=m;return k|0}if((a|0)==0&(b|0)==0){Kd(c[f>>2]|0);c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}d=g;b=c[d+4>>2]|0;if(b>>>0>0|(b|0)==0&(c[d>>2]|0)>>>0>=2147483392){c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}c[h>>2]=ud(c[f>>2]|0)|0;c[i>>2]=tb[c[64>>2]&255](c[g>>2]|0)|0;do if((c[h>>2]|0)!=(c[i>>2]|0)){if(!(c[2]|0)){c[k>>2]=yb[c[56>>2]&255](c[f>>2]|0,c[i>>2]|0)|0;break}rd(5,c[g>>2]|0);c[j>>2]=(c[i>>2]|0)-(c[h>>2]|0);b=sd(0)|0;n=z;a=46712;d=c[j>>2]|0;d=FR(c[a>>2]|0,c[a+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;a=z;if((n|0)>(a|0)|(n|0)==(a|0)&b>>>0>=d>>>0)td(c[j>>2]|0);c[k>>2]=yb[c[56>>2]&255](c[f>>2]|0,c[i>>2]|0)|0;n=46712;j=c[n+4>>2]|0;if((c[k>>2]|0)==0&((j|0)>0|(j|0)==0&(c[n>>2]|0)>>>0>0)){td(c[g>>2]|0);c[k>>2]=yb[c[56>>2]&255](c[f>>2]|0,c[i>>2]|0)|0}if(c[k>>2]|0){c[i>>2]=ud(c[k>>2]|0)|0;vd(0,(c[i>>2]|0)-(c[h>>2]|0)|0)}}else c[k>>2]=c[f>>2];while(0);c[e>>2]=c[k>>2];n=c[e>>2]|0;l=m;return n|0}function Td(){var a=0,b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;a=g+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;if(!(c[12]|0))Tf();c[11676]=0;c[11677]=0;c[11678]=0;c[11679]=0;c[11680]=0;c[11681]=0;c[11682]=0;c[11683]=0;c[11676]=8;if((c[50]|0)!=0&(c[51]|0)>=100&(c[52]|0)>0){c[e>>2]=c[51]&-8;c[51]=c[e>>2];c[f>>2]=c[50];c[d>>2]=c[52];c[11681]=c[f>>2];c[11682]=c[d>>2];c[b>>2]=0;while(1){if((c[b>>2]|0)>=((c[d>>2]|0)-1|0))break;c[c[f>>2]>>2]=(c[f>>2]|0)+(c[e>>2]|0);c[f>>2]=c[c[f>>2]>>2];c[b>>2]=(c[b>>2]|0)+1}c[c[f>>2]>>2]=0;c[11680]=(c[f>>2]|0)+4}else{c[11680]=0;c[50]=0;c[51]=0;c[52]=0}if((c[53]|0)==0|(c[54]|0)<512|(c[55]|0)<=0){c[53]=0;c[54]=0}c[a>>2]=tb[c[68>>2]&255](c[19]|0)|0;if(!(c[a>>2]|0)){f=c[a>>2]|0;l=g;return f|0};c[11676]=0;c[11677]=0;c[11678]=0;c[11679]=0;c[11680]=0;c[11681]=0;c[11682]=0;c[11683]=0;f=c[a>>2]|0;l=g;return f|0}function Ud(){Eg();Fg();Gg(2012,57);return}function Vd(){if(!(c[31]|0))Rf();return tb[c[124>>2]&255](c[30]|0)|0}function Wd(){var a=0,b=0,d=0;d=l;l=l+16|0;a=d+4|0;b=d;c[b>>2]=Yd(10)|0;if(!(c[b>>2]|0)){c[a>>2]=7;b=c[a>>2]|0;l=d;return b|0}else{Kd(c[b>>2]|0);c[a>>2]=Zd()|0;b=c[a>>2]|0;l=d;return b|0}return 0}function Xd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[11718]|0)){l=i;return}if(!(c[e>>2]|0)){c[g>>2]=0;c[f>>2]=0}c[f>>2]=c[f>>2]&-8;c[11721]=c[f>>2];d=c[g>>2]|0;c[11728]=d;c[11722]=d;if((c[g>>2]|0)>90)a=10;else a=((c[g>>2]|0)/10|0)+1|0;c[11723]=a;c[11724]=c[e>>2];c[11727]=0;c[11729]=0;while(1){d=c[g>>2]|0;c[g>>2]=d+-1;a=c[e>>2]|0;if(!d)break;c[h>>2]=a;c[c[h>>2]>>2]=c[11727];c[11727]=c[h>>2];c[e>>2]=(c[e>>2]|0)+(c[f>>2]|0)}c[11725]=a;l=i;return}function Yd(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e+4|0;b=e;c[b>>2]=a;if(Rd()|0){c[d>>2]=0;d=c[d>>2]|0;l=e;return d|0}if((c[b>>2]|0)<=0)a=0;else{a=c[b>>2]|0;a=pd(a,((a|0)<0)<<31>>31)|0}c[d>>2]=a;d=c[d>>2]|0;l=e;return d|0}function Zd(){var a=0,b=0;b=l;l=l+16|0;a=b;c[a>>2]=0;while(1){if((c[a>>2]|0)>>>0>=4)break;_d(972+((c[a>>2]|0)*88|0)|0,(c[a>>2]|0)==0&1)|0;c[a>>2]=(c[a>>2]|0)+1}l=b;return 0}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h+4|0;d=h;c[f>>2]=a;c[g>>2]=b;c[d>>2]=Rd()|0;if(c[d>>2]|0){c[e>>2]=c[d>>2];g=c[e>>2]|0;l=h;return g|0}$d(c[f>>2]|0);a=c[11753]|0;if((c[g>>2]|0)!=0|(c[11753]|0)==0){c[(c[f>>2]|0)+12>>2]=a;c[11753]=c[f>>2]}else{c[(c[f>>2]|0)+12>>2]=c[a+12>>2];c[(c[11753]|0)+12>>2]=c[f>>2]}c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function $d(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){l=f;return}if((c[11753]|0)==(c[d>>2]|0)){c[11753]=c[(c[d>>2]|0)+12>>2];l=f;return}if(!(c[11753]|0)){l=f;return}c[e>>2]=c[11753];while(1){if(c[(c[e>>2]|0)+12>>2]|0)b=(c[(c[e>>2]|0)+12>>2]|0)!=(c[d>>2]|0);else b=0;a=c[(c[e>>2]|0)+12>>2]|0;if(!b)break;c[e>>2]=a}if((a|0)!=(c[d>>2]|0)){l=f;return}c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+12>>2];l=f;return}function ae(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+624|0;B=H+92|0;C=H+88|0;D=H+84|0;E=H+80|0;F=H+76|0;g=H+72|0;h=H+68|0;i=H+64|0;j=H+60|0;k=H+56|0;m=H+52|0;n=H+48|0;o=H+44|0;p=H+40|0;q=H+36|0;r=H+32|0;s=H+28|0;t=H+24|0;u=H+20|0;v=H+96|0;w=H+16|0;x=H+12|0;y=H+8|0;z=H+4|0;A=H;c[C>>2]=a;c[D>>2]=b;c[E>>2]=d;c[F>>2]=e;c[g>>2]=f;c[h>>2]=c[E>>2];c[i>>2]=-1;c[j>>2]=0;c[k>>2]=c[F>>2]&-256;c[n>>2]=0;c[o>>2]=0;c[p>>2]=c[F>>2]&16;c[q>>2]=c[F>>2]&8;c[r>>2]=c[F>>2]&4;c[s>>2]=c[F>>2]&1;c[t>>2]=c[F>>2]&2;if(c[r>>2]|0)if((c[k>>2]|0)==16384|(c[k>>2]|0)==2048)a=1;else a=(c[k>>2]|0)==524288;else a=0;c[u>>2]=a&1;c[w>>2]=c[D>>2];f=c[11754]|0;if((f|0)!=(mR()|0)){c[11754]=mR()|0;Ze(0,0)}a=c[h>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));a=c[w>>2]|0;do if((c[k>>2]|0)!=256){if(!a){c[n>>2]=We(c[(c[C>>2]|0)+8>>2]|0,v)|0;if(!(c[n>>2]|0)){c[w>>2]=v;break}c[B>>2]=c[n>>2];G=c[B>>2]|0;l=H;return G|0}}else{c[x>>2]=qf(a,c[F>>2]|0)|0;if(!(c[x>>2]|0)){c[x>>2]=Ve(12,0)|0;if(!(c[x>>2]|0)){c[B>>2]=7;G=c[B>>2]|0;l=H;return G|0}}else c[i>>2]=c[c[x>>2]>>2];c[(c[h>>2]|0)+28>>2]=c[x>>2]}while(0);if(c[s>>2]|0)c[j>>2]=c[j>>2];if(c[t>>2]|0)c[j>>2]=c[j>>2]|2;if(c[r>>2]|0)c[j>>2]=c[j>>2]|64;if(c[p>>2]|0)c[j>>2]=c[j>>2]|131200;c[j>>2]=c[j>>2];do if((c[i>>2]|0)<0){c[n>>2]=rf(c[w>>2]|0,c[F>>2]|0,y,z,A)|0;if(c[n>>2]|0){c[B>>2]=c[n>>2];G=c[B>>2]|0;l=H;return G|0}c[i>>2]=Oe(c[w>>2]|0,c[j>>2]|0,c[y>>2]|0)|0;if((c[i>>2]|0)<0?(x=(c[(_P()|0)>>2]|0)!=21,x&(c[t>>2]|0)!=0):0){c[F>>2]=c[F>>2]&-7;c[j>>2]=c[j>>2]&-67;c[F>>2]=c[F>>2]|1;c[j>>2]=c[j>>2];c[s>>2]=1;c[i>>2]=Oe(c[w>>2]|0,c[j>>2]|0,c[y>>2]|0)|0}if((c[i>>2]|0)<0){F=Pe(35186)|0;c[n>>2]=Je(F,17932,c[w>>2]|0,35186)|0;break}if(c[F>>2]&526336|0){sf(c[i>>2]|0,c[z>>2]|0,c[A>>2]|0)|0;G=34}else G=34}else G=34;while(0);if((G|0)==34){if(c[g>>2]|0)c[c[g>>2]>>2]=c[F>>2];if(c[(c[h>>2]|0)+28>>2]|0){c[c[(c[h>>2]|0)+28>>2]>>2]=c[i>>2];c[(c[(c[h>>2]|0)+28>>2]|0)+4>>2]=c[F>>2]}if(c[q>>2]|0)tb[c[1608>>2]&255](c[w>>2]|0)|0;if(c[q>>2]|0)c[o>>2]=c[o>>2]|32;if(c[s>>2]|0)c[o>>2]=c[o>>2]|2;c[m>>2]=(c[k>>2]|0)!=256&1;if(c[m>>2]|0)c[o>>2]=c[o>>2]|128;if(c[u>>2]|0)c[o>>2]=c[o>>2]|8;if(c[F>>2]&64|0)c[o>>2]=c[o>>2]|64;c[n>>2]=tf(c[C>>2]|0,c[i>>2]|0,c[E>>2]|0,c[D>>2]|0,c[o>>2]|0)|0}if(c[n>>2]|0)Kd(c[(c[h>>2]|0)+28>>2]|0);c[B>>2]=c[n>>2];G=c[B>>2]|0;l=H;return G|0}function be(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+20|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[j+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if((tb[c[1608>>2]&255](c[f>>2]|0)|0)==-1){if((c[(_P()|0)>>2]|0)==2)c[h>>2]=5898;else c[h>>2]=Je(2570,18036,c[f>>2]|0,35312)|0;c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}do if(c[g>>2]&1|0){c[h>>2]=yb[c[1620>>2]&255](c[f>>2]|0,i)|0;if(c[h>>2]|0){c[h>>2]=0;break}if(ff(c[i>>2]|0,0,0)|0)c[h>>2]=Je(1290,18288,c[f>>2]|0,35322)|0;Ie(0,c[i>>2]|0,35324)}while(0);c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function ce(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+96|0;f=i+84|0;j=i+80|0;h=i+76|0;g=i;c[i+88>>2]=a;c[f>>2]=b;c[j>>2]=d;c[h>>2]=e;if(c[j>>2]|0){j=(yb[c[1440>>2]&255](c[f>>2]|0,6)|0)==0&1;c[c[h>>2]>>2]=j;l=i;return 0}if(!(yb[c[1464>>2]&255](c[f>>2]|0,g)|0))a=(c[g+36>>2]|0)>0;else a=0;c[c[h>>2]>>2]=a&1;l=i;return 0}function de(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+128|0;s=r+112|0;m=r+108|0;n=r+104|0;q=r+100|0;o=r+96|0;g=r+92|0;h=r+88|0;p=r+84|0;i=r+80|0;j=r+4|0;k=r;c[r+116>>2]=b;c[s>>2]=d;c[m>>2]=e;c[n>>2]=f;c[q>>2]=0;c[g>>2]=1;c[h>>2]=c[s>>2];c[p>>2]=0;while(1){c[i>>2]=0;if(yb[c[1740>>2]&255](c[h>>2]|0,j)|0){if((c[(_P()|0)>>2]|0)!=2){s=Pe(35436)|0;c[q>>2]=Je(s,18124,c[h>>2]|0,35436)|0}}else c[i>>2]=(c[j+12>>2]&61440|0)==40960&1;if(c[i>>2]|0){if(!(c[p>>2]|0)){c[p>>2]=Yd(c[m>>2]|0)|0;if(!(c[p>>2]|0))c[q>>2]=7}else{s=(c[g>>2]|0)+1|0;c[g>>2]=s;if((s|0)>100)c[q>>2]=Pe(35447)|0}do if(!(c[q>>2]|0)){c[o>>2]=ob[c[1728>>2]&255](c[h>>2]|0,c[p>>2]|0,(c[m>>2]|0)-1|0)|0;if((c[o>>2]|0)<0){s=Pe(35453)|0;c[q>>2]=Je(s,18115,c[h>>2]|0,35453)|0;break}do if((a[c[p>>2]>>0]|0)!=47){c[k>>2]=_c(c[h>>2]|0)|0;while(1){if((c[k>>2]|0)<=0)break;if((a[(c[h>>2]|0)+((c[k>>2]|0)-1)>>0]|0)==47)break;c[k>>2]=(c[k>>2]|0)+-1}if(((c[o>>2]|0)+(c[k>>2]|0)+1|0)>(c[m>>2]|0)){c[q>>2]=Pe(35459)|0;break}else{TR((c[p>>2]|0)+(c[k>>2]|0)|0,c[p>>2]|0,(c[o>>2]|0)+1|0)|0;MR(c[p>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+(c[k>>2]|0);break}}while(0);a[(c[p>>2]|0)+(c[o>>2]|0)>>0]=0}while(0);c[h>>2]=c[p>>2]}if((c[q>>2]|0)==0?(c[h>>2]|0)!=(c[n>>2]|0):0)c[q>>2]=pf(c[h>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;if(!(c[i>>2]|0)){b=30;break}c[h>>2]=c[n>>2];if(c[q>>2]|0){b=30;break}}if((b|0)==30){Kd(c[p>>2]|0);l=r;return c[q>>2]|0}return 0}function ee(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[k+20>>2]=b;c[f>>2]=d;c[g>>2]=e;GR(c[g>>2]|0,0,c[f>>2]|0)|0;c[11754]=mR()|0;c[h>>2]=Oe(18275,0,0)|0;if((c[h>>2]|0)<0){gb(j|0)|0;i=c[g>>2]|0;a[i>>0]=a[j>>0]|0;a[i+1>>0]=a[j+1>>0]|0;a[i+2>>0]=a[j+2>>0]|0;a[i+3>>0]=a[j+3>>0]|0;j=(c[g>>2]|0)+4|0;a[j>>0]=a[47016]|0;a[j+1>>0]=a[47017]|0;a[j+2>>0]=a[47018]|0;a[j+3>>0]=a[47019]|0;c[f>>2]=8;j=c[f>>2]|0;l=k;return j|0}do{c[i>>2]=ob[c[1512>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;if((c[i>>2]|0)>=0)break}while((c[(_P()|0)>>2]|0)==4);Ie(0,c[h>>2]|0,35583);j=c[f>>2]|0;l=k;return j|0}function fe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[e+8>>2]=a;c[f>>2]=b;c[d>>2]=((c[f>>2]|0)+999999|0)/1e6|0;eR(c[d>>2]|0)|0;l=e;return (c[d>>2]|0)*1e6|0}function ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+12|0;g=e;d=e+8|0;c[e+16>>2]=a;c[f>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;c[d>>2]=ie(0,g)|0;b=g;h[c[f>>2]>>3]=(+((c[b>>2]|0)>>>0)+4294967296.0*+(c[b+4>>2]|0))/864.0e5;l=e;return c[d>>2]|0}function he(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=l;l=l+16|0;c[e+8>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[(_P()|0)>>2]|0;l=e;return d|0}function ie(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+32|0;f=e+12|0;d=e+8|0;g=e;c[e+16>>2]=a;c[f>>2]=b;c[d>>2]=0;hb(g|0,0)|0;b=c[g>>2]|0;b=RR(1e3,0,b|0,((b|0)<0)<<31>>31|0)|0;b=IR(1045635584,49096,b|0,z|0)|0;a=(c[g+4>>2]|0)/1e3|0;a=IR(b|0,z|0,a|0,((a|0)<0)<<31>>31|0)|0;b=c[f>>2]|0;c[b>>2]=a;c[b+4>>2]=z;l=e;return c[d>>2]|0}function je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[j+16>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=12;if(!(c[e>>2]|0)){c[h>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28)break;if(c[1412+((c[g>>2]|0)*12|0)+8>>2]|0)c[1412+((c[g>>2]|0)*12|0)+4>>2]=c[1412+((c[g>>2]|0)*12|0)+8>>2];c[g>>2]=(c[g>>2]|0)+1}i=c[h>>2]|0;l=j;return i|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=28){i=16;break}d=(vQ(c[e>>2]|0,c[1412+((c[g>>2]|0)*12|0)>>2]|0)|0)==0;a=c[g>>2]|0;if(d)break;c[g>>2]=a+1}if((i|0)==16){i=c[h>>2]|0;l=j;return i|0}if(!(c[1412+(a*12|0)+8>>2]|0))c[1412+((c[g>>2]|0)*12|0)+8>>2]=c[1412+((c[g>>2]|0)*12|0)+4>>2];c[h>>2]=0;if(!(c[f>>2]|0))c[f>>2]=c[1412+((c[g>>2]|0)*12|0)+8>>2];c[1412+((c[g>>2]|0)*12|0)+4>>2]=c[f>>2];i=c[h>>2]|0;l=j;return i|0}function ke(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=0;while(1){if((c[e>>2]|0)>>>0>=28){a=6;break}a=(vQ(c[d>>2]|0,c[1412+((c[e>>2]|0)*12|0)>>2]|0)|0)==0;b=c[e>>2]|0;if(a){a=4;break}c[e>>2]=b+1}if((a|0)==4){c[f>>2]=c[1412+(b*12|0)+4>>2];f=c[f>>2]|0;l=g;return f|0}else if((a|0)==6){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function le(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;d=g+4|0;e=g;c[g+8>>2]=a;c[d>>2]=b;c[e>>2]=-1;a:do if(c[d>>2]|0){c[e>>2]=0;while(1){if((c[e>>2]|0)>=27)break a;if(!(vQ(c[d>>2]|0,c[1412+((c[e>>2]|0)*12|0)>>2]|0)|0))break a;c[e>>2]=(c[e>>2]|0)+1}}while(0);c[e>>2]=(c[e>>2]|0)+1;while(1){if((c[e>>2]|0)>=28){a=11;break}b=c[e>>2]|0;if(c[1412+((c[e>>2]|0)*12|0)+4>>2]|0){a=9;break}c[e>>2]=b+1}if((a|0)==9){c[f>>2]=c[1412+(b*12|0)>>2];f=c[f>>2]|0;l=g;return f|0}else if((a|0)==11){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function me(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 1336}function ne(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[d>>2];ue(c[d>>2]|0,0)|0;Kd(c[(c[e>>2]|0)+24>>2]|0);a=jf(c[d>>2]|0)|0;l=b;return a|0}function oe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;i=m+28|0;o=m+24|0;j=m+20|0;k=m+16|0;n=m;g=m+12|0;h=m+8|0;c[o>>2]=a;c[j>>2]=b;c[k>>2]=d;d=n;c[d>>2]=e;c[d+4>>2]=f;c[g>>2]=c[o>>2];f=n;c[h>>2]=hf(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if((c[h>>2]|0)==(c[k>>2]|0)){c[i>>2]=0;o=c[i>>2]|0;l=m;return o|0}if((c[h>>2]|0)<0){c[i>>2]=266;o=c[i>>2]|0;l=m;return o|0}else{df(c[g>>2]|0,0);GR((c[j>>2]|0)+(c[h>>2]|0)|0,0,(c[k>>2]|0)-(c[h>>2]|0)|0)|0;c[i>>2]=522;o=c[i>>2]|0;l=m;return o|0}return 0}function pe(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+28|0;o=n+24|0;j=n+20|0;k=n+16|0;m=n;g=n+12|0;h=n+8|0;c[o>>2]=a;c[j>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;c[g>>2]=c[o>>2];c[h>>2]=0;while(1){o=m;o=bf(c[g>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[h>>2]=o;if(!((o|0)<(c[k>>2]|0)?(c[h>>2]|0)>0:0))break;c[k>>2]=(c[k>>2]|0)-(c[h>>2]|0);f=c[h>>2]|0;o=m;f=IR(c[o>>2]|0,c[o+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;o=m;c[o>>2]=f;c[o+4>>2]=z;c[j>>2]=(c[j>>2]|0)+(c[h>>2]|0)}if((c[k>>2]|0)<=(c[h>>2]|0)){c[i>>2]=0;o=c[i>>2]|0;l=n;return o|0}if((c[h>>2]|0)<0?(c[(c[g>>2]|0)+20>>2]|0)!=28:0){c[i>>2]=778;o=c[i>>2]|0;l=n;return o|0}df(c[g>>2]|0,0);c[i>>2]=13;o=c[i>>2]|0;l=n;return o|0}function qe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;j=i+16|0;f=i;g=i+12|0;h=i+8|0;c[j>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=c[j>>2];if((c[(c[g>>2]|0)+40>>2]|0)>0){j=f;d=c[(c[g>>2]|0)+40>>2]|0;d=IR(c[j>>2]|0,c[j+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;d=FR(d|0,z|0,1,0)|0;j=c[(c[g>>2]|0)+40>>2]|0;j=LR(d|0,z|0,j|0,((j|0)<0)<<31>>31|0)|0;d=c[(c[g>>2]|0)+40>>2]|0;d=RR(j|0,z|0,d|0,((d|0)<0)<<31>>31|0)|0;j=f;c[j>>2]=d;c[j+4>>2]=z}j=f;c[h>>2]=gf(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;if(c[h>>2]|0){j=c[g>>2]|0;df(j,c[(_P()|0)>>2]|0);c[e>>2]=Je(1546,17962,c[(c[g>>2]|0)+32>>2]|0,32998)|0;j=c[e>>2]|0;l=i;return j|0}else{c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}return 0}function re(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;j=l;l=l+32|0;f=j+28|0;o=j+24|0;n=j+20|0;g=j+16|0;h=j+12|0;k=j+8|0;m=j+4|0;i=j;c[o>>2]=a;c[n>>2]=d;c[h>>2]=c[o>>2];c[k>>2]=c[n>>2]&16;c[m>>2]=(c[n>>2]&15|0)==3&1;c[g>>2]=ff(c[(c[h>>2]|0)+12>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;a=c[h>>2]|0;if(c[g>>2]|0){df(a,c[(_P()|0)>>2]|0);c[f>>2]=Je(1034,18264,c[(c[h>>2]|0)+32>>2]|0,32953)|0;o=c[f>>2]|0;l=j;return o|0}if((e[a+18>>1]|0)&8|0){c[g>>2]=yb[c[1620>>2]&255](c[(c[h>>2]|0)+32>>2]|0,i)|0;if(!(c[g>>2]|0)){ff(c[i>>2]|0,0,0)|0;Ie(c[h>>2]|0,c[i>>2]|0,32967)}else c[g>>2]=0;o=(c[h>>2]|0)+18|0;b[o>>1]=(e[o>>1]|0)&-9}c[f>>2]=c[g>>2];o=c[f>>2]|0;l=j;return o|0}function se(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+96|0;d=h+88|0;e=h+84|0;f=h+80|0;i=h+76|0;g=h;c[e>>2]=a;c[f>>2]=b;c[i>>2]=yb[c[1476>>2]&255](c[(c[e>>2]|0)+12>>2]|0,g)|0;if(c[i>>2]|0){i=c[e>>2]|0;df(i,c[(_P()|0)>>2]|0);c[d>>2]=1802;i=c[d>>2]|0;l=h;return i|0}g=c[g+36>>2]|0;i=c[f>>2]|0;c[i>>2]=g;c[i+4>>2]=((g|0)<0)<<31>>31;i=c[f>>2]|0;if((c[i>>2]|0)==1&(c[i+4>>2]|0)==0){i=c[f>>2]|0;c[i>>2]=0;c[i+4>>2]=0}c[d>>2]=0;i=c[d>>2]|0;l=h;return i|0}function te(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[i>>2]=c[(c[h>>2]|0)+24>>2];c[j>>2]=0;if((d[(c[h>>2]|0)+16>>0]|0|0)>0){a[(c[h>>2]|0)+16>>0]=c[g>>2];xa(c[i>>2]|0,0)|0;c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}c[j>>2]=yb[c[1632>>2]&255](c[i>>2]|0,511)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=c[g>>2];c[f>>2]=c[j>>2];n=c[f>>2]|0;l=m;return n|0}c[k>>2]=c[(_P()|0)>>2];if(17!=(c[k>>2]|0)){c[j>>2]=ef(c[k>>2]|0,3850)|0;if((c[j>>2]|0)!=5)df(c[h>>2]|0,c[k>>2]|0)}else c[j>>2]=5;c[f>>2]=c[j>>2];n=c[f>>2]|0;l=m;return n|0}function ue(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;f=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[n>>2];c[i>>2]=c[(c[h>>2]|0)+24>>2];if((d[(c[h>>2]|0)+16>>0]|0|0)==(c[g>>2]|0)){c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}if((c[g>>2]|0)==1){a[(c[h>>2]|0)+16>>0]=1;c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}c[j>>2]=tb[c[1644>>2]&255](c[i>>2]|0)|0;if((c[j>>2]|0)>=0){a[(c[h>>2]|0)+16>>0]=0;c[f>>2]=0;n=c[f>>2]|0;l=m;return n|0}c[k>>2]=c[(_P()|0)>>2];if((c[k>>2]|0)==2)c[j>>2]=0;else{c[j>>2]=2058;df(c[h>>2]|0,c[k>>2]|0)}c[f>>2]=c[j>>2];n=c[f>>2]|0;l=m;return n|0}function ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;i=e+16|0;f=e+12|0;d=e+8|0;g=e+4|0;h=e;c[i>>2]=a;c[f>>2]=b;c[d>>2]=0;c[g>>2]=0;c[h>>2]=c[i>>2];c[g>>2]=(yb[c[1440>>2]&255](c[(c[h>>2]|0)+24>>2]|0,0)|0)==0&1;c[c[f>>2]>>2]=c[g>>2];l=e;return c[d>>2]|0}function we(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;k=m;f=m+28|0;o=m+24|0;n=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[o>>2]=a;c[n>>2]=b;c[g>>2]=e;c[h>>2]=c[o>>2];do switch(c[n>>2]|0){case 1:{c[c[g>>2]>>2]=d[(c[h>>2]|0)+16>>0];c[f>>2]=0;break}case 4:{c[c[g>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[f>>2]=0;break}case 6:{c[(c[h>>2]|0)+40>>2]=c[c[g>>2]>>2];c[f>>2]=0;break}case 5:{o=c[g>>2]|0;c[i>>2]=Se(c[h>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[f>>2]=c[i>>2];break}case 10:{Te(c[h>>2]|0,4,c[g>>2]|0);c[f>>2]=0;break}case 13:{Te(c[h>>2]|0,16,c[g>>2]|0);c[f>>2]=0;break}case 12:{c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+16>>2];o=Ue(18130,k)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}case 16:{o=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0;c[j>>2]=Ve(o,((o|0)<0)<<31>>31)|0;if(c[j>>2]|0){We(c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2]|0,c[j>>2]|0)|0;c[c[g>>2]>>2]=c[j>>2]}c[f>>2]=0;break}case 20:{o=Xe(c[h>>2]|0)|0;c[c[g>>2]>>2]=o;c[f>>2]=0;break}default:c[f>>2]=12}while(0);l=m;return c[f>>2]|0}function xe(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 4096}function ye(a){a=a|0;var b=0,d=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;b=d;c[g>>2]=a;c[f>>2]=c[g>>2];c[b>>2]=0;if(!((e[(c[f>>2]|0)+18>>1]|0)&16)){g=c[b>>2]|0;l=d;return g|0}c[b>>2]=c[b>>2]|4096;g=c[b>>2]|0;l=d;return g|0}function ze(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;v=u+32|0;o=u+28|0;p=u+24|0;q=u+20|0;r=u+16|0;s=u+12|0;h=u+8|0;i=u+4|0;j=u;k=u+40|0;m=u+38|0;n=u+36|0;c[v>>2]=a;c[o>>2]=d;c[p>>2]=f;c[q>>2]=g;c[r>>2]=c[v>>2];c[s>>2]=c[(c[r>>2]|0)+36>>2];c[i>>2]=c[c[s>>2]>>2];c[j>>2]=0;b[k>>1]=(1<<(c[o>>2]|0)+(c[p>>2]|0))-(1<>2]);if(c[q>>2]&1|0){b[m>>1]=0;c[h>>2]=c[(c[i>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((c[h>>2]|0)!=(c[s>>2]|0))b[m>>1]=e[m>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if(!((e[k>>1]|0)&(e[m>>1]|0)))c[j>>2]=Re(c[r>>2]|0,2,(c[o>>2]|0)+120|0,c[p>>2]|0)|0;else c[j>>2]=0;if(c[j>>2]|0){v=c[j>>2]|0;l=u;return v|0}v=(c[s>>2]|0)+12|0;b[v>>1]=(e[v>>1]|0)&~(e[k>>1]|0);v=(c[s>>2]|0)+10|0;b[v>>1]=(e[v>>1]|0)&~(e[k>>1]|0);v=c[j>>2]|0;l=u;return v|0}if(!(c[q>>2]&4)){c[h>>2]=c[(c[i>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[k>>1]|0)|0){t=28;break}if((e[(c[h>>2]|0)+10>>1]|0)&(e[k>>1]|0)|0){t=28;break}c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((t|0)==28)c[j>>2]=5;if(c[j>>2]|0){v=c[j>>2]|0;l=u;return v|0}c[j>>2]=Re(c[r>>2]|0,1,(c[o>>2]|0)+120|0,c[p>>2]|0)|0;if(c[j>>2]|0){v=c[j>>2]|0;l=u;return v|0}v=(c[s>>2]|0)+12|0;b[v>>1]=e[v>>1]|0|(e[k>>1]|0);v=c[j>>2]|0;l=u;return v|0}b[n>>1]=0;c[h>>2]=c[(c[i>>2]|0)+32>>2];while(1){if(!(c[h>>2]|0))break;if((e[(c[h>>2]|0)+12>>1]|0)&(e[k>>1]|0)|0){t=16;break}b[n>>1]=e[n>>1]|0|(e[(c[h>>2]|0)+10>>1]|0);c[h>>2]=c[(c[h>>2]|0)+4>>2]}if((t|0)==16)c[j>>2]=5;do if(!(c[j>>2]|0))if(!((e[n>>1]|0)&(e[k>>1]|0))){c[j>>2]=Re(c[r>>2]|0,0,(c[o>>2]|0)+120|0,c[p>>2]|0)|0;break}else{c[j>>2]=0;break}while(0);if(c[j>>2]|0){v=c[j>>2]|0;l=u;return v|0}v=(c[s>>2]|0)+10|0;b[v>>1]=e[v>>1]|0|(e[k>>1]|0);v=c[j>>2]|0;l=u;return v|0}function Ae(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;Ee();Ge();l=b;return}function Be(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;d=j+24|0;k=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[e>>2]=b;c[i>>2]=c[k>>2];c[f>>2]=c[(c[i>>2]|0)+36>>2];if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;l=j;return k|0}c[g>>2]=c[c[f>>2]>>2];c[h>>2]=(c[g>>2]|0)+32;while(1){if((c[c[h>>2]>>2]|0)==(c[f>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+4}c[c[h>>2]>>2]=c[(c[f>>2]|0)+4>>2];Kd(c[f>>2]|0);c[(c[i>>2]|0)+36>>2]=0;Ee();k=(c[g>>2]|0)+28|0;c[k>>2]=(c[k>>2]|0)+-1;if(!(c[(c[g>>2]|0)+28>>2]|0)){if(c[e>>2]|0?(c[(c[g>>2]|0)+12>>2]|0)>=0:0)tb[c[1608>>2]&255](c[(c[g>>2]|0)+8>>2]|0)|0;Fe(c[i>>2]|0)}Ge();c[d>>2]=0;k=c[d>>2]|0;l=j;return k|0}function Ce(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;l=g;return 0}function De(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;l=f;return 0}function Ee(){return}function Fe(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=c[(c[(c[b>>2]|0)+8>>2]|0)+20>>2];if(!(c[d>>2]|0)){l=h;return}if(c[(c[d>>2]|0)+28>>2]|0){l=h;return}c[f>>2]=He()|0;c[g>>2]=0;while(1){a=c[d>>2]|0;if((c[g>>2]|0)>=(e[(c[d>>2]|0)+20>>1]|0|0))break;if((c[a+12>>2]|0)>=0)yb[c[1692>>2]&255](c[(c[(c[d>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0,c[(c[d>>2]|0)+16>>2]|0)|0;else Kd(c[(c[(c[d>>2]|0)+24>>2]|0)+(c[g>>2]<<2)>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[f>>2]|0)}Kd(c[a+24>>2]|0);if((c[(c[d>>2]|0)+12>>2]|0)>=0){Ie(c[b>>2]|0,c[(c[d>>2]|0)+12>>2]|0,33574);c[(c[d>>2]|0)+12>>2]=-1}c[(c[c[d>>2]>>2]|0)+20>>2]=0;Kd(c[d>>2]|0);l=h;return}function Ge(){return}function He(){var a=0,b=0,d=0,e=0;e=l;l=l+16|0;a=e+8|0;b=e+4|0;d=e;c[b>>2]=32768;c[d>>2]=pb[c[1716>>2]&255]()|0;if((c[d>>2]|0)<(c[b>>2]|0)){c[a>>2]=1;d=c[a>>2]|0;l=e;return d|0}else{c[a>>2]=(c[d>>2]|0)/(c[b>>2]|0)|0;d=c[a>>2]|0;l=e;return d|0}return 0}function Ie(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(tb[c[1428>>2]&255](c[h>>2]|0)|0)){l=g;return}if(c[e>>2]|0)a=c[(c[e>>2]|0)+32>>2]|0;else a=0;Je(4106,17895,a,c[f>>2]|0)|0;l=g;return}function Je(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n;f=n+40|0;g=n+36|0;h=n+32|0;i=n+28|0;j=n+24|0;k=n+20|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[(_P()|0)>>2];c[j>>2]=oQ(c[k>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=47636;e=c[f>>2]|0;d=c[k>>2]|0;g=c[g>>2]|0;h=c[h>>2]|0;k=c[j>>2]|0;c[m>>2]=c[i>>2];c[m+4>>2]=d;c[m+8>>2]=g;c[m+12>>2]=h;c[m+16>>2]=k;hd(e,17901,m);l=n;return c[f>>2]|0}function Ke(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;f=e;i=e+12|0;h=e+8|0;g=e+4|0;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;b=c[i>>2]|0;d=c[h>>2]|0;c[f>>2]=c[g>>2];d=QQ(b,d,f)|0;l=e;return d|0}function Le(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+544|0;k=j;f=j+20|0;m=j+16|0;g=j+12|0;e=j+8|0;h=j+4|0;i=j+24|0;c[m>>2]=b;c[g>>2]=d;c[h>>2]=-1;c[k>>2]=c[m>>2];Ne(512,i,18130,k)|0;c[e>>2]=lQ(i)|0;while(1){if((c[e>>2]|0)<=0)break;if((a[i+(c[e>>2]|0)>>0]|0)==47)break;c[e>>2]=(c[e>>2]|0)+-1}if((c[e>>2]|0)<=0)if((a[i>>0]|0)!=47){a[i>>0]=46;b=1}else b=1;else b=c[e>>2]|0;a[i+b>>0]=0;c[h>>2]=Oe(i,0,0)|0;c[c[g>>2]>>2]=c[h>>2];if((c[h>>2]|0)>=0){c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}else{c[f>>2]=Je(Pe(32912)|0,18043,i,32912)|0;m=c[f>>2]|0;l=j;return m|0}return 0}function Me(){return Qa(30)|0}function Ne(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;k=g+28|0;j=g+24|0;i=g+20|0;f=g+16|0;h=g;c[k>>2]=a;c[j>>2]=b;c[i>>2]=d;c[h>>2]=e;c[f>>2]=Qe(c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,h)|0;l=g;return c[f>>2]|0}function Oe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+112|0;k=m;e=m+100|0;f=m+96|0;g=m+92|0;h=m+88|0;i=m+84|0;j=m+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[g>>2]|0?c[g>>2]|0:420;while(1){c[h>>2]=ob[c[1416>>2]&255](c[e>>2]|0,c[f>>2]|524288,c[i>>2]|0)|0;if((c[h>>2]|0)<0)if((c[(_P()|0)>>2]|0)==4)continue;else break;if((c[h>>2]|0)>=3)break;tb[c[1428>>2]&255](c[h>>2]|0)|0;d=c[h>>2]|0;c[k>>2]=c[e>>2];c[k+4>>2]=d;hd(28,18150,k);c[h>>2]=-1;if((ob[c[1416>>2]&255](18193,c[f>>2]|0,c[g>>2]|0)|0)<0)break}if(!((c[h>>2]|0)>=0&(c[g>>2]|0)!=0)){k=c[h>>2]|0;l=m;return k|0}if(yb[c[1476>>2]&255](c[h>>2]|0,j)|0){k=c[h>>2]|0;l=m;return k|0}if(c[j+36>>2]|0){k=c[h>>2]|0;l=m;return k|0}if((c[j+12>>2]&511|0)==(c[g>>2]|0)){k=c[h>>2]|0;l=m;return k|0}yb[c[1584>>2]&255](c[h>>2]|0,c[g>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}function Pe(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=fd(14,c[d>>2]|0,18133)|0;l=b;return a|0}function Qe(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+44|0;g=k+40|0;m=k+36|0;h=k+32|0;i=k+28|0;j=k;c[g>>2]=a;c[m>>2]=b;c[h>>2]=d;c[i>>2]=e;a=c[m>>2]|0;if((c[g>>2]|0)<=0){c[f>>2]=a;m=c[f>>2]|0;l=k;return m|0}else{jd(j,0,a,c[g>>2]|0,0);kd(j,c[h>>2]|0,c[i>>2]|0);c[f>>2]=ld(j)|0;m=c[f>>2]|0;l=k;return m|0}return 0}function Re(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;n=o;p=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;m=o+8|0;g=o+4|0;c[p>>2]=a;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[g>>2]=0;c[k>>2]=c[(c[(c[p>>2]|0)+8>>2]|0)+20>>2];if((c[(c[k>>2]|0)+12>>2]|0)<0){p=c[g>>2]|0;l=o;return p|0};c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;b[m>>1]=c[h>>2];b[m+2>>1]=0;c[m+4>>2]=c[i>>2];c[m+8>>2]=c[j>>2];j=c[375]|0;p=c[(c[k>>2]|0)+12>>2]|0;c[n>>2]=m;c[g>>2]=ob[j&255](p,13,n)|0;c[g>>2]=(c[g>>2]|0)!=-1?0:5;p=c[g>>2]|0;l=o;return p|0}function Se(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;f=n+112|0;g=n+108|0;h=n+16|0;i=n+8|0;j=n+32|0;k=n+28|0;m=n+24|0;e=n;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;a:do if((c[(c[g>>2]|0)+40>>2]|0)>0){if(yb[c[1476>>2]&255](c[(c[g>>2]|0)+12>>2]|0,j)|0){c[f>>2]=1802;m=c[f>>2]|0;l=n;return m|0}d=h;a=c[(c[g>>2]|0)+40>>2]|0;a=IR(c[d>>2]|0,c[d+4>>2]|0,a|0,((a|0)<0)<<31>>31|0)|0;a=FR(a|0,z|0,1,0)|0;d=c[(c[g>>2]|0)+40>>2]|0;d=LR(a|0,z|0,d|0,((d|0)<0)<<31>>31|0)|0;a=c[(c[g>>2]|0)+40>>2]|0;a=RR(d|0,z|0,a|0,((a|0)<0)<<31>>31|0)|0;d=i;c[d>>2]=a;c[d+4>>2]=z;d=i;a=c[d+4>>2]|0;h=c[j+36>>2]|0;b=((h|0)<0)<<31>>31;if((a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>h>>>0:0)){c[k>>2]=c[j+40>>2];c[m>>2]=0;h=O((c[j+36>>2]|0)/(c[k>>2]|0)|0,c[k>>2]|0)|0;h=h+(c[k>>2]|0)-1|0;j=e;c[j>>2]=h;c[j+4>>2]=((h|0)<0)<<31>>31;while(1){b=e;h=c[b>>2]|0;b=c[b+4>>2]|0;d=i;j=c[k>>2]|0;j=IR(c[d>>2]|0,c[d+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;j=FR(j|0,z|0,1,0)|0;d=z;if(!((b|0)<(d|0)|(b|0)==(d|0)&h>>>0>>0))break a;h=e;b=c[h+4>>2]|0;j=i;d=c[j+4>>2]|0;if((b|0)>(d|0)|((b|0)==(d|0)?(c[h>>2]|0)>>>0>=(c[j>>2]|0)>>>0:0)){h=i;h=FR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;j=e;c[j>>2]=h;c[j+4>>2]=z}j=e;c[m>>2]=bf(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0,47636,1)|0;if((c[m>>2]|0)!=1)break;h=c[k>>2]|0;j=e;h=IR(c[j>>2]|0,c[j+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;j=e;c[j>>2]=h;c[j+4>>2]=z}c[f>>2]=778;m=c[f>>2]|0;l=n;return m|0}}while(0);c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}function Te(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m+4|0;i=m+8|0;k=m;c[j>>2]=f;a[i>>0]=g;c[k>>2]=h;if((c[c[k>>2]>>2]|0)<0){c[c[k>>2]>>2]=((e[(c[j>>2]|0)+18>>1]|0)&(d[i>>0]|0)|0)!=0&1;l=m;return}f=d[i>>0]|0;if(!(c[c[k>>2]>>2]|0)){k=(c[j>>2]|0)+18|0;g=k;f=(e[k>>1]|0)&~f}else{k=(c[j>>2]|0)+18|0;g=k;f=e[k>>1]|0|f}b[g>>1]=f;l=m;return}function Ue(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+28|0;e=h+24|0;f=h+8|0;g=h;c[e>>2]=a;if(Rd()|0){c[d>>2]=0;b=c[d>>2]|0;l=h;return b|0}else{c[f>>2]=b;c[g>>2]=af(c[e>>2]|0,f)|0;c[d>>2]=c[g>>2];b=c[d>>2]|0;l=h;return b|0}return 0}function Ve(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;e=f;g=e;c[g>>2]=a;c[g+4>>2]=b;if(Rd()|0){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}else{g=e;c[d>>2]=pd(c[g>>2]|0,c[g+4>>2]|0)|0;g=c[d>>2]|0;l=f;return g|0}return 0}function We(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+64|0;j=m+8|0;k=m+48|0;e=m+44|0;f=m+40|0;g=m+36|0;h=m+32|0;i=m;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;a[c[f>>2]>>0]=0;c[g>>2]=Ye()|0;if(!(c[g>>2]|0)){c[k>>2]=6410;k=c[k>>2]|0;l=m;return k|0}while(1){Ze(8,i);a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]=0;b=c[e>>2]|0;d=c[f>>2]|0;o=i;p=c[o>>2]|0;o=c[o+4>>2]|0;c[j>>2]=c[g>>2];n=j+8|0;c[n>>2]=p;c[n+4>>2]=o;c[j+16>>2]=0;Ne(b,d,18203,j)|0;if(a[(c[f>>2]|0)+((c[e>>2]|0)-2)>>0]|0){b=5;break}p=c[h>>2]|0;c[h>>2]=p+1;if((p|0)>10){b=5;break}if(yb[c[1440>>2]&255](c[f>>2]|0,0)|0){b=7;break}}if((b|0)==5){c[k>>2]=1;p=c[k>>2]|0;l=m;return p|0}else if((b|0)==7){c[k>>2]=0;p=c[k>>2]|0;l=m;return p|0}return 0}function Xe(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+80|0;b=e+76|0;d=e;c[b>>2]=a;if(!(c[(c[b>>2]|0)+8>>2]|0)){d=0;d=d&1;l=e;return d|0}if(yb[c[1464>>2]&255](c[(c[b>>2]|0)+32>>2]|0,d)|0){d=1;d=d&1;l=e;return d|0}d=(c[d+72>>2]|0)!=(c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]|0);d=d&1;l=e;return d|0}function Ye(){var a=0,b=0,d=0,e=0,f=0,g=0;f=l;l=l+96|0;d=f+84|0;a=f+80|0;b=f+4|0;e=f;c[a>>2]=0;c[e>>2]=c[11684];if(!(c[437]|0))c[437]=Va(18220)|0;if(!(c[438]|0))c[438]=Va(18234)|0;while(1){if(((c[e>>2]|0?(yb[c[1464>>2]&255](c[e>>2]|0,b)|0)==0:0)?(c[b+12>>2]&61440|0)==16384:0)?(yb[c[1440>>2]&255](c[e>>2]|0,3)|0)==0:0){a=9;break}if((c[a>>2]|0)>>>0>=6){a=12;break}g=c[a>>2]|0;c[a>>2]=g+1;c[e>>2]=c[1748+(g<<2)>>2]}if((a|0)==9){c[d>>2]=c[e>>2];g=c[d>>2]|0;l=f;return g|0}else if((a|0)==12){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}return 0}function Ze(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+288|0;f=m+12|0;g=m+8|0;h=m+272|0;i=m+4|0;j=m;k=m+16|0;c[f>>2]=b;c[g>>2]=e;c[i>>2]=c[g>>2];if(Rd()|0){l=m;return}if((c[f>>2]|0)<=0|(c[g>>2]|0)==0){a[47637]=0;l=m;return}if(!(a[47637]|0)){a[47639]=0;a[47638]=0;$e(_e(0)|0,256,k)|0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=256)break;a[47640+(c[j>>2]|0)>>0]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=0;while(1){if((c[j>>2]|0)>=256)break;a[47639]=(d[47639]|0)+((d[47640+(c[j>>2]|0)>>0]|0)+(a[k+(c[j>>2]|0)>>0]|0));a[h>>0]=a[47640+(d[47639]|0)>>0]|0;a[47640+(d[47639]|0)>>0]=a[47640+(c[j>>2]|0)>>0]|0;a[47640+(c[j>>2]|0)>>0]=a[h>>0]|0;c[j>>2]=(c[j>>2]|0)+1}a[47637]=1}do{a[47638]=(a[47638]|0)+1<<24>>24;a[h>>0]=a[47640+(d[47638]|0)>>0]|0;a[47639]=(d[47639]|0)+(d[h>>0]|0);a[47640+(d[47638]|0)>>0]=a[47640+(d[47639]|0)>>0]|0;a[47640+(d[47639]|0)>>0]=a[h>>0]|0;a[h>>0]=(d[h>>0]|0)+(d[47640+(d[47638]|0)>>0]|0);j=a[47640+(d[h>>0]|0)>>0]|0;k=c[i>>2]|0;c[i>>2]=k+1;a[k>>0]=j;k=(c[f>>2]|0)+-1|0;c[f>>2]=k}while((k|0)!=0);l=m;return}function _e(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;b=f+12|0;d=f+8|0;e=f+4|0;g=f;c[d>>2]=a;c[e>>2]=0;c[g>>2]=Rd()|0;if(c[g>>2]|0){c[b>>2]=0;g=c[b>>2]|0;l=f;return g|0}c[e>>2]=c[11753];while(1){if((c[e>>2]|0)==0|(c[d>>2]|0)==0)break;if(!(vQ(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0)|0))break;c[e>>2]=c[(c[e>>2]|0)+12>>2]}c[b>>2]=c[e>>2];g=c[b>>2]|0;l=f;return g|0}function $e(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=ob[c[(c[h>>2]|0)+56>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function af(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+128|0;d=i+40|0;e=i+36|0;f=i+32|0;g=i+28|0;h=i;c[e>>2]=a;c[f>>2]=b;if(Rd()|0){c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}else{jd(h,0,i+44|0,70,1e9);kd(h,c[e>>2]|0,c[f>>2]|0);c[g>>2]=ld(h)|0;c[d>>2]=c[g>>2];h=c[d>>2]|0;l=i;return h|0}return 0}function bf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;h=g+16|0;k=g;j=g+12|0;i=g+8|0;c[h>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;c[i>>2]=f;f=k;f=cf(c[(c[h>>2]|0)+12>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[j>>2]|0,c[i>>2]|0,(c[h>>2]|0)+20|0)|0;l=g;return f|0}function cf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+32|0;m=q+8|0;n=q+28|0;o=q+24|0;h=q+20|0;i=q+16|0;j=q;c[k>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[o>>2]=f;c[h>>2]=g;c[i>>2]=0;c[o>>2]=c[o>>2]&131071;do{f=ZQ(c[k>>2]|0,c[m>>2]|0,0)|0;g=j;c[g>>2]=f;c[g+4>>2]=((f|0)<0)<<31>>31;if((c[j+4>>2]|0)<0){p=3;break}c[i>>2]=ob[c[1548>>2]&255](c[k>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[i>>2]|0)>=0)break}while((c[(_P()|0)>>2]|0)==4);if((p|0)==3)c[i>>2]=-1;if((c[i>>2]|0)>=0){p=c[i>>2]|0;l=q;return p|0}p=c[(_P()|0)>>2]|0;c[c[h>>2]>>2]=p;p=c[i>>2]|0;l=q;return p|0}function df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+20>>2]=c[f>>2];l=d;return}function ef(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[g>>2]=a;c[e>>2]=b;switch(c[g>>2]|0){case 37:case 4:case 16:case 110:case 11:case 13:{c[d>>2]=5;break}case 1:{c[d>>2]=3;break}default:c[d>>2]=c[e>>2]}l=f;return c[d>>2]|0}function ff(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;e=f;c[g>>2]=a;c[f+8>>2]=b;c[f+4>>2]=d;c[e>>2]=jR(c[g>>2]|0)|0;l=f;return c[e>>2]|0}function gf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h;g=h+8|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;while(1){c[g>>2]=yb[c[1488>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){a=4;break}if((c[(_P()|0)>>2]|0)!=4){a=4;break}}if((a|0)==4){l=h;return c[g>>2]|0}return 0}function hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+36|0;k=q+32|0;m=q+8|0;n=q+28|0;o=q+24|0;g=q+20|0;h=q+16|0;i=q;c[k>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[o>>2]=f;c[h>>2]=0;do{e=ZQ(c[(c[k>>2]|0)+12>>2]|0,c[m>>2]|0,0)|0;f=i;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;if((c[i+4>>2]|0)<0){p=3;break}c[g>>2]=ob[c[1512>>2]&255](c[(c[k>>2]|0)+12>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;if((c[g>>2]|0)==(c[o>>2]|0))break;if((c[g>>2]|0)>=0){if((c[g>>2]|0)>0){c[o>>2]=(c[o>>2]|0)-(c[g>>2]|0);e=c[g>>2]|0;f=m;e=IR(c[f>>2]|0,c[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;f=m;c[f>>2]=e;c[f+4>>2]=z;c[h>>2]=(c[h>>2]|0)+(c[g>>2]|0);c[n>>2]=(c[n>>2]|0)+(c[g>>2]|0)}}else{if((c[(_P()|0)>>2]|0)!=4){p=8;break}c[g>>2]=1}}while((c[g>>2]|0)>0);if((p|0)==3){p=c[k>>2]|0;df(p,c[(_P()|0)>>2]|0);c[j>>2]=-1;p=c[j>>2]|0;l=q;return p|0}else if((p|0)==8){c[h>>2]=0;p=c[k>>2]|0;df(p,c[(_P()|0)>>2]|0)}c[j>>2]=(c[g>>2]|0)+(c[h>>2]|0);p=c[j>>2]|0;l=q;return p|0}function jf(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if((c[(c[b>>2]|0)+12>>2]|0)>=0){Ie(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,31321);c[(c[b>>2]|0)+12>>2]=-1}Kd(c[(c[b>>2]|0)+28>>2]|0);a=c[b>>2]|0;b=a+44|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return 0}function kf(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 1772}function lf(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=jf(c[d>>2]|0)|0;l=b;return a|0}function mf(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function nf(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function of(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[d+4>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=0;l=d;return 0}function pf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=_c(c[g>>2]|0)|0;c[k>>2]=0;do if((a[c[g>>2]>>0]|0)!=47){if(yb[c[1452>>2]&255](c[h>>2]|0,(c[i>>2]|0)-2|0)|0){c[k>>2]=_c(c[h>>2]|0)|0;d=c[h>>2]|0;e=c[k>>2]|0;c[k>>2]=e+1;a[d+e>>0]=47;break}m=Pe(35379)|0;c[f>>2]=Je(m,17944,c[g>>2]|0,35379)|0;m=c[f>>2]|0;l=n;return m|0}while(0);if(((c[k>>2]|0)+(c[j>>2]|0)+1|0)>(c[i>>2]|0)){a[(c[h>>2]|0)+(c[k>>2]|0)>>0]=0;c[f>>2]=Pe(35388)|0;m=c[f>>2]|0;l=n;return m|0}else{j=(c[i>>2]|0)-(c[k>>2]|0)|0;k=(c[h>>2]|0)+(c[k>>2]|0)|0;c[m>>2]=c[g>>2];Ne(j,k,18130,m)|0;c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}return 0}function qf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+96|0;j=i+92|0;d=i+88|0;e=i+84|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[e>>2]=0;if(yb[c[1464>>2]&255](c[j>>2]|0,f)|0){j=c[e>>2]|0;l=i;return j|0}Ee();c[g>>2]=c[11755];while(1){if(c[g>>2]|0)if((c[c[g>>2]>>2]|0)!=(c[f>>2]|0))b=1;else b=(c[(c[g>>2]|0)+4>>2]|0)!=(c[f+72>>2]|0);else b=0;a=c[g>>2]|0;if(!b)break;c[g>>2]=c[a+32>>2]}if(a|0){c[h>>2]=(c[g>>2]|0)+28;while(1){if(!(c[c[h>>2]>>2]|0))break;if((c[(c[c[h>>2]>>2]|0)+4>>2]|0)==(c[d>>2]|0))break;c[h>>2]=(c[c[h>>2]>>2]|0)+8}c[e>>2]=c[c[h>>2]>>2];if(c[e>>2]|0)c[c[h>>2]>>2]=c[(c[e>>2]|0)+8>>2]}Ge();j=c[e>>2]|0;l=i;return j|0}function rf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+560|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;h=r+8|0;i=r+32|0;j=r+4|0;k=r;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[h>>2]=0;c[c[o>>2]>>2]=0;c[c[p>>2]>>2]=0;c[c[q>>2]>>2]=0;if(c[n>>2]&526336|0){c[j>>2]=(_c(c[m>>2]|0)|0)-1;while(1){if((a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==45)break;c[j>>2]=(c[j>>2]|0)+-1}MR(i|0,c[m>>2]|0,c[j>>2]|0)|0;a[i+(c[j>>2]|0)>>0]=0;c[h>>2]=Pf(i,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;q=c[h>>2]|0;l=r;return q|0}if(c[n>>2]&8|0){c[c[o>>2]>>2]=384;q=c[h>>2]|0;l=r;return q|0}if(!(c[n>>2]&64)){q=c[h>>2]|0;l=r;return q|0}c[k>>2]=Jf(c[m>>2]|0,18484)|0;if(!(c[k>>2]|0)){q=c[h>>2]|0;l=r;return q|0}c[h>>2]=Pf(c[k>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;q=c[h>>2]|0;l=r;return q|0}function sf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(pb[c[1668>>2]&255]()|0){g=0;l=h;return g|0}g=ob[c[1656>>2]&255](c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;l=h;return g|0}function tf(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;s=t;o=t+40|0;p=t+36|0;u=t+32|0;q=t+28|0;r=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;c[o>>2]=a;c[p>>2]=d;c[u>>2]=f;c[q>>2]=g;c[r>>2]=h;c[j>>2]=c[u>>2];c[k>>2]=0;c[(c[j>>2]|0)+12>>2]=c[p>>2];c[(c[j>>2]|0)+4>>2]=c[o>>2];c[(c[j>>2]|0)+32>>2]=c[q>>2];b[(c[j>>2]|0)+18>>1]=c[r>>2]&255;if(uf(c[r>>2]&64|0?c[q>>2]|0:0,18294,1)|0){u=(c[j>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|16}if(!(vQ(c[(c[o>>2]|0)+16>>2]|0,17885)|0)){u=(c[j>>2]|0)+18|0;b[u>>1]=e[u>>1]|0|1}if(c[r>>2]&128|0)c[i>>2]=1772;else c[i>>2]=yb[c[c[(c[o>>2]|0)+20>>2]>>2]&255](c[q>>2]|0,c[j>>2]|0)|0;if((c[i>>2]|0)!=1848){if((c[i>>2]|0)==1336){c[n>>2]=(lQ(c[q>>2]|0)|0)+6;u=c[n>>2]|0;c[m>>2]=Ve(u,((u|0)<0)<<31>>31)|0;if(!(c[m>>2]|0))c[k>>2]=7;else{r=c[n>>2]|0;u=c[m>>2]|0;c[s>>2]=c[q>>2];Ne(r,u,18299,s)|0}c[(c[j>>2]|0)+24>>2]=c[m>>2]}}else{Ee();c[k>>2]=vf(c[j>>2]|0,(c[j>>2]|0)+8|0)|0;if(c[k>>2]|0){Ie(c[j>>2]|0,c[p>>2]|0,34692);c[p>>2]=-1}Ge()}df(c[j>>2]|0,0);if(!(c[k>>2]|0)){c[c[j>>2]>>2]=c[i>>2];wf(c[j>>2]|0);u=c[k>>2]|0;l=t;return u|0}if((c[p>>2]|0)<0){u=c[k>>2]|0;l=t;return u|0}Ie(c[j>>2]|0,c[p>>2]|0,34777);u=c[k>>2]|0;l=t;return u|0}function uf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;h=g+8|0;e=g+4|0;f=g;c[i>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=Jf(c[i>>2]|0,c[h>>2]|0)|0;c[e>>2]=(c[e>>2]|0)!=0&1;if(c[f>>2]|0){i=(Kf(c[f>>2]|0,c[e>>2]&255)|0)&255;l=g;return i|0}else{i=c[e>>2]|0;l=g;return i|0}return 0}function vf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+112|0;f=j+104|0;d=j+100|0;g=j+96|0;k=j+92|0;m=j+88|0;h=j+80|0;e=j+4|0;i=j;c[d>>2]=a;c[g>>2]=b;c[i>>2]=0;c[m>>2]=c[(c[d>>2]|0)+12>>2];c[k>>2]=yb[c[1476>>2]&255](c[m>>2]|0,e)|0;if(c[k>>2]|0){m=c[d>>2]|0;df(m,c[(_P()|0)>>2]|0);if((c[(c[d>>2]|0)+20>>2]|0)==75){c[f>>2]=22;m=c[f>>2]|0;l=j;return m|0}else{c[f>>2]=10;m=c[f>>2]|0;l=j;return m|0}};c[h>>2]=0;c[h+4>>2]=0;c[h>>2]=c[e>>2];c[h+4>>2]=c[e+72>>2];c[i>>2]=c[11755];while(1){if(c[i>>2]|0)b=(wQ(h,c[i>>2]|0,8)|0)!=0;else b=0;a=c[i>>2]|0;if(!b)break;c[i>>2]=c[a+32>>2]}if(!a){c[i>>2]=Ve(40,0)|0;if(!(c[i>>2]|0)){c[f>>2]=7;m=c[f>>2]|0;l=j;return m|0}a=c[i>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));m=c[i>>2]|0;c[m>>2]=c[h>>2];c[m+4>>2]=c[h+4>>2];c[(c[i>>2]|0)+16>>2]=1;c[(c[i>>2]|0)+32>>2]=c[11755];c[(c[i>>2]|0)+36>>2]=0;if(c[11755]|0)c[(c[11755]|0)+36>>2]=c[i>>2];c[11755]=c[i>>2]}else{m=(c[i>>2]|0)+16|0;c[m>>2]=(c[m>>2]|0)+1}c[c[g>>2]>>2]=c[i>>2];c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}function wf(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+112|0;j=k+24|0;i=k+16|0;f=k+8|0;d=k;g=k+108|0;h=k+32|0;b=k+28|0;c[g>>2]=a;if((e[(c[g>>2]|0)+18>>1]|0)&128|0){l=k;return}c[b>>2]=yb[c[1476>>2]&255](c[(c[g>>2]|0)+12>>2]|0,h)|0;if(c[b>>2]|0){c[d>>2]=c[(c[g>>2]|0)+32>>2];hd(28,18307,d);l=k;return}if(!(c[h+16>>2]|0)){c[f>>2]=c[(c[g>>2]|0)+32>>2];hd(28,18331,f);l=k;return}a=c[g>>2]|0;if((c[h+16>>2]|0)>>>0>1){c[i>>2]=c[a+32>>2];hd(28,18360,i);l=k;return}if(!(Xe(a)|0)){l=k;return}c[j>>2]=c[(c[g>>2]|0)+32>>2];hd(28,18387,j);l=k;return}function xf(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;c[e>>2]=c[b>>2];wf(c[e>>2]|0);zf(c[b>>2]|0,0)|0;Ee();if(c[(c[e>>2]|0)+8>>2]|0?c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2]|0:0)Hf(c[e>>2]|0);If(c[e>>2]|0);c[d>>2]=jf(c[b>>2]|0)|0;Ge();l=f;return c[d>>2]|0}function yf(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;j=p+44|0;q=p+40|0;k=p+36|0;m=p+32|0;n=p+28|0;o=p+24|0;g=p+8|0;h=p;c[q>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=c[q>>2];c[h>>2]=0;if((d[(c[n>>2]|0)+16>>0]|0|0)>=(c[k>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;l=p;return q|0}Ee();c[o>>2]=c[(c[n>>2]|0)+8>>2];if((d[(c[n>>2]|0)+16>>0]|0|0)!=(d[(c[o>>2]|0)+12>>0]|0|0)?((c[k>>2]|0)>1?1:(d[(c[o>>2]|0)+12>>0]|0|0)>=3):0)c[m>>2]=5;else i=6;a:do if((i|0)==6){do if((c[k>>2]|0)==1){if((d[(c[o>>2]|0)+12>>0]|0|0)!=1?(d[(c[o>>2]|0)+12>>0]|0|0)!=2:0)break;a[(c[n>>2]|0)+16>>0]=1;q=(c[o>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+1;q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;break a}while(0);c[g+8>>2]=1;b[g+2>>1]=0;if((c[k>>2]|0)!=1){if((c[k>>2]|0)==4?(d[(c[n>>2]|0)+16>>0]|0|0)<3:0)i=13}else i=13;if((i|0)==13?(b[g>>1]=(c[k>>2]|0)==1?0:1,c[g+4>>2]=c[481],Ff(c[n>>2]|0,g)|0):0){c[h>>2]=c[(_P()|0)>>2];c[m>>2]=ef(c[h>>2]|0,3850)|0;if((c[m>>2]|0)==5)break;df(c[n>>2]|0,c[h>>2]|0);break}do if((c[k>>2]|0)!=1){if((c[k>>2]|0)==4?(c[(c[o>>2]|0)+8>>2]|0)>1:0){c[m>>2]=5;break}b[g>>1]=1;q=(c[k>>2]|0)==2;c[g+4>>2]=(c[481]|0)+(q?1:2);c[g+8>>2]=q?1:510;if(Ff(c[n>>2]|0,g)|0?(c[h>>2]=c[(_P()|0)>>2],c[m>>2]=ef(c[h>>2]|0,3850)|0,(c[m>>2]|0)!=5):0)df(c[n>>2]|0,c[h>>2]|0)}else{c[g+4>>2]=(c[481]|0)+2;c[g+8>>2]=510;if(Ff(c[n>>2]|0,g)|0){c[h>>2]=c[(_P()|0)>>2];c[m>>2]=ef(c[h>>2]|0,3850)|0}c[g+4>>2]=c[481];c[g+8>>2]=1;b[g>>1]=2;q=(Ff(c[n>>2]|0,g)|0)!=0;if(q&(c[m>>2]|0)==0){c[h>>2]=c[(_P()|0)>>2];c[m>>2]=2058}if(!(c[m>>2]|0)){a[(c[n>>2]|0)+16>>0]=1;q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[o>>2]|0)+8>>2]=1;break}if((c[m>>2]|0)==5)break a;df(c[n>>2]|0,c[h>>2]|0);break a}while(0);e=c[k>>2]|0;if(!(c[m>>2]|0)){a[(c[n>>2]|0)+16>>0]=e;a[(c[o>>2]|0)+12>>0]=c[k>>2];break}if((e|0)==4){a[(c[n>>2]|0)+16>>0]=3;a[(c[o>>2]|0)+12>>0]=3}}while(0);Ge();c[j>>2]=c[m>>2];q=c[j>>2]|0;l=p;return q|0}function zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Ef(c[f>>2]|0,c[e>>2]|0,0)|0;l=d;return b|0}function Af(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;m=n;o=n+40|0;g=n+36|0;h=n+32|0;i=n+28|0;j=n+24|0;k=n+8|0;c[o>>2]=e;c[g>>2]=f;c[h>>2]=0;c[i>>2]=0;c[j>>2]=c[o>>2];Ee();if((d[(c[(c[j>>2]|0)+8>>2]|0)+12>>0]|0)>1)c[i>>2]=1;do if((c[i>>2]|0)==0?(a[(c[(c[j>>2]|0)+8>>2]|0)+13>>0]|0)==0:0){b[k+2>>1]=0;c[k+4>>2]=(c[481]|0)+1;c[k+8>>2]=1;b[k>>1]=1;f=c[375]|0;o=c[(c[j>>2]|0)+12>>2]|0;c[m>>2]=k;if(ob[f&255](o,12,m)|0){c[h>>2]=3594;o=c[j>>2]|0;df(o,c[(_P()|0)>>2]|0);break}if((b[k>>1]|0)!=2)c[i>>2]=1}while(0);Ge();c[c[g>>2]>>2]=c[i>>2];l=n;return c[h>>2]|0}function Bf(a,f,g,h,i){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;E=l;l=l+160|0;C=E+152|0;F=E+148|0;D=E+144|0;x=E+140|0;y=E+136|0;z=E+132|0;j=E+128|0;k=E+124|0;A=E+120|0;B=E+116|0;m=E+112|0;n=E+108|0;o=E+104|0;p=E+100|0;q=E+24|0;r=E+20|0;s=E+16|0;t=E+12|0;u=E+8|0;v=E+4|0;w=E;c[F>>2]=a;c[D>>2]=f;c[x>>2]=g;c[y>>2]=h;c[z>>2]=i;c[j>>2]=c[F>>2];c[B>>2]=0;c[m>>2]=He()|0;if((c[(c[j>>2]|0)+36>>2]|0)==0?(c[B>>2]=Cf(c[j>>2]|0)|0,c[B>>2]|0):0){c[C>>2]=c[B>>2];F=c[C>>2]|0;l=E;return F|0}c[k>>2]=c[(c[j>>2]|0)+36>>2];c[A>>2]=c[c[k>>2]>>2];c[n>>2]=O(((c[D>>2]|0)+(c[m>>2]|0)|0)/(c[m>>2]|0)|0,c[m>>2]|0)|0;a:do if((e[(c[A>>2]|0)+20>>1]|0|0)<(c[n>>2]|0)){c[p>>2]=O(c[n>>2]|0,c[x>>2]|0)|0;c[(c[A>>2]|0)+16>>2]=c[x>>2];b:do if((c[(c[A>>2]|0)+12>>2]|0)>=0){if(yb[c[1476>>2]&255](c[(c[A>>2]|0)+12>>2]|0,q)|0){c[B>>2]=4874;break a}if((c[q+36>>2]|0)<(c[p>>2]|0)){if(!(c[y>>2]|0))break a;c[r>>2]=(c[q+36>>2]|0)/4096|0;while(1){if((c[r>>2]|0)>=((c[p>>2]|0)/4096|0|0))break b;c[s>>2]=0;F=(c[r>>2]<<12)+4096-1|0;if((cf(c[(c[A>>2]|0)+12>>2]|0,F,((F|0)<0)<<31>>31,47636,1,s)|0)!=1)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=c[(c[A>>2]|0)+8>>2];c[B>>2]=Je(4874,17997,c[t>>2]|0,33839)|0;break a}}while(0);c[o>>2]=Df(c[(c[A>>2]|0)+24>>2]|0,c[n>>2]<<2)|0;if(!(c[o>>2]|0)){c[B>>2]=3082;break}c[(c[A>>2]|0)+24>>2]=c[o>>2];while(1){if((e[(c[A>>2]|0)+20>>1]|0|0)>=(c[n>>2]|0))break a;c[u>>2]=O(c[x>>2]|0,c[m>>2]|0)|0;if((c[(c[A>>2]|0)+12>>2]|0)>=0){t=c[420]|0;h=c[u>>2]|0;i=d[(c[A>>2]|0)+22>>0]|0|0?1:3;y=c[(c[A>>2]|0)+12>>2]|0;F=c[x>>2]|0;F=RR(F|0,((F|0)<0)<<31>>31|0,e[(c[A>>2]|0)+20>>1]|0|0,0)|0;c[w>>2]=sb[t&255](0,h,i,1,y,F)|0;if((c[w>>2]|0)==(-1|0)){a=21;break}}else{F=c[x>>2]|0;c[w>>2]=Ve(F,((F|0)<0)<<31>>31)|0;if(!(c[w>>2]|0)){a=23;break}GR(c[w>>2]|0,0,c[x>>2]|0)|0}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[m>>2]|0))break;F=(c[w>>2]|0)+(O(c[x>>2]|0,c[v>>2]|0)|0)|0;c[(c[(c[A>>2]|0)+24>>2]|0)+((e[(c[A>>2]|0)+20>>1]|0)+(c[v>>2]|0)<<2)>>2]=F;c[v>>2]=(c[v>>2]|0)+1}F=(c[A>>2]|0)+20|0;b[F>>1]=(e[F>>1]|0)+(c[m>>2]|0)}if((a|0)==21){c[B>>2]=Je(5386,18084,c[(c[A>>2]|0)+8>>2]|0,33866)|0;break}else if((a|0)==23){c[B>>2]=7;break}}while(0);if((e[(c[A>>2]|0)+20>>1]|0|0)>(c[D>>2]|0))c[c[z>>2]>>2]=c[(c[(c[A>>2]|0)+24>>2]|0)+(c[D>>2]<<2)>>2];else c[c[z>>2]>>2]=0;if((c[B>>2]|0)==0?(d[(c[A>>2]|0)+22>>0]|0|0)!=0:0)c[B>>2]=8;c[C>>2]=c[B>>2];F=c[C>>2]|0;l=E;return F|0}function Cf(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+128|0;q=r;e=r+116|0;h=r+112|0;i=r+108|0;j=r+104|0;k=r+100|0;m=r+96|0;n=r+92|0;o=r+88|0;p=r+12|0;f=r+8|0;g=r+4|0;c[h>>2]=b;c[i>>2]=0;c[i>>2]=Ve(16,0)|0;if(!(c[i>>2]|0)){c[e>>2]=7;q=c[e>>2]|0;l=r;return q|0}b=c[i>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[b+12>>2]=0;Ee();c[m>>2]=c[(c[h>>2]|0)+8>>2];c[j>>2]=c[(c[m>>2]|0)+20>>2];a:do if(!(c[j>>2]|0)){c[f>>2]=c[(c[h>>2]|0)+32>>2];do if(!(yb[c[1476>>2]&255](c[(c[h>>2]|0)+12>>2]|0,p)|0)){c[o>>2]=6+(lQ(c[f>>2]|0)|0);c[j>>2]=Ve(36+(c[o>>2]|0)|0,0)|0;if(!(c[j>>2]|0)){c[k>>2]=7;break}GR(c[j>>2]|0,0,36+(c[o>>2]|0)|0)|0;b=(c[j>>2]|0)+36|0;c[(c[j>>2]|0)+8>>2]=b;c[n>>2]=b;b=c[o>>2]|0;o=c[n>>2]|0;c[q>>2]=c[f>>2];Ne(b,o,18415,q)|0;c[(c[j>>2]|0)+12>>2]=-1;c[(c[(c[h>>2]|0)+8>>2]|0)+20>>2]=c[j>>2];c[c[j>>2]>>2]=c[(c[h>>2]|0)+8>>2];if(c[3]|0?(c[(c[j>>2]|0)+4>>2]=8,(c[(c[j>>2]|0)+4>>2]|0)==0):0){c[k>>2]=7;break}if(d[(c[m>>2]|0)+13>>0]|0|0)break a;c[g>>2]=66;if(uf(c[(c[h>>2]|0)+32>>2]|0,18422,0)|0){c[g>>2]=0;a[(c[j>>2]|0)+22>>0]=1}q=Oe(c[n>>2]|0,c[g>>2]|0,c[p+12>>2]&511)|0;c[(c[j>>2]|0)+12>>2]=q;if((c[(c[j>>2]|0)+12>>2]|0)<0){q=Pe(33691)|0;c[k>>2]=Je(q,17932,c[n>>2]|0,33691)|0;break}sf(c[(c[j>>2]|0)+12>>2]|0,c[p+20>>2]|0,c[p+24>>2]|0)|0;c[k>>2]=0;if((Re(c[h>>2]|0,1,128,1)|0)==0?gf(c[(c[j>>2]|0)+12>>2]|0,0,0)|0:0)c[k>>2]=Je(4618,17962,c[n>>2]|0,33707)|0;if(!(c[k>>2]|0))c[k>>2]=Re(c[h>>2]|0,0,128,1)|0;if(!(c[k>>2]|0))break a}else c[k>>2]=1802;while(0);Fe(c[h>>2]|0);Kd(c[i>>2]|0);Ge();c[e>>2]=c[k>>2];q=c[e>>2]|0;l=r;return q|0}while(0);c[c[i>>2]>>2]=c[j>>2];q=(c[j>>2]|0)+28|0;c[q>>2]=(c[q>>2]|0)+1;c[(c[h>>2]|0)+36>>2]=c[i>>2];Ge();c[(c[i>>2]|0)+4>>2]=c[(c[j>>2]|0)+32>>2];c[(c[j>>2]|0)+32>>2]=c[i>>2];c[e>>2]=0;q=c[e>>2]|0;l=r;return q|0}function Df(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(Rd()|0){c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}if((c[f>>2]|0)<0)c[f>>2]=0;f=c[f>>2]|0;c[d>>2]=Sd(c[e>>2]|0,f,((f|0)<0)<<31>>31)|0;f=c[d>>2]|0;l=g;return f|0}function Ef(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;k=p+44|0;q=p+40|0;m=p+36|0;n=p+28|0;o=p+24|0;h=p+8|0;j=p;c[q>>2]=e;c[m>>2]=f;c[p+32>>2]=g;c[n>>2]=c[q>>2];c[j>>2]=0;if((d[(c[n>>2]|0)+16>>0]|0|0)<=(c[m>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=p;return q|0}Ee();c[o>>2]=c[(c[n>>2]|0)+8>>2];do if((d[(c[n>>2]|0)+16>>0]|0|0)>1){if((c[m>>2]|0)==1?(b[h>>1]=0,b[h+2>>1]=0,c[h+4>>2]=(c[481]|0)+2,c[h+8>>2]=510,Ff(c[n>>2]|0,h)|0):0){c[j>>2]=2314;q=c[n>>2]|0;df(q,c[(_P()|0)>>2]|0);break}b[h>>1]=2;b[h+2>>1]=0;c[h+4>>2]=c[481];c[h+8>>2]=2;if(!(Ff(c[n>>2]|0,h)|0)){a[(c[o>>2]|0)+12>>0]=1;i=10;break}else{c[j>>2]=2058;q=c[n>>2]|0;df(q,c[(_P()|0)>>2]|0);break}}else i=10;while(0);if((i|0)==10?(c[m>>2]|0)==0:0){q=(c[o>>2]|0)+8|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[o>>2]|0)+8>>2]|0)){b[h>>1]=2;b[h+2>>1]=0;c[h+8>>2]=0;c[h+4>>2]=0;if(!(Ff(c[n>>2]|0,h)|0))e=(c[o>>2]|0)+12|0;else{c[j>>2]=2058;e=c[n>>2]|0;df(e,c[(_P()|0)>>2]|0);a[(c[o>>2]|0)+12>>0]=0;e=(c[n>>2]|0)+16|0}a[e>>0]=0}q=(c[o>>2]|0)+24|0;c[q>>2]=(c[q>>2]|0)+-1;if(!(c[(c[o>>2]|0)+24>>2]|0))Gf(c[n>>2]|0)}Ge();if(!(c[j>>2]|0))a[(c[n>>2]|0)+16>>0]=c[m>>2];c[k>>2]=c[j>>2];q=c[k>>2]|0;l=p;return q|0}function Ff(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+64|0;p=q+8|0;o=q;h=q+48|0;i=q+44|0;j=q+40|0;k=q+36|0;m=q+32|0;n=q+16|0;c[i>>2]=f;c[j>>2]=g;c[m>>2]=c[(c[i>>2]|0)+8>>2];do if(((e[(c[i>>2]|0)+18>>1]|0)&3|0)==1){if(d[(c[m>>2]|0)+13>>0]|0|0){c[k>>2]=0;break}b[n+2>>1]=0;c[n+4>>2]=(c[481]|0)+2;c[n+8>>2]=510;b[n>>1]=1;j=c[375]|0;p=c[(c[i>>2]|0)+12>>2]|0;c[o>>2]=n;c[k>>2]=ob[j&255](p,13,o)|0;if((c[k>>2]|0)>=0){a[(c[m>>2]|0)+13>>0]=1;p=(c[m>>2]|0)+24|0;c[p>>2]=(c[p>>2]|0)+1;break}c[h>>2]=c[k>>2];p=c[h>>2]|0;l=q;return p|0}else{n=c[375]|0;o=c[(c[i>>2]|0)+12>>2]|0;c[p>>2]=c[j>>2];c[k>>2]=ob[n&255](o,13,p)|0}while(0);c[h>>2]=c[k>>2];p=c[h>>2]|0;l=q;return p|0}function Gf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[e>>2]=c[(c[d>>2]|0)+28>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+8>>2];Ie(c[b>>2]|0,c[c[e>>2]>>2]|0,30592);Kd(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+28>>2]=0;l=g;return}function Hf(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+8|0;e=b+4|0;f=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+28>>2];c[(c[f>>2]|0)+8>>2]=c[(c[e>>2]|0)+28>>2];c[(c[e>>2]|0)+28>>2]=c[f>>2];c[(c[d>>2]|0)+12>>2]=-1;c[(c[d>>2]|0)+28>>2]=0;l=b;return}function If(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[d>>2]|0)+16>>2]|0){l=e;return}Gf(c[b>>2]|0);if(c[(c[d>>2]|0)+36>>2]|0)a=(c[(c[d>>2]|0)+36>>2]|0)+32|0;else a=47020;c[a>>2]=c[(c[d>>2]|0)+32>>2];if(c[(c[d>>2]|0)+32>>2]|0)c[(c[(c[d>>2]|0)+32>>2]|0)+36>>2]=c[(c[d>>2]|0)+36>>2];Kd(c[d>>2]|0);l=e;return}function Jf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)==0){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}d=(_c(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;while(1){if(!(a[c[e>>2]>>0]|0)){b=8;break}c[g>>2]=vQ(c[e>>2]|0,c[f>>2]|0)|0;d=(_c(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d;d=c[e>>2]|0;if(!(c[g>>2]|0)){b=6;break}d=(_c(d)|0)+1|0;c[e>>2]=(c[e>>2]|0)+d}if((b|0)==6){c[h>>2]=d;h=c[h>>2]|0;l=i;return h|0}else if((b|0)==8){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}return 0}function Kf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e;f=e+4|0;c[g>>2]=b;a[f>>0]=d;d=((Lf(c[g>>2]|0,1,a[f>>0]|0)|0)&255|0)!=0&255;l=e;return d|0}function Lf(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+17|0;g=n+12|0;h=n+8|0;k=n+16|0;m=n+4|0;i=n;c[g>>2]=b;c[h>>2]=e;a[k>>0]=f;b=c[g>>2]|0;if((d[16965+(d[c[g>>2]>>0]|0)>>0]|0)&4|0){a[j>>0]=Mf(b)|0;m=a[j>>0]|0;l=n;return m|0}c[i>>2]=_c(b)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=8){b=11;break}if((d[18435+(c[m>>2]|0)>>0]|0|0)==(c[i>>2]|0)?(Zc(18451+(d[18443+(c[m>>2]|0)>>0]|0)|0,c[g>>2]|0,c[i>>2]|0)|0)==0:0){if(!(c[h>>2]|0)){b=9;break}if((d[18476+(c[m>>2]|0)>>0]|0|0)<=1){b=9;break}}c[m>>2]=(c[m>>2]|0)+1}if((b|0)==9){a[j>>0]=a[18476+(c[m>>2]|0)>>0]|0;m=a[j>>0]|0;l=n;return m|0}else if((b|0)==11){a[j>>0]=a[k>>0]|0;m=a[j>>0]|0;l=n;return m|0}return 0}function Mf(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(c[b>>2]|0)Nf(c[b>>2]|0,d)|0;l=e;return c[d>>2]|0}function Nf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;i=o+32|0;j=o+28|0;k=o+24|0;f=o;m=o+20|0;g=o+16|0;h=o+12|0;n=o+8|0;c[j>>2]=b;c[k>>2]=e;e=f;c[e>>2]=0;c[e+4>>2]=0;c[h>>2]=0;do if((a[c[j>>2]>>0]|0)!=45){b=c[j>>2]|0;if((a[c[j>>2]>>0]|0)==43){c[j>>2]=b+1;break}if((a[b>>0]|0)==48){if((a[(c[j>>2]|0)+1>>0]|0)!=120?(a[(c[j>>2]|0)+1>>0]|0)!=88:0)break;if(d[16965+(d[(c[j>>2]|0)+2>>0]|0)>>0]&8|0){c[n>>2]=0;c[j>>2]=(c[j>>2]|0)+2;while(1){if((a[c[j>>2]>>0]|0)!=48)break;c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=0;while(1){b=c[n>>2]|0;if(!(d[16965+(d[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0?(c[m>>2]|0)<8:0))break;c[n>>2]=(b<<4)+((Of(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)|0)&255);c[m>>2]=(c[m>>2]|0)+1}if((b&-2147483648|0)==0?(d[16965+(d[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)>>0]&8|0)==0:0){c[c[k>>2]>>2]=c[n>>2];c[i>>2]=1;n=c[i>>2]|0;l=o;return n|0}c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}}}else{c[h>>2]=1;c[j>>2]=(c[j>>2]|0)+1}while(0);while(1){if((a[c[j>>2]>>0]|0)!=48)break;c[j>>2]=(c[j>>2]|0)+1}c[m>>2]=0;while(1){if((c[m>>2]|0)>=11)break;n=(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;c[g>>2]=n;if(!((n|0)>=0&(c[g>>2]|0)<=9))break;n=f;n=RR(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;e=c[g>>2]|0;e=IR(n|0,z|0,e|0,((e|0)<0)<<31>>31|0)|0;n=f;c[n>>2]=e;c[n+4>>2]=z;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)>10){c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}m=f;n=c[h>>2]|0;n=FR(c[m>>2]|0,c[m+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;m=z;if((m|0)>0|(m|0)==0&n>>>0>2147483647){c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}if(c[h>>2]|0){m=f;m=FR(0,0,c[m>>2]|0,c[m+4>>2]|0)|0;n=f;c[n>>2]=m;c[n+4>>2]=z}c[c[k>>2]>>2]=c[f>>2];c[i>>2]=1;n=c[i>>2]|0;l=o;return n|0}function Of(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)+((1&c[b>>2]>>6)*9|0);l=d;return c[b>>2]&15|0}function Pf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+96|0;m=k+92|0;f=k+88|0;g=k+84|0;h=k+80|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=0;if(!(yb[c[1464>>2]&255](c[m>>2]|0,i)|0)){c[c[f>>2]>>2]=c[i+12>>2]&511;c[c[g>>2]>>2]=c[i+20>>2];c[c[h>>2]>>2]=c[i+24>>2];m=c[j>>2]|0;l=k;return m|0}else{c[j>>2]=1802;m=c[j>>2]|0;l=k;return m|0}return 0}function Qf(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 1848}function Rf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=1928;Sf(18,b)|0;l=a;return}function Sf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+144|0;E=G+140|0;n=G+136|0;x=G+120|0;F=G+112|0;y=G+108|0;z=G+104|0;A=G+100|0;B=G+96|0;C=G+92|0;d=G+88|0;e=G+84|0;f=G+80|0;g=G+76|0;h=G+72|0;D=G+68|0;i=G+64|0;j=G+60|0;k=G+56|0;m=G+52|0;o=G+48|0;p=G+44|0;q=G+40|0;r=G+24|0;s=G+16|0;t=G+8|0;u=G;v=G+36|0;w=G+32|0;c[n>>2]=a;c[F>>2]=0;if(c[59]|0){c[E>>2]=cd(138190)|0;F=c[E>>2]|0;l=G;return F|0}c[x>>2]=b;do switch(c[n>>2]|0){case 4:{b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[y>>2]=D;D=c[y>>2]|0;c[12]=c[D>>2];c[13]=c[D+4>>2];c[14]=c[D+8>>2];c[15]=c[D+12>>2];c[16]=c[D+16>>2];c[17]=c[D+20>>2];c[18]=c[D+24>>2];c[19]=c[D+28>>2];break}case 5:{if(!(c[12]|0))Tf();b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[z>>2]=D;D=c[z>>2]|0;c[D>>2]=c[12];c[D+4>>2]=c[13];c[D+8>>2]=c[14];c[D+12>>2]=c[15];c[D+16>>2]=c[16];c[D+20>>2]=c[17];c[D+24>>2]=c[18];c[D+28>>2]=c[19];break}case 9:{b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[A>>2]=D;c[2]=c[A>>2];break}case 6:{b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[B>>2]=D;c[50]=c[B>>2];D=(c[x>>2]|0)+(4-1)&~(4-1);b=c[D>>2]|0;c[x>>2]=D+4;c[C>>2]=b;c[51]=c[C>>2];b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[d>>2]=D;c[52]=c[d>>2];break}case 7:{b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[e>>2]=D;c[53]=c[e>>2];D=(c[x>>2]|0)+(4-1)&~(4-1);b=c[D>>2]|0;c[x>>2]=D+4;c[f>>2]=b;c[54]=c[f>>2];b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[g>>2]=D;c[55]=c[g>>2];break}case 24:{D=(Uf()|0)+(Vf()|0)+(Wf()|0)|0;C=(c[x>>2]|0)+(4-1)&~(4-1);b=c[C>>2]|0;c[x>>2]=C+4;c[h>>2]=b;c[c[h>>2]>>2]=D;break}case 14:break;case 15:{c[F>>2]=1;break}case 18:{a=(c[x>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[x>>2]=a+4;c[D>>2]=e;e=116;a=c[D>>2]|0;d=e+52|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 19:{if(!(c[31]|0))Rf();a=(c[x>>2]|0)+(4-1)&~(4-1);e=c[a>>2]|0;c[x>>2]=a+4;c[i>>2]=e;e=c[i>>2]|0;a=116;d=e+52|0;do{c[e>>2]=c[a>>2];e=e+4|0;a=a+4|0}while((e|0)<(d|0));break}case 13:{D=(c[x>>2]|0)+(4-1)&~(4-1);b=c[D>>2]|0;c[x>>2]=D+4;c[j>>2]=b;c[9]=c[j>>2];b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[k>>2]=D;c[10]=c[k>>2];break}case 16:{D=(c[x>>2]|0)+(4-1)&~(4-1);b=c[D>>2]|0;c[x>>2]=D+4;c[m>>2]=b;c[66]=c[m>>2];b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[o>>2]=D;c[67]=c[o>>2];break}case 17:{b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[p>>2]=D;c[5]=c[p>>2];break}case 20:{b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[q>>2]=D;c[6]=c[q>>2];break}case 22:{C=(c[x>>2]|0)+(8-1)&~(8-1);B=C;b=c[B>>2]|0;B=c[B+4>>2]|0;c[x>>2]=C+8;C=s;c[C>>2]=b;c[C+4>>2]=B;C=s;B=c[C+4>>2]|0;b=r;c[b>>2]=c[C>>2];c[b+4>>2]=B;b=(c[x>>2]|0)+(8-1)&~(8-1);B=b;C=c[B>>2]|0;B=c[B+4>>2]|0;c[x>>2]=b+8;b=u;c[b>>2]=C;c[b+4>>2]=B;b=u;B=c[b>>2]|0;b=c[b+4>>2]|0;C=t;c[C>>2]=B;c[C+4>>2]=b;C=t;D=c[C+4>>2]|0;C=(c[t+4>>2]|0)<0|((D|0)>0|(D|0)==0&(c[C>>2]|0)>>>0>0);D=t;c[D>>2]=C?0:B;c[D+4>>2]=C?0:b;if((c[r+4>>2]|0)<0){D=r;c[D>>2]=0;c[D+4>>2]=0}b=r;B=c[b+4>>2]|0;D=t;C=c[D+4>>2]|0;if((B|0)>(C|0)|((B|0)==(C|0)?(c[b>>2]|0)>>>0>(c[D>>2]|0)>>>0:0)){C=t;b=c[C+4>>2]|0;D=r;c[D>>2]=c[C>>2];c[D+4>>2]=b}D=t;b=c[D+4>>2]|0;C=192;c[C>>2]=c[D>>2];c[C+4>>2]=b;C=r;b=c[C+4>>2]|0;D=184;c[D>>2]=c[C>>2];c[D+4>>2]=b;break}case 25:{b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[v>>2]=D;c[58]=c[v>>2];break}case 26:{b=(c[x>>2]|0)+(4-1)&~(4-1);D=c[b>>2]|0;c[x>>2]=b+4;c[w>>2]=D;c[11]=c[w>>2];break}default:c[F>>2]=1}while(0);c[E>>2]=c[F>>2];F=c[E>>2]|0;l=G;return F|0}function Tf(){var a=0,b=0;a=l;l=l+16|0;b=a;c[b>>2]=1980;Sf(4,b)|0;l=a;return}function Uf(){return 88}function Vf(){return 40}function Wf(){return 32}function Xf(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;d=e;f=e+8|0;b=e+4|0;c[f>>2]=a;c[f>>2]=(c[f>>2]|0)+7&-8;c[b>>2]=wR((c[f>>2]|0)+8|0)|0;a=c[f>>2]|0;if(c[b>>2]|0){f=c[b>>2]|0;c[f>>2]=a;c[f+4>>2]=((a|0)<0)<<31>>31;c[b>>2]=(c[b>>2]|0)+8;f=c[b>>2]|0;l=e;return f|0}else{c[d>>2]=a;hd(7,18527,d);f=c[b>>2]|0;l=e;return f|0}return 0}function Yf(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[d>>2]=(c[d>>2]|0)+-8;xR(c[d>>2]|0);l=b;return}function Zf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[d>>2];c[f>>2]=(c[f>>2]|0)+-8;c[f>>2]=zR(c[f>>2]|0,(c[e>>2]|0)+8|0)|0;if(c[f>>2]|0){e=c[e>>2]|0;g=c[f>>2]|0;c[g>>2]=e;c[g+4>>2]=((e|0)<0)<<31>>31;c[f>>2]=(c[f>>2]|0)+8;g=c[f>>2]|0;l=h;return g|0}else{d=_f(c[d>>2]|0)|0;e=c[e>>2]|0;c[g>>2]=d;c[g+4>>2]=e;hd(7,18491,g);g=c[f>>2]|0;l=h;return g|0}return 0}function _f(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];c[b>>2]=(c[b>>2]|0)+-8;l=d;return c[c[b>>2]>>2]|0}function $f(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)+7&-8|0}function ag(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function bg(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function cg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;c[d>>2]=a;a=46820;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[11719]=(c[53]|0)==0&1;c[11720]=(c[11719]|0)!=0&(c[55]|0)!=0&(c[53]|0)==0?c[55]|0:0;c[11708]=10;c[11718]=1;l=d;return 0}function dg(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;c[d>>2]=a;a=46820;b=a+100|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function eg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;n=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[n>>2]=60+((c[11719]|0)*52|0);f=c[n>>2]|0;c[j>>2]=Cg(f,((f|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){n=c[j>>2]|0;l=m;return n|0}if(c[11719]|0){c[k>>2]=(c[j>>2]|0)+60;c[(c[k>>2]|0)+12>>2]=10}else c[k>>2]=46820;if(!(d[(c[k>>2]|0)+20+14>>0]|0)){a[(c[k>>2]|0)+20+14>>0]=1;n=(c[k>>2]|0)+20|0;c[(c[k>>2]|0)+20+24>>2]=n;c[(c[k>>2]|0)+20+28>>2]=n}c[c[j>>2]>>2]=c[k>>2];c[(c[j>>2]|0)+4>>2]=c[g>>2];c[(c[j>>2]|0)+8>>2]=c[h>>2];c[(c[j>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0)+32;c[(c[j>>2]|0)+16>>2]=c[i>>2]|0?1:0;wg(c[j>>2]|0);if(c[i>>2]|0){c[(c[j>>2]|0)+20>>2]=10;n=(c[k>>2]|0)+8|0;c[n>>2]=(c[n>>2]|0)+(c[(c[j>>2]|0)+20>>2]|0);c[(c[k>>2]|0)+12>>2]=(c[(c[k>>2]|0)+4>>2]|0)+10-(c[(c[k>>2]|0)+8>>2]|0)}if(c[(c[j>>2]|0)+44>>2]|0){n=c[j>>2]|0;l=m;return n|0}lg(c[j>>2]|0);c[j>>2]=0;n=c[j>>2]|0;l=m;return n|0}function fg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[h>>2];if(!(c[(c[e>>2]|0)+16>>2]|0)){l=g;return}c[f>>2]=c[c[e>>2]>>2];h=(c[f>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+((c[d>>2]|0)-(c[(c[e>>2]|0)+24>>2]|0));c[(c[f>>2]|0)+12>>2]=(c[(c[f>>2]|0)+4>>2]|0)+10-(c[(c[f>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+24>>2]=c[d>>2];c[(c[e>>2]|0)+28>>2]=(((c[(c[e>>2]|0)+24>>2]|0)*9|0)>>>0)/10|0;ng(c[e>>2]|0);l=g;return}function gg(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[f>>2];c[b>>2]=c[(c[e>>2]|0)+40>>2];l=d;return c[b>>2]|0}function hg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=tg(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function ig(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;n=j+24|0;m=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[f>>2]=c[n>>2];c[g>>2]=c[m>>2];c[h>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==0?(c[(c[h>>2]|0)+16>>2]|0)>>>0<=(c[(c[h>>2]|0)+4>>2]|0)>>>0:0){c[i>>2]=(c[h>>2]|0)+20+24;c[(c[g>>2]|0)+28>>2]=(c[h>>2]|0)+20;m=c[g>>2]|0;n=c[c[i>>2]>>2]|0;c[(c[g>>2]|0)+24>>2]=n;c[n+28>>2]=m;c[c[i>>2]>>2]=c[g>>2];n=(c[f>>2]|0)+36|0;c[n>>2]=(c[n>>2]|0)+1;a[(c[g>>2]|0)+12>>0]=0;l=j;return}pg(c[g>>2]|0,1);l=j;return}function jg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;o=k+28|0;n=k+24|0;m=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;f=k+4|0;g=k;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[i>>2]=c[o>>2];c[j>>2]=c[n>>2];c[g>>2]=((c[m>>2]|0)>>>0)%((c[(c[i>>2]|0)+44>>2]|0)>>>0)|0;c[f>>2]=(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){if((c[c[f>>2]>>2]|0)==(c[j>>2]|0))break;c[f>>2]=(c[c[f>>2]>>2]|0)+16}c[c[f>>2]>>2]=c[(c[j>>2]|0)+16>>2];c[g>>2]=((c[h>>2]|0)>>>0)%((c[(c[i>>2]|0)+44>>2]|0)>>>0)|0;c[(c[j>>2]|0)+8>>2]=c[h>>2];c[(c[j>>2]|0)+16>>2]=c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];if((c[h>>2]|0)>>>0<=(c[(c[i>>2]|0)+32>>2]|0)>>>0){l=k;return}c[(c[i>>2]|0)+32>>2]=c[h>>2];l=k;return}function kg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];if((c[d>>2]|0)>>>0>(c[(c[e>>2]|0)+32>>2]|0)>>>0){l=f;return}sg(c[e>>2]|0,c[d>>2]|0);c[(c[e>>2]|0)+32>>2]=(c[d>>2]|0)-1;l=f;return}function lg(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=c[c[b>>2]>>2];if(c[(c[b>>2]|0)+40>>2]|0)sg(c[b>>2]|0,0);f=(c[d>>2]|0)+4|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+24>>2]|0);f=(c[d>>2]|0)+8|0;c[f>>2]=(c[f>>2]|0)-(c[(c[b>>2]|0)+20>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[(c[d>>2]|0)+4>>2]|0)+10-(c[(c[d>>2]|0)+8>>2]|0);ng(c[b>>2]|0);Kd(c[(c[b>>2]|0)+56>>2]|0);Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[b>>2]|0);l=e;return}function mg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(!(c[(c[b>>2]|0)+16>>2]|0)){l=f;return}c[d>>2]=c[c[b>>2]>>2];c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=0;ng(c[b>>2]|0);c[(c[d>>2]|0)+4>>2]=c[e>>2];l=f;return}function ng(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];while(1){if((c[(c[e>>2]|0)+16>>2]|0)>>>0<=(c[(c[e>>2]|0)+4>>2]|0)>>>0)break;a=c[(c[e>>2]|0)+20+28>>2]|0;c[f>>2]=a;if(d[a+14>>0]|0|0)break;og(c[f>>2]|0)|0;pg(c[f>>2]|0,1)}if(c[(c[b>>2]|0)+40>>2]|0){l=g;return}if(!(c[(c[b>>2]|0)+56>>2]|0)){l=g;return}Kd(c[(c[b>>2]|0)+56>>2]|0);c[(c[b>>2]|0)+52>>2]=0;c[(c[b>>2]|0)+56>>2]=0;l=g;return}function og(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e+4|0;f=e;c[d>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];c[(c[d>>2]|0)+24>>2]=0;c[(c[d>>2]|0)+28>>2]=0;a[(c[d>>2]|0)+12>>0]=1;b=(c[f>>2]|0)+36|0;c[b>>2]=(c[b>>2]|0)+-1;l=e;return c[d>>2]|0}function pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+20>>2];c[i>>2]=((c[(c[d>>2]|0)+8>>2]|0)>>>0)%((c[(c[f>>2]|0)+44>>2]|0)>>>0)|0;c[g>>2]=(c[(c[f>>2]|0)+48>>2]|0)+(c[i>>2]<<2);while(1){a=(c[c[g>>2]>>2]|0)+16|0;if((c[c[g>>2]>>2]|0)==(c[d>>2]|0))break;c[g>>2]=a}c[c[g>>2]>>2]=c[a>>2];i=(c[f>>2]|0)+40|0;c[i>>2]=(c[i>>2]|0)+-1;if(!(c[e>>2]|0)){l=h;return}qg(c[d>>2]|0);l=h;return}function qg(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+20>>2];if(a[(c[d>>2]|0)+13>>0]|0){c[(c[d>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[d>>2]}else rg(c[c[d>>2]>>2]|0);if(!(c[(c[e>>2]|0)+16>>2]|0)){l=f;return}e=(c[c[e>>2]>>2]|0)+16|0;c[e>>2]=(c[e>>2]|0)+-1;l=f;return}function rg(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}if((c[b>>2]|0)>>>0>=(c[11724]|0)>>>0?(c[b>>2]|0)>>>0<(c[11725]|0)>>>0:0){Ld(1,1);c[d>>2]=c[b>>2];c[c[d>>2]>>2]=c[11727];c[11727]=c[d>>2];c[11728]=(c[11728]|0)+1;c[11729]=(c[11728]|0)<(c[11723]|0)&1;l=f;return}c[e>>2]=0;c[e>>2]=ud(c[b>>2]|0)|0;Ld(2,c[e>>2]|0);Kd(c[b>>2]|0);l=f;return}function sg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;if(((c[(c[e>>2]|0)+32>>2]|0)-(c[f>>2]|0)|0)>>>0<(c[(c[e>>2]|0)+44>>2]|0)>>>0){c[g>>2]=((c[f>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0;c[h>>2]=((c[(c[e>>2]|0)+32>>2]|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}else{c[g>>2]=((c[(c[e>>2]|0)+44>>2]|0)>>>0)/2|0;c[h>>2]=(c[g>>2]|0)-1}while(1){c[i>>2]=(c[(c[e>>2]|0)+48>>2]|0)+(c[g>>2]<<2);while(1){d=c[c[i>>2]>>2]|0;c[j>>2]=d;if(!d)break;if((c[(c[j>>2]|0)+8>>2]|0)>>>0<(c[f>>2]|0)>>>0){c[i>>2]=(c[j>>2]|0)+16;continue}d=(c[e>>2]|0)+40|0;c[d>>2]=(c[d>>2]|0)+-1;c[c[i>>2]>>2]=c[(c[j>>2]|0)+16>>2];if(!(a[(c[j>>2]|0)+12>>0]|0))og(c[j>>2]|0)|0;qg(c[j>>2]|0)}if((c[g>>2]|0)==(c[h>>2]|0))break;c[g>>2]=(((c[g>>2]|0)+1|0)>>>0)%((c[(c[e>>2]|0)+44>>2]|0)>>>0)|0}l=k;return}function tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;i=k+20|0;m=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[m>>2];c[j>>2]=0;c[j>>2]=c[(c[(c[h>>2]|0)+48>>2]|0)+((((c[f>>2]|0)>>>0)%((c[(c[h>>2]|0)+44>>2]|0)>>>0)|0)<<2)>>2];while(1){if(c[j>>2]|0)d=(c[(c[j>>2]|0)+8>>2]|0)!=(c[f>>2]|0);else d=0;b=c[j>>2]|0;if(!d)break;c[j>>2]=c[b+16>>2]}if(b|0){b=c[j>>2]|0;if(a[(c[j>>2]|0)+12>>0]|0){c[i>>2]=b;m=c[i>>2]|0;l=k;return m|0}else{c[i>>2]=og(b)|0;m=c[i>>2]|0;l=k;return m|0}}else if(c[g>>2]|0){c[i>>2]=ug(c[h>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;m=c[i>>2]|0;l=k;return m|0}else{c[i>>2]=0;m=c[i>>2]|0;l=k;return m|0}return 0}function ug(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;g=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=c[c[i>>2]>>2];c[o>>2]=0;c[m>>2]=(c[(c[i>>2]|0)+40>>2]|0)-(c[(c[i>>2]|0)+36>>2]|0);do if((c[k>>2]|0)==1){if((c[m>>2]|0)>>>0<(c[(c[n>>2]|0)+12>>2]|0)>>>0?(c[m>>2]|0)>>>0<(c[(c[i>>2]|0)+28>>2]|0)>>>0:0){if(!(vg(c[i>>2]|0)|0))break;if((c[(c[i>>2]|0)+36>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break}c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}while(0);if((c[(c[i>>2]|0)+40>>2]|0)>>>0>=(c[(c[i>>2]|0)+44>>2]|0)>>>0)wg(c[i>>2]|0);do if(c[(c[i>>2]|0)+16>>2]|0?(a[(c[(c[n>>2]|0)+20+28>>2]|0)+14>>0]|0)==0:0){if(((c[(c[i>>2]|0)+40>>2]|0)+1|0)>>>0<(c[(c[i>>2]|0)+24>>2]|0)>>>0?(vg(c[i>>2]|0)|0)==0:0)break;c[o>>2]=c[(c[n>>2]|0)+20+28>>2];pg(c[o>>2]|0,0);og(c[o>>2]|0)|0;c[f>>2]=c[(c[o>>2]|0)+20>>2];if((c[(c[f>>2]|0)+12>>2]|0)!=(c[(c[i>>2]|0)+12>>2]|0)){qg(c[o>>2]|0);c[o>>2]=0;break}else{n=(c[n>>2]|0)+16|0;c[n>>2]=(c[n>>2]|0)-((c[(c[f>>2]|0)+16>>2]|0)-(c[(c[i>>2]|0)+16>>2]|0));break}}while(0);if(!(c[o>>2]|0))c[o>>2]=xg(c[i>>2]|0,(c[k>>2]|0)==1&1)|0;if(c[o>>2]|0?(c[g>>2]=((c[j>>2]|0)>>>0)%((c[(c[i>>2]|0)+44>>2]|0)>>>0)|0,n=(c[i>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,c[(c[o>>2]|0)+8>>2]=c[j>>2],c[(c[o>>2]|0)+16>>2]=c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2],c[(c[o>>2]|0)+20>>2]=c[i>>2],c[(c[o>>2]|0)+28>>2]=0,c[(c[o>>2]|0)+24>>2]=0,a[(c[o>>2]|0)+12>>0]=1,c[c[(c[o>>2]|0)+4>>2]>>2]=0,c[(c[(c[i>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2]=c[o>>2],(c[j>>2]|0)>>>0>(c[(c[i>>2]|0)+32>>2]|0)>>>0):0)c[(c[i>>2]|0)+32>>2]=c[j>>2];c[h>>2]=c[o>>2];o=c[h>>2]|0;l=p;return o|0}function vg(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[e>>2]=a;if(c[11722]|0?((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+8>>2]|0)|0)<=(c[11721]|0):0){c[b>>2]=c[11729];e=c[b>>2]|0;l=d;return e|0}c[b>>2]=Dg()|0;e=c[b>>2]|0;l=d;return e|0}function wg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[b>>2]=a;a=c[(c[b>>2]|0)+44>>2]<<1;c[e>>2]=a;c[e>>2]=(c[e>>2]|0)>>>0<256?256:a;if(c[(c[b>>2]|0)+44>>2]|0)zg();c[d>>2]=Cg(c[e>>2]<<2,0)|0;if(c[(c[b>>2]|0)+44>>2]|0)Bg();if(!(c[d>>2]|0)){l=j;return}c[f>>2]=0;while(1){a=c[(c[b>>2]|0)+48>>2]|0;if((c[f>>2]|0)>>>0>=(c[(c[b>>2]|0)+44>>2]|0)>>>0)break;c[h>>2]=c[a+(c[f>>2]<<2)>>2];while(1){a=c[h>>2]|0;c[g>>2]=a;if(!a)break;c[i>>2]=((c[(c[g>>2]|0)+8>>2]|0)>>>0)%((c[e>>2]|0)>>>0)|0;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[(c[g>>2]|0)+16>>2]=c[(c[d>>2]|0)+(c[i>>2]<<2)>>2];c[(c[d>>2]|0)+(c[i>>2]<<2)>>2]=c[g>>2]}c[f>>2]=(c[f>>2]|0)+1}Kd(a);c[(c[b>>2]|0)+48>>2]=c[d>>2];c[(c[b>>2]|0)+44>>2]=c[e>>2];l=j;return}function xg(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(c[(c[f>>2]|0)+52>>2]|0)j=4;else{if((c[(c[f>>2]|0)+40>>2]|0)==0?yg(c[f>>2]|0)|0:0){j=4;break}if(c[g>>2]|0)zg();c[i>>2]=Ag(c[(c[f>>2]|0)+12>>2]|0)|0;c[h>>2]=(c[i>>2]|0)+(c[(c[f>>2]|0)+4>>2]|0);if(c[g>>2]|0)Bg();if(c[i>>2]|0){c[c[h>>2]>>2]=c[i>>2];c[(c[h>>2]|0)+4>>2]=(c[h>>2]|0)+32;a[(c[h>>2]|0)+13>>0]=0;a[(c[h>>2]|0)+14>>0]=0;break}c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}while(0);if((j|0)==4){c[h>>2]=c[(c[f>>2]|0)+52>>2];c[(c[f>>2]|0)+52>>2]=c[(c[h>>2]|0)+16>>2];c[(c[h>>2]|0)+16>>2]=0}if(c[(c[f>>2]|0)+16>>2]|0){j=(c[c[f>>2]>>2]|0)+16|0;c[j>>2]=(c[j>>2]|0)+1}c[e>>2]=c[h>>2];j=c[e>>2]|0;l=k;return j|0}function yg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;d=k+28|0;e=k+24|0;f=k;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;c[e>>2]=b;if(!(c[11720]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}if((c[(c[e>>2]|0)+24>>2]|0)>>>0<3){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}zg();if((c[11720]|0)>0){b=c[(c[e>>2]|0)+12>>2]|0;m=c[11720]|0;m=RR(b|0,((b|0)<0)<<31>>31|0,m|0,((m|0)<0)<<31>>31|0)|0;b=f;c[b>>2]=m;c[b+4>>2]=z}else{b=c[11720]|0;b=RR(-1024,-1,b|0,((b|0)<0)<<31>>31|0)|0;m=f;c[m>>2]=b;c[m+4>>2]=z}o=f;b=c[o>>2]|0;o=c[o+4>>2]|0;m=c[(c[e>>2]|0)+12>>2]|0;m=RR(m|0,((m|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;n=z;if((o|0)>(n|0)|(o|0)==(n|0)&b>>>0>m>>>0){n=c[(c[e>>2]|0)+12>>2]|0;n=RR(n|0,((n|0)<0)<<31>>31|0,c[(c[e>>2]|0)+24>>2]|0,0)|0;o=f;c[o>>2]=n;c[o+4>>2]=z}o=f;o=pd(c[o>>2]|0,c[o+4>>2]|0)|0;c[(c[e>>2]|0)+56>>2]=o;c[g>>2]=o;Bg();a:do if(c[g>>2]|0){o=ud(c[g>>2]|0)|0;c[h>>2]=(o|0)/(c[(c[e>>2]|0)+12>>2]|0)|0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[h>>2]|0))break a;c[j>>2]=(c[g>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+4>>2]=(c[j>>2]|0)+32;a[(c[j>>2]|0)+13>>0]=1;a[(c[j>>2]|0)+14>>0]=0;c[(c[j>>2]|0)+16>>2]=c[(c[e>>2]|0)+52>>2];c[(c[e>>2]|0)+52>>2]=c[j>>2];c[g>>2]=(c[g>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}while(0);c[d>>2]=(c[(c[e>>2]|0)+52>>2]|0)!=0&1;o=c[d>>2]|0;l=k;return o|0}function zg(){if(!(c[11756]|0))return;vb[c[11756]&255]();return}function Ag(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[b>>2]|0)<=(c[11721]|0)?(c[d>>2]=c[11727],c[d>>2]|0):0){c[11727]=c[c[11727]>>2];c[11728]=(c[11728]|0)+-1;c[11729]=(c[11728]|0)<(c[11723]|0)&1;rd(7,c[b>>2]|0);vd(1,1)}if(c[d>>2]|0){e=c[d>>2]|0;l=f;return e|0}a=c[b>>2]|0;c[d>>2]=pd(a,((a|0)<0)<<31>>31)|0;if(!(c[d>>2]|0)){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=ud(c[d>>2]|0)|0;rd(7,c[b>>2]|0);vd(2,c[e>>2]|0);e=c[d>>2]|0;l=f;return e|0}function Bg(){if(!(c[11757]|0))return;vb[c[47028>>2]&255]();return}function Cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;b=d;c[e>>2]=pd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;l=f;return g|0}GR(c[e>>2]|0,0,c[d>>2]|0)|0;g=c[e>>2]|0;l=f;return g|0}function Dg(){return c[11683]|0}function Eg(){Gg(3944,3);return}function Fg(){Gg(3720,8);return}function Gg(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0))break;c[i>>2]=c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+20>>2];c[j>>2]=_c(c[i>>2]|0)|0;c[k>>2]=((d[17348+(d[c[i>>2]>>0]|0)>>0]|0)+(c[j>>2]|0)|0)%23|0;c[h>>2]=Hg(c[k>>2]|0,c[i>>2]|0)|0;if(c[h>>2]|0){c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=(c[e>>2]|0)+((c[g>>2]|0)*28|0)}else{c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+8>>2]=0;c[(c[e>>2]|0)+((c[g>>2]|0)*28|0)+24>>2]=c[46920+(c[k>>2]<<2)>>2];c[46920+(c[k>>2]<<2)>>2]=(c[e>>2]|0)+((c[g>>2]|0)*28|0)}c[g>>2]=(c[g>>2]|0)+1}l=m;return}function Hg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;f=g+12|0;h=g+8|0;d=g+4|0;e=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=c[46920+(c[h>>2]<<2)>>2];while(1){if(!(c[e>>2]|0)){a=6;break}h=(Ig(c[(c[e>>2]|0)+20>>2]|0,c[d>>2]|0)|0)==0;b=c[e>>2]|0;if(h){a=4;break}c[e>>2]=c[b+24>>2]}if((a|0)==4){c[f>>2]=b;h=c[f>>2]|0;l=g;return h|0}else if((a|0)==6){c[f>>2]=0;h=c[f>>2]|0;l=g;return h|0}return 0}function Ig(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;j=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=b;c[e>>2]=c[j>>2];c[f>>2]=c[i>>2];while(1){c[g>>2]=(d[17348+(d[c[e>>2]>>0]|0)>>0]|0)-(d[17348+(d[c[f>>2]>>0]|0)>>0]|0);if(c[g>>2]|0){a=5;break}if(!(d[c[e>>2]>>0]|0)){a=5;break}c[e>>2]=(c[e>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){l=h;return c[g>>2]|0}return 0}function Jg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;d=wh(c[c[h>>2]>>2]|0)|0;c[f>>2]=d;if(!d){l=g;return}h=c[e>>2]|0;Ch(h,Yc(c[f>>2]|0)|0);l=g;return}function Kg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+12|0;h=e+4|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[h>>2]=d;c[f>>2]=vi(c[c[h>>2]>>2]|0)|0;d=c[g>>2]|0;ci(d,ad(c[f>>2]|0)|0,-1,0);l=e;return}function Lg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[f>>2]|0;ci(d,Xi()|0,-1,0);l=e;return}function Mg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;g=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;k=v+8|0;m=v+4|0;n=v;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[h>>2]=0;c[i>>2]=0;if((fi(c[c[q>>2]>>2]|0)|0)==5){l=v;return}c[r>>2]=wh(c[c[q>>2]>>2]|0)|0;if(!(c[r>>2]|0)){l=v;return}c[t>>2]=xh(c[c[q>>2]>>2]|0)|0;a:do if((c[p>>2]|0)!=1){q=wh(c[(c[q>>2]|0)+4>>2]|0)|0;c[s>>2]=q;if(!q){l=v;return}c[k>>2]=c[s>>2];c[j>>2]=0;while(1){if(!(a[c[k>>2]>>0]|0))break;q=c[k>>2]|0;c[k>>2]=q+1;b:do if((d[q>>0]|0)>=192)while(1){if((d[c[k>>2]>>0]&192|0)!=128)break b;c[k>>2]=(c[k>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)>0){p=c[o>>2]|0;q=c[j>>2]|0;q=RR(q|0,((q|0)<0)<<31>>31|0,5,0)|0;c[i>>2]=Fi(p,q,z)|0;if(!(c[i>>2]|0)){l=v;return}c[h>>2]=(c[i>>2]|0)+(c[j>>2]<<2);c[k>>2]=c[s>>2];c[j>>2]=0;while(1){if(!(a[c[k>>2]>>0]|0))break a;c[(c[i>>2]|0)+(c[j>>2]<<2)>>2]=c[k>>2];q=c[k>>2]|0;c[k>>2]=q+1;c:do if((d[q>>0]|0)>=192)while(1){if((d[c[k>>2]>>0]&192|0)!=128)break c;c[k>>2]=(c[k>>2]|0)+1}while(0);a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=(c[k>>2]|0)-(c[(c[i>>2]|0)+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+1}}}else{c[j>>2]=1;c[h>>2]=19910;c[i>>2]=3716;c[s>>2]=0}while(0);if((c[j>>2]|0)>0){c[u>>2]=vh(c[o>>2]|0)|0;d:do if((c[u>>2]&1|0)!=0&(c[t>>2]|0)>0)do{c[m>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=d[(c[h>>2]|0)+(c[g>>2]|0)>>0];if((c[m>>2]|0)<=(c[t>>2]|0)?(wQ(c[r>>2]|0,c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,c[m>>2]|0)|0)==0:0)break;c[g>>2]=(c[g>>2]|0)+1}if((c[g>>2]|0)>=(c[j>>2]|0))break d;c[r>>2]=(c[r>>2]|0)+(c[m>>2]|0);c[t>>2]=(c[t>>2]|0)-(c[m>>2]|0)}while((c[t>>2]|0)>0);while(0);e:do if((c[u>>2]&2|0)!=0&(c[t>>2]|0)>0)do{c[n>>2]=0;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=d[(c[h>>2]|0)+(c[g>>2]|0)>>0];if((c[n>>2]|0)<=(c[t>>2]|0)?(wQ((c[r>>2]|0)+((c[t>>2]|0)-(c[n>>2]|0))|0,c[(c[i>>2]|0)+(c[g>>2]<<2)>>2]|0,c[n>>2]|0)|0)==0:0)break;c[g>>2]=(c[g>>2]|0)+1}if((c[g>>2]|0)>=(c[j>>2]|0))break e;c[t>>2]=(c[t>>2]|0)-(c[n>>2]|0)}while((c[t>>2]|0)>0);while(0);if(c[s>>2]|0)Kd(c[i>>2]|0)}ci(c[o>>2]|0,c[r>>2]|0,c[t>>2]|0,-1);l=v;return}function Ng(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;d=(vh(c[e>>2]|0)|0)==0;c[i>>2]=d?0:-1;c[k>>2]=Ki(c[e>>2]|0)|0;c[j>>2]=0;if((fi(c[c[g>>2]>>2]|0)|0)==5){l=n;return}c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[f>>2]|0))break;if((fi(c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0)|0)==5){m=9;break}d=Li(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,c[(c[g>>2]|0)+(c[h>>2]<<2)>>2]|0,c[k>>2]|0)|0;if((d^c[i>>2]|0)>=0)c[j>>2]=c[h>>2];c[h>>2]=(c[h>>2]|0)+1}if((m|0)==9){l=n;return}Ei(c[e>>2]|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0);l=n;return}function Og(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+28|0;f=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[n+24>>2]=d;c[f>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[j>>2]=$h(c[h>>2]|0,40)|0;if(!(c[j>>2]|0)){l=n;return}f=(fi(c[c[f>>2]>>2]|0)|0)==5;a=(b[(c[j>>2]|0)+8>>1]|0)!=0;if(f){if(!a){l=n;return}Wi(c[h>>2]|0);l=n;return}d=c[h>>2]|0;if(!a){m=uh(d)|0;c[(c[j>>2]|0)+32>>2]=m;Gi(c[j>>2]|0,c[i>>2]|0)|0;l=n;return}c[g>>2]=Ki(d)|0;c[k>>2]=(vh(c[h>>2]|0)|0)!=0&1;c[m>>2]=Li(c[j>>2]|0,c[i>>2]|0,c[g>>2]|0)|0;if(!((c[k>>2]|0)!=0&(c[m>>2]|0)<0)?!((c[k>>2]|0)==0&(c[m>>2]|0)>0):0){Wi(c[h>>2]|0);l=n;return}Gi(c[j>>2]|0,c[i>>2]|0)|0;l=n;return}function Pg(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=$h(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}if(b[(c[e>>2]|0)+8>>1]|0)Ei(c[d>>2]|0,c[e>>2]|0);Lh(c[e>>2]|0);l=f;return}function Qg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;c[f>>2]=0;switch(fi(c[c[h>>2]>>2]|0)|0){case 1:{c[f>>2]=19882;break}case 3:{c[f>>2]=19890;break}case 2:{c[f>>2]=19895;break}case 4:{c[f>>2]=19900;break}default:c[f>>2]=19905}ci(c[e>>2]|0,c[f>>2]|0,-1,0);l=g;return}function Rg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[k+12>>2]=e;c[h>>2]=f;switch(fi(c[c[h>>2]>>2]|0)|0){case 2:case 1:case 4:{Ch(c[g>>2]|0,xh(c[c[h>>2]>>2]|0)|0);l=k;return}case 3:{c[j>>2]=wh(c[c[h>>2]>>2]|0)|0;if(!(c[j>>2]|0)){l=k;return}c[i>>2]=0;a:while(1){if(!(a[c[j>>2]>>0]|0))break;c[i>>2]=(c[i>>2]|0)+1;h=c[j>>2]|0;c[j>>2]=h+1;if((d[h>>0]|0)<192)continue;while(1){if((d[c[j>>2]>>0]&192|0)!=128)continue a;c[j>>2]=(c[j>>2]|0)+1}}Ch(c[g>>2]|0,c[i>>2]|0);l=k;return}default:{Ui(c[g>>2]|0);l=k;return}}}function Sg(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+40|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;f=q+12|0;g=q+8|0;h=q+4|0;i=q;c[j>>2]=a;c[q+36>>2]=b;c[k>>2]=e;c[h>>2]=1;c[f>>2]=fi(c[c[k>>2]>>2]|0)|0;c[g>>2]=fi(c[(c[k>>2]|0)+4>>2]|0)|0;if((c[f>>2]|0)==5|(c[g>>2]|0)==5){l=q;return}c[o>>2]=xh(c[c[k>>2]>>2]|0)|0;c[p>>2]=xh(c[(c[k>>2]|0)+4>>2]|0)|0;a=c[c[k>>2]>>2]|0;if((c[f>>2]|0)==4&(c[g>>2]|0)==4){c[m>>2]=wi(a)|0;c[n>>2]=wi(c[(c[k>>2]|0)+4>>2]|0)|0;c[i>>2]=0}else{c[m>>2]=wh(a)|0;c[n>>2]=wh(c[(c[k>>2]|0)+4>>2]|0)|0;c[i>>2]=1}a:while(1){if((c[p>>2]|0)>(c[o>>2]|0))break;if(!(wQ(c[m>>2]|0,c[n>>2]|0,c[p>>2]|0)|0))break;c[h>>2]=(c[h>>2]|0)+1;while(1){c[o>>2]=(c[o>>2]|0)+-1;c[m>>2]=(c[m>>2]|0)+1;if(!(c[i>>2]|0))continue a;if(((d[c[m>>2]>>0]|0)&192|0)!=128)continue a}}if((c[p>>2]|0)>(c[o>>2]|0))c[h>>2]=0;Ch(c[j>>2]|0,c[h>>2]|0);l=q;return}function Tg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+80|0;o=p;g=p+64|0;h=p+60|0;i=p+56|0;j=p+44|0;k=p+16|0;m=p+12|0;n=p+8|0;f=p+4|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[f>>2]=uh(c[g>>2]|0)|0;if((c[h>>2]|0)<1){l=p;return}e=wh(c[c[i>>2]>>2]|0)|0;c[m>>2]=e;if(!e){l=p;return}c[j>>2]=(c[h>>2]|0)-1;c[j+4>>2]=0;c[j+8>>2]=(c[i>>2]|0)+4;jd(k,c[f>>2]|0,0,0,c[(c[f>>2]|0)+96>>2]|0);a[k+25>>0]=2;m=c[m>>2]|0;c[o>>2]=j;Vi(k,m,o);c[n>>2]=c[k+12>>2];m=c[g>>2]|0;o=ld(k)|0;ci(m,o,c[n>>2]|0,169);l=p;return}function Ug(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+12|0;i=h+4|0;g=h;c[f>>2]=a;c[h+8>>2]=b;c[i>>2]=e;c[g>>2]=wh(c[c[i>>2]>>2]|0)|0;if(!(c[g>>2]|0)){l=h;return}if(!(d[c[g>>2]>>0]|0)){l=h;return}i=c[f>>2]|0;Ch(i,Ah(g)|0);l=h;return}function Vg(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o;f=o+8|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;e=(c[h>>2]<<2)+1|0;e=Ve(e,((e|0)<0)<<31>>31)|0;c[j>>2]=e;c[k>>2]=e;if(!(c[j>>2]|0)){bi(c[g>>2]|0);l=o;return}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;p=ki(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;e=z;d=n;c[d>>2]=p;c[d+4>>2]=e;d=n;b=c[d+4>>2]|0;d=(c[n+4>>2]|0)<0|((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>1114111);b=n;c[b>>2]=d?65533:p;c[b+4>>2]=d?0:e;c[f>>2]=c[n>>2]&2097151;b=c[f>>2]|0;do if((c[f>>2]|0)>>>0>=128){d=c[f>>2]|0;if(b>>>0<2048){e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=192+(d>>>6&31);e=128+(c[f>>2]&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;break}b=c[f>>2]|0;if(d>>>0<65536){p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=224+(b>>>12&15);p=128+((c[f>>2]|0)>>>6&63)&255;e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=p;e=128+(c[f>>2]&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;break}else{e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=240+(b>>>18&7);e=128+((c[f>>2]|0)>>>12&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;p=128+((c[f>>2]|0)>>>6&63)&255;e=c[k>>2]|0;c[k>>2]=e+1;a[e>>0]=p;e=128+(c[f>>2]&63)&255;p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=e;break}}else{p=c[k>>2]|0;c[k>>2]=p+1;a[p>>0]=b}while(0);c[m>>2]=(c[m>>2]|0)+1}p=(c[k>>2]|0)-(c[j>>2]|0)|0;xi(c[g>>2]|0,c[j>>2]|0,p,((p|0)<0)<<31>>31,148,1);l=o;return}function Wg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;e=j+24|0;f=j+16|0;g=j+8|0;i=j;c[e>>2]=a;c[j+20>>2]=b;c[f>>2]=d;switch(fi(c[c[f>>2]>>2]|0)|0){case 1:{i=g;c[i>>2]=ki(c[c[f>>2]>>2]|0)|0;c[i+4>>2]=z;do if((c[g+4>>2]|0)<0){i=g;if(!((c[i>>2]|0)==0?(c[i+4>>2]|0)==-2147483648:0)){f=g;f=FR(0,0,c[f>>2]|0,c[f+4>>2]|0)|0;i=g;c[i>>2]=f;c[i+4>>2]=z;break}yh(c[e>>2]|0,19150,-1);l=j;return}while(0);i=g;gi(c[e>>2]|0,c[i>>2]|0,c[i+4>>2]|0);l=j;return}case 5:{Ui(c[e>>2]|0);l=j;return}default:{h[i>>3]=+mi(c[c[f>>2]>>2]|0);if(+h[i>>3]<0.0)h[i>>3]=-+h[i>>3];hi(c[e>>2]|0,+h[i>>3]);l=j;return}}}function Xg(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+48|0;k=m+8|0;e=m+40|0;n=m+36|0;f=m+32|0;g=m+28|0;i=m;j=m+24|0;c[e>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=0;do if((c[n>>2]|0)==2)if(5==(fi(c[(c[f>>2]|0)+4>>2]|0)|0)){l=m;return}else{n=vi(c[(c[f>>2]|0)+4>>2]|0)|0;c[g>>2]=n;n=(c[g>>2]|0)>30?30:n;c[g>>2]=n;c[g>>2]=(c[g>>2]|0)<0?0:n;break}while(0);if((fi(c[c[f>>2]>>2]|0)|0)==5){l=m;return}h[i>>3]=+mi(c[c[f>>2]>>2]|0);do if((c[g>>2]|0)==0&+h[i>>3]>=0.0&+h[i>>3]<9223372036854775808.0){o=+h[i>>3]+.5;h[i>>3]=+(~~o>>>0>>>0)+4294967296.0*+((+B(o)>=1.0?(o>0.0?~~+P(+A(o/4294967296.0),4294967295.0)>>>0:~~+N((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)}else{if((c[g>>2]|0)==0&+h[i>>3]<0.0?-+h[i>>3]<9223372036854775808.0:0){o=-+h[i>>3]+.5;h[i>>3]=-(+(~~o>>>0>>>0)+4294967296.0*+((+B(o)>=1.0?(o>0.0?~~+P(+A(o/4294967296.0),4294967295.0)>>>0:~~+N((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0));break}o=+h[i>>3];c[k>>2]=c[g>>2];h[k+8>>3]=o;c[j>>2]=Ue(19877,k)|0;if(c[j>>2]|0){n=c[j>>2]|0;oi(n,i,_c(c[j>>2]|0)|0,1)|0;Kd(c[j>>2]|0);break}bi(c[e>>2]|0);l=m;return}while(0);hi(c[e>>2]|0,+h[i>>3]);l=m;return}function Yg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[i>>2]=wh(c[c[n>>2]>>2]|0)|0;c[k>>2]=xh(c[c[n>>2]>>2]|0)|0;if(!(c[i>>2]|0)){l=m;return}f=c[g>>2]|0;n=c[k>>2]|0;n=IR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[h>>2]=Fi(f,n,z)|0;if(!(c[h>>2]|0)){l=m;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[(c[i>>2]|0)+(c[j>>2]|0)>>0]&~(d[16965+(d[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&32);c[j>>2]=(c[j>>2]|0)+1}ci(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,148);l=m;return}function Zg(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[m+20>>2]=e;c[n>>2]=f;c[i>>2]=wh(c[c[n>>2]>>2]|0)|0;c[k>>2]=xh(c[c[n>>2]>>2]|0)|0;if(!(c[i>>2]|0)){l=m;return}f=c[g>>2]|0;n=c[k>>2]|0;n=IR(n|0,((n|0)<0)<<31>>31|0,1,0)|0;c[h>>2]=Fi(f,n,z)|0;if(!(c[h>>2]|0)){l=m;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[17348+(d[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]|0;c[j>>2]=(c[j>>2]|0)+1}ci(c[g>>2]|0,c[h>>2]|0,c[k>>2]|0,148);l=m;return}function _g(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;i=o+28|0;p=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;g=o;h=o+32|0;c[i>>2]=b;c[o+24>>2]=e;c[p>>2]=f;c[m>>2]=wi(c[c[p>>2]>>2]|0)|0;c[k>>2]=xh(c[c[p>>2]>>2]|0)|0;e=c[i>>2]|0;f=c[k>>2]|0;f=RR(f|0,((f|0)<0)<<31>>31|0,2,0)|0;f=IR(f|0,z|0,1,0)|0;f=Fi(e,f,z)|0;c[n>>2]=f;c[g>>2]=f;if(!(c[n>>2]|0)){l=o;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;a[h>>0]=a[c[m>>2]>>0]|0;p=a[19861+((d[h>>0]|0)>>4&15)>>0]|0;f=c[g>>2]|0;c[g>>2]=f+1;a[f>>0]=p;f=a[19861+((d[h>>0]|0)&15)>>0]|0;p=c[g>>2]|0;c[g>>2]=p+1;a[p>>0]=f;c[j>>2]=(c[j>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+1}a[c[g>>2]>>0]=0;ci(c[i>>2]|0,c[n>>2]|0,c[k>>2]<<1,148);l=o;return}function $g(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+32|0;e=g+16|0;f=g;c[e>>2]=a;c[g+12>>2]=b;c[g+8>>2]=d;Ze(8,f);if((c[f+4>>2]|0)<0){b=f;b=FR(0,0,c[b>>2]|0,c[b+4>>2]&2147483647|0)|0;d=f;c[d>>2]=b;c[d+4>>2]=z}gi(c[e>>2]|0,c[f>>2]|0,c[f+4>>2]|0);l=g;return}function ah(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;e=h+16|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[h+12>>2]=b;c[i>>2]=d;d=vi(c[c[i>>2]>>2]|0)|0;c[f>>2]=d;c[f>>2]=(c[f>>2]|0)<1?1:d;d=c[f>>2]|0;c[g>>2]=Fi(c[e>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){l=h;return}Ze(c[f>>2]|0,c[g>>2]|0);Ti(c[e>>2]|0,c[g>>2]|0,c[f>>2]|0,148);l=h;return}function bh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;f=g+4|0;h=g;c[e>>2]=a;c[g+8>>2]=b;c[f>>2]=d;c[h>>2]=Ki(c[e>>2]|0)|0;if(!(Li(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[h>>2]|0)|0)){l=g;return}Ei(c[e>>2]|0,c[c[f>>2]>>2]|0);l=g;return}function ch(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;d=c[f>>2]|0;ci(d,gd()|0,-1,0);l=e;return}function dh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e;g=e+4|0;c[e+12>>2]=a;c[e+8>>2]=b;c[g>>2]=d;d=vi(c[c[g>>2]>>2]|0)|0;c[f>>2]=wh(c[(c[g>>2]|0)+4>>2]|0)|0;hd(d,18130,f);l=e;return}function eh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+144|0;x=y+32|0;w=y+24|0;q=y+80|0;r=y+72|0;s=y+16|0;t=y+8|0;u=y+84|0;v=y+68|0;g=y+64|0;i=y+60|0;j=y+56|0;k=y+52|0;m=y+48|0;n=y;o=y+44|0;p=y+40|0;c[q>>2]=b;c[y+76>>2]=e;c[r>>2]=f;switch(fi(c[c[r>>2]>>2]|0)|0){case 2:{h[s>>3]=+mi(c[c[r>>2]>>2]|0);h[w>>3]=+h[s>>3];Ne(50,u,19086,w)|0;oi(u,t,20,1)|0;if(+h[s>>3]!=+h[t>>3]){h[x>>3]=+h[s>>3];Ne(50,u,19854,x)|0}ci(c[q>>2]|0,u,-1,-1);l=y;return}case 1:{Ei(c[q>>2]|0,c[c[r>>2]>>2]|0);l=y;return}case 4:{c[v>>2]=0;c[g>>2]=wi(c[c[r>>2]>>2]|0)|0;c[i>>2]=xh(c[c[r>>2]>>2]|0)|0;w=c[q>>2]|0;x=c[i>>2]|0;c[v>>2]=Fi(w,IR(RR(2,0,x|0,((x|0)<0)<<31>>31|0)|0,z|0,4,0)|0,z)|0;if(!(c[v>>2]|0)){l=y;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;a[(c[v>>2]|0)+((c[j>>2]<<1)+2)>>0]=a[19861+(a[(c[g>>2]|0)+(c[j>>2]|0)>>0]>>4&15)>>0]|0;a[(c[v>>2]|0)+((c[j>>2]<<1)+3)>>0]=a[19861+(a[(c[g>>2]|0)+(c[j>>2]|0)>>0]&15)>>0]|0;c[j>>2]=(c[j>>2]|0)+1}a[(c[v>>2]|0)+((c[i>>2]<<1)+2)>>0]=39;a[(c[v>>2]|0)+((c[i>>2]<<1)+3)>>0]=0;a[c[v>>2]>>0]=88;a[(c[v>>2]|0)+1>>0]=39;ci(c[q>>2]|0,c[v>>2]|0,-1,-1);Kd(c[v>>2]|0);l=y;return}case 3:{c[o>>2]=wh(c[c[r>>2]>>2]|0)|0;if(!(c[o>>2]|0)){l=y;return}c[k>>2]=0;x=n;c[x>>2]=0;c[x+4>>2]=0;while(1){if(!(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0)==39){w=n;w=IR(c[w>>2]|0,c[w+4>>2]|0,1,0)|0;x=n;c[x>>2]=w;c[x+4>>2]=z}c[k>>2]=(c[k>>2]|0)+1}w=c[q>>2]|0;v=c[k>>2]|0;x=n;x=IR(v|0,((v|0)<0)<<31>>31|0,c[x>>2]|0,c[x+4>>2]|0)|0;x=IR(x|0,z|0,3,0)|0;c[p>>2]=Fi(w,x,z)|0;if(!(c[p>>2]|0)){l=y;return}a[c[p>>2]>>0]=39;c[k>>2]=0;c[m>>2]=1;while(1){if(!(a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0))break;v=a[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0;w=c[p>>2]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[w+x>>0]=v;if((d[(c[o>>2]|0)+(c[k>>2]|0)>>0]|0)==39){w=c[p>>2]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[w+x>>0]=39}c[k>>2]=(c[k>>2]|0)+1}w=c[p>>2]|0;x=c[m>>2]|0;c[m>>2]=x+1;a[w+x>>0]=39;a[(c[p>>2]|0)+(c[m>>2]|0)>>0]=0;ci(c[q>>2]|0,c[p>>2]|0,c[m>>2]|0,148);l=y;return}default:{ci(c[q>>2]|0,17843,4,0);l=y;return}}}function fh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=uh(c[g>>2]|0)|0;b=c[g>>2]|0;d=Ji(c[f>>2]|0)|0;gi(b,d,z);l=e;return}function gh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=uh(c[g>>2]|0)|0;d=c[g>>2]|0;Ch(d,Ii(c[f>>2]|0)|0);l=e;return}function hh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e;c[g>>2]=a;c[e+8>>2]=b;c[e+4>>2]=d;c[f>>2]=uh(c[g>>2]|0)|0;d=c[g>>2]|0;Ch(d,Hi(c[f>>2]|0)|0);l=e;return}function ih(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;t=w+64|0;m=w+56|0;u=w+52|0;n=w+48|0;o=w+44|0;v=w+40|0;p=w+36|0;g=w+32|0;h=w+28|0;i=w;j=w+24|0;q=w+20|0;r=w+16|0;s=w+12|0;k=w+8|0;c[t>>2]=b;c[w+60>>2]=e;c[m>>2]=f;c[u>>2]=wh(c[c[m>>2]>>2]|0)|0;if(!(c[u>>2]|0)){l=w;return}c[p>>2]=xh(c[c[m>>2]>>2]|0)|0;c[n>>2]=wh(c[(c[m>>2]|0)+4>>2]|0)|0;if(!(c[n>>2]|0)){l=w;return}if(!(d[c[n>>2]>>0]|0)){Ei(c[t>>2]|0,c[c[m>>2]>>2]|0);l=w;return}c[g>>2]=xh(c[(c[m>>2]|0)+4>>2]|0)|0;c[o>>2]=wh(c[(c[m>>2]|0)+8>>2]|0)|0;if(!(c[o>>2]|0)){l=w;return}c[h>>2]=xh(c[(c[m>>2]|0)+8>>2]|0)|0;f=(c[p>>2]|0)+1|0;m=i;c[m>>2]=f;c[m+4>>2]=((f|0)<0)<<31>>31;m=i;c[v>>2]=Fi(c[t>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;if(!(c[v>>2]|0)){l=w;return}c[j>>2]=(c[p>>2]|0)-(c[g>>2]|0);c[r>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>(c[j>>2]|0)){b=18;break}if((d[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0|0)==(d[c[n>>2]>>0]|0|0)?!(wQ((c[u>>2]|0)+(c[q>>2]|0)|0,c[n>>2]|0,c[g>>2]|0)|0):0){c[k>>2]=uh(c[t>>2]|0)|0;b=(c[h>>2]|0)-(c[g>>2]|0)|0;f=i;b=IR(c[f>>2]|0,c[f+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;f=i;c[f>>2]=b;c[f+4>>2]=z;f=i;f=FR(c[f>>2]|0,c[f+4>>2]|0,1,0)|0;b=z;m=c[(c[k>>2]|0)+96>>2]|0;e=((m|0)<0)<<31>>31;if((b|0)>(e|0)|(b|0)==(e|0)&f>>>0>m>>>0){b=13;break}c[s>>2]=c[v>>2];m=c[i>>2]|0;c[v>>2]=Qd(c[v>>2]|0,m,((m|0)<0)<<31>>31)|0;if(!(c[v>>2]|0)){b=15;break}MR((c[v>>2]|0)+(c[r>>2]|0)|0,c[o>>2]|0,c[h>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[h>>2]|0);c[q>>2]=(c[q>>2]|0)+((c[g>>2]|0)-1)}else{e=a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0;f=c[v>>2]|0;m=c[r>>2]|0;c[r>>2]=m+1;a[f+m>>0]=e}c[q>>2]=(c[q>>2]|0)+1}if((b|0)==13){ai(c[t>>2]|0);Kd(c[v>>2]|0);l=w;return}else if((b|0)==15){bi(c[t>>2]|0);Kd(c[s>>2]|0);l=w;return}else if((b|0)==18){MR((c[v>>2]|0)+(c[r>>2]|0)|0,(c[u>>2]|0)+(c[q>>2]|0)|0,(c[p>>2]|0)-(c[q>>2]|0)|0)|0;c[r>>2]=(c[r>>2]|0)+((c[p>>2]|0)-(c[q>>2]|0));a[(c[v>>2]|0)+(c[r>>2]|0)>>0]=0;ci(c[t>>2]|0,c[v>>2]|0,c[r>>2]|0,148);l=w;return}}function jh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+32|0;e=g+20|0;i=g+12|0;h=g;f=g+8|0;c[e>>2]=a;c[g+16>>2]=b;c[i>>2]=d;i=ki(c[c[i>>2]>>2]|0)|0;b=z;a=h;c[a>>2]=i;c[a+4>>2]=b;a=(c[h+4>>2]|0)<0;d=h;c[d>>2]=a?0:i;c[d+4>>2]=a?0:b;d=h;c[f>>2]=Ai(c[e>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[f>>2]|0)){l=g;return}Bi(c[e>>2]|0,c[f>>2]|0);l=g;return}function kh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+44|0;h=r+40|0;i=r+36|0;p=r+32|0;q=r+28|0;j=r+24|0;k=r+20|0;m=r+8|0;n=r;g=r+16|0;c[o>>2]=b;c[h>>2]=e;c[i>>2]=f;c[g>>2]=0;if((fi(c[(c[i>>2]|0)+4>>2]|0)|0)==5){l=r;return}if((c[h>>2]|0)==3?(fi(c[(c[i>>2]|0)+8>>2]|0)|0)==5:0){l=r;return}c[k>>2]=fi(c[c[i>>2]>>2]|0)|0;f=vi(c[(c[i>>2]|0)+4>>2]|0)|0;b=m;c[b>>2]=f;c[b+4>>2]=((f|0)<0)<<31>>31;b=c[c[i>>2]>>2]|0;a:do if((c[k>>2]|0)==4){c[j>>2]=xh(b)|0;c[p>>2]=wi(c[c[i>>2]>>2]|0)|0;if(!(c[p>>2]|0)){l=r;return}}else{c[p>>2]=wh(b)|0;if(!(c[p>>2]|0)){l=r;return}c[j>>2]=0;if((c[m+4>>2]|0)<0){c[q>>2]=c[p>>2];while(1){if(!(a[c[q>>2]>>0]|0))break a;f=c[q>>2]|0;c[q>>2]=f+1;b:do if((d[f>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break b;c[q>>2]=(c[q>>2]|0)+1}while(0);c[j>>2]=(c[j>>2]|0)+1}}}while(0);if((c[h>>2]|0)==3){h=vi(c[(c[i>>2]|0)+8>>2]|0)|0;i=n;c[i>>2]=h;c[i+4>>2]=((h|0)<0)<<31>>31;if((c[n+4>>2]|0)<0){h=n;h=FR(0,0,c[h>>2]|0,c[h+4>>2]|0)|0;i=n;c[i>>2]=h;c[i+4>>2]=z;c[g>>2]=1}}else{h=c[(uh(c[o>>2]|0)|0)+96>>2]|0;i=n;c[i>>2]=h;c[i+4>>2]=((h|0)<0)<<31>>31}do if((c[m+4>>2]|0)<0){h=c[j>>2]|0;i=m;h=IR(c[i>>2]|0,c[i+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;i=m;c[i>>2]=h;c[i+4>>2]=z;if((c[m+4>>2]|0)<0){e=m;h=n;e=IR(c[h>>2]|0,c[h+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;h=z;f=n;c[f>>2]=e;c[f+4>>2]=h;f=(c[n+4>>2]|0)<0;i=n;c[i>>2]=f?0:e;c[i+4>>2]=f?0:h;i=m;c[i>>2]=0;c[i+4>>2]=0}}else{i=m;h=c[i+4>>2]|0;if((h|0)>0|(h|0)==0&(c[i>>2]|0)>>>0>0){h=m;h=IR(c[h>>2]|0,c[h+4>>2]|0,-1,-1)|0;i=m;c[i>>2]=h;c[i+4>>2]=z;break}i=n;h=c[i+4>>2]|0;if((h|0)>0|(h|0)==0&(c[i>>2]|0)>>>0>0){h=n;h=IR(c[h>>2]|0,c[h+4>>2]|0,-1,-1)|0;i=n;c[i>>2]=h;c[i+4>>2]=z}}while(0);if(c[g>>2]|0?(h=n,i=m,h=FR(c[i>>2]|0,c[i+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,i=m,c[i>>2]=h,c[i+4>>2]=z,(c[m+4>>2]|0)<0):0){h=m;i=n;h=IR(c[i>>2]|0,c[i+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;i=n;c[i>>2]=h;c[i+4>>2]=z;i=m;c[i>>2]=0;c[i+4>>2]=0}if((c[k>>2]|0)==4){h=m;k=n;k=IR(c[h>>2]|0,c[h+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;h=z;q=c[j>>2]|0;i=((q|0)<0)<<31>>31;if((h|0)>(i|0)|(h|0)==(i|0)&k>>>0>q>>>0){k=c[j>>2]|0;i=m;i=FR(k|0,((k|0)<0)<<31>>31|0,c[i>>2]|0,c[i+4>>2]|0)|0;k=z;j=n;c[j>>2]=i;c[j+4>>2]=k;j=(c[n+4>>2]|0)<0;q=n;c[q>>2]=j?0:i;c[q+4>>2]=j?0:k}q=n;yi(c[o>>2]|0,(c[p>>2]|0)+(c[m>>2]|0)|0,c[q>>2]|0,c[q+4>>2]|0,-1);l=r;return}while(1){k=m;b=c[p>>2]|0;if(!(d[c[p>>2]>>0]|0?(c[k>>2]|0)!=0|(c[k+4>>2]|0)!=0:0))break;c[p>>2]=b+1;c:do if((d[b>>0]|0)>=192)while(1){if((d[c[p>>2]>>0]&192|0)!=128)break c;c[p>>2]=(c[p>>2]|0)+1}while(0);j=m;j=IR(c[j>>2]|0,c[j+4>>2]|0,-1,-1)|0;k=m;c[k>>2]=j;c[k+4>>2]=z}c[q>>2]=b;while(1){m=n;if(!(d[c[q>>2]>>0]|0?(c[m>>2]|0)!=0|(c[m+4>>2]|0)!=0:0))break;m=c[q>>2]|0;c[q>>2]=m+1;d:do if((d[m>>0]|0)>=192)while(1){if((d[c[q>>2]>>0]&192|0)!=128)break d;c[q>>2]=(c[q>>2]|0)+1}while(0);k=n;k=IR(c[k>>2]|0,c[k+4>>2]|0,-1,-1)|0;m=n;c[m>>2]=k;c[m+4>>2]=z}q=(c[q>>2]|0)-(c[p>>2]|0)|0;xi(c[o>>2]|0,c[p>>2]|0,q,((q|0)<0)<<31>>31,-1,1);l=r;return}function lh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;m=l;l=l+32|0;n=m+24|0;g=m+16|0;i=m+12|0;j=m+8|0;k=m;c[n>>2]=b;c[m+20>>2]=e;c[g>>2]=f;c[i>>2]=$h(c[n>>2]|0,32)|0;c[j>>2]=ji(c[c[g>>2]>>2]|0)|0;if(!((c[i>>2]|0)!=0&(c[j>>2]|0)!=5)){l=m;return}b=(c[i>>2]|0)+16|0;n=b;n=IR(c[n>>2]|0,c[n+4>>2]|0,1,0)|0;c[b>>2]=n;c[b+4>>2]=z;b=c[c[g>>2]>>2]|0;if((c[j>>2]|0)!=1){o=+mi(b);n=c[i>>2]|0;h[n>>3]=+h[n>>3]+o;a[(c[i>>2]|0)+25>>0]=1;l=m;return}n=ki(b)|0;j=k;c[j>>2]=n;c[j+4>>2]=z;j=k;n=c[i>>2]|0;h[n>>3]=+h[n>>3]+(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0));if(d[(c[i>>2]|0)+25>>0]|0|(d[(c[i>>2]|0)+24>>0]|0)|0){l=m;return}n=k;if(!(li((c[i>>2]|0)+8|0,c[n>>2]|0,c[n+4>>2]|0)|0)){l=m;return}a[(c[i>>2]|0)+24>>0]=1;l=m;return}function mh(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=$h(c[d>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}b=(c[e>>2]|0)+16|0;g=c[b+4>>2]|0;if(!((g|0)>0|(g|0)==0&(c[b>>2]|0)>>>0>0)){l=f;return}if(a[(c[e>>2]|0)+24>>0]|0){yh(c[d>>2]|0,19150,-1);l=f;return}b=c[d>>2]|0;d=c[e>>2]|0;if(a[(c[e>>2]|0)+25>>0]|0){hi(b,+h[d>>3]);l=f;return}else{g=d+8|0;gi(b,c[g>>2]|0,c[g+4>>2]|0);l=f;return}}function nh(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=$h(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){f=0.0;hi(a,f);l=d;return}f=+h[c[b>>2]>>3];hi(a,f);l=d;return}function oh(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=$h(c[b>>2]|0,0)|0;if(!(c[d>>2]|0)){l=e;return}a=(c[d>>2]|0)+16|0;f=c[a+4>>2]|0;if(!((f|0)>0|(f|0)==0&(c[a>>2]|0)>>>0>0)){l=e;return}f=(c[d>>2]|0)+16|0;hi(c[b>>2]|0,+h[c[d>>2]>>3]/(+((c[f>>2]|0)>>>0)+4294967296.0*+(c[f+4>>2]|0)));l=e;return}function ph(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;h=g+8|0;e=g+4|0;f=g;c[i>>2]=a;c[h>>2]=b;c[e>>2]=d;c[f>>2]=$h(c[i>>2]|0,8)|0;if(!(c[h>>2]|0)){if(!(c[f>>2]|0)){l=g;return}}else{i=5!=(fi(c[c[e>>2]>>2]|0)|0);if(!(i&(c[f>>2]|0)!=0)){l=g;return}}i=c[f>>2]|0;h=i;h=IR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[i>>2]=h;c[i+4>>2]=z;l=g;return}function qh(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=$h(c[e>>2]|0,0)|0;a=c[e>>2]|0;if(!(c[b>>2]|0)){b=0;e=0;gi(a,b,e);l=d;return}e=c[b>>2]|0;b=c[e>>2]|0;e=c[e+4>>2]|0;gi(a,b,e);l=d;return}function rh(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+36|0;i=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;e=p+8|0;f=p+4|0;g=p;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;if((fi(c[c[j>>2]>>2]|0)|0)==5){l=p;return}c[m>>2]=$h(c[h>>2]|0,28)|0;if(!(c[m>>2]|0)){l=p;return}c[f>>2]=uh(c[h>>2]|0)|0;c[g>>2]=(c[(c[m>>2]|0)+20>>2]|0)==0&1;c[(c[m>>2]|0)+20>>2]=c[(c[f>>2]|0)+96>>2];if(!(c[g>>2]|0)){if((c[i>>2]|0)==2){c[n>>2]=wh(c[(c[j>>2]|0)+4>>2]|0)|0;c[e>>2]=xh(c[(c[j>>2]|0)+4>>2]|0)|0}else{c[n>>2]=19116;c[e>>2]=1}if(c[e>>2]|0)zd(c[m>>2]|0,c[n>>2]|0,c[e>>2]|0)}c[k>>2]=wh(c[c[j>>2]>>2]|0)|0;c[o>>2]=xh(c[c[j>>2]>>2]|0)|0;if(!(c[k>>2]|0)){l=p;return}zd(c[m>>2]|0,c[k>>2]|0,c[o>>2]|0);l=p;return}function sh(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;c[e>>2]=$h(c[b>>2]|0,0)|0;if(!(c[e>>2]|0)){l=f;return}if((d[(c[e>>2]|0)+24>>0]|0|0)==2){ai(c[b>>2]|0);l=f;return}a=c[b>>2]|0;if((d[(c[e>>2]|0)+24>>0]|0|0)==1){bi(a);l=f;return}else{ci(a,ld(c[e>>2]|0)|0,-1,148);l=f;return}}function th(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;m=o+20|0;n=o+16|0;q=o+12|0;p=o+8|0;f=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=e;c[p>>2]=uh(c[h>>2]|0)|0;c[f>>2]=vh(c[h>>2]|0)|0;c[m>>2]=wh(c[c[j>>2]>>2]|0)|0;c[k>>2]=wh(c[(c[j>>2]|0)+4>>2]|0)|0;c[q>>2]=xh(c[c[j>>2]>>2]|0)|0;if((c[q>>2]|0)>(c[(c[p>>2]|0)+96+32>>2]|0)){yh(c[h>>2]|0,18939,-1);l=o;return}do if((c[i>>2]|0)==3){c[g>>2]=wh(c[(c[j>>2]|0)+8>>2]|0)|0;if(!(c[g>>2]|0)){l=o;return}if((zh(c[g>>2]|0,-1)|0)==1){c[n>>2]=Ah(g)|0;break}yh(c[h>>2]|0,18972,-1);l=o;return}else c[n>>2]=d[(c[f>>2]|0)+2>>0];while(0);if(!((c[k>>2]|0)!=0&(c[m>>2]|0)!=0)){l=o;return}q=c[h>>2]|0;Ch(q,Bh(c[m>>2]|0,c[k>>2]|0,c[f>>2]|0,c[n>>2]|0)|0);l=o;return}function uh(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[c[b>>2]>>2]|0)+32>>2]|0}function vh(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+4>>2]|0}function wh(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=_h(c[d>>2]|0,1)|0;l=b;return a|0}function xh(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Sh(c[d>>2]|0,1)|0;l=b;return a|0}function yh(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+8|0;h=f+4|0;g=f;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;c[(c[i>>2]|0)+20>>2]=1;a[(c[i>>2]|0)+25>>0]=1;Jh(c[c[i>>2]>>2]|0,c[h>>2]|0,c[g>>2]|0,1,-1)|0;l=f;return}function zh(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;c[j>>2]=a;c[e>>2]=b;c[h>>2]=0;c[f>>2]=c[j>>2];if((c[e>>2]|0)>=0)c[g>>2]=(c[f>>2]|0)+(c[e>>2]|0);else c[g>>2]=-1;while(1){if(!(d[c[f>>2]>>0]|0)){a=10;break}if((c[f>>2]|0)>>>0>=(c[g>>2]|0)>>>0){a=10;break}j=c[f>>2]|0;c[f>>2]=j+1;a:do if((d[j>>0]|0|0)>=192)while(1){if(((d[c[f>>2]>>0]|0)&192|0)!=128)break a;c[f>>2]=(c[f>>2]|0)+1}while(0);c[h>>2]=(c[h>>2]|0)+1}if((a|0)==10){l=i;return c[h>>2]|0}return 0}function Ah(a){a=a|0;var b=0,e=0,f=0,g=0,h=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;g=c[b>>2]|0;a=c[g>>2]|0;c[g>>2]=a+1;c[e>>2]=d[a>>0];if((c[e>>2]|0)>>>0<192){g=c[e>>2]|0;l=f;return g|0}c[e>>2]=d[19017+((c[e>>2]|0)-192)>>0];while(1){a=c[e>>2]|0;if(((d[c[c[b>>2]>>2]>>0]|0)&192|0)!=128)break;h=c[b>>2]|0;g=c[h>>2]|0;c[h>>2]=g+1;c[e>>2]=(a<<6)+(63&(d[g>>0]|0))}if((a>>>0>=128?(c[e>>2]&-2048|0)!=55296:0)?(c[e>>2]&-2|0)!=65534:0){h=c[e>>2]|0;l=f;return h|0}c[e>>2]=65533;h=c[e>>2]|0;l=f;return h|0} +function Bh(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;s=x+52|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;r=x+32|0;q=x+28|0;m=x+24|0;n=x+20|0;o=x+56|0;h=x+16|0;p=x+12|0;i=x+8|0;j=x+4|0;k=x;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;c[m>>2]=d[(c[v>>2]|0)+1>>0];c[n>>2]=d[c[v>>2]>>0];a[o>>0]=a[(c[v>>2]|0)+3>>0]|0;c[h>>2]=0;a:while(1){if((d[c[t>>2]>>0]|0)<128){b=c[t>>2]|0;c[t>>2]=b+1;b=d[b>>0]|0}else b=Ah(t)|0;c[r>>2]=b;if(!b){f=83;break}if((c[r>>2]|0)==(c[n>>2]|0)){f=7;break}do if((c[r>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[r>>2]=Ah(t)|0;if(!(c[r>>2]|0)){f=49;break a}c[h>>2]=c[t>>2];break}c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[r>>2]=Ah(u)|0;if(!(c[r>>2]|0)){f=52;break a}c[q>>2]=Ah(t)|0;if((c[q>>2]|0)==94){c[k>>2]=1;c[q>>2]=Ah(t)|0}if((c[q>>2]|0)==93){if((c[r>>2]|0)==93)c[j>>2]=1;c[q>>2]=Ah(t)|0}while(1){b=c[q>>2]|0;if(!(c[q>>2]|0?(c[q>>2]|0)!=93:0))break;if(((b|0)==45?(d[c[t>>2]>>0]|0)!=93:0)?((c[i>>2]|0)>>>0>0?(d[c[t>>2]>>0]|0)!=0:0):0){c[q>>2]=Ah(t)|0;if((c[r>>2]|0)>>>0>=(c[i>>2]|0)>>>0?(c[r>>2]|0)>>>0<=(c[q>>2]|0)>>>0:0)c[j>>2]=1;c[i>>2]=0}else{if((c[r>>2]|0)==(c[q>>2]|0))c[j>>2]=1;c[i>>2]=c[q>>2]}c[q>>2]=Ah(t)|0}if(!b){f=73;break a}if(!(c[j>>2]^c[k>>2])){f=73;break a}else continue a}while(0);if((d[c[u>>2]>>0]|0)<128){b=c[u>>2]|0;c[u>>2]=b+1;b=d[b>>0]|0}else b=Ah(u)|0;c[q>>2]=b;if((c[r>>2]|0)==(c[q>>2]|0))continue;if(d[o>>0]|0?((c[r>>2]|0)>>>0<128?(d[17348+(c[r>>2]&255)>>0]|0)==(d[17348+(c[q>>2]&255)>>0]|0):0)&(c[q>>2]|0)>>>0<128:0)continue;if((c[r>>2]|0)!=(c[m>>2]|0)){f=82;break}if(!(c[q>>2]|0?(c[t>>2]|0)!=(c[h>>2]|0):0)){f=82;break}}if((f|0)==7){while(1){f=0;if((d[c[t>>2]>>0]|0)<128){b=c[t>>2]|0;c[t>>2]=b+1;b=d[b>>0]|0}else b=Ah(t)|0;c[r>>2]=b;if((b|0)==(c[n>>2]|0))b=1;else b=(c[r>>2]|0)==(c[m>>2]|0);e=c[r>>2]|0;if(!b)break;if((e|0)!=(c[m>>2]|0)){f=7;continue}if(!(Ah(u)|0)){f=15;break}else f=7}if((f|0)==15){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}if(!e){c[s>>2]=1;w=c[s>>2]|0;l=x;return w|0}do if((c[r>>2]|0)==(c[w>>2]|0)){if(!(d[(c[v>>2]|0)+2>>0]|0)){c[r>>2]=Ah(t)|0;if(c[r>>2]|0)break;c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}b:while(1){if(d[c[u>>2]>>0]|0)b=(Bh((c[t>>2]|0)+-1|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)==0;else b=0;e=c[u>>2]|0;if(!b)break;c[u>>2]=e+1;if((d[e>>0]|0)<192)continue;while(1){if((d[c[u>>2]>>0]&192|0)!=128)continue b;c[u>>2]=(c[u>>2]|0)+1}}c[s>>2]=(d[e>>0]|0)!=0&1;w=c[s>>2]|0;l=x;return w|0}while(0);c:do if((c[r>>2]|0)>>>0<=128){b=c[r>>2]|0;if(a[o>>0]|0){c[p>>2]=b&~(d[16965+(c[r>>2]&255)>>0]&32);c[r>>2]=d[17348+(c[r>>2]&255)>>0]}else c[p>>2]=b;while(1){o=c[u>>2]|0;c[u>>2]=o+1;o=d[o>>0]|0;c[q>>2]=o;if(!o)break c;if((c[q>>2]|0)!=(c[r>>2]|0)?(c[q>>2]|0)!=(c[p>>2]|0):0)continue;if(Bh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;l=x;return w|0}else{while(1){if((d[c[u>>2]>>0]|0)<128){b=c[u>>2]|0;c[u>>2]=b+1;b=d[b>>0]|0}else b=Ah(u)|0;c[q>>2]=b;if(!b)break c;if((c[q>>2]|0)!=(c[r>>2]|0))continue;if(Bh(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0)|0)break}c[s>>2]=1;w=c[s>>2]|0;l=x;return w|0}while(0);c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==49){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==52){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==73){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==82){c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}else if((f|0)==83){c[s>>2]=(d[c[u>>2]>>0]|0)==0&1;w=c[s>>2]|0;l=x;return w|0}return 0}function Ch(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;b=c[f>>2]|0;Dh(c[c[e>>2]>>2]|0,b,((b|0)<0)<<31>>31);l=d;return}function Dh(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;g=i+8|0;h=i;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;if((e[(c[g>>2]|0)+8>>1]|0)&9312|0){Eh(c[g>>2]|0,c[h>>2]|0,c[h+4>>2]|0);l=i;return}else{d=h;f=c[d+4>>2]|0;h=c[g>>2]|0;c[h>>2]=c[d>>2];c[h+4>>2]=f;b[(c[g>>2]|0)+8>>1]=4;l=i;return}}function Eh(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;g=f+8|0;h=f;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=e;Fh(c[g>>2]|0);a=h;d=c[a+4>>2]|0;e=c[g>>2]|0;c[e>>2]=c[a>>2];c[e+4>>2]=d;b[(c[g>>2]|0)+8>>1]=4;l=f;return}function Fh(a){a=a|0;var d=0,f=0;d=l;l=l+16|0;f=d;c[f>>2]=a;a=c[f>>2]|0;if((e[(c[f>>2]|0)+8>>1]|0)&9312|0){Gh(a);l=d;return}else{b[a+8>>1]=1;l=d;return}}function Gh(a){a=a|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=a;if((e[(c[f>>2]|0)+8>>1]|0)&8192|0)Hh(c[f>>2]|0,c[c[f>>2]>>2]|0)|0;a=c[f>>2]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&1024|0)){d=c[f>>2]|0;if((e[a+8>>1]|0)&32|0){Ih(c[d>>2]|0);break}if((e[d+8>>1]|0)&64|0){c[g>>2]=c[c[f>>2]>>2];c[(c[g>>2]|0)+4>>2]=c[(c[c[g>>2]>>2]|0)+188>>2];c[(c[c[g>>2]>>2]|0)+188>>2]=c[g>>2]}}else qb[c[a+36>>2]&255](c[(c[f>>2]|0)+16>>2]|0);while(0);b[(c[f>>2]|0)+8>>1]=1;l=h;return}function Hh(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+96|0;f=j+80|0;g=j+76|0;h=j+72|0;i=j+40|0;e=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if(!(c[g>>2]|0)){i=c[h>>2]|0;l=j;return i|0}if(!(c[(c[g>>2]|0)+16>>2]|0)){i=c[h>>2]|0;l=j;return i|0};c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;a=e;d=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));b[e+8>>1]=1;c[e+32>>2]=c[(c[f>>2]|0)+32>>2];c[i>>2]=e;c[i+8>>2]=c[f>>2];c[i+4>>2]=c[g>>2];qb[c[(c[g>>2]|0)+16>>2]&255](i);if((c[(c[f>>2]|0)+24>>2]|0)>0)Hd(c[(c[f>>2]|0)+32>>2]|0,c[(c[f>>2]|0)+20>>2]|0);a=c[f>>2]|0;d=a+40|0;do{c[a>>2]=c[e>>2];a=a+4|0;e=e+4|0}while((a|0)<(d|0));c[h>>2]=c[i+20>>2];i=c[h>>2]|0;l=j;return i|0}function Ih(a){a=a|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];Hd(c[(c[d>>2]|0)+4>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}c[c[d>>2]>>2]=0;b[(c[d>>2]|0)+24>>1]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+12>>2]=0;c[(c[d>>2]|0)+20>>2]=0;b[(c[d>>2]|0)+26>>1]=1;l=g;return}function Jh(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;r=u+28|0;s=u+24|0;m=u+20|0;v=u+16|0;t=u+34|0;n=u+12|0;o=u+8|0;p=u+4|0;q=u+32|0;k=u;c[s>>2]=f;c[m>>2]=g;c[v>>2]=h;a[t>>0]=i;c[n>>2]=j;c[o>>2]=c[v>>2];b[q>>1]=0;f=c[s>>2]|0;if(!(c[m>>2]|0)){Fh(f);c[r>>2]=0;v=c[r>>2]|0;l=u;return v|0}if(c[f+32>>2]|0)c[p>>2]=c[(c[(c[s>>2]|0)+32>>2]|0)+96>>2];else c[p>>2]=1e9;b[q>>1]=(d[t>>0]|0)==0?16:2;if((c[o>>2]|0)<0){a:do if((d[t>>0]|0)==1){c[o>>2]=_c(c[m>>2]|0)|0;if((c[o>>2]|0)>(c[p>>2]|0))c[o>>2]=(c[p>>2]|0)+1}else{c[o>>2]=0;while(1){if((c[o>>2]|0)>(c[p>>2]|0))break a;if(!(a[(c[m>>2]|0)+(c[o>>2]|0)>>0]|a[(c[m>>2]|0)+((c[o>>2]|0)+1)>>0]))break a;c[o>>2]=(c[o>>2]|0)+2}}while(0);b[q>>1]=e[q>>1]|512}do if((c[n>>2]|0)!=(-1|0)){v=(c[n>>2]|0)==169;Lh(c[s>>2]|0);f=c[m>>2]|0;c[(c[s>>2]|0)+16>>2]=f;if(v){c[(c[s>>2]|0)+20>>2]=f;v=Md(c[(c[s>>2]|0)+32>>2]|0,c[(c[s>>2]|0)+20>>2]|0)|0;c[(c[s>>2]|0)+24>>2]=v;break}else{c[(c[s>>2]|0)+36>>2]=c[n>>2];b[q>>1]=e[q>>1]|((c[n>>2]|0)==0?2048:1024);break}}else{c[k>>2]=c[o>>2];if(e[q>>1]&512|0)c[k>>2]=(c[k>>2]|0)+((d[t>>0]|0)==1?1:2);if((c[o>>2]|0)>(c[p>>2]|0)){c[r>>2]=18;v=c[r>>2]|0;l=u;return v|0}if(!(Kh(c[s>>2]|0,(c[k>>2]|0)>32?c[k>>2]|0:32)|0)){MR(c[(c[s>>2]|0)+16>>2]|0,c[m>>2]|0,c[k>>2]|0)|0;break}c[r>>2]=7;v=c[r>>2]|0;l=u;return v|0}while(0);c[(c[s>>2]|0)+12>>2]=c[o>>2];b[(c[s>>2]|0)+8>>1]=b[q>>1]|0;a[(c[s>>2]|0)+10>>0]=(d[t>>0]|0)==0?1:d[t>>0]|0;if((d[(c[s>>2]|0)+10>>0]|0)!=1?Mh(c[s>>2]|0)|0:0){c[r>>2]=7;v=c[r>>2]|0;l=u;return v|0}if((c[o>>2]|0)>(c[p>>2]|0)){c[r>>2]=18;v=c[r>>2]|0;l=u;return v|0}else{c[r>>2]=0;v=c[r>>2]|0;l=u;return v|0}return 0}function Kh(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=a;c[h>>2]=d;a=c[g>>2]|0;if((c[(c[g>>2]|0)+24>>2]|0)<(c[h>>2]|0)){c[f>>2]=Ph(a,c[h>>2]|0,0)|0;h=c[f>>2]|0;l=i;return h|0}else{c[(c[g>>2]|0)+16>>2]=c[a+20>>2];h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&13;c[f>>2]=0;h=c[f>>2]|0;l=i;return h|0}return 0}function Lh(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(((e[(c[b>>2]|0)+8>>1]|0)&9312|0)==0?(c[(c[b>>2]|0)+24>>2]|0)==0:0){l=d;return}Rh(c[b>>2]|0);l=d;return}function Mh(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+4|0;h=m;i=m+10|0;j=m+9|0;k=m+8|0;c[g>>2]=f;c[h>>2]=0;a[i>>0]=0;if((c[(c[g>>2]|0)+12>>2]|0)>1){a[j>>0]=a[c[(c[g>>2]|0)+16>>2]>>0]|0;a[k>>0]=a[(c[(c[g>>2]|0)+16>>2]|0)+1>>0]|0;if((d[j>>0]|0)==254?(d[k>>0]|0)==255:0)a[i>>0]=3;if((d[j>>0]|0)==255?(d[k>>0]|0)==254:0)a[i>>0]=2}if(!(a[i>>0]|0)){k=c[h>>2]|0;l=m;return k|0}c[h>>2]=Nh(c[g>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=m;return k|0}k=(c[g>>2]|0)+12|0;c[k>>2]=(c[k>>2]|0)-2;TR(c[(c[g>>2]|0)+16>>2]|0,(c[(c[g>>2]|0)+16>>2]|0)+2|0,c[(c[g>>2]|0)+12>>2]|0)|0;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;k=(c[g>>2]|0)+8|0;b[k>>1]=e[k>>1]|512;a[(c[g>>2]|0)+10>>0]=a[i>>0]|0;k=c[h>>2]|0;l=m;return k|0}function Nh(d){d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[g>>2]=d;do if((e[(c[g>>2]|0)+8>>1]|0)&18|0){if((e[(c[g>>2]|0)+8>>1]|0)&16384|0?Oh(c[g>>2]|0)|0:0){c[f>>2]=7;g=c[f>>2]|0;l=h;return g|0}if(c[(c[g>>2]|0)+24>>2]|0?(c[(c[g>>2]|0)+16>>2]|0)==(c[(c[g>>2]|0)+20>>2]|0):0)break;if(!(Ph(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0)){a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;d=(c[g>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|512;break}c[f>>2]=7;g=c[f>>2]|0;l=h;return g|0}while(0);g=(c[g>>2]|0)+8|0;b[g>>1]=(e[g>>1]|0)&-4097;c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}function Oh(a){a=a|0;var d=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+8|0;f=g+4|0;h=g;c[f>>2]=a;a=(c[(c[f>>2]|0)+12>>2]|0)+(c[c[f>>2]>>2]|0)|0;c[h>>2]=a;c[h>>2]=(c[h>>2]|0)<=0?1:a;if(Ph(c[f>>2]|0,c[h>>2]|0,1)|0){c[d>>2]=7;h=c[d>>2]|0;l=g;return h|0}else{GR((c[(c[f>>2]|0)+16>>2]|0)+(c[(c[f>>2]|0)+12>>2]|0)|0,0,c[c[f>>2]>>2]|0)|0;h=(c[f>>2]|0)+12|0;c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);h=(c[f>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-16897;c[d>>2]=0;h=c[d>>2]|0;l=g;return h|0}return 0}function Ph(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+12|0;i=k+8|0;g=k+4|0;j=k;c[i>>2]=a;c[g>>2]=d;c[j>>2]=f;do if((c[(c[i>>2]|0)+24>>2]|0)<(c[g>>2]|0)){if((c[g>>2]|0)<32)c[g>>2]=32;if((c[j>>2]|0?(c[(c[i>>2]|0)+24>>2]|0)>0:0)?(c[(c[i>>2]|0)+16>>2]|0)==(c[(c[i>>2]|0)+20>>2]|0):0){g=c[g>>2]|0;g=Qh(c[(c[i>>2]|0)+32>>2]|0,c[(c[i>>2]|0)+16>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+20>>2]=g;c[(c[i>>2]|0)+16>>2]=g;c[j>>2]=0}else{if((c[(c[i>>2]|0)+24>>2]|0)>0)Hd(c[(c[i>>2]|0)+32>>2]|0,c[(c[i>>2]|0)+20>>2]|0);g=c[g>>2]|0;g=md(c[(c[i>>2]|0)+32>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+20>>2]=g}a=c[i>>2]|0;if(c[(c[i>>2]|0)+20>>2]|0){g=Md(c[a+32>>2]|0,c[(c[i>>2]|0)+20>>2]|0)|0;c[(c[i>>2]|0)+24>>2]=g;break}Fh(a);c[(c[i>>2]|0)+16>>2]=0;c[(c[i>>2]|0)+24>>2]=0;c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}while(0);if((c[j>>2]|0?c[(c[i>>2]|0)+16>>2]|0:0)?(c[(c[i>>2]|0)+16>>2]|0)!=(c[(c[i>>2]|0)+20>>2]|0):0)MR(c[(c[i>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+16>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0;if((e[(c[i>>2]|0)+8>>1]|0)&1024|0)qb[c[(c[i>>2]|0)+36>>2]&255](c[(c[i>>2]|0)+16>>2]|0);c[(c[i>>2]|0)+16>>2]=c[(c[i>>2]|0)+20>>2];j=(c[i>>2]|0)+8|0;b[j>>1]=(e[j>>1]|0)&-7169;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function Qh(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;f=i+16|0;g=i+12|0;j=i;h=i+8|0;c[f>>2]=a;c[g>>2]=b;b=j;c[b>>2]=d;c[b+4>>2]=e;e=j;c[h>>2]=Pd(c[f>>2]|0,c[g>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){j=c[h>>2]|0;l=i;return j|0}Hd(c[f>>2]|0,c[g>>2]|0);j=c[h>>2]|0;l=i;return j|0}function Rh(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+8>>1]|0)&9312|0)Gh(c[b>>2]|0);if(!(c[(c[b>>2]|0)+24>>2]|0)){b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;l=d;return}Hd(c[(c[b>>2]|0)+32>>2]|0,c[(c[b>>2]|0)+20>>2]|0);c[(c[b>>2]|0)+24>>2]=0;b=c[b>>2]|0;b=b+16|0;c[b>>2]=0;l=d;return}function Sh(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+8|0;g=k+4|0;h=k+12|0;j=k;c[g>>2]=b;a[h>>0]=f;c[j>>2]=c[g>>2];if((e[(c[j>>2]|0)+8>>1]|0)&2|0?(d[(c[g>>2]|0)+10>>0]|0|0)==(d[h>>0]|0|0):0){c[i>>2]=c[(c[j>>2]|0)+12>>2];j=c[i>>2]|0;l=k;return j|0}f=e[(c[j>>2]|0)+8>>1]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16|0){b=c[(c[j>>2]|0)+12>>2]|0;if(f&16384|0){c[i>>2]=b+(c[c[j>>2]>>2]|0);j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=b;j=c[i>>2]|0;l=k;return j|0}}else if(f&1|0){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=Th(c[g>>2]|0,a[h>>0]|0)|0;j=c[i>>2]|0;l=k;return j|0}return 0}function Th(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f;g=f+4|0;c[e>>2]=b;a[g>>0]=d;if(!(Uh(c[e>>2]|0,a[g>>0]|0)|0)){g=0;l=f;return g|0}g=c[(c[e>>2]|0)+12>>2]|0;l=f;return g|0}function Uh(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+4|0;i=k;j=k+8|0;c[i>>2]=f;a[j>>0]=g;f=c[i>>2]|0;if((e[(c[i>>2]|0)+8>>1]|0)&18|0){g=f+8|0;b[g>>1]=e[g>>1]|0|2;if((d[(c[i>>2]|0)+10>>0]|0|0)!=((d[j>>0]|0)&-9|0))Vh(c[i>>2]|0,(d[j>>0]|0)&-9)|0;if(((d[j>>0]|0)&8|0?1==(1&c[(c[i>>2]|0)+16>>2]|0):0)?Nh(c[i>>2]|0)|0:0){c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}Wh(c[i>>2]|0)|0}else Xh(f,a[j>>0]|0,0)|0;if((d[(c[i>>2]|0)+10>>0]|0|0)==((d[j>>0]|0)&-9|0)){c[h>>2]=c[(c[i>>2]|0)+16>>2];j=c[h>>2]|0;l=k;return j|0}else{c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}return 0}function Vh(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=b;if((e[(c[g>>2]|0)+8>>1]|0)&2|0?(d[(c[g>>2]|0)+10>>0]|0|0)!=(c[h>>2]|0):0){c[i>>2]=Zh(c[g>>2]|0,c[h>>2]&255)|0;c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function Wh(a){a=a|0;var b=0,d=0,f=0;f=l;l=l+16|0;b=f+4|0;d=f;c[d>>2]=a;if(((e[(c[d>>2]|0)+8>>1]|0)&514|0)!=2){c[b>>2]=0;d=c[b>>2]|0;l=f;return d|0}else{c[b>>2]=Yh(c[d>>2]|0)|0;d=c[b>>2]|0;l=f;return d|0}return 0}function Xh(f,g,i){f=f|0;g=g|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r+8|0;p=r;j=r+28|0;k=r+24|0;m=r+33|0;n=r+32|0;o=r+20|0;c[k>>2]=f;a[m>>0]=g;a[n>>0]=i;c[o>>2]=e[(c[k>>2]|0)+8>>1];c[r+16>>2]=32;if(Kh(c[k>>2]|0,32)|0){a[(c[k>>2]|0)+10>>0]=0;c[j>>2]=7;q=c[j>>2]|0;l=r;return q|0}f=c[(c[k>>2]|0)+16>>2]|0;g=c[k>>2]|0;if(c[o>>2]&4|0){i=g;o=c[i+4>>2]|0;q=p;c[q>>2]=c[i>>2];c[q+4>>2]=o;Ne(32,f,19081,p)|0}else{h[q>>3]=+h[g>>3];Ne(32,f,19086,q)|0}q=_c(c[(c[k>>2]|0)+16>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=q;a[(c[k>>2]|0)+10>>0]=1;q=(c[k>>2]|0)+8|0;b[q>>1]=e[q>>1]|514;if(a[n>>0]|0){q=(c[k>>2]|0)+8|0;b[q>>1]=e[q>>1]&-13}Vh(c[k>>2]|0,d[m>>0]|0)|0;c[j>>2]=0;q=c[j>>2]|0;l=r;return q|0}function Yh(d){d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[g>>2]=d;if(Ph(c[g>>2]|0,(c[(c[g>>2]|0)+12>>2]|0)+2|0,1)|0){c[f>>2]=7;g=c[f>>2]|0;l=h;return g|0}else{a[(c[(c[g>>2]|0)+16>>2]|0)+(c[(c[g>>2]|0)+12>>2]|0)>>0]=0;a[(c[(c[g>>2]|0)+16>>2]|0)+((c[(c[g>>2]|0)+12>>2]|0)+1)>>0]=0;g=(c[g>>2]|0)+8|0;b[g>>1]=e[g>>1]|0|512;c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}return 0}function Zh(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;o=v+40|0;p=v+36|0;q=v+45|0;j=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;n=v+12|0;h=v+44|0;i=v+8|0;k=v+4|0;m=v;c[p>>2]=f;a[q>>0]=g;if((d[(c[p>>2]|0)+10>>0]|0|0)!=1?(d[q>>0]|0|0)!=1:0){c[i>>2]=Nh(c[p>>2]|0)|0;if(c[i>>2]|0){c[o>>2]=7;u=c[o>>2]|0;l=v;return u|0}c[s>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=(c[s>>2]|0)+(c[(c[p>>2]|0)+12>>2]&-2);while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break;a[h>>0]=a[c[s>>2]>>0]|0;a[c[s>>2]>>0]=a[(c[s>>2]|0)+1>>0]|0;c[s>>2]=(c[s>>2]|0)+1;r=a[h>>0]|0;u=c[s>>2]|0;c[s>>2]=u+1;a[u>>0]=r}a[(c[p>>2]|0)+10>>0]=a[q>>0]|0}else{f=(c[p>>2]|0)+12|0;g=c[f>>2]|0;if((d[q>>0]|0|0)==1){c[f>>2]=g&-2;c[j>>2]=(c[(c[p>>2]|0)+12>>2]<<1)+1}else c[j>>2]=(g<<1)+2;c[s>>2]=c[(c[p>>2]|0)+16>>2];c[t>>2]=(c[s>>2]|0)+(c[(c[p>>2]|0)+12>>2]|0);j=c[j>>2]|0;c[r>>2]=md(c[(c[p>>2]|0)+32>>2]|0,j,((j|0)<0)<<31>>31)|0;if(!(c[r>>2]|0)){c[o>>2]=7;u=c[o>>2]|0;l=v;return u|0}c[u>>2]=c[r>>2];if((d[(c[p>>2]|0)+10>>0]|0|0)==1){a:do if((d[q>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=d[m>>0];do if((c[n>>2]|0)>>>0>=192){c[n>>2]=d[19017+((c[n>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[t>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[n>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[n>>2]&-2048|0)!=55296:0)?(c[n>>2]&-2|0)!=65534:0)break;c[n>>2]=65533}while(0);f=c[n>>2]|0;if((c[n>>2]|0)>>>0<=65535){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=f;k=(c[n>>2]|0)>>>8&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}else{m=(f>>>10&63)+(((c[n>>2]|0)-65536|0)>>>10&192)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=m;k=216+(((c[n>>2]|0)-65536|0)>>>18&3)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;m=c[n>>2]&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=m;k=220+((c[n>>2]|0)>>>8&3)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=d[m>>0];do if((c[n>>2]|0)>>>0>=192){c[n>>2]=d[19017+((c[n>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[t>>2]|0))g=((d[c[s>>2]>>0]|0)&192|0)==128;else g=0;f=c[n>>2]|0;if(!g)break;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=(f<<6)+(63&(d[m>>0]|0))}if((f>>>0>=128?(c[n>>2]&-2048|0)!=55296:0)?(c[n>>2]&-2|0)!=65534:0)break;c[n>>2]=65533}while(0);f=c[n>>2]|0;if((c[n>>2]|0)>>>0<=65535){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=f>>>8;k=c[n>>2]&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}else{k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=216+((f-65536|0)>>>18&3);k=((c[n>>2]|0)>>>10&63)+(((c[n>>2]|0)-65536|0)>>>10&192)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;m=220+((c[n>>2]|0)>>>8&3)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=m;k=c[n>>2]&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=k;continue}}while(0);c[(c[p>>2]|0)+12>>2]=(c[u>>2]|0)-(c[r>>2]|0);t=c[u>>2]|0;c[u>>2]=t+1;a[t>>0]=0}else{b:do if((d[(c[p>>2]|0)+10>>0]|0|0)==2)while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break b;m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[n>>2]=(c[n>>2]|0)+((d[m>>0]|0)<<8);if((c[n>>2]|0)>>>0>=55296&(c[n>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[t>>2]|0)>>>0:0){m=c[s>>2]|0;c[s>>2]=m+1;c[k>>2]=d[m>>0];m=c[s>>2]|0;c[s>>2]=m+1;c[k>>2]=(c[k>>2]|0)+((d[m>>0]|0)<<8);c[n>>2]=(c[k>>2]&1023)+((c[n>>2]&63)<<10)+((c[n>>2]&960)+64<<10)}f=c[n>>2]|0;if((c[n>>2]|0)>>>0<128){m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=f;continue}g=c[n>>2]|0;if(f>>>0<2048){j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=192+(g>>>6&31);j=128+(c[n>>2]&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;continue}f=c[n>>2]|0;if(g>>>0<65536){m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=224+(f>>>12&15);m=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=m;j=128+(c[n>>2]&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;continue}else{j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=240+(f>>>18&7);j=128+((c[n>>2]|0)>>>12&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;m=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=m;j=128+(c[n>>2]&63)&255;m=c[u>>2]|0;c[u>>2]=m+1;a[m>>0]=j;continue}}else while(1){if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break b;k=c[s>>2]|0;c[s>>2]=k+1;c[n>>2]=(d[k>>0]|0)<<8;k=c[s>>2]|0;c[s>>2]=k+1;c[n>>2]=(c[n>>2]|0)+(d[k>>0]|0);if((c[n>>2]|0)>>>0>=55296&(c[n>>2]|0)>>>0<57344?(c[s>>2]|0)>>>0<(c[t>>2]|0)>>>0:0){k=c[s>>2]|0;c[s>>2]=k+1;c[m>>2]=(d[k>>0]|0)<<8;k=c[s>>2]|0;c[s>>2]=k+1;c[m>>2]=(c[m>>2]|0)+(d[k>>0]|0);c[n>>2]=(c[m>>2]&1023)+((c[n>>2]&63)<<10)+((c[n>>2]&960)+64<<10)}f=c[n>>2]|0;if((c[n>>2]|0)>>>0<128){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=f;continue}g=c[n>>2]|0;if(f>>>0<2048){j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=192+(g>>>6&31);j=128+(c[n>>2]&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;continue}f=c[n>>2]|0;if(g>>>0<65536){k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=224+(f>>>12&15);k=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=k;j=128+(c[n>>2]&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;continue}else{j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=240+(f>>>18&7);j=128+((c[n>>2]|0)>>>12&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;k=128+((c[n>>2]|0)>>>6&63)&255;j=c[u>>2]|0;c[u>>2]=j+1;a[j>>0]=k;j=128+(c[n>>2]&63)&255;k=c[u>>2]|0;c[u>>2]=k+1;a[k>>0]=j;continue}}while(0);c[(c[p>>2]|0)+12>>2]=(c[u>>2]|0)-(c[r>>2]|0)}a[c[u>>2]>>0]=0;c[n>>2]=e[(c[p>>2]|0)+8>>1];Lh(c[p>>2]|0);b[(c[p>>2]|0)+8>>1]=514|c[n>>2]&32799;a[(c[p>>2]|0)+10>>0]=a[q>>0]|0;c[(c[p>>2]|0)+16>>2]=c[r>>2];c[(c[p>>2]|0)+20>>2]=c[(c[p>>2]|0)+16>>2];u=Md(c[(c[p>>2]|0)+32>>2]|0,c[(c[p>>2]|0)+16>>2]|0)|0;c[(c[p>>2]|0)+24>>2]=u}c[o>>2]=0;u=c[o>>2]|0;l=v;return u|0}function _h(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+4|0;h=j;i=j+8|0;c[h>>2]=b;a[i>>0]=f;do if(c[h>>2]|0){if(((e[(c[h>>2]|0)+8>>1]|0)&514|0)==514?(d[(c[h>>2]|0)+10>>0]|0|0)==(d[i>>0]|0|0):0){c[g>>2]=c[(c[h>>2]|0)+16>>2];break}if((e[(c[h>>2]|0)+8>>1]|0)&1|0){c[g>>2]=0;break}else{c[g>>2]=Uh(c[h>>2]|0,a[i>>0]|0)|0;break}}else c[g>>2]=0;while(0);l=j;return c[g>>2]|0}function $h(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=b;a=c[h>>2]|0;if(!((e[(c[(c[h>>2]|0)+8>>2]|0)+8>>1]|0)&8192)){c[d>>2]=ei(a,c[f>>2]|0)|0;h=c[d>>2]|0;l=g;return h|0}else{c[d>>2]=c[(c[a+8>>2]|0)+16>>2];h=c[d>>2]|0;l=g;return h|0}return 0}function ai(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=18;a[(c[e>>2]|0)+25>>0]=1;Jh(c[c[e>>2]>>2]|0,19093,-1,1,0)|0;l=d;return}function bi(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;Fh(c[c[e>>2]>>2]|0);c[(c[e>>2]|0)+20>>2]=7;a[(c[e>>2]|0)+25>>0]=1;yd(c[(c[c[e>>2]>>2]|0)+32>>2]|0);l=d;return}function ci(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;di(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,1,c[g>>2]|0);l=f;return}function di(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;i=l;l=l+32|0;h=i+12|0;n=i+8|0;m=i+4|0;k=i+16|0;j=i;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;a[k>>0]=f;c[j>>2]=g;if((Jh(c[c[h>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0,a[k>>0]|0,c[j>>2]|0)|0)!=18){l=i;return}ai(c[h>>2]|0);l=i;return}function ei(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+8>>2];a=c[g>>2]|0;if((c[f>>2]|0)>0){Kh(a,c[f>>2]|0)|0;b[(c[g>>2]|0)+8>>1]=8192;c[c[g>>2]>>2]=c[(c[e>>2]|0)+4>>2];if(c[(c[g>>2]|0)+16>>2]|0)GR(c[(c[g>>2]|0)+16>>2]|0,0,c[f>>2]|0)|0}else{Fh(a);c[(c[g>>2]|0)+16>>2]=0}l=h;return c[(c[g>>2]|0)+16>>2]|0}function fi(a){a=a|0;var b=0,f=0;f=l;l=l+16|0;b=f;c[b>>2]=a;l=f;return d[19118+((e[(c[b>>2]|0)+8>>1]|0)&31)>>0]|0|0}function gi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;Dh(c[c[f>>2]>>2]|0,c[d>>2]|0,c[d+4>>2]|0);l=e;return}function hi(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;h[e>>3]=b;ii(c[c[f>>2]>>2]|0,+h[e>>3]);l=d;return}function ii(a,d){a=a|0;d=+d;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=d;Fh(c[e>>2]|0);if(Cd(+h[f>>3])|0){l=g;return}h[c[e>>2]>>3]=+h[f>>3];b[(c[e>>2]|0)+8>>1]=8;l=g;return}function ji(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=fi(c[b>>2]|0)|0;if((c[d>>2]|0)!=3){e=c[d>>2]|0;l=f;return e|0}c[e>>2]=c[b>>2];ti(c[e>>2]|0,0);c[d>>2]=fi(c[b>>2]|0)|0;e=c[d>>2]|0;l=f;return e|0}function ki(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=pi(c[d>>2]|0)|0;l=b;return a|0}function li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;f=i+16|0;g=i+8|0;h=i;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=c[f>>2]|0;j=c[a+4>>2]|0;d=h;c[d>>2]=c[a>>2];c[d+4>>2]=j;d=g;j=c[d+4>>2]|0;a=h;b=c[a+4>>2]|0;if((j|0)>0|(j|0)==0&(c[d>>2]|0)>>>0>=0){if((b|0)>0|(b|0)==0&(c[a>>2]|0)>>>0>0?(h,h=FR(-1,2147483647,c[h>>2]|0,c[h+4>>2]|0)|0,b=z,j=g,d=c[j+4>>2]|0,(b|0)<(d|0)|((b|0)==(d|0)?h>>>0<(c[j>>2]|0)>>>0:0)):0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}}else if((b|0)<0?(h,h=IR(c[h>>2]|0,c[h+4>>2]|0,-1,2147483647)|0,h=FR(0,0,h|0,z|0)|0,b=z,j=g,j=IR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0,d=z,(b|0)>(d|0)|(b|0)==(d|0)&h>>>0>j>>>0):0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}h=g;j=c[f>>2]|0;g=j;h=IR(c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;c[j>>2]=h;c[j+4>>2]=z;c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function mi(a){a=a|0;var b=0.0,d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;b=+ni(c[e>>2]|0);l=d;return +b}function ni(b){b=b|0;var d=0,f=0,g=0,i=0,j=0,k=0.0;j=l;l=l+32|0;f=j+8|0;g=j+16|0;i=j;c[g>>2]=b;b=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&8|0){h[f>>3]=+h[b>>3];k=+h[f>>3];l=j;return +k}d=c[g>>2]|0;if((e[b+8>>1]|0)&4|0){i=d;h[f>>3]=+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0);k=+h[f>>3];l=j;return +k}if((e[d+8>>1]|0)&18|0){h[i>>3]=0.0;oi(c[(c[g>>2]|0)+16>>2]|0,i,c[(c[g>>2]|0)+12>>2]|0,a[(c[g>>2]|0)+10>>0]|0)|0;h[f>>3]=+h[i>>3];k=+h[f>>3];l=j;return +k}else{h[f>>3]=0.0;k=+h[f>>3];l=j;return +k}return 0.0}function oi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+96|0;F=G+76|0;D=G+72|0;E=G+68|0;m=G+64|0;n=G+80|0;q=G+60|0;w=G+56|0;r=G+52|0;s=G+16|0;p=G+48|0;x=G+44|0;u=G+40|0;y=G+36|0;A=G+8|0;B=G+32|0;C=G+28|0;k=G+24|0;v=G;c[D>>2]=b;c[E>>2]=e;c[m>>2]=f;a[n>>0]=g;c[w>>2]=(c[D>>2]|0)+(c[m>>2]|0);c[r>>2]=1;g=s;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=0;c[x>>2]=1;c[u>>2]=0;c[y>>2]=1;c[B>>2]=0;c[C>>2]=0;h[c[E>>2]>>3]=0.0;if((d[n>>0]|0)==1)c[q>>2]=1;else{c[q>>2]=2;c[k>>2]=3-(d[n>>0]|0);while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;if(a[(c[D>>2]|0)+(c[k>>2]|0)>>0]|0)break;c[k>>2]=(c[k>>2]|0)+2}c[C>>2]=(c[k>>2]|0)<(c[m>>2]|0)&1;c[w>>2]=(c[D>>2]|0)+(c[k>>2]^1);c[D>>2]=(c[D>>2]|0)+(d[n>>0]&1)}while(1){if((c[D>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;if(!(d[16965+(d[c[D>>2]>>0]|0)>>0]&1))break;c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0)}if((c[D>>2]|0)>>>0>=(c[w>>2]|0)>>>0){c[F>>2]=0;F=c[F>>2]|0;l=G;return F|0}if((a[c[D>>2]>>0]|0)!=45){if((a[c[D>>2]>>0]|0)==43)c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0)}else{c[r>>2]=-1;c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0)}while(1){if((c[D>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;n=s;m=c[n+4>>2]|0;if(!((d[16965+(d[c[D>>2]>>0]|0)>>0]&4|0)!=0&((m|0)<214748364|(m|0)==214748364&(c[n>>2]|0)>>>0<3435973835)))break;n=s;n=RR(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;m=(a[c[D>>2]>>0]|0)-48|0;m=IR(n|0,z|0,m|0,((m|0)<0)<<31>>31|0)|0;n=s;c[n>>2]=m;c[n+4>>2]=z;c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0);c[B>>2]=(c[B>>2]|0)+1}while(1){if((c[D>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break;if(!(d[16965+(d[c[D>>2]>>0]|0)>>0]&4))break;c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0);c[B>>2]=(c[B>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[D>>2]|0)>>>0<(c[w>>2]|0)>>>0){b:do if((a[c[D>>2]>>0]|0)==46){c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0);while(1){if((c[D>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break b;if(!(d[16965+(d[c[D>>2]>>0]|0)>>0]&4))break b;n=s;m=c[n+4>>2]|0;if((m|0)<214748364|(m|0)==214748364&(c[n>>2]|0)>>>0<3435973835){n=s;n=RR(c[n>>2]|0,c[n+4>>2]|0,10,0)|0;m=(a[c[D>>2]>>0]|0)-48|0;m=IR(n|0,z|0,m|0,((m|0)<0)<<31>>31|0)|0;n=s;c[n>>2]=m;c[n+4>>2]=z;c[p>>2]=(c[p>>2]|0)+-1}c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0);c[B>>2]=(c[B>>2]|0)+1}}while(0);if((c[D>>2]|0)>>>0<(c[w>>2]|0)>>>0){if(!((a[c[D>>2]>>0]|0)!=101?(a[c[D>>2]>>0]|0)!=69:0))o=34;c:do if((o|0)==34){c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0);c[y>>2]=0;if((c[D>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break a;if((a[c[D>>2]>>0]|0)!=45){if((a[c[D>>2]>>0]|0)==43)c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0)}else{c[x>>2]=-1;c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0)}while(1){if((c[D>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break c;if(!(d[16965+(d[c[D>>2]>>0]|0)>>0]&4))break c;if((c[u>>2]|0)<1e4)b=((c[u>>2]|0)*10|0)+((a[c[D>>2]>>0]|0)-48)|0;else b=1e4;c[u>>2]=b;c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0);c[y>>2]=1}}while(0);while(1){if((c[D>>2]|0)>>>0>=(c[w>>2]|0)>>>0)break a;if(!(d[16965+(d[c[D>>2]>>0]|0)>>0]&1))break a;c[D>>2]=(c[D>>2]|0)+(c[q>>2]|0)}}}while(0);q=O(c[u>>2]|0,c[x>>2]|0)|0;c[u>>2]=q+(c[p>>2]|0);if((c[u>>2]|0)<0){c[x>>2]=-1;c[u>>2]=O(c[u>>2]|0,-1)|0}else c[x>>2]=1;q=s;do if(!((c[q>>2]|0)==0&(c[q+4>>2]|0)==0)){while(1){if((c[u>>2]|0)<=0)break;e=s;b=c[e>>2]|0;e=c[e+4>>2]|0;if((c[x>>2]|0)>0){if((e|0)>214748364|(e|0)==214748364&b>>>0>=3435973836)break;p=s;p=RR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=s;c[q>>2]=p;c[q+4>>2]=z}else{q=VR(b|0,e|0,10,0)|0;if((q|0)!=0|(z|0)!=0)break;p=s;p=LR(c[p>>2]|0,c[p+4>>2]|0,10,0)|0;q=s;c[q>>2]=p;c[q+4>>2]=z}c[u>>2]=(c[u>>2]|0)+-1}p=(c[r>>2]|0)<0;q=s;o=c[q>>2]|0;q=c[q+4>>2]|0;n=FR(0,0,o|0,q|0)|0;r=s;c[r>>2]=p?n:o;c[r+4>>2]=p?z:q;if(!(c[u>>2]|0)){x=s;h[A>>3]=+((c[x>>2]|0)>>>0)+4294967296.0*+(c[x+4>>2]|0);break}h[v>>3]=1.0;if((c[u>>2]|0)<=307){while(1){if(!((c[u>>2]|0)%22|0))break;h[v>>3]=+h[v>>3]*10.0;c[u>>2]=(c[u>>2]|0)-1}while(1){if((c[u>>2]|0)<=0)break;h[v>>3]=+h[v>>3]*1.0e22;c[u>>2]=(c[u>>2]|0)-22}u=s;j=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);i=+h[v>>3];if((c[x>>2]|0)<0){h[A>>3]=j/i;break}else{h[A>>3]=j*i;break}}if((c[u>>2]|0)>=342){v=s;i=+((c[v>>2]|0)>>>0)+4294967296.0*+(c[v+4>>2]|0);if((c[x>>2]|0)<0){h[A>>3]=0.0*i;break}else{h[A>>3]=t*i;break}}while(1){if(!((c[u>>2]|0)%308|0))break;h[v>>3]=+h[v>>3]*10.0;c[u>>2]=(c[u>>2]|0)-1}u=s;j=+((c[u>>2]|0)>>>0)+4294967296.0*+(c[u+4>>2]|0);i=+h[v>>3];if((c[x>>2]|0)<0){h[A>>3]=j/i;h[A>>3]=+h[A>>3]/1.e+308;break}else{h[A>>3]=j*i;h[A>>3]=+h[A>>3]*1.e+308;break}}else h[A>>3]=(c[r>>2]|0)<0?-0.0:0.0;while(0);h[c[E>>2]>>3]=+h[A>>3];if(((c[B>>2]|0)>0?(c[D>>2]|0)==(c[w>>2]|0):0)&(c[y>>2]|0)!=0)b=(c[C>>2]|0)==0;else b=0;c[F>>2]=b&1;F=c[F>>2]|0;l=G;return F|0}function pi(b){b=b|0;var d=0,f=0,g=0,i=0,j=0;j=l;l=l+32|0;d=j+8|0;f=j+20|0;g=j+16|0;i=j;c[f>>2]=b;c[g>>2]=e[(c[f>>2]|0)+8>>1];do if(!(c[g>>2]&4|0)){if(c[g>>2]&8|0){g=qi(+h[c[f>>2]>>3])|0;i=d;c[i>>2]=g;c[i+4>>2]=z;break}if(c[g>>2]&18|0){g=i;c[g>>2]=0;c[g+4>>2]=0;ri(c[(c[f>>2]|0)+16>>2]|0,i,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0;f=i;g=c[f+4>>2]|0;i=d;c[i>>2]=c[f>>2];c[i+4>>2]=g;break}else{i=d;c[i>>2]=0;c[i+4>>2]=0;break}}else{f=c[f>>2]|0;g=c[f+4>>2]|0;i=d;c[i>>2]=c[f>>2];c[i+4>>2]=g}while(0);i=d;z=c[i+4>>2]|0;l=j;return c[i>>2]|0}function qi(a){a=+a;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+8|0;d=e;h[d>>3]=a;do if(!(+h[d>>3]<=-9223372036854775808.0))if(+h[d>>3]>=9223372036854775808.0){d=b;c[d>>2]=-1;c[d+4>>2]=2147483647;break}else{a=+h[d>>3];f=+B(a)>=1.0?(a>0.0?~~+P(+A(a/4294967296.0),4294967295.0)>>>0:~~+N((a-+(~~a>>>0))/4294967296.0)>>>0):0;d=b;c[d>>2]=~~a>>>0;c[d+4>>2]=f;break}else{f=b;c[f>>2]=0;c[f+4>>2]=-2147483648}while(0);f=b;z=c[f+4>>2]|0;l=e;return c[f>>2]|0}function ri(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;r=v+48|0;s=v+44|0;t=v+40|0;h=v+36|0;i=v+52|0;u=v+32|0;j=v;k=v+28|0;m=v+24|0;n=v+20|0;o=v+16|0;p=v+12|0;q=v+8|0;c[s>>2]=b;c[t>>2]=e;c[h>>2]=f;a[i>>0]=g;g=j;c[g>>2]=0;c[g+4>>2]=0;c[k>>2]=0;c[n>>2]=0;c[o>>2]=0;c[q>>2]=(c[s>>2]|0)+(c[h>>2]|0);if((d[i>>0]|0)==1)c[u>>2]=1;else{c[u>>2]=2;c[m>>2]=3-(d[i>>0]|0);while(1){if((c[m>>2]|0)>=(c[h>>2]|0))break;if(a[(c[s>>2]|0)+(c[m>>2]|0)>>0]|0)break;c[m>>2]=(c[m>>2]|0)+2}c[o>>2]=(c[m>>2]|0)<(c[h>>2]|0)&1;c[q>>2]=(c[s>>2]|0)+(c[m>>2]^1);c[s>>2]=(c[s>>2]|0)+(d[i>>0]&1)}while(1){if((c[s>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if(!(d[16965+(d[c[s>>2]>>0]|0)>>0]&1))break;c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0)}do if((c[s>>2]|0)>>>0<(c[q>>2]|0)>>>0){if((a[c[s>>2]>>0]|0)==45){c[k>>2]=1;c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0);break}if((a[c[s>>2]>>0]|0)==43)c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0)}while(0);c[p>>2]=c[s>>2];while(1){if((c[s>>2]|0)>>>0>=(c[q>>2]|0)>>>0)break;if((a[c[s>>2]>>0]|0)!=48)break;c[s>>2]=(c[s>>2]|0)+(c[u>>2]|0)}c[m>>2]=0;while(1){if(((c[s>>2]|0)+(c[m>>2]|0)|0)>>>0<(c[q>>2]|0)>>>0?(i=a[(c[s>>2]|0)+(c[m>>2]|0)>>0]|0,c[n>>2]=i,(i|0)>=48):0)b=(c[n>>2]|0)<=57;else b=0;f=j;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!b)break;i=RR(e|0,f|0,10,0)|0;h=c[n>>2]|0;h=IR(i|0,z|0,h|0,((h|0)<0)<<31>>31|0)|0;h=FR(h|0,z|0,48,0)|0;i=j;c[i>>2]=h;c[i+4>>2]=z;c[m>>2]=(c[m>>2]|0)+(c[u>>2]|0)}g=(c[k>>2]|0)!=0;do if(!(f>>>0>2147483647|(f|0)==2147483647&e>>>0>4294967295)){e=j;b=c[e>>2]|0;e=c[e+4>>2]|0;if(g){j=FR(0,0,b|0,e|0)|0;t=c[t>>2]|0;c[t>>2]=j;c[t+4>>2]=z;break}else{t=c[t>>2]|0;c[t>>2]=b;c[t+4>>2]=e;break}}else{t=c[t>>2]|0;c[t>>2]=g?0:-1;c[t+4>>2]=g?-2147483648:2147483647}while(0);do if(((c[s>>2]|0)+(c[m>>2]|0)|0)>>>0>=(c[q>>2]|0)>>>0){if((c[m>>2]|0)==0?(c[p>>2]|0)==(c[s>>2]|0):0)break;if(!(c[o>>2]|0?1:(c[m>>2]|0)>((c[u>>2]|0)*19|0))){if((c[m>>2]|0)<((c[u>>2]|0)*19|0)){c[r>>2]=0;u=c[r>>2]|0;l=v;return u|0}c[n>>2]=si(c[s>>2]|0,c[u>>2]|0)|0;if((c[n>>2]|0)<0){c[r>>2]=0;u=c[r>>2]|0;l=v;return u|0}if((c[n>>2]|0)>0){c[r>>2]=1;u=c[r>>2]|0;l=v;return u|0}else{c[r>>2]=c[k>>2]|0?0:2;u=c[r>>2]|0;l=v;return u|0}}}while(0);c[r>>2]=1;u=c[r>>2]|0;l=v;return u|0}function si(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[i>>2]=19167;c[h>>2]=0;while(1){if(!((c[g>>2]|0)==0?(c[h>>2]|0)<18:0))break;d=a[(c[e>>2]|0)+(O(c[h>>2]|0,c[f>>2]|0)|0)>>0]|0;c[g>>2]=(d-(a[(c[i>>2]|0)+(c[h>>2]|0)>>0]|0)|0)*10;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){i=c[g>>2]|0;l=j;return i|0}c[g>>2]=(a[(c[e>>2]|0)+((c[f>>2]|0)*18|0)>>0]|0)-56;i=c[g>>2]|0;l=j;return i|0}function ti(d,f){d=d|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;i=n+16|0;j=n+8|0;k=n;m=n+24|0;c[g>>2]=d;c[i>>2]=f;a[m>>0]=a[(c[g>>2]|0)+10>>0]|0;if(!(oi(c[(c[g>>2]|0)+16>>2]|0,j,c[(c[g>>2]|0)+12>>2]|0,a[m>>0]|0)|0)){l=n;return}if(!(ri(c[(c[g>>2]|0)+16>>2]|0,k,c[(c[g>>2]|0)+12>>2]|0,a[m>>0]|0)|0)){j=k;k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|4;l=n;return}h[c[g>>2]>>3]=+h[j>>3];m=(c[g>>2]|0)+8|0;b[m>>1]=e[m>>1]|0|8;if(!(c[i>>2]|0)){l=n;return}ui(c[g>>2]|0);l=n;return}function ui(a){a=a|0;var d=0,f=0,g=0,i=0,j=0,k=0,m=0;g=l;l=l+16|0;d=g+8|0;f=g;c[d>>2]=a;j=qi(+h[c[d>>2]>>3])|0;m=f;c[m>>2]=j;c[m+4>>2]=z;m=f;j=f;k=c[j+4>>2]|0;a=f;i=c[a+4>>2]|0;if(!(+h[c[d>>2]>>3]==+((c[m>>2]|0)>>>0)+4294967296.0*+(c[m+4>>2]|0)&((k|0)>-2147483648|(k|0)==-2147483648&(c[j>>2]|0)>>>0>0)&((i|0)<2147483647|(i|0)==2147483647&(c[a>>2]|0)>>>0<4294967295))){l=g;return}j=f;k=c[j+4>>2]|0;m=c[d>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;b[(c[d>>2]|0)+8>>1]=(e[(c[d>>2]|0)+8>>1]|0)&-49664|4;l=g;return}function vi(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=pi(c[d>>2]|0)|0;l=b;return a|0}function wi(a){a=a|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;d=h+4|0;f=h;c[d>>2]=a;c[f>>2]=c[d>>2];if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){c[g>>2]=wh(c[d>>2]|0)|0;g=c[g>>2]|0;l=h;return g|0}if((e[(c[f>>2]|0)+8>>1]|0)&16384|0)a=Oh(c[f>>2]|0)|0;else a=0;if(a|0){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}d=(c[f>>2]|0)+8|0;b[d>>1]=e[d>>1]|0|16;if(c[(c[f>>2]|0)+12>>2]|0)a=c[(c[f>>2]|0)+16>>2]|0;else a=0;c[g>>2]=a;g=c[g>>2]|0;l=h;return g|0}function xi(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+16|0;m=p+12|0;n=p;o=p+8|0;j=p+20|0;c[k>>2]=b;c[m>>2]=e;e=n;c[e>>2]=f;c[e+4>>2]=g;c[o>>2]=h;a[j>>0]=i;if((d[j>>0]|0)==4)a[j>>0]=(a[936]|0)==0?3:2;i=n;h=c[i+4>>2]|0;if(h>>>0>0|(h|0)==0&(c[i>>2]|0)>>>0>2147483647){zi(c[m>>2]|0,c[o>>2]|0,c[k>>2]|0)|0;l=p;return}else{di(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,a[j>>0]|0,c[o>>2]|0);l=p;return}}function yi(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[g>>2]=a;c[h>>2]=b;b=i;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=f;f=i;e=c[f+4>>2]|0;if(e>>>0>0|(e|0)==0&(c[f>>2]|0)>>>0>2147483647){zi(c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;l=k;return}else{di(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,0,c[j>>2]|0);l=k;return}}function zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!((c[f>>2]|0)==0|(c[f>>2]|0)==(-1|0)))qb[c[f>>2]&255](c[e>>2]|0);if(!(c[g>>2]|0)){l=h;return 18}ai(c[g>>2]|0);l=h;return 18}function Ai(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;e=h+16|0;f=h+12|0;g=h;j=h+8|0;c[f>>2]=a;i=g;c[i>>2]=b;c[i+4>>2]=d;c[j>>2]=c[c[f>>2]>>2];b=g;i=c[b+4>>2]|0;d=c[(c[(c[j>>2]|0)+32>>2]|0)+96>>2]|0;a=((d|0)<0)<<31>>31;if(i>>>0>a>>>0|((i|0)==(a|0)?(c[b>>2]|0)>>>0>d>>>0:0)){c[e>>2]=18;j=c[e>>2]|0;l=h;return j|0}else{Di(c[c[f>>2]>>2]|0,c[g>>2]|0);c[e>>2]=0;j=c[e>>2]|0;l=h;return j|0}return 0}function Bi(b,d){b=b|0;d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+20>>2]=c[g>>2];a[(c[f>>2]|0)+25>>0]=1;if(!((e[(c[c[f>>2]>>2]|0)+8>>1]|0)&1)){l=h;return}f=c[c[f>>2]>>2]|0;Jh(f,Ci(c[g>>2]|0)|0,-1,1,0)|0;l=h;return}function Ci(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=19186;if((c[b>>2]|0)!=516){c[b>>2]=c[b>>2]&255;if((c[b>>2]|0)>=0&(c[b>>2]|0)<27?c[3608+(c[b>>2]<<2)>>2]|0:0)c[d>>2]=c[3608+(c[b>>2]<<2)>>2]}else c[d>>2]=19200;l=e;return c[d>>2]|0}function Di(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=e;Lh(c[f>>2]|0);b[(c[f>>2]|0)+8>>1]=16400;c[(c[f>>2]|0)+12>>2]=0;if((c[g>>2]|0)<0)c[g>>2]=0;c[c[f>>2]>>2]=c[g>>2];a[(c[f>>2]|0)+10>>0]=1;c[(c[f>>2]|0)+16>>2]=0;l=h;return}function Ei(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Gi(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;l=d;return}function Fi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;e=h+16|0;f=h;g=h+12|0;j=h+8|0;c[e>>2]=a;i=f;c[i>>2]=b;c[i+4>>2]=d;c[j>>2]=uh(c[e>>2]|0)|0;b=f;i=c[b+4>>2]|0;d=c[(c[j>>2]|0)+96>>2]|0;a=((d|0)<0)<<31>>31;if((i|0)>(a|0)|((i|0)==(a|0)?(c[b>>2]|0)>>>0>d>>>0:0)){ai(c[e>>2]|0);c[g>>2]=0;j=c[g>>2]|0;l=h;return j|0}j=f;c[g>>2]=pd(c[j>>2]|0,c[j+4>>2]|0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=h;return j|0}bi(c[e>>2]|0);j=c[g>>2]|0;l=h;return j|0}function Gi(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if((e[(c[f>>2]|0)+8>>1]|0)&9312|0)Gh(c[f>>2]|0);d=c[f>>2]|0;a=c[g>>2]|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];c[d+16>>2]=c[a+16>>2];d=(c[f>>2]|0)+8|0;b[d>>1]=(e[d>>1]|0)&-1025;if(!((e[(c[f>>2]|0)+8>>1]|0)&18)){h=c[h>>2]|0;l=i;return h|0}if((e[(c[g>>2]|0)+8>>1]|0)&2048){h=c[h>>2]|0;l=i;return h|0}g=(c[f>>2]|0)+8|0;b[g>>1]=e[g>>1]|0|4096;c[h>>2]=Nh(c[f>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function Hi(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+92>>2]|0}function Ii(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+88>>2]|0}function Ji(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+32|0;z=c[a+4>>2]|0;l=b;return c[a>>2]|0}function Ki(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+12>>2]|0)+88>>2]|0)+(((c[(c[e>>2]|0)+16>>2]|0)-1|0)*20|0);l=d;return c[(c[b>>2]|0)+16>>2]|0}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;f=o+24|0;g=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[g>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e[(c[g>>2]|0)+8>>1];c[m>>2]=e[(c[i>>2]|0)+8>>1];c[n>>2]=c[k>>2]|c[m>>2];do if(!(c[n>>2]&1|0)){if(!(c[n>>2]&12)){if(c[n>>2]&2|0){if(!(c[k>>2]&2)){c[f>>2]=1;break}if(!(c[m>>2]&2)){c[f>>2]=-1;break}if(c[j>>2]|0){c[f>>2]=Ni(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,0)|0;break}}c[f>>2]=Oi(c[g>>2]|0,c[i>>2]|0)|0;break}if(c[k>>2]&c[m>>2]&4|0){m=c[g>>2]|0;j=c[m+4>>2]|0;n=c[i>>2]|0;k=c[n+4>>2]|0;if((j|0)<(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[f>>2]=-1;break}m=c[g>>2]|0;j=c[m+4>>2]|0;n=c[i>>2]|0;k=c[n+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[k>>2]&c[m>>2]&8|0){if(+h[c[g>>2]>>3]<+h[c[i>>2]>>3]){c[f>>2]=-1;break}if(+h[c[g>>2]>>3]>+h[c[i>>2]>>3]){c[f>>2]=1;break}else{c[f>>2]=0;break}}if(c[k>>2]&4|0)if(c[m>>2]&8|0){n=c[g>>2]|0;c[f>>2]=Mi(c[n>>2]|0,c[n+4>>2]|0,+h[c[i>>2]>>3])|0;break}else{c[f>>2]=-1;break}if(!(c[k>>2]&8)){c[f>>2]=1;break}if(c[m>>2]&4|0){n=c[i>>2]|0;c[f>>2]=0-(Mi(c[n>>2]|0,c[n+4>>2]|0,+h[c[g>>2]>>3])|0);break}else{c[f>>2]=-1;break}}else c[f>>2]=(c[m>>2]&1)-(c[k>>2]&1);while(0);l=o;return c[f>>2]|0}function Mi(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;e=k+32|0;f=k+24|0;g=k+16|0;i=k+8|0;j=k;m=f;c[m>>2]=a;c[m+4>>2]=b;h[g>>3]=d;if(+h[g>>3]<-9223372036854775808.0){c[e>>2]=1;m=c[e>>2]|0;l=k;return m|0}if(+h[g>>3]>9223372036854775808.0){c[e>>2]=-1;m=c[e>>2]|0;l=k;return m|0}d=+h[g>>3];n=+B(d)>=1.0?(d>0.0?~~+P(+A(d/4294967296.0),4294967295.0)>>>0:~~+N((d-+(~~d>>>0))/4294967296.0)>>>0):0;b=i;c[b>>2]=~~d>>>0;c[b+4>>2]=n;b=f;n=c[b+4>>2]|0;m=i;a=c[m+4>>2]|0;if((n|0)<(a|0)|((n|0)==(a|0)?(c[b>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)){c[e>>2]=-1;n=c[e>>2]|0;l=k;return n|0}m=f;a=c[m+4>>2]|0;n=i;b=c[n+4>>2]|0;if((a|0)>(b|0)|((a|0)==(b|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0)){n=i;if(((c[n>>2]|0)==0?(c[n+4>>2]|0)==-2147483648:0)&+h[g>>3]>0.0){c[e>>2]=-1;n=c[e>>2]|0;l=k;return n|0}else{c[e>>2]=1;n=c[e>>2]|0;l=k;return n|0}}n=f;h[j>>3]=+((c[n>>2]|0)>>>0)+4294967296.0*+(c[n+4>>2]|0);if(+h[j>>3]<+h[g>>3]){c[e>>2]=-1;n=c[e>>2]|0;l=k;return n|0}if(+h[j>>3]>+h[g>>3]){c[e>>2]=1;n=c[e>>2]|0;l=k;return n|0}else{c[e>>2]=0;n=c[e>>2]|0;l=k;return n|0}return 0}function Ni(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+128|0;o=u+116|0;p=u+112|0;q=u+108|0;r=u+104|0;s=u+100|0;t=u+96|0;h=u+92|0;i=u+88|0;j=u+84|0;k=u+80|0;m=u+40|0;n=u;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;if((d[(c[p>>2]|0)+10>>0]|0|0)==(d[(c[r>>2]|0)+4>>0]|0|0)){c[o>>2]=zb[c[(c[r>>2]|0)+12>>2]&255](c[(c[r>>2]|0)+8>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[(c[q>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+16>>2]|0)|0;t=c[o>>2]|0;l=u;return t|0}Qi(m,c[(c[p>>2]|0)+32>>2]|0,1);Qi(n,c[(c[p>>2]|0)+32>>2]|0,1);Ri(m,c[p>>2]|0,4096);Ri(n,c[q>>2]|0,4096);c[h>>2]=_h(m,a[(c[r>>2]|0)+4>>0]|0)|0;c[j>>2]=(c[h>>2]|0)==0?0:c[m+12>>2]|0;c[i>>2]=_h(n,a[(c[r>>2]|0)+4>>0]|0)|0;c[k>>2]=(c[i>>2]|0)==0?0:c[n+12>>2]|0;c[t>>2]=zb[c[(c[r>>2]|0)+12>>2]&255](c[(c[r>>2]|0)+8>>2]|0,c[j>>2]|0,c[h>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;if(((c[h>>2]|0)==0|(c[i>>2]|0)==0)&(c[s>>2]|0)!=0)a[c[s>>2]>>0]=7;Lh(m);Lh(n);c[o>>2]=c[t>>2];t=c[o>>2]|0;l=u;return t|0}function Oi(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k+12|0;d=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[(c[g>>2]|0)+12>>2];c[j>>2]=c[(c[h>>2]|0)+12>>2];b=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0|(e[(c[h>>2]|0)+8>>1]|0))&16384)){c[d>>2]=wQ(c[b+16>>2]|0,c[(c[h>>2]|0)+16>>2]|0,(c[i>>2]|0)>(c[j>>2]|0)?c[j>>2]|0:c[i>>2]|0)|0;if(c[d>>2]|0){c[f>>2]=c[d>>2];j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=(c[i>>2]|0)-(c[j>>2]|0);j=c[f>>2]|0;l=k;return j|0}}a=c[g>>2]|0;if((e[b+8>>1]|0)&(e[(c[h>>2]|0)+8>>1]|0)&16384|0){c[f>>2]=(c[a>>2]|0)-(c[c[h>>2]>>2]|0);j=c[f>>2]|0;l=k;return j|0}if((e[a+8>>1]|0)&16384|0)if(Pi(c[(c[h>>2]|0)+16>>2]|0,c[(c[h>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[c[g>>2]>>2]|0)-(c[j>>2]|0);j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=-1;j=c[f>>2]|0;l=k;return j|0}else if(Pi(c[(c[g>>2]|0)+16>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0){c[f>>2]=(c[i>>2]|0)-(c[c[h>>2]>>2]|0);j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=1;j=c[f>>2]|0;l=k;return j|0}return 0}function Pi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+12|0;e=i+8|0;f=i+4|0;g=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){b=6;break}if(a[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0){b=4;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==4){c[h>>2]=0;h=c[h>>2]|0;l=i;return h|0}else if((b|0)==6){c[h>>2]=1;h=c[h>>2]|0;l=i;return h|0}return 0}function Qi(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+4|0;h=f;i=f+8|0;c[g>>2]=a;c[h>>2]=d;b[i>>1]=e;b[(c[g>>2]|0)+8>>1]=b[i>>1]|0;c[(c[g>>2]|0)+32>>2]=c[h>>2];c[(c[g>>2]|0)+24>>2]=0;l=f;return}function Ri(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=d;c[i>>2]=f;a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312|0){Si(a,c[h>>2]|0,c[i>>2]|0);l=j;return}f=c[h>>2]|0;c[a>>2]=c[f>>2];c[a+4>>2]=c[f+4>>2];c[a+8>>2]=c[f+8>>2];c[a+12>>2]=c[f+12>>2];c[a+16>>2]=c[f+16>>2];if((e[(c[h>>2]|0)+8>>1]|0)&2048|0){l=j;return}h=(c[g>>2]|0)+8|0;b[h>>1]=(e[h>>1]|0)&-7169;h=(c[g>>2]|0)+8|0;b[h>>1]=e[h>>1]|0|c[i>>2];l=j;return}function Si(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;Gh(c[h>>2]|0);Ri(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0);l=e;return}function Ti(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;di(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,0,c[g>>2]|0);l=f;return}function Ui(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Fh(c[c[d>>2]>>2]|0);l=b;return}function Vi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;h=e+20|0;g=e+16|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;kd(c[h>>2]|0,c[g>>2]|0,f);l=e;return}function Wi(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+24>>0]=1;l=d;return}function Xi(){return 16950}function Yi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+64|0;e=g+56|0;i=g+52|0;h=g+48|0;f=g;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;if(ej(c[e>>2]|0,c[i>>2]|0,c[h>>2]|0,f)|0){l=g;return}fj(f);i=f;hi(c[e>>2]|0,(+((c[i>>2]|0)>>>0)+4294967296.0*+(c[i+4>>2]|0))/864.0e5);l=g;return}function Zi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+176|0;h=i+48|0;e=i+68|0;k=i+64|0;j=i+60|0;f=i;g=i+72|0;c[e>>2]=a;c[k>>2]=b;c[j>>2]=d;if(ej(c[e>>2]|0,c[k>>2]|0,c[j>>2]|0,f)|0){l=i;return}hj(f);j=c[f+12>>2]|0;k=c[f+16>>2]|0;c[h>>2]=c[f+8>>2];c[h+4>>2]=j;c[h+8>>2]=k;Ne(100,g,20204,h)|0;ci(c[e>>2]|0,g,-1,-1);l=i;return}function _i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;j=l;l=l+176|0;i=j+48|0;e=j+68|0;m=j+64|0;k=j+60|0;f=j;g=j+72|0;c[e>>2]=a;c[m>>2]=b;c[k>>2]=d;if(ej(c[e>>2]|0,c[m>>2]|0,c[k>>2]|0,f)|0){l=j;return}ij(f);k=c[f+24>>2]|0;m=~~+h[f+32>>3];c[i>>2]=c[f+20>>2];c[i+4>>2]=k;c[i+8>>2]=m;Ne(100,g,20189,i)|0;ci(c[e>>2]|0,g,-1,-1);l=j;return}function $i(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,m=0;j=l;l=l+192|0;i=j+48|0;e=j+80|0;m=j+76|0;k=j+72|0;f=j;g=j+84|0;c[e>>2]=a;c[m>>2]=b;c[k>>2]=d;if(ej(c[e>>2]|0,c[m>>2]|0,c[k>>2]|0,f)|0){l=j;return}gj(f);a=c[f+12>>2]|0;b=c[f+16>>2]|0;d=c[f+20>>2]|0;k=c[f+24>>2]|0;m=~~+h[f+32>>3];c[i>>2]=c[f+8>>2];c[i+4>>2]=a;c[i+8>>2]=b;c[i+12>>2]=d;c[i+16>>2]=k;c[i+20>>2]=m;Ne(100,g,20159,i)|0;ci(c[e>>2]|0,g,-1,-1);l=j;return}function aj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+336|0;G=J+192|0;F=J+184|0;E=J+176|0;D=J+168|0;C=J+160|0;B=J+152|0;A=J+144|0;I=J+136|0;H=J+128|0;y=J+120|0;x=J+112|0;t=J+232|0;g=J+228|0;i=J+224|0;u=J+64|0;j=J+56|0;v=J+220|0;w=J+216|0;m=J+212|0;f=J+208|0;n=J+204|0;o=J+236|0;p=J+48|0;q=J+200|0;r=J;s=J+196|0;c[t>>2]=b;c[g>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){l=J;return}c[n>>2]=wh(c[c[i>>2]>>2]|0)|0;if(!(c[n>>2]|0)){l=J;return}if(ej(c[t>>2]|0,(c[g>>2]|0)-1|0,(c[i>>2]|0)+4|0,u)|0){l=J;return}c[f>>2]=uh(c[t>>2]|0)|0;c[v>>2]=0;i=j;c[i>>2]=1;c[i+4>>2]=0;a:while(1){if(!(a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0))break;if((a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0)==37){switch(a[(c[n>>2]|0)+((c[v>>2]|0)+1)>>0]|0){case 87:case 83:case 77:case 109:case 72:case 100:{g=j;i=j;c[i>>2]=IR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[i+4>>2]=z;break}case 37:case 119:break;case 102:{g=j;i=j;c[i>>2]=IR(c[g>>2]|0,c[g+4>>2]|0,8,0)|0;c[i+4>>2]=z;break}case 106:{g=j;i=j;c[i>>2]=IR(c[g>>2]|0,c[g+4>>2]|0,3,0)|0;c[i+4>>2]=z;break}case 89:{g=j;i=j;c[i>>2]=IR(c[g>>2]|0,c[g+4>>2]|0,8,0)|0;c[i+4>>2]=z;break}case 74:case 115:{g=j;i=j;c[i>>2]=IR(c[g>>2]|0,c[g+4>>2]|0,50,0)|0;c[i+4>>2]=z;break}default:{k=44;break a}}c[v>>2]=(c[v>>2]|0)+1}c[v>>2]=(c[v>>2]|0)+1;g=j;g=IR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;i=j;c[i>>2]=g;c[i+4>>2]=z}if((k|0)==44){l=J;return}k=j;i=c[k+4>>2]|0;if(!(i>>>0<0|(i|0)==0&(c[k>>2]|0)>>>0<100)){i=j;e=c[i+4>>2]|0;k=c[(c[f>>2]|0)+96>>2]|0;g=((k|0)<0)<<31>>31;if(e>>>0>g>>>0|((e|0)==(g|0)?(c[i>>2]|0)>>>0>k>>>0:0)){ai(c[t>>2]|0);l=J;return}k=c[j>>2]|0;c[m>>2]=od(c[f>>2]|0,k,((k|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){bi(c[t>>2]|0);l=J;return}}else c[m>>2]=o;fj(u);gj(u);c[w>>2]=0;c[v>>2]=0;while(1){if(!(a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0))break;b:do if((a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0)!=37){i=a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0;j=c[m>>2]|0;k=c[w>>2]|0;c[w>>2]=k+1;a[j+k>>0]=i}else{c[v>>2]=(c[v>>2]|0)+1;do switch(a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0){case 100:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[x>>2]=c[u+16>>2];Ne(3,k,19995,x)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 102:{h[p>>3]=+h[u+32>>3];if(+h[p>>3]>59.999)h[p>>3]=59.999;k=(c[m>>2]|0)+(c[w>>2]|0)|0;h[y>>3]=+h[p>>3];Ne(7,k,2e4,y)|0;c[w>>2]=(_c((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}case 72:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[H>>2]=c[u+20>>2];Ne(3,k,19995,H)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 106:case 87:{b=r;d=u;f=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(f|0));a[r+42>>0]=0;c[r+12>>2]=1;c[r+16>>2]=1;fj(r);j=u;k=r;c[q>>2]=LR(IR(FR(c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0,z|0,432e5,0)|0,z|0,864e5,0)|0;if((a[(c[n>>2]|0)+(c[v>>2]|0)>>0]|0)==87){k=u;k=IR(c[k>>2]|0,c[k+4>>2]|0,432e5,0)|0;k=LR(k|0,z|0,864e5,0)|0;k=VR(k|0,z|0,7,0)|0;c[s>>2]=k;k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[I>>2]=((c[q>>2]|0)+7-(c[s>>2]|0)|0)/7|0;Ne(3,k,19995,I)|0;c[w>>2]=(c[w>>2]|0)+2;break b}else{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[A>>2]=(c[q>>2]|0)+1;Ne(4,k,20007,A)|0;c[w>>2]=(c[w>>2]|0)+3;break b}}case 74:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;j=u;h[B>>3]=(+((c[j>>2]|0)>>>0)+4294967296.0*+(c[j+4>>2]|0))/864.0e5;Ne(20,k,20012,B)|0;c[w>>2]=(_c((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}case 109:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[C>>2]=c[u+12>>2];Ne(3,k,19995,C)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 77:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[D>>2]=c[u+24>>2];Ne(3,k,19995,D)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 115:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;i=u;j=E;c[j>>2]=FR(LR(c[i>>2]|0,c[i+4>>2]|0,1e3,0)|0,z|0,413362496,49)|0;c[j+4>>2]=z;Ne(30,k,19081,E)|0;c[w>>2]=(_c((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}case 83:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[F>>2]=~~+h[u+32>>3];Ne(3,k,19995,F)|0;c[w>>2]=(c[w>>2]|0)+2;break b}case 119:{i=u;i=VR(LR(IR(c[i>>2]|0,c[i+4>>2]|0,1296e5,0)|0,z|0,864e5,0)|0,z|0,7,0)|0;j=c[m>>2]|0;k=c[w>>2]|0;c[w>>2]=k+1;a[j+k>>0]=((i&255)<<24>>24)+48;break b}case 89:{k=(c[m>>2]|0)+(c[w>>2]|0)|0;c[G>>2]=c[u+8>>2];Ne(5,k,20018,G)|0;c[w>>2]=(_c((c[m>>2]|0)+(c[w>>2]|0)|0)|0)+(c[w>>2]|0);break b}default:{j=c[m>>2]|0;k=c[w>>2]|0;c[w>>2]=k+1;a[j+k>>0]=37;break b}}while(0)}while(0);c[v>>2]=(c[v>>2]|0)+1}a[(c[m>>2]|0)+(c[w>>2]|0)>>0]=0;ci(c[t>>2]|0,c[m>>2]|0,-1,(c[m>>2]|0)==(o|0)?-1:169);l=J;return}function bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;_i(c[f>>2]|0,0,0);l=e;return}function cj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;$i(c[f>>2]|0,0,0);l=e;return}function dj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e+8|0;c[f>>2]=a;c[e+4>>2]=b;c[e>>2]=d;Zi(c[f>>2]|0,0,0);l=e;return}function ej(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0.0;p=l;l=l+32|0;o=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;g=p+4|0;h=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;b=c[m>>2]|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));if(!(c[j>>2]|0)){c[o>>2]=jj(c[i>>2]|0,c[m>>2]|0)|0;o=c[o>>2]|0;l=p;return o|0}f=fi(c[c[k>>2]>>2]|0)|0;c[h>>2]=f;b=c[c[k>>2]>>2]|0;do if((f|0)==2|(c[h>>2]|0)==1){q=+mi(b)*864.0e5+.5;f=+B(q)>=1.0?(q>0.0?~~+P(+A(q/4294967296.0),4294967295.0)>>>0:~~+N((q-+(~~q>>>0))/4294967296.0)>>>0):0;h=c[m>>2]|0;c[h>>2]=~~q>>>0;c[h+4>>2]=f;a[(c[m>>2]|0)+42>>0]=1}else{c[g>>2]=wh(b)|0;if(c[g>>2]|0?(kj(c[i>>2]|0,c[g>>2]|0,c[m>>2]|0)|0)==0:0)break;c[o>>2]=1;o=c[o>>2]|0;l=p;return o|0}while(0);c[n>>2]=1;while(1){if((c[n>>2]|0)>=(c[j>>2]|0)){b=14;break}c[g>>2]=wh(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;if(!(c[g>>2]|0)){b=12;break}if(lj(c[i>>2]|0,c[g>>2]|0,c[m>>2]|0)|0){b=12;break}c[n>>2]=(c[n>>2]|0)+1}if((b|0)==12){c[o>>2]=1;o=c[o>>2]|0;l=p;return o|0}else if((b|0)==14){c[o>>2]=0;o=c[o>>2]|0;l=p;return o|0}return 0}function fj(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0.0;n=l;l=l+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[d>>2]=b;if(a[(c[d>>2]|0)+42>>0]|0){l=n;return}if(a[(c[d>>2]|0)+40>>0]|0){c[e>>2]=c[(c[d>>2]|0)+8>>2];c[f>>2]=c[(c[d>>2]|0)+12>>2];c[g>>2]=c[(c[d>>2]|0)+16>>2]}else{c[e>>2]=2e3;c[f>>2]=1;c[g>>2]=1}if((c[f>>2]|0)<=2){c[e>>2]=(c[e>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+12}c[i>>2]=(c[e>>2]|0)/100|0;c[j>>2]=2-(c[i>>2]|0)+((c[i>>2]|0)/4|0);c[k>>2]=(((c[e>>2]|0)+4716|0)*36525|0)/100|0;c[m>>2]=(((c[f>>2]|0)+1|0)*306001|0)/1e4|0;o=(+((c[k>>2]|0)+(c[m>>2]|0)+(c[g>>2]|0)+(c[j>>2]|0)|0)-1524.5)*864.0e5;k=+B(o)>=1.0?(o>0.0?~~+P(+A(o/4294967296.0),4294967295.0)>>>0:~~+N((o-+(~~o>>>0))/4294967296.0)>>>0):0;m=c[d>>2]|0;c[m>>2]=~~o>>>0;c[m+4>>2]=k;a[(c[d>>2]|0)+42>>0]=1;if(!(a[(c[d>>2]|0)+41>>0]|0)){l=n;return}k=O(c[(c[d>>2]|0)+20>>2]|0,36e5)|0;k=k+((c[(c[d>>2]|0)+24>>2]|0)*6e4|0)|0;o=+h[(c[d>>2]|0)+32>>3]*1.0e3;k=IR(k|0,((k|0)<0)<<31>>31|0,~~o>>>0|0,(+B(o)>=1.0?(o>0.0?~~+P(+A(o/4294967296.0),4294967295.0)>>>0:~~+N((o-+(~~o>>>0))/4294967296.0)>>>0):0)|0)|0;m=c[d>>2]|0;j=m;k=IR(c[j>>2]|0,c[j+4>>2]|0,k|0,z|0)|0;c[m>>2]=k;c[m+4>>2]=z;if(!(a[(c[d>>2]|0)+43>>0]|0)){l=n;return}k=(c[(c[d>>2]|0)+28>>2]|0)*6e4|0;m=c[d>>2]|0;j=m;k=FR(c[j>>2]|0,c[j+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;c[m>>2]=k;c[m+4>>2]=z;a[(c[d>>2]|0)+40>>0]=0;a[(c[d>>2]|0)+41>>0]=0;a[(c[d>>2]|0)+43>>0]=0;l=n;return}function gj(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;hj(c[d>>2]|0);ij(c[d>>2]|0);l=b;return}function hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if(a[(c[d>>2]|0)+40>>0]|0){l=m;return}b=c[d>>2]|0;if(a[(c[d>>2]|0)+42>>0]|0){b=IR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=LR(b|0,z|0,864e5,0)|0;c[e>>2]=b;c[f>>2]=~~((+(c[e>>2]|0)-1867216.25)/36524.25);c[f>>2]=(c[e>>2]|0)+1+(c[f>>2]|0)-((c[f>>2]|0)/4|0);c[g>>2]=(c[f>>2]|0)+1524;c[h>>2]=~~((+(c[g>>2]|0)-122.1)/365.25);c[i>>2]=((c[h>>2]&32767)*36525|0)/100|0;c[j>>2]=~~(+((c[g>>2]|0)-(c[i>>2]|0)|0)/30.6001);c[k>>2]=~~(+(c[j>>2]|0)*30.6001);c[(c[d>>2]|0)+16>>2]=(c[g>>2]|0)-(c[i>>2]|0)-(c[k>>2]|0);c[(c[d>>2]|0)+12>>2]=(c[j>>2]|0)-((c[j>>2]|0)<14?1:13);c[(c[d>>2]|0)+8>>2]=(c[h>>2]|0)-((c[(c[d>>2]|0)+12>>2]|0)>2?4716:4715)}else{c[b+8>>2]=2e3;c[(c[d>>2]|0)+12>>2]=1;c[(c[d>>2]|0)+16>>2]=1}a[(c[d>>2]|0)+40>>0]=1;l=m;return}function ij(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;if(a[(c[d>>2]|0)+41>>0]|0){l=f;return}fj(c[d>>2]|0);b=c[d>>2]|0;b=IR(c[b>>2]|0,c[b+4>>2]|0,432e5,0)|0;b=VR(b|0,z|0,864e5,0)|0;c[e>>2]=b;h[(c[d>>2]|0)+32>>3]=+(c[e>>2]|0)/1.0e3;c[e>>2]=~~+h[(c[d>>2]|0)+32>>3];b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]-+(c[e>>2]|0);c[(c[d>>2]|0)+20>>2]=(c[e>>2]|0)/3600|0;c[e>>2]=(c[e>>2]|0)-((c[(c[d>>2]|0)+20>>2]|0)*3600|0);c[(c[d>>2]|0)+24>>2]=(c[e>>2]|0)/60|0;b=(c[d>>2]|0)+32|0;h[b>>3]=+h[b>>3]+ +((c[e>>2]|0)-((c[(c[d>>2]|0)+24>>2]|0)*60|0)|0);a[(c[d>>2]|0)+41>>0]=1;l=f;return}function jj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=b;c[f>>2]=d;b=tj(c[h>>2]|0)|0;d=c[f>>2]|0;c[d>>2]=b;c[d+4>>2]=z;d=c[f>>2]|0;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){a[(c[f>>2]|0)+42>>0]=1;c[e>>2]=0;h=c[e>>2]|0;l=g;return h|0}else{c[e>>2]=1;h=c[e>>2]|0;l=g;return h|0}return 0}function kj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0.0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;i=m+12|0;j=m+8|0;k=m;c[g>>2]=b;c[i>>2]=d;c[j>>2]=e;if(!(sj(c[i>>2]|0,c[j>>2]|0)|0)){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}if(!(oj(c[i>>2]|0,c[j>>2]|0)|0)){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}if(!(Ig(c[i>>2]|0,20143)|0)){c[f>>2]=jj(c[g>>2]|0,c[j>>2]|0)|0;k=c[f>>2]|0;l=m;return k|0}g=c[i>>2]|0;if(oi(g,k,_c(c[i>>2]|0)|0,1)|0){n=+h[k>>3]*864.0e5+.5;i=+B(n)>=1.0?(n>0.0?~~+P(+A(n/4294967296.0),4294967295.0)>>>0:~~+N((n-+(~~n>>>0))/4294967296.0)>>>0):0;k=c[j>>2]|0;c[k>>2]=~~n>>>0;c[k+4>>2]=i;a[(c[j>>2]|0)+42>>0]=1;c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}else{c[f>>2]=1;k=c[f>>2]|0;l=m;return k|0}return 0}function lj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,C=0,D=0.0;C=l;l=l+160|0;j=C+124|0;k=C+120|0;w=C+116|0;x=C+112|0;q=C+108|0;r=C+80|0;y=C+104|0;g=C+72|0;i=C+64|0;m=C+56|0;t=C+100|0;u=C+8|0;v=C;n=C+96|0;o=C+92|0;p=C+88|0;c[j>>2]=b;c[k>>2]=e;c[w>>2]=f;c[x>>2]=1;c[y>>2]=C+128;c[q>>2]=0;while(1){if((c[q>>2]|0)>=29)break;if(!(a[(c[k>>2]|0)+(c[q>>2]|0)>>0]|0))break;a[(c[y>>2]|0)+(c[q>>2]|0)>>0]=a[17348+(d[(c[k>>2]|0)+(c[q>>2]|0)>>0]|0)>>0]|0;c[q>>2]=(c[q>>2]|0)+1}a[(c[y>>2]|0)+(c[q>>2]|0)>>0]=0;switch(a[c[y>>2]>>0]|0){case 108:{if(vQ(c[y>>2]|0,20023)|0){y=c[x>>2]|0;l=C;return y|0}fj(c[w>>2]|0);v=mj(c[w>>2]|0,c[j>>2]|0,x)|0;y=c[w>>2]|0;u=y;c[y>>2]=IR(c[u>>2]|0,c[u+4>>2]|0,v|0,z|0)|0;c[y+4>>2]=z;nj(c[w>>2]|0);y=c[x>>2]|0;l=C;return y|0}case 117:{if((vQ(c[y>>2]|0,20033)|0)==0?a[(c[w>>2]|0)+42>>0]|0:0){v=c[w>>2]|0;v=IR(c[v>>2]|0,c[v+4>>2]|0,43200,0)|0;v=LR(v|0,z|0,86400,0)|0;v=IR(v|0,z|0,1045635584,49096)|0;y=c[w>>2]|0;c[y>>2]=v;c[y+4>>2]=z;nj(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;l=C;return y|0}if(vQ(c[y>>2]|0,20043)|0){y=c[x>>2]|0;l=C;return y|0}if(a[(c[w>>2]|0)+44>>0]|0){c[x>>2]=0;y=c[x>>2]|0;l=C;return y|0}fj(c[w>>2]|0);y=g;c[y>>2]=mj(c[w>>2]|0,c[j>>2]|0,x)|0;c[y+4>>2]=z;if(!(c[x>>2]|0)){u=g;y=c[w>>2]|0;v=y;u=FR(c[v>>2]|0,c[v+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;c[y>>2]=u;c[y+4>>2]=z;nj(c[w>>2]|0);y=g;u=c[y>>2]|0;y=c[y+4>>2]|0;v=mj(c[w>>2]|0,c[j>>2]|0,x)|0;v=FR(u|0,y|0,v|0,z|0)|0;y=c[w>>2]|0;u=y;v=IR(c[u>>2]|0,c[u+4>>2]|0,v|0,z|0)|0;c[y>>2]=v;c[y+4>>2]=z}a[(c[w>>2]|0)+44>>0]=1;y=c[x>>2]|0;l=C;return y|0}case 119:{if(AQ(c[y>>2]|0,20047,8)|0){y=c[x>>2]|0;l=C;return y|0}if(!(oi((c[y>>2]|0)+8|0,r,_c((c[y>>2]|0)+8|0)|0,1)|0)){y=c[x>>2]|0;l=C;return y|0}y=~~+h[r>>3];c[q>>2]=y;if(!(((c[q>>2]|0)>=0?+(y|0)==+h[r>>3]:0)&+h[r>>3]<7.0)){y=c[x>>2]|0;l=C;return y|0}gj(c[w>>2]|0);a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;fj(c[w>>2]|0);t=c[w>>2]|0;v=i;c[v>>2]=VR(LR(IR(c[t>>2]|0,c[t+4>>2]|0,1296e5,0)|0,z|0,864e5,0)|0,z|0,7,0)|0;c[v+4>>2]=z;v=i;t=c[v+4>>2]|0;y=c[q>>2]|0;u=((y|0)<0)<<31>>31;if((t|0)>(u|0)|((t|0)==(u|0)?(c[v>>2]|0)>>>0>y>>>0:0)){v=i;v=FR(c[v>>2]|0,c[v+4>>2]|0,7,0)|0;y=i;c[y>>2]=v;c[y+4>>2]=z}y=c[q>>2]|0;v=i;v=RR(FR(y|0,((y|0)<0)<<31>>31|0,c[v>>2]|0,c[v+4>>2]|0)|0,z|0,864e5,0)|0;y=c[w>>2]|0;u=y;c[y>>2]=IR(c[u>>2]|0,c[u+4>>2]|0,v|0,z|0)|0;c[y+4>>2]=z;nj(c[w>>2]|0);c[x>>2]=0;y=c[x>>2]|0;l=C;return y|0}case 115:{if(AQ(c[y>>2]|0,20056,9)|0){y=c[x>>2]|0;l=C;return y|0}c[y>>2]=(c[y>>2]|0)+9;hj(c[w>>2]|0);a[(c[w>>2]|0)+41>>0]=1;c[(c[w>>2]|0)+24>>2]=0;c[(c[w>>2]|0)+20>>2]=0;h[(c[w>>2]|0)+32>>3]=0.0;a[(c[w>>2]|0)+43>>0]=0;a[(c[w>>2]|0)+42>>0]=0;if(!(vQ(c[y>>2]|0,20066)|0)){c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;l=C;return y|0}if(!(vQ(c[y>>2]|0,20072)|0)){hj(c[w>>2]|0);c[(c[w>>2]|0)+12>>2]=1;c[(c[w>>2]|0)+16>>2]=1;c[x>>2]=0;y=c[x>>2]|0;l=C;return y|0}if(vQ(c[y>>2]|0,20077)|0){y=c[x>>2]|0;l=C;return y|0}c[x>>2]=0;y=c[x>>2]|0;l=C;return y|0}case 57:case 56:case 55:case 54:case 53:case 52:case 51:case 50:case 49:case 48:case 45:case 43:{c[q>>2]=1;while(1){if(!(a[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0))break;if((a[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0)==58)break;if(!((d[16965+(d[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0)>>0]&1|0)!=0^1))break;c[q>>2]=(c[q>>2]|0)+1}if(!(oi(c[y>>2]|0,r,c[q>>2]|0,1)|0)){c[x>>2]=1;y=c[x>>2]|0;l=C;return y|0}if((a[(c[y>>2]|0)+(c[q>>2]|0)>>0]|0)==58){c[t>>2]=c[y>>2];if(!(d[16965+(d[c[t>>2]>>0]|0)>>0]&4))c[t>>2]=(c[t>>2]|0)+1;b=u;e=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));if(oj(c[t>>2]|0,u)|0){y=c[x>>2]|0;l=C;return y|0}fj(u);t=u;t=FR(c[t>>2]|0,c[t+4>>2]|0,432e5,0)|0;s=u;c[s>>2]=t;c[s+4>>2]=z;s=u;s=LR(c[s>>2]|0,c[s+4>>2]|0,864e5,0)|0;t=v;c[t>>2]=s;c[t+4>>2]=z;t=v;t=RR(c[t>>2]|0,c[t+4>>2]|0,864e5,0)|0;v=u;t=FR(c[v>>2]|0,c[v+4>>2]|0,t|0,z|0)|0;v=u;c[v>>2]=t;c[v+4>>2]=z;if((a[c[y>>2]>>0]|0)==45){v=u;v=FR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;y=u;c[y>>2]=v;c[y+4>>2]=z}fj(c[w>>2]|0);nj(c[w>>2]|0);v=u;y=c[w>>2]|0;w=y;w=IR(c[w>>2]|0,c[w+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;c[y>>2]=w;c[y+4>>2]=z;c[x>>2]=0;y=c[x>>2]|0;l=C;return y|0}c[y>>2]=(c[y>>2]|0)+(c[q>>2]|0);while(1){b=c[y>>2]|0;if(!(d[16965+(d[c[y>>2]>>0]|0)>>0]&1))break;c[y>>2]=b+1}c[q>>2]=_c(b)|0;if((c[q>>2]|0)>10|(c[q>>2]|0)<3){y=c[x>>2]|0;l=C;return y|0}if((a[(c[y>>2]|0)+((c[q>>2]|0)-1)>>0]|0)==115){a[(c[y>>2]|0)+((c[q>>2]|0)-1)>>0]=0;c[q>>2]=(c[q>>2]|0)+-1}fj(c[w>>2]|0);c[x>>2]=0;h[m>>3]=+h[r>>3]<0.0?-.5:.5;if((c[q>>2]|0)==3?(vQ(c[y>>2]|0,20077)|0)==0:0){D=+h[r>>3]*864.0e5+ +h[m>>3];v=+B(D)>=1.0?(D>0.0?~~+P(+A(D/4294967296.0),4294967295.0)>>>0:~~+N((D-+(~~D>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=IR(c[u>>2]|0,c[u+4>>2]|0,~~D>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=z}else s=53;do if((s|0)==53){if((c[q>>2]|0)==4?(vQ(c[y>>2]|0,20081)|0)==0:0){D=+h[r>>3]*36.0e5+ +h[m>>3];v=+B(D)>=1.0?(D>0.0?~~+P(+A(D/4294967296.0),4294967295.0)>>>0:~~+N((D-+(~~D>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=IR(c[u>>2]|0,c[u+4>>2]|0,~~D>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=z;break}if((c[q>>2]|0)==6?(vQ(c[y>>2]|0,20086)|0)==0:0){D=+h[r>>3]*6.0e4+ +h[m>>3];v=+B(D)>=1.0?(D>0.0?~~+P(+A(D/4294967296.0),4294967295.0)>>>0:~~+N((D-+(~~D>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=IR(c[u>>2]|0,c[u+4>>2]|0,~~D>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=z;break}if((c[q>>2]|0)==6?(vQ(c[y>>2]|0,20093)|0)==0:0){D=+h[r>>3]*1.0e3+ +h[m>>3];v=+B(D)>=1.0?(D>0.0?~~+P(+A(D/4294967296.0),4294967295.0)>>>0:~~+N((D-+(~~D>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=IR(c[u>>2]|0,c[u+4>>2]|0,~~D>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=z;break}if((c[q>>2]|0)==5?(vQ(c[y>>2]|0,20066)|0)==0:0){gj(c[w>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)+~~+h[r>>3];c[n>>2]=((c[(c[w>>2]|0)+12>>2]|0)-((c[(c[w>>2]|0)+12>>2]|0)>0?1:12)|0)/12|0;y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[n>>2]|0);y=(c[w>>2]|0)+12|0;c[y>>2]=(c[y>>2]|0)-((c[n>>2]|0)*12|0);a[(c[w>>2]|0)+42>>0]=0;fj(c[w>>2]|0);c[o>>2]=~~+h[r>>3];if(!(+(c[o>>2]|0)!=+h[r>>3]))break;D=(+h[r>>3]-+(c[o>>2]|0))*30.0*864.0e5+ +h[m>>3];v=+B(D)>=1.0?(D>0.0?~~+P(+A(D/4294967296.0),4294967295.0)>>>0:~~+N((D-+(~~D>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=IR(c[u>>2]|0,c[u+4>>2]|0,~~D>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=z;break}if((c[q>>2]|0)==4?(vQ(c[y>>2]|0,20072)|0)==0:0){c[p>>2]=~~+h[r>>3];gj(c[w>>2]|0);y=(c[w>>2]|0)+8|0;c[y>>2]=(c[y>>2]|0)+(c[p>>2]|0);a[(c[w>>2]|0)+42>>0]=0;fj(c[w>>2]|0);if(!(+(c[p>>2]|0)!=+h[r>>3]))break;D=(+h[r>>3]-+(c[p>>2]|0))*365.0*864.0e5+ +h[m>>3];v=+B(D)>=1.0?(D>0.0?~~+P(+A(D/4294967296.0),4294967295.0)>>>0:~~+N((D-+(~~D>>>0))/4294967296.0)>>>0):0;y=c[w>>2]|0;u=y;v=IR(c[u>>2]|0,c[u+4>>2]|0,~~D>>>0|0,v|0)|0;c[y>>2]=v;c[y+4>>2]=z;break}c[x>>2]=1}while(0);nj(c[w>>2]|0);y=c[x>>2]|0;l=C;return y|0}default:{y=c[x>>2]|0;l=C;return y|0}}return 0}function mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+176|0;k=r+96|0;g=r+164|0;m=r+160|0;n=r+156|0;o=r+48|0;p=r;q=r+152|0;j=r+108|0;i=r+104|0;c[g>>2]=b;c[m>>2]=d;c[n>>2]=e;d=j;e=d+44|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));d=o;b=c[g>>2]|0;e=d+48|0;do{c[d>>2]=c[b>>2];d=d+4|0;b=b+4|0}while((d|0)<(e|0));gj(o);if((c[o+8>>2]|0)>=1971?(c[o+8>>2]|0)<2038:0){c[i>>2]=~~(+h[o+32>>3]+.5);f=+(c[i>>2]|0)}else{c[o+8>>2]=2e3;c[o+12>>2]=1;c[o+16>>2]=1;c[o+20>>2]=0;c[o+24>>2]=0;f=0.0}h[o+32>>3]=f;c[o+28>>2]=0;a[o+42>>0]=0;fj(o);i=o;i=LR(c[i>>2]|0,c[i+4>>2]|0,1e3,0)|0;i=FR(i|0,z|0,413362496,49)|0;c[q>>2]=i;if(rj(q,j)|0){yh(c[m>>2]|0,20120,-1);c[c[n>>2]>>2]=1;p=k;c[p>>2]=0;c[p+4>>2]=0;p=k;q=p;q=c[q>>2]|0;p=p+4|0;p=c[p>>2]|0;z=p;l=r;return q|0}else{c[p+8>>2]=(c[j+20>>2]|0)+1900;c[p+12>>2]=(c[j+16>>2]|0)+1;c[p+16>>2]=c[j+12>>2];c[p+20>>2]=c[j+8>>2];c[p+24>>2]=c[j+4>>2];h[p+32>>3]=+(c[j>>2]|0);a[p+40>>0]=1;a[p+41>>0]=1;a[p+42>>0]=0;a[p+43>>0]=0;fj(p);c[c[n>>2]>>2]=0;q=o;q=FR(c[p>>2]|0,c[p+4>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0;p=k;c[p>>2]=q;c[p+4>>2]=z;p=k;q=p;q=c[q>>2]|0;p=p+4|0;p=c[p>>2]|0;z=p;l=r;return q|0}return 0}function nj(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+40>>0]=0;a[(c[e>>2]|0)+41>>0]=0;a[(c[e>>2]|0)+43>>0]=0;l=d;return}function oj(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;p=q+24|0;r=q+16|0;f=q+48|0;g=q+44|0;i=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+8|0;o=q;c[g>>2]=b;c[i>>2]=e;h[n>>3]=0.0;e=c[g>>2]|0;c[r>>2]=j;c[r+4>>2]=k;if((pj(e,20100,r)|0)!=2){c[f>>2]=1;r=c[f>>2]|0;l=q;return r|0}c[g>>2]=(c[g>>2]|0)+5;if((a[c[g>>2]>>0]|0)==58){c[g>>2]=(c[g>>2]|0)+1;r=c[g>>2]|0;c[p>>2]=m;if((pj(r,20108,p)|0)!=1){c[f>>2]=1;r=c[f>>2]|0;l=q;return r|0}c[g>>2]=(c[g>>2]|0)+2;if((a[c[g>>2]>>0]|0)==46?d[16965+(d[(c[g>>2]|0)+1>>0]|0)>>0]&4|0:0){h[o>>3]=1.0;c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(d[16965+(d[c[g>>2]>>0]|0)>>0]&4))break;h[n>>3]=+h[n>>3]*10.0+ +(a[c[g>>2]>>0]|0)-48.0;h[o>>3]=+h[o>>3]*10.0;c[g>>2]=(c[g>>2]|0)+1}h[n>>3]=+h[n>>3]/+h[o>>3]}}else c[m>>2]=0;a[(c[i>>2]|0)+42>>0]=0;a[(c[i>>2]|0)+41>>0]=1;c[(c[i>>2]|0)+20>>2]=c[j>>2];c[(c[i>>2]|0)+24>>2]=c[k>>2];h[(c[i>>2]|0)+32>>3]=+(c[m>>2]|0)+ +h[n>>3];if(qj(c[g>>2]|0,c[i>>2]|0)|0){c[f>>2]=1;r=c[f>>2]|0;l=q;return r|0}else{a[(c[i>>2]|0)+43>>0]=c[(c[i>>2]|0)+28>>2]|0?1:0;c[f>>2]=0;r=c[f>>2]|0;l=q;return r|0}return 0}function pj(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+36|0;m=t+32|0;n=t+16|0;s=t+8|0;o=t+44|0;p=t+43|0;q=t+42|0;r=t+4|0;i=t+40|0;j=t;c[k>>2]=f;c[m>>2]=g;c[s>>2]=0;c[n>>2]=h;a:while(1){a[p>>0]=(a[c[m>>2]>>0]|0)-48;a[q>>0]=(a[(c[m>>2]|0)+1>>0]|0)-48;c[r>>2]=0;b[i>>1]=b[8876+((a[(c[m>>2]|0)+2>>0]|0)-97<<1)>>1]|0;a[o>>0]=a[(c[m>>2]|0)+3>>0]|0;c[r>>2]=0;while(1){h=a[p>>0]|0;a[p>>0]=h+-1<<24>>24;if(!(h<<24>>24))break;if(!(d[16965+(d[c[k>>2]>>0]|0)>>0]&4)){f=11;break a}c[r>>2]=((c[r>>2]|0)*10|0)+(a[c[k>>2]>>0]|0)-48;c[k>>2]=(c[k>>2]|0)+1}if((c[r>>2]|0)<(a[q>>0]|0)){f=11;break}if((c[r>>2]|0)>(e[i>>1]|0)){f=11;break}if(a[o>>0]|0?(a[o>>0]|0)!=(a[c[k>>2]>>0]|0):0){f=11;break}h=c[r>>2]|0;f=(c[n>>2]|0)+(4-1)&~(4-1);g=c[f>>2]|0;c[n>>2]=f+4;c[j>>2]=g;c[c[j>>2]>>2]=h;c[k>>2]=(c[k>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+4;if(!(a[o>>0]|0)){f=11;break}}if((f|0)==11){l=t;return c[s>>2]|0}return 0}function qj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;n=p;f=p+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;while(1){if(!(d[16965+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}c[(c[h>>2]|0)+28>>2]=0;c[m>>2]=a[c[g>>2]>>0];do if((c[m>>2]|0)==45){c[i>>2]=-1;o=11}else{if((c[m>>2]|0)==43){c[i>>2]=1;o=11;break}if((c[m>>2]|0)==90|(c[m>>2]|0)==122){c[g>>2]=(c[g>>2]|0)+1;break}c[f>>2]=(c[m>>2]|0)!=0&1;o=c[f>>2]|0;l=p;return o|0}while(0);do if((o|0)==11){c[g>>2]=(c[g>>2]|0)+1;o=c[g>>2]|0;c[n>>2]=j;c[n+4>>2]=k;if((pj(o,20112,n)|0)==2){c[g>>2]=(c[g>>2]|0)+5;o=O(c[i>>2]|0,(c[k>>2]|0)+((c[j>>2]|0)*60|0)|0)|0;c[(c[h>>2]|0)+28>>2]=o;break}c[f>>2]=1;o=c[f>>2]|0;l=p;return o|0}while(0);while(1){if(!(d[16965+(d[c[g>>2]>>0]|0)>>0]&1))break;c[g>>2]=(c[g>>2]|0)+1}a[(c[h>>2]|0)+44>>0]=1;c[f>>2]=(a[c[g>>2]>>0]|0)!=0&1;o=c[f>>2]|0;l=p;return o|0}function rj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;b=kb(c[h>>2]|0)|0;c[f>>2]=b;c[f>>2]=c[69]|0?0:b;if(c[f>>2]|0){a=c[d>>2]|0;b=c[f>>2]|0;d=a+44|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0))}c[e>>2]=(c[f>>2]|0)==0&1;l=g;return c[e>>2]|0}function sj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;c[h>>2]=b;c[i>>2]=e;if((a[c[h>>2]>>0]|0)==45){c[h>>2]=(c[h>>2]|0)+1;c[n>>2]=1}else c[n>>2]=0;e=c[h>>2]|0;c[f>>2]=j;c[f+4>>2]=k;c[f+8>>2]=m;if((pj(e,20147,f)|0)!=3){c[g>>2]=1;n=c[g>>2]|0;l=o;return n|0}c[h>>2]=(c[h>>2]|0)+10;while(1){if(d[16965+(d[c[h>>2]>>0]|0)>>0]&1|0)e=1;else e=84==(d[c[h>>2]>>0]|0);b=c[h>>2]|0;if(!e)break;c[h>>2]=b+1}do if(oj(b,c[i>>2]|0)|0){if(!(a[c[h>>2]>>0]|0)){a[(c[i>>2]|0)+41>>0]=0;break}c[g>>2]=1;n=c[g>>2]|0;l=o;return n|0}while(0);a[(c[i>>2]|0)+42>>0]=0;a[(c[i>>2]|0)+40>>0]=1;j=c[j>>2]|0;c[(c[i>>2]|0)+8>>2]=c[n>>2]|0?0-j|0:j;c[(c[i>>2]|0)+12>>2]=c[k>>2];c[(c[i>>2]|0)+16>>2]=c[m>>2];if(a[(c[i>>2]|0)+43>>0]|0)fj(c[i>>2]|0);c[g>>2]=0;n=c[g>>2]|0;l=o;return n|0}function tj(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[e>>2]=(c[(c[b>>2]|0)+12>>2]|0)+56;a=c[e>>2]|0;if((c[a>>2]|0)==0&(c[a+4>>2]|0)==0?(c[d>>2]=uj(c[c[(c[c[b>>2]>>2]|0)+32>>2]>>2]|0,c[e>>2]|0)|0,c[d>>2]|0):0){d=c[e>>2]|0;c[d>>2]=0;c[d+4>>2]=0}e=c[e>>2]|0;z=c[e+4>>2]|0;l=f;return c[e>>2]|0}function uj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i;c[d>>2]=a;c[e>>2]=b;if((c[c[d>>2]>>2]|0)>=2?c[(c[d>>2]|0)+72>>2]|0:0){c[f>>2]=yb[c[(c[d>>2]|0)+72>>2]&255](c[d>>2]|0,c[e>>2]|0)|0;g=c[f>>2]|0;l=i;return g|0}c[f>>2]=yb[c[(c[d>>2]|0)+64>>2]&255](c[d>>2]|0,g)|0;j=+h[g>>3]*864.0e5;d=+B(j)>=1.0?(j>0.0?~~+P(+A(j/4294967296.0),4294967295.0)>>>0:~~+N((j-+(~~j>>>0))/4294967296.0)>>>0):0;g=c[e>>2]|0;c[g>>2]=~~j>>>0;c[g+4>>2]=d;g=c[f>>2]|0;l=i;return g|0}function vj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+64|0;p=r;j=r+60|0;s=r+52|0;k=r+48|0;m=r+44|0;n=r+40|0;o=r+32|0;f=r+28|0;g=r+24|0;h=r+20|0;i=r+16|0;c[j>>2]=b;c[r+56>>2]=d;c[s>>2]=e;c[k>>2]=wh(c[c[s>>2]>>2]|0)|0;c[m>>2]=wh(c[(c[s>>2]|0)+4>>2]|0)|0;c[f>>2]=c[k>>2];c[g>>2]=0;c[i>>2]=uh(c[j>>2]|0)|0;if(!(c[k>>2]|0)){l=r;return}do{if(!(a[c[f>>2]>>0]|0)){q=7;break}c[o>>2]=c[f>>2];c[o+4>>2]=c[g>>2];do{c[f>>2]=(c[f>>2]|0)+(c[g>>2]|0);c[g>>2]=yj(c[f>>2]|0,n)|0}while((c[n>>2]|0)==162)}while((c[n>>2]|0)!=22?(c[n>>2]|0)!=125:0);if((q|0)==7){l=r;return}s=c[i>>2]|0;e=c[k>>2]|0;n=c[m>>2]|0;q=(c[o>>2]|0)+(c[o+4>>2]|0)|0;c[p>>2]=(c[o>>2]|0)-(c[k>>2]|0);c[p+4>>2]=e;c[p+8>>2]=n;c[p+12>>2]=q;c[h>>2]=Bj(s,21606,p)|0;ci(c[j>>2]|0,c[h>>2]|0,-1,169);l=r;return}function wj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+80|0;q=s;k=s+68|0;t=s+60|0;m=s+56|0;n=s+52|0;o=s+48|0;p=s+40|0;f=s+32|0;g=s+28|0;h=s+24|0;i=s+20|0;j=s+16|0;c[k>>2]=b;c[s+64>>2]=d;c[t>>2]=e;c[m>>2]=wh(c[c[t>>2]>>2]|0)|0;c[n>>2]=wh(c[(c[t>>2]|0)+4>>2]|0)|0;c[f>>2]=3;c[g>>2]=c[m>>2];c[h>>2]=0;c[j>>2]=uh(c[k>>2]|0)|0;if(!(c[m>>2]|0)){l=s;return}while(1){if(!(a[c[g>>2]>>0]|0)){r=8;break}c[p>>2]=c[g>>2];c[p+4>>2]=c[h>>2];do{c[g>>2]=(c[g>>2]|0)+(c[h>>2]|0);c[h>>2]=yj(c[g>>2]|0,o)|0}while((c[o>>2]|0)==162);t=(c[f>>2]|0)+1|0;c[f>>2]=t;c[f>>2]=(c[o>>2]|0)==122|(c[o>>2]|0)==107?0:t;if((c[f>>2]|0)!=2)continue;if(!((c[o>>2]|0)!=137&(c[o>>2]|0)!=74&(c[o>>2]|0)!=5))break}if((r|0)==8){l=s;return}t=c[j>>2]|0;e=c[m>>2]|0;o=c[n>>2]|0;r=(c[p>>2]|0)+(c[p+4>>2]|0)|0;c[q>>2]=(c[p>>2]|0)-(c[m>>2]|0);c[q+4>>2]=e;c[q+8>>2]=o;c[q+12>>2]=r;c[i>>2]=Bj(t,21606,q)|0;ci(c[k>>2]|0,c[i>>2]|0,-1,169);l=s;return}function xj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+80|0;t=u+16|0;s=u;n=u+76|0;v=u+68|0;o=u+64|0;p=u+60|0;q=u+56|0;r=u+52|0;f=u+48|0;g=u+44|0;h=u+40|0;i=u+36|0;j=u+32|0;k=u+28|0;m=u+24|0;c[n>>2]=b;c[u+72>>2]=d;c[v>>2]=e;c[o>>2]=uh(c[n>>2]|0)|0;c[p>>2]=0;c[r>>2]=wh(c[c[v>>2]>>2]|0)|0;c[f>>2]=wh(c[(c[v>>2]|0)+4>>2]|0)|0;c[g>>2]=wh(c[(c[v>>2]|0)+8>>2]|0)|0;if((c[r>>2]|0)==0|(c[f>>2]|0)==0){l=u;return}c[h>>2]=c[r>>2];while(1){if(!(a[c[h>>2]>>0]|0))break;c[i>>2]=yj(c[h>>2]|0,j)|0;if((c[j>>2]|0)==105){do{c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0);c[i>>2]=yj(c[h>>2]|0,j)|0}while((c[j>>2]|0)==162);if((c[j>>2]|0)==163)break;v=c[i>>2]|0;c[k>>2]=zj(c[o>>2]|0,c[h>>2]|0,v,((v|0)<0)<<31>>31)|0;if(!(c[k>>2]|0))break;Aj(c[k>>2]|0);if(!(Ig(c[f>>2]|0,c[k>>2]|0)|0)){v=c[o>>2]|0;b=(c[h>>2]|0)-(c[r>>2]|0)|0;d=c[r>>2]|0;e=c[g>>2]|0;c[s>>2]=c[p>>2]|0?c[p>>2]|0:47636;c[s+4>>2]=b;c[s+8>>2]=d;c[s+12>>2]=e;c[m>>2]=Bj(v,20282,s)|0;Hd(c[o>>2]|0,c[p>>2]|0);c[p>>2]=c[m>>2];c[r>>2]=(c[h>>2]|0)+(c[i>>2]|0)}Hd(c[o>>2]|0,c[k>>2]|0)}c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0)}v=c[o>>2]|0;s=c[r>>2]|0;c[t>>2]=c[p>>2]|0?c[p>>2]|0:47636;c[t+4>>2]=s;c[q>>2]=Bj(v,20293,t)|0;ci(c[n>>2]|0,c[q>>2]|0,-1,169);Hd(c[o>>2]|0,c[p>>2]|0);l=u;return}function yj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;n=o+24|0;m=o+20|0;f=o+16|0;j=o+12|0;k=o+8|0;g=o+4|0;h=o;c[m>>2]=b;c[f>>2]=e;a:do switch(d[20298+(d[c[m>>2]>>0]|0)>>0]|0){case 7:{c[j>>2]=1;while(1){if(!(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&1))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=162;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 11:{if((d[(c[m>>2]|0)+1>>0]|0)!=45){c[c[f>>2]>>2]=48;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}c[j>>2]=2;while(1){i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!(i|0?(c[k>>2]|0)!=10:0))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=162;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 17:{c[c[f>>2]>>2]=22;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 18:{c[c[f>>2]>>2]=23;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 19:{c[c[f>>2]>>2]=1;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 20:{c[c[f>>2]>>2]=47;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 21:{c[c[f>>2]>>2]=49;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 16:{if((d[(c[m>>2]|0)+1>>0]|0)==42?d[(c[m>>2]|0)+2>>0]|0:0){c[j>>2]=3;c[k>>2]=d[(c[m>>2]|0)+2>>0];while(1){if((c[k>>2]|0)==42?(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==47:0)break;i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;c[j>>2]=(c[j>>2]|0)+1}if(c[k>>2]|0)c[j>>2]=(c[j>>2]|0)+1;c[c[f>>2]>>2]=162;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}c[c[f>>2]>>2]=50;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 22:{c[c[f>>2]>>2]=51;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 14:{c[c[f>>2]>>2]=37;c[n>>2]=1+((d[(c[m>>2]|0)+1>>0]|0)==61&1);n=c[n>>2]|0;l=o;return n|0}case 12:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[f>>2]>>2]=39;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}if((c[k>>2]|0)==62){c[c[f>>2]>>2]=36;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}b=c[f>>2]|0;if((c[k>>2]|0)==60){c[b>>2]=45;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=40;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}case 13:{m=d[(c[m>>2]|0)+1>>0]|0;c[k>>2]=m;if((m|0)==61){c[c[f>>2]>>2]=41;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}b=c[f>>2]|0;if((c[k>>2]|0)==62){c[b>>2]=46;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=38;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}case 15:{b=c[f>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=61){c[b>>2]=163;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=36;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}}case 10:{b=c[f>>2]|0;if((d[(c[m>>2]|0)+1>>0]|0)!=124){c[b>>2]=44;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=52;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}}case 23:{c[c[f>>2]>>2]=26;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 24:{c[c[f>>2]>>2]=43;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 25:{c[c[f>>2]>>2]=54;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}case 8:{c[g>>2]=d[c[m>>2]>>0];c[j>>2]=1;while(1){i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;if((c[k>>2]|0)==(c[g>>2]|0)){if((d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=(c[g>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}if((c[k>>2]|0)==39){c[c[f>>2]>>2]=97;c[n>>2]=(c[j>>2]|0)+1;n=c[n>>2]|0;l=o;return n|0}b=c[f>>2]|0;if(c[k>>2]|0){c[b>>2]=55;c[n>>2]=(c[j>>2]|0)+1;n=c[n>>2]|0;l=o;return n|0}else{c[b>>2]=163;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}}case 26:{if(d[16965+(d[(c[m>>2]|0)+1>>0]|0)>>0]&4|0)i=64;else{c[c[f>>2]>>2]=122;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}break}case 3:{i=64;break}case 9:{c[j>>2]=1;c[k>>2]=d[c[m>>2]>>0];while(1){if((c[k>>2]|0)==93)break;i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=(c[k>>2]|0)==93?55:163;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 6:{c[c[f>>2]>>2]=135;c[j>>2]=1;while(1){b=c[j>>2]|0;if(!(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=b+1}c[n>>2]=b;n=c[n>>2]|0;l=o;return n|0}case 5:case 4:{c[h>>2]=0;c[c[f>>2]>>2]=135;c[j>>2]=1;while(1){g=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=g;if(!g)break;if(d[16965+(c[k>>2]&255)>>0]&70|0)c[h>>2]=(c[h>>2]|0)+1;else{if((c[k>>2]|0)==40&(c[h>>2]|0)>0){i=107;break}if((c[k>>2]|0)!=58)break;if((d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=58)break;c[j>>2]=(c[j>>2]|0)+1}c[j>>2]=(c[j>>2]|0)+1}do if((i|0)==107){while(1){c[j>>2]=(c[j>>2]|0)+1;i=d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0;c[k>>2]=i;if(!i)break;if((c[k>>2]|0)!=41?(d[16965+(c[k>>2]&255)>>0]&1|0)==0:0)i=107;else break}if((c[k>>2]|0)==41){c[j>>2]=(c[j>>2]|0)+1;break}else{c[c[f>>2]>>2]=163;break}}while(0);if(!(c[h>>2]|0))c[c[f>>2]>>2]=163;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}case 1:{c[j>>2]=1;while(1){if((d[20298+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]|0)>1)break;c[j>>2]=(c[j>>2]|0)+1}if(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70|0){c[j>>2]=(c[j>>2]|0)+1;break a}c[c[f>>2]>>2]=55;c[n>>2]=Dj(c[m>>2]|0,c[j>>2]|0,c[f>>2]|0)|0;n=c[n>>2]|0;l=o;return n|0}case 0:{if((d[(c[m>>2]|0)+1>>0]|0)==39){c[c[f>>2]>>2]=133;c[j>>2]=2;while(1){if(!(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=(c[j>>2]|0)+1}if(!((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==39?!((c[j>>2]|0)%2|0|0):0))i=131;b:do if((i|0)==131){c[c[f>>2]>>2]=163;while(1){if(!(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0))break b;if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==39)break b;c[j>>2]=(c[j>>2]|0)+1}}while(0);if(a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)c[j>>2]=(c[j>>2]|0)+1;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}else i=138;break}case 2:{i=138;break}default:{c[c[f>>2]>>2]=163;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}while(0);if((i|0)==64){c[c[f>>2]>>2]=134;do if((d[c[m>>2]>>0]|0)==48){if((d[(c[m>>2]|0)+1>>0]|0)!=120?(d[(c[m>>2]|0)+1>>0]|0)!=88:0)break;if(d[16965+(d[(c[m>>2]|0)+2>>0]|0)>>0]&8|0){c[j>>2]=3;while(1){b=c[j>>2]|0;if(!(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&8))break;c[j>>2]=b+1}c[n>>2]=b;n=c[n>>2]|0;l=o;return n|0}}while(0);c[j>>2]=0;while(1){if(!(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}if((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==46){c[j>>2]=(c[j>>2]|0)+1;while(1){if(!(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=132}if(!((d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)!=101?(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)!=69:0))i=82;do if((i|0)==82){if(!(d[16965+(d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)>>0]&4)){if((d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=43?(d[(c[m>>2]|0)+((c[j>>2]|0)+1)>>0]|0)!=45:0)break;if(!(d[16965+(d[(c[m>>2]|0)+((c[j>>2]|0)+2)>>0]|0)>>0]&4))break}c[j>>2]=(c[j>>2]|0)+2;while(1){if(!(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&4))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=132}while(0);while(1){if(!(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[c[f>>2]>>2]=163;c[j>>2]=(c[j>>2]|0)+1}c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}else if((i|0)==138)c[j>>2]=1;while(1){if(!(d[16965+(d[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)>>0]&70))break;c[j>>2]=(c[j>>2]|0)+1}c[c[f>>2]>>2]=55;c[n>>2]=c[j>>2];n=c[n>>2]|0;l=o;return n|0}function zj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m;k=m+8|0;c[h>>2]=b;c[i>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;if(!(c[i>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}f=c[h>>2]|0;h=j;h=IR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;c[k>>2]=od(f,h,z)|0;if(c[k>>2]|0){MR(c[k>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;a[(c[k>>2]|0)+(c[j>>2]|0)>>0]=0}c[g>>2]=c[k>>2];k=c[g>>2]|0;l=m;return k|0}function Aj(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;f=j+8|0;g=j+12|0;h=j+4|0;i=j;c[f>>2]=b;if(!(c[f>>2]|0)){l=j;return}a[g>>0]=a[c[f>>2]>>0]|0;if(!(d[16965+(d[g>>0]|0)>>0]&128)){l=j;return}if((a[g>>0]|0)==91)a[g>>0]=93;c[h>>2]=1;c[i>>2]=0;while(1){b=c[f>>2]|0;e=c[h>>2]|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)==(a[g>>0]|0)){if((a[b+(e+1)>>0]|0)!=(a[g>>0]|0))break;k=a[g>>0]|0;b=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a[b+e>>0]=k;c[h>>2]=(c[h>>2]|0)+1}else{b=a[b+e>>0]|0;e=c[f>>2]|0;k=c[i>>2]|0;c[i>>2]=k+1;a[e+k>>0]=b}c[h>>2]=(c[h>>2]|0)+1}a[(c[f>>2]|0)+(c[i>>2]|0)>>0]=0;l=j;return}function Bj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;i=f+28|0;h=f+24|0;g=f+8|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=Cj(c[i>>2]|0,c[h>>2]|0,g)|0;l=f;return c[e>>2]|0}function Cj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+128|0;g=i+40|0;m=i+36|0;k=i+32|0;h=i+28|0;j=i;c[g>>2]=b;c[m>>2]=e;c[k>>2]=f;jd(j,c[g>>2]|0,i+44|0,70,c[(c[g>>2]|0)+96>>2]|0);a[j+25>>0]=1;kd(j,c[m>>2]|0,c[k>>2]|0);c[h>>2]=ld(j)|0;if((d[j+24>>0]|0|0)!=1){m=c[h>>2]|0;l=i;return m|0}yd(c[g>>2]|0);m=c[h>>2]|0;l=i;return m|0}function Dj(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[i>>2]=f;c[j>>2]=g;if((c[i>>2]|0)<2){o=c[i>>2]|0;l=p;return o|0}c[k>>2]=(d[17348+(d[c[h>>2]>>0]|0)>>0]<<2^(d[17348+(d[(c[h>>2]|0)+((c[i>>2]|0)-1)>>0]|0)>>0]|0)*3^c[i>>2]|0)%127|0;c[k>>2]=(d[20554+(c[k>>2]|0)>>0]|0)-1;while(1){if((c[k>>2]|0)<0){o=13;break}if((d[20681+(c[k>>2]|0)>>0]|0)==(c[i>>2]|0)){c[m>>2]=0;c[n>>2]=20805+(e[8888+(c[k>>2]<<1)>>1]|0);while(1){if((c[m>>2]|0)<(c[i>>2]|0))f=(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]&-33|0)==(a[(c[n>>2]|0)+(c[m>>2]|0)>>0]|0);else f=0;b=c[m>>2]|0;if(!f)break;c[m>>2]=b+1}if((b|0)>=(c[i>>2]|0))break}c[k>>2]=(d[21482+(c[k>>2]|0)>>0]|0)-1}if((o|0)==13){o=c[i>>2]|0;l=p;return o|0}c[c[j>>2]>>2]=d[21358+(c[k>>2]|0)>>0];o=c[i>>2]|0;l=p;return o|0}function Ej(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;j=m;k=m+8|0;c[h>>2]=a;c[i>>2]=b;b=j;c[b>>2]=f;c[b+4>>2]=g;c[k>>2]=0;if(d[(c[h>>2]|0)+69>>0]|0|0){k=c[k>>2]|0;l=m;return k|0}if(Jd(c[h>>2]|0,c[i>>2]|0)|0){c[k>>2]=od(c[h>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;if(!(c[k>>2]|0)){k=c[k>>2]|0;l=m;return k|0}MR(c[k>>2]|0,c[i>>2]|0,e[(c[h>>2]|0)+256+4>>1]|0|0)|0;Hd(c[h>>2]|0,c[i>>2]|0);k=c[k>>2]|0;l=m;return k|0}else{c[k>>2]=Qd(c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;if(c[k>>2]|0){k=c[k>>2]|0;l=m;return k|0}yd(c[h>>2]|0);k=c[k>>2]|0;l=m;return k|0}return 0}function Fj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[g>>2]=Nd(c[e>>2]|0,c[g>>2]|0)|0;if((c[g>>2]|0)<=0){l=h;return}MR((c[(c[e>>2]|0)+8>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0,c[f>>2]|0,c[g>>2]|0)|0;f=(c[e>>2]|0)+12|0;c[f>>2]=(c[f>>2]|0)+(c[g>>2]|0);l=h;return}function Gj(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0)c[(c[(c[e>>2]|0)+4>>2]|0)+4>>2]=c[c[e>>2]>>2];c[d>>2]=(c[d>>2]|0)+1}l=f;return}function Hj(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[(c[b>>2]|0)+4>>2]>>2]|0}function Ij(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}qk(c[d>>2]|0,c[(c[e>>2]|0)+28>>2]|0);Hd(c[d>>2]|0,c[c[e>>2]>>2]|0);Hd(c[d>>2]|0,c[(c[e>>2]|0)+4>>2]|0);ck(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);hk(c[d>>2]|0,c[(c[e>>2]|0)+16>>2]|0);Hd(c[d>>2]|0,c[e>>2]|0);l=f;return}function Jj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;c[e>>2]=a;c[f>>2]=d;if(!(c[f>>2]|0)){l=h;return}if(!(c[e>>2]|0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))g=4;if((g|0)==4?(d=(c[f>>2]|0)+36|0,g=(b[d>>1]|0)+-1<<16>>16,b[d>>1]=g,(g&65535|0)>0):0){l=h;return}Uj(c[e>>2]|0,c[f>>2]|0);l=h;return}function Kj(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+16|0;i=k+12|0;f=k+8|0;g=k+4|0;j=k;c[h>>2]=a;c[i>>2]=d;Lj(c[(c[i>>2]|0)+100>>2]|0,e[(c[i>>2]|0)+140>>1]<<1);c[f>>2]=c[(c[i>>2]|0)+200>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+20>>2];Mj(c[h>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0);Hd(c[h>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}if((c[(c[i>>2]|0)+20>>2]|0)!=381479589){Lj(c[(c[i>>2]|0)+116>>2]|0,b[(c[i>>2]|0)+16>>1]|0);c[j>>2]=(b[(c[i>>2]|0)+18>>1]|0)-1;while(1){a=c[h>>2]|0;d=c[(c[i>>2]|0)+120>>2]|0;if((c[j>>2]|0)<0)break;Hd(a,c[d+(c[j>>2]<<2)>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}Hd(a,d);Hd(c[h>>2]|0,c[(c[i>>2]|0)+180>>2]|0)}Mj(c[h>>2]|0,c[(c[i>>2]|0)+88>>2]|0,c[(c[i>>2]|0)+136>>2]|0);Hd(c[h>>2]|0,c[(c[i>>2]|0)+100>>2]|0);Hd(c[h>>2]|0,c[(c[i>>2]|0)+176>>2]|0);l=k;return}function Lj(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[f>>2]=d;if(!((c[g>>2]|0)!=0&(c[f>>2]|0)!=0)){l=j;return}c[h>>2]=(c[g>>2]|0)+((c[f>>2]|0)*40|0);c[i>>2]=c[(c[g>>2]|0)+32>>2];if(c[(c[i>>2]|0)+456>>2]|0){do{if(c[(c[g>>2]|0)+24>>2]|0)Hd(c[i>>2]|0,c[(c[g>>2]|0)+20>>2]|0);f=(c[g>>2]|0)+40|0;c[g>>2]=f}while(f>>>0<(c[h>>2]|0)>>>0);l=j;return}do{a=c[g>>2]|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&9312|0)){if(c[a+24>>2]|0){Hd(c[i>>2]|0,c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+24>>2]=0}}else Lh(a);b[(c[g>>2]|0)+8>>1]=128;f=(c[g>>2]|0)+40|0;c[g>>2]=f}while(f>>>0<(c[h>>2]|0)>>>0);l=j;return}function Mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){h=c[f>>2]|0;i=c[g>>2]|0;Hd(h,i);l=j;return}c[i>>2]=c[g>>2];while(1){if((c[i>>2]|0)>>>0>=((c[g>>2]|0)+((c[h>>2]|0)*20|0)|0)>>>0)break;if(a[(c[i>>2]|0)+1>>0]|0)Nj(c[f>>2]|0,a[(c[i>>2]|0)+1>>0]|0,c[(c[i>>2]|0)+16>>2]|0);c[i>>2]=(c[i>>2]|0)+20}h=c[f>>2]|0;i=c[g>>2]|0;Hd(h,i);l=j;return}function Nj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;a:do switch(c[h>>2]|0){case -21:{Oj(c[e>>2]|0,c[f>>2]|0);break}case -15:case -1:case -13:case -12:{Hd(c[e>>2]|0,c[f>>2]|0);break}case -6:{if(!(c[(c[e>>2]|0)+456>>2]|0))Pj(c[f>>2]|0);break}case -11:{if(!(c[(c[e>>2]|0)+456>>2]|0))Kd(c[f>>2]|0);break}case -5:{Qj(c[e>>2]|0,c[f>>2]|0);break}case -8:if(!(c[(c[e>>2]|0)+456>>2]|0)){Rj(c[f>>2]|0);break a}else{Sj(c[e>>2]|0,c[f>>2]|0);break a}case -10:{if(!(c[(c[e>>2]|0)+456>>2]|0))Tj(c[f>>2]|0);break}default:{}}while(0);l=g;return}function Oj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Qj(c[f>>2]|0,c[(c[e>>2]|0)+4>>2]|0);Hd(c[f>>2]|0,c[e>>2]|0);l=d;return}function Pj(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[c[b>>2]>>2]|0){l=d;return}Hd(c[(c[b>>2]|0)+12>>2]|0,c[b>>2]|0);l=d;return}function Qj(a,b){a=a|0;b=b|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=b;if(!((e[(c[f>>2]|0)+2>>1]|0)&16)){l=g;return}Hd(c[d>>2]|0,c[f>>2]|0);l=g;return}function Rj(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Lh(c[b>>2]|0);Hd(c[(c[b>>2]|0)+32>>2]|0,c[b>>2]|0);l=d;return}function Sj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[e>>2]|0)+24>>2]|0)Hd(c[d>>2]|0,c[(c[e>>2]|0)+20>>2]|0);Hd(c[d>>2]|0,c[e>>2]|0);l=f;return}function Tj(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;if(c[(c[b>>2]|0)+12>>2]|0){l=f;return}c[e>>2]=c[(c[b>>2]|0)+8>>2];if(c[e>>2]|0)tb[c[(c[c[e>>2]>>2]|0)+16>>2]&255](c[e>>2]|0)|0;Hd(c[d>>2]|0,c[b>>2]|0);l=f;return}function Uj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+20>>2];if(!((c[e>>2]|0)!=0?(c[(c[e>>2]|0)+456>>2]|0)!=0:0))j=5;if((j|0)==5?(j=0,((d[(c[f>>2]|0)+42>>0]|0)&16|0)==0):0){c[i>>2]=c[c[g>>2]>>2];Vj((c[(c[g>>2]|0)+24>>2]|0)+24|0,c[i>>2]|0,0)|0}Wj(c[e>>2]|0,c[g>>2]|0);c[g>>2]=c[h>>2]}Xj(c[e>>2]|0,c[f>>2]|0);Yj(c[e>>2]|0,c[f>>2]|0);Hd(c[e>>2]|0,c[c[f>>2]>>2]|0);Hd(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Zj(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);_j(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);$j(c[e>>2]|0,c[f>>2]|0);Hd(c[e>>2]|0,c[f>>2]|0);l=k;return}function Vj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+28|0;k=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;m=n+4|0;e=n;c[k>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=kk(c[k>>2]|0,c[f>>2]|0,h)|0;if(c[i>>2]|0){c[e>>2]=c[(c[i>>2]|0)+8>>2];if(!(c[g>>2]|0))lk(c[k>>2]|0,c[i>>2]|0,c[h>>2]|0);else{c[(c[i>>2]|0)+8>>2]=c[g>>2];c[(c[i>>2]|0)+12>>2]=c[f>>2]}c[j>>2]=c[e>>2];m=c[j>>2]|0;l=n;return m|0}if(!(c[g>>2]|0)){c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}c[m>>2]=pd(16,0)|0;if(!(c[m>>2]|0)){c[j>>2]=c[g>>2];m=c[j>>2]|0;l=n;return m|0}c[(c[m>>2]|0)+12>>2]=c[f>>2];c[(c[m>>2]|0)+8>>2]=c[g>>2];i=(c[k>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+1;if(((c[(c[k>>2]|0)+4>>2]|0)>>>0>=10?(c[(c[k>>2]|0)+4>>2]|0)>>>0>c[c[k>>2]>>2]<<1>>>0:0)?mk(c[k>>2]|0,c[(c[k>>2]|0)+4>>2]<<1)|0:0){i=nk(c[f>>2]|0)|0;c[h>>2]=(i>>>0)%((c[c[k>>2]>>2]|0)>>>0)|0}if(c[(c[k>>2]|0)+12>>2]|0)a=(c[(c[k>>2]|0)+12>>2]|0)+(c[h>>2]<<3)|0;else a=0;ok(c[k>>2]|0,a,c[m>>2]|0);c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}function Wj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;jk(c[e>>2]|0,c[f>>2]|0);ck(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);_j(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);Hd(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);if(!((d[(c[f>>2]|0)+55>>0]|0)>>>4&1)){e=c[e>>2]|0;f=c[f>>2]|0;Hd(e,f);l=g;return}Hd(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);e=c[e>>2]|0;f=c[f>>2]|0;Hd(e,f);l=g;return}function Xj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];while(1){if(!(c[f>>2]|0))break;if(!(c[d>>2]|0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0)){a=c[(c[f>>2]|0)+12>>2]|0;if(c[(c[f>>2]|0)+16>>2]|0)c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]=a;else{c[h>>2]=a;a=c[f>>2]|0;if(c[h>>2]|0)a=c[a+12>>2]|0;c[i>>2]=c[a+8>>2];Vj((c[(c[e>>2]|0)+64>>2]|0)+56|0,c[i>>2]|0,c[h>>2]|0)|0}if(c[(c[f>>2]|0)+12>>2]|0)c[(c[(c[f>>2]|0)+12>>2]|0)+16>>2]=c[(c[f>>2]|0)+16>>2]}ik(c[d>>2]|0,c[(c[f>>2]|0)+28>>2]|0);ik(c[d>>2]|0,c[(c[f>>2]|0)+28+4>>2]|0);c[g>>2]=c[(c[f>>2]|0)+4>>2];Hd(c[d>>2]|0,c[f>>2]|0);c[f>>2]=c[g>>2]}l=j;return}function Yj(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=d;d=c[(c[f>>2]|0)+4>>2]|0;c[h>>2]=d;if(!d){l=i;return}c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(b[(c[f>>2]|0)+34>>1]|0))break;Hd(a,c[c[h>>2]>>2]|0);ck(c[e>>2]|0,c[(c[h>>2]|0)+4>>2]|0);Hd(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}Hd(a,c[(c[f>>2]|0)+4>>2]|0);l=i;return}function Zj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}ek(c[d>>2]|0,c[e>>2]|0,1);l=f;return}function _j(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}bk(c[d>>2]|0,c[e>>2]|0);l=f;return}function $j(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0?(c[(c[d>>2]|0)+456>>2]|0)!=0:0))ak(0,c[e>>2]|0)|0;if(!(c[(c[e>>2]|0)+52>>2]|0)){l=g;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[e>>2]|0)+48>>2]|0))break;if((c[f>>2]|0)!=1)Hd(c[d>>2]|0,c[(c[(c[e>>2]|0)+52>>2]|0)+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Hd(c[d>>2]|0,c[(c[e>>2]|0)+52>>2]|0);l=g;return}function ak(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+56>>2];c[(c[e>>2]|0)+56>>2]=0;while(1){if(!(c[g>>2]|0))break;c[h>>2]=c[c[g>>2]>>2];c[i>>2]=c[(c[g>>2]|0)+24>>2];if((c[h>>2]|0)==(c[d>>2]|0)){c[f>>2]=c[g>>2];c[(c[e>>2]|0)+56>>2]=c[f>>2];c[(c[f>>2]|0)+24>>2]=0}else{c[(c[g>>2]|0)+24>>2]=c[(c[h>>2]|0)+344>>2];c[(c[h>>2]|0)+344>>2]=c[g>>2]}c[g>>2]=c[i>>2]}l=j;return c[f>>2]|0}function bk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=c[(c[e>>2]|0)+4>>2];c[f>>2]=0;while(1){a=c[d>>2]|0;if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;ck(a,c[c[g>>2]>>2]|0);Hd(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Hd(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}Hd(a,c[(c[e>>2]|0)+4>>2]|0);Hd(c[d>>2]|0,c[e>>2]|0);l=h;return}function ck(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}dk(c[d>>2]|0,c[e>>2]|0);l=f;return}function dk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(c[(c[f>>2]|0)+4>>2]&8404992)){if(c[(c[f>>2]|0)+12>>2]|0?(d[c[f>>2]>>0]|0|0)!=159:0)dk(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0);ck(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0);a=c[e>>2]|0;b=(c[f>>2]|0)+20|0;if(c[(c[f>>2]|0)+4>>2]&2048|0){Zj(a,c[b>>2]|0);break}else{_j(a,c[b>>2]|0);break}}while(0);if(c[(c[f>>2]|0)+4>>2]&65536|0)Hd(c[e>>2]|0,c[(c[f>>2]|0)+8>>2]|0);if(c[(c[f>>2]|0)+4>>2]&32768|0){l=g;return}Hd(c[e>>2]|0,c[f>>2]|0);l=g;return}function ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;while(1){if(!(c[f>>2]|0))break;c[h>>2]=c[(c[f>>2]|0)+48>>2];_j(c[e>>2]|0,c[c[f>>2]>>2]|0);fk(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);ck(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);_j(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0);ck(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0);_j(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0);ck(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0);ck(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0);if(c[(c[f>>2]|0)+64>>2]|0)gk(c[e>>2]|0,c[(c[f>>2]|0)+64>>2]|0);if(c[g>>2]|0)Hd(c[e>>2]|0,c[f>>2]|0);c[f>>2]=c[h>>2];c[g>>2]=1}l=i;return}function fk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){l=i;return}c[h>>2]=(c[f>>2]|0)+8;c[g>>2]=0;while(1){a=c[e>>2]|0;if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break;Hd(a,c[(c[h>>2]|0)+4>>2]|0);Hd(c[e>>2]|0,c[(c[h>>2]|0)+8>>2]|0);Hd(c[e>>2]|0,c[(c[h>>2]|0)+12>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>1&1|0)Hd(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1|0)_j(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0);Jj(c[e>>2]|0,c[(c[h>>2]|0)+16>>2]|0);Zj(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0);ck(c[e>>2]|0,c[(c[h>>2]|0)+48>>2]|0);hk(c[e>>2]|0,c[(c[h>>2]|0)+52>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}Hd(a,c[f>>2]|0);l=i;return}function gk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=h;return}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;c[g>>2]=(c[e>>2]|0)+8+(c[f>>2]<<4);_j(c[d>>2]|0,c[(c[g>>2]|0)+4>>2]|0);Zj(c[d>>2]|0,c[(c[g>>2]|0)+8>>2]|0);Hd(c[d>>2]|0,c[c[g>>2]>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Hd(c[d>>2]|0,c[e>>2]|0);l=h;return}function hk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}c[f>>2]=0;while(1){a=c[d>>2]|0;b=c[c[e>>2]>>2]|0;if((c[f>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break;Hd(a,c[b+(c[f>>2]<<3)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Hd(a,b);Hd(c[d>>2]|0,c[e>>2]|0);l=g;return}function ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}c[f>>2]=c[(c[e>>2]|0)+28>>2];ck(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);_j(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Zj(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);ck(c[d>>2]|0,c[(c[e>>2]|0)+12>>2]|0);Hd(c[d>>2]|0,c[e>>2]|0);l=g;return}function jk(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return}function kk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+28|0;f=n+24|0;i=n+20|0;g=n+16|0;j=n+12|0;k=n+8|0;h=n+4|0;e=n;c[f>>2]=a;c[i>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+12>>2]|0){d=nk(c[i>>2]|0)|0;c[h>>2]=(d>>>0)%((c[c[f>>2]>>2]|0)>>>0)|0;c[e>>2]=(c[(c[f>>2]|0)+12>>2]|0)+(c[h>>2]<<3);c[j>>2]=c[(c[e>>2]|0)+4>>2];c[k>>2]=c[c[e>>2]>>2]}else{c[h>>2]=0;c[j>>2]=c[(c[f>>2]|0)+8>>2];c[k>>2]=c[(c[f>>2]|0)+4>>2]}c[c[g>>2]>>2]=c[h>>2];while(1){h=c[k>>2]|0;c[k>>2]=h+-1;if(!h){a=9;break}h=(Ig(c[(c[j>>2]|0)+12>>2]|0,c[i>>2]|0)|0)==0;b=c[j>>2]|0;if(h){a=7;break}c[j>>2]=c[b>>2]}if((a|0)==7){c[m>>2]=b;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==9){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}return 0}function lk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+4>>2]|0)a=c[(c[f>>2]|0)+4>>2]|0;else a=(c[e>>2]|0)+8|0;c[a>>2]=c[c[f>>2]>>2];if(c[c[f>>2]>>2]|0)c[(c[c[f>>2]>>2]|0)+4>>2]=c[(c[f>>2]|0)+4>>2];if(c[(c[e>>2]|0)+12>>2]|0){c[h>>2]=(c[(c[e>>2]|0)+12>>2]|0)+(c[g>>2]<<3);if((c[(c[h>>2]|0)+4>>2]|0)==(c[f>>2]|0))c[(c[h>>2]|0)+4>>2]=c[c[f>>2]>>2];h=c[h>>2]|0;c[h>>2]=(c[h>>2]|0)+-1}Kd(c[f>>2]|0);h=(c[e>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;if(c[(c[e>>2]|0)+4>>2]|0){l=i;return}pk(c[e>>2]|0);l=i;return}function mk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[f>>2]=c[f>>2]<<3>>>0>1024?128:b;if((c[f>>2]|0)==(c[c[e>>2]>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}zg();c[g>>2]=pd(c[f>>2]<<3,0)|0;Bg();if(!(c[g>>2]|0)){c[d>>2]=0;j=c[d>>2]|0;l=k;return j|0}Kd(c[(c[e>>2]|0)+12>>2]|0);c[(c[e>>2]|0)+12>>2]=c[g>>2];b=((ud(c[g>>2]|0)|0)>>>0)/8|0;c[f>>2]=b;c[c[e>>2]>>2]=b;GR(c[g>>2]|0,0,c[f>>2]<<3|0)|0;c[h>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;while(1){if(!(c[h>>2]|0))break;b=nk(c[(c[h>>2]|0)+12>>2]|0)|0;c[j>>2]=(b>>>0)%((c[f>>2]|0)>>>0)|0;c[i>>2]=c[c[h>>2]>>2];ok(c[e>>2]|0,(c[g>>2]|0)+(c[j>>2]<<3)|0,c[h>>2]|0);c[h>>2]=c[i>>2]}c[d>>2]=1;j=c[d>>2]|0;l=k;return j|0}function nk(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;g=h+8|0;c[e>>2]=b;c[f>>2]=0;while(1){b=c[e>>2]|0;c[e>>2]=b+1;b=a[b>>0]|0;a[g>>0]=b;if(!(b&255))break;c[f>>2]=(c[f>>2]|0)+(d[17348+(d[g>>0]|0)>>0]|0);c[f>>2]=O(c[f>>2]|0,-1640531535)|0}l=h;return c[f>>2]|0}function ok(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){if(c[c[f>>2]>>2]|0)a=c[(c[f>>2]|0)+4>>2]|0;else a=0;c[h>>2]=a;d=c[f>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[f>>2]|0)+4>>2]=c[g>>2]}else c[h>>2]=0;if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];l=i;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];if(c[(c[h>>2]|0)+4>>2]|0)a=c[(c[h>>2]|0)+4>>2]|0;else a=(c[e>>2]|0)+8|0;c[a>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];l=i;return}function pk(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[(c[b>>2]|0)+8>>2]=0;Kd(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[c[b>>2]>>2]=0;while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+4>>2]=0;l=f;return}function qk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+28>>2];ck(c[d>>2]|0,c[(c[f>>2]|0)+16>>2]|0);_j(c[d>>2]|0,c[(c[f>>2]|0)+20>>2]|0);Zj(c[d>>2]|0,c[(c[f>>2]|0)+8>>2]|0);hk(c[d>>2]|0,c[(c[f>>2]|0)+24>>2]|0);Hd(c[d>>2]|0,c[f>>2]|0)}l=g;return}function rk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=tb[c[140>>2]&255](c[(c[d>>2]|0)+44>>2]|0)|0;l=b;return a|0}function sk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;e=i+32|0;f=i+24|0;g=i+16|0;h=i+8|0;d=i;j=i+40|0;k=f;c[k>>2]=a;c[k+4>>2]=b;c[j>>2]=Rd()|0;if(c[j>>2]|0){j=e;c[j>>2]=-1;c[j+4>>2]=-1;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;z=j;l=i;return k|0}b=46712;j=c[b+4>>2]|0;k=g;c[k>>2]=c[b>>2];c[k+4>>2]=j;if((c[f+4>>2]|0)<0){h=g;k=c[h+4>>2]|0;j=e;c[j>>2]=c[h>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;z=j;l=i;return k|0}b=f;k=c[b+4>>2]|0;j=46712;c[j>>2]=c[b>>2];c[j+4>>2]=k;j=sd(0)|0;k=d;c[k>>2]=j;c[k+4>>2]=z;k=f;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0){k=f;b=c[k+4>>2]|0;a=d;j=c[a+4>>2]|0;a=(b|0)<(j|0)|((b|0)==(j|0)?(c[k>>2]|0)>>>0<=(c[a>>2]|0)>>>0:0)}else a=0;c[11683]=a&1;k=tk()|0;j=f;j=FR(k|0,z|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=h;c[k>>2]=j;c[k+4>>2]=z;k=h;j=c[k+4>>2]|0;if((j|0)>0|(j|0)==0&(c[k>>2]|0)>>>0>0)wd(c[h>>2]&2147483647)|0;h=g;k=c[h+4>>2]|0;j=e;c[j>>2]=c[h>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;z=j;l=i;return k|0}function tk(){var a=0,b=0;b=l;l=l+16|0;a=b+8|0;bd(0,a,b,0)|0;z=c[a+4>>2]|0;l=b;return c[a>>2]|0}function uk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;a=c[f>>2]|0;do if(c[e>>2]|0)if(!a){c[d>>2]=1;break}else{c[d>>2]=Ig(c[e>>2]|0,c[f>>2]|0)|0;break}else c[d>>2]=a|0?-1:0;while(0);l=g;return c[d>>2]|0}function vk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+28|0;g=k+24|0;h=k+20|0;i=k+16|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[(c[f>>2]|0)+52>>2]=c[g>>2];Mo(c[f>>2]|0,c[g>>2]|0);a=c[f>>2]|0;if(!(c[h>>2]|0)){wk(a,c[g>>2]|0);l=k;return}if((c[a+244>>2]|0)==0?(g=Oo(c[f>>2]|0)|0,c[(c[f>>2]|0)+244>>2]=g,(g|0)==0):0){l=k;return}c[j>>2]=e;c[i>>2]=Cj(c[f>>2]|0,c[h>>2]|0,j)|0;Po(c[(c[f>>2]|0)+244>>2]|0,-1,c[i>>2]|0,1,169);l=k;return}function wk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;c[(c[d>>2]|0)+52>>2]=c[e>>2];if((c[e>>2]|0)==0?(c[(c[d>>2]|0)+244>>2]|0)==0:0){l=f;return}Ko(c[d>>2]|0,c[e>>2]|0);l=f;return}function xk(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[(c[b>>2]|0)+8>>0]|0|0)!=0|0}function yk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;g=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=-1;if(!(c[e>>2]|0)){g=c[g>>2]|0;l=h;return g|0}c[g>>2]=(c[(c[d>>2]|0)+20>>2]|0)-1;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);while(1){if((c[g>>2]|0)<0){a=6;break}if(!(Ig(c[c[f>>2]>>2]|0,c[e>>2]|0)|0)){a=6;break}c[g>>2]=(c[g>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+-16}if((a|0)==6){g=c[g>>2]|0;l=h;return g|0}return 0}function zk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if((c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]|0)==0?(a[(c[e>>2]|0)+409>>0]|0)==0:0){c[g>>2]=Bk(c[c[f>>2]>>2]|0,0,c[f>>2]|0,h,0,542)|0;if(c[g>>2]|0){Ck(c[e>>2]|0,21678,i);c[(c[e>>2]|0)+12>>2]=c[g>>2];c[d>>2]=1;i=c[d>>2]|0;l=j;return i|0}c[(c[(c[f>>2]|0)+16>>2]|0)+16+4>>2]=c[h>>2];if(7==(Dk(c[h>>2]|0,c[(c[f>>2]|0)+80>>2]|0,-1,0)|0)){yd(c[f>>2]|0);c[d>>2]=1;i=c[d>>2]|0;l=j;return i|0}}c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}function Ak(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){l=g;return}c[f>>2]=c[c[e>>2]>>2];Hd(c[f>>2]|0,c[(c[e>>2]|0)+76>>2]|0);_j(c[f>>2]|0,c[(c[e>>2]|0)+80>>2]|0);if(c[f>>2]|0){f=(c[f>>2]|0)+256|0;c[f>>2]=(c[f>>2]|0)-(d[(c[e>>2]|0)+24>>0]|0)}a[(c[e>>2]|0)+24>>0]=0;l=g;return}function Bk(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+192|0;H=I+76|0;y=I+72|0;z=I+68|0;A=I+64|0;C=I+60|0;m=I+56|0;n=I+52|0;D=I+48|0;E=I+44|0;F=I+36|0;o=I+180|0;p=I+80|0;q=I+32|0;r=I+28|0;s=I+24|0;t=I+20|0;u=I+16|0;v=I+12|0;w=I+8|0;x=I+4|0;G=I;c[y>>2]=f;c[z>>2]=g;c[A>>2]=h;c[C>>2]=i;c[m>>2]=j;c[n>>2]=k;c[D>>2]=0;c[I+40>>2]=0;c[F>>2]=0;if(!(c[z>>2]|0))f=1;else f=(a[c[z>>2]>>0]|0)==0;c[q>>2]=f&1;if(c[z>>2]|0?(vQ(c[z>>2]|0,21748)|0)==0:0)f=1;else B=5;do if((B|0)==5){if(c[q>>2]|0?Vk(c[A>>2]|0)|0:0){f=1;break}f=(c[n>>2]&128|0)!=0}while(0);c[r>>2]=f&1;if(c[r>>2]|0)c[m>>2]=c[m>>2]|2;if(c[n>>2]&256|0?(c[r>>2]|0)!=0|(c[q>>2]|0)!=0:0)c[n>>2]=c[n>>2]&-257|512;c[E>>2]=Cg(48,0)|0;if(!(c[E>>2]|0)){c[H>>2]=7;H=c[H>>2]|0;l=I;return H|0}a[(c[E>>2]|0)+8>>0]=0;c[c[E>>2]>>2]=c[A>>2];c[(c[E>>2]|0)+32>>2]=c[E>>2];c[(c[E>>2]|0)+32+4>>2]=1;do if(!(c[q>>2]|0)){if(c[r>>2]|0?(c[n>>2]&64|0)==0:0)break;if(c[n>>2]&131072|0){c[s>>2]=(_c(c[z>>2]|0)|0)+1;c[t>>2]=(c[(c[y>>2]|0)+8>>2]|0)+1;q=(c[t>>2]|0)>(c[s>>2]|0)?c[t>>2]|0:c[s>>2]|0;c[u>>2]=pd(q,((q|0)<0)<<31>>31)|0;a[(c[E>>2]|0)+9>>0]=1;if(!(c[u>>2]|0)){Kd(c[E>>2]|0);c[H>>2]=7;H=c[H>>2]|0;l=I;return H|0}if(!(c[r>>2]|0)){c[F>>2]=Wk(c[y>>2]|0,c[z>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;if(c[F>>2]|0){Kd(c[u>>2]|0);Kd(c[E>>2]|0);c[H>>2]=c[F>>2];H=c[H>>2]|0;l=I;return H|0}}else MR(c[u>>2]|0,c[z>>2]|0,c[s>>2]|0)|0;c[D>>2]=c[11758];while(1){if(!(c[D>>2]|0))break;t=c[u>>2]|0;if(0==(vQ(t,Xk(c[c[D>>2]>>2]|0,0)|0)|0)?(t=Yk(c[c[D>>2]>>2]|0)|0,(t|0)==(c[y>>2]|0)):0){B=29;break}c[D>>2]=c[(c[D>>2]|0)+68>>2]}do if((B|0)==29){c[v>>2]=(c[(c[A>>2]|0)+20>>2]|0)-1;while(1){if((c[v>>2]|0)<0){B=35;break}c[w>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+4>>2];if(c[w>>2]|0?(c[(c[w>>2]|0)+4>>2]|0)==(c[D>>2]|0):0)break;c[v>>2]=(c[v>>2]|0)+-1}if((B|0)==35){c[(c[E>>2]|0)+4>>2]=c[D>>2];w=(c[D>>2]|0)+64|0;c[w>>2]=(c[w>>2]|0)+1;break}Kd(c[u>>2]|0);Kd(c[E>>2]|0);c[H>>2]=19;H=c[H>>2]|0;l=I;return H|0}while(0);Kd(c[u>>2]|0)}}while(0);do if(!(c[D>>2]|0)){c[D>>2]=Cg(84,0)|0;if(!(c[D>>2]|0)){c[F>>2]=7;break}c[F>>2]=_k(c[y>>2]|0,c[D>>2]|0,c[z>>2]|0,88,c[m>>2]|0,c[n>>2]|0,149)|0;if(!(c[F>>2]|0)){y=(c[A>>2]|0)+40|0;$k(c[c[D>>2]>>2]|0,c[y>>2]|0,c[y+4>>2]|0);c[F>>2]=al(c[c[D>>2]>>2]|0,100,p)|0}if(!(c[F>>2]|0)){a[(c[D>>2]|0)+16>>0]=c[m>>2];c[(c[D>>2]|0)+4>>2]=c[A>>2];cl(c[c[D>>2]>>2]|0,170,c[D>>2]|0);c[(c[E>>2]|0)+4>>2]=c[D>>2];c[(c[D>>2]|0)+8>>2]=0;c[(c[D>>2]|0)+12>>2]=0;if((dl(c[c[D>>2]>>2]|0)|0)<<24>>24){y=(c[D>>2]|0)+22|0;b[y>>1]=e[y>>1]|1}c[(c[D>>2]|0)+32>>2]=d[p+16>>0]<<8|d[p+17>>0]<<16;if(((c[(c[D>>2]|0)+32>>2]|0)>>>0>=512?(c[(c[D>>2]|0)+32>>2]|0)>>>0<=65536:0)?!((c[(c[D>>2]|0)+32>>2]|0)-1&c[(c[D>>2]|0)+32>>2]|0):0){a[o>>0]=a[p+20>>0]|0;z=(c[D>>2]|0)+22|0;b[z>>1]=e[z>>1]|2;z=(el(p+52|0)|0)!=0;a[(c[D>>2]|0)+17>>0]=z?1:0;z=(el(p+64|0)|0)!=0;a[(c[D>>2]|0)+18>>0]=z?1:0}else{c[(c[D>>2]|0)+32>>2]=0;if(!((c[z>>2]|0)==0|(c[r>>2]|0)!=0)){a[(c[D>>2]|0)+17>>0]=0;a[(c[D>>2]|0)+18>>0]=0}a[o>>0]=0}c[F>>2]=Gk(c[c[D>>2]>>2]|0,(c[D>>2]|0)+32|0,d[o>>0]|0)|0;if(!(c[F>>2]|0)){c[(c[D>>2]|0)+36>>2]=(c[(c[D>>2]|0)+32>>2]|0)-(d[o>>0]|0);c[(c[D>>2]|0)+64>>2]=1;if(a[(c[E>>2]|0)+9>>0]|0){c[(c[D>>2]|0)+68>>2]=c[11758];c[11758]=c[D>>2];B=56}else B=56}}}else B=56;while(0);if((B|0)==56){a:do if(a[(c[E>>2]|0)+9>>0]|0){c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[A>>2]|0)+20>>2]|0))break a;B=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2]|0;c[G>>2]=B;if(B|0?d[(c[G>>2]|0)+9>>0]|0:0)break;c[x>>2]=(c[x>>2]|0)+1}while(1){if(!(c[(c[G>>2]|0)+28>>2]|0))break;c[G>>2]=c[(c[G>>2]|0)+28>>2]}if((c[(c[E>>2]|0)+4>>2]|0)>>>0<(c[(c[G>>2]|0)+4>>2]|0)>>>0){c[(c[E>>2]|0)+24>>2]=c[G>>2];c[(c[E>>2]|0)+28>>2]=0;c[(c[G>>2]|0)+28>>2]=c[E>>2];break}while(1){if(c[(c[G>>2]|0)+24>>2]|0)g=(c[(c[(c[G>>2]|0)+24>>2]|0)+4>>2]|0)>>>0<(c[(c[E>>2]|0)+4>>2]|0)>>>0;else g=0;f=c[(c[G>>2]|0)+24>>2]|0;if(!g)break;c[G>>2]=f}c[(c[E>>2]|0)+24>>2]=f;c[(c[E>>2]|0)+28>>2]=c[G>>2];if(c[(c[E>>2]|0)+24>>2]|0)c[(c[(c[E>>2]|0)+24>>2]|0)+28>>2]=c[E>>2];c[(c[G>>2]|0)+24>>2]=c[E>>2]}while(0);c[c[C>>2]>>2]=c[E>>2]}if(!(c[F>>2]|0)){if(!(gl(c[E>>2]|0,0,0)|0))hl(c[c[(c[E>>2]|0)+4>>2]>>2]|0,-2e3)}else{if(c[D>>2]|0?c[c[D>>2]>>2]|0:0)fl(c[c[D>>2]>>2]|0)|0;Kd(c[D>>2]|0);Kd(c[E>>2]|0);c[c[C>>2]>>2]=0}c[H>>2]=c[F>>2];H=c[H>>2]|0;l=I;return H|0}function Ck(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+48|0;f=i+32|0;k=i+28|0;g=i+24|0;j=i+8|0;h=i;c[f>>2]=b;c[k>>2]=d;c[h>>2]=c[c[f>>2]>>2];c[j>>2]=e;c[g>>2]=Cj(c[h>>2]|0,c[k>>2]|0,j)|0;if(a[(c[h>>2]|0)+73>>0]|0){Hd(c[h>>2]|0,c[g>>2]|0);l=i;return}else{k=(c[f>>2]|0)+36|0;c[k>>2]=(c[k>>2]|0)+1;Hd(c[h>>2]|0,c[(c[f>>2]|0)+4>>2]|0);c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[f>>2]|0)+12>>2]=1;l=i;return}}function Dk(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;i=o+24|0;p=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;h=o;c[p>>2]=a;c[j>>2]=d;c[k>>2]=f;c[m>>2]=g;c[n>>2]=0;c[h>>2]=c[(c[p>>2]|0)+4>>2];Ek(c[p>>2]|0);if((e[(c[h>>2]|0)+22>>1]|0)&2|0){c[i>>2]=8;p=c[i>>2]|0;l=o;return p|0}if((c[k>>2]|0)<0)c[k>>2]=(c[(c[h>>2]|0)+32>>2]|0)-(c[(c[h>>2]|0)+36>>2]|0);if((c[j>>2]|0)>=512&(c[j>>2]|0)<=65536?((c[j>>2]|0)-1&c[j>>2]|0)==0:0){c[(c[h>>2]|0)+32>>2]=c[j>>2];Fk(c[h>>2]|0)}c[n>>2]=Gk(c[c[h>>2]>>2]|0,(c[h>>2]|0)+32|0,c[k>>2]|0)|0;c[(c[h>>2]|0)+36>>2]=(c[(c[h>>2]|0)+32>>2]|0)-(c[k>>2]&65535);if(c[m>>2]|0){p=(c[h>>2]|0)+22|0;b[p>>1]=e[p>>1]|0|2}c[i>>2]=c[n>>2];p=c[i>>2]|0;l=o;return p|0}function Ek(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[(c[d>>2]|0)+4>>2]|0)+4>>2]=c[c[d>>2]>>2];l=b;return}function Fk(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+80>>2]|0)){l=d;return}a=(c[b>>2]|0)+80|0;c[a>>2]=(c[a>>2]|0)+-4;Mk(c[(c[b>>2]|0)+80>>2]|0);c[(c[b>>2]|0)+80>>2]=0;l=d;return}function Gk(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p;c[g>>2]=a;c[h>>2]=e;c[i>>2]=f;c[j>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(!((d[(c[g>>2]|0)+16>>0]|0)!=0?(c[(c[g>>2]|0)+28>>2]|0)!=0:0))o=3;do if(((o|0)==3?(o=(Hk(c[(c[g>>2]|0)+212>>2]|0)|0)==0,o&(c[k>>2]|0)!=0):0)?(c[k>>2]|0)!=(c[(c[g>>2]|0)+160>>2]|0):0){c[m>>2]=0;o=n;c[o>>2]=0;c[o+4>>2]=0;if((d[(c[g>>2]|0)+17>>0]|0)>0?c[c[(c[g>>2]|0)+64>>2]>>2]|0:0)c[j>>2]=Ik(c[(c[g>>2]|0)+64>>2]|0,n)|0;if((c[j>>2]|0)==0?(c[m>>2]=Jk(c[k>>2]|0)|0,(c[m>>2]|0)==0):0)c[j>>2]=7;if(!(c[j>>2]|0)){Kk(c[g>>2]|0);c[j>>2]=Lk(c[(c[g>>2]|0)+212>>2]|0,c[k>>2]|0)|0}if(!(c[j>>2]|0)){Mk(c[(c[g>>2]|0)+208>>2]|0);c[(c[g>>2]|0)+208>>2]=c[m>>2];o=n;o=IR(c[o>>2]|0,c[o+4>>2]|0,c[k>>2]|0,0)|0;o=FR(o|0,z|0,1,0)|0;o=LR(o|0,z|0,c[k>>2]|0,0)|0;c[(c[g>>2]|0)+28>>2]=o;c[(c[g>>2]|0)+160>>2]=c[k>>2];break}else{Mk(c[m>>2]|0);break}}while(0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+160>>2];if(c[j>>2]|0){o=c[j>>2]|0;l=p;return o|0}if((c[i>>2]|0)<0)c[i>>2]=b[(c[g>>2]|0)+150>>1];b[(c[g>>2]|0)+150>>1]=c[i>>2];Nk(c[g>>2]|0);o=c[j>>2]|0;l=p;return o|0}function Hk(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+12>>2]|0}function Ik(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=yb[c[(c[c[f>>2]>>2]|0)+24>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function Jk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Ag(c[d>>2]|0)|0;l=b;return a|0}function Kk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+108|0;c[a>>2]=(c[a>>2]|0)+1;Pk(c[(c[d>>2]|0)+96>>2]|0);Qk(c[(c[d>>2]|0)+212>>2]|0);l=b;return}function Lk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;if(c[(c[f>>2]|0)+24>>2]|0){c[h>>2]=ob[c[132>>2]&255](c[g>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+40|0,d[(c[f>>2]|0)+32>>0]|0)|0;if(!(c[h>>2]|0)){c[e>>2]=7;h=c[e>>2]|0;l=i;return h|0}j=c[34]|0;a=c[h>>2]|0;b=Ok(c[f>>2]|0)|0;rb[j&255](a,b);if(c[(c[f>>2]|0)+44>>2]|0)qb[c[160>>2]&255](c[(c[f>>2]|0)+44>>2]|0);c[(c[f>>2]|0)+44>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[g>>2]}c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function Mk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;rg(c[d>>2]|0);l=b;return}function Nk(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return}function Ok(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[(c[d>>2]|0)+16>>2]|0;if((c[(c[d>>2]|0)+16>>2]|0)>=0){c[b>>2]=a;d=c[b>>2]|0;l=e;return d|0}else{a=RR(-1024,-1,a|0,((a|0)<0)<<31>>31|0)|0;d=(c[(c[d>>2]|0)+24>>2]|0)+(c[(c[d>>2]|0)+28>>2]|0)|0;d=LR(a|0,z|0,d|0,((d|0)<0)<<31>>31|0)|0;c[b>>2]=d;d=c[b>>2]|0;l=e;return d|0}return 0}function Pk(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];while(1){if(!(c[b>>2]|0))break;c[(c[b>>2]|0)+16>>2]=1;c[b>>2]=c[(c[b>>2]|0)+44>>2]}l=d;return}function Qk(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Rk(c[d>>2]|0,0);l=b;return}function Rk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+44>>2]|0)){l=i;return}c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[(c[f>>2]|0)+32>>2];if((c[(c[f>>2]|0)+20>>2]|0)>>>0>(c[e>>2]|0)>>>0)Sk(c[f>>2]|0);c[f>>2]=c[g>>2]}if(((c[e>>2]|0)==0?c[(c[d>>2]|0)+12>>2]|0:0)?(c[h>>2]=ob[c[144>>2]&255](c[(c[d>>2]|0)+44>>2]|0,1,0)|0,c[h>>2]|0):0){GR(c[c[h>>2]>>2]|0,0,c[(c[d>>2]|0)+24>>2]|0)|0;c[e>>2]=1}rb[c[156>>2]&255](c[(c[d>>2]|0)+44>>2]|0,(c[e>>2]|0)+1|0);l=i;return}function Sk(a){a=a|0;var d=0,f=0;f=l;l=l+16|0;d=f;c[d>>2]=a;if(!(e[(c[d>>2]|0)+24>>1]&2)){l=f;return}Tk(c[d>>2]|0,1);a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]&-15;a=(c[d>>2]|0)+24|0;b[a>>1]=e[a>>1]|1;if(b[(c[d>>2]|0)+26>>1]|0){l=f;return}Uk(c[d>>2]|0);l=f;return}function Tk(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;h=j+4|0;g=j+8|0;i=j;c[h>>2]=b;a[g>>0]=f;c[i>>2]=c[(c[h>>2]|0)+28>>2];if(d[g>>0]&1|0){if((c[(c[i>>2]|0)+8>>2]|0)==(c[h>>2]|0))c[(c[i>>2]|0)+8>>2]=c[(c[h>>2]|0)+36>>2];if(c[(c[h>>2]|0)+32>>2]|0)b=(c[(c[h>>2]|0)+32>>2]|0)+36|0;else b=(c[i>>2]|0)+4|0;c[b>>2]=c[(c[h>>2]|0)+36>>2];b=c[(c[h>>2]|0)+32>>2]|0;if(!(c[(c[h>>2]|0)+36>>2]|0)){c[c[i>>2]>>2]=b;if(!(c[c[i>>2]>>2]|0))a[(c[i>>2]|0)+33>>0]=2}else c[(c[(c[h>>2]|0)+36>>2]|0)+32>>2]=b;c[(c[h>>2]|0)+32>>2]=0;c[(c[h>>2]|0)+36>>2]=0}if(!(d[g>>0]&2)){l=j;return}c[(c[h>>2]|0)+32>>2]=c[c[i>>2]>>2];b=c[h>>2]|0;if(!(c[(c[h>>2]|0)+32>>2]|0)){c[(c[i>>2]|0)+4>>2]=b;if(a[(c[i>>2]|0)+32>>0]|0)a[(c[i>>2]|0)+33>>0]=1}else c[(c[(c[h>>2]|0)+32>>2]|0)+36>>2]=b;c[c[i>>2]>>2]=c[h>>2];if(c[(c[i>>2]|0)+8>>2]|0){l=j;return}if(e[(c[h>>2]|0)+24>>1]&8){l=j;return}c[(c[i>>2]|0)+8>>2]=c[h>>2];l=j;return}function Uk(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[(c[d>>2]|0)+28>>2]|0)+32>>0]|0)){l=e;return}ub[c[148>>2]&255](c[(c[(c[d>>2]|0)+28>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,0);l=e;return}function Vk(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[(c[b>>2]|0)+68>>0]|0|0)==2|0}function Wk(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;a[c[h>>2]>>0]=0;f=wb[c[(c[k>>2]|0)+36>>2]&255](c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function Xk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;if(c[g>>2]|0?d[(c[e>>2]|0)+16>>0]|0|0:0){g=47636;l=f;return g|0}g=c[(c[e>>2]|0)+176>>2]|0;l=f;return g|0}function Yk(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function Zk(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=Vm(c[d>>2]|0)|0;if(!(a[c[e>>2]>>0]|0)){l=f;return}a[c[e>>2]>>0]=0;if((Ao(c[d>>2]|0)|0)<=1){l=f;return}Bo(c[e>>2]|0)|0;l=f;return}function _k(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=l;l=l+112|0;H=K+96|0;E=K+92|0;I=K+88|0;r=K+84|0;s=K+80|0;L=K+76|0;t=K+72|0;F=K+68|0;k=K+64|0;G=K+60|0;u=K+56|0;v=K+52|0;w=K+48|0;x=K+44|0;m=K+40|0;y=K+36|0;z=K+32|0;A=K+28|0;n=K+24|0;B=K+20|0;o=K+16|0;p=K+12|0;q=K+8|0;C=K+4|0;D=K;c[E>>2]=d;c[I>>2]=e;c[r>>2]=f;c[s>>2]=g;c[L>>2]=h;c[t>>2]=i;c[F>>2]=j;c[G>>2]=0;c[u>>2]=0;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[z>>2]=0;c[A>>2]=(c[L>>2]&1|0)==0&1;c[n>>2]=eo()|0;c[B>>2]=4096;c[o>>2]=0;c[p>>2]=0;c[m>>2]=(fo(c[E>>2]|0)|0)+7&-8;c[c[I>>2]>>2]=0;do if((c[L>>2]&2|0?(c[w>>2]=1,c[r>>2]|0):0)?a[c[r>>2]>>0]|0:0){c[y>>2]=go(0,c[r>>2]|0)|0;if(c[y>>2]|0){c[z>>2]=_c(c[y>>2]|0)|0;c[r>>2]=0;break}c[H>>2]=7;L=c[H>>2]|0;l=K;return L|0}while(0);if(c[r>>2]|0?a[c[r>>2]>>0]|0:0){c[z>>2]=(c[(c[E>>2]|0)+8>>2]|0)+1;L=c[z>>2]<<1;c[y>>2]=md(0,L,((L|0)<0)<<31>>31)|0;if(!(c[y>>2]|0)){c[H>>2]=7;L=c[H>>2]|0;l=K;return L|0}a[c[y>>2]>>0]=0;c[u>>2]=Wk(c[E>>2]|0,c[r>>2]|0,c[z>>2]|0,c[y>>2]|0)|0;c[z>>2]=_c(c[y>>2]|0)|0;L=c[r>>2]|0;L=L+((_c(c[r>>2]|0)|0)+1)|0;c[o>>2]=L;c[q>>2]=L;while(1){d=c[q>>2]|0;if(!(a[c[q>>2]>>0]|0))break;L=(_c(d)|0)+1|0;c[q>>2]=(c[q>>2]|0)+L;L=(_c(c[q>>2]|0)|0)+1|0;c[q>>2]=(c[q>>2]|0)+L}c[p>>2]=d+1-(c[o>>2]|0);if((c[u>>2]|0)==0?((c[z>>2]|0)+8|0)>(c[(c[E>>2]|0)+8>>2]|0):0)c[u>>2]=Pe(51006)|0;if(c[u>>2]|0){Hd(0,c[y>>2]|0);c[H>>2]=c[u>>2];L=c[H>>2]|0;l=K;return L|0}}c[k>>2]=Cg(224+((c[n>>2]|0)+7&-8)+((c[(c[E>>2]|0)+4>>2]|0)+7&-8)+(c[m>>2]<<1)+(c[z>>2]|0)+1+(c[p>>2]|0)+(c[z>>2]|0)+8+2+(c[z>>2]|0)+4+2|0,0)|0;if(!(c[k>>2]|0)){Hd(0,c[y>>2]|0);c[H>>2]=7;L=c[H>>2]|0;l=K;return L|0}c[G>>2]=c[k>>2];L=(c[k>>2]|0)+224|0;c[k>>2]=L;c[(c[G>>2]|0)+212>>2]=L;L=(c[k>>2]|0)+((c[n>>2]|0)+7&-8)|0;c[k>>2]=L;c[(c[G>>2]|0)+64>>2]=L;L=(c[k>>2]|0)+((c[(c[E>>2]|0)+4>>2]|0)+7&-8)|0;c[k>>2]=L;c[(c[G>>2]|0)+72>>2]=L;L=(c[k>>2]|0)+(c[m>>2]|0)|0;c[k>>2]=L;c[(c[G>>2]|0)+68>>2]=L;L=(c[k>>2]|0)+(c[m>>2]|0)|0;c[k>>2]=L;c[(c[G>>2]|0)+176>>2]=L;if(c[y>>2]|0){L=(c[k>>2]|0)+((c[z>>2]|0)+1+(c[p>>2]|0))|0;c[k>>2]=L;c[(c[G>>2]|0)+180>>2]=L;MR(c[(c[G>>2]|0)+176>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;if(c[p>>2]|0)MR((c[(c[G>>2]|0)+176>>2]|0)+((c[z>>2]|0)+1)|0,c[o>>2]|0,c[p>>2]|0)|0;MR(c[(c[G>>2]|0)+180>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;d=(c[(c[G>>2]|0)+180>>2]|0)+(c[z>>2]|0)|0;e=21875;f=d+10|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));c[(c[G>>2]|0)+220>>2]=(c[(c[G>>2]|0)+180>>2]|0)+((c[z>>2]|0)+8+1);MR(c[(c[G>>2]|0)+220>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;L=(c[(c[G>>2]|0)+220>>2]|0)+(c[z>>2]|0)|0;a[L>>0]=a[21885]|0;a[L+1>>0]=a[21886]|0;a[L+2>>0]=a[21887]|0;a[L+3>>0]=a[21888]|0;a[L+4>>0]=a[21889]|0;Hd(0,c[y>>2]|0)}c[c[G>>2]>>2]=c[E>>2];c[(c[G>>2]|0)+152>>2]=c[t>>2];do if(c[r>>2]|0?a[c[r>>2]>>0]|0:0){c[C>>2]=0;c[u>>2]=Zl(c[E>>2]|0,c[(c[G>>2]|0)+176>>2]|0,c[(c[G>>2]|0)+64>>2]|0,c[t>>2]|0,C)|0;c[x>>2]=c[C>>2]&1;if(!(c[u>>2]|0)){c[D>>2]=hm(c[(c[G>>2]|0)+64>>2]|0)|0;do if((c[x>>2]|0)==0?(gm(c[G>>2]|0),(c[B>>2]|0)>>>0<(c[(c[G>>2]|0)+156>>2]|0)>>>0):0)if((c[(c[G>>2]|0)+156>>2]|0)>>>0>8192){c[B>>2]=8192;break}else{c[B>>2]=c[(c[G>>2]|0)+156>>2];break}while(0);L=(uf(c[r>>2]|0,21891,0)|0)&255;a[(c[G>>2]|0)+14>>0]=L;if((c[D>>2]&8192|0)==0?(uf(c[r>>2]|0,21898,0)|0)==0:0)break;c[t>>2]=c[t>>2]|1;J=36}}else J=36;while(0);if((J|0)==36){c[v>>2]=1;a[(c[G>>2]|0)+17>>0]=1;a[(c[G>>2]|0)+18>>0]=4;a[(c[G>>2]|0)+14>>0]=1;c[x>>2]=c[t>>2]&1}if(!(c[u>>2]|0))c[u>>2]=Gk(c[G>>2]|0,B,-1)|0;if(!(c[u>>2]|0)){c[s>>2]=(c[s>>2]|0)+7&-8;c[u>>2]=io(c[B>>2]|0,c[s>>2]|0,((c[w>>2]|0)!=0^1)&1,(c[w>>2]|0)!=0^1?178:0,c[G>>2]|0,c[(c[G>>2]|0)+212>>2]|0)|0}if(c[u>>2]|0){ql(c[(c[G>>2]|0)+64>>2]|0);Mk(c[(c[G>>2]|0)+208>>2]|0);Kd(c[G>>2]|0);c[H>>2]=c[u>>2];L=c[H>>2]|0;l=K;return L|0}a[(c[G>>2]|0)+6>>0]=c[A>>2];c[(c[G>>2]|0)+164>>2]=1073741823;a[(c[G>>2]|0)+13>>0]=c[v>>2];a[(c[G>>2]|0)+4>>0]=c[v>>2];a[(c[G>>2]|0)+19>>0]=a[(c[G>>2]|0)+13>>0]|0;a[(c[G>>2]|0)+16>>0]=c[w>>2];a[(c[G>>2]|0)+15>>0]=c[x>>2];a[(c[G>>2]|0)+7>>0]=a[(c[G>>2]|0)+13>>0]|0;if(!(a[(c[G>>2]|0)+7>>0]|0)){a[(c[G>>2]|0)+8>>0]=1;a[(c[G>>2]|0)+9>>0]=0;a[(c[G>>2]|0)+12>>0]=2;a[(c[G>>2]|0)+11>>0]=34;a[(c[G>>2]|0)+10>>0]=2}b[(c[G>>2]|0)+148>>1]=c[s>>2];L=(c[G>>2]|0)+168|0;c[L>>2]=-1;c[L+4>>2]=-1;gm(c[G>>2]|0);if(c[A>>2]|0){if(c[w>>2]|0){d=4;e=c[G>>2]|0;J=49}}else{d=2;e=c[G>>2]|0;J=49}if((J|0)==49)a[e+5>>0]=d;c[(c[G>>2]|0)+204>>2]=c[F>>2];c[c[I>>2]>>2]=c[G>>2];c[H>>2]=0;L=c[H>>2]|0;l=K;return L|0}function $k(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=g;b=c[a+4>>2]|0;d=(c[f>>2]|0)+136|0;c[d>>2]=c[a>>2];c[d+4>>2]=b;Nk(c[f>>2]|0);l=e;return}function al(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;GR(c[g>>2]|0,0,c[f>>2]|0)|0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;l=i;return h|0}g=km(c[(c[e>>2]|0)+64>>2]|0,c[g>>2]|0,c[f>>2]|0,0,0)|0;c[h>>2]=g;c[h>>2]=(c[h>>2]|0)==522?0:g;h=c[h>>2]|0;l=i;return h|0}function bl(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];a=co((c[(c[d>>2]|0)+4>>2]|0)+380|0)|0;l=b;return a|0}function cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+12|0;i=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;c[(c[e>>2]|0)+184>>2]=c[i>>2];c[(c[e>>2]|0)+188>>2]=c[h>>2];if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){l=g;return}c[f>>2]=(c[e>>2]|0)+184;Gn(c[(c[e>>2]|0)+64>>2]|0,15,c[f>>2]|0);l=g;return}function dl(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;l=e;return a[(c[d>>2]|0)+15>>0]|0}function el(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[c[b>>2]>>0]|0)<<24|(d[(c[b>>2]|0)+1>>0]|0)<<16|(d[(c[b>>2]|0)+2>>0]|0)<<8|(d[(c[b>>2]|0)+3>>0]|0)|0}function fl(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+208>>2];zg();kl(c[e>>2]|0);a[(c[e>>2]|0)+4>>0]=0;ll(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[f>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Kk(c[e>>2]|0);b=c[e>>2]|0;if(a[(c[e>>2]|0)+16>>0]|0)ml(b);else{if(c[c[b+68>>2]>>2]|0){b=c[e>>2]|0;ol(b,nl(c[e>>2]|0)|0)|0}pl(c[e>>2]|0)}Bg();ql(c[(c[e>>2]|0)+68>>2]|0);ql(c[(c[e>>2]|0)+64>>2]|0);Mk(c[f>>2]|0);rl(c[(c[e>>2]|0)+212>>2]|0);Kd(c[e>>2]|0);l=g;return 0}function gl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[i>>2]|0)+4>>2];Ek(c[i>>2]|0);if(!(c[e>>2]|0?(c[(c[g>>2]|0)+48>>2]|0)==0:0)){i=c[g>>2]|0;i=i+48|0;i=c[i>>2]|0;l=h;return i|0}i=c[e>>2]|0;i=jl(0,i,((i|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+48>>2]=i;c[(c[g>>2]|0)+52>>2]=c[f>>2];i=c[g>>2]|0;i=i+48|0;i=c[i>>2]|0;l=h;return i|0}function hl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;il(c[(c[f>>2]|0)+212>>2]|0,c[e>>2]|0);l=d;return}function il(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+16>>2]=c[e>>2];e=c[34]|0;a=c[(c[f>>2]|0)+44>>2]|0;b=Ok(c[f>>2]|0)|0;rb[e&255](a,b);l=d;return}function jl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;e=g;f=g+8|0;c[h>>2]=a;a=e;c[a>>2]=b;c[a+4>>2]=d;d=e;c[f>>2]=md(c[h>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[f>>2]|0)){h=c[f>>2]|0;l=g;return h|0}GR(c[f>>2]|0,0,c[e>>2]|0)|0;h=c[f>>2]|0;l=g;return h|0}function kl(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+144>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+12>>2];Kd(c[b>>2]|0);c[b>>2]=c[d>>2]}l=e;return}function ll(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;h=p;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=0;if(!(c[i>>2]|0)){o=c[n>>2]|0;l=p;return o|0}c[o>>2]=0;c[n>>2]=En(c[(c[i>>2]|0)+4>>2]|0,4)|0;do if(!(c[n>>2]|0)){if(!(d[(c[i>>2]|0)+43>>0]|0))a[(c[i>>2]|0)+43>>0]=1;c[n>>2]=Fn(c[i>>2]|0,0,0,0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,0,0)|0;if(!(c[n>>2]|0)){c[h>>2]=-1;Gn(c[(c[i>>2]|0)+4>>2]|0,10,h);if((c[h>>2]|0)!=1){c[o>>2]=1;break}m=(c[i>>2]|0)+16|0;k=c[m+4>>2]|0;if((k|0)>0|(k|0)==0&(c[m>>2]|0)>>>0>=0)Hn(c[i>>2]|0,0,0)}}while(0);In(c[i>>2]|0,c[o>>2]|0);ql(c[(c[i>>2]|0)+8>>2]|0);if(c[o>>2]|0){zg();zl(c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+108>>2]|0,0)|0;Bg()}Kd(c[(c[i>>2]|0)+32>>2]|0);Kd(c[i>>2]|0);o=c[n>>2]|0;l=p;return o|0}function ml(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;h=i+8|0;e=i+4|0;f=i;c[h>>2]=b;Al(c[(c[h>>2]|0)+60>>2]|0);c[(c[h>>2]|0)+60>>2]=0;ul(c[h>>2]|0);j=(El(c[h>>2]|0)|0)!=0;b=c[h>>2]|0;if(!j){if(!(a[b+4>>0]|0)){if(c[c[(c[h>>2]|0)+64>>2]>>2]|0)b=hm(c[(c[h>>2]|0)+64>>2]|0)|0;else b=0;c[f>>2]=b;if(!(0!=(c[f>>2]&2048|0)?1==(d[(c[h>>2]|0)+5>>0]&5|0):0))ql(c[(c[h>>2]|0)+68>>2]|0);c[e>>2]=Jl(c[h>>2]|0,0)|0;if(c[e>>2]|0?(d[(c[h>>2]|0)+17>>0]|0)==6:0)a[(c[h>>2]|0)+18>>0]=5;a[(c[h>>2]|0)+19>>0]=0;b=c[h>>2]|0;g=13}}else{Dn(c[b+216>>2]|0);b=c[h>>2]|0;g=13}if((g|0)==13)a[b+17>>0]=0;if(!(c[(c[h>>2]|0)+44>>2]|0)){j=c[h>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+20|0;a[j>>0]=0;l=i;return}b=c[h>>2]|0;if(!(d[(c[h>>2]|0)+13>>0]|0)){Kk(b);a[(c[h>>2]|0)+19>>0]=0;b=0;e=c[h>>2]|0}else{b=(c[c[b+68>>2]>>2]|0?0:1)&255;e=c[h>>2]|0}a[e+17>>0]=b;c[(c[h>>2]|0)+44>>2]=0;j=c[h>>2]|0;j=j+80|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+88|0;g=j;c[g>>2]=0;j=j+4|0;c[j>>2]=0;j=c[h>>2]|0;j=j+20|0;a[j>>0]=0;l=i;return}function nl(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;if(!(a[(c[d>>2]|0)+7>>0]|0))c[e>>2]=xl(c[(c[d>>2]|0)+68>>2]|0,2)|0;if(c[e>>2]|0){e=c[e>>2]|0;l=f;return e|0}c[e>>2]=Ik(c[(c[d>>2]|0)+68>>2]|0,(c[d>>2]|0)+88|0)|0;e=c[e>>2]|0;l=f;return e|0}function ol(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[f>>2]&255;if(!((c[h>>2]|0)==13|(c[h>>2]|0)==10)){h=c[f>>2]|0;l=g;return h|0}c[(c[e>>2]|0)+44>>2]=c[f>>2];a[(c[e>>2]|0)+17>>0]=6;h=c[f>>2]|0;l=g;return h|0}function pl(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;do if((d[(c[e>>2]|0)+17>>0]|0)!=6?d[(c[e>>2]|0)+17>>0]|0:0){if((d[(c[e>>2]|0)+17>>0]|0)>=2){zg();sl(c[e>>2]|0)|0;Bg();break}if(!(a[(c[e>>2]|0)+4>>0]|0))tl(c[e>>2]|0,0,0)|0}while(0);ml(c[e>>2]|0);l=f;return}function ql(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[c[b>>2]>>2]|0)){l=d;return}tb[c[(c[c[b>>2]>>2]|0)+4>>2]&255](c[b>>2]|0)|0;c[c[b>>2]>>2]=0;l=d;return}function rl(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;qb[c[160>>2]&255](c[(c[d>>2]|0)+44>>2]|0);l=b;return}function sl(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if((d[(c[f>>2]|0)+17>>0]|0)==6){c[e>>2]=c[b+44>>2];i=c[e>>2]|0;l=j;return i|0}if((d[b+17>>0]|0)<=1){c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}k=(El(c[f>>2]|0)|0)!=0;b=c[f>>2]|0;do if(k){c[g>>2]=_l(b,2,-1)|0;c[h>>2]=tl(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,0)|0;if(!(c[g>>2]|0))c[g>>2]=c[h>>2]}else{if(c[c[b+68>>2]>>2]|0?(d[(c[f>>2]|0)+17>>0]|0)!=2:0){c[g>>2]=$l(c[f>>2]|0,0)|0;break}c[i>>2]=d[(c[f>>2]|0)+17>>0];c[g>>2]=tl(c[f>>2]|0,0,0)|0;if((c[i>>2]|0)>2?(a[(c[f>>2]|0)+16>>0]|0)==0:0){c[(c[f>>2]|0)+44>>2]=4;a[(c[f>>2]|0)+17>>0]=6;c[e>>2]=c[g>>2];k=c[e>>2]|0;l=j;return k|0}}while(0);c[e>>2]=ol(c[f>>2]|0,c[g>>2]|0)|0;k=c[e>>2]|0;l=j;return k|0}function tl(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;g=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;h=o;c[j>>2]=b;c[g>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=0;if((d[(c[j>>2]|0)+17>>0]|0)<2?(d[(c[j>>2]|0)+18>>0]|0)<2:0){c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}ul(c[j>>2]|0);a:do if(c[c[(c[j>>2]|0)+68>>2]>>2]|0){f=(vl(c[(c[j>>2]|0)+68>>2]|0)|0)!=0;b=c[j>>2]|0;if(f){ql(c[b+68>>2]|0);break}e=c[j>>2]|0;if((d[b+5>>0]|0)==3){h=e+80|0;if(!((c[h>>2]|0)==0&(c[h+4>>2]|0)==0)){c[m>>2]=wl(c[(c[j>>2]|0)+68>>2]|0,0,0)|0;if((c[m>>2]|0)==0?d[(c[j>>2]|0)+8>>0]|0:0)c[m>>2]=xl(c[(c[j>>2]|0)+68>>2]|0,d[(c[j>>2]|0)+12>>0]|0)|0}else c[m>>2]=0;h=(c[j>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0;break}do if((d[e+5>>0]|0)!=1){if(d[(c[j>>2]|0)+4>>0]|0?(d[(c[j>>2]|0)+5>>0]|0)!=5:0)break;c[h>>2]=((a[(c[j>>2]|0)+13>>0]|0)!=0^1)&1;ql(c[(c[j>>2]|0)+68>>2]|0);if(!(c[h>>2]|0))break a;c[m>>2]=zl(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+180>>2]|0,d[(c[j>>2]|0)+9>>0]|0)|0;break a}while(0);if(c[g>>2]|0)b=1;else b=(d[(c[j>>2]|0)+13>>0]|0)!=0;c[m>>2]=yl(c[j>>2]|0,b&1)|0;h=(c[j>>2]|0)+80|0;c[h>>2]=0;c[h+4>>2]=0}while(0);Al(c[(c[j>>2]|0)+60>>2]|0);c[(c[j>>2]|0)+60>>2]=0;c[(c[j>>2]|0)+48>>2]=0;if(!(c[m>>2]|0)){h=(Bl(c[j>>2]|0,c[k>>2]|0)|0)!=0;b=c[(c[j>>2]|0)+212>>2]|0;if(h)Cl(b);else Dl(b);Rk(c[(c[j>>2]|0)+212>>2]|0,c[(c[j>>2]|0)+28>>2]|0)}if(!(El(c[j>>2]|0)|0)){if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?(c[(c[j>>2]|0)+36>>2]|0)>>>0>(c[(c[j>>2]|0)+28>>2]|0)>>>0:0)c[m>>2]=Gl(c[j>>2]|0,c[(c[j>>2]|0)+28>>2]|0)|0}else c[n>>2]=Fl(c[(c[j>>2]|0)+216>>2]|0)|0;if((c[m>>2]|0)==0&(c[k>>2]|0)!=0?c[c[(c[j>>2]|0)+64>>2]>>2]|0:0){k=Hl(c[(c[j>>2]|0)+64>>2]|0,22,0)|0;c[m>>2]=k;c[m>>2]=(c[m>>2]|0)==12?0:k}do if(!(a[(c[j>>2]|0)+4>>0]|0)){if(El(c[j>>2]|0)|0?(Il(c[(c[j>>2]|0)+216>>2]|0,0)|0)==0:0)break;c[n>>2]=Jl(c[j>>2]|0,1)|0;a[(c[j>>2]|0)+19>>0]=0}while(0);a[(c[j>>2]|0)+17>>0]=1;a[(c[j>>2]|0)+20>>0]=0;c[i>>2]=(c[m>>2]|0)==0?c[n>>2]|0:c[m>>2]|0;n=c[i>>2]|0;l=o;return n|0}function ul(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){b=c[d>>2]|0;if((c[e>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;Al(c[(c[b+100>>2]|0)+((c[e>>2]|0)*48|0)+16>>2]|0);c[e>>2]=(c[e>>2]|0)+1}if(!(a[b+4>>0]|0?!(vl(c[(c[d>>2]|0)+72>>2]|0)|0):0))ql(c[(c[d>>2]|0)+72>>2]|0);Kd(c[(c[d>>2]|0)+100>>2]|0);c[(c[d>>2]|0)+100>>2]=0;c[(c[d>>2]|0)+104>>2]=0;c[(c[d>>2]|0)+56>>2]=0;l=f;return}function vl(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[c[b>>2]>>2]|0)==4028|0}function wl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;d=ob[c[(c[c[f>>2]>>2]|0)+16>>2]&255](c[f>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;l=e;return d|0}function xl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=yb[c[(c[c[f>>2]>>2]|0)+20>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function yl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+24|0;g=k+20|0;h=k+16|0;i=k+8|0;j=k;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;e=(c[f>>2]|0)+80|0;if(!((c[e>>2]|0)!=0|(c[e+4>>2]|0)!=0)){j=c[h>>2]|0;l=k;return j|0}m=(c[f>>2]|0)+168|0;b=c[m+4>>2]|0;e=i;c[e>>2]=c[m>>2];c[e+4>>2]=b;e=i;b=c[(c[f>>2]|0)+68>>2]|0;if((c[g>>2]|0)!=0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0)c[h>>2]=wl(b,0,0)|0;else c[h>>2]=Ol(b,47896,28,0,0)|0;if((c[h>>2]|0)==0?(a[(c[f>>2]|0)+7>>0]|0)==0:0)c[h>>2]=xl(c[(c[f>>2]|0)+68>>2]|0,16|d[(c[f>>2]|0)+12>>0])|0;m=i;g=c[m+4>>2]|0;if(!((c[h>>2]|0)==0&((g|0)>0|(g|0)==0&(c[m>>2]|0)>>>0>0))){m=c[h>>2]|0;l=k;return m|0}c[h>>2]=Ik(c[(c[f>>2]|0)+68>>2]|0,j)|0;if(c[h>>2]|0){m=c[h>>2]|0;l=k;return m|0}e=c[j+4>>2]|0;m=i;g=c[m+4>>2]|0;if(!((e|0)>(g|0)|((e|0)==(g|0)?(c[j>>2]|0)>>>0>(c[m>>2]|0)>>>0:0))){m=c[h>>2]|0;l=k;return m|0}m=i;c[h>>2]=wl(c[(c[f>>2]|0)+68>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=c[h>>2]|0;l=k;return m|0}function zl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=ob[c[(c[h>>2]|0)+28>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function Al(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}a:do if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=0;while(1){if((c[d>>2]|0)>>>0>=125)break a;Al(c[(c[b>>2]|0)+12+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}}while(0);Kd(c[b>>2]|0);l=e;return}function Bl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;do if(d[(c[f>>2]|0)+13>>0]|0){if(!(c[g>>2]|0)){c[e>>2]=0;break}if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[e>>2]=(Ql(c[(c[f>>2]|0)+212>>2]|0)|0)>=25&1;break}else{c[e>>2]=0;break}}else c[e>>2]=1;while(0);l=h;return c[e>>2]|0}function Cl(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;while(1){a=c[c[b>>2]>>2]|0;c[d>>2]=a;if(!a)break;Sk(c[d>>2]|0)}l=e;return}function Dl(a){a=a|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-13;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];l=g;return}function El(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[b>>2]|0)+216>>2]|0)!=0|0}function Fl(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(a[(c[d>>2]|0)+44>>0]|0)){l=e;return 0}Pl(c[d>>2]|0,0,1);a[(c[d>>2]|0)+44>>0]=0;c[(c[d>>2]|0)+104>>2]=0;a[(c[d>>2]|0)+47>>0]=0;l=e;return 0}function Gl(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+48|0;e=m+32|0;f=m+28|0;g=m+24|0;h=m+8|0;i=m;j=m+20|0;k=m+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if(!(c[c[(c[e>>2]|0)+64>>2]>>2]|0)){k=c[g>>2]|0;l=m;return k|0}if((d[(c[e>>2]|0)+17>>0]|0|0)<4?d[(c[e>>2]|0)+17>>0]|0|0:0){k=c[g>>2]|0;l=m;return k|0}c[j>>2]=c[(c[e>>2]|0)+160>>2];c[g>>2]=Ik(c[(c[e>>2]|0)+64>>2]|0,h)|0;a=c[j>>2]|0;a=RR(a|0,((a|0)<0)<<31>>31|0,c[f>>2]|0,0)|0;b=i;c[b>>2]=a;c[b+4>>2]=z;if(c[g>>2]|0){k=c[g>>2]|0;l=m;return k|0}a=h;b=i;if(!((c[a>>2]|0)!=(c[b>>2]|0)?1:(c[a+4>>2]|0)!=(c[b+4>>2]|0))){k=c[g>>2]|0;l=m;return k|0}a=h;o=c[a+4>>2]|0;b=i;n=c[b+4>>2]|0;if(!((o|0)>(n|0)|((o|0)==(n|0)?(c[a>>2]|0)>>>0>(c[b>>2]|0)>>>0:0))){b=h;n=c[j>>2]|0;n=IR(c[b>>2]|0,c[b+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;b=z;o=i;h=c[o+4>>2]|0;if((b|0)<(h|0)|((b|0)==(h|0)?n>>>0<=(c[o>>2]|0)>>>0:0)){c[k>>2]=c[(c[e>>2]|0)+208>>2];GR(c[k>>2]|0,0,c[j>>2]|0)|0;h=c[(c[e>>2]|0)+64>>2]|0;k=c[k>>2]|0;n=c[j>>2]|0;o=c[j>>2]|0;o=FR(c[i>>2]|0,c[i+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;c[g>>2]=Ol(h,k,n,o,z)|0}}else{o=i;c[g>>2]=wl(c[(c[e>>2]|0)+64>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}if(c[g>>2]|0){o=c[g>>2]|0;l=m;return o|0}c[(c[e>>2]|0)+36>>2]=c[f>>2];o=c[g>>2]|0;l=m;return o|0}function Hl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function Il(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=e;c[h>>2]=f;if(c[h>>2]|0){e=c[g>>2]|0;if((c[h>>2]|0)>0){Ml(e,3+(b[(c[g>>2]|0)+40>>1]|0)|0);a[(c[g>>2]|0)+43>>0]=1;c[i>>2]=1;i=c[i>>2]|0;l=j;return i|0}else{c[i>>2]=(d[e+43>>0]|0)==0&1;i=c[i>>2]|0;l=j;return i|0}}if(!(a[(c[g>>2]|0)+43>>0]|0)){c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}a[(c[g>>2]|0)+43>>0]=0;if(Ll(c[g>>2]|0,3+(b[(c[g>>2]|0)+40>>1]|0)|0)|0)a[(c[g>>2]|0)+43>>0]=1;c[i>>2]=(d[(c[g>>2]|0)+43>>0]|0)==0&1;i=c[i>>2]|0;l=j;return i|0}function Jl(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(!(c[c[(c[f>>2]|0)+64>>2]>>2]|0)){h=c[h>>2]|0;l=i;return h|0}if(d[(c[f>>2]|0)+14>>0]|0|0)b=0;else b=Kl(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=b;if((d[(c[f>>2]|0)+18>>0]|0|0)==5){h=c[h>>2]|0;l=i;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;l=i;return h|0}function Kl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=yb[c[(c[c[f>>2]>>2]|0)+32>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function Ll(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;if(a[(c[f>>2]|0)+43>>0]|0){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=Nl(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,1,6)|0;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function Ml(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[(c[e>>2]|0)+43>>0]|0){l=g;return}Nl(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0,1,5)|0;l=g;return}function Nl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=wb[c[(c[c[j>>2]>>2]|0)+56>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function Ol(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+16|0;i=g+12|0;h=g+8|0;k=g;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;f=k;f=zb[c[(c[c[j>>2]>>2]|0)+12>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=g;return f|0}function Pl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(a[(c[f>>2]|0)+43>>0]|0){l=i;return}Nl(c[(c[f>>2]|0)+4>>2]|0,c[g>>2]|0,c[h>>2]|0,9)|0;l=i;return}function Ql(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=0;c[e>>2]=Ok(c[g>>2]|0)|0;c[b>>2]=c[c[g>>2]>>2];while(1){if(!(c[b>>2]|0))break;c[d>>2]=(c[d>>2]|0)+1;c[b>>2]=c[(c[b>>2]|0)+32>>2]}if(!(c[e>>2]|0)){g=0;l=f;return g|0}d=c[d>>2]|0;d=RR(d|0,((d|0)<0)<<31>>31|0,100,0)|0;g=c[e>>2]|0;g=LR(d|0,z|0,g|0,((g|0)<0)<<31>>31|0)|0;l=f;return g|0}function Rl(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Xl(c[d>>2]|0);l=b;return 0}function Sl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;r=l;l=l+64|0;t=r+52|0;s=r+48|0;o=r+44|0;p=r+8|0;q=r+40|0;h=r+36|0;i=r+32|0;j=r+28|0;k=r+24|0;g=r;m=r+20|0;n=r+16|0;c[t>>2]=a;c[s>>2]=b;c[o>>2]=d;d=p;c[d>>2]=e;c[d+4>>2]=f;c[q>>2]=c[t>>2];c[h>>2]=c[s>>2];c[i>>2]=c[o>>2];d=(c[q>>2]|0)+40|0;e=p;f=p;a:do if(((c[d>>2]|0)!=(c[e>>2]|0)?1:(c[d+4>>2]|0)!=(c[e+4>>2]|0))|(c[f>>2]|0)==0&(c[f+4>>2]|0)==0){t=g;c[t>>2]=0;c[t+4>>2]=0;c[k>>2]=c[(c[q>>2]|0)+16>>2];while(1){if(!(c[k>>2]|0))break a;e=g;s=c[(c[q>>2]|0)+4>>2]|0;s=IR(c[e>>2]|0,c[e+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;e=z;t=p;f=c[t+4>>2]|0;if(!((e|0)<(f|0)|((e|0)==(f|0)?s>>>0<=(c[t>>2]|0)>>>0:0)))break a;s=c[(c[q>>2]|0)+4>>2]|0;t=g;s=IR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;t=g;c[t>>2]=s;c[t+4>>2]=z;c[k>>2]=c[c[k>>2]>>2]}}else c[k>>2]=c[(c[q>>2]|0)+40+8>>2];while(0);s=p;t=c[(c[q>>2]|0)+4>>2]|0;t=VR(c[s>>2]|0,c[s+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;c[j>>2]=t;do{c[m>>2]=(c[(c[q>>2]|0)+4>>2]|0)-(c[j>>2]|0);if((c[i>>2]|0)<((c[(c[q>>2]|0)+4>>2]|0)-(c[j>>2]|0)|0))a=c[i>>2]|0;else a=(c[(c[q>>2]|0)+4>>2]|0)-(c[j>>2]|0)|0;c[n>>2]=a;MR(c[h>>2]|0,(c[k>>2]|0)+4+(c[j>>2]|0)|0,c[n>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(c[n>>2]|0);c[i>>2]=(c[i>>2]|0)-(c[m>>2]|0);c[j>>2]=0;if((c[i>>2]|0)<0)break;t=c[c[k>>2]>>2]|0;c[k>>2]=t}while((t|0)!=0&(c[i>>2]|0)>0);if(!(c[k>>2]|0)){o=0;t=0;s=c[q>>2]|0;s=s+40|0;p=s;c[p>>2]=o;s=s+4|0;c[s>>2]=t;s=c[k>>2]|0;t=c[q>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;l=r;return 0}t=p;o=c[o>>2]|0;o=IR(c[t>>2]|0,c[t+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;t=z;s=c[q>>2]|0;s=s+40|0;p=s;c[p>>2]=o;s=s+4|0;c[s>>2]=t;s=c[k>>2]|0;t=c[q>>2]|0;t=t+40|0;t=t+8|0;c[t>>2]=s;l=r;return 0}function Tl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+52|0;h=u+48|0;i=u+44|0;s=u+40|0;t=u;q=u+36|0;j=u+32|0;k=u+28|0;g=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;p=u+8|0;c[h>>2]=a;c[i>>2]=b;c[s>>2]=d;d=t;c[d>>2]=e;c[d+4>>2]=f;c[q>>2]=c[h>>2];c[j>>2]=c[s>>2];c[k>>2]=c[i>>2];if((c[(c[q>>2]|0)+8>>2]|0)>0?(b=c[s>>2]|0,e=t,e=IR(b|0,((b|0)<0)<<31>>31|0,c[e>>2]|0,c[e+4>>2]|0)|0,b=z,f=c[(c[q>>2]|0)+8>>2]|0,d=((f|0)<0)<<31>>31,(b|0)>(d|0)|(b|0)==(d|0)&e>>>0>f>>>0):0){c[g>>2]=Yl(c[q>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=Ol(c[h>>2]|0,c[i>>2]|0,c[s>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;c[r>>2]=c[g>>2];t=c[r>>2]|0;l=u;return t|0}while(1){if((c[j>>2]|0)<=0){a=18;break}c[m>>2]=c[(c[q>>2]|0)+24+8>>2];h=(c[q>>2]|0)+24|0;i=c[(c[q>>2]|0)+4>>2]|0;i=VR(c[h>>2]|0,c[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[n>>2]=i;if((c[j>>2]|0)<((c[(c[q>>2]|0)+4>>2]|0)-(c[n>>2]|0)|0))a=c[j>>2]|0;else a=(c[(c[q>>2]|0)+4>>2]|0)-(c[n>>2]|0)|0;c[o>>2]=a;if(!(c[n>>2]|0)){c[p>>2]=Yd(12+((c[(c[q>>2]|0)+4>>2]|0)-8)|0)|0;if(!(c[p>>2]|0)){a=12;break}c[c[p>>2]>>2]=0;a=c[p>>2]|0;if(c[m>>2]|0)c[c[m>>2]>>2]=a;else c[(c[q>>2]|0)+16>>2]=a;c[(c[q>>2]|0)+24+8>>2]=c[p>>2]}MR((c[(c[q>>2]|0)+24+8>>2]|0)+4+(c[n>>2]|0)|0,c[k>>2]|0,c[o>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+(c[o>>2]|0);c[j>>2]=(c[j>>2]|0)-(c[o>>2]|0);h=c[o>>2]|0;i=(c[q>>2]|0)+24|0;f=i;h=IR(c[f>>2]|0,c[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;c[i>>2]=h;c[i+4>>2]=z}if((a|0)==12){c[r>>2]=3082;t=c[r>>2]|0;l=u;return t|0}else if((a|0)==18){s=c[s>>2]|0;t=IR(s|0,((s|0)<0)<<31>>31|0,c[t>>2]|0,c[t+4>>2]|0)|0;c[(c[q>>2]|0)+12>>2]=t;c[r>>2]=0;t=c[r>>2]|0;l=u;return t|0}return 0}function Ul(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=l;l=l+16|0;h=f+12|0;g=f;e=f+8|0;c[h>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[e>>2]=c[h>>2];d=g;if(!((c[d>>2]|0)==0&(c[d+4>>2]|0)==0)){l=f;return 0}Xl(c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+24+8>>2]=0;h=(c[e>>2]|0)+24|0;c[h>>2]=0;c[h+4>>2]=0;c[(c[e>>2]|0)+40+8>>2]=0;h=(c[e>>2]|0)+40|0;c[h>>2]=0;c[h+4>>2]=0;l=f;return 0}function Vl(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function Wl(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+24|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function Xl(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+16>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[c[d>>2]>>2];Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+16>>2]=0;l=f;return}function Yl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+112|0;e=m+96|0;f=m+92|0;g=m+88|0;h=m+8|0;i=m+84|0;j=m;k=m+80|0;c[e>>2]=a;c[g>>2]=c[e>>2];a=h;b=c[e>>2]|0;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));a=c[e>>2]|0;d=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[f>>2]=Zl(c[h+60>>2]|0,c[h+64>>2]|0,c[g>>2]|0,c[h+56>>2]|0,0)|0;if(!(c[f>>2]|0)){c[i>>2]=c[h+4>>2];d=j;c[d>>2]=0;c[d+4>>2]=0;c[k>>2]=c[h+16>>2];while(1){if(!(c[k>>2]|0))break;n=j;b=c[i>>2]|0;b=IR(c[n>>2]|0,c[n+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;n=z;d=h+24|0;a=c[d+4>>2]|0;if((n|0)>(a|0)|((n|0)==(a|0)?b>>>0>(c[d>>2]|0)>>>0:0)){d=h+24|0;n=j;n=FR(c[d>>2]|0,c[d+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[i>>2]=n}n=j;c[f>>2]=Ol(c[g>>2]|0,(c[k>>2]|0)+4|0,c[i>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;if(c[f>>2]|0)break;d=c[i>>2]|0;n=j;d=IR(c[n>>2]|0,c[n+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;n=j;c[n>>2]=d;c[n+4>>2]=z;c[k>>2]=c[c[k>>2]>>2]}if(!(c[f>>2]|0))Xl(h)}if(!(c[f>>2]|0)){n=c[f>>2]|0;l=m;return n|0}ql(c[g>>2]|0);a=c[e>>2]|0;b=h;d=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(d|0));n=c[f>>2]|0;l=m;return n|0}function Zl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[g>>2]=zb[c[(c[n>>2]|0)+24>>2]&255](c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]&556927,c[i>>2]|0)|0;l=h;return c[g>>2]|0}function _l(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;i=m+24|0;e=m+20|0;f=m+16|0;j=m+12|0;g=m+8|0;h=m+4|0;k=m;c[i>>2]=a;c[e>>2]=b;c[f>>2]=d;c[j>>2]=c[(c[i>>2]|0)+44>>2];if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}if((c[f>>2]|0)>=(c[(c[i>>2]|0)+104>>2]|0)){k=c[j>>2]|0;l=m;return k|0}c[h>>2]=(c[f>>2]|0)+((c[e>>2]|0)==1?0:1);c[g>>2]=c[h>>2];while(1){if((c[g>>2]|0)>=(c[(c[i>>2]|0)+104>>2]|0))break;Al(c[(c[(c[i>>2]|0)+100>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0);c[g>>2]=(c[g>>2]|0)+1}c[(c[i>>2]|0)+104>>2]=c[h>>2];if((c[e>>2]|0)!=1){if((El(c[i>>2]|0)|0)==0?(c[c[(c[i>>2]|0)+68>>2]>>2]|0)==0:0){k=c[j>>2]|0;l=m;return k|0}if(!(c[h>>2]|0))a=0;else a=(c[(c[i>>2]|0)+100>>2]|0)+(((c[h>>2]|0)-1|0)*48|0)|0;c[k>>2]=a;c[j>>2]=rn(c[i>>2]|0,c[k>>2]|0)|0;k=c[j>>2]|0;l=m;return k|0}if(c[h>>2]|0){k=c[j>>2]|0;l=m;return k|0}if(!(c[c[(c[i>>2]|0)+72>>2]>>2]|0)){k=c[j>>2]|0;l=m;return k|0}if(vl(c[(c[i>>2]|0)+72>>2]|0)|0)c[j>>2]=wl(c[(c[i>>2]|0)+72>>2]|0,0,0)|0;c[(c[i>>2]|0)+56>>2]=0;k=c[j>>2]|0;l=m;return k|0}function $l(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;s=t+8|0;p=t+56|0;q=t+52|0;g=t+48|0;h=t;i=t+44|0;j=t+40|0;k=t+36|0;r=t+32|0;m=t+28|0;n=t+24|0;f=t+20|0;o=t+16|0;c[p>>2]=b;c[q>>2]=e;c[g>>2]=c[c[p>>2]>>2];c[k>>2]=0;c[m>>2]=1;c[n>>2]=0;c[o>>2]=0;c[r>>2]=Ik(c[(c[p>>2]|0)+68>>2]|0,h)|0;a:do if(!(c[r>>2]|0)){c[n>>2]=c[(c[p>>2]|0)+208>>2];c[r>>2]=am(c[(c[p>>2]|0)+68>>2]|0,c[n>>2]|0,(c[(c[c[p>>2]>>2]|0)+8>>2]|0)+1|0)|0;if((c[r>>2]|0)==0?a[c[n>>2]>>0]|0:0)c[r>>2]=bm(c[g>>2]|0,c[n>>2]|0,0,m)|0;c[n>>2]=0;if((c[r>>2]|0)==0&(c[m>>2]|0)!=0){g=(c[p>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;c[f>>2]=c[q>>2];b:while(1){g=h;c[r>>2]=cm(c[p>>2]|0,c[q>>2]|0,c[g>>2]|0,c[g+4>>2]|0,i,k)|0;if(c[r>>2]|0){b=8;break}if((c[i>>2]|0)==-1){e=h;e=FR(c[e>>2]|0,c[e+4>>2]|0,c[(c[p>>2]|0)+156>>2]|0,0)|0;g=(c[(c[p>>2]|0)+160>>2]|0)+8|0;g=LR(e|0,z|0,g|0,((g|0)<0)<<31>>31|0)|0;c[i>>2]=g}if(!((c[i>>2]|0)!=0|(c[q>>2]|0)!=0)?(e=(c[p>>2]|0)+88|0,e=IR(c[e>>2]|0,c[e+4>>2]|0,c[(c[p>>2]|0)+156>>2]|0,0)|0,g=(c[p>>2]|0)+80|0,(e|0)==(c[g>>2]|0)?(z|0)==(c[g+4>>2]|0):0):0){g=h;e=(c[p>>2]|0)+80|0;e=FR(c[g>>2]|0,c[g+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;g=(c[(c[p>>2]|0)+160>>2]|0)+8|0;g=LR(e|0,z|0,g|0,((g|0)<0)<<31>>31|0)|0;c[i>>2]=g}g=(c[p>>2]|0)+80|0;if((c[g+4>>2]|0)==0?(c[g>>2]|0)==(c[(c[p>>2]|0)+156>>2]|0):0){c[r>>2]=Gl(c[p>>2]|0,c[k>>2]|0)|0;if(c[r>>2]|0)break a;c[(c[p>>2]|0)+28>>2]=c[k>>2]}c[j>>2]=0;while(1){if((c[j>>2]|0)>>>0>=(c[i>>2]|0)>>>0)continue b;if(c[f>>2]|0){Kk(c[p>>2]|0);c[f>>2]=0}c[r>>2]=dm(c[p>>2]|0,(c[p>>2]|0)+80|0,0,1,0)|0;if(c[r>>2]|0)break;c[o>>2]=(c[o>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}if((c[r>>2]|0)!=101){b=26;break}b=h;e=c[b+4>>2]|0;g=(c[p>>2]|0)+80|0;c[g>>2]=c[b>>2];c[g+4>>2]=e}if((b|0)==8){if((c[r>>2]|0)!=101)break;c[r>>2]=0;break}else if((b|0)==26){if((c[r>>2]|0)!=522)break;c[r>>2]=0;break}}}while(0);a[(c[p>>2]|0)+19>>0]=a[(c[p>>2]|0)+13>>0]|0;if(!(c[r>>2]|0)){c[n>>2]=c[(c[p>>2]|0)+208>>2];c[r>>2]=am(c[(c[p>>2]|0)+68>>2]|0,c[n>>2]|0,(c[(c[c[p>>2]>>2]|0)+8>>2]|0)+1|0)|0}do if(!(c[r>>2]|0)){if((d[(c[p>>2]|0)+17>>0]|0)<4?d[(c[p>>2]|0)+17>>0]|0:0)break;c[r>>2]=em(c[p>>2]|0,0)|0}while(0);if(!(c[r>>2]|0))c[r>>2]=tl(c[p>>2]|0,(a[c[n>>2]>>0]|0)!=0&1,0)|0;if((c[r>>2]|0)==0?(c[m>>2]|0?(a[c[n>>2]>>0]|0)!=0:0):0)c[r>>2]=fm(c[p>>2]|0,c[n>>2]|0)|0;if(!((c[q>>2]|0)!=0&(c[o>>2]|0)!=0)){s=c[p>>2]|0;gm(s);s=c[r>>2]|0;l=t;return s|0}q=c[(c[p>>2]|0)+180>>2]|0;c[s>>2]=c[o>>2];c[s+4>>2]=q;hd(539,21757,s);s=c[p>>2]|0;gm(s);s=c[r>>2]|0;l=t;return s|0}function am(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+36|0;j=q+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q;f=q+12|0;g=q+8|0;h=q+40|0;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;a[c[k>>2]>>0]=0;b=Ik(c[j>>2]|0,p)|0;c[n>>2]=b;e=p;d=c[e+4>>2]|0;if((((((!(0!=(b|0)|((d|0)<0|(d|0)==0&(c[e>>2]|0)>>>0<16))?(d=c[j>>2]|0,e=p,e=FR(c[e>>2]|0,c[e+4>>2]|0,16,0)|0,e=lm(d,e,z,o)|0,c[n>>2]=e,0==(e|0)):0)?!((c[o>>2]|0)==0?1:(c[o>>2]|0)>>>0>=(c[m>>2]|0)>>>0):0)?(e=c[j>>2]|0,m=p,m=FR(c[m>>2]|0,c[m+4>>2]|0,12,0)|0,m=lm(e,m,z,f)|0,c[n>>2]=m,0==(m|0)):0)?(e=c[j>>2]|0,m=p,m=FR(c[m>>2]|0,c[m+4>>2]|0,8,0)|0,m=km(e,h,8,m,z)|0,c[n>>2]=m,0==(m|0)):0)?(wQ(h,21804,8)|0)==0:0)?(e=c[j>>2]|0,j=c[k>>2]|0,m=c[o>>2]|0,p,p=FR(c[p>>2]|0,c[p+4>>2]|0,16,0)|0,p=FR(p|0,z|0,c[o>>2]|0,0)|0,p=km(e,j,m,p,z)|0,c[n>>2]=p,0==(p|0)):0){c[g>>2]=0;while(1){if((c[g>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;c[f>>2]=(c[f>>2]|0)-(a[(c[k>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)+1}if(c[f>>2]|0)c[o>>2]=0;a[(c[k>>2]|0)+(c[o>>2]|0)>>0]=0;c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[i>>2]=c[n>>2];p=c[i>>2]|0;l=q;return p|0}function bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=wb[c[(c[j>>2]|0)+32>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function cm(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;p=s+44|0;q=s+40|0;r=s+36|0;t=s+8|0;h=s+32|0;i=s+28|0;j=s+24|0;k=s+48|0;m=s;n=s+20|0;o=s+16|0;c[q>>2]=a;c[r>>2]=b;b=t;c[b>>2]=d;c[b+4>>2]=e;c[h>>2]=f;c[i>>2]=g;d=nn(c[q>>2]|0)|0;f=(c[q>>2]|0)+80|0;c[f>>2]=d;c[f+4>>2]=z;f=(c[q>>2]|0)+80|0;f=IR(c[f>>2]|0,c[f+4>>2]|0,c[(c[q>>2]|0)+156>>2]|0,0)|0;d=z;g=t;e=c[g+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?f>>>0>(c[g>>2]|0)>>>0:0)){c[p>>2]=101;t=c[p>>2]|0;l=s;return t|0}f=(c[q>>2]|0)+80|0;g=c[f+4>>2]|0;t=m;c[t>>2]=c[f>>2];c[t+4>>2]=g;if(!(!(c[r>>2]|0)?(r=m,t=(c[q>>2]|0)+88|0,!((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))):0)){t=m;c[j>>2]=km(c[(c[q>>2]|0)+68>>2]|0,k,8,c[t>>2]|0,c[t+4>>2]|0)|0;if(c[j>>2]|0){c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}if(wQ(k,21804,8)|0){c[p>>2]=101;t=c[p>>2]|0;l=s;return t|0}}r=c[(c[q>>2]|0)+68>>2]|0;t=m;t=IR(c[t>>2]|0,c[t+4>>2]|0,8,0)|0;t=lm(r,t,z,c[h>>2]|0)|0;c[j>>2]=t;if((0==(t|0)?(r=c[(c[q>>2]|0)+68>>2]|0,t=m,t=IR(c[t>>2]|0,c[t+4>>2]|0,12,0)|0,t=lm(r,t,z,(c[q>>2]|0)+52|0)|0,c[j>>2]=t,0==(t|0)):0)?(r=c[(c[q>>2]|0)+68>>2]|0,t=m,t=IR(c[t>>2]|0,c[t+4>>2]|0,16,0)|0,t=lm(r,t,z,c[i>>2]|0)|0,c[j>>2]=t,0==(t|0)):0){t=(c[q>>2]|0)+80|0;do if((c[t>>2]|0)==0&(c[t+4>>2]|0)==0){r=c[(c[q>>2]|0)+68>>2]|0;t=m;t=IR(c[t>>2]|0,c[t+4>>2]|0,20,0)|0;t=lm(r,t,z,o)|0;c[j>>2]=t;if(0==(t|0)?(r=c[(c[q>>2]|0)+68>>2]|0,t=m,t=IR(c[t>>2]|0,c[t+4>>2]|0,24,0)|0,t=lm(r,t,z,n)|0,c[j>>2]=t,0==(t|0)):0){if(!(c[n>>2]|0))c[n>>2]=c[(c[q>>2]|0)+160>>2];if((!((c[n>>2]|0)>>>0<512|(c[o>>2]|0)>>>0<32|(c[n>>2]|0)>>>0>65536|(c[o>>2]|0)>>>0>65536)?((c[n>>2]|0)-1&c[n>>2]|0)==0:0)?((c[o>>2]|0)-1&c[o>>2]|0)==0:0){c[j>>2]=Gk(c[q>>2]|0,n,-1)|0;c[(c[q>>2]|0)+156>>2]=c[o>>2];break}c[p>>2]=101;t=c[p>>2]|0;l=s;return t|0}c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}while(0);t=(c[q>>2]|0)+80|0;r=t;r=IR(c[r>>2]|0,c[r+4>>2]|0,c[(c[q>>2]|0)+156>>2]|0,0)|0;c[t>>2]=r;c[t+4>>2]=z;c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}c[p>>2]=c[j>>2];t=c[p>>2]|0;l=s;return t|0}function dm(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;C=l;l=l+64|0;B=C+60|0;u=C+56|0;o=C+52|0;p=C+48|0;v=C+44|0;k=C+40|0;y=C+36|0;A=C+32|0;q=C+28|0;m=C+24|0;r=C+20|0;n=C+16|0;s=C+12|0;t=C;x=C+8|0;c[u>>2]=f;c[o>>2]=g;c[p>>2]=h;c[v>>2]=i;c[k>>2]=j;c[r>>2]=c[(c[u>>2]|0)+208>>2];f=c[u>>2]|0;if(c[v>>2]|0)f=c[f+68>>2]|0;else f=c[f+72>>2]|0;c[n>>2]=f;j=c[o>>2]|0;c[y>>2]=lm(c[n>>2]|0,c[j>>2]|0,c[j+4>>2]|0,q)|0;if(c[y>>2]|0){c[B>>2]=c[y>>2];B=c[B>>2]|0;l=C;return B|0}g=c[n>>2]|0;h=c[r>>2]|0;i=c[(c[u>>2]|0)+160>>2]|0;j=c[o>>2]|0;j=IR(c[j>>2]|0,c[j+4>>2]|0,4,0)|0;c[y>>2]=km(g,h,i,j,z)|0;if(c[y>>2]|0){c[B>>2]=c[y>>2];B=c[B>>2]|0;l=C;return B|0}i=(c[(c[u>>2]|0)+160>>2]|0)+4+(c[v>>2]<<2)|0;j=c[o>>2]|0;h=j;i=IR(c[h>>2]|0,c[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[j>>2]=i;c[j+4>>2]=z;if(c[q>>2]|0?(c[q>>2]|0)!=(((c[481]|0)/(c[(c[u>>2]|0)+160>>2]|0)|0)+1|0):0){if((c[q>>2]|0)>>>0<=(c[(c[u>>2]|0)+28>>2]|0)>>>0?(mm(c[p>>2]|0,c[q>>2]|0)|0)==0:0){if(c[v>>2]|0){j=c[n>>2]|0;n=c[o>>2]|0;n=FR(c[n>>2]|0,c[n+4>>2]|0,4,0)|0;c[y>>2]=lm(j,n,z,m)|0;if(c[y>>2]|0){c[B>>2]=c[y>>2];B=c[B>>2]|0;l=C;return B|0}if((c[k>>2]|0)==0?(n=nm(c[u>>2]|0,c[r>>2]|0)|0,(n|0)!=(c[m>>2]|0)):0){c[B>>2]=101;B=c[B>>2]|0;l=C;return B|0}}if(c[p>>2]|0?(p=om(c[p>>2]|0,c[q>>2]|0)|0,c[y>>2]=p,p|0):0){c[B>>2]=c[y>>2];B=c[B>>2]|0;l=C;return B|0}if((c[q>>2]|0)==1?(b[(c[u>>2]|0)+150>>1]|0)!=(d[(c[r>>2]|0)+20>>0]|0):0)b[(c[u>>2]|0)+150>>1]=d[(c[r>>2]|0)+20>>0]|0;if(El(c[u>>2]|0)|0)c[A>>2]=0;else c[A>>2]=pm(c[u>>2]|0,c[q>>2]|0)|0;if(c[v>>2]|0){if(d[(c[u>>2]|0)+7>>0]|0)f=1;else{p=c[o>>2]|0;n=c[p+4>>2]|0;f=(c[u>>2]|0)+88|0;o=c[f+4>>2]|0;f=(n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<=(c[f>>2]|0)>>>0:0)}c[s>>2]=f&1}else{if(!(c[A>>2]|0))f=1;else f=0==(e[(c[A>>2]|0)+24>>1]&8|0);c[s>>2]=f&1}do if(c[c[(c[u>>2]|0)+64>>2]>>2]|0){if((d[(c[u>>2]|0)+17>>0]|0)>=4){if(!(c[s>>2]|0)){w=44;break}}else if(!(c[s>>2]|0?(d[(c[u>>2]|0)+17>>0]|0)==0:0)){w=44;break}p=c[(c[u>>2]|0)+160>>2]|0;p=RR((c[q>>2]|0)-1|0,0,p|0,((p|0)<0)<<31>>31|0)|0;s=t;c[s>>2]=p;c[s+4>>2]=z;c[y>>2]=Ol(c[(c[u>>2]|0)+64>>2]|0,c[r>>2]|0,c[(c[u>>2]|0)+160>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;if((c[q>>2]|0)>>>0>(c[(c[u>>2]|0)+36>>2]|0)>>>0)c[(c[u>>2]|0)+36>>2]=c[q>>2];if(c[(c[u>>2]|0)+96>>2]|0){qm(c[(c[u>>2]|0)+96>>2]|0,c[q>>2]|0,c[r>>2]|0);c[r>>2]=c[r>>2]}}else w=44;while(0);do if((w|0)==44?(c[v>>2]|0)==0&(c[A>>2]|0)==0:0){w=(c[u>>2]|0)+21|0;a[w>>0]=d[w>>0]|2;c[y>>2]=rm(c[u>>2]|0,c[q>>2]|0,A,1)|0;w=(c[u>>2]|0)+21|0;a[w>>0]=d[w>>0]&-3;if(!(c[y>>2]|0)){sm(c[A>>2]|0);break}c[B>>2]=c[y>>2];B=c[B>>2]|0;l=C;return B|0}while(0);if(c[A>>2]|0){c[x>>2]=c[(c[A>>2]|0)+4>>2];MR(c[x>>2]|0,c[r>>2]|0,c[(c[u>>2]|0)+160>>2]|0)|0;qb[c[(c[u>>2]|0)+204>>2]&255](c[A>>2]|0);if((c[q>>2]|0)==1){h=(c[u>>2]|0)+112|0;f=(c[x>>2]|0)+24|0;g=h+16|0;do{a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0}while((h|0)<(g|0))}tm(c[A>>2]|0)}c[B>>2]=c[y>>2];B=c[B>>2]|0;l=C;return B|0}c[B>>2]=0;B=c[B>>2]|0;l=C;return B|0}c[B>>2]=101;B=c[B>>2]|0;l=C;return B|0}function em(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if(c[c[(c[f>>2]|0)+64>>2]>>2]|0){c[i>>2]=c[g>>2];i=Hl(c[(c[f>>2]|0)+64>>2]|0,21,c[i>>2]|0)|0;c[h>>2]=i;c[h>>2]=(c[h>>2]|0)==12?0:i}if(c[h>>2]|0){i=c[h>>2]|0;l=j;return i|0}if(a[(c[f>>2]|0)+7>>0]|0){i=c[h>>2]|0;l=j;return i|0}c[h>>2]=xl(c[(c[f>>2]|0)+64>>2]|0,d[(c[f>>2]|0)+12>>0]|0)|0;i=c[h>>2]|0;l=j;return i|0}function fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+64|0;t=s+60|0;k=s+56|0;m=s+52|0;n=s+48|0;o=s+44|0;p=s+40|0;q=s+36|0;r=s;e=s+32|0;f=s+28|0;g=s+24|0;h=s+16|0;i=s+12|0;j=s+8|0;c[t>>2]=b;c[k>>2]=d;c[m>>2]=c[c[t>>2]>>2];c[q>>2]=0;d=c[(c[m>>2]|0)+4>>2]<<1;c[o>>2]=Cg(d,((d|0)<0)<<31>>31)|0;c[p>>2]=(c[o>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);if(c[o>>2]|0){c[s+20>>2]=16385;c[n>>2]=Zl(c[m>>2]|0,c[k>>2]|0,c[o>>2]|0,16385,0)|0}else c[n>>2]=7;a:do if((c[n>>2]|0)==0?(c[n>>2]=Ik(c[o>>2]|0,r)|0,(c[n>>2]|0)==0):0){c[g>>2]=(c[(c[m>>2]|0)+8>>2]|0)+1;d=r;t=c[g>>2]|0;t=IR(c[d>>2]|0,c[d+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;t=IR(t|0,z|0,1,0)|0;c[q>>2]=pd(t,z)|0;if(!(c[q>>2]|0)){c[n>>2]=7;break}d=c[q>>2]|0;t=r;t=IR(c[t>>2]|0,c[t+4>>2]|0,1,0)|0;c[f>>2]=d+t;c[n>>2]=km(c[o>>2]|0,c[q>>2]|0,c[r>>2]|0,0,0)|0;if(!(c[n>>2]|0)){a[(c[q>>2]|0)+(c[r>>2]|0)>>0]=0;c[e>>2]=c[q>>2];while(1){d=(c[e>>2]|0)-(c[q>>2]|0)|0;u=((d|0)<0)<<31>>31;t=r;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?d>>>0<(c[t>>2]|0)>>>0:0)))break;c[n>>2]=bm(c[m>>2]|0,c[e>>2]|0,0,h)|0;if(c[n>>2]|0)break a;if(c[h>>2]|0){c[j>>2]=2049;c[n>>2]=Zl(c[m>>2]|0,c[e>>2]|0,c[p>>2]|0,c[j>>2]|0,0)|0;if(c[n>>2]|0)break a;c[n>>2]=am(c[p>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;ql(c[p>>2]|0);if(c[n>>2]|0)break a;if(a[c[f>>2]>>0]|0)b=(vQ(c[f>>2]|0,c[k>>2]|0)|0)==0;else b=0;c[i>>2]=b&1;if(c[i>>2]|0)break a}u=(_c(c[e>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+u}ql(c[o>>2]|0);c[n>>2]=zl(c[m>>2]|0,c[k>>2]|0,0)|0}}while(0);Kd(c[q>>2]|0);if(!(c[o>>2]|0)){u=c[n>>2]|0;l=s;return u|0}ql(c[o>>2]|0);Kd(c[o>>2]|0);u=c[n>>2]|0;l=s;return u|0}function gm(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+13>>0]|0|0)==0?((hm(c[(c[b>>2]|0)+64>>2]|0)|0)&4096|0)==0:0){a=im(c[(c[b>>2]|0)+64>>2]|0)|0;b=c[b>>2]|0;b=b+156|0;c[b>>2]=a;l=e;return}a=512;b=c[b>>2]|0;b=b+156|0;c[b>>2]=a;l=e;return}function hm(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=tb[c[(c[c[d>>2]>>2]|0)+48>>2]&255](c[d>>2]|0)|0;l=b;return a|0}function im(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=jm(c[e>>2]|0)|0;if((c[b>>2]|0)>=32){if((c[b>>2]|0)>65536)c[b>>2]=65536}else c[b>>2]=512;l=d;return c[b>>2]|0}function jm(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[c[b>>2]>>2]|0)+44>>2];if(!(c[d>>2]|0)){d=4096;l=e;return d|0}d=tb[c[d>>2]&255](c[b>>2]|0)|0;l=e;return d|0}function km(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+16|0;i=g+12|0;h=g+8|0;k=g;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;f=k;f=zb[c[(c[c[j>>2]>>2]|0)+8>>2]&255](c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=g;return f|0}function lm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;j=i+16|0;k=i;f=i+12|0;g=i+20|0;h=i+8|0;c[j>>2]=a;a=k;c[a>>2]=b;c[a+4>>2]=d;c[f>>2]=e;e=k;c[h>>2]=km(c[j>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=i;return k|0}k=el(g)|0;c[c[f>>2]>>2]=k;k=c[h>>2]|0;l=i;return k|0}function mm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[d>>2]|0)){e=0;e=e&1;l=f;return e|0}e=(en(c[d>>2]|0,c[e>>2]|0)|0)!=0;e=e&1;l=f;return e|0}function nm(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[i>>2]|0)+52>>2];c[g>>2]=(c[(c[i>>2]|0)+160>>2]|0)-200;while(1){if((c[g>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[e>>2]|0)+(c[g>>2]|0)>>0]|0);c[g>>2]=(c[g>>2]|0)-200}l=h;return c[f>>2]|0}function om(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;g=p+20|0;h=p+16|0;f=p+12|0;m=p+8|0;n=p+4|0;o=p;c[k>>2]=b;c[g>>2]=e;if(!(c[k>>2]|0)){c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}c[g>>2]=(c[g>>2]|0)+-1;while(1){if((c[c[k>>2]>>2]|0)>>>0<=4e3)break;if(!(c[(c[k>>2]|0)+8>>2]|0))break;c[f>>2]=((c[g>>2]|0)>>>0)/((c[(c[k>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=((c[g>>2]|0)>>>0)%((c[(c[k>>2]|0)+8>>2]|0)>>>0)|0;if((c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0?(e=hn(c[(c[k>>2]|0)+8>>2]|0)|0,c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]=e,(c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]|0)==0):0){i=8;break}c[k>>2]=c[(c[k>>2]|0)+12+(c[f>>2]<<2)>>2]}if((i|0)==8){c[j>>2]=7;o=c[j>>2]|0;l=p;return o|0}b=c[g>>2]|0;if((c[c[k>>2]>>2]|0)>>>0<=4e3){o=(c[k>>2]|0)+12+(((c[g>>2]|0)>>>0)/8|0)|0;a[o>>0]=d[o>>0]|0|1<<(b&7);c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}c[g>>2]=b+1;c[h>>2]=(b>>>0)%125|0;a:do if(!(c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]|0)){if((c[(c[k>>2]|0)+4>>2]|0)>>>0>=124)i=17}else{while(1){if((c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]|0)==(c[g>>2]|0))break;i=(c[h>>2]|0)+1|0;c[h>>2]=i;c[h>>2]=(c[h>>2]|0)>>>0>=125?0:i;if(!(c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]|0)){i=17;break a}}c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}while(0);if((i|0)==17?(c[(c[k>>2]|0)+4>>2]|0)>>>0>=62:0){c[o>>2]=md(0,500,0)|0;if(!(c[o>>2]|0)){c[j>>2]=7;o=c[j>>2]|0;l=p;return o|0}MR(c[o>>2]|0,(c[k>>2]|0)+12|0,500)|0;GR((c[k>>2]|0)+12|0,0,500)|0;c[(c[k>>2]|0)+8>>2]=(((c[c[k>>2]>>2]|0)+125-1|0)>>>0)/125|0;c[n>>2]=om(c[k>>2]|0,c[g>>2]|0)|0;c[m>>2]=0;while(1){b=c[o>>2]|0;if((c[m>>2]|0)>>>0>=125)break;if(c[b+(c[m>>2]<<2)>>2]|0){i=om(c[k>>2]|0,c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0)|0;c[n>>2]=c[n>>2]|i}c[m>>2]=(c[m>>2]|0)+1}Hd(0,b);c[j>>2]=c[n>>2];o=c[j>>2]|0;l=p;return o|0}o=(c[k>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;c[(c[k>>2]|0)+12+(c[h>>2]<<2)>>2]=c[g>>2];c[j>>2]=0;o=c[j>>2]|0;l=p;return o|0}function pm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=zm(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=Bm(c[(c[e>>2]|0)+212>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}return 0}function qm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[e>>2]|0)){l=h;return}Om(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0);l=h;return}function rm(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;u=t+28|0;s=t+24|0;j=t+20|0;k=t+16|0;m=t+12|0;n=t+8|0;g=t+4|0;h=t;c[p>>2]=a;c[q>>2]=b;c[r>>2]=e;c[u>>2]=f;c[s>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[u>>2]&1;c[n>>2]=0;if((c[q>>2]|0)>>>0<=1&(c[q>>2]|0)==0){c[o>>2]=um(51704)|0;u=c[o>>2]|0;l=t;return u|0}do if(c[(c[p>>2]|0)+44>>2]|0){c[s>>2]=c[(c[p>>2]|0)+44>>2];i=24}else{if((c[n>>2]|0?El(c[p>>2]|0)|0:0)?(c[s>>2]=vm(c[(c[p>>2]|0)+216>>2]|0,c[q>>2]|0,k)|0,c[s>>2]|0):0)break;if((c[n>>2]|0)!=0&(c[k>>2]|0)==0){c[g>>2]=0;f=c[(c[p>>2]|0)+64>>2]|0;u=c[(c[p>>2]|0)+160>>2]|0;u=RR((c[q>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;c[s>>2]=wm(f,u,z,c[(c[p>>2]|0)+160>>2]|0,g)|0;if((c[s>>2]|0)==0&(c[g>>2]|0)!=0){if(!((d[(c[p>>2]|0)+17>>0]|0|0)<=1?!(d[(c[p>>2]|0)+13>>0]|0|0):0))c[j>>2]=pm(c[p>>2]|0,c[q>>2]|0)|0;a=c[p>>2]|0;if(!(c[j>>2]|0))c[s>>2]=xm(a,c[q>>2]|0,c[g>>2]|0,j)|0;else{f=c[a+64>>2]|0;u=c[(c[p>>2]|0)+160>>2]|0;u=RR((c[q>>2]|0)-1|0,0,u|0,((u|0)<0)<<31>>31|0)|0;ym(f,u,z,c[g>>2]|0)|0}if(c[j>>2]|0){c[c[r>>2]>>2]=c[j>>2];c[o>>2]=0;u=c[o>>2]|0;l=t;return u|0}}if(c[s>>2]|0)break}c[h>>2]=zm(c[(c[p>>2]|0)+212>>2]|0,c[q>>2]|0,3)|0;if(!(c[h>>2]|0)){c[s>>2]=Am(c[(c[p>>2]|0)+212>>2]|0,c[q>>2]|0,h)|0;if(c[s>>2]|0)break;if(!(c[h>>2]|0)){c[c[r>>2]>>2]=0;c[j>>2]=0;c[s>>2]=7;break}}i=Bm(c[(c[p>>2]|0)+212>>2]|0,c[q>>2]|0,c[h>>2]|0)|0;c[c[r>>2]>>2]=i;c[j>>2]=i;i=24}while(0);do if((i|0)==24){if(c[s>>2]|0){c[j>>2]=0;break}a=c[p>>2]|0;if(!(c[m>>2]|0?1:(c[(c[j>>2]|0)+16>>2]|0)==0)){u=a+192|0;c[u>>2]=(c[u>>2]|0)+1;c[o>>2]=0;u=c[o>>2]|0;l=t;return u|0}c[(c[j>>2]|0)+16>>2]=a;if((c[q>>2]|0)>>>0<=2147483647?(c[q>>2]|0)!=(((c[481]|0)/(c[(c[p>>2]|0)+160>>2]|0)|0)+1|0):0){if(c[c[(c[p>>2]|0)+64>>2]>>2]|0?!(c[m>>2]|0?1:(c[(c[p>>2]|0)+28>>2]|0)>>>0<(c[q>>2]|0)>>>0):0){u=(El(c[p>>2]|0)|0)!=0;if(u&(c[n>>2]|0)==0?(c[s>>2]=vm(c[(c[p>>2]|0)+216>>2]|0,c[q>>2]|0,k)|0,c[s>>2]|0):0)break;u=(c[p>>2]|0)+192+4|0;c[u>>2]=(c[u>>2]|0)+1;c[s>>2]=Dm(c[j>>2]|0,c[k>>2]|0)|0;if(c[s>>2]|0)break}else{if((c[q>>2]|0)>>>0>(c[(c[p>>2]|0)+164>>2]|0)>>>0){c[s>>2]=13;break}if(c[m>>2]|0){zg();if((c[q>>2]|0)>>>0<=(c[(c[p>>2]|0)+32>>2]|0)>>>0)om(c[(c[p>>2]|0)+60>>2]|0,c[q>>2]|0)|0;Cm(c[p>>2]|0,c[q>>2]|0)|0;Bg()}GR(c[(c[j>>2]|0)+4>>2]|0,0,c[(c[p>>2]|0)+160>>2]|0)|0}c[o>>2]=0;u=c[o>>2]|0;l=t;return u|0}c[s>>2]=um(51793)|0}while(0);if(c[j>>2]|0)Em(c[j>>2]|0);Fm(c[p>>2]|0);c[c[r>>2]>>2]=0;c[o>>2]=c[s>>2];u=c[o>>2]|0;l=t;return u|0}function sm(a){a=a|0;var d=0,f=0;f=l;l=l+16|0;d=f;c[d>>2]=a;if(!((e[(c[d>>2]|0)+24>>1]|0)&17)){l=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-17;if(!((e[(c[d>>2]|0)+24>>1]|0)&1)){l=f;return}a=(c[d>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)^3;Tk(c[d>>2]|0,2);l=f;return}function tm(a){a=a|0;var d=0,f=0,g=0;f=l;l=l+16|0;d=f;c[d>>2]=a;g=(c[(c[d>>2]|0)+28>>2]|0)+12|0;c[g>>2]=(c[g>>2]|0)+-1;g=(c[d>>2]|0)+26|0;a=(b[g>>1]|0)+-1<<16>>16;b[g>>1]=a;if(a<<16>>16|0){l=f;return}a=c[d>>2]|0;if((e[(c[d>>2]|0)+24>>1]|0)&1|0){Uk(a);l=f;return}if(!(c[a+36>>2]|0)){l=f;return}Tk(c[d>>2]|0,3);l=f;return}function um(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=fd(11,c[d>>2]|0,21784)|0;l=b;return a|0}function vm(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;t=w+56|0;o=w+52|0;p=w+48|0;u=w+44|0;v=w+40|0;q=w+36|0;r=w+32|0;g=w+28|0;h=w+24|0;i=w+20|0;j=w+16|0;k=w+12|0;m=w+8|0;s=w+4|0;n=w;c[o>>2]=a;c[p>>2]=d;c[u>>2]=f;c[v>>2]=0;c[q>>2]=c[(c[o>>2]|0)+52+16>>2];if(c[q>>2]|0?b[(c[o>>2]|0)+40>>1]|0:0){c[g>>2]=Im(c[(c[o>>2]|0)+100>>2]|0)|0;c[r>>2]=Im(c[q>>2]|0)|0;a:while(1){if(!((c[r>>2]|0)>=(c[g>>2]|0)?(c[v>>2]|0)==0:0)){a=18;break}c[s>>2]=Jm(c[o>>2]|0,c[r>>2]|0,h,i,j)|0;if(c[s>>2]|0){a=7;break}c[m>>2]=8192;c[k>>2]=Km(c[p>>2]|0)|0;while(1){if(!(b[(c[h>>2]|0)+(c[k>>2]<<1)>>1]|0))break;c[n>>2]=(e[(c[h>>2]|0)+(c[k>>2]<<1)>>1]|0)+(c[j>>2]|0);if(((c[n>>2]|0)>>>0<=(c[q>>2]|0)>>>0?(c[n>>2]|0)>>>0>=(c[(c[o>>2]|0)+100>>2]|0)>>>0:0)?(c[(c[i>>2]|0)+(e[(c[h>>2]|0)+(c[k>>2]<<1)>>1]<<2)>>2]|0)==(c[p>>2]|0):0)c[v>>2]=c[n>>2];f=c[m>>2]|0;c[m>>2]=f+-1;if(!f){a=15;break a}c[k>>2]=Lm(c[k>>2]|0)|0}c[r>>2]=(c[r>>2]|0)+-1}if((a|0)==7){c[t>>2]=c[s>>2];v=c[t>>2]|0;l=w;return v|0}else if((a|0)==15){c[t>>2]=um(56344)|0;v=c[t>>2]|0;l=w;return v|0}else if((a|0)==18){c[c[u>>2]>>2]=c[v>>2];c[t>>2]=0;v=c[t>>2]|0;l=w;return v|0}}c[c[u>>2]>>2]=0;c[t>>2]=0;v=c[t>>2]|0;l=w;return v|0}function wm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=l;l=l+32|0;h=g+8|0;c[g+16>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[g+12>>2]=e;c[h>>2]=f;c[c[h>>2]>>2]=0;l=g;return 0}function xm(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=a;c[j>>2]=d;c[k>>2]=f;c[m>>2]=g;a=c[i>>2]|0;do if(c[(c[i>>2]|0)+144>>2]|0){g=c[a+144>>2]|0;c[n>>2]=g;c[c[m>>2]>>2]=g;c[(c[i>>2]|0)+144>>2]=c[(c[n>>2]|0)+12>>2];c[(c[n>>2]|0)+12>>2]=0;GR(c[(c[n>>2]|0)+8>>2]|0,0,e[(c[i>>2]|0)+148>>1]|0|0)|0}else{g=Cg(40+(e[a+148>>1]|0)|0,0)|0;c[n>>2]=g;c[c[m>>2]>>2]=g;if(c[n>>2]|0){c[(c[n>>2]|0)+8>>2]=(c[n>>2]|0)+40;b[(c[n>>2]|0)+24>>1]=32;b[(c[n>>2]|0)+26>>1]=1;c[(c[n>>2]|0)+16>>2]=c[i>>2];break}m=c[(c[i>>2]|0)+64>>2]|0;n=c[(c[i>>2]|0)+160>>2]|0;n=RR((c[j>>2]|0)-1|0,0,n|0,((n|0)<0)<<31>>31|0)|0;ym(m,n,z,c[k>>2]|0)|0;c[h>>2]=7;n=c[h>>2]|0;l=o;return n|0}while(0);c[(c[n>>2]|0)+20>>2]=c[j>>2];c[(c[n>>2]|0)+4>>2]=c[k>>2];n=(c[i>>2]|0)+128|0;c[n>>2]=(c[n>>2]|0)+1;c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}function ym(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=l;l=l+16|0;c[f+12>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[f+8>>2]=e;l=f;return 0}function zm(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;j=g+16|0;i=g+12|0;k=g+8|0;h=g+4|0;f=g;c[j>>2]=a;c[i>>2]=b;c[k>>2]=e;c[h>>2]=c[k>>2]&(d[(c[j>>2]|0)+33>>0]|0);c[f>>2]=ob[c[144>>2]&255](c[(c[j>>2]|0)+44>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return c[f>>2]|0}function Am(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=a;c[j>>2]=f;c[k>>2]=g;if((d[(c[i>>2]|0)+33>>0]|0)==2){c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}g=rk(c[i>>2]|0)|0;if((g|0)>(c[(c[i>>2]|0)+20>>2]|0)){c[m>>2]=c[(c[i>>2]|0)+8>>2];while(1){if(!(c[m>>2]|0))break;if((b[(c[m>>2]|0)+26>>1]|0)==0?(e[(c[m>>2]|0)+24>>1]&8|0)==0:0)break;c[m>>2]=c[(c[m>>2]|0)+36>>2]}c[(c[i>>2]|0)+8>>2]=c[m>>2];a:do if(!(c[m>>2]|0)){c[m>>2]=c[(c[i>>2]|0)+4>>2];while(1){if(!(c[m>>2]|0))break a;if(!(b[(c[m>>2]|0)+26>>1]|0))break a;c[m>>2]=c[(c[m>>2]|0)+36>>2]}}while(0);if(c[m>>2]|0?(c[n>>2]=yb[c[(c[i>>2]|0)+36>>2]&255](c[(c[i>>2]|0)+40>>2]|0,c[m>>2]|0)|0,(c[n>>2]|0)!=0&(c[n>>2]|0)!=5):0){c[h>>2]=c[n>>2];n=c[h>>2]|0;l=o;return n|0}}n=ob[c[144>>2]&255](c[(c[i>>2]|0)+44>>2]|0,c[j>>2]|0,2)|0;c[c[k>>2]>>2]=n;c[h>>2]=(c[c[k>>2]>>2]|0)==0?7:0;n=c[h>>2]|0;l=o;return n|0}function Bm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[(c[h>>2]|0)+4>>2];a=c[k>>2]|0;if(c[c[i>>2]>>2]|0){k=a+12|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[i>>2]|0)+26|0;b[k>>1]=(b[k>>1]|0)+1<<16>>16;c[f>>2]=c[i>>2];k=c[f>>2]|0;l=j;return k|0}else{c[f>>2]=Hm(a,c[g>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}return 0}function Cm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+104>>2]|0))break;c[h>>2]=(c[(c[d>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[e>>2]|0)>>>0<=(c[(c[h>>2]|0)+20>>2]|0)>>>0){b=om(c[(c[h>>2]|0)+16>>2]|0,c[e>>2]|0)|0;c[g>>2]=c[g>>2]|b}c[f>>2]=(c[f>>2]|0)+1}l=i;return c[g>>2]|0}function Dm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;e=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;i=n+12|0;j=n;k=n+8|0;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[e>>2]|0)+16>>2];c[h>>2]=c[(c[e>>2]|0)+20>>2];c[m>>2]=0;c[i>>2]=c[(c[g>>2]|0)+160>>2];if(c[f>>2]|0)c[m>>2]=Gm(c[(c[g>>2]|0)+216>>2]|0,c[f>>2]|0,c[i>>2]|0,c[(c[e>>2]|0)+4>>2]|0)|0;else{d=c[(c[g>>2]|0)+160>>2]|0;d=RR((c[h>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;f=j;c[f>>2]=d;c[f+4>>2]=z;j=km(c[(c[g>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+4>>2]|0,c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;c[m>>2]=j;c[m>>2]=(c[m>>2]|0)==522?0:j}if((c[h>>2]|0)!=1){m=c[m>>2]|0;l=n;return m|0}if(c[m>>2]|0){k=(c[g>>2]|0)+112|0;c[k>>2]=-1;c[k+4>>2]=-1;c[k+8>>2]=-1;c[k+12>>2]=-1;m=c[m>>2]|0;l=n;return m|0}else{c[k>>2]=(c[(c[e>>2]|0)+4>>2]|0)+24;e=(c[g>>2]|0)+112|0;b=c[k>>2]|0;d=e+16|0;do{a[e>>0]=a[b>>0]|0;e=e+1|0;b=b+1|0}while((e|0)<(d|0));m=c[m>>2]|0;l=n;return m|0}return 0}function Em(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((e[(c[b>>2]|0)+24>>1]|0)&2|0)Tk(c[b>>2]|0,1);a=(c[(c[b>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+-1;ub[c[148>>2]&255](c[(c[(c[b>>2]|0)+28>>2]|0)+44>>2]|0,c[c[b>>2]>>2]|0,1);l=d;return}function Fm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+128>>2]|0){l=d;return}if(Hk(c[(c[b>>2]|0)+212>>2]|0)|0){l=d;return}pl(c[b>>2]|0);l=d;return}function Gm(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;g=l;l=l+32|0;k=g+24|0;n=g+20|0;h=g+16|0;j=g+12|0;i=g+8|0;m=g;c[k>>2]=a;c[n>>2]=b;c[h>>2]=d;c[j>>2]=f;c[i>>2]=e[(c[k>>2]|0)+52+14>>1];c[i>>2]=(c[i>>2]&65024)+((c[i>>2]&1)<<16);d=(c[i>>2]|0)+24|0;d=RR((c[n>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;d=IR(32,0,d|0,z|0)|0;d=IR(d|0,z|0,24,0)|0;f=m;c[f>>2]=d;c[f+4>>2]=z;f=m;f=km(c[(c[k>>2]|0)+8>>2]|0,c[j>>2]|0,(c[h>>2]|0)>(c[i>>2]|0)?c[i>>2]|0:c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=g;return f|0}function Hm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;j=f;c[i>>2]=a;c[h>>2]=d;c[g>>2]=e;c[j>>2]=c[(c[g>>2]|0)+4>>2];e=(c[j>>2]|0)+12|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[c[j>>2]>>2]=c[g>>2];c[(c[j>>2]|0)+4>>2]=c[c[g>>2]>>2];c[(c[j>>2]|0)+8>>2]=(c[j>>2]|0)+40;GR(c[(c[j>>2]|0)+8>>2]|0,0,c[(c[i>>2]|0)+28>>2]|0)|0;c[(c[j>>2]|0)+28>>2]=c[i>>2];c[(c[j>>2]|0)+20>>2]=c[h>>2];b[(c[j>>2]|0)+24>>1]=1;e=Bm(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function Im(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(((c[e>>2]|0)+4096-4062-1|0)>>>0)/4096|0;l=d;return c[b>>2]|0}function Jm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;q=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;g=p+12|0;h=p+8|0;i=p+4|0;j=p;c[q>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[g>>2]=Mm(c[q>>2]|0,c[k>>2]|0,h)|0;if(c[g>>2]|0){q=c[g>>2]|0;l=p;return q|0}c[j>>2]=(c[h>>2]|0)+16384;if(!(c[k>>2]|0)){c[h>>2]=(c[h>>2]|0)+136;c[i>>2]=0}else c[i>>2]=4062+((c[k>>2]|0)-1<<12);c[c[n>>2]>>2]=(c[h>>2]|0)+-4;c[c[m>>2]>>2]=c[j>>2];c[c[o>>2]>>2]=c[i>>2];q=c[g>>2]|0;l=p;return q|0}function Km(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)*383&8191|0}function Lm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)+1&8191|0}function Mm(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;c[k>>2]=0;do if((c[(c[h>>2]|0)+24>>2]|0)<=(c[i>>2]|0)){c[m>>2]=(c[i>>2]|0)+1<<2;m=c[m>>2]|0;c[n>>2]=Qd(c[(c[h>>2]|0)+32>>2]|0,m,((m|0)<0)<<31>>31)|0;if(c[n>>2]|0){GR((c[n>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0,0,(c[i>>2]|0)+1-(c[(c[h>>2]|0)+24>>2]|0)<<2|0)|0;c[(c[h>>2]|0)+32>>2]=c[n>>2];c[(c[h>>2]|0)+24>>2]=(c[i>>2]|0)+1;break}c[c[j>>2]>>2]=0;c[g>>2]=7;n=c[g>>2]|0;l=o;return n|0}while(0);do if(!(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2]|0))if((d[(c[h>>2]|0)+43>>0]|0|0)==2){n=Cg(32768,0)|0;c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2]=n;if(c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2]|0)break;c[k>>2]=7;break}else{c[k>>2]=Nm(c[(c[h>>2]|0)+4>>2]|0,c[i>>2]|0,32768,d[(c[h>>2]|0)+44>>0]|0,(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)|0)|0;if((c[k>>2]|0)!=8)break;n=(c[h>>2]|0)+46|0;a[n>>0]=d[n>>0]|0|2;c[k>>2]=0;break}while(0);c[c[j>>2]>>2]=c[(c[(c[h>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2];c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}function Nm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=zb[c[(c[c[m>>2]>>2]|0)+52>>2]&255](c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function Om(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;do{if(((Pm(c[(c[e>>2]|0)+28>>2]|0)|0)==0?(c[f>>2]|0)>>>0<(c[(c[e>>2]|0)+16>>2]|0)>>>0:0)?(c[h>>2]=Qm(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1)|0,c[h>>2]|0):0)c[(c[e>>2]|0)+28>>2]=c[h>>2];d=c[(c[e>>2]|0)+44>>2]|0;c[e>>2]=d}while((d|0)!=0);l=i;return}function Pm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)!=0&(c[b>>2]|0)!=5)){b=0;b=b&1;l=d;return b|0}b=(c[b>>2]|0)!=6;b=b&1;l=d;return b|0} +function sG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+8|0;p=r;i=r+44|0;j=r+40|0;k=r+49|0;m=r+36|0;n=r+32|0;o=r+48|0;h=r+28|0;c[i>>2]=b;c[j>>2]=e;a[k>>0]=f;c[m>>2]=g;c[n>>2]=lp(c[c[i>>2]>>2]|0,c[j>>2]|0,o,h)|0;if(c[n>>2]|0){if((c[n>>2]|0)==7|(c[n>>2]|0)==3082)c[(c[i>>2]|0)+24>>2]=1;q=c[i>>2]|0;c[p>>2]=c[j>>2];vG(q,37292,p);l=r;return}if((d[o>>0]|0|0)==(d[k>>0]|0|0)?(c[h>>2]|0)==(c[m>>2]|0):0){l=r;return}p=c[i>>2]|0;k=d[k>>0]|0;m=c[m>>2]|0;n=d[o>>0]|0;o=c[h>>2]|0;c[q>>2]=c[j>>2];c[q+4>>2]=k;c[q+8>>2]=m;c[q+12>>2]=n;c[q+16>>2]=o;vG(p,37321,q);l=r;return}function tG(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=l;l=l+256|0;_=ca+96|0;Z=ca+88|0;Y=ca+80|0;X=ca+72|0;aa=ca+64|0;$=ca+48|0;m=ca+40|0;k=ca+32|0;S=ca+240|0;T=ca+236|0;U=ca+232|0;V=ca+228|0;W=ca+24|0;n=ca+224|0;o=ca+220|0;j=ca+216|0;p=ca+212|0;q=ca+208|0;r=ca+204|0;s=ca+200|0;t=ca+196|0;u=ca+192|0;v=ca+188|0;w=ca+184|0;x=ca+180|0;y=ca+176|0;z=ca+172|0;A=ca+168|0;B=ca+164|0;C=ca+160|0;D=ca+156|0;E=ca+152|0;F=ca+148|0;G=ca+144|0;H=ca+140|0;I=ca+136|0;J=ca+132|0;K=ca+128|0;L=ca+244|0;M=ca;N=ca+124|0;O=ca+120|0;P=ca+116|0;Q=ca+112|0;R=ca+108|0;c[T>>2]=b;c[U>>2]=f;c[V>>2]=g;g=W;c[g>>2]=h;c[g+4>>2]=i;c[n>>2]=0;c[p>>2]=-1;c[w>>2]=1;c[x>>2]=1;c[F>>2]=0;c[H>>2]=0;c[I>>2]=c[(c[T>>2]|0)+28>>2];c[J>>2]=c[(c[T>>2]|0)+32>>2];c[K>>2]=c[(c[T>>2]|0)+36>>2];a[L>>0]=0;c[B>>2]=c[c[T>>2]>>2];c[D>>2]=c[(c[B>>2]|0)+36>>2];if(!(c[U>>2]|0)){c[S>>2]=0;ba=c[S>>2]|0;l=ca;return ba|0}if(wG(c[T>>2]|0,c[U>>2]|0)|0){c[S>>2]=0;ba=c[S>>2]|0;l=ca;return ba|0}c[(c[T>>2]|0)+28>>2]=36912;c[(c[T>>2]|0)+32>>2]=c[U>>2];i=op(c[B>>2]|0,c[U>>2]|0,n,0)|0;c[j>>2]=i;do if(!(i|0)){a[L>>0]=a[c[n>>2]>>0]|0;a[c[n>>2]>>0]=0;k=Bo(c[n>>2]|0)|0;c[j>>2]=k;if(k|0){ba=c[T>>2]|0;c[m>>2]=c[j>>2];vG(ba,36960,m);break}c[y>>2]=c[(c[n>>2]|0)+56>>2];c[t>>2]=d[(c[n>>2]|0)+5>>0];c[(c[T>>2]|0)+28>>2]=36998;c[E>>2]=((d[(c[y>>2]|0)+((c[t>>2]|0)+5)>>0]<<8|d[(c[y>>2]|0)+((c[t>>2]|0)+5)+1>>0])-1&65535)+1;c[v>>2]=d[(c[y>>2]|0)+((c[t>>2]|0)+3)>>0]<<8|d[(c[y>>2]|0)+((c[t>>2]|0)+3)+1>>0];c[u>>2]=(c[t>>2]|0)+12-(d[(c[n>>2]|0)+4>>0]<<2);c[A>>2]=(c[y>>2]|0)+((c[u>>2]|0)+((c[v>>2]|0)-1<<1));if(a[(c[n>>2]|0)+4>>0]|0){c[F>>2]=c[(c[T>>2]|0)+68>>2];c[c[F>>2]>>2]=0}else{c[r>>2]=el((c[y>>2]|0)+((c[t>>2]|0)+8)|0)|0;if(a[(c[B>>2]|0)+17>>0]|0){c[(c[T>>2]|0)+28>>2]=37024;sG(c[T>>2]|0,c[r>>2]|0,5,c[U>>2]|0)}m=W;c[p>>2]=tG(c[T>>2]|0,c[r>>2]|0,W,c[m>>2]|0,c[m+4>>2]|0)|0;c[x>>2]=0}c[o>>2]=(c[v>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break;if(!(c[(c[T>>2]|0)+16>>2]|0))break;c[(c[T>>2]|0)+36>>2]=c[o>>2];c[C>>2]=d[c[A>>2]>>0]<<8|d[(c[A>>2]|0)+1>>0];c[A>>2]=(c[A>>2]|0)+-2;do if((c[C>>2]|0)>>>0>=(c[E>>2]|0)>>>0?(c[C>>2]|0)>>>0<=((c[D>>2]|0)-4|0)>>>0:0){c[z>>2]=(c[y>>2]|0)+(c[C>>2]|0);ub[c[(c[n>>2]|0)+80>>2]&255](c[n>>2]|0,c[z>>2]|0,M);if(((c[C>>2]|0)+(e[M+18>>1]|0)|0)>>>0>(c[D>>2]|0)>>>0){vG(c[T>>2]|0,37082,aa);c[w>>2]=0;break}if(a[(c[n>>2]|0)+2>>0]|0){f=M;b=c[f>>2]|0;f=c[f+4>>2]|0;g=W;j=c[g>>2]|0;g=c[g+4>>2]|0;if(c[x>>2]|0){if((f|0)>(g|0)|(f|0)==(g|0)&b>>>0>j>>>0)ba=26}else if((f|0)>(g|0)|(f|0)==(g|0)&b>>>0>=j>>>0)ba=26;if((ba|0)==26){ba=0;m=c[T>>2]|0;h=M;i=c[h+4>>2]|0;k=X;c[k>>2]=c[h>>2];c[k+4>>2]=i;vG(m,37106,X)}i=M;k=c[i+4>>2]|0;m=W;c[m>>2]=c[i>>2];c[m+4>>2]=k}if((c[M+12>>2]|0)>>>0>(e[M+16>>1]|0)>>>0){c[N>>2]=(((c[M+12>>2]|0)-(e[M+16>>1]|0)+(c[D>>2]|0)-5|0)>>>0)/(((c[D>>2]|0)-4|0)>>>0)|0;c[O>>2]=el((c[z>>2]|0)+((e[M+18>>1]|0)-4)|0)|0;if(a[(c[B>>2]|0)+17>>0]|0)sG(c[T>>2]|0,c[O>>2]|0,3,c[U>>2]|0);rG(c[T>>2]|0,0,c[O>>2]|0,c[N>>2]|0)}if(a[(c[n>>2]|0)+4>>0]|0){xG(c[F>>2]|0,c[C>>2]<<16|(c[C>>2]|0)+(e[M+18>>1]|0)-1);break}c[r>>2]=el(c[z>>2]|0)|0;if(a[(c[B>>2]|0)+17>>0]|0)sG(c[T>>2]|0,c[r>>2]|0,5,c[U>>2]|0);m=W;c[q>>2]=tG(c[T>>2]|0,c[r>>2]|0,W,c[m>>2]|0,c[m+4>>2]|0)|0;c[x>>2]=0;if((c[q>>2]|0)!=(c[p>>2]|0)){vG(c[T>>2]|0,37130,Y);c[p>>2]=c[q>>2]}}else ba=19;while(0);if((ba|0)==19){ba=0;m=c[T>>2]|0;i=c[E>>2]|0;k=(c[D>>2]|0)-4|0;c[$>>2]=c[C>>2];c[$+4>>2]=i;c[$+8>>2]=k;vG(m,37052,$);c[w>>2]=0}c[o>>2]=(c[o>>2]|0)+-1}Y=W;$=c[Y+4>>2]|0;aa=c[V>>2]|0;c[aa>>2]=c[Y>>2];c[aa+4>>2]=$;c[(c[T>>2]|0)+28>>2]=0;if(c[w>>2]|0?(c[(c[T>>2]|0)+16>>2]|0)>0:0){a:do if(!(a[(c[n>>2]|0)+4>>0]|0)){c[F>>2]=c[(c[T>>2]|0)+68>>2];c[c[F>>2]>>2]=0;c[o>>2]=(c[v>>2]|0)-1;while(1){if((c[o>>2]|0)<0)break a;c[C>>2]=d[(c[y>>2]|0)+((c[u>>2]|0)+(c[o>>2]<<1))>>0]<<8|d[(c[y>>2]|0)+((c[u>>2]|0)+(c[o>>2]<<1))+1>>0];c[P>>2]=(yb[c[(c[n>>2]|0)+76>>2]&255](c[n>>2]|0,(c[y>>2]|0)+(c[C>>2]|0)|0)|0)&65535;xG(c[F>>2]|0,c[C>>2]<<16|(c[C>>2]|0)+(c[P>>2]|0)-1);c[o>>2]=(c[o>>2]|0)+-1}}while(0);c[o>>2]=d[(c[y>>2]|0)+((c[t>>2]|0)+1)>>0]<<8|d[(c[y>>2]|0)+((c[t>>2]|0)+1)+1>>0];while(1){if((c[o>>2]|0)<=0)break;c[Q>>2]=d[(c[y>>2]|0)+((c[o>>2]|0)+2)>>0]<<8|d[(c[y>>2]|0)+((c[o>>2]|0)+2)+1>>0];xG(c[F>>2]|0,c[o>>2]<<16|(c[o>>2]|0)+(c[Q>>2]|0)-1);c[R>>2]=d[(c[y>>2]|0)+(c[o>>2]|0)>>0]<<8|d[(c[y>>2]|0)+(c[o>>2]|0)+1>>0];c[o>>2]=c[R>>2]}c[s>>2]=0;c[H>>2]=(c[E>>2]|0)-1;while(1){if(!(yG(c[F>>2]|0,G)|0))break;if((c[H>>2]&65535)>>>0>=(c[G>>2]|0)>>>16>>>0){ba=51;break}c[s>>2]=(c[s>>2]|0)+(((c[G>>2]|0)>>>16)-(c[H>>2]&65535)-1);c[H>>2]=c[G>>2]}if((ba|0)==51){ba=c[T>>2]|0;aa=c[U>>2]|0;c[Z>>2]=(c[G>>2]|0)>>>16;c[Z+4>>2]=aa;vG(ba,37155,Z)}c[s>>2]=(c[s>>2]|0)+((c[D>>2]|0)-(c[H>>2]&65535)-1);if((c[c[F>>2]>>2]|0)==0?(c[s>>2]|0)!=(d[(c[y>>2]|0)+((c[t>>2]|0)+7)>>0]|0):0){ba=c[T>>2]|0;$=d[(c[y>>2]|0)+((c[t>>2]|0)+7)>>0]|0;aa=c[U>>2]|0;c[_>>2]=c[s>>2];c[_+4>>2]=$;c[_+8>>2]=aa;vG(ba,37192,_)}}}else{ba=c[T>>2]|0;c[k>>2]=c[j>>2];vG(ba,36922,k)}while(0);if(!(c[w>>2]|0))a[c[n>>2]>>0]=a[L>>0]|0;np(c[n>>2]|0);c[(c[T>>2]|0)+28>>2]=c[I>>2];c[(c[T>>2]|0)+32>>2]=c[J>>2];c[(c[T>>2]|0)+36>>2]=c[K>>2];c[S>>2]=(c[p>>2]|0)+1;ba=c[S>>2]|0;l=ca;return ba|0}function uG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;l=g;return (d[(c[(c[f>>2]|0)+8>>2]|0)+(((c[e>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[e>>2]&7)|0}function vG(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;f=j+28|0;g=j+24|0;h=j+8|0;c[f>>2]=a;c[g>>2]=b;if(!(c[(c[f>>2]|0)+16>>2]|0)){l=j;return}b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+-1;b=(c[f>>2]|0)+20|0;c[b>>2]=(c[b>>2]|0)+1;c[h>>2]=e;if(c[(c[f>>2]|0)+40+12>>2]|0)zd((c[f>>2]|0)+40|0,36910,1);if(c[(c[f>>2]|0)+28>>2]|0){b=(c[f>>2]|0)+40|0;e=c[(c[f>>2]|0)+28>>2]|0;a=c[(c[f>>2]|0)+36>>2]|0;c[i>>2]=c[(c[f>>2]|0)+32>>2];c[i+4>>2]=a;Vi(b,e,i)}kd((c[f>>2]|0)+40|0,c[g>>2]|0,h);if((d[(c[f>>2]|0)+40+24>>0]|0|0)!=1){l=j;return}c[(c[f>>2]|0)+24>>2]=1;l=j;return}function wG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;h=i+8|0;e=i;g=i+20|0;d=i+16|0;f=i+12|0;c[d>>2]=a;c[f>>2]=b;do if(c[f>>2]|0){a=c[d>>2]|0;b=c[f>>2]|0;if((c[f>>2]|0)>>>0>(c[(c[d>>2]|0)+12>>2]|0)>>>0){c[e>>2]=b;vG(a,37244,e);c[g>>2]=1;break}e=(uG(a,b)|0)!=0;b=c[d>>2]|0;a=c[f>>2]|0;if(e){c[h>>2]=a;vG(b,37267,h);c[g>>2]=1;break}else{qG(b,a);c[g>>2]=0;break}}else c[g>>2]=1;while(0);l=i;return c[g>>2]|0}function xG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;a=c[d>>2]|0;b=(c[a>>2]|0)+1|0;c[a>>2]=b;c[g>>2]=b;c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[e>>2];while(1){b=((c[g>>2]|0)>>>0)/2|0;c[f>>2]=b;if(b>>>0<=0){a=5;break}if((c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]|0)>>>0<=(c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0){a=5;break}c[e>>2]=c[(c[d>>2]|0)+(c[f>>2]<<2)>>2];c[(c[d>>2]|0)+(c[f>>2]<<2)>>2]=c[(c[d>>2]|0)+(c[g>>2]<<2)>>2];c[(c[d>>2]|0)+(c[g>>2]<<2)>>2]=c[e>>2];c[g>>2]=c[f>>2]}if((a|0)==5){l=h;return}}function yG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;b=c[c[e>>2]>>2]|0;c[i>>2]=b;if(!b){c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}c[c[f>>2]>>2]=c[(c[e>>2]|0)+4>>2];c[(c[e>>2]|0)+4>>2]=c[(c[e>>2]|0)+(c[i>>2]<<2)>>2];c[(c[e>>2]|0)+(c[i>>2]<<2)>>2]=-1;f=c[e>>2]|0;c[f>>2]=(c[f>>2]|0)+-1;c[h>>2]=1;while(1){f=c[h>>2]<<1;c[g>>2]=f;if(f>>>0>(c[c[e>>2]>>2]|0)>>>0)break;if((c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0>(c[(c[e>>2]|0)+((c[g>>2]|0)+1<<2)>>2]|0)>>>0)c[g>>2]=(c[g>>2]|0)+1;if((c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]|0)>>>0<(c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]|0)>>>0)break;c[i>>2]=c[(c[e>>2]|0)+(c[h>>2]<<2)>>2];c[(c[e>>2]|0)+(c[h>>2]<<2)>>2]=c[(c[e>>2]|0)+(c[g>>2]<<2)>>2];c[(c[e>>2]|0)+(c[g>>2]<<2)>>2]=c[i>>2];c[h>>2]=c[g>>2]}c[d>>2]=1;i=c[d>>2]|0;l=j;return i|0}function zG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m;j=m+12|0;k=m+8|0;c[h>>2]=b;b=i;c[b>>2]=e;c[b+4>>2]=f;c[j>>2]=g;if(!(d[(c[h>>2]|0)+11>>0]|0)){l=m;return}a[(c[h>>2]|0)+11>>0]=0;c[k>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;do if((d[(c[k>>2]|0)+64>>0]|0)&16|0){a[(c[h>>2]|0)+11>>0]=1;if((c[j>>2]|0)==0?(f=(c[k>>2]|0)+16|0,g=i,!((c[f>>2]|0)==(c[g>>2]|0)?(c[f+4>>2]|0)==(c[g+4>>2]|0):0)):0)break;a[(c[k>>2]|0)+66>>0]=0}while(0);c[k>>2]=c[(c[k>>2]|0)+8>>2]}l=m;return}function AG(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;r=u+36|0;n=u+32|0;i=u+28|0;s=u+24|0;o=u+20|0;t=u+16|0;p=u+12|0;j=u+8|0;k=u+4|0;q=u;m=u+40|0;c[n>>2]=b;c[i>>2]=f;c[s>>2]=g;c[o>>2]=h;h=c[i>>2]|0;if(h>>>0>($m(c[n>>2]|0)|0)>>>0){c[r>>2]=um(66688)|0;t=c[r>>2]|0;l=u;return t|0}c[p>>2]=aD(c[n>>2]|0,c[i>>2]|0,t,0,0)|0;if(c[p>>2]|0){c[r>>2]=c[p>>2];t=c[r>>2]|0;l=u;return t|0}a:do if(!(a[(c[t>>2]|0)+8>>0]|0)){a[(c[t>>2]|0)+8>>0]=1;c[q>>2]=d[(c[t>>2]|0)+5>>0];c[k>>2]=0;while(1){b=c[t>>2]|0;if((c[k>>2]|0)>=(e[(c[t>>2]|0)+18>>1]|0))break;c[j>>2]=(c[b+56>>2]|0)+(e[(c[t>>2]|0)+20>>1]&(d[(c[(c[t>>2]|0)+64>>2]|0)+(c[k>>2]<<1)>>0]<<8|d[(c[(c[t>>2]|0)+64>>2]|0)+(c[k>>2]<<1)+1>>0]));if((a[(c[t>>2]|0)+4>>0]|0)==0?(h=c[n>>2]|0,i=el(c[j>>2]|0)|0,c[p>>2]=AG(h,i,1,c[o>>2]|0)|0,c[p>>2]|0):0)break a;c[p>>2]=BG(c[t>>2]|0,c[j>>2]|0,m)|0;if(c[p>>2]|0)break a;c[k>>2]=(c[k>>2]|0)+1}if(a[b+4>>0]|0){if(c[o>>2]|0){o=c[o>>2]|0;c[o>>2]=(c[o>>2]|0)+(e[(c[t>>2]|0)+18>>1]|0)}}else{m=c[n>>2]|0;n=el((c[(c[t>>2]|0)+56>>2]|0)+((c[q>>2]|0)+8)|0)|0;c[p>>2]=AG(m,n,1,c[o>>2]|0)|0;if(c[p>>2]|0)break}b=c[t>>2]|0;if(c[s>>2]|0){CG(b,p);break}s=Tm(c[b+72>>2]|0)|0;c[p>>2]=s;if(!s)cq(c[t>>2]|0,d[(c[(c[t>>2]|0)+56>>2]|0)+(c[q>>2]|0)>>0]|8)}else c[p>>2]=um(66693)|0;while(0);a[(c[t>>2]|0)+8>>0]=0;np(c[t>>2]|0);c[r>>2]=c[p>>2];t=c[r>>2]|0;l=u;return t|0}function BG(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+80|0;m=t+64|0;n=t+60|0;o=t+56|0;u=t+52|0;p=t+48|0;q=t;r=t+44|0;g=t+40|0;h=t+36|0;i=t+32|0;j=t+28|0;k=t+24|0;c[n>>2]=a;c[o>>2]=d;c[u>>2]=f;c[p>>2]=c[(c[n>>2]|0)+52>>2];ub[c[(c[n>>2]|0)+80>>2]&255](c[n>>2]|0,c[o>>2]|0,q);b[c[u>>2]>>1]=b[q+18>>1]|0;if((e[q+16>>1]|0|0)==(c[q+12>>2]|0)){c[m>>2]=0;u=c[m>>2]|0;l=t;return u|0}if(((c[o>>2]|0)+(e[q+18>>1]|0)+-1|0)>>>0>((c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]|0)|0)>>>0){c[m>>2]=um(64249)|0;u=c[m>>2]|0;l=t;return u|0}c[r>>2]=el((c[o>>2]|0)+(e[q+18>>1]|0)+-4|0)|0;c[i>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[h>>2]=(((c[q+12>>2]|0)-(e[q+16>>1]|0)+(c[i>>2]|0)-1|0)>>>0)/((c[i>>2]|0)>>>0)|0;while(1){u=c[h>>2]|0;c[h>>2]=u+-1;if(!u){s=23;break}c[j>>2]=0;c[k>>2]=0;if((c[r>>2]|0)>>>0<2){s=9;break}u=c[r>>2]|0;if(u>>>0>($m(c[p>>2]|0)|0)>>>0){s=9;break}if(c[h>>2]|0?(c[g>>2]=Np(c[p>>2]|0,c[r>>2]|0,k,j)|0,c[g>>2]|0):0){s=12;break}if(!(c[k>>2]|0)?(u=FG(c[p>>2]|0,c[r>>2]|0)|0,c[k>>2]=u,!(u|0)):0)s=17;else if((Ao(c[(c[k>>2]|0)+72>>2]|0)|0)!=1)c[g>>2]=um(64285)|0;else s=17;if((s|0)==17){s=0;c[g>>2]=DG(c[p>>2]|0,c[k>>2]|0,c[r>>2]|0)|0}if(c[k>>2]|0)Ym(c[(c[k>>2]|0)+72>>2]|0);if(c[g>>2]|0){s=21;break}c[r>>2]=c[j>>2]}if((s|0)==9){c[m>>2]=um(64265)|0;u=c[m>>2]|0;l=t;return u|0}else if((s|0)==12){c[m>>2]=c[g>>2];u=c[m>>2]|0;l=t;return u|0}else if((s|0)==21){c[m>>2]=c[g>>2];u=c[m>>2]|0;l=t;return u|0}else if((s|0)==23){c[m>>2]=0;u=c[m>>2]|0;l=t;return u|0}return 0}function CG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[c[e>>2]>>2]|0){l=f;return}d=DG(c[(c[d>>2]|0)+52>>2]|0,c[d>>2]|0,c[(c[d>>2]|0)+84>>2]|0)|0;c[c[e>>2]>>2]=d;l=f;return}function DG(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;g=s+12|0;h=s+8|0;i=s+4|0;j=s;c[m>>2]=b;c[n>>2]=d;c[o>>2]=f;c[p>>2]=0;c[q>>2]=0;c[r>>2]=c[(c[m>>2]|0)+12>>2];if((c[o>>2]|0)>>>0<2){c[k>>2]=um(64103)|0;r=c[k>>2]|0;l=s;return r|0}if(c[n>>2]|0){c[g>>2]=c[n>>2];EG(c[(c[g>>2]|0)+72>>2]|0)}else c[g>>2]=FG(c[m>>2]|0,c[o>>2]|0)|0;c[h>>2]=Tm(c[(c[r>>2]|0)+72>>2]|0)|0;do if(!(c[h>>2]|0)){c[i>>2]=el((c[(c[r>>2]|0)+56>>2]|0)+36|0)|0;Xm((c[(c[r>>2]|0)+56>>2]|0)+36|0,(c[i>>2]|0)+1|0);if(e[(c[m>>2]|0)+22>>1]&4|0){if((c[g>>2]|0)==0?(n=op(c[m>>2]|0,c[o>>2]|0,g,0)|0,c[h>>2]=n,n|0):0)break;n=Tm(c[(c[g>>2]|0)+72>>2]|0)|0;c[h>>2]=n;if(n|0)break;GR(c[(c[g>>2]|0)+56>>2]|0,0,c[(c[(c[g>>2]|0)+52>>2]|0)+32>>2]|0)|0}if(a[(c[m>>2]|0)+17>>0]|0?(sp(c[m>>2]|0,c[o>>2]|0,2,0,h),c[h>>2]|0):0)break;if(c[i>>2]|0){c[q>>2]=el((c[(c[r>>2]|0)+56>>2]|0)+32|0)|0;c[h>>2]=op(c[m>>2]|0,c[q>>2]|0,p,0)|0;if(c[h>>2]|0)break;c[j>>2]=el((c[(c[p>>2]|0)+56>>2]|0)+4|0)|0;if((c[j>>2]|0)>>>0>((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){c[h>>2]=um(64156)|0;break}if((c[j>>2]|0)>>>0<((((c[(c[m>>2]|0)+36>>2]|0)>>>0)/4|0)-8|0)>>>0){c[h>>2]=Tm(c[(c[p>>2]|0)+72>>2]|0)|0;if(c[h>>2]|0)break;Xm((c[(c[p>>2]|0)+56>>2]|0)+4|0,(c[j>>2]|0)+1|0);Xm((c[(c[p>>2]|0)+56>>2]|0)+(8+(c[j>>2]<<2))|0,c[o>>2]|0);if(c[g>>2]|0?(e[(c[m>>2]|0)+22>>1]&4|0)==0:0)GG(c[(c[g>>2]|0)+72>>2]|0);c[h>>2]=HG(c[m>>2]|0,c[o>>2]|0)|0;break}}if((c[g>>2]|0)==0?(n=op(c[m>>2]|0,c[o>>2]|0,g,0)|0,c[h>>2]=n,0!=(n|0)):0)break;c[h>>2]=Tm(c[(c[g>>2]|0)+72>>2]|0)|0;if(!(c[h>>2]|0)){Xm(c[(c[g>>2]|0)+56>>2]|0,c[q>>2]|0);Xm((c[(c[g>>2]|0)+56>>2]|0)+4|0,0);Xm((c[(c[r>>2]|0)+56>>2]|0)+32|0,c[o>>2]|0)}}while(0);if(c[g>>2]|0)a[c[g>>2]>>0]=0;np(c[g>>2]|0);np(c[p>>2]|0);c[k>>2]=c[h>>2];r=c[k>>2]|0;l=s;return r|0}function EG(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;IG(c[d>>2]|0);l=b;return}function FG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=pm(c[c[e>>2]>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){c[d>>2]=xp(c[g>>2]|0,c[f>>2]|0,c[e>>2]|0)|0;g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}return 0}function GG(d){d=d|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=d;c[g>>2]=c[(c[f>>2]|0)+16>>2];if(a[(c[g>>2]|0)+13>>0]|0){l=h;return}if(!(e[(c[f>>2]|0)+24>>1]&2)){l=h;return}if(c[(c[g>>2]|0)+104>>2]|0){l=h;return}g=(c[f>>2]|0)+24|0;b[g>>1]=e[g>>1]|16;g=(c[f>>2]|0)+24|0;b[g>>1]=e[g>>1]&-5;l=h;return}function HG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[d>>2]|0)+60>>2]|0)==0?(b=hn(c[(c[d>>2]|0)+44>>2]|0)|0,c[(c[d>>2]|0)+60>>2]=b,(c[(c[d>>2]|0)+60>>2]|0)==0):0)c[f>>2]=7;if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}b=c[e>>2]|0;if(b>>>0>(Cp(c[(c[d>>2]|0)+60>>2]|0)|0)>>>0){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=om(c[(c[d>>2]|0)+60>>2]|0,c[e>>2]|0)|0;f=c[f>>2]|0;l=g;return f|0}function IG(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;a=(c[e>>2]|0)+26|0;b[a>>1]=(b[a>>1]|0)+1<<16>>16;a=(c[(c[e>>2]|0)+28>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;l=d;return}function JG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;h=p+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;f=p+4|0;g=p;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[n>>2]=0;c[o>>2]=c[(c[i>>2]|0)+4>>2];if(c[(c[o>>2]|0)+8>>2]|0){c[h>>2]=262;o=c[h>>2]|0;l=p;return o|0}if((c[j>>2]|0)>>>0<2){c[h>>2]=um(66814)|0;o=c[h>>2]|0;l=p;return o|0}c[m>>2]=op(c[o>>2]|0,c[j>>2]|0,n,0)|0;if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[m>>2]=EF(c[i>>2]|0,c[j>>2]|0,0)|0;if(c[m>>2]|0){np(c[n>>2]|0);c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[c[k>>2]>>2]=0;if(a[(c[o>>2]|0)+17>>0]|0){To(c[i>>2]|0,4,f);b=c[n>>2]|0;do if((c[j>>2]|0)==(c[f>>2]|0)){CG(b,m);np(c[n>>2]|0);if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}}else{np(b);c[m>>2]=op(c[o>>2]|0,c[f>>2]|0,g,0)|0;if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[m>>2]=pp(c[o>>2]|0,c[g>>2]|0,1,0,c[j>>2]|0,0)|0;np(c[g>>2]|0);if(c[m>>2]|0){c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}c[g>>2]=0;c[m>>2]=op(c[o>>2]|0,c[f>>2]|0,g,0)|0;CG(c[g>>2]|0,m);np(c[g>>2]|0);if(!(c[m>>2]|0)){c[c[k>>2]>>2]=c[f>>2];break}c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}while(0);c[f>>2]=(c[f>>2]|0)+-1;while(1){if((c[f>>2]|0)!=((((c[481]|0)>>>0)/((c[(c[o>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(n=hp(c[o>>2]|0,c[f>>2]|0)|0,(n|0)!=(c[f>>2]|0)):0)break;c[f>>2]=(c[f>>2]|0)+-1}c[m>>2]=Xo(c[i>>2]|0,4,c[f>>2]|0)|0}else{CG(c[n>>2]|0,m);np(c[n>>2]|0)}c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}function KG(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+56>>0]=1;b=LG((c[e>>2]|0)+64|0,(c[e>>2]|0)+36|0)|0;l=d;return b|0}function LG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+64|0;e=k+60|0;f=k+56|0;d=k+52|0;g=k+48|0;h=k;i=k+44|0;j=k+40|0;c[e>>2]=a;c[f>>2]=b;c[d>>2]=c[(c[(c[e>>2]|0)+8>>2]|0)+24>>2];c[g>>2]=0;a=h;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[(c[e>>2]|0)+40>>2]|0))c[g>>2]=MG(c[d>>2]|0,0,0,(c[e>>2]|0)+40|0)|0;if(!(c[g>>2]|0))c[g>>2]=NG(c[e>>2]|0,c[f>>2]|0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=k;return j|0}c[j>>2]=0;d=(c[e>>2]|0)+40+8|0;OG(c[(c[e>>2]|0)+40>>2]|0,h,c[(c[(c[e>>2]|0)+8>>2]|0)+12>>2]|0,c[d>>2]|0,c[d+4>>2]|0);d=(c[e>>2]|0)+28|0;c[d>>2]=(c[d>>2]|0)+1;d=c[(c[f>>2]|0)+8>>2]|0;PG(h,d,((d|0)<0)<<31>>31);c[i>>2]=c[c[f>>2]>>2];while(1){a=c[i>>2]|0;if(!(c[i>>2]|0))break;c[j>>2]=c[a+4>>2];d=c[c[i>>2]>>2]|0;PG(h,d,((d|0)<0)<<31>>31);QG(h,(c[i>>2]|0)+8|0,c[c[i>>2]>>2]|0);if(!(c[(c[f>>2]|0)+4>>2]|0))Kd(c[i>>2]|0);c[i>>2]=c[j>>2]}c[c[f>>2]>>2]=a;c[g>>2]=RG(h,(c[e>>2]|0)+40+8|0)|0;j=c[g>>2]|0;l=k;return j|0}function MG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+28|0;g=k+24|0;h=k+20|0;i=k+16|0;j=k;c[g>>2]=a;a=k+8|0;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;if(Vp(202)|0){c[f>>2]=3338;j=c[f>>2]|0;l=k;return j|0}c[i>>2]=mr(c[c[g>>2]>>2]|0,0,c[h>>2]|0,4126,i)|0;if(!(c[i>>2]|0)){g=j;c[g>>2]=0;c[g+4>>2]=0;Gn(c[c[h>>2]>>2]|0,18,j)}c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}function NG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;e=n+4|0;f=n;c[h>>2]=a;c[i>>2]=b;c[e>>2]=SG(c[h>>2]|0)|0;if(c[e>>2]|0){c[g>>2]=c[e>>2];m=c[g>>2]|0;l=n;return m|0}c[m>>2]=c[c[i>>2]>>2];e=TG(c[(c[h>>2]|0)+8>>2]|0)|0;c[(c[h>>2]|0)+32>>2]=e;c[k>>2]=Cg(256,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;m=c[g>>2]|0;l=n;return m|0}while(1){if(!(c[m>>2]|0))break;a=c[m>>2]|0;do if(c[(c[i>>2]|0)+4>>2]|0)if((a|0)==(c[(c[i>>2]|0)+4>>2]|0)){c[f>>2]=0;break}else{c[f>>2]=(c[(c[i>>2]|0)+4>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0);break}else c[f>>2]=c[a+4>>2];while(0);c[(c[m>>2]|0)+4>>2]=0;c[j>>2]=0;while(1){if(!(c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0))break;c[m>>2]=UG(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=0;c[j>>2]=(c[j>>2]|0)+1}c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]=c[m>>2];c[m>>2]=c[f>>2]}c[m>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=64)break;if(c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0){if(c[m>>2]|0)a=UG(c[h>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;else a=c[(c[k>>2]|0)+(c[j>>2]<<2)>>2]|0;c[m>>2]=a}c[j>>2]=(c[j>>2]|0)+1}c[c[i>>2]>>2]=c[m>>2];Kd(c[k>>2]|0);c[g>>2]=d[(c[(c[h>>2]|0)+12>>2]|0)+11>>0];m=c[g>>2]|0;l=n;return m|0}function OG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;a=j;c[a>>2]=e;c[a+4>>2]=f;a=c[h>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));f=c[i>>2]|0;f=pd(f,((f|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+4>>2]=f;if(c[(c[h>>2]|0)+4>>2]|0){e=j;f=c[i>>2]|0;f=VR(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[(c[h>>2]|0)+12>>2]=f;c[(c[h>>2]|0)+16>>2]=f;f=c[(c[h>>2]|0)+12>>2]|0;f=FR(c[j>>2]|0,c[j+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;j=(c[h>>2]|0)+24|0;c[j>>2]=f;c[j+4>>2]=z;c[(c[h>>2]|0)+8>>2]=c[i>>2];c[(c[h>>2]|0)+32>>2]=c[g>>2];l=k;return}else{c[c[h>>2]>>2]=7;l=k;return}}function PG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;h=e+12|0;i=e;f=e+8|0;g=e+16|0;c[h>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;d=i;c[f>>2]=eF(g,c[d>>2]|0,c[d+4>>2]|0)|0;QG(c[h>>2]|0,g,c[f>>2]|0);l=e;return}function QG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[g>>2];while(1){if((c[h>>2]|0)<=0){a=9;break}if(c[c[e>>2]>>2]|0){a=9;break}c[i>>2]=c[h>>2];if((c[i>>2]|0)>((c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0)|0))c[i>>2]=(c[(c[e>>2]|0)+8>>2]|0)-(c[(c[e>>2]|0)+16>>2]|0);MR((c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+16>>2]|0)|0,(c[f>>2]|0)+((c[g>>2]|0)-(c[h>>2]|0))|0,c[i>>2]|0)|0;d=(c[e>>2]|0)+16|0;c[d>>2]=(c[d>>2]|0)+(c[i>>2]|0);if((c[(c[e>>2]|0)+16>>2]|0)==(c[(c[e>>2]|0)+8>>2]|0)){k=c[(c[e>>2]|0)+32>>2]|0;a=(c[(c[e>>2]|0)+4>>2]|0)+(c[(c[e>>2]|0)+12>>2]|0)|0;d=(c[(c[e>>2]|0)+16>>2]|0)-(c[(c[e>>2]|0)+12>>2]|0)|0;m=(c[e>>2]|0)+24|0;b=c[(c[e>>2]|0)+12>>2]|0;b=IR(c[m>>2]|0,c[m+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Ol(k,a,d,b,z)|0;c[c[e>>2]>>2]=b;c[(c[e>>2]|0)+16>>2]=0;c[(c[e>>2]|0)+12>>2]=0;b=c[(c[e>>2]|0)+8>>2]|0;d=(c[e>>2]|0)+24|0;a=d;b=IR(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;c[d>>2]=b;c[d+4>>2]=z}c[h>>2]=(c[h>>2]|0)-(c[i>>2]|0)}if((a|0)==9){l=j;return}}function RG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(((c[c[d>>2]>>2]|0)==0?c[(c[d>>2]|0)+4>>2]|0:0)?(c[(c[d>>2]|0)+16>>2]|0)>(c[(c[d>>2]|0)+12>>2]|0):0){i=c[(c[d>>2]|0)+32>>2]|0;h=(c[(c[d>>2]|0)+4>>2]|0)+(c[(c[d>>2]|0)+12>>2]|0)|0;a=(c[(c[d>>2]|0)+16>>2]|0)-(c[(c[d>>2]|0)+12>>2]|0)|0;j=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+12>>2]|0;b=IR(c[j>>2]|0,c[j+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;b=Ol(i,h,a,b,z)|0;c[c[d>>2]>>2]=b}a=(c[d>>2]|0)+24|0;b=c[(c[d>>2]|0)+16>>2]|0;b=IR(c[a>>2]|0,c[a+4>>2]|0,b|0,((b|0)<0)<<31>>31|0)|0;a=c[e>>2]|0;c[a>>2]=b;c[a+4>>2]=z;Kd(c[(c[d>>2]|0)+4>>2]|0);c[f>>2]=c[c[d>>2]>>2];a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=g;return c[f>>2]|0}function SG(d){d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=d;do if(!(c[(c[f>>2]|0)+12>>2]|0)){d=cD(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0,0,0,g)|0;c[(c[f>>2]|0)+12>>2]=d;if(c[g>>2]|0){b[(c[(c[f>>2]|0)+12>>2]|0)+8>>1]=b[(c[(c[(c[f>>2]|0)+8>>2]|0)+28>>2]|0)+6>>1]|0;a[(c[(c[f>>2]|0)+12>>2]|0)+11>>0]=0;break}c[e>>2]=7;g=c[e>>2]|0;l=h;return g|0}while(0);c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function TG(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[e>>2]=a;do if((d[(c[e>>2]|0)+60>>0]|0|0)!=1)if((d[(c[e>>2]|0)+60>>0]|0|0)==2){c[b>>2]=139;break}else{c[b>>2]=140;break}else c[b>>2]=138;while(0);l=f;return c[b>>2]|0}function UG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;k=m+8|0;f=m+4|0;g=m;c[e>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=0;c[k>>2]=j;c[f>>2]=0;while(1){c[g>>2]=sb[c[(c[e>>2]|0)+32>>2]&255](c[e>>2]|0,f,(c[h>>2]|0)+8|0,c[c[h>>2]>>2]|0,(c[i>>2]|0)+8|0,c[c[i>>2]>>2]|0)|0;if((c[g>>2]|0)<=0){c[c[k>>2]>>2]=c[h>>2];c[k>>2]=(c[h>>2]|0)+4;c[h>>2]=c[(c[h>>2]|0)+4>>2];if(!(c[h>>2]|0)){a=4;break}else continue}else{c[c[k>>2]>>2]=c[i>>2];c[k>>2]=(c[i>>2]|0)+4;c[i>>2]=c[(c[i>>2]|0)+4>>2];c[f>>2]=0;if(!(c[i>>2]|0)){a=6;break}else continue}}if((a|0)==4){c[c[k>>2]>>2]=c[i>>2];k=c[j>>2]|0;l=m;return k|0}else if((a|0)==6){c[c[k>>2]>>2]=c[h>>2];k=c[j>>2]|0;l=m;return k|0}return 0}function VG(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;x=l;l=l+64|0;t=x+52|0;u=x+48|0;v=x+44|0;w=x+40|0;q=x+36|0;r=x+32|0;z=x+28|0;y=x+24|0;k=x+20|0;m=x+16|0;n=x+12|0;o=x+8|0;s=x+4|0;p=x;c[t>>2]=b;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[q>>2]=i;c[r>>2]=j;c[z>>2]=c[v>>2];c[y>>2]=c[q>>2];c[k>>2]=d[(c[z>>2]|0)+1>>0];c[m>>2]=d[(c[y>>2]|0)+1>>0];c[n>>2]=(c[z>>2]|0)+(d[c[z>>2]>>0]|0);c[o>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);b=c[k>>2]|0;f=c[m>>2]|0;a:do if(!((c[k>>2]|0)>7&(c[m>>2]|0)>7)){if((b|0)==(f|0)){if((d[c[n>>2]>>0]^d[c[o>>2]>>0])&128|0){c[s>>2]=d[c[n>>2]>>0]&128|0?-1:1;break}c[s>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(d[37532+(c[k>>2]|0)>>0]|0))break a;z=(d[(c[n>>2]|0)+(c[p>>2]|0)>>0]|0)-(d[(c[o>>2]|0)+(c[p>>2]|0)>>0]|0)|0;c[s>>2]=z;if(z|0)break a;c[p>>2]=(c[p>>2]|0)+1}}do if((c[m>>2]|0)<=7)if((c[k>>2]|0)>7){c[s>>2]=-1;break}else{c[s>>2]=(c[k>>2]|0)-(c[m>>2]|0);break}else c[s>>2]=1;while(0);if((c[s>>2]|0)>0){if(!(d[c[n>>2]>>0]&128))break;c[s>>2]=-1;break}else{if(!(d[c[o>>2]>>0]&128))break;c[s>>2]=1;break}}else c[s>>2]=b-f;while(0);b=c[(c[(c[t>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[s>>2]|0)){if((e[b+6>>1]|0)<=1){z=c[s>>2]|0;l=x;return z|0}c[s>>2]=YG(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;z=c[s>>2]|0;l=x;return z|0}else{if(!(a[c[b+16>>2]>>0]|0)){z=c[s>>2]|0;l=x;return z|0}c[s>>2]=O(c[s>>2]|0,-1)|0;z=c[s>>2]|0;l=x;return z|0}return 0}function WG(b,f,g,h,i,j){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;t=x+48|0;u=x+44|0;v=x+40|0;w=x+36|0;q=x+32|0;r=x+28|0;y=x+24|0;k=x+20|0;m=x+16|0;n=x+12|0;o=x+8|0;p=x+4|0;s=x;c[t>>2]=b;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[q>>2]=i;c[r>>2]=j;c[y>>2]=c[v>>2];c[k>>2]=c[q>>2];c[m>>2]=(c[y>>2]|0)+(d[c[y>>2]>>0]|0);c[n>>2]=(c[k>>2]|0)+(d[c[k>>2]>>0]|0);b=(c[y>>2]|0)+1|0;if((d[(c[y>>2]|0)+1>>0]|0)<128)c[o>>2]=d[b>>0];else lD(b,o)|0;c[o>>2]=((c[o>>2]|0)-13|0)/2|0;b=(c[k>>2]|0)+1|0;if((d[(c[k>>2]|0)+1>>0]|0)<128)c[p>>2]=d[b>>0];else lD(b,p)|0;c[p>>2]=((c[p>>2]|0)-13|0)/2|0;c[s>>2]=wQ(c[m>>2]|0,c[n>>2]|0,(c[o>>2]|0)<(c[p>>2]|0)?c[o>>2]|0:c[p>>2]|0)|0;if(!(c[s>>2]|0))c[s>>2]=(c[o>>2]|0)-(c[p>>2]|0);b=c[(c[(c[t>>2]|0)+8>>2]|0)+28>>2]|0;if(!(c[s>>2]|0)){if((e[b+6>>1]|0)<=1){y=c[s>>2]|0;l=x;return y|0}c[s>>2]=YG(c[t>>2]|0,c[u>>2]|0,c[v>>2]|0,c[w>>2]|0,c[q>>2]|0,c[r>>2]|0)|0;y=c[s>>2]|0;l=x;return y|0}else{if(!(a[c[b+16>>2]>>0]|0)){y=c[s>>2]|0;l=x;return y|0}c[s>>2]=O(c[s>>2]|0,-1)|0;y=c[s>>2]|0;l=x;return y|0}return 0}function XG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;i=p+4|0;j=p;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[k>>2]|0)+12>>2];if(c[c[m>>2]>>2]|0){m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=jD(m,n,o)|0;l=p;return o|0}dD(c[(c[(c[k>>2]|0)+8>>2]|0)+28>>2]|0,c[i>>2]|0,c[h>>2]|0,c[j>>2]|0);c[c[m>>2]>>2]=1;m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=jD(m,n,o)|0;l=p;return o|0}function YG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;i=p+4|0;j=p;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[k>>2]|0)+12>>2];if(c[c[m>>2]>>2]|0){m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=kD(m,n,o,1)|0;l=p;return o|0}dD(c[(c[(c[k>>2]|0)+8>>2]|0)+28>>2]|0,c[i>>2]|0,c[h>>2]|0,c[j>>2]|0);c[c[m>>2]>>2]=1;m=c[o>>2]|0;n=c[n>>2]|0;o=c[j>>2]|0;o=kD(m,n,o,1)|0;l=p;return o|0}function ZG(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;g=q+36|0;h=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;e=q+4|0;f=q;c[g>>2]=a;c[h>>2]=b;c[j>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2];c[k>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=_G((c[(c[g>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0)|0)|0;if(!(c[i>>2]|0)){c[e>>2]=0;c[n>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[j>>2]&65534)*56|0);c[o>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[j>>2]|1)*56|0);c[m>>2]=((c[c[g>>2]>>2]|0)+(c[j>>2]|0)|0)/2|0;while(1){if((c[m>>2]|0)<=0)break;do if(c[(c[n>>2]|0)+24>>2]|0)if(!(c[(c[o>>2]|0)+24>>2]|0)){c[f>>2]=-1;break}else{c[f>>2]=sb[c[(c[k>>2]|0)+32>>2]&255](c[k>>2]|0,e,c[(c[n>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+20>>2]|0,c[(c[o>>2]|0)+32>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;break}else c[f>>2]=1;while(0);do if((c[f>>2]|0)<0)p=12;else{if((c[f>>2]|0)==0?(c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0:0){p=12;break}if(c[(c[n>>2]|0)+24>>2]|0)c[e>>2]=0;c[(c[(c[g>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2]=((c[o>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)|0)/56|0;c[n>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[(c[(c[g>>2]|0)+8>>2]|0)+((c[m>>2]^1)<<2)>>2]|0)*56|0)}while(0);if((p|0)==12){p=0;c[(c[(c[g>>2]|0)+8>>2]|0)+(c[m>>2]<<2)>>2]=((c[n>>2]|0)-(c[(c[g>>2]|0)+12>>2]|0)|0)/56|0;c[o>>2]=(c[(c[g>>2]|0)+12>>2]|0)+((c[(c[(c[g>>2]|0)+8>>2]|0)+((c[m>>2]^1)<<2)>>2]|0)*56|0);c[e>>2]=0}c[m>>2]=(c[m>>2]|0)/2|0}c[c[h>>2]>>2]=(c[(c[(c[g>>2]|0)+12>>2]|0)+((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)*56|0)+24>>2]|0)==0&1}if(!(c[i>>2]|0)){p=d[(c[(c[k>>2]|0)+12>>2]|0)+11>>0]|0;l=q;return p|0}else{p=c[i>>2]|0;l=q;return p|0}return 0}function _G(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;b=i+24|0;d=i+20|0;e=i+16|0;f=i;g=i+12|0;h=i+8|0;c[d>>2]=a;c[e>>2]=0;j=f;c[j>>2]=0;c[j+4>>2]=0;j=c[d>>2]|0;m=c[j+4>>2]|0;a=(c[d>>2]|0)+8|0;k=c[a+4>>2]|0;if((m|0)>(k|0)|((m|0)==(k|0)?(c[j>>2]|0)>>>0>=(c[a>>2]|0)>>>0:0)){c[g>>2]=c[(c[d>>2]|0)+48>>2];c[h>>2]=1;if((c[g>>2]|0?(c[e>>2]=$G(c[g>>2]|0)|0,(c[e>>2]|0)==0):0)?(c[(c[g>>2]|0)+20>>2]|0)==0:0){m=(c[g>>2]|0)+8|0;c[e>>2]=aH(c[c[g>>2]>>2]|0,c[d>>2]|0,(c[g>>2]|0)+32|0,c[m>>2]|0,c[m+4>>2]|0)|0;c[h>>2]=0}if(c[h>>2]|0){Cr(c[d>>2]|0);c[b>>2]=c[e>>2];m=c[b>>2]|0;l=i;return m|0}}if(!(c[e>>2]|0))c[e>>2]=bH(c[d>>2]|0,f)|0;if(!(c[e>>2]|0)){c[(c[d>>2]|0)+20>>2]=c[f>>2];c[e>>2]=cH(c[d>>2]|0,c[f>>2]|0,(c[d>>2]|0)+32|0)|0}c[b>>2]=c[e>>2];m=c[b>>2]|0;l=i;return m|0}function $G(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;c[d>>2]=eH(c[b>>2]|0)|0;f=(c[b>>2]|0)+32|0;a=(c[b>>2]|0)+32+16|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];f=(c[b>>2]|0)+32+8|0;a=(c[b>>2]|0)+8|0;if(!((c[f>>2]|0)==(c[a>>2]|0)?(c[f+4>>2]|0)==(c[a+4>>2]|0):0)){f=c[d>>2]|0;l=e;return f|0}c[(c[b>>2]|0)+20>>2]=1;f=c[d>>2]|0;l=e;return f|0}function aH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;p=q;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;d=p;c[d>>2]=e;c[d+4>>2]=f;c[g>>2]=0;if(Vp(201)|0){c[k>>2]=266;p=c[k>>2]|0;l=q;return p|0}if(c[(c[n>>2]|0)+44>>2]|0){ym(c[(c[n>>2]|0)+24>>2]|0,0,0,c[(c[n>>2]|0)+44>>2]|0)|0;c[(c[n>>2]|0)+44>>2]=0}f=c[p+4>>2]|0;e=c[n>>2]|0;c[e>>2]=c[p>>2];c[e+4>>2]=f;e=(c[o>>2]|0)+8|0;f=c[e+4>>2]|0;p=(c[n>>2]|0)+8|0;c[p>>2]=c[e>>2];c[p+4>>2]=f;c[(c[n>>2]|0)+24>>2]=c[c[o>>2]>>2];c[g>>2]=dH(c[m>>2]|0,c[o>>2]|0,(c[n>>2]|0)+44|0)|0;if((c[g>>2]|0)==0?(c[(c[n>>2]|0)+44>>2]|0)==0:0){c[h>>2]=c[(c[(c[m>>2]|0)+8>>2]|0)+12>>2];o=c[n>>2]|0;p=c[h>>2]|0;p=VR(c[o>>2]|0,c[o+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;c[i>>2]=p;if(!(c[(c[n>>2]|0)+36>>2]|0)){p=c[h>>2]|0;p=pd(p,((p|0)<0)<<31>>31)|0;c[(c[n>>2]|0)+36>>2]=p;if(!(c[(c[n>>2]|0)+36>>2]|0))c[g>>2]=7;c[(c[n>>2]|0)+40>>2]=c[h>>2]}if((c[g>>2]|0)==0&(c[i>>2]|0)!=0){c[j>>2]=(c[h>>2]|0)-(c[i>>2]|0);f=c[n>>2]|0;o=c[j>>2]|0;o=IR(c[f>>2]|0,c[f+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;f=z;p=(c[n>>2]|0)+8|0;m=c[p+4>>2]|0;if((f|0)>(m|0)|((f|0)==(m|0)?o>>>0>(c[p>>2]|0)>>>0:0)){o=(c[n>>2]|0)+8|0;p=c[n>>2]|0;p=FR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;c[j>>2]=p}p=c[n>>2]|0;c[g>>2]=km(c[(c[n>>2]|0)+24>>2]|0,(c[(c[n>>2]|0)+36>>2]|0)+(c[i>>2]|0)|0,c[j>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}}c[k>>2]=c[g>>2];p=c[k>>2]|0;l=q;return p|0}function bH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;f=p+24|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+32|0;k=p+8|0;m=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;b=c[g>>2]|0;do if(c[(c[g>>2]|0)+44>>2]|0){n=(Jo((c[b+44>>2]|0)+(c[c[g>>2]>>2]|0)|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=IR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=z}else{e=c[(c[g>>2]|0)+40>>2]|0;e=VR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;c[i>>2]=e;if(c[i>>2]|0?((c[(c[g>>2]|0)+40>>2]|0)-(c[i>>2]|0)|0)>=9:0){n=(Jo((c[(c[g>>2]|0)+36>>2]|0)+(c[i>>2]|0)|0,c[h>>2]|0)|0)&255;o=c[g>>2]|0;m=o;n=IR(c[m>>2]|0,c[m+4>>2]|0,n|0,0)|0;c[o>>2]=n;c[o+4>>2]=z;break}c[m>>2]=0;while(1){c[n>>2]=cH(c[g>>2]|0,1,k)|0;if(c[n>>2]|0)break;e=a[c[k>>2]>>0]|0;i=c[m>>2]|0;c[m>>2]=i+1;a[j+(i&15)>>0]=e;if(!((d[c[k>>2]>>0]|0)&128)){o=10;break}}if((o|0)==10){Jo(j,c[h>>2]|0)|0;break}c[f>>2]=c[n>>2];o=c[f>>2]|0;l=p;return o|0}while(0);c[f>>2]=0;o=c[f>>2]|0;l=p;return o|0}function cH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;u=l;l=l+64|0;n=u+52|0;o=u+48|0;p=u+44|0;q=u+40|0;r=u+36|0;s=u+32|0;f=u+28|0;e=u+24|0;g=u+20|0;h=u+16|0;i=u+12|0;j=u+8|0;k=u+4|0;m=u;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;a=c[o>>2]|0;if(c[(c[o>>2]|0)+44>>2]|0){c[c[q>>2]>>2]=(c[a+44>>2]|0)+(c[c[o>>2]>>2]|0);s=c[p>>2]|0;t=c[o>>2]|0;r=t;s=IR(c[r>>2]|0,c[r+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;c[t>>2]=s;c[t+4>>2]=z;c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}b=a;d=c[(c[o>>2]|0)+40>>2]|0;d=VR(c[b>>2]|0,c[b+4>>2]|0,d|0,((d|0)<0)<<31>>31|0)|0;c[r>>2]=d;if(!(c[r>>2]|0)){w=(c[o>>2]|0)+8|0;b=c[o>>2]|0;b=FR(c[w>>2]|0,c[w+4>>2]|0,c[b>>2]|0,c[b+4>>2]|0)|0;w=z;d=c[(c[o>>2]|0)+40>>2]|0;v=((d|0)<0)<<31>>31;a=c[o>>2]|0;if((w|0)>(v|0)|(w|0)==(v|0)&b>>>0>d>>>0)c[f>>2]=c[a+40>>2];else{v=a+8|0;w=c[o>>2]|0;w=FR(c[v>>2]|0,c[v+4>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;c[f>>2]=w}w=c[o>>2]|0;c[e>>2]=km(c[(c[o>>2]|0)+24>>2]|0,c[(c[o>>2]|0)+36>>2]|0,c[f>>2]|0,c[w>>2]|0,c[w+4>>2]|0)|0;if(c[e>>2]|0){c[n>>2]=c[e>>2];w=c[n>>2]|0;l=u;return w|0}}c[s>>2]=(c[(c[o>>2]|0)+40>>2]|0)-(c[r>>2]|0);a=c[o>>2]|0;do if((c[p>>2]|0)<=(c[s>>2]|0)){c[c[q>>2]>>2]=(c[a+36>>2]|0)+(c[r>>2]|0);v=c[p>>2]|0;w=c[o>>2]|0;t=w;v=IR(c[t>>2]|0,c[t+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=z}else{do if((c[a+16>>2]|0)<(c[p>>2]|0)){if(128>(c[(c[o>>2]|0)+16>>2]<<1|0))a=128;else a=c[(c[o>>2]|0)+16>>2]<<1;c[i>>2]=a;while(1){if((c[p>>2]|0)<=(c[i>>2]|0))break;c[i>>2]=c[i>>2]<<1}w=c[i>>2]|0;c[h>>2]=Sd(c[(c[o>>2]|0)+28>>2]|0,w,((w|0)<0)<<31>>31)|0;if(c[h>>2]|0){c[(c[o>>2]|0)+16>>2]=c[i>>2];c[(c[o>>2]|0)+28>>2]=c[h>>2];break}c[n>>2]=7;w=c[n>>2]|0;l=u;return w|0}while(0);MR(c[(c[o>>2]|0)+28>>2]|0,(c[(c[o>>2]|0)+36>>2]|0)+(c[r>>2]|0)|0,c[s>>2]|0)|0;v=c[s>>2]|0;w=c[o>>2]|0;r=w;v=IR(c[r>>2]|0,c[r+4>>2]|0,v|0,((v|0)<0)<<31>>31|0)|0;c[w>>2]=v;c[w+4>>2]=z;c[g>>2]=(c[p>>2]|0)-(c[s>>2]|0);while(1){if((c[g>>2]|0)<=0){t=27;break}c[k>>2]=c[g>>2];if((c[g>>2]|0)>(c[(c[o>>2]|0)+40>>2]|0))c[k>>2]=c[(c[o>>2]|0)+40>>2];c[j>>2]=cH(c[o>>2]|0,c[k>>2]|0,m)|0;if(c[j>>2]|0)break;MR((c[(c[o>>2]|0)+28>>2]|0)+((c[p>>2]|0)-(c[g>>2]|0))|0,c[m>>2]|0,c[k>>2]|0)|0;c[g>>2]=(c[g>>2]|0)-(c[k>>2]|0)}if((t|0)==27){c[c[q>>2]>>2]=c[(c[o>>2]|0)+28>>2];break}c[n>>2]=c[j>>2];w=c[n>>2]|0;l=u;return w|0}while(0);c[n>>2]=0;w=c[n>>2]|0;l=u;return w|0}function dH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;k=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[k>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;b=(c[e>>2]|0)+8|0;j=c[b+4>>2]|0;d=c[(c[(c[(c[k>>2]|0)+8>>2]|0)+24>>2]|0)+144>>2]|0;a=((d|0)<0)<<31>>31;if(!((j|0)<(a|0)|((j|0)==(a|0)?(c[b>>2]|0)>>>0<=d>>>0:0))){k=c[g>>2]|0;l=i;return k|0}c[h>>2]=c[c[e>>2]>>2];if((c[c[c[h>>2]>>2]>>2]|0)<3){k=c[g>>2]|0;l=i;return k|0}c[g>>2]=wm(c[h>>2]|0,0,0,c[(c[e>>2]|0)+8>>2]|0,c[f>>2]|0)|0;k=c[g>>2]|0;l=i;return k|0}function eH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+96|0;b=o+88|0;g=o+84|0;h=o+80|0;i=o+48|0;j=o+76|0;p=o+72|0;k=o+68|0;m=o+8|0;n=o+64|0;d=o+60|0;e=o+56|0;f=o;c[b>>2]=a;c[g>>2]=0;r=(c[b>>2]|0)+8|0;q=c[r+4>>2]|0;a=i;c[a>>2]=c[r>>2];c[a+4>>2]=q;c[j>>2]=(c[b>>2]|0)+32+16;c[p>>2]=c[c[b>>2]>>2];c[k>>2]=c[(c[b>>2]|0)+4>>2];a=i;OG(c[c[j>>2]>>2]|0,m,c[(c[(c[p>>2]|0)+8>>2]|0)+12>>2]|0,c[a>>2]|0,c[a+4>>2]|0);while(1){if(c[g>>2]|0)break;c[d>>2]=(c[(c[k>>2]|0)+12>>2]|0)+((c[(c[(c[k>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[e>>2]=c[(c[d>>2]|0)+20>>2];r=m+24|0;q=c[m+16>>2]|0;q=IR(c[r>>2]|0,c[r+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;r=f;c[r>>2]=q;c[r+4>>2]=z;if(!(c[(c[d>>2]|0)+24>>2]|0))break;a=f;p=c[e>>2]|0;p=IR(c[a>>2]|0,c[a+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;a=z;q=c[e>>2]|0;q=pD(q,((q|0)<0)<<31>>31)|0;q=IR(p|0,a|0,q|0,((q|0)<0)<<31>>31|0)|0;a=z;p=i;r=c[(c[b>>2]|0)+16>>2]|0;r=IR(c[p>>2]|0,c[p+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;p=z;if((a|0)>(p|0)|(a|0)==(p|0)&q>>>0>r>>>0)break;r=c[e>>2]|0;PG(m,r,((r|0)<0)<<31>>31);QG(m,c[(c[d>>2]|0)+32>>2]|0,c[e>>2]|0);c[g>>2]=ZG(c[(c[b>>2]|0)+4>>2]|0,n)|0}c[h>>2]=RG(m,(c[j>>2]|0)+8|0)|0;if(c[g>>2]|0){r=c[g>>2]|0;l=o;return r|0}c[g>>2]=c[h>>2];r=c[g>>2]|0;l=o;return r|0}function fH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+64;c[f>>2]=0;c[d>>2]=gH(c[b>>2]|0,f)|0;if(!(c[d>>2]|0)){c[d>>2]=hH(c[e>>2]|0,c[f>>2]|0,0)|0;c[(c[b>>2]|0)+20>>2]=c[f>>2];c[f>>2]=0}if(!(c[d>>2]|0)){f=c[d>>2]|0;l=g;return f|0}zr(c[f>>2]|0);f=c[d>>2]|0;l=g;return f|0}function gH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;j=s+52|0;k=s+48|0;m=s+44|0;n=s+40|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;e=s;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;while(1){if(c[n>>2]|0)break;if((c[o>>2]|0)>=(d[(c[j>>2]|0)+59>>0]|0|0))break;c[p>>2]=(c[j>>2]|0)+64+((c[o>>2]|0)*72|0);c[q>>2]=0;c[r>>2]=lH(c[(c[p>>2]|0)+28>>2]|0)|0;b=e;c[b>>2]=0;c[b+4>>2]=0;a:do if((c[(c[p>>2]|0)+28>>2]|0)<=16)c[n>>2]=mH(c[p>>2]|0,c[(c[p>>2]|0)+28>>2]|0,e,q)|0;else{c[g>>2]=0;c[q>>2]=nH(16)|0;if(!(c[q>>2]|0))c[n>>2]=7;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[(c[p>>2]|0)+28>>2]|0)?(c[n>>2]|0)==0:0))break a;c[h>>2]=0;if(((c[(c[p>>2]|0)+28>>2]|0)-(c[f>>2]|0)|0)<16)a=(c[(c[p>>2]|0)+28>>2]|0)-(c[f>>2]|0)|0;else a=16;c[i>>2]=a;c[n>>2]=mH(c[p>>2]|0,c[i>>2]|0,e,h)|0;if(!(c[n>>2]|0)){t=c[p>>2]|0;a=c[r>>2]|0;b=c[g>>2]|0;c[g>>2]=b+1;c[n>>2]=oH(t,a,b,c[q>>2]|0,c[h>>2]|0)|0}c[f>>2]=(c[f>>2]|0)+16}}while(0);a=c[q>>2]|0;if(!(c[n>>2]|0))c[m>>2]=a;else zr(a);c[o>>2]=(c[o>>2]|0)+1}if(!(c[n>>2]|0)){r=c[m>>2]|0;t=c[k>>2]|0;c[t>>2]=r;t=c[n>>2]|0;l=s;return t|0}zr(c[m>>2]|0);c[m>>2]=0;r=c[m>>2]|0;t=c[k>>2]|0;c[t>>2]=r;t=c[n>>2]|0;l=s;return t|0}function hH(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+8|0;j=n+4|0;k=n;c[g>>2]=a;c[h>>2]=b;c[n+12>>2]=e;c[i>>2]=0;c[k>>2]=c[c[h>>2]>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];c[j>>2]=0;while(1){a=c[h>>2]|0;if((c[j>>2]|0)>=(c[k>>2]|0))break;c[i>>2]=iH((c[a+12>>2]|0)+((c[j>>2]|0)*56|0)|0,0)|0;if(c[i>>2]|0){m=4;break}c[j>>2]=(c[j>>2]|0)+1}if((m|0)==4){c[f>>2]=c[i>>2];m=c[f>>2]|0;l=n;return m|0}c[j>>2]=(c[a>>2]|0)-1;while(1){if((c[j>>2]|0)<=0)break;jH(c[h>>2]|0,c[j>>2]|0);c[j>>2]=(c[j>>2]|0)+-1}c[f>>2]=d[(c[(c[g>>2]|0)+12>>2]|0)+11>>0];m=c[f>>2]|0;l=n;return m|0}function iH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[h>>2]=c[(c[d>>2]|0)+48>>2];c[f>>2]=0;if(!(c[h>>2]|0)){h=c[f>>2]|0;l=g;return h|0}c[f>>2]=kH(c[d>>2]|0,c[e>>2]|0)|0;h=c[f>>2]|0;l=g;return h|0}function jH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+36|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;d=o+4|0;e=o;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>=((c[c[f>>2]>>2]|0)/2|0|0)){c[h>>2]=(c[g>>2]|0)-((c[c[f>>2]>>2]|0)/2|0)<<1;c[i>>2]=(c[h>>2]|0)+1}else{c[h>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+(c[g>>2]<<1<<2)>>2];c[i>>2]=c[(c[(c[f>>2]|0)+8>>2]|0)+((c[g>>2]<<1)+1<<2)>>2]}c[k>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[h>>2]|0)*56|0);c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[i>>2]|0)*56|0);do if(c[(c[k>>2]|0)+24>>2]|0){if(!(c[(c[m>>2]|0)+24>>2]|0)){c[j>>2]=c[h>>2];break}c[n>>2]=c[(c[f>>2]|0)+4>>2];c[d>>2]=0;c[e>>2]=sb[c[(c[n>>2]|0)+32>>2]&255](c[n>>2]|0,d,c[(c[k>>2]|0)+32>>2]|0,c[(c[k>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;if((c[e>>2]|0)<=0){c[j>>2]=c[h>>2];break}else{c[j>>2]=c[i>>2];break}}else c[j>>2]=c[i>>2];while(0);c[(c[(c[f>>2]|0)+8>>2]|0)+(c[g>>2]<<2)>>2]=c[j>>2];l=o;return}function kH(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;d=j+24|0;k=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[k>>2]=b;c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+48>>2];c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+24>>2];c[e>>2]=hH(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,c[k>>2]|0)|0;if(!(c[e>>2]|0)){c[i>>2]=c[(c[f>>2]|0)+16>>2];if(!(c[(c[g>>2]|0)+56>>2]|0)){k=(c[g>>2]|0)+56+8|0;c[e>>2]=MG(c[h>>2]|0,c[k>>2]|0,c[k+4>>2]|0,(c[g>>2]|0)+56|0)|0;k=(c[g>>2]|0)+56+8|0;c[k>>2]=0;c[k+4>>2]=0}if(!(c[e>>2]|0)){c[(c[f>>2]|0)+32+16>>2]=c[(c[g>>2]|0)+56>>2];b=(c[g>>2]|0)+56+8|0;h=c[b+4>>2]|0;k=(c[f>>2]|0)+8|0;c[k>>2]=c[b>>2];c[k+4>>2]=h;i=c[i>>2]|0;k=(c[g>>2]|0)+56+8|0;h=k;i=IR(c[h>>2]|0,c[h+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0;c[k>>2]=i;c[k+4>>2]=z}}if(c[e>>2]|0){k=c[e>>2]|0;l=j;return k|0}c[e>>2]=_G(c[d>>2]|0)|0;k=c[e>>2]|0;l=j;return k|0}function lH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;b=f+12|0;d=f+8|0;e=f;c[b>>2]=a;c[d>>2]=0;a=e;c[a>>2]=16;c[a+4>>2]=0;while(1){g=e;i=c[g+4>>2]|0;a=c[b>>2]|0;h=((a|0)<0)<<31>>31;if(!((i|0)<(h|0)|((i|0)==(h|0)?(c[g>>2]|0)>>>0
>>0:0)))break;h=e;h=RR(c[h>>2]|0,c[h+4>>2]|0,16,0)|0;i=e;c[i>>2]=h;c[i+4>>2]=z;c[d>>2]=(c[d>>2]|0)+1}l=f;return c[d>>2]|0}function mH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+44|0;k=q+40|0;m=q+36|0;n=q+32|0;o=q+28|0;p=q+8|0;f=q+24|0;g=q+20|0;h=q;i=q+16|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;b=c[m>>2]|0;d=c[b+4>>2]|0;e=p;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[g>>2]=0;e=nH(c[k>>2]|0)|0;c[o>>2]=e;c[c[n>>2]>>2]=e;if(!(c[o>>2]|0))c[g>>2]=7;c[f>>2]=0;while(1){if(!((c[f>>2]|0)<(c[k>>2]|0)?(c[g>>2]|0)==0:0))break;b=h;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=(c[(c[o>>2]|0)+12>>2]|0)+((c[f>>2]|0)*56|0);b=p;c[g>>2]=qH(c[j>>2]|0,(c[j>>2]|0)+40|0,c[b>>2]|0,c[b+4>>2]|0,c[i>>2]|0,h)|0;b=(c[i>>2]|0)+8|0;d=c[b+4>>2]|0;e=p;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[f>>2]=(c[f>>2]|0)+1}if(!(c[g>>2]|0)){o=p;k=o;k=c[k>>2]|0;o=o+4|0;o=c[o>>2]|0;p=c[m>>2]|0;n=p;c[n>>2]=k;p=p+4|0;c[p>>2]=o;p=c[g>>2]|0;l=q;return p|0}zr(c[o>>2]|0);c[c[n>>2]>>2]=0;o=p;k=o;k=c[k>>2]|0;o=o+4|0;o=c[o>>2]|0;p=c[m>>2]|0;n=p;c[n>>2]=k;p=p+4|0;c[p>>2]=o;p=c[g>>2]|0;l=q;return p|0}function nH(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;e=g+8|0;d=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;while(1){a=c[e>>2]|0;if((c[e>>2]|0)>=(c[b>>2]|0))break;c[e>>2]=(c[e>>2]|0)+a}c[d>>2]=16+(a*60|0);if(Vp(100)|0)a=0;else{a=c[d>>2]|0;a=Cg(a,((a|0)<0)<<31>>31)|0}c[f>>2]=a;if(!(c[f>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[c[f>>2]>>2]=c[e>>2];c[(c[f>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+12>>2]=(c[f>>2]|0)+16;c[(c[f>>2]|0)+8>>2]=(c[(c[f>>2]|0)+12>>2]|0)+((c[e>>2]|0)*56|0);f=c[f>>2]|0;l=g;return f|0}function oH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+64|0;n=s+48|0;o=s+44|0;r=s+40|0;u=s+36|0;t=s+32|0;p=s+28|0;g=s+24|0;h=s+20|0;q=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[n>>2]=a;c[o>>2]=b;c[r>>2]=d;c[u>>2]=e;c[t>>2]=f;c[p>>2]=0;c[g>>2]=1;c[q>>2]=c[u>>2];c[p>>2]=pH(c[n>>2]|0,c[t>>2]|0,i)|0;c[h>>2]=1;while(1){if((c[h>>2]|0)>=(c[o>>2]|0))break;c[g>>2]=c[g>>2]<<4;c[h>>2]=(c[h>>2]|0)+1}c[h>>2]=1;while(1){if(!((c[h>>2]|0)<(c[o>>2]|0)?(c[p>>2]|0)==0:0))break;c[j>>2]=((c[r>>2]|0)/(c[g>>2]|0)|0|0)%16|0;c[k>>2]=(c[(c[q>>2]|0)+12>>2]|0)+((c[j>>2]|0)*56|0);do if(!(c[(c[k>>2]|0)+48>>2]|0)){c[m>>2]=nH(16)|0;if(!(c[m>>2]|0)){c[p>>2]=7;break}else{c[p>>2]=pH(c[n>>2]|0,c[m>>2]|0,(c[k>>2]|0)+48|0)|0;break}}while(0);if(!(c[p>>2]|0)){c[q>>2]=c[(c[(c[k>>2]|0)+48>>2]|0)+4>>2];c[g>>2]=(c[g>>2]|0)/16|0}c[h>>2]=(c[h>>2]|0)+1}a=c[i>>2]|0;if(!(c[p>>2]|0)){c[(c[(c[q>>2]|0)+12>>2]|0)+(((c[r>>2]|0)%16|0)*56|0)+48>>2]=a;u=c[p>>2]|0;l=s;return u|0}else{Dr(a);u=c[p>>2]|0;l=s;return u|0}return 0}function pH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;g=j+16|0;e=j+12|0;f=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;if(Vp(100)|0)a=0;else a=Cg(64,0)|0;c[c[f>>2]>>2]=a;c[i>>2]=a;a=c[e>>2]|0;if(!(c[i>>2]|0)){zr(a);c[h>>2]=7;i=c[h>>2]|0;l=j;return i|0}c[(c[i>>2]|0)+4>>2]=a;c[c[i>>2]>>2]=c[g>>2];a=c[(c[g>>2]|0)+8>>2]|0;if(((c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2]|0)+9|0)>((c[(c[(c[g>>2]|0)+8>>2]|0)+4>>2]|0)/2|0|0))a=(c[a+8>>2]|0)+9|0;else a=(c[a+4>>2]|0)/2|0;c[(c[i>>2]|0)+16>>2]=a;f=c[(c[i>>2]|0)+16>>2]|0;i=(c[g>>2]|0)+56+8|0;g=i;g=IR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[i>>2]=g;c[i+4>>2]=z;i=c[h>>2]|0;l=j;return i|0}function qH(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+48|0;o=m+32|0;n=m+28|0;p=m+8|0;k=m+24|0;h=m+20|0;i=m+16|0;j=m;c[o>>2]=a;c[n>>2]=b;b=p;c[b>>2]=d;c[b+4>>2]=e;c[k>>2]=f;c[h>>2]=g;g=p;c[i>>2]=aH(c[o>>2]|0,c[k>>2]|0,c[n>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;if(!(c[i>>2]|0)){o=j;c[o>>2]=0;c[o+4>>2]=0;c[i>>2]=bH(c[k>>2]|0,j)|0;o=c[k>>2]|0;p=j;p=IR(c[o>>2]|0,c[o+4>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;o=(c[k>>2]|0)+8|0;c[o>>2]=p;c[o+4>>2]=z;o=j;p=c[h>>2]|0;n=p;o=IR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;c[p>>2]=o;c[p+4>>2]=z}if(c[i>>2]|0){p=c[i>>2]|0;l=m;return p|0}c[i>>2]=_G(c[k>>2]|0)|0;p=c[i>>2]|0;l=m;return p|0}function rH(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return (d[(c[b>>2]|0)+66>>0]|0|0)!=1|0}function sH(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=b;c[e>>2]=tH(c[(c[d>>2]|0)+16>>2]|0,g)|0;c[(c[d>>2]|0)+56>>2]=0;if(!(c[g>>2]|0)){g=c[e>>2]|0;l=f;return g|0}a[(c[d>>2]|0)+2>>0]=1;g=c[e>>2]|0;l=f;return g|0}function tH(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[g>>2]=b;if((d[(c[f>>2]|0)+66>>0]|0|0)>=3)a=YC(c[f>>2]|0)|0;else a=0;c[h>>2]=a;if(c[h>>2]|0){c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}else{c[c[g>>2]>>2]=(d[(c[f>>2]|0)+66>>0]|0|0)!=1?1:0;c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}return 0}function uH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;b=c[e>>2]|0;if(a[(c[e>>2]|0)+56>>0]|0){c[h>>2]=(c[(c[b+20>>2]|0)+12>>2]|0)+((c[(c[(c[(c[e>>2]|0)+20>>2]|0)+8>>2]|0)+4>>2]|0)*56|0);c[c[f>>2]>>2]=c[(c[h>>2]|0)+20>>2];c[g>>2]=c[(c[h>>2]|0)+32>>2];h=c[g>>2]|0;l=i;return h|0}else{c[c[f>>2]>>2]=c[c[b+36>>2]>>2];c[g>>2]=(c[(c[e>>2]|0)+36>>2]|0)+8;h=c[g>>2]|0;l=i;return h|0}return 0}function vH(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;n=t+32|0;o=t+28|0;p=t+24|0;q=t+20|0;r=t+16|0;s=t+12|0;j=t+8|0;k=t+4|0;m=t;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;if(c[c[q>>2]>>2]|0){l=t;return}c[s>>2]=c[(c[n>>2]|0)+56>>2];c[j>>2]=(c[(c[n>>2]|0)+64>>2]|0)+(c[o>>2]<<1);c[r>>2]=(d[c[j>>2]>>0]|0)<<8|(d[(c[j>>2]|0)+1>>0]|0);c[m>>2]=d[(c[n>>2]|0)+5>>0];if((c[r>>2]|0)>>>0>=((d[(c[s>>2]|0)+((c[m>>2]|0)+5)>>0]|0)<<8|(d[(c[s>>2]|0)+((c[m>>2]|0)+5)+1>>0]|0))>>>0?((c[r>>2]|0)+(c[p>>2]|0)|0)>>>0<=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)>>>0:0){c[k>>2]=OH(c[n>>2]|0,c[r>>2]&65535,c[p>>2]&65535)|0;if(c[k>>2]|0){c[c[q>>2]>>2]=c[k>>2];l=t;return}r=(c[n>>2]|0)+18|0;b[r>>1]=(b[r>>1]|0)+-1<<16>>16;if(!(e[(c[n>>2]|0)+18>>1]|0)){r=(c[s>>2]|0)+((c[m>>2]|0)+1)|0;a[r>>0]=0;a[r+1>>0]=0;a[r+2>>0]=0;a[r+3>>0]=0;a[(c[s>>2]|0)+((c[m>>2]|0)+7)>>0]=0;a[(c[s>>2]|0)+((c[m>>2]|0)+5)>>0]=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)>>>8;a[(c[s>>2]|0)+((c[m>>2]|0)+5)+1>>0]=c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2];b[(c[n>>2]|0)+16>>1]=(c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-(d[(c[n>>2]|0)+5>>0]|0)-(d[(c[n>>2]|0)+6>>0]|0)-8;l=t;return}else{TR(c[j>>2]|0,(c[j>>2]|0)+2|0,(e[(c[n>>2]|0)+18>>1]|0)-(c[o>>2]|0)<<1|0)|0;a[(c[s>>2]|0)+((c[m>>2]|0)+3)>>0]=(e[(c[n>>2]|0)+18>>1]|0)>>8;a[(c[s>>2]|0)+((c[m>>2]|0)+3)+1>>0]=b[(c[n>>2]|0)+18>>1];s=(c[n>>2]|0)+16|0;b[s>>1]=(e[s>>1]|0)+2;l=t;return}}s=um(64508)|0;c[c[q>>2]>>2]=s;l=t;return}function wH(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+48|0;w=z+44|0;x=z+40|0;y=z+36|0;n=z+32|0;o=z+28|0;p=z+24|0;q=z+20|0;r=z+16|0;s=z+12|0;t=z+8|0;u=z+4|0;v=z;c[w>>2]=f;c[x>>2]=g;c[y>>2]=h;c[n>>2]=i;c[o>>2]=j;c[p>>2]=k;c[q>>2]=m;c[r>>2]=0;if((d[(c[w>>2]|0)+1>>0]|0)==0?((c[n>>2]|0)+2|0)<=(e[(c[w>>2]|0)+16>>1]|0):0){c[v>>2]=Tm(c[(c[w>>2]|0)+72>>2]|0)|0;if(c[v>>2]|0){c[c[q>>2]>>2]=c[v>>2];l=z;return}c[t>>2]=c[(c[w>>2]|0)+56>>2];c[v>>2]=QH(c[w>>2]|0,c[n>>2]|0,r)|0;if(c[v>>2]|0){c[c[q>>2]>>2]=c[v>>2];l=z;return}m=(c[w>>2]|0)+16|0;b[m>>1]=(e[m>>1]|0)-(2+(c[n>>2]|0)&65535);MR((c[t>>2]|0)+(c[r>>2]|0)|0,c[y>>2]|0,c[n>>2]|0)|0;if(c[p>>2]|0)Xm((c[t>>2]|0)+(c[r>>2]|0)|0,c[p>>2]|0);c[u>>2]=(c[(c[w>>2]|0)+64>>2]|0)+(c[x>>2]<<1);TR((c[u>>2]|0)+2|0,c[u>>2]|0,(e[(c[w>>2]|0)+18>>1]|0)-(c[x>>2]|0)<<1|0)|0;a[c[u>>2]>>0]=c[r>>2]>>8;a[(c[u>>2]|0)+1>>0]=c[r>>2];m=(c[w>>2]|0)+18|0;b[m>>1]=(b[m>>1]|0)+1<<16>>16;m=(c[t>>2]|0)+((d[(c[w>>2]|0)+5>>0]|0)+4)|0;x=(a[m>>0]|0)+1<<24>>24;a[m>>0]=x;if(!(x&255)){x=(c[t>>2]|0)+((d[(c[w>>2]|0)+5>>0]|0)+3)|0;a[x>>0]=(a[x>>0]|0)+1<<24>>24}if(!(a[(c[(c[w>>2]|0)+52>>2]|0)+17>>0]|0)){l=z;return}up(c[w>>2]|0,c[y>>2]|0,c[q>>2]|0);l=z;return}if(c[o>>2]|0){MR(c[o>>2]|0,c[y>>2]|0,c[n>>2]|0)|0;c[y>>2]=c[o>>2]}if(c[p>>2]|0)Xm(c[y>>2]|0,c[p>>2]|0);k=(c[w>>2]|0)+1|0;m=a[k>>0]|0;a[k>>0]=m+1<<24>>24;c[s>>2]=m&255;c[(c[w>>2]|0)+32+(c[s>>2]<<2)>>2]=c[y>>2];b[(c[w>>2]|0)+22+(c[s>>2]<<1)>>1]=c[x>>2];l=z;return}function xH(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;g=r+32|0;i=r+28|0;j=r+24|0;k=r+36|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;q=r+4|0;h=r;c[g>>2]=f;c[i>>2]=0;c[j>>2]=(c[(c[(c[g>>2]|0)+4>>2]|0)+36>>2]<<1>>>0)/3|0;c[m>>2]=0;do{c[n>>2]=a[(c[g>>2]|0)+68>>0];c[o>>2]=c[(c[g>>2]|0)+120+(c[n>>2]<<2)>>2];f=a[(c[o>>2]|0)+1>>0]|0;if(!(c[n>>2]|0)){if(!(f<<24>>24))break;c[i>>2]=yH(c[o>>2]|0,(c[g>>2]|0)+120+4|0)|0;if(!(c[i>>2]|0)){a[(c[g>>2]|0)+68>>0]=1;b[(c[g>>2]|0)+80>>1]=0;b[(c[g>>2]|0)+80+2>>1]=0}}else{if((f&255|0)==0?(e[(c[o>>2]|0)+16>>1]|0)<=(c[j>>2]|0):0)break;c[p>>2]=c[(c[g>>2]|0)+120+((c[n>>2]|0)-1<<2)>>2];c[q>>2]=e[(c[g>>2]|0)+80+((c[n>>2]|0)-1<<1)>>1];c[i>>2]=Tm(c[(c[p>>2]|0)+72>>2]|0)|0;do if(!(c[i>>2]|0)){if((((d[(c[o>>2]|0)+3>>0]|0?(d[(c[o>>2]|0)+1>>0]|0)==1:0)?(e[(c[o>>2]|0)+22>>1]|0)==(e[(c[o>>2]|0)+18>>1]|0):0)?(c[(c[p>>2]|0)+84>>2]|0)!=1:0)?(e[(c[p>>2]|0)+18>>1]|0)==(c[q>>2]|0):0){c[i>>2]=zH(c[p>>2]|0,c[o>>2]|0,k)|0;break}c[h>>2]=Jk(c[(c[(c[g>>2]|0)+4>>2]|0)+32>>2]|0)|0;c[i>>2]=AH(c[p>>2]|0,c[q>>2]|0,c[h>>2]|0,(c[n>>2]|0)==1&1,d[(c[g>>2]|0)+67>>0]&1)|0;if(c[m>>2]|0)Mk(c[m>>2]|0);c[m>>2]=c[h>>2]}while(0);a[(c[o>>2]|0)+1>>0]=0;np(c[o>>2]|0);f=(c[g>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+-1<<24>>24}}while(!(c[i>>2]|0));if(!(c[m>>2]|0)){q=c[i>>2]|0;l=r;return q|0}Mk(c[m>>2]|0);q=c[i>>2]|0;l=r;return q|0}function yH(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=e;c[j>>2]=0;c[k>>2]=0;c[m>>2]=c[(c[g>>2]|0)+52>>2];c[i>>2]=Tm(c[(c[g>>2]|0)+72>>2]|0)|0;if((c[i>>2]|0)==0?(c[i>>2]=mp(c[m>>2]|0,j,k,c[(c[g>>2]|0)+84>>2]|0,0)|0,GH(c[g>>2]|0,c[j>>2]|0,i),a[(c[m>>2]|0)+17>>0]|0):0)sp(c[m>>2]|0,c[k>>2]|0,5,c[(c[g>>2]|0)+84>>2]|0,i);if(c[i>>2]|0){c[c[h>>2]>>2]=0;np(c[j>>2]|0);c[f>>2]=c[i>>2];m=c[f>>2]|0;l=n;return m|0}else{MR((c[j>>2]|0)+22|0,(c[g>>2]|0)+22|0,d[(c[g>>2]|0)+1>>0]<<1|0)|0;MR((c[j>>2]|0)+32|0,(c[g>>2]|0)+32|0,d[(c[g>>2]|0)+1>>0]<<2|0)|0;a[(c[j>>2]|0)+1>>0]=a[(c[g>>2]|0)+1>>0]|0;cq(c[g>>2]|0,d[c[(c[j>>2]|0)+56>>2]>>0]&-9);Xm((c[(c[g>>2]|0)+56>>2]|0)+((d[(c[g>>2]|0)+5>>0]|0)+8)|0,c[k>>2]|0);c[c[h>>2]>>2]=c[j>>2];c[f>>2]=0;m=c[f>>2]|0;l=n;return m|0}return 0}function zH(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;o=v+40|0;p=v+36|0;q=v+32|0;r=v+28|0;s=v+24|0;t=v+20|0;u=v+16|0;i=v+12|0;j=v+8|0;k=v+4|0;m=v+44|0;n=v;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=c[(c[q>>2]|0)+52>>2];if(!(e[(c[q>>2]|0)+18>>1]|0)){c[o>>2]=um(65006)|0;u=c[o>>2]|0;l=v;return u|0}c[u>>2]=mp(c[s>>2]|0,t,i,0,0)|0;if(!(c[u>>2]|0)){c[j>>2]=(c[r>>2]|0)+4;c[k>>2]=c[(c[q>>2]|0)+32>>2];b[m>>1]=yb[c[(c[q>>2]|0)+76>>2]&255](c[q>>2]|0,c[k>>2]|0)|0;cq(c[t>>2]|0,13);c[u>>2]=MH(c[t>>2]|0,1,k,m)|0;if(c[u>>2]|0){c[o>>2]=c[u>>2];u=c[o>>2]|0;l=v;return u|0}b[(c[t>>2]|0)+16>>1]=(c[(c[s>>2]|0)+36>>2]|0)-(e[(c[t>>2]|0)+14>>1]|0)-2-(e[m>>1]|0);if(a[(c[s>>2]|0)+17>>0]|0?(sp(c[s>>2]|0,c[i>>2]|0,5,c[(c[p>>2]|0)+84>>2]|0,u),(e[m>>1]|0)>(e[(c[t>>2]|0)+12>>1]|0)):0)up(c[t>>2]|0,c[k>>2]|0,u);c[k>>2]=(c[(c[q>>2]|0)+56>>2]|0)+(e[(c[q>>2]|0)+20>>1]&(d[(c[(c[q>>2]|0)+64>>2]|0)+((e[(c[q>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[q>>2]|0)+64>>2]|0)+((e[(c[q>>2]|0)+18>>1]|0)-1<<1)+1>>0]));c[n>>2]=(c[k>>2]|0)+9;do{s=c[k>>2]|0;c[k>>2]=s+1;if(!(d[s>>0]&128))break}while((c[k>>2]|0)>>>0<(c[n>>2]|0)>>>0);c[n>>2]=(c[k>>2]|0)+9;do{s=c[k>>2]|0;c[k>>2]=s+1;s=a[s>>0]|0;h=c[j>>2]|0;c[j>>2]=h+1;a[h>>0]=s;if(!(s&128))break}while((c[k>>2]|0)>>>0<(c[n>>2]|0)>>>0);if(!(c[u>>2]|0))wH(c[p>>2]|0,e[(c[p>>2]|0)+18>>1]|0,c[r>>2]|0,(c[j>>2]|0)-(c[r>>2]|0)|0,0,c[(c[q>>2]|0)+84>>2]|0,u);Xm((c[(c[p>>2]|0)+56>>2]|0)+((d[(c[p>>2]|0)+5>>0]|0)+8)|0,c[i>>2]|0);np(c[t>>2]|0)}c[o>>2]=c[u>>2];u=c[o>>2]|0;l=v;return u|0}function AH(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0;Da=l;l=l+448|0;va=Da+412|0;wa=Da+408|0;k=Da+404|0;fa=Da+400|0;Ca=Da+396|0;C=Da+392|0;ga=Da+388|0;n=Da+384|0;ha=Da+380|0;ia=Da+376|0;ja=Da+372|0;D=Da+368|0;E=Da+364|0;F=Da+360|0;ka=Da+356|0;la=Da+430|0;ma=Da+352|0;na=Da+348|0;G=Da+344|0;o=Da+340|0;H=Da+336|0;p=Da+332|0;oa=Da+320|0;pa=Da+300|0;I=Da+296|0;q=Da+288|0;qa=Da+264|0;ra=Da+244|0;sa=Da+224|0;r=Da+220|0;J=Da+216|0;ta=Da+432|0;K=Da+196|0;L=Da+176|0;M=Da+420|0;ua=Da+160|0;m=Da+152|0;s=Da+148|0;t=Da+144|0;u=Da+140|0;v=Da+418|0;w=Da+136|0;x=Da+132|0;y=Da+416|0;z=Da+128|0;A=Da+124|0;B=Da+120|0;N=Da+116|0;O=Da+112|0;P=Da+108|0;Q=Da+104|0;R=Da+100|0;S=Da+96|0;T=Da+92|0;U=Da+88|0;V=Da+84|0;W=Da+80|0;X=Da+76|0;Y=Da+72|0;Z=Da+68|0;_=Da+64|0;$=Da+60|0;aa=Da+56|0;ba=Da+52|0;ca=Da+48|0;da=Da+44|0;ea=Da;xa=Da+40|0;ya=Da+36|0;za=Da+32|0;Aa=Da+28|0;Ba=Da+24|0;c[wa>>2]=f;c[k>>2]=g;c[fa>>2]=h;c[Ca>>2]=i;c[C>>2]=j;c[n>>2]=0;c[ha>>2]=0;c[ka>>2]=0;c[o>>2]=0;c[H>>2]=0;a[ta>>0]=0;a[ta+1>>0]=0;a[ta+2>>0]=0;a[ta+3>>0]=0;a[ta+4>>0]=0;c[ua>>2]=0;c[ua+8>>2]=0;c[ga>>2]=c[(c[wa>>2]|0)+52>>2];if(!(c[fa>>2]|0)){c[va>>2]=7;Ca=c[va>>2]|0;l=Da;return Ca|0}c[ja>>2]=(d[(c[wa>>2]|0)+1>>0]|0)+(e[(c[wa>>2]|0)+18>>1]|0);if((c[ja>>2]|0)<2)c[F>>2]=0;else{do if(c[k>>2]|0)if((c[k>>2]|0)==(c[ja>>2]|0)){c[F>>2]=(c[ja>>2]|0)-2+(c[C>>2]|0);break}else{c[F>>2]=(c[k>>2]|0)-1;break}else c[F>>2]=0;while(0);c[ja>>2]=2-(c[C>>2]|0)}c[ia>>2]=(c[ja>>2]|0)+1;f=c[(c[wa>>2]|0)+56>>2]|0;g=c[wa>>2]|0;if(((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)|0)==(e[(c[wa>>2]|0)+18>>1]|0))c[I>>2]=f+((d[g+5>>0]|0)+8);else c[I>>2]=f+(e[g+20>>1]&(d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)+1>>0]));c[J>>2]=el(c[I>>2]|0)|0;while(1){c[ka>>2]=aD(c[ga>>2]|0,c[J>>2]|0,oa+(c[ja>>2]<<2)|0,0,0)|0;if(c[ka>>2]|0){g=16;break}c[n>>2]=(c[n>>2]|0)+(1+(e[(c[oa+(c[ja>>2]<<2)>>2]|0)+18>>1]|0)+(d[(c[oa+(c[ja>>2]<<2)>>2]|0)+1>>0]|0));k=c[ja>>2]|0;c[ja>>2]=k+-1;if(!k){g=26;break}if(((c[ja>>2]|0)+(c[F>>2]|0)|0)==(e[(c[wa>>2]|0)+22>>1]|0)?d[(c[wa>>2]|0)+1>>0]|0:0){c[q+(c[ja>>2]<<2)>>2]=c[(c[wa>>2]|0)+32>>2];c[J>>2]=el(c[q+(c[ja>>2]<<2)>>2]|0)|0;k=(yb[c[(c[wa>>2]|0)+76>>2]&255](c[wa>>2]|0,c[q+(c[ja>>2]<<2)>>2]|0)|0)&65535;c[sa+(c[ja>>2]<<2)>>2]=k;a[(c[wa>>2]|0)+1>>0]=0;continue}c[q+(c[ja>>2]<<2)>>2]=(c[(c[wa>>2]|0)+56>>2]|0)+(e[(c[wa>>2]|0)+20>>1]&(d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)>>0]<<8|d[(c[(c[wa>>2]|0)+64>>2]|0)+((c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)<<1)+1>>0]));c[J>>2]=el(c[q+(c[ja>>2]<<2)>>2]|0)|0;k=(yb[c[(c[wa>>2]|0)+76>>2]&255](c[wa>>2]|0,c[q+(c[ja>>2]<<2)>>2]|0)|0)&65535;c[sa+(c[ja>>2]<<2)>>2]=k;if(e[(c[ga>>2]|0)+22>>1]&4|0){c[m>>2]=(c[q+(c[ja>>2]<<2)>>2]|0)-(c[(c[wa>>2]|0)+56>>2]|0);if(((c[m>>2]|0)+(c[sa+(c[ja>>2]<<2)>>2]|0)|0)>(c[(c[ga>>2]|0)+36>>2]|0)){g=23;break}MR((c[fa>>2]|0)+(c[m>>2]|0)|0,c[q+(c[ja>>2]<<2)>>2]|0,c[sa+(c[ja>>2]<<2)>>2]|0)|0;c[q+(c[ja>>2]<<2)>>2]=(c[fa>>2]|0)+((c[q+(c[ja>>2]<<2)>>2]|0)-(c[(c[wa>>2]|0)+56>>2]|0))}vH(c[wa>>2]|0,(c[ja>>2]|0)+(c[F>>2]|0)-(d[(c[wa>>2]|0)+1>>0]|0)|0,c[sa+(c[ja>>2]<<2)>>2]|0,ka)}a:do if((g|0)==16)GR(oa|0,0,(c[ja>>2]|0)+1<<2|0)|0;else if((g|0)==23){c[ka>>2]=um(65347)|0;GR(oa|0,0,(c[ja>>2]|0)+1<<2|0)|0}else if((g|0)==26){c[n>>2]=(c[n>>2]|0)+3&-4;c[p>>2]=(c[n>>2]<<2)+(c[n>>2]<<1)+(c[(c[ga>>2]|0)+32>>2]|0);c[ua+8>>2]=BH(c[p>>2]|0)|0;if(!(c[ua+8>>2]|0)){c[ka>>2]=7;break}c[ua+12>>2]=(c[ua+8>>2]|0)+(c[n>>2]<<2);c[r>>2]=(c[ua+12>>2]|0)+(c[n>>2]<<1);c[ua+4>>2]=c[oa>>2];b[la>>1]=d[(c[ua+4>>2]|0)+4>>0]<<2;c[ma>>2]=d[(c[ua+4>>2]|0)+3>>0];c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break;c[s>>2]=c[oa+(c[ja>>2]<<2)>>2];c[t>>2]=e[(c[s>>2]|0)+18>>1];c[u>>2]=c[(c[s>>2]|0)+56>>2];b[v>>1]=b[(c[s>>2]|0)+20>>1]|0;c[w>>2]=(c[u>>2]|0)+(e[(c[s>>2]|0)+14>>1]|0);if((d[c[(c[s>>2]|0)+56>>2]>>0]|0)!=(d[c[(c[oa>>2]|0)+56>>2]>>0]|0)){g=31;break}GR((c[ua+12>>2]|0)+(c[ua>>2]<<1)|0,0,(c[t>>2]|0)+(d[(c[s>>2]|0)+1>>0]|0)<<1|0)|0;b:do if((d[(c[s>>2]|0)+1>>0]|0)>0){c[t>>2]=e[(c[s>>2]|0)+22>>1];c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[t>>2]|0))break;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=(c[u>>2]|0)+(e[v>>1]&(d[c[w>>2]>>0]<<8|d[(c[w>>2]|0)+1>>0]));c[w>>2]=(c[w>>2]|0)+2;c[ua>>2]=(c[ua>>2]|0)+1;c[D>>2]=(c[D>>2]|0)+1}c[E>>2]=0;while(1){if((c[E>>2]|0)>=(d[(c[s>>2]|0)+1>>0]|0))break b;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=c[(c[s>>2]|0)+32+(c[E>>2]<<2)>>2];c[ua>>2]=(c[ua>>2]|0)+1;c[E>>2]=(c[E>>2]|0)+1}}while(0);c[x>>2]=(c[u>>2]|0)+(e[(c[s>>2]|0)+14>>1]|0)+(e[(c[s>>2]|0)+18>>1]<<1);while(1){if((c[w>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=(c[u>>2]|0)+(e[v>>1]&(d[c[w>>2]>>0]<<8|d[(c[w>>2]|0)+1>>0]));c[w>>2]=(c[w>>2]|0)+2;c[ua>>2]=(c[ua>>2]|0)+1}c[ra+(c[ja>>2]<<2)>>2]=c[ua>>2];if(!(c[ma>>2]|0?1:(c[ja>>2]|0)>=((c[ia>>2]|0)-1|0))){b[y>>1]=c[sa+(c[ja>>2]<<2)>>2];b[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]=b[y>>1]|0;c[z>>2]=(c[r>>2]|0)+(c[o>>2]|0);c[o>>2]=(c[o>>2]|0)+(e[y>>1]|0);MR(c[z>>2]|0,c[q+(c[ja>>2]<<2)>>2]|0,e[y>>1]|0)|0;c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]=(c[z>>2]|0)+(e[la>>1]|0);b[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]=(e[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]|0)-(e[la>>1]|0);c:do if(a[(c[s>>2]|0)+4>>0]|0)while(1){if((e[(c[ua+12>>2]|0)+(c[ua>>2]<<1)>>1]|0)>=4)break c;n=c[r>>2]|0;p=c[o>>2]|0;c[o>>2]=p+1;a[n+p>>0]=0;p=(c[ua+12>>2]|0)+(c[ua>>2]<<1)|0;b[p>>1]=(b[p>>1]|0)+1<<16>>16}else{p=c[(c[ua+8>>2]|0)+(c[ua>>2]<<2)>>2]|0;n=(c[(c[s>>2]|0)+56>>2]|0)+8|0;a[p>>0]=a[n>>0]|0;a[p+1>>0]=a[n+1>>0]|0;a[p+2>>0]=a[n+2>>0]|0;a[p+3>>0]=a[n+3>>0]|0}while(0);c[ua>>2]=(c[ua>>2]|0)+1}c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==31){c[ka>>2]=um(65414)|0;break}c[na>>2]=(c[(c[ga>>2]|0)+36>>2]|0)-12+(e[la>>1]|0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break;c[A>>2]=c[oa+(c[ja>>2]<<2)>>2];c[sa+(c[ja>>2]<<2)>>2]=(c[na>>2]|0)-(e[(c[A>>2]|0)+16>>1]|0);if((c[sa+(c[ja>>2]<<2)>>2]|0)<0){g=52;break}c[D>>2]=0;while(1){if((c[D>>2]|0)>=(d[(c[A>>2]|0)+1>>0]|0))break;y=2+((yb[c[(c[A>>2]|0)+76>>2]&255](c[A>>2]|0,c[(c[A>>2]|0)+32+(c[D>>2]<<2)>>2]|0)|0)&65535)|0;z=sa+(c[ja>>2]<<2)|0;c[z>>2]=(c[z>>2]|0)+y;c[D>>2]=(c[D>>2]|0)+1}c[qa+(c[ja>>2]<<2)>>2]=c[ra+(c[ja>>2]<<2)>>2];c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==52){c[ka>>2]=um(65512)|0;break}c[E>>2]=c[ia>>2];c[ja>>2]=0;d:while(1){if((c[ja>>2]|0)>=(c[E>>2]|0)){g=83;break}while(1){if((c[sa+(c[ja>>2]<<2)>>2]|0)<=(c[na>>2]|0))break;if(((c[ja>>2]|0)+1|0)>=(c[E>>2]|0)){c[E>>2]=(c[ja>>2]|0)+2;if((c[E>>2]|0)>5){g=62;break d}c[sa+((c[E>>2]|0)-1<<2)>>2]=0;c[qa+((c[E>>2]|0)-1<<2)>>2]=c[ua>>2]}c[B>>2]=2+((CH(ua,(c[qa+(c[ja>>2]<<2)>>2]|0)-1|0)|0)&65535);A=sa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0);do if(!(c[ma>>2]|0))if((c[qa+(c[ja>>2]<<2)>>2]|0)<(c[ua>>2]|0)){c[B>>2]=2+((CH(ua,c[qa+(c[ja>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=sa+((c[ja>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=qa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+-1}while(1){if((c[qa+(c[ja>>2]<<2)>>2]|0)>=(c[ua>>2]|0))break;c[B>>2]=2+((CH(ua,c[qa+(c[ja>>2]<<2)>>2]|0)|0)&65535);if(((c[sa+(c[ja>>2]<<2)>>2]|0)+(c[B>>2]|0)|0)>(c[na>>2]|0))break;A=sa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+(c[B>>2]|0);A=qa+(c[ja>>2]<<2)|0;c[A>>2]=(c[A>>2]|0)+1;do if(!(c[ma>>2]|0))if((c[qa+(c[ja>>2]<<2)>>2]|0)<(c[ua>>2]|0)){c[B>>2]=2+((CH(ua,c[qa+(c[ja>>2]<<2)>>2]|0)|0)&65535);break}else{c[B>>2]=0;break}while(0);A=sa+((c[ja>>2]|0)+1<<2)|0;c[A>>2]=(c[A>>2]|0)-(c[B>>2]|0)}f=c[ja>>2]|0;if((c[qa+(c[ja>>2]<<2)>>2]|0)<(c[ua>>2]|0)){if((c[ja>>2]|0)>0)g=c[qa+((c[ja>>2]|0)-1<<2)>>2]|0;else g=0;if((c[qa+(f<<2)>>2]|0)<=(g|0)){g=81;break}}else c[E>>2]=f+1;c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==62){c[ka>>2]=um(65524)|0;break}else if((g|0)==81){c[ka>>2]=um(65557)|0;break}else if((g|0)==83){c[ja>>2]=(c[E>>2]|0)-1;while(1){if((c[ja>>2]|0)<=0)break;c[N>>2]=c[sa+(c[ja>>2]<<2)>>2];c[O>>2]=c[sa+((c[ja>>2]|0)-1<<2)>>2];c[P>>2]=(c[qa+((c[ja>>2]|0)-1<<2)>>2]|0)-1;c[Q>>2]=(c[P>>2]|0)+1-(c[ma>>2]|0);CH(ua,c[Q>>2]|0)|0;do{CH(ua,c[P>>2]|0)|0;if(c[N>>2]|0){if(c[C>>2]|0)break;if(((c[N>>2]|0)+(e[(c[ua+12>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2|0)>((c[O>>2]|0)-((e[(c[ua+12>>2]|0)+(c[P>>2]<<1)>>1]|0)+((c[ja>>2]|0)==((c[E>>2]|0)-1|0)?0:2))|0))break}c[N>>2]=(c[N>>2]|0)+((e[(c[ua+12>>2]|0)+(c[Q>>2]<<1)>>1]|0)+2);c[O>>2]=(c[O>>2]|0)-((e[(c[ua+12>>2]|0)+(c[P>>2]<<1)>>1]|0)+2);c[qa+((c[ja>>2]|0)-1<<2)>>2]=c[P>>2];c[P>>2]=(c[P>>2]|0)+-1;c[Q>>2]=(c[Q>>2]|0)+-1}while((c[P>>2]|0)>=0);c[sa+(c[ja>>2]<<2)>>2]=c[N>>2];c[sa+((c[ja>>2]|0)-1<<2)>>2]=c[O>>2];if((c[ja>>2]|0)>1)f=c[qa+((c[ja>>2]|0)-2<<2)>>2]|0;else f=0;if((c[qa+((c[ja>>2]|0)-1<<2)>>2]|0)<=(f|0)){g=93;break}c[ja>>2]=(c[ja>>2]|0)+-1}if((g|0)==93){c[ka>>2]=um(65599)|0;break}c[G>>2]=d[c[(c[oa>>2]|0)+56>>2]>>0];c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[E>>2]|0))break;if((c[ja>>2]|0)<(c[ia>>2]|0)){Q=c[oa+(c[ja>>2]<<2)>>2]|0;c[pa+(c[ja>>2]<<2)>>2]=Q;c[R>>2]=Q;c[oa+(c[ja>>2]<<2)>>2]=0;c[ka>>2]=Tm(c[(c[R>>2]|0)+72>>2]|0)|0;c[ha>>2]=(c[ha>>2]|0)+1;if(c[ka>>2]|0)break a}else{c[ka>>2]=mp(c[ga>>2]|0,R,J,c[C>>2]|0?1:c[J>>2]|0,0)|0;if(c[ka>>2]|0)break a;cq(c[R>>2]|0,c[G>>2]|0);c[pa+(c[ja>>2]<<2)>>2]=c[R>>2];c[ha>>2]=(c[ha>>2]|0)+1;c[ra+(c[ja>>2]<<2)>>2]=c[ua>>2];if(a[(c[ga>>2]|0)+17>>0]|0?(sp(c[ga>>2]|0,c[(c[R>>2]|0)+84>>2]|0,5,c[(c[wa>>2]|0)+84>>2]|0,ka),c[ka>>2]|0):0)break a}c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=0;e:while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;R=c[(c[pa+(c[ja>>2]<<2)>>2]|0)+84>>2]|0;c[K+(c[ja>>2]<<2)>>2]=R;c[L+(c[ja>>2]<<2)>>2]=R;b[M+(c[ja>>2]<<1)>>1]=b[(c[(c[pa+(c[ja>>2]<<2)>>2]|0)+72>>2]|0)+24>>1]|0;c[D>>2]=0;while(1){if((c[D>>2]|0)>=(c[ja>>2]|0))break;if((c[K+(c[D>>2]<<2)>>2]|0)==(c[K+(c[ja>>2]<<2)>>2]|0)){g=108;break e}c[D>>2]=(c[D>>2]|0)+1}c[ja>>2]=(c[ja>>2]|0)+1}if((g|0)==108){c[ka>>2]=um(65673)|0;break}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;c[S>>2]=0;c[D>>2]=1;while(1){if((c[D>>2]|0)>=(c[ha>>2]|0))break;if((c[L+(c[D>>2]<<2)>>2]|0)>>>0<(c[L+(c[S>>2]<<2)>>2]|0)>>>0)c[S>>2]=c[D>>2];c[D>>2]=(c[D>>2]|0)+1}c[J>>2]=c[L+(c[S>>2]<<2)>>2];c[L+(c[S>>2]<<2)>>2]=-1;if((c[S>>2]|0)!=(c[ja>>2]|0)){if((c[S>>2]|0)>(c[ja>>2]|0))DH(c[(c[pa+(c[S>>2]<<2)>>2]|0)+72>>2]|0,(c[(c[ga>>2]|0)+44>>2]|0)+(c[S>>2]|0)+1|0,0);DH(c[(c[pa+(c[ja>>2]<<2)>>2]|0)+72>>2]|0,c[J>>2]|0,b[M+(c[S>>2]<<1)>>1]|0);c[(c[pa+(c[ja>>2]<<2)>>2]|0)+84>>2]=c[J>>2]}c[ja>>2]=(c[ja>>2]|0)+1}Xm(c[I>>2]|0,c[(c[pa+((c[ha>>2]|0)-1<<2)>>2]|0)+84>>2]|0);if((c[G>>2]&8|0)==0?(c[ia>>2]|0)!=(c[ha>>2]|0):0){c[T>>2]=c[((c[ha>>2]|0)>(c[ia>>2]|0)?pa:oa)+((c[ia>>2]|0)-1<<2)>>2];S=(c[(c[pa+((c[ha>>2]|0)-1<<2)>>2]|0)+56>>2]|0)+8|0;T=(c[(c[T>>2]|0)+56>>2]|0)+8|0;a[S>>0]=a[T>>0]|0;a[S+1>>0]=a[T+1>>0]|0;a[S+2>>0]=a[T+2>>0]|0;a[S+3>>0]=a[T+3>>0]|0}f:do if(a[(c[ga>>2]|0)+17>>0]|0){c[U>>2]=c[pa>>2];c[V>>2]=c[(c[U>>2]|0)+56>>2];c[W>>2]=(e[(c[U>>2]|0)+18>>1]|0)+(d[(c[U>>2]|0)+1>>0]|0);c[X>>2]=c[(c[ga>>2]|0)+36>>2];c[Y>>2]=0;c[Z>>2]=0;c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ua>>2]|0))break f;c[_>>2]=c[(c[ua+8>>2]|0)+(c[ja>>2]<<2)>>2];if((c[ja>>2]|0)==(c[W>>2]|0)){S=(c[Z>>2]|0)+1|0;c[Z>>2]=S;T=c[Z>>2]|0;c[$>>2]=c[((S|0)<(c[ha>>2]|0)?pa+(T<<2)|0:oa+(T<<2)|0)>>2];c[W>>2]=(c[W>>2]|0)+((e[(c[$>>2]|0)+18>>1]|0)+(d[(c[$>>2]|0)+1>>0]|0)+(((c[ma>>2]|0)!=0^1)&1));c[V>>2]=c[(c[$>>2]|0)+56>>2]}if(!((c[ja>>2]|0)==(c[qa+(c[Y>>2]<<2)>>2]|0)?(T=(c[Y>>2]|0)+1|0,c[Y>>2]=T,c[U>>2]=c[pa+(T<<2)>>2],!(c[ma>>2]|0)):0))g=133;do if((g|0)==133){g=0;if((((c[Z>>2]|0)<(c[ha>>2]|0)?(c[(c[U>>2]|0)+84>>2]|0)==(c[K+(c[Z>>2]<<2)>>2]|0):0)?(c[_>>2]|0)>>>0>=(c[V>>2]|0)>>>0:0)?(c[_>>2]|0)>>>0<((c[V>>2]|0)+(c[X>>2]|0)|0)>>>0:0)break;if(!(b[la>>1]|0)){S=c[ga>>2]|0;T=el(c[_>>2]|0)|0;sp(S,T,5,c[(c[U>>2]|0)+84>>2]|0,ka)}T=(CH(ua,c[ja>>2]|0)|0)&65535;if((T|0)>(e[(c[U>>2]|0)+12>>1]|0))up(c[U>>2]|0,c[_>>2]|0,ka);if(c[ka>>2]|0)break a}while(0);c[ja>>2]=(c[ja>>2]|0)+1}}while(0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=((c[ha>>2]|0)-1|0))break;c[da>>2]=c[pa+(c[ja>>2]<<2)>>2];c[D>>2]=c[qa+(c[ja>>2]<<2)>>2];c[aa>>2]=c[(c[ua+8>>2]|0)+(c[D>>2]<<2)>>2];c[ca>>2]=(e[(c[ua+12>>2]|0)+(c[D>>2]<<1)>>1]|0)+(e[la>>1]|0);c[ba>>2]=(c[fa>>2]|0)+(c[H>>2]|0);do if(a[(c[da>>2]|0)+4>>0]|0){if(c[ma>>2]|0){c[D>>2]=(c[D>>2]|0)+-1;ub[c[(c[da>>2]|0)+80>>2]&255](c[da>>2]|0,c[(c[ua+8>>2]|0)+(c[D>>2]<<2)>>2]|0,ea);c[aa>>2]=c[ba>>2];$=ea;c[ca>>2]=4+(eF((c[aa>>2]|0)+4|0,c[$>>2]|0,c[$+4>>2]|0)|0);c[ba>>2]=0;break}c[aa>>2]=(c[aa>>2]|0)+-4;if((e[(c[ua+12>>2]|0)+(c[D>>2]<<1)>>1]|0)==4)c[ca>>2]=(yb[c[(c[wa>>2]|0)+76>>2]&255](c[wa>>2]|0,c[aa>>2]|0)|0)&65535}else{$=(c[(c[da>>2]|0)+56>>2]|0)+8|0;_=c[aa>>2]|0;a[$>>0]=a[_>>0]|0;a[$+1>>0]=a[_+1>>0]|0;a[$+2>>0]=a[_+2>>0]|0;a[$+3>>0]=a[_+3>>0]|0}while(0);c[H>>2]=(c[H>>2]|0)+(c[ca>>2]|0);wH(c[wa>>2]|0,(c[F>>2]|0)+(c[ja>>2]|0)|0,c[aa>>2]|0,c[ca>>2]|0,c[ba>>2]|0,c[(c[da>>2]|0)+84>>2]|0,ka);if(c[ka>>2]|0)break a;c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=1-(c[ha>>2]|0);while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;fa=c[ja>>2]|0;c[xa>>2]=(c[ja>>2]|0)<0?0-fa|0:fa;do if(!(a[ta+(c[xa>>2]|0)>>0]|0)){if((c[ja>>2]|0)<0?(c[ra+((c[xa>>2]|0)-1<<2)>>2]|0)<(c[qa+((c[xa>>2]|0)-1<<2)>>2]|0):0)break;if(!(c[xa>>2]|0)){c[za>>2]=0;c[ya>>2]=0;c[Aa>>2]=c[qa>>2]}else{if((c[xa>>2]|0)<(c[ia>>2]|0))f=(c[ra+((c[xa>>2]|0)-1<<2)>>2]|0)+(((c[ma>>2]|0)!=0^1)&1)|0;else f=c[ua>>2]|0;c[za>>2]=f;c[ya>>2]=(c[qa+((c[xa>>2]|0)-1<<2)>>2]|0)+(((c[ma>>2]|0)!=0^1)&1);c[Aa>>2]=(c[qa+(c[xa>>2]<<2)>>2]|0)-(c[ya>>2]|0)}c[ka>>2]=EH(c[pa+(c[xa>>2]<<2)>>2]|0,c[za>>2]|0,c[ya>>2]|0,c[Aa>>2]|0,ua)|0;if(c[ka>>2]|0)break a;fa=ta+(c[xa>>2]|0)|0;a[fa>>0]=(a[fa>>0]|0)+1<<24>>24;b[(c[pa+(c[xa>>2]<<2)>>2]|0)+16>>1]=(c[na>>2]|0)-(c[sa+(c[xa>>2]<<2)>>2]|0)}while(0);c[ja>>2]=(c[ja>>2]|0)+1}if((c[Ca>>2]|0?(e[(c[wa>>2]|0)+18>>1]|0)==0:0)?(d[(c[wa>>2]|0)+5>>0]|0)<=(e[(c[pa>>2]|0)+16>>1]|0):0){c[ka>>2]=FH(c[pa>>2]|0)|0;GH(c[pa>>2]|0,c[wa>>2]|0,ka);CG(c[pa>>2]|0,ka)}else g=171;g:do if((g|0)==171?!(b[la>>1]|0?1:(d[(c[ga>>2]|0)+17>>0]|0)==0):0){c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break g;c[Ba>>2]=el((c[(c[pa+(c[ja>>2]<<2)>>2]|0)+56>>2]|0)+8|0)|0;sp(c[ga>>2]|0,c[Ba>>2]|0,5,c[(c[pa+(c[ja>>2]<<2)>>2]|0)+84>>2]|0,ka);c[ja>>2]=(c[ja>>2]|0)+1}}while(0);c[ja>>2]=c[ha>>2];while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break a;CG(c[oa+(c[ja>>2]<<2)>>2]|0,ka);c[ja>>2]=(c[ja>>2]|0)+1}}}while(0);HH(c[ua+8>>2]|0);c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ia>>2]|0))break;np(c[oa+(c[ja>>2]<<2)>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(c[ha>>2]|0))break;np(c[pa+(c[ja>>2]<<2)>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}c[va>>2]=c[ka>>2];Ca=c[va>>2]|0;l=Da;return Ca|0}function BH(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;rd(8,c[b>>2]|0);if(c[11682]|0?(c[51]|0)>=(c[b>>2]|0):0){c[d>>2]=c[11681];c[11681]=c[c[11681]>>2];c[11682]=(c[11682]|0)+-1;vd(3,1);d=c[d>>2]|0;l=e;return d|0}b=c[b>>2]|0;c[d>>2]=pd(b,((b|0)<0)<<31>>31)|0;if(!((c[2]|0)!=0&(c[d>>2]|0)!=0)){d=c[d>>2]|0;l=e;return d|0}vd(4,ud(c[d>>2]|0)|0);d=c[d>>2]|0;l=e;return d|0}function CH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[h>>2]=a;c[f>>2]=d;a=c[h>>2]|0;if(b[(c[(c[h>>2]|0)+12>>2]|0)+(c[f>>2]<<1)>>1]|0){b[e>>1]=b[(c[a+12>>2]|0)+(c[f>>2]<<1)>>1]|0;h=b[e>>1]|0;l=g;return h|0}else{b[e>>1]=PH(a,c[f>>2]|0)|0;h=b[e>>1]|0;l=g;return h|0}return 0}function DH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f+4|0;g=f;i=f+8|0;c[h>>2]=a;c[g>>2]=d;b[i>>1]=e;b[(c[h>>2]|0)+24>>1]=b[i>>1]|0;vp(c[h>>2]|0,c[g>>2]|0);l=f;return}function EH(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;y=D+68|0;z=D+64|0;A=D+60|0;B=D+56|0;C=D+52|0;o=D+48|0;p=D+44|0;q=D+40|0;r=D+36|0;s=D+32|0;t=D+28|0;u=D+24|0;v=D+20|0;k=D+16|0;m=D+12|0;n=D+8|0;w=D+4|0;x=D;c[z>>2]=f;c[A>>2]=g;c[B>>2]=h;c[C>>2]=i;c[o>>2]=j;c[p>>2]=c[(c[z>>2]|0)+56>>2];c[q>>2]=d[(c[z>>2]|0)+5>>0];c[r>>2]=(c[(c[z>>2]|0)+64>>2]|0)+(c[C>>2]<<1);c[s>>2]=e[(c[z>>2]|0)+18>>1];c[k>>2]=(c[A>>2]|0)+(e[(c[z>>2]|0)+18>>1]|0)+(d[(c[z>>2]|0)+1>>0]|0);c[m>>2]=(c[B>>2]|0)+(c[C>>2]|0);if((c[A>>2]|0)<(c[B>>2]|0)){c[n>>2]=JH(c[z>>2]|0,c[A>>2]|0,(c[B>>2]|0)-(c[A>>2]|0)|0,c[o>>2]|0)|0;TR(c[(c[z>>2]|0)+64>>2]|0,(c[(c[z>>2]|0)+64>>2]|0)+(c[n>>2]<<1)|0,c[s>>2]<<1|0)|0;c[s>>2]=(c[s>>2]|0)-(c[n>>2]|0)}if((c[m>>2]|0)<(c[k>>2]|0)){j=JH(c[z>>2]|0,c[m>>2]|0,(c[k>>2]|0)-(c[m>>2]|0)|0,c[o>>2]|0)|0;c[s>>2]=(c[s>>2]|0)-j}c[t>>2]=(c[p>>2]|0)+((((d[(c[p>>2]|0)+((c[q>>2]|0)+5)>>0]|0)<<8|(d[(c[p>>2]|0)+((c[q>>2]|0)+5)+1>>0]|0))-1&65535)+1);a:do if((c[t>>2]|0)>>>0>=(c[r>>2]|0)>>>0){if((c[B>>2]|0)<(c[A>>2]|0)){if((c[C>>2]|0)<((c[A>>2]|0)-(c[B>>2]|0)|0))f=c[C>>2]|0;else f=(c[A>>2]|0)-(c[B>>2]|0)|0;c[w>>2]=f;c[u>>2]=c[(c[z>>2]|0)+64>>2];TR((c[u>>2]|0)+(c[w>>2]<<1)|0,c[u>>2]|0,c[s>>2]<<1|0)|0;if(KH(c[z>>2]|0,c[r>>2]|0,t,c[u>>2]|0,c[B>>2]|0,c[w>>2]|0,c[o>>2]|0)|0)break;c[s>>2]=(c[s>>2]|0)+(c[w>>2]|0)}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(d[(c[z>>2]|0)+1>>0]|0|0))break;c[x>>2]=(c[A>>2]|0)+(e[(c[z>>2]|0)+22+(c[v>>2]<<1)>>1]|0)-(c[B>>2]|0);if(((c[x>>2]|0)>=0?(c[x>>2]|0)<(c[C>>2]|0):0)?(c[u>>2]=(c[(c[z>>2]|0)+64>>2]|0)+(c[x>>2]<<1),TR((c[u>>2]|0)+2|0,c[u>>2]|0,(c[s>>2]|0)-(c[x>>2]|0)<<1|0)|0,c[s>>2]=(c[s>>2]|0)+1,KH(c[z>>2]|0,c[r>>2]|0,t,c[u>>2]|0,(c[x>>2]|0)+(c[B>>2]|0)|0,1,c[o>>2]|0)|0):0)break a;c[v>>2]=(c[v>>2]|0)+1}c[u>>2]=(c[(c[z>>2]|0)+64>>2]|0)+(c[s>>2]<<1);if(!(KH(c[z>>2]|0,c[r>>2]|0,t,c[u>>2]|0,(c[B>>2]|0)+(c[s>>2]|0)|0,(c[C>>2]|0)-(c[s>>2]|0)|0,c[o>>2]|0)|0)){b[(c[z>>2]|0)+18>>1]=c[C>>2];a[(c[z>>2]|0)+1>>0]=0;a[(c[p>>2]|0)+((c[q>>2]|0)+3)>>0]=(e[(c[z>>2]|0)+18>>1]|0)>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+3)+1>>0]=b[(c[z>>2]|0)+18>>1];a[(c[p>>2]|0)+((c[q>>2]|0)+5)>>0]=(c[t>>2]|0)-(c[p>>2]|0)>>8;a[(c[p>>2]|0)+((c[q>>2]|0)+5)+1>>0]=(c[t>>2]|0)-(c[p>>2]|0);c[y>>2]=0;C=c[y>>2]|0;l=D;return C|0}}while(0);LH(c[o>>2]|0,c[B>>2]|0,c[C>>2]|0);c[y>>2]=MH(c[z>>2]|0,c[C>>2]|0,(c[(c[o>>2]|0)+8>>2]|0)+(c[B>>2]<<2)|0,(c[(c[o>>2]|0)+12>>2]|0)+(c[B>>2]<<1)|0)|0;C=c[y>>2]|0;l=D;return C|0}function FH(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;f=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;s=y+48|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y+32|0;g=y+28|0;h=y+24|0;i=y+20|0;j=y+16|0;k=y+12|0;m=y+8|0;n=y+4|0;o=y;c[p>>2]=b;c[i>>2]=0;b=c[(c[p>>2]|0)+56>>2]|0;c[h>>2]=b;c[j>>2]=b;c[s>>2]=d[(c[p>>2]|0)+5>>0];c[v>>2]=e[(c[p>>2]|0)+14>>1];c[g>>2]=e[(c[p>>2]|0)+18>>1];c[u>>2]=c[(c[(c[p>>2]|0)+52>>2]|0)+36>>2];c[w>>2]=c[u>>2];c[k>>2]=(c[v>>2]|0)+(c[g>>2]<<1);c[m>>2]=(c[u>>2]|0)-4;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[g>>2]|0)){x=14;break}c[n>>2]=(c[h>>2]|0)+((c[v>>2]|0)+(c[q>>2]<<1));c[r>>2]=(d[c[n>>2]>>0]|0)<<8|(d[(c[n>>2]|0)+1>>0]|0);if((c[r>>2]|0)<(c[k>>2]|0)){x=5;break}if((c[r>>2]|0)>(c[m>>2]|0)){x=5;break}c[t>>2]=(yb[c[(c[p>>2]|0)+76>>2]&255](c[p>>2]|0,(c[j>>2]|0)+(c[r>>2]|0)|0)|0)&65535;c[w>>2]=(c[w>>2]|0)-(c[t>>2]|0);if((c[w>>2]|0)<(c[k>>2]|0)){x=8;break}if(((c[r>>2]|0)+(c[t>>2]|0)|0)>(c[u>>2]|0)){x=8;break}a[c[n>>2]>>0]=c[w>>2]>>8;a[(c[n>>2]|0)+1>>0]=c[w>>2];if(!(c[i>>2]|0)){if((c[w>>2]|0)!=(c[r>>2]|0)){c[i>>2]=IH(c[c[(c[p>>2]|0)+52>>2]>>2]|0)|0;c[o>>2]=(d[(c[h>>2]|0)+((c[s>>2]|0)+5)>>0]|0)<<8|(d[(c[h>>2]|0)+((c[s>>2]|0)+5)+1>>0]|0);MR((c[i>>2]|0)+(c[o>>2]|0)|0,(c[h>>2]|0)+(c[o>>2]|0)|0,(c[w>>2]|0)+(c[t>>2]|0)-(c[o>>2]|0)|0)|0;c[j>>2]=c[i>>2];x=12}}else x=12;if((x|0)==12){x=0;MR((c[h>>2]|0)+(c[w>>2]|0)|0,(c[j>>2]|0)+(c[r>>2]|0)|0,c[t>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+1}if((x|0)==5){c[f>>2]=um(59617)|0;x=c[f>>2]|0;l=y;return x|0}else if((x|0)==8){c[f>>2]=um(59623)|0;x=c[f>>2]|0;l=y;return x|0}else if((x|0)==14){a[(c[h>>2]|0)+((c[s>>2]|0)+5)>>0]=c[w>>2]>>8;a[(c[h>>2]|0)+((c[s>>2]|0)+5)+1>>0]=c[w>>2];a[(c[h>>2]|0)+((c[s>>2]|0)+1)>>0]=0;a[(c[h>>2]|0)+((c[s>>2]|0)+2)>>0]=0;a[(c[h>>2]|0)+((c[s>>2]|0)+7)>>0]=0;GR((c[h>>2]|0)+(c[k>>2]|0)|0,0,(c[w>>2]|0)-(c[k>>2]|0)|0)|0;if(((c[w>>2]|0)-(c[k>>2]|0)|0)!=(e[(c[p>>2]|0)+16>>1]|0|0)){c[f>>2]=um(59647)|0;x=c[f>>2]|0;l=y;return x|0}else{c[f>>2]=0;x=c[f>>2]|0;l=y;return x|0}}return 0}function GH(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+16|0;r=s+12|0;h=s+8|0;i=s+4|0;j=s;c[k>>2]=b;c[m>>2]=f;c[n>>2]=g;if(c[c[n>>2]>>2]|0){l=s;return}c[o>>2]=c[(c[k>>2]|0)+52>>2];c[p>>2]=c[(c[k>>2]|0)+56>>2];c[q>>2]=c[(c[m>>2]|0)+56>>2];c[r>>2]=d[(c[k>>2]|0)+5>>0];c[h>>2]=(c[(c[m>>2]|0)+84>>2]|0)==1?100:0;c[j>>2]=d[(c[p>>2]|0)+((c[r>>2]|0)+5)>>0]<<8|d[(c[p>>2]|0)+((c[r>>2]|0)+5)+1>>0];MR((c[q>>2]|0)+(c[j>>2]|0)|0,(c[p>>2]|0)+(c[j>>2]|0)|0,(c[(c[o>>2]|0)+36>>2]|0)-(c[j>>2]|0)|0)|0;MR((c[q>>2]|0)+(c[h>>2]|0)|0,(c[p>>2]|0)+(c[r>>2]|0)|0,(e[(c[k>>2]|0)+14>>1]|0)+(e[(c[k>>2]|0)+18>>1]<<1)|0)|0;a[c[m>>2]>>0]=0;c[i>>2]=Bo(c[m>>2]|0)|0;if(c[i>>2]|0){c[c[n>>2]>>2]=c[i>>2];l=s;return}if(!(a[(c[o>>2]|0)+17>>0]|0)){l=s;return}r=rp(c[m>>2]|0)|0;c[c[n>>2]>>2]=r;l=s;return}function HH(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}if((c[b>>2]|0)>>>0>=(c[50]|0)>>>0?(c[b>>2]|0)>>>0<(c[11680]|0)>>>0:0){c[d>>2]=c[b>>2];c[c[d>>2]>>2]=c[11681];c[11681]=c[d>>2];c[11682]=(c[11682]|0)+1;Ld(3,1);l=f;return}if(c[2]|0){c[e>>2]=ud(c[b>>2]|0)|0;Ld(4,c[e>>2]|0);Ld(0,c[e>>2]|0);Ld(9,1);qb[c[52>>2]&255](c[b>>2]|0);l=f;return}else{qb[c[52>>2]&255](c[b>>2]|0);l=f;return}}function IH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+208>>2]|0}function JH(a,b,f,g){a=a|0;b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;w=l;l=l+64|0;r=w+56|0;s=w+52|0;x=w+48|0;y=w+44|0;t=w+40|0;u=w+36|0;h=w+32|0;i=w+28|0;j=w+24|0;k=w+20|0;m=w+16|0;n=w+12|0;o=w+8|0;p=w+4|0;q=w;c[s>>2]=a;c[x>>2]=b;c[y>>2]=f;c[t>>2]=g;c[u>>2]=c[(c[s>>2]|0)+56>>2];c[h>>2]=(c[u>>2]|0)+(c[(c[(c[s>>2]|0)+52>>2]|0)+36>>2]|0);c[i>>2]=(c[u>>2]|0)+((d[(c[s>>2]|0)+5>>0]|0)+8+(d[(c[s>>2]|0)+6>>0]|0));c[j>>2]=0;c[m>>2]=(c[x>>2]|0)+(c[y>>2]|0);c[n>>2]=0;c[o>>2]=0;c[k>>2]=c[x>>2];while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[p>>2]=c[(c[(c[t>>2]|0)+8>>2]|0)+(c[k>>2]<<2)>>2];if((c[p>>2]|0)>>>0>=(c[i>>2]|0)>>>0?(c[p>>2]|0)>>>0<(c[h>>2]|0)>>>0:0){c[q>>2]=e[(c[(c[t>>2]|0)+12>>2]|0)+(c[k>>2]<<1)>>1];if((c[n>>2]|0)!=((c[p>>2]|0)+(c[q>>2]|0)|0)){if(c[n>>2]|0)OH(c[s>>2]|0,(c[n>>2]|0)-(c[u>>2]|0)&65535,c[o>>2]&65535)|0;c[n>>2]=c[p>>2];c[o>>2]=c[q>>2];if(((c[n>>2]|0)+(c[q>>2]|0)|0)>>>0>(c[h>>2]|0)>>>0){v=9;break}}else{c[n>>2]=c[p>>2];c[o>>2]=(c[o>>2]|0)+(c[q>>2]|0)}c[j>>2]=(c[j>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+1}if((v|0)==9){c[r>>2]=0;y=c[r>>2]|0;l=w;return y|0}if(c[n>>2]|0)OH(c[s>>2]|0,(c[n>>2]|0)-(c[u>>2]|0)&65535,c[o>>2]&65535)|0;c[r>>2]=c[j>>2];y=c[r>>2]|0;l=w;return y|0}function KH(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+64|0;v=y+56|0;w=y+52|0;x=y+48|0;k=y+44|0;m=y+40|0;z=y+36|0;A=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[w>>2]=b;c[x>>2]=e;c[k>>2]=f;c[m>>2]=g;c[z>>2]=h;c[A>>2]=i;c[n>>2]=j;c[p>>2]=c[(c[w>>2]|0)+56>>2];c[q>>2]=c[c[k>>2]>>2];c[r>>2]=(c[z>>2]|0)+(c[A>>2]|0);c[o>>2]=c[z>>2];while(1){if((c[o>>2]|0)>=(c[r>>2]|0)){b=10;break}c[s>>2]=(CH(c[n>>2]|0,c[o>>2]|0)|0)&65535;if((d[(c[p>>2]|0)+1>>0]|0|0)==0?(d[(c[p>>2]|0)+2>>0]|0|0)==0:0)b=6;else b=5;if((b|0)==5?(b=0,A=NH(c[w>>2]|0,c[s>>2]|0,t)|0,c[u>>2]=A,(A|0)==0):0)b=6;if((b|0)==6){if(((c[q>>2]|0)-(c[x>>2]|0)|0)<(c[s>>2]|0)){b=7;break}c[q>>2]=(c[q>>2]|0)+(0-(c[s>>2]|0));c[u>>2]=c[q>>2]}TR(c[u>>2]|0,c[(c[(c[n>>2]|0)+8>>2]|0)+(c[o>>2]<<2)>>2]|0,c[s>>2]|0)|0;a[c[m>>2]>>0]=(c[u>>2]|0)-(c[p>>2]|0)>>8;a[(c[m>>2]|0)+1>>0]=(c[u>>2]|0)-(c[p>>2]|0);c[m>>2]=(c[m>>2]|0)+2;c[o>>2]=(c[o>>2]|0)+1}if((b|0)==7){c[v>>2]=1;A=c[v>>2]|0;l=y;return A|0}else if((b|0)==10){c[c[k>>2]>>2]=c[q>>2];c[v>>2]=0;A=c[v>>2]|0;l=y;return A|0}return 0}function LH(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=d;c[i>>2]=f;while(1){if((c[i>>2]|0)<=0)break;if(!(e[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]|0)){f=yb[c[(c[(c[g>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[g>>2]|0)+4>>2]|0,c[(c[(c[g>>2]|0)+8>>2]|0)+(c[h>>2]<<2)>>2]|0)|0;b[(c[(c[g>>2]|0)+12>>2]|0)+(c[h>>2]<<1)>>1]=f}c[h>>2]=(c[h>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+-1}l=j;return}function MH(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+64|0;t=x+52|0;u=x+48|0;v=x+44|0;p=x+40|0;q=x+36|0;w=x+32|0;r=x+28|0;y=x+24|0;j=x+20|0;k=x+16|0;m=x+12|0;n=x+8|0;s=x+4|0;o=x;c[u>>2]=f;c[v>>2]=g;c[p>>2]=h;c[q>>2]=i;c[w>>2]=d[(c[u>>2]|0)+5>>0];c[r>>2]=c[(c[u>>2]|0)+56>>2];c[y>>2]=c[(c[(c[u>>2]|0)+52>>2]|0)+36>>2];c[j>>2]=(c[r>>2]|0)+(c[y>>2]|0);c[m>>2]=c[(c[u>>2]|0)+64>>2];c[n>>2]=IH(c[c[(c[u>>2]|0)+52>>2]>>2]|0)|0;c[k>>2]=(d[(c[r>>2]|0)+((c[w>>2]|0)+5)>>0]|0)<<8|(d[(c[r>>2]|0)+((c[w>>2]|0)+5)+1>>0]|0);MR((c[n>>2]|0)+(c[k>>2]|0)|0,(c[r>>2]|0)+(c[k>>2]|0)|0,(c[y>>2]|0)-(c[k>>2]|0)|0)|0;c[s>>2]=c[j>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[v>>2]|0)){f=9;break}c[o>>2]=c[(c[p>>2]|0)+(c[k>>2]<<2)>>2];if((c[o>>2]|0)>>>0>=(c[r>>2]|0)>>>0?(c[o>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)c[o>>2]=(c[n>>2]|0)+((c[o>>2]|0)-(c[r>>2]|0));c[s>>2]=(c[s>>2]|0)+(0-(e[(c[q>>2]|0)+(c[k>>2]<<1)>>1]|0));a[c[m>>2]>>0]=(c[s>>2]|0)-(c[r>>2]|0)>>8;a[(c[m>>2]|0)+1>>0]=(c[s>>2]|0)-(c[r>>2]|0);c[m>>2]=(c[m>>2]|0)+2;if((c[s>>2]|0)>>>0<(c[m>>2]|0)>>>0){f=7;break}MR(c[s>>2]|0,c[o>>2]|0,e[(c[q>>2]|0)+(c[k>>2]<<1)>>1]|0|0)|0;c[k>>2]=(c[k>>2]|0)+1}if((f|0)==7){c[t>>2]=um(64716)|0;y=c[t>>2]|0;l=x;return y|0}else if((f|0)==9){b[(c[u>>2]|0)+18>>1]=c[v>>2];a[(c[u>>2]|0)+1>>0]=0;a[(c[r>>2]|0)+((c[w>>2]|0)+1)>>0]=0;a[(c[r>>2]|0)+((c[w>>2]|0)+1)+1>>0]=0;a[(c[r>>2]|0)+((c[w>>2]|0)+3)>>0]=(e[(c[u>>2]|0)+18>>1]|0)>>8;a[(c[r>>2]|0)+((c[w>>2]|0)+3)+1>>0]=b[(c[u>>2]|0)+18>>1];a[(c[r>>2]|0)+((c[w>>2]|0)+5)>>0]=(c[s>>2]|0)-(c[r>>2]|0)>>8;a[(c[r>>2]|0)+((c[w>>2]|0)+5)+1>>0]=(c[s>>2]|0)-(c[r>>2]|0);a[(c[r>>2]|0)+((c[w>>2]|0)+7)>>0]=0;c[t>>2]=0;y=c[t>>2]|0;l=x;return y|0}return 0}function NH(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;n=t+40|0;o=t+36|0;h=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;s=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[o>>2]=b;c[h>>2]=f;c[p>>2]=g;c[q>>2]=d[(c[o>>2]|0)+5>>0];c[r>>2]=c[(c[o>>2]|0)+56>>2];c[s>>2]=(c[q>>2]|0)+1;c[i>>2]=(d[(c[r>>2]|0)+(c[s>>2]|0)>>0]|0)<<8|(d[(c[r>>2]|0)+(c[s>>2]|0)+1>>0]|0);c[k>>2]=c[(c[(c[o>>2]|0)+52>>2]|0)+36>>2];while(1){if((c[i>>2]|0)>((c[k>>2]|0)-4|0)){b=4;break}if((c[i>>2]|0)<((c[s>>2]|0)+4|0)){b=4;break}c[m>>2]=(d[(c[r>>2]|0)+((c[i>>2]|0)+2)>>0]|0)<<8|(d[(c[r>>2]|0)+((c[i>>2]|0)+2)+1>>0]|0);g=(c[m>>2]|0)-(c[h>>2]|0)|0;c[j>>2]=g;f=c[i>>2]|0;if((g|0)>=0){b=6;break}c[s>>2]=f;c[i>>2]=(d[(c[r>>2]|0)+(c[i>>2]|0)>>0]|0)<<8|(d[(c[r>>2]|0)+(c[i>>2]|0)+1>>0]|0);if(!(c[i>>2]|0)){b=16;break}}if((b|0)==4){s=um(59680)|0;c[c[p>>2]>>2]=s;c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}else if((b|0)==6){if((f|0)>=((e[(c[o>>2]|0)+14>>1]|0)+((e[(c[o>>2]|0)+18>>1]|0)<<1)|0)?((c[m>>2]|0)+(c[i>>2]|0)|0)<=(c[k>>2]|0):0){do if((c[j>>2]|0)<4){if((d[(c[r>>2]|0)+((c[q>>2]|0)+7)>>0]|0|0)<=57){s=(c[r>>2]|0)+(c[s>>2]|0)|0;p=(c[r>>2]|0)+(c[i>>2]|0)|0;a[s>>0]=a[p>>0]|0;a[s+1>>0]=a[p+1>>0]|0;s=(c[r>>2]|0)+((c[q>>2]|0)+7)|0;a[s>>0]=(d[s>>0]|0)+(c[j>>2]&255);break}c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}else{a[(c[r>>2]|0)+((c[i>>2]|0)+2)>>0]=c[j>>2]>>8;a[(c[r>>2]|0)+((c[i>>2]|0)+2)+1>>0]=c[j>>2]}while(0);c[n>>2]=(c[r>>2]|0)+((c[i>>2]|0)+(c[j>>2]|0));s=c[n>>2]|0;l=t;return s|0}s=um(59691)|0;c[c[p>>2]>>2]=s;c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}else if((b|0)==16){c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}return 0}function OH(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+48|0;w=y+20|0;x=y+16|0;t=y+32|0;n=y+30|0;o=y+28|0;p=y+26|0;u=y+35|0;i=y+34|0;v=y+24|0;j=y+12|0;k=y+8|0;s=y+4|0;m=y;c[x>>2]=f;b[t>>1]=g;b[n>>1]=h;a[i>>0]=0;b[v>>1]=b[n>>1]|0;c[j>>2]=(c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2]|0)-4;c[k>>2]=(e[t>>1]|0)+(e[n>>1]|0);c[s>>2]=c[(c[x>>2]|0)+56>>2];if((e[(c[(c[x>>2]|0)+52>>2]|0)+22>>1]|0)&4|0)GR((c[s>>2]|0)+(e[t>>1]|0)|0,0,e[n>>1]|0|0)|0;a[u>>0]=a[(c[x>>2]|0)+5>>0]|0;b[o>>1]=(d[u>>0]|0)+1;if((d[(c[s>>2]|0)+((e[o>>1]|0)+1)>>0]|0|0)==0?(d[(c[s>>2]|0)+(e[o>>1]|0)>>0]|0|0)==0:0)b[p>>1]=0;else r=6;do if((r|0)==6){while(1){r=0;h=((d[(c[s>>2]|0)+(e[o>>1]|0)>>0]|0)<<8|(d[(c[s>>2]|0)+(e[o>>1]|0)+1>>0]|0))&65535;b[p>>1]=h;if((h&65535|0)>=(e[t>>1]|0|0))break;q=b[p>>1]|0;if((e[p>>1]|0|0)<((e[o>>1]|0)+4|0)){r=8;break}b[o>>1]=q;r=6}if((r|0)==8?q&65535|0:0){c[w>>2]=um(59854)|0;x=c[w>>2]|0;l=y;return x|0}if((e[p>>1]|0)>>>0>(c[j>>2]|0)>>>0){c[w>>2]=um(59858)|0;x=c[w>>2]|0;l=y;return x|0}do if(e[p>>1]|0|0?((c[k>>2]|0)+3|0)>>>0>=(e[p>>1]|0)>>>0:0){a[i>>0]=(e[p>>1]|0)-(c[k>>2]|0);if((c[k>>2]|0)>>>0>(e[p>>1]|0)>>>0){c[w>>2]=um(59869)|0;x=c[w>>2]|0;l=y;return x|0}c[k>>2]=(e[p>>1]|0)+((d[(c[s>>2]|0)+((e[p>>1]|0)+2)>>0]|0)<<8|(d[(c[s>>2]|0)+((e[p>>1]|0)+2)+1>>0]|0));if((c[k>>2]|0)>>>0<=(c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2]|0)>>>0){b[n>>1]=(c[k>>2]|0)-(e[t>>1]|0);b[p>>1]=(d[(c[s>>2]|0)+(e[p>>1]|0)>>0]|0)<<8|(d[(c[s>>2]|0)+(e[p>>1]|0)+1>>0]|0);break}c[w>>2]=um(59871)|0;x=c[w>>2]|0;l=y;return x|0}while(0);do if((e[o>>1]|0|0)>((d[u>>0]|0)+1|0)?(c[m>>2]=(e[o>>1]|0)+((d[(c[s>>2]|0)+((e[o>>1]|0)+2)>>0]|0)<<8|(d[(c[s>>2]|0)+((e[o>>1]|0)+2)+1>>0]|0)),((c[m>>2]|0)+3|0)>=(e[t>>1]|0|0)):0){if((c[m>>2]|0)<=(e[t>>1]|0|0)){a[i>>0]=(d[i>>0]|0)+((e[t>>1]|0)-(c[m>>2]|0));b[n>>1]=(c[k>>2]|0)-(e[o>>1]|0);b[t>>1]=b[o>>1]|0;break}c[w>>2]=um(59883)|0;x=c[w>>2]|0;l=y;return x|0}while(0);if((d[i>>0]|0|0)<=(d[(c[s>>2]|0)+((d[u>>0]|0)+7)>>0]|0|0)){r=(c[s>>2]|0)+((d[u>>0]|0)+7)|0;a[r>>0]=(d[r>>0]|0)-(d[i>>0]|0);break}c[w>>2]=um(59889)|0;x=c[w>>2]|0;l=y;return x|0}while(0);do if((e[t>>1]|0|0)==((d[(c[s>>2]|0)+((d[u>>0]|0)+5)>>0]|0)<<8|(d[(c[s>>2]|0)+((d[u>>0]|0)+5)+1>>0]|0)|0)){if((e[o>>1]|0|0)==((d[u>>0]|0)+1|0)){a[(c[s>>2]|0)+((d[u>>0]|0)+1)>>0]=(e[p>>1]|0)>>8;a[(c[s>>2]|0)+((d[u>>0]|0)+1)+1>>0]=b[p>>1];a[(c[s>>2]|0)+((d[u>>0]|0)+5)>>0]=(c[k>>2]|0)>>>8;i=c[k>>2]&255;g=c[s>>2]|0;f=(d[u>>0]|0)+5|0;break}c[w>>2]=um(59896)|0;x=c[w>>2]|0;l=y;return x|0}else{a[(c[s>>2]|0)+(e[o>>1]|0)>>0]=(e[t>>1]|0)>>8;a[(c[s>>2]|0)+(e[o>>1]|0)+1>>0]=b[t>>1];a[(c[s>>2]|0)+(e[t>>1]|0)>>0]=(e[p>>1]|0)>>8;a[(c[s>>2]|0)+(e[t>>1]|0)+1>>0]=b[p>>1];a[(c[s>>2]|0)+((e[t>>1]|0)+2)>>0]=(e[n>>1]|0)>>8;i=b[n>>1]&255;g=c[s>>2]|0;f=(e[t>>1]|0)+2|0}while(0);a[g+f+1>>0]=i;x=(c[x>>2]|0)+16|0;b[x>>1]=(e[x>>1]|0)+(e[v>>1]|0);c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}function PH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=d;d=yb[c[(c[(c[f>>2]|0)+4>>2]|0)+76>>2]&255](c[(c[f>>2]|0)+4>>2]|0,c[(c[(c[f>>2]|0)+8>>2]|0)+(c[e>>2]<<2)>>2]|0)|0;b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]=d;l=g;return b[(c[(c[f>>2]|0)+12>>2]|0)+(c[e>>2]<<1)>>1]|0}function QH(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+36|0;m=t+32|0;n=t+28|0;o=t+24|0;p=t+20|0;q=t+16|0;r=t+12|0;h=t+8|0;i=t+4|0;j=t;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[p>>2]=d[(c[m>>2]|0)+5>>0];c[q>>2]=c[(c[m>>2]|0)+56>>2];c[h>>2]=0;c[i>>2]=(e[(c[m>>2]|0)+14>>1]|0)+((e[(c[m>>2]|0)+18>>1]|0)<<1);c[r>>2]=(d[(c[q>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[q>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0);do if((c[i>>2]|0)>(c[r>>2]|0)){if((c[r>>2]|0)==0?(c[(c[(c[m>>2]|0)+52>>2]|0)+36>>2]|0)==65536:0){c[r>>2]=65536;break}c[k>>2]=um(59758)|0;s=c[k>>2]|0;l=t;return s|0}while(0);if(!(!(d[(c[q>>2]|0)+((c[p>>2]|0)+2)>>0]|0|0)?!(d[(c[q>>2]|0)+((c[p>>2]|0)+1)>>0]|0|0):0))s=8;if((s|0)==8?((c[i>>2]|0)+2|0)<=(c[r>>2]|0):0){c[j>>2]=NH(c[m>>2]|0,c[n>>2]|0,h)|0;if(c[j>>2]|0){c[c[o>>2]>>2]=(c[j>>2]|0)-(c[q>>2]|0);c[k>>2]=0;s=c[k>>2]|0;l=t;return s|0}if(c[h>>2]|0){c[k>>2]=c[h>>2];s=c[k>>2]|0;l=t;return s|0}}do if(((c[i>>2]|0)+2+(c[n>>2]|0)|0)>(c[r>>2]|0)){c[h>>2]=FH(c[m>>2]|0)|0;if(!(c[h>>2]|0)){c[r>>2]=(((d[(c[q>>2]|0)+((c[p>>2]|0)+5)>>0]|0)<<8|(d[(c[q>>2]|0)+((c[p>>2]|0)+5)+1>>0]|0))-1&65535)+1;break}c[k>>2]=c[h>>2];s=c[k>>2]|0;l=t;return s|0}while(0);c[r>>2]=(c[r>>2]|0)-(c[n>>2]|0);a[(c[q>>2]|0)+((c[p>>2]|0)+5)>>0]=c[r>>2]>>8;a[(c[q>>2]|0)+((c[p>>2]|0)+5)+1>>0]=c[r>>2];c[c[o>>2]>>2]=c[r>>2];c[k>>2]=0;s=c[k>>2]|0;l=t;return s|0}function RH(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;D=E+76|0;x=E+72|0;y=E+68|0;i=E+64|0;z=E+60|0;A=E+56|0;j=E+52|0;k=E+48|0;m=E+44|0;B=E+40|0;n=E+36|0;o=E+32|0;C=E+28|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;t=E+8|0;u=E+4|0;v=E;w=E+80|0;c[x>>2]=b;c[y>>2]=f;c[i>>2]=g;c[z>>2]=h;c[o>>2]=0;c[C>>2]=0;c[r>>2]=c[(c[x>>2]|0)+52>>2];c[s>>2]=0;c[t>>2]=d[(c[x>>2]|0)+6>>0];b=c[i>>2]|0;if(a[(c[x>>2]|0)+2>>0]|0){c[A>>2]=(c[b+20>>2]|0)+(c[(c[i>>2]|0)+24>>2]|0);c[j>>2]=c[(c[i>>2]|0)+16>>2];c[k>>2]=c[(c[i>>2]|0)+20>>2];if((c[A>>2]|0)>>>0<128){a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[A>>2];b=1}else{b=c[A>>2]|0;b=eF((c[y>>2]|0)+(c[t>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}c[t>>2]=(c[t>>2]|0)+(b&255);i=(c[i>>2]|0)+8|0;i=eF((c[y>>2]|0)+(c[t>>2]|0)|0,c[i>>2]|0,c[i+4>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+i}else{h=c[b+8>>2]|0;c[A>>2]=h;c[k>>2]=h;c[j>>2]=c[c[i>>2]>>2];if((c[A>>2]|0)>>>0<128){a[(c[y>>2]|0)+(c[t>>2]|0)>>0]=c[A>>2];b=1}else{b=c[A>>2]|0;b=eF((c[y>>2]|0)+(c[t>>2]|0)|0,b,((b|0)<0)<<31>>31)|0}c[t>>2]=(c[t>>2]|0)+(b&255)}if((c[A>>2]|0)<=(e[(c[x>>2]|0)+10>>1]|0)){x=(c[t>>2]|0)+(c[A>>2]|0)|0;c[m>>2]=x;c[m>>2]=(c[m>>2]|0)<4?4:x;c[c[z>>2]>>2]=c[m>>2];c[n>>2]=c[A>>2];c[p>>2]=c[y>>2]}else{c[u>>2]=e[(c[x>>2]|0)+12>>1];c[m>>2]=(c[u>>2]|0)+((((c[A>>2]|0)-(c[u>>2]|0)|0)>>>0)%(((c[(c[(c[x>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[m>>2]|0)>(e[(c[x>>2]|0)+10>>1]|0))c[m>>2]=c[u>>2];c[n>>2]=c[m>>2];c[c[z>>2]>>2]=(c[m>>2]|0)+(c[t>>2]|0)+4;c[p>>2]=(c[y>>2]|0)+((c[t>>2]|0)+(c[m>>2]|0))}c[q>>2]=(c[y>>2]|0)+(c[t>>2]|0);while(1){if((c[A>>2]|0)<=0){b=35;break}if(!(c[n>>2]|0)){c[v>>2]=c[s>>2];if(a[(c[r>>2]|0)+17>>0]|0)while(1){c[s>>2]=(c[s>>2]|0)+1;z=hp(c[r>>2]|0,c[s>>2]|0)|0;if((z|0)==(c[s>>2]|0))continue;if((c[s>>2]|0)!=((((c[481]|0)>>>0)/((c[(c[r>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break}c[B>>2]=mp(c[r>>2]|0,o,s,c[s>>2]|0,0)|0;if(((c[B>>2]|0)==0?(d[(c[r>>2]|0)+17>>0]|0)!=0:0)?(a[w>>0]=c[v>>2]|0?4:3,sp(c[r>>2]|0,c[s>>2]|0,a[w>>0]|0,c[v>>2]|0,B),c[B>>2]|0):0)np(c[o>>2]|0);if(c[B>>2]|0){b=25;break}Xm(c[p>>2]|0,c[s>>2]|0);np(c[C>>2]|0);c[C>>2]=c[o>>2];c[p>>2]=c[(c[o>>2]|0)+56>>2];Xm(c[p>>2]|0,0);c[q>>2]=(c[(c[o>>2]|0)+56>>2]|0)+4;c[n>>2]=(c[(c[r>>2]|0)+36>>2]|0)-4}c[m>>2]=c[A>>2];if((c[m>>2]|0)>(c[n>>2]|0))c[m>>2]=c[n>>2];if((c[k>>2]|0)>0){if((c[m>>2]|0)>(c[k>>2]|0))c[m>>2]=c[k>>2];MR(c[q>>2]|0,c[j>>2]|0,c[m>>2]|0)|0}else GR(c[q>>2]|0,0,c[m>>2]|0)|0;c[A>>2]=(c[A>>2]|0)-(c[m>>2]|0);c[q>>2]=(c[q>>2]|0)+(c[m>>2]|0);c[j>>2]=(c[j>>2]|0)+(c[m>>2]|0);c[k>>2]=(c[k>>2]|0)-(c[m>>2]|0);c[n>>2]=(c[n>>2]|0)-(c[m>>2]|0)}if((b|0)==25){np(c[C>>2]|0);c[D>>2]=c[B>>2];D=c[D>>2]|0;l=E;return D|0}else if((b|0)==35){np(c[C>>2]|0);c[D>>2]=0;D=c[D>>2]|0;l=E;return D|0}return 0}function SH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;t=u+20|0;g=u+16|0;h=u+12|0;i=u+8|0;j=u+4|0;k=u+48|0;m=u;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=c[(c[o>>2]|0)+4>>2];b=c[r>>2]|0;if(a[(c[r>>2]|0)+17>>0]|0){gp(b);To(c[o>>2]|0,4,t);c[t>>2]=(c[t>>2]|0)+1;while(1){f=c[t>>2]|0;if((f|0)!=(hp(c[r>>2]|0,c[t>>2]|0)|0)?(c[t>>2]|0)!=((((c[481]|0)>>>0)/((c[(c[r>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0)break;c[t>>2]=(c[t>>2]|0)+1}c[g>>2]=mp(c[r>>2]|0,j,i,c[t>>2]|0,1)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}if((c[i>>2]|0)!=(c[t>>2]|0)){a[k>>0]=0;c[m>>2]=0;c[g>>2]=jp(c[r>>2]|0,0,0)|0;np(c[j>>2]|0);if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=op(c[r>>2]|0,c[t>>2]|0,s,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=lp(c[r>>2]|0,c[t>>2]|0,k,m)|0;if(!((d[k>>0]|0)!=1?(d[k>>0]|0)!=2:0))c[g>>2]=um(66598)|0;if(c[g>>2]|0){np(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=pp(c[r>>2]|0,c[s>>2]|0,a[k>>0]|0,c[m>>2]|0,c[i>>2]|0,0)|0;np(c[s>>2]|0);if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=op(c[r>>2]|0,c[t>>2]|0,s,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=Tm(c[(c[s>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){np(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}}else c[s>>2]=c[j>>2];sp(c[r>>2]|0,c[t>>2]|0,1,0,g);if(c[g>>2]|0){np(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}c[g>>2]=Xo(c[o>>2]|0,4,c[t>>2]|0)|0;if(c[g>>2]|0){np(c[s>>2]|0);c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}}else{c[g>>2]=mp(b,s,t,1,0)|0;if(c[g>>2]|0){c[n>>2]=c[g>>2];t=c[n>>2]|0;l=u;return t|0}}if(c[q>>2]&1|0)c[h>>2]=13;else c[h>>2]=10;cq(c[s>>2]|0,c[h>>2]|0);Ym(c[(c[s>>2]|0)+72>>2]|0);c[c[p>>2]>>2]=c[t>>2];c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}function TH(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[i>>2]=h;c[j>>2]=c[(c[n>>2]|0)+4>>2];if(c[p>>2]|0?(UH(c[j>>2]|0),(c[(c[j>>2]|0)+80>>2]|0)==0):0){c[m>>2]=7;q=c[m>>2]|0;l=r;return q|0}if((c[o>>2]|0)==1?($m(c[j>>2]|0)|0)==0:0)c[o>>2]=0;c[(c[i>>2]|0)+52>>2]=c[o>>2];a[(c[i>>2]|0)+68>>0]=-1;c[(c[i>>2]|0)+72>>2]=c[q>>2];c[c[i>>2]>>2]=c[n>>2];c[(c[i>>2]|0)+4>>2]=c[j>>2];a[(c[i>>2]|0)+64>>0]=c[p>>2]|0?1:0;a[(c[i>>2]|0)+65>>0]=c[p>>2]|0?0:2;c[k>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((c[(c[k>>2]|0)+52>>2]|0)==(c[o>>2]|0)){q=(c[k>>2]|0)+64|0;a[q>>0]=d[q>>0]|0|32;q=(c[i>>2]|0)+64|0;a[q>>0]=d[q>>0]|0|32}c[k>>2]=c[(c[k>>2]|0)+8>>2]}c[(c[i>>2]|0)+8>>2]=c[(c[j>>2]|0)+8>>2];c[(c[j>>2]|0)+8>>2]=c[i>>2];a[(c[i>>2]|0)+66>>0]=0;c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}function UH(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(c[(c[d>>2]|0)+80>>2]|0){l=e;return}b=Jk(c[(c[d>>2]|0)+32>>2]|0)|0;c[(c[d>>2]|0)+80>>2]=b;if(!(c[(c[d>>2]|0)+80>>2]|0)){l=e;return}b=c[(c[d>>2]|0)+80>>2]|0;a[b>>0]=0;a[b+1>>0]=0;a[b+2>>0]=0;a[b+3>>0]=0;a[b+4>>0]=0;a[b+5>>0]=0;a[b+6>>0]=0;a[b+7>>0]=0;d=(c[d>>2]|0)+80|0;c[d>>2]=(c[d>>2]|0)+4;l=e;return}function VH(){return 200}function WH(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;a=c[b>>2]|0;b=a+68|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function XH(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+24|0;h=o+20|0;i=o;j=o+16|0;k=o+12|0;m=o+8|0;n=o+28|0;c[h>>2]=b;b=i;c[b>>2]=e;c[b+4>>2]=f;if(0?1:(c[i+4>>2]&-16777216|0)!=0){a[(c[h>>2]|0)+8>>0]=c[i>>2];m=i;m=OR(c[m>>2]|0,c[m+4>>2]|0,8)|0;n=i;c[n>>2]=m;c[n+4>>2]=z;c[j>>2]=7;while(1){if((c[j>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=c[i>>2]&127|128;m=i;m=OR(c[m>>2]|0,c[m+4>>2]|0,7)|0;n=i;c[n>>2]=m;c[n+4>>2]=z;c[j>>2]=(c[j>>2]|0)+-1}c[g>>2]=9;n=c[g>>2]|0;l=o;return n|0}c[m>>2]=0;do{f=(c[i>>2]&127|128)&255;e=c[m>>2]|0;c[m>>2]=e+1;a[n+e>>0]=f;e=i;e=OR(c[e>>2]|0,c[e+4>>2]|0,7)|0;f=i;c[f>>2]=e;c[f+4>>2]=z;f=i}while((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0);a[n>>0]=(d[n>>0]|0)&127;c[j>>2]=0;c[k>>2]=(c[m>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;a[(c[h>>2]|0)+(c[j>>2]|0)>>0]=a[n+(c[k>>2]|0)>>0]|0;c[k>>2]=(c[k>>2]|0)+-1;c[j>>2]=(c[j>>2]|0)+1}c[g>>2]=c[m>>2];n=c[g>>2]|0;l=o;return n|0}function YH(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;n=p+12|0;k=p+8|0;o=p+4|0;m=p;c[i>>2]=d;c[j>>2]=e;c[n>>2]=f;c[k>>2]=g;c[o>>2]=h;b[(c[o>>2]|0)+8>>1]=1;h=Kh(c[o>>2]|0,(c[n>>2]|0)+2|0)|0;c[m>>2]=h;if(h){o=c[m>>2]|0;l=p;return o|0}g=c[i>>2]|0;d=c[j>>2]|0;e=c[n>>2]|0;f=c[(c[o>>2]|0)+16>>2]|0;if(c[k>>2]|0)c[m>>2]=Jp(g,d,e,f)|0;else c[m>>2]=uF(g,d,e,f)|0;d=c[o>>2]|0;if(!(c[m>>2]|0)){a[(c[d+16>>2]|0)+(c[n>>2]|0)>>0]=0;a[(c[(c[o>>2]|0)+16>>2]|0)+((c[n>>2]|0)+1)>>0]=0;b[(c[o>>2]|0)+8>>1]=528;c[(c[o>>2]|0)+12>>2]=c[n>>2];o=c[m>>2]|0;l=p;return o|0}else{Lh(d);o=c[m>>2]|0;l=p;return o|0}return 0}function ZH(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;c[h>>2]=(c[(c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0)+60>>2]|0)-(c[(c[f>>2]|0)+16+8>>2]|0);if((e[(c[f>>2]|0)+16+16>>1]|0)>>>0<(c[h>>2]|0)>>>0)c[h>>2]=e[(c[f>>2]|0)+16+16>>1];c[c[g>>2]>>2]=c[h>>2];l=i;return c[(c[f>>2]|0)+16+8>>2]|0}function _H(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;b=(c[e>>2]|0)+40|0;c[g>>2]=eD(c[(c[e>>2]|0)+16>>2]|0,0,c[b>>2]|0,c[b+4>>2]|0,0,f)|0;if(c[g>>2]|0){c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}if(c[f>>2]|0){c[d>>2]=um(73491)|0;g=c[d>>2]|0;l=h;return g|0}else{a[(c[e>>2]|0)+3>>0]=0;c[(c[e>>2]|0)+56>>2]=0;c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}return 0}function $H(d){d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[f>>2]=d;if(!(oi(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=0;f=b[e>>1]|0;l=g;return f|0}if(!(ri(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0)){b[e>>1]=4;f=b[e>>1]|0;l=g;return f|0}else{b[e>>1]=8;f=b[e>>1]|0;l=g;return f|0}return 0}function aI(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;Fh(c[d>>2]|0);b[(c[d>>2]|0)+8>>1]=4;l=e;return c[d>>2]|0}function bI(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[5532+(c[b>>2]<<2)>>2]|0}function cI(b,f,g){b=b|0;f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;L=l;l=l+192|0;y=L+96|0;x=L+88|0;w=L+80|0;v=L+72|0;I=L+64|0;H=L+56|0;u=L+48|0;t=L+40|0;s=L+32|0;A=L+24|0;z=L+16|0;F=L+8|0;r=L;p=L+184|0;q=L+180|0;M=L+176|0;J=L+172|0;K=L+144|0;D=L+140|0;E=L+136|0;B=L+132|0;C=L+128|0;i=L+124|0;j=L+120|0;G=L+116|0;k=L+112|0;m=L+108|0;n=L+104|0;o=L+100|0;c[p>>2]=b;c[q>>2]=f;c[M>>2]=g;c[J>>2]=c[q>>2];jd(K,0,c[q>>2]|0,c[M>>2]|0,0);a:do switch(a[(c[p>>2]|0)+1>>0]|0){case -6:{c[E>>2]=c[(c[p>>2]|0)+16>>2];c[r>>2]=e[(c[E>>2]|0)+6>>1];Vi(K,37578,r);c[D>>2]=0;while(1){if((c[D>>2]|0)>=(e[(c[E>>2]|0)+6>>1]|0))break;c[B>>2]=c[(c[E>>2]|0)+20+(c[D>>2]<<2)>>2];if(c[B>>2]|0)b=c[c[B>>2]>>2]|0;else b=47636;c[C>>2]=b;M=(vQ(c[C>>2]|0,31345)|0)==0;c[C>>2]=M?37583:b;M=c[C>>2]|0;c[F>>2]=d[(c[(c[E>>2]|0)+16>>2]|0)+(c[D>>2]|0)>>0]|0?24574:47636;c[F+4>>2]=M;Vi(K,37585,F);c[D>>2]=(c[D>>2]|0)+1}zd(K,31212,1);break}case -4:{c[i>>2]=c[(c[p>>2]|0)+16>>2];c[z>>2]=c[c[i>>2]>>2];Vi(K,37591,z);break}case -5:{c[j>>2]=c[(c[p>>2]|0)+16>>2];M=a[c[j>>2]>>0]|0;c[A>>2]=c[(c[j>>2]|0)+20>>2];c[A+4>>2]=M;Vi(K,37599,A);break}case -13:{H=c[(c[p>>2]|0)+16>>2]|0;I=c[H+4>>2]|0;M=s;c[M>>2]=c[H>>2];c[M+4>>2]=I;Vi(K,19081,s);break}case -14:{c[t>>2]=c[(c[p>>2]|0)+16>>2];Vi(K,37606,t);break}case -12:{h[u>>3]=+h[c[(c[p>>2]|0)+16>>2]>>3];Vi(K,20012,u);break}case -8:{c[G>>2]=c[(c[p>>2]|0)+16>>2];b=c[G>>2]|0;if(e[(c[G>>2]|0)+8>>1]&2|0){c[J>>2]=c[b+16>>2];break a}f=c[G>>2]|0;if(e[b+8>>1]&4|0){G=f;I=c[G+4>>2]|0;M=H;c[M>>2]=c[G>>2];c[M+4>>2]=I;Vi(K,19081,H);break a}b=c[G>>2]|0;if(e[f+8>>1]&8|0){h[I>>3]=+h[b>>3];Vi(K,20012,I);break a}if(e[b+8>>1]&1|0){c[J>>2]=17843;break a}else{c[J>>2]=37609;break a}}case -10:{c[k>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+8>>2];c[v>>2]=c[k>>2];Vi(K,37616,v);break}case -15:{c[n>>2]=c[(c[p>>2]|0)+16>>2];c[o>>2]=c[c[n>>2]>>2];c[m>>2]=1;while(1){if((c[m>>2]|0)>=(c[o>>2]|0))break;c[w>>2]=c[(c[n>>2]|0)+(c[m>>2]<<2)>>2];Vi(K,37624,w);c[m>>2]=(c[m>>2]|0)+1}a[c[q>>2]>>0]=91;zd(K,37628,1);break}case -18:{Vi(K,37630,x);break}case -19:{a[c[q>>2]>>0]=0;break}case -20:{c[y>>2]=c[c[(c[p>>2]|0)+16>>2]>>2];Vi(K,18130,y);break}default:{c[J>>2]=c[(c[p>>2]|0)+16>>2];if(!(c[J>>2]|0)){c[J>>2]=c[q>>2];a[c[q>>2]>>0]=0}}}while(0);ld(K)|0;l=L;return c[J>>2]|0}function dI(a){a=a|0;var b=0,d=0,f=0,g=0;f=l;l=l+16|0;b=f+8|0;g=f+4|0;d=f;c[g>>2]=a;c[d>>2]=c[g>>2];if(c[d>>2]|0?c[(c[d>>2]|0)+104>>2]|0:0){c[b>>2]=e[(c[d>>2]|0)+140>>1];g=c[b>>2]|0;l=f;return g|0}c[b>>2]=0;g=c[b>>2]|0;l=f;return g|0}function eI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=wi(Nu(c[f>>2]|0,c[g>>2]|0)|0)|0;Ou(c[f>>2]|0);l=e;return c[d>>2]|0}function fI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=xh(Nu(c[f>>2]|0,c[g>>2]|0)|0)|0;Ou(c[f>>2]|0);l=e;return c[d>>2]|0}function gI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+12|0;g=e+8|0;d=e;c[f>>2]=a;c[g>>2]=b;h[d>>3]=+mi(Nu(c[f>>2]|0,c[g>>2]|0)|0);Ou(c[f>>2]|0);l=e;return +(+h[d>>3])}function hI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=vi(Nu(c[f>>2]|0,c[g>>2]|0)|0)|0;Ou(c[f>>2]|0);l=e;return c[d>>2]|0}function iI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+12|0;g=d+8|0;e=d;c[f>>2]=a;c[g>>2]=b;a=ki(Nu(c[f>>2]|0,c[g>>2]|0)|0)|0;b=e;c[b>>2]=a;c[b+4>>2]=z;Ou(c[f>>2]|0);b=e;z=c[b+4>>2]|0;l=d;return c[b>>2]|0}function jI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h+8|0;i=h+4|0;g=h;c[f>>2]=a;c[i>>2]=d;c[g>>2]=Nu(c[f>>2]|0,c[i>>2]|0)|0;if(!((e[(c[g>>2]|0)+8>>1]|0)&2048)){i=c[f>>2]|0;Ou(i);i=c[g>>2]|0;l=h;return i|0}i=(c[g>>2]|0)+8|0;b[i>>1]=(e[i>>1]|0)&-2049;i=(c[g>>2]|0)+8|0;b[i>>1]=e[i>>1]|0|4096;i=c[f>>2]|0;Ou(i);i=c[g>>2]|0;l=h;return i|0}function kI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=lI(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,0)|0;l=g;return f|0}function lI(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;t=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;j=s+12|0;k=s+32|0;m=s+8|0;n=s+4|0;o=s;c[t>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[j>>2]=h;a[k>>0]=i;c[m>>2]=c[t>>2];c[o>>2]=mI(c[m>>2]|0,c[p>>2]|0)|0;if(c[o>>2]|0){if(!((c[j>>2]|0)!=0&(c[j>>2]|0)!=(-1|0))){t=c[o>>2]|0;l=s;return t|0}qb[c[j>>2]&255](c[q>>2]|0);t=c[o>>2]|0;l=s;return t|0}if(!(c[q>>2]|0)){t=c[o>>2]|0;l=s;return t|0}c[n>>2]=(c[(c[m>>2]|0)+116>>2]|0)+(((c[p>>2]|0)-1|0)*40|0);c[o>>2]=Jh(c[n>>2]|0,c[q>>2]|0,c[r>>2]|0,a[k>>0]|0,c[j>>2]|0)|0;if((c[o>>2]|0)==0?d[k>>0]|0|0:0)c[o>>2]=Vh(c[n>>2]|0,d[(c[c[m>>2]>>2]|0)+66>>0]|0)|0;wk(c[c[m>>2]>>2]|0,c[o>>2]|0);c[o>>2]=Uq(c[c[m>>2]>>2]|0,c[o>>2]|0)|0;t=c[o>>2]|0;l=s;return t|0}function mI(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;c[g>>2]=a;c[h>>2]=d;if(Ir(c[g>>2]|0)|0){c[f>>2]=cd(76348)|0;k=c[f>>2]|0;l=m;return k|0}if((c[(c[g>>2]|0)+20>>2]|0)==770837923?(c[(c[g>>2]|0)+36>>2]|0)<0:0){if((c[h>>2]|0)>=1?(c[h>>2]|0)<=(b[(c[g>>2]|0)+16>>1]|0):0){c[h>>2]=(c[h>>2]|0)+-1;c[i>>2]=(c[(c[g>>2]|0)+116>>2]|0)+((c[h>>2]|0)*40|0);Lh(c[i>>2]|0);b[(c[i>>2]|0)+8>>1]=1;wk(c[c[g>>2]>>2]|0,0);do if((e[(c[g>>2]|0)+144>>1]|0)>>>9&1|0){if(!((c[h>>2]|0)<32?(c[(c[g>>2]|0)+196>>2]&1<>2]|0)!=0:0))k=12;if((k|0)==12?(c[(c[g>>2]|0)+196>>2]|0)!=-1:0)break;k=(c[g>>2]|0)+144|0;b[k>>1]=b[k>>1]&-2|1}while(0);c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}wk(c[c[g>>2]>>2]|0,25);c[f>>2]=25;k=c[f>>2]|0;l=m;return k|0}wk(c[c[g>>2]>>2]|0,21);c[j>>2]=c[(c[g>>2]|0)+176>>2];hd(21,39035,j);c[f>>2]=cd(76356)|0;k=c[f>>2]|0;l=m;return k|0}function nI(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;e=j+16|0;f=j;g=j+12|0;i=j+8|0;c[k>>2]=a;c[e>>2]=b;h[f>>3]=d;c[i>>2]=c[k>>2];c[g>>2]=mI(c[i>>2]|0,c[e>>2]|0)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=j;return k|0}ii((c[(c[i>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,+h[f>>3]);k=c[g>>2]|0;l=j;return k|0}function oI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;d=pI(c[g>>2]|0,c[f>>2]|0,d,((d|0)<0)<<31>>31)|0;l=e;return d|0}function pI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j+16|0;g=j;h=j+12|0;i=j+8|0;c[k>>2]=a;c[f>>2]=b;b=g;c[b>>2]=d;c[b+4>>2]=e;c[i>>2]=c[k>>2];c[h>>2]=mI(c[i>>2]|0,c[f>>2]|0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=j;return k|0}k=g;Dh((c[(c[i>>2]|0)+116>>2]|0)+(((c[f>>2]|0)-1|0)*40|0)|0,c[k>>2]|0,c[k+4>>2]|0);k=c[h>>2]|0;l=j;return k|0}function qI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[h>>2];c[d>>2]=mI(c[g>>2]|0,c[f>>2]|0)|0;l=e;return c[d>>2]|0}function rI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=lI(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,1)|0;l=g;return f|0}function sI(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[i>>2]=d;c[j>>2]=f;switch(fi(c[j>>2]|0)|0){case 1:{j=c[j>>2]|0;c[k>>2]=pI(c[g>>2]|0,c[i>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}case 2:{c[k>>2]=nI(c[g>>2]|0,c[i>>2]|0,+h[c[j>>2]>>3])|0;k=c[k>>2]|0;l=m;return k|0}case 4:{f=c[g>>2]|0;b=c[i>>2]|0;d=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16384|0){c[k>>2]=tI(f,b,c[d>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}else{c[k>>2]=kI(f,b,c[d+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0,-1)|0;k=c[k>>2]|0;l=m;return k|0}}case 3:{c[k>>2]=lI(c[g>>2]|0,c[i>>2]|0,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0,-1,a[(c[j>>2]|0)+10>>0]|0)|0;k=c[k>>2]|0;l=m;return k|0}default:{c[k>>2]=qI(c[g>>2]|0,c[i>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}}return 0}function tI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=c[j>>2];c[g>>2]=mI(c[h>>2]|0,c[e>>2]|0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=i;return j|0}Di((c[(c[h>>2]|0)+116>>2]|0)+(((c[e>>2]|0)-1|0)*40|0)|0,c[f>>2]|0);j=c[g>>2]|0;l=i;return j|0}function uI(a){a=a|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[f>>2];if(!(c[d>>2]|0)){f=0;l=e;return f|0}f=b[(c[d>>2]|0)+16>>1]|0;l=e;return f|0}function vI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;a=c[f>>2]|0;b=c[e>>2]|0;b=_F(a,b,_c(c[e>>2]|0)|0)|0;l=d;return b|0}function wI(f,g,h,i,j,k,m,n){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+144|0;O=Q+48|0;N=Q+40|0;P=Q+32|0;E=Q+24|0;D=Q+16|0;C=Q+8|0;M=Q+132|0;B=Q+128|0;o=Q+124|0;F=Q+120|0;p=Q;q=Q+116|0;G=Q+112|0;r=Q+108|0;s=Q+104|0;H=Q+100|0;I=Q+96|0;t=Q+92|0;J=Q+88|0;K=Q+84|0;L=Q+80|0;u=Q+76|0;v=Q+72|0;w=Q+68|0;x=Q+64|0;y=Q+60|0;z=Q+56|0;A=Q+52|0;c[M>>2]=f;c[B>>2]=g;c[o>>2]=h;c[F>>2]=i;i=p;c[i>>2]=j;c[i+4>>2]=k;c[q>>2]=m;c[G>>2]=n;c[r>>2]=0;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[K>>2]=0;c[c[G>>2]>>2]=0;c[q>>2]=((c[q>>2]|0)!=0^1^1)&1;c[K>>2]=jl(c[M>>2]|0,36,0)|0;a:do if(c[K>>2]|0?(c[J>>2]=md(c[M>>2]|0,480,0)|0,c[J>>2]|0):0){while(1){GR(c[J>>2]|0,0,480)|0;c[c[J>>2]>>2]=c[M>>2];Hd(c[M>>2]|0,c[I>>2]|0);c[I>>2]=0;Gj(c[M>>2]|0);c[t>>2]=ku(c[J>>2]|0,0,c[o>>2]|0,c[B>>2]|0)|0;if(c[t>>2]|0?d[(c[t>>2]|0)+42>>0]&16|0:0){c[t>>2]=0;n=c[J>>2]|0;c[C>>2]=c[o>>2];Ck(n,39075,C)}if(c[t>>2]|0?d[(c[t>>2]|0)+42>>0]&32|0:0){c[t>>2]=0;n=c[J>>2]|0;c[D>>2]=c[o>>2];Ck(n,39105,D)}if(c[t>>2]|0?c[(c[t>>2]|0)+12>>2]|0:0){c[t>>2]=0;n=c[J>>2]|0;c[E>>2]=c[o>>2];Ck(n,39141,E)}if(!(c[t>>2]|0)){f=13;break}c[(c[K>>2]|0)+32>>2]=c[t>>2];n=c[(c[M>>2]|0)+16>>2]|0;n=c[n+((Nt(c[M>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0)<<4)>>2]|0;c[(c[K>>2]|0)+28>>2]=n;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(b[(c[t>>2]|0)+34>>1]|0))break;if(!(Ig(c[(c[(c[t>>2]|0)+4>>2]|0)+(c[s>>2]<<4)>>2]|0,c[F>>2]|0)|0))break;c[s>>2]=(c[s>>2]|0)+1}if((c[s>>2]|0)==(b[(c[t>>2]|0)+34>>1]|0)){f=21;break}if(c[q>>2]|0){c[L>>2]=0;b:do if(c[(c[M>>2]|0)+24>>2]&524288|0){c[v>>2]=c[(c[t>>2]|0)+16>>2];while(1){if(!(c[v>>2]|0))break b;c[w>>2]=0;while(1){f=c[v>>2]|0;if((c[w>>2]|0)>=(c[(c[v>>2]|0)+20>>2]|0))break;if((c[f+36+(c[w>>2]<<3)>>2]|0)==(c[s>>2]|0))c[L>>2]=39183;c[w>>2]=(c[w>>2]|0)+1}c[v>>2]=c[f+4>>2]}}while(0);c[u>>2]=c[(c[t>>2]|0)+8>>2];while(1){if(!(c[u>>2]|0))break;c[x>>2]=0;while(1){f=c[u>>2]|0;if((c[x>>2]|0)>=(e[(c[u>>2]|0)+50>>1]|0))break;if(!((b[(c[f+4>>2]|0)+(c[x>>2]<<1)>>1]|0)!=(c[s>>2]|0)?(b[(c[(c[u>>2]|0)+4>>2]|0)+(c[x>>2]<<1)>>1]|0)!=-2:0))c[L>>2]=39195;c[x>>2]=(c[x>>2]|0)+1}c[u>>2]=c[f+20>>2]}if(c[L>>2]|0){f=42;break}}n=fu(c[J>>2]|0)|0;c[(c[K>>2]|0)+20>>2]=n;if(c[(c[K>>2]|0)+20>>2]|0){c[y>>2]=c[(c[K>>2]|0)+20>>2];c[z>>2]=Nt(c[M>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0;Fx(c[y>>2]|0,2,c[z>>2]|0,c[q>>2]|0,c[c[(c[t>>2]|0)+64>>2]>>2]|0,c[(c[(c[t>>2]|0)+64>>2]|0)+4>>2]|0)|0;px(c[y>>2]|0,1);c[A>>2]=sz(c[y>>2]|0,9,39237,0)|0;cu(c[y>>2]|0,c[z>>2]|0);if(!(d[(c[M>>2]|0)+69>>0]|0)){c[(c[A>>2]|0)+4>>2]=c[z>>2];c[(c[A>>2]|0)+8>>2]=c[(c[t>>2]|0)+28>>2];c[(c[A>>2]|0)+12>>2]=c[q>>2];$t(c[y>>2]|0,1,c[c[t>>2]>>2]|0,0)}if(!(d[(c[M>>2]|0)+69>>0]|0)){if(c[q>>2]|0)a[(c[A>>2]|0)+20>>0]=105;c[(c[A>>2]|0)+20+8>>2]=c[(c[t>>2]|0)+28>>2];c[(c[A>>2]|0)+20+12>>2]=c[z>>2];a[(c[A>>2]|0)+20+1>>0]=-14;c[(c[A>>2]|0)+20+16>>2]=(b[(c[t>>2]|0)+34>>1]|0)+1;c[(c[A>>2]|0)+80+8>>2]=b[(c[t>>2]|0)+34>>1];b[(c[J>>2]|0)+400>>1]=1;c[(c[J>>2]|0)+44>>2]=1;c[(c[J>>2]|0)+40>>2]=1;PE(c[y>>2]|0,c[J>>2]|0)}}c[c[K>>2]>>2]=c[q>>2];c[(c[K>>2]|0)+12>>2]=c[s>>2];c[(c[K>>2]|0)+24>>2]=c[M>>2];if(a[(c[M>>2]|0)+69>>0]|0)break a;n=p;pI(c[(c[K>>2]|0)+20>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;n=p;c[H>>2]=xI(c[K>>2]|0,c[n>>2]|0,c[n+4>>2]|0,I)|0;n=(c[r>>2]|0)+1|0;c[r>>2]=n;if(!((n|0)<50?(c[H>>2]|0)==17:0))break a}if((f|0)==13){if(c[(c[J>>2]|0)+4>>2]|0){Hd(c[M>>2]|0,c[I>>2]|0);c[I>>2]=c[(c[J>>2]|0)+4>>2];c[(c[J>>2]|0)+4>>2]=0}c[H>>2]=1;break}else if((f|0)==21){Hd(c[M>>2]|0,c[I>>2]|0);N=c[M>>2]|0;c[P>>2]=c[F>>2];c[I>>2]=Bj(N,39162,P)|0;c[H>>2]=1;break}else if((f|0)==42){Hd(c[M>>2]|0,c[I>>2]|0);P=c[M>>2]|0;c[N>>2]=c[L>>2];c[I>>2]=Bj(P,39203,N)|0;c[H>>2]=1;break}}while(0);if((c[H>>2]|0)==0?(d[(c[M>>2]|0)+69>>0]|0)==0:0){c[c[G>>2]>>2]=c[K>>2];L=c[M>>2]|0;N=c[H>>2]|0;P=c[I>>2]|0;P=(P|0)!=0;P=P?18130:0;K=c[I>>2]|0;c[O>>2]=K;vk(L,N,P,O);O=c[M>>2]|0;P=c[I>>2]|0;Hd(O,P);P=c[J>>2]|0;Ak(P);P=c[M>>2]|0;O=c[J>>2]|0;Hd(P,O);O=c[M>>2]|0;P=c[H>>2]|0;P=Uq(O,P)|0;c[H>>2]=P;P=c[H>>2]|0;l=Q;return P|0}if(c[K>>2]|0?c[(c[K>>2]|0)+20>>2]|0:0)Tq(c[(c[K>>2]|0)+20>>2]|0)|0;Hd(c[M>>2]|0,c[K>>2]|0);L=c[M>>2]|0;N=c[H>>2]|0;P=c[I>>2]|0;P=(P|0)!=0;P=P?18130:0;K=c[I>>2]|0;c[O>>2]=K;vk(L,N,P,O);O=c[M>>2]|0;P=c[I>>2]|0;Hd(O,P);P=c[J>>2]|0;Ak(P);P=c[M>>2]|0;O=c[J>>2]|0;Hd(P,O);O=c[M>>2]|0;P=c[H>>2]|0;P=Uq(O,P)|0;c[H>>2]=P;P=c[H>>2]|0;l=Q;return P|0}function xI(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;r=s+24|0;q=s+16|0;j=s+8|0;k=s+52|0;m=s;n=s+48|0;o=s+44|0;p=s+40|0;h=s+36|0;g=s+32|0;i=s+28|0;c[k>>2]=a;a=m;c[a>>2]=d;c[a+4>>2]=e;c[n>>2]=f;c[p>>2]=0;c[h>>2]=c[(c[k>>2]|0)+20>>2];d=m;e=c[d+4>>2]|0;f=c[(c[h>>2]|0)+116>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[o>>2]=Hr(c[(c[k>>2]|0)+20>>2]|0)|0;do if((c[o>>2]|0)==100){c[g>>2]=c[c[(c[h>>2]|0)+112>>2]>>2];c[i>>2]=c[(c[g>>2]|0)+80+(c[(c[k>>2]|0)+12>>2]<<2)>>2];if((c[i>>2]|0)>>>0>=12){c[(c[k>>2]|0)+8>>2]=c[(c[g>>2]|0)+80+((c[(c[k>>2]|0)+12>>2]|0)+(b[(c[g>>2]|0)+12>>1]|0)<<2)>>2];j=mD(c[i>>2]|0)|0;c[(c[k>>2]|0)+4>>2]=j;c[(c[k>>2]|0)+16>>2]=c[(c[g>>2]|0)+16>>2];yI(c[(c[k>>2]|0)+16>>2]|0);break}d=c[(c[k>>2]|0)+24>>2]|0;if(!(c[i>>2]|0))a=19905;else a=(c[i>>2]|0)==7?19895:19882;c[j>>2]=a;c[p>>2]=Bj(d,39273,j)|0;c[o>>2]=1;Qq(c[(c[k>>2]|0)+20>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=0}while(0);if((c[o>>2]|0)==100){c[o>>2]=0;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}if(!(c[(c[k>>2]|0)+20>>2]|0)){q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}c[o>>2]=Qq(c[(c[k>>2]|0)+20>>2]|0)|0;c[(c[k>>2]|0)+20>>2]=0;a=c[(c[k>>2]|0)+24>>2]|0;if(!(c[o>>2]|0)){k=m;m=c[k+4>>2]|0;r=q;c[r>>2]=c[k>>2];c[r+4>>2]=m;c[p>>2]=Bj(a,39302,q)|0;c[o>>2]=1;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}else{c[r>>2]=Ku(c[(c[k>>2]|0)+24>>2]|0)|0;c[p>>2]=Bj(a,18130,r)|0;q=c[p>>2]|0;r=c[n>>2]|0;c[r>>2]=q;r=c[o>>2]|0;l=s;return r|0}return 0}function yI(b){b=b|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=b;b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|0|16;a[(c[c[f>>2]>>2]|0)+11>>0]=1;l=e;return}function zI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];if(c[b>>2]|0){c[e>>2]=c[(c[b>>2]|0)+24>>2];c[d>>2]=Qq(c[(c[b>>2]|0)+20>>2]|0)|0;Hd(c[e>>2]|0,c[b>>2]|0);g=c[d>>2]|0;l=f;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}return 0}function AI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=BI(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,141)|0;l=f;return e|0}function BI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[s>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[g>>2]=f;c[i>>2]=c[s>>2];if(!(c[i>>2]|0)){c[m>>2]=cd(84716)|0;s=c[m>>2]|0;l=r;return s|0}c[k>>2]=c[(c[i>>2]|0)+24>>2];c[j>>2]=c[(c[i>>2]|0)+20>>2];do if(!((c[o>>2]|0)<0|(c[p>>2]|0)<0)?(d=c[p>>2]|0,f=c[o>>2]|0,f=IR(d|0,((d|0)<0)<<31>>31|0,f|0,((f|0)<0)<<31>>31|0)|0,d=z,s=c[(c[i>>2]|0)+4>>2]|0,e=((s|0)<0)<<31>>31,!((d|0)>(e|0)|(d|0)==(e|0)&f>>>0>s>>>0)):0){if(!(c[j>>2]|0)){c[h>>2]=4;break}CI(c[(c[i>>2]|0)+16>>2]|0);c[h>>2]=wb[c[g>>2]&255](c[(c[i>>2]|0)+16>>2]|0,(c[p>>2]|0)+(c[(c[i>>2]|0)+8>>2]|0)|0,c[o>>2]|0,c[n>>2]|0)|0;if((c[h>>2]|0)==4){Tq(c[j>>2]|0)|0;c[(c[i>>2]|0)+20>>2]=0;break}else{c[(c[j>>2]|0)+40>>2]=c[h>>2];break}}else q=5;while(0);if((q|0)==5)c[h>>2]=1;wk(c[k>>2]|0,c[h>>2]|0);c[h>>2]=Uq(c[k>>2]|0,c[h>>2]|0)|0;c[m>>2]=c[h>>2];s=c[m>>2]|0;l=r;return s|0}function CI(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Ek(c[c[d>>2]>>2]|0);l=b;return}function DI(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;l=d;return e|0}if(!(c[(c[b>>2]|0)+20>>2]|0)){e=0;l=d;return e|0}e=c[(c[b>>2]|0)+4>>2]|0;l=d;return e|0}function EI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m+8|0;e=m+32|0;n=m+28|0;f=m;g=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;c[n>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=c[n>>2];if(!(c[h>>2]|0)){c[e>>2]=cd(84814)|0;n=c[e>>2]|0;l=m;return n|0}c[i>>2]=c[(c[h>>2]|0)+24>>2];if(c[(c[h>>2]|0)+20>>2]|0){n=f;c[g>>2]=xI(c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0,j)|0;if(c[g>>2]|0){f=c[i>>2]|0;h=c[g>>2]|0;n=c[j>>2]|0?18130:0;c[k>>2]=c[j>>2];vk(f,h,n,k);Hd(c[i>>2]|0,c[j>>2]|0)}}else c[g>>2]=4;c[g>>2]=Uq(c[i>>2]|0,c[g>>2]|0)|0;c[e>>2]=c[g>>2];n=c[e>>2]|0;l=m;return n|0}function FI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=GI(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return e|0}function GI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[g>>2]=0;c[h>>2]=_c(c[n>>2]|0)|0;if(!(nu((c[m>>2]|0)+320|0,c[n>>2]|0)|0)){c[i>>2]=od(c[m>>2]|0,20+(c[h>>2]|0)+1|0,0)|0;if(c[i>>2]|0?(c[k>>2]=(c[i>>2]|0)+20,MR(c[k>>2]|0,c[n>>2]|0,(c[h>>2]|0)+1|0)|0,c[(c[i>>2]|0)+4>>2]=c[k>>2],c[c[i>>2]>>2]=c[o>>2],c[(c[i>>2]|0)+8>>2]=c[p>>2],c[(c[i>>2]|0)+12>>2]=c[q>>2],c[(c[i>>2]|0)+16>>2]=0,c[j>>2]=Vj((c[m>>2]|0)+320|0,c[k>>2]|0,c[i>>2]|0)|0,c[j>>2]|0):0){yd(c[m>>2]|0);Hd(c[m>>2]|0,c[j>>2]|0)}}else c[g>>2]=cd(122590)|0;c[g>>2]=Uq(c[m>>2]|0,c[g>>2]|0)|0;if(!((c[g>>2]|0)!=0&(c[q>>2]|0)!=0)){q=c[g>>2]|0;l=r;return q|0}qb[c[q>>2]&255](c[p>>2]|0);q=c[g>>2]|0;l=r;return q|0}function HI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=GI(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;l=g;return f|0}function II(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s;i=s+40|0;j=s+36|0;k=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;g=s+8|0;h=s+4|0;c[j>>2]=e;c[k>>2]=f;c[o>>2]=0;c[q>>2]=0;c[m>>2]=c[(c[j>>2]|0)+336>>2];if(c[m>>2]|0?(c[(c[m>>2]|0)+12>>2]|0)==0:0){c[p>>2]=c[(c[m>>2]|0)+4>>2];c[n>>2]=jl(c[j>>2]|0,480,0)|0;if(!(c[n>>2]|0))c[o>>2]=7;else{a[(c[n>>2]|0)+410>>0]=1;c[c[n>>2]>>2]=c[j>>2];c[(c[n>>2]|0)+136>>2]=1;if((((0==(Vr(c[n>>2]|0,c[k>>2]|0,q)|0)?c[(c[n>>2]|0)+440>>2]|0:0)?!(a[(c[j>>2]|0)+69>>0]|0):0)?!(c[(c[(c[n>>2]|0)+440>>2]|0)+12>>2]|0):0)?(d[(c[(c[n>>2]|0)+440>>2]|0)+42>>0]&16|0)==0:0){if(!(c[(c[p>>2]|0)+4>>2]|0)){c[g>>2]=c[(c[n>>2]|0)+440>>2];c[(c[p>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];b[(c[p>>2]|0)+34>>1]=b[(c[g>>2]|0)+34>>1]|0;r=(c[p>>2]|0)+42|0;a[r>>0]=d[r>>0]|d[(c[g>>2]|0)+42>>0]&96;b[(c[g>>2]|0)+34>>1]=0;c[(c[g>>2]|0)+4>>2]=0;if(d[(c[g>>2]|0)+42>>0]&32|0?c[(c[c[(c[c[m>>2]>>2]|0)+4>>2]>>2]|0)+52>>2]|0:0)c[o>>2]=1;c[h>>2]=c[(c[g>>2]|0)+8>>2];if(c[h>>2]|0){c[(c[p>>2]|0)+8>>2]=c[h>>2];c[(c[g>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=c[p>>2]}}c[(c[m>>2]|0)+12>>2]=1}else{m=c[j>>2]|0;p=c[q>>2]|0?18130:0;c[r>>2]=c[q>>2];vk(m,1,p,r);Hd(c[j>>2]|0,c[q>>2]|0);c[o>>2]=1}a[(c[n>>2]|0)+410>>0]=0;if(c[(c[n>>2]|0)+8>>2]|0)Tq(c[(c[n>>2]|0)+8>>2]|0)|0;Jj(c[j>>2]|0,c[(c[n>>2]|0)+440>>2]|0);Ak(c[n>>2]|0);Hd(c[j>>2]|0,c[n>>2]|0)}c[o>>2]=Uq(c[j>>2]|0,c[o>>2]|0)|0;c[i>>2]=c[o>>2];r=c[i>>2]|0;l=s;return r|0}wk(c[j>>2]|0,21);c[i>>2]=cd(123278)|0;r=c[i>>2]|0;l=s;return r|0}function JI(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[39322+((d[(c[b>>2]|0)+74>>0]|0)-1)>>0]|0|0}function KI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+48|0;f=k+36|0;m=k+32|0;g=k+16|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[m>>2]=d;c[h>>2]=0;c[g>>2]=e;do if((c[m>>2]|0)==1){c[i>>2]=c[(c[f>>2]|0)+336>>2];if(c[i>>2]|0){e=(c[g>>2]|0)+(4-1)&~(4-1);m=c[e>>2]|0;c[g>>2]=e+4;c[j>>2]=m;a[(c[c[i>>2]>>2]|0)+16>>0]=c[j>>2];break}else{c[h>>2]=cd(123749)|0;break}}else c[h>>2]=cd(123757)|0;while(0);if(!(c[h>>2]|0)){m=c[h>>2]|0;l=k;return m|0}wk(c[f>>2]|0,c[h>>2]|0);m=c[h>>2]|0;l=k;return m|0}function LI(){return 3015001}function MI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;o=x+76|0;p=x+72|0;q=x+56|0;r=x+52|0;s=x+48|0;t=x+44|0;u=x+40|0;v=x+36|0;e=x+32|0;f=x+28|0;g=x+24|0;h=x+20|0;i=x+16|0;j=x+12|0;k=x+8|0;m=x+4|0;n=x;c[o>>2]=a;c[p>>2]=b;c[q>>2]=d;switch(c[p>>2]|0){case 1e3:{d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[s>>2]=w;c[c[(c[o>>2]|0)+16>>2]>>2]=c[s>>2];c[r>>2]=0;w=c[r>>2]|0;l=x;return w|0}case 1001:{d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[u>>2]=w;c[t>>2]=c[u>>2];w=(c[q>>2]|0)+(4-1)&~(4-1);d=c[w>>2]|0;c[q>>2]=w+4;c[e>>2]=d;c[v>>2]=c[e>>2];d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[g>>2]=w;c[f>>2]=c[g>>2];c[r>>2]=NI(c[o>>2]|0,c[t>>2]|0,c[v>>2]|0,c[f>>2]|0)|0;w=c[r>>2]|0;l=x;return w|0}default:{c[r>>2]=1;c[h>>2]=0;while(1){if((c[h>>2]|0)>>>0>=4){w=17;break}if((c[6184+(c[h>>2]<<3)>>2]|0)==(c[p>>2]|0))break;c[h>>2]=(c[h>>2]|0)+1}if((w|0)==17){w=c[r>>2]|0;l=x;return w|0}w=(c[q>>2]|0)+(4-1)&~(4-1);d=c[w>>2]|0;c[q>>2]=w+4;c[j>>2]=d;c[i>>2]=c[j>>2];d=(c[q>>2]|0)+(4-1)&~(4-1);w=c[d>>2]|0;c[q>>2]=d+4;c[m>>2]=w;c[k>>2]=c[m>>2];c[n>>2]=c[(c[o>>2]|0)+24>>2];if((c[i>>2]|0)<=0){if(!(c[i>>2]|0)){w=(c[o>>2]|0)+24|0;c[w>>2]=c[w>>2]&~c[6184+(c[h>>2]<<3)+4>>2]}}else{w=(c[o>>2]|0)+24|0;c[w>>2]=c[w>>2]|c[6184+(c[h>>2]<<3)+4>>2]}if((c[n>>2]|0)!=(c[(c[o>>2]|0)+24>>2]|0))$p(c[o>>2]|0);if(c[k>>2]|0)c[c[k>>2]>>2]=(c[(c[o>>2]|0)+24>>2]&c[6184+(c[h>>2]<<3)+4>>2]|0)!=0&1;c[r>>2]=0;w=c[r>>2]|0;l=x;return w|0}}return 0}function NI(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;p=q+28|0;o=q+24|0;j=q+20|0;k=q+16|0;m=q+12|0;n=q+8|0;h=q+4|0;i=q;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;if(c[(c[o>>2]|0)+256+8>>2]|0){c[p>>2]=5;p=c[p>>2]|0;l=q;return p|0}if(a[(c[o>>2]|0)+256+6>>0]|0)Kd(c[(c[o>>2]|0)+256+32>>2]|0);g=c[k>>2]&-8;c[k>>2]=g;c[k>>2]=(c[k>>2]|0)<=4?0:g;if((c[m>>2]|0)<0)c[m>>2]=0;do if(!((c[k>>2]|0)==0|(c[m>>2]|0)==0)){if(c[j>>2]|0){c[n>>2]=c[j>>2];break}zg();g=O(c[k>>2]|0,c[m>>2]|0)|0;c[n>>2]=pd(g,((g|0)<0)<<31>>31)|0;Bg();if(c[n>>2]|0){g=ud(c[n>>2]|0)|0;c[m>>2]=(g|0)/(c[k>>2]|0)|0}}else{c[k>>2]=0;c[n>>2]=0}while(0);c[(c[o>>2]|0)+256+32>>2]=c[n>>2];c[(c[o>>2]|0)+256+28>>2]=0;b[(c[o>>2]|0)+256+4>>1]=c[k>>2];if(c[n>>2]|0){c[i>>2]=c[n>>2];c[h>>2]=(c[m>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;c[c[i>>2]>>2]=c[(c[o>>2]|0)+256+28>>2];c[(c[o>>2]|0)+256+28>>2]=c[i>>2];c[i>>2]=(c[i>>2]|0)+(c[k>>2]|0);c[h>>2]=(c[h>>2]|0)+-1}c[(c[o>>2]|0)+256+36>>2]=c[i>>2];c[(c[o>>2]|0)+256>>2]=0;e=((c[j>>2]|0)==0?1:0)&255;d=c[o>>2]|0}else{c[(c[o>>2]|0)+256+32>>2]=c[o>>2];c[(c[o>>2]|0)+256+36>>2]=c[o>>2];c[(c[o>>2]|0)+256>>2]=1;e=0;d=c[o>>2]|0}a[d+256+6>>0]=e;c[p>>2]=0;p=c[p>>2]|0;l=q;return p|0}function OI(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=PI(c[d>>2]|0,0)|0;l=b;return a|0}function PI(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i;e=i+12|0;f=i+8|0;g=i+4|0;c[f>>2]=a;c[g>>2]=b;if(!(c[f>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}if(!(Lu(c[f>>2]|0)|0)){c[e>>2]=cd(138867)|0;h=c[e>>2]|0;l=i;return h|0}if((d[(c[f>>2]|0)+76>>0]|0)&8|0)wb[c[(c[f>>2]|0)+184>>2]&255](8,c[(c[f>>2]|0)+188>>2]|0,c[f>>2]|0,0)|0;QI(c[f>>2]|0);Mq(c[f>>2]|0)|0;if((c[g>>2]|0)==0?Cq(c[f>>2]|0)|0:0){vk(c[f>>2]|0,5,39332,h);c[e>>2]=5;h=c[e>>2]|0;l=i;return h|0}c[(c[f>>2]|0)+84>>2]=1691352191;Bq(c[f>>2]|0);c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}function QI(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[b>>2]=a;Gj(c[b>>2]|0);c[e>>2]=0;while(1){a=c[b>>2]|0;if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[g>>2]=c[(c[a+16>>2]|0)+(c[e>>2]<<4)+12>>2];a:do if(c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]|0){c[f>>2]=c[(c[g>>2]|0)+8+8>>2];while(1){if(!(c[f>>2]|0))break a;c[h>>2]=c[(c[f>>2]|0)+8>>2];if((d[(c[h>>2]|0)+42>>0]|0)&16|0)RI(c[b>>2]|0,c[h>>2]|0);c[f>>2]=c[c[f>>2]>>2]}}while(0);c[e>>2]=(c[e>>2]|0)+1}c[f>>2]=c[a+320+8>>2];while(1){if(!(c[f>>2]|0))break;c[i>>2]=c[(c[f>>2]|0)+8>>2];if(c[(c[i>>2]|0)+16>>2]|0)RI(c[b>>2]|0,c[(c[i>>2]|0)+16>>2]|0);c[f>>2]=c[c[f>>2]>>2]}Zp(c[b>>2]|0);l=j;return}function RI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h+12|0;i=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[i>>2]=b;c[e>>2]=(c[i>>2]|0)+56;while(1){if(!(c[c[e>>2]>>2]|0)){g=6;break}a=c[c[e>>2]>>2]|0;if((c[c[c[e>>2]>>2]>>2]|0)==(c[d>>2]|0))break;c[e>>2]=a+24}if((g|0)==6){l=h;return}c[f>>2]=a;c[c[e>>2]>>2]=c[(c[f>>2]|0)+24>>2];Tj(c[f>>2]|0);l=h;return}function SI(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=PI(c[d>>2]|0,1)|0;l=b;return a|0}function TI(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=l;l=l+32|0;s=j+28|0;r=j+24|0;q=j+20|0;p=j+16|0;o=j+12|0;n=j+8|0;m=j+4|0;k=j;c[s>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[n>>2]=g;c[m>>2]=h;c[k>>2]=i;i=UI(c[s>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,0)|0;l=j;return i|0}function UI(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;v=x+40|0;k=x+36|0;m=x+32|0;n=x+28|0;o=x+24|0;p=x+20|0;q=x+16|0;r=x+12|0;s=x+8|0;t=x+4|0;u=x;c[v>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=1;c[u>>2]=0;do if(c[s>>2]|0){c[u>>2]=jl(c[v>>2]|0,12,0)|0;a=c[s>>2]|0;if(c[u>>2]|0){c[(c[u>>2]|0)+4>>2]=a;c[(c[u>>2]|0)+8>>2]=c[o>>2];w=5;break}else{qb[a&255](c[o>>2]|0);break}}else w=5;while(0);if(((w|0)==5?(c[t>>2]=aA(c[v>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[u>>2]|0)|0,c[u>>2]|0):0)?(c[c[u>>2]>>2]|0)==0:0){qb[c[s>>2]&255](c[o>>2]|0);Hd(c[v>>2]|0,c[u>>2]|0)}c[t>>2]=Uq(c[v>>2]|0,c[t>>2]|0)|0;l=x;return c[t>>2]|0}function VI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(uw(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0)|0))c[h>>2]=aA(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,1,0,227,0,0,0)|0;c[h>>2]=Uq(c[e>>2]|0,c[h>>2]|0)|0;l=i;return c[h>>2]|0}function WI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;h=e;g=e+20|0;i=e+8|0;f=e+4|0;c[g>>2]=a;c[e+16>>2]=b;c[e+12>>2]=d;c[i>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+20>>2];c[h>>2]=c[i>>2];c[f>>2]=Ue(39400,h)|0;yh(c[g>>2]|0,c[f>>2]|0,-1);Kd(c[f>>2]|0);l=e;return}function XI(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[e>>2]=a;if(c[e>>2]|0?(Lu(c[e>>2]|0)|0)==0:0){c[b>>2]=cd(140115)|0;e=c[b>>2]|0;l=f;return e|0}if(c[e>>2]|0?(d[(c[e>>2]|0)+69>>0]|0|0)==0:0){c[b>>2]=c[(c[e>>2]|0)+52>>2]&c[(c[e>>2]|0)+56>>2];e=c[b>>2]|0;l=f;return e|0}c[b>>2]=7;e=c[b>>2]|0;l=f;return e|0}function YI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=ZI(c[f>>2]|0,c[e>>2]|0,6,0)|0;l=d;return b|0}function ZI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;r=s;k=s+40|0;m=s+36|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;h=s+16|0;g=s+12|0;i=s+8|0;j=s+4|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[i>>2]=0;c[j>>2]=0;c[c[n>>2]>>2]=0;c[h>>2]=Rd()|0;if(c[h>>2]|0){c[k>>2]=c[h>>2];r=c[k>>2]|0;l=s;return r|0}if(!(1<<(c[o>>2]&7)&70)){c[k>>2]=cd(140621)|0;r=c[k>>2]|0;l=s;return r|0}do if(c[3]|0){if(c[o>>2]&32768|0){c[g>>2]=0;break}if(c[o>>2]&65536|0){c[g>>2]=1;break}else{c[g>>2]=c[4];break}}else c[g>>2]=0;while(0);if(!(c[o>>2]&262144|0)){if(c[57]|0)c[o>>2]=c[o>>2]|131072}else c[o>>2]=c[o>>2]&-131073;c[o>>2]=c[o>>2]&-655129;c[q>>2]=Cg(464,0)|0;do if(c[q>>2]|0){if(c[g>>2]|0?(c[(c[q>>2]|0)+12>>2]=8,(c[(c[q>>2]|0)+12>>2]|0)==0):0){Kd(c[q>>2]|0);c[q>>2]=0;break}c[(c[q>>2]|0)+56>>2]=255;c[(c[q>>2]|0)+20>>2]=2;c[(c[q>>2]|0)+84>>2]=-264537850;c[(c[q>>2]|0)+16>>2]=(c[q>>2]|0)+392;b=(c[q>>2]|0)+96|0;d=5364;g=b+48|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(g|0));c[(c[q>>2]|0)+96+44>>2]=0;a[(c[q>>2]|0)+67>>0]=1;a[(c[q>>2]|0)+72>>0]=-1;g=184;e=c[g+4>>2]|0;f=(c[q>>2]|0)+40|0;c[f>>2]=c[g>>2];c[f+4>>2]=e;c[(c[q>>2]|0)+80>>2]=0;c[(c[q>>2]|0)+144>>2]=2147483647;f=(c[q>>2]|0)+24|0;c[f>>2]=c[f>>2]|17825888;aq((c[q>>2]|0)+364|0);aq((c[q>>2]|0)+320|0);$I(c[q>>2]|0,31345,1,0,141,0)|0;$I(c[q>>2]|0,31345,3,0,141,0)|0;$I(c[q>>2]|0,31345,2,0,141,0)|0;$I(c[q>>2]|0,31338,1,0,142,0)|0;$I(c[q>>2]|0,39451,1,1,141,0)|0;if(!(a[(c[q>>2]|0)+69>>0]|0)){f=zv(c[q>>2]|0,1,31345,0)|0;c[(c[q>>2]|0)+8>>2]=f;c[(c[q>>2]|0)+48>>2]=c[o>>2];c[h>>2]=Yy(c[p>>2]|0,c[m>>2]|0,o,c[q>>2]|0,i,j)|0;if(c[h>>2]|0){if((c[h>>2]|0)==7)yd(c[q>>2]|0);m=c[q>>2]|0;o=c[h>>2]|0;p=c[j>>2]|0?18130:0;c[r>>2]=c[j>>2];vk(m,o,p,r);Kd(c[j>>2]|0);break}c[h>>2]=Bk(c[c[q>>2]>>2]|0,c[i>>2]|0,c[q>>2]|0,(c[(c[q>>2]|0)+16>>2]|0)+4|0,0,c[o>>2]|256)|0;if(c[h>>2]|0){if((c[h>>2]|0)==3082)c[h>>2]=7;wk(c[q>>2]|0,c[h>>2]|0);break}Ek(c[(c[(c[q>>2]|0)+16>>2]|0)+4>>2]|0);r=Zy(c[q>>2]|0,c[(c[(c[q>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]=r;if(!(a[(c[q>>2]|0)+69>>0]|0))a[(c[q>>2]|0)+66>>0]=a[(c[(c[(c[q>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;r=Zy(c[q>>2]|0,0)|0;c[(c[(c[q>>2]|0)+16>>2]|0)+16+12>>2]=r;c[c[(c[q>>2]|0)+16>>2]>>2]=39457;a[(c[(c[q>>2]|0)+16>>2]|0)+8>>0]=3;c[(c[(c[q>>2]|0)+16>>2]|0)+16>>2]=39327;a[(c[(c[q>>2]|0)+16>>2]|0)+16+8>>0]=1;c[(c[q>>2]|0)+84>>2]=-1607883113;if(!(a[(c[q>>2]|0)+69>>0]|0)){wk(c[q>>2]|0,0);bJ(c[q>>2]|0);c[h>>2]=XI(c[q>>2]|0)|0;if((c[h>>2]|0)==0?(cJ(c[q>>2]|0),c[h>>2]=XI(c[q>>2]|0)|0,c[h>>2]|0):0)break;if((c[h>>2]|0)==0?(a[(c[q>>2]|0)+69>>0]|0)==0:0)c[h>>2]=dJ(c[q>>2]|0)|0;if(c[h>>2]|0)wk(c[q>>2]|0,c[h>>2]|0);NI(c[q>>2]|0,0,c[9]|0,c[10]|0)|0;Nz(c[q>>2]|0,1e3)|0}}}while(0);c[h>>2]=XI(c[q>>2]|0)|0;if((c[h>>2]|0)!=7){if(c[h>>2]|0)c[(c[q>>2]|0)+84>>2]=1266094736}else{OI(c[q>>2]|0)|0;c[q>>2]=0}c[c[n>>2]>>2]=c[q>>2];Kd(c[i>>2]|0);c[k>>2]=c[h>>2]&255;r=c[k>>2]|0;l=s;return r|0}function _I(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=(c[j>>2]|0)<(c[m>>2]|0)?c[j>>2]|0:c[m>>2]|0;c[g>>2]=wQ(c[k>>2]|0,c[n>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){n=c[g>>2]|0;l=o;return n|0}if((c[i>>2]|0?UP((c[k>>2]|0)+(c[h>>2]|0)|0,(c[j>>2]|0)-(c[h>>2]|0)|0)|0:0)?UP((c[n>>2]|0)+(c[h>>2]|0)|0,(c[m>>2]|0)-(c[h>>2]|0)|0)|0:0){n=c[g>>2]|0;l=o;return n|0}c[g>>2]=(c[j>>2]|0)-(c[m>>2]|0);n=c[g>>2]|0;l=o;return n|0}function $I(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;w=x;s=x+44|0;t=x+40|0;u=x+36|0;v=x+48|0;j=x+32|0;k=x+28|0;m=x+24|0;n=x+20|0;o=x+16|0;p=x+12|0;q=x+8|0;r=x+4|0;c[t>>2]=b;c[u>>2]=e;a[v>>0]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;c[o>>2]=d[v>>0];if((c[o>>2]|0)==4|(c[o>>2]|0)==8)c[o>>2]=(a[936]|0)==0?3:2;if((c[o>>2]|0)<1|(c[o>>2]|0)>3){c[s>>2]=cd(140172)|0;w=c[s>>2]|0;l=x;return w|0}c[n>>2]=zv(c[t>>2]|0,c[o>>2]&255,c[u>>2]|0,0)|0;a:do if(c[n>>2]|0?c[(c[n>>2]|0)+12>>2]|0:0){b=c[t>>2]|0;if(c[(c[t>>2]|0)+156>>2]|0){vk(b,5,44727,w);c[s>>2]=5;w=c[s>>2]|0;l=x;return w|0}$p(b);if((d[(c[n>>2]|0)+4>>0]&-9|0)==(c[o>>2]|0)){c[p>>2]=nu((c[t>>2]|0)+364|0,c[u>>2]|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=3)break a;c[r>>2]=(c[p>>2]|0)+((c[q>>2]|0)*20|0);if((d[(c[r>>2]|0)+4>>0]|0)==(d[(c[n>>2]|0)+4>>0]|0)){if(c[(c[r>>2]|0)+16>>2]|0)qb[c[(c[r>>2]|0)+16>>2]&255](c[(c[r>>2]|0)+8>>2]|0);c[(c[r>>2]|0)+12>>2]=0}c[q>>2]=(c[q>>2]|0)+1}}}while(0);c[n>>2]=zv(c[t>>2]|0,c[o>>2]&255,c[u>>2]|0,1)|0;if(!(c[n>>2]|0)){c[s>>2]=7;w=c[s>>2]|0;l=x;return w|0}else{c[(c[n>>2]|0)+12>>2]=c[k>>2];c[(c[n>>2]|0)+8>>2]=c[j>>2];c[(c[n>>2]|0)+16>>2]=c[m>>2];a[(c[n>>2]|0)+4>>0]=c[o>>2]|d[v>>0]&8;wk(c[t>>2]|0,0);c[s>>2]=0;w=c[s>>2]|0;l=x;return w|0}return 0}function aJ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;h=j+16|0;m=j+12|0;i=j+8|0;k=j+4|0;g=j;c[j+20>>2]=a;c[h>>2]=b;c[m>>2]=d;c[i>>2]=e;c[k>>2]=f;c[g>>2]=Zc(c[m>>2]|0,c[k>>2]|0,(c[h>>2]|0)<(c[i>>2]|0)?c[h>>2]|0:c[i>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;l=j;return m|0}c[g>>2]=(c[h>>2]|0)-(c[i>>2]|0);m=c[g>>2]|0;l=j;return m|0}function bJ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=VI(c[b>>2]|0,44721,2)|0;if((c[e>>2]|0)!=7){l=d;return}yd(c[b>>2]|0);l=d;return}function cJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;j=k;b=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;c[b>>2]=a;c[e>>2]=1;if(!(c[11764]|0)){l=k;return}c[d>>2]=0;while(1){if(!(c[e>>2]|0))break;c[i>>2]=0;if((c[d>>2]|0)>>>0>=(c[11764]|0)>>>0){c[g>>2]=0;c[e>>2]=0}else c[g>>2]=c[(c[11765]|0)+(c[d>>2]<<2)>>2];c[h>>2]=0;if(c[g>>2]|0?(a=ob[c[g>>2]&255](c[b>>2]|0,h,c[i>>2]|0)|0,c[f>>2]=a,a|0):0){m=c[b>>2]|0;a=c[f>>2]|0;c[j>>2]=c[h>>2];vk(m,a,44682,j);c[e>>2]=0}Kd(c[h>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=k;return}function dJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;c[e>>2]=0;c[f>>2]=0;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;eJ(i);c[e>>2]=fJ(c[d>>2]|0)|0;if(c[e>>2]|0){c[b>>2]=c[e>>2];i=c[b>>2]|0;l=j;return i|0}gJ(g);hJ(h);c[f>>2]=Yd(20)|0;if(c[f>>2]|0)iJ(c[f>>2]|0,1,1);else c[e>>2]=7;do if(!(c[e>>2]|0)){if(((jJ(c[f>>2]|0,39462,7,c[g>>2]|0)|0)==0?(jJ(c[f>>2]|0,39469,7,c[h>>2]|0)|0)==0:0)?(jJ(c[f>>2]|0,39476,10,c[i>>2]|0)|0)==0:0)break;c[e>>2]=7}while(0);if((((((0==(c[e>>2]|0)?(i=kJ(c[d>>2]|0,c[f>>2]|0,39486)|0,c[e>>2]=i,0==(i|0)):0)?(i=VI(c[d>>2]|0,39501,-1)|0,c[e>>2]=i,0==(i|0)):0)?(i=VI(c[d>>2]|0,39509,1)|0,c[e>>2]=i,0==(i|0)):0)?(i=VI(c[d>>2]|0,39517,1)|0,c[e>>2]=i,0==(i|0)):0)?(i=VI(c[d>>2]|0,39517,2)|0,c[e>>2]=i,0==(i|0)):0)?(i=VI(c[d>>2]|0,39527,1)|0,c[e>>2]=i,0==(i|0)):0){c[e>>2]=HI(c[d>>2]|0,39536,6216,c[f>>2]|0,152)|0;if(!(c[e>>2]|0))c[e>>2]=HI(c[d>>2]|0,39541,6216,c[f>>2]|0,0)|0;if(!(c[e>>2]|0))c[e>>2]=mJ(c[d>>2]|0,c[f>>2]|0)|0;c[b>>2]=c[e>>2];i=c[b>>2]|0;l=j;return i|0}if(c[f>>2]|0){nJ(c[f>>2]|0);Kd(c[f>>2]|0)}c[b>>2]=c[e>>2];i=c[b>>2]|0;l=j;return i|0}function eJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=6836;l=b;return}function fJ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=FI(c[e>>2]|0,44399,6744,0)|0;l=d;return c[b>>2]|0}function gJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=6716;l=b;return}function hJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[c[d>>2]>>2]=6688;l=b;return}function iJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f;i=f+5|0;h=f+4|0;c[g>>2]=b;a[i>>0]=d;a[h>>0]=e;a[c[g>>2]>>0]=a[i>>0]|0;a[(c[g>>2]|0)+1>>0]=a[h>>0]|0;c[(c[g>>2]|0)+8>>2]=0;c[(c[g>>2]|0)+4>>2]=0;c[(c[g>>2]|0)+12>>2]=0;c[(c[g>>2]|0)+16>>2]=0;l=f;return}function jJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;r=s+20|0;j=s+16|0;g=s+12|0;k=s+8|0;t=s+4|0;h=s;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[t>>2]=FJ(a[c[n>>2]>>0]|0)|0;c[r>>2]=yb[c[t>>2]&255](c[o>>2]|0,c[p>>2]|0)|0;c[j>>2]=c[r>>2]&(c[(c[n>>2]|0)+12>>2]|0)-1;c[g>>2]=GJ(c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[j>>2]|0)|0;if(c[g>>2]|0){c[h>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[q>>2]|0))YO(c[n>>2]|0,c[g>>2]|0,c[j>>2]|0);else c[(c[g>>2]|0)+8>>2]=c[q>>2];c[m>>2]=c[h>>2];t=c[m>>2]|0;l=s;return t|0}if(!(c[q>>2]|0)){c[m>>2]=0;t=c[m>>2]|0;l=s;return t|0}if(!((c[(c[n>>2]|0)+12>>2]|0)==0?(ZO(c[n>>2]|0,8)|0)!=0:0))i=10;do if((i|0)==10){if((c[(c[n>>2]|0)+4>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0)?ZO(c[n>>2]|0,c[(c[n>>2]|0)+12>>2]<<1)|0:0)break;c[k>>2]=_O(20)|0;if(!(c[k>>2]|0)){c[m>>2]=c[q>>2];t=c[m>>2]|0;l=s;return t|0}do if(c[o>>2]|0?(a[(c[n>>2]|0)+1>>0]|0)!=0:0){b=_O(c[p>>2]|0)|0;c[(c[k>>2]|0)+12>>2]=b;b=c[k>>2]|0;if(c[(c[k>>2]|0)+12>>2]|0){MR(c[b+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;break}oJ(b);c[m>>2]=c[q>>2];t=c[m>>2]|0;l=s;return t|0}else c[(c[k>>2]|0)+12>>2]=c[o>>2];while(0);c[(c[k>>2]|0)+16>>2]=c[p>>2];t=(c[n>>2]|0)+4|0;c[t>>2]=(c[t>>2]|0)+1;c[j>>2]=c[r>>2]&(c[(c[n>>2]|0)+12>>2]|0)-1;$O(c[n>>2]|0,(c[(c[n>>2]|0)+16>>2]|0)+(c[j>>2]<<3)|0,c[k>>2]|0);c[(c[k>>2]|0)+8>>2]=c[q>>2];c[m>>2]=0;t=c[m>>2]|0;l=s;return t|0}while(0);c[(c[n>>2]|0)+4>>2]=0;c[m>>2]=c[q>>2];t=c[m>>2]|0;l=s;return t|0}function kJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;j=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;c[e>>2]=a;c[j>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[j>>2];c[i>>2]=5;if(!(c[g>>2]|0))c[g>>2]=TI(c[e>>2]|0,c[f>>2]|0,1,5,c[h>>2]|0,228,0,0)|0;if(c[g>>2]|0){j=c[g>>2]|0;l=i;return j|0}c[g>>2]=TI(c[e>>2]|0,c[f>>2]|0,2,5,c[h>>2]|0,228,0,0)|0;j=c[g>>2]|0;l=i;return j|0}function lJ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];nJ(c[d>>2]|0);Kd(c[d>>2]|0);l=b;return}function mJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=FI(c[g>>2]|0,39546,6308,c[f>>2]|0)|0;l=e;return c[d>>2]|0}function nJ(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;oJ(c[(c[d>>2]|0)+16>>2]|0);c[(c[d>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+12>>2]=0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[c[e>>2]>>2];if(a[(c[d>>2]|0)+1>>0]|0?c[(c[e>>2]|0)+12>>2]|0:0)oJ(c[(c[e>>2]|0)+12>>2]|0);oJ(c[e>>2]|0);c[e>>2]=c[f>>2]}c[(c[d>>2]|0)+4>>2]=0;l=g;return}function oJ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);l=b;return}function pJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+64|0;t=w+56|0;x=w+52|0;u=w+48|0;v=w+44|0;h=w+40|0;i=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;s=w;c[x>>2]=a;c[u>>2]=b;c[v>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=0;c[m>>2]=0;c[n>>2]=0;c[p>>2]=0;c[o>>2]=II(c[x>>2]|0,39559)|0;if(c[o>>2]|0){c[t>>2]=c[o>>2];x=c[t>>2]|0;l=w;return x|0}c[q>>2]=(c[v>>2]|0)-3;c[o>>2]=AJ(c[q>>2]|0,(c[h>>2]|0)+12|0,p)|0;if(!(c[o>>2]|0)){if((c[q>>2]|0)<1)c[r>>2]=39462;else c[r>>2]=c[c[p>>2]>>2];c[o>>2]=BJ(c[u>>2]|0,c[r>>2]|0,m,c[j>>2]|0)|0}if(!(c[o>>2]|0)){c[s>>2]=(c[p>>2]|0)+4;c[o>>2]=ob[c[(c[m>>2]|0)+4>>2]&255]((c[q>>2]|0)>1?(c[q>>2]|0)-1|0:0,c[s>>2]|0,n)|0}if((c[o>>2]|0)==0?(c[k>>2]=Yd(20)|0,(c[k>>2]|0)==0):0)c[o>>2]=7;if(c[o>>2]|0){if(c[n>>2]|0)tb[c[(c[m>>2]|0)+8>>2]&255](c[n>>2]|0)|0}else{x=c[k>>2]|0;c[x>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0;c[x+12>>2]=0;c[x+16>>2]=0;c[(c[k>>2]|0)+12>>2]=c[m>>2];c[(c[k>>2]|0)+16>>2]=c[n>>2];c[c[i>>2]>>2]=c[k>>2]}Kd(c[p>>2]|0);c[t>>2]=c[o>>2];x=c[t>>2]|0;l=w;return x|0}function qJ(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+4|0;i=j;c[j+8>>2]=b;c[g>>2]=e;c[i>>2]=0;while(1){b=c[g>>2]|0;if((c[i>>2]|0)>=(c[c[g>>2]>>2]|0)){e=8;break}if((d[(c[b+4>>2]|0)+((c[i>>2]|0)*12|0)+5>>0]|0|0?(c[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)>>2]|0)==0:0)?(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)+4>>0]|0|0)==2:0){e=6;break}c[i>>2]=(c[i>>2]|0)+1}if((e|0)==6){c[(c[g>>2]|0)+20>>2]=1;c[(c[(c[g>>2]|0)+16>>2]|0)+(c[i>>2]<<3)>>2]=1;a[(c[(c[g>>2]|0)+16>>2]|0)+(c[i>>2]<<3)+4>>0]=1;h[(c[g>>2]|0)+40>>3]=1.0;c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}else if((e|0)==8){c[b+20>>2]=0;c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}return 0}function rJ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];tb[c[(c[(c[d>>2]|0)+12>>2]|0)+8>>2]&255](c[(c[d>>2]|0)+16>>2]|0)|0;Kd(c[d>>2]|0);l=b;return 0}function sJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Yd(36)|0;if(!(c[f>>2]|0)){c[d>>2]=7;f=c[d>>2]|0;l=g;return f|0}else{a=c[f>>2]|0;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}return 0}function tJ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];zJ(c[d>>2]|0);Kd(c[d>>2]|0);l=b;return 0}function uJ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;o=q+40|0;p=q+36|0;r=q+32|0;h=q+20|0;i=q+16|0;j=q+12|0;k=q+8|0;m=q+4|0;n=q;c[p>>2]=b;c[r>>2]=d;c[q+28>>2]=e;c[q+24>>2]=f;c[h>>2]=g;c[i>>2]=1;c[j>>2]=c[p>>2];c[k>>2]=c[c[p>>2]>>2];zJ(c[j>>2]|0);do if((c[r>>2]|0)==1){c[m>>2]=wh(c[c[h>>2]>>2]|0)|0;c[n>>2]=xh(c[c[h>>2]>>2]|0)|0;r=Yd((c[n>>2]|0)+1|0)|0;c[(c[j>>2]|0)+4>>2]=r;if(!(c[(c[j>>2]|0)+4>>2]|0)){c[i>>2]=7;break}MR(c[(c[j>>2]|0)+4>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;a[(c[(c[j>>2]|0)+4>>2]|0)+(c[n>>2]|0)>>0]=0;c[i>>2]=wb[c[(c[(c[k>>2]|0)+12>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[n>>2]|0,(c[j>>2]|0)+8|0)|0;if(!(c[i>>2]|0))c[c[(c[j>>2]|0)+8>>2]>>2]=c[(c[k>>2]|0)+16>>2]}while(0);if(c[i>>2]|0){c[o>>2]=c[i>>2];r=c[o>>2]|0;l=q;return r|0}else{c[o>>2]=vJ(c[p>>2]|0)|0;r=c[o>>2]|0;l=q;return r|0}return 0}function vJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;b=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[b>>2]=c[g>>2];c[f>>2]=c[c[g>>2]>>2];a=(c[b>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;c[d>>2]=sb[c[(c[(c[f>>2]|0)+12>>2]|0)+20>>2]&255](c[(c[b>>2]|0)+8>>2]|0,(c[b>>2]|0)+16|0,(c[b>>2]|0)+20|0,(c[b>>2]|0)+24|0,(c[b>>2]|0)+28|0,(c[b>>2]|0)+32|0)|0;if(!(c[d>>2]|0)){g=c[d>>2]|0;l=e;return g|0}zJ(c[b>>2]|0);if((c[d>>2]|0)!=101){g=c[d>>2]|0;l=e;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=e;return g|0}function wJ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return (c[(c[b>>2]|0)+16>>2]|0)==0|0}function xJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;e=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[i>>2];switch(c[h>>2]|0){case 0:{ci(c[e>>2]|0,c[(c[f>>2]|0)+4>>2]|0,-1,-1);l=g;return 0}case 1:{ci(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0,-1);l=g;return 0}case 2:{Ch(c[e>>2]|0,c[(c[f>>2]|0)+24>>2]|0);l=g;return 0}case 3:{Ch(c[e>>2]|0,c[(c[f>>2]|0)+28>>2]|0);l=g;return 0}default:{Ch(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0);l=g;return 0}}return 0}function yJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[g>>2];a=c[(c[f>>2]|0)+12>>2]|0;b=c[e>>2]|0;c[b>>2]=a;c[b+4>>2]=((a|0)<0)<<31>>31;l=d;return 0}function zJ(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0){c[d>>2]=c[c[b>>2]>>2];tb[c[(c[(c[d>>2]|0)+12>>2]|0)+16>>2]&255](c[(c[b>>2]|0)+8>>2]|0)|0;c[(c[b>>2]|0)+8>>2]=0}Kd(c[(c[b>>2]|0)+4>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[(c[b>>2]|0)+16>>2]=0;c[(c[b>>2]|0)+20>>2]=0;c[(c[b>>2]|0)+24>>2]=0;c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+12>>2]=0;l=e;return}function AJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;e=o+4|0;f=o;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=0;if(!(c[g>>2]|0)){c[c[i>>2]>>2]=0;n=c[j>>2]|0;l=o;return n|0}c[m>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;d=(lQ(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)+1|0;c[m>>2]=(c[m>>2]|0)+d;c[k>>2]=(c[k>>2]|0)+1}m=Yd((c[g>>2]<<2)+(c[m>>2]|0)|0)|0;c[n>>2]=m;c[c[i>>2]>>2]=m;if(!(c[n>>2]|0)){c[j>>2]=7;n=c[j>>2]|0;l=o;return n|0}c[e>>2]=(c[n>>2]|0)+(c[g>>2]<<2);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[g>>2]|0))break;c[f>>2]=lQ(c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0)|0;c[(c[n>>2]|0)+(c[k>>2]<<2)>>2]=c[e>>2];MR(c[e>>2]|0,c[(c[h>>2]|0)+(c[k>>2]<<2)>>2]|0,(c[f>>2]|0)+1|0)|0;MJ(c[e>>2]|0);c[e>>2]=(c[e>>2]|0)+((c[f>>2]|0)+1);c[k>>2]=(c[k>>2]|0)+1}n=c[j>>2]|0;l=o;return n|0}function BJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;k=m;f=m+28|0;o=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;n=m+4|0;c[o>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[n>>2]=lQ(c[g>>2]|0)|0;c[j>>2]=CJ(c[o>>2]|0,c[g>>2]|0,(c[n>>2]|0)+1|0)|0;if(c[j>>2]|0){c[c[h>>2]>>2]=c[j>>2];c[f>>2]=0;o=c[f>>2]|0;l=m;return o|0}else{o=c[i>>2]|0;c[k>>2]=c[g>>2];DJ(o,39610,k);c[f>>2]=1;o=c[f>>2]|0;l=m;return o|0}return 0}function CJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[e>>2]=EJ(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;if(!(c[e>>2]|0)){i=0;l=f;return i|0}i=c[(c[e>>2]|0)+8>>2]|0;l=f;return i|0}function DJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Kd(c[c[f>>2]>>2]|0);c[g>>2]=d;d=af(c[h>>2]|0,g)|0;c[c[f>>2]>>2]=d;l=e;return}function EJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[g>>2]|0?c[(c[g>>2]|0)+16>>2]|0:0){c[k>>2]=FJ(a[c[g>>2]>>0]|0)|0;c[j>>2]=yb[c[k>>2]&255](c[h>>2]|0,c[i>>2]|0)|0;c[f>>2]=GJ(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]&(c[(c[g>>2]|0)+12>>2]|0)-1)|0;k=c[f>>2]|0;l=m;return k|0}c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}function FJ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=199;else c[b>>2]=200;l=d;return c[b>>2]|0}function GJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;h=q+28|0;n=q+24|0;o=q+20|0;i=q+16|0;p=q+12|0;j=q+8|0;k=q+4|0;g=q;c[h>>2]=b;c[n>>2]=d;c[o>>2]=e;c[i>>2]=f;a:do if(c[(c[h>>2]|0)+16>>2]|0){c[g>>2]=(c[(c[h>>2]|0)+16>>2]|0)+(c[i>>2]<<3);c[p>>2]=c[(c[g>>2]|0)+4>>2];c[j>>2]=c[c[g>>2]>>2];c[k>>2]=HJ(a[c[h>>2]>>0]|0)|0;while(1){i=c[j>>2]|0;c[j>>2]=i+-1;if(!(i|0?(c[p>>2]|0)!=0:0))break a;i=(wb[c[k>>2]&255](c[(c[p>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0)|0)==0;b=c[p>>2]|0;if(i)break;c[p>>2]=c[b>>2]}c[m>>2]=b;p=c[m>>2]|0;l=q;return p|0}while(0);c[m>>2]=0;p=c[m>>2]|0;l=q;return p|0}function HJ(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+4|0;e=d;c[e>>2]=a;if((c[e>>2]|0)==1)c[b>>2]=142;else c[b>>2]=143;l=d;return c[b>>2]|0}function IJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;k=j;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=e;if((c[h>>2]|0)!=(c[k>>2]|0)){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}else{c[f>>2]=AQ(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}return 0}function JJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;g=j+12|0;h=j+8|0;i=j+4|0;k=j;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=e;if((c[h>>2]|0)!=(c[k>>2]|0)){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}else{c[f>>2]=wQ(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}return 0}function KJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=b;c[e>>2]=d;c[f>>2]=c[i>>2];c[g>>2]=0;if((c[e>>2]|0)<=0)c[e>>2]=lQ(c[f>>2]|0)|0;while(1){b=c[g>>2]|0;if((c[e>>2]|0)<=0)break;d=b<<3^c[g>>2];i=c[f>>2]|0;c[f>>2]=i+1;c[g>>2]=d^a[i>>0];c[e>>2]=(c[e>>2]|0)+-1}l=h;return b&2147483647|0}function LJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=b;c[e>>2]=d;c[f>>2]=0;c[g>>2]=c[i>>2];while(1){i=c[e>>2]|0;c[e>>2]=i+-1;b=c[f>>2]|0;if((i|0)<=0)break;d=b<<3^c[f>>2];i=c[g>>2]|0;c[g>>2]=i+1;c[f>>2]=d^a[i>>0]}l=h;return b&2147483647|0}function MJ(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+8|0;g=j+12|0;h=j+4|0;i=j;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((((a[g>>0]|0)!=91?(a[g>>0]|0)!=39:0)?(a[g>>0]|0)!=34:0)?(a[g>>0]|0)!=96:0){l=j;return}c[h>>2]=1;c[i>>2]=0;if((a[g>>0]|0)==91)a[g>>0]=93;while(1){if(!(a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0))break;b=c[f>>2]|0;d=c[h>>2]|0;e=d+1|0;if((a[(c[f>>2]|0)+(c[h>>2]|0)>>0]|0)!=(a[g>>0]|0)){c[h>>2]=e;b=a[b+d>>0]|0;d=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a[d+e>>0]=b;continue}if((a[b+e>>0]|0)!=(a[g>>0]|0))break;b=a[g>>0]|0;d=c[f>>2]|0;e=c[i>>2]|0;c[i>>2]=e+1;a[d+e>>0]=b;c[h>>2]=(c[h>>2]|0)+2}a[(c[f>>2]|0)+(c[i>>2]|0)>>0]=0;l=j;return}function NJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=HO(1,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function OJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;h=l;l=l+32|0;o=h+20|0;n=h+16|0;m=h+12|0;k=h+8|0;j=h+4|0;i=h;c[o>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[j>>2]=f;c[i>>2]=g;g=HO(0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return g|0}function PJ(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+64|0;m=u+48|0;v=u+44|0;n=u+40|0;o=u+36|0;p=u+32|0;q=u+28|0;r=u+24|0;s=u+20|0;f=u+16|0;g=u+12|0;i=u+8|0;j=u+4|0;k=u;c[v>>2]=b;c[n>>2]=e;c[o>>2]=c[v>>2];c[q>>2]=-1;c[r>>2]=-1;c[s>>2]=-1;c[f>>2]=-1;c[(c[n>>2]|0)+20>>2]=0;h[(c[n>>2]|0)+40>>3]=5.0e6;c[p>>2]=0;a:while(1){b=c[n>>2]|0;if((c[p>>2]|0)>=(c[c[n>>2]>>2]|0))break;c[j>>2]=(c[b+4>>2]|0)+((c[p>>2]|0)*12|0);b=c[j>>2]|0;b:do if(!(d[(c[j>>2]|0)+5>>0]|0)){if((d[b+4>>0]|0)==64){t=5;break a}}else{if((c[b>>2]|0)<0)b=1;else b=(c[c[j>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+1|0);c[i>>2]=b&1;if((c[q>>2]|0)<0?(c[i>>2]|0?(d[(c[j>>2]|0)+4>>0]|0)==2:0):0){c[(c[n>>2]|0)+20>>2]=1;h[(c[n>>2]|0)+40>>3]=1.0;c[q>>2]=c[p>>2]}if(((d[(c[j>>2]|0)+4>>0]|0)==64?(c[c[j>>2]>>2]|0)>=0:0)?(c[c[j>>2]>>2]|0)<=(c[(c[o>>2]|0)+24>>2]|0):0){c[(c[n>>2]|0)+20>>2]=2+(c[c[j>>2]>>2]|0);h[(c[n>>2]|0)+40>>3]=2.0;c[q>>2]=c[p>>2]}if((d[(c[j>>2]|0)+4>>0]|0)==2?(c[c[j>>2]>>2]|0)==((c[(c[o>>2]|0)+24>>2]|0)+2|0):0)c[r>>2]=c[p>>2];if(c[i>>2]|0){v=(d[(c[j>>2]|0)+4>>0]|0)-4|0;switch(v>>>2|v<<30|0){case 0:case 7:{c[s>>2]=c[p>>2];break b}case 3:case 1:{c[f>>2]=c[p>>2];break b}default:break b}}}while(0);c[p>>2]=(c[p>>2]|0)+1}if((t|0)==5){c[(c[n>>2]|0)+20>>2]=0;h[(c[n>>2]|0)+40>>3]=1.e+50;FO(c[n>>2]|0,0,262144);c[m>>2]=0;v=c[m>>2]|0;l=u;return v|0}if((c[b+20>>2]|0)==1)GO(c[n>>2]|0);c[g>>2]=1;if((c[q>>2]|0)>=0){v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[q>>2]<<3)>>2]=v;a[(c[(c[n>>2]|0)+16>>2]|0)+(c[q>>2]<<3)+4>>0]=1}if((c[r>>2]|0)>=0){v=(c[n>>2]|0)+20|0;c[v>>2]=c[v>>2]|65536;v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[r>>2]<<3)>>2]=v}if((c[s>>2]|0)>=0){v=(c[n>>2]|0)+20|0;c[v>>2]=c[v>>2]|131072;v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[s>>2]<<3)>>2]=v}if((c[f>>2]|0)>=0){v=(c[n>>2]|0)+20|0;c[v>>2]=c[v>>2]|262144;v=c[g>>2]|0;c[g>>2]=v+1;c[(c[(c[n>>2]|0)+16>>2]|0)+(c[f>>2]<<3)>>2]=v}do if((c[(c[n>>2]|0)+8>>2]|0)==1){c[k>>2]=c[(c[n>>2]|0)+12>>2];if((c[c[k>>2]>>2]|0)>=0?(c[c[k>>2]>>2]|0)!=((c[(c[o>>2]|0)+24>>2]|0)+1|0):0)break;c[(c[n>>2]|0)+24>>2]=a[(c[k>>2]|0)+4>>0]|0?42639:42644;c[(c[n>>2]|0)+32>>2]=1}while(0);c[m>>2]=0;v=c[m>>2]|0;l=u;return v|0}function QJ(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=40)break;Qq(c[a+56+(c[d>>2]<<2)>>2]|0)|0;c[d>>2]=(c[d>>2]|0)+1}Kd(c[a+240>>2]|0);Kd(c[(c[b>>2]|0)+216>>2]|0);Kd(c[(c[b>>2]|0)+220>>2]|0);Kd(c[(c[b>>2]|0)+40>>2]|0);Kd(c[(c[b>>2]|0)+44>>2]|0);tb[c[(c[c[(c[b>>2]|0)+36>>2]>>2]|0)+8>>2]&255](c[(c[b>>2]|0)+36>>2]|0)|0;Kd(c[b>>2]|0);l=e;return 0}function RJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+64|0;j=n+32|0;i=n+24|0;m=n+16|0;k=n+8|0;h=n;b=n+56|0;d=n+52|0;e=n+48|0;f=n+44|0;g=n+40|0;c[b>>2]=a;c[d>>2]=c[b>>2];c[e>>2]=0;c[f>>2]=c[(c[d>>2]|0)+16>>2];c[g>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){a=c[g>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=o;lK(e,a,42839,h)}o=c[g>>2]|0;h=c[(c[d>>2]|0)+20>>2]|0;c[k>>2]=c[f>>2];c[k+4>>2]=h;lK(e,o,42876,k);o=c[g>>2]|0;k=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[f>>2];c[m+4>>2]=k;lK(e,o,42914,m);o=c[g>>2]|0;m=c[(c[d>>2]|0)+20>>2]|0;c[i>>2]=c[f>>2];c[i+4>>2]=m;lK(e,o,42950,i);o=c[g>>2]|0;m=c[(c[d>>2]|0)+20>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=m;lK(e,o,42987,j);if(!(c[e>>2]|0)){o=QJ(c[b>>2]|0)|0;l=n;return o|0}else{o=c[e>>2]|0;l=n;return o|0}return 0}function SJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;e=f+12|0;g=f+4|0;d=f;c[f+8>>2]=a;c[g>>2]=b;b=Yd(96)|0;c[d>>2]=b;c[c[g>>2]>>2]=b;if(c[d>>2]|0){a=c[d>>2]|0;b=a+96|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;g=c[e>>2]|0;l=f;return g|0}else{c[e>>2]=7;g=c[e>>2]|0;l=f;return g|0}return 0}function TJ(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Qq(c[(c[d>>2]|0)+8>>2]|0)|0;cO(c[(c[d>>2]|0)+12>>2]|0);EO(c[d>>2]|0);Kd(c[(c[d>>2]|0)+44>>2]|0);xL(c[(c[d>>2]|0)+92>>2]|0);Kd(c[d>>2]|0);l=b;return 0}function UJ(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+112|0;D=E+32|0;C=E;A=E+108|0;B=E+104|0;m=E+100|0;n=E+96|0;j=E+88|0;t=E+84|0;u=E+80|0;o=E+76|0;v=E+72|0;w=E+68|0;p=E+64|0;q=E+60|0;x=E+56|0;y=E+52|0;k=E+48|0;r=E+44|0;s=E+40|0;c[B>>2]=e;c[m>>2]=f;c[n>>2]=g;c[E+92>>2]=h;c[j>>2]=i;c[t>>2]=0;c[v>>2]=c[c[B>>2]>>2];c[w>>2]=c[B>>2];c[p>>2]=0;c[q>>2]=0;c[x>>2]=0;c[y>>2]=0;c[o>>2]=c[m>>2]&65535;c[k>>2]=0;if(c[o>>2]|0){h=c[j>>2]|0;i=c[k>>2]|0;c[k>>2]=i+1;c[p>>2]=c[h+(i<<2)>>2]}if(c[m>>2]&65536|0){h=c[j>>2]|0;i=c[k>>2]|0;c[k>>2]=i+1;c[q>>2]=c[h+(i<<2)>>2]}if(c[m>>2]&131072|0){h=c[j>>2]|0;i=c[k>>2]|0;c[k>>2]=i+1;c[x>>2]=c[h+(i<<2)>>2]}if(c[m>>2]&262144|0){i=c[j>>2]|0;m=c[k>>2]|0;c[k>>2]=m+1;c[y>>2]=c[i+(m<<2)>>2]}Qq(c[(c[w>>2]|0)+8>>2]|0)|0;Kd(c[(c[w>>2]|0)+44>>2]|0);xL(c[(c[w>>2]|0)+92>>2]|0);cO(c[(c[w>>2]|0)+12>>2]|0);e=(c[B>>2]|0)+4|0;f=e+92|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));m=dO(c[x>>2]|0,0,-2147483648)|0;i=(c[w>>2]|0)+72|0;c[i>>2]=m;c[i+4>>2]=z;i=dO(c[y>>2]|0,-1,2147483647)|0;m=(c[w>>2]|0)+80|0;c[m>>2]=i;c[m+4>>2]=z;if(c[n>>2]|0){e=(a[c[n>>2]>>0]|0)==68&255;f=c[w>>2]|0}else{e=a[(c[v>>2]|0)+231>>0]|0;f=c[w>>2]|0}a[f+52>>0]=e;b[(c[w>>2]|0)+4>>1]=c[o>>2];do if((c[o>>2]|0)!=1&(c[o>>2]|0)!=0){c[r>>2]=(c[o>>2]|0)-2;c[s>>2]=wh(c[p>>2]|0)|0;if((c[s>>2]|0)==0?(fi(c[p>>2]|0)|0)!=5:0){c[A>>2]=7;D=c[A>>2]|0;l=E;return D|0}c[(c[w>>2]|0)+16>>2]=0;if(c[q>>2]|0){q=vi(c[q>>2]|0)|0;c[(c[w>>2]|0)+16>>2]=q}c[t>>2]=eO(c[(c[v>>2]|0)+36>>2]|0,c[(c[w>>2]|0)+16>>2]|0,c[(c[v>>2]|0)+28>>2]|0,d[(c[v>>2]|0)+228>>0]|0,c[(c[v>>2]|0)+24>>2]|0,c[r>>2]|0,c[s>>2]|0,-1,(c[w>>2]|0)+12|0,(c[v>>2]|0)+8|0)|0;if(c[t>>2]|0){c[A>>2]=c[t>>2];D=c[A>>2]|0;l=E;return D|0}c[t>>2]=fO(c[w>>2]|0)|0;wL(c[v>>2]|0);if(!(c[t>>2]|0)){c[(c[w>>2]|0)+40>>2]=c[(c[w>>2]|0)+44>>2];s=(c[w>>2]|0)+32|0;c[s>>2]=0;c[s+4>>2]=0;break}c[A>>2]=c[t>>2];D=c[A>>2]|0;l=E;return D|0}while(0);do if(!(c[o>>2]|0)){e=c[(c[v>>2]|0)+216>>2]|0;f=c[w>>2]|0;if((c[x>>2]|0)!=0|(c[y>>2]|0)!=0){r=f+72|0;q=c[r>>2]|0;r=c[r+4>>2]|0;x=(c[w>>2]|0)+80|0;s=c[x>>2]|0;x=c[x+4>>2]|0;D=d[(c[w>>2]|0)+52>>0]|0?42639:42644;c[C>>2]=e;y=C+8|0;c[y>>2]=q;c[y+4>>2]=r;y=C+16|0;c[y>>2]=s;c[y+4>>2]=x;c[C+24>>2]=D;c[u>>2]=Ue(42648,C)|0}else{C=d[f+52>>0]|0?42639:42644;c[D>>2]=e;c[D+4>>2]=C;c[u>>2]=Ue(42710,D)|0}if(c[u>>2]|0){c[t>>2]=Fu(c[(c[v>>2]|0)+12>>2]|0,c[u>>2]|0,-1,(c[w>>2]|0)+8|0,0)|0;Kd(c[u>>2]|0);break}else{c[t>>2]=7;break}}else if((c[o>>2]|0)==1?(c[t>>2]=CM(c[w>>2]|0,(c[w>>2]|0)+8|0)|0,(c[t>>2]|0)==0):0)c[t>>2]=sI(c[(c[w>>2]|0)+8>>2]|0,1,c[p>>2]|0)|0;while(0);if(c[t>>2]|0){c[A>>2]=c[t>>2];D=c[A>>2]|0;l=E;return D|0}else{c[A>>2]=VJ(c[B>>2]|0)|0;D=c[A>>2]|0;l=E;return D|0}return 0}function VJ(d){d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=d;c[g>>2]=c[e>>2];if((b[(c[g>>2]|0)+4>>1]|0)!=1?b[(c[g>>2]|0)+4>>1]|0:0){c[f>>2]=bO(c[e>>2]|0)|0;g=c[f>>2]|0;l=h;return g|0}e=100!=(Hr(c[(c[g>>2]|0)+8>>2]|0)|0);d=c[g>>2]|0;if(e){a[d+6>>0]=1;c[f>>2]=Er(c[(c[g>>2]|0)+8>>2]|0)|0;g=c[f>>2]|0;l=h;return g|0}else{e=iI(c[d+8>>2]|0,0)|0;g=(c[g>>2]|0)+32|0;c[g>>2]=e;c[g+4>>2]=z;c[f>>2]=0;g=c[f>>2]|0;l=h;return g|0}return 0}function WJ(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+6>>0]|0|0}function XJ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;c[h>>2]=c[m>>2];c[i>>2]=c[c[m>>2]>>2];if((c[f>>2]|0)==((c[(c[i>>2]|0)+24>>2]|0)+1|0)){m=(c[h>>2]|0)+32|0;gi(c[e>>2]|0,c[m>>2]|0,c[m+4>>2]|0);m=c[g>>2]|0;l=k;return m|0}if((c[f>>2]|0)==(c[(c[i>>2]|0)+24>>2]|0)){Ti(c[e>>2]|0,h,4,-1);m=c[g>>2]|0;l=k;return m|0}if((c[f>>2]|0)==((c[(c[i>>2]|0)+24>>2]|0)+2|0)?c[(c[h>>2]|0)+12>>2]|0:0){m=c[(c[h>>2]|0)+16>>2]|0;gi(c[e>>2]|0,m,((m|0)<0)<<31>>31);m=c[g>>2]|0;l=k;return m|0}c[g>>2]=qM(0,c[h>>2]|0)|0;if(c[g>>2]|0){m=c[g>>2]|0;l=k;return m|0}if((c[f>>2]|0)==((c[(c[i>>2]|0)+24>>2]|0)+2|0)){c[j>>2]=0;if(c[(c[i>>2]|0)+44>>2]|0)c[j>>2]=hI(c[(c[h>>2]|0)+8>>2]|0,(c[(c[i>>2]|0)+24>>2]|0)+1|0)|0;Ch(c[e>>2]|0,c[j>>2]|0);m=c[g>>2]|0;l=k;return m|0}else{m=dI(c[(c[h>>2]|0)+8>>2]|0)|0;if((m|0)<=((c[f>>2]|0)+1|0)){m=c[g>>2]|0;l=k;return m|0}m=c[e>>2]|0;Ei(m,jI(c[(c[h>>2]|0)+8>>2]|0,(c[f>>2]|0)+1|0)|0);m=c[g>>2]|0;l=k;return m|0}return 0}function YJ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+32|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function ZJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=CN(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function _J(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];c[(c[d>>2]|0)+52>>2]=0;a=jK(c[d>>2]|0)|0;l=b;return a|0}function $J(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;h=g+20|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[g+16>>2]=64;c[b>>2]=c[h>>2];c[d>>2]=kK(c[b>>2]|0)|0;if(((((c[d>>2]|0)==0?(c[(c[b>>2]|0)+52>>2]|0)>>>0>4:0)?c[(c[b>>2]|0)+48>>2]|0:0)?(c[(c[b>>2]|0)+48>>2]|0)!=255:0)?(c[e>>2]=0,c[d>>2]=bN(c[b>>2]|0,e)|0,c[f>>2]=O(c[(c[b>>2]|0)+52>>2]|0,c[e>>2]|0)|0,c[f>>2]=(c[f>>2]|0)+((c[f>>2]|0)/2|0),(c[f>>2]|0)>64):0)c[d>>2]=cN(c[b>>2]|0,c[f>>2]|0,c[(c[b>>2]|0)+48>>2]|0)|0;wL(c[b>>2]|0);l=g;return c[d>>2]|0}function aK(a){a=a|0;var b=0;b=l;l=l+16|0;c[b>>2]=a;l=b;return 0}function bK(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];hK(c[d>>2]|0);l=b;return 0}function cK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+64|0;j=m+60|0;h=m+48|0;k=m+44|0;i=m+8|0;g=m;c[m+56>>2]=a;c[m+52>>2]=b;c[h>>2]=d;c[k>>2]=e;c[m+40>>2]=f;c[i>>2]=c[1640];c[i+4>>2]=c[1641];c[i+8>>2]=c[1642];c[i+12>>2]=c[1643];c[i+16>>2]=c[1644];c[i+20>>2]=c[1645];c[i+24>>2]=c[1646];c[i+28>>2]=c[1647];c[g>>2]=0;while(1){if((c[g>>2]|0)>=4){a=6;break}f=(vQ(c[h>>2]|0,c[i+(c[g>>2]<<3)>>2]|0)|0)==0;b=c[g>>2]|0;if(f){a=4;break}c[g>>2]=b+1}if((a|0)==4){c[c[k>>2]>>2]=c[i+(b<<3)+4>>2];c[j>>2]=1;k=c[j>>2]|0;l=m;return k|0}else if((a|0)==6){c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}return 0}function dK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+96|0;k=o+64|0;j=o+48|0;n=o+32|0;m=o+16|0;i=o;p=o+92|0;e=o+88|0;f=o+84|0;g=o+80|0;h=o+76|0;c[p>>2]=b;c[e>>2]=d;c[f>>2]=c[p>>2];c[g>>2]=c[(c[f>>2]|0)+12>>2];c[h>>2]=jK(c[f>>2]|0)|0;if(!(c[h>>2]|0))c[h>>2]=kK(c[f>>2]|0)|0;if(!(c[(c[f>>2]|0)+40>>2]|0)){p=c[g>>2]|0;b=c[(c[f>>2]|0)+20>>2]|0;d=c[e>>2]|0;c[i>>2]=c[(c[f>>2]|0)+16>>2];c[i+4>>2]=b;c[i+8>>2]=d;lK(h,p,39632,i)}if(a[(c[f>>2]|0)+230>>0]|0){p=c[g>>2]|0;d=c[(c[f>>2]|0)+20>>2]|0;i=c[e>>2]|0;c[m>>2]=c[(c[f>>2]|0)+16>>2];c[m+4>>2]=d;c[m+8>>2]=i;lK(h,p,39685,m)}if(a[(c[f>>2]|0)+229>>0]|0){p=c[g>>2]|0;i=c[(c[f>>2]|0)+20>>2]|0;m=c[e>>2]|0;c[n>>2]=c[(c[f>>2]|0)+16>>2];c[n+4>>2]=i;c[n+8>>2]=m;lK(h,p,39738,n)}p=c[g>>2]|0;n=c[(c[f>>2]|0)+20>>2]|0;m=c[e>>2]|0;c[j>>2]=c[(c[f>>2]|0)+16>>2];c[j+4>>2]=n;c[j+8>>2]=m;lK(h,p,39785,j);p=c[g>>2]|0;m=c[(c[f>>2]|0)+20>>2]|0;n=c[e>>2]|0;c[k>>2]=c[(c[f>>2]|0)+16>>2];c[k+4>>2]=m;c[k+8>>2]=n;lK(h,p,39839,k);l=o;return c[h>>2]|0}function eK(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;c[g+4>>2]=b;c[f>>2]=0;if(d[(c[e>>2]|0)+232>>0]|0|0){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=$J(c[e>>2]|0)|0;f=c[f>>2]|0;l=g;return f|0}function fK(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function gK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;e=d;c[f>>2]=a;c[d+4>>2]=b;c[e>>2]=c[f>>2];hK(c[e>>2]|0);l=d;return 0}function hK(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+248>>2]|0))break;c[f>>2]=(c[a+252>>2]|0)+((c[d>>2]|0)*24|0)+4;c[e>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+8>>2];iK(c[g>>2]|0);c[e>>2]=c[c[e>>2]>>2]}nJ(c[f>>2]|0);c[d>>2]=(c[d>>2]|0)+1}c[a+260>>2]=0;l=h;return}function iK(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);l=b;return}function jK(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;c[e>>2]=b;c[f>>2]=0;if((d[(c[e>>2]|0)+229>>0]|0|0)!=2){k=c[f>>2]|0;l=m;return k|0}c[g>>2]=42196;g=c[g>>2]|0;b=c[(c[e>>2]|0)+20>>2]|0;c[k>>2]=c[(c[e>>2]|0)+16>>2];c[k+4>>2]=b;c[h>>2]=Ue(g,k)|0;if(!(c[h>>2]|0)){c[f>>2]=7;k=c[f>>2]|0;l=m;return k|0}c[i>>2]=0;c[f>>2]=Fu(c[(c[e>>2]|0)+12>>2]|0,c[h>>2]|0,-1,i,0)|0;if((c[f>>2]|0)==0?(c[j>>2]=(Hr(c[i>>2]|0)|0)==100&1,c[f>>2]=Qq(c[i>>2]|0)|0,(c[f>>2]|0)==0):0)a[(c[e>>2]|0)+229>>0]=c[j>>2];Kd(c[h>>2]|0);k=c[f>>2]|0;l=m;return k|0}function kK(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=0;c[g>>2]=0;while(1){if(!(c[f>>2]|0))b=(c[g>>2]|0)<(c[(c[e>>2]|0)+248>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;b=mK(a,c[(c[e>>2]|0)+272>>2]|0,c[g>>2]|0,-1)|0;c[f>>2]=b;c[f>>2]=(c[f>>2]|0)==101?0:b;c[g>>2]=(c[g>>2]|0)+1}hK(a);if(c[f>>2]|0){h=c[f>>2]|0;l=i;return h|0}if(!(d[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;l=i;return h|0}if((c[(c[e>>2]|0)+48>>2]|0)!=255){h=c[f>>2]|0;l=i;return h|0}if((c[(c[e>>2]|0)+52>>2]|0)>>>0<=0){h=c[f>>2]|0;l=i;return h|0}c[h>>2]=0;c[f>>2]=nK(c[e>>2]|0,22,h,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;l=i;return h|0}oI(c[h>>2]|0,1,2)|0;c[f>>2]=Hr(c[h>>2]|0)|0;if((c[f>>2]|0)==100){g=hI(c[h>>2]|0,0)|0;c[(c[e>>2]|0)+48>>2]=g;if((c[(c[e>>2]|0)+48>>2]|0)==1)c[(c[e>>2]|0)+48>>2]=8}else if((c[f>>2]|0)==101)c[(c[e>>2]|0)+48>>2]=0;c[f>>2]=Er(c[h>>2]|0)|0;h=c[f>>2]|0;l=i;return h|0}function lK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;f=k+32|0;g=k+28|0;h=k+24|0;i=k+8|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){l=k;return}c[i>>2]=e;c[j>>2]=af(c[h>>2]|0,i)|0;if(!(c[j>>2]|0)){c[c[f>>2]>>2]=7;l=k;return}else{e=wu(c[g>>2]|0,c[j>>2]|0,0,0,0)|0;c[c[f>>2]>>2]=e;Kd(c[j>>2]|0);l=k;return}}function mK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+128|0;m=s+120|0;n=s+116|0;o=s+112|0;p=s+108|0;q=s+104|0;r=s+100|0;f=s+8|0;g=s+96|0;h=s+80|0;i=s+24|0;j=s+16|0;k=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[r>>2]=0;e=f;c[e>>2]=0;c[e+4>>2]=0;c[g>>2]=0;c[j>>2]=0;e=k;c[e>>2]=0;c[e+4>>2]=0;c[q>>2]=oK(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,0,0,1,0,i)|0;do if((c[q>>2]|0)==0?c[i+4>>2]|0:0){if((c[p>>2]|0)!=-1?(c[q>>2]=pK(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,k)|0,c[q>>2]|0):0)break;if((c[p>>2]|0)==-2){if((c[i+4>>2]|0)==1?0==((c[(c[c[i>>2]>>2]|0)+56>>2]|0)!=0|0):0){c[q>>2]=101;break}b=k;d=c[b+4>>2]|0;e=f;c[e>>2]=c[b>>2];c[e+4>>2]=d;c[j>>2]=1}else{d=qK(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0)|0;e=f;c[e>>2]=d;c[e+4>>2]=z;c[q>>2]=rK(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0,r)|0;if((c[p>>2]|0)!=-1){e=f;b=c[e+4>>2]|0;a=k;d=c[a+4>>2]|0;a=(b|0)>(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0>(c[a>>2]|0)>>>0:0)}else a=0;c[j>>2]=a&1}if(!(c[q>>2]|0)){c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+12>>2]=1;e=h+12|0;c[e>>2]=c[e>>2]|(c[j>>2]|0?2:0);c[q>>2]=sK(c[m>>2]|0,i,h)|0;while(1){if(c[q>>2]|0)break;c[q>>2]=tK(c[m>>2]|0,i)|0;if((c[q>>2]|0)!=100)break;c[q>>2]=uK(c[m>>2]|0,g,1,c[i+40>>2]|0,c[i+44>>2]|0,c[i+48>>2]|0,c[i+52>>2]|0)|0}if(!(c[q>>2]|0)){if((c[p>>2]|0)!=-1){c[q>>2]=vK(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;if(!((c[q>>2]|0)==0&(c[g>>2]|0)!=0))break}else if(!(c[g>>2]|0))break;o=f;c[q>>2]=wK(c[m>>2]|0,c[g>>2]|0,c[o>>2]|0,c[o+4>>2]|0,c[r>>2]|0)|0;if(!(c[q>>2]|0)){if((c[p>>2]|0)!=-1?(p=f,n=c[p+4>>2]|0,r=k,o=c[r+4>>2]|0,!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[r>>2]|0)>>>0:0))):0)break;p=f;r=(c[g>>2]|0)+56|0;c[q>>2]=xK(c[m>>2]|0,c[p>>2]|0,c[p+4>>2]|0,c[r>>2]|0,c[r+4>>2]|0)|0}}}}while(0);yK(c[g>>2]|0);zK(i);l=s;return c[q>>2]|0}function nK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+240|0;p=t+24|0;o=t+16|0;g=t;k=t+228|0;m=t+224|0;r=t+220|0;n=t+216|0;f=t+56|0;s=t+48|0;q=t+44|0;h=t+40|0;i=t+36|0;j=t+32|0;c[k>>2]=a;c[m>>2]=b;c[r>>2]=d;c[n>>2]=e;MR(f|0,6400,160)|0;c[s>>2]=0;c[q>>2]=c[(c[k>>2]|0)+56+(c[m>>2]<<2)>>2];do if(!(c[q>>2]|0)){d=c[m>>2]|0;do if((c[m>>2]|0)!=18){a=c[f+(c[m>>2]<<2)>>2]|0;b=c[k>>2]|0;if((d|0)==7){c[o>>2]=c[b+216>>2];c[h>>2]=Ue(a,o)|0;break}else{o=c[(c[k>>2]|0)+20>>2]|0;c[p>>2]=c[b+16>>2];c[p+4>>2]=o;c[h>>2]=Ue(a,p)|0;break}}else{p=c[f+(d<<2)>>2]|0;f=c[(c[k>>2]|0)+20>>2]|0;o=c[(c[k>>2]|0)+220>>2]|0;c[g>>2]=c[(c[k>>2]|0)+16>>2];c[g+4>>2]=f;c[g+8>>2]=o;c[h>>2]=Ue(p,g)|0}while(0);if(c[h>>2]|0){c[s>>2]=Fu(c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0,-1,q,0)|0;Kd(c[h>>2]|0);c[(c[k>>2]|0)+56+(c[m>>2]<<2)>>2]=c[q>>2];break}else{c[s>>2]=7;break}}while(0);if(!(c[n>>2]|0)){q=c[q>>2]|0;r=c[r>>2]|0;c[r>>2]=q;s=c[s>>2]|0;l=t;return s|0}c[j>>2]=uI(c[q>>2]|0)|0;c[i>>2]=0;while(1){if(c[s>>2]|0){a=15;break}if((c[i>>2]|0)>=(c[j>>2]|0)){a=15;break}c[s>>2]=sI(c[q>>2]|0,(c[i>>2]|0)+1|0,c[(c[n>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+1}if((a|0)==15){q=c[q>>2]|0;r=c[r>>2]|0;c[r>>2]=q;s=c[s>>2]|0;l=t;return s|0}return 0}function oK(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;t=u+32|0;k=u+28|0;m=u+24|0;n=u+20|0;o=u+16|0;p=u+12|0;q=u+8|0;r=u+4|0;s=u;c[t>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;a=c[s>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));t=hL(c[t>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;l=u;return t|0}function pK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;f=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[f>>2]=nK(c[h>>2]|0,15,m,0)|0;if(c[f>>2]|0){c[g>>2]=c[f>>2];m=c[g>>2]|0;l=n;return m|0}d=c[m>>2]|0;e=qK(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,0)|0;pI(d,1,e,z)|0;e=c[m>>2]|0;j=qK(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,1023)|0;pI(e,2,j,z)|0;if(100==(Hr(c[m>>2]|0)|0)){j=iI(c[m>>2]|0,0)|0;k=c[k>>2]|0;c[k>>2]=j;c[k+4>>2]=z}c[g>>2]=Er(c[m>>2]|0)|0;m=c[g>>2]|0;l=n;return m|0}function qK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;j=f+20|0;k=f+16|0;i=f+12|0;g=f+8|0;h=f;c[j>>2]=a;c[k>>2]=b;c[i>>2]=d;c[g>>2]=e;e=c[k>>2]|0;d=c[(c[j>>2]|0)+248>>2]|0;d=RR(e|0,((e|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;e=c[i>>2]|0;e=IR(d|0,z|0,e|0,((e|0)<0)<<31>>31|0)|0;e=RR(e|0,z|0,1024,0)|0;d=h;c[d>>2]=e;c[d+4>>2]=z;d=h;e=c[g>>2]|0;e=IR(c[d>>2]|0,c[d+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;l=f;return e|0}function rK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;g=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[i>>2]=0;c[g>>2]=nK(c[j>>2]|0,8,h,0)|0;if(!(c[g>>2]|0)){e=c[h>>2]|0;f=qK(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;pI(e,1,f,z)|0;if(100==(Hr(c[h>>2]|0)|0))c[i>>2]=hI(c[h>>2]|0,0)|0;c[g>>2]=Er(c[h>>2]|0)|0}if(c[g>>2]|0){o=c[g>>2]|0;l=p;return o|0}if((c[i>>2]|0)>=16){c[g>>2]=mK(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;c[c[o>>2]>>2]=0;o=c[g>>2]|0;l=p;return o|0}else{c[c[o>>2]>>2]=c[i>>2];o=c[g>>2]|0;l=p;return o|0}return 0}function sK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;c[(c[g>>2]|0)+12>>2]=c[f>>2];d=fL(c[h>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+4>>2]|0)|0;l=e;return d|0}function tK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;K=l;l=l+128|0;q=K+120|0;C=K+116|0;D=K+112|0;E=K+108|0;F=K+104|0;G=K+100|0;H=K+96|0;I=K+92|0;f=K+88|0;g=K+84|0;h=K+80|0;i=K+76|0;j=K+72|0;k=K+68|0;m=K+64|0;n=K+60|0;o=K+56|0;p=K+52|0;r=K+16|0;s=K+48|0;t=K+44|0;u=K+40|0;v=K+36|0;w=K+8|0;x=K;y=K+32|0;A=K+28|0;B=K+24|0;c[C>>2]=b;c[D>>2]=e;c[E>>2]=0;c[F>>2]=c[(c[(c[D>>2]|0)+12>>2]|0)+12>>2]&2;c[G>>2]=c[(c[(c[D>>2]|0)+12>>2]|0)+12>>2]&1;c[H>>2]=c[(c[(c[D>>2]|0)+12>>2]|0)+12>>2]&4;c[I>>2]=c[(c[(c[D>>2]|0)+12>>2]|0)+12>>2]&8;c[f>>2]=c[(c[(c[D>>2]|0)+12>>2]|0)+12>>2]&16;c[g>>2]=c[(c[(c[D>>2]|0)+12>>2]|0)+12>>2]&32;c[h>>2]=c[c[D>>2]>>2];c[i>>2]=c[(c[D>>2]|0)+4>>2];c[j>>2]=c[(c[D>>2]|0)+12>>2];c[k>>2]=d[(c[C>>2]|0)+231>>0]|0?201:202;if(!(c[(c[D>>2]|0)+4>>2]|0)){c[q>>2]=0;J=c[q>>2]|0;l=K;return J|0}a:while(1){c[n>>2]=0;while(1){b=c[h>>2]|0;if((c[n>>2]|0)>=(c[(c[D>>2]|0)+8>>2]|0))break;c[o>>2]=c[b+(c[n>>2]<<2)>>2];if(a[(c[o>>2]|0)+4>>0]|0)OK(c[o>>2]|0);else c[E>>2]=PK(c[C>>2]|0,c[o>>2]|0,0)|0;if(c[E>>2]|0){J=9;break a}c[n>>2]=(c[n>>2]|0)+1}RK(b,c[i>>2]|0,c[(c[D>>2]|0)+8>>2]|0,203);c[(c[D>>2]|0)+8>>2]=0;if(!(c[(c[c[h>>2]>>2]|0)+40>>2]|0)){J=61;break}c[(c[D>>2]|0)+44>>2]=c[(c[c[h>>2]>>2]|0)+60>>2];c[(c[D>>2]|0)+40>>2]=c[(c[c[h>>2]>>2]|0)+64>>2];if(!(c[f>>2]|0?1:(c[c[j>>2]>>2]|0)==0)){if((c[(c[D>>2]|0)+44>>2]|0)<(c[(c[j>>2]|0)+4>>2]|0)){J=61;break}if((c[I>>2]|0)==0?(c[(c[D>>2]|0)+44>>2]|0)>(c[(c[j>>2]|0)+4>>2]|0):0){J=61;break}if(wQ(c[(c[D>>2]|0)+40>>2]|0,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0){J=61;break}}c[m>>2]=1;while(1){if(((c[m>>2]|0)<(c[i>>2]|0)?c[(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0)+40>>2]|0:0)?(c[(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0)+60>>2]|0)==(c[(c[D>>2]|0)+44>>2]|0):0)e=0==(wQ(c[(c[D>>2]|0)+40>>2]|0,c[(c[(c[h>>2]|0)+(c[m>>2]<<2)>>2]|0)+64>>2]|0,c[(c[D>>2]|0)+44>>2]|0)|0);else e=0;b=c[m>>2]|0;if(!e)break;c[m>>2]=b+1}do if(!((b|0)!=1|(c[F>>2]|0)!=0|(c[g>>2]|0)!=0)){if(d[(c[C>>2]|0)+231>>0]|0?(c[(c[c[h>>2]>>2]|0)+56>>2]|0)!=0|0:0){J=32;break}c[(c[D>>2]|0)+52>>2]=c[(c[c[h>>2]>>2]|0)+76>>2];if(c[(c[c[h>>2]>>2]|0)+56>>2]|0){c[E>>2]=SK(c[D>>2]|0,c[(c[c[h>>2]>>2]|0)+72>>2]|0,c[(c[D>>2]|0)+52>>2]|0)|0;b=c[(c[D>>2]|0)+16>>2]|0;e=c[D>>2]|0}else{b=c[(c[c[h>>2]>>2]|0)+72>>2]|0;e=c[D>>2]|0}c[e+48>>2]=b;if(!(c[E>>2]|0))c[E>>2]=100}else J=32;while(0);if((J|0)==32){J=0;c[p>>2]=0;e=r;c[e>>2]=0;c[e+4>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;TK(c[C>>2]|0,c[(c[h>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}RK(c[h>>2]|0,c[m>>2]|0,c[m>>2]|0,c[k>>2]|0);while(1){if(!(c[(c[c[h>>2]>>2]|0)+80>>2]|0))break;c[t>>2]=0;c[u>>2]=0;L=(c[c[h>>2]>>2]|0)+88|0;b=c[L+4>>2]|0;e=w;c[e>>2]=c[L>>2];c[e+4>>2]=b;UK(c[C>>2]|0,c[c[h>>2]>>2]|0,t,u)|0;c[s>>2]=1;while(1){if((c[s>>2]|0)>=(c[m>>2]|0))break;if(!(c[(c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0)+80>>2]|0))break;e=(c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0)+88|0;L=w;if(!((c[e>>2]|0)==(c[L>>2]|0)?(c[e+4>>2]|0)==(c[L+4>>2]|0):0))break;UK(c[C>>2]|0,c[(c[h>>2]|0)+(c[s>>2]<<2)>>2]|0,0,0)|0;c[s>>2]=(c[s>>2]|0)+1}if(c[H>>2]|0)VK(c[(c[j>>2]|0)+8>>2]|0,0,t,u);do if((c[F>>2]|0)==0|(c[u>>2]|0)>0){if((c[p>>2]|0)>0?(d[(c[C>>2]|0)+231>>0]|0)!=0:0){L=r;e=w;e=FR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=x;c[L>>2]=e;c[L+4>>2]=z}else{L=w;e=r;e=FR(c[L>>2]|0,c[L+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;L=x;c[L>>2]=e;c[L+4>>2]=z}L=x;L=HK(c[L>>2]|0,c[L+4>>2]|0)|0;c[v>>2]=L+(c[G>>2]|0?(c[u>>2]|0)+1|0:0);if(((c[p>>2]|0)+(c[v>>2]|0)|0)>(c[(c[D>>2]|0)+20>>2]|0)){c[(c[D>>2]|0)+20>>2]=(c[p>>2]|0)+(c[v>>2]|0)<<1;c[y>>2]=Df(c[(c[D>>2]|0)+16>>2]|0,c[(c[D>>2]|0)+20>>2]|0)|0;if(!(c[y>>2]|0)){J=50;break a}c[(c[D>>2]|0)+16>>2]=c[y>>2]}b=(c[(c[D>>2]|0)+16>>2]|0)+(c[p>>2]|0)|0;if(c[g>>2]|0){c[A>>2]=b;L=x;c[B>>2]=WK(c[L>>2]|0,c[L+4>>2]|0,c[t>>2]|0,c[u>>2]|0,c[A>>2]|0)|0;if(!(c[B>>2]|0))break;b=w;e=c[b+4>>2]|0;L=r;c[L>>2]=c[b>>2];c[L+4>>2]=e;c[p>>2]=(c[p>>2]|0)+(c[B>>2]|0);break}else{e=x;b=IK(b,c[e>>2]|0,c[e+4>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+b;b=w;e=c[b+4>>2]|0;L=r;c[L>>2]=c[b>>2];c[L+4>>2]=e;if(!(c[G>>2]|0))break;MR((c[(c[D>>2]|0)+16>>2]|0)+(c[p>>2]|0)|0,c[t>>2]|0,c[u>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+(c[u>>2]|0);e=c[(c[D>>2]|0)+16>>2]|0;L=c[p>>2]|0;c[p>>2]=L+1;a[e+L>>0]=0;break}}while(0);RK(c[h>>2]|0,c[m>>2]|0,c[s>>2]|0,c[k>>2]|0)}if((c[p>>2]|0)>0){c[(c[D>>2]|0)+48>>2]=c[(c[D>>2]|0)+16>>2];c[(c[D>>2]|0)+52>>2]=c[p>>2];c[E>>2]=100}}c[(c[D>>2]|0)+8>>2]=c[m>>2];if(c[E>>2]|0){J=61;break}}if((J|0)==9){c[q>>2]=c[E>>2];L=c[q>>2]|0;l=K;return L|0}else if((J|0)==50){c[q>>2]=7;L=c[q>>2]|0;l=K;return L|0}else if((J|0)==61){c[q>>2]=c[E>>2];L=c[q>>2]|0;l=K;return L|0}return 0} +function Qm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+80|0;q=w+68|0;x=w+64|0;r=w+60|0;s=w+56|0;t=w+52|0;u=w+48|0;g=w+44|0;h=w+40|0;i=w+8|0;v=w+36|0;j=w;k=w+32|0;m=w+28|0;n=w+24|0;o=w+20|0;p=w+16|0;c[q>>2]=b;c[x>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=Hj(c[(c[q>>2]|0)+4>>2]|0)|0;c[u>>2]=Rm(c[(c[q>>2]|0)+24>>2]|0)|0;c[g>>2]=Rm(c[(c[q>>2]|0)+4>>2]|0)|0;c[h>>2]=(c[u>>2]|0)<(c[g>>2]|0)?c[u>>2]|0:c[g>>2]|0;e=c[u>>2]|0;e=RR(c[x>>2]|0,0,e|0,((e|0)<0)<<31>>31|0)|0;f=i;c[f>>2]=e;c[f+4>>2]=z;c[v>>2]=0;if((c[u>>2]|0)!=(c[g>>2]|0)?Sm(c[t>>2]|0)|0:0)c[v>>2]=8;x=i;f=c[u>>2]|0;f=FR(c[x>>2]|0,c[x+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;x=j;c[x>>2]=f;c[x+4>>2]=z;while(1){if(c[v>>2]|0){b=14;break}f=j;d=c[f+4>>2]|0;x=i;e=c[x+4>>2]|0;if(!((d|0)<(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0<(c[x>>2]|0)>>>0:0))){b=14;break}c[k>>2]=0;f=j;x=c[g>>2]|0;x=LR(c[f>>2]|0,c[f+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0;c[m>>2]=x+1;if((c[m>>2]|0)!=((((c[481]|0)>>>0)/((c[(c[(c[(c[q>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){x=rm(c[t>>2]|0,c[m>>2]|0,k,0)|0;c[v>>2]=x;if((0==(x|0)?(x=Tm(c[k>>2]|0)|0,c[v>>2]=x,0==(x|0)):0)?(e=c[r>>2]|0,x=j,f=c[u>>2]|0,f=VR(c[x>>2]|0,c[x+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0,c[n>>2]=e+f,c[o>>2]=Um(c[k>>2]|0)|0,f=c[o>>2]|0,e=j,x=c[g>>2]|0,x=VR(c[e>>2]|0,c[e+4>>2]|0,x|0,((x|0)<0)<<31>>31|0)|0,c[p>>2]=f+x,MR(c[p>>2]|0,c[n>>2]|0,c[h>>2]|0)|0,a[(Vm(c[k>>2]|0)|0)>>0]=0,x=j,(c[x>>2]|0)==0&(c[x+4>>2]|0)==0&(c[s>>2]|0)==0):0){x=(c[p>>2]|0)+28|0;Xm(x,Wm(c[(c[q>>2]|0)+24>>2]|0)|0)}Ym(c[k>>2]|0)}f=c[g>>2]|0;x=j;f=IR(c[x>>2]|0,c[x+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;x=j;c[x>>2]=f;c[x+4>>2]=z}if((b|0)==14){l=w;return c[v>>2]|0}return 0}function Rm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[(c[b>>2]|0)+4>>2]|0)+32>>2]|0}function Sm(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+13>>0]|0|0}function Tm(a){a=a|0;var b=0,d=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;b=g+4|0;f=g;c[b>>2]=a;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(c[(c[f>>2]|0)+44>>2]|0){c[d>>2]=c[(c[f>>2]|0)+44>>2];f=c[d>>2]|0;l=g;return f|0}if((e[(c[b>>2]|0)+24>>1]|0)&4|0?(c[(c[f>>2]|0)+28>>2]|0)>>>0>=(c[(c[b>>2]|0)+20>>2]|0)>>>0:0)if(c[(c[f>>2]|0)+104>>2]|0){c[d>>2]=an(c[b>>2]|0)|0;f=c[d>>2]|0;l=g;return f|0}else{c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}a=c[b>>2]|0;if((c[(c[f>>2]|0)+156>>2]|0)>>>0>(c[(c[f>>2]|0)+160>>2]|0)>>>0){c[d>>2]=bn(a)|0;f=c[d>>2]|0;l=g;return f|0}else{c[d>>2]=cn(a)|0;f=c[d>>2]|0;l=g;return f|0}return 0}function Um(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+4>>2]|0}function Vm(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+8>>2]|0}function Wm(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=$m(c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return a|0}function Xm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[c[f>>2]>>0]=(c[g>>2]|0)>>>24;a[(c[f>>2]|0)+1>>0]=(c[g>>2]|0)>>>16;a[(c[f>>2]|0)+2>>0]=(c[g>>2]|0)>>>8;a[(c[f>>2]|0)+3>>0]=c[g>>2];l=e;return}function Ym(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Zm(c[b>>2]|0);l=d;return}function Zm(a){a=a|0;var b=0,d=0,f=0;d=l;l=l+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[(c[f>>2]|0)+16>>2];a=c[f>>2]|0;if((e[(c[f>>2]|0)+24>>1]|0)&32|0){_m(a);f=c[b>>2]|0;Fm(f);l=d;return}else{tm(a);f=c[b>>2]|0;Fm(f);l=d;return}}function _m(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;d=b+4|0;f=b;c[d>>2]=a;c[f>>2]=c[(c[d>>2]|0)+16>>2];e=(c[f>>2]|0)+128|0;c[e>>2]=(c[e>>2]|0)+-1;c[(c[d>>2]|0)+12>>2]=c[(c[f>>2]|0)+144>>2];c[(c[f>>2]|0)+144>>2]=c[d>>2];e=c[(c[f>>2]|0)+64>>2]|0;a=c[(c[f>>2]|0)+160>>2]|0;a=RR((c[(c[d>>2]|0)+20>>2]|0)-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;ym(e,a,z,c[(c[d>>2]|0)+4>>2]|0)|0;l=b;return}function $m(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+44>>2]|0}function an(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(on(c[d>>2]|0)|0){c[b>>2]=pn(c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function bn(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;g=u+44|0;k=u+40|0;m=u+36|0;n=u+32|0;o=u+28|0;p=u+24|0;q=u+20|0;r=u+16|0;s=u+12|0;h=u+8|0;i=u+4|0;j=u;c[g>>2]=f;c[k>>2]=0;c[o>>2]=0;c[q>>2]=0;c[r>>2]=c[(c[g>>2]|0)+16>>2];c[s>>2]=((c[(c[r>>2]|0)+156>>2]|0)>>>0)/((c[(c[r>>2]|0)+160>>2]|0)>>>0)|0;f=(c[r>>2]|0)+21|0;a[f>>0]=d[f>>0]|0|4;c[n>>2]=((c[(c[g>>2]|0)+20>>2]|0)-1&~((c[s>>2]|0)-1))+1;c[m>>2]=c[(c[r>>2]|0)+28>>2];do if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[m>>2]|0)>>>0)if(((c[n>>2]|0)+(c[s>>2]|0)-1|0)>>>0>(c[m>>2]|0)>>>0){c[o>>2]=(c[m>>2]|0)+1-(c[n>>2]|0);break}else{c[o>>2]=c[s>>2];break}else c[o>>2]=(c[(c[g>>2]|0)+20>>2]|0)-(c[n>>2]|0)+1;while(0);c[p>>2]=0;while(1){if(!((c[p>>2]|0)<(c[o>>2]|0)?(c[k>>2]|0)==0:0))break;c[h>>2]=(c[n>>2]|0)+(c[p>>2]|0);if((c[h>>2]|0)!=(c[(c[g>>2]|0)+20>>2]|0)?mm(c[(c[r>>2]|0)+60>>2]|0,c[h>>2]|0)|0:0){s=pm(c[r>>2]|0,c[h>>2]|0)|0;c[i>>2]=s;if(s|0){if((e[(c[i>>2]|0)+24>>1]|0)&8|0)c[q>>2]=1;Zm(c[i>>2]|0)}}else t=10;if(((t|0)==10?(t=0,(c[h>>2]|0)!=(((c[481]|0)/(c[(c[r>>2]|0)+160>>2]|0)|0)+1|0)):0)?(c[k>>2]=rm(c[r>>2]|0,c[h>>2]|0,i,0)|0,(c[k>>2]|0)==0):0){c[k>>2]=cn(c[i>>2]|0)|0;if((e[(c[i>>2]|0)+24>>1]|0)&8|0)c[q>>2]=1;Zm(c[i>>2]|0)}c[p>>2]=(c[p>>2]|0)+1}if(!((c[k>>2]|0)==0&(c[q>>2]|0)!=0)){t=c[r>>2]|0;t=t+21|0;s=a[t>>0]|0;s=s&255;s=s&-5;s=s&255;a[t>>0]=s;t=c[k>>2]|0;l=u;return t|0}c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[o>>2]|0))break;c[j>>2]=pm(c[r>>2]|0,(c[n>>2]|0)+(c[p>>2]|0)|0)|0;if(c[j>>2]|0){t=(c[j>>2]|0)+24|0;b[t>>1]=e[t>>1]|0|8;Zm(c[j>>2]|0)}c[p>>2]=(c[p>>2]|0)+1}t=c[r>>2]|0;t=t+21|0;s=a[t>>0]|0;s=s&255;s=s&-5;s=s&255;a[t>>0]=s;t=c[k>>2]|0;l=u;return t|0}function cn(a){a=a|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+16>>2];c[i>>2]=0;if((d[(c[h>>2]|0)+17>>0]|0|0)==2?(c[i>>2]=dn(c[h>>2]|0)|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}sm(c[g>>2]|0);do if(c[(c[h>>2]|0)+60>>2]|0?(en(c[(c[h>>2]|0)+60>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0)==0:0){if((c[(c[g>>2]|0)+20>>2]|0)>>>0>(c[(c[h>>2]|0)+32>>2]|0)>>>0){if((d[(c[h>>2]|0)+17>>0]|0|0)==4)break;a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;break}c[i>>2]=fn(c[g>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}}while(0);a=(c[g>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|4;if((c[(c[h>>2]|0)+104>>2]|0)>0)c[i>>2]=an(c[g>>2]|0)|0;if((c[(c[h>>2]|0)+28>>2]|0)>>>0<(c[(c[g>>2]|0)+20>>2]|0)>>>0)c[(c[h>>2]|0)+28>>2]=c[(c[g>>2]|0)+20>>2];c[f>>2]=c[i>>2];i=c[f>>2]|0;l=j;return i|0}function dn(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;i=k+16|0;j=k+12|0;e=k+8|0;f=k+4|0;g=k;c[i>>2]=b;c[j>>2]=0;c[e>>2]=c[c[i>>2]>>2];b=c[i>>2]|0;if(c[(c[i>>2]|0)+44>>2]|0){c[h>>2]=c[b+44>>2];j=c[h>>2]|0;l=k;return j|0}if((El(b)|0)==0?(d[(c[i>>2]|0)+5>>0]|0)!=2:0){b=hn(c[(c[i>>2]|0)+28>>2]|0)|0;c[(c[i>>2]|0)+60>>2]=b;if(!(c[(c[i>>2]|0)+60>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}do if(!(c[c[(c[i>>2]|0)+68>>2]>>2]|0)){if((d[(c[i>>2]|0)+5>>0]|0)==4){jn(c[(c[i>>2]|0)+68>>2]|0);break}c[f>>2]=6;b=c[f>>2]|0;if(a[(c[i>>2]|0)+13>>0]|0){c[f>>2]=b|4104;c[g>>2]=c[11]}else{c[f>>2]=b|2048;c[g>>2]=0}c[j>>2]=kn(c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=ln(c[e>>2]|0,c[(c[i>>2]|0)+180>>2]|0,c[(c[i>>2]|0)+68>>2]|0,c[f>>2]|0,c[g>>2]|0)|0}while(0);if(!(c[j>>2]|0)){c[(c[i>>2]|0)+48>>2]=0;g=(c[i>>2]|0)+80|0;c[g>>2]=0;c[g+4>>2]=0;a[(c[i>>2]|0)+20>>0]=0;g=(c[i>>2]|0)+88|0;c[g>>2]=0;c[g+4>>2]=0;c[j>>2]=mn(c[i>>2]|0)|0}}b=c[i>>2]|0;if(c[j>>2]|0){Al(c[b+60>>2]|0);c[(c[i>>2]|0)+60>>2]=0}else a[b+17>>0]=3;c[h>>2]=c[j>>2];j=c[h>>2]|0;l=k;return j|0}function en(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[g>>2]=b;c[g>>2]=(c[g>>2]|0)+-1;if((c[g>>2]|0)>>>0>=(c[c[f>>2]>>2]|0)>>>0){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}while(1){if(!(c[(c[f>>2]|0)+8>>2]|0))break;c[h>>2]=((c[g>>2]|0)>>>0)/((c[(c[f>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=((c[g>>2]|0)>>>0)%((c[(c[f>>2]|0)+8>>2]|0)>>>0)|0;c[f>>2]=c[(c[f>>2]|0)+12+(c[h>>2]<<2)>>2];if(!(c[f>>2]|0)){j=5;break}}if((j|0)==5){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}if((c[c[f>>2]>>2]|0)>>>0<=4e3){c[e>>2]=((d[(c[f>>2]|0)+12+(((c[g>>2]|0)>>>0)/8|0)>>0]|0)&1<<(c[g>>2]&7)|0)!=0&1;j=c[e>>2]|0;l=k;return j|0}j=c[g>>2]|0;c[g>>2]=j+1;c[i>>2]=(j>>>0)%125|0;while(1){if(!(c[(c[f>>2]|0)+12+(c[i>>2]<<2)>>2]|0)){j=13;break}if((c[(c[f>>2]|0)+12+(c[i>>2]<<2)>>2]|0)==(c[g>>2]|0)){j=11;break}c[i>>2]=(((c[i>>2]|0)+1|0)>>>0)%125|0}if((j|0)==11){c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}else if((j|0)==13){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}return 0}function fn(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;d=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m;c[f>>2]=a;c[g>>2]=c[(c[f>>2]|0)+16>>2];o=(c[g>>2]|0)+80|0;n=c[o+4>>2]|0;a=k;c[a>>2]=c[o>>2];c[a+4>>2]=n;c[j>>2]=c[(c[f>>2]|0)+4>>2];c[i>>2]=nm(c[g>>2]|0,c[j>>2]|0)|0;a=(c[f>>2]|0)+24|0;b[a>>1]=e[a>>1]|0|8;a=k;c[h>>2]=gn(c[(c[g>>2]|0)+68>>2]|0,c[a>>2]|0,c[a+4>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[h>>2]|0){c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}a=c[(c[g>>2]|0)+68>>2]|0;j=c[j>>2]|0;n=c[(c[g>>2]|0)+160>>2]|0;o=k;o=IR(c[o>>2]|0,c[o+4>>2]|0,4,0)|0;c[h>>2]=Ol(a,j,n,o,z)|0;if(c[h>>2]|0){c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}n=c[(c[g>>2]|0)+68>>2]|0;o=c[(c[g>>2]|0)+160>>2]|0;o=IR(c[k>>2]|0,c[k+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;o=IR(o|0,z|0,4,0)|0;c[h>>2]=gn(n,o,z,c[i>>2]|0)|0;if(c[h>>2]|0){c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}else{n=8+(c[(c[g>>2]|0)+160>>2]|0)|0;o=(c[g>>2]|0)+80|0;k=o;n=IR(c[k>>2]|0,c[k+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;c[o>>2]=n;c[o+4>>2]=z;o=(c[g>>2]|0)+48|0;c[o>>2]=(c[o>>2]|0)+1;c[h>>2]=om(c[(c[g>>2]|0)+60>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;o=Cm(c[g>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;c[h>>2]=c[h>>2]|o;c[d>>2]=c[h>>2];o=c[d>>2]|0;l=m;return o|0}return 0}function gn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;h=f+12|0;i=f;j=f+8|0;g=f+16|0;c[h>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[j>>2]=e;Xm(g,c[j>>2]|0);e=i;e=Ol(c[h>>2]|0,g,4,c[e>>2]|0,c[e+4>>2]|0)|0;l=f;return e|0}function hn(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Cg(512,0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;l=e;return d|0}c[c[d>>2]>>2]=c[b>>2];d=c[d>>2]|0;l=e;return d|0}function jn(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;ln(0,0,c[d>>2]|0,0,-1)|0;l=b;return}function kn(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+13>>0]|0){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}if(!(c[(c[e>>2]|0)+28>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[g>>2]=Hl(c[(c[e>>2]|0)+64>>2]|0,20,f)|0;if((c[g>>2]|0)!=12){if((c[g>>2]|0)==0&(c[f>>2]|0)!=0)c[g>>2]=1032}else c[g>>2]=0;c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function ln(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[g>>2]=f;c[h>>2]=c[m>>2];a=c[h>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));if(!(c[g>>2]|0)){c[i>>2]=Zl(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,0)|0;n=c[i>>2]|0;l=o;return n|0}else{m=(c[g>>2]|0)>0;c[(m?c[h>>2]|0:c[h>>2]|0)+4>>2]=m?c[g>>2]|0:1020;c[c[h>>2]>>2]=4028;c[(c[h>>2]|0)+8>>2]=c[g>>2];c[(c[h>>2]|0)+56>>2]=c[n>>2];c[(c[h>>2]|0)+64>>2]=c[k>>2];c[(c[h>>2]|0)+60>>2]=c[j>>2];c[i>>2]=0;n=c[i>>2]|0;l=o;return n|0}return 0}function mn(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;f=k+20|0;j=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;e=k;c[f>>2]=b;c[j>>2]=0;c[g>>2]=c[(c[f>>2]|0)+208>>2];c[h>>2]=c[(c[f>>2]|0)+160>>2];if((c[h>>2]|0)>>>0>(c[(c[f>>2]|0)+156>>2]|0)>>>0)c[h>>2]=c[(c[f>>2]|0)+156>>2];c[e>>2]=0;while(1){b=c[f>>2]|0;if((c[e>>2]|0)>=(c[(c[f>>2]|0)+104>>2]|0))break;b=(c[b+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;if((c[b>>2]|0)==0&(c[b+4>>2]|0)==0){n=(c[f>>2]|0)+80|0;m=c[n+4>>2]|0;b=(c[(c[f>>2]|0)+100>>2]|0)+((c[e>>2]|0)*48|0)+8|0;c[b>>2]=c[n>>2];c[b+4>>2]=m}c[e>>2]=(c[e>>2]|0)+1}e=nn(b)|0;m=z;n=(c[f>>2]|0)+80|0;c[n>>2]=e;c[n+4>>2]=m;n=(c[f>>2]|0)+88|0;c[n>>2]=e;c[n+4>>2]=m;if((!(d[(c[f>>2]|0)+7>>0]|0|0)?(d[(c[f>>2]|0)+5>>0]|0|0)!=4:0)?!((hm(c[(c[f>>2]|0)+64>>2]|0)|0)&512|0):0){b=c[g>>2]|0;e=b+12|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}else{n=c[g>>2]|0;a[n>>0]=a[21804]|0;a[n+1>>0]=a[21805]|0;a[n+2>>0]=a[21806]|0;a[n+3>>0]=a[21807]|0;a[n+4>>0]=a[21808]|0;a[n+5>>0]=a[21809]|0;a[n+6>>0]=a[21810]|0;a[n+7>>0]=a[21811]|0;Xm((c[g>>2]|0)+8|0,-1)}Ze(4,(c[f>>2]|0)+52|0);Xm((c[g>>2]|0)+12|0,c[(c[f>>2]|0)+52>>2]|0);Xm((c[g>>2]|0)+16|0,c[(c[f>>2]|0)+32>>2]|0);Xm((c[g>>2]|0)+20|0,c[(c[f>>2]|0)+156>>2]|0);Xm((c[g>>2]|0)+24|0,c[(c[f>>2]|0)+160>>2]|0);GR((c[g>>2]|0)+28|0,0,(c[h>>2]|0)-28|0)|0;c[i>>2]=0;while(1){if(c[j>>2]|0){b=17;break}if((c[i>>2]|0)>>>0>=(c[(c[f>>2]|0)+156>>2]|0)>>>0){b=17;break}n=(c[f>>2]|0)+80|0;c[j>>2]=Ol(c[(c[f>>2]|0)+68>>2]|0,c[g>>2]|0,c[h>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;n=(c[f>>2]|0)+80|0;m=n;m=IR(c[m>>2]|0,c[m+4>>2]|0,c[h>>2]|0,0)|0;c[n>>2]=m;c[n+4>>2]=z;c[i>>2]=(c[i>>2]|0)+(c[h>>2]|0)}if((b|0)==17){l=k;return c[j>>2]|0}return 0}function nn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;f=l;l=l+32|0;b=f+16|0;d=f+8|0;e=f;c[b>>2]=a;h=d;c[h>>2]=0;c[h+4>>2]=0;h=(c[b>>2]|0)+80|0;g=c[h+4>>2]|0;a=e;c[a>>2]=c[h>>2];c[a+4>>2]=g;a=e;if(!((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)){g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;z=g;l=f;return h|0}h=e;h=FR(c[h>>2]|0,c[h+4>>2]|0,1,0)|0;h=LR(h|0,z|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;h=IR(h|0,z|0,1,0)|0;h=RR(h|0,z|0,c[(c[b>>2]|0)+156>>2]|0,0)|0;g=d;c[g>>2]=h;c[g+4>>2]=z;g=d;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;z=g;l=f;return h|0}function on(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h+20|0;i=h+16|0;b=h+12|0;d=h+8|0;e=h+4|0;f=h;c[i>>2]=a;c[b>>2]=c[(c[i>>2]|0)+16>>2];c[e>>2]=c[(c[i>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[b>>2]|0)+104>>2]|0)){a=7;break}c[d>>2]=(c[(c[b>>2]|0)+100>>2]|0)+((c[f>>2]|0)*48|0);if((c[(c[d>>2]|0)+20>>2]|0)>>>0>=(c[e>>2]|0)>>>0?0==(en(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0):0){a=5;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==5){c[g>>2]=1;i=c[g>>2]|0;l=h;return i|0}else if((a|0)==7){c[g>>2]=0;i=c[g>>2]|0;l=h;return i|0}return 0}function pn(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;b=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;c[b>>2]=a;c[e>>2]=0;c[f>>2]=c[(c[b>>2]|0)+16>>2];if(((d[(c[f>>2]|0)+5>>0]|0|0)!=2?(c[e>>2]=qn(c[f>>2]|0)|0,(c[e>>2]|0)==0):0)?(c[g>>2]=c[(c[b>>2]|0)+4>>2],k=4+(c[(c[f>>2]|0)+160>>2]|0)|0,k=RR(c[(c[f>>2]|0)+56>>2]|0,0,k|0,((k|0)<0)<<31>>31|0)|0,a=h,c[a>>2]=k,c[a+4>>2]=z,c[i>>2]=c[g>>2],g=h,c[e>>2]=gn(c[(c[f>>2]|0)+72>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0,(c[e>>2]|0)==0):0){a=c[(c[f>>2]|0)+72>>2]|0;g=c[i>>2]|0;i=c[(c[f>>2]|0)+160>>2]|0;k=h;k=IR(c[k>>2]|0,c[k+4>>2]|0,4,0)|0;c[e>>2]=Ol(a,g,i,k,z)|0}if(c[e>>2]|0){k=c[e>>2]|0;l=j;return k|0}k=(c[f>>2]|0)+56|0;c[k>>2]=(c[k>>2]|0)+1;c[e>>2]=Cm(c[f>>2]|0,c[(c[b>>2]|0)+20>>2]|0)|0;k=c[e>>2]|0;l=j;return k|0}function qn(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;e=g+8|0;f=g;c[b>>2]=a;c[e>>2]=0;if(c[c[(c[b>>2]|0)+72>>2]>>2]|0){f=c[e>>2]|0;l=g;return f|0}c[g+4>>2]=8222;c[f>>2]=c[11];if(!((d[(c[b>>2]|0)+5>>0]|0|0)!=4?!(d[(c[b>>2]|0)+22>>0]|0|0):0))c[f>>2]=-1;c[e>>2]=ln(c[c[b>>2]>>2]|0,0,c[(c[b>>2]|0)+72>>2]|0,8222,c[f>>2]|0)|0;f=c[e>>2]|0;l=g;return f|0}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=l;l=l+64|0;i=s+56|0;j=s+52|0;k=s+48|0;m=s+16|0;n=s+8|0;o=s+44|0;p=s+40|0;q=s+36|0;e=s+32|0;f=s+28|0;g=s+24|0;h=s;c[j>>2]=b;c[k>>2]=d;c[o>>2]=0;c[p>>2]=0;if(c[k>>2]|0?(c[p>>2]=hn(c[(c[k>>2]|0)+20>>2]|0)|0,(c[p>>2]|0)==0):0){c[i>>2]=7;r=c[i>>2]|0;l=s;return r|0}if(c[k>>2]|0)b=c[(c[k>>2]|0)+20>>2]|0;else b=c[(c[j>>2]|0)+32>>2]|0;c[(c[j>>2]|0)+28>>2]=b;a[(c[j>>2]|0)+19>>0]=a[(c[j>>2]|0)+13>>0]|0;if((c[k>>2]|0)==0?El(c[j>>2]|0)|0:0){c[i>>2]=sn(c[j>>2]|0)|0;r=c[i>>2]|0;l=s;return r|0}t=(c[j>>2]|0)+80|0;b=c[t+4>>2]|0;d=m;c[d>>2]=c[t>>2];c[d+4>>2]=b;a:do if(c[k>>2]|0?!(El(c[j>>2]|0)|0):0){t=(c[k>>2]|0)+8|0;if((c[t>>2]|0)!=0|(c[t+4>>2]|0)!=0){d=(c[k>>2]|0)+8|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{d=m;b=c[d>>2]|0;d=c[d+4>>2]|0}t=n;c[t>>2]=b;c[t+4>>2]=d;b=c[k>>2]|0;d=c[b+4>>2]|0;t=(c[j>>2]|0)+80|0;c[t>>2]=c[b>>2];c[t+4>>2]=d;while(1){if(c[o>>2]|0)break a;d=(c[j>>2]|0)+80|0;u=c[d+4>>2]|0;t=n;b=c[t+4>>2]|0;if(!((u|0)<(b|0)|((u|0)==(b|0)?(c[d>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)))break a;c[o>>2]=dm(c[j>>2]|0,(c[j>>2]|0)+80|0,c[p>>2]|0,1,1)|0}}else r=19;while(0);if((r|0)==19){u=(c[j>>2]|0)+80|0;c[u>>2]=0;c[u+4>>2]=0}b:while(1){if(c[o>>2]|0)break;t=(c[j>>2]|0)+80|0;n=c[t+4>>2]|0;u=m;r=c[u+4>>2]|0;if(!((n|0)<(r|0)|((n|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))break;c[e>>2]=0;u=m;c[o>>2]=cm(c[j>>2]|0,0,c[u>>2]|0,c[u+4>>2]|0,e,f)|0;if((c[e>>2]|0)==0?(t=(c[j>>2]|0)+88|0,t=IR(c[t>>2]|0,c[t+4>>2]|0,c[(c[j>>2]|0)+156>>2]|0,0)|0,u=(c[j>>2]|0)+80|0,(t|0)==(c[u>>2]|0)?(z|0)==(c[u+4>>2]|0):0):0){u=m;t=(c[j>>2]|0)+80|0;t=FR(c[u>>2]|0,c[u+4>>2]|0,c[t>>2]|0,c[t+4>>2]|0)|0;u=(c[(c[j>>2]|0)+160>>2]|0)+8|0;u=LR(t|0,z|0,u|0,((u|0)<0)<<31>>31|0)|0;c[e>>2]=u}c[q>>2]=0;while(1){if(c[o>>2]|0)continue b;if((c[q>>2]|0)>>>0>=(c[e>>2]|0)>>>0)continue b;t=(c[j>>2]|0)+80|0;n=c[t+4>>2]|0;u=m;r=c[u+4>>2]|0;if(!((n|0)<(r|0)|((n|0)==(r|0)?(c[t>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)))continue b;c[o>>2]=dm(c[j>>2]|0,(c[j>>2]|0)+80|0,c[p>>2]|0,1,1)|0;c[q>>2]=(c[q>>2]|0)+1}}c:do if(c[k>>2]|0){t=4+(c[(c[j>>2]|0)+160>>2]|0)|0;t=RR(c[(c[k>>2]|0)+24>>2]|0,0,t|0,((t|0)<0)<<31>>31|0)|0;u=h;c[u>>2]=t;c[u+4>>2]=z;if(El(c[j>>2]|0)|0)c[o>>2]=tn(c[(c[j>>2]|0)+216>>2]|0,(c[k>>2]|0)+28|0)|0;c[g>>2]=c[(c[k>>2]|0)+24>>2];while(1){if(c[o>>2]|0)break c;if((c[g>>2]|0)>>>0>=(c[(c[j>>2]|0)+56>>2]|0)>>>0)break c;c[o>>2]=dm(c[j>>2]|0,h,c[p>>2]|0,0,1)|0;c[g>>2]=(c[g>>2]|0)+1}}while(0);Al(c[p>>2]|0);if(!(c[o>>2]|0)){r=m;t=c[r+4>>2]|0;u=(c[j>>2]|0)+80|0;c[u>>2]=c[r>>2];c[u+4>>2]=t}c[i>>2]=c[o>>2];u=c[i>>2]|0;l=s;return u|0}function sn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[(c[b>>2]|0)+28>>2]=c[(c[b>>2]|0)+32>>2];c[d>>2]=wn(c[(c[b>>2]|0)+216>>2]|0,179,c[b>>2]|0)|0;c[e>>2]=xn(c[(c[b>>2]|0)+212>>2]|0)|0;while(1){if(!(c[e>>2]|0?(c[d>>2]|0)==0:0))break;c[f>>2]=c[(c[e>>2]|0)+12>>2];c[d>>2]=vn(c[b>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[e>>2]=c[f>>2]}l=g;return c[d>>2]|0}function tn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if((c[(c[e>>2]|0)+12>>2]|0)!=(c[(c[d>>2]|0)+112>>2]|0)){c[c[e>>2]>>2]=0;c[(c[e>>2]|0)+12>>2]=c[(c[d>>2]|0)+112>>2]}if((c[c[e>>2]>>2]|0)>>>0>=(c[(c[d>>2]|0)+52+16>>2]|0)>>>0){f=c[f>>2]|0;l=g;return f|0}c[(c[d>>2]|0)+52+16>>2]=c[c[e>>2]>>2];c[(c[d>>2]|0)+52+24>>2]=c[(c[e>>2]|0)+4>>2];c[(c[d>>2]|0)+52+24+4>>2]=c[(c[e>>2]|0)+8>>2];un(c[d>>2]|0);f=c[f>>2]|0;l=g;return f|0}function un(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+24|0;g=m+20|0;h=m+16|0;f=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[g>>2]=0;c[h>>2]=0;c[f>>2]=0;c[i>>2]=0;if(!(c[(c[d>>2]|0)+52+16>>2]|0)){l=m;return}a=c[d>>2]|0;Jm(a,Im(c[(c[d>>2]|0)+52+16>>2]|0)|0,g,h,f)|0;c[i>>2]=(c[(c[d>>2]|0)+52+16>>2]|0)-(c[f>>2]|0);c[k>>2]=0;while(1){a=c[g>>2]|0;if((c[k>>2]|0)>=8192)break;if((e[a+(c[k>>2]<<1)>>1]|0|0)>(c[i>>2]|0))b[(c[g>>2]|0)+(c[k>>2]<<1)>>1]=0;c[k>>2]=(c[k>>2]|0)+1}c[j>>2]=a-((c[h>>2]|0)+((c[i>>2]|0)+1<<2));GR((c[h>>2]|0)+((c[i>>2]|0)+1<<2)|0,0,c[j>>2]|0)|0;l=m;return}function vn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;j=h+20|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=b;c[d>>2]=0;c[e>>2]=c[j>>2];c[f>>2]=pm(c[e>>2]|0,c[i>>2]|0)|0;do if(c[f>>2]|0){if((Cn(c[f>>2]|0)|0)==1){Em(c[f>>2]|0);break}c[g>>2]=0;c[d>>2]=vm(c[(c[e>>2]|0)+216>>2]|0,c[(c[f>>2]|0)+20>>2]|0,g)|0;if(!(c[d>>2]|0))c[d>>2]=Dm(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[d>>2]|0))qb[c[(c[e>>2]|0)+204>>2]&255](c[f>>2]|0);Zm(c[f>>2]|0)}while(0);Pk(c[(c[e>>2]|0)+96>>2]|0);l=h;return c[d>>2]|0}function wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;if(!(a[(c[f>>2]|0)+44>>0]|0)){k=c[i>>2]|0;l=m;return k|0}c[j>>2]=c[(c[f>>2]|0)+52+16>>2];b=(c[f>>2]|0)+52|0;d=An(c[f>>2]|0)|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));c[k>>2]=(c[(c[f>>2]|0)+52+16>>2]|0)+1;while(1){if(c[i>>2]|0)break;if((c[k>>2]|0)>>>0>(c[j>>2]|0)>>>0)break;b=c[g>>2]|0;d=c[h>>2]|0;e=Bn(c[f>>2]|0,c[k>>2]|0)|0;c[i>>2]=yb[b&255](d,e)|0;c[k>>2]=(c[k>>2]|0)+1}if((c[j>>2]|0)==(c[(c[f>>2]|0)+52+16>>2]|0)){k=c[i>>2]|0;l=m;return k|0}un(c[f>>2]|0);k=c[i>>2]|0;l=m;return k|0}function xn(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];while(1){if(!(c[d>>2]|0))break;c[(c[d>>2]|0)+12>>2]=c[(c[d>>2]|0)+32>>2];c[d>>2]=c[(c[d>>2]|0)+32>>2]}d=yn(c[c[b>>2]>>2]|0)|0;l=e;return d|0}function yn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+144|0;d=i+136|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;a=f;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));while(1){if(!(c[d>>2]|0))break;c[g>>2]=c[d>>2];c[d>>2]=c[(c[g>>2]|0)+12>>2];c[(c[g>>2]|0)+12>>2]=0;c[h>>2]=0;while(1){if((c[h>>2]|0)>=31)break;if(!(c[f+(c[h>>2]<<2)>>2]|0)){e=6;break}c[g>>2]=zn(c[f+(c[h>>2]<<2)>>2]|0,c[g>>2]|0)|0;c[f+(c[h>>2]<<2)>>2]=0;c[h>>2]=(c[h>>2]|0)+1}if((e|0)==6){e=0;c[f+(c[h>>2]<<2)>>2]=c[g>>2]}if((c[h>>2]|0)!=31)continue;b=zn(c[f+(c[h>>2]<<2)>>2]|0,c[g>>2]|0)|0;c[f+(c[h>>2]<<2)>>2]=b}c[g>>2]=c[f>>2];c[h>>2]=1;while(1){if((c[h>>2]|0)>=32)break;if(c[f+(c[h>>2]<<2)>>2]|0){if(c[g>>2]|0)a=zn(c[g>>2]|0,c[f+(c[h>>2]<<2)>>2]|0)|0;else a=c[f+(c[h>>2]<<2)>>2]|0;c[g>>2]=a}c[h>>2]=(c[h>>2]|0)+1}l=i;return c[g>>2]|0}function zn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+64|0;d=h+52|0;e=h+48|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1)if((c[(c[d>>2]|0)+20>>2]|0)>>>0<(c[(c[e>>2]|0)+20>>2]|0)>>>0){c[(c[g>>2]|0)+12>>2]=c[d>>2];c[g>>2]=c[d>>2];c[d>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[d>>2]|0)){a=4;break}else continue}else{c[(c[g>>2]|0)+12>>2]=c[e>>2];c[g>>2]=c[e>>2];c[e>>2]=c[(c[e>>2]|0)+12>>2];if(!(c[e>>2]|0)){a=6;break}else continue}if((a|0)==4){e=c[e>>2]|0;g=c[g>>2]|0;g=g+12|0;c[g>>2]=e;g=f+12|0;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==6){e=c[d>>2]|0;g=c[g>>2]|0;g=g+12|0;c[g>>2]=e;g=f+12|0;g=c[g>>2]|0;l=h;return g|0}return 0}function An(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[(c[b>>2]|0)+32>>2]>>2]|0}function Bn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[e>>2]=b;c[f>>2]=Im(c[e>>2]|0)|0;a=c[(c[h>>2]|0)+32>>2]|0;if(!(c[f>>2]|0)){c[d>>2]=c[(c[a>>2]|0)+(34+(c[e>>2]|0)-1<<2)>>2];h=c[d>>2]|0;l=g;return h|0}else{c[d>>2]=c[(c[a+(c[f>>2]<<2)>>2]|0)+(((((c[e>>2]|0)-1-4062|0)>>>0)%4096|0)<<2)>>2];h=c[d>>2]|0;l=g;return h|0}return 0}function Cn(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;l=e;return b[(c[d>>2]|0)+26>>1]|0}function Dn(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;Fl(c[d>>2]|0)|0;if((b[(c[d>>2]|0)+40>>1]|0)<0){l=e;return}Ml(c[d>>2]|0,3+(b[(c[d>>2]|0)+40>>1]|0)|0);b[(c[d>>2]|0)+40>>1]=-1;l=e;return}function En(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=yb[c[(c[c[f>>2]>>2]|0)+28>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function Fn(b,d,e,f,g,h,i,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+64|0;z=A+52|0;v=A+48|0;w=A+44|0;m=A+40|0;n=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;x=A+12|0;t=A+8|0;y=A+4|0;u=A;c[v>>2]=b;c[w>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=0;c[y>>2]=c[w>>2];c[u>>2]=c[m>>2];if(a[(c[v>>2]|0)+46>>0]|0){c[z>>2]=8;z=c[z>>2]|0;l=A;return z|0}c[x>>2]=Kn(c[v>>2]|0,1,1)|0;if(c[x>>2]|0){c[z>>2]=c[x>>2];z=c[z>>2]|0;l=A;return z|0}a[(c[v>>2]|0)+45>>0]=1;do if(c[w>>2]|0){c[x>>2]=Ln(c[v>>2]|0,c[m>>2]|0,c[n>>2]|0,0,1)|0;if(!(c[x>>2]|0)){a[(c[v>>2]|0)+44>>0]=1;break}if((c[x>>2]|0)==5){c[y>>2]=0;c[u>>2]=0;c[x>>2]=0}}while(0);if(((c[x>>2]|0)==0?(c[x>>2]=Mn(c[v>>2]|0,t)|0,c[t>>2]|0):0)?(c[c[c[(c[v>>2]|0)+4>>2]>>2]>>2]|0)>=3:0)ym(c[(c[v>>2]|0)+4>>2]|0,0,0,0)|0;if(!(c[x>>2]|0)){if(c[(c[v>>2]|0)+52+16>>2]|0?(k=Nn(c[v>>2]|0)|0,(k|0)!=(c[p>>2]|0)):0)c[x>>2]=um(57049)|0;else c[x>>2]=On(c[v>>2]|0,c[y>>2]|0,c[u>>2]|0,c[n>>2]|0,c[o>>2]|0,c[q>>2]|0)|0;if((c[x>>2]|0)==0|(c[x>>2]|0)==5){if(c[r>>2]|0)c[c[r>>2]>>2]=c[(c[v>>2]|0)+52+16>>2];if(c[s>>2]|0){k=c[(Pn(c[v>>2]|0)|0)>>2]|0;c[c[s>>2]>>2]=k}}}if(c[t>>2]|0){b=(c[v>>2]|0)+52|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0))}Fl(c[v>>2]|0)|0;Pl(c[v>>2]|0,1,1);a[(c[v>>2]|0)+45>>0]=0;if((c[x>>2]|0)==0?(c[w>>2]|0)!=(c[y>>2]|0):0)b=5;else b=c[x>>2]|0;c[z>>2]=b;z=c[z>>2]|0;l=A;return z|0}function Gn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;ob[c[(c[c[h>>2]>>2]|0)+40>>2]&255](c[h>>2]|0,c[g>>2]|0,c[f>>2]|0)|0;l=e;return}function Hn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j+16|0;e=j+24|0;f=j+8|0;g=j;h=j+20|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;zg();c[h>>2]=Ik(c[(c[e>>2]|0)+8>>2]|0,g)|0;if((c[h>>2]|0)==0?(d=g,a=c[d+4>>2]|0,g=f,b=c[g+4>>2]|0,(a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>(c[g>>2]|0)>>>0:0)):0){g=f;c[h>>2]=wl(c[(c[e>>2]|0)+8>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0}Bg();if(!(c[h>>2]|0)){l=j;return}h=c[h>>2]|0;c[i>>2]=c[(c[e>>2]|0)+108>>2];hd(h,21812,i);l=j;return}function In(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+43>>0]|0|0)!=2){Jn(c[(c[e>>2]|0)+4>>2]|0,c[f>>2]|0)|0;l=h;return}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;Kd(c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]|0);c[(c[(c[e>>2]|0)+32>>2]|0)+(c[g>>2]<<2)>>2]=0;c[g>>2]=(c[g>>2]|0)+1}l=h;return}function Jn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=yb[c[(c[c[f>>2]>>2]|0)+64>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function Kn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(a[(c[g>>2]|0)+43>>0]|0){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}else{c[j>>2]=Nl(c[(c[g>>2]|0)+4>>2]|0,c[h>>2]|0,c[i>>2]|0,10)|0;c[f>>2]=c[j>>2];j=c[f>>2]|0;l=k;return j|0}return 0}function Ln(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;while(1){c[m>>2]=Kn(c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;if(!((c[h>>2]|0)!=0&(c[m>>2]|0)==5)){a=4;break}if(!(tb[c[h>>2]&255](c[i>>2]|0)|0)){a=4;break}}if((a|0)==4){l=n;return c[m>>2]|0}return 0}function Mn(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=Mm(c[g>>2]|0,0,k)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];k=c[f>>2]|0;l=m;return k|0}if(c[k>>2]|0)b=_n(c[g>>2]|0,c[h>>2]|0)|0;else b=1;c[j>>2]=b;do if(c[j>>2]|0){b=c[g>>2]|0;if((d[(c[g>>2]|0)+46>>0]|0)&2|0){k=Ll(b,0)|0;c[i>>2]=k;if(k)break;Ml(c[g>>2]|0,0);c[i>>2]=264;break}e=Kn(b,0,1)|0;c[i>>2]=e;if(!e){a[(c[g>>2]|0)+44>>0]=1;k=Mm(c[g>>2]|0,0,k)|0;c[i>>2]=k;if(0==(k|0)?(c[j>>2]=_n(c[g>>2]|0,c[h>>2]|0)|0,c[j>>2]|0):0){c[i>>2]=$n(c[g>>2]|0)|0;c[c[h>>2]>>2]=1}a[(c[g>>2]|0)+44>>0]=0;Pl(c[g>>2]|0,0,1)}}while(0);if((c[j>>2]|0)==0?(c[(c[g>>2]|0)+52>>2]|0)!=3007e3:0)c[i>>2]=Pe(55897)|0;c[f>>2]=c[i>>2];k=c[f>>2]|0;l=m;return k|0}function Nn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return ((e[(c[b>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[b>>2]|0)+52+14>>1]|0)&1)<<16)|0}function On(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=l;l=l+112|0;C=H+104|0;D=H+100|0;E=H+96|0;F=H+92|0;h=H+88|0;i=H+84|0;j=H+80|0;k=H+76|0;m=H+72|0;n=H+68|0;o=H+64|0;p=H+60|0;q=H+56|0;r=H+52|0;s=H+48|0;t=H+44|0;u=H+40|0;v=H+24|0;w=H+36|0;x=H+16|0;y=H+8|0;A=H;B=H+32|0;c[D>>2]=a;c[E>>2]=b;c[F>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[m>>2]=Nn(c[D>>2]|0)|0;c[t>>2]=Pn(c[D>>2]|0)|0;a:do if((c[c[t>>2]>>2]|0)>>>0<(c[(c[D>>2]|0)+52+16>>2]|0)>>>0){c[k>>2]=Qn(c[D>>2]|0,n)|0;if(c[k>>2]|0){c[C>>2]=c[k>>2];G=c[C>>2]|0;l=H;return G|0}c[q>>2]=c[(c[D>>2]|0)+52+16>>2];c[r>>2]=c[(c[D>>2]|0)+52+20>>2];c[s>>2]=1;while(1){a=c[t>>2]|0;if((c[s>>2]|0)>=5)break;c[u>>2]=c[a+4+(c[s>>2]<<2)>>2];do if((c[q>>2]|0)>>>0>(c[u>>2]|0)>>>0){c[k>>2]=Ln(c[D>>2]|0,c[F>>2]|0,c[h>>2]|0,3+(c[s>>2]|0)|0,1)|0;if(!(c[k>>2]|0)){c[(c[t>>2]|0)+4+(c[s>>2]<<2)>>2]=(c[s>>2]|0)==1?c[q>>2]|0:-1;Pl(c[D>>2]|0,3+(c[s>>2]|0)|0,1);break}if((c[k>>2]|0)!=5)break a;c[q>>2]=c[u>>2];c[F>>2]=0}while(0);c[s>>2]=(c[s>>2]|0)+1}if((c[a>>2]|0)>>>0<(c[q>>2]|0)>>>0?(G=Ln(c[D>>2]|0,c[F>>2]|0,c[h>>2]|0,3,1)|0,c[k>>2]=G,(G|0)==0):0){c[w>>2]=c[c[t>>2]>>2];c[(c[t>>2]|0)+32>>2]=c[q>>2];if(c[i>>2]|0)c[k>>2]=xl(c[(c[D>>2]|0)+8>>2]|0,c[i>>2]|0)|0;if(((c[k>>2]|0)==0?(u=c[m>>2]|0,u=RR(c[r>>2]|0,0,u|0,((u|0)<0)<<31>>31|0)|0,G=x,c[G>>2]=u,c[G+4>>2]=z,c[k>>2]=Ik(c[(c[D>>2]|0)+4>>2]|0,v)|0,(c[k>>2]|0)==0):0)?(v,s=c[v+4>>2]|0,G=x,u=c[G+4>>2]|0,(s|0)<(u|0)|((s|0)==(u|0)?(c[v>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0)Gn(c[(c[D>>2]|0)+4>>2]|0,5,x);b:while(1){if(c[k>>2]|0)break;while(1){if(Rn(c[n>>2]|0,o,p)|0)break b;if((c[p>>2]|0)>>>0<=(c[w>>2]|0)>>>0)continue b;if((c[p>>2]|0)>>>0>(c[q>>2]|0)>>>0)continue b;if((c[o>>2]|0)>>>0>(c[r>>2]|0)>>>0)continue b;x=(c[m>>2]|0)+24|0;x=RR((c[p>>2]|0)-1|0,0,x|0,((x|0)<0)<<31>>31|0)|0;x=IR(32,0,x|0,z|0)|0;x=IR(x|0,z|0,24,0)|0;G=y;c[G>>2]=x;c[G+4>>2]=z;G=y;c[k>>2]=km(c[(c[D>>2]|0)+8>>2]|0,c[j>>2]|0,c[m>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(c[k>>2]|0)break b;x=c[m>>2]|0;x=RR((c[o>>2]|0)-1|0,0,x|0,((x|0)<0)<<31>>31|0)|0;G=y;c[G>>2]=x;c[G+4>>2]=z;G=y;c[k>>2]=Ol(c[(c[D>>2]|0)+4>>2]|0,c[j>>2]|0,c[m>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0;if(!((c[k>>2]|0)==0&(c[k>>2]|0)==0))break b}}if(!(c[k>>2]|0)){G=c[q>>2]|0;if((G|0)==(c[(An(c[D>>2]|0)|0)+16>>2]|0)?(y=c[m>>2]|0,y=RR(c[(c[D>>2]|0)+52+20>>2]|0,0,y|0,((y|0)<0)<<31>>31|0)|0,G=A,c[G>>2]=y,c[G+4>>2]=z,G=A,c[k>>2]=wl(c[(c[D>>2]|0)+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0)|0,(c[k>>2]|0)==0&(c[i>>2]|0)!=0):0)c[k>>2]=xl(c[(c[D>>2]|0)+4>>2]|0,c[i>>2]|0)|0;if(!(c[k>>2]|0))c[c[t>>2]>>2]=c[q>>2]}Pl(c[D>>2]|0,3,1)}if((c[k>>2]|0)==5){c[k>>2]=0;G=36}else G=36}else G=36;while(0);do if((G|0)==36?(c[k>>2]|0)==0&(c[E>>2]|0)!=0:0){if((c[c[t>>2]>>2]|0)>>>0<(c[(c[D>>2]|0)+52+16>>2]|0)>>>0){c[k>>2]=5;break}if((c[E>>2]|0)>=2?(Ze(4,B),c[k>>2]=Ln(c[D>>2]|0,c[F>>2]|0,c[h>>2]|0,4,4)|0,(c[k>>2]|0)==0):0){if((c[E>>2]|0)==3){Sn(c[D>>2]|0,c[B>>2]|0);c[k>>2]=wl(c[(c[D>>2]|0)+8>>2]|0,0,0)|0}Pl(c[D>>2]|0,4,4)}}while(0);Tn(c[n>>2]|0);c[C>>2]=c[k>>2];G=c[C>>2]|0;l=H;return G|0}function Pn(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[c[(c[b>>2]|0)+32>>2]>>2]|0)+96|0}function Qn(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;n=v+60|0;o=v+56|0;p=v+52|0;q=v+48|0;r=v+44|0;s=v+40|0;t=v+36|0;u=v+32|0;e=v+28|0;f=v+24|0;g=v+20|0;h=v+16|0;i=v+12|0;j=v+8|0;k=v+4|0;m=v;c[o>>2]=a;c[p>>2]=d;c[f>>2]=0;c[s>>2]=c[(c[o>>2]|0)+52+16>>2];c[r>>2]=(Im(c[s>>2]|0)|0)+1;c[t>>2]=28+(((c[r>>2]|0)-1|0)*20|0)+(c[s>>2]<<1);d=c[t>>2]|0;c[q>>2]=Ve(d,((d|0)<0)<<31>>31)|0;if(!(c[q>>2]|0)){c[n>>2]=7;u=c[n>>2]|0;l=v;return u|0}GR(c[q>>2]|0,0,c[t>>2]|0)|0;c[(c[q>>2]|0)+4>>2]=c[r>>2];c[e>>2]=Ve(((c[s>>2]|0)>>>0>4096?4096:c[s>>2]|0)<<1,0)|0;if(!(c[e>>2]|0))c[f>>2]=7;c[u>>2]=0;while(1){if(c[f>>2]|0)break;if((c[u>>2]|0)>=(c[r>>2]|0))break;c[f>>2]=Jm(c[o>>2]|0,c[u>>2]|0,g,i,h)|0;if(!(c[f>>2]|0)){c[i>>2]=(c[i>>2]|0)+4;if(((c[u>>2]|0)+1|0)==(c[r>>2]|0))c[k>>2]=(c[s>>2]|0)-(c[h>>2]|0);else c[k>>2]=((c[g>>2]|0)-(c[i>>2]|0)|0)/4|0;c[m>>2]=(c[q>>2]|0)+8+((c[(c[q>>2]|0)+4>>2]|0)*20|0)+(c[h>>2]<<1);c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[k>>2]|0))break;b[(c[m>>2]|0)+(c[j>>2]<<1)>>1]=c[j>>2];c[j>>2]=(c[j>>2]|0)+1}Yn(c[i>>2]|0,c[e>>2]|0,c[m>>2]|0,k);c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+16>>2]=c[h>>2];c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+12>>2]=c[k>>2];c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+4>>2]=c[m>>2];c[(c[q>>2]|0)+8+((c[u>>2]|0)*20|0)+8>>2]=c[i>>2]}c[u>>2]=(c[u>>2]|0)+1}Kd(c[e>>2]|0);if(c[f>>2]|0)Tn(c[q>>2]|0);c[c[p>>2]>>2]=c[q>>2];c[n>>2]=c[f>>2];u=c[n>>2]|0;l=v;return u|0}function Rn(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;f=p;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[k>>2]=-1;c[j>>2]=c[c[g>>2]>>2];c[m>>2]=(c[(c[g>>2]|0)+4>>2]|0)-1;while(1){if((c[m>>2]|0)<0)break;c[n>>2]=(c[g>>2]|0)+8+((c[m>>2]|0)*20|0);while(1){if((c[c[n>>2]>>2]|0)>=(c[(c[n>>2]|0)+12>>2]|0))break;c[f>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+((e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)<<2)>>2];if((c[f>>2]|0)>>>0>(c[j>>2]|0)>>>0){o=6;break}d=c[n>>2]|0;c[d>>2]=(c[d>>2]|0)+1}if((o|0)==6?(o=0,(c[f>>2]|0)>>>0<(c[k>>2]|0)>>>0):0){c[k>>2]=c[f>>2];c[c[i>>2]>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(e[(c[(c[n>>2]|0)+4>>2]|0)+(c[c[n>>2]>>2]<<1)>>1]|0)}c[m>>2]=(c[m>>2]|0)+-1}o=c[k>>2]|0;c[c[g>>2]>>2]=o;c[c[h>>2]>>2]=o;l=p;return (c[k>>2]|0)==-1|0}function Sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=l;l=l+32|0;g=f+16|0;h=f+12|0;d=f+8|0;e=f+4|0;i=f;c[g>>2]=a;c[h>>2]=b;c[d>>2]=Pn(c[g>>2]|0)|0;c[i>>2]=(c[g>>2]|0)+52+32;b=(c[g>>2]|0)+112|0;c[b>>2]=(c[b>>2]|0)+1;c[(c[g>>2]|0)+52+16>>2]=0;b=c[i>>2]|0;Xm(b,1+(el(c[i>>2]|0)|0)|0);c[(c[g>>2]|0)+52+32+4>>2]=c[h>>2];Un(c[g>>2]|0);c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+32>>2]=0;c[(c[d>>2]|0)+4+4>>2]=0;c[e>>2]=2;while(1){if((c[e>>2]|0)>=5)break;c[(c[d>>2]|0)+4+(c[e>>2]<<2)>>2]=-1;c[e>>2]=(c[e>>2]|0)+1}l=f;return}function Tn(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);l=b;return}function Un(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;g=h+4|0;c[f>>2]=b;c[g>>2]=An(c[f>>2]|0)|0;c[h>>2]=40;a[(c[f>>2]|0)+52+12>>0]=1;c[(c[f>>2]|0)+52>>2]=3007e3;Vn(1,(c[f>>2]|0)+52|0,40,0,(c[f>>2]|0)+52+40|0);b=(c[g>>2]|0)+48|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));Wn(c[f>>2]|0);b=c[g>>2]|0;d=(c[f>>2]|0)+52|0;e=b+48|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(e|0));l=h;return}function Vn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+48|0;k=o+32|0;q=o+28|0;p=o+24|0;m=o+20|0;n=o+16|0;g=o+12|0;h=o+8|0;i=o+4|0;j=o;c[k>>2]=a;c[q>>2]=b;c[p>>2]=d;c[m>>2]=e;c[n>>2]=f;c[i>>2]=c[q>>2];c[j>>2]=(c[q>>2]|0)+(c[p>>2]|0);if(c[m>>2]|0){c[g>>2]=c[c[m>>2]>>2];c[h>>2]=c[(c[m>>2]|0)+4>>2]}else{c[h>>2]=0;c[g>>2]=0}if(c[k>>2]|0){do{q=c[i>>2]|0;c[i>>2]=q+4;c[g>>2]=(c[g>>2]|0)+((c[q>>2]|0)+(c[h>>2]|0));q=c[i>>2]|0;c[i>>2]=q+4;c[h>>2]=(c[h>>2]|0)+((c[q>>2]|0)+(c[g>>2]|0))}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0);q=c[g>>2]|0;p=c[n>>2]|0;c[p>>2]=q;p=c[h>>2]|0;q=c[n>>2]|0;q=q+4|0;c[q>>2]=p;l=o;return}else{do{c[g>>2]=(c[g>>2]|0)+(((c[c[i>>2]>>2]&255)<<24)+((c[c[i>>2]>>2]&65280)<<8)+((c[c[i>>2]>>2]&16711680)>>>8)+((c[c[i>>2]>>2]&-16777216)>>>24)+(c[h>>2]|0));c[h>>2]=(c[h>>2]|0)+(((c[(c[i>>2]|0)+4>>2]&255)<<24)+((c[(c[i>>2]|0)+4>>2]&65280)<<8)+((c[(c[i>>2]|0)+4>>2]&16711680)>>>8)+((c[(c[i>>2]|0)+4>>2]&-16777216)>>>24)+(c[g>>2]|0));c[i>>2]=(c[i>>2]|0)+8}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0);q=c[g>>2]|0;p=c[n>>2]|0;c[p>>2]=q;p=c[h>>2]|0;q=c[n>>2]|0;q=q+4|0;c[q>>2]=p;l=o;return}}function Wn(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if((d[(c[b>>2]|0)+43>>0]|0|0)==2){l=e;return}Xn(c[(c[b>>2]|0)+4>>2]|0);l=e;return}function Xn(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;qb[c[(c[c[d>>2]>>2]|0)+60>>2]&255](c[d>>2]|0);l=b;return}function Yn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+160|0;m=s+144|0;n=s+140|0;o=s+136|0;p=s+132|0;q=s+128|0;r=s+124|0;f=s+120|0;g=s+116|0;h=s+112|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=c[c[p>>2]>>2];c[r>>2]=0;c[f>>2]=0;c[h>>2]=0;a=i;b=a+104|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[q>>2]|0))break;c[r>>2]=1;c[f>>2]=(c[o>>2]|0)+(c[g>>2]<<1);c[h>>2]=0;while(1){if(!(c[g>>2]&1<>2]))break;c[j>>2]=i+(c[h>>2]<<3);Zn(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0,c[c[j>>2]>>2]|0,f,r,c[n>>2]|0);c[h>>2]=(c[h>>2]|0)+1}c[i+(c[h>>2]<<3)+4>>2]=c[f>>2];c[i+(c[h>>2]<<3)>>2]=c[r>>2];c[g>>2]=(c[g>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1;while(1){if((c[h>>2]|0)>>>0>=13)break;if(c[q>>2]&1<>2]|0){c[k>>2]=i+(c[h>>2]<<3);Zn(c[m>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[c[k>>2]>>2]|0,f,r,c[n>>2]|0)}c[h>>2]=(c[h>>2]|0)+1}c[c[p>>2]>>2]=c[r>>2];l=s;return}function Zn(a,d,f,g,h,i){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y+32|0;j=y+28|0;k=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y+48|0;s=y;c[t>>2]=a;c[u>>2]=d;c[v>>2]=f;c[w>>2]=g;c[j>>2]=h;c[k>>2]=i;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=c[c[j>>2]>>2];c[q>>2]=c[c[w>>2]>>2];while(1){if((c[n>>2]|0)>=(c[p>>2]|0)?(c[m>>2]|0)>=(c[v>>2]|0):0)break;do if((c[m>>2]|0)<(c[v>>2]|0)){if((c[n>>2]|0)<(c[p>>2]|0)?(c[(c[t>>2]|0)+((e[(c[u>>2]|0)+(c[m>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0>=(c[(c[t>>2]|0)+((e[(c[q>>2]|0)+(c[n>>2]<<1)>>1]|0)<<2)>>2]|0)>>>0:0){x=8;break}h=c[u>>2]|0;i=c[m>>2]|0;c[m>>2]=i+1;b[r>>1]=b[h+(i<<1)>>1]|0}else x=8;while(0);if((x|0)==8){x=0;h=c[q>>2]|0;i=c[n>>2]|0;c[n>>2]=i+1;b[r>>1]=b[h+(i<<1)>>1]|0}c[s>>2]=c[(c[t>>2]|0)+((e[r>>1]|0)<<2)>>2];g=b[r>>1]|0;h=c[k>>2]|0;i=c[o>>2]|0;c[o>>2]=i+1;b[h+(i<<1)>>1]=g;if((c[m>>2]|0)>=(c[v>>2]|0))continue;if((c[(c[t>>2]|0)+((e[(c[u>>2]|0)+(c[m>>2]<<1)>>1]|0)<<2)>>2]|0)!=(c[s>>2]|0))continue;c[m>>2]=(c[m>>2]|0)+1}c[c[w>>2]>>2]=c[u>>2];c[c[j>>2]>>2]=c[o>>2];MR(c[u>>2]|0,c[k>>2]|0,c[o>>2]<<1|0)|0;l=y;return}function _n(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+128|0;h=p+120|0;i=p+116|0;j=p+112|0;k=p+104|0;m=p+56|0;n=p+8|0;o=p;c[i>>2]=b;c[j>>2]=f;c[o>>2]=An(c[i>>2]|0)|0;b=m;f=c[o>>2]|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));Wn(c[i>>2]|0);b=n;f=(c[o>>2]|0)+48|0;g=b+48|0;do{a[b>>0]=a[f>>0]|0;b=b+1|0;f=f+1|0}while((b|0)<(g|0));if(wQ(m,n,48)|0){c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}if(!(d[m+12>>0]|0)){c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}Vn(1,m,40,0,k);if((c[k>>2]|0)==(c[m+40>>2]|0)?(c[k+4>>2]|0)==(c[m+40+4>>2]|0):0){if(wQ((c[i>>2]|0)+52|0,m,48)|0){c[c[j>>2]>>2]=1;b=(c[i>>2]|0)+52|0;f=m;g=b+48|0;do{c[b>>2]=c[f>>2];b=b+4|0;f=f+4|0}while((b|0)<(g|0));c[(c[i>>2]|0)+36>>2]=((e[(c[i>>2]|0)+52+14>>1]|0)&65024)+(((e[(c[i>>2]|0)+52+14>>1]|0)&1)<<16)}c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}function $n(e){e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+144|0;D=E+16|0;g=E+96|0;s=E+92|0;v=E+88|0;w=E+8|0;x=E+80|0;y=E+76|0;A=E+72|0;B=E+104|0;C=E+68|0;h=E+64|0;i=E+60|0;j=E+56|0;k=E;m=E+52|0;n=E+48|0;o=E+44|0;p=E+40|0;q=E+36|0;r=E+32|0;t=E+28|0;u=E+24|0;c[s>>2]=e;c[x>>2]=0;c[x+4>>2]=0;c[y>>2]=1+(d[(c[s>>2]|0)+45>>0]|0);c[A>>2]=8-(c[y>>2]|0);c[v>>2]=Kn(c[s>>2]|0,c[y>>2]|0,c[A>>2]|0)|0;if(c[v>>2]|0){c[g>>2]=c[v>>2];D=c[g>>2]|0;l=E;return D|0}e=(c[s>>2]|0)+52|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));c[v>>2]=Ik(c[(c[s>>2]|0)+8>>2]|0,w)|0;a:do if(!(c[v>>2]|0)){f=w;e=c[f+4>>2]|0;do if((e|0)>0|(e|0)==0&(c[f>>2]|0)>>>0>32){c[C>>2]=0;c[v>>2]=km(c[(c[s>>2]|0)+8>>2]|0,B,32,0,0)|0;if(c[v>>2]|0)break a;c[n>>2]=el(B)|0;c[m>>2]=el(B+8|0)|0;if((((c[n>>2]&-2|0)==931071618?!(((c[m>>2]|0)>65536?1:(c[m>>2]&(c[m>>2]|0)-1|0)!=0)|(c[m>>2]|0)<512):0)?(a[(c[s>>2]|0)+52+13>>0]=c[n>>2]&1,c[(c[s>>2]|0)+36>>2]=c[m>>2],n=el(B+12|0)|0,c[(c[s>>2]|0)+112>>2]=n,n=(c[s>>2]|0)+52+32|0,f=B+16|0,a[n>>0]=a[f>>0]|0,a[n+1>>0]=a[f+1>>0]|0,a[n+2>>0]=a[f+2>>0]|0,a[n+3>>0]=a[f+3>>0]|0,a[n+4>>0]=a[f+4>>0]|0,a[n+5>>0]=a[f+5>>0]|0,a[n+6>>0]=a[f+6>>0]|0,a[n+7>>0]=a[f+7>>0]|0,Vn((d[(c[s>>2]|0)+52+13>>0]|0)==((a[936]|0)==0|0)&1,B,24,0,(c[s>>2]|0)+52+24|0),n=c[(c[s>>2]|0)+52+24>>2]|0,(n|0)==(el(B+24|0)|0)):0)?(n=c[(c[s>>2]|0)+52+24+4>>2]|0,(n|0)==(el(B+28|0)|0)):0){c[o>>2]=el(B+4|0)|0;if((c[o>>2]|0)!=3007e3){c[v>>2]=Pe(54951)|0;break}c[h>>2]=(c[m>>2]|0)+24;B=c[h>>2]|0;c[C>>2]=Ve(B,((B|0)<0)<<31>>31)|0;if(!(c[C>>2]|0)){c[v>>2]=7;break a}c[i>>2]=(c[C>>2]|0)+24;c[j>>2]=0;B=k;c[B>>2]=32;c[B+4>>2]=0;while(1){f=k;o=c[h>>2]|0;o=IR(c[f>>2]|0,c[f+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;f=z;B=w;n=c[B+4>>2]|0;if(!((f|0)<(n|0)|((f|0)==(n|0)?o>>>0<=(c[B>>2]|0)>>>0:0)))break;c[j>>2]=(c[j>>2]|0)+1;B=k;c[v>>2]=km(c[(c[s>>2]|0)+8>>2]|0,c[C>>2]|0,c[h>>2]|0,c[B>>2]|0,c[B+4>>2]|0)|0;if(c[v>>2]|0)break;c[p>>2]=ao(c[s>>2]|0,q,r,c[i>>2]|0,c[C>>2]|0)|0;if(!(c[p>>2]|0))break;c[v>>2]=bo(c[s>>2]|0,c[j>>2]|0,c[q>>2]|0)|0;if(c[v>>2]|0)break;if(c[r>>2]|0){c[(c[s>>2]|0)+52+16>>2]=c[j>>2];c[(c[s>>2]|0)+52+20>>2]=c[r>>2];b[(c[s>>2]|0)+52+14>>1]=c[m>>2]&65280|c[m>>2]>>16;c[x>>2]=c[(c[s>>2]|0)+52+24>>2];c[x+4>>2]=c[(c[s>>2]|0)+52+24+4>>2]}o=c[h>>2]|0;B=k;o=IR(c[B>>2]|0,c[B+4>>2]|0,o|0,((o|0)<0)<<31>>31|0)|0;B=k;c[B>>2]=o;c[B+4>>2]=z}Kd(c[C>>2]|0)}}while(0);if(!(c[v>>2]|0)){c[(c[s>>2]|0)+52+24>>2]=c[x>>2];c[(c[s>>2]|0)+52+24+4>>2]=c[x+4>>2];Un(c[s>>2]|0);c[t>>2]=Pn(c[s>>2]|0)|0;c[c[t>>2]>>2]=0;c[(c[t>>2]|0)+32>>2]=c[(c[s>>2]|0)+52+16>>2];c[(c[t>>2]|0)+4>>2]=0;c[u>>2]=1;while(1){if((c[u>>2]|0)>=5)break;c[(c[t>>2]|0)+4+(c[u>>2]<<2)>>2]=-1;c[u>>2]=(c[u>>2]|0)+1}if(c[(c[s>>2]|0)+52+16>>2]|0)c[(c[t>>2]|0)+4+4>>2]=c[(c[s>>2]|0)+52+16>>2];if(c[(c[s>>2]|0)+52+20>>2]|0){C=c[(c[s>>2]|0)+108>>2]|0;c[D>>2]=c[(c[s>>2]|0)+52+16>>2];c[D+4>>2]=C;hd(283,21838,D)}}}while(0);Pl(c[s>>2]|0,c[y>>2]|0,c[A>>2]|0);c[g>>2]=c[v>>2];D=c[g>>2]|0;l=E;return D|0}function ao(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;n=s+32|0;o=s+28|0;p=s+24|0;q=s+20|0;r=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[i>>2]=h;c[k>>2]=(c[o>>2]|0)+52+24;if(wQ((c[o>>2]|0)+52+32|0,(c[i>>2]|0)+8|0,8)|0){c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}c[m>>2]=el(c[i>>2]|0)|0;if(!(c[m>>2]|0)){c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}c[j>>2]=(d[(c[o>>2]|0)+52+13>>0]|0)==((a[936]|0)==0|0)&1;Vn(c[j>>2]|0,c[i>>2]|0,8,c[k>>2]|0,c[k>>2]|0);Vn(c[j>>2]|0,c[r>>2]|0,c[(c[o>>2]|0)+36>>2]|0,c[k>>2]|0,c[k>>2]|0);r=c[c[k>>2]>>2]|0;if((r|0)==(el((c[i>>2]|0)+16|0)|0)?(r=c[(c[k>>2]|0)+4>>2]|0,(r|0)==(el((c[i>>2]|0)+20|0)|0)):0){c[c[p>>2]>>2]=c[m>>2];r=el((c[i>>2]|0)+4|0)|0;c[c[q>>2]>>2]=r;c[n>>2]=1;r=c[n>>2]|0;l=s;return r|0}c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}function bo(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t+44|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t+28|0;q=t+24|0;r=t+20|0;f=t+16|0;g=t+12|0;h=t+8|0;i=t+4|0;j=t;c[m>>2]=a;c[n>>2]=d;c[o>>2]=e;c[q>>2]=0;c[r>>2]=0;c[f>>2]=0;e=c[m>>2]|0;c[p>>2]=Jm(e,Im(c[n>>2]|0)|0,f,r,q)|0;do if(!(c[p>>2]|0)){c[h>>2]=(c[n>>2]|0)-(c[q>>2]|0);if((c[h>>2]|0)==1){c[j>>2]=(c[f>>2]|0)+16384-((c[r>>2]|0)+4);GR((c[r>>2]|0)+4|0,0,c[j>>2]|0)|0}if(c[(c[r>>2]|0)+(c[h>>2]<<2)>>2]|0)un(c[m>>2]|0);c[i>>2]=c[h>>2];c[g>>2]=Km(c[o>>2]|0)|0;while(1){if(!(b[(c[f>>2]|0)+(c[g>>2]<<1)>>1]|0)){s=11;break}q=c[i>>2]|0;c[i>>2]=q+-1;if(!q)break;c[g>>2]=Lm(c[g>>2]|0)|0}if((s|0)==11){c[(c[r>>2]|0)+(c[h>>2]<<2)>>2]=c[o>>2];b[(c[f>>2]|0)+(c[g>>2]<<1)>>1]=c[h>>2];break}c[k>>2]=um(54820)|0;s=c[k>>2]|0;l=t;return s|0}while(0);c[k>>2]=c[p>>2];s=c[k>>2]|0;l=t;return s|0}function co(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;b=f+4|0;e=f;c[b>>2]=a;if((c[b>>2]|0?c[c[b>>2]>>2]|0:0)?(c[(c[b>>2]|0)+8>>2]|0)>=0:0){c[e>>2]=yb[c[c[b>>2]>>2]&255](c[(c[b>>2]|0)+4>>2]|0,c[(c[b>>2]|0)+8>>2]|0)|0;b=(c[b>>2]|0)+8|0;if(!(c[e>>2]|0))a=-1;else a=(c[b>>2]|0)+1|0;c[b>>2]=a;c[d>>2]=c[e>>2];e=c[d>>2]|0;l=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}function eo(){return 48}function fo(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((c[(c[b>>2]|0)+4>>2]|0)<=72){b=72;l=d;return b|0}b=c[(c[b>>2]|0)+4>>2]|0;l=d;return b|0}function go(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}c[h>>2]=(_c(c[f>>2]|0)|0)+1;b=c[h>>2]|0;c[g>>2]=md(c[e>>2]|0,b,((b|0)<0)<<31>>31)|0;if(c[g>>2]|0)MR(c[g>>2]|0,c[f>>2]|0,c[h>>2]|0)|0;c[d>>2]=c[g>>2];h=c[d>>2]|0;l=i;return h|0}function ho(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[g>>2]=b;c[h>>2]=c[k>>2];c[i>>2]=0;if(c[(c[h>>2]|0)+44>>2]|0){c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}do if(d[(c[h>>2]|0)+21>>0]|0|0){if(((d[(c[h>>2]|0)+21>>0]|0)&3|0)==0?((e[(c[g>>2]|0)+24>>1]|0)&8|0)==0:0)break;c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}while(0);c[(c[g>>2]|0)+12>>2]=0;k=(El(c[h>>2]|0)|0)!=0;a=c[g>>2]|0;if(k){c[i>>2]=an(a)|0;if(!(c[i>>2]|0))c[i>>2]=jo(c[h>>2]|0,c[g>>2]|0,0,0)|0}else{if(!(!((e[a+24>>1]|0)&8|0)?(d[(c[h>>2]|0)+17>>0]|0|0)!=3:0))c[i>>2]=ko(c[h>>2]|0,1)|0;if(!(c[i>>2]|0))c[i>>2]=lo(c[h>>2]|0,c[g>>2]|0)|0}if(!(c[i>>2]|0))Sk(c[g>>2]|0);c[f>>2]=ol(c[h>>2]|0,c[i>>2]|0)|0;k=c[f>>2]|0;l=j;return k|0}function io(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;i=p+4|0;j=p;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[i>>2]=g;c[j>>2]=h;b=c[j>>2]|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[(c[j>>2]|0)+24>>2]=1;c[(c[j>>2]|0)+28>>2]=c[m>>2];a[(c[j>>2]|0)+32>>0]=c[n>>2];a[(c[j>>2]|0)+33>>0]=2;c[(c[j>>2]|0)+36>>2]=c[o>>2];c[(c[j>>2]|0)+40>>2]=c[i>>2];c[(c[j>>2]|0)+16>>2]=100;c[(c[j>>2]|0)+20>>2]=1;o=Lk(c[j>>2]|0,c[k>>2]|0)|0;l=p;return o|0}function jo(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+28|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;a:do if(c[m>>2]|0){c[h>>2]=j;c[o>>2]=0;c[g>>2]=c[j>>2];while(1){f=c[g>>2]|0;c[c[h>>2]>>2]=f;if(!f)break a;if((c[(c[g>>2]|0)+20>>2]|0)>>>0<=(c[k>>2]|0)>>>0){c[h>>2]=(c[g>>2]|0)+12;c[o>>2]=(c[o>>2]|0)+1}c[g>>2]=c[(c[g>>2]|0)+12>>2]}}else c[o>>2]=1;while(0);f=(c[i>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+(c[o>>2]|0);if((c[(c[j>>2]|0)+20>>2]|0)==1)no(c[j>>2]|0);c[n>>2]=so(c[(c[i>>2]|0)+216>>2]|0,c[(c[i>>2]|0)+160>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,d[(c[i>>2]|0)+11>>0]|0)|0;if(c[n>>2]|0){o=c[n>>2]|0;l=p;return o|0}if(!(c[(c[i>>2]|0)+96>>2]|0)){o=c[n>>2]|0;l=p;return o|0}c[g>>2]=c[j>>2];while(1){if(!(c[g>>2]|0))break;qm(c[(c[i>>2]|0)+96>>2]|0,c[(c[g>>2]|0)+20>>2]|0,c[(c[g>>2]|0)+4>>2]|0);c[g>>2]=c[(c[g>>2]|0)+12>>2]}o=c[n>>2]|0;l=p;return o|0}function ko(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o;m=o+40|0;n=o+28|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=oo(c[g>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}do if(!(a[(c[g>>2]|0)+7>>0]|0)){if(c[c[(c[g>>2]|0)+68>>2]>>2]|0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0){c[j>>2]=hm(c[(c[g>>2]|0)+64>>2]|0)|0;if(!(c[j>>2]&512)){a[n>>0]=a[21804]|0;a[n+1>>0]=a[21805]|0;a[n+2>>0]=a[21806]|0;a[n+3>>0]=a[21807]|0;a[n+4>>0]=a[21808]|0;a[n+5>>0]=a[21809]|0;a[n+6>>0]=a[21810]|0;a[n+7>>0]=a[21811]|0;Xm(n+8|0,c[(c[g>>2]|0)+48>>2]|0);b=nn(c[g>>2]|0)|0;e=k;c[e>>2]=b;c[e+4>>2]=z;e=k;c[i>>2]=km(c[(c[g>>2]|0)+68>>2]|0,m,8,c[e>>2]|0,c[e+4>>2]|0)|0;if((c[i>>2]|0)==0?0==(wQ(m,21804,8)|0):0){m=k;c[i>>2]=Ol(c[(c[g>>2]|0)+68>>2]|0,47924,1,c[m>>2]|0,c[m+4>>2]|0)|0}if((c[i>>2]|0)!=0&(c[i>>2]|0)!=522){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}if((d[(c[g>>2]|0)+8>>0]|0?0==(c[j>>2]&1024|0):0)?(c[i>>2]=xl(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|0)|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}m=(c[g>>2]|0)+88|0;c[i>>2]=Ol(c[(c[g>>2]|0)+68>>2]|0,n,12,c[m>>2]|0,c[m+4>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}}if(0==(c[j>>2]&1024|0)?(c[i>>2]=xl(c[(c[g>>2]|0)+68>>2]|0,d[(c[g>>2]|0)+12>>0]|((d[(c[g>>2]|0)+12>>0]|0)==3?16:0))|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}k=(c[g>>2]|0)+80|0;m=c[k+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[k>>2];c[n+4>>2]=m;if(!(c[h>>2]|0))break;if(c[j>>2]&512)break;c[(c[g>>2]|0)+48>>2]=0;c[i>>2]=mn(c[g>>2]|0)|0;if(!(c[i>>2]|0))break;c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}k=(c[g>>2]|0)+80|0;m=c[k+4>>2]|0;n=(c[g>>2]|0)+88|0;c[n>>2]=c[k>>2];c[n+4>>2]=m}while(0);po(c[(c[g>>2]|0)+212>>2]|0);a[(c[g>>2]|0)+17>>0]=4;c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}function lo(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;g=n+32|0;h=n+28|0;i=n+24|0;f=n+8|0;j=n+20|0;k=n;m=n+16|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=0;if(!(c[c[(c[g>>2]|0)+64>>2]>>2]|0))c[i>>2]=mo(c[g>>2]|0,c[(c[g>>2]|0)+64>>2]|0,c[(c[g>>2]|0)+152>>2]|0)|0;do if((c[i>>2]|0)==0?(c[(c[g>>2]|0)+40>>2]|0)>>>0<(c[(c[g>>2]|0)+28>>2]|0)>>>0:0){if((c[(c[h>>2]|0)+12>>2]|0)==0?(c[(c[h>>2]|0)+20>>2]|0)>>>0<=(c[(c[g>>2]|0)+40>>2]|0)>>>0:0)break;b=c[(c[g>>2]|0)+160>>2]|0;b=RR(b|0,((b|0)<0)<<31>>31|0,c[(c[g>>2]|0)+28>>2]|0,0)|0;d=f;c[d>>2]=b;c[d+4>>2]=z;Gn(c[(c[g>>2]|0)+64>>2]|0,5,f);c[(c[g>>2]|0)+40>>2]=c[(c[g>>2]|0)+28>>2]}while(0);while(1){if(!((c[i>>2]|0)==0?(c[h>>2]|0)!=0:0))break;c[j>>2]=c[(c[h>>2]|0)+20>>2];if((c[j>>2]|0)>>>0<=(c[(c[g>>2]|0)+28>>2]|0)>>>0?0==((e[(c[h>>2]|0)+24>>1]|0)&16|0):0){d=c[(c[g>>2]|0)+160>>2]|0;d=RR((c[j>>2]|0)-1|0,0,d|0,((d|0)<0)<<31>>31|0)|0;f=k;c[f>>2]=d;c[f+4>>2]=z;if((c[(c[h>>2]|0)+20>>2]|0)==1)no(c[h>>2]|0);c[m>>2]=c[(c[h>>2]|0)+4>>2];f=k;c[i>>2]=Ol(c[(c[g>>2]|0)+64>>2]|0,c[m>>2]|0,c[(c[g>>2]|0)+160>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if((c[j>>2]|0)==1){b=(c[g>>2]|0)+112|0;d=(c[m>>2]|0)+24|0;f=b+16|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0))}if((c[j>>2]|0)>>>0>(c[(c[g>>2]|0)+36>>2]|0)>>>0)c[(c[g>>2]|0)+36>>2]=c[j>>2];f=(c[g>>2]|0)+192+8|0;c[f>>2]=(c[f>>2]|0)+1;qm(c[(c[g>>2]|0)+96>>2]|0,c[j>>2]|0,c[(c[h>>2]|0)+4>>2]|0)}c[h>>2]=c[(c[h>>2]|0)+12>>2]}l=n;return c[i>>2]|0}function mo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;c[g>>2]=c[g>>2]|30;c[e>>2]=Zl(c[c[i>>2]>>2]|0,0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return c[e>>2]|0}function no(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=(el((c[(c[d>>2]|0)+16>>2]|0)+112|0)|0)+1;Xm((c[(c[d>>2]|0)+4>>2]|0)+24|0,c[e>>2]|0);Xm((c[(c[d>>2]|0)+4>>2]|0)+92|0,c[e>>2]|0);Xm((c[(c[d>>2]|0)+4>>2]|0)+96|0,3015001);l=b;return}function oo(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+44>>2];if((c[d>>2]|0)==0?0==(El(c[b>>2]|0)|0):0)c[d>>2]=qo(c[b>>2]|0,4)|0;l=e;return c[d>>2]|0}function po(a){a=a|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];while(1){if(!(c[f>>2]|0))break;a=(c[f>>2]|0)+24|0;b[a>>1]=(e[a>>1]|0)&-9;c[f>>2]=c[(c[f>>2]|0)+32>>2]}c[(c[d>>2]|0)+8>>2]=c[(c[d>>2]|0)+4>>2];l=g;return}function qo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;while(1){c[f>>2]=ro(c[d>>2]|0,c[e>>2]|0)|0;if((c[f>>2]|0)!=5){a=4;break}if(!(tb[c[(c[d>>2]|0)+184>>2]&255](c[(c[d>>2]|0)+188>>2]|0)|0)){a=4;break}}if((a|0)==4){l=g;return c[f>>2]|0}return 0}function ro(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;if((d[(c[f>>2]|0)+18>>0]|0|0)>=(c[g>>2]|0)?(d[(c[f>>2]|0)+18>>0]|0|0)!=5:0){h=c[h>>2]|0;l=i;return h|0}if(d[(c[f>>2]|0)+14>>0]|0|0)b=0;else b=En(c[(c[f>>2]|0)+64>>2]|0,c[g>>2]|0)|0;c[h>>2]=b;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}if(!((c[g>>2]|0)==4?1:(d[(c[f>>2]|0)+18>>0]|0|0)!=5)){h=c[h>>2]|0;l=i;return h|0}a[(c[f>>2]|0)+18>>0]=c[g>>2];h=c[h>>2]|0;l=i;return h|0}function so(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+176|0;J=N+136|0;K=N+132|0;L=N+128|0;M=N+124|0;u=N+120|0;v=N+116|0;w=N+112|0;x=N+108|0;y=N+104|0;A=N+100|0;B=N+96|0;C=N+92|0;D=N+88|0;E=N+40|0;F=N+16|0;p=N+84|0;m=N+80|0;n=N+144|0;o=N+72|0;q=N+64|0;r=N+60|0;s=N+8|0;t=N+56|0;G=N+52|0;H=N+48|0;I=N;c[K>>2]=f;c[L>>2]=g;c[M>>2]=h;c[u>>2]=i;c[v>>2]=j;c[w>>2]=k;c[B>>2]=0;c[C>>2]=0;c[p>>2]=0;c[m>>2]=An(c[K>>2]|0)|0;if(wQ((c[K>>2]|0)+52|0,c[m>>2]|0,48)|0)c[p>>2]=(c[(c[m>>2]|0)+16>>2]|0)+1;k=to(c[K>>2]|0)|0;c[x>>2]=k;if(k){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}c[y>>2]=c[(c[K>>2]|0)+52+16>>2];if(!(c[y>>2]|0)){Xm(n,931071618|(a[936]|0)==0);Xm(n+4|0,3007e3);Xm(n+8|0,c[L>>2]|0);Xm(n+12|0,c[(c[K>>2]|0)+112>>2]|0);if(!(c[(c[K>>2]|0)+112>>2]|0))Ze(8,(c[K>>2]|0)+52+32|0);k=n+16|0;j=(c[K>>2]|0)+52+32|0;a[k>>0]=a[j>>0]|0;a[k+1>>0]=a[j+1>>0]|0;a[k+2>>0]=a[j+2>>0]|0;a[k+3>>0]=a[j+3>>0]|0;a[k+4>>0]=a[j+4>>0]|0;a[k+5>>0]=a[j+5>>0]|0;a[k+6>>0]=a[j+6>>0]|0;a[k+7>>0]=a[j+7>>0]|0;Vn(1,n,24,0,o);Xm(n+24|0,c[o>>2]|0);Xm(n+28|0,c[o+4>>2]|0);c[(c[K>>2]|0)+36>>2]=c[L>>2];a[(c[K>>2]|0)+52+13>>0]=(a[936]|0)==0;c[(c[K>>2]|0)+52+24>>2]=c[o>>2];c[(c[K>>2]|0)+52+24+4>>2]=c[o+4>>2];a[(c[K>>2]|0)+47>>0]=1;c[x>>2]=Ol(c[(c[K>>2]|0)+8>>2]|0,n,32,0,0)|0;if(c[x>>2]|0){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}if((c[w>>2]|0?(d[(c[K>>2]|0)+48>>0]|0)!=0:0)?(c[x>>2]=xl(c[(c[K>>2]|0)+8>>2]|0,c[w>>2]&19)|0,c[x>>2]|0):0){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}}c[F>>2]=c[K>>2];c[F+4>>2]=c[(c[K>>2]|0)+8>>2];j=F+8|0;c[j>>2]=0;c[j+4>>2]=0;c[F+16>>2]=c[w>>2];c[F+20>>2]=c[L>>2];j=(c[L>>2]|0)+24|0;j=RR((c[y>>2]|0)+1-1|0,0,j|0,((j|0)<0)<<31>>31|0)|0;j=IR(32,0,j|0,z|0)|0;k=E;c[k>>2]=j;c[k+4>>2]=z;c[D>>2]=(c[L>>2]|0)+24;c[A>>2]=c[M>>2];while(1){if(!(c[A>>2]|0)){f=30;break}if((c[p>>2]|0?((c[v>>2]|0)==0?1:(c[(c[A>>2]|0)+12>>2]|0)!=0):0)?(c[r>>2]=0,vm(c[K>>2]|0,c[(c[A>>2]|0)+20>>2]|0,r)|0,(c[r>>2]|0)>>>0>=(c[p>>2]|0)>>>0):0){j=(c[L>>2]|0)+24|0;j=RR((c[r>>2]|0)-1|0,0,j|0,((j|0)<0)<<31>>31|0)|0;j=IR(32,0,j|0,z|0)|0;j=IR(j|0,z|0,24,0)|0;k=s;c[k>>2]=j;c[k+4>>2]=z;if(!((c[(c[K>>2]|0)+104>>2]|0)!=0?(c[r>>2]|0)>>>0>=(c[(c[K>>2]|0)+104>>2]|0)>>>0:0))c[(c[K>>2]|0)+104>>2]=c[r>>2];c[t>>2]=c[(c[A>>2]|0)+4>>2];k=s;c[x>>2]=Ol(c[(c[K>>2]|0)+8>>2]|0,c[t>>2]|0,c[L>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[x>>2]|0){f=22;break}g=(c[A>>2]|0)+24|0;f=g;g=e[g>>1]&-65}else{c[y>>2]=(c[y>>2]|0)+1;if(c[v>>2]|0)f=(c[(c[A>>2]|0)+12>>2]|0)==0?c[u>>2]|0:0;else f=0;c[q>>2]=f;k=E;c[x>>2]=uo(F,c[A>>2]|0,c[q>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;if(c[x>>2]|0){f=27;break}c[B>>2]=c[A>>2];f=c[D>>2]|0;g=E;f=IR(c[g>>2]|0,c[g+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;g=E;c[g>>2]=f;c[g+4>>2]=z;g=(c[A>>2]|0)+24|0;f=g;g=e[g>>1]|64}b[f>>1]=g;c[A>>2]=c[(c[A>>2]|0)+12>>2]}if((f|0)==22){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}else if((f|0)==27){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}else if((f|0)==30){if((c[v>>2]|0?c[(c[K>>2]|0)+104>>2]|0:0)?(c[x>>2]=vo(c[K>>2]|0,c[y>>2]|0)|0,c[x>>2]|0):0){c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}if(c[v>>2]|0?c[w>>2]&32|0:0){c[G>>2]=1;a:do if(a[(c[K>>2]|0)+49>>0]|0){c[H>>2]=im(c[(c[K>>2]|0)+8>>2]|0)|0;t=E;s=c[H>>2]|0;s=IR(c[t>>2]|0,c[t+4>>2]|0,s|0,((s|0)<0)<<31>>31|0)|0;s=FR(s|0,z|0,1,0)|0;t=c[H>>2]|0;t=LR(s|0,z|0,t|0,((t|0)<0)<<31>>31|0)|0;H=c[H>>2]|0;H=RR(t|0,z|0,H|0,((H|0)<0)<<31>>31|0)|0;t=F+8|0;c[t>>2]=H;c[t+4>>2]=z;t=F+8|0;H=E;c[G>>2]=((c[t>>2]|0)==(c[H>>2]|0)?(c[t+4>>2]|0)==(c[H+4>>2]|0):0)&1;while(1){t=E;r=c[t+4>>2]|0;H=F+8|0;s=c[H+4>>2]|0;if(!((r|0)<(s|0)|((r|0)==(s|0)?(c[t>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)))break a;H=E;c[x>>2]=uo(F,c[B>>2]|0,c[u>>2]|0,c[H>>2]|0,c[H+4>>2]|0)|0;if(c[x>>2]|0)break;t=c[D>>2]|0;H=E;t=IR(c[H>>2]|0,c[H+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;H=E;c[H>>2]=t;c[H+4>>2]=z;c[C>>2]=(c[C>>2]|0)+1}c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}while(0);if(c[G>>2]|0)c[x>>2]=xl(c[F+4>>2]|0,c[w>>2]&19)|0}if((c[v>>2]|0?d[(c[K>>2]|0)+47>>0]|0:0)?(H=(c[K>>2]|0)+16|0,G=c[H+4>>2]|0,(G|0)>0|(G|0)==0&(c[H>>2]|0)>>>0>=0):0){H=(c[K>>2]|0)+16|0;E=c[H+4>>2]|0;G=I;c[G>>2]=c[H>>2];c[G+4>>2]=E;G=(c[L>>2]|0)+24|0;G=RR((c[y>>2]|0)+(c[C>>2]|0)+1-1|0,0,G|0,((G|0)<0)<<31>>31|0)|0;G=IR(32,0,G|0,z|0)|0;E=z;H=(c[K>>2]|0)+16|0;F=c[H+4>>2]|0;if((E|0)>(F|0)|((E|0)==(F|0)?G>>>0>(c[H>>2]|0)>>>0:0)){G=(c[L>>2]|0)+24|0;G=RR((c[y>>2]|0)+(c[C>>2]|0)+1-1|0,0,G|0,((G|0)<0)<<31>>31|0)|0;G=IR(32,0,G|0,z|0)|0;H=I;c[H>>2]=G;c[H+4>>2]=z}Hn(c[K>>2]|0,c[I>>2]|0,c[I+4>>2]|0);a[(c[K>>2]|0)+47>>0]=0}c[y>>2]=c[(c[K>>2]|0)+52+16>>2];c[A>>2]=c[M>>2];while(1){if(!(c[A>>2]|0?(c[x>>2]|0)==0:0))break;if(e[(c[A>>2]|0)+24>>1]&64|0){c[y>>2]=(c[y>>2]|0)+1;c[x>>2]=bo(c[K>>2]|0,c[y>>2]|0,c[(c[A>>2]|0)+20>>2]|0)|0}c[A>>2]=c[(c[A>>2]|0)+12>>2]}while(1){if(!((c[x>>2]|0)==0?(c[C>>2]|0)>0:0))break;c[y>>2]=(c[y>>2]|0)+1;c[C>>2]=(c[C>>2]|0)+-1;c[x>>2]=bo(c[K>>2]|0,c[y>>2]|0,c[(c[B>>2]|0)+20>>2]|0)|0}if(!(c[x>>2]|0)){b[(c[K>>2]|0)+52+14>>1]=c[L>>2]&65280|c[L>>2]>>16;c[(c[K>>2]|0)+52+16>>2]=c[y>>2];if(c[v>>2]|0){M=(c[K>>2]|0)+52+8|0;c[M>>2]=(c[M>>2]|0)+1;c[(c[K>>2]|0)+52+20>>2]=c[u>>2]}if(c[v>>2]|0){Un(c[K>>2]|0);c[(c[K>>2]|0)+12>>2]=c[y>>2]}}c[J>>2]=c[x>>2];M=c[J>>2]|0;l=N;return M|0}return 0}function to(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=0;if(!(b[(c[e>>2]|0)+40>>1]|0)){c[h>>2]=Pn(c[e>>2]|0)|0;do if((c[c[h>>2]>>2]|0)>>>0>0){Ze(4,i);c[f>>2]=Kn(c[e>>2]|0,4,4)|0;if(!(c[f>>2]|0)){Sn(c[e>>2]|0,c[i>>2]|0);Pl(c[e>>2]|0,4,4);break}if((c[f>>2]|0)!=5){c[d>>2]=c[f>>2];j=c[d>>2]|0;l=k;return j|0}}while(0);Ml(c[e>>2]|0,3);b[(c[e>>2]|0)+40>>1]=-1;c[g>>2]=0;do{h=c[e>>2]|0;i=(c[g>>2]|0)+1|0;c[g>>2]=i;c[f>>2]=yo(h,j,1,i)|0}while((c[f>>2]|0)==-1)}c[d>>2]=c[f>>2];j=c[d>>2]|0;l=k;return j|0}function uo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+64|0;i=m+28|0;j=m+24|0;p=m+20|0;o=m+16|0;k=m;g=m+12|0;h=m+8|0;n=m+32|0;c[j>>2]=a;c[p>>2]=b;c[o>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;c[h>>2]=c[(c[p>>2]|0)+4>>2];wo(c[c[j>>2]>>2]|0,c[(c[p>>2]|0)+20>>2]|0,c[o>>2]|0,c[h>>2]|0,n);f=k;c[g>>2]=xo(c[j>>2]|0,n,24,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=c[g>>2];p=c[i>>2]|0;l=m;return p|0}else{f=c[j>>2]|0;n=c[h>>2]|0;o=c[(c[j>>2]|0)+20>>2]|0;p=k;p=IR(c[p>>2]|0,c[p+4>>2]|0,24,0)|0;c[g>>2]=xo(f,n,o,p,z)|0;c[i>>2]=c[g>>2];p=c[i>>2]|0;l=m;return p|0}return 0}function vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+80|0;h=q+48|0;i=q+44|0;j=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+56|0;p=q+24|0;d=q+8|0;e=q;f=q+20|0;g=q+16|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=c[(c[i>>2]|0)+36>>2];c[m>>2]=0;c[n>>2]=Yd((c[k>>2]|0)+24|0)|0;if(!(c[n>>2]|0)){c[h>>2]=7;p=c[h>>2]|0;l=q;return p|0}if((c[(c[i>>2]|0)+104>>2]|0)==1){b=d;c[b>>2]=24;c[b+4>>2]=0}else{a=(c[k>>2]|0)+24|0;a=RR((c[(c[i>>2]|0)+104>>2]|0)-1-1|0,0,a|0,((a|0)<0)<<31>>31|0)|0;a=IR(32,0,a|0,z|0)|0;a=IR(a|0,z|0,16,0)|0;b=d;c[b>>2]=a;c[b+4>>2]=z}c[m>>2]=km(c[(c[i>>2]|0)+8>>2]|0,c[n>>2]|0,8,c[d>>2]|0,c[d+4>>2]|0)|0;d=el(c[n>>2]|0)|0;c[(c[i>>2]|0)+52+24>>2]=d;d=el((c[n>>2]|0)+4|0)|0;c[(c[i>>2]|0)+52+24+4>>2]=d;c[p>>2]=c[(c[i>>2]|0)+104>>2];c[(c[i>>2]|0)+104>>2]=0;while(1){if(c[m>>2]|0)break;if((c[p>>2]|0)>>>0>(c[j>>2]|0)>>>0)break;b=(c[k>>2]|0)+24|0;b=RR((c[p>>2]|0)-1|0,0,b|0,((b|0)<0)<<31>>31|0)|0;b=IR(32,0,b|0,z|0)|0;d=e;c[d>>2]=b;c[d+4>>2]=z;d=e;c[m>>2]=km(c[(c[i>>2]|0)+8>>2]|0,c[n>>2]|0,(c[k>>2]|0)+24|0,c[d>>2]|0,c[d+4>>2]|0)|0;if(!(c[m>>2]|0)){c[f>>2]=el(c[n>>2]|0)|0;c[g>>2]=el((c[n>>2]|0)+4|0)|0;wo(c[i>>2]|0,c[f>>2]|0,c[g>>2]|0,(c[n>>2]|0)+24|0,o);d=e;c[m>>2]=Ol(c[(c[i>>2]|0)+8>>2]|0,o,24,c[d>>2]|0,c[d+4>>2]|0)|0}c[p>>2]=(c[p>>2]|0)+1}Kd(c[n>>2]|0);c[h>>2]=c[m>>2];p=c[h>>2]|0;l=q;return p|0}function wo(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;o=l;l=l+32|0;k=o+24|0;q=o+20|0;p=o+16|0;m=o+12|0;n=o+8|0;i=o+4|0;j=o;c[k>>2]=b;c[q>>2]=e;c[p>>2]=f;c[m>>2]=g;c[n>>2]=h;c[j>>2]=(c[k>>2]|0)+52+24;Xm(c[n>>2]|0,c[q>>2]|0);Xm((c[n>>2]|0)+4|0,c[p>>2]|0);b=(c[n>>2]|0)+8|0;if(!(c[(c[k>>2]|0)+104>>2]|0)){q=(c[k>>2]|0)+52+32|0;a[b>>0]=a[q>>0]|0;a[b+1>>0]=a[q+1>>0]|0;a[b+2>>0]=a[q+2>>0]|0;a[b+3>>0]=a[q+3>>0]|0;a[b+4>>0]=a[q+4>>0]|0;a[b+5>>0]=a[q+5>>0]|0;a[b+6>>0]=a[q+6>>0]|0;a[b+7>>0]=a[q+7>>0]|0;c[i>>2]=(d[(c[k>>2]|0)+52+13>>0]|0)==((a[936]|0)==0|0)&1;Vn(c[i>>2]|0,c[n>>2]|0,8,c[j>>2]|0,c[j>>2]|0);Vn(c[i>>2]|0,c[m>>2]|0,c[(c[k>>2]|0)+36>>2]|0,c[j>>2]|0,c[j>>2]|0);Xm((c[n>>2]|0)+16|0,c[c[j>>2]>>2]|0);Xm((c[n>>2]|0)+20|0,c[(c[j>>2]|0)+4>>2]|0);l=o;return}else{e=b+16|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));l=o;return}}function xo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+28|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o;g=o+12|0;h=o+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;b=n;c[b>>2]=e;c[b+4>>2]=f;e=n;b=c[e+4>>2]|0;f=(c[j>>2]|0)+8|0;d=c[f+4>>2]|0;if((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0)?(b=n,e=c[m>>2]|0,e=IR(c[b>>2]|0,c[b+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0,b=z,f=(c[j>>2]|0)+8|0,d=c[f+4>>2]|0,(b|0)>(d|0)|((b|0)==(d|0)?e>>>0>=(c[f>>2]|0)>>>0:0)):0){e=(c[j>>2]|0)+8|0;f=n;f=FR(c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[h>>2]=f;f=n;c[g>>2]=Ol(c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0,c[h>>2]|0,c[f>>2]|0,c[f+4>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=c[g>>2];n=c[i>>2]|0;l=o;return n|0}e=c[h>>2]|0;f=n;e=IR(c[f>>2]|0,c[f+4>>2]|0,e|0,((e|0)<0)<<31>>31|0)|0;f=n;c[f>>2]=e;c[f+4>>2]=z;c[m>>2]=(c[m>>2]|0)-(c[h>>2]|0);c[k>>2]=(c[k>>2]|0)+(c[h>>2]|0);c[g>>2]=xl(c[(c[j>>2]|0)+4>>2]|0,c[(c[j>>2]|0)+16>>2]&19)|0;if((c[m>>2]|0)==0|(c[g>>2]|0)!=0){c[i>>2]=c[g>>2];n=c[i>>2]|0;l=o;return n|0}}c[g>>2]=Ol(c[(c[j>>2]|0)+4>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[i>>2]=c[g>>2];n=c[i>>2]|0;l=o;return n|0}function yo(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w+48|0;p=w+44|0;q=w+40|0;r=w+36|0;s=w+32|0;t=w+28|0;h=w+24|0;i=w+20|0;j=w+16|0;k=w+12|0;m=w+8|0;n=w+4|0;o=w;c[p>>2]=a;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[k>>2]=0;if((c[s>>2]|0)>5){c[n>>2]=1;if((c[s>>2]|0)>100){c[v>>2]=15;v=c[v>>2]|0;l=w;return v|0}if((c[s>>2]|0)>=10)c[n>>2]=(O((c[s>>2]|0)-9|0,(c[s>>2]|0)-9|0)|0)*39;zo(c[c[p>>2]>>2]|0,c[n>>2]|0)|0}if(!(c[r>>2]|0)){c[k>>2]=Mn(c[p>>2]|0,c[q>>2]|0)|0;do if((c[k>>2]|0)==5){if(!(c[c[(c[p>>2]|0)+32>>2]>>2]|0)){c[k>>2]=-1;break}s=Ll(c[p>>2]|0,2)|0;c[k>>2]=s;if(!s){Ml(c[p>>2]|0,2);c[k>>2]=-1;break}if((c[k>>2]|0)==5)c[k>>2]=261}while(0);if(c[k>>2]|0){c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}}c[t>>2]=Pn(c[p>>2]|0)|0;do if((c[r>>2]|0)==0?(c[c[t>>2]>>2]|0)==(c[(c[p>>2]|0)+52+16>>2]|0):0){c[k>>2]=Ll(c[p>>2]|0,3)|0;Wn(c[p>>2]|0);if(c[k>>2]|0){if((c[k>>2]|0)==5)break;c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}u=An(c[p>>2]|0)|0;u=(wQ(u,(c[p>>2]|0)+52|0,48)|0)!=0;a=c[p>>2]|0;if(u){Ml(a,3);c[v>>2]=-1;v=c[v>>2]|0;l=w;return v|0}else{b[a+40>>1]=0;c[v>>2]=0;v=c[v>>2]|0;l=w;return v|0}}while(0);c[h>>2]=0;c[i>>2]=0;c[m>>2]=c[(c[p>>2]|0)+52+16>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>=5)break;c[o>>2]=c[(c[t>>2]|0)+4+(c[j>>2]<<2)>>2];if((c[h>>2]|0)>>>0<=(c[o>>2]|0)>>>0?(c[o>>2]|0)>>>0<=(c[m>>2]|0)>>>0:0){c[h>>2]=c[o>>2];c[i>>2]=c[j>>2]}c[j>>2]=(c[j>>2]|0)+1}a:do if(((d[(c[p>>2]|0)+46>>0]|0)&2|0)==0?((c[i>>2]|0)==0?1:(c[h>>2]|0)>>>0<(c[m>>2]|0)>>>0):0){c[j>>2]=1;while(1){if((c[j>>2]|0)>=5)break a;c[k>>2]=Kn(c[p>>2]|0,3+(c[j>>2]|0)|0,1)|0;if(!(c[k>>2]|0)){u=36;break}if((c[k>>2]|0)!=5)break;c[j>>2]=(c[j>>2]|0)+1}if((u|0)==36){u=c[m>>2]|0;c[(c[t>>2]|0)+4+(c[j>>2]<<2)>>2]=u;c[h>>2]=u;c[i>>2]=c[j>>2];Pl(c[p>>2]|0,3+(c[j>>2]|0)|0,1);break}c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}while(0);if(!(c[i>>2]|0)){c[v>>2]=(c[k>>2]|0)==5?-1:520;v=c[v>>2]|0;l=w;return v|0}c[k>>2]=Ll(c[p>>2]|0,3+(c[i>>2]|0)|0)|0;if(c[k>>2]|0){c[v>>2]=(c[k>>2]|0)==5?-1:c[k>>2]|0;v=c[v>>2]|0;l=w;return v|0}c[(c[p>>2]|0)+100>>2]=(c[c[t>>2]>>2]|0)+1;Wn(c[p>>2]|0);if((c[(c[t>>2]|0)+4+(c[i>>2]<<2)>>2]|0)==(c[h>>2]|0)?(u=An(c[p>>2]|0)|0,(wQ(u,(c[p>>2]|0)+52|0,48)|0)==0):0){b[(c[p>>2]|0)+40>>1]=c[i>>2];c[v>>2]=c[k>>2];v=c[v>>2]|0;l=w;return v|0}Ml(c[p>>2]|0,3+(c[i>>2]|0)|0);c[v>>2]=-1;v=c[v>>2]|0;l=w;return v|0}function zo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=yb[c[(c[f>>2]|0)+60>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function Ao(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Cn(c[d>>2]|0)|0;l=b;return a|0}function Bo(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;k=x+40|0;r=x+36|0;s=x+50|0;t=x+52|0;u=x+32|0;i=x+28|0;v=x+24|0;j=x+48|0;w=x+20|0;m=x+16|0;n=x+12|0;o=x+8|0;g=x+4|0;h=x;p=x+46|0;q=x+44|0;c[r>>2]=f;do if(!(a[c[r>>2]>>0]|0)){c[i>>2]=c[(c[r>>2]|0)+52>>2];a[t>>0]=a[(c[r>>2]|0)+5>>0]|0;c[u>>2]=c[(c[r>>2]|0)+56>>2];if(Co(c[r>>2]|0,d[(c[u>>2]|0)+(d[t>>0]|0)>>0]|0)|0){c[k>>2]=um(60006)|0;w=c[k>>2]|0;l=x;return w|0}b[(c[r>>2]|0)+20>>1]=(c[(c[i>>2]|0)+32>>2]|0)-1;a[(c[r>>2]|0)+1>>0]=0;c[v>>2]=c[(c[i>>2]|0)+36>>2];f=(d[t>>0]|0)+8+(d[(c[r>>2]|0)+6>>0]|0)&65535;b[j>>1]=f;b[(c[r>>2]|0)+14>>1]=f;c[(c[r>>2]|0)+60>>2]=(c[u>>2]|0)+(c[v>>2]|0);c[(c[r>>2]|0)+64>>2]=(c[u>>2]|0)+(e[j>>1]|0);c[(c[r>>2]|0)+68>>2]=(c[u>>2]|0)+(d[(c[r>>2]|0)+6>>0]|0);c[m>>2]=((d[(c[u>>2]|0)+((d[t>>0]|0)+5)>>0]<<8|d[(c[u>>2]|0)+((d[t>>0]|0)+5)+1>>0])-1&65535)+1;b[(c[r>>2]|0)+18>>1]=d[(c[u>>2]|0)+((d[t>>0]|0)+3)>>0]<<8|d[(c[u>>2]|0)+((d[t>>0]|0)+3)+1>>0];if((e[(c[r>>2]|0)+18>>1]|0)>>>0>((((c[(c[i>>2]|0)+32>>2]|0)-8|0)>>>0)/6|0)>>>0){c[k>>2]=um(60024)|0;w=c[k>>2]|0;l=x;return w|0}c[n>>2]=(e[j>>1]|0)+(e[(c[r>>2]|0)+18>>1]<<1);c[o>>2]=(c[v>>2]|0)-4;do if(c[(c[(c[i>>2]|0)+4>>2]|0)+24>>2]&536870912|0){if(!(a[(c[r>>2]|0)+4>>0]|0))c[o>>2]=(c[o>>2]|0)+-1;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(e[(c[r>>2]|0)+18>>1]|0)){f=17;break}b[s>>1]=d[(c[u>>2]|0)+((e[j>>1]|0)+(c[g>>2]<<1))>>0]<<8|d[(c[u>>2]|0)+((e[j>>1]|0)+(c[g>>2]<<1))+1>>0];if((e[s>>1]|0)<(c[n>>2]|0)){f=13;break}if((e[s>>1]|0)>(c[o>>2]|0)){f=13;break}c[h>>2]=(yb[c[(c[r>>2]|0)+76>>2]&255](c[r>>2]|0,(c[u>>2]|0)+(e[s>>1]|0)|0)|0)&65535;if(((e[s>>1]|0)+(c[h>>2]|0)|0)>(c[v>>2]|0)){f=15;break}c[g>>2]=(c[g>>2]|0)+1}if((f|0)==13){c[k>>2]=um(60052)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==15){c[k>>2]=um(60057)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==17){if(a[(c[r>>2]|0)+4>>0]|0)break;c[o>>2]=(c[o>>2]|0)+1;break}}while(0);b[s>>1]=d[(c[u>>2]|0)+((d[t>>0]|0)+1)>>0]<<8|d[(c[u>>2]|0)+((d[t>>0]|0)+1)+1>>0];c[w>>2]=(d[(c[u>>2]|0)+((d[t>>0]|0)+7)>>0]|0)+(c[m>>2]|0);while(1){if((e[s>>1]|0)<=0){f=29;break}if((e[s>>1]|0)<(c[n>>2]|0)){f=23;break}if((e[s>>1]|0)>(c[o>>2]|0)){f=23;break}b[p>>1]=d[(c[u>>2]|0)+(e[s>>1]|0)>>0]<<8|d[(c[u>>2]|0)+(e[s>>1]|0)+1>>0];b[q>>1]=d[(c[u>>2]|0)+((e[s>>1]|0)+2)>>0]<<8|d[(c[u>>2]|0)+((e[s>>1]|0)+2)+1>>0];if((e[p>>1]|0)>0?(e[p>>1]|0)<=((e[s>>1]|0)+(e[q>>1]|0)+3|0):0){f=27;break}if(((e[s>>1]|0)+(e[q>>1]|0)|0)>(c[v>>2]|0)){f=27;break}c[w>>2]=(c[w>>2]|0)+(e[q>>1]|0);b[s>>1]=b[p>>1]|0}if((f|0)==23){c[k>>2]=um(60077)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==27){c[k>>2]=um(60084)|0;w=c[k>>2]|0;l=x;return w|0}else if((f|0)==29){if((c[w>>2]|0)<=(c[v>>2]|0)){b[(c[r>>2]|0)+16>>1]=(c[w>>2]|0)-(c[n>>2]|0);a[c[r>>2]>>0]=1;break}c[k>>2]=um(60098)|0;w=c[k>>2]|0;l=x;return w|0}}while(0);c[k>>2]=0;w=c[k>>2]|0;l=x;return w|0}function Co(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+12|0;i=k+8|0;g=k+4|0;j=k;c[i>>2]=e;c[g>>2]=f;a[(c[i>>2]|0)+4>>0]=c[g>>2]>>3;c[g>>2]=c[g>>2]&-9;a[(c[i>>2]|0)+6>>0]=4-(d[(c[i>>2]|0)+4>>0]<<2);c[(c[i>>2]|0)+76>>2]=180;c[j>>2]=c[(c[i>>2]|0)+52>>2];do if((c[g>>2]|0)==5){a[(c[i>>2]|0)+2>>0]=1;e=(c[i>>2]|0)+3|0;if(a[(c[i>>2]|0)+4>>0]|0){a[e>>0]=1;e=c[i>>2]|0;f=225}else{a[e>>0]=0;c[(c[i>>2]|0)+76>>2]=181;e=c[i>>2]|0;f=226}c[e+80>>2]=f;b[(c[i>>2]|0)+10>>1]=b[(c[j>>2]|0)+28>>1]|0;e=b[(c[j>>2]|0)+30>>1]|0;f=c[i>>2]|0}else{if((c[g>>2]|0)==2){a[(c[i>>2]|0)+2>>0]=0;a[(c[i>>2]|0)+3>>0]=0;c[(c[i>>2]|0)+80>>2]=224;b[(c[i>>2]|0)+10>>1]=b[(c[j>>2]|0)+24>>1]|0;e=b[(c[j>>2]|0)+26>>1]|0;f=c[i>>2]|0;break}c[h>>2]=um(59964)|0;j=c[h>>2]|0;l=k;return j|0}while(0);b[f+12>>1]=e;a[(c[i>>2]|0)+7>>0]=a[(c[j>>2]|0)+21>>0]|0;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function Do(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=f;c[i>>2]=(c[h>>2]|0)+(d[(c[g>>2]|0)+6>>0]|0);c[k>>2]=d[c[i>>2]>>0];a:do if((c[k>>2]|0)>>>0>=128){c[j>>2]=(c[i>>2]|0)+8;c[k>>2]=c[k>>2]&127;do{b=c[k>>2]<<7;f=(c[i>>2]|0)+1|0;c[i>>2]=f;c[k>>2]=b|d[f>>0]&127;if((d[c[i>>2]>>0]|0)<128)break a}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0)}while(0);c[i>>2]=(c[i>>2]|0)+1;b:do if(a[(c[g>>2]|0)+2>>0]|0){c[j>>2]=(c[i>>2]|0)+9;do{f=c[i>>2]|0;c[i>>2]=f+1;if(!(d[f>>0]&128))break b}while((c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0)}while(0);if((c[k>>2]|0)>>>0<=(e[(c[g>>2]|0)+10>>1]|0)>>>0){m=(c[k>>2]|0)+((c[i>>2]|0)-(c[h>>2]|0))|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>>>0<4?4:m;m=c[k>>2]|0;m=m&65535;l=n;return m|0}c[m>>2]=e[(c[g>>2]|0)+12>>1];c[k>>2]=(c[m>>2]|0)+((((c[k>>2]|0)-(c[m>>2]|0)|0)>>>0)%(((c[(c[(c[g>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[k>>2]|0)>>>0>(e[(c[g>>2]|0)+10>>1]|0)>>>0)c[k>>2]=c[m>>2];c[k>>2]=(c[k>>2]|0)+(4+((c[i>>2]|0)-(c[h>>2]|0)&65535));m=c[k>>2]|0;m=m&65535;l=n;return m|0}function Eo(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q;p=q+12|0;h=q+8|0;c[i>>2]=a;c[j>>2]=f;c[k>>2]=g;c[m>>2]=c[j>>2];c[n>>2]=d[c[m>>2]>>0];a:do if((c[n>>2]|0)>>>0>=128){c[p>>2]=(c[m>>2]|0)+8;c[n>>2]=c[n>>2]&127;do{f=c[n>>2]<<7;g=(c[m>>2]|0)+1|0;c[m>>2]=g;c[n>>2]=f|(d[g>>0]|0)&127;if((d[c[m>>2]>>0]|0|0)<128)break a}while((c[m>>2]|0)>>>0<(c[p>>2]|0)>>>0)}while(0);c[m>>2]=(c[m>>2]|0)+1;p=o;c[p>>2]=d[c[m>>2]>>0];c[p+4>>2]=0;p=o;g=c[p+4>>2]|0;b:do if(g>>>0>0|(g|0)==0&(c[p>>2]|0)>>>0>=128){c[h>>2]=(c[m>>2]|0)+7;p=o;c[p>>2]=c[o>>2]&127;c[p+4>>2]=0;do{f=o;f=HR(c[f>>2]|0,c[f+4>>2]|0,7)|0;g=(c[m>>2]|0)+1|0;c[m>>2]=g;g=(d[g>>0]|0)&127;p=o;c[p>>2]=f|g;c[p+4>>2]=z|((g|0)<0)<<31>>31;if((d[c[m>>2]>>0]|0|0)<128)break b}while((c[m>>2]|0)>>>0<(c[h>>2]|0)>>>0);h=o;h=HR(c[h>>2]|0,c[h+4>>2]|0,8)|0;g=(c[m>>2]|0)+1|0;c[m>>2]=g;p=o;c[p>>2]=h|(d[g>>0]|0);c[p+4>>2]=z}while(0);c[m>>2]=(c[m>>2]|0)+1;g=o;o=c[g+4>>2]|0;p=c[k>>2]|0;c[p>>2]=c[g>>2];c[p+4>>2]=o;c[(c[k>>2]|0)+12>>2]=c[n>>2];c[(c[k>>2]|0)+8>>2]=c[m>>2];if((c[n>>2]|0)>>>0>(e[(c[i>>2]|0)+10>>1]|0)>>>0){Io(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0);l=q;return}b[(c[k>>2]|0)+18>>1]=(c[n>>2]|0)+((c[m>>2]|0)-(c[j>>2]|0)&65535);if((e[(c[k>>2]|0)+18>>1]|0|0)<4)b[(c[k>>2]|0)+18>>1]=4;b[(c[k>>2]|0)+16>>1]=c[n>>2];l=q;return}function Fo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[h+12>>2]=a;c[e>>2]=b;c[f>>2]=(c[e>>2]|0)+4;c[g>>2]=(c[f>>2]|0)+9;do{b=c[f>>2]|0;c[f>>2]=b+1;if(!((d[b>>0]|0)&128))break}while((c[f>>2]|0)>>>0<(c[g>>2]|0)>>>0);l=h;return (c[f>>2]|0)-(c[e>>2]|0)&65535|0}function Go(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f+4|0;g=f;c[f+8>>2]=a;c[h>>2]=d;c[g>>2]=e;e=4+((Jo((c[h>>2]|0)+4|0,c[g>>2]|0)|0)&255)&65535;b[(c[g>>2]|0)+18>>1]=e;c[(c[g>>2]|0)+12>>2]=0;b[(c[g>>2]|0)+16>>1]=0;c[(c[g>>2]|0)+8>>2]=0;l=f;return}function Ho(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[h>>2]=a;c[i>>2]=f;c[j>>2]=g;c[k>>2]=(c[i>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);c[m>>2]=d[c[k>>2]>>0];a:do if((c[m>>2]|0)>>>0>=128){c[n>>2]=(c[k>>2]|0)+8;c[m>>2]=c[m>>2]&127;do{f=c[m>>2]<<7;g=(c[k>>2]|0)+1|0;c[k>>2]=g;c[m>>2]=f|(d[g>>0]|0)&127;if((d[c[k>>2]>>0]|0|0)<128)break a}while((c[k>>2]|0)>>>0<(c[n>>2]|0)>>>0)}while(0);c[k>>2]=(c[k>>2]|0)+1;n=c[j>>2]|0;c[n>>2]=c[m>>2];c[n+4>>2]=0;c[(c[j>>2]|0)+12>>2]=c[m>>2];c[(c[j>>2]|0)+8>>2]=c[k>>2];if((c[m>>2]|0)>>>0>(e[(c[h>>2]|0)+10>>1]|0)>>>0){Io(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);l=o;return}b[(c[j>>2]|0)+18>>1]=(c[m>>2]|0)+((c[k>>2]|0)-(c[i>>2]|0)&65535);if((e[(c[j>>2]|0)+18>>1]|0|0)<4)b[(c[j>>2]|0)+18>>1]=4;b[(c[j>>2]|0)+16>>1]=c[m>>2];l=o;return}function Io(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;n=k+20|0;i=k+16|0;j=k+12|0;g=k+8|0;m=k+4|0;h=k;c[n>>2]=a;c[i>>2]=d;c[j>>2]=f;c[g>>2]=e[(c[n>>2]|0)+12>>1];c[m>>2]=e[(c[n>>2]|0)+10>>1];c[h>>2]=(c[g>>2]|0)+((((c[(c[j>>2]|0)+12>>2]|0)-(c[g>>2]|0)|0)>>>0)%(((c[(c[(c[n>>2]|0)+52>>2]|0)+36>>2]|0)-4|0)>>>0)|0);if((c[h>>2]|0)<=(c[m>>2]|0)){a=c[h>>2]&65535;d=c[j>>2]|0}else{a=c[g>>2]&65535;d=c[j>>2]|0}b[d+16>>1]=a;b[(c[j>>2]|0)+18>>1]=((c[(c[j>>2]|0)+8>>2]|0)+(e[(c[j>>2]|0)+16>>1]|0)-(c[i>>2]|0)&65535)+4;l=k;return}function Jo(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];if(!(c[i>>2]&128)){k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=1;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=2;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);e=(c[i>>2]&128|0)!=0;c[i>>2]=c[i>>2]&2080895;if(!e){c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=3;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);e=(c[j>>2]&128|0)!=0;c[j>>2]=c[j>>2]&2080895;b=c[i>>2]|0;if(!e){c[i>>2]=b<<7;c[i>>2]=c[i>>2]|c[j>>2];k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=0;a[f>>0]=4;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=b;c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(!(c[i>>2]&128)){c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=5;k=a[f>>0]|0;l=m;return k|0}c[k>>2]=c[k>>2]<<7;c[k>>2]=c[k>>2]|c[j>>2];c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&2080895;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>18;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=6;k=a[f>>0]|0;l=m;return k|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);b=c[i>>2]|0;if(!(c[i>>2]&128)){c[i>>2]=b&-266354561;c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>11;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=7;k=a[f>>0]|0;l=m;return k|0}c[i>>2]=b&2080895;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=c[j>>2]<<14;c[j>>2]=c[j>>2]|(d[c[g>>2]>>0]|0);if(c[j>>2]&128|0){c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<15;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);c[j>>2]=c[j>>2]&2080895;c[j>>2]=c[j>>2]<<8;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=c[k>>2]<<4;c[j>>2]=d[(c[g>>2]|0)+-4>>0];c[j>>2]=c[j>>2]&127;c[j>>2]=(c[j>>2]|0)>>>3;c[k>>2]=c[k>>2]|c[j>>2];j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=9;k=a[f>>0]|0;l=m;return k|0}else{c[j>>2]=c[j>>2]&-266354561;c[i>>2]=c[i>>2]<<7;c[i>>2]=c[i>>2]|c[j>>2];c[k>>2]=(c[k>>2]|0)>>>4;j=c[k>>2]|0;k=c[h>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;a[f>>0]=8;k=a[f>>0]|0;l=m;return k|0}return 0}function Ko(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+244>>2]|0)Lo(c[(c[d>>2]|0)+244>>2]|0);Mo(c[d>>2]|0,c[e>>2]|0);l=f;return}function Lo(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Fh(c[d>>2]|0);l=b;return}function Mo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)==3082){l=f;return}c[e>>2]=c[e>>2]&255;if(!((c[e>>2]|0)==14|(c[e>>2]|0)==10)){l=f;return}e=No(c[c[d>>2]>>2]|0)|0;c[(c[d>>2]|0)+60>>2]=e;l=f;return}function No(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+68>>2]|0)){b=0;l=d;return b|0}b=ob[c[(c[b>>2]|0)+68>>2]&255](c[b>>2]|0,0,0)|0;l=d;return b|0}function Oo(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=jl(c[d>>2]|0,40,0)|0;if(!(c[e>>2]|0)){e=c[e>>2]|0;l=f;return e|0}b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+32>>2]=c[d>>2];e=c[e>>2]|0;l=f;return e|0}function Po(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n+16|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;a[k>>0]=f;c[m>>2]=g;if(!(c[h>>2]|0)){l=n;return}Jh(c[h>>2]|0,c[j>>2]|0,c[i>>2]|0,a[k>>0]|0,c[m>>2]|0)|0;l=n;return}function Qo(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+112|0;u=F+108|0;o=F+104|0;B=F+100|0;p=F+96|0;C=F+92|0;q=F+88|0;D=F+84|0;E=F+80|0;e=F+76|0;f=F+72|0;r=F+68|0;g=F+64|0;h=F+60|0;i=F+56|0;j=F+52|0;s=F+16|0;t=F+48|0;k=F+44|0;m=F+40|0;v=F+8|0;w=F;n=F+36|0;x=F+32|0;y=F+28|0;A=F+24|0;c[u>>2]=a;c[o>>2]=b;c[C>>2]=0;c[q>>2]=0;Ek(c[(c[u>>2]|0)+24>>2]|0);c[B>>2]=c[(c[u>>2]|0)+28>>2];if(Pm(c[B>>2]|0)|0){E=c[B>>2]|0;l=F;return E|0}c[D>>2]=Hj(c[(c[u>>2]|0)+24>>2]|0)|0;c[E>>2]=Hj(c[(c[u>>2]|0)+4>>2]|0)|0;c[f>>2]=-1;c[r>>2]=0;if(c[c[u>>2]>>2]|0?(d[(c[(c[(c[u>>2]|0)+24>>2]|0)+4>>2]|0)+20>>0]|0|0)==2:0)c[B>>2]=5;else c[B>>2]=0;if((c[B>>2]|0)==0?0==(xk(c[(c[u>>2]|0)+24>>2]|0)|0):0){c[B>>2]=Ro(c[(c[u>>2]|0)+24>>2]|0,0)|0;c[r>>2]=1}if(((c[B>>2]|0)==0?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(So(c[u>>2]|0)|0)==7:0)c[B>>2]=7;if((0==(c[B>>2]|0)?(c[(c[u>>2]|0)+12>>2]|0)==0:0)?(b=Ro(c[(c[u>>2]|0)+4>>2]|0,2)|0,c[B>>2]=b,0==(b|0)):0){c[(c[u>>2]|0)+12>>2]=1;To(c[(c[u>>2]|0)+4>>2]|0,1,(c[u>>2]|0)+8|0)}c[C>>2]=Rm(c[(c[u>>2]|0)+24>>2]|0)|0;c[q>>2]=Rm(c[(c[u>>2]|0)+4>>2]|0)|0;c[p>>2]=Uo(Hj(c[(c[u>>2]|0)+4>>2]|0)|0)|0;if(0==(c[B>>2]|0)&(c[p>>2]|0)==5?(c[C>>2]|0)!=(c[q>>2]|0):0)c[B>>2]=8;c[f>>2]=Wm(c[(c[u>>2]|0)+24>>2]|0)|0;c[e>>2]=0;while(1){if((c[o>>2]|0)>=0?(c[e>>2]|0)>=(c[o>>2]|0):0)break;if((c[(c[u>>2]|0)+16>>2]|0)>>>0>(c[f>>2]|0)>>>0)break;if(!((c[B>>2]|0)!=0^1))break;c[g>>2]=c[(c[u>>2]|0)+16>>2];if((c[g>>2]|0)!=((((c[481]|0)>>>0)/((c[(c[(c[(c[u>>2]|0)+24>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)?(c[B>>2]=rm(c[D>>2]|0,c[g>>2]|0,h,2)|0,(c[B>>2]|0)==0):0){a=c[u>>2]|0;b=c[g>>2]|0;c[B>>2]=Qm(a,b,Um(c[h>>2]|0)|0,0)|0;Ym(c[h>>2]|0)}b=(c[u>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1}do if(!(c[B>>2]|0)){c[(c[u>>2]|0)+36>>2]=c[f>>2];c[(c[u>>2]|0)+32>>2]=(c[f>>2]|0)+1-(c[(c[u>>2]|0)+16>>2]|0);if((c[(c[u>>2]|0)+16>>2]|0)>>>0>(c[f>>2]|0)>>>0){c[B>>2]=101;break}if(!(c[(c[u>>2]|0)+40>>2]|0))Vo(c[u>>2]|0)}while(0);if((c[B>>2]|0)==101){if(!(c[f>>2]|0)){c[B>>2]=Wo(c[(c[u>>2]|0)+4>>2]|0)|0;c[f>>2]=1}if((c[B>>2]|0)==0|(c[B>>2]|0)==101)c[B>>2]=Xo(c[(c[u>>2]|0)+4>>2]|0,1,(c[(c[u>>2]|0)+8>>2]|0)+1|0)|0;if(!(c[B>>2]|0)){if(c[c[u>>2]>>2]|0)Yo(c[c[u>>2]>>2]|0);if((c[p>>2]|0)==5)c[B>>2]=Zo(c[(c[u>>2]|0)+4>>2]|0,2)|0}if(!(c[B>>2]|0)){if((c[C>>2]|0)<(c[q>>2]|0)){c[j>>2]=(c[q>>2]|0)/(c[C>>2]|0)|0;c[i>>2]=((c[f>>2]|0)+(c[j>>2]|0)-1|0)/(c[j>>2]|0)|0;if((c[i>>2]|0)==((((c[481]|0)>>>0)/((c[(c[(c[(c[u>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[i>>2]=(c[i>>2]|0)+-1}else c[i>>2]=O(c[f>>2]|0,(c[C>>2]|0)/(c[q>>2]|0)|0)|0;if((c[C>>2]|0)<(c[q>>2]|0)){p=c[C>>2]|0;o=c[f>>2]|0;o=RR(p|0,((p|0)<0)<<31>>31|0,o|0,((o|0)<0)<<31>>31|0)|0;p=s;c[p>>2]=o;c[p+4>>2]=z;c[t>>2]=_o(c[E>>2]|0)|0;$o(c[E>>2]|0,m);c[k>>2]=c[i>>2];while(1){if(c[B>>2]|0)break;if((c[k>>2]|0)>>>0>(c[m>>2]|0)>>>0)break;do if((c[k>>2]|0)!=((((c[481]|0)>>>0)/((c[(c[(c[(c[u>>2]|0)+4>>2]|0)+4>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){c[B>>2]=rm(c[E>>2]|0,c[k>>2]|0,n,0)|0;if(c[B>>2]|0)break;c[B>>2]=Tm(c[n>>2]|0)|0;Ym(c[n>>2]|0)}while(0);c[k>>2]=(c[k>>2]|0)+1}if(!(c[B>>2]|0))c[B>>2]=ap(c[E>>2]|0,0,1)|0;o=(c[481]|0)+(c[q>>2]|0)|0;m=((o|0)<0)<<31>>31;p=s;n=c[p+4>>2]|0;if((m|0)<(n|0)|((m|0)==(n|0)?o>>>0<(c[p>>2]|0)>>>0:0)){b=(c[481]|0)+(c[q>>2]|0)|0;a=b;b=((b|0)<0)<<31>>31}else{b=s;a=c[b>>2]|0;b=c[b+4>>2]|0}p=w;c[p>>2]=a;c[p+4>>2]=b;p=(c[481]|0)+(c[C>>2]|0)|0;q=v;c[q>>2]=p;c[q+4>>2]=((p|0)<0)<<31>>31;while(1){if(c[B>>2]|0)break;p=v;n=c[p+4>>2]|0;q=w;o=c[q+4>>2]|0;if(!((n|0)<(o|0)|((n|0)==(o|0)?(c[p>>2]|0)>>>0<(c[q>>2]|0)>>>0:0)))break;c[x>>2]=0;p=v;q=c[C>>2]|0;q=LR(c[p>>2]|0,c[p+4>>2]|0,q|0,((q|0)<0)<<31>>31|0)|0;q=IR(q|0,z|0,1,0)|0;c[y>>2]=q;c[B>>2]=rm(c[D>>2]|0,c[y>>2]|0,x,0)|0;if(!(c[B>>2]|0)){c[A>>2]=Um(c[x>>2]|0)|0;q=v;c[B>>2]=Ol(c[t>>2]|0,c[A>>2]|0,c[C>>2]|0,c[q>>2]|0,c[q+4>>2]|0)|0}Ym(c[x>>2]|0);p=c[C>>2]|0;q=v;p=IR(c[q>>2]|0,c[q+4>>2]|0,p|0,((p|0)<0)<<31>>31|0)|0;q=v;c[q>>2]=p;c[q+4>>2]=z}if(!(c[B>>2]|0)){D=s;c[B>>2]=bp(c[t>>2]|0,c[D>>2]|0,c[D+4>>2]|0)|0}if(!(c[B>>2]|0))c[B>>2]=em(c[E>>2]|0,0)|0}else{cp(c[E>>2]|0,c[i>>2]|0);c[B>>2]=ap(c[E>>2]|0,0,0)|0}if(!(c[B>>2]|0)){E=dp(c[(c[u>>2]|0)+4>>2]|0,0)|0;c[B>>2]=E;c[B>>2]=0==(E|0)?101:E}}}if(c[r>>2]|0){ep(c[(c[u>>2]|0)+24>>2]|0,0)|0;dp(c[(c[u>>2]|0)+24>>2]|0,0)|0}if((c[B>>2]|0)==3082)c[B>>2]=7;c[(c[u>>2]|0)+28>>2]=c[B>>2];E=c[B>>2]|0;l=F;return E|0}function Ro(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[h>>2]|0)+4>>2];c[k>>2]=0;Ek(c[h>>2]|0);do if((d[(c[h>>2]|0)+8>>0]|0)!=2?(c[i>>2]|0?1:(d[(c[h>>2]|0)+8>>0]|0)!=1):0){if(c[i>>2]|0?(e[(c[j>>2]|0)+22>>1]&1|0)!=0:0){c[k>>2]=8;break}c[m>>2]=0;if(c[i>>2]|0?(d[(c[j>>2]|0)+20>>0]|0)==2:0)g=8;else g=7;a:do if((g|0)==7)if(!(e[(c[j>>2]|0)+22>>1]&64|0)){if((c[i>>2]|0)>1){c[n>>2]=c[(c[j>>2]|0)+72>>2];while(1){if(!(c[n>>2]|0))break a;f=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=(c[h>>2]|0))break;c[n>>2]=c[f+12>>2]}c[m>>2]=c[c[f>>2]>>2]}}else g=8;while(0);if((g|0)==8)c[m>>2]=c[c[(c[j>>2]|0)+76>>2]>>2];if(c[m>>2]|0){c[k>>2]=262;break}c[k>>2]=fq(c[h>>2]|0,1,1)|0;if(!(c[k>>2]|0)){n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]&-9;if(!(c[(c[j>>2]|0)+44>>2]|0)){n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]|8}do{do{if(c[(c[j>>2]|0)+12>>2]|0)break;n=gq(c[j>>2]|0)|0;c[k>>2]=n}while(0==(n|0));do if((c[k>>2]|0)==0&(c[i>>2]|0)!=0){if(e[(c[j>>2]|0)+22>>1]&1|0){c[k>>2]=8;break}m=c[c[j>>2]>>2]|0;n=(c[i>>2]|0)>1&1;c[k>>2]=hq(m,n,Vk(c[c[h>>2]>>2]|0)|0)|0;if(!(c[k>>2]|0))c[k>>2]=bq(c[j>>2]|0)|0}while(0);if(c[k>>2]|0)Up(c[j>>2]|0);if((c[k>>2]&255|0)!=5)break;if(d[(c[j>>2]|0)+20>>0]|0)break}while((bl(c[j>>2]|0)|0)!=0);if(!(c[k>>2]|0)){if((d[(c[h>>2]|0)+8>>0]|0)==0?(n=(c[j>>2]|0)+40|0,c[n>>2]=(c[n>>2]|0)+1,a[(c[h>>2]|0)+9>>0]|0):0){a[(c[h>>2]|0)+32+8>>0]=1;c[(c[h>>2]|0)+32+12>>2]=c[(c[j>>2]|0)+72>>2];c[(c[j>>2]|0)+72>>2]=(c[h>>2]|0)+32}a[(c[h>>2]|0)+8>>0]=c[i>>2]|0?2:1;if((d[(c[h>>2]|0)+8>>0]|0)>(d[(c[j>>2]|0)+20>>0]|0))a[(c[j>>2]|0)+20>>0]=a[(c[h>>2]|0)+8>>0]|0;if(c[i>>2]|0){c[o>>2]=c[(c[j>>2]|0)+12>>2];c[(c[j>>2]|0)+76>>2]=c[h>>2];n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]&-33;if((c[i>>2]|0)>1){n=(c[j>>2]|0)+22|0;b[n>>1]=e[n>>1]|32}n=c[(c[j>>2]|0)+44>>2]|0;if((n|0)!=(el((c[(c[o>>2]|0)+56>>2]|0)+28|0)|0)?(c[k>>2]=Tm(c[(c[o>>2]|0)+72>>2]|0)|0,(c[k>>2]|0)==0):0)Xm((c[(c[o>>2]|0)+56>>2]|0)+28|0,c[(c[j>>2]|0)+44>>2]|0)}}}}while(0);if(!((c[k>>2]|0)==0&(c[i>>2]|0)!=0)){o=c[k>>2]|0;l=p;return o|0}c[k>>2]=iq(c[c[j>>2]>>2]|0,c[(c[c[h>>2]>>2]|0)+432>>2]|0)|0;o=c[k>>2]|0;l=p;return o|0}function So(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;a=c[(c[e>>2]|0)+4>>2]|0;c[b>>2]=Dk(a,Rm(c[(c[e>>2]|0)+24>>2]|0)|0,-1,0)|0;l=d;return c[b>>2]|0}function To(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h+4|0;i=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[(c[e>>2]|0)+4>>2];Ek(c[e>>2]|0);a=c[i>>2]|0;if((c[f>>2]|0)==15){i=eq(c[a>>2]|0)|0;c[c[g>>2]>>2]=i+(c[(c[e>>2]|0)+20>>2]|0);l=h;return}else{i=el((c[(c[a+12>>2]|0)+56>>2]|0)+(36+(c[f>>2]<<2))|0)|0;c[c[g>>2]>>2]=i;l=h;return}}function Uo(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+5>>0]|0|0}function Vo(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=dq(Hj(c[(c[d>>2]|0)+24>>2]|0)|0)|0;c[(c[d>>2]|0)+44>>2]=c[c[e>>2]>>2];c[c[e>>2]>>2]=c[d>>2];c[(c[d>>2]|0)+40>>2]=1;l=b;return}function Wo(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;Ek(c[e>>2]|0);c[(c[(c[e>>2]|0)+4>>2]|0)+44>>2]=0;c[b>>2]=bq(c[(c[e>>2]|0)+4>>2]|0)|0;l=d;return c[b>>2]|0}function Xo(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=b;c[f>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+4>>2];Ek(c[m>>2]|0);c[i>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+56>>2];c[j>>2]=Tm(c[(c[(c[h>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[j>>2]|0){m=c[j>>2]|0;l=k;return m|0}Xm((c[i>>2]|0)+(36+(c[f>>2]<<2))|0,c[g>>2]|0);if((c[f>>2]|0)!=7){m=c[j>>2]|0;l=k;return m|0}a[(c[h>>2]|0)+18>>0]=c[g>>2];m=c[j>>2]|0;l=k;return m|0}function Yo(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;Gj(c[b>>2]|0);c[d>>2]=0;while(1){a=c[b>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[e>>2]=(c[a+16>>2]|0)+(c[d>>2]<<4);if(c[(c[e>>2]|0)+12>>2]|0)Yp(c[(c[e>>2]|0)+12>>2]|0);c[d>>2]=(c[d>>2]|0)+1}e=a+24|0;c[e>>2]=c[e>>2]&-3;Zp(c[b>>2]|0);_p(c[b>>2]|0);l=f;return}function Zo(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[h>>2]|0)+4>>2];g=(c[j>>2]|0)+22|0;b[g>>1]=(e[g>>1]|0)&-17;if((c[i>>2]|0)==1){g=(c[j>>2]|0)+22|0;b[g>>1]=e[g>>1]|0|16}c[k>>2]=Ro(c[h>>2]|0,0)|0;do if(!(c[k>>2]|0)){c[m>>2]=c[(c[(c[j>>2]|0)+12>>2]|0)+56>>2];if((d[(c[m>>2]|0)+18>>0]|0|0)==(c[i>>2]&255|0)?(d[(c[m>>2]|0)+19>>0]|0|0)==(c[i>>2]&255|0):0)break;c[k>>2]=Ro(c[h>>2]|0,2)|0;if((c[k>>2]|0)==0?(c[k>>2]=Tm(c[(c[(c[j>>2]|0)+12>>2]|0)+72>>2]|0)|0,(c[k>>2]|0)==0):0){a[(c[m>>2]|0)+18>>0]=c[i>>2];a[(c[m>>2]|0)+19>>0]=c[i>>2]}}while(0);m=(c[j>>2]|0)+22|0;b[m>>1]=(e[m>>1]|0)&-17;l=n;return c[k>>2]|0}function _o(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+64>>2]|0}function $o(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+28>>2];l=d;return}function ap(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;g=p;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;if(c[(c[i>>2]|0)+44>>2]|0){c[h>>2]=c[(c[i>>2]|0)+44>>2];o=c[h>>2]|0;l=p;return o|0}if(Vp(400)|0){c[h>>2]=10;o=c[h>>2]|0;l=p;return o|0}if((d[(c[i>>2]|0)+17>>0]|0|0)<3){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}f=0==(Bl(c[i>>2]|0,1)|0);b=c[i>>2]|0;do if(!f){f=(El(b)|0)!=0;b=c[i>>2]|0;if(f){c[n>>2]=xn(c[b+212>>2]|0)|0;c[o>>2]=0;if(!(c[n>>2]|0)){c[m>>2]=rm(c[i>>2]|0,1,o,0)|0;c[n>>2]=c[o>>2];c[(c[n>>2]|0)+12>>2]=0}if(c[n>>2]|0)c[m>>2]=jo(c[i>>2]|0,c[n>>2]|0,c[(c[i>>2]|0)+28>>2]|0,1)|0;Ym(c[o>>2]|0);if(c[m>>2]|0)break;Cl(c[(c[i>>2]|0)+212>>2]|0);break}c[m>>2]=Wp(b,0)|0;if((((c[m>>2]|0)==0?(c[m>>2]=Xp(c[i>>2]|0,c[j>>2]|0)|0,(c[m>>2]|0)==0):0)?(c[m>>2]=ko(c[i>>2]|0,0)|0,(c[m>>2]|0)==0):0)?(o=c[i>>2]|0,c[m>>2]=lo(o,xn(c[(c[i>>2]|0)+212>>2]|0)|0)|0,(c[m>>2]|0)==0):0){Cl(c[(c[i>>2]|0)+212>>2]|0);if((c[(c[i>>2]|0)+28>>2]|0)>>>0>(c[(c[i>>2]|0)+36>>2]|0)>>>0){c[g>>2]=(c[(c[i>>2]|0)+28>>2]|0)-((c[(c[i>>2]|0)+28>>2]|0)==(((c[481]|0)/(c[(c[i>>2]|0)+160>>2]|0)|0)+1|0)&1);c[m>>2]=Gl(c[i>>2]|0,c[g>>2]|0)|0;if((c[m>>2]|0)!=0|(c[k>>2]|0)!=0)break}else if(c[k>>2]|0)break;c[m>>2]=em(c[i>>2]|0,c[j>>2]|0)|0}}else Pk(c[b+96>>2]|0);while(0);if((c[m>>2]|0)==0?(El(c[i>>2]|0)|0)==0:0)a[(c[i>>2]|0)+17>>0]=5;c[h>>2]=c[m>>2];o=c[h>>2]|0;l=p;return o|0}function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+20|0;f=i+8|0;g=i;h=i+16|0;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=Ik(c[e>>2]|0,g)|0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}d=g;a=c[d+4>>2]|0;g=f;b=c[g+4>>2]|0;if(!((a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>(c[g>>2]|0)>>>0:0))){h=c[h>>2]|0;l=i;return h|0}g=f;c[h>>2]=wl(c[e>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function cp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[e>>2]|0)+28>>2]=c[f>>2];l=d;return}function dp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;if(!(d[(c[g>>2]|0)+8>>0]|0)){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}Ek(c[g>>2]|0);do if((d[(c[g>>2]|0)+8>>0]|0|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=Pp(c[c[j>>2]>>2]|0)|0;if(!((c[i>>2]|0)!=0&(c[h>>2]|0)==0)){i=(c[g>>2]|0)+20|0;c[i>>2]=(c[i>>2]|0)+-1;a[(c[j>>2]|0)+20>>0]=1;Qp(c[j>>2]|0);break}c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}while(0);Rp(c[g>>2]|0);c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function ep(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=0;if((d[(c[g>>2]|0)+8>>0]|0)==2){c[j>>2]=c[(c[g>>2]|0)+4>>2];Ek(c[g>>2]|0);if(a[(c[j>>2]|0)+17>>0]|0?(c[i>>2]=fp(c[j>>2]|0)|0,c[i>>2]|0):0){c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}if(a[(c[j>>2]|0)+19>>0]|0)cp(c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+44>>2]|0);c[i>>2]=ap(c[c[j>>2]>>2]|0,c[h>>2]|0,0)|0}c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}function fp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[c[e>>2]>>2];gp(c[e>>2]|0);do if(!(a[(c[e>>2]|0)+18>>0]|0)){c[k>>2]=$m(c[e>>2]|0)|0;b=hp(c[e>>2]|0,c[k>>2]|0)|0;if((b|0)!=(c[k>>2]|0)?(c[k>>2]|0)!=((((c[481]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[i>>2]=el((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[h>>2]=ip(c[e>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;if((c[h>>2]|0)>>>0>(c[k>>2]|0)>>>0){c[d>>2]=um(61919)|0;k=c[d>>2]|0;l=m;return k|0}if((c[h>>2]|0)>>>0<(c[k>>2]|0)>>>0)c[f>>2]=jp(c[e>>2]|0,0,0)|0;c[j>>2]=c[k>>2];while(1){if(!((c[j>>2]|0)>>>0>(c[h>>2]|0)>>>0?(c[f>>2]|0)==0:0))break;c[f>>2]=kp(c[e>>2]|0,c[h>>2]|0,c[j>>2]|0,1)|0;c[j>>2]=(c[j>>2]|0)+-1}if(((c[f>>2]|0)==101|(c[f>>2]|0)==0)&(c[i>>2]|0)>>>0>0){c[f>>2]=Tm(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;Xm((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+32|0,0);Xm((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0,0);Xm((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[h>>2]|0);a[(c[e>>2]|0)+19>>0]=1;c[(c[e>>2]|0)+44>>2]=c[h>>2]}if(!(c[f>>2]|0))break;sl(c[g>>2]|0)|0;break}c[d>>2]=um(61914)|0;k=c[d>>2]|0;l=m;return k|0}while(0);c[d>>2]=c[f>>2];k=c[d>>2]|0;l=m;return k|0}function gp(b){b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[e>>2]|0))break;g=(c[e>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-5;c[e>>2]=c[(c[e>>2]|0)+8>>2]}l=f;return}function hp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;if((c[f>>2]|0)>>>0<2){c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}c[g>>2]=(((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0)+1;c[h>>2]=(((c[f>>2]|0)-2|0)>>>0)/((c[g>>2]|0)>>>0)|0;c[i>>2]=(O(c[h>>2]|0,c[g>>2]|0)|0)+2;if((c[i>>2]|0)==((((c[481]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0))c[i>>2]=(c[i>>2]|0)+1;c[d>>2]=c[i>>2];i=c[d>>2]|0;l=j;return i|0}function ip(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+32|0;e=g+20|0;h=g+16|0;j=g+12|0;k=g+8|0;i=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[j>>2]=d;c[k>>2]=((c[(c[e>>2]|0)+36>>2]|0)>>>0)/5|0;d=(c[j>>2]|0)-(c[h>>2]|0)|0;d=d+(hp(c[e>>2]|0,c[h>>2]|0)|0)|0;c[i>>2]=((d+(c[k>>2]|0)|0)>>>0)/((c[k>>2]|0)>>>0)|0;c[f>>2]=(c[h>>2]|0)-(c[j>>2]|0)-(c[i>>2]|0);if((c[h>>2]|0)>>>0>((((c[481]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0?(c[f>>2]|0)>>>0<((((c[481]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0)>>>0:0)c[f>>2]=(c[f>>2]|0)+-1;while(1){k=hp(c[e>>2]|0,c[f>>2]|0)|0;if((k|0)==(c[f>>2]|0))b=1;else b=(c[f>>2]|0)==((((c[481]|0)>>>0)/((c[(c[e>>2]|0)+32>>2]|0)>>>0)|0)+1|0);a=c[f>>2]|0;if(!b)break;c[f>>2]=a+-1}l=g;return a|0}function jp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;g=k+16|0;m=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[j>>2]|0))break;if((c[j>>2]|0)!=(c[i>>2]|0)){if(!(c[h>>2]|0))break;if((c[(c[j>>2]|0)+52>>2]|0)==(c[h>>2]|0))break}c[j>>2]=c[(c[j>>2]|0)+8>>2]}if(c[j>>2]|0){c[g>>2]=Dp(c[j>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;m=c[g>>2]|0;l=k;return m|0}if(c[i>>2]|0){m=(c[i>>2]|0)+64|0;a[m>>0]=(d[m>>0]|0)&-33}c[g>>2]=0;m=c[g>>2]|0;l=k;return m|0}function kp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;s=z+52|0;t=z+48|0;u=z+44|0;v=z+40|0;w=z+36|0;x=z+32|0;h=z+28|0;i=z+57|0;j=z+24|0;k=z+20|0;m=z+16|0;n=z+12|0;o=z+8|0;p=z+56|0;q=z+4|0;r=z;c[t>>2]=b;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;g=hp(c[t>>2]|0,c[v>>2]|0)|0;do if((g|0)!=(c[v>>2]|0)?(c[v>>2]|0)!=((((c[481]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0):0){c[x>>2]=el((c[(c[(c[t>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;if(!(c[x>>2]|0)){c[s>>2]=101;y=c[s>>2]|0;l=z;return y|0}c[h>>2]=lp(c[t>>2]|0,c[v>>2]|0,i,j)|0;if(c[h>>2]|0){c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}if((d[i>>0]|0|0)==1){c[s>>2]=um(61751)|0;y=c[s>>2]|0;l=z;return y|0}if((d[i>>0]|0|0)==2){if(c[w>>2]|0)break;c[h>>2]=mp(c[t>>2]|0,m,k,c[v>>2]|0,1)|0;if(!(c[h>>2]|0)){np(c[m>>2]|0);break}c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}a[p>>0]=0;c[q>>2]=0;c[h>>2]=op(c[t>>2]|0,c[v>>2]|0,o,0)|0;if(c[h>>2]|0){c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}if(!(c[w>>2]|0)){a[p>>0]=2;c[q>>2]=c[u>>2]}do{c[h>>2]=mp(c[t>>2]|0,r,n,c[q>>2]|0,a[p>>0]|0)|0;if(c[h>>2]|0){y=19;break}np(c[r>>2]|0);if(!(c[w>>2]|0))break}while((c[n>>2]|0)>>>0>(c[u>>2]|0)>>>0);if((y|0)==19){np(c[o>>2]|0);c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}c[h>>2]=pp(c[t>>2]|0,c[o>>2]|0,a[i>>0]|0,c[j>>2]|0,c[n>>2]|0,c[w>>2]|0)|0;np(c[o>>2]|0);if(c[h>>2]|0){c[s>>2]=c[h>>2];y=c[s>>2]|0;l=z;return y|0}}while(0);if(!(c[w>>2]|0)){while(1){c[v>>2]=(c[v>>2]|0)+-1;if((c[v>>2]|0)==((((c[481]|0)>>>0)/((c[(c[t>>2]|0)+32>>2]|0)>>>0)|0)+1|0))continue;y=hp(c[t>>2]|0,c[v>>2]|0)|0;if((y|0)!=(c[v>>2]|0))break}a[(c[t>>2]|0)+19>>0]=1;c[(c[t>>2]|0)+44>>2]=c[v>>2]}c[s>>2]=0;y=c[s>>2]|0;l=z;return y|0}function lp(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[s>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[h>>2]=hp(c[s>>2]|0,c[n>>2]|0)|0;c[k>>2]=rm(c[c[s>>2]>>2]|0,c[h>>2]|0,q,0)|0;if(c[k>>2]|0){c[m>>2]=c[k>>2];s=c[m>>2]|0;l=r;return s|0}c[i>>2]=Um(c[q>>2]|0)|0;c[j>>2]=((c[n>>2]|0)-(c[h>>2]|0)-1|0)*5;if((c[j>>2]|0)<0){Ym(c[q>>2]|0);c[m>>2]=um(59240)|0;s=c[m>>2]|0;l=r;return s|0}a[c[o>>2]>>0]=a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0;if(c[p>>2]|0){s=el((c[i>>2]|0)+((c[j>>2]|0)+1)|0)|0;c[c[p>>2]>>2]=s}Ym(c[q>>2]|0);if((d[c[o>>2]>>0]|0|0)>=1?(d[c[o>>2]>>0]|0|0)<=5:0){c[m>>2]=0;s=c[m>>2]|0;l=r;return s|0}c[m>>2]=um(59248)|0;s=c[m>>2]|0;l=r;return s|0}function mp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+112|0;K=L+96|0;D=L+92|0;E=L+88|0;F=L+84|0;G=L+80|0;m=L+102|0;n=L+76|0;H=L+72|0;o=L+68|0;p=L+64|0;I=L+60|0;J=L+56|0;q=L+52|0;r=L+48|0;s=L+101|0;t=L+44|0;i=L+100|0;u=L+40|0;v=L+36|0;w=L+32|0;x=L+28|0;y=L+24|0;z=L+20|0;A=L+16|0;B=L+12|0;C=L+8|0;j=L+4|0;k=L;c[D>>2]=b;c[E>>2]=e;c[F>>2]=f;c[G>>2]=g;a[m>>0]=h;c[I>>2]=0;c[J>>2]=0;c[n>>2]=c[(c[D>>2]|0)+12>>2];c[q>>2]=$m(c[D>>2]|0)|0;c[o>>2]=el((c[(c[n>>2]|0)+56>>2]|0)+36|0)|0;if((c[o>>2]|0)>>>0>=(c[q>>2]|0)>>>0){c[K>>2]=um(63793)|0;K=c[K>>2]|0;l=L;return K|0}a:do if((c[o>>2]|0)>>>0>0){a[s>>0]=0;c[t>>2]=0;do if((d[m>>0]|0)==1){if((c[G>>2]|0)>>>0<=(c[q>>2]|0)>>>0){c[H>>2]=lp(c[D>>2]|0,c[G>>2]|0,i,0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}else{if((d[i>>0]|0)!=2)break;a[s>>0]=1;break}}}else if((d[m>>0]|0)==2)a[s>>0]=1;while(0);c[H>>2]=Tm(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}Xm((c[(c[n>>2]|0)+56>>2]|0)+36|0,(c[o>>2]|0)-1|0);b:while(1){c[J>>2]=c[I>>2];if(c[J>>2]|0)c[r>>2]=el(c[(c[J>>2]|0)+56>>2]|0)|0;else c[r>>2]=el((c[(c[n>>2]|0)+56>>2]|0)+32|0)|0;if((c[r>>2]|0)>>>0<=(c[q>>2]|0)>>>0?(h=c[t>>2]|0,c[t>>2]=h+1,h>>>0<=(c[o>>2]|0)>>>0):0)c[H>>2]=zp(c[D>>2]|0,c[r>>2]|0,I,0)|0;else c[H>>2]=um(63849)|0;if(c[H>>2]|0){b=23;break}c[p>>2]=el((c[(c[I>>2]|0)+56>>2]|0)+4|0)|0;c:do if((c[p>>2]|0)!=0|(a[s>>0]|0)!=0){if((c[p>>2]|0)>>>0>((((c[(c[D>>2]|0)+36>>2]|0)>>>0)/4|0)-2|0)>>>0){b=28;break b}do if(d[s>>0]|0){if((c[G>>2]|0)!=(c[r>>2]|0)){if((c[r>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;if((d[m>>0]|0)!=2)break}c[c[F>>2]>>2]=c[r>>2];c[c[E>>2]>>2]=c[I>>2];a[s>>0]=0;c[H>>2]=Tm(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;do if(!(c[p>>2]|0)){if(!(c[J>>2]|0)){h=(c[(c[n>>2]|0)+56>>2]|0)+32|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0;break}c[H>>2]=Tm(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;h=c[(c[J>>2]|0)+56>>2]|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0}else{c[v>>2]=el((c[(c[I>>2]|0)+56>>2]|0)+8|0)|0;if((c[v>>2]|0)>>>0>(c[q>>2]|0)>>>0){b=40;break b}c[H>>2]=zp(c[D>>2]|0,c[v>>2]|0,u,0)|0;if(c[H>>2]|0)break a;c[H>>2]=Tm(c[(c[u>>2]|0)+72>>2]|0)|0;e=c[u>>2]|0;if(c[H>>2]|0){b=43;break b}h=c[e+56>>2]|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0;Xm((c[(c[u>>2]|0)+56>>2]|0)+4|0,(c[p>>2]|0)-1|0);MR((c[(c[u>>2]|0)+56>>2]|0)+8|0,(c[(c[I>>2]|0)+56>>2]|0)+12|0,(c[p>>2]|0)-1<<2|0)|0;np(c[u>>2]|0);if(!(c[J>>2]|0)){Xm((c[(c[n>>2]|0)+56>>2]|0)+32|0,c[v>>2]|0);break}c[H>>2]=Tm(c[(c[J>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;Xm(c[(c[J>>2]|0)+56>>2]|0,c[v>>2]|0)}while(0);c[I>>2]=0;break c}while(0);if((c[p>>2]|0)>>>0>0){c[y>>2]=c[(c[I>>2]|0)+56>>2];h=(c[G>>2]|0)>>>0>0;c[w>>2]=0;d:do if(h)if((d[m>>0]|0)==2){c[z>>2]=0;while(1){if((c[z>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break d;c[x>>2]=el((c[y>>2]|0)+(8+(c[z>>2]<<2))|0)|0;b=c[z>>2]|0;if((c[x>>2]|0)>>>0<=(c[G>>2]|0)>>>0)break;c[z>>2]=b+1}c[w>>2]=b;break}else{h=el((c[y>>2]|0)+8|0)|0;c[A>>2]=Ap(h-(c[G>>2]|0)|0)|0;c[z>>2]=1;while(1){if((c[z>>2]|0)>>>0>=(c[p>>2]|0)>>>0)break d;h=el((c[y>>2]|0)+(8+(c[z>>2]<<2))|0)|0;c[B>>2]=Ap(h-(c[G>>2]|0)|0)|0;if((c[B>>2]|0)<(c[A>>2]|0)){c[w>>2]=c[z>>2];c[A>>2]=c[B>>2]}c[z>>2]=(c[z>>2]|0)+1}}while(0);c[x>>2]=el((c[y>>2]|0)+(8+(c[w>>2]<<2))|0)|0;if((c[x>>2]|0)>>>0>(c[q>>2]|0)>>>0){b=63;break b}if(a[s>>0]|0?(c[x>>2]|0)!=(c[G>>2]|0):0){if((c[x>>2]|0)>>>0>=(c[G>>2]|0)>>>0)break;if((d[m>>0]|0)!=2)break}c[c[F>>2]>>2]=c[x>>2];c[H>>2]=Tm(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;if((c[w>>2]|0)>>>0<((c[p>>2]|0)-1|0)>>>0){h=(c[y>>2]|0)+(8+(c[w>>2]<<2))|0;k=(c[y>>2]|0)+(4+(c[p>>2]<<2))|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0}Xm((c[y>>2]|0)+4|0,(c[p>>2]|0)-1|0);h=(Bp(c[D>>2]|0,c[c[F>>2]>>2]|0)|0)!=0^1;c[C>>2]=h?1:0;c[H>>2]=zp(c[D>>2]|0,c[c[F>>2]>>2]|0,c[E>>2]|0,c[C>>2]|0)|0;do if(!(c[H>>2]|0)){c[H>>2]=Tm(c[(c[c[E>>2]>>2]|0)+72>>2]|0)|0;if(!(c[H>>2]|0))break;np(c[c[E>>2]>>2]|0);c[c[E>>2]>>2]=0}while(0);a[s>>0]=0}}else{c[H>>2]=Tm(c[(c[I>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0)break a;c[c[F>>2]>>2]=c[r>>2];h=(c[(c[n>>2]|0)+56>>2]|0)+32|0;k=c[(c[I>>2]|0)+56>>2]|0;a[h>>0]=a[k>>0]|0;a[h+1>>0]=a[k+1>>0]|0;a[h+2>>0]=a[k+2>>0]|0;a[h+3>>0]=a[k+3>>0]|0;c[c[E>>2]>>2]=c[I>>2];c[I>>2]=0}while(0);np(c[J>>2]|0);c[J>>2]=0;if(!(a[s>>0]|0))break a}if((b|0)==23){c[I>>2]=0;break}else if((b|0)==28){c[H>>2]=um(63878)|0;break}else if((b|0)==40){c[H>>2]=um(63912)|0;break}else if((b|0)==43){np(e);break}else if((b|0)==63){c[H>>2]=um(63977)|0;break}}else{c[j>>2]=0==(d[(c[D>>2]|0)+19>>0]|0)?1:0;c[H>>2]=Tm(c[(c[(c[D>>2]|0)+12>>2]|0)+72>>2]|0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[D>>2]|0)+44>>2]|0)==((((c[481]|0)>>>0)/((c[(c[D>>2]|0)+32>>2]|0)>>>0)|0)+1|0)){G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1}do if(d[(c[D>>2]|0)+17>>0]|0?(G=hp(c[D>>2]|0,c[(c[D>>2]|0)+44>>2]|0)|0,(G|0)==(c[(c[D>>2]|0)+44>>2]|0)):0){c[k>>2]=0;c[H>>2]=zp(c[D>>2]|0,c[(c[D>>2]|0)+44>>2]|0,k,c[j>>2]|0)|0;if(!(c[H>>2]|0)){c[H>>2]=Tm(c[(c[k>>2]|0)+72>>2]|0)|0;np(c[k>>2]|0)}if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}else{G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;if((c[(c[D>>2]|0)+44>>2]|0)!=((((c[481]|0)>>>0)/((c[(c[D>>2]|0)+32>>2]|0)>>>0)|0)+1|0))break;G=(c[D>>2]|0)+44|0;c[G>>2]=(c[G>>2]|0)+1;break}}while(0);Xm((c[(c[(c[D>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[D>>2]|0)+44>>2]|0);c[c[F>>2]>>2]=c[(c[D>>2]|0)+44>>2];c[H>>2]=zp(c[D>>2]|0,c[c[F>>2]>>2]|0,c[E>>2]|0,c[j>>2]|0)|0;if(c[H>>2]|0){c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}else{c[H>>2]=Tm(c[(c[c[E>>2]>>2]|0)+72>>2]|0)|0;if(!(c[H>>2]|0))break;np(c[c[E>>2]>>2]|0);c[c[E>>2]>>2]=0;break}}while(0);np(c[I>>2]|0);np(c[J>>2]|0);c[K>>2]=c[H>>2];K=c[K>>2]|0;l=L;return K|0}function np(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}yp(c[b>>2]|0);l=d;return}function op(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+24|0;h=m+20|0;i=m+16|0;j=m+12|0;n=m+8|0;k=m+4|0;f=m;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[n>>2]=e;c[k>>2]=rm(c[c[h>>2]>>2]|0,c[i>>2]|0,f,c[n>>2]|0)|0;if(c[k>>2]|0){c[g>>2]=c[k>>2];n=c[g>>2]|0;l=m;return n|0}else{n=xp(c[f>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;c[c[j>>2]>>2]=n;c[g>>2]=0;n=c[g>>2]|0;l=m;return n|0}return 0}function pp(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=l;l=l+48|0;s=v+40|0;t=v+36|0;k=v+32|0;u=v+44|0;n=v+28|0;o=v+24|0;w=v+20|0;p=v+16|0;q=v+12|0;x=v+8|0;r=v+4|0;j=v;c[t>>2]=b;c[k>>2]=e;a[u>>0]=f;c[n>>2]=g;c[o>>2]=h;c[w>>2]=i;c[q>>2]=c[(c[k>>2]|0)+84>>2];c[x>>2]=c[c[t>>2]>>2];c[r>>2]=qp(c[x>>2]|0,c[(c[k>>2]|0)+72>>2]|0,c[o>>2]|0,c[w>>2]|0)|0;if(c[r>>2]|0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}c[(c[k>>2]|0)+84>>2]=c[o>>2];if((d[u>>0]|0|0)!=5?(d[u>>0]|0|0)!=1:0){c[j>>2]=el(c[(c[k>>2]|0)+56>>2]|0)|0;if(c[j>>2]|0?(sp(c[t>>2]|0,c[j>>2]|0,4,c[o>>2]|0,r),c[r>>2]|0):0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}}else m=5;if((m|0)==5?(c[r>>2]=rp(c[k>>2]|0)|0,c[r>>2]|0):0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}do if((d[u>>0]|0|0)!=1){c[r>>2]=op(c[t>>2]|0,c[n>>2]|0,p,0)|0;if(c[r>>2]|0){c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}c[r>>2]=Tm(c[(c[p>>2]|0)+72>>2]|0)|0;b=c[p>>2]|0;if(c[r>>2]|0){np(b);c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}else{c[r>>2]=tp(b,c[q>>2]|0,c[o>>2]|0,a[u>>0]|0)|0;np(c[p>>2]|0);if(c[r>>2]|0)break;sp(c[t>>2]|0,c[o>>2]|0,a[u>>0]|0,c[n>>2]|0,r);break}}while(0);c[s>>2]=c[r>>2];x=c[s>>2]|0;l=v;return x|0}function qp(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;p=u+36|0;q=u+32|0;r=u+28|0;s=u+24|0;j=u+20|0;t=u+16|0;k=u+12|0;m=u+8|0;n=u+4|0;o=u;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[j>>2]=i;c[k>>2]=0;if(a[(c[q>>2]|0)+13>>0]|0?(c[m>>2]=Tm(c[r>>2]|0)|0,c[m>>2]|0):0){c[p>>2]=c[m>>2];t=c[p>>2]|0;l=u;return t|0}if(e[(c[r>>2]|0)+24>>1]&2|0?(i=an(c[r>>2]|0)|0,c[m>>2]=i,0!=(i|0)):0){c[p>>2]=c[m>>2];t=c[p>>2]|0;l=u;return t|0}if(!(c[j>>2]|0?1:(e[(c[r>>2]|0)+24>>1]&8|0)==0))c[k>>2]=c[(c[r>>2]|0)+20>>2];j=(c[r>>2]|0)+24|0;b[j>>1]=e[j>>1]&-9;c[t>>2]=pm(c[q>>2]|0,c[s>>2]|0)|0;do if(c[t>>2]|0){f=(c[r>>2]|0)+24|0;b[f>>1]=e[f>>1]|e[(c[t>>2]|0)+24>>1]&8;f=c[t>>2]|0;if(a[(c[q>>2]|0)+13>>0]|0){vp(f,(c[(c[q>>2]|0)+28>>2]|0)+1|0);break}else{Em(f);break}}while(0);c[n>>2]=c[(c[r>>2]|0)+20>>2];vp(c[r>>2]|0,c[s>>2]|0);sm(c[r>>2]|0);if(c[t>>2]|0?(d[(c[q>>2]|0)+13>>0]|0)!=0:0){vp(c[t>>2]|0,c[n>>2]|0);Zm(c[t>>2]|0)}do if(c[k>>2]|0){c[m>>2]=rm(c[q>>2]|0,c[k>>2]|0,o,0)|0;if(!(c[m>>2]|0)){t=(c[o>>2]|0)+24|0;b[t>>1]=e[t>>1]|8;sm(c[o>>2]|0);Zm(c[o>>2]|0);break}if((c[k>>2]|0)>>>0<=(c[(c[q>>2]|0)+32>>2]|0)>>>0)wp(c[(c[q>>2]|0)+60>>2]|0,c[k>>2]|0,c[(c[q>>2]|0)+208>>2]|0);c[p>>2]=c[m>>2];t=c[p>>2]|0;l=u;return t|0}while(0);c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}function rp(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;f=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;k=q+16|0;m=q+36|0;n=q+12|0;o=q+8|0;p=q+4|0;g=q;c[f>>2]=b;c[k>>2]=c[(c[f>>2]|0)+52>>2];a[m>>0]=a[c[f>>2]>>0]|0;c[n>>2]=c[(c[f>>2]|0)+84>>2];c[j>>2]=Bo(c[f>>2]|0)|0;if(c[j>>2]|0){o=a[m>>0]|0;p=c[f>>2]|0;a[p>>0]=o;p=c[j>>2]|0;l=q;return p|0}c[i>>2]=e[(c[f>>2]|0)+18>>1];c[h>>2]=0;while(1){b=c[f>>2]|0;if((c[h>>2]|0)>=(c[i>>2]|0))break;c[o>>2]=(c[b+56>>2]|0)+(e[(c[f>>2]|0)+20>>1]&(d[(c[(c[f>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[f>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]));up(c[f>>2]|0,c[o>>2]|0,j);if(!(a[(c[f>>2]|0)+4>>0]|0)){c[p>>2]=el(c[o>>2]|0)|0;sp(c[k>>2]|0,c[p>>2]|0,5,c[n>>2]|0,j)}c[h>>2]=(c[h>>2]|0)+1}if(a[b+4>>0]|0){o=a[m>>0]|0;p=c[f>>2]|0;a[p>>0]=o;p=c[j>>2]|0;l=q;return p|0}c[g>>2]=el((c[(c[f>>2]|0)+56>>2]|0)+((d[(c[f>>2]|0)+5>>0]|0)+8)|0)|0;sp(c[k>>2]|0,c[g>>2]|0,5,c[n>>2]|0,j);o=a[m>>0]|0;p=c[f>>2]|0;a[p>>0]=o;p=c[j>>2]|0;l=q;return p|0}function sp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+32|0;p=t+28|0;q=t+36|0;r=t+24|0;s=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=b;c[p>>2]=e;a[q>>0]=f;c[r>>2]=g;c[s>>2]=h;if(c[c[s>>2]>>2]|0){l=t;return}if(!(c[p>>2]|0)){r=um(59184)|0;c[c[s>>2]>>2]=r;l=t;return}c[k>>2]=hp(c[o>>2]|0,c[p>>2]|0)|0;c[n>>2]=rm(c[c[o>>2]>>2]|0,c[k>>2]|0,i,0)|0;if(c[n>>2]|0){c[c[s>>2]>>2]=c[n>>2];l=t;return}c[m>>2]=((c[p>>2]|0)-(c[k>>2]|0)-1|0)*5;do if((c[m>>2]|0)>=0){c[j>>2]=Um(c[i>>2]|0)|0;if((d[q>>0]|0|0)==(d[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0|0)?(p=el((c[j>>2]|0)+((c[m>>2]|0)+1)|0)|0,(p|0)==(c[r>>2]|0)):0)break;p=Tm(c[i>>2]|0)|0;c[n>>2]=p;c[c[s>>2]>>2]=p;if(!(c[n>>2]|0)){a[(c[j>>2]|0)+(c[m>>2]|0)>>0]=a[q>>0]|0;Xm((c[j>>2]|0)+((c[m>>2]|0)+1)|0,c[r>>2]|0)}}else{r=um(59195)|0;c[c[s>>2]>>2]=r}while(0);Ym(c[i>>2]|0);l=t;return}function tp(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+57|0;t=v+56|0;i=v+36|0;j=v+32|0;k=v+28|0;m=v+24|0;n=v;c[p>>2]=b;c[q>>2]=f;c[r>>2]=g;a[s>>0]=h;b=c[p>>2]|0;do if((d[s>>0]|0|0)==4){u=el(c[b+56>>2]|0)|0;if((u|0)==(c[q>>2]|0)){Xm(c[(c[p>>2]|0)+56>>2]|0,c[r>>2]|0);break}c[o>>2]=um(61581)|0;u=c[o>>2]|0;l=v;return u|0}else{a[t>>0]=a[b>>0]|0;c[k>>2]=Bo(c[p>>2]|0)|0;if(c[k>>2]|0){c[o>>2]=c[k>>2];u=c[o>>2]|0;l=v;return u|0}c[j>>2]=e[(c[p>>2]|0)+18>>1];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[j>>2]|0))break;c[m>>2]=(c[(c[p>>2]|0)+56>>2]|0)+((e[(c[p>>2]|0)+20>>1]|0)&((d[(c[(c[p>>2]|0)+64>>2]|0)+(c[i>>2]<<1)>>0]|0)<<8|(d[(c[(c[p>>2]|0)+64>>2]|0)+(c[i>>2]<<1)+1>>0]|0)));if((d[s>>0]|0|0)==3){ub[c[(c[p>>2]|0)+80>>2]&255](c[p>>2]|0,c[m>>2]|0,n);if(((e[n+16>>1]|0)>>>0<(c[n+12>>2]|0)>>>0?((c[m>>2]|0)+(e[n+18>>1]|0)+-1|0)>>>0<=((c[(c[p>>2]|0)+56>>2]|0)+(e[(c[p>>2]|0)+20>>1]|0)|0)>>>0:0)?(k=c[q>>2]|0,(k|0)==(el((c[m>>2]|0)+(e[n+18>>1]|0)+-4|0)|0)):0){u=13;break}}else{k=el(c[m>>2]|0)|0;if((k|0)==(c[q>>2]|0)){u=15;break}}c[i>>2]=(c[i>>2]|0)+1}if((u|0)==13)Xm((c[m>>2]|0)+(e[n+18>>1]|0)+-4|0,c[r>>2]|0);else if((u|0)==15)Xm(c[m>>2]|0,c[r>>2]|0);do if((c[i>>2]|0)==(c[j>>2]|0)){if((d[s>>0]|0|0)==5?(u=el((c[(c[p>>2]|0)+56>>2]|0)+((d[(c[p>>2]|0)+5>>0]|0)+8)|0)|0,(u|0)==(c[q>>2]|0)):0){Xm((c[(c[p>>2]|0)+56>>2]|0)+((d[(c[p>>2]|0)+5>>0]|0)+8)|0,c[r>>2]|0);break}c[o>>2]=um(61617)|0;u=c[o>>2]|0;l=v;return u|0}while(0);a[c[p>>2]>>0]=a[t>>0]|0}while(0);c[o>>2]=0;u=c[o>>2]|0;l=v;return u|0}function up(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+48|0;f=k+36|0;g=k+32|0;h=k+28|0;i=k;j=k+24|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[h>>2]>>2]|0){l=k;return}ub[c[(c[f>>2]|0)+80>>2]&255](c[f>>2]|0,c[g>>2]|0,i);if((e[i+16>>1]|0)>>>0>=(c[i+12>>2]|0)>>>0){l=k;return}c[j>>2]=el((c[g>>2]|0)+((e[i+18>>1]|0)-4)|0)|0;sp(c[(c[f>>2]|0)+52>>2]|0,c[j>>2]|0,3,c[(c[f>>2]|0)+84>>2]|0,c[h>>2]|0);l=k;return}function vp(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;h=f;c[d>>2]=a;c[g>>2]=b;c[h>>2]=c[(c[d>>2]|0)+28>>2];Ab[c[152>>2]&255](c[(c[h>>2]|0)+44>>2]|0,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+20>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+20>>2]=c[g>>2];if(!((e[(c[d>>2]|0)+24>>1]|0)&2)){l=f;return}if(!((e[(c[d>>2]|0)+24>>1]|0)&8)){l=f;return}Tk(c[d>>2]|0,3);l=f;return}function wp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;if(!(c[g>>2]|0)){l=p;return}c[h>>2]=(c[h>>2]|0)+-1;while(1){if(!(c[(c[g>>2]|0)+8>>2]|0))break;c[j>>2]=((c[h>>2]|0)>>>0)/((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[h>>2]=((c[h>>2]|0)>>>0)%((c[(c[g>>2]|0)+8>>2]|0)>>>0)|0;c[g>>2]=c[(c[g>>2]|0)+12+(c[j>>2]<<2)>>2];if(!(c[g>>2]|0)){o=16;break}}if((o|0)==16){l=p;return}if((c[c[g>>2]>>2]|0)>>>0<=4e3){o=(c[g>>2]|0)+12+(((c[h>>2]|0)>>>0)/8|0)|0;a[o>>0]=(d[o>>0]|0)&~(1<<(c[h>>2]&7));l=p;return}c[m>>2]=c[i>>2];MR(c[m>>2]|0,(c[g>>2]|0)+12|0,500)|0;GR((c[g>>2]|0)+12|0,0,500)|0;c[(c[g>>2]|0)+4>>2]=0;c[k>>2]=0;while(1){if((c[k>>2]|0)>>>0>=125)break;if(c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0?(c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0)!=((c[h>>2]|0)+1|0):0){c[n>>2]=(((c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]|0)-1|0)>>>0)%125|0;o=(c[g>>2]|0)+4|0;c[o>>2]=(c[o>>2]|0)+1;while(1){if(!(c[(c[g>>2]|0)+12+(c[n>>2]<<2)>>2]|0))break;o=(c[n>>2]|0)+1|0;c[n>>2]=o;c[n>>2]=(c[n>>2]|0)>>>0>=125?0:o}c[(c[g>>2]|0)+12+(c[n>>2]<<2)>>2]=c[(c[m>>2]|0)+(c[k>>2]<<2)>>2]}c[k>>2]=(c[k>>2]|0)+1}l=p;return}function xp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=Vm(c[f>>2]|0)|0;if((c[g>>2]|0)==(c[(c[i>>2]|0)+84>>2]|0)){i=c[i>>2]|0;l=j;return i|0}e=Um(c[f>>2]|0)|0;c[(c[i>>2]|0)+56>>2]=e;c[(c[i>>2]|0)+72>>2]=c[f>>2];c[(c[i>>2]|0)+52>>2]=c[h>>2];c[(c[i>>2]|0)+84>>2]=c[g>>2];a[(c[i>>2]|0)+5>>0]=(c[g>>2]|0)==1?100:0;i=c[i>>2]|0;l=j;return i|0}function yp(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Zm(c[(c[d>>2]|0)+72>>2]|0);l=b;return}function zp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;g=j+20|0;n=j+16|0;m=j+12|0;h=j+8|0;k=j+4|0;i=j;c[n>>2]=b;c[m>>2]=d;c[h>>2]=e;c[k>>2]=f;c[i>>2]=op(c[n>>2]|0,c[m>>2]|0,c[h>>2]|0,c[k>>2]|0)|0;b=c[h>>2]|0;do if(!(c[i>>2]|0)){n=(Ao(c[(c[b>>2]|0)+72>>2]|0)|0)>1;b=c[c[h>>2]>>2]|0;if(!n){a[b>>0]=0;break}np(b);c[c[h>>2]>>2]=0;c[g>>2]=um(60316)|0;n=c[g>>2]|0;l=j;return n|0}else c[b>>2]=0;while(0);c[g>>2]=c[i>>2];n=c[g>>2]|0;l=j;return n|0}function Ap(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;a=c[d>>2]|0;do if((c[d>>2]|0)<0)if((a|0)==-2147483648){c[b>>2]=2147483647;break}else{c[b>>2]=0-(c[d>>2]|0);break}else c[b>>2]=a;while(0);l=e;return c[b>>2]|0}function Bp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[g>>2]|0)+60>>2];if(!(c[e>>2]|0)){g=0;g=g&1;l=f;return g|0}g=c[d>>2]|0;if(g>>>0>(Cp(c[e>>2]|0)|0)>>>0){g=1;g=g&1;l=f;return g|0}g=(mm(c[e>>2]|0,c[d>>2]|0)|0)!=0;g=g&1;l=f;return g|0}function Cp(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function Dp(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;a:while(1){do if((c[f>>2]|0)!=(c[h>>2]|0)){if(0!=(c[g>>2]|0)?(c[(c[f>>2]|0)+52>>2]|0)!=(c[g>>2]|0):0)break;if((d[(c[f>>2]|0)+66>>0]|0|0)!=1?(d[(c[f>>2]|0)+66>>0]|0|0)!=2:0){Fp(c[f>>2]|0);break}c[j>>2]=Ep(c[f>>2]|0)|0;if(c[j>>2]|0){a=8;break a}}while(0);c[f>>2]=c[(c[f>>2]|0)+8>>2];if(!(c[f>>2]|0)){a=11;break}}if((a|0)==8){c[i>>2]=c[j>>2];j=c[i>>2]|0;l=k;return j|0}else if((a|0)==11){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}return 0}function Ep(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;b=c[e>>2]|0;if((d[(c[e>>2]|0)+66>>0]|0|0)==2)a[b+66>>0]=1;else c[b+60>>2]=0;c[f>>2]=Gp(c[e>>2]|0)|0;if(!(c[f>>2]|0)){Fp(c[e>>2]|0);a[(c[e>>2]|0)+66>>0]=3}e=(c[e>>2]|0)+64|0;a[e>>0]=(d[e>>0]|0)&-15;l=g;return c[f>>2]|0}function Fp(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){b=c[d>>2]|0;if((c[e>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;np(c[b+120+(c[e>>2]<<2)>>2]|0);c[(c[d>>2]|0)+120+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}a[b+68>>0]=-1;l=f;return}function Gp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;f=g+4|0;d=g;c[e>>2]=b;c[f>>2]=0;b=c[e>>2]|0;if(a[(c[e>>2]|0)+69>>0]|0){d=Hp(b)|0;e=(c[e>>2]|0)+40|0;c[e>>2]=d;c[e+4>>2]=z;f=c[f>>2]|0;l=g;return f|0}h=Ip(b)|0;b=(c[e>>2]|0)+40|0;c[b>>2]=h;c[b+4>>2]=0;b=(c[e>>2]|0)+40|0;c[d>>2]=pd(c[b>>2]|0,c[b+4>>2]|0)|0;if(!(c[d>>2]|0)){c[f>>2]=7;h=c[f>>2]|0;l=g;return h|0}c[f>>2]=Jp(c[e>>2]|0,0,c[(c[e>>2]|0)+40>>2]|0,c[d>>2]|0)|0;b=c[d>>2]|0;if(!(c[f>>2]|0)){c[(c[e>>2]|0)+48>>2]=b;h=c[f>>2]|0;l=g;return h|0}else{Kd(b);h=c[f>>2]|0;l=g;return h|0}return 0}function Hp(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Lp(c[d>>2]|0);a=(c[d>>2]|0)+16|0;z=c[a+4>>2]|0;l=b;return c[a>>2]|0}function Ip(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;Lp(c[b>>2]|0);l=d;return c[(c[b>>2]|0)+16+12>>2]|0}function Jp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Kp(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return e|0}function Kp(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;C=l;l=l+80|0;x=C+68|0;y=C+64|0;z=C+60|0;A=C+56|0;B=C+52|0;j=C+48|0;k=C+44|0;m=C+40|0;n=C+36|0;o=C+32|0;p=C+28|0;q=C+24|0;r=C+20|0;s=C+16|0;t=C+12|0;u=C+8|0;v=C+4|0;w=C;c[y>>2]=b;c[z>>2]=f;c[A>>2]=g;c[B>>2]=h;c[j>>2]=i;c[m>>2]=0;c[n>>2]=0;c[o>>2]=c[(c[y>>2]|0)+120+(a[(c[y>>2]|0)+68>>0]<<2)>>2];c[p>>2]=c[(c[y>>2]|0)+4>>2];Lp(c[y>>2]|0);c[k>>2]=c[(c[y>>2]|0)+16+8>>2];if(((c[k>>2]|0)-(c[(c[o>>2]|0)+56>>2]|0)|0)>>>0>((c[(c[p>>2]|0)+36>>2]|0)-(e[(c[y>>2]|0)+16+16>>1]|0)|0)>>>0){c[x>>2]=um(62723)|0;B=c[x>>2]|0;l=C;return B|0}if((c[z>>2]|0)>>>0<(e[(c[y>>2]|0)+16+16>>1]|0)>>>0){c[q>>2]=c[A>>2];if(((c[q>>2]|0)+(c[z>>2]|0)|0)>>>0>(e[(c[y>>2]|0)+16+16>>1]|0)>>>0)c[q>>2]=(e[(c[y>>2]|0)+16+16>>1]|0)-(c[z>>2]|0);c[m>>2]=Mp((c[k>>2]|0)+(c[z>>2]|0)|0,c[B>>2]|0,c[q>>2]|0,c[j>>2]&1,c[(c[o>>2]|0)+72>>2]|0)|0;c[z>>2]=0;c[B>>2]=(c[B>>2]|0)+(c[q>>2]|0);c[A>>2]=(c[A>>2]|0)-(c[q>>2]|0)}else c[z>>2]=(c[z>>2]|0)-(e[(c[y>>2]|0)+16+16>>1]|0);a:do if((c[m>>2]|0)==0&(c[A>>2]|0)>>>0>0){c[r>>2]=(c[(c[p>>2]|0)+36>>2]|0)-4;c[s>>2]=el((c[k>>2]|0)+(e[(c[y>>2]|0)+16+16>>1]|0)|0)|0;if((c[j>>2]|0)!=2?(d[(c[y>>2]|0)+64>>0]&4|0)==0:0){c[t>>2]=(((c[(c[y>>2]|0)+16+12>>2]|0)-(e[(c[y>>2]|0)+16+16>>1]|0)+(c[r>>2]|0)-1|0)>>>0)/((c[r>>2]|0)>>>0)|0;do if((c[t>>2]|0)>(c[(c[y>>2]|0)+56>>2]|0)){c[u>>2]=Sd(c[(c[y>>2]|0)+12>>2]|0,c[t>>2]<<1<<2,0)|0;if(!(c[u>>2]|0)){c[m>>2]=7;break}else{c[(c[y>>2]|0)+56>>2]=c[t>>2]<<1;c[(c[y>>2]|0)+12>>2]=c[u>>2];break}}while(0);if(!(c[m>>2]|0)){GR(c[(c[y>>2]|0)+12>>2]|0,0,c[t>>2]<<2|0)|0;i=(c[y>>2]|0)+64|0;a[i>>0]=d[i>>0]|4}}if(d[(c[y>>2]|0)+64>>0]&4|0?c[(c[(c[y>>2]|0)+12>>2]|0)+((((c[z>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0)<<2)>>2]|0:0){c[n>>2]=((c[z>>2]|0)>>>0)/((c[r>>2]|0)>>>0)|0;c[s>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+(c[n>>2]<<2)>>2];c[z>>2]=((c[z>>2]|0)>>>0)%((c[r>>2]|0)>>>0)|0}while(1){if(!((c[m>>2]|0)==0&(c[A>>2]|0)>>>0>0&(c[s>>2]|0)!=0))break a;if(d[(c[y>>2]|0)+64>>0]&4|0)c[(c[(c[y>>2]|0)+12>>2]|0)+(c[n>>2]<<2)>>2]=c[s>>2];if((c[z>>2]|0)>>>0>=(c[r>>2]|0)>>>0){if(c[(c[(c[y>>2]|0)+12>>2]|0)+((c[n>>2]|0)+1<<2)>>2]|0)c[s>>2]=c[(c[(c[y>>2]|0)+12>>2]|0)+((c[n>>2]|0)+1<<2)>>2];else c[m>>2]=Np(c[p>>2]|0,c[s>>2]|0,0,s)|0;c[z>>2]=(c[z>>2]|0)-(c[r>>2]|0)}else{c[v>>2]=c[A>>2];if(((c[v>>2]|0)+(c[z>>2]|0)|0)>>>0>(c[r>>2]|0)>>>0)c[v>>2]=(c[r>>2]|0)-(c[z>>2]|0);c[m>>2]=rm(c[c[p>>2]>>2]|0,c[s>>2]|0,w,(c[j>>2]&1|0)==0?2:0)|0;if(!(c[m>>2]|0)){c[k>>2]=Um(c[w>>2]|0)|0;c[s>>2]=el(c[k>>2]|0)|0;c[m>>2]=Mp((c[k>>2]|0)+((c[z>>2]|0)+4)|0,c[B>>2]|0,c[v>>2]|0,c[j>>2]&1,c[w>>2]|0)|0;Ym(c[w>>2]|0);c[z>>2]=0}c[A>>2]=(c[A>>2]|0)-(c[v>>2]|0);c[B>>2]=(c[B>>2]|0)+(c[v>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}}while(0);if((c[m>>2]|0)==0&(c[A>>2]|0)>>>0>0){c[x>>2]=um(62880)|0;B=c[x>>2]|0;l=C;return B|0}else{c[x>>2]=c[m>>2];B=c[x>>2]|0;l=C;return B|0}return 0}function Lp(b){b=b|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;if(e[(c[f>>2]|0)+16+18>>1]|0){l=h;return}c[g>>2]=a[(c[f>>2]|0)+68>>0];b=(c[f>>2]|0)+64|0;a[b>>0]=d[b>>0]|2;Op(c[(c[f>>2]|0)+120+(c[g>>2]<<2)>>2]|0,e[(c[f>>2]|0)+80+(c[g>>2]<<1)>>1]|0,(c[f>>2]|0)+16|0);l=h;return}function Mp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;o=n+8|0;g=n+4|0;h=n;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[o>>2]=e;c[g>>2]=f;do if(c[o>>2]|0){c[h>>2]=Tm(c[g>>2]|0)|0;if(!(c[h>>2]|0)){MR(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;break}c[i>>2]=c[h>>2];o=c[i>>2]|0;l=n;return o|0}else MR(c[k>>2]|0,c[j>>2]|0,c[m>>2]|0)|0;while(0);c[i>>2]=0;o=c[i>>2]|0;l=n;return o|0}function Np(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+32|0;m=s+28|0;r=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;q=s+8|0;h=s+4|0;i=s;j=s+36|0;c[k>>2]=b;c[m>>2]=e;c[r>>2]=f;c[n>>2]=g;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;if(a[(c[k>>2]|0)+17>>0]|0){c[i>>2]=(c[m>>2]|0)+1;while(1){g=hp(c[k>>2]|0,c[i>>2]|0)|0;if((g|0)==(c[i>>2]|0))e=1;else e=(c[i>>2]|0)==((((c[481]|0)>>>0)/((c[(c[k>>2]|0)+32>>2]|0)>>>0)|0)+1|0);b=c[i>>2]|0;if(!e)break;c[i>>2]=b+1}if(((b>>>0<=($m(c[k>>2]|0)|0)>>>0?(c[q>>2]=lp(c[k>>2]|0,c[i>>2]|0,j,h)|0,(c[q>>2]|0)==0):0)?(d[j>>0]|0)==4:0)?(c[h>>2]|0)==(c[m>>2]|0):0){c[o>>2]=c[i>>2];c[q>>2]=101}}if((c[q>>2]|0)==0?(c[q>>2]=op(c[k>>2]|0,c[m>>2]|0,p,(c[r>>2]|0)==0?2:0)|0,(c[q>>2]|0)==0):0)c[o>>2]=el(c[(c[p>>2]|0)+56>>2]|0)|0;c[c[n>>2]>>2]=c[o>>2];b=c[p>>2]|0;if(c[r>>2]|0){c[c[r>>2]>>2]=b;p=c[q>>2]|0;p=(p|0)==101;r=c[q>>2]|0;r=p?0:r;l=s;return r|0}else{np(b);p=c[q>>2]|0;p=(p|0)==101;r=c[q>>2]|0;r=p?0:r;l=s;return r|0}return 0}function Op(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;j=g+8|0;i=g+4|0;h=g;c[j>>2]=a;c[i>>2]=b;c[h>>2]=f;ub[c[(c[j>>2]|0)+80>>2]&255](c[j>>2]|0,(c[(c[j>>2]|0)+56>>2]|0)+((e[(c[j>>2]|0)+20>>1]|0)&((d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)>>0]|0)<<8|(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)+1>>0]|0)))|0,c[h>>2]|0);l=g;return}function Pp(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=0;b=c[f>>2]|0;if(c[(c[f>>2]|0)+44>>2]|0){c[e>>2]=c[b+44>>2];g=c[e>>2]|0;l=h;return g|0}if(((d[b+17>>0]|0|0)==2?d[(c[f>>2]|0)+4>>0]|0|0:0)?(d[(c[f>>2]|0)+5>>0]|0|0)==1:0){a[(c[f>>2]|0)+17>>0]=1;c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}b=(c[f>>2]|0)+108|0;c[b>>2]=(c[b>>2]|0)+1;c[g>>2]=tl(c[f>>2]|0,d[(c[f>>2]|0)+20>>0]|0,1)|0;c[e>>2]=ol(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}function Qp(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Al(c[(c[d>>2]|0)+60>>2]|0);c[(c[d>>2]|0)+60>>2]=0;l=b;return}function Rp(b){b=b|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;f=g+4|0;h=g;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+4>>2];c[h>>2]=c[c[e>>2]>>2];a[(c[f>>2]|0)+19>>0]=0;if((d[(c[e>>2]|0)+8>>0]|0|0)>0?(c[(c[h>>2]|0)+160>>2]|0)>1:0){Sp(c[e>>2]|0);a[(c[e>>2]|0)+8>>0]=1;l=g;return}if(d[(c[e>>2]|0)+8>>0]|0|0?(Tp(c[e>>2]|0),h=(c[f>>2]|0)+40|0,c[h>>2]=(c[h>>2]|0)+-1,0==(c[(c[f>>2]|0)+40>>2]|0)):0)a[(c[f>>2]|0)+20>>0]=0;a[(c[e>>2]|0)+8>>0]=0;Up(c[f>>2]|0);l=g;return}function Sp(d){d=d|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+8|0;f=h+4|0;g=h;c[i>>2]=d;c[f>>2]=c[(c[i>>2]|0)+4>>2];if((c[(c[f>>2]|0)+76>>2]|0)!=(c[i>>2]|0)){l=h;return}c[(c[f>>2]|0)+76>>2]=0;i=(c[f>>2]|0)+22|0;b[i>>1]=(e[i>>1]|0)&-97;c[g>>2]=c[(c[f>>2]|0)+72>>2];while(1){if(!(c[g>>2]|0))break;a[(c[g>>2]|0)+8>>0]=1;c[g>>2]=c[(c[g>>2]|0)+12>>2]}l=h;return}function Tp(a){a=a|0;var d=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+12|0;h=i+8|0;d=i+4|0;f=i;c[g>>2]=a;c[h>>2]=c[(c[g>>2]|0)+4>>2];c[d>>2]=(c[h>>2]|0)+72;while(1){if(!(c[c[d>>2]>>2]|0))break;c[f>>2]=c[c[d>>2]>>2];a=(c[f>>2]|0)+12|0;if((c[c[f>>2]>>2]|0)!=(c[g>>2]|0)){c[d>>2]=a;continue}c[c[d>>2]>>2]=c[a>>2];if((c[(c[f>>2]|0)+4>>2]|0)==1)continue;Kd(c[f>>2]|0)}a=c[h>>2]|0;do if((c[(c[h>>2]|0)+76>>2]|0)!=(c[g>>2]|0))if((c[a+40>>2]|0)==2){d=-65;a=c[h>>2]|0;break}else{l=i;return}else{c[a+76>>2]=0;d=-97;a=c[h>>2]|0}while(0);h=a+22|0;b[h>>1]=(e[h>>1]|0)&d;l=i;return}function Up(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[b>>2]=a;if(d[(c[b>>2]|0)+20>>0]|0|0){l=f;return}if(!(c[(c[b>>2]|0)+12>>2]|0)){l=f;return}c[e>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;yp(c[e>>2]|0);l=f;return}function Vp(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[68];if(!(c[d>>2]|0)){d=0;l=e;return d|0}d=tb[c[d>>2]&255](c[b>>2]|0)|0;l=e;return d|0}function Wp(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+4|0;g=h;c[e>>2]=b;c[h+8>>2]=d;c[f>>2]=0;if(a[(c[e>>2]|0)+19>>0]|0){g=c[f>>2]|0;l=h;return g|0}if((c[(c[e>>2]|0)+28>>2]|0)>>>0<=0){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=rm(c[e>>2]|0,1,g,0)|0;if(!(c[f>>2]|0))c[f>>2]=Tm(c[g>>2]|0)|0;if(!(c[f>>2]|0)){no(c[g>>2]|0);a[(c[e>>2]|0)+19>>0]=1}Ym(c[g>>2]|0);g=c[f>>2]|0;l=h;return g|0}function Xp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+48|0;f=o+36|0;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+8|0;m=o;n=o+16|0;c[g>>2]=b;c[h>>2]=e;c[n>>2]=0;if((c[h>>2]|0?(d[(c[g>>2]|0)+5>>0]|0)!=4:0)?c[c[(c[g>>2]|0)+68>>2]>>2]|0:0){a[(c[g>>2]|0)+20>>0]=1;c[j>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0))break;c[n>>2]=(c[n>>2]|0)+(a[(c[h>>2]|0)+(c[j>>2]|0)>>0]|0);c[j>>2]=(c[j>>2]|0)+1}if(a[(c[g>>2]|0)+8>>0]|0){b=nn(c[g>>2]|0)|0;e=(c[g>>2]|0)+80|0;c[e>>2]=b;c[e+4>>2]=z}p=(c[g>>2]|0)+80|0;b=c[p+4>>2]|0;e=k;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=k;e=gn(c[(c[g>>2]|0)+68>>2]|0,c[e>>2]|0,c[e+4>>2]|0,((c[481]|0)/(c[(c[g>>2]|0)+160>>2]|0)|0)+1|0)|0;c[i>>2]=e;if((((0==(e|0)?(b=c[(c[g>>2]|0)+68>>2]|0,e=c[h>>2]|0,h=c[j>>2]|0,p=k,p=IR(c[p>>2]|0,c[p+4>>2]|0,4,0)|0,p=Ol(b,e,h,p,z)|0,c[i>>2]=p,0==(p|0)):0)?(h=c[(c[g>>2]|0)+68>>2]|0,e=k,e=IR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,p=c[j>>2]|0,p=IR(e|0,z|0,p|0,((p|0)<0)<<31>>31|0)|0,p=gn(h,p,z,c[j>>2]|0)|0,c[i>>2]=p,0==(p|0)):0)?(h=c[(c[g>>2]|0)+68>>2]|0,e=k,e=IR(c[e>>2]|0,c[e+4>>2]|0,4,0)|0,p=c[j>>2]|0,p=IR(e|0,z|0,p|0,((p|0)<0)<<31>>31|0)|0,p=IR(p|0,z|0,4,0)|0,p=gn(h,p,z,c[n>>2]|0)|0,c[i>>2]=p,0==(p|0)):0)?(n=c[(c[g>>2]|0)+68>>2]|0,k,k=IR(c[k>>2]|0,c[k+4>>2]|0,4,0)|0,p=c[j>>2]|0,p=IR(k|0,z|0,p|0,((p|0)<0)<<31>>31|0)|0,p=IR(p|0,z|0,8,0)|0,p=Ol(n,21804,8,p,z)|0,c[i>>2]=p,0==(p|0)):0){n=(c[j>>2]|0)+20|0;p=(c[g>>2]|0)+80|0;k=p;n=IR(c[k>>2]|0,c[k+4>>2]|0,n|0,((n|0)<0)<<31>>31|0)|0;c[p>>2]=n;c[p+4>>2]=z;p=Ik(c[(c[g>>2]|0)+68>>2]|0,m)|0;c[i>>2]=p;if(0==(p|0)?(n=m,k=c[n+4>>2]|0,p=(c[g>>2]|0)+80|0,m=c[p+4>>2]|0,(k|0)>(m|0)|((k|0)==(m|0)?(c[n>>2]|0)>>>0>(c[p>>2]|0)>>>0:0)):0){p=(c[g>>2]|0)+80|0;c[i>>2]=wl(c[(c[g>>2]|0)+68>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0}c[f>>2]=c[i>>2];p=c[f>>2]|0;l=o;return p|0}c[f>>2]=c[i>>2];p=c[f>>2]|0;l=o;return p|0}c[f>>2]=0;p=c[f>>2]|0;l=o;return p|0}function Yp(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+64|0;k=j+48|0;d=j+32|0;f=j+16|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[h>>2]=c[k>>2];a=(c[h>>2]|0)+8|0;c[d>>2]=c[a>>2];c[d+4>>2]=c[a+4>>2];c[d+8>>2]=c[a+8>>2];c[d+12>>2]=c[a+12>>2];a=(c[h>>2]|0)+40|0;c[f>>2]=c[a>>2];c[f+4>>2]=c[a+4>>2];c[f+8>>2]=c[a+8>>2];c[f+12>>2]=c[a+12>>2];aq((c[h>>2]|0)+40|0);pk((c[h>>2]|0)+24|0);c[g>>2]=c[f+8>>2];while(1){if(!(c[g>>2]|0))break;Ij(0,c[(c[g>>2]|0)+8>>2]|0);c[g>>2]=c[c[g>>2]>>2]}pk(f);aq((c[h>>2]|0)+8|0);c[g>>2]=c[d+8>>2];while(1){if(!(c[g>>2]|0))break;c[i>>2]=c[(c[g>>2]|0)+8>>2];Jj(0,c[i>>2]|0);c[g>>2]=c[c[g>>2]>>2]}pk(d);pk((c[h>>2]|0)+56|0);c[(c[h>>2]|0)+72>>2]=0;if(!((e[(c[h>>2]|0)+78>>1]|0)&1)){l=j;return}k=(c[h>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+1;k=(c[h>>2]|0)+78|0;b[k>>1]=(e[k>>1]|0)&-2;l=j;return}function Zp(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+344>>2];c[(c[b>>2]|0)+344>>2]=0;if(!(c[d>>2]|0)){l=f;return}$p(c[b>>2]|0);do{c[e>>2]=c[(c[d>>2]|0)+24>>2];Tj(c[d>>2]|0);c[d>>2]=c[e>>2]}while((c[d>>2]|0)!=0);l=f;return}function _p(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=2;c[d>>2]=2;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4);if(!(c[(c[f>>2]|0)+4>>2]|0)){Hd(c[b>>2]|0,c[c[f>>2]>>2]|0);c[c[f>>2]>>2]=0}else{if((c[e>>2]|0)<(c[d>>2]|0)){a=(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)|0;h=(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)|0;c[a>>2]=c[h>>2];c[a+4>>2]=c[h+4>>2];c[a+8>>2]=c[h+8>>2];c[a+12>>2]=c[h+12>>2]}c[e>>2]=(c[e>>2]|0)+1}c[d>>2]=(c[d>>2]|0)+1}c[(c[b>>2]|0)+20>>2]=c[e>>2];if((c[(c[b>>2]|0)+20>>2]|0)>2){l=g;return}if((c[(c[b>>2]|0)+16>>2]|0)==((c[b>>2]|0)+392|0)){l=g;return}h=(c[b>>2]|0)+392|0;f=c[(c[b>>2]|0)+16>>2]|0;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[h+24>>2]=c[f+24>>2];c[h+28>>2]=c[f+28>>2];Hd(c[b>>2]|0,c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+16>>2]=(c[b>>2]|0)+392;l=g;return}function $p(a){a=a|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=c[(c[f>>2]|0)+4>>2];while(1){if(!(c[d>>2]|0))break;f=(c[d>>2]|0)+144|0;b[f>>1]=b[f>>1]&-2|1;c[d>>2]=c[(c[d>>2]|0)+8>>2]}l=e;return}function aq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[c[d>>2]>>2]=0;c[(c[d>>2]|0)+12>>2]=0;l=b;return}function bq(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[j>>2]=f;if((c[(c[j>>2]|0)+44>>2]|0)>>>0>0){c[i>>2]=0;m=c[i>>2]|0;l=n;return m|0}c[k>>2]=c[(c[j>>2]|0)+12>>2];c[m>>2]=c[(c[k>>2]|0)+56>>2];c[g>>2]=Tm(c[(c[k>>2]|0)+72>>2]|0)|0;if(c[g>>2]|0){c[i>>2]=c[g>>2];m=c[i>>2]|0;l=n;return m|0}else{f=c[m>>2]|0;g=21908;h=f+16|0;do{a[f>>0]=a[g>>0]|0;f=f+1|0;g=g+1|0}while((f|0)<(h|0));a[(c[m>>2]|0)+16>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>8;a[(c[m>>2]|0)+17>>0]=(c[(c[j>>2]|0)+32>>2]|0)>>>16;a[(c[m>>2]|0)+18>>0]=1;a[(c[m>>2]|0)+19>>0]=1;a[(c[m>>2]|0)+20>>0]=(c[(c[j>>2]|0)+32>>2]|0)-(c[(c[j>>2]|0)+36>>2]|0);a[(c[m>>2]|0)+21>>0]=64;a[(c[m>>2]|0)+22>>0]=32;a[(c[m>>2]|0)+23>>0]=32;f=(c[m>>2]|0)+24|0;h=f+76|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0));cq(c[k>>2]|0,13);k=(c[j>>2]|0)+22|0;b[k>>1]=e[k>>1]|0|2;Xm((c[m>>2]|0)+52|0,d[(c[j>>2]|0)+17>>0]|0);Xm((c[m>>2]|0)+64|0,d[(c[j>>2]|0)+18>>0]|0);c[(c[j>>2]|0)+44>>2]=1;a[(c[m>>2]|0)+31>>0]=1;c[i>>2]=0;m=c[i>>2]|0;l=n;return m|0}return 0}function cq(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+12|0;i=o+8|0;j=o+4|0;k=o;m=o+18|0;n=o+16|0;c[h>>2]=f;c[i>>2]=g;c[j>>2]=c[(c[h>>2]|0)+56>>2];c[k>>2]=c[(c[h>>2]|0)+52>>2];a[m>>0]=a[(c[h>>2]|0)+5>>0]|0;if((e[(c[k>>2]|0)+22>>1]|0)&4|0)GR((c[j>>2]|0)+(d[m>>0]|0)|0,0,(c[(c[k>>2]|0)+36>>2]|0)-(d[m>>0]|0)|0)|0;a[(c[j>>2]|0)+(d[m>>0]|0)>>0]=c[i>>2];b[n>>1]=(d[m>>0]|0)+((c[i>>2]&8|0)==0?12:8);g=(c[j>>2]|0)+((d[m>>0]|0)+1)|0;a[g>>0]=0;a[g+1>>0]=0;a[g+2>>0]=0;a[g+3>>0]=0;a[(c[j>>2]|0)+((d[m>>0]|0)+7)>>0]=0;a[(c[j>>2]|0)+((d[m>>0]|0)+5)>>0]=(c[(c[k>>2]|0)+36>>2]|0)>>>8;a[(c[j>>2]|0)+((d[m>>0]|0)+5)+1>>0]=c[(c[k>>2]|0)+36>>2];b[(c[h>>2]|0)+16>>1]=(c[(c[k>>2]|0)+36>>2]|0)-(e[n>>1]|0);Co(c[h>>2]|0,c[i>>2]|0)|0;b[(c[h>>2]|0)+14>>1]=b[n>>1]|0;c[(c[h>>2]|0)+60>>2]=(c[j>>2]|0)+(c[(c[k>>2]|0)+36>>2]|0);c[(c[h>>2]|0)+64>>2]=(c[j>>2]|0)+(e[n>>1]|0);c[(c[h>>2]|0)+68>>2]=(c[j>>2]|0)+(d[(c[h>>2]|0)+6>>0]|0);a[(c[h>>2]|0)+1>>0]=0;b[(c[h>>2]|0)+20>>1]=(c[(c[k>>2]|0)+32>>2]|0)-1;b[(c[h>>2]|0)+18>>1]=0;a[c[h>>2]>>0]=1;l=o;return}function dq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[b>>2]|0)+96|0}function eq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+108>>2]|0}function fq(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+16|0;j=q+12|0;k=q+8|0;m=q+20|0;n=q+4|0;o=q;c[j>>2]=f;c[k>>2]=g;a[m>>0]=h;c[n>>2]=c[(c[j>>2]|0)+4>>2];if(!(a[(c[j>>2]|0)+9>>0]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}if((c[(c[n>>2]|0)+76>>2]|0)!=(c[j>>2]|0)?e[(c[n>>2]|0)+22>>1]&32|0:0){c[i>>2]=262;p=c[i>>2]|0;l=q;return p|0}c[o>>2]=c[(c[n>>2]|0)+72>>2];while(1){if(!(c[o>>2]|0)){p=15;break}if(((c[c[o>>2]>>2]|0)!=(c[j>>2]|0)?(c[(c[o>>2]|0)+4>>2]|0)==(c[k>>2]|0):0)?(d[(c[o>>2]|0)+8>>0]|0)!=(d[m>>0]|0):0)break;c[o>>2]=c[(c[o>>2]|0)+12>>2]}if((p|0)==15){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}if((d[m>>0]|0)==2){p=(c[n>>2]|0)+22|0;b[p>>1]=e[p>>1]|64}c[i>>2]=262;p=c[i>>2]|0;l=q;return p|0}function gq(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+40|0;o=r+36|0;i=r+32|0;p=r+28|0;q=r+24|0;j=r+20|0;k=r+12|0;m=r+8|0;g=r+4|0;h=r;c[o>>2]=f;c[j>>2]=0;c[i>>2]=mq(c[c[o>>2]>>2]|0)|0;if(c[i>>2]|0){c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}c[i>>2]=op(c[o>>2]|0,1,p,0)|0;if(c[i>>2]|0){c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}f=el((c[(c[p>>2]|0)+56>>2]|0)+28|0)|0;c[r+16>>2]=f;c[q>>2]=f;$o(c[c[o>>2]>>2]|0,j);if(!((c[q>>2]|0)!=0?!(wQ((c[(c[p>>2]|0)+56>>2]|0)+24|0,(c[(c[p>>2]|0)+56>>2]|0)+92|0,4)|0):0))c[q>>2]=c[j>>2];a:do if((c[q>>2]|0)>0){c[g>>2]=c[(c[p>>2]|0)+56>>2];c[i>>2]=26;b:do if(!(wQ(c[g>>2]|0,21908,16)|0)){if((d[(c[g>>2]|0)+18>>0]|0|0)>2){f=(c[o>>2]|0)+22|0;b[f>>1]=e[f>>1]|0|1}if((d[(c[g>>2]|0)+19>>0]|0|0)<=2){do if((d[(c[g>>2]|0)+19>>0]|0|0)==2?((e[(c[o>>2]|0)+22>>1]|0)&16|0)==0:0){c[h>>2]=0;c[i>>2]=nq(c[c[o>>2]>>2]|0,h)|0;if(c[i>>2]|0)break b;if(c[h>>2]|0){c[i>>2]=26;break}np(c[p>>2]|0);c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}while(0);if((wQ((c[g>>2]|0)+21|0,21924,3)|0)==0?(c[k>>2]=(d[(c[g>>2]|0)+16>>0]|0)<<8|(d[(c[g>>2]|0)+17>>0]|0)<<16,!(((c[k>>2]|0)>>>0>65536?1:((c[k>>2]|0)-1&c[k>>2]|0)!=0)|(c[k>>2]|0)>>>0<=256)):0){c[m>>2]=(c[k>>2]|0)-(d[(c[g>>2]|0)+20>>0]|0);if((c[k>>2]|0)!=(c[(c[o>>2]|0)+32>>2]|0)){np(c[p>>2]|0);c[(c[o>>2]|0)+36>>2]=c[m>>2];c[(c[o>>2]|0)+32>>2]=c[k>>2];Fk(c[o>>2]|0);c[i>>2]=Gk(c[c[o>>2]>>2]|0,(c[o>>2]|0)+32|0,(c[k>>2]|0)-(c[m>>2]|0)|0)|0;c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+24>>2]&65536|0)==0?(c[q>>2]|0)>(c[j>>2]|0):0){c[i>>2]=um(61191)|0;break}if((c[m>>2]|0)>>>0>=480){c[(c[o>>2]|0)+32>>2]=c[k>>2];c[(c[o>>2]|0)+36>>2]=c[m>>2];m=(el((c[g>>2]|0)+52|0)|0)!=0;a[(c[o>>2]|0)+17>>0]=m?1:0;m=(el((c[g>>2]|0)+64|0)|0)!=0;a[(c[o>>2]|0)+18>>0]=m?1:0;break a}}}}while(0);np(c[p>>2]|0);c[(c[o>>2]|0)+12>>2]=0;c[n>>2]=c[i>>2];q=c[n>>2]|0;l=r;return q|0}while(0);b[(c[o>>2]|0)+24>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<6>>>0)/255|0)-23;b[(c[o>>2]|0)+26>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;b[(c[o>>2]|0)+28>>1]=(c[(c[o>>2]|0)+36>>2]|0)-35;b[(c[o>>2]|0)+30>>1]=(((c[(c[o>>2]|0)+36>>2]|0)-12<<5>>>0)/255|0)-23;f=c[o>>2]|0;if((e[(c[o>>2]|0)+24>>1]|0|0)>127)g=127;else{g=b[f+24>>1]&255;f=c[o>>2]|0}a[f+21>>0]=g;c[(c[o>>2]|0)+12>>2]=c[p>>2];c[(c[o>>2]|0)+44>>2]=c[q>>2];c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}function hq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;h=m+16|0;i=m+12|0;j=m+8|0;g=m+4|0;k=m;c[i>>2]=b;c[j>>2]=e;c[g>>2]=f;c[k>>2]=0;if(c[(c[i>>2]|0)+44>>2]|0){c[h>>2]=c[(c[i>>2]|0)+44>>2];k=c[h>>2]|0;l=m;return k|0}a[(c[i>>2]|0)+22>>0]=c[g>>2];if((d[(c[i>>2]|0)+17>>0]|0|0)==1){g=(El(c[i>>2]|0)|0)!=0;b=c[i>>2]|0;if(!g){c[k>>2]=ro(b,2)|0;if((c[k>>2]|0)==0&(c[j>>2]|0)!=0)c[k>>2]=qo(c[i>>2]|0,4)|0}else{do if(d[b+4>>0]|0|0?Il(c[(c[i>>2]|0)+216>>2]|0,-1)|0:0){c[k>>2]=ro(c[i>>2]|0,4)|0;if(!(c[k>>2]|0)){Il(c[(c[i>>2]|0)+216>>2]|0,1)|0;break}c[h>>2]=c[k>>2];k=c[h>>2]|0;l=m;return k|0}while(0);c[k>>2]=lq(c[(c[i>>2]|0)+216>>2]|0)|0}if(!(c[k>>2]|0)){a[(c[i>>2]|0)+17>>0]=2;c[(c[i>>2]|0)+40>>2]=c[(c[i>>2]|0)+28>>2];c[(c[i>>2]|0)+36>>2]=c[(c[i>>2]|0)+28>>2];c[(c[i>>2]|0)+32>>2]=c[(c[i>>2]|0)+28>>2];j=(c[i>>2]|0)+80|0;c[j>>2]=0;c[j+4>>2]=0}}c[h>>2]=c[k>>2];k=c[h>>2]|0;l=m;return k|0}function iq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)>(c[(c[f>>2]|0)+104>>2]|0)?d[(c[f>>2]|0)+6>>0]|0|0:0){c[e>>2]=jq(c[f>>2]|0,c[g>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;d=k+8|0;g=k+4|0;h=k;c[e>>2]=a;c[f>>2]=b;c[j>>2]=0;c[d>>2]=c[(c[e>>2]|0)+104>>2];c[h>>2]=Sd(c[(c[e>>2]|0)+100>>2]|0,(c[f>>2]|0)*48|0,0)|0;if(!(c[h>>2]|0)){c[i>>2]=7;j=c[i>>2]|0;l=k;return j|0}GR((c[h>>2]|0)+((c[d>>2]|0)*48|0)|0,0,((c[f>>2]|0)-(c[d>>2]|0)|0)*48|0)|0;c[(c[e>>2]|0)+100>>2]=c[h>>2];c[g>>2]=c[d>>2];while(1){if((c[g>>2]|0)>=(c[f>>2]|0)){a=14;break}c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+20>>2]=c[(c[e>>2]|0)+28>>2];if(c[c[(c[e>>2]|0)+68>>2]>>2]|0?(d=(c[e>>2]|0)+80|0,b=c[d+4>>2]|0,(b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0):0){d=(c[e>>2]|0)+80|0;a=(c[h>>2]|0)+((c[g>>2]|0)*48|0)|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{a=(c[h>>2]|0)+((c[g>>2]|0)*48|0)|0;b=c[(c[e>>2]|0)+156>>2]|0;d=0}c[a>>2]=b;c[a+4>>2]=d;c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+24>>2]=c[(c[e>>2]|0)+56>>2];d=hn(c[(c[e>>2]|0)+28>>2]|0)|0;c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]=d;if(!(c[(c[h>>2]|0)+((c[g>>2]|0)*48|0)+16>>2]|0)){a=10;break}if(El(c[e>>2]|0)|0)kq(c[(c[e>>2]|0)+216>>2]|0,(c[h>>2]|0)+((c[g>>2]|0)*48|0)+28|0);c[(c[e>>2]|0)+104>>2]=(c[g>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}if((a|0)==10){c[i>>2]=7;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==14){c[i>>2]=c[j>>2];j=c[i>>2]|0;l=k;return j|0}return 0}function kq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52+16>>2];c[(c[e>>2]|0)+4>>2]=c[(c[f>>2]|0)+52+24>>2];c[(c[e>>2]|0)+8>>2]=c[(c[f>>2]|0)+52+24+4>>2];c[(c[e>>2]|0)+12>>2]=c[(c[f>>2]|0)+112>>2];l=d;return}function lq(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(a[(c[e>>2]|0)+46>>0]|0){c[d>>2]=8;f=c[d>>2]|0;l=g;return f|0}c[f>>2]=Kn(c[e>>2]|0,0,1)|0;if(c[f>>2]|0){c[d>>2]=c[f>>2];f=c[d>>2]|0;l=g;return f|0}a[(c[e>>2]|0)+44>>0]=1;b=(c[e>>2]|0)+52|0;if(wQ(b,An(c[e>>2]|0)|0,48)|0){Pl(c[e>>2]|0,0,1);a[(c[e>>2]|0)+44>>0]=0;c[f>>2]=517}c[d>>2]=c[f>>2];f=c[d>>2]|0;l=g;return f|0}function mq(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;n=p+28|0;o=p+24|0;e=p+20|0;f=p+16|0;g=p+12|0;h=p+8|0;i=p+4|0;j=p;m=p+32|0;c[n>>2]=b;c[o>>2]=0;do if(!(El(c[n>>2]|0)|0)?(d[(c[n>>2]|0)+17>>0]|0)==0:0){c[e>>2]=1;c[o>>2]=qo(c[n>>2]|0,1)|0;if(!(c[o>>2]|0)){if((d[(c[n>>2]|0)+18>>0]|0)<=1)c[o>>2]=sq(c[n>>2]|0,e)|0;if(!(c[o>>2]|0)){if(c[e>>2]|0){if(a[(c[n>>2]|0)+15>>0]|0){c[o>>2]=776;break}c[o>>2]=ro(c[n>>2]|0,4)|0;if(c[o>>2]|0)break;if((((c[c[(c[n>>2]|0)+68>>2]>>2]|0)==0?(c[f>>2]=c[c[n>>2]>>2],c[o>>2]=bm(c[f>>2]|0,c[(c[n>>2]|0)+180>>2]|0,0,g)|0,(c[o>>2]|0)==0&(c[g>>2]|0)!=0):0)?(c[h>>2]=0,c[i>>2]=2050,c[o>>2]=Zl(c[f>>2]|0,c[(c[n>>2]|0)+180>>2]|0,c[(c[n>>2]|0)+68>>2]|0,c[i>>2]|0,h)|0,(c[o>>2]|0)==0):0)?c[h>>2]&1|0:0){c[o>>2]=Pe(51483)|0;ql(c[(c[n>>2]|0)+68>>2]|0)}b=c[n>>2]|0;if(c[c[(c[n>>2]|0)+68>>2]>>2]|0){c[o>>2]=nl(b)|0;if(!(c[o>>2]|0)){c[o>>2]=$l(c[n>>2]|0,((a[(c[n>>2]|0)+13>>0]|0)!=0^1)&1)|0;a[(c[n>>2]|0)+17>>0]=0}}else if(!(a[b+4>>0]|0))Jl(c[n>>2]|0,1)|0;if(c[o>>2]|0){ol(c[n>>2]|0,c[o>>2]|0)|0;break}}if((a[(c[n>>2]|0)+13>>0]|0)==0?d[(c[n>>2]|0)+24>>0]|0:0){c[j>>2]=0;c[o>>2]=tq(c[n>>2]|0,j)|0;if(c[o>>2]|0)break;if((c[j>>2]|0)>>>0>0){c[o>>2]=km(c[(c[n>>2]|0)+64>>2]|0,m,16,24,0)|0;if((c[o>>2]|0)!=0&(c[o>>2]|0)!=522)break}else{b=m;e=b+16|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0))}if(wQ((c[n>>2]|0)+112|0,m,16)|0)Kk(c[n>>2]|0)}c[o>>2]=uq(c[n>>2]|0)|0;k=32}}}else k=32;while(0);if((k|0)==32){if(El(c[n>>2]|0)|0)c[o>>2]=vq(c[n>>2]|0)|0;if((d[(c[n>>2]|0)+13>>0]|0)==0?((c[o>>2]|0)==0?(d[(c[n>>2]|0)+17>>0]|0)==0:0):0)c[o>>2]=tq(c[n>>2]|0,(c[n>>2]|0)+28|0)|0}b=c[n>>2]|0;if(c[o>>2]|0){ml(b);o=c[o>>2]|0;l=p;return o|0}else{a[b+17>>0]=1;a[(c[n>>2]|0)+24>>0]=1;o=c[o>>2]|0;l=p;return o|0}return 0}function nq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;e=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;do if(!(a[(c[f>>2]|0)+13>>0]|0)?!(c[(c[f>>2]|0)+216>>2]|0):0)if(oq(c[f>>2]|0)|0){ql(c[(c[f>>2]|0)+68>>2]|0);c[h>>2]=pq(c[f>>2]|0)|0;if(c[h>>2]|0)break;a[(c[f>>2]|0)+5>>0]=5;a[(c[f>>2]|0)+17>>0]=0;break}else{c[e>>2]=14;i=c[e>>2]|0;l=j;return i|0}else i=7;while(0);if((i|0)==7)c[c[g>>2]>>2]=1;c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function oq(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;e=h+4|0;f=h;c[e>>2]=b;c[f>>2]=c[c[(c[e>>2]|0)+64>>2]>>2];if(a[(c[e>>2]|0)+14>>0]|0){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}if(!(d[(c[e>>2]|0)+4>>0]|0))if((c[c[f>>2]>>2]|0)>=2)b=(c[(c[f>>2]|0)+52>>2]|0)!=0;else b=0;else b=1;c[g>>2]=b&1;g=c[g>>2]|0;l=h;return g|0}function pq(b){b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=0;if(a[(c[e>>2]|0)+4>>0]|0)c[f>>2]=qq(c[e>>2]|0)|0;if(c[f>>2]|0){e=c[e>>2]|0;Nk(e);f=c[f>>2]|0;l=g;return f|0}b=(c[e>>2]|0)+168|0;c[f>>2]=rq(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0,c[(c[e>>2]|0)+220>>2]|0,d[(c[e>>2]|0)+4>>0]|0,c[b>>2]|0,c[b+4>>2]|0,(c[e>>2]|0)+216|0)|0;e=c[e>>2]|0;Nk(e);f=c[f>>2]|0;l=g;return f|0}function qq(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=ro(c[b>>2]|0,4)|0;if(c[d>>2]|0)Jl(c[b>>2]|0,1)|0;l=e;return c[d>>2]|0}function rq(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+48|0;t=w+44|0;u=w+40|0;v=w+36|0;k=w+32|0;m=w+28|0;n=w;o=w+24|0;p=w+20|0;q=w+16|0;r=w+12|0;s=w+8|0;c[u>>2]=d;c[v>>2]=e;c[k>>2]=f;c[m>>2]=g;g=n;c[g>>2]=h;c[g+4>>2]=i;c[o>>2]=j;c[c[o>>2]>>2]=0;c[q>>2]=Cg(120+(c[(c[u>>2]|0)+4>>2]|0)|0,0)|0;if(!(c[q>>2]|0)){c[t>>2]=7;v=c[t>>2]|0;l=w;return v|0}c[c[q>>2]>>2]=c[u>>2];c[(c[q>>2]|0)+8>>2]=(c[q>>2]|0)+120;c[(c[q>>2]|0)+4>>2]=c[v>>2];b[(c[q>>2]|0)+40>>1]=-1;h=n;i=c[h+4>>2]|0;j=(c[q>>2]|0)+16|0;c[j>>2]=c[h>>2];c[j+4>>2]=i;c[(c[q>>2]|0)+108>>2]=c[k>>2];a[(c[q>>2]|0)+48>>0]=1;a[(c[q>>2]|0)+49>>0]=1;a[(c[q>>2]|0)+43>>0]=c[m>>2]|0?2:0;c[r>>2]=524294;c[p>>2]=Zl(c[u>>2]|0,c[k>>2]|0,c[(c[q>>2]|0)+8>>2]|0,c[r>>2]|0,r)|0;if((c[p>>2]|0)==0?c[r>>2]&1|0:0)a[(c[q>>2]|0)+46>>0]=1;if(c[p>>2]|0){In(c[q>>2]|0,0);ql(c[(c[q>>2]|0)+8>>2]|0);Kd(c[q>>2]|0)}else{c[s>>2]=hm(c[v>>2]|0)|0;if(c[s>>2]&1024|0)a[(c[q>>2]|0)+48>>0]=0;if(c[s>>2]&4096|0)a[(c[q>>2]|0)+49>>0]=0;c[c[o>>2]>>2]=c[q>>2]}c[t>>2]=c[p>>2];v=c[t>>2]|0;l=w;return v|0}function sq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;f=q;g=q+36|0;c[h>>2]=b;c[i>>2]=e;c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;c[m>>2]=1;c[n>>2]=((c[c[(c[h>>2]|0)+68>>2]>>2]|0)!=0^1^1)&1;c[c[i>>2]>>2]=0;if(!(c[n>>2]|0))c[k>>2]=bm(c[j>>2]|0,c[(c[h>>2]|0)+180>>2]|0,0,m)|0;if(!((c[k>>2]|0)==0&(c[m>>2]|0)!=0)){p=c[k>>2]|0;l=q;return p|0}c[o>>2]=0;c[k>>2]=yq(c[(c[h>>2]|0)+64>>2]|0,o)|0;if((c[k>>2]|0)!=0|(c[o>>2]|0)!=0){p=c[k>>2]|0;l=q;return p|0}c[k>>2]=tq(c[h>>2]|0,p)|0;if(c[k>>2]|0){p=c[k>>2]|0;l=q;return p|0}if(!((c[p>>2]|0)!=0|(c[n>>2]|0)!=0)){zg();if((ro(c[h>>2]|0,2)|0)==0?(zl(c[j>>2]|0,c[(c[h>>2]|0)+180>>2]|0,0)|0,(a[(c[h>>2]|0)+4>>0]|0)==0):0)Jl(c[h>>2]|0,1)|0;Bg();p=c[k>>2]|0;l=q;return p|0}if(!(c[n>>2]|0)){c[f>>2]=2049;c[k>>2]=Zl(c[j>>2]|0,c[(c[h>>2]|0)+180>>2]|0,c[(c[h>>2]|0)+68>>2]|0,c[f>>2]|0,f)|0}if(!(c[k>>2]|0)){a[g>>0]=0;p=km(c[(c[h>>2]|0)+68>>2]|0,g,1,0,0)|0;c[k>>2]=p;c[k>>2]=(c[k>>2]|0)==522?0:p;if(!(c[n>>2]|0))ql(c[(c[h>>2]|0)+68>>2]|0);c[c[i>>2]>>2]=(d[g>>0]|0)!=0&1;p=c[k>>2]|0;l=q;return p|0}else{if((c[k>>2]|0)!=14){p=c[k>>2]|0;l=q;return p|0}c[c[i>>2]>>2]=1;c[k>>2]=0;p=c[k>>2]|0;l=q;return p|0}return 0}function tq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;d=j+24|0;e=j+20|0;f=j+16|0;g=j+12|0;h=j;i=j+8|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=xq(c[(c[e>>2]|0)+216>>2]|0)|0;do if((c[g>>2]|0)==0?c[c[(c[e>>2]|0)+64>>2]>>2]|0:0){b=h;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=Ik(c[(c[e>>2]|0)+64>>2]|0,h)|0;if(!(c[i>>2]|0)){i=h;h=c[(c[e>>2]|0)+160>>2]|0;h=IR(c[i>>2]|0,c[i+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;h=FR(h|0,z|0,1,0)|0;i=c[(c[e>>2]|0)+160>>2]|0;i=LR(h|0,z|0,i|0,((i|0)<0)<<31>>31|0)|0;c[g>>2]=i;break}c[d>>2]=c[i>>2];i=c[d>>2]|0;l=j;return i|0}while(0);if((c[g>>2]|0)>>>0>(c[(c[e>>2]|0)+164>>2]|0)>>>0)c[(c[e>>2]|0)+164>>2]=c[g>>2];c[c[f>>2]>>2]=c[g>>2];c[d>>2]=0;i=c[d>>2]|0;l=j;return i|0}function uq(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;f=k;c[h>>2]=b;c[i>>2]=0;do if(!(a[(c[h>>2]|0)+13>>0]|0)){c[i>>2]=tq(c[h>>2]|0,f)|0;if(c[i>>2]|0){c[g>>2]=c[i>>2];j=c[g>>2]|0;l=k;return j|0}b=c[c[h>>2]>>2]|0;e=c[(c[h>>2]|0)+220>>2]|0;if(!(c[f>>2]|0)){f=zl(b,e,0)|0;c[i>>2]=f;c[i>>2]=(c[i>>2]|0)==5898?0:f;c[j>>2]=0}else c[i>>2]=bm(b,e,0,j)|0;if(!(c[i>>2]|0)){b=c[h>>2]|0;if(c[j>>2]|0){c[i>>2]=nq(b,0)|0;break}if((d[b+5>>0]|0)==5)a[(c[h>>2]|0)+5>>0]=0}}while(0);c[g>>2]=c[i>>2];j=c[g>>2]|0;l=k;return j|0}function vq(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;b=e+8|0;d=e+4|0;f=e;c[b>>2]=a;c[f>>2]=0;Dn(c[(c[b>>2]|0)+216>>2]|0);c[d>>2]=wq(c[(c[b>>2]|0)+216>>2]|0,f)|0;if(!((c[d>>2]|0)!=0|(c[f>>2]|0)!=0)){f=c[d>>2]|0;l=e;return f|0}Kk(c[b>>2]|0);f=c[d>>2]|0;l=e;return f|0}function wq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;do{i=c[d>>2]|0;a=c[e>>2]|0;b=(c[g>>2]|0)+1|0;c[g>>2]=b;c[f>>2]=yo(i,a,0,b)|0}while((c[f>>2]|0)==-1);l=h;return c[f>>2]|0}function xq(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=a;if(c[e>>2]|0?(b[(c[e>>2]|0)+40>>1]|0)>=0:0){c[d>>2]=c[(c[e>>2]|0)+52+20>>2];e=c[d>>2]|0;l=f;return e|0}c[d>>2]=0;e=c[d>>2]|0;l=f;return e|0}function yq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=yb[c[(c[c[f>>2]>>2]|0)+36>>2]&255](c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function zq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;b=h+8|0;f=h+4|0;g=h;c[e>>2]=a;if(!(c[e>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[f>>2]=c[(c[e>>2]|0)+20>>2];Ek(c[(c[e>>2]|0)+24>>2]|0);if(c[c[e>>2]>>2]|0){a=(c[(c[e>>2]|0)+24>>2]|0)+16|0;c[a>>2]=(c[a>>2]|0)+-1}if(c[(c[e>>2]|0)+40>>2]|0){c[b>>2]=dq(Hj(c[(c[e>>2]|0)+24>>2]|0)|0)|0;while(1){if((c[c[b>>2]>>2]|0)==(c[e>>2]|0))break;c[b>>2]=(c[c[b>>2]>>2]|0)+44}c[c[b>>2]>>2]=c[(c[e>>2]|0)+44>>2]}Aq(c[(c[e>>2]|0)+4>>2]|0,0,0)|0;if((c[(c[e>>2]|0)+28>>2]|0)==101)a=0;else a=c[(c[e>>2]|0)+28>>2]|0;c[g>>2]=a;if(c[c[e>>2]>>2]|0){wk(c[c[e>>2]>>2]|0,c[g>>2]|0);Bq(c[c[e>>2]>>2]|0)}if(c[c[e>>2]>>2]|0)Kd(c[e>>2]|0);Bq(c[f>>2]|0);c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function Aq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;g=q+4|0;h=q;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[i>>2]|0)+4>>2];Ek(c[i>>2]|0);if(!(c[j>>2]|0)){f=jp(c[n>>2]|0,0,0)|0;c[j>>2]=f;c[m>>2]=f;if(c[m>>2]|0)c[k>>2]=0}else c[m>>2]=0;if(c[j>>2]|0?(c[p>>2]=Pq(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0)|0,c[p>>2]|0):0)c[m>>2]=c[p>>2];if((d[(c[i>>2]|0)+8>>0]|0|0)!=2){p=c[i>>2]|0;Rp(p);p=c[m>>2]|0;l=q;return p|0}c[g>>2]=sl(c[c[n>>2]>>2]|0)|0;if(c[g>>2]|0)c[m>>2]=c[g>>2];if(!(op(c[n>>2]|0,1,o,0)|0)){c[h>>2]=el((c[(c[o>>2]|0)+56>>2]|0)+28|0)|0;if(!(c[h>>2]|0))$o(c[c[n>>2]>>2]|0,h);c[(c[n>>2]|0)+44>>2]=c[h>>2];np(c[o>>2]|0)}a[(c[n>>2]|0)+20>>0]=1;Qp(c[n>>2]|0);p=c[i>>2]|0;Rp(p);p=c[m>>2]|0;l=q;return p|0}function Bq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=b;if((c[(c[d>>2]|0)+84>>2]|0)!=1691352191){l=m;return}if(Cq(c[d>>2]|0)|0){l=m;return}Dq(c[d>>2]|0,0);Eq(c[d>>2]|0);c[f>>2]=0;while(1){b=c[(c[d>>2]|0)+16>>2]|0;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0))break;c[g>>2]=b+(c[f>>2]<<4);if(c[(c[g>>2]|0)+4>>2]|0?(Fq(c[(c[g>>2]|0)+4>>2]|0)|0,c[(c[g>>2]|0)+4>>2]=0,(c[f>>2]|0)!=1):0)c[(c[g>>2]|0)+12>>2]=0;c[f>>2]=(c[f>>2]|0)+1}if(c[b+16+12>>2]|0)Yp(c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);Zp(c[d>>2]|0);_p(c[d>>2]|0);c[e>>2]=c[(c[d>>2]|0)+348+8>>2];while(1){if(!(c[e>>2]|0))break;c[i>>2]=c[(c[e>>2]|0)+8>>2];do{Gq(c[d>>2]|0,c[i>>2]|0);c[h>>2]=c[(c[i>>2]|0)+8>>2];Hd(c[d>>2]|0,c[i>>2]|0);c[i>>2]=c[h>>2]}while((c[i>>2]|0)!=0);c[e>>2]=c[c[e>>2]>>2]}pk((c[d>>2]|0)+348|0);c[e>>2]=c[(c[d>>2]|0)+364+8>>2];while(1){if(!(c[e>>2]|0))break;c[j>>2]=c[(c[e>>2]|0)+8>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=3)break;if(c[(c[j>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]|0)qb[c[(c[j>>2]|0)+((c[f>>2]|0)*20|0)+16>>2]&255](c[(c[j>>2]|0)+((c[f>>2]|0)*20|0)+8>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Hd(c[d>>2]|0,c[j>>2]|0);c[e>>2]=c[c[e>>2]>>2]}pk((c[d>>2]|0)+364|0);c[e>>2]=c[(c[d>>2]|0)+320+8>>2];while(1){if(!(c[e>>2]|0))break;c[k>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[k>>2]|0)+12>>2]|0)qb[c[(c[k>>2]|0)+12>>2]&255](c[(c[k>>2]|0)+8>>2]|0);Hq(c[d>>2]|0,c[k>>2]|0);Hd(c[d>>2]|0,c[k>>2]|0);c[e>>2]=c[c[e>>2]>>2]}pk((c[d>>2]|0)+320|0);wk(c[d>>2]|0,0);Rj(c[(c[d>>2]|0)+244>>2]|0);c[(c[d>>2]|0)+84>>2]=-1254786768;Hd(c[d>>2]|0,c[(c[(c[d>>2]|0)+16>>2]|0)+16+12>>2]|0);c[(c[d>>2]|0)+84>>2]=-1623446221;if(a[(c[d>>2]|0)+256+6>>0]|0)Kd(c[(c[d>>2]|0)+256+32>>2]|0);Kd(c[d>>2]|0);l=m;return}function Cq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;b=g+8|0;d=g+4|0;e=g;c[b>>2]=a;if(c[(c[b>>2]|0)+4>>2]|0){c[f>>2]=1;f=c[f>>2]|0;l=g;return f|0}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0)){a=9;break}c[e>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[d>>2]<<4)+4>>2];if(c[e>>2]|0?Oq(c[e>>2]|0)|0:0){a=7;break}c[d>>2]=(c[d>>2]|0)+1}if((a|0)==7){c[f>>2]=1;f=c[f>>2]|0;l=g;return f|0}else if((a|0)==9){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function Dq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=e;c[i>>2]=0;zg();Gj(c[f>>2]|0);if(c[(c[f>>2]|0)+24>>2]&2|0)b=(d[(c[f>>2]|0)+148+5>>0]|0)==0;else b=0;c[j>>2]=b&1;c[h>>2]=0;while(1){b=c[f>>2]|0;if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[k>>2]=c[(c[b+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if(Lq(c[k>>2]|0)|0)c[i>>2]=1;Aq(c[k>>2]|0,c[g>>2]|0,((c[j>>2]|0)!=0^1)&1)|0}c[h>>2]=(c[h>>2]|0)+1}Mq(b)|0;Bg();if(c[(c[f>>2]|0)+24>>2]&2|0?(d[(c[f>>2]|0)+148+5>>0]|0)==0:0){$p(c[f>>2]|0);Yo(c[f>>2]|0)}k=(c[f>>2]|0)+440|0;c[k>>2]=0;c[k+4>>2]=0;k=(c[f>>2]|0)+448|0;c[k>>2]=0;c[k+4>>2]=0;k=(c[f>>2]|0)+24|0;c[k>>2]=c[k>>2]&-33554433;if(!(c[(c[f>>2]|0)+212>>2]|0)){l=m;return}if((c[i>>2]|0)==0?a[(c[f>>2]|0)+67>>0]|0:0){l=m;return}qb[c[(c[f>>2]|0)+212>>2]&255](c[(c[f>>2]|0)+208>>2]|0);l=m;return}function Eq(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;while(1){b=c[d>>2]|0;if(!(c[(c[d>>2]|0)+424>>2]|0))break;c[e>>2]=c[b+424>>2];c[(c[d>>2]|0)+424>>2]=c[(c[e>>2]|0)+24>>2];Hd(c[d>>2]|0,c[e>>2]|0)}c[b+432>>2]=0;c[(c[d>>2]|0)+436>>2]=0;a[(c[d>>2]|0)+75>>0]=0;l=f;return}function Fq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[e>>2]=c[(c[d>>2]|0)+4>>2];Ek(c[d>>2]|0);c[f>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[f>>2]|0))break;c[g>>2]=c[f>>2];c[f>>2]=c[(c[f>>2]|0)+8>>2];if((c[c[g>>2]>>2]|0)!=(c[d>>2]|0))continue;Iq(c[g>>2]|0)|0}Aq(c[d>>2]|0,0,0)|0;if(!(a[(c[d>>2]|0)+9>>0]|0?!(Jq(c[e>>2]|0)|0):0)){fl(c[c[e>>2]>>2]|0)|0;if(c[(c[e>>2]|0)+52>>2]|0?c[(c[e>>2]|0)+48>>2]|0:0)qb[c[(c[e>>2]|0)+52>>2]&255](c[(c[e>>2]|0)+48>>2]|0);Hd(0,c[(c[e>>2]|0)+48>>2]|0);Fk(c[e>>2]|0);Kd(c[e>>2]|0)}if(c[(c[d>>2]|0)+28>>2]|0)c[(c[(c[d>>2]|0)+28>>2]|0)+24>>2]=c[(c[d>>2]|0)+24>>2];if(!(c[(c[d>>2]|0)+24>>2]|0)){g=c[d>>2]|0;Kd(g);l=h;return 0}c[(c[(c[d>>2]|0)+24>>2]|0)+28>>2]=c[(c[d>>2]|0)+28>>2];g=c[d>>2]|0;Kd(g);l=h;return 0}function Gq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+24>>2];if(!(c[e>>2]|0)){l=f;return}g=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+-1;if(c[c[e>>2]>>2]|0){l=f;return}qb[c[(c[e>>2]|0)+4>>2]&255](c[(c[e>>2]|0)+8>>2]|0);Hd(c[d>>2]|0,c[e>>2]|0);l=f;return}function Hq(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[g>>2]|0)+16>>2];if(!(c[h>>2]|0)){l=i;return}e=(c[h>>2]|0)+42|0;a[e>>0]=d[e>>0]|0|2;Jj(c[f>>2]|0,c[h>>2]|0);c[(c[g>>2]|0)+16>>2]=0;l=i;return}function Iq(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];if(!(c[e>>2]|0)){l=i;return 0}c[g>>2]=c[(c[d>>2]|0)+4>>2];Ek(c[e>>2]|0);Kq(c[d>>2]|0);a:do if((c[(c[g>>2]|0)+8>>2]|0)==(c[d>>2]|0))c[(c[g>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2];else{c[h>>2]=c[(c[g>>2]|0)+8>>2];while(1){if((c[(c[h>>2]|0)+8>>2]|0)==(c[d>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+8>>2];if(!(c[h>>2]|0))break a}c[(c[h>>2]|0)+8>>2]=c[(c[d>>2]|0)+8>>2]}while(0);c[f>>2]=0;while(1){if((c[f>>2]|0)>(a[(c[d>>2]|0)+68>>0]|0))break;np(c[(c[d>>2]|0)+120+(c[f>>2]<<2)>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Up(c[g>>2]|0);Kd(c[(c[d>>2]|0)+12>>2]|0);l=i;return 0}function Jq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[f>>2]=0;b=(c[d>>2]|0)+64|0;c[b>>2]=(c[b>>2]|0)+-1;if((c[(c[d>>2]|0)+64>>2]|0)>0){f=c[f>>2]|0;l=g;return f|0}if((c[11758]|0)!=(c[d>>2]|0)){c[e>>2]=c[11758];while(1){if(c[e>>2]|0)b=(c[(c[e>>2]|0)+68>>2]|0)!=(c[d>>2]|0);else b=0;a=c[e>>2]|0;if(!b)break;c[e>>2]=c[a+68>>2]}if(a|0)c[(c[e>>2]|0)+68>>2]=c[(c[d>>2]|0)+68>>2]}else c[11758]=c[(c[d>>2]|0)+68>>2];c[f>>2]=1;f=c[f>>2]|0;l=g;return f|0}function Kq(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;Kd(c[(c[e>>2]|0)+48>>2]|0);c[(c[e>>2]|0)+48>>2]=0;a[(c[e>>2]|0)+66>>0]=0;l=d;return}function Lq(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){b=0;b=b&1;l=e;return b|0}b=(d[(c[b>>2]|0)+8>>0]|0|0)==2;b=b&1;l=e;return b|0}function Mq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Nq(c[d>>2]|0,68);l=b;return 0}function Nq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[d>>2]|0)+340>>2]|0)){l=k;return}c[g>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+316>>2]|0))break;c[h>>2]=c[(c[g>>2]|0)+(c[f>>2]<<2)>>2];c[i>>2]=c[(c[h>>2]|0)+8>>2];if(c[i>>2]|0?(c[j>>2]=c[(c[c[i>>2]>>2]|0)+(c[e>>2]|0)>>2],c[j>>2]|0):0)tb[c[j>>2]&255](c[i>>2]|0)|0;c[(c[h>>2]|0)+20>>2]=0;Tj(c[h>>2]|0);c[f>>2]=(c[f>>2]|0)+1}Hd(c[d>>2]|0,c[g>>2]|0);c[(c[d>>2]|0)+316>>2]=0;l=k;return}function Oq(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return (c[(c[b>>2]|0)+16>>2]|0)!=0|0}function Pq(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[k>>2]=0;if(!(c[g>>2]|0)){n=c[k>>2]|0;l=o;return n|0}Ek(c[g>>2]|0);c[j>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+8>>2];a:while(1){if(!(c[j>>2]|0)){n=15;break}do if(c[i>>2]|0?(d[(c[j>>2]|0)+64>>0]&1|0)==0:0){if((d[(c[j>>2]|0)+66>>0]|0)!=1?(d[(c[j>>2]|0)+66>>0]|0)!=2:0)break;c[k>>2]=Ep(c[j>>2]|0)|0;if(c[k>>2]|0)break a}else n=10;while(0);if((n|0)==10){n=0;Kq(c[j>>2]|0);a[(c[j>>2]|0)+66>>0]=4;c[(c[j>>2]|0)+60>>2]=c[h>>2]}c[m>>2]=0;while(1){b=c[j>>2]|0;if((c[m>>2]|0)>(a[(c[j>>2]|0)+68>>0]|0))break;np(c[b+120+(c[m>>2]<<2)>>2]|0);c[(c[j>>2]|0)+120+(c[m>>2]<<2)>>2]=0;c[m>>2]=(c[m>>2]|0)+1}c[j>>2]=c[b+8>>2]}if((n|0)==15){n=c[k>>2]|0;l=o;return n|0}Pq(c[g>>2]|0,c[k>>2]|0,0)|0;n=c[k>>2]|0;l=o;return n|0}function Qq(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;if(!(c[d>>2]|0))c[e>>2]=0;else{c[f>>2]=c[d>>2];c[g>>2]=c[c[f>>2]>>2];if(Rq(c[f>>2]|0)|0){c[b>>2]=cd(75223)|0;g=c[b>>2]|0;l=h;return g|0}d=(c[f>>2]|0)+128|0;a=c[d+4>>2]|0;if((a|0)>0|(a|0)==0&(c[d>>2]|0)>>>0>0)Sq(c[g>>2]|0,c[f>>2]|0);c[e>>2]=Tq(c[f>>2]|0)|0;c[e>>2]=Uq(c[g>>2]|0,c[e>>2]|0)|0;Bq(c[g>>2]|0)}c[b>>2]=c[e>>2];g=c[b>>2]|0;l=h;return g|0}function Rq(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;b=d+8|0;e=d+4|0;c[e>>2]=a;if(!(c[c[e>>2]>>2]|0)){hd(21,22022,d);c[b>>2]=1;e=c[b>>2]|0;l=d;return e|0}else{c[b>>2]=0;e=c[b>>2]|0;l=d;return e|0}return 0}function Sq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;e=h+20|0;f=h+16|0;i=h+8|0;g=h;c[e>>2]=a;c[f>>2]=b;uj(c[c[e>>2]>>2]|0,i)|0;b=i;a=(c[f>>2]|0)+128|0;a=FR(c[b>>2]|0,c[b+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;a=RR(a|0,z|0,1e6,0)|0;b=g;c[b>>2]=a;c[b+4>>2]=z;if(c[(c[e>>2]|0)+192>>2]|0){i=g;Ab[c[(c[e>>2]|0)+192>>2]&255](c[(c[e>>2]|0)+196>>2]|0,c[(c[f>>2]|0)+176>>2]|0,c[i>>2]|0,c[i+4>>2]|0)}if(!((d[(c[e>>2]|0)+76>>0]|0)&2)){i=c[f>>2]|0;i=i+128|0;g=i;c[g>>2]=0;i=i+4|0;c[i>>2]=0;l=h;return}wb[c[(c[e>>2]|0)+184>>2]&255](2,c[(c[e>>2]|0)+188>>2]|0,c[f>>2]|0,g)|0;i=c[f>>2]|0;i=i+128|0;g=i;c[g>>2]=0;i=i+4|0;c[i>>2]=0;l=h;return}function Tq(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!((c[(c[b>>2]|0)+20>>2]|0)!=770837923?(c[(c[b>>2]|0)+20>>2]|0)!=832317811:0))c[d>>2]=Xq(c[b>>2]|0)|0;Yq(c[b>>2]|0);l=e;return c[d>>2]|0}function Uq(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if((c[g>>2]|0)==3082?1:(d[(c[f>>2]|0)+69>>0]|0|0)!=0){c[e>>2]=Vq(c[f>>2]|0)|0;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=c[g>>2]&c[(c[f>>2]|0)+56>>2];g=c[e>>2]|0;l=h;return g|0}return 0}function Vq(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Wq(c[d>>2]|0);wk(c[d>>2]|0,7);l=b;return 7}function Wq(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(!(d[(c[e>>2]|0)+69>>0]|0)){l=f;return}if(c[(c[e>>2]|0)+168>>2]|0){l=f;return}a[(c[e>>2]|0)+69>>0]=0;c[(c[e>>2]|0)+248>>2]=0;e=(c[e>>2]|0)+256|0;c[e>>2]=(c[e>>2]|0)+-1;l=f;return}function Xq(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;g=h;d=h+8|0;f=h+4|0;c[d>>2]=a;c[f>>2]=c[c[d>>2]>>2];Zq(c[d>>2]|0)|0;a=c[d>>2]|0;if((c[(c[d>>2]|0)+36>>2]|0)>=0){_q(a)|0;Hd(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;if((e[(c[d>>2]|0)+144>>1]|0)>>>5&1|0){g=(c[d>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2|1}}else if(c[a+40>>2]|0?b[(c[d>>2]|0)+144>>1]&1|0:0){j=c[f>>2]|0;i=c[(c[d>>2]|0)+40>>2]|0;a=c[(c[d>>2]|0)+108>>2]|0?18130:0;c[g>>2]=c[(c[d>>2]|0)+108>>2];vk(j,i,a,g);Hd(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0}$q(c[d>>2]|0);j=(c[d>>2]|0)+56|0;c[j>>2]=0;c[j+4>>2]=0;c[(c[d>>2]|0)+20>>2]=1224384374;l=h;return c[(c[d>>2]|0)+40>>2]&c[(c[f>>2]|0)+56>>2]|0}function Yq(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=c[c[b>>2]>>2];Kj(c[d>>2]|0,c[b>>2]|0);a=c[(c[b>>2]|0)+8>>2]|0;if(c[(c[b>>2]|0)+4>>2]|0)c[(c[(c[b>>2]|0)+4>>2]|0)+8>>2]=a;else c[(c[d>>2]|0)+4>>2]=a;if(c[(c[b>>2]|0)+8>>2]|0)c[(c[(c[b>>2]|0)+8>>2]|0)+4>>2]=c[(c[b>>2]|0)+4>>2];c[(c[b>>2]|0)+20>>2]=1443283912;c[c[b>>2]>>2]=0;Hd(c[d>>2]|0,c[b>>2]|0);l=e;return}function Zq(b){b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;j=o+24|0;k=o+20|0;f=o+16|0;m=o+12|0;g=o+8|0;n=o+4|0;h=o;c[k>>2]=b;c[m>>2]=c[c[k>>2]>>2];if(a[(c[m>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+40>>2]=7;ar(c[k>>2]|0);if((c[(c[k>>2]|0)+20>>2]|0)!=770837923){c[j>>2]=0;n=c[j>>2]|0;l=o;return n|0}if((c[(c[k>>2]|0)+36>>2]|0)>=0?(e[(c[k>>2]|0)+144>>1]|0)>>>8&1|0:0){c[n>>2]=0;br(c[k>>2]|0);c[g>>2]=c[(c[k>>2]|0)+40>>2]&255;if((c[g>>2]|0)==7|(c[g>>2]|0)==10|(c[g>>2]|0)==9)b=1;else b=(c[g>>2]|0)==13;c[h>>2]=b&1;do if(c[h>>2]|0?((c[g>>2]|0)!=9?1:((e[(c[k>>2]|0)+144>>1]|0)>>>7&1|0)==0):0){if((c[g>>2]|0)==7|(c[g>>2]|0)==13?(e[(c[k>>2]|0)+144>>1]|0)>>>6&1|0:0){c[n>>2]=2;break}Dq(c[m>>2]|0,516);Eq(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+44>>2]=0}while(0);if(!(c[(c[k>>2]|0)+40>>2]|0))cr(c[k>>2]|0,0)|0;if((c[(c[m>>2]|0)+316>>2]|0)>0?(c[(c[m>>2]|0)+340>>2]|0)==0:0)i=36;else if(d[(c[m>>2]|0)+67>>0]|0?(c[(c[m>>2]|0)+164>>2]|0)==(((e[(c[k>>2]|0)+144>>1]|0)>>>7&1|0)==0|0):0){if((c[(c[k>>2]|0)+40>>2]|0)!=0?(c[h>>2]|0?1:(d[(c[k>>2]|0)+142>>0]|0)!=3):0){Dq(c[m>>2]|0,0);c[(c[k>>2]|0)+44>>2]=0}else i=23;do if((i|0)==23){c[f>>2]=cr(c[k>>2]|0,1)|0;do if(c[f>>2]|0){if(!((e[(c[k>>2]|0)+144>>1]|0)>>>7&1)){c[f>>2]=787;break}c[j>>2]=1;n=c[j>>2]|0;l=o;return n|0}else c[f>>2]=dr(c[m>>2]|0,c[k>>2]|0)|0;while(0);if((c[f>>2]|0)==5?(e[(c[k>>2]|0)+144>>1]|0)>>>7&1|0:0){c[j>>2]=5;n=c[j>>2]|0;l=o;return n|0}if(c[f>>2]|0){c[(c[k>>2]|0)+40>>2]=c[f>>2];Dq(c[m>>2]|0,0);c[(c[k>>2]|0)+44>>2]=0;break}else{h=(c[m>>2]|0)+440|0;c[h>>2]=0;c[h+4>>2]=0;h=(c[m>>2]|0)+448|0;c[h>>2]=0;c[h+4>>2]=0;h=(c[m>>2]|0)+24|0;c[h>>2]=c[h>>2]&-33554433;er(c[m>>2]|0);break}}while(0);c[(c[m>>2]|0)+436>>2]=0}else i=36;do if((i|0)==36?(c[n>>2]|0)==0:0){if(c[(c[k>>2]|0)+40>>2]|0?(d[(c[k>>2]|0)+142>>0]|0)!=3:0)if((d[(c[k>>2]|0)+142>>0]|0)==2){c[n>>2]=2;break}else{Dq(c[m>>2]|0,516);Eq(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+44>>2]=0;break}c[n>>2]=1}while(0);if(c[n>>2]|0?(c[f>>2]=fr(c[k>>2]|0,c[n>>2]|0)|0,c[f>>2]|0):0){if(!((c[(c[k>>2]|0)+40>>2]|0)!=0?(c[(c[k>>2]|0)+40>>2]&255|0)!=19:0)){c[(c[k>>2]|0)+40>>2]=c[f>>2];Hd(c[m>>2]|0,c[(c[k>>2]|0)+108>>2]|0);c[(c[k>>2]|0)+108>>2]=0}Dq(c[m>>2]|0,516);Eq(c[m>>2]|0);a[(c[m>>2]|0)+67>>0]=1;c[(c[k>>2]|0)+44>>2]=0}if((e[(c[k>>2]|0)+144>>1]|0)>>>4&1|0){b=c[m>>2]|0;if((c[n>>2]|0)!=2)gr(b,c[(c[k>>2]|0)+44>>2]|0);else gr(b,0);c[(c[k>>2]|0)+44>>2]=0}}if((c[(c[k>>2]|0)+36>>2]|0)>=0){n=(c[m>>2]|0)+156|0;c[n>>2]=(c[n>>2]|0)+-1;if(!((e[(c[k>>2]|0)+144>>1]|0)>>>7&1)){n=(c[m>>2]|0)+164|0;c[n>>2]=(c[n>>2]|0)+-1}if((e[(c[k>>2]|0)+144>>1]|0)>>>8&1|0){n=(c[m>>2]|0)+160|0;c[n>>2]=(c[n>>2]|0)+-1}}c[(c[k>>2]|0)+20>>2]=832317811;if(a[(c[m>>2]|0)+69>>0]|0)c[(c[k>>2]|0)+40>>2]=7;c[j>>2]=(c[(c[k>>2]|0)+40>>2]|0)==5?5:0;n=c[j>>2]|0;l=o;return n|0}function _q(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=c[(c[d>>2]|0)+40>>2];b=c[e>>2]|0;if(!(c[(c[d>>2]|0)+108>>2]|0)){wk(b,c[f>>2]|0);f=c[f>>2]|0;l=g;return f|0}b=b+70|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;zg();if(!(c[(c[e>>2]|0)+244>>2]|0)){b=Oo(c[e>>2]|0)|0;c[(c[e>>2]|0)+244>>2]=b}Po(c[(c[e>>2]|0)+244>>2]|0,-1,c[(c[d>>2]|0)+108>>2]|0,1,-1);Bg();d=(c[e>>2]|0)+70|0;a[d>>0]=(a[d>>0]|0)+-1<<24>>24;c[(c[e>>2]|0)+52>>2]=c[f>>2];f=c[f>>2]|0;l=g;return f|0}function $q(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[c[d>>2]>>2];Hd(c[e>>2]|0,c[(c[d>>2]|0)+108>>2]|0);c[(c[d>>2]|0)+108>>2]=0;c[(c[d>>2]|0)+104>>2]=0;l=b;return}function ar(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+8|0;b=f+4|0;e=f;c[d>>2]=a;if(c[(c[d>>2]|0)+184>>2]|0){c[b>>2]=c[(c[d>>2]|0)+184>>2];while(1){a=c[b>>2]|0;if(!(c[(c[b>>2]|0)+4>>2]|0))break;c[b>>2]=c[a+4>>2]}sr(a)|0;c[(c[d>>2]|0)+184>>2]=0;c[(c[d>>2]|0)+192>>2]=0}tr(c[d>>2]|0);if(c[(c[d>>2]|0)+92>>2]|0)Lj(c[(c[d>>2]|0)+92>>2]|0,c[(c[d>>2]|0)+24>>2]|0);while(1){a=c[d>>2]|0;if(!(c[(c[d>>2]|0)+188>>2]|0))break;c[e>>2]=c[a+188>>2];c[(c[d>>2]|0)+188>>2]=c[(c[e>>2]|0)+4>>2];ur(c[e>>2]|0)}if(!(c[a+204>>2]|0)){l=f;return}vr(c[c[d>>2]>>2]|0,(c[d>>2]|0)+204|0,-1,0);l=f;return}function br(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;if(!(c[(c[b>>2]|0)+152>>2]|0)){l=h;return}c[e>>2]=c[c[b>>2]>>2];c[f>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=c[(c[e>>2]|0)+20>>2];c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[g>>2]|0))break;if(((c[d>>2]|0)!=1?c[(c[b>>2]|0)+152>>2]&1<>2]|0:0)?c[(c[f>>2]|0)+(c[d>>2]<<4)+4>>2]|0:0)Ek(c[(c[f>>2]|0)+(c[d>>2]<<4)+4>>2]|0);c[d>>2]=(c[d>>2]|0)+1}l=h;return}function cr(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;i=k;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[c[f>>2]>>2];if(!(c[g>>2]|0?(d=(c[h>>2]|0)+440|0,h=(c[h>>2]|0)+448|0,h=IR(c[d>>2]|0,c[d+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0,d=z,(d|0)>0|(d|0)==0&h>>>0>0):0))j=3;do if((j|0)==3){if((c[g>>2]|0)==0?(j=(c[f>>2]|0)+64|0,h=c[j+4>>2]|0,(h|0)>0|(h|0)==0&(c[j>>2]|0)>>>0>0):0)break;c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}while(0);c[(c[f>>2]|0)+40>>2]=787;a[(c[f>>2]|0)+142>>0]=2;rr(c[f>>2]|0,21992,i);c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}function dr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;I=l;l=l+144|0;E=I+32|0;G=I+24|0;F=I+16|0;D=I+8|0;p=I+128|0;w=I+124|0;J=I+120|0;x=I+116|0;y=I+112|0;A=I+108|0;B=I+104|0;C=I+100|0;e=I+96|0;f=I+92|0;g=I+88|0;h=I+84|0;i=I+80|0;j=I+76|0;k=I+72|0;m=I;n=I+68|0;o=I+64|0;q=I+60|0;r=I+56|0;s=I+52|0;t=I+48|0;u=I+44|0;v=I+40|0;c[w>>2]=a;c[J>>2]=b;c[y>>2]=0;c[A>>2]=0;c[B>>2]=0;c[A>>2]=jr(c[w>>2]|0,c[J>>2]|0)|0;c[x>>2]=0;while(1){if(c[A>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[C>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(Lq(c[C>>2]|0)|0){c[B>>2]=1;Ek(c[C>>2]|0);c[e>>2]=Hj(c[C>>2]|0)|0;if((d[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+8>>0]|0|0)!=1?d[21928+(Uo(c[e>>2]|0)|0)>>0]|0|0:0)c[y>>2]=(c[y>>2]|0)+1;c[A>>2]=oo(c[e>>2]|0)|0}c[x>>2]=(c[x>>2]|0)+1}if(c[A>>2]|0){c[p>>2]=c[A>>2];J=c[p>>2]|0;l=I;return J|0}if((c[B>>2]|0?c[(c[w>>2]|0)+204>>2]|0:0)?(c[A>>2]=tb[c[(c[w>>2]|0)+204>>2]&255](c[(c[w>>2]|0)+200>>2]|0)|0,c[A>>2]|0):0){c[p>>2]=531;J=c[p>>2]|0;l=I;return J|0}J=0==(_c(kr(c[(c[(c[w>>2]|0)+16>>2]|0)+4>>2]|0)|0)|0);if(J|(c[y>>2]|0)<=1){c[x>>2]=0;while(1){if(c[A>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[f>>2]|0)c[A>>2]=ep(c[f>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}c[x>>2]=0;while(1){if(c[A>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[g>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[g>>2]|0)c[A>>2]=dp(c[g>>2]|0,0)|0;c[x>>2]=(c[x>>2]|0)+1}if(!(c[A>>2]|0))lr(c[w>>2]|0)|0}else{c[h>>2]=c[c[w>>2]>>2];c[i>>2]=0;c[j>>2]=kr(c[(c[(c[w>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[k>>2]=0;J=m;c[J>>2]=0;c[J+4>>2]=0;c[o>>2]=0;c[q>>2]=_c(c[j>>2]|0)|0;J=c[w>>2]|0;c[D>>2]=c[j>>2];c[i>>2]=Bj(J,21934,D)|0;if(!(c[i>>2]|0)){c[p>>2]=7;J=c[p>>2]|0;l=I;return J|0}do{if(c[o>>2]|0){if((c[o>>2]|0)>100){H=35;break}if((c[o>>2]|0)==1){c[G>>2]=c[i>>2];hd(13,21964,G)}}c[o>>2]=(c[o>>2]|0)+1;Ze(4,r);J=(c[i>>2]|0)+(c[q>>2]|0)|0;D=c[r>>2]&255;c[E>>2]=(c[r>>2]|0)>>>8&16777215;c[E+4>>2]=D;Ne(13,J,21979,E)|0;c[A>>2]=bm(c[h>>2]|0,c[i>>2]|0,0,n)|0}while((c[A>>2]|0)==0?(c[n>>2]|0)!=0:0);if((H|0)==35){c[F>>2]=c[i>>2];hd(13,21950,F);zl(c[h>>2]|0,c[i>>2]|0,0)|0}if(!(c[A>>2]|0))c[A>>2]=mr(c[h>>2]|0,c[i>>2]|0,k,16406,0)|0;if(c[A>>2]|0){Hd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[A>>2];J=c[p>>2]|0;l=I;return J|0}c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[s>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if((Lq(c[s>>2]|0)|0?(c[t>>2]=nr(c[s>>2]|0)|0,c[t>>2]|0):0)?(E=c[k>>2]|0,F=c[t>>2]|0,J=(_c(c[t>>2]|0)|0)+1|0,G=m,c[A>>2]=Ol(E,F,J,c[G>>2]|0,c[G+4>>2]|0)|0,G=(_c(c[t>>2]|0)|0)+1|0,J=m,G=IR(c[J>>2]|0,c[J+4>>2]|0,G|0,((G|0)<0)<<31>>31|0)|0,J=m,c[J>>2]=G,c[J+4>>2]=z,c[A>>2]|0):0){H=48;break}c[x>>2]=(c[x>>2]|0)+1}if((H|0)==48){or(c[k>>2]|0);zl(c[h>>2]|0,c[i>>2]|0,0)|0;Hd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[A>>2];J=c[p>>2]|0;l=I;return J|0}if(0==((hm(c[k>>2]|0)|0)&1024|0)?(J=xl(c[k>>2]|0,2)|0,c[A>>2]=J,0!=(J|0)):0){or(c[k>>2]|0);zl(c[h>>2]|0,c[i>>2]|0,0)|0;Hd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[A>>2];J=c[p>>2]|0;l=I;return J|0}c[x>>2]=0;while(1){if(c[A>>2]|0)break;if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[u>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[u>>2]|0)c[A>>2]=ep(c[u>>2]|0,c[i>>2]|0)|0;c[x>>2]=(c[x>>2]|0)+1}or(c[k>>2]|0);if(c[A>>2]|0){Hd(c[w>>2]|0,c[i>>2]|0);c[p>>2]=c[A>>2];J=c[p>>2]|0;l=I;return J|0}c[A>>2]=zl(c[h>>2]|0,c[i>>2]|0,1)|0;Hd(c[w>>2]|0,c[i>>2]|0);c[i>>2]=0;if(c[A>>2]|0){c[p>>2]=c[A>>2];J=c[p>>2]|0;l=I;return J|0}zg();c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[(c[w>>2]|0)+20>>2]|0))break;c[v>>2]=c[(c[(c[w>>2]|0)+16>>2]|0)+(c[x>>2]<<4)+4>>2];if(c[v>>2]|0)dp(c[v>>2]|0,1)|0;c[x>>2]=(c[x>>2]|0)+1}Bg();lr(c[w>>2]|0)|0}c[p>>2]=c[A>>2];J=c[p>>2]|0;l=I;return J|0}function er(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+24|0;c[a>>2]=c[a>>2]&-3;l=b;return}function fr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[g>>2]=0;if(!(c[(c[f>>2]|0)+436>>2]|0)){k=c[g>>2]|0;l=m;return k|0}if(!(c[(c[d>>2]|0)+48>>2]|0)){k=c[g>>2]|0;l=m;return k|0}c[i>>2]=(c[(c[d>>2]|0)+48>>2]|0)-1;c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;c[j>>2]=0;c[k>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];if(c[k>>2]|0){if((c[e>>2]|0)==2)c[j>>2]=hr(c[k>>2]|0,2,c[i>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=hr(c[k>>2]|0,1,c[i>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=c[j>>2]}c[h>>2]=(c[h>>2]|0)+1}k=(c[f>>2]|0)+436|0;c[k>>2]=(c[k>>2]|0)+-1;c[(c[d>>2]|0)+48>>2]=0;if(!(c[g>>2]|0)){if((c[e>>2]|0)==2)c[g>>2]=ir(c[f>>2]|0,2,c[i>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=ir(c[f>>2]|0,1,c[i>>2]|0)|0}if((c[e>>2]|0)!=2){k=c[g>>2]|0;l=m;return k|0}k=(c[d>>2]|0)+72|0;j=c[k+4>>2]|0;i=(c[f>>2]|0)+440|0;c[i>>2]=c[k>>2];c[i+4>>2]=j;i=(c[d>>2]|0)+80|0;j=c[i+4>>2]|0;k=(c[f>>2]|0)+448|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;k=c[g>>2]|0;l=m;return k|0}function gr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;c[(c[f>>2]|0)+88>>2]=c[e>>2];b=(c[f>>2]|0)+92|0;c[b>>2]=(c[b>>2]|0)+(c[e>>2]|0);l=d;return}function hr(a,b,f){a=a|0;b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=f;c[j>>2]=0;if(!(c[g>>2]|0)){k=c[j>>2]|0;l=m;return k|0}if((d[(c[g>>2]|0)+8>>0]|0|0)!=2){k=c[j>>2]|0;l=m;return k|0}c[k>>2]=c[(c[g>>2]|0)+4>>2];Ek(c[g>>2]|0);c[j>>2]=_l(c[c[k>>2]>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}if((c[i>>2]|0)<0?(e[(c[k>>2]|0)+22>>1]|0)&8|0:0)c[(c[k>>2]|0)+44>>2]=0;c[j>>2]=bq(c[k>>2]|0)|0;i=el((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+28|0)|0;c[(c[k>>2]|0)+44>>2]=i;k=c[j>>2]|0;l=m;return k|0}function ir(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+28|0;g=n+24|0;h=n+20|0;m=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;e=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[m>>2]=0;if(!(c[(c[f>>2]|0)+340>>2]|0)){m=c[m>>2]|0;l=n;return m|0}c[i>>2]=0;while(1){if(c[m>>2]|0){a=15;break}if((c[i>>2]|0)>=(c[(c[f>>2]|0)+316>>2]|0)){a=15;break}c[j>>2]=c[(c[(c[f>>2]|0)+340>>2]|0)+(c[i>>2]<<2)>>2];c[k>>2]=c[c[(c[j>>2]|0)+4>>2]>>2];if(c[(c[j>>2]|0)+8>>2]|0?(c[c[k>>2]>>2]|0)>=2:0){switch(c[g>>2]|0){case 0:{c[e>>2]=c[(c[k>>2]|0)+80>>2];c[(c[j>>2]|0)+20>>2]=(c[h>>2]|0)+1;break}case 2:{c[e>>2]=c[(c[k>>2]|0)+88>>2];break}default:c[e>>2]=c[(c[k>>2]|0)+84>>2]}if(c[e>>2]|0?(c[(c[j>>2]|0)+20>>2]|0)>(c[h>>2]|0):0)c[m>>2]=yb[c[e>>2]&255](c[(c[j>>2]|0)+8>>2]|0,c[h>>2]|0)|0}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==15){m=c[m>>2]|0;l=n;return m|0}return 0}function jr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[h>>2]=c[(c[d>>2]|0)+340>>2];c[(c[d>>2]|0)+340>>2]=0;c[f>>2]=0;while(1){if(!(c[g>>2]|0))b=(c[f>>2]|0)<(c[(c[d>>2]|0)+316>>2]|0);else b=0;a=c[h>>2]|0;if(!b)break;c[j>>2]=c[(c[a+(c[f>>2]<<2)>>2]|0)+8>>2];if(c[j>>2]|0?(b=c[(c[c[j>>2]>>2]|0)+60>>2]|0,c[i>>2]=b,b|0):0){c[g>>2]=tb[c[i>>2]&255](c[j>>2]|0)|0;qr(c[e>>2]|0,c[j>>2]|0)}c[f>>2]=(c[f>>2]|0)+1}c[(c[d>>2]|0)+340>>2]=a;l=k;return c[g>>2]|0}function kr(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=Xk(c[c[(c[d>>2]|0)+4>>2]>>2]|0,1)|0;l=b;return a|0}function lr(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Nq(c[d>>2]|0,64);l=b;return 0}function mr(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;n=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[n>>2]=d;c[j>>2]=e;c[k>>2]=f;f=c[(c[h>>2]|0)+4>>2]|0;c[g>>2]=Cg(f,((f|0)<0)<<31>>31)|0;if(!(c[g>>2]|0)){c[m>>2]=7;n=c[m>>2]|0;l=o;return n|0}c[m>>2]=Zl(c[h>>2]|0,c[i>>2]|0,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;a=c[g>>2]|0;if(c[m>>2]|0){Kd(a);n=c[m>>2]|0;l=o;return n|0}else{c[c[n>>2]>>2]=a;n=c[m>>2]|0;l=o;return n|0}return 0}function nr(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=pr(c[c[(c[d>>2]|0)+4>>2]>>2]|0)|0;l=b;return a|0}function or(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;ql(c[d>>2]|0);Kd(c[d>>2]|0);l=b;return}function pr(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+180>>2]|0}function qr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+8>>2]|0)){l=g;return}c[f>>2]=c[c[d>>2]>>2];Hd(c[f>>2]|0,c[(c[d>>2]|0)+108>>2]|0);f=go(c[f>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;c[(c[d>>2]|0)+108>>2]=f;Kd(c[(c[e>>2]|0)+8>>2]|0);c[(c[e>>2]|0)+8>>2]=0;l=g;return}function rr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+32|0;f=e+20|0;h=e+16|0;g=e;c[f>>2]=a;c[h>>2]=b;Hd(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+108>>2]|0);c[g>>2]=d;d=Cj(c[c[f>>2]>>2]|0,c[h>>2]|0,g)|0;c[(c[f>>2]|0)+108>>2]=d;l=e;return} +function bt(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;s=u+16|0;r=u+8|0;j=u+44|0;k=u+40|0;m=u+36|0;n=u+32|0;o=u+28|0;p=u+50|0;q=u;g=u+24|0;h=u+48|0;i=u+20|0;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=c[c[j>>2]>>2];if(!(c[k>>2]|0)){l=u;return}c[o>>2]=c[(c[k>>2]|0)+8>>2];if(a[(c[o>>2]|0)+1>>0]|0){do if((a[c[o>>2]>>0]|0)!=63){b[p>>1]=0;b[h>>1]=0;while(1){if((b[h>>1]|0)>=(c[(c[j>>2]|0)+404>>2]|0))break;if(c[(c[(c[j>>2]|0)+428>>2]|0)+(b[h>>1]<<2)>>2]|0?(vQ(c[(c[(c[j>>2]|0)+428>>2]|0)+(b[h>>1]<<2)>>2]|0,c[o>>2]|0)|0)==0:0){t=14;break}b[h>>1]=(b[h>>1]|0)+1<<16>>16}if((t|0)==14)b[p>>1]=(b[h>>1]|0)+1;if(!(b[p>>1]|0)){r=(c[j>>2]|0)+400|0;t=(b[r>>1]|0)+1<<16>>16;b[r>>1]=t;b[p>>1]=t}}else{c[g>>2]=0==(ri((c[o>>2]|0)+1|0,q,(c[m>>2]|0)-1|0,1)|0)&1;b[p>>1]=c[q>>2];t=q;f=c[t+4>>2]|0;if(!((c[g>>2]|0)==0|((f|0)<0|(f|0)==0&(c[t>>2]|0)>>>0<1))?(f=q,g=c[f+4>>2]|0,t=c[(c[n>>2]|0)+96+36>>2]|0,h=((t|0)<0)<<31>>31,!((g|0)>(h|0)|((g|0)==(h|0)?(c[f>>2]|0)>>>0>t>>>0:0))):0){r=q;h=c[r+4>>2]|0;t=b[(c[j>>2]|0)+400>>1]|0;f=((t|0)<0)<<31>>31;if(!((h|0)>(f|0)|((h|0)==(f|0)?(c[r>>2]|0)>>>0>t>>>0:0)))break;b[(c[j>>2]|0)+400>>1]=c[q>>2];break}t=c[j>>2]|0;c[r>>2]=c[(c[n>>2]|0)+96+36>>2];Ck(t,30701,r);l=u;return}while(0);b[(c[k>>2]|0)+32>>1]=b[p>>1]|0;do if((b[p>>1]|0)>(c[(c[j>>2]|0)+404>>2]|0)){c[i>>2]=Pd(c[n>>2]|0,c[(c[j>>2]|0)+428>>2]|0,b[p>>1]<<2,0)|0;if(!(c[i>>2]|0)){l=u;return}else{c[(c[j>>2]|0)+428>>2]=c[i>>2];GR((c[i>>2]|0)+(c[(c[j>>2]|0)+404>>2]<<2)|0,0,(b[p>>1]|0)-(c[(c[j>>2]|0)+404>>2]|0)<<2|0)|0;c[(c[j>>2]|0)+404>>2]=b[p>>1];break}}while(0);if(!(c[(c[(c[j>>2]|0)+428>>2]|0)+((b[p>>1]|0)-1<<2)>>2]|0)){t=zj(c[n>>2]|0,c[o>>2]|0,c[m>>2]|0,0)|0;c[(c[(c[j>>2]|0)+428>>2]|0)+((b[p>>1]|0)-1<<2)>>2]=t}}else{r=(c[j>>2]|0)+400|0;t=(b[r>>1]|0)+1<<16>>16;b[r>>1]=t;b[(c[k>>2]|0)+32>>1]=t}if((b[(c[j>>2]|0)+400>>1]|0)<=(c[(c[n>>2]|0)+96+36>>2]|0)){l=u;return}Ck(c[j>>2]|0,30744,s);l=u;return}function ct(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if((c[(c[h>>2]|0)+4>>2]|0)>>>0<=0){j=c[g>>2]|0;l=k;return j|0}c[j>>2]=at(c[c[f>>2]>>2]|0,53,c[h>>2]|0,c[i>>2]|0)|0;if(!(c[j>>2]|0)){j=c[g>>2]|0;l=k;return j|0}c[(c[j>>2]|0)+12>>2]=c[g>>2];i=(c[j>>2]|0)+4|0;c[i>>2]=c[i>>2]|4352;c[g>>2]=c[j>>2];j=c[g>>2]|0;l=k;return j|0}function dt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[k>>2]=d;c[i>>2]=c[c[f>>2]>>2];c[h>>2]=at(c[i>>2]|0,151,c[k>>2]|0,1)|0;if(!(c[h>>2]|0)){_j(c[i>>2]|0,c[g>>2]|0);c[e>>2]=0;k=c[e>>2]|0;l=j;return k|0}else{c[(c[h>>2]|0)+20>>2]=c[g>>2];jt(c[f>>2]|0,c[h>>2]|0);c[e>>2]=c[h>>2];k=c[e>>2]|0;l=j;return k|0}return 0}function et(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[i>>2]=b;c[g>>2]=d;c[h>>2]=e;e=vs(c[j>>2]|0,c[i>>2]|0,c[c[g>>2]>>2]|0,c[c[h>>2]>>2]|0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];l=f;return}function ft(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[h>>2]=b;c[f>>2]=d;if(!(c[h>>2]|0)){l=g;return}h=vs(c[e>>2]|0,19,c[c[f>>2]>>2]|0,0,0)|0;c[c[f>>2]>>2]=h;l=g;return}function gt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[i>>2]=b;c[g>>2]=d;c[h>>2]=e;e=vs(c[j>>2]|0,c[i>>2]|0,c[c[g>>2]>>2]|0,0,0)|0;c[c[g>>2]>>2]=e;c[(c[g>>2]|0)+8>>2]=(c[c[h>>2]>>2]|0)+(c[(c[h>>2]|0)+4>>2]|0);l=f;return}function ht(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=c[c[n>>2]>>2];if(!((c[i>>2]|0)!=0&(c[h>>2]|0)!=0)){l=m;return}if((d[c[h>>2]>>0]|0|0)!=101){l=m;return}a[c[i>>2]>>0]=c[j>>2];ck(c[k>>2]|0,c[(c[i>>2]|0)+16>>2]|0);c[(c[i>>2]|0)+16>>2]=0;l=m;return}function it(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;h=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;m=g;c[h>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[m>>2]=f;c[(c[h>>2]|0)+4>>2]=c[c[m>>2]>>2];f=vs(c[k>>2]|0,c[j>>2]|0,c[c[i>>2]>>2]|0,0,0)|0;c[c[h>>2]>>2]=f;c[(c[h>>2]|0)+8>>2]=c[(c[i>>2]|0)+8>>2];l=g;return}function jt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+36>>2]|0){l=f;return}Vw(c[e>>2]|0);rw(c[d>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;l=f;return}function kt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){c[(c[f>>2]|0)+20>>2]=c[g>>2];g=(c[f>>2]|0)+4|0;c[g>>2]=c[g>>2]|2099200;jt(c[e>>2]|0,c[f>>2]|0);l=h;return}else{Zj(c[c[e>>2]>>2]|0,c[g>>2]|0);l=h;return}}function lt(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;m=l;l=l+32|0;k=m;i=m+28|0;p=m+24|0;j=m+20|0;o=m+16|0;n=m+12|0;h=m+8|0;c[i>>2]=a;c[p>>2]=b;c[j>>2]=e;c[o>>2]=f;c[n>>2]=g;c[h>>2]=Ks(c[i>>2]|0,c[p>>2]|0,0)|0;if((c[o>>2]|0)!=0|(c[n>>2]|0)!=-1?(d[(c[c[i>>2]>>2]|0)+148+5>>0]|0|0)==0:0){p=c[i>>2]|0;o=c[c[j>>2]>>2]|0;c[k>>2]=c[(c[j>>2]|0)+4>>2];c[k+4>>2]=o;Ck(p,30661,k)}Ls(c[i>>2]|0,c[h>>2]|0,c[j>>2]|0,1);l=m;return c[h>>2]|0}function mt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;o=u+16|0;n=u+8|0;t=u;p=u+68|0;q=u+64|0;r=u+60|0;j=u+56|0;k=u+52|0;s=u+48|0;m=u+44|0;f=u+40|0;g=u+36|0;h=u+32|0;i=u+28|0;c[p>>2]=b;c[q>>2]=d;c[r>>2]=e;c[s>>2]=c[c[p>>2]>>2];if(a[(c[s>>2]|0)+69>>0]|0){s=c[s>>2]|0;t=c[q>>2]|0;fk(s,t);l=u;return}if(lu(c[p>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;fk(s,t);l=u;return}c[j>>2]=Bu(c[s>>2]|0,c[(c[q>>2]|0)+8+8>>2]|0,c[(c[q>>2]|0)+8+4>>2]|0)|0;if(!(c[j>>2]|0)){b=c[p>>2]|0;d=c[q>>2]|0;if(c[r>>2]|0)dz(b,c[d+8+4>>2]|0);else{c[t>>2]=d;c[t+4>>2]=0;Ck(b,30451,t)}a[(c[p>>2]|0)+17>>0]=1;s=c[s>>2]|0;t=c[q>>2]|0;fk(s,t);l=u;return}if(a[(c[j>>2]|0)+55>>0]&3|0){t=c[p>>2]|0;c[n>>2]=0;Ck(t,30469,n);s=c[s>>2]|0;t=c[q>>2]|0;fk(s,t);l=u;return}c[m>>2]=Nt(c[s>>2]|0,c[(c[j>>2]|0)+24>>2]|0)|0;c[f>>2]=10;c[g>>2]=c[(c[j>>2]|0)+12>>2];c[h>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[i>>2]=(c[m>>2]|0)==1?23323:23342;if(Ot(c[p>>2]|0,9,c[i>>2]|0,0,c[h>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;fk(s,t);l=u;return}if(c[m>>2]|0)c[f>>2]=12;if(Ot(c[p>>2]|0,c[f>>2]|0,c[c[j>>2]>>2]|0,c[c[g>>2]>>2]|0,c[h>>2]|0)|0){s=c[s>>2]|0;t=c[q>>2]|0;fk(s,t);l=u;return}c[k>>2]=Rt(c[p>>2]|0)|0;if(!(c[k>>2]|0)){s=c[s>>2]|0;t=c[q>>2]|0;fk(s,t);l=u;return}iu(c[p>>2]|0,1,c[m>>2]|0);t=c[p>>2]|0;n=(c[m>>2]|0)==1?23323:23342;r=c[c[j>>2]>>2]|0;c[o>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[o+4>>2]=n;c[o+8>>2]=r;Qt(t,30542,o);jA(c[p>>2]|0,c[m>>2]|0,27038,c[c[j>>2]>>2]|0);St(c[p>>2]|0,c[m>>2]|0);kA(c[p>>2]|0,c[(c[j>>2]|0)+44>>2]|0,c[m>>2]|0);_t(c[k>>2]|0,139,c[m>>2]|0,0,0,c[c[j>>2]>>2]|0,0)|0;s=c[s>>2]|0;t=c[q>>2]|0;fk(s,t);l=u;return}function nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=Rt(c[d>>2]|0)|0;if(c[e>>2]|0)a=gx(c[d>>2]|0,c[e>>2]|0,c[e>>2]|0,e)|0;else a=0;c[g>>2]=a;if(!(c[f>>2]|0)){l=h;return}if(!((c[g>>2]|0)>=2|(c[g>>2]|0)==0)){l=h;return}kx(c[f>>2]|0,10,c[g>>2]|0)|0;cu(c[f>>2]|0,c[g>>2]|0);l=h;return}function ot(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0;fc=l;l=l+816|0;Za=fc+264|0;Kb=fc+256|0;Jb=fc+248|0;Ya=fc+240|0;Ba=fc+208|0;Aa=fc+200|0;za=fc+184|0;ya=fc+160|0;Zb=fc+144|0;Yb=fc+128|0;xa=fc+112|0;wa=fc+96|0;Xb=fc+72|0;va=fc+64|0;ua=fc+56|0;ta=fc+48|0;r=fc+40|0;p=fc+32|0;ac=fc+808|0;m=fc+804|0;ia=fc+800|0;n=fc+796|0;o=fc+792|0;cc=fc+788|0;dc=fc+784|0;Ha=fc+780|0;k=fc+776|0;q=fc+760|0;$b=fc+756|0;A=fc+752|0;B=fc+748|0;C=fc+744|0;D=fc+740|0;ec=fc+736|0;Ea=fc+732|0;bc=fc+728|0;Lb=fc+724|0;E=fc+720|0;F=fc+716|0;G=fc+712|0;Fa=fc+708|0;H=fc+704|0;I=fc+700|0;J=fc+696|0;_a=fc+692|0;K=fc+688|0;L=fc+684|0;M=fc+680|0;N=fc+676|0;O=fc+672|0;P=fc+668|0;Q=fc+664|0;R=fc+660|0;S=fc+656|0;T=fc+24|0;U=fc+652|0;V=fc+648|0;W=fc+644|0;X=fc+640|0;Y=fc+636|0;Z=fc+632|0;_=fc+628|0;$=fc+624|0;aa=fc+16|0;ba=fc+620|0;ca=fc+616|0;Ga=fc+612|0;Mb=fc+608|0;Nb=fc+604|0;Ob=fc+600|0;Pb=fc+596|0;Qb=fc+592|0;Rb=fc+588|0;da=fc+584|0;ea=fc+580|0;fa=fc+576|0;Sb=fc+572|0;Tb=fc+568|0;Ub=fc+564|0;Vb=fc+560|0;Wb=fc+812|0;ga=fc+556|0;ha=fc+552|0;ja=fc+548|0;ka=fc+536|0;la=fc+532|0;ma=fc+528|0;na=fc+524|0;oa=fc+520|0;pa=fc+516|0;qa=fc+512|0;ra=fc+508|0;sa=fc+504|0;Ja=fc+500|0;Ka=fc+496|0;La=fc+492|0;Ma=fc+488|0;Na=fc+484|0;Oa=fc+480|0;Pa=fc+476|0;Qa=fc+472|0;Ra=fc+468|0;Sa=fc+464|0;Ta=fc+460|0;Ua=fc+456|0;Va=fc+452|0;Wa=fc+448|0;Xa=fc+444|0;Eb=fc+440|0;Fb=fc+436|0;Gb=fc+432|0;Hb=fc+428|0;Ib=fc+424|0;$a=fc+420|0;ab=fc+416|0;bb=fc+412|0;cb=fc+408|0;db=fc+404|0;eb=fc+400|0;fb=fc+396|0;gb=fc+392|0;hb=fc+388|0;ib=fc+384|0;jb=fc+380|0;kb=fc+376|0;lb=fc+372|0;mb=fc+368|0;nb=fc+364|0;ob=fc+360|0;pb=fc+356|0;qb=fc+352|0;rb=fc+348|0;sb=fc+344|0;tb=fc+340|0;ub=fc+336|0;vb=fc+332|0;wb=fc+328|0;xb=fc+324|0;yb=fc+320|0;zb=fc+316|0;Ab=fc+312|0;Bb=fc+308|0;Cb=fc+304|0;Db=fc+300|0;Ia=fc+296|0;s=fc+292|0;t=fc+288|0;u=fc+284|0;Ca=fc+280|0;Da=fc+276|0;v=fc+272|0;w=fc+268|0;x=fc+8|0;y=fc;c[ac>>2]=f;c[m>>2]=g;c[ia>>2]=h;c[n>>2]=i;c[o>>2]=j;c[cc>>2]=0;c[dc>>2]=0;c[Ha>>2]=0;c[C>>2]=0;c[ec>>2]=c[c[ac>>2]>>2];c[bc>>2]=Rt(c[ac>>2]|0)|0;if(!(c[bc>>2]|0)){l=fc;return}oz(c[bc>>2]|0);c[(c[ac>>2]|0)+44>>2]=2;c[$b>>2]=gx(c[ac>>2]|0,c[m>>2]|0,c[ia>>2]|0,k)|0;if((c[$b>>2]|0)<0){l=fc;return}c[Ea>>2]=(c[(c[ec>>2]|0)+16>>2]|0)+(c[$b>>2]<<4);if((c[$b>>2]|0)==1?zk(c[ac>>2]|0)|0:0){l=fc;return}c[cc>>2]=Kt(c[ec>>2]|0,c[k>>2]|0)|0;if(!(c[cc>>2]|0)){l=fc;return}g=c[ec>>2]|0;f=c[n>>2]|0;if(c[o>>2]|0){c[p>>2]=f;c[dc>>2]=Bj(g,28446,p)|0}else c[dc>>2]=Kt(g,f)|0;if((c[(c[ia>>2]|0)+4>>2]|0)>>>0>0)f=c[c[Ea>>2]>>2]|0;else f=0;c[Ha>>2]=f;a:do if(!(Ot(c[ac>>2]|0,19,c[cc>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0)){c[q>>2]=0;c[q+4>>2]=c[cc>>2];c[q+8>>2]=c[dc>>2];c[q+12>>2]=0;c[(c[ec>>2]|0)+380+8>>2]=0;c[D>>2]=pz(c[ec>>2]|0,c[Ha>>2]|0,14,q)|0;if(!(c[D>>2]|0)){qz(c[bc>>2]|0,28450,c[q>>2]|0);Kd(c[q>>2]|0);break}if((c[D>>2]|0)!=12){if(c[q>>2]|0){bc=c[ac>>2]|0;c[r>>2]=c[q>>2];Ck(bc,18130,r);Kd(c[q>>2]|0)}bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[D>>2];break}c[A>>2]=0;c[B>>2]=57;while(1){if((c[A>>2]|0)>(c[B>>2]|0))break;c[C>>2]=((c[A>>2]|0)+(c[B>>2]|0)|0)/2|0;c[D>>2]=uk(c[cc>>2]|0,c[4420+((c[C>>2]|0)*12|0)>>2]|0)|0;if(!(c[D>>2]|0))break;f=c[C>>2]|0;if((c[D>>2]|0)<0){c[B>>2]=f-1;continue}else{c[A>>2]=f+1;continue}}if((c[A>>2]|0)<=(c[B>>2]|0)){c[Lb>>2]=4420+((c[C>>2]|0)*12|0);if(d[(c[Lb>>2]|0)+5>>0]&1|0?lu(c[ac>>2]|0)|0:0)break;do switch(d[(c[Lb>>2]|0)+4>>0]|0){case 11:{cu(c[bc>>2]|0,c[$b>>2]|0);if(c[dc>>2]|0){c[F>>2]=Ap(Mf(c[dc>>2]|0)|0)|0;iu(c[ac>>2]|0,0,c[$b>>2]|0);Xt(c[bc>>2]|0,102,c[$b>>2]|0,3,c[F>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[F>>2];vu(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{rz(c[bc>>2]|0,28457);ac=(c[ac>>2]|0)+44|0;c[ac>>2]=(c[ac>>2]|0)+2;c[E>>2]=sz(c[bc>>2]|0,9,28468,0)|0;c[(c[E>>2]|0)+4>>2]=c[$b>>2];c[(c[E>>2]|0)+20+4>>2]=c[$b>>2];c[(c[E>>2]|0)+120+4>>2]=-2e3;break a}}case 25:{c[G>>2]=c[(c[Ea>>2]|0)+4>>2];if(c[dc>>2]|0){bc=Mf(c[dc>>2]|0)|0;c[(c[ec>>2]|0)+80>>2]=bc;if(7!=(Dk(c[G>>2]|0,c[(c[ec>>2]|0)+80>>2]|0,-1,0)|0))break a;yd(c[ec>>2]|0);break a}if(c[G>>2]|0)f=Rm(c[G>>2]|0)|0;else f=0;c[Fa>>2]=f;ac=c[Fa>>2]|0;tz(c[bc>>2]|0,28504,ac,((ac|0)<0)<<31>>31);break a}case 26:{c[H>>2]=c[(c[Ea>>2]|0)+4>>2];c[I>>2]=-1;if(c[dc>>2]|0)c[I>>2]=(Kf(c[dc>>2]|0,0)|0)&255;b:do if((c[I>>2]|0)>=0?(c[(c[ia>>2]|0)+4>>2]|0)==0:0){c[J>>2]=0;while(1){if((c[J>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break b;$y(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[J>>2]<<4)+4>>2]|0,c[I>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+1}}while(0);c[I>>2]=$y(c[H>>2]|0,c[I>>2]|0)|0;ac=c[I>>2]|0;tz(c[bc>>2]|0,28514,ac,((ac|0)<0)<<31>>31);break a}case 23:{ju(c[ac>>2]|0,c[$b>>2]|0);f=(c[ac>>2]|0)+44|0;k=(c[f>>2]|0)+1|0;c[f>>2]=k;c[_a>>2]=k;k=c[bc>>2]|0;f=c[$b>>2]|0;g=c[_a>>2]|0;if((d[17348+(d[c[cc>>2]>>0]|0)>>0]|0)==112)Wt(k,158,f,g)|0;else Xt(k,159,f,g,Ap(Mf(c[dc>>2]|0)|0)|0)|0;Wt(c[bc>>2]|0,87,c[_a>>2]|0,1)|0;Xr(c[bc>>2]|0,1);Yr(c[bc>>2]|0,0,0,c[cc>>2]|0,-1)|0;break a}case 22:{c[K>>2]=28528;c[L>>2]=uz(c[dc>>2]|0)|0;if((c[L>>2]|0)==-1?(c[(c[ia>>2]|0)+4>>2]|0)==0:0)c[L>>2]=d[(c[ec>>2]|0)+71>>0];else{if(!(c[(c[ia>>2]|0)+4>>2]|0)){c[N>>2]=2;while(1){if((c[N>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break;c[M>>2]=Hj(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[N>>2]<<4)+4>>2]|0)|0;_y(c[M>>2]|0,c[L>>2]|0)|0;c[N>>2]=(c[N>>2]|0)+1}a[(c[ec>>2]|0)+71>>0]=c[L>>2]}c[M>>2]=Hj(c[(c[Ea>>2]|0)+4>>2]|0)|0;c[L>>2]=_y(c[M>>2]|0,c[L>>2]|0)|0}if((c[L>>2]|0)==1)c[K>>2]=28535;qz(c[bc>>2]|0,28545,c[K>>2]|0);break a}case 19:{rz(c[bc>>2]|0,28558);if(c[dc>>2]|0){c[R>>2]=_c(c[dc>>2]|0)|0;c[O>>2]=0;while(1){ac=vz(c[O>>2]|0)|0;c[Q>>2]=ac;if(!ac)break;if(!(Zc(c[dc>>2]|0,c[Q>>2]|0,c[R>>2]|0)|0))break;c[O>>2]=(c[O>>2]|0)+1}if(!(c[Q>>2]|0))c[O>>2]=-1}else c[O>>2]=-1;if((c[O>>2]|0)==-1?(c[(c[ia>>2]|0)+4>>2]|0)==0:0){c[$b>>2]=0;c[(c[ia>>2]|0)+4>>2]=1}c[P>>2]=(c[(c[ec>>2]|0)+20>>2]|0)-1;while(1){if((c[P>>2]|0)<0)break;do if(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[P>>2]<<4)+4>>2]|0){if((c[P>>2]|0)!=(c[$b>>2]|0)?c[(c[ia>>2]|0)+4>>2]|0:0)break;cu(c[bc>>2]|0,c[P>>2]|0);Xt(c[bc>>2]|0,9,c[P>>2]|0,1,c[O>>2]|0)|0}while(0);c[P>>2]=(c[P>>2]|0)+-1}Wt(c[bc>>2]|0,87,1,1)|0;break a}case 20:{c[S>>2]=Hj(c[(c[Ea>>2]|0)+4>>2]|0)|0;ac=T;c[ac>>2]=-2;c[ac+4>>2]=-1;if(c[dc>>2]|0?(Qy(c[dc>>2]|0,T)|0,ac=T,$b=c[ac+4>>2]|0,($b|0)<-1|($b|0)==-1&(c[ac>>2]|0)>>>0<4294967295):0){ac=T;c[ac>>2]=-1;c[ac+4>>2]=-1}$b=T;$b=wz(c[S>>2]|0,c[$b>>2]|0,c[$b+4>>2]|0)|0;ac=T;c[ac>>2]=$b;c[ac+4>>2]=z;ac=T;tz(c[bc>>2]|0,28571,c[ac>>2]|0,c[ac+4>>2]|0);break a}case 1:{c[U>>2]=c[(c[Ea>>2]|0)+4>>2];if(!(c[dc>>2]|0)){ac=c[bc>>2]|0;bc=xz(c[U>>2]|0)|0;tz(ac,28590,bc,((bc|0)<0)<<31>>31);break a}c[V>>2]=yz(c[dc>>2]|0)|0;a[(c[ec>>2]|0)+72>>0]=c[V>>2];c[D>>2]=zz(c[U>>2]|0,c[V>>2]|0)|0;if(c[D>>2]|0)break a;if(!((c[V>>2]|0)==1|(c[V>>2]|0)==2))break a;c[X>>2]=Vu(c[bc>>2]|0)|0;c[W>>2]=sz(c[bc>>2]|0,5,28602,0)|0;c[(c[W>>2]|0)+4>>2]=c[$b>>2];c[(c[W>>2]|0)+20+4>>2]=c[$b>>2];c[(c[W>>2]|0)+40+8>>2]=(c[X>>2]|0)+4;c[(c[W>>2]|0)+80+4>>2]=c[$b>>2];c[(c[W>>2]|0)+80+12>>2]=(c[V>>2]|0)-1;cu(c[bc>>2]|0,c[$b>>2]|0);break a}case 15:{if(!((c[dc>>2]|0)!=0?(_b=(Nf(c[dc>>2]|0,Y)|0)==0,!(_b|(c[Y>>2]|0)<=0)):0))c[Y>>2]=2147483647;iu(c[ac>>2]|0,0,c[$b>>2]|0);Wt(c[bc>>2]|0,76,c[Y>>2]|0,1)|0;c[Z>>2]=kx(c[bc>>2]|0,69,c[$b>>2]|0)|0;kx(c[bc>>2]|0,87,1)|0;Wt(c[bc>>2]|0,91,1,-1)|0;Wt(c[bc>>2]|0,66,1,c[Z>>2]|0)|0;tx(c[bc>>2]|0,c[Z>>2]|0);break a}case 4:if(c[dc>>2]|0){c[_>>2]=Mf(c[dc>>2]|0)|0;c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]=c[_>>2];vu(c[(c[Ea>>2]|0)+4>>2]|0,c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0)|0;break a}else{ac=c[(c[(c[Ea>>2]|0)+12>>2]|0)+80>>2]|0;tz(c[bc>>2]|0,28457,ac,((ac|0)<0)<<31>>31);break a}case 5:if(c[dc>>2]|0){c[$>>2]=1;if(Nf(c[dc>>2]|0,$)|0)Az(c[(c[Ea>>2]|0)+4>>2]|0,c[$>>2]|0)|0;$b=(Kf(c[dc>>2]|0,(c[$>>2]|0)!=0&255)|0)<<24>>24!=0;bc=(c[ec>>2]|0)+24|0;ac=c[bc>>2]|0;c[bc>>2]=$b?ac|32:ac&-33;Bz(c[ec>>2]|0);break a}else{g=c[bc>>2]|0;if(!(c[(c[ec>>2]|0)+24>>2]&32))f=0;else f=Az(c[(c[Ea>>2]|0)+4>>2]|0,0)|0;tz(g,28622,f,((f|0)<0)<<31>>31);break a}case 24:{$b=aa;c[$b>>2]=0;c[$b+4>>2]=0;c[D>>2]=0;if(!(c[D>>2]|0)){ac=aa;tz(c[bc>>2]|0,28634,c[ac>>2]|0,c[ac+4>>2]|0);break a}if((c[D>>2]|0)==12)break a;bc=(c[ac>>2]|0)+36|0;c[bc>>2]=(c[bc>>2]|0)+1;c[(c[ac>>2]|0)+12>>2]=c[D>>2];break a}case 32:if(c[dc>>2]|0){Cz(c[ac>>2]|0,c[dc>>2]|0)|0;break a}else{tz(c[bc>>2]|0,28644,d[(c[ec>>2]|0)+68>>0]|0,0);break a}case 33:{if(!(c[dc>>2]|0)){qz(c[bc>>2]|0,28655,c[11684]|0);break a}if(a[c[dc>>2]>>0]|0?(c[D>>2]=bm(c[c[ec>>2]>>2]|0,c[dc>>2]|0,1,ba)|0,(c[D>>2]|0)!=0|(c[ba>>2]|0)==0):0){Ck(c[ac>>2]|0,28676,ta);break a}if((d[(c[ec>>2]|0)+68>>0]|0)<=1)Dz(c[ac>>2]|0)|0;Kd(c[11684]|0);if(a[c[dc>>2]>>0]|0){c[ua>>2]=c[dc>>2];f=Ue(18130,ua)|0}else f=0;c[11684]=f;break a}case 30:{if(!(c[dc>>2]|0)){ac=(d[(c[Ea>>2]|0)+8>>0]|0)-1|0;tz(c[bc>>2]|0,28701,ac,((ac|0)<0)<<31>>31);break a}if(a[(c[ec>>2]|0)+67>>0]|0){bc=((Lf(c[dc>>2]|0,0,1)|0)&255)+1&7;c[ca>>2]=bc;c[ca>>2]=(c[ca>>2]|0)==0?1:bc;a[(c[Ea>>2]|0)+8>>0]=c[ca>>2];a[(c[Ea>>2]|0)+9>>0]=1;Bz(c[ec>>2]|0);break a}else{Ck(c[ac>>2]|0,28713,va);break a}}case 2:{if(!(c[dc>>2]|0)){ac=(c[(c[ec>>2]|0)+24>>2]&c[(c[Lb>>2]|0)+8>>2]|0)!=0&1;tz(c[bc>>2]|0,c[c[Lb>>2]>>2]|0,ac,((ac|0)<0)<<31>>31);break a}c[Ga>>2]=c[(c[Lb>>2]|0)+8>>2];if(!(d[(c[ec>>2]|0)+67>>0]|0))c[Ga>>2]=c[Ga>>2]&-524289;ac=(Kf(c[dc>>2]|0,0)|0)<<24>>24!=0;f=c[Ga>>2]|0;if(!ac){ac=(c[ec>>2]|0)+24|0;c[ac>>2]=c[ac>>2]&~f;if((c[Ga>>2]|0)==33554432){ac=(c[ec>>2]|0)+448|0;c[ac>>2]=0;c[ac+4>>2]=0}}else{ac=(c[ec>>2]|0)+24|0;c[ac>>2]=c[ac>>2]|f}Tt(c[bc>>2]|0,150)|0;Bz(c[ec>>2]|0);break a}case 31:{if(!(c[dc>>2]|0))break a;c[Mb>>2]=ku(c[ac>>2]|0,2,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[Mb>>2]|0))break a;c[Pb>>2]=0;c[Rb>>2]=Au(c[Mb>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=6;ju(c[ac>>2]|0,c[$b>>2]|0);Ez(c[bc>>2]|0,6,5116);kv(c[ac>>2]|0,c[Mb>>2]|0)|0;c[Nb>>2]=0;c[Qb>>2]=c[(c[Mb>>2]|0)+4>>2];while(1){if((c[Nb>>2]|0)>=(b[(c[Mb>>2]|0)+34>>1]|0))break a;if(d[(c[Qb>>2]|0)+15>>0]&2|0)c[Pb>>2]=(c[Pb>>2]|0)+1;else{c:do if(!(d[(c[Qb>>2]|0)+15>>0]&1))c[Ob>>2]=0;else{ac=(c[Rb>>2]|0)==0;c[Ob>>2]=1;if(ac)break;while(1){if((c[Ob>>2]|0)>(b[(c[Mb>>2]|0)+34>>1]|0))break c;if((b[(c[(c[Rb>>2]|0)+4>>2]|0)+((c[Ob>>2]|0)-1<<1)>>1]|0)==(c[Nb>>2]|0))break c;c[Ob>>2]=(c[Ob>>2]|0)+1}}while(0);f=c[bc>>2]|0;g=(c[Nb>>2]|0)-(c[Pb>>2]|0)|0;k=c[c[Qb>>2]>>2]|0;h=qu(c[Qb>>2]|0,47636)|0;i=d[(c[Qb>>2]|0)+12>>0]|0?1:0;if(c[(c[Qb>>2]|0)+4>>2]|0)j=c[(c[(c[Qb>>2]|0)+4>>2]|0)+8>>2]|0;else j=0;ac=c[Ob>>2]|0;c[Xb>>2]=g;c[Xb+4>>2]=k;c[Xb+8>>2]=h;c[Xb+12>>2]=i;c[Xb+16>>2]=j;c[Xb+20>>2]=ac;Fz(f,1,28766,Xb);Wt(c[bc>>2]|0,87,1,6)|0}c[Nb>>2]=(c[Nb>>2]|0)+1;c[Qb>>2]=(c[Qb>>2]|0)+16}}case 29:{c[bc>>2]=Rt(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=4;ju(c[ac>>2]|0,c[$b>>2]|0);Ez(c[bc>>2]|0,4,5140);c[ea>>2]=c[(c[(c[Ea>>2]|0)+12>>2]|0)+8+8>>2];while(1){if(!(c[ea>>2]|0))break a;c[fa>>2]=c[(c[ea>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=b[(c[fa>>2]|0)+40>>1]|0;$b=b[(c[fa>>2]|0)+38>>1]|0;c[wa>>2]=c[c[fa>>2]>>2];c[wa+4>>2]=0;c[wa+8>>2]=_b;c[wa+12>>2]=$b;Fz(ac,1,28773,wa);Wt(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[fa>>2]|0)+8>>2];while(1){if(!(c[da>>2]|0))break;ac=c[bc>>2]|0;_b=b[(c[da>>2]|0)+48>>1]|0;$b=b[c[(c[da>>2]|0)+8>>2]>>1]|0;c[xa>>2]=c[c[da>>2]>>2];c[xa+4>>2]=_b;c[xa+8>>2]=$b;Fz(ac,2,28778,xa);Wt(c[bc>>2]|0,87,1,4)|0;c[da>>2]=c[(c[da>>2]|0)+20>>2]}c[ea>>2]=c[c[ea>>2]>>2]}}case 16:{if(!(c[dc>>2]|0))break a;c[Sb>>2]=Bu(c[ec>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[Sb>>2]|0))break a;f=c[Sb>>2]|0;if(c[(c[Lb>>2]|0)+8>>2]|0){c[Vb>>2]=e[f+52>>1];f=6;g=c[ac>>2]|0}else{c[Vb>>2]=e[f+50>>1];f=3;g=c[ac>>2]|0}c[g+44>>2]=f;c[Tb>>2]=c[(c[Sb>>2]|0)+12>>2];ju(c[ac>>2]|0,c[$b>>2]|0);Ez(c[bc>>2]|0,c[(c[ac>>2]|0)+44>>2]|0,5156);c[Ub>>2]=0;while(1){if((c[Ub>>2]|0)>=(c[Vb>>2]|0))break a;b[Wb>>1]=b[(c[(c[Sb>>2]|0)+4>>2]|0)+(c[Ub>>2]<<1)>>1]|0;f=c[bc>>2]|0;g=b[Wb>>1]|0;if((b[Wb>>1]|0)<0)k=0;else k=c[(c[(c[Tb>>2]|0)+4>>2]|0)+(b[Wb>>1]<<4)>>2]|0;c[Yb>>2]=c[Ub>>2];c[Yb+4>>2]=g;c[Yb+8>>2]=k;Fz(f,1,28782,Yb);if(c[(c[Lb>>2]|0)+8>>2]|0){$b=c[bc>>2]|0;Xb=c[(c[(c[Sb>>2]|0)+32>>2]|0)+(c[Ub>>2]<<2)>>2]|0;_b=(c[Ub>>2]|0)<(e[(c[Sb>>2]|0)+50>>1]|0)&1;c[Zb>>2]=d[(c[(c[Sb>>2]|0)+28>>2]|0)+(c[Ub>>2]|0)>>0];c[Zb+4>>2]=Xb;c[Zb+8>>2]=_b;Fz($b,4,28786,Zb)}Wt(c[bc>>2]|0,87,1,c[(c[ac>>2]|0)+44>>2]|0)|0;c[Ub>>2]=(c[Ub>>2]|0)+1}}case 17:{if(!(c[dc>>2]|0))break a;c[ha>>2]=mu(c[ec>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[ha>>2]|0))break a;c[bc>>2]=Rt(c[ac>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=5;ju(c[ac>>2]|0,c[$b>>2]|0);Ez(c[bc>>2]|0,5,5180);c[ga>>2]=c[(c[ha>>2]|0)+8>>2];c[ja>>2]=0;while(1){if(!(c[ga>>2]|0))break a;c[ka>>2]=c[1300];c[ka+4>>2]=c[1301];c[ka+8>>2]=c[1302];ac=c[bc>>2]|0;Yb=c[c[ga>>2]>>2]|0;Zb=(d[(c[ga>>2]|0)+54>>0]|0)!=0&1;_b=c[ka+((a[(c[ga>>2]|0)+55>>0]&3)<<2)>>2]|0;$b=(c[(c[ga>>2]|0)+36>>2]|0)!=0&1;c[ya>>2]=c[ja>>2];c[ya+4>>2]=Yb;c[ya+8>>2]=Zb;c[ya+12>>2]=_b;c[ya+16>>2]=$b;Fz(ac,1,28790,ya);Wt(c[bc>>2]|0,87,1,5)|0;c[ga>>2]=c[(c[ga>>2]|0)+20>>2];c[ja>>2]=(c[ja>>2]|0)+1}}case 10:{c[(c[ac>>2]|0)+44>>2]=3;Ez(c[bc>>2]|0,3,5212);c[la>>2]=0;while(1){if((c[la>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break a;if(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+4>>2]|0){ac=c[bc>>2]|0;Zb=c[la>>2]|0;_b=c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[la>>2]<<4)>>2]|0;$b=kr(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[la>>2]<<4)+4>>2]|0)|0;c[za>>2]=Zb;c[za+4>>2]=_b;c[za+8>>2]=$b;Fz(ac,1,28796,za);Wt(c[bc>>2]|0,87,1,3)|0}c[la>>2]=(c[la>>2]|0)+1}}case 7:{c[ma>>2]=0;c[(c[ac>>2]|0)+44>>2]=2;Ez(c[bc>>2]|0,2,5224);c[na>>2]=c[(c[ec>>2]|0)+364+8>>2];while(1){if(!(c[na>>2]|0))break a;c[oa>>2]=c[(c[na>>2]|0)+8>>2];ac=c[bc>>2]|0;_b=c[ma>>2]|0;c[ma>>2]=_b+1;$b=c[c[oa>>2]>>2]|0;c[Aa>>2]=_b;c[Aa+4>>2]=$b;Fz(ac,1,28800,Aa);Wt(c[bc>>2]|0,87,1,2)|0;c[na>>2]=c[c[na>>2]>>2]}}case 14:{if(!(c[dc>>2]|0))break a;c[qa>>2]=mu(c[ec>>2]|0,c[dc>>2]|0,c[Ha>>2]|0)|0;if(!(c[qa>>2]|0))break a;c[bc>>2]=Rt(c[ac>>2]|0)|0;c[pa>>2]=c[(c[qa>>2]|0)+16>>2];if(!(c[pa>>2]|0))break a;c[ra>>2]=0;c[(c[ac>>2]|0)+44>>2]=8;ju(c[ac>>2]|0,c[$b>>2]|0);Ez(c[bc>>2]|0,8,5232);while(1){if(!(c[pa>>2]|0))break a;c[sa>>2]=0;while(1){if((c[sa>>2]|0)>=(c[(c[pa>>2]|0)+20>>2]|0))break;ac=c[bc>>2]|0;Vb=c[ra>>2]|0;Wb=c[sa>>2]|0;Xb=c[(c[pa>>2]|0)+8>>2]|0;Yb=c[(c[(c[qa>>2]|0)+4>>2]|0)+(c[(c[pa>>2]|0)+36+(c[sa>>2]<<3)>>2]<<4)>>2]|0;Zb=c[(c[pa>>2]|0)+36+(c[sa>>2]<<3)+4>>2]|0;_b=Gz(a[(c[pa>>2]|0)+25+1>>0]|0)|0;$b=Gz(a[(c[pa>>2]|0)+25>>0]|0)|0;c[Ba>>2]=Vb;c[Ba+4>>2]=Wb;c[Ba+8>>2]=Xb;c[Ba+12>>2]=Yb;c[Ba+16>>2]=Zb;c[Ba+20>>2]=_b;c[Ba+24>>2]=$b;c[Ba+28>>2]=28812;Fz(ac,1,28803,Ba);Wt(c[bc>>2]|0,87,1,8)|0;c[sa>>2]=(c[sa>>2]|0)+1}c[ra>>2]=(c[ra>>2]|0)+1;c[pa>>2]=c[(c[pa>>2]|0)+4>>2]}}case 13:{c[Ra>>2]=(c[(c[ac>>2]|0)+44>>2]|0)+1;Zb=(c[ac>>2]|0)+44|0;c[Zb>>2]=(c[Zb>>2]|0)+4;Zb=(c[ac>>2]|0)+44|0;Yb=(c[Zb>>2]|0)+1|0;c[Zb>>2]=Yb;c[Sa>>2]=Yb;Yb=(c[ac>>2]|0)+44|0;Zb=(c[Yb>>2]|0)+1|0;c[Yb>>2]=Zb;c[Ta>>2]=Zb;c[bc>>2]=Rt(c[ac>>2]|0)|0;Ez(c[bc>>2]|0,4,5264);ju(c[ac>>2]|0,c[$b>>2]|0);c[Pa>>2]=c[(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[$b>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[Pa>>2]|0))break a;if(c[dc>>2]|0){c[Ka>>2]=ku(c[ac>>2]|0,0,c[dc>>2]|0,c[Ha>>2]|0)|0;c[Pa>>2]=0}else{c[Ka>>2]=c[(c[Pa>>2]|0)+8>>2];c[Pa>>2]=c[c[Pa>>2]>>2]}if(!(c[Ka>>2]|0))continue;if(!(c[(c[Ka>>2]|0)+16>>2]|0))continue;mx(c[ac>>2]|0,c[$b>>2]|0,c[(c[Ka>>2]|0)+28>>2]|0,0,c[c[Ka>>2]>>2]|0);if(((b[(c[Ka>>2]|0)+34>>1]|0)+(c[Ta>>2]|0)|0)>(c[(c[ac>>2]|0)+44>>2]|0))c[(c[ac>>2]|0)+44>>2]=(b[(c[Ka>>2]|0)+34>>1]|0)+(c[Ta>>2]|0);nx(c[ac>>2]|0,0,c[$b>>2]|0,c[Ka>>2]|0,104);Vt(c[bc>>2]|0,c[Ra>>2]|0,c[c[Ka>>2]>>2]|0)|0;c[Na>>2]=1;c[Ja>>2]=c[(c[Ka>>2]|0)+16>>2];d:while(1){if(!(c[Ja>>2]|0))break;c[La>>2]=mu(c[ec>>2]|0,c[(c[Ja>>2]|0)+8>>2]|0,c[Ha>>2]|0)|0;do if(c[La>>2]|0){c[Ma>>2]=0;mx(c[ac>>2]|0,c[$b>>2]|0,c[(c[La>>2]|0)+28>>2]|0,0,c[c[La>>2]>>2]|0);c[Qa>>2]=Hz(c[ac>>2]|0,c[La>>2]|0,c[Ja>>2]|0,Ma,0)|0;if(c[Qa>>2]|0){_b=204;break d}if(!(c[Ma>>2]|0)){nx(c[ac>>2]|0,c[Na>>2]|0,c[$b>>2]|0,c[La>>2]|0,104);break}else{Xt(c[bc>>2]|0,104,c[Na>>2]|0,c[(c[Ma>>2]|0)+44>>2]|0,c[$b>>2]|0)|0;ox(c[ac>>2]|0,c[Ma>>2]|0);break}}while(0);c[Na>>2]=(c[Na>>2]|0)+1;c[Ja>>2]=c[(c[Ja>>2]|0)+4>>2]}if((_b|0)==204){_b=0;c[Pa>>2]=0}if(c[Ja>>2]|0)break a;if((c[(c[ac>>2]|0)+40>>2]|0)<(c[Na>>2]|0))c[(c[ac>>2]|0)+40>>2]=c[Na>>2];c[Ua>>2]=kx(c[bc>>2]|0,57,0)|0;c[Na>>2]=1;c[Ja>>2]=c[(c[Ka>>2]|0)+16>>2];while(1){if(!(c[Ja>>2]|0))break;c[La>>2]=mu(c[ec>>2]|0,c[(c[Ja>>2]|0)+8>>2]|0,c[Ha>>2]|0)|0;c[Ma>>2]=0;c[Wa>>2]=0;if(c[La>>2]|0)c[Qa>>2]=Hz(c[ac>>2]|0,c[La>>2]|0,c[Ja>>2]|0,Ma,Wa)|0;c[Va>>2]=qx(c[bc>>2]|0)|0;do if((c[La>>2]|0)!=0&(c[Ma>>2]|0)==0){c[Xa>>2]=c[(c[Ja>>2]|0)+36>>2];f=c[bc>>2]|0;if((c[Xa>>2]|0)!=(b[(c[Ka>>2]|0)+32>>1]|0)){Xt(f,96,0,c[Xa>>2]|0,c[Ta>>2]|0)|0;$x(c[bc>>2]|0,c[Ka>>2]|0,c[Xa>>2]|0,c[Ta>>2]|0);Wt(c[bc>>2]|0,34,c[Ta>>2]|0,c[Va>>2]|0)|0}else Wt(f,123,0,c[Ta>>2]|0)|0;Xt(c[bc>>2]|0,32,c[Na>>2]|0,0,c[Ta>>2]|0)|0;sx(c[bc>>2]|0,c[Va>>2]|0)|0;Zb=c[bc>>2]|0;tx(Zb,(Vu(c[bc>>2]|0)|0)-2|0)}else{c[Oa>>2]=0;while(1){if((c[Oa>>2]|0)>=(c[(c[Ja>>2]|0)+20>>2]|0))break;if(c[Wa>>2]|0)f=(c[Wa>>2]|0)+(c[Oa>>2]<<2)|0;else f=(c[Ja>>2]|0)+36+(c[Oa>>2]<<3)|0;Zx(c[bc>>2]|0,c[Ka>>2]|0,0,c[f>>2]|0,(c[Ta>>2]|0)+(c[Oa>>2]|0)|0);Wt(c[bc>>2]|0,34,(c[Ta>>2]|0)+(c[Oa>>2]|0)|0,c[Va>>2]|0)|0;c[Oa>>2]=(c[Oa>>2]|0)+1}if(!(c[La>>2]|0))break;Vb=c[bc>>2]|0;Wb=c[Ta>>2]|0;Xb=c[(c[Ja>>2]|0)+20>>2]|0;Yb=c[Sa>>2]|0;Zb=Iz(c[ec>>2]|0,c[Ma>>2]|0)|0;_t(Vb,99,Wb,Xb,Yb,Zb,c[(c[Ja>>2]|0)+20>>2]|0)|0;Fx(c[bc>>2]|0,31,c[Na>>2]|0,c[Va>>2]|0,c[Sa>>2]|0,0)|0}while(0);Wt(c[bc>>2]|0,123,0,(c[Ra>>2]|0)+1|0)|0;Yb=c[bc>>2]|0;Zb=(c[Ra>>2]|0)+2|0;Xb=(c[Na>>2]|0)-1|0;c[Ya>>2]=c[(c[Ja>>2]|0)+8>>2];c[Ya+4>>2]=Xb;Fz(Yb,Zb,28817,Ya);Wt(c[bc>>2]|0,87,c[Ra>>2]|0,4)|0;ux(c[bc>>2]|0,c[Va>>2]|0);Hd(c[ec>>2]|0,c[Wa>>2]|0);c[Na>>2]=(c[Na>>2]|0)+1;c[Ja>>2]=c[(c[Ja>>2]|0)+4>>2]}Wt(c[bc>>2]|0,7,0,(c[Ua>>2]|0)+1|0)|0;tx(c[bc>>2]|0,c[Ua>>2]|0)}}case 6:{if(!(c[dc>>2]|0))break a;bc=c[ec>>2]|0;Jz(bc,(Kf(c[dc>>2]|0,0)|0)&255);break a}case 18:{c[Ib>>2]=(d[17348+(d[c[cc>>2]>>0]|0)>>0]|0)==113&1;if(!(c[c[ia>>2]>>2]|0))c[$b>>2]=-1;c[(c[ac>>2]|0)+44>>2]=6;rz(c[bc>>2]|0,28820);c[Hb>>2]=100;if(c[dc>>2]|0?(Nf(c[dc>>2]|0,Hb)|0,(c[Hb>>2]|0)<=0):0)c[Hb>>2]=100;Wt(c[bc>>2]|0,76,c[Hb>>2]|0,1)|0;c[Eb>>2]=0;e:while(1){if((c[Eb>>2]|0)>=(c[(c[ec>>2]|0)+20>>2]|0))break;c[cb>>2]=0;c[db>>2]=0;if(!((c[$b>>2]|0)>=0?(c[Eb>>2]|0)!=(c[$b>>2]|0):0))_b=239;f:do if((_b|0)==239){_b=0;ju(c[ac>>2]|0,c[Eb>>2]|0);c[Gb>>2]=kx(c[bc>>2]|0,66,1)|0;Wt(c[bc>>2]|0,75,0,0)|0;tx(c[bc>>2]|0,c[Gb>>2]|0);c[ab>>2]=(c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[Eb>>2]<<4)+12>>2]|0)+8;c[cb>>2]=0;c[$a>>2]=c[(c[ab>>2]|0)+8>>2];while(1){if(!(c[$a>>2]|0))break;c[fb>>2]=c[(c[$a>>2]|0)+8>>2];if(!(d[(c[fb>>2]|0)+42>>0]&32))c[cb>>2]=(c[cb>>2]|0)+1;c[eb>>2]=0;c[gb>>2]=c[(c[fb>>2]|0)+8>>2];while(1){if(!(c[gb>>2]|0))break;c[cb>>2]=(c[cb>>2]|0)+1;c[gb>>2]=c[(c[gb>>2]|0)+20>>2];c[eb>>2]=(c[eb>>2]|0)+1}if((c[eb>>2]|0)>(c[db>>2]|0))c[db>>2]=c[eb>>2];c[$a>>2]=c[c[$a>>2]>>2]}c[bb>>2]=od(c[ec>>2]|0,(c[cb>>2]|0)+1<<2,0)|0;if(!(c[bb>>2]|0))break e;c[cb>>2]=0;c[$a>>2]=c[(c[ab>>2]|0)+8>>2];while(1){if(!(c[$a>>2]|0))break;c[hb>>2]=c[(c[$a>>2]|0)+8>>2];if(!(d[(c[hb>>2]|0)+42>>0]&32)){Xb=c[(c[hb>>2]|0)+28>>2]|0;Yb=c[bb>>2]|0;Zb=c[cb>>2]|0;c[cb>>2]=Zb+1;c[Yb+(Zb<<2)>>2]=Xb}c[ib>>2]=c[(c[hb>>2]|0)+8>>2];while(1){if(!(c[ib>>2]|0))break;Xb=c[(c[ib>>2]|0)+44>>2]|0;Yb=c[bb>>2]|0;Zb=c[cb>>2]|0;c[cb>>2]=Zb+1;c[Yb+(Zb<<2)>>2]=Xb;c[ib>>2]=c[(c[ib>>2]|0)+20>>2]}c[$a>>2]=c[c[$a>>2]>>2]}c[(c[bb>>2]|0)+(c[cb>>2]<<2)>>2]=0;if((c[(c[ac>>2]|0)+44>>2]|0)>(8+(c[db>>2]|0)|0))f=c[(c[ac>>2]|0)+44>>2]|0;else f=8+(c[db>>2]|0)|0;c[(c[ac>>2]|0)+44>>2]=f;_t(c[bc>>2]|0,141,2,c[cb>>2]|0,1,c[bb>>2]|0,-15)|0;px(c[bc>>2]|0,c[Eb>>2]&255);c[Gb>>2]=kx(c[bc>>2]|0,34,2)|0;Yb=c[bc>>2]|0;Zb=c[ec>>2]|0;c[Jb>>2]=c[(c[(c[ec>>2]|0)+16>>2]|0)+(c[Eb>>2]<<4)>>2];_t(Yb,97,0,3,0,Bj(Zb,28836,Jb)|0,-1)|0;Xt(c[bc>>2]|0,83,2,4,1)|0;Xt(c[bc>>2]|0,52,4,3,2)|0;Wt(c[bc>>2]|0,87,2,1)|0;tx(c[bc>>2]|0,c[Gb>>2]|0);c[$a>>2]=c[(c[ab>>2]|0)+8>>2];while(1){if(!(c[$a>>2]|0))break f;if(!((c[Ib>>2]|0)!=0^1))break f;c[jb>>2]=c[(c[$a>>2]|0)+8>>2];c[mb>>2]=0;c[qb>>2]=-1;g:do if(c[(c[jb>>2]|0)+8>>2]|0){if(!(d[(c[jb>>2]|0)+42>>0]&32))f=0;else f=Au(c[jb>>2]|0)|0;c[lb>>2]=f;c[Gb>>2]=kx(c[bc>>2]|0,66,1)|0;Wt(c[bc>>2]|0,75,0,0)|0;tx(c[bc>>2]|0,c[Gb>>2]|0);Kz(c[ac>>2]|0);Lz(c[ac>>2]|0,c[jb>>2]|0,104,0,1,0,ob,pb)|0;Wt(c[bc>>2]|0,76,0,7)|0;c[Fb>>2]=0;c[kb>>2]=c[(c[jb>>2]|0)+8>>2];while(1){f=c[bc>>2]|0;if(!(c[kb>>2]|0))break;Wt(f,76,0,8+(c[Fb>>2]|0)|0)|0;c[kb>>2]=c[(c[kb>>2]|0)+20>>2];c[Fb>>2]=(c[Fb>>2]|0)+1}Wt(f,57,c[ob>>2]|0,0)|0;c[nb>>2]=Wt(c[bc>>2]|0,91,7,1)|0;c[Fb>>2]=0;while(1){if((c[Fb>>2]|0)>=(b[(c[jb>>2]|0)+34>>1]|0))break;do if((c[Fb>>2]|0)!=(b[(c[jb>>2]|0)+32>>1]|0)){if(!(d[(c[(c[jb>>2]|0)+4>>2]|0)+(c[Fb>>2]<<4)+12>>0]|0))break;Zx(c[bc>>2]|0,c[jb>>2]|0,c[ob>>2]|0,c[Fb>>2]|0,3);px(c[bc>>2]|0,-128);c[sb>>2]=kx(c[bc>>2]|0,35,3)|0;Wt(c[bc>>2]|0,91,1,-1)|0;Zb=c[ec>>2]|0;Yb=c[(c[(c[jb>>2]|0)+4>>2]|0)+(c[Fb>>2]<<4)>>2]|0;c[Kb>>2]=c[c[jb>>2]>>2];c[Kb+4>>2]=Yb;c[rb>>2]=Bj(Zb,28860,Kb)|0;_t(c[bc>>2]|0,97,0,3,0,c[rb>>2]|0,-1)|0;Wt(c[bc>>2]|0,87,3,1)|0;c[tb>>2]=kx(c[bc>>2]|0,66,1)|0;Tt(c[bc>>2]|0,75)|0;tx(c[bc>>2]|0,c[sb>>2]|0);tx(c[bc>>2]|0,c[tb>>2]|0)}while(0);c[Fb>>2]=(c[Fb>>2]|0)+1}c[Fb>>2]=0;c[kb>>2]=c[(c[jb>>2]|0)+8>>2];while(1){f=c[bc>>2]|0;if(!(c[kb>>2]|0))break;c[yb>>2]=qx(f)|0;if((c[lb>>2]|0)!=(c[kb>>2]|0)){c[qb>>2]=Kx(c[ac>>2]|0,c[kb>>2]|0,c[ob>>2]|0,0,0,vb,c[mb>>2]|0,c[qb>>2]|0)|0;c[mb>>2]=c[kb>>2];Wt(c[bc>>2]|0,91,8+(c[Fb>>2]|0)|0,1)|0;c[ub>>2]=Fx(c[bc>>2]|0,31,(c[pb>>2]|0)+(c[Fb>>2]|0)|0,c[yb>>2]|0,c[qb>>2]|0,e[(c[kb>>2]|0)+52>>1]|0)|0;Wt(c[bc>>2]|0,91,1,-1)|0;Vt(c[bc>>2]|0,3,28880)|0;Xt(c[bc>>2]|0,52,7,3,3)|0;Vt(c[bc>>2]|0,4,28885)|0;Xt(c[bc>>2]|0,52,4,3,3)|0;c[xb>>2]=Vt(c[bc>>2]|0,4,c[c[kb>>2]>>2]|0)|0;Xt(c[bc>>2]|0,52,4,3,3)|0;Wt(c[bc>>2]|0,87,3,1)|0;c[wb>>2]=kx(c[bc>>2]|0,66,1)|0;Tt(c[bc>>2]|0,75)|0;tx(c[bc>>2]|0,c[ub>>2]|0);if(d[(c[kb>>2]|0)+54>>0]|0){c[zb>>2]=qx(c[bc>>2]|0)|0;c[Bb>>2]=0;while(1){if((c[Bb>>2]|0)>=(e[(c[kb>>2]|0)+50>>1]|0))break;c[Cb>>2]=b[(c[(c[kb>>2]|0)+4>>2]|0)+(c[Bb>>2]<<1)>>1];if(!((c[Cb>>2]|0)>=0?(d[(c[(c[jb>>2]|0)+4>>2]|0)+(c[Cb>>2]<<4)+12>>0]|0)!=0:0))Wt(c[bc>>2]|0,34,(c[qb>>2]|0)+(c[Bb>>2]|0)|0,c[zb>>2]|0)|0;c[Bb>>2]=(c[Bb>>2]|0)+1}c[Ab>>2]=kx(c[bc>>2]|0,7,(c[pb>>2]|0)+(c[Fb>>2]|0)|0)|0;sx(c[bc>>2]|0,c[zb>>2]|0)|0;tx(c[bc>>2]|0,c[Ab>>2]|0);Fx(c[bc>>2]|0,59,(c[pb>>2]|0)+(c[Fb>>2]|0)|0,c[zb>>2]|0,c[qb>>2]|0,e[(c[kb>>2]|0)+50>>1]|0)|0;Wt(c[bc>>2]|0,91,1,-1)|0;Vt(c[bc>>2]|0,3,28906)|0;sx(c[bc>>2]|0,c[xb>>2]|0)|0;ux(c[bc>>2]|0,c[zb>>2]|0)}tx(c[bc>>2]|0,c[wb>>2]|0);Lx(c[ac>>2]|0,c[vb>>2]|0)}c[kb>>2]=c[(c[kb>>2]|0)+20>>2];c[Fb>>2]=(c[Fb>>2]|0)+1}Wt(f,7,c[ob>>2]|0,c[nb>>2]|0)|0;tx(c[bc>>2]|0,(c[nb>>2]|0)-1|0);Vt(c[bc>>2]|0,2,28933)|0;c[Fb>>2]=0;c[kb>>2]=c[(c[jb>>2]|0)+8>>2];while(1){if(!(c[kb>>2]|0))break g;if((c[lb>>2]|0)!=(c[kb>>2]|0)){c[Gb>>2]=Vu(c[bc>>2]|0)|0;Wt(c[bc>>2]|0,66,1,(c[Gb>>2]|0)+2|0)|0;Wt(c[bc>>2]|0,75,0,0)|0;Wt(c[bc>>2]|0,100,(c[pb>>2]|0)+(c[Fb>>2]|0)|0,3)|0;Xt(c[bc>>2]|0,37,8+(c[Fb>>2]|0)|0,(c[Gb>>2]|0)+8|0,3)|0;px(c[bc>>2]|0,-112);Wt(c[bc>>2]|0,91,1,-1)|0;Vt(c[bc>>2]|0,3,c[c[kb>>2]>>2]|0)|0;Xt(c[bc>>2]|0,52,3,2,7)|0;Wt(c[bc>>2]|0,87,7,1)|0}c[kb>>2]=c[(c[kb>>2]|0)+20>>2];c[Fb>>2]=(c[Fb>>2]|0)+1}}while(0);c[$a>>2]=c[c[$a>>2]>>2]}}while(0);c[Eb>>2]=(c[Eb>>2]|0)+1}c[Db>>2]=sz(c[bc>>2]|0,4,28962,0)|0;if(!(c[Db>>2]|0))break a;c[(c[Db>>2]|0)+8>>2]=0-(c[Hb>>2]|0);a[(c[Db>>2]|0)+40+1>>0]=-2;c[(c[Db>>2]|0)+40+16>>2]=28978;break a}case 12:{if(!(c[dc>>2]|0)){if(lu(c[ac>>2]|0)|0)break a;qz(c[bc>>2]|0,28981,c[5280+(d[(c[c[ac>>2]>>2]|0)+66>>0]<<3)>>2]|0);break a}if((e[(c[(c[(c[ec>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&1|0)==1?(e[(c[(c[(c[ec>>2]|0)+16>>2]|0)+12>>2]|0)+78>>1]&4|0)!=4:0)break a;c[Ia>>2]=5280;while(1){if(!(c[c[Ia>>2]>>2]|0))break;bc=0==(Ig(c[dc>>2]|0,c[c[Ia>>2]>>2]|0)|0);f=c[Ia>>2]|0;if(bc){_b=306;break}c[Ia>>2]=f+8}if((_b|0)==306){if(d[f+4>>0]|0)f=d[(c[Ia>>2]|0)+4>>0]|0;else f=(a[936]|0)==0?3:2;bc=f&255;a[(c[ec>>2]|0)+66>>0]=bc;a[(c[(c[(c[ec>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]=bc}if(c[c[Ia>>2]>>2]|0)break a;bc=c[ac>>2]|0;c[Za>>2]=c[dc>>2];Ck(bc,28990,Za);break a}case 0:{c[s>>2]=c[(c[Lb>>2]|0)+8>>2];cu(c[bc>>2]|0,c[$b>>2]|0);if(c[dc>>2]|0?(d[(c[Lb>>2]|0)+5>>0]&2|0)==0:0){c[t>>2]=sz(c[bc>>2]|0,2,29015,0)|0;c[(c[t>>2]|0)+4>>2]=c[$b>>2];c[(c[t>>2]|0)+20+4>>2]=c[$b>>2];c[(c[t>>2]|0)+20+8>>2]=c[s>>2];bc=Mf(c[dc>>2]|0)|0;c[(c[t>>2]|0)+20+12>>2]=bc;break a}c[u>>2]=sz(c[bc>>2]|0,3,29023,0)|0;c[(c[u>>2]|0)+4>>2]=c[$b>>2];c[(c[u>>2]|0)+20+4>>2]=c[$b>>2];c[(c[u>>2]|0)+20+12>>2]=c[s>>2];Xr(c[bc>>2]|0,1);Yr(c[bc>>2]|0,0,0,c[cc>>2]|0,-1)|0;Mz(c[bc>>2]|0);break a}case 8:{c[Ca>>2]=0;c[(c[ac>>2]|0)+44>>2]=1;rz(c[bc>>2]|0,29035);while(1){ac=c[Ca>>2]|0;c[Ca>>2]=ac+1;ac=ad(ac)|0;c[Da>>2]=ac;f=c[bc>>2]|0;if(!ac)break;Vt(f,1,c[Da>>2]|0)|0;Wt(c[bc>>2]|0,87,1,1)|0}Mz(f);break a}case 36:{c[v>>2]=c[c[ia>>2]>>2]|0?c[$b>>2]|0:10;c[w>>2]=0;do if(c[dc>>2]|0){if(!(Ig(c[dc>>2]|0,29050)|0)){c[w>>2]=1;break}if(!(Ig(c[dc>>2]|0,29055)|0)){c[w>>2]=2;break}if(!(Ig(c[dc>>2]|0,29063)|0))c[w>>2]=3}while(0);Ez(c[bc>>2]|0,3,5352);c[(c[ac>>2]|0)+44>>2]=3;Xt(c[bc>>2]|0,8,c[v>>2]|0,c[w>>2]|0,1)|0;Wt(c[bc>>2]|0,87,1,3)|0;break a}case 35:{if(c[dc>>2]|0){ac=c[ec>>2]|0;Nz(ac,Mf(c[dc>>2]|0)|0)|0}if((c[(c[ec>>2]|0)+224>>2]|0)==138)f=c[(c[ec>>2]|0)+228>>2]|0;else f=0;tz(c[bc>>2]|0,29072,f,((f|0)<0)<<31>>31);break a}case 27:{Pz(c[ec>>2]|0)|0;break a}case 28:{if(c[dc>>2]|0?(Qy(c[dc>>2]|0,x)|0)==0:0){ac=x;sk(c[ac>>2]|0,c[ac+4>>2]|0)|0}ac=c[bc>>2]|0;bc=sk(-1,-1)|0;tz(ac,29099,bc,z);break a}case 34:{if(c[dc>>2]|0?(_b=(Qy(c[dc>>2]|0,y)|0)==0,ac=y,$b=c[ac+4>>2]|0,_b&(($b|0)>0|($b|0)==0&(c[ac>>2]|0)>>>0>=0)):0)Rz(c[ec>>2]|0,11,c[y>>2]&2147483647)|0;ac=c[bc>>2]|0;bc=Rz(c[ec>>2]|0,11,-1)|0;tz(ac,29115,bc,((bc|0)<0)<<31>>31);break a}default:{if(c[dc>>2]|0){ac=c[ec>>2]|0;Qz(ac,Mf(c[dc>>2]|0)|0)|0}ac=c[(c[ec>>2]|0)+428>>2]|0;tz(c[bc>>2]|0,29091,ac,((ac|0)<0)<<31>>31);break a}}while(0)}}while(0);Hd(c[ec>>2]|0,c[cc>>2]|0);Hd(c[ec>>2]|0,c[dc>>2]|0);l=fc;return}function pt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+112|0;v=w+24|0;u=w;n=w+108|0;o=w+104|0;p=w+100|0;q=w+96|0;r=w+92|0;s=w+88|0;t=w+64|0;f=w+56|0;g=w+48|0;h=w+44|0;i=w+40|0;j=w+36|0;k=w+32|0;m=w+28|0;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=c[(c[n>>2]|0)+444>>2];c[s>>2]=c[c[n>>2]>>2];c[(c[n>>2]|0)+444>>2]=0;do if(c[q>>2]|0?(c[(c[n>>2]|0)+36>>2]|0)==0:0){c[r>>2]=c[c[q>>2]>>2];c[f>>2]=Nt(c[c[n>>2]>>2]|0,c[(c[q>>2]|0)+20>>2]|0)|0;c[(c[q>>2]|0)+28>>2]=c[o>>2];while(1){b=c[q>>2]|0;if(!(c[o>>2]|0))break;c[(c[o>>2]|0)+4>>2]=b;c[o>>2]=c[(c[o>>2]|0)+28>>2]}pw(g,c[b>>2]|0);iz(t,c[n>>2]|0,c[f>>2]|0,28074,g);if((nz(t,c[(c[q>>2]|0)+28>>2]|0)|0)==0?(lz(t,c[(c[q>>2]|0)+12>>2]|0)|0)==0:0){if(!(a[(c[s>>2]|0)+148+5>>0]|0)){c[h>>2]=Rt(c[n>>2]|0)|0;if(!(c[h>>2]|0))break;iu(c[n>>2]|0,0,c[f>>2]|0);c[i>>2]=zj(c[s>>2]|0,c[c[p>>2]>>2]|0,c[(c[p>>2]|0)+4>>2]|0,0)|0;p=c[n>>2]|0;d=(c[f>>2]|0)==1?23323:23342;e=c[r>>2]|0;g=c[(c[q>>2]|0)+4>>2]|0;t=c[i>>2]|0;c[u>>2]=c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];c[u+4>>2]=d;c[u+8>>2]=e;c[u+12>>2]=g;c[u+16>>2]=t;Qt(p,28353,u);Hd(c[s>>2]|0,c[i>>2]|0);St(c[n>>2]|0,c[f>>2]|0);p=c[h>>2]|0;t=c[f>>2]|0;u=c[s>>2]|0;c[v>>2]=c[r>>2];Ut(p,t,Bj(u,28417,v)|0)}if(a[(c[s>>2]|0)+148+5>>0]|0){c[j>>2]=c[q>>2];c[k>>2]=(c[(c[(c[s>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+40;c[q>>2]=Vj(c[k>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(c[q>>2]|0){yd(c[s>>2]|0);break}if((c[(c[j>>2]|0)+20>>2]|0)==(c[(c[j>>2]|0)+24>>2]|0)){c[m>>2]=nu((c[(c[j>>2]|0)+24>>2]|0)+8|0,c[(c[j>>2]|0)+4>>2]|0)|0;c[(c[j>>2]|0)+32>>2]=c[(c[m>>2]|0)+60>>2];c[(c[m>>2]|0)+60>>2]=c[j>>2]}}}}while(0);Ij(c[s>>2]|0,c[q>>2]|0);qk(c[s>>2]|0,c[o>>2]|0);l=w;return}function qt(b,e,f,g,h,i,j,k,m,n){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+160|0;v=Q+48|0;u=Q+32|0;t=Q+24|0;H=Q+16|0;s=Q+8|0;r=Q;I=Q+156|0;o=Q+152|0;p=Q+148|0;x=Q+144|0;y=Q+140|0;J=Q+136|0;K=Q+132|0;L=Q+128|0;z=Q+124|0;A=Q+120|0;M=Q+116|0;B=Q+112|0;N=Q+108|0;O=Q+104|0;P=Q+100|0;C=Q+96|0;q=Q+72|0;D=Q+68|0;E=Q+64|0;F=Q+60|0;G=Q+56|0;c[I>>2]=b;c[o>>2]=e;c[p>>2]=f;c[x>>2]=g;c[y>>2]=h;c[J>>2]=i;c[K>>2]=j;c[L>>2]=k;c[z>>2]=m;c[A>>2]=n;c[M>>2]=0;c[N>>2]=0;c[O>>2]=c[c[I>>2]>>2];do if(c[z>>2]|0)if((c[(c[p>>2]|0)+4>>2]|0)>>>0<=0){c[P>>2]=1;c[C>>2]=c[o>>2];if(c[K>>2]|0){w=6;break}else break}else{Ck(c[I>>2]|0,28028,r);break}else{c[P>>2]=gx(c[I>>2]|0,c[o>>2]|0,c[p>>2]|0,C)|0;if((c[P>>2]|0)>=0&(c[K>>2]|0)!=0)w=6}while(0);do if((w|0)==6?(d[(c[O>>2]|0)+69>>0]|0)==0:0){if((c[P>>2]|0)!=1?(d[(c[O>>2]|0)+148+5>>0]|0)!=0:0){Hd(c[O>>2]|0,c[(c[K>>2]|0)+8+4>>2]|0);c[(c[K>>2]|0)+8+4>>2]=0}c[B>>2]=hz(c[I>>2]|0,c[K>>2]|0)|0;if(((d[(c[O>>2]|0)+148+5>>0]|0)==0?(c[B>>2]|0?(c[(c[p>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[B>>2]|0)+64>>2]|0)==(c[(c[(c[O>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[P>>2]=1;if((a[(c[O>>2]|0)+69>>0]|0)==0?(iz(q,c[I>>2]|0,c[P>>2]|0,28074,c[C>>2]|0),(jz(q,c[K>>2]|0)|0)==0):0){c[B>>2]=hz(c[I>>2]|0,c[K>>2]|0)|0;if(!(c[B>>2]|0)){if((d[(c[O>>2]|0)+148+4>>0]|0)!=1)break;a[(c[O>>2]|0)+148+6>>0]=1;break}if(d[(c[B>>2]|0)+42>>0]&16|0){Ck(c[I>>2]|0,28082,s);break}c[N>>2]=Kt(c[O>>2]|0,c[C>>2]|0)|0;if(c[N>>2]|0?0==(jv(c[I>>2]|0,c[N>>2]|0)|0):0){if(nu((c[(c[(c[O>>2]|0)+16>>2]|0)+(c[P>>2]<<4)+12>>2]|0)+40|0,c[N>>2]|0)|0){b=c[I>>2]|0;if(c[A>>2]|0){ju(b,c[P>>2]|0);break}else{c[H>>2]=c[C>>2];Ck(b,28123,H);break}}if(!(Zc(c[c[B>>2]>>2]|0,23554,7)|0)){Ck(c[I>>2]|0,28149,t);break}if((c[x>>2]|0)!=77?(c[(c[B>>2]|0)+12>>2]|0)!=0:0){P=c[I>>2]|0;H=c[K>>2]|0;c[u>>2]=(c[x>>2]|0)==63?28187:28194;c[u+4>>2]=H;c[u+8>>2]=0;Ck(P,28200,u);break}if((c[x>>2]|0)==77?(c[(c[B>>2]|0)+12>>2]|0)==0:0){P=c[I>>2]|0;c[v>>2]=c[K>>2];c[v+4>>2]=0;Ck(P,28237,v);break}c[D>>2]=Nt(c[O>>2]|0,c[(c[B>>2]|0)+64>>2]|0)|0;c[E>>2]=7;c[F>>2]=c[(c[(c[O>>2]|0)+16>>2]|0)+(c[D>>2]<<4)>>2];if(c[z>>2]|0)b=c[(c[(c[O>>2]|0)+16>>2]|0)+16>>2]|0;else b=c[F>>2]|0;c[G>>2]=b;if((c[D>>2]|0)==1|(c[z>>2]|0)!=0)c[E>>2]=5;if((Ot(c[I>>2]|0,c[E>>2]|0,c[N>>2]|0,c[c[B>>2]>>2]|0,c[G>>2]|0)|0)==0?(Ot(c[I>>2]|0,18,(c[D>>2]|0)==1?23323:23342,0,c[F>>2]|0)|0)==0:0){if((c[x>>2]|0)==77)c[x>>2]=63;c[M>>2]=jl(c[O>>2]|0,36,0)|0;if(!(c[M>>2]|0))break;c[c[M>>2]>>2]=c[N>>2];c[N>>2]=0;H=go(c[O>>2]|0,c[(c[K>>2]|0)+8+8>>2]|0)|0;c[(c[M>>2]|0)+4>>2]=H;c[(c[M>>2]|0)+20>>2]=c[(c[(c[O>>2]|0)+16>>2]|0)+(c[P>>2]<<4)+12>>2];c[(c[M>>2]|0)+24>>2]=c[(c[B>>2]|0)+64>>2];a[(c[M>>2]|0)+8>>0]=c[y>>2];a[(c[M>>2]|0)+9>>0]=(c[x>>2]|0)==63?1:2;P=aw(c[O>>2]|0,c[L>>2]|0,1)|0;c[(c[M>>2]|0)+12>>2]=P;P=cx(c[O>>2]|0,c[J>>2]|0)|0;c[(c[M>>2]|0)+16>>2]=P;c[(c[I>>2]|0)+444>>2]=c[M>>2]}}}}while(0);Hd(c[O>>2]|0,c[N>>2]|0);fk(c[O>>2]|0,c[K>>2]|0);hk(c[O>>2]|0,c[J>>2]|0);ck(c[O>>2]|0,c[L>>2]|0);if(c[(c[I>>2]|0)+444>>2]|0){l=Q;return}Ij(c[O>>2]|0,c[M>>2]|0);l=Q;return}function rt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;m=n+20|0;h=n;c[i>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[m>>0]=g;c[h>>2]=gz(c[i>>2]|0,110,c[o>>2]|0)|0;if(c[h>>2]|0){o=iw(c[i>>2]|0,c[j>>2]|0,1)|0;c[(c[h>>2]|0)+20>>2]=o;o=aw(c[i>>2]|0,c[k>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=o;a[(c[h>>2]|0)+1>>0]=a[m>>0]|0}_j(c[i>>2]|0,c[j>>2]|0);ck(c[i>>2]|0,c[k>>2]|0);l=n;return c[h>>2]|0}function st(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;i=n+16|0;o=n+12|0;j=n+8|0;k=n+4|0;m=n+20|0;h=n;c[i>>2]=b;c[o>>2]=d;c[j>>2]=e;c[k>>2]=f;a[m>>0]=g;c[h>>2]=gz(c[i>>2]|0,108,c[o>>2]|0)|0;b=c[i>>2]|0;if(c[h>>2]|0){o=qv(b,c[k>>2]|0,1)|0;c[(c[h>>2]|0)+8>>2]=o;c[(c[h>>2]|0)+24>>2]=c[j>>2];a[(c[h>>2]|0)+1>>0]=a[m>>0]|0;m=c[i>>2]|0;o=c[k>>2]|0;Zj(m,o);o=c[h>>2]|0;l=n;return o|0}else{hk(b,c[j>>2]|0);m=c[i>>2]|0;o=c[k>>2]|0;Zj(m,o);o=c[h>>2]|0;l=n;return o|0}return 0}function tt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[j>>2]=d;c[g>>2]=e;c[h>>2]=gz(c[f>>2]|0,109,c[j>>2]|0)|0;if(c[h>>2]|0){j=aw(c[f>>2]|0,c[g>>2]|0,1)|0;c[(c[h>>2]|0)+16>>2]=j;a[(c[h>>2]|0)+1>>0]=10}ck(c[f>>2]|0,c[g>>2]|0);l=i;return c[h>>2]|0}function ut(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;c[h>>2]=jl(c[f>>2]|0,36,0)|0;if(!(c[h>>2]|0)){Zj(c[f>>2]|0,c[g>>2]|0);c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}else{a[c[h>>2]>>0]=119;c[(c[h>>2]|0)+8>>2]=c[g>>2];a[(c[h>>2]|0)+1>>0]=10;c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}return 0}function vt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;m=r+40|0;n=r+36|0;o=r+32|0;g=r+28|0;h=r+24|0;p=r+20|0;i=r+16|0;k=r+12|0;f=r+8|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[g>>2]=0;c[k>>2]=c[c[m>>2]>>2];if(a[(c[k>>2]|0)+69>>0]|0){p=c[k>>2]|0;q=c[n>>2]|0;fk(p,q);l=r;return}if(lu(c[m>>2]|0)|0){p=c[k>>2]|0;q=c[n>>2]|0;fk(p,q);l=r;return}c[p>>2]=c[(c[n>>2]|0)+8+4>>2];c[i>>2]=c[(c[n>>2]|0)+8+8>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[k>>2]|0)+20>>2]|0))break;e=c[h>>2]|0;c[f>>2]=(c[h>>2]|0)<2?e^1:e;if(!(c[p>>2]|0?(Ig(c[(c[(c[k>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2]|0,c[p>>2]|0)|0)!=0:0))j=7;if((j|0)==7?(j=0,c[g>>2]=nu((c[(c[(c[k>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+40|0,c[i>>2]|0)|0,c[g>>2]|0):0)break;c[h>>2]=(c[h>>2]|0)+1}if(c[g>>2]|0){ez(c[m>>2]|0,c[g>>2]|0);p=c[k>>2]|0;q=c[n>>2]|0;fk(p,q);l=r;return}b=c[m>>2]|0;if(c[o>>2]|0)dz(b,c[p>>2]|0);else{c[q>>2]=c[n>>2];c[q+4>>2]=0;Ck(b,27957,q)}a[(c[m>>2]|0)+17>>0]=1;p=c[k>>2]|0;q=c[n>>2]|0;fk(p,q);l=r;return}function wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;Uy(c[j>>2]|0,24,4328,c[i>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function xt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;Uy(c[f>>2]|0,25,4300,c[e>>2]|0,0,0,c[e>>2]|0);l=d;return}function yt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u;s=u+48|0;i=u+44|0;j=u+40|0;k=u+36|0;m=u+32|0;n=u+28|0;o=u+24|0;q=u+20|0;r=u+16|0;f=u+12|0;g=u+8|0;h=u+4|0;c[s>>2]=b;c[i>>2]=d;c[j>>2]=e;c[f>>2]=c[c[s>>2]>>2];if(lu(c[s>>2]|0)|0){l=u;return}if(!(c[i>>2]|0)){Gx(c[s>>2]|0,0);l=u;return}if(!((c[j>>2]|0)!=0?(c[c[j>>2]>>2]|0)!=0:0))p=6;do if((p|0)==6){c[h>>2]=Kt(c[c[s>>2]>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){l=u;return}c[k>>2]=zv(c[f>>2]|0,a[(c[f>>2]|0)+66>>0]|0,c[h>>2]|0,0)|0;if(!(c[k>>2]|0)){Hd(c[f>>2]|0,c[h>>2]|0);break}Gx(c[s>>2]|0,c[h>>2]|0);Hd(c[f>>2]|0,c[h>>2]|0);l=u;return}while(0);c[r>>2]=gx(c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,g)|0;if((c[r>>2]|0)<0){l=u;return}c[m>>2]=Kt(c[f>>2]|0,c[g>>2]|0)|0;if(!(c[m>>2]|0)){l=u;return}c[n>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[o>>2]=mu(c[f>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(c[o>>2]|0){Hx(c[s>>2]|0,c[o>>2]|0,0);Hd(c[f>>2]|0,c[m>>2]|0);l=u;return}c[q>>2]=Bu(c[f>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;Hd(c[f>>2]|0,c[m>>2]|0);b=c[s>>2]|0;if(c[q>>2]|0){iu(b,0,c[r>>2]|0);Ix(c[s>>2]|0,c[q>>2]|0,-1);l=u;return}else{Ck(b,27191,t);l=u;return}}function zt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;o=r+44|0;f=r+40|0;g=r+36|0;p=r+32|0;h=r+28|0;i=r+24|0;q=r+20|0;j=r+16|0;k=r+12|0;m=r+8|0;e=r+4|0;n=r;c[o>>2]=a;c[f>>2]=b;c[g>>2]=d;c[p>>2]=c[c[o>>2]>>2];if(lu(c[o>>2]|0)|0){l=r;return}a:do if(c[f>>2]|0){if(c[(c[g>>2]|0)+4>>2]|0){c[h>>2]=gx(c[o>>2]|0,c[f>>2]|0,c[g>>2]|0,e)|0;if((c[h>>2]|0)<0)break;c[j>>2]=c[(c[(c[p>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[q>>2]=Kt(c[p>>2]|0,c[e>>2]|0)|0;if(!(c[q>>2]|0))break;i=Bu(c[p>>2]|0,c[q>>2]|0,c[j>>2]|0)|0;c[m>>2]=i;a=c[o>>2]|0;if(!(i|0)){m=ku(a,0,c[q>>2]|0,c[j>>2]|0)|0;c[k>>2]=m;if(m|0)fx(c[o>>2]|0,c[k>>2]|0,0)}else fx(a,c[(c[m>>2]|0)+12>>2]|0,c[m>>2]|0);Hd(c[p>>2]|0,c[q>>2]|0);break}c[h>>2]=ex(c[p>>2]|0,c[f>>2]|0)|0;if((c[h>>2]|0)>=0){dx(c[o>>2]|0,c[h>>2]|0);break}c[q>>2]=Kt(c[p>>2]|0,c[f>>2]|0)|0;if(c[q>>2]|0){j=Bu(c[p>>2]|0,c[q>>2]|0,0)|0;c[m>>2]=j;a=c[o>>2]|0;if(!(j|0)){m=ku(a,0,c[q>>2]|0,0)|0;c[k>>2]=m;if(m|0)fx(c[o>>2]|0,c[k>>2]|0,0)}else fx(a,c[(c[m>>2]|0)+12>>2]|0,c[m>>2]|0);Hd(c[p>>2]|0,c[q>>2]|0)}}else{c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break a;if((c[i>>2]|0)!=1)dx(c[o>>2]|0,c[i>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}while(0);c[n>>2]=Rt(c[o>>2]|0)|0;if(!(c[n>>2]|0)){l=r;return}Tt(c[n>>2]|0,150)|0;l=r;return}function At(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+176|0;C=E+96|0;B=E+80|0;A=E+40|0;D=E+16|0;z=E+8|0;h=E;t=E+172|0;u=E+168|0;g=E+164|0;v=E+160|0;w=E+156|0;x=E+152|0;y=E+148|0;i=E+144|0;j=E+140|0;k=E+136|0;m=E+132|0;n=E+128|0;o=E+124|0;p=E+120|0;q=E+116|0;r=E+112|0;s=E+108|0;c[t>>2]=b;c[u>>2]=e;c[g>>2]=f;c[y>>2]=0;c[i>>2]=c[c[t>>2]>>2];c[n>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[i>>2]|0)+24>>2];do if(((a[(c[i>>2]|0)+69>>0]|0)==0?(c[x>>2]=gu(c[t>>2]|0,0,(c[u>>2]|0)+8|0)|0,c[x>>2]|0):0)?(c[v>>2]=Nt(c[c[t>>2]>>2]|0,c[(c[x>>2]|0)+64>>2]|0)|0,c[w>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2],f=(c[i>>2]|0)+24|0,c[f>>2]=c[f>>2]|2097152,c[y>>2]=Kt(c[i>>2]|0,c[g>>2]|0)|0,c[y>>2]|0):0){if((mu(c[i>>2]|0,c[y>>2]|0,c[w>>2]|0)|0)==0?(Bu(c[i>>2]|0,c[y>>2]|0,c[w>>2]|0)|0)==0:0){if(hu(c[t>>2]|0,c[c[x>>2]>>2]|0)|0)break;if(jv(c[t>>2]|0,c[y>>2]|0)|0)break;b=c[t>>2]|0;if(c[(c[x>>2]|0)+12>>2]|0){c[z>>2]=c[c[x>>2]>>2];Ck(b,24635,z);break}if(Ot(b,26,c[w>>2]|0,c[c[x>>2]>>2]|0,0)|0)break;if(kv(c[t>>2]|0,c[x>>2]|0)|0)break;if(d[(c[x>>2]|0)+42>>0]&16|0?(c[o>>2]=lv(c[i>>2]|0,c[x>>2]|0)|0,(c[(c[c[(c[o>>2]|0)+8>>2]>>2]|0)+76>>2]|0)==0):0)c[o>>2]=0;c[m>>2]=Rt(c[t>>2]|0)|0;if(!(c[m>>2]|0))break;iu(c[t>>2]|0,(c[o>>2]|0)!=0&1,c[v>>2]|0);St(c[t>>2]|0,c[v>>2]|0);if(c[o>>2]|0){h=(c[t>>2]|0)+44|0;z=(c[h>>2]|0)+1|0;c[h>>2]=z;c[q>>2]=z;Vt(c[m>>2]|0,c[q>>2]|0,c[y>>2]|0)|0;_t(c[m>>2]|0,157,c[q>>2]|0,0,0,c[o>>2]|0,-10)|0;mv(c[t>>2]|0)}c[k>>2]=c[c[x>>2]>>2];c[j>>2]=zh(c[k>>2]|0,-1)|0;if(c[(c[i>>2]|0)+24>>2]&524288|0?(z=nv(c[t>>2]|0,c[x>>2]|0)|0,c[n>>2]=z,z|0):0){z=c[t>>2]|0;h=(c[v>>2]|0)==1?23323:23342;m=c[k>>2]|0;o=c[y>>2]|0;q=c[n>>2]|0;c[D>>2]=c[w>>2];c[D+4>>2]=h;c[D+8>>2]=m;c[D+12>>2]=o;c[D+16>>2]=q;Qt(z,24662,D);Hd(c[i>>2]|0,c[n>>2]|0)}D=c[t>>2]|0;f=(c[v>>2]|0)==1?23323:23342;g=c[y>>2]|0;h=c[y>>2]|0;m=c[y>>2]|0;o=c[y>>2]|0;q=c[y>>2]|0;v=c[j>>2]|0;z=c[k>>2]|0;c[A>>2]=c[w>>2];c[A+4>>2]=f;c[A+8>>2]=g;c[A+12>>2]=h;c[A+16>>2]=m;c[A+20>>2]=o;c[A+24>>2]=q;c[A+28>>2]=v;c[A+32>>2]=z;Qt(D,24731,A);if(mu(c[i>>2]|0,25115,c[w>>2]|0)|0){D=c[t>>2]|0;z=c[y>>2]|0;A=c[c[x>>2]>>2]|0;c[B>>2]=c[w>>2];c[B+4>>2]=z;c[B+8>>2]=A;Qt(D,25131,B)}D=Zu(c[t>>2]|0,c[x>>2]|0)|0;c[n>>2]=D;if(D|0){D=c[t>>2]|0;A=c[y>>2]|0;B=c[n>>2]|0;c[C>>2]=c[y>>2];c[C+4>>2]=A;c[C+8>>2]=B;Qt(D,25189,C);Hd(c[i>>2]|0,c[n>>2]|0)}a:do if(c[(c[i>>2]|0)+24>>2]&524288|0){c[r>>2]=ov(c[x>>2]|0)|0;while(1){if(!(c[r>>2]|0))break a;c[s>>2]=c[c[r>>2]>>2];if((c[s>>2]|0)!=(c[x>>2]|0))Xu(c[t>>2]|0,c[c[r>>2]>>2]|0,c[c[s>>2]>>2]|0);c[r>>2]=c[(c[r>>2]|0)+12>>2]}}while(0);Xu(c[t>>2]|0,c[x>>2]|0,c[y>>2]|0);break}D=c[t>>2]|0;c[h>>2]=c[y>>2];Ck(D,24576,h)}while(0);fk(c[i>>2]|0,c[u>>2]|0);Hd(c[i>>2]|0,c[y>>2]|0);c[(c[i>>2]|0)+24>>2]=c[p>>2];l=E;return}function Bt(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+144|0;A=E+40|0;z=E+32|0;D=E+24|0;C=E+16|0;B=E+8|0;y=E;q=E+128|0;r=E+124|0;s=E+120|0;t=E+116|0;u=E+112|0;v=E+108|0;w=E+104|0;x=E+100|0;g=E+96|0;h=E+92|0;i=E+88|0;j=E+84|0;k=E+80|0;m=E+76|0;n=E+72|0;o=E+68|0;p=E+64|0;c[q>>2]=e;c[r>>2]=f;c[j>>2]=c[(c[q>>2]|0)+8>>2];c[i>>2]=c[c[q>>2]>>2];if(c[(c[q>>2]|0)+36>>2]|0){l=E;return}if(d[(c[i>>2]|0)+69>>0]|0){l=E;return}c[s>>2]=c[(c[q>>2]|0)+440>>2];c[u>>2]=Nt(c[i>>2]|0,c[(c[s>>2]|0)+64>>2]|0)|0;c[v>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+(c[u>>2]<<4)>>2];c[w>>2]=(c[c[s>>2]>>2]|0)+16;c[g>>2]=(c[(c[s>>2]|0)+4>>2]|0)+((b[(c[s>>2]|0)+34>>1]|0)-1<<4);c[h>>2]=c[(c[g>>2]|0)+4>>2];c[t>>2]=mu(c[i>>2]|0,c[w>>2]|0,c[v>>2]|0)|0;if(Ot(c[q>>2]|0,26,c[v>>2]|0,c[c[t>>2]>>2]|0,0)|0){l=E;return}if(c[h>>2]|0?(d[c[(c[h>>2]|0)+12>>2]>>0]|0)==101:0)c[h>>2]=0;if(d[(c[g>>2]|0)+15>>0]&1|0){Ck(c[q>>2]|0,24190,y);l=E;return}if(c[(c[s>>2]|0)+8>>2]|0){Ck(c[q>>2]|0,24222,B);l=E;return}if(c[(c[i>>2]|0)+24>>2]&524288|0?(c[h>>2]|0?(c[(c[s>>2]|0)+16>>2]|0)!=0:0):0){Ck(c[q>>2]|0,24249,C);l=E;return}if(!(c[h>>2]|0?1:(d[(c[g>>2]|0)+12>>0]|0)==0)){Ck(c[q>>2]|0,24308,D);l=E;return}do if(c[h>>2]|0){c[m>>2]=0;c[n>>2]=Tu(c[i>>2]|0,c[h>>2]|0,1,65,m)|0;if(c[n>>2]|0){l=E;return}if(c[m>>2]|0){Rj(c[m>>2]|0);break}Ck(c[q>>2]|0,24361,z);l=E;return}while(0);c[x>>2]=zj(c[i>>2]|0,c[c[r>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0,0)|0;if(c[x>>2]|0){c[o>>2]=(c[x>>2]|0)+((c[(c[r>>2]|0)+4>>2]|0)-1);c[p>>2]=c[(c[i>>2]|0)+24>>2];while(1){if((c[o>>2]|0)>>>0<=(c[x>>2]|0)>>>0)break;if((a[c[o>>2]>>0]|0)!=59?(d[16965+(d[c[o>>2]>>0]|0)>>0]&1|0)==0:0)break;D=c[o>>2]|0;c[o>>2]=D+-1;a[D>>0]=0}D=(c[i>>2]|0)+24|0;c[D>>2]=c[D>>2]|2097152;D=c[q>>2]|0;r=(c[u>>2]|0)==1?23323:23342;y=c[(c[s>>2]|0)+44>>2]|0;z=c[x>>2]|0;B=(c[(c[s>>2]|0)+44>>2]|0)+1|0;C=c[w>>2]|0;c[A>>2]=c[v>>2];c[A+4>>2]=r;c[A+8>>2]=y;c[A+12>>2]=z;c[A+16>>2]=B;c[A+20>>2]=C;Qt(D,24407,A);Hd(c[i>>2]|0,c[x>>2]|0);c[(c[i>>2]|0)+24>>2]=c[p>>2]}c[k>>2]=Uu(c[q>>2]|0)|0;Xt(c[j>>2]|0,101,c[u>>2]|0,c[k>>2]|0,2)|0;cu(c[j>>2]|0,c[u>>2]|0);Wt(c[j>>2]|0,91,c[k>>2]|0,-2)|0;C=c[j>>2]|0;D=c[k>>2]|0;Wt(C,66,D,(Vu(c[j>>2]|0)|0)+2|0)|0;Xt(c[j>>2]|0,102,c[u>>2]|0,2,3)|0;Wu(c[q>>2]|0,c[k>>2]|0);Xu(c[q>>2]|0,c[t>>2]|0,c[c[t>>2]>>2]|0);l=E;return}function Ct(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;t=u+16|0;s=u+8|0;g=u;j=u+56|0;k=u+52|0;m=u+48|0;n=u+44|0;o=u+40|0;p=u+36|0;q=u+32|0;r=u+28|0;h=u+24|0;i=u+20|0;c[j>>2]=e;c[k>>2]=f;c[h>>2]=c[c[j>>2]>>2];do if((a[(c[h>>2]|0)+69>>0]|0)==0?(c[n>>2]=gu(c[j>>2]|0,0,(c[k>>2]|0)+8|0)|0,c[n>>2]|0):0){if(d[(c[n>>2]|0)+42>>0]&16|0){Ck(c[j>>2]|0,23471,g);break}e=c[j>>2]|0;if(c[(c[n>>2]|0)+12>>2]|0){Ck(e,23505,s);break}if(((0==(hu(e,c[c[n>>2]>>2]|0)|0)?(c[p>>2]=Nt(c[h>>2]|0,c[(c[n>>2]|0)+64>>2]|0)|0,c[m>>2]=jl(c[h>>2]|0,72,0)|0,c[m>>2]|0):0)?(c[(c[j>>2]|0)+440>>2]=c[m>>2],b[(c[m>>2]|0)+36>>1]=1,b[(c[m>>2]|0)+34>>1]=b[(c[n>>2]|0)+34>>1]|0,c[r>>2]=((((b[(c[m>>2]|0)+34>>1]|0)-1|0)/8|0)<<3)+8,s=jl(c[h>>2]|0,c[r>>2]<<4,0)|0,c[(c[m>>2]|0)+4>>2]=s,s=c[h>>2]|0,c[t>>2]=c[c[n>>2]>>2],t=Bj(s,23535,t)|0,c[c[m>>2]>>2]=t,c[(c[m>>2]|0)+4>>2]|0):0)?c[c[m>>2]>>2]|0:0){MR(c[(c[m>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+4>>2]|0,b[(c[m>>2]|0)+34>>1]<<4|0)|0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(b[(c[m>>2]|0)+34>>1]|0))break;c[i>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(c[q>>2]<<4);t=go(c[h>>2]|0,c[c[i>>2]>>2]|0)|0;c[c[i>>2]>>2]=t;c[(c[i>>2]|0)+8>>2]=0;c[(c[i>>2]|0)+4>>2]=0;c[q>>2]=(c[q>>2]|0)+1}c[(c[m>>2]|0)+64>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[p>>2]<<4)+12>>2];c[(c[m>>2]|0)+44>>2]=c[(c[n>>2]|0)+44>>2];b[(c[m>>2]|0)+36>>1]=1;iu(c[j>>2]|0,0,c[p>>2]|0);c[o>>2]=Rt(c[j>>2]|0)|0;if(c[o>>2]|0)St(c[j>>2]|0,c[p>>2]|0)}}while(0);fk(c[h>>2]|0,c[k>>2]|0);l=u;return}function Dt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+96|0;t=u+32|0;s=u+8|0;r=u;i=u+80|0;j=u+76|0;k=u+72|0;m=u+68|0;n=u+64|0;o=u+60|0;p=u+56|0;q=u+52|0;e=u+48|0;f=u+44|0;g=u+40|0;h=u+36|0;c[i>>2]=b;c[j>>2]=d;c[k>>2]=c[(c[i>>2]|0)+440>>2];c[m>>2]=c[c[i>>2]>>2];if(!(c[k>>2]|0)){l=u;return}Lt(c[i>>2]|0);c[(c[i>>2]|0)+452>>2]=0;if((c[(c[k>>2]|0)+48>>2]|0)<1){l=u;return}if(!(a[(c[m>>2]|0)+148+5>>0]|0)){if(c[j>>2]|0)c[(c[i>>2]|0)+384+4>>2]=(c[c[j>>2]>>2]|0)-(c[(c[i>>2]|0)+384>>2]|0)+(c[(c[j>>2]|0)+4>>2]|0);d=c[m>>2]|0;c[r>>2]=(c[i>>2]|0)+384;c[n>>2]=Bj(d,23299,r)|0;c[p>>2]=Nt(c[m>>2]|0,c[(c[k>>2]|0)+64>>2]|0)|0;r=c[i>>2]|0;d=(c[p>>2]|0)==1?23323:23342;f=c[c[k>>2]>>2]|0;g=c[c[k>>2]>>2]|0;h=c[n>>2]|0;j=c[(c[i>>2]|0)+100>>2]|0;c[s>>2]=c[(c[(c[m>>2]|0)+16>>2]|0)+(c[p>>2]<<4)>>2];c[s+4>>2]=d;c[s+8>>2]=f;c[s+12>>2]=g;c[s+16>>2]=h;c[s+20>>2]=j;Qt(r,23356,s);Hd(c[m>>2]|0,c[n>>2]|0);c[e>>2]=Rt(c[i>>2]|0)|0;St(c[i>>2]|0,c[p>>2]|0);Tt(c[e>>2]|0,150)|0;s=c[m>>2]|0;c[t>>2]=c[c[k>>2]>>2];c[o>>2]=Bj(s,23444,t)|0;Ut(c[e>>2]|0,c[p>>2]|0,c[o>>2]|0);s=(c[i>>2]|0)+44|0;t=(c[s>>2]|0)+1|0;c[s>>2]=t;c[q>>2]=t;Vt(c[e>>2]|0,c[q>>2]|0,c[c[k>>2]>>2]|0)|0;Wt(c[e>>2]|0,153,c[p>>2]|0,c[q>>2]|0)|0;l=u;return}c[g>>2]=c[(c[k>>2]|0)+64>>2];c[h>>2]=c[c[k>>2]>>2];c[f>>2]=Vj((c[g>>2]|0)+8|0,c[h>>2]|0,c[k>>2]|0)|0;if(c[f>>2]|0){yd(c[m>>2]|0);l=u;return}else{c[(c[i>>2]|0)+440>>2]=0;l=u;return}}function Et(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+32|0;m=o+28|0;r=o+24|0;q=o+20|0;n=o+16|0;p=o+12|0;i=o+8|0;j=o+4|0;k=o;c[m>>2]=b;c[r>>2]=e;c[q>>2]=f;c[n>>2]=g;c[p>>2]=h;qs(c[m>>2]|0,c[r>>2]|0,c[q>>2]|0,0,0,1,c[p>>2]|0);c[j>>2]=c[(c[m>>2]|0)+440>>2];if(!(c[j>>2]|0)){l=o;return}c[k>>2]=c[c[m>>2]>>2];c[i>>2]=Nt(c[k>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;r=(c[j>>2]|0)+42|0;a[r>>0]=d[r>>0]|0|16;c[(c[j>>2]|0)+48>>2]=0;r=c[k>>2]|0;q=c[j>>2]|0;Mt(r,q,Kt(c[k>>2]|0,c[n>>2]|0)|0);Mt(c[k>>2]|0,c[j>>2]|0,0);q=c[k>>2]|0;r=c[j>>2]|0;Mt(q,r,go(c[k>>2]|0,c[c[j>>2]>>2]|0)|0);c[(c[m>>2]|0)+384+4>>2]=(c[c[n>>2]>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)-(c[(c[m>>2]|0)+384>>2]|0);if(!(c[(c[j>>2]|0)+52>>2]|0)){l=o;return}Ot(c[m>>2]|0,29,c[c[j>>2]>>2]|0,c[c[(c[j>>2]|0)+52>>2]>>2]|0,c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2]|0)|0;l=o;return}function Ft(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Lt(c[d>>2]|0);c[(c[d>>2]|0)+452>>2]=0;c[(c[d>>2]|0)+452+4>>2]=0;l=b;return}function Gt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=(c[g>>2]|0)+452;a=c[c[d>>2]>>2]|0;if(!(c[c[e>>2]>>2]|0)){c[c[e>>2]>>2]=a;d=c[(c[d>>2]|0)+4>>2]|0;g=c[e>>2]|0;g=g+4|0;c[g>>2]=d;l=f;return}else{d=a+(c[(c[d>>2]|0)+4>>2]|0)-(c[c[e>>2]>>2]|0)|0;g=c[e>>2]|0;g=g+4|0;c[g>>2]=d;l=f;return}}function Ht(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;r=s;n=s+40|0;o=s+36|0;t=s+32|0;p=s+28|0;q=s+24|0;h=s+20|0;i=s+16|0;j=s+12|0;k=s+8|0;m=s+4|0;c[n>>2]=b;c[o>>2]=d;c[t>>2]=e;c[p>>2]=f;c[q>>2]=g;c[h>>2]=c[c[n>>2]>>2];c[j>>2]=Kt(c[c[n>>2]>>2]|0,c[t>>2]|0)|0;a:do if((c[j>>2]|0)!=0&(c[o>>2]|0)!=0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[c[o>>2]>>2]|0))break a;if(!(Ig(c[j>>2]|0,c[(c[o>>2]|0)+8+(c[k>>2]<<4)>>2]|0)|0)){t=c[n>>2]|0;c[r>>2]=c[j>>2];Ck(t,23231,r)}c[k>>2]=(c[k>>2]|0)+1}}while(0);if(c[o>>2]|0){c[m>>2]=24+(c[c[o>>2]>>2]<<4);t=c[m>>2]|0;c[i>>2]=Pd(c[h>>2]|0,c[o>>2]|0,t,((t|0)<0)<<31>>31)|0}else c[i>>2]=jl(c[h>>2]|0,24,0)|0;if(a[(c[h>>2]|0)+69>>0]|0){_j(c[h>>2]|0,c[p>>2]|0);Zj(c[h>>2]|0,c[q>>2]|0);Hd(c[h>>2]|0,c[j>>2]|0);c[i>>2]=c[o>>2];t=c[i>>2]|0;l=s;return t|0}else{c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)+8>>2]=c[q>>2];c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)+4>>2]=c[p>>2];c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)>>2]=c[j>>2];c[(c[i>>2]|0)+8+(c[c[i>>2]>>2]<<4)+12>>2]=0;t=c[i>>2]|0;c[t>>2]=(c[t>>2]|0)+1;t=c[i>>2]|0;l=s;return t|0}return 0}function It(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;i=l;l=l+16|0;k=i+4|0;j=i+8|0;h=i;c[k>>2]=f;a[j>>0]=g;c[h>>2]=b[9136+(c[k>>2]<<1)>>1];c[h>>2]=(c[h>>2]|0)+(d[j>>0]|0);l=i;return e[9786+(c[h>>2]<<1)>>1]|0}function Jt(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b+4|0;e=b;c[d>>2]=a;c[e>>2]=c[(c[d>>2]|0)+4>>2];c[(c[d>>2]|0)+4>>2]=c[e>>2];l=b;return}function Kt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;if(c[e>>2]|0){c[f>>2]=zj(c[d>>2]|0,c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+4>>2]|0,0)|0;Aj(c[f>>2]|0);f=c[f>>2]|0;l=g;return f|0}else{c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}return 0}function Lt(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[(c[b>>2]|0)+452>>2]|0)){l=g;return}if(!(c[(c[b>>2]|0)+440>>2]|0)){l=g;return}c[d>>2]=c[(c[b>>2]|0)+452>>2];c[e>>2]=c[(c[b>>2]|0)+452+4>>2];c[f>>2]=c[c[b>>2]>>2];a=c[f>>2]|0;b=c[(c[b>>2]|0)+440>>2]|0;e=c[e>>2]|0;Mt(a,b,zj(c[f>>2]|0,c[d>>2]|0,e,((e|0)<0)<<31>>31)|0);l=g;return}function Mt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;f=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[k>>2]=2+(c[(c[f>>2]|0)+48>>2]|0)<<2;d=c[k>>2]|0;c[h>>2]=Pd(c[e>>2]|0,c[(c[f>>2]|0)+52>>2]|0,d,((d|0)<0)<<31>>31)|0;if(!(c[h>>2]|0)){Hd(c[e>>2]|0,c[g>>2]|0);l=j;return}else{e=(c[f>>2]|0)+48|0;k=c[e>>2]|0;c[e>>2]=k+1;c[i>>2]=k;c[(c[h>>2]|0)+(c[i>>2]<<2)>>2]=c[g>>2];c[(c[h>>2]|0)+((c[i>>2]|0)+1<<2)>>2]=0;c[(c[f>>2]|0)+52>>2]=c[h>>2];l=j;return}}function Nt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=-1e6;if(!(c[e>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){a=6;break}if((c[(c[(c[d>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)==(c[e>>2]|0)){a=6;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==6){f=c[f>>2]|0;l=g;return f|0}return 0}function Ot(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;k=r+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=e;c[p>>2]=f;c[h>>2]=g;c[i>>2]=c[c[m>>2]>>2];if((d[(c[i>>2]|0)+148+5>>0]|0|0)==0?(d[(c[m>>2]|0)+410>>0]|0|0)==0:0){if(!(c[(c[i>>2]|0)+296>>2]|0)){c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}c[j>>2]=sb[c[(c[i>>2]|0)+296>>2]&255](c[(c[i>>2]|0)+300>>2]|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[h>>2]|0,c[(c[m>>2]|0)+448>>2]|0)|0;if((c[j>>2]|0)!=1){if((c[j>>2]|0)!=0&(c[j>>2]|0)!=2){c[j>>2]=1;Pt(c[m>>2]|0)}}else{Ck(c[m>>2]|0,23261,q);c[(c[m>>2]|0)+12>>2]=23}c[k>>2]=c[j>>2];q=c[k>>2]|0;l=r;return q|0}c[k>>2]=0;q=c[k>>2]|0;l=r;return q|0}function Pt(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b+4|0;c[d>>2]=a;Ck(c[d>>2]|0,23276,b);c[(c[d>>2]|0)+12>>2]=1;l=b;return}function Qt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+128|0;h=n+36|0;f=n+32|0;g=n+16|0;i=n+8|0;j=n+4|0;k=n;m=n+40|0;c[h>>2]=b;c[f>>2]=d;c[j>>2]=0;c[k>>2]=c[c[h>>2]>>2];if(c[(c[h>>2]|0)+36>>2]|0){l=n;return}c[g>>2]=e;c[i>>2]=Cj(c[k>>2]|0,c[f>>2]|0,g)|0;if(!(c[i>>2]|0)){l=n;return}b=(c[h>>2]|0)+18|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=m;d=(c[h>>2]|0)+400|0;f=b+80|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));b=(c[h>>2]|0)+400|0;f=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(f|0));Vr(c[h>>2]|0,c[i>>2]|0,j)|0;Hd(c[k>>2]|0,c[j>>2]|0);Hd(c[k>>2]|0,c[i>>2]|0);b=(c[h>>2]|0)+400|0;d=m;f=b+80|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));m=(c[h>>2]|0)+18|0;a[m>>0]=(a[m>>0]|0)+-1<<24>>24;l=n;return}function Rt(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];if(c[d>>2]|0){d=c[d>>2]|0;l=e;return d|0}else{d=eu(c[b>>2]|0)|0;l=e;return d|0}return 0}function St(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=l;l=l+16|0;h=d+12|0;e=d+8|0;f=d+4|0;g=d;c[h>>2]=a;c[e>>2]=b;c[f>>2]=c[c[h>>2]>>2];c[g>>2]=c[(c[h>>2]|0)+8>>2];Xt(c[g>>2]|0,102,c[e>>2]|0,1,(c[c[(c[(c[f>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)+1|0)|0;l=d;return}function Tt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Xt(c[f>>2]|0,c[e>>2]|0,0,0,0)|0;l=d;return b|0}function Ut(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+12|0;i=g+8|0;h=g+4|0;f=g;c[e>>2]=a;c[i>>2]=b;c[h>>2]=d;_t(c[e>>2]|0,136,c[i>>2]|0,0,0,c[h>>2]|0,-1)|0;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[(c[c[e>>2]>>2]|0)+20>>2]|0))break;cu(c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+1}l=g;return}function Vt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=_t(c[h>>2]|0,97,0,c[g>>2]|0,0,c[f>>2]|0,0)|0;l=e;return d|0}function Wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;j=f+12|0;i=f+8|0;h=f+4|0;g=f;c[j>>2]=a;c[i>>2]=b;c[h>>2]=d;c[g>>2]=e;e=Xt(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0,c[g>>2]|0,0)|0;l=f;return e|0}function Xt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[h>>2]=g;c[i>>2]=c[(c[m>>2]|0)+136>>2];b=c[m>>2]|0;if((c[(c[(c[m>>2]|0)+12>>2]|0)+48>>2]|0)<=(c[i>>2]|0)){c[k>>2]=Yt(b,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;p=c[k>>2]|0;l=q;return p|0}else{g=b+136|0;c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=(c[(c[m>>2]|0)+88>>2]|0)+((c[i>>2]|0)*20|0);a[c[j>>2]>>0]=c[n>>2];a[(c[j>>2]|0)+3>>0]=0;c[(c[j>>2]|0)+4>>2]=c[o>>2];c[(c[j>>2]|0)+8>>2]=c[p>>2];c[(c[j>>2]|0)+12>>2]=c[h>>2];c[(c[j>>2]|0)+16>>2]=0;a[(c[j>>2]|0)+1>>0]=0;c[k>>2]=c[i>>2];p=c[k>>2]|0;l=q;return p|0}return 0}function Yt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=f;if(Zt(c[i>>2]|0,1)|0){c[h>>2]=1;m=c[h>>2]|0;l=n;return m|0}else{c[h>>2]=Xt(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[g>>2]|0)|0;m=c[h>>2]|0;l=n;return m|0}return 0}function Zt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;d=h+16|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[h+12>>2]=b;c[f>>2]=c[(c[d>>2]|0)+12>>2];if(c[(c[f>>2]|0)+48>>2]|0)a=c[(c[f>>2]|0)+48>>2]<<1;else a=51;c[g>>2]=a;c[e>>2]=Pd(c[c[f>>2]>>2]|0,c[(c[d>>2]|0)+88>>2]|0,(c[g>>2]|0)*20|0,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;g=(g|0)!=0;g=g?0:7;l=h;return g|0}g=Md(c[c[f>>2]>>2]|0,c[e>>2]|0)|0;c[(c[f>>2]|0)+52>>2]=g;c[(c[f>>2]|0)+48>>2]=((c[(c[f>>2]|0)+52>>2]|0)>>>0)/20|0;c[(c[d>>2]|0)+88>>2]=c[e>>2];g=c[e>>2]|0;g=(g|0)!=0;g=g?0:7;l=h;return g|0}function _t(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;j=l;l=l+32|0;n=j+28|0;r=j+24|0;q=j+20|0;p=j+16|0;o=j+12|0;m=j+8|0;k=j+4|0;i=j;c[n>>2]=a;c[r>>2]=b;c[q>>2]=d;c[p>>2]=e;c[o>>2]=f;c[m>>2]=g;c[k>>2]=h;c[i>>2]=Xt(c[n>>2]|0,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[o>>2]|0)|0;$t(c[n>>2]|0,c[i>>2]|0,c[m>>2]|0,c[k>>2]|0);l=j;return c[i>>2]|0}function $t(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;i=n;c[g>>2]=b;c[h>>2]=d;c[j>>2]=e;c[k>>2]=f;c[i>>2]=c[c[g>>2]>>2];if(a[(c[i>>2]|0)+69>>0]|0){if((c[k>>2]|0)==-10){l=n;return}Nj(c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);l=n;return}if((c[h>>2]|0)<0)c[h>>2]=(c[(c[g>>2]|0)+136>>2]|0)-1;c[m>>2]=(c[(c[g>>2]|0)+88>>2]|0)+((c[h>>2]|0)*20|0);if((c[k>>2]|0)<0?(a[(c[m>>2]|0)+1>>0]|0)==0:0){b=c[j>>2]|0;if((c[k>>2]|0)==-14){c[(c[m>>2]|0)+16>>2]=b;a[(c[m>>2]|0)+1>>0]=-14;l=n;return}if(!b){l=n;return}c[(c[m>>2]|0)+16>>2]=c[j>>2];a[(c[m>>2]|0)+1>>0]=c[k>>2];if((c[k>>2]|0)!=-10){l=n;return}bu(c[j>>2]|0);l=n;return}au(c[g>>2]|0,c[m>>2]|0,c[j>>2]|0,c[k>>2]|0);l=n;return}function au(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(a[(c[h>>2]|0)+1>>0]|0){Nj(c[c[g>>2]>>2]|0,a[(c[h>>2]|0)+1>>0]|0,c[(c[h>>2]|0)+16>>2]|0);a[(c[h>>2]|0)+1>>0]=0;c[(c[h>>2]|0)+16>>2]=0}if((c[j>>2]|0)<0){$t(c[g>>2]|0,((c[h>>2]|0)-(c[(c[g>>2]|0)+88>>2]|0)|0)/20|0,c[i>>2]|0,c[j>>2]|0);l=k;return}if(!(c[j>>2]|0))c[j>>2]=_c(c[i>>2]|0)|0;j=c[j>>2]|0;j=zj(c[c[g>>2]>>2]|0,c[i>>2]|0,j,((j|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+16>>2]=j;a[(c[h>>2]|0)+1>>0]=-1;l=k;return}function bu(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=(c[d>>2]|0)+12|0;c[a>>2]=(c[a>>2]|0)+1;l=b;return}function cu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;b=(c[d>>2]|0)+148|0;c[b>>2]=c[b>>2]|1<>2];if((c[e>>2]|0)==1){l=f;return}if(!(du(c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2]|0)|0)){l=f;return}d=(c[d>>2]|0)+152|0;c[d>>2]=c[d>>2]|1<>2];l=f;return}function du(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+9>>0]|0|0}function eu(b){b=b|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[d>>2]=b;b=fu(c[d>>2]|0)|0;c[(c[d>>2]|0)+8>>2]=b;c[f>>2]=b;if(c[f>>2]|0)Wt(c[f>>2]|0,71,0,1)|0;if(c[(c[d>>2]|0)+124>>2]|0){f=c[f>>2]|0;l=g;return f|0}if((e[(c[c[d>>2]>>2]|0)+64>>1]|0)&8|0){f=c[f>>2]|0;l=g;return f|0}a[(c[d>>2]|0)+23>>0]=1;f=c[f>>2]|0;l=g;return f|0}function fu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=od(c[f>>2]|0,208,0)|0;if(!(c[g>>2]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}a=(c[g>>2]|0)+88|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[g>>2]>>2]=c[f>>2];if(c[(c[f>>2]|0)+4>>2]|0)c[(c[(c[f>>2]|0)+4>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+8>>2]=c[(c[f>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+20>>2]=381479589;c[(c[g>>2]|0)+12>>2]=c[e>>2];c[d>>2]=c[g>>2];g=c[d>>2]|0;l=h;return g|0}function gu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){c[i>>2]=Nt(c[c[e>>2]>>2]|0,c[c[g>>2]>>2]|0)|0;c[h>>2]=c[(c[(c[c[e>>2]>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2]}else c[h>>2]=c[(c[g>>2]|0)+4>>2];i=ku(c[e>>2]|0,c[f>>2]|0,c[(c[g>>2]|0)+8>>2]|0,c[h>>2]|0)|0;l=j;return i|0}function hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h;d=h+12|0;e=h+8|0;f=h+4|0;c[e>>2]=a;c[f>>2]=b;if((_c(c[f>>2]|0)|0)>6?0==(Zc(c[f>>2]|0,23554,7)|0):0){e=c[e>>2]|0;c[g>>2]=c[f>>2];Ck(e,23562,g);c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function iu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;b=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[j>>2]=b;ju(c[g>>2]|0,c[i>>2]|0);g=(c[j>>2]|0)+92|0;c[g>>2]=c[g>>2]|1<>2];j=(c[j>>2]|0)+20|0;a[j>>0]=d[j>>0]|0|c[h>>2];l=k;return}function ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;a=c[g>>2]|0;if(c[(c[g>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[e>>2]=a;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0){l=f;return}g=(c[e>>2]|0)+96|0;c[g>>2]=c[g>>2]|1<>2];if((c[d>>2]|0)!=1){l=f;return}zk(c[e>>2]|0)|0;l=f;return}function ku(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+16|0;p=r;j=r+52|0;k=r+48|0;h=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;i=r+28|0;g=r+24|0;c[k>>2]=b;c[h>>2]=d;c[m>>2]=e;c[n>>2]=f;if(lu(c[k>>2]|0)|0){c[j>>2]=0;q=c[j>>2]|0;l=r;return q|0}c[o>>2]=mu(c[c[k>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[o>>2]|0)){c[i>>2]=c[h>>2]&1|0?23590:23603;if(((yk(c[c[k>>2]>>2]|0,c[n>>2]|0)|0)<1?(c[g>>2]=nu((c[c[k>>2]>>2]|0)+320|0,c[m>>2]|0)|0,c[g>>2]|0):0)?ou(c[k>>2]|0,c[g>>2]|0)|0:0){c[j>>2]=c[(c[g>>2]|0)+16>>2];q=c[j>>2]|0;l=r;return q|0}if(!(c[h>>2]&2)){d=c[k>>2]|0;b=c[i>>2]|0;if(c[n>>2]|0){n=c[n>>2]|0;q=c[m>>2]|0;c[p>>2]=b;c[p+4>>2]=n;c[p+8>>2]=q;Ck(d,23617,p)}else{p=c[m>>2]|0;c[q>>2]=b;c[q+4>>2]=p;Ck(d,23627,q)}a[(c[k>>2]|0)+17>>0]=1}}c[j>>2]=c[o>>2];q=c[j>>2]|0;l=r;return q|0}function lu(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=0;c[f>>2]=c[c[d>>2]>>2];if(!(a[(c[f>>2]|0)+148+5>>0]|0))c[e>>2]=ru(c[f>>2]|0,(c[d>>2]|0)+4|0)|0;if(!(c[e>>2]|0)){f=c[e>>2]|0;l=g;return f|0}c[(c[d>>2]|0)+12>>2]=c[e>>2];f=(c[d>>2]|0)+36|0;c[f>>2]=(c[f>>2]|0)+1;f=c[e>>2]|0;l=g;return f|0}function mu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){k=7;break}d=c[i>>2]|0;c[j>>2]=(c[i>>2]|0)<2?d^1:d;if(!((c[g>>2]|0)!=0?(Ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))k=5;if((k|0)==5?(k=0,c[h>>2]=nu((c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+8|0,c[f>>2]|0)|0,c[h>>2]|0):0){k=7;break}c[i>>2]=(c[i>>2]|0)+1}if((k|0)==7){l=m;return c[h>>2]|0}return 0}function nu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+12|0;f=e+8|0;d=e+4|0;c[g>>2]=a;c[f>>2]=b;c[d>>2]=kk(c[g>>2]|0,c[f>>2]|0,e)|0;if(!(c[d>>2]|0)){g=0;l=e;return g|0}g=c[(c[d>>2]|0)+8>>2]|0;l=e;return g|0}function ou(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q;g=q+32|0;h=q+28|0;i=q+24|0;j=q+20|0;k=q+16|0;m=q+12|0;n=q+8|0;o=q+4|0;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[i>>2]>>2];c[m>>2]=0;c[o>>2]=c[c[h>>2]>>2];if(c[(c[i>>2]|0)+16>>2]|0){c[g>>2]=1;p=c[g>>2]|0;l=q;return p|0}if(c[(c[j>>2]|0)+4>>2]|0?(c[(c[j>>2]|0)+4>>2]|0)!=(c[(c[j>>2]|0)+8>>2]|0):0){c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}c[k>>2]=jl(c[o>>2]|0,72,0)|0;if(!(c[k>>2]|0)){c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}f=go(c[o>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0;c[c[k>>2]>>2]=f;if(!(c[c[k>>2]>>2]|0)){Hd(c[o>>2]|0,c[k>>2]|0);c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}c[(c[i>>2]|0)+16>>2]=c[k>>2];b[(c[k>>2]|0)+36>>1]=1;c[(c[k>>2]|0)+64>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+12>>2];f=(c[k>>2]|0)+42|0;a[f>>0]=d[f>>0]|0|16;c[(c[k>>2]|0)+48>>2]=0;b[(c[k>>2]|0)+32>>1]=-1;f=c[o>>2]|0;e=c[k>>2]|0;Mt(f,e,go(c[o>>2]|0,c[c[k>>2]>>2]|0)|0);Mt(c[o>>2]|0,c[k>>2]|0,0);e=c[o>>2]|0;f=c[k>>2]|0;Mt(e,f,go(c[o>>2]|0,c[c[k>>2]>>2]|0)|0);c[n>>2]=pu(c[o>>2]|0,c[k>>2]|0,c[i>>2]|0,c[(c[j>>2]|0)+8>>2]|0,m)|0;if(c[n>>2]|0){n=c[h>>2]|0;c[p>>2]=c[m>>2];Ck(n,18130,p);Hd(c[o>>2]|0,c[m>>2]|0);Hq(c[o>>2]|0,c[i>>2]|0);c[g>>2]=0;p=c[g>>2]|0;l=q;return p|0}else{c[g>>2]=1;p=c[g>>2]|0;l=q;return p|0}return 0}function pu(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+144|0;v=N+32|0;I=N+24|0;H=N+16|0;m=N+8|0;k=N;L=N+132|0;M=N+128|0;G=N+124|0;t=N+120|0;u=N+116|0;w=N+112|0;o=N+96|0;x=N+92|0;J=N+88|0;p=N+84|0;q=N+80|0;y=N+76|0;K=N+72|0;r=N+68|0;j=N+64|0;s=N+60|0;z=N+56|0;A=N+136|0;B=N+52|0;C=N+48|0;D=N+44|0;E=N+40|0;F=N+36|0;c[M>>2]=e;c[G>>2]=f;c[t>>2]=g;c[u>>2]=h;c[w>>2]=i;c[p>>2]=c[(c[G>>2]|0)+52>>2];c[q>>2]=c[(c[G>>2]|0)+48>>2];c[y>>2]=0;c[j>>2]=c[(c[M>>2]|0)+336>>2];while(1){if(!(c[j>>2]|0))break;if((c[(c[j>>2]|0)+4>>2]|0)==(c[G>>2]|0)){n=4;break}c[j>>2]=c[(c[j>>2]|0)+8>>2]}if((n|0)==4){M=c[M>>2]|0;c[k>>2]=c[c[G>>2]>>2];M=Bj(M,23634,k)|0;c[c[w>>2]>>2]=M;c[L>>2]=6;M=c[L>>2]|0;l=N;return M|0}n=c[M>>2]|0;c[m>>2]=c[c[G>>2]>>2];c[K>>2]=Bj(n,18130,m)|0;if(!(c[K>>2]|0)){c[L>>2]=7;M=c[L>>2]|0;l=N;return M|0}c[x>>2]=jl(c[M>>2]|0,28,0)|0;e=c[M>>2]|0;if(!(c[x>>2]|0)){Hd(e,c[K>>2]|0);c[L>>2]=7;M=c[L>>2]|0;l=N;return M|0}c[c[x>>2]>>2]=e;c[(c[x>>2]|0)+4>>2]=c[t>>2];c[r>>2]=Nt(c[M>>2]|0,c[(c[G>>2]|0)+64>>2]|0)|0;c[(c[(c[G>>2]|0)+52>>2]|0)+4>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[r>>2]<<4)>>2];c[o+4>>2]=c[G>>2];c[o>>2]=c[x>>2];c[o+8>>2]=c[(c[M>>2]|0)+336>>2];c[o+12>>2]=0;c[(c[M>>2]|0)+336>>2]=o;c[J>>2]=sb[c[u>>2]&255](c[M>>2]|0,c[(c[t>>2]|0)+8>>2]|0,c[q>>2]|0,c[p>>2]|0,(c[x>>2]|0)+8|0,y)|0;c[(c[M>>2]|0)+336>>2]=c[o+8>>2];if((c[J>>2]|0)==7)yd(c[M>>2]|0);a:do if(!(c[J>>2]|0)){if(c[(c[x>>2]|0)+8>>2]|0){I=c[(c[x>>2]|0)+8>>2]|0;c[I>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;c[c[(c[x>>2]|0)+8>>2]>>2]=c[c[t>>2]>>2];c[(c[x>>2]|0)+12>>2]=1;if(!(c[o+12>>2]|0)){c[s>>2]=23706;H=c[M>>2]|0;I=c[s>>2]|0;c[v>>2]=c[c[G>>2]>>2];I=Bj(H,I,v)|0;c[c[w>>2]>>2]=I;Tj(c[x>>2]|0);c[J>>2]=1;break}a[A>>0]=0;c[(c[x>>2]|0)+24>>2]=c[(c[G>>2]|0)+56>>2];c[(c[G>>2]|0)+56>>2]=c[x>>2];c[z>>2]=0;while(1){if((c[z>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break a;c[B>>2]=qu((c[(c[G>>2]|0)+4>>2]|0)+(c[z>>2]<<4)|0,47636)|0;c[D>>2]=0;c[C>>2]=_c(c[B>>2]|0)|0;c[D>>2]=0;b:while(1){if((c[D>>2]|0)>=(c[C>>2]|0))break;do if(!(Zc(23752,(c[B>>2]|0)+(c[D>>2]|0)|0,6)|0)){if(c[D>>2]|0?(a[(c[B>>2]|0)+((c[D>>2]|0)-1)>>0]|0)!=32:0)break;if(!(a[(c[B>>2]|0)+((c[D>>2]|0)+6)>>0]|0))break b;if((a[(c[B>>2]|0)+((c[D>>2]|0)+6)>>0]|0)==32)break b}while(0);c[D>>2]=(c[D>>2]|0)+1}if((c[D>>2]|0)<(c[C>>2]|0)){c[F>>2]=6+(a[(c[B>>2]|0)+((c[D>>2]|0)+6)>>0]|0?1:0);c[E>>2]=c[D>>2];while(1){e=c[B>>2]|0;if(((c[E>>2]|0)+(c[F>>2]|0)|0)>(c[C>>2]|0))break;a[(c[B>>2]|0)+(c[E>>2]|0)>>0]=a[e+((c[E>>2]|0)+(c[F>>2]|0))>>0]|0;c[E>>2]=(c[E>>2]|0)+1}if((c[D>>2]|0)>0?(a[e+(c[D>>2]|0)>>0]|0)==0:0)a[(c[B>>2]|0)+((c[D>>2]|0)-1)>>0]=0;I=(c[(c[G>>2]|0)+4>>2]|0)+(c[z>>2]<<4)+15|0;a[I>>0]=d[I>>0]|2;a[A>>0]=-128}else{I=(c[G>>2]|0)+42|0;a[I>>0]=d[I>>0]|d[A>>0]}c[z>>2]=(c[z>>2]|0)+1}}}else{e=c[M>>2]|0;if(!(c[y>>2]|0)){c[H>>2]=c[K>>2];I=Bj(e,23676,H)|0;c[c[w>>2]>>2]=I}else{c[I>>2]=c[y>>2];I=Bj(e,18130,I)|0;c[c[w>>2]>>2]=I;Kd(c[y>>2]|0)}Hd(c[M>>2]|0,c[x>>2]|0)}while(0);Hd(c[M>>2]|0,c[K>>2]|0);c[L>>2]=c[J>>2];M=c[L>>2]|0;l=N;return M|0}function qu(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;if(!((d[(c[f>>2]|0)+15>>0]|0)&4)){c[e>>2]=c[g>>2];g=c[e>>2]|0;l=h;return g|0}else{g=c[c[f>>2]>>2]|0;c[e>>2]=g+(lQ(c[c[f>>2]>>2]|0)|0)+1;g=c[e>>2]|0;l=h;return g|0}return 0}function ru(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[j>>2]=((c[(c[f>>2]|0)+24>>2]&2|0)!=0^1)&1;c[i>>2]=0;a[(c[f>>2]|0)+148+5>>0]=1;a[(c[f>>2]|0)+66>>0]=a[(c[(c[(c[f>>2]|0)+16>>2]|0)+12>>2]|0)+77>>0]|0;c[h>>2]=0;while(1){if(c[i>>2]|0)break;if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if(!((c[h>>2]|0)==1?1:((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+78>>1]|0)&1|0)==1)?(c[i>>2]=su(c[f>>2]|0,c[h>>2]|0,c[g>>2]|0)|0,c[i>>2]|0):0)$r(c[f>>2]|0,c[h>>2]|0);c[h>>2]=(c[h>>2]|0)+1}if(((c[i>>2]|0)==0?((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+16+12>>2]|0)+78>>1]|0)&1|0)!=1:0)?(c[i>>2]=su(c[f>>2]|0,1,c[g>>2]|0)|0,c[i>>2]|0):0)$r(c[f>>2]|0,1);a[(c[f>>2]|0)+148+5>>0]=0;if(!((c[i>>2]|0)==0&(c[j>>2]|0)!=0)){j=c[i>>2]|0;l=k;return j|0}er(c[f>>2]|0);j=c[i>>2]|0;l=k;return j|0}function su(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+128|0;z=A;t=A+108|0;u=A+104|0;v=A+100|0;w=A+96|0;x=A+92|0;i=A+88|0;y=A+84|0;k=A+80|0;B=A+64|0;m=A+40|0;n=A+24|0;o=A+20|0;p=A+16|0;q=A+112|0;r=A+12|0;s=A+8|0;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[p>>2]=0;h=(c[v>>2]|0)==1?23323:23342;c[o>>2]=h;c[B>>2]=h;c[B+4>>2]=23759;c[B+8>>2]=23761;c[B+12>>2]=0;c[n>>2]=c[u>>2];c[n+8>>2]=c[v>>2];c[n+12>>2]=0;c[n+4>>2]=c[w>>2];tu(n,3,B,0)|0;if(!(c[n+12>>2]|0)){c[k>>2]=(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4);if(!(c[(c[k>>2]|0)+4>>2]|0)){if((c[v>>2]|0)==1){B=(c[(c[(c[u>>2]|0)+16>>2]|0)+16+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1}c[t>>2]=0;B=c[t>>2]|0;l=A;return B|0}Ek(c[(c[k>>2]|0)+4>>2]|0);do if(!(xk(c[(c[k>>2]|0)+4>>2]|0)|0)){c[x>>2]=Ro(c[(c[k>>2]|0)+4>>2]|0,0)|0;if(c[x>>2]|0){z=c[w>>2]|0;B=c[u>>2]|0;uu(z,B,Ci(c[x>>2]|0)|0);break}else{c[p>>2]=1;j=11;break}}else j=11;while(0);a:do if((j|0)==11){c[i>>2]=0;while(1){if((c[i>>2]|0)>=5)break;To(c[(c[k>>2]|0)+4>>2]|0,(c[i>>2]|0)+1|0,m+(c[i>>2]<<2)|0);c[i>>2]=(c[i>>2]|0)+1}c[c[(c[k>>2]|0)+12>>2]>>2]=c[m>>2];do if(c[m+16>>2]|0){f=c[m+16>>2]|0;if(!(c[v>>2]|0)){B=f&3;a[q>>0]=B;a[q>>0]=(d[q>>0]|0)==0?1:B;a[(c[u>>2]|0)+66>>0]=a[q>>0]|0;break}if((f|0)!=(d[(c[u>>2]|0)+66>>0]|0)){uu(c[w>>2]|0,c[u>>2]|0,23837);c[x>>2]=1;break a}}else{B=(c[(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|4}while(0);a[(c[(c[k>>2]|0)+12>>2]|0)+77>>0]=a[(c[u>>2]|0)+66>>0]|0;if(!(c[(c[(c[k>>2]|0)+12>>2]|0)+80>>2]|0)){B=Ap(c[m+8>>2]|0)|0;c[y>>2]=B;c[y>>2]=(c[y>>2]|0)==0?-2e3:B;c[(c[(c[k>>2]|0)+12>>2]|0)+80>>2]=c[y>>2];vu(c[(c[k>>2]|0)+4>>2]|0,c[(c[(c[k>>2]|0)+12>>2]|0)+80>>2]|0)|0}a[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]=c[m+4>>2];if(!(d[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]|0))a[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]=1;if((d[(c[(c[k>>2]|0)+12>>2]|0)+76>>0]|0)>4){uu(c[w>>2]|0,c[u>>2]|0,23905);c[x>>2]=1;break}if((c[v>>2]|0)==0?(c[m+4>>2]|0)>=4:0){B=(c[u>>2]|0)+24|0;c[B>>2]=c[B>>2]&-32769}B=c[u>>2]|0;y=c[o>>2]|0;c[z>>2]=c[(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4)>>2];c[z+4>>2]=y;c[r>>2]=Bj(B,23929,z)|0;c[s>>2]=c[(c[u>>2]|0)+296>>2];c[(c[u>>2]|0)+296>>2]=0;c[x>>2]=wu(c[u>>2]|0,c[r>>2]|0,139,n,0)|0;c[(c[u>>2]|0)+296>>2]=c[s>>2];if(!(c[x>>2]|0))c[x>>2]=c[n+12>>2];Hd(c[u>>2]|0,c[r>>2]|0);if(!(c[x>>2]|0))xu(c[u>>2]|0,c[v>>2]|0)|0;if(a[(c[u>>2]|0)+69>>0]|0){c[x>>2]=7;Yo(c[u>>2]|0)}if(c[x>>2]|0?(c[(c[u>>2]|0)+24>>2]&65536|0)==0:0)break;B=(c[(c[(c[u>>2]|0)+16>>2]|0)+(c[v>>2]<<4)+12>>2]|0)+78|0;b[B>>1]=e[B>>1]|1;c[x>>2]=0}while(0);if(c[p>>2]|0)as(c[(c[k>>2]|0)+4>>2]|0)|0}else c[x>>2]=c[n+12>>2];if((c[x>>2]|0)==7|(c[x>>2]|0)==3082)yd(c[u>>2]|0);c[t>>2]=c[x>>2];B=c[t>>2]|0;l=A;return B|0}function tu(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;p=s+40|0;t=s+36|0;q=s+28|0;r=s+20|0;i=s+16|0;j=s+12|0;k=s+8|0;m=s+44|0;n=s+4|0;o=s;c[t>>2]=d;c[s+32>>2]=f;c[q>>2]=g;c[s+24>>2]=h;c[r>>2]=c[t>>2];c[i>>2]=c[c[r>>2]>>2];c[j>>2]=c[(c[r>>2]|0)+8>>2];h=(c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2]|0)+78|0;b[h>>1]=e[h>>1]&-5;if(a[(c[i>>2]|0)+69>>0]|0){Ru(c[r>>2]|0,c[c[q>>2]>>2]|0,0);c[p>>2]=1;t=c[p>>2]|0;l=s;return t|0}if(!(c[q>>2]|0)){c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}a:do if(!(c[(c[q>>2]|0)+4>>2]|0))Ru(c[r>>2]|0,c[c[q>>2]>>2]|0,0);else{if(Zc(c[(c[q>>2]|0)+8>>2]|0,24124,7)|0){do if(c[c[q>>2]>>2]|0){if(c[(c[q>>2]|0)+8>>2]|0?a[c[(c[q>>2]|0)+8>>2]>>0]|0:0)break;c[o>>2]=Bu(c[i>>2]|0,c[c[q>>2]>>2]|0,c[(c[(c[i>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0;if(!(c[o>>2]|0))break a;if(Nf(c[(c[q>>2]|0)+4>>2]|0,(c[o>>2]|0)+44|0)|0)break a;Ru(c[r>>2]|0,c[c[q>>2]>>2]|0,24132);break a}while(0);Ru(c[r>>2]|0,c[c[q>>2]>>2]|0,0);break}a[m>>0]=a[(c[i>>2]|0)+148+4>>0]|0;a[(c[i>>2]|0)+148+4>>0]=c[j>>2];t=Mf(c[(c[q>>2]|0)+4>>2]|0)|0;c[(c[i>>2]|0)+148>>2]=t;a[(c[i>>2]|0)+148+6>>0]=0;Su(c[i>>2]|0,c[(c[q>>2]|0)+8>>2]|0,-1,n,0)|0;c[k>>2]=c[(c[i>>2]|0)+52>>2];a[(c[i>>2]|0)+148+4>>0]=a[m>>0]|0;do if(0!=(c[k>>2]|0)?(a[(c[i>>2]|0)+148+6>>0]|0)==0:0){c[(c[r>>2]|0)+12>>2]=c[k>>2];if((c[k>>2]|0)==7){yd(c[i>>2]|0);break}if((c[k>>2]|0)!=9?(c[k>>2]&255|0)!=6:0){r=c[r>>2]|0;t=c[c[q>>2]>>2]|0;Ru(r,t,Ku(c[i>>2]|0)|0)}}while(0);Qq(c[n>>2]|0)|0}while(0);c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}function uu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;Hd(c[h>>2]|0,c[c[f>>2]>>2]|0);d=go(c[h>>2]|0,c[g>>2]|0)|0;c[c[f>>2]>>2]=d;l=e;return}function vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;e=d+4|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[g>>2]|0)+4>>2];Ek(c[g>>2]|0);hl(c[c[f>>2]>>2]|0,c[e>>2]|0);l=d;return 0}function wu(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+64|0;t=z+56|0;u=z+52|0;v=z+48|0;w=z+44|0;x=z+40|0;i=z+36|0;j=z+32|0;k=z+28|0;m=z+24|0;n=z+20|0;o=z+16|0;p=z+12|0;q=z+8|0;r=z+4|0;s=z;c[u>>2]=b;c[v>>2]=e;c[w>>2]=f;c[x>>2]=g;c[i>>2]=h;c[j>>2]=0;c[m>>2]=0;c[n>>2]=0;if(!(Sr(c[u>>2]|0)|0)){c[t>>2]=cd(109597)|0;y=c[t>>2]|0;l=z;return y|0}if(!(c[v>>2]|0))c[v>>2]=47636;wk(c[u>>2]|0,0);a:while(1){if(c[j>>2]|0)break;if(!(a[c[v>>2]>>0]|0))break;c[q>>2]=0;c[m>>2]=0;c[j>>2]=Fu(c[u>>2]|0,c[v>>2]|0,-1,m,k)|0;if(c[j>>2]|0)continue;if(!(c[m>>2]|0)){c[v>>2]=c[k>>2];continue}c[o>>2]=0;c[p>>2]=Gu(c[m>>2]|0)|0;do{c[j>>2]=Hr(c[m>>2]|0)|0;do if(c[w>>2]|0){if(100!=(c[j>>2]|0)){if(101!=(c[j>>2]|0)|(c[o>>2]|0)!=0)break;if(!(c[(c[u>>2]|0)+24>>2]&256))break}if(!(c[o>>2]|0)){c[n>>2]=jl(c[u>>2]|0,(c[p>>2]<<1<<2)+1|0,0)|0;if(!(c[n>>2]|0))break a;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break;h=Hu(c[m>>2]|0,c[r>>2]|0)|0;c[(c[n>>2]|0)+(c[r>>2]<<2)>>2]=h;c[r>>2]=(c[r>>2]|0)+1}c[o>>2]=1}b:do if((c[j>>2]|0)==100){c[q>>2]=(c[n>>2]|0)+(c[p>>2]<<2);c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[p>>2]|0))break b;h=Iu(c[m>>2]|0,c[r>>2]|0)|0;c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]=h;if((c[(c[q>>2]|0)+(c[r>>2]<<2)>>2]|0)==0?(Ju(c[m>>2]|0,c[r>>2]|0)|0)!=5:0){y=27;break a}c[r>>2]=(c[r>>2]|0)+1}}while(0);if(wb[c[w>>2]&255](c[x>>2]|0,c[p>>2]|0,c[q>>2]|0,c[n>>2]|0)|0){y=30;break a}}while(0)}while((c[j>>2]|0)==100);c[j>>2]=Tq(c[m>>2]|0)|0;c[m>>2]=0;c[v>>2]=c[k>>2];while(1){if(!(d[16965+(d[c[v>>2]>>0]|0)>>0]&1))break;c[v>>2]=(c[v>>2]|0)+1}Hd(c[u>>2]|0,c[n>>2]|0);c[n>>2]=0}if((y|0)==27)yd(c[u>>2]|0);else if((y|0)==30){c[j>>2]=4;Tq(c[m>>2]|0)|0;c[m>>2]=0;wk(c[u>>2]|0,4)}if(c[m>>2]|0)Tq(c[m>>2]|0)|0;Hd(c[u>>2]|0,c[n>>2]|0);c[j>>2]=Uq(c[u>>2]|0,c[j>>2]|0)|0;do if((c[j>>2]|0)!=0&(c[i>>2]|0)!=0){c[s>>2]=1+(_c(Ku(c[u>>2]|0)|0)|0);y=c[s>>2]|0;y=pd(y,((y|0)<0)<<31>>31)|0;c[c[i>>2]>>2]=y;if(c[c[i>>2]>>2]|0){x=c[c[i>>2]>>2]|0;y=Ku(c[u>>2]|0)|0;MR(x|0,y|0,c[s>>2]|0)|0;break}else{c[j>>2]=7;wk(c[u>>2]|0,7);break}}else if(c[i>>2]|0)c[c[i>>2]>>2]=0;while(0);c[t>>2]=c[j>>2];y=c[t>>2]|0;l=z;return y|0}function xu(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;e=o+36|0;f=o+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;c[e>>2]=a;c[f>>2]=d;c[j>>2]=0;c[h>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[h>>2]|0))break;c[k>>2]=c[(c[h>>2]|0)+8>>2];b[c[(c[k>>2]|0)+8>>2]>>1]=0;c[h>>2]=c[c[h>>2]>>2]}c[g>>2]=c[e>>2];c[g+4>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];do if(mu(c[e>>2]|0,23984,c[g+4>>2]|0)|0){k=c[e>>2]|0;c[n>>2]=c[g+4>>2];c[i>>2]=Bj(k,23997,n)|0;if(!(c[i>>2]|0)){c[j>>2]=7;break}else{c[j>>2]=wu(c[e>>2]|0,c[i>>2]|0,140,g,0)|0;Hd(c[e>>2]|0,c[i>>2]|0);break}}while(0);c[h>>2]=c[(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)+12>>2]|0)+24+8>>2];while(1){if(!(c[h>>2]|0))break;c[m>>2]=c[(c[h>>2]|0)+8>>2];if(!(b[c[(c[m>>2]|0)+8>>2]>>1]|0))zu(c[m>>2]|0);c[h>>2]=c[c[h>>2]>>2]}if((c[j>>2]|0)!=7){n=c[j>>2]|0;l=o;return n|0}yd(c[e>>2]|0);n=c[j>>2]|0;l=o;return n|0}function yu(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+112|0;p=s+96|0;t=s+92|0;q=s+84|0;r=s+76|0;i=s+72|0;j=s+68|0;k=s+64|0;m=s+60|0;n=s+56|0;o=s;c[t>>2]=d;c[s+88>>2]=f;c[q>>2]=g;c[s+80>>2]=h;c[r>>2]=c[t>>2];if((c[q>>2]|0?c[c[q>>2]>>2]|0:0)?c[(c[q>>2]|0)+8>>2]|0:0){c[j>>2]=mu(c[c[r>>2]>>2]|0,c[c[q>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0;if(!(c[j>>2]|0)){c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}do if(c[(c[q>>2]|0)+4>>2]|0)if(!(uk(c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0)){c[i>>2]=Au(c[j>>2]|0)|0;break}else{c[i>>2]=Bu(c[c[r>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0,c[(c[r>>2]|0)+4>>2]|0)|0;break}else c[i>>2]=0;while(0);c[k>>2]=c[(c[q>>2]|0)+8>>2];if(c[i>>2]|0){c[m>>2]=0;c[n>>2]=(e[(c[i>>2]|0)+50>>1]|0)+1;t=(c[i>>2]|0)+55|0;a[t>>0]=a[t>>0]&-5;Cu(c[k>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[i>>2]|0)+8>>2]|0,c[i>>2]|0);if(!(c[(c[i>>2]|0)+36>>2]|0))b[(c[j>>2]|0)+38>>1]=b[c[(c[i>>2]|0)+8>>2]>>1]|0}else{b[o+48>>1]=b[(c[j>>2]|0)+40>>1]|0;Cu(c[k>>2]|0,1,0,(c[j>>2]|0)+38|0,o);b[(c[j>>2]|0)+40>>1]=b[o+48>>1]|0}c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}function zu(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+16|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;b[g>>1]=b[6460]|0;b[g+2>>1]=b[6461]|0;b[g+4>>1]=b[6462]|0;b[g+6>>1]=b[6463]|0;b[g+8>>1]=b[6464]|0;c[h>>2]=c[(c[f>>2]|0)+8>>2];if(5<(e[(c[f>>2]|0)+50>>1]|0))a=5;else a=e[(c[f>>2]|0)+50>>1]|0;c[i>>2]=a;b[c[h>>2]>>1]=b[(c[(c[f>>2]|0)+12>>2]|0)+38>>1]|0;if(c[(c[f>>2]|0)+36>>2]|0){a=c[h>>2]|0;b[a>>1]=(b[a>>1]|0)-10}if((b[c[h>>2]>>1]|0)<33)b[c[h>>2]>>1]=33;MR((c[h>>2]|0)+2|0,g|0,c[i>>2]<<1|0)|0;c[j>>2]=(c[i>>2]|0)+1;while(1){if((c[j>>2]|0)>(e[(c[f>>2]|0)+50>>1]|0))break;b[(c[h>>2]|0)+(c[j>>2]<<1)>>1]=23;c[j>>2]=(c[j>>2]|0)+1}if(!(d[(c[f>>2]|0)+54>>0]|0)){l=k;return}b[(c[h>>2]|0)+(e[(c[f>>2]|0)+50>>1]<<1)>>1]=0;l=k;return}function Au(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;c[d>>2]=c[(c[f>>2]|0)+8>>2];while(1){if(!(c[d>>2]|0)){b=5;break}if(!((a[(c[d>>2]|0)+55>>0]&3|0)==2^1)){b=5;break}c[d>>2]=c[(c[d>>2]|0)+20>>2]}if((b|0)==5){l=e;return c[d>>2]|0}return 0}function Bu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[e>>2]|0)+20>>2]|0)){m=7;break}d=c[i>>2]|0;c[j>>2]=(c[i>>2]|0)<2?d^1:d;c[k>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)+12>>2];if(!(c[g>>2]|0?(Ig(c[g>>2]|0,c[(c[(c[e>>2]|0)+16>>2]|0)+(c[j>>2]<<4)>>2]|0)|0)!=0:0))m=5;if((m|0)==5?(m=0,c[h>>2]=nu((c[k>>2]|0)+24|0,c[f>>2]|0)|0,c[h>>2]|0):0){m=7;break}c[i>>2]=(c[i>>2]|0)+1}if((m|0)==7){l=n;return c[h>>2]|0}return 0}function Cu(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+32|0;m=q+28|0;n=q+20|0;p=q+16|0;o=q+12|0;i=q+8|0;j=q+4|0;k=q;c[r>>2]=d;c[m>>2]=e;c[q+24>>2]=f;c[n>>2]=g;c[p>>2]=h;c[o>>2]=c[r>>2];c[j>>2]=0;while(1){if(!(a[c[o>>2]>>0]|0))break;if((c[j>>2]|0)>=(c[m>>2]|0))break;c[k>>2]=0;while(1){r=a[c[o>>2]>>0]|0;c[i>>2]=r;if(!((r|0)>=48?(c[i>>2]|0)<=57:0))break;c[k>>2]=((c[k>>2]|0)*10|0)+(c[i>>2]|0)-48;c[o>>2]=(c[o>>2]|0)+1}r=Du(c[k>>2]|0,0)|0;b[(c[n>>2]|0)+(c[j>>2]<<1)>>1]=r;if((a[c[o>>2]>>0]|0)==32)c[o>>2]=(c[o>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5;r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65;a:while(1){if(!(a[c[o>>2]>>0]|0))break;do if(Eu(24038,c[o>>2]|0)|0){r=(Eu(24049,c[o>>2]|0)|0)==0;d=c[o>>2]|0;if(r){r=Mf(d+3|0)|0;r=Du(r,((r|0)<0)<<31>>31)|0;b[(c[p>>2]|0)+48>>1]=r;break}if(!(Eu(24059,d)|0)){r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-65|64}}else{r=(c[p>>2]|0)+55|0;a[r>>0]=a[r>>0]&-5|4}while(0);while(1){if(!(a[c[o>>2]>>0]|0))break;if((a[c[o>>2]>>0]|0)==32)break;c[o>>2]=(c[o>>2]|0)+1}while(1){if((a[c[o>>2]>>0]|0)!=32)continue a;c[o>>2]=(c[o>>2]|0)+1}}l=q;return}function Du(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+10|0;f=h;g=h+8|0;i=f;c[i>>2]=a;c[i+4>>2]=d;b[g>>1]=40;d=f;a=c[d+4>>2]|0;a:do if(a>>>0<0|(a|0)==0&(c[d>>2]|0)>>>0<8){i=f;d=c[i+4>>2]|0;if(d>>>0<0|(d|0)==0&(c[i>>2]|0)>>>0<2){b[e>>1]=0;i=b[e>>1]|0;l=h;return i|0}else while(1){i=f;d=c[i+4>>2]|0;if(!(d>>>0<0|(d|0)==0&(c[i>>2]|0)>>>0<8))break a;b[g>>1]=(b[g>>1]|0)-10;d=f;d=HR(c[d>>2]|0,c[d+4>>2]|0,1)|0;i=f;c[i>>2]=d;c[i+4>>2]=z}}else{while(1){i=f;d=c[i+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[i>>2]|0)>>>0>255))break;b[g>>1]=(b[g>>1]|0)+40;d=f;d=OR(c[d>>2]|0,c[d+4>>2]|0,4)|0;i=f;c[i>>2]=d;c[i+4>>2]=z}while(1){i=f;d=c[i+4>>2]|0;if(!(d>>>0>0|(d|0)==0&(c[i>>2]|0)>>>0>15))break a;b[g>>1]=(b[g>>1]|0)+10;d=f;d=OR(c[d>>2]|0,c[d+4>>2]|0,1)|0;i=f;c[i>>2]=d;c[i+4>>2]=z}}while(0);b[e>>1]=(b[12930+((c[f>>2]&7)<<1)>>1]|0)+(b[g>>1]|0)-10;i=b[e>>1]|0;l=h;return i|0}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=(Bh(c[f>>2]|0,c[e>>2]|0,18912,91)|0)==0&1;l=d;return b|0}function Fu(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[g>>2]=Nr(c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,1,0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return c[g>>2]|0}function Gu(a){a=a|0;var b=0,d=0,f=0;d=l;l=l+16|0;f=d+4|0;b=d;c[f>>2]=a;c[b>>2]=c[f>>2];if(!(c[b>>2]|0)){f=0;l=d;return f|0}f=e[(c[b>>2]|0)+140>>1]|0;l=d;return f|0}function Hu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Qu(c[f>>2]|0,c[e>>2]|0,171,0)|0;l=d;return b|0}function Iu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=wh(Nu(c[f>>2]|0,c[g>>2]|0)|0)|0;Ou(c[f>>2]|0);l=e;return c[d>>2]|0}function Ju(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;d=e;c[f>>2]=a;c[g>>2]=b;c[d>>2]=fi(Nu(c[f>>2]|0,c[g>>2]|0)|0)|0;Ou(c[f>>2]|0);l=e;return c[d>>2]|0}function Ku(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=b;if(!(c[e>>2]|0)){c[d>>2]=Ci(7)|0;f=c[d>>2]|0;l=g;return f|0}if(!(Lu(c[e>>2]|0)|0)){c[d>>2]=Ci(cd(140046)|0)|0;f=c[d>>2]|0;l=g;return f|0}if(!(a[(c[e>>2]|0)+69>>0]|0)){c[f>>2]=wh(c[(c[e>>2]|0)+244>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=Ci(c[(c[e>>2]|0)+52>>2]|0)|0}else c[f>>2]=Ci(7)|0;c[d>>2]=c[f>>2];f=c[d>>2]|0;l=g;return f|0}function Lu(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;b=d+8|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=c[(c[f>>2]|0)+84>>2];if((c[e>>2]|0)!=1266094736&(c[e>>2]|0)!=-1607883113&(c[e>>2]|0)!=-264537850){Mu(24071);c[b>>2]=0;f=c[b>>2]|0;l=d;return f|0}else{c[b>>2]=1;f=c[b>>2]|0;l=d;return f|0}return 0}function Mu(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;d=b;e=b+4|0;c[e>>2]=a;c[d>>2]=c[e>>2];hd(21,24079,d);l=b;return}function Nu(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;d=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[f>>2]=b;c[g>>2]=c[j>>2];if(!(c[g>>2]|0)){c[d>>2]=Pu()|0;j=c[d>>2]|0;l=i;return j|0}if(c[(c[g>>2]|0)+104>>2]|0?((c[f>>2]|0)>=0?(c[f>>2]|0)<(e[(c[g>>2]|0)+140>>1]|0|0):0):0)c[h>>2]=(c[(c[g>>2]|0)+104>>2]|0)+((c[f>>2]|0)*40|0);else{wk(c[c[g>>2]>>2]|0,25);c[h>>2]=Pu()|0}c[d>>2]=c[h>>2];j=c[d>>2]|0;l=i;return j|0}function Ou(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){l=d;return}e=Uq(c[c[b>>2]>>2]|0,c[(c[b>>2]|0)+40>>2]|0)|0;c[(c[b>>2]|0)+40>>2]=e;l=d;return}function Pu(){return 288}function Qu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;p=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[p>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[n>>2]=c[p>>2];c[h>>2]=c[c[n>>2]>>2];c[g>>2]=Gu(c[p>>2]|0)|0;if(!((c[i>>2]|0)>=0?(c[i>>2]|0)<(c[g>>2]|0):0)){p=c[m>>2]|0;l=o;return p|0}p=O(c[k>>2]|0,c[g>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+p;c[m>>2]=tb[c[j>>2]&255]((c[(c[n>>2]|0)+100>>2]|0)+((c[i>>2]|0)*40|0)|0)|0;if(!(a[(c[h>>2]|0)+69>>0]|0)){p=c[m>>2]|0;l=o;return p|0}Wq(c[h>>2]|0);c[m>>2]=0;p=c[m>>2]|0;l=o;return p|0}function Ru(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+8|0;m=o;g=o+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[g>>2]>>2];if((a[(c[j>>2]|0)+69>>0]|0)==0?(c[(c[j>>2]|0)+24>>2]&65536|0)==0:0){if(!(c[h>>2]|0))c[h>>2]=24149;f=c[j>>2]|0;c[m>>2]=c[h>>2];c[k>>2]=Bj(f,24151,m)|0;if(c[i>>2]|0){m=c[j>>2]|0;i=c[i>>2]|0;c[n>>2]=c[k>>2];c[n+4>>2]=i;c[k>>2]=Bj(m,24182,n)|0}Hd(c[j>>2]|0,c[c[(c[g>>2]|0)+4>>2]>>2]|0);c[c[(c[g>>2]|0)+4>>2]>>2]=c[k>>2]}if(d[(c[j>>2]|0)+69>>0]|0){m=7;n=c[g>>2]|0;n=n+12|0;c[n>>2]=m;l=o;return}m=um(113554)|0;n=c[g>>2]|0;n=n+12|0;c[n>>2]=m;l=o;return}function Su(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;h=l;l=l+32|0;n=h+20|0;m=h+16|0;k=h+12|0;j=h+8|0;i=h+4|0;g=h;c[n>>2]=a;c[m>>2]=b;c[k>>2]=d;c[j>>2]=e;c[i>>2]=f;c[g>>2]=Nr(c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,0,0,c[j>>2]|0,c[i>>2]|0)|0;l=h;return c[g>>2]|0}function Tu(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+16|0;h=n+8|0;i=n+4|0;j=n+13|0;k=n+12|0;m=n;c[h>>2]=b;c[i>>2]=d;a[j>>0]=e;a[k>>0]=f;c[m>>2]=g;if(!(c[i>>2]|0)){m=0;l=n;return m|0}m=$u(c[h>>2]|0,c[i>>2]|0,a[j>>0]|0,a[k>>0]|0,c[m>>2]|0,0)|0;l=n;return m|0}function Uu(b){b=b|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+4|0;f=g;c[f>>2]=b;b=c[f>>2]|0;if(!(d[(c[f>>2]|0)+19>>0]|0)){b=b+44|0;f=(c[b>>2]|0)+1|0;c[b>>2]=f;c[e>>2]=f;f=c[e>>2]|0;l=g;return f|0}else{h=(c[f>>2]|0)+19|0;f=(a[h>>0]|0)+-1<<24>>24;a[h>>0]=f;c[e>>2]=c[b+352+((f&255)<<2)>>2];f=c[e>>2]|0;l=g;return f|0}return 0}function Vu(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+136>>2]|0}function Wu(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;f=j+4|0;i=j;c[g>>2]=b;c[h>>2]=e;if(!(c[h>>2]|0)){l=j;return}if((d[(c[g>>2]|0)+19>>0]|0|0)>=8){l=j;return}c[f>>2]=0;c[i>>2]=(c[g>>2]|0)+152;while(1){if((c[f>>2]|0)>=(d[(c[g>>2]|0)+25>>0]|0|0)){b=8;break}if((c[(c[i>>2]|0)+12>>2]|0)==(c[h>>2]|0)){b=6;break}c[f>>2]=(c[f>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+20}if((b|0)==6){a[(c[i>>2]|0)+6>>0]=1;l=j;return}else if((b|0)==8){f=c[h>>2]|0;h=(c[g>>2]|0)+352|0;g=(c[g>>2]|0)+19|0;i=a[g>>0]|0;a[g>>0]=i+1<<24>>24;c[h+((i&255)<<2)>>2]=f;l=j;return}}function Xu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o;f=o+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;e=o+4|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=Rt(c[f>>2]|0)|0;if(!(c[i>>2]|0)){l=o;return}c[k>>2]=Nt(c[c[f>>2]>>2]|0,c[(c[g>>2]|0)+64>>2]|0)|0;c[m>>2]=Yu(c[f>>2]|0,c[g>>2]|0)|0;while(1){if(!(c[m>>2]|0))break;c[e>>2]=Nt(c[c[f>>2]>>2]|0,c[(c[m>>2]|0)+20>>2]|0)|0;_t(c[i>>2]|0,140,c[e>>2]|0,0,0,c[c[m>>2]>>2]|0,0)|0;c[m>>2]=c[(c[m>>2]|0)+32>>2]}_t(c[i>>2]|0,138,c[k>>2]|0,0,0,c[c[g>>2]>>2]|0,0)|0;m=c[c[f>>2]>>2]|0;c[n>>2]=c[h>>2];c[j>>2]=Bj(m,24516,n)|0;if(!(c[j>>2]|0)){l=o;return}Ut(c[i>>2]|0,c[k>>2]|0,c[j>>2]|0);n=Zu(c[f>>2]|0,c[g>>2]|0)|0;c[j>>2]=n;if(!n){l=o;return}Ut(c[i>>2]|0,1,c[j>>2]|0);l=o;return}function Yu(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;j=k+24|0;m=k+20|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k;c[m>>2]=b;c[f>>2]=d;c[e>>2]=c[(c[(c[c[m>>2]>>2]|0)+16>>2]|0)+16+12>>2];c[g>>2]=0;if(a[(c[m>>2]|0)+150>>0]|0){c[j>>2]=0;m=c[j>>2]|0;l=k;return m|0}a:do if((c[e>>2]|0)!=(c[(c[f>>2]|0)+64>>2]|0)){c[h>>2]=c[(c[e>>2]|0)+40+8>>2];while(1){if(!(c[h>>2]|0))break a;c[i>>2]=c[(c[h>>2]|0)+8>>2];if((c[(c[i>>2]|0)+24>>2]|0)==(c[(c[f>>2]|0)+64>>2]|0)?0==(Ig(c[(c[i>>2]|0)+4>>2]|0,c[c[f>>2]>>2]|0)|0):0){if(c[g>>2]|0)b=c[g>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[(c[i>>2]|0)+32>>2]=b;c[g>>2]=c[i>>2]}c[h>>2]=c[c[h>>2]>>2]}}while(0);if(c[g>>2]|0)b=c[g>>2]|0;else b=c[(c[f>>2]|0)+60>>2]|0;c[j>>2]=b;m=c[j>>2]|0;l=k;return m|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=0;c[h>>2]=c[(c[(c[c[d>>2]>>2]|0)+16>>2]|0)+16+12>>2];a:do if((c[(c[e>>2]|0)+64>>2]|0)!=(c[h>>2]|0)){c[i>>2]=c[c[d>>2]>>2];c[f>>2]=Yu(c[d>>2]|0,c[e>>2]|0)|0;while(1){if(!(c[f>>2]|0))break a;if((c[(c[f>>2]|0)+20>>2]|0)==(c[h>>2]|0))c[g>>2]=_u(c[i>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0)|0;c[f>>2]=c[(c[f>>2]|0)+32>>2]}}while(0);if(!(c[g>>2]|0)){k=c[g>>2]|0;l=m;return k|0}i=c[c[d>>2]>>2]|0;c[k>>2]=c[g>>2];c[j>>2]=Bj(i,24528,k)|0;Hd(c[c[d>>2]>>2]|0,c[g>>2]|0);c[g>>2]=c[j>>2];k=c[g>>2]|0;l=m;return k|0}function _u(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+8|0;i=k;e=k+28|0;f=k+24|0;g=k+20|0;h=k+16|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;a=c[e>>2]|0;if(c[f>>2]|0){i=c[g>>2]|0;c[j>>2]=c[f>>2];c[j+4>>2]=i;c[h>>2]=Bj(a,24560,j)|0;Hd(c[e>>2]|0,c[f>>2]|0);j=c[h>>2]|0;l=k;return j|0}else{c[i>>2]=c[g>>2];c[h>>2]=Bj(a,24552,i)|0;j=c[h>>2]|0;l=k;return j|0}return 0}function $u(f,g,i,j,k,m){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+64|0;u=E;D=E+52|0;w=E+48|0;t=E+44|0;y=E+58|0;x=E+57|0;A=E+40|0;n=E+36|0;o=E+32|0;v=E+28|0;B=E+24|0;p=E+20|0;q=E+16|0;C=E+12|0;r=E+56|0;s=E+8|0;c[w>>2]=f;c[t>>2]=g;a[y>>0]=i;a[x>>0]=j;c[A>>2]=k;c[n>>2]=m;c[v>>2]=0;c[B>>2]=0;c[p>>2]=1;c[q>>2]=47636;c[C>>2]=0;while(1){m=d[c[t>>2]>>0]|0;c[o>>2]=m;if(!((m|0)==156?1:(c[o>>2]|0)==161))break;c[t>>2]=c[(c[t>>2]|0)+12>>2]}if((c[o>>2]|0)==157)c[o>>2]=d[(c[t>>2]|0)+38>>0];if((c[o>>2]|0)==66){a[r>>0]=av(c[(c[t>>2]|0)+8>>2]|0,0)|0;c[C>>2]=$u(c[w>>2]|0,c[(c[t>>2]|0)+12>>2]|0,a[y>>0]|0,a[r>>0]|0,c[A>>2]|0,c[n>>2]|0)|0;if(c[c[A>>2]>>2]|0){bv(c[c[A>>2]>>2]|0,a[r>>0]|0,1);cv(c[c[A>>2]>>2]|0,a[x>>0]|0,1)}c[D>>2]=c[C>>2];D=c[D>>2]|0;l=E;return D|0}do if((c[o>>2]|0)==155){if((d[c[(c[t>>2]|0)+12>>2]>>0]|0|0)!=134?(d[c[(c[t>>2]|0)+12>>2]>>0]|0|0)!=132:0)break;c[t>>2]=c[(c[t>>2]|0)+12>>2];c[o>>2]=d[c[t>>2]>>0];c[p>>2]=-1;c[q>>2]=24574}while(0);do if((c[o>>2]|0)==97|(c[o>>2]|0)==132|(c[o>>2]|0)==134){c[B>>2]=dv(c[w>>2]|0,c[n>>2]|0)|0;if(c[B>>2]|0){if(c[(c[t>>2]|0)+4>>2]&1024|0){v=c[B>>2]|0;u=c[(c[t>>2]|0)+8>>2]|0;w=c[p>>2]|0;w=RR(u|0,((u|0)<0)<<31>>31|0,w|0,((w|0)<0)<<31>>31|0)|0;Dh(v,w,z)}else{m=c[w>>2]|0;t=c[(c[t>>2]|0)+8>>2]|0;c[u>>2]=c[q>>2];c[u+4>>2]=t;c[v>>2]=Bj(m,20293,u)|0;if(!(c[v>>2]|0)){f=42;break}Po(c[B>>2]|0,-1,c[v>>2]|0,1,169)}if((c[o>>2]|0)==134|(c[o>>2]|0)==132?(d[x>>0]|0|0)==65:0)cv(c[B>>2]|0,67,1);else cv(c[B>>2]|0,a[x>>0]|0,1);if((e[(c[B>>2]|0)+8>>1]|0)&12|0){x=(c[B>>2]|0)+8|0;b[x>>1]=(e[x>>1]|0)&-3}if((d[y>>0]|0|0)!=1){c[C>>2]=Vh(c[B>>2]|0,d[y>>0]|0)|0;f=41}else f=41}else f=42}else{if((c[o>>2]|0)!=155){if((c[o>>2]|0)==101){c[B>>2]=dv(c[w>>2]|0,c[n>>2]|0)|0;if(!(c[B>>2]|0)){f=42;break}else{f=41;break}}if((c[o>>2]|0)!=133){f=41;break}c[B>>2]=dv(c[w>>2]|0,c[n>>2]|0)|0;if(!(c[B>>2]|0)){f=42;break}c[v>>2]=(c[(c[t>>2]|0)+8>>2]|0)+2;c[s>>2]=(_c(c[v>>2]|0)|0)-1;y=c[B>>2]|0;f=fv(c[w>>2]|0,c[v>>2]|0,c[s>>2]|0)|0;Jh(y,f,(c[s>>2]|0)/2|0,0,169)|0;f=41;break}w=0==(Tu(c[w>>2]|0,c[(c[t>>2]|0)+12>>2]|0,a[y>>0]|0,a[x>>0]|0,B)|0);if(w&(c[B>>2]|0)!=0){ev(c[B>>2]|0)|0;f=c[B>>2]|0;do if(!((e[(c[B>>2]|0)+8>>1]|0)&8|0)){w=f;f=c[B>>2]|0;if((c[w>>2]|0)==0?(c[w+4>>2]|0)==-2147483648:0){h[f>>3]=9223372036854775808.0;b[(c[B>>2]|0)+8>>1]=(e[(c[B>>2]|0)+8>>1]|0)&-49664|8;break}else{v=f;v=FR(0,0,c[v>>2]|0,c[v+4>>2]|0)|0;w=c[B>>2]|0;c[w>>2]=v;c[w+4>>2]=z;break}}else h[c[B>>2]>>3]=-+h[f>>3];while(0);cv(c[B>>2]|0,a[x>>0]|0,a[y>>0]|0);f=41}else f=41}while(0);if((f|0)==41){c[c[A>>2]>>2]=c[B>>2];c[D>>2]=c[C>>2];D=c[D>>2]|0;l=E;return D|0}else if((f|0)==42){yd(c[w>>2]|0);Hd(c[w>>2]|0,c[v>>2]|0);Rj(c[B>>2]|0);c[D>>2]=7;D=c[D>>2]|0;l=E;return D|0}return 0}function av(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+16|0;g=n+12|0;h=n+8|0;i=n+20|0;j=n+4|0;k=n;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;a[i>>0]=67;c[j>>2]=0;a:while(1){if(!(a[c[f>>2]>>0]|0))break;c[h>>2]=(c[h>>2]<<8)+(d[17348+(a[c[f>>2]>>0]&255)>>0]|0);c[f>>2]=(c[f>>2]|0)+1;if((c[h>>2]|0)==1667785074){a[i>>0]=66;c[j>>2]=c[f>>2];continue}if((c[h>>2]|0)==1668050786){a[i>>0]=66;continue}if((c[h>>2]|0)==1952807028){a[i>>0]=66;continue}do if((c[h>>2]|0)==1651273570){if((a[i>>0]|0)!=67?(a[i>>0]|0)!=69:0)break;a[i>>0]=65;if((a[c[f>>2]>>0]|0)!=40)continue a;c[j>>2]=c[f>>2];continue a}while(0);if((c[h>>2]|0)==1919246700?(a[i>>0]|0)==67:0){a[i>>0]=69;continue}if((c[h>>2]|0)==1718382433?(a[i>>0]|0)==67:0){a[i>>0]=69;continue}if((c[h>>2]|0)==1685026146?(a[i>>0]|0)==67:0){a[i>>0]=69;continue}if((c[h>>2]&16777215|0)==6909556){m=24;break}}if((m|0)==24)a[i>>0]=68;if(!(c[g>>2]|0)){m=a[i>>0]|0;l=n;return m|0}a[c[g>>2]>>0]=1;if((a[i>>0]|0)>=67){m=a[i>>0]|0;l=n;return m|0}if(!(c[j>>2]|0)){a[c[g>>2]>>0]=5;m=a[i>>0]|0;l=n;return m|0}while(1){if(!(a[c[j>>2]>>0]|0)){m=33;break}if(d[16965+(d[c[j>>2]>>0]|0)>>0]&4|0)break;c[j>>2]=(c[j>>2]|0)+1}if((m|0)==33){m=a[i>>0]|0;l=n;return m|0}c[k>>2]=0;Nf(c[j>>2]|0,k)|0;m=((c[k>>2]|0)/4|0)+1|0;c[k>>2]=m;c[k>>2]=(c[k>>2]|0)>255?255:m;a[c[g>>2]>>0]=c[k>>2];m=a[i>>0]|0;l=n;return m|0}function bv(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0;m=l;l=l+16|0;j=m;i=m+5|0;k=m+4|0;c[j>>2]=f;a[i>>0]=g;a[k>>0]=h;if((e[(c[j>>2]|0)+8>>1]|0)&1|0){l=m;return}switch(d[i>>0]|0|0){case 65:{f=c[j>>2]|0;if((e[(c[j>>2]|0)+8>>1]|0)&16|0){k=f+8|0;b[k>>1]=(e[k>>1]|0)&-33264;l=m;return}cv(f,66,a[k>>0]|0);if(!((e[(c[j>>2]|0)+8>>1]|0)&2)){l=m;return}b[(c[j>>2]|0)+8>>1]=(e[(c[j>>2]|0)+8>>1]|0)&-49664|16;l=m;return}case 67:{ev(c[j>>2]|0)|0;l=m;return}case 68:{hv(c[j>>2]|0)|0;l=m;return}case 69:{iv(c[j>>2]|0)|0;l=m;return}default:{i=(c[j>>2]|0)+8|0;b[i>>1]=e[i>>1]|0|((e[(c[j>>2]|0)+8>>1]|0)&16)>>3;cv(c[j>>2]|0,66,a[k>>0]|0);k=(c[j>>2]|0)+8|0;b[k>>1]=(e[k>>1]|0)&-16413;l=m;return}}}function cv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f;h=f+5|0;g=f+4|0;c[i>>2]=b;a[h>>0]=d;a[g>>0]=e;gv(c[i>>2]|0,a[h>>0]|0,a[g>>0]|0);l=f;return}function dv(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d+4|0;c[e>>2]=a;c[d>>2]=b;b=Oo(c[e>>2]|0)|0;l=d;return b|0}function ev(d){d=d|0;var f=0,g=0,i=0,j=0.0;g=l;l=l+16|0;f=g;c[f>>2]=d;do if(!((e[(c[f>>2]|0)+8>>1]|0)&13)){i=0==(ri(c[(c[f>>2]|0)+16>>2]|0,c[f>>2]|0,c[(c[f>>2]|0)+12>>2]|0,a[(c[f>>2]|0)+10>>0]|0)|0);d=c[f>>2]|0;if(i){b[(c[f>>2]|0)+8>>1]=(e[d+8>>1]|0)&-49664|4;break}else{j=+ni(d);h[c[f>>2]>>3]=j;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;ui(c[f>>2]|0);break}}while(0);i=(c[f>>2]|0)+8|0;b[i>>1]=(e[i>>1]|0)&-16403;l=g;return 0}function fv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=b;c[f>>2]=d;c[g>>2]=e;e=((c[g>>2]|0)/2|0)+1|0;c[h>>2]=od(c[k>>2]|0,e,((e|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+-1;if(!(c[h>>2]|0)){k=c[h>>2]|0;l=j;return k|0}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;k=((Of(a[(c[f>>2]|0)+(c[i>>2]|0)>>0]|0)|0)&255)<<4;k=(k|(Of(a[(c[f>>2]|0)+((c[i>>2]|0)+1)>>0]|0)|0)&255)&255;a[(c[h>>2]|0)+((c[i>>2]|0)/2|0)>>0]=k;c[i>>2]=(c[i>>2]|0)+2}a[(c[h>>2]|0)+((c[i>>2]|0)/2|0)>>0]=0;k=c[h>>2]|0;l=j;return k|0}function gv(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k;h=k+5|0;i=k+4|0;c[j>>2]=d;a[h>>0]=f;a[i>>0]=g;if((a[h>>0]|0)<67){if((a[h>>0]|0)!=66){l=k;return}if(0==(e[(c[j>>2]|0)+8>>1]&2|0)?e[(c[j>>2]|0)+8>>1]&12|0:0)Xh(c[j>>2]|0,a[i>>0]|0,1)|0;j=(c[j>>2]|0)+8|0;b[j>>1]=e[j>>1]&-13;l=k;return}if(e[(c[j>>2]|0)+8>>1]&4|0){l=k;return}d=c[j>>2]|0;if(e[(c[j>>2]|0)+8>>1]&8|0){ui(d);l=k;return}if(!(e[d+8>>1]&2)){l=k;return}ti(c[j>>2]|0,1);l=k;return}function hv(a){a=a|0;var d=0,f=0,g=0;d=l;l=l+16|0;f=d;c[f>>2]=a;g=pi(c[f>>2]|0)|0;a=c[f>>2]|0;c[a>>2]=g;c[a+4>>2]=z;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|4;l=d;return 0}function iv(a){a=a|0;var d=0,f=0,g=0.0;d=l;l=l+16|0;f=d;c[f>>2]=a;g=+ni(c[f>>2]|0);h[c[f>>2]>>3]=g;b[(c[f>>2]|0)+8>>1]=(e[(c[f>>2]|0)+8>>1]|0)&-49664|8;l=d;return 0}function jv(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j;f=j+12|0;g=j+8|0;h=j+4|0;c[g>>2]=b;c[h>>2]=e;if((((a[(c[c[g>>2]>>2]|0)+148+5>>0]|0)==0?(d[(c[g>>2]|0)+18>>0]|0)==0:0)?(c[(c[c[g>>2]>>2]|0)+24>>2]&2048|0)==0:0)?0==(Zc(c[h>>2]|0,23554,7)|0):0){g=c[g>>2]|0;c[i>>2]=c[h>>2];Ck(g,26959,i);c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function kv(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;h=r+36|0;i=r+32|0;j=r+28|0;k=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;g=r+4|0;c[i>>2]=a;c[j>>2]=f;c[n>>2]=0;c[p>>2]=c[c[i>>2]>>2];if(pv(c[i>>2]|0,c[j>>2]|0)|0){c[h>>2]=1;q=c[h>>2]|0;l=r;return q|0}if(d[(c[j>>2]|0)+42>>0]&16|0){c[h>>2]=0;q=c[h>>2]|0;l=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)>0){c[h>>2]=0;q=c[h>>2]|0;l=r;return q|0}if((b[(c[j>>2]|0)+34>>1]|0)<0){p=c[i>>2]|0;c[q>>2]=c[c[j>>2]>>2];Ck(p,25281,q);c[h>>2]=1;q=c[h>>2]|0;l=r;return q|0}c[m>>2]=qv(c[p>>2]|0,c[(c[j>>2]|0)+12>>2]|0,0)|0;if(c[m>>2]|0){c[o>>2]=c[(c[i>>2]|0)+40>>2];rv(c[i>>2]|0,c[(c[m>>2]|0)+28>>2]|0);b[(c[j>>2]|0)+34>>1]=-1;q=(c[p>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+1;c[g>>2]=c[(c[p>>2]|0)+296>>2];c[(c[p>>2]|0)+296>>2]=0;c[k>>2]=sv(c[i>>2]|0,c[m>>2]|0)|0;c[(c[p>>2]|0)+296>>2]=c[g>>2];c[(c[i>>2]|0)+40>>2]=c[o>>2];do if(c[(c[j>>2]|0)+24>>2]|0){tv(c[i>>2]|0,c[(c[j>>2]|0)+24>>2]|0,(c[j>>2]|0)+34|0,(c[j>>2]|0)+4|0)|0;if(((d[(c[p>>2]|0)+69>>0]|0)==0?(c[(c[i>>2]|0)+36>>2]|0)==0:0)?(b[(c[j>>2]|0)+34>>1]|0)==(c[c[c[m>>2]>>2]>>2]|0):0)uv(c[i>>2]|0,c[j>>2]|0,c[m>>2]|0)}else if(c[k>>2]|0){b[(c[j>>2]|0)+34>>1]=b[(c[k>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[k>>2]|0)+4>>2];b[(c[k>>2]|0)+34>>1]=0;c[(c[k>>2]|0)+4>>2]=0;break}else{b[(c[j>>2]|0)+34>>1]=0;c[n>>2]=(c[n>>2]|0)+1;break}while(0);Jj(c[p>>2]|0,c[k>>2]|0);Zj(c[p>>2]|0,c[m>>2]|0);q=(c[p>>2]|0)+256|0;c[q>>2]=(c[q>>2]|0)+-1}else c[n>>2]=(c[n>>2]|0)+1;q=(c[(c[j>>2]|0)+64>>2]|0)+78|0;b[q>>1]=e[q>>1]|2;c[h>>2]=c[n>>2];q=c[h>>2]|0;l=r;return q|0}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=c[(c[g>>2]|0)+56>>2];while(1){if(!(c[e>>2]|0)){a=5;break}if((c[c[e>>2]>>2]|0)==(c[d>>2]|0)){a=5;break}c[e>>2]=c[(c[e>>2]|0)+24>>2]}if((a|0)==5){l=f;return c[e>>2]|0}return 0}function mv(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+21>>0]=1;l=e;return}function nv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[f>>2]=0;c[e>>2]=ov(c[h>>2]|0)|0;while(1){if(!(c[e>>2]|0))break;c[f>>2]=_u(c[c[d>>2]>>2]|0,c[f>>2]|0,c[c[c[e>>2]>>2]>>2]|0)|0;c[e>>2]=c[(c[e>>2]|0)+12>>2]}l=g;return c[f>>2]|0}function ov(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=nu((c[(c[d>>2]|0)+64>>2]|0)+56|0,c[c[d>>2]>>2]|0)|0;l=b;return a|0}function pv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q+8|0;o=q;f=q+44|0;g=q+40|0;h=q+36|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;e=q+12|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[c[g>>2]>>2];if((d[(c[h>>2]|0)+42>>0]|0)&16|0?(lv(c[i>>2]|0,c[h>>2]|0)|0)==0:0){c[j>>2]=c[c[(c[h>>2]|0)+52>>2]>>2];c[k>>2]=nu((c[i>>2]|0)+320|0,c[j>>2]|0)|0;if(c[k>>2]|0){c[e>>2]=0;c[m>>2]=pu(c[i>>2]|0,c[h>>2]|0,c[k>>2]|0,c[(c[c[k>>2]>>2]|0)+8>>2]|0,e)|0;if(c[m>>2]|0){o=c[g>>2]|0;c[p>>2]=c[e>>2];Ck(o,18130,p)}Hd(c[i>>2]|0,c[e>>2]|0)}else{c[n>>2]=c[c[(c[h>>2]|0)+52>>2]>>2];p=c[g>>2]|0;c[o>>2]=c[n>>2];Ck(p,26940,o);c[m>>2]=1}c[f>>2]=c[m>>2];p=c[f>>2]|0;l=q;return p|0}c[f>>2]=0;p=c[f>>2]|0;l=q;return p|0}function qv(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(!(c[i>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}c[k>>2]=od(c[h>>2]|0,68,0)|0;if(!(c[k>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}f=iw(c[h>>2]|0,c[c[i>>2]>>2]|0,c[j>>2]|0)|0;c[c[k>>2]>>2]=f;f=ax(c[h>>2]|0,c[(c[i>>2]|0)+28>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+28>>2]=f;f=aw(c[h>>2]|0,c[(c[i>>2]|0)+32>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+32>>2]=f;f=iw(c[h>>2]|0,c[(c[i>>2]|0)+36>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+36>>2]=f;f=aw(c[h>>2]|0,c[(c[i>>2]|0)+40>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+40>>2]=f;f=iw(c[h>>2]|0,c[(c[i>>2]|0)+44>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+44>>2]=f;a[(c[k>>2]|0)+4>>0]=a[(c[i>>2]|0)+4>>0]|0;f=qv(c[h>>2]|0,c[(c[i>>2]|0)+48>>2]|0,c[j>>2]|0)|0;c[m>>2]=f;c[(c[k>>2]|0)+48>>2]=f;if(c[m>>2]|0)c[(c[m>>2]|0)+52>>2]=c[k>>2];c[(c[k>>2]|0)+52>>2]=0;m=aw(c[h>>2]|0,c[(c[i>>2]|0)+56>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+56>>2]=m;m=aw(c[h>>2]|0,c[(c[i>>2]|0)+60>>2]|0,c[j>>2]|0)|0;c[(c[k>>2]|0)+60>>2]=m;c[(c[k>>2]|0)+12>>2]=0;c[(c[k>>2]|0)+16>>2]=0;c[(c[k>>2]|0)+8>>2]=c[(c[i>>2]|0)+8>>2]&-33;c[(c[k>>2]|0)+20>>2]=-1;c[(c[k>>2]|0)+20+4>>2]=-1;b[(c[k>>2]|0)+6>>1]=b[(c[i>>2]|0)+6>>1]|0;m=bx(c[h>>2]|0,c[(c[i>>2]|0)+64>>2]|0)|0;c[(c[k>>2]|0)+64>>2]=m;c[g>>2]=c[k>>2];m=c[g>>2]|0;l=n;return m|0}function rv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=h;return}c[f>>2]=0;c[g>>2]=(c[e>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){a=8;break}if((c[(c[g>>2]|0)+44>>2]|0)>=0){a=8;break}a=(c[d>>2]|0)+40|0;b=c[a>>2]|0;c[a>>2]=b+1;c[(c[g>>2]|0)+44>>2]=b;if(c[(c[g>>2]|0)+20>>2]|0)rv(c[d>>2]|0,c[(c[(c[g>>2]|0)+20>>2]|0)+28>>2]|0);c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+72}if((a|0)==8){l=h;return}}function sv(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=d;c[h>>2]=e;c[j>>2]=c[c[g>>2]>>2];c[k>>2]=c[(c[j>>2]|0)+24>>2];e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]&-5;e=(c[j>>2]|0)+24|0;c[e>>2]=c[e>>2]|64;Gv(c[g>>2]|0,c[h>>2]|0,0);if(c[(c[g>>2]|0)+36>>2]|0){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}while(1){if(!(c[(c[h>>2]|0)+48>>2]|0))break;c[h>>2]=c[(c[h>>2]|0)+48>>2]}c[(c[j>>2]|0)+24>>2]=c[k>>2];c[i>>2]=jl(c[j>>2]|0,72,0)|0;if(!(c[i>>2]|0)){c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}b[(c[i>>2]|0)+36>>1]=1;c[c[i>>2]>>2]=0;b[(c[i>>2]|0)+38>>1]=200;tv(c[g>>2]|0,c[c[h>>2]>>2]|0,(c[i>>2]|0)+34|0,(c[i>>2]|0)+4|0)|0;uv(c[g>>2]|0,c[i>>2]|0,c[h>>2]|0);b[(c[i>>2]|0)+32>>1]=-1;if(a[(c[j>>2]|0)+69>>0]|0){Jj(c[j>>2]|0,c[i>>2]|0);c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}else{c[f>>2]=c[i>>2];k=c[f>>2]|0;l=m;return k|0}return 0}function tv(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+112|0;v=D+8|0;u=D;z=D+104|0;E=D+100|0;t=D+96|0;A=D+92|0;B=D+88|0;C=D+84|0;w=D+80|0;x=D+76|0;i=D+72|0;y=D+68|0;j=D+64|0;k=D+60|0;m=D+56|0;n=D+52|0;o=D+48|0;p=D+32|0;q=D+28|0;r=D+24|0;s=D+20|0;c[E>>2]=e;c[t>>2]=f;c[A>>2]=g;c[B>>2]=h;c[C>>2]=c[c[E>>2]>>2];aq(p);if(c[t>>2]|0){c[k>>2]=c[c[t>>2]>>2];c[y>>2]=jl(c[C>>2]|0,c[k>>2]<<4,0)|0}else{c[k>>2]=0;c[y>>2]=0}b[c[A>>2]>>1]=c[k>>2];c[c[B>>2]>>2]=c[y>>2];c[w>>2]=0;c[j>>2]=c[y>>2];while(1){if((c[w>>2]|0)>=(c[k>>2]|0))break;if(!((a[(c[C>>2]|0)+69>>0]|0)!=0^1))break;c[m>>2]=Ev(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2]|0)|0;E=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+4>>2]|0;c[n>>2]=E;do if(!E){c[q>>2]=c[m>>2];while(1){e=c[q>>2]|0;if((d[c[q>>2]>>0]|0)!=122)break;c[q>>2]=c[e+16>>2]}if((d[e>>0]|0)==152?c[(c[q>>2]|0)+44>>2]|0:0){c[s>>2]=b[(c[q>>2]|0)+32>>1];c[r>>2]=c[(c[q>>2]|0)+44>>2];if((c[s>>2]|0)<0)c[s>>2]=b[(c[r>>2]|0)+32>>1];if((c[s>>2]|0)>=0)e=c[(c[(c[r>>2]|0)+4>>2]|0)+(c[s>>2]<<4)>>2]|0;else e=22891;c[n>>2]=e;break}if((d[c[q>>2]>>0]|0)==55){c[n>>2]=c[(c[q>>2]|0)+8>>2];break}else{c[n>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)+8>>2];break}}while(0);E=c[C>>2]|0;c[u>>2]=c[n>>2];c[n>>2]=Bj(E,18130,u)|0;c[i>>2]=0;while(1){if(c[n>>2]|0)f=(nu(p,c[n>>2]|0)|0)!=0;else f=0;e=c[n>>2]|0;if(!f)break;c[o>>2]=_c(e)|0;if((c[o>>2]|0)>0){c[x>>2]=(c[o>>2]|0)-1;while(1){if((c[x>>2]|0)<=0)break;if(!(d[16965+(d[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)>>0]&4))break;c[x>>2]=(c[x>>2]|0)+-1}if((a[(c[n>>2]|0)+(c[x>>2]|0)>>0]|0)==58)c[o>>2]=c[x>>2]}E=c[C>>2]|0;f=c[o>>2]|0;g=c[n>>2]|0;h=(c[i>>2]|0)+1|0;c[i>>2]=h;c[v>>2]=f;c[v+4>>2]=g;c[v+8>>2]=h;c[n>>2]=Bj(E,25353,v)|0;if((c[i>>2]|0)>>>0<=3)continue;Ze(4,i)}c[c[j>>2]>>2]=e;if(c[n>>2]|0?(E=Vj(p,c[n>>2]|0,c[j>>2]|0)|0,(E|0)==(c[j>>2]|0)):0)yd(c[C>>2]|0);c[w>>2]=(c[w>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}pk(p);if(!(a[(c[C>>2]|0)+69>>0]|0)){c[z>>2]=0;E=c[z>>2]|0;l=D;return E|0}c[x>>2]=0;while(1){e=c[C>>2]|0;f=c[y>>2]|0;if((c[x>>2]|0)>=(c[w>>2]|0))break;Hd(e,c[f+(c[x>>2]<<4)>>2]|0);c[x>>2]=(c[x>>2]|0)+1}Hd(e,f);c[c[B>>2]>>2]=0;b[c[A>>2]>>1]=0;c[z>>2]=7;E=c[z>>2]|0;l=D;return E|0}function uv(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+96|0;p=w+84|0;q=w+80|0;r=w+76|0;s=w+72|0;t=w+40|0;u=w+36|0;v=w+32|0;h=w+28|0;i=w+24|0;j=w+20|0;k=w;m=w+16|0;n=w+12|0;o=w+8|0;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=c[c[p>>2]>>2];g=k;c[g>>2]=0;c[g+4>>2]=0;if(a[(c[s>>2]|0)+69>>0]|0){l=w;return};c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;c[t+20>>2]=0;c[t+24>>2]=0;c[t+28>>2]=0;c[t+4>>2]=c[(c[r>>2]|0)+28>>2];c[j>>2]=c[(c[c[r>>2]>>2]|0)+4>>2];c[h>>2]=0;c[u>>2]=c[(c[q>>2]|0)+4>>2];while(1){if((c[h>>2]|0)>=(b[(c[q>>2]|0)+34>>1]|0))break;c[i>>2]=c[(c[j>>2]|0)+((c[h>>2]|0)*20|0)>>2];c[m>>2]=vv(t,c[i>>2]|0,(c[u>>2]|0)+14|0)|0;g=k;g=IR(c[g>>2]|0,c[g+4>>2]|0,d[(c[u>>2]|0)+14>>0]|0,0)|0;r=k;c[r>>2]=g;c[r+4>>2]=z;r=wv(c[i>>2]|0)|0;a[(c[u>>2]|0)+13>>0]=r;if((c[m>>2]|0?(r=_c(c[m>>2]|0)|0,c[o>>2]=r,(r|0)>0):0)?(c[n>>2]=_c(c[c[u>>2]>>2]|0)|0,r=(c[n>>2]|0)+(c[o>>2]|0)+2|0,r=Qh(c[s>>2]|0,c[c[u>>2]>>2]|0,r,((r|0)<0)<<31>>31)|0,c[c[u>>2]>>2]=r,c[c[u>>2]>>2]|0):0){MR((c[c[u>>2]>>2]|0)+((c[n>>2]|0)+1)|0,c[m>>2]|0,(c[o>>2]|0)+1|0)|0;r=(c[u>>2]|0)+15|0;a[r>>0]=d[r>>0]|4}if(!(a[(c[u>>2]|0)+13>>0]|0))a[(c[u>>2]|0)+13>>0]=65;c[v>>2]=xv(c[p>>2]|0,c[i>>2]|0)|0;if(c[v>>2]|0?(c[(c[u>>2]|0)+8>>2]|0)==0:0){r=go(c[s>>2]|0,c[c[v>>2]>>2]|0)|0;c[(c[u>>2]|0)+8>>2]=r}c[h>>2]=(c[h>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+16}v=k;v=RR(c[v>>2]|0,c[v+4>>2]|0,4,0)|0;v=Du(v,z)|0;b[(c[q>>2]|0)+40>>1]=v;l=w;return}function vv(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+128|0;q=x+112|0;r=x+108|0;s=x+104|0;t=x+100|0;u=x+96|0;v=x+116|0;w=x+92|0;h=x+88|0;i=x+84|0;j=x+80|0;k=x+48|0;m=x+40|0;n=x+8|0;o=x+4|0;p=x;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=0;a[v>>0]=1;a:do switch(d[c[r>>2]>>0]|0){case 152:case 154:{c[w>>2]=0;c[h>>2]=0;c[i>>2]=b[(c[r>>2]|0)+32>>1];while(1){if(!(c[q>>2]|0))break;if(!((c[w>>2]|0)!=0^1))break;c[j>>2]=c[(c[q>>2]|0)+4>>2];c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[c[j>>2]>>2]|0))break;if((c[(c[j>>2]|0)+8+((c[u>>2]|0)*72|0)+44>>2]|0)==(c[(c[r>>2]|0)+28>>2]|0))break;c[u>>2]=(c[u>>2]|0)+1}if((c[u>>2]|0)<(c[c[j>>2]>>2]|0)){c[w>>2]=c[(c[j>>2]|0)+8+((c[u>>2]|0)*72|0)+16>>2];c[h>>2]=c[(c[j>>2]|0)+8+((c[u>>2]|0)*72|0)+20>>2];continue}else{c[q>>2]=c[(c[q>>2]|0)+16>>2];continue}}if(c[w>>2]|0){if(c[h>>2]|0){if((c[i>>2]|0)<0)break a;if((c[i>>2]|0)>=(c[c[c[h>>2]>>2]>>2]|0))break a;c[m>>2]=c[(c[(c[c[h>>2]>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];c[k+4>>2]=c[(c[h>>2]|0)+28>>2];c[k+16>>2]=c[q>>2];c[k>>2]=c[c[q>>2]>>2];c[t>>2]=vv(k,c[m>>2]|0,v)|0;break a}if(c[(c[w>>2]|0)+64>>2]|0){if((c[i>>2]|0)<0)c[i>>2]=b[(c[w>>2]|0)+32>>1];if((c[i>>2]|0)<0){c[t>>2]=25345;break a}else{c[t>>2]=qu((c[(c[w>>2]|0)+4>>2]|0)+(c[i>>2]<<4)|0,0)|0;a[v>>0]=a[(c[(c[w>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+14>>0]|0;break a}}}break}case 119:{c[o>>2]=c[(c[r>>2]|0)+20>>2];c[p>>2]=c[c[(c[c[o>>2]>>2]|0)+4>>2]>>2];c[n+4>>2]=c[(c[o>>2]|0)+28>>2];c[n+16>>2]=c[q>>2];c[n>>2]=c[c[q>>2]>>2];c[t>>2]=vv(n,c[p>>2]|0,v)|0;break}default:{}}while(0);if(!(c[s>>2]|0)){w=c[t>>2]|0;l=x;return w|0}a[c[s>>2]>>0]=a[v>>0]|0;w=c[t>>2]|0;l=x;return w|0}function wv(e){e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=e;c[g>>2]=Ev(c[g>>2]|0)|0;if(c[(c[g>>2]|0)+4>>2]&512|0){a[f>>0]=0;h=a[f>>0]|0;l=i;return h|0}c[h>>2]=d[c[g>>2]>>0];if((c[h>>2]|0)==119){a[f>>0]=wv(c[c[(c[c[(c[g>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0)|0;h=a[f>>0]|0;l=i;return h|0}if((c[h>>2]|0)==157)c[h>>2]=d[(c[g>>2]|0)+38>>0];if((c[h>>2]|0)==66){a[f>>0]=av(c[(c[g>>2]|0)+8>>2]|0,0)|0;h=a[f>>0]|0;l=i;return h|0}if((c[h>>2]|0)==154|(c[h>>2]|0)==152){a[f>>0]=Fv(c[(c[g>>2]|0)+44>>2]|0,b[(c[g>>2]|0)+32>>1]|0)|0;h=a[f>>0]|0;l=i;return h|0}e=c[g>>2]|0;if((c[h>>2]|0)==159){a[f>>0]=wv(c[(c[(c[c[(c[e+12>>2]|0)+20>>2]>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+32>>1]|0)*20|0)>>2]|0)|0;h=a[f>>0]|0;l=i;return h|0}else{a[f>>0]=a[e+1>>0]|0;h=a[f>>0]|0;l=i;return h|0}return 0}function xv(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;i=r+36|0;s=r+32|0;j=r+28|0;k=r+24|0;m=r+20|0;n=r+16|0;o=r+12|0;p=r+8|0;g=r+4|0;h=r;c[i>>2]=e;c[s>>2]=f;c[j>>2]=c[c[i>>2]>>2];c[k>>2]=0;c[m>>2]=c[s>>2];while(1){if(!(c[m>>2]|0))break;c[n>>2]=d[c[m>>2]>>0];if(c[(c[m>>2]|0)+4>>2]&512|0)break;if((c[n>>2]|0)==66|(c[n>>2]|0)==156){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}if((c[n>>2]|0)==53){q=9;break}if((c[n>>2]|0)==157?(d[(c[m>>2]|0)+38>>0]|0)==53:0){q=9;break}if((c[n>>2]|0)==154|(c[n>>2]|0)==152|(c[n>>2]|0)==157|(c[n>>2]|0)==88?c[(c[m>>2]|0)+44>>2]|0:0){q=12;break}if(!(c[(c[m>>2]|0)+4>>2]&256))break;if(c[(c[m>>2]|0)+12>>2]|0?c[(c[(c[m>>2]|0)+12>>2]|0)+4>>2]&256|0:0){c[m>>2]=c[(c[m>>2]|0)+12>>2];continue}c[g>>2]=c[(c[m>>2]|0)+16>>2];a:do if(c[(c[m>>2]|0)+20>>2]|0?(c[(c[m>>2]|0)+4>>2]&2048|0)==0:0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[m>>2]|0)+20>>2]>>2]|0))break a;if(c[(c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)+4>>2]&256|0)break;c[h>>2]=(c[h>>2]|0)+1}c[g>>2]=c[(c[(c[(c[m>>2]|0)+20>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]}while(0);c[m>>2]=c[g>>2]}if((q|0)==9)c[k>>2]=yv(c[i>>2]|0,a[(c[j>>2]|0)+66>>0]|0,0,c[(c[m>>2]|0)+8>>2]|0)|0;else if((q|0)==12?(c[o>>2]=b[(c[m>>2]|0)+32>>1],(c[o>>2]|0)>=0):0){c[p>>2]=c[(c[(c[(c[m>>2]|0)+44>>2]|0)+4>>2]|0)+(c[o>>2]<<4)+8>>2];c[k>>2]=zv(c[j>>2]|0,a[(c[j>>2]|0)+66>>0]|0,c[p>>2]|0,0)|0}if(!(Av(c[i>>2]|0,c[k>>2]|0)|0)){s=c[k>>2]|0;l=r;return s|0}c[k>>2]=0;s=c[k>>2]|0;l=r;return s|0}function yv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;n=o;h=o+20|0;i=o+24|0;p=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;c[h>>2]=b;a[i>>0]=e;c[p>>2]=f;c[j>>2]=g;c[m>>2]=c[c[h>>2]>>2];c[k>>2]=c[p>>2];if(!(c[k>>2]|0))c[k>>2]=zv(c[m>>2]|0,a[i>>0]|0,c[j>>2]|0,0)|0;if(!(c[k>>2]|0?(c[(c[k>>2]|0)+12>>2]|0)!=0:0)){Cv(c[m>>2]|0,d[i>>0]|0,c[j>>2]|0);c[k>>2]=zv(c[m>>2]|0,a[i>>0]|0,c[j>>2]|0,0)|0}if((c[k>>2]|0?(c[(c[k>>2]|0)+12>>2]|0)==0:0)?Dv(c[m>>2]|0,c[k>>2]|0)|0:0)c[k>>2]=0;if(c[k>>2]|0){p=c[k>>2]|0;l=o;return p|0}p=c[h>>2]|0;c[n>>2]=c[j>>2];Ck(p,25311,n);p=c[k>>2]|0;l=o;return p|0}function zv(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+12|0;h=m+16|0;i=m+8|0;j=m+4|0;k=m;c[n>>2]=b;a[h>>0]=e;c[i>>2]=f;c[j>>2]=g;b=c[n>>2]|0;if(c[i>>2]|0)c[k>>2]=Bv(b,c[i>>2]|0,c[j>>2]|0)|0;else c[k>>2]=c[b+8>>2];if(!(c[k>>2]|0)){n=c[k>>2]|0;l=m;return n|0}c[k>>2]=(c[k>>2]|0)+(((d[h>>0]|0)-1|0)*20|0);n=c[k>>2]|0;l=m;return n|0}function Av(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;if(c[g>>2]|0?(c[h>>2]=c[c[g>>2]>>2],c[i>>2]=c[c[f>>2]>>2],c[j>>2]=yv(c[f>>2]|0,a[(c[i>>2]|0)+66>>0]|0,c[g>>2]|0,c[h>>2]|0)|0,(c[j>>2]|0)==0):0){c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function Bv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;m=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[m>>2]=e;c[h>>2]=nu((c[f>>2]|0)+364|0,c[g>>2]|0)|0;if(!(0==(c[h>>2]|0)&(c[m>>2]|0)!=0)){m=c[h>>2]|0;l=k;return m|0}c[i>>2]=_c(c[g>>2]|0)|0;c[h>>2]=jl(c[f>>2]|0,60+(c[i>>2]|0)+1|0,0)|0;if(!(c[h>>2]|0)){m=c[h>>2]|0;l=k;return m|0}c[j>>2]=0;c[c[h>>2]>>2]=(c[h>>2]|0)+60;a[(c[h>>2]|0)+4>>0]=1;c[(c[h>>2]|0)+20>>2]=(c[h>>2]|0)+60;a[(c[h>>2]|0)+20+4>>0]=2;c[(c[h>>2]|0)+40>>2]=(c[h>>2]|0)+60;a[(c[h>>2]|0)+40+4>>0]=3;MR(c[c[h>>2]>>2]|0,c[g>>2]|0,c[i>>2]|0)|0;a[(c[c[h>>2]>>2]|0)+(c[i>>2]|0)>>0]=0;c[j>>2]=Vj((c[f>>2]|0)+364|0,c[c[h>>2]>>2]|0,c[h>>2]|0)|0;if(!(c[j>>2]|0)){m=c[h>>2]|0;l=k;return m|0}yd(c[f>>2]|0);Hd(c[f>>2]|0,c[j>>2]|0);c[h>>2]=0;m=c[h>>2]|0;l=k;return m|0}function Cv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;do if(c[(c[g>>2]|0)+232>>2]|0){c[j>>2]=go(c[g>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){Ab[c[(c[g>>2]|0)+232>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,c[h>>2]|0,c[j>>2]|0);Hd(c[g>>2]|0,c[j>>2]|0);break}else{l=n;return}}while(0);if(!(c[(c[g>>2]|0)+236>>2]|0)){l=n;return}c[m>>2]=Oo(c[g>>2]|0)|0;Po(c[m>>2]|0,-1,c[i>>2]|0,1,0);c[k>>2]=_h(c[m>>2]|0,((a[936]|0)==0?3:2)&255)|0;if(c[k>>2]|0)Ab[c[(c[g>>2]|0)+236>>2]&255](c[(c[g>>2]|0)+240>>2]|0,c[g>>2]|0,d[(c[g>>2]|0)+66>>0]|0,c[k>>2]|0);Rj(c[m>>2]|0);l=n;return}function Dv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;e=k+16|0;i=k+12|0;j=k+8|0;f=k+4|0;g=k;c[e>>2]=b;c[i>>2]=d;c[f>>2]=c[c[i>>2]>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=3){b=6;break}c[j>>2]=zv(c[e>>2]|0,a[25342+(c[g>>2]|0)>>0]|0,c[f>>2]|0,0)|0;if(c[(c[j>>2]|0)+12>>2]|0){b=4;break}c[g>>2]=(c[g>>2]|0)+1}if((b|0)==4){g=c[i>>2]|0;j=c[j>>2]|0;c[g>>2]=c[j>>2];c[g+4>>2]=c[j+4>>2];c[g+8>>2]=c[j+8>>2];c[g+12>>2]=c[j+12>>2];c[g+16>>2]=c[j+16>>2];c[(c[i>>2]|0)+16>>2]=0;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}else if((b|0)==6){c[h>>2]=1;j=c[h>>2]|0;l=k;return j|0}return 0}function Ev(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;while(1){if(c[d>>2]|0)a=(c[(c[d>>2]|0)+4>>2]&4096|0)!=0;else a=0;b=c[d>>2]|0;if(!a)break;a=c[d>>2]|0;if(c[b+4>>2]&262144|0){c[d>>2]=c[c[(c[a+20>>2]|0)+4>>2]>>2];continue}else{c[d>>2]=c[a+12>>2];continue}}l=e;return b|0}function Fv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[f>>2]|0)<0){f=68;f=f&255;l=g;return f|0}f=a[(c[(c[e>>2]|0)+4>>2]|0)+(c[f>>2]<<4)+13>>0]|0;f=f&255;l=g;return f|0}function Gv(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;if(!(c[h>>2]|0)){l=k;return}c[j>>2]=c[c[g>>2]>>2];if(a[(c[j>>2]|0)+69>>0]|0){l=k;return}if(c[(c[h>>2]|0)+8>>2]&128|0){l=k;return}Hv(c[g>>2]|0,c[h>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){l=k;return}if(d[(c[j>>2]|0)+69>>0]|0){l=k;return}Iv(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0);if(c[(c[g>>2]|0)+36>>2]|0){l=k;return}if(d[(c[j>>2]|0)+69>>0]|0){l=k;return}Jv(c[g>>2]|0,c[h>>2]|0);l=k;return}function Hv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+48|0;h=g+32|0;e=g+28|0;f=g;c[h>>2]=b;c[e>>2]=d;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=183;c[f>>2]=c[h>>2];if(a[(c[h>>2]|0)+22>>0]|0){c[f+8>>2]=184;Mv(f,c[e>>2]|0)|0}c[f+8>>2]=185;if(c[(c[e>>2]|0)+8>>2]&1024|0){h=c[e>>2]|0;Mv(f,h)|0;l=g;return}c[f+12>>2]=132;h=c[e>>2]|0;Mv(f,h)|0;l=g;return}function Iv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+48|0;i=e+36|0;f=e+32|0;h=e+28|0;g=e;c[i>>2]=a;c[f>>2]=b;c[h>>2]=d;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=186;c[g+8>>2]=187;c[g>>2]=c[i>>2];c[g+24>>2]=c[h>>2];Mv(g,c[f>>2]|0)|0;l=e;return}function Jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+12>>2]=133;c[f+4>>2]=183;c[f>>2]=c[g>>2];Mv(f,c[e>>2]|0)|0;l=d;return}function Kv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;n=k+28|0;m=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=a;c[m>>2]=b;b=(c[m>>2]|0)+8|0;c[b>>2]=c[b>>2]|128;c[e>>2]=c[c[n>>2]>>2];c[g>>2]=c[(c[m>>2]|0)+28>>2];c[f>>2]=0;c[h>>2]=(c[g>>2]|0)+8;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;c[i>>2]=c[(c[h>>2]|0)+16>>2];if((d[(c[i>>2]|0)+42>>0]|0)&2|0?(c[j>>2]=c[(c[h>>2]|0)+20>>2],c[j>>2]|0):0){while(1){if(!(c[(c[j>>2]|0)+48>>2]|0))break;c[j>>2]=c[(c[j>>2]|0)+48>>2]}uv(c[e>>2]|0,c[i>>2]|0,c[j>>2]|0)}c[f>>2]=(c[f>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}l=k;return}function Lv(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function Mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;d=h+4|0;g=h;c[f>>2]=a;c[d>>2]=b;do if(c[d>>2]|0){if((c[(c[f>>2]|0)+8>>2]|0)==0?(c[(c[f>>2]|0)+12>>2]|0)==0:0)break;c[g>>2]=0;b=(c[f>>2]|0)+16|0;c[b>>2]=(c[b>>2]|0)+1;while(1){if(!(c[d>>2]|0)){a=15;break}if(c[(c[f>>2]|0)+8>>2]|0?(c[g>>2]=yb[c[(c[f>>2]|0)+8>>2]&255](c[f>>2]|0,c[d>>2]|0)|0,c[g>>2]|0):0){a=15;break}if(Nv(c[f>>2]|0,c[d>>2]|0)|0){a=11;break}if(Ov(c[f>>2]|0,c[d>>2]|0)|0){a=11;break}if(c[(c[f>>2]|0)+12>>2]|0)rb[c[(c[f>>2]|0)+12>>2]&255](c[f>>2]|0,c[d>>2]|0);c[d>>2]=c[(c[d>>2]|0)+48>>2]}if((a|0)==11){g=(c[f>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+-1;c[e>>2]=2;g=c[e>>2]|0;l=h;return g|0}else if((a|0)==15){f=(c[f>>2]|0)+16|0;c[f>>2]=(c[f>>2]|0)+-1;c[e>>2]=c[g>>2]&2;g=c[e>>2]|0;l=h;return g|0}}while(0);c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}function Nv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;do if(!(Pv(c[e>>2]|0,c[c[f>>2]>>2]|0)|0)){if(Qv(c[e>>2]|0,c[(c[f>>2]|0)+32>>2]|0)|0){c[d>>2]=2;break}if(Pv(c[e>>2]|0,c[(c[f>>2]|0)+36>>2]|0)|0){c[d>>2]=2;break}if(Qv(c[e>>2]|0,c[(c[f>>2]|0)+40>>2]|0)|0){c[d>>2]=2;break}if(Pv(c[e>>2]|0,c[(c[f>>2]|0)+44>>2]|0)|0){c[d>>2]=2;break}if(Qv(c[e>>2]|0,c[(c[f>>2]|0)+56>>2]|0)|0){c[d>>2]=2;break}if(Qv(c[e>>2]|0,c[(c[f>>2]|0)+60>>2]|0)|0){c[d>>2]=2;break}else{c[d>>2]=0;break}}else c[d>>2]=2;while(0);l=g;return c[d>>2]|0}function Ov(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;i=j+20|0;e=j+16|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[k>>2]=b;c[f>>2]=c[(c[k>>2]|0)+28>>2];a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=(c[f>>2]|0)+8;while(1){if((c[g>>2]|0)<=0)break a;if(Mv(c[e>>2]|0,c[(c[h>>2]|0)+20>>2]|0)|0){a=5;break}if((d[(c[h>>2]|0)+36+1>>0]|0)>>>2&1|0?Pv(c[e>>2]|0,c[(c[h>>2]|0)+64>>2]|0)|0:0){a=8;break}c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+72}if((a|0)==5){c[i>>2]=2;k=c[i>>2]|0;l=j;return k|0}else if((a|0)==8){c[i>>2]=2;k=c[i>>2]|0;l=j;return k|0}}while(0);c[i>>2]=0;k=c[i>>2]|0;l=j;return k|0}function Pv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=c[c[f>>2]>>2];c[h>>2]=c[(c[f>>2]|0)+4>>2];while(1){if((c[g>>2]|0)<=0)break a;if(Qv(c[e>>2]|0,c[c[h>>2]>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+20}c[d>>2]=2;h=c[d>>2]|0;l=i;return h|0}while(0);c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}function Qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){e=0;l=f;return e|0}e=Rv(c[d>>2]|0,c[e>>2]|0)|0;l=f;return e|0}function Rv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=yb[c[(c[e>>2]|0)+4>>2]&255](c[e>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)==0?(c[(c[f>>2]|0)+4>>2]&8404992|0)==0:0){if(c[(c[f>>2]|0)+12>>2]|0?Rv(c[e>>2]|0,c[(c[f>>2]|0)+12>>2]|0)|0:0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}if(c[(c[f>>2]|0)+16>>2]|0?Rv(c[e>>2]|0,c[(c[f>>2]|0)+16>>2]|0)|0:0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}if(c[(c[f>>2]|0)+4>>2]&2048|0){if(Mv(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}}else if(c[(c[f>>2]|0)+20>>2]|0?Pv(c[e>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0:0){c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[d>>2]=c[g>>2]&2;g=c[d>>2]|0;l=h;return g|0}function Sv(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;M=l;l=l+144|0;p=M+40|0;H=M+32|0;J=M+24|0;I=M+16|0;G=M+8|0;F=M;L=M+128|0;B=M+124|0;C=M+120|0;D=M+116|0;E=M+112|0;m=M+108|0;n=M+104|0;o=M+100|0;h=M+96|0;q=M+92|0;r=M+88|0;s=M+84|0;t=M+80|0;u=M+76|0;v=M+72|0;w=M+68|0;x=M+64|0;y=M+132|0;z=M+60|0;A=M+56|0;i=M+52|0;j=M+48|0;k=M+44|0;c[B>>2]=f;c[C>>2]=g;c[D>>2]=c[(c[B>>2]|0)+24>>2];c[E>>2]=c[c[D>>2]>>2];if(c[(c[C>>2]|0)+4>>2]&4|0){c[L>>2]=1;L=c[L>>2]|0;l=M;return L|0}g=(c[C>>2]|0)+4|0;c[g>>2]=c[g>>2]|4;switch(d[c[C>>2]>>0]|0){case 55:{c[L>>2]=sw(c[E>>2]|0,0,0,c[(c[C>>2]|0)+8>>2]|0,c[D>>2]|0,c[C>>2]|0)|0;L=c[L>>2]|0;l=M;return L|0}case 122:{tw(c[E>>2]|0,c[D>>2]|0,25867,32);c[h>>2]=c[(c[C>>2]|0)+16>>2];if((d[c[h>>2]>>0]|0)==55){c[o>>2]=0;c[n>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[h>>2]|0)+8>>2]}else{c[o>>2]=c[(c[(c[C>>2]|0)+12>>2]|0)+8>>2];c[n>>2]=c[(c[(c[h>>2]|0)+12>>2]|0)+8>>2];c[m>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+8>>2]}c[L>>2]=sw(c[E>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0,c[D>>2]|0,c[C>>2]|0)|0;L=c[L>>2]|0;l=M;return L|0}case 151:{c[q>>2]=c[(c[C>>2]|0)+20>>2];if(c[q>>2]|0)f=c[c[q>>2]>>2]|0;else f=0;c[r>>2]=f;c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;a[y>>0]=a[(c[c[E>>2]>>2]|0)+66>>0]|0;c[w>>2]=c[(c[C>>2]|0)+8>>2];c[v>>2]=_c(c[w>>2]|0)|0;c[x>>2]=uw(c[c[E>>2]>>2]|0,c[w>>2]|0,c[r>>2]|0,a[y>>0]|0,0)|0;do if(!(c[x>>2]|0)){c[x>>2]=uw(c[c[E>>2]>>2]|0,c[w>>2]|0,-2,a[y>>0]|0,0)|0;if(!(c[x>>2]|0)){c[s>>2]=1;break}else{c[t>>2]=1;break}}else{c[u>>2]=(c[(c[x>>2]|0)+16>>2]|0)!=0&1;do if(e[(c[x>>2]|0)+2>>1]&1024|0){y=(c[C>>2]|0)+4|0;c[y>>2]=c[y>>2]|266240;if((c[r>>2]|0)!=2){c[(c[C>>2]|0)+28>>2]=(a[c[(c[x>>2]|0)+20>>2]>>0]|0)==117?8388608:125829120;break}y=vw(c[(c[(c[q>>2]|0)+4>>2]|0)+20>>2]|0)|0;c[(c[C>>2]|0)+28>>2]=y;if((c[(c[C>>2]|0)+28>>2]|0)<0){Ck(c[E>>2]|0,25884,F);F=(c[D>>2]|0)+24|0;c[F>>2]=(c[F>>2]|0)+1}}while(0);c[z>>2]=Ot(c[E>>2]|0,31,0,c[(c[x>>2]|0)+20>>2]|0,0)|0;if(c[z>>2]|0){if((c[z>>2]|0)==1){K=c[E>>2]|0;c[G>>2]=c[(c[x>>2]|0)+20>>2];Ck(K,25955,G);K=(c[D>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}a[c[C>>2]>>0]=101;c[L>>2]=1;L=c[L>>2]|0;l=M;return L|0}else{if(e[(c[x>>2]|0)+2>>1]&10240|0){G=(c[C>>2]|0)+4|0;c[G>>2]=c[G>>2]|524288}if(e[(c[x>>2]|0)+2>>1]&2048|0)break;tw(c[E>>2]|0,c[D>>2]|0,25990,34);break}}while(0);if(c[u>>2]|0?(e[(c[D>>2]|0)+28>>1]&1|0)==0:0){J=c[E>>2]|0;H=c[w>>2]|0;c[I>>2]=c[v>>2];c[I+4>>2]=H;Ck(J,26018,I);J=(c[D>>2]|0)+24|0;c[J>>2]=(c[J>>2]|0)+1;c[u>>2]=0}else K=31;do if((K|0)==31){if(c[s>>2]|0?(d[(c[c[E>>2]>>2]|0)+148+5>>0]|0)==0:0){K=c[E>>2]|0;I=c[w>>2]|0;c[J>>2]=c[v>>2];c[J+4>>2]=I;Ck(K,26054,J);K=(c[D>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1;break}if(c[t>>2]|0){K=c[E>>2]|0;J=c[w>>2]|0;c[H>>2]=c[v>>2];c[H+4>>2]=J;Ck(K,26077,H);K=(c[D>>2]|0)+24|0;c[K>>2]=(c[K>>2]|0)+1}}while(0);if(c[u>>2]|0){K=(c[D>>2]|0)+28|0;b[K>>1]=e[K>>1]&-2}Pv(c[B>>2]|0,c[q>>2]|0)|0;if(c[u>>2]|0){c[A>>2]=c[D>>2];a[c[C>>2]>>0]=-103;a[(c[C>>2]|0)+38>>0]=0;while(1){if(!(c[A>>2]|0))break;if(!((ww(c[C>>2]|0,c[(c[A>>2]|0)+4>>2]|0)|0)!=0^1))break;K=(c[C>>2]|0)+38|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24;c[A>>2]=c[(c[A>>2]|0)+16>>2]}if(c[A>>2]|0){K=(c[A>>2]|0)+28|0;b[K>>1]=e[K>>1]|(16|e[(c[x>>2]|0)+2>>1]&4096)}K=(c[D>>2]|0)+28|0;b[K>>1]=e[K>>1]|1}c[L>>2]=1;L=c[L>>2]|0;l=M;return L|0}case 33:case 20:case 119:{if(c[(c[C>>2]|0)+4>>2]&2048|0?(c[i>>2]=c[(c[D>>2]|0)+20>>2],tw(c[E>>2]|0,c[D>>2]|0,26122,38),Mv(c[B>>2]|0,c[(c[C>>2]|0)+20>>2]|0)|0,(c[i>>2]|0)!=(c[(c[D>>2]|0)+20>>2]|0)):0){K=(c[C>>2]|0)+4|0;c[K>>2]=c[K>>2]|32;K=(c[D>>2]|0)+28|0;b[K>>1]=e[K>>1]|64}break}case 135:{tw(c[E>>2]|0,c[D>>2]|0,26133,38);break}case 148:case 29:case 41:case 38:case 39:case 40:case 36:case 37:{if((a[(c[c[E>>2]>>2]|0)+69>>0]|0)==0?(c[j>>2]=xw(c[(c[C>>2]|0)+12>>2]|0)|0,c[k>>2]=xw(c[(c[C>>2]|0)+16>>2]|0)|0,(c[j>>2]|0)!=(c[k>>2]|0)):0)Ck(c[E>>2]|0,26144,p);break}default:{}}if(c[(c[E>>2]|0)+36>>2]|0)f=1;else f=(d[(c[c[E>>2]>>2]|0)+69>>0]|0)!=0;c[L>>2]=f?2:0;L=c[L>>2]|0;l=M;return L|0}function Tv(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+128|0;C=E+8|0;B=E;D=E+116|0;t=E+112|0;y=E+108|0;u=E+104|0;v=E+72|0;z=E+68|0;w=E+64|0;A=E+60|0;h=E+56|0;i=E+52|0;x=E+48|0;j=E+44|0;k=E+40|0;m=E+36|0;n=E+32|0;o=E+28|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;c[t>>2]=f;c[y>>2]=g;if(c[(c[y>>2]|0)+8>>2]&4|0){c[D>>2]=1;D=c[D>>2]|0;l=E;return D|0}c[u>>2]=c[(c[t>>2]|0)+24>>2];c[A>>2]=c[c[t>>2]>>2];c[j>>2]=c[c[A>>2]>>2];if(!(c[(c[y>>2]|0)+8>>2]&64)){Gv(c[A>>2]|0,c[y>>2]|0,c[u>>2]|0);if(c[(c[A>>2]|0)+36>>2]|0)f=1;else f=(d[(c[j>>2]|0)+69>>0]|0)!=0;c[D>>2]=f?2:1;D=c[D>>2]|0;l=E;return D|0}c[z>>2]=(c[(c[y>>2]|0)+48>>2]|0)!=0&1;c[w>>2]=0;c[x>>2]=c[y>>2];a:while(1){if(!(c[y>>2]|0)){f=68;break}t=(c[y>>2]|0)+8|0;c[t>>2]=c[t>>2]|4;c[v>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[v+12>>2]=0;c[v+16>>2]=0;c[v+20>>2]=0;c[v+24>>2]=0;c[v+28>>2]=0;c[v>>2]=c[A>>2];if(Uv(v,c[(c[y>>2]|0)+56>>2]|0)|0){f=11;break}if(Uv(v,c[(c[y>>2]|0)+60>>2]|0)|0){f=11;break}if(c[(c[y>>2]|0)+8>>2]&65536|0){c[k>>2]=c[(c[(c[y>>2]|0)+28>>2]|0)+8+20>>2];c[(c[k>>2]|0)+44>>2]=c[(c[y>>2]|0)+44>>2];c[(c[y>>2]|0)+44>>2]=0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[y>>2]|0)+28>>2]>>2]|0))break;c[m>>2]=(c[(c[y>>2]|0)+28>>2]|0)+8+((c[h>>2]|0)*72|0);if(c[(c[m>>2]|0)+20>>2]|0){c[o>>2]=0;c[p>>2]=c[(c[A>>2]|0)+448>>2];c[n>>2]=c[u>>2];while(1){if(!(c[n>>2]|0))break;c[o>>2]=(c[o>>2]|0)+(c[(c[n>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+16>>2]}if(c[(c[m>>2]|0)+8>>2]|0)c[(c[A>>2]|0)+448>>2]=c[(c[m>>2]|0)+8>>2];Iv(c[A>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[u>>2]|0);c[(c[A>>2]|0)+448>>2]=c[p>>2];if(c[(c[A>>2]|0)+36>>2]|0){f=24;break a}if(d[(c[j>>2]|0)+69>>0]|0){f=24;break a}c[n>>2]=c[u>>2];while(1){if(!(c[n>>2]|0))break;c[o>>2]=(c[o>>2]|0)-(c[(c[n>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+16>>2]}t=(c[m>>2]|0)+36+1|0;a[t>>0]=a[t>>0]&-9|((c[o>>2]|0)!=0&1)<<3&255}c[h>>2]=(c[h>>2]|0)+1}b[v+28>>1]=1;c[v+4>>2]=c[(c[y>>2]|0)+28>>2];c[v+16>>2]=c[u>>2];if(Vv(v,c[c[y>>2]>>2]|0)|0){f=31;break}c[i>>2]=c[(c[y>>2]|0)+36>>2];if(!(c[i>>2]|0)?!(e[v+28>>1]&16|0):0){t=v+28|0;b[t>>1]=e[t>>1]&-2}else{t=(c[y>>2]|0)+8|0;c[t>>2]=c[t>>2]|(8|e[v+28>>1]&4096)}if(!(c[i>>2]|0?1:(c[(c[y>>2]|0)+40>>2]|0)==0)){f=37;break}c[v+8>>2]=c[c[y>>2]>>2];if(Uv(v,c[(c[y>>2]|0)+40>>2]|0)|0){f=39;break}if(Uv(v,c[(c[y>>2]|0)+32>>2]|0)|0){f=41;break}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[(c[y>>2]|0)+28>>2]>>2]|0))break;c[q>>2]=(c[(c[y>>2]|0)+28>>2]|0)+8+((c[h>>2]|0)*72|0);if((d[(c[q>>2]|0)+36+1>>0]|0)>>>2&1|0?Vv(v,c[(c[q>>2]|0)+64>>2]|0)|0:0){f=46;break a}c[h>>2]=(c[h>>2]|0)+1}c[v+16>>2]=0;t=v+28|0;b[t>>1]=e[t>>1]|1;if(c[(c[y>>2]|0)+8>>2]&65536|0){c[r>>2]=c[(c[(c[y>>2]|0)+28>>2]|0)+8+20>>2];c[(c[y>>2]|0)+44>>2]=c[(c[r>>2]|0)+44>>2];c[(c[r>>2]|0)+44>>2]=0}if((c[z>>2]|0)<=(c[w>>2]|0)?Wv(v,c[y>>2]|0,c[(c[y>>2]|0)+44>>2]|0,25405)|0:0){f=52;break}if(a[(c[j>>2]|0)+69>>0]|0){f=54;break}b:do if(c[i>>2]|0){if(Wv(v,c[y>>2]|0,c[i>>2]|0,25411)|0){f=58;break a}if(d[(c[j>>2]|0)+69>>0]|0){f=58;break a}c[h>>2]=0;c[s>>2]=c[(c[i>>2]|0)+4>>2];while(1){if((c[h>>2]|0)>=(c[c[i>>2]>>2]|0))break b;if(c[(c[c[s>>2]>>2]|0)+4>>2]&2|0){f=62;break a}c[h>>2]=(c[h>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+20}}while(0);if(c[(c[y>>2]|0)+52>>2]|0?(c[c[c[y>>2]>>2]>>2]|0)!=(c[c[c[(c[y>>2]|0)+52>>2]>>2]>>2]|0):0){f=66;break}c[y>>2]=c[(c[y>>2]|0)+48>>2];c[w>>2]=(c[w>>2]|0)+1}switch(f|0){case 11:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 24:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 31:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 37:{Ck(c[A>>2]|0,25361,B);c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 39:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 41:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 46:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 52:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 54:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 58:{c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 62:{Ck(c[A>>2]|0,25417,C);c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 66:{Xv(c[A>>2]|0,c[(c[y>>2]|0)+52>>2]|0);c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}case 68:{if(c[z>>2]|0?Yv(c[A>>2]|0,c[x>>2]|0)|0:0){c[D>>2]=2;D=c[D>>2]|0;l=E;return D|0}c[D>>2]=1;D=c[D>>2]|0;l=E;return D|0}}return 0}function Uv(d,f){d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;g=n+40|0;h=n+36|0;i=n+32|0;j=n+44|0;k=n+4|0;m=n;c[h>>2]=d;c[i>>2]=f;if(!(c[i>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}c[m>>2]=c[c[h>>2]>>2];if(rw(c[m>>2]|0,(c[(c[i>>2]|0)+24>>2]|0)+(c[(c[c[h>>2]>>2]|0)+416>>2]|0)|0)|0){c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}m=(c[m>>2]|0)+416|0;c[m>>2]=(c[m>>2]|0)+(c[(c[i>>2]|0)+24>>2]|0);b[j>>1]=(e[(c[h>>2]|0)+28>>1]|0)&4112;m=(c[h>>2]|0)+28|0;b[m>>1]=(e[m>>1]|0)&-4113;c[k>>2]=c[c[h>>2]>>2];c[k+4>>2]=186;c[k+8>>2]=187;c[k+12>>2]=0;c[k+16>>2]=0;a[k+20>>0]=0;c[k+24>>2]=c[h>>2];Qv(k,c[i>>2]|0)|0;m=(c[c[h>>2]>>2]|0)+416|0;c[m>>2]=(c[m>>2]|0)-(c[(c[i>>2]|0)+24>>2]|0);if(!((c[(c[h>>2]|0)+24>>2]|0)<=0?(c[(c[k>>2]|0)+36>>2]|0)<=0:0)){m=(c[i>>2]|0)+4|0;c[m>>2]=c[m>>2]|8}if((e[(c[h>>2]|0)+28>>1]|0)&16|0){m=(c[i>>2]|0)+4|0;c[m>>2]=c[m>>2]|2}m=(c[h>>2]|0)+28|0;b[m>>1]=e[m>>1]|0|(e[j>>1]|0);c[g>>2]=(c[(c[i>>2]|0)+4>>2]&8|0)!=0&1;m=c[g>>2]|0;l=n;return m|0}function Vv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[f>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[f>>2]>>2]|0))break a;if(Uv(c[e>>2]|0,c[(c[(c[f>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0)break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=2;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function Wv(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;h=v+24|0;i=v+20|0;j=v+16|0;k=v+12|0;m=v+8|0;n=v+4|0;o=v;c[q>>2]=d;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;if(!(c[s>>2]|0)){c[p>>2]=0;u=c[p>>2]|0;l=v;return u|0}c[m>>2]=c[c[c[r>>2]>>2]>>2];c[k>>2]=c[c[q>>2]>>2];c[u>>2]=0;c[j>>2]=c[(c[s>>2]|0)+4>>2];a:while(1){if((c[u>>2]|0)>=(c[c[s>>2]>>2]|0)){f=21;break}c[n>>2]=c[c[j>>2]>>2];c[o>>2]=Ev(c[n>>2]|0)|0;if((a[c[t>>2]>>0]|0)!=71?(c[i>>2]=$v(c[k>>2]|0,c[c[r>>2]>>2]|0,c[o>>2]|0)|0,(c[i>>2]|0)>0):0){d=c[i>>2]&65535;e=c[j>>2]|0;f=19}else f=8;b:do if((f|0)==8){f=0;if(Zv(c[o>>2]|0,i)|0){if((c[i>>2]|0)<1|(c[i>>2]|0)>65535){f=10;break a}d=c[i>>2]&65535;e=c[j>>2]|0;f=19;break}b[(c[j>>2]|0)+16>>1]=0;if(Uv(c[q>>2]|0,c[n>>2]|0)|0){f=13;break a}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[c[r>>2]>>2]>>2]|0))break b;if(!(cw(c[n>>2]|0,c[(c[(c[c[r>>2]>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,-1)|0))b[(c[j>>2]|0)+16>>1]=(c[h>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}}while(0);if((f|0)==19)b[e+16>>1]=d;c[u>>2]=(c[u>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((f|0)==10){_v(c[k>>2]|0,c[t>>2]|0,(c[u>>2]|0)+1|0,c[m>>2]|0);c[p>>2]=1;u=c[p>>2]|0;l=v;return u|0}else if((f|0)==13){c[p>>2]=1;u=c[p>>2]|0;l=v;return u|0}else if((f|0)==21){c[p>>2]=lw(c[k>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;u=c[p>>2]|0;l=v;return u|0}return 0}function Xv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;g=l;l=l+32|0;f=g+8|0;h=g+16|0;e=g+12|0;c[h>>2]=a;c[e>>2]=b;a=c[h>>2]|0;if(c[(c[e>>2]|0)+8>>2]&512|0){Ck(a,25627,g);l=g;return}else{c[f>>2]=kw(d[(c[e>>2]|0)+4>>0]|0)|0;Ck(a,25673,f);l=g;return}}function Yv(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;v=w+8|0;q=w+64|0;r=w+60|0;n=w+56|0;s=w+52|0;t=w+48|0;u=w+44|0;o=w+40|0;p=w+36|0;g=w+32|0;h=w+28|0;i=w+24|0;j=w+20|0;k=w+16|0;m=w+12|0;c[r>>2]=e;c[n>>2]=f;c[p>>2]=1;c[t>>2]=c[(c[n>>2]|0)+44>>2];if(!(c[t>>2]|0)){c[q>>2]=0;v=c[q>>2]|0;l=w;return v|0}c[o>>2]=c[c[r>>2]>>2];if((c[c[t>>2]>>2]|0)>(c[(c[o>>2]|0)+96+8>>2]|0)){Ck(c[r>>2]|0,25476,w);c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0))break;f=(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13|0;a[f>>0]=a[f>>0]&-2;c[s>>2]=(c[s>>2]|0)+1}c[(c[n>>2]|0)+52>>2]=0;while(1){if(!(c[(c[n>>2]|0)+48>>2]|0))break;c[(c[(c[n>>2]|0)+48>>2]|0)+52>>2]=c[n>>2];c[n>>2]=c[(c[n>>2]|0)+48>>2]}a:while(1){if(!(c[n>>2]|0?(c[p>>2]|0)!=0:0)){e=36;break}c[p>>2]=0;c[u>>2]=c[c[n>>2]>>2];c[s>>2]=0;c[g>>2]=c[(c[t>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0))break;c[h>>2]=-1;do if(!(a[(c[g>>2]|0)+13>>0]&1)){c[i>>2]=Ev(c[c[g>>2]>>2]|0)|0;if(Zv(c[i>>2]|0,h)|0){if((c[h>>2]|0)<=0){e=18;break a}if((c[h>>2]|0)>(c[c[u>>2]>>2]|0)){e=18;break a}}else{c[h>>2]=$v(c[r>>2]|0,c[u>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){c[j>>2]=aw(c[o>>2]|0,c[i>>2]|0,0)|0;if(!(a[(c[o>>2]|0)+69>>0]|0))c[h>>2]=bw(c[r>>2]|0,c[n>>2]|0,c[j>>2]|0)|0;ck(c[o>>2]|0,c[j>>2]|0)}}if((c[h>>2]|0)<=0){c[p>>2]=1;break}c[k>>2]=Ns(c[o>>2]|0,134,0)|0;if(!(c[k>>2]|0)){e=25;break a}f=(c[k>>2]|0)+4|0;c[f>>2]=c[f>>2]|1024;c[(c[k>>2]|0)+8>>2]=c[h>>2];if((c[c[g>>2]>>2]|0)==(c[i>>2]|0))c[c[g>>2]>>2]=c[k>>2];else{c[m>>2]=c[c[g>>2]>>2];while(1){if((d[c[(c[m>>2]|0)+12>>2]>>0]|0)!=53)break;c[m>>2]=c[(c[m>>2]|0)+12>>2]}c[(c[m>>2]|0)+12>>2]=c[k>>2]}ck(c[o>>2]|0,c[i>>2]|0);b[(c[g>>2]|0)+16>>1]=c[h>>2];f=(c[g>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2|1}while(0);c[s>>2]=(c[s>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}c[n>>2]=c[(c[n>>2]|0)+52>>2]}if((e|0)==18){_v(c[r>>2]|0,25405,(c[s>>2]|0)+1|0,c[c[u>>2]>>2]|0);c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}else if((e|0)==25){c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}else if((e|0)==36){c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[c[t>>2]>>2]|0)){e=41;break}if(!(a[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)+13>>0]&1)){e=39;break}c[s>>2]=(c[s>>2]|0)+1}if((e|0)==39){u=c[r>>2]|0;c[v>>2]=(c[s>>2]|0)+1;Ck(u,25510,v);c[q>>2]=1;v=c[q>>2]|0;l=w;return v|0}else if((e|0)==41){c[q>>2]=0;v=c[q>>2]|0;l=w;return v|0}}return 0}function Zv(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=0;a=c[f>>2]|0;if(c[(c[f>>2]|0)+4>>2]&1024|0){c[c[g>>2]>>2]=c[a+8>>2];c[e>>2]=1;i=c[e>>2]|0;l=j;return i|0}switch(d[a>>0]|0|0){case 156:{c[h>>2]=Zv(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0)|0;break}case 155:{if(Zv(c[(c[f>>2]|0)+12>>2]|0,i)|0){c[c[g>>2]>>2]=0-(c[i>>2]|0);c[h>>2]=1}break}default:{}}c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function _v(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+32|0;g=f;k=f+24|0;j=f+20|0;h=f+16|0;i=f+12|0;c[k>>2]=a;c[j>>2]=b;c[h>>2]=d;c[i>>2]=e;e=c[k>>2]|0;b=c[j>>2]|0;d=c[i>>2]|0;c[g>>2]=c[h>>2];c[g+4>>2]=b;c[g+8>>2]=d;Ck(e,25571,g);l=f;return}function $v(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+24|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[m+20>>2]=a;c[g>>2]=b;c[h>>2]=e;a:do if((d[c[h>>2]>>0]|0|0)==55){c[j>>2]=c[(c[h>>2]|0)+8>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[g>>2]>>2]|0))break a;c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+4>>2];if(c[k>>2]|0?(Ig(c[k>>2]|0,c[j>>2]|0)|0)==0:0)break;c[i>>2]=(c[i>>2]|0)+1}c[f>>2]=(c[i>>2]|0)+1;k=c[f>>2]|0;l=m;return k|0}while(0);c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}function aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(!(c[f>>2]|0)){g=0;l=h;return g|0}g=ew(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0,0)|0;l=h;return g|0}function bw(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;k=l;l=l+80|0;j=k+60|0;q=k+56|0;r=k+52|0;g=k+48|0;h=k+44|0;i=k+40|0;p=k+8|0;n=k+4|0;m=k;o=k+64|0;c[q>>2]=d;c[r>>2]=e;c[g>>2]=f;c[i>>2]=c[c[r>>2]>>2];c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[q>>2];c[p+4>>2]=c[(c[r>>2]|0)+28>>2];c[p+8>>2]=c[i>>2];b[p+28>>1]=1;c[p+24>>2]=0;c[n>>2]=c[c[q>>2]>>2];a[o>>0]=a[(c[n>>2]|0)+73>>0]|0;a[(c[n>>2]|0)+73>>0]=1;c[m>>2]=Uv(p,c[g>>2]|0)|0;a[(c[n>>2]|0)+73>>0]=a[o>>0]|0;if(c[m>>2]|0){c[j>>2]=0;r=c[j>>2]|0;l=k;return r|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[i>>2]>>2]|0)){d=8;break}r=(cw(c[(c[(c[i>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[g>>2]|0,-1)|0)<2;e=(c[h>>2]|0)+1|0;if(r){d=6;break}c[h>>2]=e}if((d|0)==6){c[j>>2]=e;r=c[j>>2]|0;l=k;return r|0}else if((d|0)==8){c[j>>2]=0;r=c[j>>2]|0;l=k;return r|0}return 0}function cw(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=a;c[i>>2]=e;c[j>>2]=f;if((c[h>>2]|0)==0|(c[i>>2]|0)==0){c[g>>2]=(c[i>>2]|0)==(c[h>>2]|0)?0:2;k=c[g>>2]|0;l=m;return k|0}c[k>>2]=c[(c[h>>2]|0)+4>>2]|c[(c[i>>2]|0)+4>>2];a=c[h>>2]|0;if(c[k>>2]&1024|0){if(c[a+4>>2]&c[(c[i>>2]|0)+4>>2]&1024|0?(c[(c[h>>2]|0)+8>>2]|0)==(c[(c[i>>2]|0)+8>>2]|0):0){c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}e=d[c[h>>2]>>0]|0;if((d[a>>0]|0)!=(d[c[i>>2]>>0]|0)){if((e|0)==53?(cw(c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)<2:0){c[g>>2]=1;k=c[g>>2]|0;l=m;return k|0}if((d[c[i>>2]>>0]|0)==53?(cw(c[h>>2]|0,c[(c[i>>2]|0)+12>>2]|0,c[j>>2]|0)|0)<2:0){c[g>>2]=1;k=c[g>>2]|0;l=m;return k|0}c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}do if(((e|0)!=152?(d[c[h>>2]>>0]|0)!=154:0)?c[(c[h>>2]|0)+8>>2]|0:0){a=c[(c[h>>2]|0)+8>>2]|0;e=c[(c[i>>2]|0)+8>>2]|0;if((d[c[h>>2]>>0]|0)==151){if(!(Ig(a,e)|0))break;c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}else{if(!(vQ(a,e)|0))break;c[g>>2]=(d[c[h>>2]>>0]|0)==53?1:2;k=c[g>>2]|0;l=m;return k|0}}while(0);if((c[(c[h>>2]|0)+4>>2]&16|0)!=(c[(c[i>>2]|0)+4>>2]&16|0)){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}do if(!(c[k>>2]&16384)){if(c[k>>2]&2048|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if(cw(c[(c[h>>2]|0)+12>>2]|0,c[(c[i>>2]|0)+12>>2]|0,c[j>>2]|0)|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if(cw(c[(c[h>>2]|0)+16>>2]|0,c[(c[i>>2]|0)+16>>2]|0,c[j>>2]|0)|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if(dw(c[(c[h>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[j>>2]|0)|0){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if((c[k>>2]&8192|0)==0?(d[c[h>>2]>>0]|0)!=97:0){if((b[(c[h>>2]|0)+32>>1]|0)!=(b[(c[i>>2]|0)+32>>1]|0)){c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}if((c[(c[h>>2]|0)+28>>2]|0)!=(c[(c[i>>2]|0)+28>>2]|0)){if((c[(c[h>>2]|0)+28>>2]|0)==(c[j>>2]|0)?(c[(c[i>>2]|0)+28>>2]|0)<0:0)break;c[g>>2]=2;k=c[g>>2]|0;l=m;return k|0}}}while(0);c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function dw(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;if((c[f>>2]|0)==0&(c[g>>2]|0)==0){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}if((c[f>>2]|0)==0|(c[g>>2]|0)==0){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}if((c[c[f>>2]>>2]|0)!=(c[c[g>>2]>>2]|0)){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[f>>2]>>2]|0)){a=14;break}c[j>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];c[k>>2]=c[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];if((d[(c[(c[f>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+12>>0]|0|0)!=(d[(c[(c[g>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+12>>0]|0|0)){a=10;break}if(cw(c[j>>2]|0,c[k>>2]|0,c[h>>2]|0)|0){a=12;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==10){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==12){c[m>>2]=1;m=c[m>>2]|0;l=n;return m|0}else if((a|0)==14){c[m>>2]=0;m=c[m>>2]|0;l=n;return m|0}return 0}function ew(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+44|0;r=t+40|0;n=t+36|0;o=t+32|0;s=t+28|0;p=t+24|0;g=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[q>>2]=a;c[r>>2]=b;c[n>>2]=e;c[o>>2]=f;if(c[o>>2]|0){c[p>>2]=c[c[o>>2]>>2];c[g>>2]=32768}else{e=c[q>>2]|0;f=fw(c[r>>2]|0,c[n>>2]|0)|0;c[p>>2]=od(e,f,((f|0)<0)<<31>>31)|0;c[g>>2]=0}c[s>>2]=c[p>>2];if(!(c[s>>2]|0)){s=c[s>>2]|0;l=t;return s|0}c[h>>2]=gw(c[r>>2]|0,c[n>>2]|0)|0;c[i>>2]=c[h>>2]&4095;if(!(c[(c[r>>2]|0)+4>>2]&1024|0)?c[(c[r>>2]|0)+8>>2]|0:0)c[j>>2]=(_c(c[(c[r>>2]|0)+8>>2]|0)|0)+1;else c[j>>2]=0;if(!(c[n>>2]|0)){c[k>>2]=hw(c[r>>2]|0)|0;MR(c[p>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;if((c[k>>2]|0)>>>0<48)GR((c[p>>2]|0)+(c[k>>2]|0)|0,0,48-(c[k>>2]|0)|0)|0}else MR(c[p>>2]|0,c[r>>2]|0,c[i>>2]|0)|0;f=(c[s>>2]|0)+4|0;c[f>>2]=c[f>>2]&-122881;f=(c[s>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[h>>2]&24576;f=(c[s>>2]|0)+4|0;c[f>>2]=c[f>>2]|c[g>>2];if(c[j>>2]|0){f=(c[p>>2]|0)+(c[i>>2]|0)|0;c[(c[s>>2]|0)+8>>2]=f;c[m>>2]=f;MR(c[m>>2]|0,c[(c[r>>2]|0)+8>>2]|0,c[j>>2]|0)|0}do if(!((c[(c[r>>2]|0)+4>>2]|c[(c[s>>2]|0)+4>>2])&8404992)){a=c[q>>2]|0;b=(c[r>>2]|0)+20|0;if(c[(c[r>>2]|0)+4>>2]&2048|0){f=qv(a,c[b>>2]|0,c[n>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=f;break}else{f=iw(a,c[b>>2]|0,c[n>>2]|0)|0;c[(c[s>>2]|0)+20>>2]=f;break}}while(0);a=c[r>>2]|0;if(!(c[(c[s>>2]|0)+4>>2]&24576)){if(c[a+4>>2]&8404992|0){s=c[s>>2]|0;l=t;return s|0}if((d[c[s>>2]>>0]|0|0)==159){a=c[(c[r>>2]|0)+12>>2]|0;b=c[s>>2]|0}else{a=aw(c[q>>2]|0,c[(c[r>>2]|0)+12>>2]|0,0)|0;b=c[s>>2]|0}c[b+12>>2]=a;r=aw(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,0)|0;c[(c[s>>2]|0)+16>>2]=r;s=c[s>>2]|0;l=t;return s|0}n=jw(a,c[n>>2]|0)|0;c[p>>2]=(c[p>>2]|0)+n;if(!(c[(c[s>>2]|0)+4>>2]&8404992)){if(c[(c[r>>2]|0)+12>>2]|0)a=ew(c[q>>2]|0,c[(c[r>>2]|0)+12>>2]|0,1,p)|0;else a=0;c[(c[s>>2]|0)+12>>2]=a;if(c[(c[r>>2]|0)+16>>2]|0)a=ew(c[q>>2]|0,c[(c[r>>2]|0)+16>>2]|0,1,p)|0;else a=0;c[(c[s>>2]|0)+16>>2]=a}if(!(c[o>>2]|0)){s=c[s>>2]|0;l=t;return s|0}c[c[o>>2]>>2]=c[p>>2];s=c[s>>2]|0;l=t;return s|0}function fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[d>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=jw(c[d>>2]|0,c[e>>2]|0)|0;if(!(c[e>>2]&1)){f=c[f>>2]|0;l=g;return f|0}b=fw(c[(c[d>>2]|0)+12>>2]|0,c[e>>2]|0)|0;e=b+(fw(c[(c[d>>2]|0)+16>>2]|0,c[e>>2]|0)|0)|0;c[f>>2]=(c[f>>2]|0)+e;f=c[f>>2]|0;l=g;return f|0}function gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;do if(!(c[g>>2]|0))c[e>>2]=48;else{if((c[(c[d>>2]|0)+12>>2]|0)==0?(c[(c[d>>2]|0)+20>>2]|0)==0:0){c[e>>2]=16396;break}c[e>>2]=8220}while(0);l=f;return c[e>>2]|0}function hw(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(!(c[(c[d>>2]|0)+4>>2]&16384|0))if(c[(c[d>>2]|0)+4>>2]&8192|0){c[b>>2]=28;break}else{c[b>>2]=48;break}else c[b>>2]=12;while(0);l=e;return c[b>>2]|0}function iw(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+32|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;g=q+4|0;h=q;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;if(!(c[k>>2]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[n>>2]=od(c[j>>2]|0,8,0)|0;if(!(c[n>>2]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}f=c[c[k>>2]>>2]|0;c[g>>2]=f;c[c[n>>2]>>2]=f;a:do if(!(c[m>>2]&1)){c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break a;c[g>>2]=(c[g>>2]|0)+(c[g>>2]|0)}}while(0);f=od(c[j>>2]|0,(c[g>>2]|0)*20|0,0)|0;c[o>>2]=f;c[(c[n>>2]|0)+4>>2]=f;if(!(c[o>>2]|0)){Hd(c[j>>2]|0,c[n>>2]|0);c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[p>>2]=c[(c[k>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[k>>2]>>2]|0))break;c[h>>2]=c[c[p>>2]>>2];f=aw(c[j>>2]|0,c[h>>2]|0,c[m>>2]|0)|0;c[c[o>>2]>>2]=f;f=go(c[j>>2]|0,c[(c[p>>2]|0)+4>>2]|0)|0;c[(c[o>>2]|0)+4>>2]=f;f=go(c[j>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[o>>2]|0)+8>>2]=f;a[(c[o>>2]|0)+12>>0]=a[(c[p>>2]|0)+12>>0]|0;f=(c[o>>2]|0)+13|0;a[f>>0]=a[f>>0]&-2;f=(c[o>>2]|0)+13|0;a[f>>0]=a[f>>0]&-3|((d[(c[p>>2]|0)+13>>0]|0)>>>1&1)<<1&255;c[(c[o>>2]|0)+16>>2]=c[(c[p>>2]|0)+16>>2];c[g>>2]=(c[g>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20;c[p>>2]=(c[p>>2]|0)+20}c[i>>2]=c[n>>2];p=c[i>>2]|0;l=q;return p|0}function jw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(gw(c[d>>2]|0,c[g>>2]|0)|0)&4095;if((c[(c[d>>2]|0)+4>>2]&1024|0)==0?c[(c[d>>2]|0)+8>>2]|0:0){g=(_c(c[(c[d>>2]|0)+8>>2]|0)|0)+1|0;c[e>>2]=(c[e>>2]|0)+g}l=f;return (c[e>>2]|0)+7&-8|0}function kw(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;switch(c[e>>2]|0){case 116:{c[b>>2]=25755;break}case 118:{c[b>>2]=25765;break}case 117:{c[b>>2]=25775;break}default:c[b>>2]=25782}l=d;return c[b>>2]|0}function lw(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;k=t;q=t+36|0;n=t+32|0;j=t+28|0;o=t+24|0;r=t+20|0;s=t+16|0;i=t+12|0;p=t+8|0;m=t+4|0;c[n>>2]=a;c[j>>2]=f;c[o>>2]=g;c[r>>2]=h;c[i>>2]=c[c[n>>2]>>2];if(c[o>>2]|0?(d[(c[c[n>>2]>>2]|0)+69>>0]|0)==0:0){if((c[c[o>>2]>>2]|0)>(c[(c[i>>2]|0)+96+8>>2]|0)){s=c[n>>2]|0;c[k>>2]=c[r>>2];Ck(s,25788,k);c[q>>2]=1;s=c[q>>2]|0;l=t;return s|0}c[p>>2]=c[c[j>>2]>>2];c[s>>2]=0;c[m>>2]=c[(c[o>>2]|0)+4>>2];while(1){if((c[s>>2]|0)>=(c[c[o>>2]>>2]|0)){a=13;break}if(b[(c[m>>2]|0)+16>>1]|0){f=c[n>>2]|0;if((e[(c[m>>2]|0)+16>>1]|0)>(c[c[p>>2]>>2]|0)){a=10;break}mw(f,c[p>>2]|0,(e[(c[m>>2]|0)+16>>1]|0)-1|0,c[c[m>>2]>>2]|0,c[r>>2]|0,0)}c[s>>2]=(c[s>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}if((a|0)==10){_v(f,c[r>>2]|0,(c[s>>2]|0)+1|0,c[c[p>>2]>>2]|0);c[q>>2]=1;s=c[q>>2]|0;l=t;return s|0}else if((a|0)==13){c[q>>2]=0;s=c[q>>2]|0;l=t;return s|0}}c[q>>2]=0;s=c[q>>2]|0;l=t;return s|0}function mw(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;q=l;l=l+48|0;m=q+32|0;t=q+28|0;s=q+24|0;p=q+20|0;j=q+16|0;k=q+12|0;r=q+8|0;n=q+4|0;o=q;c[m>>2]=b;c[t>>2]=e;c[s>>2]=f;c[p>>2]=g;c[j>>2]=h;c[k>>2]=i;c[r>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[s>>2]|0)*20|0)>>2];c[o>>2]=c[c[m>>2]>>2];c[n>>2]=aw(c[o>>2]|0,c[r>>2]|0,0)|0;if(!(c[n>>2]|0)){l=q;return}if((a[c[j>>2]>>0]|0)!=71)nw(c[n>>2]|0,c[k>>2]|0);if((d[c[p>>2]>>0]|0)==53)c[n>>2]=ow(c[m>>2]|0,c[n>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;b=(c[n>>2]|0)+4|0;c[b>>2]=c[b>>2]|4194304;b=(c[p>>2]|0)+4|0;c[b>>2]=c[b>>2]|32768;ck(c[o>>2]|0,c[p>>2]|0);b=c[p>>2]|0;e=c[n>>2]|0;j=b+48|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(j|0));if((c[(c[p>>2]|0)+4>>2]&1024|0)==0?c[(c[p>>2]|0)+8>>2]|0:0){t=go(c[o>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[(c[p>>2]|0)+8>>2]=t;t=(c[p>>2]|0)+4|0;c[t>>2]=c[t>>2]|65536}Hd(c[o>>2]|0,c[n>>2]|0);l=q;return}function nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;d=g+32|0;e=g+28|0;f=g;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)<=0){l=g;return};c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=188;c[f+24>>2]=c[e>>2];Qv(f,c[d>>2]|0)|0;l=g;return}function ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+32|0;h=e+16|0;g=e+12|0;i=e+8|0;f=e;c[h>>2]=a;c[g>>2]=b;c[i>>2]=d;pw(f,c[i>>2]|0);d=ct(c[h>>2]|0,c[g>>2]|0,f,0)|0;l=e;return d|0}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];b=_c(c[f>>2]|0)|0;c[(c[e>>2]|0)+4>>2]=b;l=d;return}function qw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if((d[c[g>>2]>>0]|0|0)!=153){l=h;return 0}g=(c[g>>2]|0)+38|0;a[g>>0]=(d[g>>0]|0)+(c[(c[f>>2]|0)+24>>2]|0);l=h;return 0}function rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;g=h;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;c[d>>2]=a;c[i>>2]=b;c[e>>2]=0;c[f>>2]=c[(c[c[d>>2]>>2]|0)+96+12>>2];if((c[i>>2]|0)<=(c[f>>2]|0)){i=c[e>>2]|0;l=h;return i|0}i=c[d>>2]|0;c[g>>2]=c[f>>2];Ck(i,25819,g);c[e>>2]=1;i=c[e>>2]|0;l=h;return i|0}function sw(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+176|0;W=X+40|0;V=X+24|0;F=X+8|0;E=X;S=X+164|0;T=X+160|0;D=X+156|0;U=X+152|0;I=X+148|0;J=X+144|0;K=X+140|0;m=X+136|0;n=X+132|0;L=X+128|0;o=X+124|0;p=X+120|0;M=X+116|0;q=X+112|0;N=X+108|0;O=X+104|0;P=X+100|0;Q=X+96|0;r=X+92|0;s=X+88|0;t=X+84|0;u=X+80|0;v=X+76|0;w=X+72|0;y=X+68|0;A=X+64|0;B=X+60|0;C=X+56|0;H=X+52|0;R=X+48|0;c[T>>2]=f;c[D>>2]=g;c[U>>2]=h;c[I>>2]=i;c[J>>2]=j;c[K>>2]=k;c[L>>2]=0;c[o>>2]=0;c[p>>2]=0;c[M>>2]=c[c[T>>2]>>2];c[N>>2]=0;c[O>>2]=c[J>>2];c[P>>2]=0;c[Q>>2]=0;c[r>>2]=0;c[(c[K>>2]|0)+28>>2]=-1;c[(c[K>>2]|0)+44>>2]=0;a:do if(c[D>>2]|0){if(e[(c[J>>2]|0)+28>>1]&6|0){c[D>>2]=0;break}c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[M>>2]|0)+20>>2]|0))break a;if(!(Ig(c[(c[(c[M>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0,c[D>>2]|0)|0))break;c[m>>2]=(c[m>>2]|0)+1}c[P>>2]=c[(c[(c[M>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]}while(0);b:while(1){if(!(c[J>>2]|0?(c[L>>2]|0)==0:0)){G=84;break}c[u>>2]=c[(c[J>>2]|0)+4>>2];if(c[u>>2]|0){c[m>>2]=0;c[q>>2]=(c[u>>2]|0)+8;while(1){if((c[m>>2]|0)>=(c[c[u>>2]>>2]|0))break;c[r>>2]=c[(c[q>>2]|0)+16>>2];if(c[(c[q>>2]|0)+20>>2]|0?c[(c[(c[q>>2]|0)+20>>2]|0)+8>>2]&2048|0:0){c[v>>2]=0;c[t>>2]=c[c[(c[q>>2]|0)+20>>2]>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break;if(Aw(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+8>>2]|0,c[I>>2]|0,c[U>>2]|0,c[D>>2]|0)|0){c[L>>2]=(c[L>>2]|0)+1;c[o>>2]=2;c[N>>2]=c[q>>2];b[(c[K>>2]|0)+32>>1]=c[n>>2];c[v>>2]=1}c[n>>2]=(c[n>>2]|0)+1}if(!((c[v>>2]|0)!=0|(c[U>>2]|0)==0))G=21}else G=21;c:do if((G|0)==21){G=0;if(c[D>>2]|0?(c[(c[r>>2]|0)+64>>2]|0)!=(c[P>>2]|0):0)break;if(c[U>>2]|0?(c[w>>2]=c[(c[(c[q>>2]|0)+12>>2]|0?(c[q>>2]|0)+12|0:c[r>>2]|0)>>2],Ig(c[w>>2]|0,c[U>>2]|0)|0):0)break;k=c[o>>2]|0;c[o>>2]=k+1;if(!k)c[N>>2]=c[q>>2];c[n>>2]=0;c[s>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[n>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break c;if(!(Ig(c[c[s>>2]>>2]|0,c[I>>2]|0)|0)){if((c[L>>2]|0)!=1)break;if((d[(c[q>>2]|0)+36>>0]&4|0)==0?(Bw(c[(c[q>>2]|0)+52>>2]|0,c[I>>2]|0)|0)==0:0)break}c[n>>2]=(c[n>>2]|0)+1;c[s>>2]=(c[s>>2]|0)+16}c[L>>2]=(c[L>>2]|0)+1;c[N>>2]=c[q>>2];if((c[n>>2]|0)==(b[(c[r>>2]|0)+32>>1]|0))f=-1;else f=(c[n>>2]&65535)<<16>>16;b[(c[K>>2]|0)+32>>1]=f}while(0);c[m>>2]=(c[m>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+72}if(c[N>>2]|0){c[(c[K>>2]|0)+28>>2]=c[(c[N>>2]|0)+44>>2];c[(c[K>>2]|0)+44>>2]=c[(c[N>>2]|0)+16>>2];if(d[(c[N>>2]|0)+36>>0]&8|0){k=(c[K>>2]|0)+4|0;c[k>>2]=c[k>>2]|1048576}c[P>>2]=c[(c[(c[K>>2]|0)+44>>2]|0)+64>>2]}}if((c[D>>2]|0)==0&(c[U>>2]|0)!=0&(c[o>>2]|0)==0?c[(c[T>>2]|0)+128>>2]|0:0){c[y>>2]=d[(c[T>>2]|0)+148>>0];if((c[y>>2]|0)!=109?(Ig(26246,c[U>>2]|0)|0)==0:0){c[(c[K>>2]|0)+28>>2]=1;c[r>>2]=c[(c[T>>2]|0)+128>>2]}else G=47;do if((G|0)==47){G=0;if((c[y>>2]|0)!=108?(Ig(26250,c[U>>2]|0)|0)==0:0){c[(c[K>>2]|0)+28>>2]=0;c[r>>2]=c[(c[T>>2]|0)+128>>2];break}c[r>>2]=0}while(0);if(c[r>>2]|0){c[P>>2]=c[(c[r>>2]|0)+64>>2];c[o>>2]=(c[o>>2]|0)+1;c[A>>2]=0;c[s>>2]=c[(c[r>>2]|0)+4>>2];while(1){if((c[A>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;k=(Ig(c[c[s>>2]>>2]|0,c[I>>2]|0)|0)==0;x=c[A>>2]|0;if(k){G=55;break}c[A>>2]=x+1;c[s>>2]=(c[s>>2]|0)+16}if((G|0)==55?(G=0,(x|0)==(b[(c[r>>2]|0)+32>>1]|0)):0)c[A>>2]=-1;if(((c[A>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0)?Cw(c[I>>2]|0)|0:0)?(d[(c[r>>2]|0)+42>>0]&64|0)==0:0)c[A>>2]=-1;if((c[A>>2]|0)<(b[(c[r>>2]|0)+34>>1]|0)){c[L>>2]=(c[L>>2]|0)+1;f=c[K>>2]|0;if((c[A>>2]|0)<0)a[f+1>>0]=68;else{k=(c[f+28>>2]|0)==0?(c[T>>2]|0)+140|0:(c[T>>2]|0)+144|0;c[k>>2]=c[k>>2]|((c[A>>2]|0)>=32?-1:1<>2])}b[(c[K>>2]|0)+32>>1]=c[A>>2];c[(c[K>>2]|0)+44>>2]=c[r>>2];c[Q>>2]=1}}}if((((c[L>>2]|0)==0&(c[o>>2]|0)==1&(c[N>>2]|0)!=0?(e[(c[J>>2]|0)+28>>1]&32|0)==0:0)?Cw(c[I>>2]|0)|0:0)?(d[(c[(c[N>>2]|0)+16>>2]|0)+42>>0]&64|0)==0:0){c[L>>2]=1;b[(c[K>>2]|0)+32>>1]=-1;a[(c[K>>2]|0)+1>>0]=68}k=c[(c[J>>2]|0)+8>>2]|0;c[t>>2]=k;d:do if((k|0)!=0&(c[U>>2]|0)==0&(c[L>>2]|0)==0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[c[t>>2]>>2]|0))break d;c[B>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)+4>>2];if(c[B>>2]|0?(Ig(c[B>>2]|0,c[I>>2]|0)|0)==0:0){G=77;break b}c[n>>2]=(c[n>>2]|0)+1}}while(0);if(c[L>>2]|0)continue;c[J>>2]=c[(c[J>>2]|0)+16>>2];c[p>>2]=(c[p>>2]|0)+1}if((G|0)==77){c[C>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2];if((e[(c[J>>2]|0)+28>>1]&1|0)==0?c[(c[C>>2]|0)+4>>2]&2|0:0){W=c[T>>2]|0;c[E>>2]=c[B>>2];Ck(W,26254,E);c[S>>2]=2;W=c[S>>2]|0;l=X;return W|0}mw(c[T>>2]|0,c[t>>2]|0,c[n>>2]|0,c[K>>2]|0,47636,c[p>>2]|0);c[L>>2]=1;c[N>>2]=0}else if((G|0)==84){if((c[L>>2]|0)==0&(c[U>>2]|0)==0?c[(c[K>>2]|0)+4>>2]&64|0:0){a[c[K>>2]>>0]=97;c[(c[K>>2]|0)+44>>2]=0;c[S>>2]=1;W=c[S>>2]|0;l=X;return W|0}if((c[L>>2]|0)!=1){c[H>>2]=(c[L>>2]|0)==0?26285:26300;do if(!(c[D>>2]|0)){g=c[T>>2]|0;f=c[H>>2]|0;if(c[U>>2]|0){U=c[U>>2]|0;W=c[I>>2]|0;c[V>>2]=f;c[V+4>>2]=U;c[V+8>>2]=W;Ck(g,23617,V);break}else{V=c[I>>2]|0;c[W>>2]=f;c[W+4>>2]=V;Ck(g,23627,W);break}}else{W=c[T>>2]|0;G=c[D>>2]|0;U=c[U>>2]|0;V=c[I>>2]|0;c[F>>2]=c[H>>2];c[F+4>>2]=G;c[F+8>>2]=U;c[F+12>>2]=V;Ck(W,26322,F)}while(0);a[(c[T>>2]|0)+17>>0]=1;W=(c[O>>2]|0)+24|0;c[W>>2]=(c[W>>2]|0)+1}if(c[N>>2]|0?(b[(c[K>>2]|0)+32>>1]|0)>=0:0){U=b[(c[K>>2]|0)+32>>1]|0;c[R>>2]=U;c[R>>2]=(c[R>>2]|0)>=64?63:U;U=HR(1,0,c[R>>2]|0)|0;W=(c[N>>2]|0)+56|0;R=W;V=c[R+4>>2]|z;c[W>>2]=c[R>>2]|U;c[W+4>>2]=V}ck(c[M>>2]|0,c[(c[K>>2]|0)+12>>2]|0);c[(c[K>>2]|0)+12>>2]=0;ck(c[M>>2]|0,c[(c[K>>2]|0)+16>>2]|0);c[(c[K>>2]|0)+16>>2]=0;a[c[K>>2]>>0]=c[Q>>2]|0?88:152}if((c[L>>2]|0)!=1){c[S>>2]=2;W=c[S>>2]|0;l=X;return W|0}if(!(c[(c[K>>2]|0)+4>>2]&4194304))Dw(c[T>>2]|0,c[K>>2]|0,c[P>>2]|0,c[(c[J>>2]|0)+4>>2]|0);while(1){W=(c[O>>2]|0)+20|0;c[W>>2]=(c[W>>2]|0)+1;if((c[O>>2]|0)==(c[J>>2]|0))break;c[O>>2]=c[(c[O>>2]|0)+16>>2]}c[S>>2]=1;W=c[S>>2]|0;l=X;return W|0}function tw(a,b,d,f){a=a|0;b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m;g=m+24|0;h=m+20|0;i=m+16|0;n=m+12|0;j=m+8|0;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[n>>2]=f;if(!((e[(c[h>>2]|0)+28>>1]|0)&c[n>>2])){l=m;return}c[j>>2]=26162;if(!((e[(c[h>>2]|0)+28>>1]|0)&32|0)){if((e[(c[h>>2]|0)+28>>1]|0)&4|0)c[j>>2]=26208}else c[j>>2]=26190;n=c[g>>2]|0;j=c[j>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;Ck(n,26226,k);l=m;return}function uw(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y+32|0;x=y+49|0;j=y+48|0;k=y+28|0;m=y+24|0;n=y+20|0;o=y+16|0;p=y+12|0;q=y+8|0;r=y+4|0;s=y;c[u>>2]=e;c[v>>2]=f;c[w>>2]=g;a[x>>0]=h;a[j>>0]=i;c[m>>2]=0;c[n>>2]=0;c[p>>2]=_c(c[v>>2]|0)|0;c[k>>2]=nu((c[u>>2]|0)+348|0,c[v>>2]|0)|0;while(1){if(!(c[k>>2]|0))break;c[q>>2]=zw(c[k>>2]|0,c[w>>2]|0,a[x>>0]|0)|0;if((c[q>>2]|0)>(c[n>>2]|0)){c[m>>2]=c[k>>2];c[n>>2]=c[q>>2]}c[k>>2]=c[(c[k>>2]|0)+8>>2]}a:do if(!(a[j>>0]|0)){if(c[m>>2]|0?(c[(c[u>>2]|0)+24>>2]&2097152|0)==0:0)break;c[n>>2]=0;c[o>>2]=((d[17348+(d[c[v>>2]>>0]|0)>>0]|0)+(c[p>>2]|0)|0)%23|0;c[k>>2]=Hg(c[o>>2]|0,c[v>>2]|0)|0;while(1){if(!(c[k>>2]|0))break a;c[r>>2]=zw(c[k>>2]|0,c[w>>2]|0,a[x>>0]|0)|0;if((c[r>>2]|0)>(c[n>>2]|0)){c[m>>2]=c[k>>2];c[n>>2]=c[r>>2]}c[k>>2]=c[(c[k>>2]|0)+8>>2]}}while(0);do if((d[j>>0]|0)!=0&(c[n>>2]|0)<6?(i=jl(c[u>>2]|0,28+(c[p>>2]|0)+1|0,0)|0,c[m>>2]=i,i|0):0){c[(c[m>>2]|0)+20>>2]=(c[m>>2]|0)+28;a[c[m>>2]>>0]=c[w>>2];b[(c[m>>2]|0)+2>>1]=d[x>>0]|0;MR((c[m>>2]|0)+28|0,c[v>>2]|0,(c[p>>2]|0)+1|0)|0;c[s>>2]=Vj((c[u>>2]|0)+348|0,c[(c[m>>2]|0)+20>>2]|0,c[m>>2]|0)|0;if((c[s>>2]|0)!=(c[m>>2]|0)){c[(c[m>>2]|0)+8>>2]=c[s>>2];break}Hd(c[u>>2]|0,c[m>>2]|0);yd(c[u>>2]|0);c[t>>2]=0;x=c[t>>2]|0;l=y;return x|0}while(0);do if(c[m>>2]|0){if((c[(c[m>>2]|0)+12>>2]|0)==0?(d[j>>0]|0)==0:0)break;c[t>>2]=c[m>>2];x=c[t>>2]|0;l=y;return x|0}while(0);c[t>>2]=0;x=c[t>>2]|0;l=y;return x|0}function vw(a){a=a|0;var b=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;e=g+8|0;f=g;c[e>>2]=a;h[f>>3]=-1.0;if((d[c[e>>2]>>0]|0|0)!=132){c[b>>2]=-1;f=c[b>>2]|0;l=g;return f|0}a=c[(c[e>>2]|0)+8>>2]|0;oi(a,f,_c(c[(c[e>>2]|0)+8>>2]|0)|0,1)|0;if(+h[f>>3]>1.0){c[b>>2]=-1;f=c[b>>2]|0;l=g;return f|0}else{c[b>>2]=~~(+h[f>>3]*134217728.0);f=c[b>>2]|0;l=g;return f|0}return 0}function ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+48|0;f=e+44|0;h=e+40|0;g=e+12|0;d=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;c[g+4>>2]=189;c[g+24>>2]=d;c[d>>2]=c[h>>2];c[d+4>>2]=0;c[d+8>>2]=0;Pv(g,c[(c[f>>2]|0)+20>>2]|0)|0;if((c[d+4>>2]|0)>0){h=1;h=h&1;l=e;return h|0}h=(c[d+8>>2]|0)==0;h=h&1;l=e;return h|0}function xw(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h;g=h+8|0;c[f>>2]=b;a[g>>0]=a[c[f>>2]>>0]|0;if((d[g>>0]|0|0)==157)a[g>>0]=a[(c[f>>2]|0)+38>>0]|0;if((d[g>>0]|0|0)==158){c[e>>2]=c[c[(c[f>>2]|0)+20>>2]>>2];g=c[e>>2]|0;l=h;return g|0}if((d[g>>0]|0|0)==119){c[e>>2]=c[c[c[(c[f>>2]|0)+20>>2]>>2]>>2];g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=1;g=c[e>>2]|0;l=h;return g|0}return 0}function yw(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;if((d[c[f>>2]>>0]|0|0)!=152?(d[c[f>>2]>>0]|0|0)!=154:0){l=k;return 0}c[h>>2]=c[(c[e>>2]|0)+24>>2];c[i>>2]=c[c[h>>2]>>2];if(c[i>>2]|0)a=c[c[i>>2]>>2]|0;else a=0;c[j>>2]=a;c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[j>>2]|0))break;if((c[(c[f>>2]|0)+28>>2]|0)==(c[(c[i>>2]|0)+8+((c[g>>2]|0)*72|0)+44>>2]|0))break;c[g>>2]=(c[g>>2]|0)+1}i=c[h>>2]|0;j=(c[g>>2]|0)<(c[j>>2]|0)?i+4|0:i+8|0;c[j>>2]=(c[j>>2]|0)+1;l=k;return 0}function zw(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n+16|0;m=n;c[i>>2]=b;c[j>>2]=f;a[k>>0]=g;b=c[i>>2]|0;if((c[j>>2]|0)==-2){c[h>>2]=(c[b+12>>2]|0)==0?0:6;m=c[h>>2]|0;l=n;return m|0}if((a[b>>0]|0)!=(c[j>>2]|0)?(a[c[i>>2]>>0]|0)>=0:0){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}if((a[c[i>>2]>>0]|0)==(c[j>>2]|0))c[m>>2]=4;else c[m>>2]=1;if((d[k>>0]|0)!=(e[(c[i>>2]|0)+2>>1]&3|0)){if(d[k>>0]&e[(c[i>>2]|0)+2>>1]&2|0)c[m>>2]=(c[m>>2]|0)+1}else c[m>>2]=(c[m>>2]|0)+2;c[h>>2]=c[m>>2];m=c[h>>2]|0;l=n;return m|0}function Aw(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[k>>2]|0){if((Zc(c[h>>2]|0,c[k>>2]|0,c[m>>2]|0)|0)==0?(a[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);c[m>>2]=0;while(1){if(!(a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0))break;if((a[(c[h>>2]|0)+(c[m>>2]|0)>>0]|0)==46)break;c[m>>2]=(c[m>>2]|0)+1}do if(c[j>>2]|0){if((Zc(c[h>>2]|0,c[j>>2]|0,c[m>>2]|0)|0)==0?(a[(c[j>>2]|0)+(c[m>>2]|0)>>0]|0)==0:0)break;c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}while(0);c[h>>2]=(c[h>>2]|0)+((c[m>>2]|0)+1);if(c[i>>2]|0?Ig(c[h>>2]|0,c[i>>2]|0)|0:0){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}function Bw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a:do if(c[e>>2]|0){c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+4>>2]|0))break a;if(!(Ig(c[(c[c[e>>2]>>2]|0)+(c[g>>2]<<3)>>2]|0,c[f>>2]|0)|0))break;c[g>>2]=(c[g>>2]|0)+1}c[d>>2]=1;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function Cw(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;do if(Ig(c[d>>2]|0,26404)|0){if(!(Ig(c[d>>2]|0,26335)|0)){c[b>>2]=1;break}if(!(Ig(c[d>>2]|0,26412)|0)){c[b>>2]=1;break}else{c[b>>2]=0;break}}else c[b>>2]=1;while(0);l=e;return c[b>>2]|0}function Dw(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;p=s+36|0;q=s+32|0;j=s+28|0;k=s+24|0;t=s+20|0;r=s+16|0;m=s+12|0;i=s+8|0;n=s+4|0;o=s;c[p>>2]=e;c[q>>2]=f;c[j>>2]=g;c[k>>2]=h;c[t>>2]=c[c[p>>2]>>2];c[r>>2]=0;if(!(c[(c[t>>2]|0)+296>>2]|0)){l=s;return}c[n>>2]=Nt(c[c[p>>2]>>2]|0,c[j>>2]|0)|0;if((c[n>>2]|0)<0){l=s;return}a:do if((d[c[q>>2]>>0]|0)==88)c[r>>2]=c[(c[p>>2]|0)+128>>2];else{c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[k>>2]>>2]|0))break a;if((c[(c[q>>2]|0)+28>>2]|0)==(c[(c[k>>2]|0)+8+((c[i>>2]|0)*72|0)+44>>2]|0))break;c[i>>2]=(c[i>>2]|0)+1}c[r>>2]=c[(c[k>>2]|0)+8+((c[i>>2]|0)*72|0)+16>>2]}while(0);c[o>>2]=b[(c[q>>2]|0)+32>>1];if(!(c[r>>2]|0)){l=s;return}e=c[r>>2]|0;do if((c[o>>2]|0)<0)if((b[e+32>>1]|0)>=0){c[m>>2]=c[(c[(c[r>>2]|0)+4>>2]|0)+(b[(c[r>>2]|0)+32>>1]<<4)>>2];break}else{c[m>>2]=26335;break}else c[m>>2]=c[(c[e+4>>2]|0)+(c[o>>2]<<4)>>2];while(0);if(2!=(Ew(c[p>>2]|0,c[c[r>>2]>>2]|0,c[m>>2]|0,c[n>>2]|0)|0)){l=s;return}a[c[q>>2]>>0]=101;l=s;return}function Ew(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+16|0;p=r;i=r+52|0;j=r+48|0;k=r+44|0;m=r+40|0;n=r+36|0;o=r+32|0;g=r+28|0;h=r+24|0;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[c[j>>2]>>2];c[g>>2]=c[(c[(c[o>>2]|0)+16>>2]|0)+(c[n>>2]<<4)>>2];if(a[(c[o>>2]|0)+148+5>>0]|0){c[i>>2]=0;q=c[i>>2]|0;l=r;return q|0}c[h>>2]=sb[c[(c[o>>2]|0)+296>>2]&255](c[(c[o>>2]|0)+300>>2]|0,20,c[k>>2]|0,c[m>>2]|0,c[g>>2]|0,c[(c[j>>2]|0)+448>>2]|0)|0;if((c[h>>2]|0)!=1){if((c[h>>2]|0)!=2&(c[h>>2]|0)!=0)Pt(c[j>>2]|0)}else{b=c[j>>2]|0;if(c[n>>2]|0?1:(c[(c[o>>2]|0)+20>>2]|0)>2){o=c[k>>2]|0;q=c[m>>2]|0;c[p>>2]=c[g>>2];c[p+4>>2]=o;c[p+8>>2]=q;Ck(b,26341,p)}else{p=c[m>>2]|0;c[q>>2]=c[k>>2];c[q+4>>2]=p;Ck(b,26374,q)}c[(c[j>>2]|0)+12>>2]=23}c[i>>2]=c[h>>2];q=c[i>>2]|0;l=r;return q|0}function Fw(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+44|0;g=r+40|0;o=r+36|0;h=r+32|0;p=r+28|0;i=r+24|0;q=r+20|0;j=r+16|0;k=r+12|0;m=r+8|0;f=r;c[g>>2]=b;c[o>>2]=e;if(!(c[(c[o>>2]|0)+48>>2]|0)){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}if(!(c[(c[o>>2]|0)+44>>2]|0)){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}c[i>>2]=c[o>>2];while(1){if(!(c[i>>2]|0))break;if((d[(c[i>>2]|0)+4>>0]|0|0)!=116?(d[(c[i>>2]|0)+4>>0]|0|0)!=119:0)break;c[i>>2]=c[(c[i>>2]|0)+48>>2]}if(!(c[i>>2]|0)){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}c[j>>2]=c[(c[(c[o>>2]|0)+44>>2]|0)+4>>2];c[h>>2]=(c[c[(c[o>>2]|0)+44>>2]>>2]|0)-1;while(1){if((c[h>>2]|0)<0)break;if(c[(c[(c[j>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)+4>>2]&256|0)break;c[h>>2]=(c[h>>2]|0)+-1}if((c[h>>2]|0)<0){c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}c[m>>2]=c[c[g>>2]>>2];c[q>>2]=c[c[m>>2]>>2];c[p>>2]=jl(c[q>>2]|0,68,0)|0;if(!(c[p>>2]|0)){c[n>>2]=2;q=c[n>>2]|0;l=r;return q|0};c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=Is(c[m>>2]|0,0,0,0,f,c[p>>2]|0,0,0)|0;if(!(c[k>>2]|0)){c[n>>2]=2;q=c[n>>2]|0;l=r;return q|0}else{b=c[p>>2]|0;e=c[o>>2]|0;f=b+68|0;do{c[b>>2]=c[e>>2];b=b+4|0;e=e+4|0}while((b|0)<(f|0));c[(c[o>>2]|0)+28>>2]=c[k>>2];m=c[m>>2]|0;q=Ks(m,0,Ns(c[q>>2]|0,160,0)|0)|0;c[c[o>>2]>>2]=q;a[(c[o>>2]|0)+4>>0]=119;c[(c[o>>2]|0)+32>>2]=0;c[(c[p>>2]|0)+36>>2]=0;c[(c[p>>2]|0)+40>>2]=0;c[(c[p>>2]|0)+44>>2]=0;c[(c[o>>2]|0)+48>>2]=0;c[(c[o>>2]|0)+52>>2]=0;c[(c[o>>2]|0)+64>>2]=0;q=(c[o>>2]|0)+8|0;c[q>>2]=c[q>>2]&-257;q=(c[o>>2]|0)+8|0;c[q>>2]=c[q>>2]|65536;c[(c[(c[p>>2]|0)+48>>2]|0)+52>>2]=c[p>>2];c[(c[p>>2]|0)+56>>2]=0;c[(c[p>>2]|0)+60>>2]=0;c[n>>2]=0;q=c[n>>2]|0;l=r;return q|0}return 0} +function CN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;u=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;g=t+24|0;h=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[u>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=c[u>>2];c[s>>2]=0;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;if(((c[o>>2]|0)>1?(fi(c[c[p>>2]>>2]|0)|0)==5:0)?(fi(c[(c[p>>2]|0)+((c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)!=5:0){c[s>>2]=DN(c[r>>2]|0,c[(c[p>>2]|0)+((c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;u=c[i>>2]|0;Kd(u);u=c[r>>2]|0;wL(u);u=c[s>>2]|0;l=t;return u|0}if((c[o>>2]|0)>1?(vi(c[(c[p>>2]|0)+(2+(c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0)<0:0){c[s>>2]=19;u=c[i>>2]|0;Kd(u);u=c[r>>2]|0;wL(u);u=c[s>>2]|0;l=t;return u|0}c[i>>2]=Yd((c[(c[r>>2]|0)+24>>2]|0)+1<<2<<1)|0;if(!(c[i>>2]|0)){c[s>>2]=7;u=c[i>>2]|0;Kd(u);u=c[r>>2]|0;wL(u);u=c[s>>2]|0;l=t;return u|0}c[h>>2]=(c[i>>2]|0)+((c[(c[r>>2]|0)+24>>2]|0)+1<<2);GR(c[i>>2]|0,0,(c[(c[r>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;c[s>>2]=EN(c[r>>2]|0)|0;if(c[s>>2]|0){u=c[i>>2]|0;Kd(u);u=c[r>>2]|0;wL(u);u=c[s>>2]|0;l=t;return u|0}do if((c[o>>2]|0)>1?(c[(c[r>>2]|0)+40>>2]|0)==0:0){c[m>>2]=c[(c[p>>2]|0)+(3+(c[(c[r>>2]|0)+24>>2]|0)<<2)>>2];if((fi(c[m>>2]|0)|0)==5)c[m>>2]=c[(c[p>>2]|0)+4>>2];if((fi(c[m>>2]|0)|0)!=5){if((fi(c[c[p>>2]>>2]|0)|0)!=5?(e=ki(c[c[p>>2]>>2]|0)|0,u=z,f=ki(c[m>>2]|0)|0,!((e|0)!=(f|0)|(u|0)!=(z|0))):0)break;u=(JI(c[(c[r>>2]|0)+12>>2]|0)|0)==5;b=c[r>>2]|0;if(u){c[s>>2]=FN(b,c[m>>2]|0,j,c[i>>2]|0)|0;break}else{c[s>>2]=GN(b,c[p>>2]|0,c[q>>2]|0)|0;c[k>>2]=1;break}}}while(0);if(c[s>>2]|0){u=c[i>>2]|0;Kd(u);u=c[r>>2]|0;wL(u);u=c[s>>2]|0;l=t;return u|0}if((fi(c[c[p>>2]>>2]|0)|0)!=5){c[s>>2]=FN(c[r>>2]|0,c[c[p>>2]>>2]|0,j,c[i>>2]|0)|0;c[g>>2]=1}if((c[o>>2]|0)>1&(c[s>>2]|0)==0){c[n>>2]=vi(c[(c[p>>2]|0)+(2+(c[(c[r>>2]|0)+24>>2]|0)+2<<2)>>2]|0)|0;if(((c[k>>2]|0)==0?(c[s>>2]=GN(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0,(c[s>>2]|0)==19):0)?(c[(c[r>>2]|0)+40>>2]|0)==0:0)c[s>>2]=267;do if(!(c[s>>2]|0)){if(c[g>>2]|0?(o=c[q>>2]|0,u=(c[r>>2]|0)+264|0,!((c[o>>2]|0)!=(c[u>>2]|0)?1:(c[o+4>>2]|0)!=(c[u+4>>2]|0))):0)break;u=c[q>>2]|0;c[s>>2]=HN(c[r>>2]|0,0,c[n>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=IN(c[r>>2]|0,c[n>>2]|0,c[p>>2]|0,c[h>>2]|0)|0;if(a[(c[r>>2]|0)+230>>0]|0)JN(s,c[r>>2]|0,c[h>>2]|0);c[j>>2]=(c[j>>2]|0)+1}if(!(a[(c[r>>2]|0)+228>>0]|0)){u=c[i>>2]|0;Kd(u);u=c[r>>2]|0;wL(u);u=c[s>>2]|0;l=t;return u|0}KN(s,c[r>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);u=c[i>>2]|0;Kd(u);u=c[r>>2]|0;wL(u);u=c[s>>2]|0;l=t;return u|0}function DN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;d=j+20|0;e=j+16|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j;c[e>>2]=a;c[k>>2]=b;c[g>>2]=wh(c[k>>2]|0)|0;c[h>>2]=xh(c[k>>2]|0)|0;if(!(c[g>>2]|0)){c[d>>2]=7;k=c[d>>2]|0;l=j;return k|0}if((c[h>>2]|0)==8?0==(Zc(c[g>>2]|0,39527,8)|0):0)c[f>>2]=QM(c[e>>2]|0,0)|0;else i=6;do if((i|0)==6){if((c[h>>2]|0)==7?0==(Zc(c[g>>2]|0,42510,7)|0):0){c[f>>2]=UN(c[e>>2]|0)|0;break}if((c[h>>2]|0)==15?0==(Zc(c[g>>2]|0,42518,15)|0):0){c[f>>2]=VN(c[e>>2]|0)|0;break}if((c[h>>2]|0)>6?0==(Zc(c[g>>2]|0,42534,6)|0):0){c[f>>2]=WN(c[e>>2]|0,(c[g>>2]|0)+6|0)|0;break}if((c[h>>2]|0)>10?0==(Zc(c[g>>2]|0,42541,10)|0):0){c[f>>2]=XN(c[e>>2]|0,(c[g>>2]|0)+10|0)|0;break}c[f>>2]=1}while(0);c[d>>2]=c[f>>2];k=c[d>>2]|0;l=j;return k|0}function EN(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=0;if((c[(c[b>>2]|0)+260>>2]|0)==0?(c[d>>2]=nK(c[b>>2]|0,16,e,0)|0,(c[d>>2]|0)==0):0){qI(c[e>>2]|0,1)|0;Hr(c[e>>2]|0)|0;c[d>>2]=Er(c[e>>2]|0)|0}l=f;return c[d>>2]|0}function FN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;h=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;o=n+4|0;g=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=0;c[o>>2]=0;PN(m,c[h>>2]|0,c[i>>2]|0,c[k>>2]|0,o);if(!((c[o>>2]|0)!=0&(c[m>>2]|0)==0)){o=c[m>>2]|0;l=n;return o|0}c[g>>2]=0;c[m>>2]=QN(c[h>>2]|0,c[i>>2]|0,g)|0;if(c[m>>2]|0){o=c[m>>2]|0;l=n;return o|0}if(c[g>>2]|0){c[m>>2]=RN(c[h>>2]|0,1)|0;c[c[j>>2]>>2]=0;GR(c[k>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2<<1|0)|0;o=c[m>>2]|0;l=n;return o|0}c[c[j>>2]>>2]=(c[c[j>>2]>>2]|0)-1;if(!(c[(c[h>>2]|0)+40>>2]|0))SN(m,c[h>>2]|0,0,i);if(!(a[(c[h>>2]|0)+230>>0]|0)){o=c[m>>2]|0;l=n;return o|0}SN(m,c[h>>2]|0,19,i);o=c[m>>2]|0;l=n;return o|0}function GN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[(c[f>>2]|0)+40>>2]|0){c[k>>2]=c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+3<<2)>>2];if((fi(c[k>>2]|0)|0)==5)c[k>>2]=c[(c[g>>2]|0)+4>>2];if((fi(c[k>>2]|0)|0)!=1){c[e>>2]=19;k=c[e>>2]|0;l=m;return k|0}else{j=ki(c[k>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=z;c[e>>2]=0;k=c[e>>2]|0;l=m;return k|0}}c[i>>2]=nK(c[f>>2]|0,18,j,(c[g>>2]|0)+4|0)|0;if((c[i>>2]|0)==0?c[(c[f>>2]|0)+44>>2]|0:0){d=c[j>>2]|0;k=(c[(c[f>>2]|0)+24>>2]|0)+2|0;c[i>>2]=oI(d,k,vi(c[(c[g>>2]|0)+((c[(c[f>>2]|0)+24>>2]|0)+4<<2)>>2]|0)|0)|0}if(c[i>>2]|0){c[e>>2]=c[i>>2];k=c[e>>2]|0;l=m;return k|0}if(5!=(fi(c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0)){if(5==(fi(c[c[g>>2]>>2]|0)|0)?5!=(fi(c[(c[g>>2]|0)+4>>2]|0)|0):0){c[e>>2]=1;k=c[e>>2]|0;l=m;return k|0}c[i>>2]=sI(c[j>>2]|0,1,c[(c[g>>2]|0)+(3+(c[(c[f>>2]|0)+24>>2]|0)<<2)>>2]|0)|0;if(c[i>>2]|0){c[e>>2]=c[i>>2];k=c[e>>2]|0;l=m;return k|0}}Hr(c[j>>2]|0)|0;c[i>>2]=Er(c[j>>2]|0)|0;j=Ji(c[(c[f>>2]|0)+12>>2]|0)|0;k=c[h>>2]|0;c[k>>2]=j;c[k+4>>2]=z;c[e>>2]=c[i>>2];k=c[e>>2]|0;l=m;return k|0}function HN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o;g=o+8|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;b=m;c[b>>2]=e;c[b+4>>2]=f;e=m;b=c[e+4>>2]|0;f=(c[i>>2]|0)+264|0;d=c[f+4>>2]|0;do if(!((b|0)<(d|0)|((b|0)==(d|0)?(c[e>>2]|0)>>>0<(c[f>>2]|0)>>>0:0))){e=m;f=(c[i>>2]|0)+264|0;if(((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)?(c[(c[i>>2]|0)+276>>2]|0)==0:0){n=6;break}if(!((c[(c[i>>2]|0)+272>>2]|0)==(c[k>>2]|0)?(c[(c[i>>2]|0)+260>>2]|0)<=(c[(c[i>>2]|0)+256>>2]|0):0))n=6}else n=6;while(0);if((n|0)==6?(c[g>>2]=kK(c[i>>2]|0)|0,c[g>>2]|0):0){c[h>>2]=c[g>>2];n=c[h>>2]|0;l=o;return n|0}f=m;m=c[f+4>>2]|0;n=(c[i>>2]|0)+264|0;c[n>>2]=c[f>>2];c[n+4>>2]=m;c[(c[i>>2]|0)+272>>2]=c[k>>2];c[(c[i>>2]|0)+276>>2]=c[j>>2];c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}function IN(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;g=q+8|0;h=q+4|0;o=q;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=2;while(1){if((c[n>>2]|0)>=((c[(c[i>>2]|0)+24>>2]|0)+2|0)){a=8;break}c[g>>2]=(c[n>>2]|0)-2;if(!(d[(c[(c[i>>2]|0)+32>>2]|0)+(c[g>>2]|0)>>0]|0)){c[h>>2]=wh(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;c[o>>2]=NN(c[i>>2]|0,c[j>>2]|0,c[h>>2]|0,c[g>>2]|0,(c[m>>2]|0)+(c[g>>2]<<2)|0)|0;if(c[o>>2]|0){a=5;break}e=xh(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;f=(c[m>>2]|0)+(c[(c[i>>2]|0)+24>>2]<<2)|0;c[f>>2]=(c[f>>2]|0)+e}c[n>>2]=(c[n>>2]|0)+1}if((a|0)==5){c[p>>2]=c[o>>2];p=c[p>>2]|0;l=q;return p|0}else if((a|0)==8){c[p>>2]=0;p=c[p>>2]|0;l=q;return p|0}return 0}function JN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[e>>2]>>2]|0){l=m;return}c[h>>2]=Yd((c[(c[f>>2]|0)+24>>2]|0)*10|0)|0;if(!(c[h>>2]|0)){c[c[e>>2]>>2]=7;l=m;return}MN(c[(c[f>>2]|0)+24>>2]|0,c[g>>2]|0,c[h>>2]|0,i);c[k>>2]=nK(c[f>>2]|0,20,j,0)|0;if(c[k>>2]|0){Kd(c[h>>2]|0);c[c[e>>2]>>2]=c[k>>2];l=m;return}else{k=(c[f>>2]|0)+264|0;pI(c[j>>2]|0,1,c[k>>2]|0,c[k+4>>2]|0)|0;kI(c[j>>2]|0,2,c[h>>2]|0,c[i>>2]|0,148)|0;Hr(c[j>>2]|0)|0;k=Er(c[j>>2]|0)|0;c[c[e>>2]>>2]=k;l=m;return}}function KN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;p=u+48|0;q=u+44|0;r=u+40|0;s=u+36|0;t=u+32|0;g=u+28|0;h=u+24|0;i=u+20|0;j=u+16|0;k=u+12|0;m=u+8|0;n=u+4|0;o=u;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;c[n>>2]=(c[(c[q>>2]|0)+24>>2]|0)+2;if(c[c[p>>2]>>2]|0){l=u;return}c[i>>2]=Yd((c[n>>2]|0)*14|0)|0;if(!(c[i>>2]|0)){c[c[p>>2]>>2]=7;l=u;return}c[g>>2]=(c[i>>2]|0)+(c[n>>2]<<2);c[m>>2]=nK(c[q>>2]|0,22,j,0)|0;if(c[m>>2]|0){Kd(c[i>>2]|0);c[c[p>>2]>>2]=c[m>>2];l=u;return}oI(c[j>>2]|0,1,0)|0;if((Hr(c[j>>2]|0)|0)==100){d=c[n>>2]|0;e=c[i>>2]|0;f=eI(c[j>>2]|0,0)|0;LN(d,e,f,fI(c[j>>2]|0,0)|0)}else GR(c[i>>2]|0,0,c[n>>2]<<2|0)|0;c[m>>2]=Er(c[j>>2]|0)|0;if(c[m>>2]|0){Kd(c[i>>2]|0);c[c[p>>2]>>2]=c[m>>2];l=u;return}if((c[t>>2]|0)<0?(c[c[i>>2]>>2]|0)>>>0<(0-(c[t>>2]|0)|0)>>>0:0)c[c[i>>2]>>2]=0;else{f=c[i>>2]|0;c[f>>2]=(c[f>>2]|0)+(c[t>>2]|0)}c[k>>2]=0;while(1){if((c[k>>2]|0)>=((c[(c[q>>2]|0)+24>>2]|0)+1|0))break;c[o>>2]=c[(c[i>>2]|0)+((c[k>>2]|0)+1<<2)>>2];if(((c[o>>2]|0)+(c[(c[r>>2]|0)+(c[k>>2]<<2)>>2]|0)|0)>>>0<(c[(c[s>>2]|0)+(c[k>>2]<<2)>>2]|0)>>>0)c[o>>2]=0;else c[o>>2]=(c[o>>2]|0)+(c[(c[r>>2]|0)+(c[k>>2]<<2)>>2]|0)-(c[(c[s>>2]|0)+(c[k>>2]<<2)>>2]|0);c[(c[i>>2]|0)+((c[k>>2]|0)+1<<2)>>2]=c[o>>2];c[k>>2]=(c[k>>2]|0)+1}MN(c[n>>2]|0,c[i>>2]|0,c[g>>2]|0,h);c[m>>2]=nK(c[q>>2]|0,23,j,0)|0;if(c[m>>2]|0){Kd(c[i>>2]|0);c[c[p>>2]>>2]=c[m>>2];l=u;return}else{oI(c[j>>2]|0,1,0)|0;kI(c[j>>2]|0,2,c[g>>2]|0,c[h>>2]|0,0)|0;Hr(c[j>>2]|0)|0;t=Er(c[j>>2]|0)|0;c[c[p>>2]>>2]=t;Kd(c[i>>2]|0);l=u;return}}function LN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+28|0;h=m+24|0;i=m+20|0;j=m+12|0;k=m+8|0;f=m;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[m+16>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[g>>2]|0))break;e=YK((c[i>>2]|0)+(c[k>>2]|0)|0,f)|0;c[k>>2]=(c[k>>2]|0)+e;c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]=c[f>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return}function MN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[f>>2]|0))break;e=IK((c[h>>2]|0)+(c[k>>2]|0)|0,c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0,0)|0;c[k>>2]=(c[k>>2]|0)+e;c[j>>2]=(c[j>>2]|0)+1}c[c[i>>2]>>2]=c[k>>2];l=m;return}function NN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;v=B+72|0;w=B+68|0;x=B+64|0;y=B+60|0;z=B+56|0;g=B+52|0;h=B+48|0;i=B+44|0;j=B+40|0;k=B+36|0;m=B+32|0;n=B+28|0;o=B+24|0;p=B+20|0;q=B+16|0;r=B+12|0;s=B+8|0;t=B+4|0;u=B;c[w>>2]=a;c[x>>2]=b;c[y>>2]=d;c[z>>2]=e;c[g>>2]=f;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;c[o>>2]=0;c[p>>2]=c[(c[w>>2]|0)+36>>2];c[q>>2]=c[c[p>>2]>>2];if(!(c[y>>2]|0)){c[c[g>>2]>>2]=0;c[v>>2]=0;A=c[v>>2]|0;l=B;return A|0}c[h>>2]=zM(c[p>>2]|0,c[x>>2]|0,c[y>>2]|0,-1,r)|0;if(c[h>>2]|0){c[v>>2]=c[h>>2];A=c[v>>2]|0;l=B;return A|0}c[s>>2]=c[(c[q>>2]|0)+20>>2];a:while(1){if(c[h>>2]|0)break;y=sb[c[s>>2]&255](c[r>>2]|0,n,o,i,j,k)|0;c[h>>2]=y;if(y)break;if((c[k>>2]|0)>=(c[m>>2]|0))c[m>>2]=(c[k>>2]|0)+1;if((c[k>>2]|0)>=0&(c[n>>2]|0)!=0^1|(c[o>>2]|0)<=0){A=11;break}c[h>>2]=ON(c[w>>2]|0,c[z>>2]|0,c[k>>2]|0,(c[(c[w>>2]|0)+252>>2]|0)+4|0,c[n>>2]|0,c[o>>2]|0)|0;c[t>>2]=1;while(1){if(c[h>>2]|0)continue a;if((c[t>>2]|0)>=(c[(c[w>>2]|0)+248>>2]|0))continue a;c[u>>2]=(c[(c[w>>2]|0)+252>>2]|0)+((c[t>>2]|0)*24|0);if((c[o>>2]|0)>=(c[c[u>>2]>>2]|0))c[h>>2]=ON(c[w>>2]|0,c[z>>2]|0,c[k>>2]|0,(c[u>>2]|0)+4|0,c[n>>2]|0,c[c[u>>2]>>2]|0)|0;c[t>>2]=(c[t>>2]|0)+1}}if((A|0)==11)c[h>>2]=1;tb[c[(c[q>>2]|0)+16>>2]&255](c[r>>2]|0)|0;A=c[g>>2]|0;c[A>>2]=(c[A>>2]|0)+(c[m>>2]|0);c[v>>2]=(c[h>>2]|0)==101?0:c[h>>2]|0;A=c[v>>2]|0;l=B;return A|0}function ON(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;h=q+12|0;i=q+8|0;j=q+4|0;k=q;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[i>>2]=g;c[k>>2]=0;c[j>>2]=CJ(c[p>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(c[j>>2]|0){g=(c[m>>2]|0)+260|0;c[g>>2]=(c[g>>2]|0)-((c[c[j>>2]>>2]|0)+(c[i>>2]|0)+20)}g=(c[m>>2]|0)+264|0;n=c[n>>2]|0;o=c[o>>2]|0;if(AM(j,c[g>>2]|0,c[g+4>>2]|0,n,((n|0)<0)<<31>>31,o,((o|0)<0)<<31>>31,k)|0?(o=c[j>>2]|0,(o|0)==(jJ(c[p>>2]|0,c[h>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)):0){Kd(c[j>>2]|0);c[k>>2]=7}if(c[k>>2]|0){p=c[k>>2]|0;l=q;return p|0}p=(c[m>>2]|0)+260|0;c[p>>2]=(c[p>>2]|0)+((c[c[j>>2]>>2]|0)+(c[i>>2]|0)+20);p=c[k>>2]|0;l=q;return p|0}function PN(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;q=u+48|0;r=u+44|0;h=u+40|0;s=u+36|0;t=u+32|0;i=u+28|0;j=u+24|0;k=u+20|0;m=u+16|0;n=u;o=u+12|0;p=u+8|0;c[q>>2]=a;c[r>>2]=b;c[h>>2]=e;c[s>>2]=f;c[t>>2]=g;if(c[c[q>>2]>>2]|0){l=u;return}c[i>>2]=nK(c[r>>2]|0,7,j,h)|0;a=c[j>>2]|0;if(!(c[i>>2]|0)){do if(100==(Hr(a)|0)){c[m>>2]=TN(c[r>>2]|0,c[j>>2]|0)|0;g=iI(c[j>>2]|0,0)|0;h=n;c[h>>2]=g;c[h+4>>2]=z;c[i>>2]=HN(c[r>>2]|0,1,c[m>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;c[k>>2]=1;while(1){if(c[i>>2]|0)break;if((c[k>>2]|0)>(c[(c[r>>2]|0)+24>>2]|0))break;c[o>>2]=(c[k>>2]|0)-1;if(!(d[(c[(c[r>>2]|0)+32>>2]|0)+(c[o>>2]|0)>>0]|0)){c[p>>2]=Iu(c[j>>2]|0,c[k>>2]|0)|0;c[i>>2]=NN(c[r>>2]|0,c[m>>2]|0,c[p>>2]|0,-1,(c[s>>2]|0)+(c[o>>2]<<2)|0)|0;h=fI(c[j>>2]|0,c[k>>2]|0)|0;n=(c[s>>2]|0)+(c[(c[r>>2]|0)+24>>2]<<2)|0;c[n>>2]=(c[n>>2]|0)+h}c[k>>2]=(c[k>>2]|0)+1}if(!(c[i>>2]|0)){c[c[t>>2]>>2]=1;break}Er(c[j>>2]|0)|0;c[c[q>>2]>>2]=c[i>>2];l=u;return}while(0);c[i>>2]=Er(c[j>>2]|0)|0}else Er(a)|0;c[c[q>>2]>>2]=c[i>>2];l=u;return}function QN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[e>>2]|0)+40>>2]|0){c[c[g>>2]>>2]=0;c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}c[i>>2]=nK(c[e>>2]|0,1,h,f)|0;if(c[i>>2]|0){i=c[i>>2]|0;l=j;return i|0}if(100==(Hr(c[h>>2]|0)|0)){f=hI(c[h>>2]|0,0)|0;c[c[g>>2]>>2]=f}c[i>>2]=Er(c[h>>2]|0)|0;i=c[i>>2]|0;l=j;return i|0}function RN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+8|0;h=g+4|0;f=g;c[e>>2]=b;c[h>>2]=d;c[f>>2]=0;hK(c[e>>2]|0);if(c[h>>2]|0)SN(f,c[e>>2]|0,2,0);SN(f,c[e>>2]|0,3,0);SN(f,c[e>>2]|0,4,0);if(a[(c[e>>2]|0)+230>>0]|0)SN(f,c[e>>2]|0,5,0);if(!(a[(c[e>>2]|0)+229>>0]|0)){h=c[f>>2]|0;l=g;return h|0}SN(f,c[e>>2]|0,6,0);h=c[f>>2]|0;l=g;return h|0}function SN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(c[c[f>>2]>>2]|0){l=m;return}c[k>>2]=nK(c[g>>2]|0,c[h>>2]|0,j,c[i>>2]|0)|0;if(!(c[k>>2]|0)){Hr(c[j>>2]|0)|0;c[k>>2]=Er(c[j>>2]|0)|0}c[c[f>>2]>>2]=c[k>>2];l=m;return}function TN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[d>>2]|0)+44>>2]|0)){f=c[f>>2]|0;l=g;return f|0}c[f>>2]=hI(c[e>>2]|0,(c[(c[d>>2]|0)+24>>2]|0)+1|0)|0;f=c[f>>2]|0;l=g;return f|0}function UN(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;g=t;h=t+52|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;e=t+24|0;f=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;c[h>>2]=b;c[n>>2]=RN(c[h>>2]|0,0)|0;if(c[n>>2]|0){s=c[n>>2]|0;l=t;return s|0}c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[g>>2]=c[(c[h>>2]|0)+216>>2];c[e>>2]=Ue(42629,g)|0;if(c[e>>2]|0){c[n>>2]=Fu(c[(c[h>>2]|0)+12>>2]|0,c[e>>2]|0,-1,r,0)|0;Kd(c[e>>2]|0)}else c[n>>2]=7;do if(!(c[n>>2]|0)){c[f>>2]=((c[(c[h>>2]|0)+24>>2]|0)+1<<2)*3;c[o>>2]=Yd(c[f>>2]|0)|0;if(!(c[o>>2]|0)){c[n>>2]=7;break}else{GR(c[o>>2]|0,0,c[f>>2]|0)|0;c[p>>2]=(c[o>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);c[q>>2]=(c[p>>2]|0)+((c[(c[h>>2]|0)+24>>2]|0)+1<<2);break}}while(0);a:while(1){if(!(c[n>>2]|0))b=100==(Hr(c[r>>2]|0)|0);else b=0;e=c[h>>2]|0;if(!b)break;c[j>>2]=TN(e,c[r>>2]|0)|0;e=c[h>>2]|0;f=c[j>>2]|0;g=iI(c[r>>2]|0,0)|0;c[n>>2]=HN(e,0,f,g,z)|0;GR(c[o>>2]|0,0,(c[(c[h>>2]|0)+24>>2]|0)+1<<2|0)|0;c[i>>2]=0;while(1){if(!(c[n>>2]|0))b=(c[i>>2]|0)<(c[(c[h>>2]|0)+24>>2]|0);else b=0;e=c[h>>2]|0;if(!b)break;if(!(d[(c[e+32>>2]|0)+(c[i>>2]|0)>>0]|0)){c[k>>2]=Iu(c[r>>2]|0,(c[i>>2]|0)+1|0)|0;c[n>>2]=NN(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0,c[i>>2]|0,(c[o>>2]|0)+(c[i>>2]<<2)|0)|0;f=fI(c[r>>2]|0,(c[i>>2]|0)+1|0)|0;g=(c[o>>2]|0)+(c[(c[h>>2]|0)+24>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+f}c[i>>2]=(c[i>>2]|0)+1}if(a[e+230>>0]|0)JN(n,c[h>>2]|0,c[o>>2]|0);if(c[n>>2]|0){Qq(c[r>>2]|0)|0;c[r>>2]=0;continue}c[s>>2]=(c[s>>2]|0)+1;c[i>>2]=0;while(1){if((c[i>>2]|0)>(c[(c[h>>2]|0)+24>>2]|0))continue a;g=(c[p>>2]|0)+(c[i>>2]<<2)|0;c[g>>2]=(c[g>>2]|0)+(c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}if(a[e+228>>0]|0)KN(n,c[h>>2]|0,c[p>>2]|0,c[q>>2]|0,c[s>>2]|0);Kd(c[o>>2]|0);if(!(c[r>>2]|0)){s=c[n>>2]|0;l=t;return s|0}c[m>>2]=Qq(c[r>>2]|0)|0;if(c[n>>2]|0){s=c[n>>2]|0;l=t;return s|0}c[n>>2]=c[m>>2];s=c[n>>2]|0;l=t;return s|0}function VN(a){a=a|0;var b=0,d=0,e=0,f=0;d=l;l=l+16|0;f=d+8|0;b=d+4|0;e=d;c[f>>2]=a;c[e>>2]=0;a=_N(c[f>>2]|0,e)|0;c[b>>2]=a;c[b>>2]=(c[b>>2]|0)==0&(c[e>>2]|0)==0?267:a;l=d;return c[b>>2]|0}function WN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;e=j+20|0;k=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[k>>2]=d;c[g>>2]=8;c[h>>2]=0;c[i>>2]=c[k>>2];c[h>>2]=YN(i)|0;if((a[c[i>>2]>>0]|0)==44?a[(c[i>>2]|0)+1>>0]|0:0){c[i>>2]=(c[i>>2]|0)+1;c[g>>2]=YN(i)|0}if((c[g>>2]|0)<2?1:(a[c[i>>2]>>0]|0)!=0){c[f>>2]=1;k=c[f>>2]|0;l=j;return k|0}c[f>>2]=0;if(!(a[(c[e>>2]|0)+229>>0]|0))ZN(f,c[e>>2]|0);if(!(c[f>>2]|0))c[f>>2]=cN(c[e>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;wL(c[e>>2]|0);k=c[f>>2]|0;l=j;return k|0}function XN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[j>>2]=d;c[g>>2]=0;c[h>>2]=0;d=YN(j)|0;c[(c[f>>2]|0)+48>>2]=d;if(!((c[(c[f>>2]|0)+48>>2]|0)!=1?(c[(c[f>>2]|0)+48>>2]|0)<=16:0))c[(c[f>>2]|0)+48>>2]=8;if((a[(c[f>>2]|0)+229>>0]|0)==0?(ZN(g,c[f>>2]|0),c[g>>2]|0):0){c[e>>2]=c[g>>2];j=c[e>>2]|0;l=i;return j|0}c[g>>2]=nK(c[f>>2]|0,23,h,0)|0;if(c[g>>2]|0){c[e>>2]=c[g>>2];j=c[e>>2]|0;l=i;return j|0}else{oI(c[h>>2]|0,1,2)|0;oI(c[h>>2]|0,2,c[(c[f>>2]|0)+48>>2]|0)|0;Hr(c[h>>2]|0)|0;c[g>>2]=Er(c[h>>2]|0)|0;c[e>>2]=c[g>>2];j=c[e>>2]|0;l=i;return j|0}return 0}function YN(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];c[f>>2]=0;while(1){if((a[c[e>>2]>>0]|0)<48){b=5;break}if((a[c[e>>2]>>0]|0)>57){b=5;break}h=(c[f>>2]|0)*10|0;b=c[e>>2]|0;c[e>>2]=b+1;c[f>>2]=h+(a[b>>0]|0)-48}if((b|0)==5){c[c[d>>2]>>2]=c[e>>2];l=g;return c[f>>2]|0}return 0}function ZN(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f;g=f+12|0;e=f+8|0;c[g>>2]=b;c[e>>2]=d;b=c[g>>2]|0;d=c[(c[e>>2]|0)+12>>2]|0;i=c[(c[e>>2]|0)+20>>2]|0;c[h>>2]=c[(c[e>>2]|0)+16>>2];c[h+4>>2]=i;lK(b,d,42552,h);if(c[c[g>>2]>>2]|0){l=f;return}a[(c[e>>2]|0)+229>>0]=1;l=f;return}function _N(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=l;l=l+112|0;j=F+24|0;t=F+108|0;B=F+104|0;C=F+100|0;D=F+16|0;E=F+8|0;g=F+96|0;h=F+92|0;i=F+88|0;e=F+84|0;k=F+80|0;m=F+76|0;f=F+72|0;n=F;o=F+68|0;p=F+64|0;q=F+60|0;r=F+56|0;s=F+52|0;u=F+48|0;v=F+44|0;w=F+40|0;x=F+36|0;y=F+32|0;A=F+28|0;c[t>>2]=a;c[B>>2]=b;c[C>>2]=0;b=D;c[b>>2]=0;c[b+4>>2]=0;b=E;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=0;c[C>>2]=nK(c[t>>2]|0,27,g,0)|0;if(!(c[C>>2]|0)){oI(c[g>>2]|0,1,c[(c[t>>2]|0)+272>>2]|0)|0;oI(c[g>>2]|0,2,c[(c[t>>2]|0)+248>>2]|0)|0;a:while(1){if(!(c[C>>2]|0))a=(Hr(c[g>>2]|0)|0)==100;else a=0;b=c[g>>2]|0;if(!a)break;c[i>>2]=hI(b,0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[t>>2]|0)+248>>2]|0))continue a;a=D;H=c[a>>2]|0;a=c[a+4>>2]|0;G=$N(c[t>>2]|0,c[i>>2]|0,c[e>>2]|0,C)|0;b=D;c[b>>2]=H^G;c[b+4>>2]=a^z;c[e>>2]=(c[e>>2]|0)+1}}c[h>>2]=Er(b)|0;if(!(c[C>>2]|0))c[C>>2]=c[h>>2]}if(c[C>>2]|0){A=D;A=c[A>>2]|0;D=D+4|0;D=c[D>>2]|0;G=E;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(A|0)==(H|0);G=(D|0)==(G|0);G=H&G;G=G&1;H=c[B>>2]|0;c[H>>2]=G;H=c[C>>2]|0;l=F;return H|0}c[k>>2]=c[c[(c[t>>2]|0)+36>>2]>>2];c[m>>2]=0;c[j>>2]=c[(c[t>>2]|0)+216>>2];c[f>>2]=Ue(42629,j)|0;if(c[f>>2]|0){c[C>>2]=Fu(c[(c[t>>2]|0)+12>>2]|0,c[f>>2]|0,-1,m,0)|0;Kd(c[f>>2]|0)}else c[C>>2]=7;b:while(1){if(!(c[C>>2]|0))b=100==(Hr(c[m>>2]|0)|0);else b=0;a=c[m>>2]|0;if(!b)break;G=iI(a,0)|0;H=n;c[H>>2]=G;c[H+4>>2]=z;c[o>>2]=TN(c[t>>2]|0,c[m>>2]|0)|0;c[p>>2]=0;while(1){if(c[C>>2]|0)continue b;if((c[p>>2]|0)>=(c[(c[t>>2]|0)+24>>2]|0))continue b;if(!(d[(c[(c[t>>2]|0)+32>>2]|0)+(c[p>>2]|0)>>0]|0)){c[q>>2]=Iu(c[m>>2]|0,(c[p>>2]|0)+1|0)|0;c[r>>2]=fI(c[m>>2]|0,(c[p>>2]|0)+1|0)|0;c[s>>2]=0;c[C>>2]=zM(c[(c[t>>2]|0)+36>>2]|0,c[o>>2]|0,c[q>>2]|0,c[r>>2]|0,s)|0;c:while(1){if(c[C>>2]|0)break;c[v>>2]=0;c[w>>2]=0;c[x>>2]=0;c[y>>2]=0;c[C>>2]=sb[c[(c[k>>2]|0)+20>>2]&255](c[s>>2]|0,u,v,w,x,y)|0;if(c[C>>2]|0)continue;G=E;i=c[G>>2]|0;G=c[G+4>>2]|0;j=n;j=aO(c[u>>2]|0,c[v>>2]|0,c[o>>2]|0,0,c[j>>2]|0,c[j+4>>2]|0,c[p>>2]|0,c[y>>2]|0)|0;H=E;c[H>>2]=i^j;c[H+4>>2]=G^z;c[A>>2]=1;while(1){if((c[A>>2]|0)>=(c[(c[t>>2]|0)+248>>2]|0))continue c;if((c[(c[(c[t>>2]|0)+252>>2]|0)+((c[A>>2]|0)*24|0)>>2]|0)<=(c[v>>2]|0)){G=E;i=c[G>>2]|0;G=c[G+4>>2]|0;j=n;j=aO(c[u>>2]|0,c[(c[(c[t>>2]|0)+252>>2]|0)+((c[A>>2]|0)*24|0)>>2]|0,c[o>>2]|0,c[A>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[p>>2]|0,c[y>>2]|0)|0;H=E;c[H>>2]=i^j;c[H+4>>2]=G^z}c[A>>2]=(c[A>>2]|0)+1}}if(c[s>>2]|0)tb[c[(c[k>>2]|0)+16>>2]&255](c[s>>2]|0)|0;if((c[C>>2]|0)==101)c[C>>2]=0}c[p>>2]=(c[p>>2]|0)+1}}Qq(a)|0;A=D;A=c[A>>2]|0;D=D+4|0;D=c[D>>2]|0;G=E;H=G;H=c[H>>2]|0;G=G+4|0;G=c[G>>2]|0;H=(A|0)==(H|0);G=(D|0)==(G|0);G=H&G;G=G&1;H=c[B>>2]|0;c[H>>2]=G;H=c[C>>2]|0;l=F;return H|0}function $N(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+144|0;p=u+140|0;q=u+136|0;r=u+132|0;s=u+128|0;f=u+112|0;t=u+56|0;g=u+48|0;h=u+32|0;i=u+44|0;j=u+40|0;k=u+24|0;m=u+16|0;n=u+8|0;o=u;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;a=h;c[a>>2]=0;c[a+4>>2]=0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a=t;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[f+12>>2]=3;e=f+12|0;c[e>>2]=c[e>>2]|16;c[g>>2]=oK(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,-2,0,0,0,1,t)|0;if(!(c[g>>2]|0))c[g>>2]=sK(c[p>>2]|0,t,f)|0;if(c[g>>2]|0){zK(t);t=c[g>>2]|0;s=c[s>>2]|0;c[s>>2]=t;s=h;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;z=s;l=u;return t|0}a:while(1){f=tK(c[p>>2]|0,t)|0;c[g>>2]=f;if(100!=(f|0))break;c[i>>2]=c[t+48>>2];c[j>>2]=(c[i>>2]|0)+(c[t+52>>2]|0);f=k;c[f>>2]=0;c[f+4>>2]=0;f=m;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=YK(c[i>>2]|0,k)|0;c[i>>2]=(c[i>>2]|0)+f;while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)continue a;f=o;c[f>>2]=0;c[f+4>>2]=0;f=YK(c[i>>2]|0,o)|0;c[i>>2]=(c[i>>2]|0)+f;if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)continue;e=o;f=o;if(!((c[e>>2]|0)==0&(c[e+4>>2]|0)==0|(c[f>>2]|0)==1&(c[f+4>>2]|0)==0)){b=o;b=FR(c[b>>2]|0,c[b+4>>2]|0,2,0)|0;e=n;b=IR(c[e>>2]|0,c[e+4>>2]|0,b|0,z|0)|0;e=n;c[e>>2]=b;c[e+4>>2]=z;e=h;b=c[e>>2]|0;e=c[e+4>>2]|0;d=k;d=aO(c[t+40>>2]|0,c[t+44>>2]|0,c[q>>2]|0,c[r>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;f=h;c[f>>2]=b^d;c[f+4>>2]=e^z;continue}f=m;c[f>>2]=0;c[f+4>>2]=0;f=n;c[f>>2]=0;c[f+4>>2]=0;f=o;a=c[i>>2]|0;if((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0){f=YK(a,m)|0;c[i>>2]=(c[i>>2]|0)+f;continue}else{e=YK(a,o)|0;c[i>>2]=(c[i>>2]|0)+e;e=o;f=k;e=IR(c[f>>2]|0,c[f+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0;f=k;c[f>>2]=e;c[f+4>>2]=z;continue}}}zK(t);t=c[g>>2]|0;s=c[s>>2]|0;c[s>>2]=t;s=h;t=s;t=c[t>>2]|0;s=s+4|0;s=c[s>>2]|0;z=s;l=u;return t|0}function aO(b,d,e,f,g,h,i,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;p=l;l=l+48|0;n=p+40|0;o=p+36|0;t=p+32|0;s=p+28|0;u=p+8|0;r=p+24|0;q=p+20|0;k=p+16|0;m=p;c[n>>2]=b;c[o>>2]=d;c[t>>2]=e;c[s>>2]=f;f=u;c[f>>2]=g;c[f+4>>2]=h;c[r>>2]=i;c[q>>2]=j;h=u;i=c[h+4>>2]|0;j=m;c[j>>2]=c[h>>2];c[j+4>>2]=i;j=m;j=HR(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[t>>2]|0;i=IR(j|0,z|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=IR(c[j>>2]|0,c[j+4>>2]|0,i|0,z|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=z;j=m;j=HR(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[s>>2]|0;i=IR(j|0,z|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=IR(c[j>>2]|0,c[j+4>>2]|0,i|0,z|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=z;j=m;j=HR(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[r>>2]|0;i=IR(j|0,z|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=IR(c[j>>2]|0,c[j+4>>2]|0,i|0,z|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=z;j=m;j=HR(c[j>>2]|0,c[j+4>>2]|0,3)|0;i=c[q>>2]|0;i=IR(j|0,z|0,i|0,((i|0)<0)<<31>>31|0)|0;j=m;i=IR(c[j>>2]|0,c[j+4>>2]|0,i|0,z|0)|0;j=m;c[j>>2]=i;c[j+4>>2]=z;c[k>>2]=0;while(1){d=m;b=c[d>>2]|0;d=c[d+4>>2]|0;if((c[k>>2]|0)>=(c[o>>2]|0))break;u=HR(b|0,d|0,3)|0;t=a[(c[n>>2]|0)+(c[k>>2]|0)>>0]|0;t=IR(u|0,z|0,t|0,((t|0)<0)<<31>>31|0)|0;u=m;t=IR(c[u>>2]|0,c[u+4>>2]|0,t|0,z|0)|0;u=m;c[u>>2]=t;c[u+4>>2]=z;c[k>>2]=(c[k>>2]|0)+1}z=d;l=p;return b|0}function bO(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;c[g>>2]=c[(c[e>>2]|0)+12>>2];a:do if(!(c[g>>2]|0))a[(c[e>>2]|0)+6>>0]=1;else do{if(!(d[(c[e>>2]|0)+7>>0]|0))Er(c[(c[e>>2]|0)+8>>2]|0)|0;RL(c[e>>2]|0,c[g>>2]|0,f);a[(c[e>>2]|0)+6>>0]=a[(c[g>>2]|0)+32>>0]|0;a[(c[e>>2]|0)+7>>0]=1;c[(c[e>>2]|0)+88>>2]=1;j=(c[g>>2]|0)+24|0;i=c[j+4>>2]|0;b=(c[e>>2]|0)+32|0;c[b>>2]=c[j>>2];c[b+4>>2]=i;if(d[(c[e>>2]|0)+6>>0]|0|0)break a}while((ML(c[e>>2]|0,f)|0)!=0);while(0);if(c[f>>2]|0){j=c[f>>2]|0;l=h;return j|0}if(!((d[(c[e>>2]|0)+52>>0]|0|0)==0?(i=(c[e>>2]|0)+32|0,b=c[i+4>>2]|0,j=(c[e>>2]|0)+80|0,g=c[j+4>>2]|0,(b|0)>(g|0)|((b|0)==(g|0)?(c[i>>2]|0)>>>0>(c[j>>2]|0)>>>0:0)):0)){if(!(d[(c[e>>2]|0)+52>>0]|0)){j=c[f>>2]|0;l=h;return j|0}i=(c[e>>2]|0)+32|0;b=c[i+4>>2]|0;j=(c[e>>2]|0)+72|0;g=c[j+4>>2]|0;if(!((b|0)<(g|0)|((b|0)==(g|0)?(c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0:0))){j=c[f>>2]|0;l=h;return j|0}}a[(c[e>>2]|0)+6>>0]=1;j=c[f>>2]|0;l=h;return j|0}function cO(a){a=a|0;var b=0,d=0,e=0,f=0;e=l;l=l+16|0;f=e+8|0;b=e+4|0;d=e;c[f>>2]=a;c[b>>2]=c[f>>2];while(1){if(!(c[b>>2]|0))break;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)break;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}a:while(1){if(!(c[b>>2]|0))break;c[d>>2]=c[(c[b>>2]|0)+8>>2];CO(c[b>>2]|0);if((c[d>>2]|0?(c[b>>2]|0)==(c[(c[d>>2]|0)+12>>2]|0):0)?c[(c[d>>2]|0)+16>>2]|0:0){c[b>>2]=c[(c[d>>2]|0)+16>>2];while(1){if(!(c[b>>2]|0))continue a;if((c[(c[b>>2]|0)+12>>2]|0)==0?(c[(c[b>>2]|0)+16>>2]|0)==0:0)continue a;a=c[b>>2]|0;if(c[(c[b>>2]|0)+12>>2]|0)a=c[a+12>>2]|0;else a=c[a+16>>2]|0;c[b>>2]=a}}c[b>>2]=c[d>>2]}l=e;return}function dO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+8|0;f=i+20|0;g=i;h=i+16|0;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;if(c[f>>2]|0?(c[h>>2]=ji(c[f>>2]|0)|0,(c[h>>2]|0)==1):0){h=ki(c[f>>2]|0)|0;g=e;c[g>>2]=h;c[g+4>>2]=z;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;z=g;l=i;return h|0}f=g;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;z=g;l=i;return h|0}function eO(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;s=l;l=l+64|0;r=s+8|0;q=s;z=s+52|0;y=s+48|0;x=s+44|0;w=s+40|0;v=s+36|0;u=s+32|0;m=s+28|0;t=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;c[z>>2]=a;c[y>>2]=b;c[x>>2]=d;c[w>>2]=e;c[v>>2]=f;c[u>>2]=g;c[m>>2]=h;c[t>>2]=i;c[n>>2]=j;c[o>>2]=k;c[p>>2]=qO(c[z>>2]|0,c[y>>2]|0,c[x>>2]|0,c[w>>2]|0,c[v>>2]|0,c[u>>2]|0,c[m>>2]|0,c[t>>2]|0,c[n>>2]|0)|0;if(((c[p>>2]|0)==0?c[c[n>>2]>>2]|0:0)?(c[p>>2]=rO(c[n>>2]|0,12)|0,(c[p>>2]|0)==0):0)c[p>>2]=sO(c[c[n>>2]>>2]|0,12)|0;if(!(c[p>>2]|0)){z=c[p>>2]|0;l=s;return z|0}cO(c[c[n>>2]>>2]|0);c[c[n>>2]>>2]=0;if((c[p>>2]|0)==18){z=c[o>>2]|0;c[q>>2]=12;DJ(z,42738,q);c[p>>2]=1;z=c[p>>2]|0;l=s;return z|0}if((c[p>>2]|0)!=1){z=c[p>>2]|0;l=s;return z|0}z=c[o>>2]|0;c[r>>2]=c[m>>2];DJ(z,42790,r);z=c[p>>2]|0;l=s;return z|0}function fO(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+48|0;b=n+36|0;o=n+32|0;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;e=n;c[b>>2]=a;c[o>>2]=c[c[b>>2]>>2];c[f>>2]=0;c[g>>2]=0;c[h>>2]=0;gO(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,g,h,f);do if((c[f>>2]|0)==0&(c[g>>2]|0)>1?d[(c[o>>2]|0)+228>>0]|0|0:0){c[i>>2]=Yd(((c[g>>2]|0)*24|0)+(c[h>>2]<<2<<1)|0)|0;c[j>>2]=(c[i>>2]|0)+((c[g>>2]|0)*24|0);if(!(c[i>>2]|0)){c[f>>2]=7;break}c[m>>2]=c[i>>2];c[e>>2]=c[j>>2];hO(c[b>>2]|0,0,c[(c[b>>2]|0)+12>>2]|0,m,e,f);c[g>>2]=((c[m>>2]|0)-(c[i>>2]|0)|0)/24|0;c[h>>2]=((c[e>>2]|0)-(c[j>>2]|0)|0)/4|0;a:do if(!(c[f>>2]|0)){c[f>>2]=iO(c[b>>2]|0,0,c[i>>2]|0,c[g>>2]|0)|0;c[k>>2]=0;while(1){if(c[f>>2]|0)break a;if((c[k>>2]|0)>=(c[h>>2]|0))break a;c[f>>2]=iO(c[b>>2]|0,c[(c[j>>2]|0)+(c[k>>2]<<2)>>2]|0,c[i>>2]|0,c[g>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+1}}while(0);Kd(c[i>>2]|0)}while(0);jO(c[b>>2]|0,c[(c[b>>2]|0)+12>>2]|0,f);l=n;return c[f>>2]|0}function gO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;m=q+32|0;n=q+28|0;g=q+24|0;h=q+20|0;p=q+16|0;i=q+12|0;j=q+8|0;k=q+4|0;o=q;c[m>>2]=a;c[n>>2]=b;c[g>>2]=d;c[h>>2]=e;c[p>>2]=f;if(!(c[n>>2]|0)){l=q;return}if(c[c[p>>2]>>2]|0){l=q;return}a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)!=5){o=c[h>>2]|0;c[o>>2]=(c[o>>2]|0)+((c[a>>2]|0)==4&1);gO(c[m>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[p>>2]|0);gO(c[m>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[p>>2]|0);l=q;return}c[j>>2]=c[(c[a+20>>2]|0)+64>>2];h=c[g>>2]|0;c[h>>2]=(c[h>>2]|0)+(c[j>>2]|0);c[i>>2]=0;while(1){b=c[(c[n>>2]|0)+20>>2]|0;if((c[i>>2]|0)>=(c[j>>2]|0)){a=9;break}c[k>>2]=b+72+((c[i>>2]|0)*24|0);c[o>>2]=oO(c[m>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0,c[(c[k>>2]|0)+8>>2]|0,(c[k>>2]|0)+20|0)|0;if(c[o>>2]|0){a=7;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==7){c[c[p>>2]>>2]=c[o>>2];l=q;return}else if((a|0)==9){c[b+44>>2]=-1;l=q;return}}function hO(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;k=r+16|0;m=r+12|0;h=r+8|0;i=r+4|0;j=r;c[n>>2]=a;c[o>>2]=b;c[p>>2]=d;c[q>>2]=e;c[k>>2]=f;c[m>>2]=g;if(c[c[m>>2]>>2]|0){l=r;return}b=c[p>>2]|0;if((c[c[p>>2]>>2]|0)==5){c[h>>2]=c[b+20>>2];c[i>>2]=0;while(1){if(c[c[m>>2]>>2]|0){a=13;break}if((c[i>>2]|0)>=(c[(c[h>>2]|0)+64>>2]|0)){a=13;break}k=c[q>>2]|0;p=c[k>>2]|0;c[k>>2]=p+24;c[j>>2]=p;c[c[j>>2]>>2]=c[h>>2];c[(c[j>>2]|0)+4>>2]=c[i>>2];c[(c[j>>2]|0)+12>>2]=c[o>>2];c[(c[j>>2]|0)+8>>2]=(c[h>>2]|0)+72+((c[i>>2]|0)*24|0);c[(c[j>>2]|0)+20>>2]=c[(c[h>>2]|0)+68>>2];p=nO(c[n>>2]|0,c[(c[(c[j>>2]|0)+8>>2]|0)+20>>2]|0,(c[j>>2]|0)+16|0)|0;c[c[m>>2]>>2]=p;c[i>>2]=(c[i>>2]|0)+1}if((a|0)==13){l=r;return}}if((c[b>>2]|0)==2){l=r;return}if((c[c[p>>2]>>2]|0)==4){c[o>>2]=c[(c[p>>2]|0)+12>>2];c[c[c[k>>2]>>2]>>2]=c[o>>2];j=c[k>>2]|0;c[j>>2]=(c[j>>2]|0)+4}hO(c[n>>2]|0,c[o>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[q>>2]|0,c[k>>2]|0,c[m>>2]|0);if((c[c[p>>2]>>2]|0)==4){c[o>>2]=c[(c[p>>2]|0)+16>>2];c[c[c[k>>2]>>2]>>2]=c[o>>2];j=c[k>>2]|0;c[j>>2]=(c[j>>2]|0)+4}hO(c[n>>2]|0,c[o>>2]|0,c[(c[p>>2]|0)+16>>2]|0,c[q>>2]|0,c[k>>2]|0,c[m>>2]|0);l=r;return}function iO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;u=B+76|0;v=B+72|0;w=B+68|0;x=B+64|0;y=B+60|0;z=B+56|0;f=B+52|0;g=B+48|0;h=B+44|0;i=B+40|0;j=B+36|0;k=B+32|0;m=B+28|0;n=B+24|0;o=B+20|0;p=B+16|0;q=B+12|0;r=B+8|0;s=B+4|0;t=B;c[v>>2]=a;c[w>>2]=b;c[x>>2]=d;c[y>>2]=e;c[z>>2]=c[c[v>>2]>>2];c[f>>2]=0;c[g>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=1;if(c[(c[z>>2]|0)+40>>2]|0){c[u>>2]=0;A=c[u>>2]|0;l=B;return A|0}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[y>>2]|0))break;if((c[(c[x>>2]|0)+((c[h>>2]|0)*24|0)+12>>2]|0)==(c[w>>2]|0)){c[i>>2]=(c[i>>2]|0)+(c[(c[x>>2]|0)+((c[h>>2]|0)*24|0)+16>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[h>>2]=(c[h>>2]|0)+1}if((c[i>>2]|0)==0|(c[j>>2]|0)<2){c[u>>2]=0;A=c[u>>2]|0;l=B;return A|0}c[g>>2]=kO(c[v>>2]|0,f)|0;c[h>>2]=0;while(1){if(!((c[h>>2]|0)<(c[j>>2]|0)?(c[g>>2]|0)==0:0))break;c[o>>2]=0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[y>>2]|0))break;do if(c[(c[x>>2]|0)+((c[n>>2]|0)*24|0)+8>>2]|0?(c[(c[x>>2]|0)+((c[n>>2]|0)*24|0)+12>>2]|0)==(c[w>>2]|0):0){if(c[o>>2]|0?(c[(c[x>>2]|0)+((c[n>>2]|0)*24|0)+16>>2]|0)>=(c[(c[o>>2]|0)+16>>2]|0):0)break;c[o>>2]=(c[x>>2]|0)+((c[n>>2]|0)*24|0)}while(0);c[n>>2]=(c[n>>2]|0)+1}if(c[h>>2]|0?(c[(c[o>>2]|0)+16>>2]|0)>=(O(((c[k>>2]|0)+((c[m>>2]|0)/4|0)-1|0)/((c[m>>2]|0)/4|0|0)|0,c[f>>2]|0)|0):0){c[p>>2]=c[(c[o>>2]|0)+8>>2];c[g>>2]=lO(c[v>>2]|0,c[p>>2]|0,c[(c[o>>2]|0)+20>>2]|0)|0;lM(c[(c[p>>2]|0)+20>>2]|0);c[(c[p>>2]|0)+20>>2]=0}else A=23;do if((A|0)==23){A=0;if((c[h>>2]|0)<12)c[m>>2]=c[m>>2]<<2;if(c[h>>2]|0){if((c[(c[c[o>>2]>>2]|0)+64>>2]|0)<=1)break;if((c[h>>2]|0)==((c[j>>2]|0)-1|0))break}c[q>>2]=c[(c[o>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=0;c[g>>2]=eM(c[z>>2]|0,c[q>>2]|0,c[(c[o>>2]|0)+20>>2]|0,r,s)|0;if(!(c[g>>2]|0))c[g>>2]=fM(c[z>>2]|0,c[c[o>>2]>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[s>>2]|0,c[r>>2]|0)|0;if(!(c[g>>2]|0)){c[t>>2]=mO(c[c[c[o>>2]>>2]>>2]|0,c[(c[c[o>>2]>>2]|0)+4>>2]|0)|0;if(c[h>>2]|0?(c[t>>2]|0)>=(c[k>>2]|0):0)break;c[k>>2]=c[t>>2]}}while(0);c[(c[o>>2]|0)+8>>2]=0;c[h>>2]=(c[h>>2]|0)+1}c[u>>2]=c[g>>2];A=c[u>>2]|0;l=B;return A|0}function jO(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;k=m+12|0;h=m+8|0;i=m+4|0;j=m;c[g>>2]=b;c[k>>2]=e;c[h>>2]=f;if(!(c[k>>2]|0)){l=m;return}if(c[c[h>>2]>>2]|0){l=m;return}if((c[c[k>>2]>>2]|0)!=5){jO(c[g>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0);jO(c[g>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0);if(d[(c[(c[k>>2]|0)+12>>2]|0)+34>>0]|0|0)b=(d[(c[(c[k>>2]|0)+16>>2]|0)+34>>0]|0|0)!=0;else b=0;a[(c[k>>2]|0)+34>>0]=b&1;l=m;return}c[i>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+64>>2];if(c[i>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;if(!(c[(c[(c[k>>2]|0)+20>>2]|0)+72+((c[j>>2]|0)*24|0)+16>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}a[(c[k>>2]|0)+34>>0]=(c[j>>2]|0)==(c[i>>2]|0)}k=bM(c[g>>2]|0,1,c[(c[k>>2]|0)+20>>2]|0)|0;c[c[h>>2]>>2]=k;l=m;return}function kO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;f=o+44|0;g=o+40|0;h=o+36|0;i=o+32|0;j=o+28|0;k=o+24|0;m=o+8|0;n=o;d=o+20|0;e=o+16|0;c[g>>2]=a;c[h>>2]=b;if(!(c[(c[g>>2]|0)+60>>2]|0)){c[j>>2]=c[c[g>>2]>>2];b=m;c[b>>2]=0;c[b+4>>2]=0;b=n;c[b>>2]=0;c[b+4>>2]=0;c[i>>2]=MM(c[j>>2]|0,k)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}c[e>>2]=eI(c[k>>2]|0,0)|0;b=c[e>>2]|0;c[d>>2]=b+(fI(c[k>>2]|0,0)|0);b=YK(c[e>>2]|0,m)|0;c[e>>2]=(c[e>>2]|0)+b;while(1){if((c[e>>2]|0)>>>0>=(c[d>>2]|0)>>>0)break;b=YK(c[e>>2]|0,n)|0;c[e>>2]=(c[e>>2]|0)+b}d=m;e=n;if((c[d>>2]|0)==0&(c[d+4>>2]|0)==0|(c[e>>2]|0)==0&(c[e+4>>2]|0)==0){Er(c[k>>2]|0)|0;c[f>>2]=267;n=c[f>>2]|0;l=o;return n|0}b=m;d=c[b+4>>2]|0;e=(c[g>>2]|0)+64|0;c[e>>2]=c[b>>2];c[e+4>>2]=d;e=n;n=m;n=LR(c[e>>2]|0,c[e+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0)|0;m=c[(c[j>>2]|0)+236>>2]|0;m=IR(n|0,z|0,m|0,((m|0)<0)<<31>>31|0)|0;n=c[(c[j>>2]|0)+236>>2]|0;n=LR(m|0,z|0,n|0,((n|0)<0)<<31>>31|0)|0;c[(c[g>>2]|0)+60>>2]=n;c[i>>2]=Er(c[k>>2]|0)|0;if(c[i>>2]|0){c[f>>2]=c[i>>2];n=c[f>>2]|0;l=o;return n|0}}c[c[h>>2]>>2]=c[(c[g>>2]|0)+60>>2];c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}function lO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=Yd(16)|0;if(c[i>>2]|0){d=c[i>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[c[i>>2]>>2]=c[g>>2];c[(c[i>>2]|0)+8>>2]=c[(c[f>>2]|0)+24>>2];c[(c[i>>2]|0)+4>>2]=c[h>>2];c[(c[f>>2]|0)+24>>2]=c[i>>2];c[(c[g>>2]|0)+16>>2]=c[i>>2];c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}else{c[e>>2]=7;i=c[e>>2]|0;l=j;return i|0}return 0}function mO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[e>>2]|0)){i=c[g>>2]|0;l=j;return i|0}c[h>>2]=(c[e>>2]|0)+(c[f>>2]|0);c[i>>2]=c[e>>2];while(1){if((c[i>>2]|0)>>>0>=(c[h>>2]|0)>>>0)break;c[g>>2]=(c[g>>2]|0)+1;do{f=c[i>>2]|0;c[i>>2]=f+1}while((a[f>>0]&128|0)!=0);bL(0,i)}i=c[g>>2]|0;l=j;return i|0}function nO(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;r=q+44|0;j=q+40|0;n=q+36|0;k=q+32|0;o=q+28|0;m=q+24|0;p=q+20|0;f=q+16|0;g=q+12|0;h=q;i=q+8|0;c[r>>2]=a;c[j>>2]=b;c[n>>2]=e;c[k>>2]=c[c[r>>2]>>2];c[o>>2]=0;c[p>>2]=0;c[f>>2]=c[(c[k>>2]|0)+236>>2];c[m>>2]=0;while(1){if(c[p>>2]|0){a=13;break}if((c[m>>2]|0)>=(c[(c[j>>2]|0)+4>>2]|0)){a=13;break}c[g>>2]=c[(c[c[j>>2]>>2]|0)+(c[m>>2]<<2)>>2];a:do if((c[(c[g>>2]|0)+56>>2]|0)==0?(d[(c[g>>2]|0)+5>>0]|0|0)==0:0){b=(c[g>>2]|0)+8|0;e=c[b+4>>2]|0;r=h;c[r>>2]=c[b>>2];c[r+4>>2]=e;while(1){e=h;a=c[e+4>>2]|0;r=(c[g>>2]|0)+16|0;b=c[r+4>>2]|0;if(!((a|0)<(b|0)|((a|0)==(b|0)?(c[e>>2]|0)>>>0<=(c[r>>2]|0)>>>0:0)))break a;r=h;c[p>>2]=eL(c[k>>2]|0,c[r>>2]|0,c[r+4>>2]|0,0,i,0)|0;if(c[p>>2]|0)break a;if(((c[i>>2]|0)+35|0)>(c[f>>2]|0))c[o>>2]=(c[o>>2]|0)+(((c[i>>2]|0)+34|0)/(c[f>>2]|0)|0);e=h;e=IR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;r=h;c[r>>2]=e;c[r+4>>2]=z}}while(0);c[m>>2]=(c[m>>2]|0)+1}if((a|0)==13){c[c[n>>2]>>2]=c[o>>2];l=q;return c[p>>2]|0}return 0}function oO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;m=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[h>>2]=7;c[g>>2]=Yd(56)|0;if(!(c[g>>2]|0)){p=c[g>>2]|0;q=c[q>>2]|0;c[q>>2]=p;q=c[h>>2]|0;l=r;return q|0}c[j>>2]=0;c[k>>2]=c[c[m>>2]>>2];a:do if(c[p>>2]|0){c[i>>2]=1;while(1){if(c[j>>2]|0)break;if((c[i>>2]|0)>=(c[(c[k>>2]|0)+248>>2]|0))break;if((c[(c[(c[k>>2]|0)+252>>2]|0)+((c[i>>2]|0)*24|0)>>2]|0)==(c[o>>2]|0)){c[j>>2]=1;c[h>>2]=oK(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[i>>2]|0,-2,c[n>>2]|0,c[o>>2]|0,0,0,c[g>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=1}c[i>>2]=(c[i>>2]|0)+1}c[i>>2]=1;while(1){if(c[j>>2]|0)break a;if((c[i>>2]|0)>=(c[(c[k>>2]|0)+248>>2]|0))break a;if((c[(c[(c[k>>2]|0)+252>>2]|0)+((c[i>>2]|0)*24|0)>>2]|0)==((c[o>>2]|0)+1|0)?(c[j>>2]=1,c[h>>2]=oK(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[i>>2]|0,-2,c[n>>2]|0,c[o>>2]|0,1,0,c[g>>2]|0)|0,(c[h>>2]|0)==0):0)c[h>>2]=pO(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[n>>2]|0,c[o>>2]|0,c[g>>2]|0)|0;c[i>>2]=(c[i>>2]|0)+1}}while(0);if(c[j>>2]|0){p=c[g>>2]|0;q=c[q>>2]|0;c[q>>2]=p;q=c[h>>2]|0;l=r;return q|0}c[h>>2]=oK(c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,0,-2,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,0,c[g>>2]|0)|0;c[(c[g>>2]|0)+36>>2]=((c[p>>2]|0)!=0^1)&1;p=c[g>>2]|0;q=c[q>>2]|0;c[q>>2]=p;q=c[h>>2]|0;l=r;return q|0}function pO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+16|0;k=g+12|0;j=g+8|0;i=g+4|0;h=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=d;c[i>>2]=e;c[h>>2]=f;f=hL(c[m>>2]|0,c[k>>2]|0,0,-2,c[j>>2]|0,c[i>>2]|0,0,0,c[h>>2]|0)|0;l=g;return f|0}function qO(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+96|0;x=y+80|0;k=y+76|0;m=y+72|0;n=y+68|0;o=y+64|0;p=y+60|0;q=y+56|0;r=y+52|0;s=y+48|0;t=y+44|0;u=y+40|0;v=y+36|0;w=y;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[s>>2]=i;c[t>>2]=j;a=w;b=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[w>>2]=c[k>>2];c[w+4>>2]=c[m>>2];c[w+8>>2]=c[n>>2];c[w+16>>2]=c[p>>2];c[w+20>>2]=c[q>>2];c[w+12>>2]=c[o>>2];if(!(c[r>>2]|0)){c[c[t>>2]>>2]=0;c[x>>2]=0;x=c[x>>2]|0;l=y;return x|0}if((c[s>>2]|0)<0)c[s>>2]=lQ(c[r>>2]|0)|0;c[v>>2]=tO(w,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0,u)|0;if((c[v>>2]|0)==0?c[w+32>>2]|0:0)c[v>>2]=1;c[x>>2]=c[v>>2];x=c[x>>2]|0;l=y;return x|0}function rO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;m=t+52|0;n=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;i=t+32|0;r=t+28|0;s=t+24|0;k=t+20|0;f=t+16|0;g=t+12|0;h=t+8|0;d=t+4|0;e=t;c[m>>2]=a;c[n>>2]=b;c[o>>2]=0;c[p>>2]=c[c[m>>2]>>2];c[q>>2]=0;c[i>>2]=c[c[p>>2]>>2];if(!(c[n>>2]|0))c[o>>2]=1;do if(!(c[o>>2]|0)){if(!((c[i>>2]|0)==3|(c[i>>2]|0)==4)){if((c[i>>2]|0)!=2)break;c[d>>2]=c[(c[p>>2]|0)+12>>2];c[e>>2]=c[(c[p>>2]|0)+16>>2];c[(c[p>>2]|0)+12>>2]=0;c[(c[p>>2]|0)+16>>2]=0;c[(c[d>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+8>>2]=0;c[o>>2]=rO(d,(c[n>>2]|0)-1|0)|0;if(!(c[o>>2]|0))c[o>>2]=rO(e,(c[n>>2]|0)-1|0)|0;if(c[o>>2]|0){cO(c[e>>2]|0);cO(c[d>>2]|0);break}else{c[(c[p>>2]|0)+12>>2]=c[d>>2];c[(c[d>>2]|0)+8>>2]=c[p>>2];c[(c[p>>2]|0)+16>>2]=c[e>>2];c[(c[e>>2]|0)+8>>2]=c[p>>2];break}}c[r>>2]=Yd(c[n>>2]<<2)|0;if(!(c[r>>2]|0))c[o>>2]=7;else GR(c[r>>2]|0,0,c[n>>2]<<2|0)|0;if(!(c[o>>2]|0)){c[k>>2]=c[p>>2];while(1){if((c[c[k>>2]>>2]|0)!=(c[i>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+12>>2]}while(1){c[g>>2]=c[(c[k>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=0;if(c[g>>2]|0)c[(c[g>>2]|0)+12>>2]=0;else c[p>>2]=0;c[o>>2]=rO(k,(c[n>>2]|0)-1|0)|0;if(c[o>>2]|0)break;c[f>>2]=0;while(1){if(!(c[k>>2]|0))break;if((c[f>>2]|0)>=(c[n>>2]|0))break;if(!(c[(c[r>>2]|0)+(c[f>>2]<<2)>>2]|0)){c[(c[r>>2]|0)+(c[f>>2]<<2)>>2]=c[k>>2];c[k>>2]=0}else{c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+(c[f>>2]<<2)>>2];c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[(c[q>>2]|0)+12>>2]|0)+8>>2]=c[q>>2];c[(c[(c[q>>2]|0)+16>>2]|0)+8>>2]=c[q>>2];c[k>>2]=c[q>>2];c[q>>2]=c[(c[q>>2]|0)+8>>2];c[(c[k>>2]|0)+8>>2]=0;c[(c[r>>2]|0)+(c[f>>2]<<2)>>2]=0}c[f>>2]=(c[f>>2]|0)+1}if(c[k>>2]|0){j=24;break}if(!(c[g>>2]|0))break;c[k>>2]=c[(c[g>>2]|0)+16>>2];while(1){if((c[c[k>>2]>>2]|0)!=(c[i>>2]|0))break;c[k>>2]=c[(c[k>>2]|0)+12>>2]}c[(c[(c[g>>2]|0)+16>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];a=c[(c[g>>2]|0)+16>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0)c[(c[(c[g>>2]|0)+8>>2]|0)+12>>2]=a;else c[p>>2]=a;c[(c[g>>2]|0)+8>>2]=c[q>>2];c[q>>2]=c[g>>2]}if((j|0)==24){cO(c[k>>2]|0);c[o>>2]=18}a:do if(!(c[o>>2]|0)){c[k>>2]=0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;if(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0){if(!(c[k>>2]|0)){c[k>>2]=c[(c[r>>2]|0)+(c[s>>2]<<2)>>2];a=c[k>>2]|0}else{c[(c[q>>2]|0)+16>>2]=c[k>>2];c[(c[q>>2]|0)+12>>2]=c[(c[r>>2]|0)+(c[s>>2]<<2)>>2];c[(c[(c[q>>2]|0)+12>>2]|0)+8>>2]=c[q>>2];c[(c[(c[q>>2]|0)+16>>2]|0)+8>>2]=c[q>>2];c[k>>2]=c[q>>2];c[q>>2]=c[(c[q>>2]|0)+8>>2];a=c[k>>2]|0}c[a+8>>2]=0}c[s>>2]=(c[s>>2]|0)+1}c[p>>2]=c[k>>2]}else{c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[n>>2]|0))break;cO(c[(c[r>>2]|0)+(c[s>>2]<<2)>>2]|0);c[s>>2]=(c[s>>2]|0)+1}while(1){s=c[q>>2]|0;c[h>>2]=s;if(!s)break a;c[q>>2]=c[(c[h>>2]|0)+8>>2];Kd(c[h>>2]|0)}}while(0);Kd(c[r>>2]|0)}}while(0);if(!(c[o>>2]|0)){r=c[p>>2]|0;s=c[m>>2]|0;c[s>>2]=r;s=c[o>>2]|0;l=t;return s|0}cO(c[p>>2]|0);c[p>>2]=0;r=c[p>>2]|0;s=c[m>>2]|0;c[s>>2]=r;s=c[o>>2]|0;l=t;return s|0}function sO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;do if(c[d>>2]|0){if((c[e>>2]|0)<0){c[f>>2]=18;break}c[f>>2]=sO(c[(c[d>>2]|0)+12>>2]|0,(c[e>>2]|0)-1|0)|0;if(!(c[f>>2]|0))c[f>>2]=sO(c[(c[d>>2]|0)+16>>2]|0,(c[e>>2]|0)-1|0)|0}while(0);l=g;return c[f>>2]|0}function tO(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=l;l=l+80|0;n=x+64|0;y=x+60|0;u=x+56|0;v=x+52|0;w=x+48|0;o=x+44|0;g=x+40|0;p=x+36|0;q=x+32|0;h=x+28|0;r=x+24|0;s=x+20|0;t=x+16|0;i=x+12|0;j=x+8|0;k=x+4|0;m=x;c[n>>2]=a;c[y>>2]=b;c[u>>2]=d;c[v>>2]=e;c[w>>2]=f;c[o>>2]=0;c[g>>2]=0;c[p>>2]=0;c[q>>2]=c[u>>2];c[h>>2]=c[y>>2];c[r>>2]=0;c[s>>2]=1;while(1){if(c[r>>2]|0){a=25;break}c[t>>2]=0;c[i>>2]=0;c[r>>2]=uO(c[n>>2]|0,c[h>>2]|0,c[q>>2]|0,t,i)|0;if((c[r>>2]|0)==0&(c[t>>2]|0)!=0){c[k>>2]=c[c[t>>2]>>2];if((c[k>>2]|0)==5)a=1;else a=(c[(c[t>>2]|0)+12>>2]|0)!=0;c[j>>2]=a&1;if((c[j>>2]|0)==0&(c[s>>2]|0)!=0){a=7;break}if(!((c[j>>2]|0)==0|(c[s>>2]|0)!=0)){c[m>>2]=vO(48)|0;if(!(c[m>>2]|0)){a=10;break}c[c[m>>2]>>2]=3;wO(o,c[g>>2]|0,c[m>>2]|0);c[g>>2]=c[m>>2]}if(c[g>>2]|0){if(!((c[k>>2]|0)!=1|(c[j>>2]|0)!=0)?(c[c[g>>2]>>2]|0)!=5:0){a=17;break}if((c[k>>2]|0)!=5&(c[j>>2]|0)!=0?(c[c[g>>2]>>2]|0)==1:0){a=17;break}}do if(c[j>>2]|0){a=c[t>>2]|0;if(c[o>>2]|0){c[(c[g>>2]|0)+16>>2]=a;c[(c[t>>2]|0)+8>>2]=c[g>>2];break}else{c[o>>2]=a;break}}else wO(o,c[g>>2]|0,c[t>>2]|0);while(0);c[s>>2]=((c[j>>2]|0)!=0^1)&1;c[g>>2]=c[t>>2]}c[q>>2]=(c[q>>2]|0)-(c[i>>2]|0);c[h>>2]=(c[h>>2]|0)+(c[i>>2]|0)}if((a|0)==7){cO(c[t>>2]|0);c[r>>2]=1}else if((a|0)==10){cO(c[t>>2]|0);c[r>>2]=7}else if((a|0)==17){cO(c[t>>2]|0);c[r>>2]=1}else if((a|0)==25){if((c[r>>2]|0)==101&(c[o>>2]|0)!=0&(c[s>>2]|0)!=0)c[r>>2]=1;if((c[r>>2]|0)==101)c[r>>2]=0;c[c[w>>2]>>2]=(c[u>>2]|0)-(c[q>>2]|0)}if(!(c[r>>2]|0)){w=c[o>>2]|0;y=c[v>>2]|0;c[y>>2]=w;y=c[r>>2]|0;l=x;return y|0}cO(c[o>>2]|0);cO(c[p>>2]|0);c[o>>2]=0;w=c[o>>2]|0;y=c[v>>2]|0;c[y>>2]=w;y=c[r>>2]|0;l=x;return y|0}function uO(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+80|0;y=E+72|0;z=E+68|0;A=E+64|0;B=E+60|0;C=E+56|0;p=E+52|0;q=E+48|0;r=E+44|0;s=E+40|0;t=E+36|0;i=E+32|0;u=E+28|0;v=E+24|0;j=E+20|0;k=E+16|0;m=E+12|0;n=E+76|0;o=E+8|0;w=E+4|0;x=E;c[z>>2]=b;c[A>>2]=e;c[B>>2]=f;c[C>>2]=g;c[p>>2]=h;c[i>>2]=0;c[u>>2]=c[A>>2];c[v>>2]=c[B>>2];c[(c[z>>2]|0)+24>>2]=0;while(1){if((c[v>>2]|0)>0)b=(yO(a[c[u>>2]>>0]|0)|0)!=0;else b=0;e=c[v>>2]|0;if(!b)break;c[v>>2]=e+-1;c[u>>2]=(c[u>>2]|0)+1}if(!e){c[y>>2]=101;D=c[y>>2]|0;l=E;return D|0}c[q>>2]=0;while(1){if((c[q>>2]|0)>=4)break;c[j>>2]=6592+(c[q>>2]<<3);if(((d[(c[j>>2]|0)+5>>0]&-2|0)==0?(c[v>>2]|0)>=(d[(c[j>>2]|0)+4>>0]|0):0)?0==(wQ(c[u>>2]|0,c[c[j>>2]>>2]|0,d[(c[j>>2]|0)+4>>0]|0)|0):0){c[k>>2]=10;c[m>>2]=d[(c[j>>2]|0)+4>>0];a:do if((((d[(c[j>>2]|0)+6>>0]|0)==1?(a[(c[u>>2]|0)+4>>0]|0)==47:0)?(a[(c[u>>2]|0)+5>>0]|0)>=48:0)?(a[(c[u>>2]|0)+5>>0]|0)<=57:0){c[k>>2]=0;c[m>>2]=5;while(1){if((a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0)<48)break a;if((a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0)>57)break a;c[k>>2]=((c[k>>2]|0)*10|0)+((a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0)-48);c[m>>2]=(c[m>>2]|0)+1}}while(0);a[n>>0]=a[(c[u>>2]|0)+(c[m>>2]|0)>>0]|0;if(yO(a[n>>0]|0)|0){D=26;break}if((a[n>>0]|0)==34){D=26;break}if((a[n>>0]|0)==40){D=26;break}if((a[n>>0]|0)==41){D=26;break}if(!(a[n>>0]|0)){D=26;break}}c[q>>2]=(c[q>>2]|0)+1}if((D|0)==26){c[i>>2]=vO(48)|0;if(c[i>>2]|0){c[c[i>>2]>>2]=d[(c[j>>2]|0)+6>>0];c[(c[i>>2]|0)+4>>2]=c[k>>2];c[c[C>>2]>>2]=c[i>>2];c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+(c[m>>2]|0);c[y>>2]=0;D=c[y>>2]|0;l=E;return D|0}else{c[y>>2]=7;D=c[y>>2]|0;l=E;return D|0}}if((a[c[u>>2]>>0]|0)==34){c[q>>2]=1;while(1){if((c[q>>2]|0)>=(c[v>>2]|0))break;if((a[(c[u>>2]|0)+(c[q>>2]|0)>>0]|0)==34)break;c[q>>2]=(c[q>>2]|0)+1}c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+(c[q>>2]|0)+1;if((c[q>>2]|0)==(c[v>>2]|0)){c[y>>2]=1;D=c[y>>2]|0;l=E;return D|0}else{c[y>>2]=zO(c[z>>2]|0,(c[u>>2]|0)+1|0,(c[q>>2]|0)-1|0,c[C>>2]|0)|0;D=c[y>>2]|0;l=E;return D|0}}if((a[c[u>>2]>>0]|0)==40){c[o>>2]=0;D=(c[z>>2]|0)+32|0;c[D>>2]=(c[D>>2]|0)+1;c[t>>2]=tO(c[z>>2]|0,(c[u>>2]|0)+1|0,(c[v>>2]|0)-1|0,c[C>>2]|0,o)|0;if((c[t>>2]|0)==0?(c[c[C>>2]>>2]|0)==0:0)c[t>>2]=101;c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+1+(c[o>>2]|0);c[y>>2]=c[t>>2];D=c[y>>2]|0;l=E;return D|0}b=c[z>>2]|0;if((a[c[u>>2]>>0]|0)==41){D=b+32|0;c[D>>2]=(c[D>>2]|0)+-1;c[c[p>>2]>>2]=(c[u>>2]|0)-(c[A>>2]|0)+1;c[c[C>>2]>>2]=0;c[y>>2]=101;D=c[y>>2]|0;l=E;return D|0}c[r>>2]=c[b+20>>2];c[s>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[(c[z>>2]|0)+16>>2]|0))break;c[w>>2]=c[(c[(c[z>>2]|0)+8>>2]|0)+(c[q>>2]<<2)>>2];c[x>>2]=lQ(c[w>>2]|0)|0;if(((c[v>>2]|0)>(c[x>>2]|0)?(a[(c[u>>2]|0)+(c[x>>2]|0)>>0]|0)==58:0)?(Zc(c[w>>2]|0,c[u>>2]|0,c[x>>2]|0)|0)==0:0){D=50;break}c[q>>2]=(c[q>>2]|0)+1}if((D|0)==50){c[r>>2]=c[q>>2];c[s>>2]=(c[u>>2]|0)-(c[A>>2]|0)+(c[x>>2]|0)+1}c[t>>2]=AO(c[z>>2]|0,c[r>>2]|0,(c[A>>2]|0)+(c[s>>2]|0)|0,(c[B>>2]|0)-(c[s>>2]|0)|0,c[C>>2]|0,c[p>>2]|0)|0;D=c[p>>2]|0;c[D>>2]=(c[D>>2]|0)+(c[s>>2]|0);c[y>>2]=c[t>>2];D=c[y>>2]|0;l=E;return D|0}function vO(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Yd(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;l=e;return d|0}GR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;l=e;return d|0}function wO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;e=h+12|0;i=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[i>>2]=b;c[f>>2]=d;c[g>>2]=c[i>>2];while(1){if(c[(c[g>>2]|0)+8>>2]|0){a=xO(c[(c[g>>2]|0)+8>>2]|0)|0;a=(a|0)<=(xO(c[f>>2]|0)|0)}else a=0;b=c[(c[g>>2]|0)+8>>2]|0;if(!a)break;c[g>>2]=b}a=c[f>>2]|0;if(b|0){c[(c[(c[g>>2]|0)+8>>2]|0)+16>>2]=a;c[(c[f>>2]|0)+8>>2]=c[(c[g>>2]|0)+8>>2];e=c[g>>2]|0;i=c[f>>2]|0;i=i+12|0;c[i>>2]=e;f=c[f>>2]|0;i=c[g>>2]|0;i=i+8|0;c[i>>2]=f;l=h;return}else{c[c[e>>2]>>2]=a;e=c[g>>2]|0;i=c[f>>2]|0;i=i+12|0;c[i>>2]=e;f=c[f>>2]|0;i=c[g>>2]|0;i=i+8|0;c[i>>2]=f;l=h;return}}function xO(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function yO(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(((((a[c>>0]|0)!=32?(a[c>>0]|0)!=9:0)?(a[c>>0]|0)!=10:0)?(a[c>>0]|0)!=13:0)?(a[c>>0]|0)!=11:0)b=(a[c>>0]|0)==12;else b=1;l=d;return b&1|0}function zO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+96|0;x=D+88|0;y=D+84|0;z=D+80|0;A=D+76|0;B=D+72|0;E=D+68|0;g=D+64|0;h=D+60|0;i=D+56|0;j=D+52|0;k=D+48|0;m=D+44|0;n=D+36|0;o=D+32|0;p=D+28|0;q=D+24|0;r=D+20|0;s=D+16|0;t=D+12|0;u=D+8|0;v=D+4|0;w=D;c[y>>2]=b;c[z>>2]=d;c[A>>2]=e;c[B>>2]=f;c[E>>2]=c[c[y>>2]>>2];c[g>>2]=c[c[E>>2]>>2];c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[m>>2]=0;c[D+40>>2]=144;c[n>>2]=0;c[h>>2]=zM(c[E>>2]|0,c[(c[y>>2]|0)+4>>2]|0,c[z>>2]|0,c[A>>2]|0,j)|0;a:do if(!(c[h>>2]|0)){c[o>>2]=0;while(1){if(c[h>>2]|0)break;c[q>>2]=0;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[h>>2]=sb[c[(c[g>>2]|0)+20>>2]&255](c[j>>2]|0,p,q,r,s,t)|0;if(!(c[h>>2]|0)){c[i>>2]=BO(c[i>>2]|0,144+((c[o>>2]|0)*24|0)|0)|0;if(!(c[i>>2]|0))break a;c[k>>2]=BO(c[k>>2]|0,(c[m>>2]|0)+(c[q>>2]|0)|0)|0;if(!(c[k>>2]|0))break a;c[u>>2]=(c[i>>2]|0)+48+72+((c[o>>2]|0)*24|0);E=c[u>>2]|0;c[E>>2]=0;c[E+4>>2]=0;c[E+8>>2]=0;c[E+12>>2]=0;c[E+16>>2]=0;c[E+20>>2]=0;MR((c[k>>2]|0)+(c[m>>2]|0)|0,c[p>>2]|0,c[q>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+(c[q>>2]|0);c[(c[u>>2]|0)+4>>2]=c[q>>2];if((c[s>>2]|0)<(c[A>>2]|0))b=(a[(c[z>>2]|0)+(c[s>>2]|0)>>0]|0)==42;else b=0;c[(c[u>>2]|0)+8>>2]=b&1;if((c[r>>2]|0)>0)b=(a[(c[z>>2]|0)+((c[r>>2]|0)-1)>>0]|0)==94;else b=0;c[(c[u>>2]|0)+12>>2]=b&1;c[n>>2]=(c[o>>2]|0)+1}c[o>>2]=(c[o>>2]|0)+1}tb[c[(c[g>>2]|0)+16>>2]&255](c[j>>2]|0)|0;c[j>>2]=0;C=14}else C=14;while(0);do if((C|0)==14){if((c[h>>2]|0)==101){c[w>>2]=0;c[i>>2]=BO(c[i>>2]|0,144+((c[n>>2]|0)*24|0)+(c[m>>2]|0)|0)|0;if(!(c[i>>2]|0))break;GR(c[i>>2]|0,0,(c[i>>2]|0)+48+72-(c[i>>2]|0)|0)|0;c[c[i>>2]>>2]=5;c[(c[i>>2]|0)+20>>2]=(c[i>>2]|0)+48;c[(c[(c[i>>2]|0)+20>>2]|0)+68>>2]=c[(c[y>>2]|0)+20>>2];c[(c[(c[i>>2]|0)+20>>2]|0)+64>>2]=c[n>>2];c[w>>2]=(c[(c[i>>2]|0)+20>>2]|0)+72+((c[n>>2]|0)*24|0);if(c[k>>2]|0){MR(c[w>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;Kd(c[k>>2]|0)}c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[(c[(c[i>>2]|0)+20>>2]|0)+64>>2]|0))break;c[(c[(c[i>>2]|0)+20>>2]|0)+72+((c[v>>2]|0)*24|0)>>2]=c[w>>2];c[w>>2]=(c[w>>2]|0)+(c[(c[(c[i>>2]|0)+20>>2]|0)+72+((c[v>>2]|0)*24|0)+4>>2]|0);c[v>>2]=(c[v>>2]|0)+1}c[h>>2]=0}c[c[B>>2]>>2]=c[i>>2];c[x>>2]=c[h>>2];E=c[x>>2]|0;l=D;return E|0}while(0);if(c[j>>2]|0)tb[c[(c[g>>2]|0)+16>>2]&255](c[j>>2]|0)|0;Kd(c[k>>2]|0);Kd(c[i>>2]|0);c[c[B>>2]>>2]=0;c[x>>2]=7;E=c[x>>2]|0;l=D;return E|0}function AO(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+80|0;x=B+68|0;y=B+64|0;z=B+60|0;A=B+56|0;i=B+52|0;j=B+48|0;k=B+44|0;m=B+40|0;n=B+36|0;o=B+32|0;p=B+28|0;q=B+24|0;r=B+20|0;s=B+16|0;t=B+12|0;u=B+8|0;v=B+4|0;w=B;c[x>>2]=b;c[y>>2]=d;c[z>>2]=e;c[A>>2]=f;c[i>>2]=g;c[j>>2]=h;c[k>>2]=c[c[x>>2]>>2];c[m>>2]=c[c[k>>2]>>2];c[p>>2]=0;c[q>>2]=0;c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[A>>2]|0))break;if((a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)==40)break;if((a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)==41)break;if((a[(c[z>>2]|0)+(c[q>>2]|0)>>0]|0)==34)break;c[q>>2]=(c[q>>2]|0)+1}c[c[j>>2]>>2]=c[q>>2];c[n>>2]=zM(c[k>>2]|0,c[(c[x>>2]|0)+4>>2]|0,c[z>>2]|0,c[q>>2]|0,o)|0;if(c[n>>2]|0){z=c[p>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[n>>2]|0;l=B;return A|0}c[s>>2]=0;c[t>>2]=0;c[u>>2]=0;c[v>>2]=0;c[n>>2]=sb[c[(c[m>>2]|0)+20>>2]&255](c[o>>2]|0,r,s,t,u,v)|0;if(c[n>>2]|0){if((c[q>>2]|0)!=0&(c[n>>2]|0)==101)c[n>>2]=0}else{c[w>>2]=144+(c[s>>2]|0);c[p>>2]=vO(c[w>>2]|0)|0;a:do if(c[p>>2]|0){c[c[p>>2]>>2]=5;c[(c[p>>2]|0)+20>>2]=(c[p>>2]|0)+48;c[(c[(c[p>>2]|0)+20>>2]|0)+64>>2]=1;c[(c[(c[p>>2]|0)+20>>2]|0)+68>>2]=c[y>>2];c[(c[(c[p>>2]|0)+20>>2]|0)+72+4>>2]=c[s>>2];c[(c[(c[p>>2]|0)+20>>2]|0)+72>>2]=(c[(c[p>>2]|0)+20>>2]|0)+96;MR(c[(c[(c[p>>2]|0)+20>>2]|0)+72>>2]|0,c[r>>2]|0,c[s>>2]|0)|0;if((c[u>>2]|0)<(c[A>>2]|0)?(a[(c[z>>2]|0)+(c[u>>2]|0)>>0]|0)==42:0){c[(c[(c[p>>2]|0)+20>>2]|0)+72+8>>2]=1;c[u>>2]=(c[u>>2]|0)+1}while(1){if(!((c[t>>2]|0)>0?(c[(c[x>>2]|0)+12>>2]|0)!=0:0))break a;if((a[(c[z>>2]|0)+((c[t>>2]|0)-1)>>0]|0)!=94)break a;c[(c[(c[p>>2]|0)+20>>2]|0)+72+12>>2]=1;c[t>>2]=(c[t>>2]|0)+-1}}else c[n>>2]=7;while(0);c[c[j>>2]>>2]=c[u>>2]}tb[c[(c[m>>2]|0)+16>>2]&255](c[o>>2]|0)|0;z=c[p>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[n>>2]|0;l=B;return A|0}function BO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=Df(c[d>>2]|0,c[g>>2]|0)|0;if(c[e>>2]|0){g=c[e>>2]|0;l=f;return g|0}Kd(c[d>>2]|0);g=c[e>>2]|0;l=f;return g|0}function CO(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;DO(c[(c[d>>2]|0)+20>>2]|0);Kd(c[(c[d>>2]|0)+40>>2]|0);Kd(c[d>>2]|0);l=b;return}function DO(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;if(!(c[d>>2]|0)){l=f;return}Kd(c[c[d>>2]>>2]|0);TL(c[d>>2]|0);a=c[d>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0))break;lM(c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]|0);c[(c[d>>2]|0)+72+((c[e>>2]|0)*24|0)+20>>2]=0;c[e>>2]=(c[e>>2]|0)+1}l=f;return}function EO(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+8>>2];iK(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}c[(c[b>>2]|0)+24>>2]=0;l=f;return}function FO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;f=g;c[e>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;if((LI()|0)<3008002){l=g;return}b=f;d=c[b+4>>2]|0;f=(c[e>>2]|0)+48|0;c[f>>2]=c[b>>2];c[f+4>>2]=d;l=g;return}function GO(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((LI()|0)<3008012){l=d;return}b=(c[b>>2]|0)+56|0;c[b>>2]=c[b>>2]|1;l=d;return}function HO(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0;ha=l;l=l+288|0;ca=ha+40|0;ba=ha+32|0;D=ha+24|0;s=ha+16|0;t=ha+8|0;r=ha;aa=ha+280|0;C=ha+276|0;ia=ha+272|0;j=ha+268|0;E=ha+264|0;da=ha+260|0;F=ha+256|0;v=ha+252|0;ea=ha+248|0;fa=ha+244|0;G=ha+240|0;w=ha+236|0;H=ha+232|0;x=ha+228|0;I=ha+224|0;J=ha+220|0;K=ha+216|0;L=ha+212|0;M=ha+208|0;N=ha+204|0;ga=ha+200|0;O=ha+196|0;P=ha+192|0;y=ha+188|0;z=ha+184|0;Q=ha+180|0;R=ha+176|0;S=ha+172|0;T=ha+168|0;U=ha+164|0;V=ha+160|0;W=ha+156|0;k=ha+152|0;m=ha+148|0;n=ha+144|0;o=ha+80|0;p=ha+76|0;q=ha+72|0;A=ha+68|0;B=ha+64|0;X=ha+60|0;Y=ha+56|0;Z=ha+52|0;_=ha+48|0;$=ha+44|0;c[aa>>2]=b;c[C>>2]=d;c[ia>>2]=e;c[j>>2]=f;c[E>>2]=g;c[da>>2]=h;c[F>>2]=i;c[v>>2]=c[ia>>2];c[ea>>2]=0;c[fa>>2]=0;c[x>>2]=0;c[I>>2]=0;c[M>>2]=(a[(c[c[E>>2]>>2]|0)+3>>0]|0)==52&1;c[ga>>2]=0;c[O>>2]=0;c[P>>2]=0;c[y>>2]=0;c[z>>2]=0;c[Q>>2]=0;c[R>>2]=0;c[S>>2]=0;c[T>>2]=0;c[U>>2]=0;c[V>>2]=0;c[W>>2]=0;c[K>>2]=(lQ(c[(c[E>>2]|0)+4>>2]|0)|0)+1;c[L>>2]=(lQ(c[(c[E>>2]|0)+8>>2]|0)|0)+1;c[w>>2]=(c[j>>2]|0)-2<<2;c[N>>2]=Yd(c[w>>2]|0)|0;if(c[N>>2]|0){GR(c[N>>2]|0,0,c[w>>2]|0)|0;c[V>>2]=Yd(c[w>>2]|0)|0}if(c[V>>2]|0)GR(c[V>>2]|0,0,c[w>>2]|0)|0;do if((c[N>>2]|0)!=0&(c[V>>2]|0)!=0){c[G>>2]=3;while(1){if(c[fa>>2]|0)break;if((c[G>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=c[(c[E>>2]|0)+(c[G>>2]<<2)>>2];if(((!(c[ga>>2]|0)?(lQ(c[k>>2]|0)|0)>>>0>8:0)?0==(Zc(c[k>>2]|0,43021,8)|0):0)?0==(IO(a[(c[k>>2]|0)+8>>0]|0)|0):0)c[fa>>2]=JO(c[v>>2]|0,(c[k>>2]|0)+9|0,ga,c[F>>2]|0)|0;else u=15;do if((u|0)==15){u=0;if(c[M>>2]|0?KO(c[k>>2]|0,m,n)|0:0){b=o;d=6624;e=b+64|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));if(!(c[n>>2]|0)){c[fa>>2]=7;break}c[p>>2]=0;while(1){if((c[p>>2]|0)>=8)break;c[q>>2]=o+(c[p>>2]<<3);if((c[m>>2]|0)==(c[(c[q>>2]|0)+4>>2]|0)?(Zc(c[k>>2]|0,c[c[q>>2]>>2]|0,c[(c[q>>2]|0)+4>>2]|0)|0)==0:0)break;c[p>>2]=(c[p>>2]|0)+1}a:do if((c[p>>2]|0)==8){ia=c[F>>2]|0;c[r>>2]=c[k>>2];DJ(ia,43030,r);c[fa>>2]=1}else switch(c[p>>2]|0){case 0:{if(!((lQ(c[n>>2]|0)|0)==4?!(Zc(c[n>>2]|0,39536,4)|0):0)){ia=c[F>>2]|0;c[t>>2]=c[n>>2];DJ(ia,43057,t);c[fa>>2]=1}c[y>>2]=1;break a}case 1:{Kd(c[Q>>2]|0);c[Q>>2]=c[n>>2];c[n>>2]=0;break a}case 2:{Kd(c[R>>2]|0);c[R>>2]=c[n>>2];c[n>>2]=0;break a}case 3:{Kd(c[S>>2]|0);c[S>>2]=c[n>>2];c[n>>2]=0;break a}case 4:{if(!((lQ(c[n>>2]|0)|0)==3?!(Zc(c[n>>2]|0,43084,3)|0):0))u=36;do if((u|0)==36){u=0;if((lQ(c[n>>2]|0)|0)==4?(Zc(c[n>>2]|0,29487,4)|0)==0:0)break;ia=c[F>>2]|0;c[s>>2]=c[n>>2];DJ(ia,43088,s);c[fa>>2]=1}while(0);if((a[c[n>>2]>>0]|0)==100)b=1;else b=(a[c[n>>2]>>0]|0)==68;c[z>>2]=b&1;break a}case 5:{Kd(c[T>>2]|0);c[T>>2]=c[n>>2];c[n>>2]=0;break a}case 6:{Kd(c[U>>2]|0);c[U>>2]=c[n>>2];c[n>>2]=0;break a}case 7:{h=c[n>>2]|0;i=c[V>>2]|0;ia=c[W>>2]|0;c[W>>2]=ia+1;c[i+(ia<<2)>>2]=h;c[n>>2]=0;break a}default:break a}while(0);Kd(c[n>>2]|0);break}h=(lQ(c[k>>2]|0)|0)+1|0;c[x>>2]=(c[x>>2]|0)+h;h=c[k>>2]|0;i=c[N>>2]|0;ia=c[I>>2]|0;c[I>>2]=ia+1;c[i+(ia<<2)>>2]=h}while(0);c[G>>2]=(c[G>>2]|0)+1}b:do if(((c[fa>>2]|0)==0&(c[T>>2]|0)!=0?(Kd(c[R>>2]|0),Kd(c[S>>2]|0),c[R>>2]=0,c[S>>2]=0,(c[I>>2]|0)==0):0)?(Kd(c[N>>2]|0),c[N>>2]=0,c[fa>>2]=LO(c[C>>2]|0,c[(c[E>>2]|0)+4>>2]|0,c[T>>2]|0,N,I,x,c[F>>2]|0)|0,(c[fa>>2]|0)==0&(c[U>>2]|0)!=0):0){c[A>>2]=0;while(1){if((c[A>>2]|0)>=(c[I>>2]|0))break b;ia=(uk(c[U>>2]|0,c[(c[N>>2]|0)+(c[A>>2]<<2)>>2]|0)|0)==0;b=c[A>>2]|0;if(ia)break;c[A>>2]=b+1}c[B>>2]=b;while(1){if((c[B>>2]|0)>=(c[I>>2]|0))break;c[(c[N>>2]|0)+(c[B>>2]<<2)>>2]=c[(c[N>>2]|0)+((c[B>>2]|0)+1<<2)>>2];c[B>>2]=(c[B>>2]|0)+1}c[I>>2]=(c[I>>2]|0)+-1}while(0);if(!(c[fa>>2]|0)){if(!(c[I>>2]|0)){c[c[N>>2]>>2]=43111;c[x>>2]=8;c[I>>2]=1}if((c[ga>>2]|0)==0?(c[fa>>2]=JO(c[v>>2]|0,39462,ga,c[F>>2]|0)|0,c[fa>>2]|0):0)break;c[fa>>2]=MO(c[Q>>2]|0,O,P)|0;if((c[fa>>2]|0)==1){ia=c[F>>2]|0;c[D>>2]=c[Q>>2];DJ(ia,43119,D)}if(!(c[fa>>2]|0)){c[w>>2]=280+(c[I>>2]<<2)+((c[O>>2]|0)*24|0)+(c[I>>2]|0)+(c[L>>2]|0)+(c[K>>2]|0)+(c[x>>2]|0);c[ea>>2]=Yd(c[w>>2]|0)|0;if(!(c[ea>>2]|0)){c[fa>>2]=7;break}GR(c[ea>>2]|0,0,c[w>>2]|0)|0;c[(c[ea>>2]|0)+12>>2]=c[C>>2];c[(c[ea>>2]|0)+24>>2]=c[I>>2];c[(c[ea>>2]|0)+260>>2]=0;c[(c[ea>>2]|0)+28>>2]=(c[ea>>2]|0)+280;c[(c[ea>>2]|0)+36>>2]=c[ga>>2];c[(c[ea>>2]|0)+256>>2]=1048576;a[(c[ea>>2]|0)+230>>0]=(c[M>>2]|0?(c[y>>2]|0)==0:0)&1;a[(c[ea>>2]|0)+229>>0]=c[M>>2];a[(c[ea>>2]|0)+228>>0]=c[M>>2];a[(c[ea>>2]|0)+231>>0]=c[z>>2];c[(c[ea>>2]|0)+48>>2]=255;c[(c[ea>>2]|0)+40>>2]=c[T>>2];c[(c[ea>>2]|0)+44>>2]=c[U>>2];c[T>>2]=0;c[U>>2]=0;c[(c[ea>>2]|0)+252>>2]=(c[(c[ea>>2]|0)+28>>2]|0)+(c[I>>2]<<2);MR(c[(c[ea>>2]|0)+252>>2]|0,c[P>>2]|0,(c[O>>2]|0)*24|0)|0;c[(c[ea>>2]|0)+248>>2]=c[O>>2];c[G>>2]=0;while(1){b=c[(c[ea>>2]|0)+252>>2]|0;if((c[G>>2]|0)>=(c[O>>2]|0))break;iJ(b+((c[G>>2]|0)*24|0)+4|0,1,1);c[G>>2]=(c[G>>2]|0)+1}c[(c[ea>>2]|0)+32>>2]=b+((c[O>>2]|0)*24|0);c[J>>2]=(c[(c[ea>>2]|0)+32>>2]|0)+(c[I>>2]|0);c[(c[ea>>2]|0)+20>>2]=c[J>>2];MR(c[J>>2]|0,c[(c[E>>2]|0)+8>>2]|0,c[L>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+(c[L>>2]|0);c[(c[ea>>2]|0)+16>>2]=c[J>>2];MR(c[J>>2]|0,c[(c[E>>2]|0)+4>>2]|0,c[K>>2]|0)|0;c[J>>2]=(c[J>>2]|0)+(c[K>>2]|0);c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[I>>2]|0))break;c[Y>>2]=0;c[X>>2]=NO(c[(c[N>>2]|0)+(c[H>>2]<<2)>>2]|0,Y)|0;MR(c[J>>2]|0,c[X>>2]|0,c[Y>>2]|0)|0;a[(c[J>>2]|0)+(c[Y>>2]|0)>>0]=0;MJ(c[J>>2]|0);c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[H>>2]<<2)>>2]=c[J>>2];c[J>>2]=(c[J>>2]|0)+((c[Y>>2]|0)+1);c[H>>2]=(c[H>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[I>>2]|0))break;c[Z>>2]=lQ(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[H>>2]<<2)>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[W>>2]|0))break;c[_>>2]=c[(c[V>>2]|0)+(c[G>>2]<<2)>>2];if((c[_>>2]|0?(ia=c[Z>>2]|0,(ia|0)==(lQ(c[_>>2]|0)|0)):0)?0==(Zc(c[(c[(c[ea>>2]|0)+28>>2]|0)+(c[H>>2]<<2)>>2]|0,c[_>>2]|0,c[Z>>2]|0)|0):0){a[(c[(c[ea>>2]|0)+32>>2]|0)+(c[H>>2]|0)>>0]=1;Kd(c[_>>2]|0);c[(c[V>>2]|0)+(c[G>>2]<<2)>>2]=0}c[G>>2]=(c[G>>2]|0)+1}c[H>>2]=(c[H>>2]|0)+1}c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[W>>2]|0))break;if(c[(c[V>>2]|0)+(c[G>>2]<<2)>>2]|0){ia=c[F>>2]|0;c[ba>>2]=c[(c[V>>2]|0)+(c[G>>2]<<2)>>2];DJ(ia,31643,ba);c[fa>>2]=1}c[G>>2]=(c[G>>2]|0)+1}if((c[fa>>2]|0)==0?((c[R>>2]|0)==0|0)!=((c[S>>2]|0)==0|0):0){c[$>>2]=(c[R>>2]|0)==0?43154:43163;c[fa>>2]=1;ia=c[F>>2]|0;c[ca>>2]=c[$>>2];DJ(ia,43174,ca)}ia=OO(c[ea>>2]|0,c[S>>2]|0,fa)|0;c[(c[ea>>2]|0)+216>>2]=ia;ia=PO(c[ea>>2]|0,c[R>>2]|0,fa)|0;c[(c[ea>>2]|0)+220>>2]=ia;if(!(c[fa>>2]|0)){if(c[aa>>2]|0)c[fa>>2]=QO(c[ea>>2]|0)|0;if(!((c[M>>2]|0)!=0|(c[aa>>2]|0)!=0))a[(c[ea>>2]|0)+229>>0]=2;RO(fa,c[ea>>2]|0);c[(c[ea>>2]|0)+224>>2]=(c[(c[ea>>2]|0)+236>>2]|0)-35;SO(fa,c[ea>>2]|0)}}}}else c[fa>>2]=7;while(0);Kd(c[Q>>2]|0);Kd(c[P>>2]|0);Kd(c[R>>2]|0);Kd(c[S>>2]|0);Kd(c[T>>2]|0);Kd(c[U>>2]|0);c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[W>>2]|0))break;Kd(c[(c[V>>2]|0)+(c[G>>2]<<2)>>2]|0);c[G>>2]=(c[G>>2]|0)+1}Kd(c[N>>2]|0);Kd(c[V>>2]|0);b=c[ea>>2]|0;if(!(c[fa>>2]|0)){c[c[da>>2]>>2]=b;ia=c[fa>>2]|0;l=ha;return ia|0}if(b|0){QJ(c[ea>>2]|0)|0;ia=c[fa>>2]|0;l=ha;return ia|0}if(!(c[ga>>2]|0)){ia=c[fa>>2]|0;l=ha;return ia|0}tb[c[(c[c[ga>>2]>>2]|0)+8>>2]&255](c[ga>>2]|0)|0;ia=c[fa>>2]|0;l=ha;return ia|0}function IO(b){b=b|0;var c=0,d=0;d=l;l=l+16|0;c=d;a[c>>0]=b;if(a[c>>0]&128|0){c=1;c=c&1;l=d;return c|0}c=(a[43839+(a[c>>0]|0)>>0]|0)!=0;c=c&1;l=d;return c|0}function JO(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+80|0;w=y+16|0;v=y+8|0;z=y;q=y+76|0;r=y+72|0;A=y+68|0;s=y+64|0;t=y+60|0;u=y+56|0;g=y+52|0;h=y+48|0;i=y+44|0;j=y+40|0;k=y+36|0;m=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;c[r>>2]=b;c[A>>2]=d;c[s>>2]=e;c[t>>2]=f;c[g>>2]=c[A>>2];c[h>>2]=0;c[z>>2]=c[A>>2];c[i>>2]=Ue(18130,z)|0;if(!(c[i>>2]|0)){c[q>>2]=7;A=c[q>>2]|0;l=y;return A|0}A=c[i>>2]|0;c[j>>2]=A+(lQ(c[i>>2]|0)|0);c[g>>2]=NO(c[i>>2]|0,h)|0;if(!(c[g>>2]|0))c[g>>2]=c[i>>2];a[(c[g>>2]|0)+(c[h>>2]|0)>>0]=0;MJ(c[g>>2]|0);z=c[r>>2]|0;A=c[g>>2]|0;c[k>>2]=CJ(z,A,(lQ(c[g>>2]|0)|0)+1|0)|0;if(c[k>>2]|0){c[m>>2]=0;c[n>>2]=0;c[g>>2]=(c[g>>2]|0)+((c[h>>2]|0)+1);while(1){if((c[g>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;A=NO(c[g>>2]|0,h)|0;c[g>>2]=A;if(!A)break;c[o>>2]=(c[n>>2]|0)+1<<2;c[p>>2]=Df(c[m>>2]|0,c[o>>2]|0)|0;if(!(c[p>>2]|0)){x=11;break}c[m>>2]=c[p>>2];v=c[g>>2]|0;z=c[m>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[z+(A<<2)>>2]=v;a[(c[g>>2]|0)+(c[h>>2]|0)>>0]=0;MJ(c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+((c[h>>2]|0)+1)}if((x|0)==11){Kd(c[i>>2]|0);Kd(c[m>>2]|0);c[q>>2]=7;A=c[q>>2]|0;l=y;return A|0}c[u>>2]=ob[c[(c[k>>2]|0)+4>>2]&255](c[n>>2]|0,c[m>>2]|0,c[s>>2]|0)|0;if(c[u>>2]|0)DJ(c[t>>2]|0,43821,w);else c[c[c[s>>2]>>2]>>2]=c[k>>2];Kd(c[m>>2]|0)}else{A=c[t>>2]|0;c[v>>2]=c[g>>2];DJ(A,39610,v);c[u>>2]=1}Kd(c[i>>2]|0);c[q>>2]=c[u>>2];A=c[q>>2]|0;l=y;return A|0}function KO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;m=o;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[g>>2];while(1){b=c[k>>2]|0;if((a[c[k>>2]>>0]|0)==61)break;if(!(a[b>>0]|0)){n=4;break}c[k>>2]=(c[k>>2]|0)+1}if((n|0)==4){c[f>>2]=0;n=c[f>>2]|0;l=o;return n|0}c[c[h>>2]>>2]=b-(c[g>>2]|0);c[m>>2]=(c[k>>2]|0)+1;c[j>>2]=Ue(18130,m)|0;if(c[j>>2]|0)MJ(c[j>>2]|0);c[c[i>>2]>>2]=c[j>>2];c[f>>2]=1;n=c[f>>2]|0;l=o;return n|0}function LO(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;A=l;l=l+96|0;z=A+8|0;B=A;y=A+80|0;C=A+76|0;D=A+72|0;i=A+68|0;j=A+64|0;k=A+60|0;m=A+56|0;n=A+52|0;o=A+48|0;p=A+44|0;q=A+40|0;r=A+36|0;s=A+32|0;t=A+28|0;u=A+24|0;v=A+20|0;w=A+16|0;x=A+12|0;c[y>>2]=a;c[C>>2]=b;c[D>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=0;c[p>>2]=0;h=c[D>>2]|0;c[B>>2]=c[C>>2];c[B+4>>2]=h;c[o>>2]=Ue(43772,B)|0;if(c[o>>2]|0){c[n>>2]=Su(c[y>>2]|0,c[o>>2]|0,-1,p,0)|0;if(c[n>>2]|0){D=c[m>>2]|0;c[z>>2]=Ku(c[y>>2]|0)|0;DJ(D,18130,z)}}else c[n>>2]=7;Kd(c[o>>2]|0);if(c[n>>2]|0){D=c[n>>2]|0;l=A;return D|0}c[r>>2]=0;c[s>>2]=Gu(c[p>>2]|0)|0;c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[s>>2]|0))break;c[u>>2]=Hu(c[p>>2]|0,c[t>>2]|0)|0;D=(lQ(c[u>>2]|0)|0)+1|0;c[r>>2]=(c[r>>2]|0)+D;c[t>>2]=(c[t>>2]|0)+1}c[q>>2]=Yd((c[s>>2]<<2)+(c[r>>2]|0)|0)|0;a:do if(!(c[q>>2]|0))c[n>>2]=7;else{c[v>>2]=(c[q>>2]|0)+(c[s>>2]<<2);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[s>>2]|0))break a;c[w>>2]=Hu(c[p>>2]|0,c[t>>2]|0)|0;c[x>>2]=(lQ(c[w>>2]|0)|0)+1;MR(c[v>>2]|0,c[w>>2]|0,c[x>>2]|0)|0;c[(c[q>>2]|0)+(c[t>>2]<<2)>>2]=c[v>>2];c[v>>2]=(c[v>>2]|0)+(c[x>>2]|0);c[t>>2]=(c[t>>2]|0)+1}}while(0);Qq(c[p>>2]|0)|0;c[c[j>>2]>>2]=c[s>>2];c[c[k>>2]>>2]=c[r>>2];c[c[i>>2]>>2]=c[q>>2];D=c[n>>2]|0;l=A;return D|0}function MO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+36|0;j=q+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;f=q+8|0;g=q+4|0;h=q;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[o>>2]=1;a:do if(c[j>>2]|0?a[c[j>>2]>>0]|0:0){c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=c[j>>2];while(1){if(!(a[c[p>>2]>>0]|0))break a;if((a[c[p>>2]>>0]|0)==44)c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+1}}while(0);c[n>>2]=Yd((c[o>>2]|0)*24|0)|0;c[c[m>>2]>>2]=c[n>>2];if(!(c[n>>2]|0)){c[i>>2]=7;p=c[i>>2]|0;l=q;return p|0}GR(c[n>>2]|0,0,(c[o>>2]|0)*24|0)|0;b:do if(c[j>>2]|0){c[f>>2]=c[j>>2];c[g>>2]=1;while(1){if((c[g>>2]|0)>=(c[o>>2]|0))break b;c[h>>2]=0;if(VO(f,h)|0)break;if(!(c[h>>2]|0)){c[o>>2]=(c[o>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+-1}else c[(c[n>>2]|0)+((c[g>>2]|0)*24|0)>>2]=c[h>>2];c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[i>>2]=1;p=c[i>>2]|0;l=q;return p|0}while(0);c[c[k>>2]>>2]=c[o>>2];c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}function NO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+16|0;k=j+12|0;g=j+8|0;h=j+4|0;i=j;e=j+20|0;c[k>>2]=b;c[g>>2]=d;c[i>>2]=0;c[h>>2]=c[k>>2];a:while(1){if(c[i>>2]|0){b=21;break}a[e>>0]=a[c[h>>2]>>0]|0;switch(a[e>>0]|0){case 0:{b=4;break a}case 96:case 34:case 39:{c[i>>2]=c[h>>2];while(1){k=(c[i>>2]|0)+1|0;c[i>>2]=k;if(!(a[k>>0]|0))continue a;if((a[c[i>>2]>>0]|0)!=(a[e>>0]|0))continue;k=(c[i>>2]|0)+1|0;c[i>>2]=k;if((a[k>>0]|0)!=(a[e>>0]|0))continue a}}case 91:{c[i>>2]=(c[h>>2]|0)+1;while(1){if(a[c[i>>2]>>0]|0)d=(a[c[i>>2]>>0]|0)!=93;else d=0;b=c[i>>2]|0;if(!d)break;c[i>>2]=b+1}if(!(a[b>>0]|0))continue a;c[i>>2]=(c[i>>2]|0)+1;continue a}default:{k=(IO(a[c[h>>2]>>0]|0)|0)!=0;b=(c[h>>2]|0)+1|0;if(!k){c[h>>2]=b;continue a}c[i>>2]=b;while(1){if(!(IO(a[c[i>>2]>>0]|0)|0))continue a;c[i>>2]=(c[i>>2]|0)+1}}}}if((b|0)==4){c[f>>2]=0;k=c[f>>2]|0;l=j;return k|0}else if((b|0)==21){c[c[g>>2]>>2]=(c[i>>2]|0)-(c[h>>2]|0);c[f>>2]=c[h>>2];k=c[f>>2]|0;l=j;return k|0}return 0}function OO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+96|0;s=t+56|0;n=t+48|0;m=t+40|0;p=t+32|0;o=t+24|0;k=t+8|0;j=t;q=t+92|0;e=t+88|0;f=t+84|0;r=t+80|0;g=t+76|0;h=t+72|0;i=t+68|0;c[q>>2]=a;c[e>>2]=b;c[f>>2]=d;c[r>>2]=0;c[g>>2]=0;if(c[(c[q>>2]|0)+40>>2]|0){UO(c[f>>2]|0,r,22891,p);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;c[m>>2]=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[i>>2]<<2)>>2];UO(p,r,43731,m);c[i>>2]=(c[i>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[n>>2]=c[(c[q>>2]|0)+44>>2];UO(p,r,43717,n)}}else{if(c[e>>2]|0){p=TO(c[e>>2]|0)|0;c[h>>2]=p;c[g>>2]=p}else c[h>>2]=47636;UO(c[f>>2]|0,r,43696,j);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[q>>2]|0)+24>>2]|0))break;p=c[f>>2]|0;m=c[i>>2]|0;n=c[(c[(c[q>>2]|0)+28>>2]|0)+(c[i>>2]<<2)>>2]|0;c[k>>2]=c[h>>2];c[k+4>>2]=m;c[k+8>>2]=n;UO(p,r,43702,k);c[i>>2]=(c[i>>2]|0)+1}if(c[(c[q>>2]|0)+44>>2]|0){p=c[f>>2]|0;c[o>>2]=43724;UO(p,r,43717,o)}Kd(c[g>>2]|0)}a=c[f>>2]|0;b=c[(c[q>>2]|0)+16>>2]|0;d=c[q>>2]|0;if(c[(c[q>>2]|0)+40>>2]|0){o=c[d+40>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?47636:43740;c[s>>2]=b;q=s+4|0;c[q>>2]=o;q=s+8|0;c[q>>2]=p;UO(a,r,43749,s);s=c[r>>2]|0;l=t;return s|0}else{o=c[d+20>>2]|0;p=c[q>>2]|0;p=p+40|0;p=c[p>>2]|0;p=(p|0)!=0;p=p?47636:43740;c[s>>2]=b;q=s+4|0;c[q>>2]=o;q=s+8|0;c[q>>2]=p;UO(a,r,43749,s);s=c[r>>2]|0;l=t;return s|0}return 0}function PO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+16|0;m=o+8|0;e=o+44|0;f=o+40|0;g=o+36|0;h=o+32|0;i=o+28|0;j=o+24|0;k=o+20|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;c[i>>2]=0;if(c[f>>2]|0){f=TO(c[f>>2]|0)|0;c[j>>2]=f;c[i>>2]=f}else c[j>>2]=47636;UO(c[g>>2]|0,h,24149,o);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[e>>2]|0)+24>>2]|0))break;f=c[g>>2]|0;c[m>>2]=c[j>>2];UO(f,h,43685,m);c[k>>2]=(c[k>>2]|0)+1}if(!(c[(c[e>>2]|0)+44>>2]|0)){n=c[i>>2]|0;Kd(n);n=c[h>>2]|0;l=o;return n|0}UO(c[g>>2]|0,h,43692,n);n=c[i>>2]|0;Kd(n);n=c[h>>2]|0;l=o;return n|0}function QO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+112|0;p=r+64|0;n=r+56|0;m=r+48|0;k=r+32|0;q=r+24|0;o=r+8|0;d=r+96|0;e=r+92|0;f=r+88|0;g=r+84|0;h=r+80|0;i=r+76|0;j=r+72|0;c[d>>2]=b;c[e>>2]=0;c[g>>2]=c[(c[d>>2]|0)+12>>2];if(!(c[(c[d>>2]|0)+40>>2]|0)){c[h>>2]=c[(c[d>>2]|0)+44>>2];c[i>>2]=Ue(43310,r)|0;c[f>>2]=0;while(1){if(!(c[i>>2]|0))break;if((c[f>>2]|0)>=(c[(c[d>>2]|0)+24>>2]|0))break;c[j>>2]=c[(c[(c[d>>2]|0)+28>>2]|0)+(c[f>>2]<<2)>>2];s=c[f>>2]|0;b=c[j>>2]|0;c[o>>2]=c[i>>2];c[o+4>>2]=s;c[o+8>>2]=b;c[i>>2]=Ue(43336,o)|0;c[f>>2]=(c[f>>2]|0)+1}if((c[h>>2]|0)!=0&(c[i>>2]|0)!=0){s=c[h>>2]|0;c[q>>2]=c[i>>2];c[q+4>>2]=s;c[i>>2]=Ue(43348,q)|0}if(!(c[i>>2]|0))c[e>>2]=7;s=c[g>>2]|0;o=c[(c[d>>2]|0)+20>>2]|0;q=c[i>>2]|0;c[k>>2]=c[(c[d>>2]|0)+16>>2];c[k+4>>2]=o;c[k+8>>2]=q;lK(e,s,43359,k);Kd(c[i>>2]|0)}s=c[g>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[m>>2]=c[(c[d>>2]|0)+16>>2];c[m+4>>2]=q;lK(e,s,43392,m);s=c[g>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[n>>2]=c[(c[d>>2]|0)+16>>2];c[n+4>>2]=q;lK(e,s,43464,n);if(a[(c[d>>2]|0)+230>>0]|0){s=c[g>>2]|0;q=c[(c[d>>2]|0)+20>>2]|0;c[p>>2]=c[(c[d>>2]|0)+16>>2];c[p+4>>2]=q;lK(e,s,43617,p)}if(!(a[(c[d>>2]|0)+229>>0]|0)){s=c[e>>2]|0;l=r;return s|0}ZN(e,c[d>>2]|0);s=c[e>>2]|0;l=r;return s|0}function RO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[d>>2]=a;c[e>>2]=b;if(c[c[d>>2]>>2]|0){l=j;return}c[i>>2]=c[(c[e>>2]|0)+16>>2];c[g>>2]=Ue(43290,i)|0;do if(c[g>>2]|0){c[f>>2]=Su(c[(c[e>>2]|0)+12>>2]|0,c[g>>2]|0,-1,h,0)|0;if(!(c[f>>2]|0)){Hr(c[h>>2]|0)|0;i=hI(c[h>>2]|0,0)|0;c[(c[e>>2]|0)+236>>2]=i;c[f>>2]=Qq(c[h>>2]|0)|0;break}if((c[f>>2]|0)==23){c[(c[e>>2]|0)+236>>2]=1024;c[f>>2]=0}}else c[f>>2]=7;while(0);Kd(c[g>>2]|0);c[c[d>>2]>>2]=c[f>>2];l=j;return}function SO(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+64|0;o=p+24|0;n=p+16|0;e=p+8|0;d=p;f=p+60|0;g=p+56|0;h=p+52|0;i=p+48|0;j=p+44|0;k=p+40|0;m=p+36|0;c[f>>2]=a;c[g>>2]=b;if(c[c[f>>2]>>2]|0){l=p;return}if(c[(c[g>>2]|0)+44>>2]|0)a=c[(c[g>>2]|0)+44>>2]|0;else a=43215;c[m>>2]=a;b=c[(c[g>>2]|0)+12>>2]|0;c[d>>2]=1;KI(b,1,d)|0;c[e>>2]=c[c[(c[g>>2]|0)+28>>2]>>2];c[k>>2]=Ue(43224,e)|0;c[h>>2]=1;while(1){if(c[k>>2]|0)d=(c[h>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0);else d=0;a=c[k>>2]|0;b=c[g>>2]|0;if(!d)break;e=c[(c[b+28>>2]|0)+(c[h>>2]<<2)>>2]|0;c[n>>2]=a;c[n+4>>2]=e;c[k>>2]=Ue(43229,n)|0;c[h>>2]=(c[h>>2]|0)+1}h=c[b+20>>2]|0;n=c[m>>2]|0;c[o>>2]=a;c[o+4>>2]=h;c[o+8>>2]=n;c[j>>2]=Ue(43236,o)|0;if((c[k>>2]|0)!=0&(c[j>>2]|0)!=0)c[i>>2]=II(c[(c[g>>2]|0)+12>>2]|0,c[j>>2]|0)|0;else c[i>>2]=7;Kd(c[j>>2]|0);Kd(c[k>>2]|0);c[c[f>>2]>>2]=c[i>>2];l=p;return}function TO(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;d=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=b;c[i>>2]=2+((lQ(c[d>>2]|0)|0)<<1)+1;c[e>>2]=Yd(c[i>>2]|0)|0;if(!(c[e>>2]|0)){i=c[e>>2]|0;l=h;return i|0}c[g>>2]=c[e>>2];i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=34;c[f>>2]=0;while(1){if(!(a[(c[d>>2]|0)+(c[f>>2]|0)>>0]|0))break;if((a[(c[d>>2]|0)+(c[f>>2]|0)>>0]|0)==34){i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=34}b=a[(c[d>>2]|0)+(c[f>>2]|0)>>0]|0;i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=b;c[f>>2]=(c[f>>2]|0)+1}i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=34;i=c[g>>2]|0;c[g>>2]=i+1;a[i>>0]=0;i=c[e>>2]|0;l=h;return i|0}function UO(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;m=n;f=n+40|0;g=n+36|0;h=n+32|0;i=n+16|0;j=n+12|0;k=n+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;if(c[c[f>>2]>>2]|0){l=n;return}c[i>>2]=e;c[j>>2]=af(c[h>>2]|0,i)|0;if(c[j>>2]|0?c[c[g>>2]>>2]|0:0){e=c[j>>2]|0;c[m>>2]=c[c[g>>2]>>2];c[m+4>>2]=e;c[k>>2]=Ue(20293,m)|0;Kd(c[j>>2]|0);c[j>>2]=c[k>>2]}if(!(c[j>>2]|0))c[c[f>>2]>>2]=7;Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=c[j>>2];l=n;return}function VO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+4|0;i=k;c[f>>2]=b;c[g>>2]=d;c[k+8>>2]=1e7;c[i>>2]=0;c[h>>2]=c[c[f>>2]>>2];while(1){if((a[c[h>>2]>>0]|0)<48)break;if((a[c[h>>2]>>0]|0)>57)break;c[i>>2]=((c[i>>2]|0)*10|0)+((a[c[h>>2]>>0]|0)-48);if((c[i>>2]|0)>1e7){j=5;break}c[h>>2]=(c[h>>2]|0)+1}if((j|0)==5)c[i>>2]=0;if((c[h>>2]|0)==(c[c[f>>2]>>2]|0)){c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}else{c[c[g>>2]>>2]=c[i>>2];c[c[f>>2]>>2]=c[h>>2];c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}return 0}function WO(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+48|0;o=p;h=p+40|0;q=p+36|0;i=p+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;e=p+12|0;f=p+8|0;g=p+4|0;c[h>>2]=a;c[q>>2]=b;c[i>>2]=d;c[k>>2]=0;c[j>>2]=vh(c[h>>2]|0)|0;c[m>>2]=wh(c[c[i>>2]>>2]|0)|0;c[n>>2]=(xh(c[c[i>>2]>>2]|0)|0)+1;do if((c[q>>2]|0)==2){if(!(XO(c[h>>2]|0)|0)){yh(c[h>>2]|0,43990,-1);l=p;return}c[f>>2]=xh(c[(c[i>>2]|0)+4>>2]|0)|0;if((c[m>>2]|0)==0|(c[f>>2]|0)!=4){yh(c[h>>2]|0,43967,-1);l=p;return}else{c[k>>2]=c[(wi(c[(c[i>>2]|0)+4>>2]|0)|0)>>2];c[e>>2]=jJ(c[j>>2]|0,c[m>>2]|0,c[n>>2]|0,c[k>>2]|0)|0;if((c[e>>2]|0)!=(c[k>>2]|0))break;yh(c[h>>2]|0,19371,-1);break}}else{if(c[m>>2]|0)c[k>>2]=CJ(c[j>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!(c[k>>2]|0)){c[o>>2]=c[m>>2];c[g>>2]=Ue(39610,o)|0;yh(c[h>>2]|0,c[g>>2]|0,-1);Kd(c[g>>2]|0);l=p;return}}while(0);Ti(c[h>>2]|0,k,4,-1);l=p;return}function XO(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+32|0;e=d;g=d+16|0;f=d+12|0;b=d+8|0;c[g>>2]=a;c[f>>2]=uh(c[g>>2]|0)|0;c[b>>2]=0;a=c[f>>2]|0;c[e>>2]=-1;c[e+4>>2]=b;MI(a,1004,e)|0;l=d;return c[b>>2]|0}function YO(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[(c[g>>2]|0)+4>>2]|0)b=c[(c[g>>2]|0)+4>>2]|0;else b=(c[f>>2]|0)+8|0;c[b>>2]=c[c[g>>2]>>2];if(c[c[g>>2]>>2]|0)c[(c[c[g>>2]>>2]|0)+4>>2]=c[(c[g>>2]|0)+4>>2];c[i>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<3);if((c[(c[i>>2]|0)+4>>2]|0)==(c[g>>2]|0))c[(c[i>>2]|0)+4>>2]=c[c[g>>2]>>2];h=c[i>>2]|0;c[h>>2]=(c[h>>2]|0)+-1;if((c[c[i>>2]>>2]|0)<=0)c[(c[i>>2]|0)+4>>2]=0;if(a[(c[f>>2]|0)+1>>0]|0?c[(c[g>>2]|0)+12>>2]|0:0)oJ(c[(c[g>>2]|0)+12>>2]|0);oJ(c[g>>2]|0);i=(c[f>>2]|0)+4|0;c[i>>2]=(c[i>>2]|0)+-1;if((c[(c[f>>2]|0)+4>>2]|0)>0){l=j;return}nJ(c[f>>2]|0);l=j;return}function ZO(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[f>>2]=b;c[g>>2]=d;c[h>>2]=_O(c[g>>2]<<3)|0;if(!(c[h>>2]|0)){c[e>>2]=1;m=c[e>>2]|0;l=n;return m|0}oJ(c[(c[f>>2]|0)+16>>2]|0);c[(c[f>>2]|0)+16>>2]=c[h>>2];c[(c[f>>2]|0)+12>>2]=c[g>>2];c[k>>2]=FJ(a[c[f>>2]>>0]|0)|0;c[i>>2]=c[(c[f>>2]|0)+8>>2];c[(c[f>>2]|0)+8>>2]=0;while(1){if(!(c[i>>2]|0))break;d=yb[c[k>>2]&255](c[(c[i>>2]|0)+12>>2]|0,c[(c[i>>2]|0)+16>>2]|0)|0;c[m>>2]=d&(c[g>>2]|0)-1;c[j>>2]=c[c[i>>2]>>2];$O(c[f>>2]|0,(c[h>>2]|0)+(c[m>>2]<<3)|0,c[i>>2]|0);c[i>>2]=c[j>>2]}c[e>>2]=0;m=c[e>>2]|0;l=n;return m|0}function _O(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=Yd(c[b>>2]|0)|0;if(!(c[d>>2]|0)){d=c[d>>2]|0;l=e;return d|0}GR(c[d>>2]|0,0,c[b>>2]|0)|0;d=c[d>>2]|0;l=e;return d|0}function $O(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[f>>2]|0)+4>>2];if(!(c[h>>2]|0)){c[c[g>>2]>>2]=c[(c[e>>2]|0)+8>>2];if(c[(c[e>>2]|0)+8>>2]|0)c[(c[(c[e>>2]|0)+8>>2]|0)+4>>2]=c[g>>2];c[(c[g>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+8>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;l=i;return}c[c[g>>2]>>2]=c[h>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];if(c[(c[h>>2]|0)+4>>2]|0)a=c[(c[h>>2]|0)+4>>2]|0;else a=(c[e>>2]|0)+8|0;c[a>>2]=c[g>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];h=c[f>>2]|0;e=c[h>>2]|0;e=e+1|0;c[h>>2]=e;g=c[g>>2]|0;h=c[f>>2]|0;h=h+4|0;c[h>>2]=g;l=i;return}function aP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+32|0;e=h+16|0;f=h+4|0;g=h;c[h+12>>2]=a;c[h+8>>2]=b;c[f>>2]=d;c[g>>2]=Yd(4)|0;if(!(c[g>>2]|0)){c[e>>2]=7;g=c[e>>2]|0;l=h;return g|0}else{c[c[g>>2]>>2]=0;c[c[f>>2]>>2]=c[g>>2];c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function bP(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);l=b;return 0}function cP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;f=k+12|0;g=k+8|0;i=k+4|0;j=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=e;c[j>>2]=Yd(28)|0;if(!(c[j>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}c[(c[j>>2]|0)+4>>2]=c[f>>2];do if(c[f>>2]|0)if((c[g>>2]|0)<0){a=lQ(c[f>>2]|0)|0;b=c[j>>2]|0;break}else{a=c[g>>2]|0;b=c[j>>2]|0;break}else{a=0;b=c[j>>2]|0}while(0);c[b+8>>2]=a;c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+20>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[c[i>>2]>>2]=c[j>>2];c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function dP(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);l=b;return 0}function eP(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;w=l;l=l+64|0;s=w+48|0;x=w+44|0;t=w+40|0;u=w+36|0;i=w+32|0;j=w+28|0;k=w+24|0;m=w+20|0;n=w+16|0;o=w+12|0;p=w+8|0;q=w+4|0;r=w;c[x>>2]=b;c[t>>2]=d;c[u>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=c[x>>2];c[n>>2]=c[(c[m>>2]|0)+4>>2];do{if((c[(c[m>>2]|0)+12>>2]|0)>=(c[(c[m>>2]|0)+8>>2]|0)){v=23;break}while(1){if((c[(c[m>>2]|0)+12>>2]|0)<(c[(c[m>>2]|0)+8>>2]|0)?(x=a[(c[n>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)>>0]|0,c[p>>2]=x,(x&128|0)==0):0)if((c[p>>2]|0)<48)b=1;else b=(a[44012+((c[p>>2]|0)-48)>>0]|0)!=0^1;else b=0;d=(c[m>>2]|0)+12|0;e=c[d>>2]|0;if(!b)break;c[d>>2]=e+1}c[o>>2]=e;while(1){if((c[(c[m>>2]|0)+12>>2]|0)<(c[(c[m>>2]|0)+8>>2]|0)){x=a[(c[n>>2]|0)+(c[(c[m>>2]|0)+12>>2]|0)>>0]|0;c[p>>2]=x;if(!(x&128))if((c[p>>2]|0)<48)b=1;else b=(a[44012+((c[p>>2]|0)-48)>>0]|0)!=0^1;else b=0;b=b^1}else b=0;d=(c[m>>2]|0)+12|0;e=c[d>>2]|0;if(!b)break;c[d>>2]=e+1}}while((e|0)<=(c[o>>2]|0));if((v|0)==23){c[s>>2]=101;x=c[s>>2]|0;l=w;return x|0}c[q>>2]=(c[(c[m>>2]|0)+12>>2]|0)-(c[o>>2]|0);do if((c[q>>2]|0)>(c[(c[m>>2]|0)+24>>2]|0)){c[(c[m>>2]|0)+24>>2]=(c[q>>2]|0)+20;c[r>>2]=Df(c[(c[m>>2]|0)+20>>2]|0,c[(c[m>>2]|0)+24>>2]|0)|0;if(c[r>>2]|0){c[(c[m>>2]|0)+20>>2]=c[r>>2];break}c[s>>2]=7;x=c[s>>2]|0;l=w;return x|0}while(0);fP((c[n>>2]|0)+(c[o>>2]|0)|0,c[q>>2]|0,c[(c[m>>2]|0)+20>>2]|0,c[u>>2]|0);c[c[t>>2]>>2]=c[(c[m>>2]|0)+20>>2];c[c[i>>2]>>2]=c[o>>2];c[c[j>>2]>>2]=c[(c[m>>2]|0)+12>>2];v=(c[m>>2]|0)+16|0;x=c[v>>2]|0;c[v>>2]=x+1;c[c[k>>2]>>2]=x;c[s>>2]=0;x=c[s>>2]|0;l=w;return x|0}function fP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+64|0;j=s+28|0;k=s+24|0;q=s+20|0;o=s+16|0;r=s+12|0;m=s+8|0;g=s+36|0;p=s+4|0;h=s;i=s+32|0;c[j>>2]=b;c[k>>2]=d;c[q>>2]=e;c[o>>2]=f;if((c[k>>2]|0)<3|(c[k>>2]|0)>=21){gP(c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[o>>2]|0);l=s;return}c[r>>2]=0;c[m>>2]=22;while(1){if((c[r>>2]|0)>=(c[k>>2]|0))break;a[i>>0]=a[(c[j>>2]|0)+(c[r>>2]|0)>>0]|0;if((a[i>>0]|0)>=65?(a[i>>0]|0)<=90:0){b=(a[i>>0]|0)+97-65&255;d=c[m>>2]|0}else{if((a[i>>0]|0)<97){n=11;break}if((a[i>>0]|0)>122){n=11;break}b=a[i>>0]|0;d=c[m>>2]|0}a[g+d>>0]=b;c[r>>2]=(c[r>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+-1}if((n|0)==11){gP(c[j>>2]|0,c[k>>2]|0,c[q>>2]|0,c[o>>2]|0);l=s;return}n=g+23|0;a[n>>0]=0;a[n+1>>0]=0;a[n+2>>0]=0;a[n+3>>0]=0;a[n+4>>0]=0;c[p>>2]=g+((c[m>>2]|0)+1);if((((a[c[p>>2]>>0]|0)==115?(hP(p,44092,44097,0)|0)==0:0)?(hP(p,44100,44104,0)|0)==0:0)?(hP(p,44097,44097,0)|0)==0:0)c[p>>2]=(c[p>>2]|0)+1;c[h>>2]=c[p>>2];do if(!(hP(p,44106,44110,172)|0)){if((hP(p,44113,47636,173)|0)==0?(hP(p,44117,47636,173)|0)==0:0)break;if((((c[p>>2]|0)!=(c[h>>2]|0)?(hP(p,44120,44123,0)|0)==0:0)?(hP(p,44127,44130,0)|0)==0:0)?(hP(p,44134,44137,0)|0)==0:0){if(((kP(c[p>>2]|0)|0?(a[c[p>>2]>>0]|0)!=108:0)?(a[c[p>>2]>>0]|0)!=115:0)?(a[c[p>>2]>>0]|0)!=122:0){c[p>>2]=(c[p>>2]|0)+1;break}if(lP(c[p>>2]|0)|0?mP(c[p>>2]|0)|0:0){n=(c[p>>2]|0)+-1|0;c[p>>2]=n;a[n>>0]=101}}}while(0);if((a[c[p>>2]>>0]|0)==121?jP((c[p>>2]|0)+1|0)|0:0)a[c[p>>2]>>0]=105;switch(a[(c[p>>2]|0)+1>>0]|0){case 97:{if(!(hP(p,44141,44123,172)|0))hP(p,44149,44156,172)|0;break}case 99:{if(!(hP(p,44161,44166,172)|0))hP(p,44171,44176,172)|0;break}case 101:{hP(p,44181,44137,172)|0;break}case 103:{hP(p,44186,29149,172)|0;break}case 108:{if((((hP(p,44191,44130,172)|0)==0?(hP(p,44195,44200,172)|0)==0:0)?(hP(p,44203,44209,172)|0)==0:0)?(hP(p,44213,44217,172)|0)==0:0)hP(p,44219,44225,172)|0;break}case 111:{if((hP(p,44229,44137,172)|0)==0?(hP(p,44237,44123,172)|0)==0:0)hP(p,44243,44123,172)|0;break}case 115:{if(((hP(p,44248,44200,172)|0)==0?(hP(p,44254,44262,172)|0)==0:0)?(hP(p,44266,44274,172)|0)==0:0)hP(p,44278,44225,172)|0;break}case 116:{if((hP(p,44286,44200,172)|0)==0?(hP(p,44292,44262,172)|0)==0:0)hP(p,44298,44130,172)|0;break}default:{}}switch(a[c[p>>2]>>0]|0){case 101:{if((hP(p,44305,44311,172)|0)==0?(hP(p,44314,47636,172)|0)==0:0)hP(p,44320,44200,172)|0;break}case 105:{hP(p,44326,44311,172)|0;break}case 108:{if(!(hP(p,44332,44311,172)|0))hP(p,44337,47636,172)|0;break}case 115:{hP(p,44341,47636,172)|0;break}default:{}}a:do switch(a[(c[p>>2]|0)+1>>0]|0){case 97:{if((a[c[p>>2]>>0]|0)==108?nP((c[p>>2]|0)+2|0)|0:0)c[p>>2]=(c[p>>2]|0)+2;break}case 99:{if((a[c[p>>2]>>0]|0)==101?(a[(c[p>>2]|0)+2>>0]|0)==110:0){if((a[(c[p>>2]|0)+3>>0]|0)!=97?(a[(c[p>>2]|0)+3>>0]|0)!=101:0)break a;if(nP((c[p>>2]|0)+4|0)|0)c[p>>2]=(c[p>>2]|0)+4}break}case 101:{if((a[c[p>>2]>>0]|0)==114?nP((c[p>>2]|0)+2|0)|0:0)c[p>>2]=(c[p>>2]|0)+2;break}case 105:{if((a[c[p>>2]>>0]|0)==99?nP((c[p>>2]|0)+2|0)|0:0)c[p>>2]=(c[p>>2]|0)+2;break}case 108:{if((a[c[p>>2]>>0]|0)==101?(a[(c[p>>2]|0)+2>>0]|0)==98:0){if((a[(c[p>>2]|0)+3>>0]|0)!=97?(a[(c[p>>2]|0)+3>>0]|0)!=105:0)break a;if(nP((c[p>>2]|0)+4|0)|0)c[p>>2]=(c[p>>2]|0)+4}break}case 110:{if((a[c[p>>2]>>0]|0)==116){b=c[p>>2]|0;if((a[(c[p>>2]|0)+2>>0]|0)==97){if(!(nP(b+3|0)|0))break a;c[p>>2]=(c[p>>2]|0)+3;break a}if(((a[b+2>>0]|0)==101?(hP(p,44346,47636,174)|0)==0:0)?(hP(p,44352,47636,174)|0)==0:0)hP(p,44357,47636,174)|0}break}case 111:{b=c[p>>2]|0;if((a[c[p>>2]>>0]|0)==117){if(!(nP(b+2|0)|0))break a;c[p>>2]=(c[p>>2]|0)+2;break a}if((a[b+3>>0]|0)!=115?(a[(c[p>>2]|0)+3>>0]|0)!=116:0)break a;hP(p,44361,47636,174)|0;break}case 115:{if(((a[c[p>>2]>>0]|0)==109?(a[(c[p>>2]|0)+2>>0]|0)==105:0)?nP((c[p>>2]|0)+3|0)|0:0)c[p>>2]=(c[p>>2]|0)+3;break}case 116:{if(!(hP(p,44365,47636,174)|0))hP(p,44369,47636,174)|0;break}case 117:{if(((a[c[p>>2]>>0]|0)==115?(a[(c[p>>2]|0)+2>>0]|0)==111:0)?nP((c[p>>2]|0)+3|0)|0:0)c[p>>2]=(c[p>>2]|0)+3;break}case 122:case 118:{if(((a[c[p>>2]>>0]|0)==101?(a[(c[p>>2]|0)+2>>0]|0)==105:0)?nP((c[p>>2]|0)+3|0)|0:0)c[p>>2]=(c[p>>2]|0)+3;break}default:{}}while(0);do if((a[c[p>>2]>>0]|0)==101){n=(nP((c[p>>2]|0)+1|0)|0)!=0;b=(c[p>>2]|0)+1|0;if(n){c[p>>2]=b;break}if(lP(b)|0?(mP((c[p>>2]|0)+1|0)|0)==0:0)c[p>>2]=(c[p>>2]|0)+1}while(0);if((nP(c[p>>2]|0)|0?(a[c[p>>2]>>0]|0)==108:0)?(a[(c[p>>2]|0)+1>>0]|0)==108:0)c[p>>2]=(c[p>>2]|0)+1;b=lQ(c[p>>2]|0)|0;c[r>>2]=b;c[c[o>>2]>>2]=b;b=0;d=(c[q>>2]|0)+(c[r>>2]|0)|0;while(1){a[d>>0]=b;if(!(a[c[p>>2]>>0]|0))break;b=c[p>>2]|0;c[p>>2]=b+1;b=a[b>>0]|0;o=c[q>>2]|0;d=(c[r>>2]|0)+-1|0;c[r>>2]=d;d=o+d|0}l=s;return}function gP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;g=q+4|0;h=q;i=q+32|0;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;a[i>>0]=a[(c[j>>2]|0)+(c[o>>2]|0)>>0]|0;if((a[i>>0]|0)>=65?(a[i>>0]|0)<=90:0){b=(a[i>>0]|0)-65+97&255;d=(c[m>>2]|0)+(c[o>>2]|0)|0}else{if((a[i>>0]|0)>=48?(a[i>>0]|0)<=57:0)c[h>>2]=1;b=a[i>>0]|0;d=(c[m>>2]|0)+(c[o>>2]|0)|0}a[d>>0]=b;c[o>>2]=(c[o>>2]|0)+1}c[p>>2]=c[h>>2]|0?3:10;if((c[k>>2]|0)<=(c[p>>2]<<1|0)){m=c[m>>2]|0;p=c[o>>2]|0;p=m+p|0;a[p>>0]=0;o=c[o>>2]|0;p=c[n>>2]|0;c[p>>2]=o;l=q;return}c[g>>2]=c[p>>2];c[o>>2]=(c[k>>2]|0)-(c[p>>2]|0);while(1){if((c[o>>2]|0)>=(c[k>>2]|0))break;a[(c[m>>2]|0)+(c[g>>2]|0)>>0]=a[(c[m>>2]|0)+(c[o>>2]|0)>>0]|0;c[o>>2]=(c[o>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+1}c[o>>2]=c[g>>2];m=c[m>>2]|0;p=c[o>>2]|0;p=m+p|0;a[p>>0]=0;o=c[o>>2]|0;p=c[n>>2]|0;c[p>>2]=o;l=q;return}function hP(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=c[c[h>>2]>>2];while(1){if(!(a[c[i>>2]>>0]|0))break;if((a[c[i>>2]>>0]|0)!=(a[c[m>>2]>>0]|0))break;c[m>>2]=(c[m>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1}if(a[c[i>>2]>>0]|0){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}if(c[k>>2]|0?(tb[c[k>>2]&255](c[m>>2]|0)|0)==0:0){c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}while(1){if(!(a[c[j>>2]>>0]|0))break;i=c[j>>2]|0;c[j>>2]=i+1;i=a[i>>0]|0;k=(c[m>>2]|0)+-1|0;c[m>>2]=k;a[k>>0]=i}c[c[h>>2]>>2]=c[m>>2];c[g>>2]=1;m=c[g>>2]|0;l=n;return m|0}function iP(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(oP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(pP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;l=f;return g|0}function jP(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;d=e;c[d>>2]=b;while(1){f=(pP(c[d>>2]|0)|0)!=0;b=c[d>>2]|0;if(!f)break;c[d>>2]=b+1}l=e;return (a[b>>0]|0)!=0|0}function kP(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if(!(pP(c[d>>2]|0)|0)){d=0;d=d&1;l=e;return d|0}d=(a[c[d>>2]>>0]|0)==(a[(c[d>>2]|0)+1>>0]|0);d=d&1;l=e;return d|0}function lP(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(oP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(pP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(oP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=1;g=c[d>>2]|0;l=f;return g|0}while(1){g=(pP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)==0&1;g=c[d>>2]|0;l=f;return g|0}function mP(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;if((((pP(c[d>>2]|0)|0?(a[c[d>>2]>>0]|0)!=119:0)?(a[c[d>>2]>>0]|0)!=120:0)?(a[c[d>>2]>>0]|0)!=121:0)?oP((c[d>>2]|0)+1|0)|0:0)b=(pP((c[d>>2]|0)+2|0)|0)!=0;else b=0;l=e;return b&1|0}function nP(b){b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+4|0;e=f;c[e>>2]=b;while(1){g=(oP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(pP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(oP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}if(!(a[b>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=f;return g|0}while(1){g=(pP(c[e>>2]|0)|0)!=0;b=c[e>>2]|0;if(!g)break;c[e>>2]=b+1}c[d>>2]=(a[b>>0]|0)!=0&1;g=c[d>>2]|0;l=f;return g|0}function oP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;e=h+4|0;f=h;g=h+12|0;c[e>>2]=b;a[g>>0]=a[c[e>>2]>>0]|0;if(!(a[g>>0]|0)){c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}c[f>>2]=a[44373+((a[g>>0]|0)-97)>>0];if((c[f>>2]|0)<2){c[d>>2]=1-(c[f>>2]|0);g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=pP((c[e>>2]|0)+1|0)|0;g=c[d>>2]|0;l=h;return g|0}return 0}function pP(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+8|0;d=h+4|0;e=h;f=h+12|0;c[d>>2]=b;a[f>>0]=a[c[d>>2]>>0]|0;if(!(a[f>>0]|0)){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}c[e>>2]=a[44373+((a[f>>0]|0)-97)>>0];if((c[e>>2]|0)<2){c[g>>2]=c[e>>2];g=c[g>>2]|0;l=h;return g|0}if(!(a[(c[d>>2]|0)+1>>0]|0))b=1;else b=(oP((c[d>>2]|0)+1|0)|0)!=0;c[g>>2]=b&1;g=c[g>>2]|0;l=h;return g|0}function qP(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+28|0;h=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;i=q+32|0;g=q;c[h>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=Yd(132)|0;if(!(c[n>>2]|0)){c[j>>2]=7;p=c[j>>2]|0;l=q;return p|0}GR(c[n>>2]|0,0,132)|0;a:do if((c[h>>2]|0)>1){c[p>>2]=lQ(c[(c[k>>2]|0)+4>>2]|0)|0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[p>>2]|0))break a;a[i>>0]=a[(c[(c[k>>2]|0)+4>>2]|0)+(c[o>>2]|0)>>0]|0;b=c[n>>2]|0;if((d[i>>0]|0|0)>=128)break;a[b+4+(d[i>>0]|0)>>0]=1;c[o>>2]=(c[o>>2]|0)+1}Kd(b);c[j>>2]=1;p=c[j>>2]|0;l=q;return p|0}else{c[g>>2]=1;while(1){if((c[g>>2]|0)>=128)break a;p=(wP(c[g>>2]|0)|0)!=0^1;a[(c[n>>2]|0)+4+(c[g>>2]|0)>>0]=p?-1:0;c[g>>2]=(c[g>>2]|0)+1}}while(0);c[c[m>>2]>>2]=c[n>>2];c[j>>2]=0;p=c[j>>2]|0;l=q;return p|0}function rP(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Kd(c[d>>2]|0);l=b;return 0}function sP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;f=k+12|0;g=k+8|0;i=k+4|0;j=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=e;c[j>>2]=Yd(28)|0;if(!(c[j>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}c[(c[j>>2]|0)+4>>2]=c[f>>2];do if(c[f>>2]|0)if((c[g>>2]|0)<0){a=lQ(c[f>>2]|0)|0;b=c[j>>2]|0;break}else{a=c[g>>2]|0;b=c[j>>2]|0;break}else{a=0;b=c[j>>2]|0}while(0);c[b+8>>2]=a;c[(c[j>>2]|0)+12>>2]=0;c[(c[j>>2]|0)+16>>2]=0;c[(c[j>>2]|0)+20>>2]=0;c[(c[j>>2]|0)+24>>2]=0;c[c[i>>2]>>2]=c[j>>2];c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function tP(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);l=b;return 0}function uP(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+64|0;w=z+52|0;A=z+48|0;x=z+44|0;y=z+40|0;n=z+36|0;o=z+32|0;p=z+28|0;q=z+24|0;j=z+20|0;r=z+16|0;s=z+12|0;t=z+8|0;u=z+4|0;k=z;v=z+56|0;c[A>>2]=b;c[x>>2]=e;c[y>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=c[A>>2];c[j>>2]=c[c[A>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+4>>2];do{if((c[(c[q>>2]|0)+12>>2]|0)>=(c[(c[q>>2]|0)+8>>2]|0)){m=25;break}while(1){if((c[(c[q>>2]|0)+12>>2]|0)<(c[(c[q>>2]|0)+8>>2]|0))b=(vP(c[j>>2]|0,a[(c[r>>2]|0)+(c[(c[q>>2]|0)+12>>2]|0)>>0]|0)|0)!=0;else b=0;e=(c[q>>2]|0)+12|0;f=c[e>>2]|0;if(!b)break;c[e>>2]=f+1}c[s>>2]=f;while(1){if((c[(c[q>>2]|0)+12>>2]|0)<(c[(c[q>>2]|0)+8>>2]|0))b=(vP(c[j>>2]|0,a[(c[r>>2]|0)+(c[(c[q>>2]|0)+12>>2]|0)>>0]|0)|0)!=0^1;else b=0;e=(c[q>>2]|0)+12|0;f=c[e>>2]|0;if(!b)break;c[e>>2]=f+1}}while((f|0)<=(c[s>>2]|0));if((m|0)==25){c[w>>2]=101;A=c[w>>2]|0;l=z;return A|0}c[u>>2]=(c[(c[q>>2]|0)+12>>2]|0)-(c[s>>2]|0);do if((c[u>>2]|0)>(c[(c[q>>2]|0)+24>>2]|0)){c[(c[q>>2]|0)+24>>2]=(c[u>>2]|0)+20;c[k>>2]=Df(c[(c[q>>2]|0)+20>>2]|0,c[(c[q>>2]|0)+24>>2]|0)|0;if(c[k>>2]|0){c[(c[q>>2]|0)+20>>2]=c[k>>2];break}c[w>>2]=7;A=c[w>>2]|0;l=z;return A|0}while(0);c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break;a[v>>0]=a[(c[r>>2]|0)+((c[s>>2]|0)+(c[t>>2]|0))>>0]|0;if((d[v>>0]|0|0)>=65?(d[v>>0]|0|0)<=90:0)b=(d[v>>0]|0)-65+97|0;else b=d[v>>0]|0;a[(c[(c[q>>2]|0)+20>>2]|0)+(c[t>>2]|0)>>0]=b;c[t>>2]=(c[t>>2]|0)+1}c[c[x>>2]>>2]=c[(c[q>>2]|0)+20>>2];c[c[y>>2]>>2]=c[u>>2];c[c[n>>2]>>2]=c[s>>2];c[c[o>>2]>>2]=c[(c[q>>2]|0)+12>>2];y=(c[q>>2]|0)+16|0;A=c[y>>2]|0;c[y>>2]=A+1;c[c[p>>2]>>2]=A;c[w>>2]=0;A=c[w>>2]|0;l=z;return A|0}function vP(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h;g=h+4|0;c[f>>2]=b;a[g>>0]=e;if((d[g>>0]|0)>=128){g=0;g=g&1;l=h;return g|0}g=(a[(c[f>>2]|0)+4+(d[g>>0]|0)>>0]|0)!=0;g=g&1;l=h;return g|0}function wP(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!((c[b>>2]|0)>=48&(c[b>>2]|0)<=57)?!((c[b>>2]|0)>=65&(c[b>>2]|0)<=90):0)a=(c[b>>2]|0)>=97?(c[b>>2]|0)<=122:0;else a=1;l=d;return a&1|0}function xP(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w;s=w+56|0;t=w+52|0;u=w+44|0;h=w+40|0;i=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;p=w+12|0;q=w+8|0;r=w+4|0;c[t>>2]=a;c[w+48>>2]=b;c[u>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;do if(!((c[u>>2]|0)!=4&(c[u>>2]|0)!=5)){c[k>>2]=c[(c[h>>2]|0)+4>>2];c[n>>2]=lQ(c[k>>2]|0)|0;if((c[u>>2]|0)==5){if((c[n>>2]|0)!=4)break;if(Zc(39327,c[k>>2]|0,4)|0)break;c[k>>2]=c[(c[h>>2]|0)+12>>2];c[n>>2]=lQ(c[k>>2]|0)|0;c[m>>2]=c[(c[h>>2]|0)+16>>2]}else c[m>>2]=c[(c[h>>2]|0)+12>>2];c[o>>2]=lQ(c[m>>2]|0)|0;c[q>>2]=II(c[t>>2]|0,44407)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];v=c[s>>2]|0;l=w;return v|0}c[p>>2]=296+(c[n>>2]|0)+(c[o>>2]|0)+2;c[r>>2]=Yd(c[p>>2]|0)|0;if(c[r>>2]|0){GR(c[r>>2]|0,0,c[p>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=(c[r>>2]|0)+16;c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]=(c[(c[r>>2]|0)+12>>2]|0)+280;c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]=(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0)+((c[n>>2]|0)+1);c[(c[(c[r>>2]|0)+12>>2]|0)+12>>2]=c[t>>2];c[(c[(c[r>>2]|0)+12>>2]|0)+248>>2]=1;MR(c[(c[(c[r>>2]|0)+12>>2]|0)+16>>2]|0,c[k>>2]|0,c[n>>2]|0)|0;MR(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0,c[m>>2]|0,c[o>>2]|0)|0;MJ(c[(c[(c[r>>2]|0)+12>>2]|0)+20>>2]|0);c[c[i>>2]>>2]=c[r>>2];c[s>>2]=0;v=c[s>>2]|0;l=w;return v|0}else{c[s>>2]=7;v=c[s>>2]|0;l=w;return v|0}}while(0);DJ(c[j>>2]|0,44476,v);c[s>>2]=1;v=c[s>>2]|0;l=w;return v|0}function yP(b,e){b=b|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;j=q+32|0;i=q+28|0;k=q+24|0;m=q+20|0;n=q+16|0;o=q+12|0;p=q+8|0;f=q+4|0;g=q;c[q+36>>2]=b;c[j>>2]=e;c[k>>2]=-1;c[m>>2]=-1;c[n>>2]=-1;c[o>>2]=-1;c[p>>2]=1;if(((c[(c[j>>2]|0)+8>>2]|0)==1?(c[c[(c[j>>2]|0)+12>>2]>>2]|0)==0:0)?(d[(c[(c[j>>2]|0)+12>>2]|0)+4>>0]|0)==0:0)c[(c[j>>2]|0)+32>>2]=1;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[j>>2]>>2]|0))break;if(a[(c[(c[j>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)+5>>0]|0){c[f>>2]=d[(c[(c[j>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)+4>>0];c[g>>2]=c[(c[(c[j>>2]|0)+4>>2]|0)+((c[i>>2]|0)*12|0)>>2];if(!(c[g>>2]|0)){if((c[f>>2]|0)==2)c[k>>2]=c[i>>2];if((c[f>>2]|0)==16)c[n>>2]=c[i>>2];if((c[f>>2]|0)==8)c[n>>2]=c[i>>2];if((c[f>>2]|0)==4)c[m>>2]=c[i>>2];if((c[f>>2]|0)==32)c[m>>2]=c[i>>2]}if((c[g>>2]|0)==4&(c[f>>2]|0)==2)c[o>>2]=c[i>>2]}c[i>>2]=(c[i>>2]|0)+1}b=(c[j>>2]|0)+20|0;if((c[k>>2]|0)<0){c[b>>2]=0;h[(c[j>>2]|0)+40>>3]=2.0e4;if((c[m>>2]|0)>=0){k=(c[j>>2]|0)+20|0;c[k>>2]=(c[k>>2]|0)+2;k=c[p>>2]|0;c[p>>2]=k+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[m>>2]<<3)>>2]=k;m=(c[j>>2]|0)+40|0;h[m>>3]=+h[m>>3]/2.0}if((c[n>>2]|0)>=0){m=(c[j>>2]|0)+20|0;c[m>>2]=(c[m>>2]|0)+4;m=c[p>>2]|0;c[p>>2]=m+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[n>>2]<<3)>>2]=m;n=(c[j>>2]|0)+40|0;h[n>>3]=+h[n>>3]/2.0}}else{c[b>>2]=1;n=c[p>>2]|0;c[p>>2]=n+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[k>>2]<<3)>>2]=n;h[(c[j>>2]|0)+40>>3]=5.0}if((c[o>>2]|0)<0){l=q;return 0}n=c[p>>2]|0;c[p>>2]=n+1;c[(c[(c[j>>2]|0)+16>>2]|0)+(c[o>>2]<<3)>>2]=n;p=(c[j>>2]|0)+40|0;h[p>>3]=+h[p>>3]+-1.0;l=q;return 0}function zP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+12|0;b=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[b>>2]=c[g>>2];c[d>>2]=c[(c[b>>2]|0)+12>>2];c[e>>2]=0;while(1){a=c[d>>2]|0;if((c[e>>2]|0)>=40)break;Qq(c[a+56+(c[e>>2]<<2)>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}Kd(c[a+240>>2]|0);Kd(c[b>>2]|0);l=f;return 0}function AP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+12|0;e=g+4|0;f=g;c[g+8>>2]=a;c[e>>2]=b;c[f>>2]=Yd(120)|0;if(c[f>>2]|0){a=c[f>>2]|0;b=a+120|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[e>>2]>>2]=c[f>>2];c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}else{c[d>>2]=7;f=c[d>>2]|0;l=g;return f|0}return 0}function BP(a){a=a|0;var b=0,d=0,e=0,f=0;b=l;l=l+16|0;f=b+8|0;e=b+4|0;d=b;c[f>>2]=a;c[e>>2]=c[(c[c[f>>2]>>2]|0)+12>>2];c[d>>2]=c[f>>2];wL(c[e>>2]|0);zK((c[d>>2]|0)+4|0);Kd(c[(c[d>>2]|0)+60>>2]|0);Kd(c[(c[d>>2]|0)+76>>2]|0);Kd(c[(c[d>>2]|0)+112>>2]|0);Kd(c[d>>2]|0);l=b;return 0}function CP(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;z=l;l=l+80|0;y=z+8|0;x=z;t=z+76|0;u=z+72|0;v=z+68|0;w=z+60|0;g=z+56|0;h=z+52|0;i=z+48|0;j=z+44|0;k=z+40|0;m=z+36|0;n=z+32|0;o=z+28|0;p=z+24|0;q=z+20|0;r=z+16|0;s=z+12|0;c[u>>2]=a;c[v>>2]=b;c[z+64>>2]=d;c[w>>2]=e;c[g>>2]=f;c[h>>2]=c[u>>2];c[i>>2]=c[(c[c[u>>2]>>2]|0)+12>>2];c[k>>2]=0;c[m>>2]=0;c[n>>2]=-1;c[o>>2]=-1;c[p>>2]=-1;c[q>>2]=-1;c[r>>2]=0;if((c[v>>2]|0)!=1){c[k>>2]=1;if(c[v>>2]&2|0){f=c[r>>2]|0;c[r>>2]=f+1;c[o>>2]=f}if(c[v>>2]&4|0){v=c[r>>2]|0;c[r>>2]=v+1;c[p>>2]=v}}else{v=c[r>>2]|0;c[r>>2]=v+1;c[n>>2]=v}if((c[r>>2]|0)<(c[w>>2]|0)){w=c[r>>2]|0;c[r>>2]=w+1;c[q>>2]=w}zK((c[h>>2]|0)+4|0);Kd(c[(c[h>>2]|0)+60>>2]|0);Kd(c[(c[h>>2]|0)+112>>2]|0);GR((c[h>>2]|0)+4|0,0,(c[h>>2]|0)+120-((c[h>>2]|0)+4)|0)|0;c[(c[h>>2]|0)+60+12>>2]=3;if(c[k>>2]|0){w=(c[h>>2]|0)+60+12|0;c[w>>2]=c[w>>2]|16}if(((c[n>>2]|0)>=0|(c[o>>2]|0)>=0?(c[s>>2]=wh(c[c[g>>2]>>2]|0)|0,c[s>>2]|0):0)?(c[x>>2]=c[s>>2],x=Ue(18130,x)|0,c[(c[h>>2]|0)+60>>2]=x,x=xh(c[c[g>>2]>>2]|0)|0,c[(c[h>>2]|0)+60+4>>2]=x,(c[(c[h>>2]|0)+60>>2]|0)==0):0){c[t>>2]=7;y=c[t>>2]|0;l=z;return y|0}if((c[p>>2]|0)>=0?(c[y>>2]=wh(c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]|0)|0,y=Ue(18130,y)|0,c[(c[h>>2]|0)+76>>2]=y,y=xh(c[(c[g>>2]|0)+(c[p>>2]<<2)>>2]|0)|0,c[(c[h>>2]|0)+80>>2]=y,(c[(c[h>>2]|0)+76>>2]|0)==0):0){c[t>>2]=7;y=c[t>>2]|0;l=z;return y|0}if((c[q>>2]|0)>=0){y=vi(c[(c[g>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;c[m>>2]=y;c[m>>2]=(c[m>>2]|0)<0?0:y}c[(c[h>>2]|0)+84>>2]=c[m>>2];c[j>>2]=oK(c[i>>2]|0,c[m>>2]|0,0,-2,c[(c[h>>2]|0)+60>>2]|0,c[(c[h>>2]|0)+60+4>>2]|0,0,c[k>>2]|0,(c[h>>2]|0)+4|0)|0;if(!(c[j>>2]|0))c[j>>2]=sK(c[i>>2]|0,(c[h>>2]|0)+4|0,(c[h>>2]|0)+60|0)|0;if(!(c[j>>2]|0))c[j>>2]=DP(c[u>>2]|0)|0;c[t>>2]=c[j>>2];y=c[t>>2]|0;l=z;return y|0}function DP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+64|0;d=q+52|0;r=q+48|0;i=q+44|0;b=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;e=q+16|0;f=q+12|0;g=q+8|0;h=q;c[r>>2]=a;c[i>>2]=c[r>>2];c[b>>2]=c[(c[c[r>>2]>>2]|0)+12>>2];a=(c[i>>2]|0)+96|0;r=a;r=IR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;c[a>>2]=r;c[a+4>>2]=z;a=c[i>>2]|0;while(1){r=a+104|0;c[r>>2]=(c[r>>2]|0)+1;if((c[(c[i>>2]|0)+104>>2]|0)>=(c[(c[i>>2]|0)+108>>2]|0))break;r=(c[(c[i>>2]|0)+112>>2]|0)+(c[(c[i>>2]|0)+104>>2]<<4)|0;a=c[r+4>>2]|0;if((a|0)>0|(a|0)==0&(c[r>>2]|0)>>>0>0){p=4;break}a=c[i>>2]|0}if((p|0)==4){c[d>>2]=0;r=c[d>>2]|0;l=q;return r|0}c[j>>2]=tK(c[b>>2]|0,(c[i>>2]|0)+4|0)|0;do if((c[j>>2]|0)==100){c[k>>2]=0;c[m>>2]=c[(c[i>>2]|0)+4+52>>2];c[n>>2]=c[(c[i>>2]|0)+4+48>>2];c[e>>2]=0;do if(c[(c[i>>2]|0)+76>>2]|0){a=c[i>>2]|0;if((c[(c[i>>2]|0)+80>>2]|0)<(c[(c[i>>2]|0)+4+44>>2]|0))a=c[a+80>>2]|0;else a=c[a+4+44>>2]|0;c[f>>2]=a;c[g>>2]=wQ(c[(c[i>>2]|0)+76>>2]|0,c[(c[i>>2]|0)+4+40>>2]|0,c[f>>2]|0)|0;if((c[g>>2]|0)>=0){if(c[g>>2]|0)break;if((c[(c[i>>2]|0)+4+44>>2]|0)<=(c[(c[i>>2]|0)+80>>2]|0))break}c[(c[i>>2]|0)+88>>2]=1;c[d>>2]=0;r=c[d>>2]|0;l=q;return r|0}while(0);if(HP(c[i>>2]|0,2)|0){c[d>>2]=7;r=c[d>>2]|0;l=q;return r|0}GR(c[(c[i>>2]|0)+112>>2]|0,0,c[(c[i>>2]|0)+108>>2]<<4|0)|0;c[o>>2]=0;a:while(1){if((c[k>>2]|0)>=(c[m>>2]|0)){p=32;break}r=h;c[r>>2]=0;c[r+4>>2]=0;r=YK((c[n>>2]|0)+(c[k>>2]|0)|0,h)|0;c[k>>2]=(c[k>>2]|0)+r;switch(c[e>>2]|0){case 0:{r=c[(c[i>>2]|0)+112>>2]|0;g=r;c[r>>2]=IR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r+4>>2]=z;c[e>>2]=1;c[o>>2]=0;continue a}case 1:{r=h;g=c[r+4>>2]|0;if((g|0)>0|(g|0)==0&(c[r>>2]|0)>>>0>1){r=(c[(c[i>>2]|0)+112>>2]|0)+16|0;g=r;g=IR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r>>2]=g;c[r+4>>2]=z}c[e>>2]=2;break}case 2:break;default:{c[o>>2]=c[h>>2];if(HP(c[i>>2]|0,(c[o>>2]|0)+2|0)|0)break a;r=(c[(c[i>>2]|0)+112>>2]|0)+((c[o>>2]|0)+1<<4)|0;g=r;c[r>>2]=IR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r+4>>2]=z;c[e>>2]=2;continue a}}r=h;if((c[r>>2]|0)==0&(c[r+4>>2]|0)==0){c[e>>2]=0;continue}r=h;if((c[r>>2]|0)==1&(c[r+4>>2]|0)==0){c[e>>2]=3;continue}else{r=(c[(c[i>>2]|0)+112>>2]|0)+((c[o>>2]|0)+1<<4)+8|0;g=r;g=IR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r>>2]=g;c[r+4>>2]=z;r=(c[(c[i>>2]|0)+112>>2]|0)+8|0;g=r;g=IR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;c[r>>2]=g;c[r+4>>2]=z;continue}}if((p|0)==32){c[(c[i>>2]|0)+104>>2]=0;c[j>>2]=0;break}c[d>>2]=7;r=c[d>>2]|0;l=q;return r|0}else c[(c[i>>2]|0)+88>>2]=1;while(0);c[d>>2]=c[j>>2];r=c[d>>2]|0;l=q;return r|0}function EP(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];l=d;return c[(c[b>>2]|0)+88>>2]|0}function FP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;i=g+12|0;e=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[e>>2]=b;c[h>>2]=d;c[f>>2]=c[i>>2];switch(c[h>>2]|0){case 0:{ci(c[e>>2]|0,c[(c[f>>2]|0)+4+40>>2]|0,c[(c[f>>2]|0)+4+44>>2]|0,-1);l=g;return 0}case 1:{a=c[e>>2]|0;if(c[(c[f>>2]|0)+104>>2]|0){Ch(a,(c[(c[f>>2]|0)+104>>2]|0)-1|0);l=g;return 0}else{ci(a,26468,-1,0);l=g;return 0}}case 2:{i=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)|0;gi(c[e>>2]|0,c[i>>2]|0,c[i+4>>2]|0);l=g;return 0}case 3:{i=(c[(c[f>>2]|0)+112>>2]|0)+(c[(c[f>>2]|0)+104>>2]<<4)+8|0;gi(c[e>>2]|0,c[i>>2]|0,c[i+4>>2]|0);l=g;return 0}default:{Ch(c[e>>2]|0,c[(c[f>>2]|0)+84>>2]|0);l=g;return 0}}return 0}function GP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+8|0;f=d+4|0;e=d;c[g>>2]=a;c[f>>2]=b;c[e>>2]=c[g>>2];e=(c[e>>2]|0)+96|0;a=c[e+4>>2]|0;b=c[f>>2]|0;c[b>>2]=c[e>>2];c[b+4>>2]=a;l=d;return 0}function HP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;do if((c[f>>2]|0)>(c[(c[e>>2]|0)+108>>2]|0)){c[g>>2]=Df(c[(c[e>>2]|0)+112>>2]|0,c[f>>2]<<4)|0;if(c[g>>2]|0){GR((c[g>>2]|0)+(c[(c[e>>2]|0)+108>>2]<<4)|0,0,(c[f>>2]|0)-(c[(c[e>>2]|0)+108>>2]|0)<<4|0)|0;c[(c[e>>2]|0)+112>>2]=c[g>>2];c[(c[e>>2]|0)+108>>2]=c[f>>2];break}c[d>>2]=7;g=c[d>>2]|0;l=h;return g|0}while(0);c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}function IP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;e=p+4|0;f=p;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[n>>2]=0;c[k>>2]=Yd(16)|0;if(!(c[k>>2]|0)){c[g>>2]=7;o=c[g>>2]|0;l=p;return o|0}d=c[k>>2]|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[(c[k>>2]|0)+4>>2]=1;c[m>>2]=0;while(1){if(c[n>>2]|0)break;if((c[m>>2]|0)>=(c[h>>2]|0))break;c[e>>2]=c[(c[i>>2]|0)+(c[m>>2]<<2)>>2];c[f>>2]=lQ(c[e>>2]|0)|0;if((c[f>>2]|0)==19?(wQ(44618,c[e>>2]|0,19)|0)==0:0)c[(c[k>>2]|0)+4>>2]=1;else o=9;do if((o|0)==9){o=0;if((c[f>>2]|0)==19?(wQ(44638,c[e>>2]|0,19)|0)==0:0){c[(c[k>>2]|0)+4>>2]=0;break}if((c[f>>2]|0)>=11?(wQ(44658,c[e>>2]|0,11)|0)==0:0){c[n>>2]=TP(c[k>>2]|0,1,(c[e>>2]|0)+11|0,(c[f>>2]|0)-11|0)|0;break}if((c[f>>2]|0)>=11?(wQ(44670,c[e>>2]|0,11)|0)==0:0){c[n>>2]=TP(c[k>>2]|0,0,(c[e>>2]|0)+11|0,(c[f>>2]|0)-11|0)|0;break}c[n>>2]=1}while(0);c[m>>2]=(c[m>>2]|0)+1}if(c[n>>2]|0){JP(c[k>>2]|0)|0;c[k>>2]=0}c[c[j>>2]>>2]=c[k>>2];c[g>>2]=c[n>>2];o=c[g>>2]|0;l=p;return o|0}function JP(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return 0}c[d>>2]=c[b>>2];Kd(c[(c[d>>2]|0)+12>>2]|0);Kd(c[d>>2]|0);l=e;return 0}function KP(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;h=k+20|0;f=k+12|0;g=k+8|0;i=k+4|0;j=k;c[k+16>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=e;c[j>>2]=Yd(28)|0;if(!(c[j>>2]|0)){c[h>>2]=7;j=c[h>>2]|0;l=k;return j|0}e=c[j>>2]|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[(c[j>>2]|0)+4>>2]=c[f>>2];do if(c[f>>2]|0)if((c[g>>2]|0)<0){a=lQ(c[f>>2]|0)|0;b=c[j>>2]|0;break}else{a=c[g>>2]|0;b=c[j>>2]|0;break}else{a=0;b=c[j>>2]|0}while(0);c[b+8>>2]=a;c[c[i>>2]>>2]=c[j>>2];c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}function LP(a){a=a|0;var b=0,d=0,e=0;b=l;l=l+16|0;e=b+4|0;d=b;c[e>>2]=a;c[d>>2]=c[e>>2];Kd(c[(c[d>>2]|0)+20>>2]|0);Kd(c[d>>2]|0);l=b;return 0}function MP(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;A=l;l=l+80|0;x=A+64|0;B=A+60|0;y=A+56|0;z=A+52|0;p=A+48|0;q=A+44|0;r=A+40|0;s=A+36|0;j=A+32|0;k=A+28|0;t=A+24|0;u=A+20|0;v=A+16|0;w=A+12|0;m=A+8|0;n=A+4|0;o=A;c[B>>2]=b;c[y>>2]=e;c[z>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=c[B>>2];c[j>>2]=c[c[s>>2]>>2];c[k>>2]=0;c[u>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+12>>2]|0);c[v>>2]=c[u>>2];c[m>>2]=(c[(c[s>>2]|0)+4>>2]|0)+(c[(c[s>>2]|0)+8>>2]|0);while(1){if((c[u>>2]|0)>>>0>=(c[m>>2]|0)>>>0)break;B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[19017+((c[k>>2]|0)-192)>>0];while(1){if((c[u>>2]|0)!=(c[m>>2]|0))b=((d[c[u>>2]>>0]|0)&192|0)==128;else b=0;e=c[k>>2]|0;if(!b)break;B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=(e<<6)+(63&(d[B>>0]|0))}if(((e|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(NP(c[j>>2]|0,c[k>>2]|0)|0)break;c[v>>2]=c[u>>2]}if((c[v>>2]|0)>>>0>=(c[m>>2]|0)>>>0){c[x>>2]=101;B=c[x>>2]|0;l=A;return B|0}c[t>>2]=c[(c[s>>2]|0)+20>>2];while(1){if(((c[t>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0)|0)>=((c[(c[s>>2]|0)+24>>2]|0)-4|0)){c[o>>2]=Df(c[(c[s>>2]|0)+20>>2]|0,(c[(c[s>>2]|0)+24>>2]|0)+64|0)|0;if(!(c[o>>2]|0)){b=20;break}c[t>>2]=(c[o>>2]|0)+((c[t>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0));c[(c[s>>2]|0)+20>>2]=c[o>>2];B=(c[s>>2]|0)+24|0;c[B>>2]=(c[B>>2]|0)+64}c[w>>2]=c[u>>2];c[n>>2]=OP(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0;do if(c[n>>2]|0){b=c[n>>2]|0;if((c[n>>2]|0)<128){B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=b;break}e=c[n>>2]|0;if((b|0)<2048){i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=192+(e>>6&31);i=128+(c[n>>2]&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;break}b=c[n>>2]|0;if((e|0)<65536){B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=224+(b>>12&15);B=128+(c[n>>2]>>6&63)&255;i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=B;i=128+(c[n>>2]&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;break}else{i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=240+(b>>18&7);i=128+(c[n>>2]>>12&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;B=128+(c[n>>2]>>6&63)&255;i=c[t>>2]|0;c[t>>2]=i+1;a[i>>0]=B;i=128+(c[n>>2]&63)&255;B=c[t>>2]|0;c[t>>2]=B+1;a[B>>0]=i;break}}while(0);if((c[u>>2]|0)>>>0>=(c[m>>2]|0)>>>0){b=43;break}B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=d[B>>0];do if((c[k>>2]|0)>=192){c[k>>2]=d[19017+((c[k>>2]|0)-192)>>0];while(1){if((c[u>>2]|0)!=(c[m>>2]|0))e=((d[c[u>>2]>>0]|0)&192|0)==128;else e=0;b=c[k>>2]|0;if(!e)break;B=c[u>>2]|0;c[u>>2]=B+1;c[k>>2]=(b<<6)+(63&(d[B>>0]|0))}if(((b|0)>=128?(c[k>>2]&-2048|0)!=55296:0)?(c[k>>2]&-2|0)!=65534:0)break;c[k>>2]=65533}while(0);if(NP(c[j>>2]|0,c[k>>2]|0)|0)continue;if(!(PP(c[k>>2]|0)|0)){b=43;break}}if((b|0)==20){c[x>>2]=7;B=c[x>>2]|0;l=A;return B|0}else if((b|0)==43){c[(c[s>>2]|0)+12>>2]=(c[u>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);c[c[y>>2]>>2]=c[(c[s>>2]|0)+20>>2];c[c[z>>2]>>2]=(c[t>>2]|0)-(c[(c[s>>2]|0)+20>>2]|0);c[c[p>>2]>>2]=(c[v>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);c[c[q>>2]>>2]=(c[w>>2]|0)-(c[(c[s>>2]|0)+4>>2]|0);z=(c[s>>2]|0)+16|0;B=c[z>>2]|0;c[z>>2]=B+1;c[c[r>>2]>>2]=B;c[x>>2]=0;B=c[x>>2]|0;l=A;return B|0}return 0}function NP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=RP(c[e>>2]|0)|0;b=b^(SP(c[f>>2]|0,c[e>>2]|0)|0);l=d;return b|0}function OP(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;g=p+32|0;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;o=p+4|0;f=p;c[g>>2]=a;c[h>>2]=b;c[i>>2]=c[g>>2];a=c[g>>2]|0;if((c[g>>2]|0)<128){if(!((a|0)>=65&(c[g>>2]|0)<=90)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+32;o=c[i>>2]|0;l=p;return o|0}if((a|0)>=65536){if(!((c[g>>2]|0)>=66560&(c[g>>2]|0)<66600)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=(c[g>>2]|0)+40;o=c[i>>2]|0;l=p;return o|0}c[j>>2]=162;c[k>>2]=0;c[m>>2]=-1;while(1){if((c[j>>2]|0)<(c[k>>2]|0))break;c[n>>2]=((c[j>>2]|0)+(c[k>>2]|0)|0)/2|0;c[o>>2]=(c[g>>2]|0)-(e[14778+(c[n>>2]<<2)>>1]|0);a=c[n>>2]|0;if((c[o>>2]|0)>=0){c[m>>2]=a;c[k>>2]=(c[n>>2]|0)+1;continue}else{c[j>>2]=a-1;continue}}if(((c[m>>2]|0)>=0?(c[f>>2]=14778+(c[m>>2]<<2),(c[g>>2]|0)<((e[c[f>>2]>>1]|0)+(d[(c[f>>2]|0)+3>>0]|0)|0)):0)?0==(1&(d[(c[f>>2]|0)+2>>0]|0)&((e[c[f>>2]>>1]|0)^c[g>>2])|0):0)c[i>>2]=(c[g>>2]|0)+(e[15430+((d[(c[f>>2]|0)+2>>0]|0)>>1<<1)>>1]|0)&65535;if(!(c[h>>2]|0)){o=c[i>>2]|0;l=p;return o|0}c[i>>2]=QP(c[i>>2]|0)|0;o=c[i>>2]|0;l=p;return o|0}function PP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;f=g+12|0;e=g+8|0;b=g+4|0;d=g;c[e>>2]=a;c[b>>2]=134389727;c[d>>2]=221688;if((c[e>>2]|0)<768|(c[e>>2]|0)>817){c[f>>2]=0;f=c[f>>2]|0;l=g;return f|0}if((c[e>>2]|0)<800){b=c[b>>2]|0;a=(c[e>>2]|0)-768|0}else{b=c[d>>2]|0;a=(c[e>>2]|0)-768-32|0}c[f>>2]=b&1<>2]|0;l=g;return f|0}function QP(b){b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+336|0;g=p+20|0;h=p+24|0;i=p+226|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[g>>2]=b;MR(h|0,15584,202)|0;b=i;d=44517;f=b+101|0;do{a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}while((b|0)<(f|0));c[j>>2]=c[g>>2]<<3|7;c[k>>2]=0;c[m>>2]=100;c[n>>2]=0;while(1){if((c[m>>2]|0)<(c[n>>2]|0))break;c[o>>2]=((c[m>>2]|0)+(c[n>>2]|0)|0)/2|0;b=c[o>>2]|0;if((c[j>>2]|0)>>>0>=(e[h+(c[o>>2]<<1)>>1]|0)>>>0){c[k>>2]=b;c[n>>2]=(c[o>>2]|0)+1;continue}else{c[m>>2]=b-1;continue}}if((c[g>>2]|0)>((e[h+(c[k>>2]<<1)>>1]>>3)+(e[h+(c[k>>2]<<1)>>1]&7)|0)){o=c[g>>2]|0;l=p;return o|0}else{o=a[i+(c[k>>2]|0)>>0]|0;l=p;return o|0}return 0}function RP(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[d>>2]=a;a=c[d>>2]|0;if((c[d>>2]|0)<128){c[b>>2]=(c[6864+(a>>5<<2)>>2]&1<<(c[d>>2]&31)|0)==0&1;i=c[b>>2]|0;l=j;return i|0}if((a|0)>=4194304){c[b>>2]=1;i=c[b>>2]|0;l=j;return i|0}c[e>>2]=c[d>>2]<<10|1023;c[f>>2]=0;c[g>>2]=405;c[h>>2]=0;while(1){if((c[g>>2]|0)<(c[h>>2]|0))break;c[i>>2]=((c[g>>2]|0)+(c[h>>2]|0)|0)/2|0;a=c[i>>2]|0;if((c[e>>2]|0)>>>0>=(c[6880+(c[i>>2]<<2)>>2]|0)>>>0){c[f>>2]=a;c[h>>2]=(c[i>>2]|0)+1;continue}else{c[g>>2]=a-1;continue}}c[b>>2]=(c[d>>2]|0)>>>0>=(((c[6880+(c[f>>2]<<2)>>2]|0)>>>10)+(c[6880+(c[f>>2]<<2)>>2]&1023)|0)>>>0&1;i=c[b>>2]|0;l=j;return i|0}function SP(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+24|0;d=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;c[f>>2]=b;a:do if((c[(c[d>>2]|0)+8>>2]|0)>0){c[g>>2]=c[(c[d>>2]|0)+12>>2];c[h>>2]=0;c[i>>2]=(c[(c[d>>2]|0)+8>>2]|0)-1;while(1){if((c[i>>2]|0)<(c[h>>2]|0))break a;c[j>>2]=((c[i>>2]|0)+(c[h>>2]|0)|0)/2|0;if((c[f>>2]|0)==(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0))break;a=c[j>>2]|0;if((c[f>>2]|0)>(c[(c[g>>2]|0)+(c[j>>2]<<2)>>2]|0)){c[h>>2]=a+1;continue}else{c[i>>2]=a-1;continue}}c[e>>2]=1;j=c[e>>2]|0;l=k;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}function TP(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;p=t+48|0;q=t+44|0;r=t+40|0;h=t+36|0;u=t+32|0;s=t+28|0;i=t+24|0;j=t+20|0;g=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[q>>2]=a;c[r>>2]=b;c[h>>2]=e;c[u>>2]=f;c[s>>2]=c[h>>2];c[i>>2]=(c[s>>2]|0)+(c[u>>2]|0);c[g>>2]=0;while(1){if((c[s>>2]|0)>>>0>=(c[i>>2]|0)>>>0)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=d[u>>0];do if((c[j>>2]|0)>=192){c[j>>2]=d[19017+((c[j>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[i>>2]|0))a=((d[c[s>>2]>>0]|0)&192|0)==128;else a=0;b=c[j>>2]|0;if(!a)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=(b<<6)+(63&(d[u>>0]|0))}if(((b|0)>=128?(c[j>>2]&-2048|0)!=55296:0)?(c[j>>2]&-2|0)!=65534:0)break;c[j>>2]=65533}while(0);u=RP(c[j>>2]|0)|0;if((u|0)==(c[r>>2]|0))continue;if(PP(c[j>>2]|0)|0)continue;c[g>>2]=(c[g>>2]|0)+1}if(c[g>>2]|0){c[k>>2]=Df(c[(c[q>>2]|0)+12>>2]|0,(c[(c[q>>2]|0)+8>>2]|0)+(c[g>>2]|0)<<2)|0;if(!(c[k>>2]|0)){c[p>>2]=7;u=c[p>>2]|0;l=t;return u|0}c[m>>2]=c[(c[q>>2]|0)+8>>2];c[s>>2]=c[h>>2];while(1){if((c[s>>2]|0)>>>0>=(c[i>>2]|0)>>>0)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=d[u>>0];do if((c[j>>2]|0)>=192){c[j>>2]=d[19017+((c[j>>2]|0)-192)>>0];while(1){if((c[s>>2]|0)!=(c[i>>2]|0))b=((d[c[s>>2]>>0]|0)&192|0)==128;else b=0;a=c[j>>2]|0;if(!b)break;u=c[s>>2]|0;c[s>>2]=u+1;c[j>>2]=(a<<6)+(63&(d[u>>0]|0))}if(((a|0)>=128?(c[j>>2]&-2048|0)!=55296:0)?(c[j>>2]&-2|0)!=65534:0)break;c[j>>2]=65533}while(0);u=RP(c[j>>2]|0)|0;if((u|0)==(c[r>>2]|0))continue;if(PP(c[j>>2]|0)|0)continue;c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[m>>2]|0))break;if((c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0)>=(c[j>>2]|0))break;c[n>>2]=(c[n>>2]|0)+1}c[o>>2]=c[m>>2];while(1){if((c[o>>2]|0)<=(c[n>>2]|0))break;c[(c[k>>2]|0)+(c[o>>2]<<2)>>2]=c[(c[k>>2]|0)+((c[o>>2]|0)-1<<2)>>2];c[o>>2]=(c[o>>2]|0)+-1}c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]=c[j>>2];c[m>>2]=(c[m>>2]|0)+1}c[(c[q>>2]|0)+12>>2]=c[k>>2];c[(c[q>>2]|0)+8>>2]=c[m>>2]}c[p>>2]=0;u=c[p>>2]|0;l=t;return u|0}function UP(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;while(1){if((c[f>>2]|0)>0)d=(a[(c[e>>2]|0)+((c[f>>2]|0)-1)>>0]|0)==32;else d=0;b=c[f>>2]|0;if(!d)break;c[f>>2]=b+-1}l=g;return (b|0)==0|0}function VP(){return 47064}function WP(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=cQ(c[a+60>>2]|0)|0;a=ZP(za(6,d|0)|0)|0;l=b;return a|0}function XP(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+32|0;f=g;c[b+36>>2]=163;if((c[b>>2]&64|0)==0?(c[f>>2]=c[b+60>>2],c[f+4>>2]=21523,c[f+8>>2]=g+16,Xa(54,f|0)|0):0)a[b+75>>0]=-1;f=bQ(b,d,e)|0;l=g;return f|0}function YP(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((ZP(Za(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;l=f;return a|0}function ZP(a){a=a|0;if(a>>>0>4294963200){c[(_P()|0)>>2]=0-a;a=-1}return a|0}function _P(){return ($P()|0)+64|0}function $P(){return aQ()|0}function aQ(){return 8628}function bQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;k=n+16|0;g=n;f=n+32|0;i=a+28|0;e=c[i>>2]|0;c[f>>2]=e;j=a+20|0;e=(c[j>>2]|0)-e|0;c[f+4>>2]=e;c[f+8>>2]=b;c[f+12>>2]=d;e=e+d|0;h=a+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=f;c[g+8>>2]=2;g=ZP(mb(146,g|0)|0)|0;a:do if((e|0)!=(g|0)){b=2;while(1){if((g|0)<0)break;e=e-g|0;p=c[f+4>>2]|0;o=g>>>0>p>>>0;f=o?f+8|0:f;b=(o<<31>>31)+b|0;p=g-(o?p:0)|0;c[f>>2]=(c[f>>2]|0)+p;o=f+4|0;c[o>>2]=(c[o>>2]|0)-p;c[k>>2]=c[h>>2];c[k+4>>2]=f;c[k+8>>2]=b;g=ZP(mb(146,k|0)|0)|0;if((e|0)==(g|0)){m=3;break a}}c[a+16>>2]=0;c[i>>2]=0;c[j>>2]=0;c[a>>2]=c[a>>2]|32;if((b|0)==2)d=0;else d=d-(c[f+4>>2]|0)|0}else m=3;while(0);if((m|0)==3){p=c[a+44>>2]|0;c[a+16>>2]=p+(c[a+48>>2]|0);c[i>>2]=p;c[j>>2]=p}l=n;return d|0}function cQ(a){a=a|0;return a|0}function dQ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+208|0;j=m+8|0;k=m;h=O(d,b)|0;i=k;c[i>>2]=1;c[i+4>>2]=0;a:do if(h|0){i=0-d|0;c[j+4>>2]=d;c[j>>2]=d;f=2;b=d;g=d;while(1){b=b+d+g|0;c[j+(f<<2)>>2]=b;if(b>>>0>>0){n=g;f=f+1|0;g=b;b=n}else break}g=a+h+i|0;if(g>>>0>a>>>0){h=g;f=1;b=1;do{do if((b&3|0)!=3){b=f+-1|0;if((c[j+(b<<2)>>2]|0)>>>0<(h-a|0)>>>0)eQ(a,d,e,f,j);else gQ(a,d,e,k,f,0,j);if((f|0)==1){hQ(k,1);f=0;break}else{hQ(k,b);f=1;break}}else{eQ(a,d,e,f,j);fQ(k,2);f=f+2|0}while(0);b=c[k>>2]|1;c[k>>2]=b;a=a+d|0}while(a>>>0>>0)}else{f=1;b=1}gQ(a,d,e,k,f,0,j);g=k+4|0;while(1){if((f|0)==1&(b|0)==1){if(!(c[g>>2]|0))break a}else if((f|0)>=2){hQ(k,2);n=f+-2|0;c[k>>2]=c[k>>2]^7;fQ(k,1);gQ(a+(0-(c[j+(n<<2)>>2]|0))+i|0,d,e,k,f+-1|0,1,j);hQ(k,1);b=c[k>>2]|1;c[k>>2]=b;h=a+i|0;gQ(h,d,e,k,n,1,j);a=h;f=n;continue}b=iQ(k)|0;fQ(k,b);a=a+i|0;f=b+f|0;b=c[k>>2]|0}}while(0);l=m;return}function eQ(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+240|0;m=n;c[m>>2]=a;a:do if((e|0)>1){k=0-b|0;g=a;j=e;e=1;while(1){h=g+k|0;i=j+-2|0;g=h+(0-(c[f+(i<<2)>>2]|0))|0;if((yb[d&255](a,g)|0)>-1?(yb[d&255](a,h)|0)>-1:0)break a;a=e+1|0;e=m+(e<<2)|0;if((yb[d&255](g,h)|0)>-1){c[e>>2]=g;e=j+-1|0}else{c[e>>2]=h;g=h;e=i}if((e|0)<=1){e=a;break a}j=e;e=a;a=c[m>>2]|0}}else e=1;while(0);kQ(b,m,e);l=n;return}function fQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[f>>2]|0;c[a>>2]=e;c[f>>2]=0;b=b+-32|0;d=0}else{d=c[f>>2]|0;e=c[a>>2]|0}c[a>>2]=d<<32-b|e>>>b;c[f>>2]=d>>>b;return}function gQ(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+240|0;n=p+232|0;o=p;q=c[e>>2]|0;c[n>>2]=q;j=c[e+4>>2]|0;k=n+4|0;c[k>>2]=j;c[o>>2]=a;a:do if((q|0)!=1|(j|0)!=0?(m=0-b|0,i=a+(0-(c[h+(f<<2)>>2]|0))|0,(yb[d&255](i,a)|0)>=1):0){e=1;g=(g|0)==0;j=i;while(1){if(g&(f|0)>1){g=a+m|0;i=c[h+(f+-2<<2)>>2]|0;if((yb[d&255](g,j)|0)>-1){i=10;break a}if((yb[d&255](g+(0-i)|0,j)|0)>-1){i=10;break a}}g=e+1|0;c[o+(e<<2)>>2]=j;q=iQ(n)|0;fQ(n,q);f=q+f|0;if(!((c[n>>2]|0)!=1|(c[k>>2]|0)!=0)){e=g;a=j;i=10;break a}a=j+(0-(c[h+(f<<2)>>2]|0))|0;if((yb[d&255](a,c[o>>2]|0)|0)<1){a=j;e=g;g=0;i=9;break}else{q=j;e=g;g=1;j=a;a=q}}}else{e=1;i=9}while(0);if((i|0)==9?(g|0)==0:0)i=10;if((i|0)==10){kQ(b,o,e);eQ(a,b,d,f,h)}l=p;return}function hQ(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+4|0;if(b>>>0>31){e=c[a>>2]|0;c[f>>2]=e;c[a>>2]=0;b=b+-32|0;d=0}else{d=c[a>>2]|0;e=c[f>>2]|0}c[f>>2]=d>>>(32-b|0)|e<>2]=d<>2]|0)+-1|0)|0;if(!b){b=jQ(c[a+4>>2]|0)|0;return ((b|0)==0?0:b+32|0)|0}else return b|0;return 0}function jQ(a){a=a|0;var b=0;if(a)if(!(a&1)){b=a;a=0;do{a=a+1|0;b=b>>>1}while(!(b&1|0))}else a=0;else a=32;return a|0}function kQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+256|0;e=h;a:do if((d|0)>=2?(g=b+(d<<2)|0,c[g>>2]=e,a|0):0)while(1){f=a>>>0<256?a:256;MR(e|0,c[b>>2]|0,f|0)|0;e=0;do{i=b+(e<<2)|0;e=e+1|0;MR(c[i>>2]|0,c[b+(e<<2)>>2]|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while((e|0)!=(d|0));a=a-f|0;if(!a)break a;e=c[g>>2]|0}while(0);l=h;return}function lQ(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3))e=4;else{d=f;while(1){if(!(a[b>>0]|0)){b=d;break a}b=b+1|0;d=b;if(!(d&3)){e=4;break}}}while(0);if((e|0)==4){while(1){d=c[b>>2]|0;if(!((d&-2139062144^-2139062144)&d+-16843009))b=b+4|0;else break}if((d&255)<<24>>24)do b=b+1|0;while((a[b>>0]|0)!=0)}return b-f|0}function mQ(a){a=a|0;return 0}function nQ(a){a=a|0;return}function oQ(a){a=a|0;return qQ(a,c[(pQ()|0)+188>>2]|0)|0}function pQ(){return aQ()|0}function qQ(b,e){b=b|0;e=e|0;var f=0,g=0;g=0;while(1){if((d[44795+g>>0]|0)==(b|0)){b=2;break}f=g+1|0;if((f|0)==87){f=44883;g=87;b=5;break}else g=f}if((b|0)==2)if(!g)f=44883;else{f=44883;b=5}if((b|0)==5)while(1){do{b=f;f=f+1|0}while((a[b>>0]|0)!=0);g=g+-1|0;if(!g)break;else b=5}return rQ(f,c[e+20>>2]|0)|0}function rQ(a,b){a=a|0;b=b|0;return sQ(a,b)|0}function sQ(a,b){a=a|0;b=b|0;if(!b)b=0;else b=tQ(c[b>>2]|0,c[b+4>>2]|0,a)|0;return (b|0?b:a)|0}function tQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=uQ(c[b+8>>2]|0,o)|0;f=uQ(c[b+12>>2]|0,o)|0;g=uQ(c[b+16>>2]|0,o)|0;a:do if((h>>>0>>2>>>0?(n=d-(h<<2)|0,f>>>0>>0&g>>>0>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){j=h>>>1;k=l+j|0;i=k<<1;g=i+n|0;f=uQ(c[b+(g<<2)>>2]|0,o)|0;g=uQ(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=vQ(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}else{l=f?l:k;h=f?j:h-j|0}}f=i+m|0;g=uQ(c[b+(f<<2)>>2]|0,o)|0;f=uQ(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function uQ(a,b){a=a|0;b=b|0;var c=0;c=NR(a|0)|0;return ((b|0)==0?a:c)|0}function vQ(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(d<<24>>24==0?1:d<<24>>24!=e<<24>>24)b=e;else{do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));b=e}return (d&255)-(b&255)|0}function wQ(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function xQ(a,b){a=a|0;b=b|0;yQ(a,b)|0;return a|0}function yQ(b,d){b=b|0;d=d|0;var e=0,f=0;e=d;a:do if(!((e^b)&3)){if(e&3)do{e=a[d>>0]|0;a[b>>0]=e;if(!(e<<24>>24))break a;d=d+1|0;b=b+1|0}while((d&3|0)!=0);e=c[d>>2]|0;if(!((e&-2139062144^-2139062144)&e+-16843009)){f=b;while(1){d=d+4|0;b=f+4|0;c[f>>2]=e;e=c[d>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break;else f=b}}f=8}else f=8;while(0);if((f|0)==8){f=a[d>>0]|0;a[b>>0]=f;if(f<<24>>24)do{d=d+1|0;b=b+1|0;f=a[d>>0]|0;a[b>>0]=f}while(f<<24>>24!=0)}return b|0}function zQ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=d;do if(!((g^b)&3)){f=(e|0)!=0;a:do if(f&(g&3|0)!=0)while(1){g=a[d>>0]|0;a[b>>0]=g;if(!(g<<24>>24))break a;e=e+-1|0;d=d+1|0;b=b+1|0;f=(e|0)!=0;if(!(f&(d&3|0)!=0)){h=5;break}}else h=5;while(0);if((h|0)==5)if(!f){e=0;break}if(a[d>>0]|0){b:do if(e>>>0>3){f=d;while(1){d=c[f>>2]|0;if((d&-2139062144^-2139062144)&d+-16843009|0){d=f;break b}c[b>>2]=d;e=e+-4|0;d=f+4|0;b=b+4|0;if(e>>>0>3)f=d;else break}}while(0);h=11}}else h=11;while(0);c:do if((h|0)==11)if(!e)e=0;else while(1){h=a[d>>0]|0;a[b>>0]=h;if(!(h<<24>>24))break c;e=e+-1|0;b=b+1|0;if(!e){e=0;break}else d=d+1|0}while(0);GR(b|0,0,e|0)|0;return b|0}function AQ(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0;if(!d)e=0;else{h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255;a:do if(h<<24>>24)do{d=d+-1|0;if(!(h<<24>>24==g<<24>>24&((d|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;h=a[b>>0]|0;e=h&255;g=a[c>>0]|0;f=g&255}while(h<<24>>24!=0);while(0);e=e-f|0}return e|0}function BQ(a){a=a|0;var b=0;b=(CQ(a)|0)==0;return (b?a:a|32)|0}function CQ(a){a=a|0;return (a+-65|0)>>>0<26|0}function DQ(a){a=a|0;var b=0,c=0;c=(lQ(a)|0)+1|0;b=wR(c)|0;if(!b)b=0;else MR(b|0,a|0,c|0)|0;return b|0}function EQ(a,b,c){a=a|0;b=b|0;c=c|0;zQ(a,b,c)|0;return a|0}function FQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j>>2]|0;d=c[j+4>>2]|0;e=(d|0)<0;do if(e|d>>>0<1048576){if((b|0)==0&(d&2147483647|0)==0){a=-1.0/(a*a);break}if(e){a=(a-a)/0.0;break}else{h[j>>3]=a*18014398509481984.0;d=c[j+4>>2]|0;e=-1077;b=c[j>>2]|0;f=9;break}}else if(d>>>0<=2146435071)if((b|0)==0&0==0&(d|0)==1072693248)a=0.0;else{e=-1023;f=9}while(0);if((f|0)==9){f=d+614242|0;c[j>>2]=b;c[j+4>>2]=(f&1048575)+1072079006;k=+h[j>>3]+-1.0;i=k*(k*.5);l=k/(k+2.0);m=l*l;a=m*m;h[j>>3]=k-i;d=c[j+4>>2]|0;c[j>>2]=0;c[j+4>>2]=d;g=+h[j>>3];a=k-g-i+l*(i+(a*(a*(a*.15313837699209373+.22222198432149784)+.3999999999940942)+m*(a*(a*(a*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)));m=g*.4342944818781689;i=+(e+(f>>>20)|0);l=i*.30102999566361177;k=l+m;a=k+(m+(l-k)+(a*.4342944818781689+(i*3.694239077158931e-13+(g+a)*2.5082946711645275e-11)))}return +a}function GQ(a){a=+a;var b=0,d=0,e=0,f=0.0;h[j>>3]=a;e=c[j>>2]|0;d=c[j+4>>2]|0;b=OR(e|0,d|0,52)|0;b=b&2047;c[j>>2]=e;c[j+4>>2]=d&2147483647;a=+h[j>>3];do if(b>>>0<=1048){if(b>>>0>1023){a=+M(+(a*2.0+1.0/(a+ +C(+(a*a+1.0)))));break}if(b>>>0>996){f=a*a;a=+HQ(a+f/(+C(+(f+1.0))+1.0))}}else a=+M(+a)+.6931471805599453;while(0);return +((d|0)<0?-a:a)}function HQ(a){a=+a;var b=0,d=0.0,e=0,f=0.0,g=0,i=0.0,k=0.0,l=0.0,m=0.0;h[j>>3]=a;b=c[j+4>>2]|0;do if((b|0)<0|b>>>0<1071284858)if(b>>>0<=3220176895){g=HR(b|0,0,1)|0;if(g>>>0<2034237440)break;if(b>>>0<3218259653){f=0.0;d=0.0;e=11;break}else{e=8;break}}else{if(a==-1.0){a=-t;break}a=(a-a)/0.0;break}else if(b>>>0<=2146435071)e=8;while(0);if((e|0)==8){d=a+1.0;h[j>>3]=d;b=(c[j+4>>2]|0)+614242|0;e=(b>>>20)+-1023|0;if((e|0)<54){g=(e|0)>1;d=((g?1.0:a)-(d+(g?-a:-1.0)))/d}else d=0.0;c[j>>2]=c[j>>2];c[j+4>>2]=(b&1048575)+1072079006;f=+(e|0);a=+h[j>>3]+-1.0;e=11}if((e|0)==11){i=a*(a*.5);m=a/(a+2.0);l=m*m;k=l*l;a=f*.6931471803691238+(a+(d+f*1.9082149292705877e-10+m*(i+(k*(k*(k*.15313837699209373+.22222198432149784)+.3999999999940942)+l*(k*(k*(k*.14798198605116586+.1818357216161805)+.2857142874366239)+.6666666666666735)))-i))}return +a}function IQ(a){a=+a;var b=0,d=0.0,e=0.0,f=0,g=0.0,i=0,k=0,l=0.0;h[j>>3]=a;b=c[j+4>>2]|0;f=b&2147483647;b=OR(c[j>>2]|0,b|0,63)|0;do if(f>>>0>1078159481){f=JQ(a)|0;k=z&2147483647;if(!(k>>>0>2146435072|(k|0)==2146435072&f>>>0>0))if(!b)if(a>709.782712893384)a=a*8988465674311579538646525.0e283;else{d=.5;i=12}else a=-1.0}else{if(f>>>0<=1071001154)if(f>>>0<1016070144)break;else{g=0.0;b=0;i=15;break}b=(b|0)!=0;if(f>>>0>=1072734898){d=b?-.5:.5;i=12;break}if(b){b=-1;d=a+.6931471803691238;e=-1.9082149292705877e-10;i=13;break}else{b=1;d=a+-.6931471803691238;e=1.9082149292705877e-10;i=13;break}}while(0);if((i|0)==12){b=~~(a*1.4426950408889634+d);e=+(b|0);d=a-e*.6931471803691238;e=e*1.9082149292705877e-10;i=13}if((i|0)==13){g=d-e;a=g;g=d-g-e;i=15}a:do if((i|0)==15){e=a*.5;d=a*e;l=d*(d*(d*(d*(4.008217827329362e-06-d*2.0109921818362437e-07)+-7.93650757867488e-05)+1.5873015872548146e-03)+-.03333333333333313)+1.0;e=3.0-e*l;e=d*((l-e)/(6.0-a*e));if(!b){a=a-(a*e-d);break}d=a*(e-g)-g-d;switch(b|0){case -1:{a=(a-d)*.5+-.5;break a}case 1:if(a<-.25){a=(d-(a+.5))*-2.0;break a}else{a=(a-d)*2.0+1.0;break a}default:{i=HR(b+1023|0,0,52)|0;k=z;c[j>>2]=i;c[j+4>>2]=k;e=+h[j>>3];if(b>>>0>56){a=a-d+1.0;a=((b|0)==1024?a*2.0*8988465674311579538646525.0e283:e*a)+-1.0;break a}else{f=HR(1023-b|0,0,52)|0;i=z;k=(b|0)<20;c[j>>2]=f;c[j+4>>2]=i;l=+h[j>>3];a=e*((k?1.0-l:1.0)+(a-(k?d:l+d)));break a}}}}while(0);return +a}function JQ(a){a=+a;var b=0;h[j>>3]=a;b=c[j>>2]|0;z=c[j+4>>2]|0;return b|0}function KQ(a){a=+a;var b=0,d=0;h[j>>3]=a;d=c[j+4>>2]|0;b=d&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0>1071748074)if(b>>>0>1077149696){a=1.0-0.0/a;break}else{a=1.0-2.0/(+IQ(a*2.0)+2.0);break}else{if(b>>>0>1070618798){a=+IQ(a*2.0);a=a/(a+2.0);break}if(b>>>0>1048575){a=+IQ(a*-2.0);a=-a/(a+2.0)}}while(0);return +((d|0)<0?-a:a)}function LQ(a){a=+a;var b=0;h[j>>3]=a;b=OR(c[j>>2]|0,c[j+4>>2]|0,52)|0;b=b&2047;do if(b>>>0>=1024)if(b>>>0<1049){a=+M(+(a*2.0-1.0/(+C(+(a*a+-1.0))+a)));break}else{a=+M(+a)+.6931471805599453;break}else{a=a+-1.0;a=+HQ(a+ +C(+(a*a+a*2.0)))}while(0);return +a}function MQ(a){a=+a;var b=0.0,d=0.0,e=0;h[j>>3]=a;e=c[j+4>>2]|0;d=(e|0)<0?-.5:.5;e=e&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=e;b=+h[j>>3];do if(e>>>0<1082535490){b=+IQ(b);if(e>>>0>=1072693248){a=d*(b+b/(b+1.0));break}if(e>>>0>=1045430272)a=d*(b*2.0-b*b/(b+1.0))}else a=d*2.0*+NQ(b);while(0);return +a}function NQ(a){a=+a;return +(+L(+(a+-1416.0996898839683))*2247116418577894884661631.0e283*2247116418577894884661631.0e283)}function OQ(a){a=+a;var b=0,d=0,e=0,f=0,g=0.0;h[j>>3]=a;f=c[j>>2]|0;d=c[j+4>>2]|0;b=OR(f|0,d|0,52)|0;b=b&2047;c[j>>2]=f;c[j+4>>2]=d&2147483647;a=+h[j>>3];if(b>>>0<1022){if(b>>>0>=991){g=a*2.0;a=g+a*g/(1.0-a);e=5}}else{a=a/(1.0-a)*2.0;e=5}if((e|0)==5)a=+HQ(a)*.5;return +((d|0)<0?-a:a)}function PQ(a){a=+a;var b=0;h[j>>3]=a;b=c[j+4>>2]&2147483647;c[j>>2]=c[j>>2];c[j+4>>2]=b;a=+h[j>>3];do if(b>>>0<1072049730)if(b>>>0<1045430272)a=1.0;else{a=+IQ(a);a=a*a/((a+1.0)*2.0)+1.0}else if(b>>>0<1082535490){a=+L(+a);a=(a+1.0/a)*.5;break}else{a=+NQ(a);break}while(0);return +a}function QQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+48|0;g=h+16|0;f=h;e=h+32|0;if(!(b&4194368))e=0;else{c[e>>2]=d;i=(c[e>>2]|0)+(4-1)&~(4-1);d=c[i>>2]|0;c[e>>2]=i+4;e=d}c[f>>2]=a;c[f+4>>2]=b|32768;c[f+8>>2]=e;e=eb(5,f|0)|0;if(!((b&524288|0)==0|(e|0)<0)){c[g>>2]=e;c[g+4>>2]=2;c[g+8>>2]=1;va(221,g|0)|0}i=ZP(e)|0;l=h;return i|0}function RQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ZP(Na(195,e|0)|0)|0;l=d;return b|0}function SQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ZP($a(39,e|0)|0)|0;l=d;return b|0}function TQ(){return}function UQ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;j=l;l=l+32|0;i=j;h=((g|0)<0)<<31>>31;do if((g&4095|0)==0&(h&-4096|0)==0){if(b>>>0>2147483646){c[(_P()|0)>>2]=12;a=-1;break}if(e&16|0)TQ();h=OR(g|0,h|0,12)|0;c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=d;c[i+12>>2]=e;c[i+16>>2]=f;c[i+20>>2]=h;a=ZP(Ka(192,i|0)|0)|0}else{c[(_P()|0)>>2]=22;a=-1}while(0);l=j;return a|0}function VQ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=ZP(ab(10,d|0)|0)|0;l=b;return a|0}function WQ(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;TQ();c[e>>2]=a;c[e+4>>2]=b;b=ZP(Ua(91,e|0)|0)|0;l=d;return b|0}function XQ(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}function YQ(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=cQ(a)|0;a=za(6,d|0)|0;a=ZP((a|0)==-4?0:a)|0;l=b;return a|0}function ZQ(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=l;l=l+32|0;g=f;e=f+20|0;c[g>>2]=a;c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;d=(ZP(Za(140,g|0)|0)|0)!=0;l=f;return (d?-1:c[e>>2]|0)|0}function _Q(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=La(197,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(va(221,e|0)|0)>=0):0){aR(e,a);c[f>>2]=e;c[f+4>>2]=b;b=ZP(Na(195,f|0)|0)|0}else b=ZP(d)|0;l=g;return b|0}function $Q(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+192|0;i=s+152|0;h=s+136|0;r=s+120|0;q=s+104|0;p=s+96|0;m=s+80|0;k=s+64|0;f=s+48|0;n=s+32|0;g=s+16|0;e=s;t=s+176|0;j=s+168|0;c[t>>2]=d;d=(c[t>>2]|0)+(4-1)&~(4-1);o=c[d>>2]|0;c[t>>2]=d+4;o=(b|0)==4?o|32768:o;switch(b|0){case 14:{c[e>>2]=a;c[e+4>>2]=14;c[e+8>>2]=o;d=ZP(va(221,e|0)|0)|0;break}case 9:{c[g>>2]=a;c[g+4>>2]=16;c[g+8>>2]=j;d=va(221,g|0)|0;switch(d|0){case -22:{c[n>>2]=a;c[n+4>>2]=9;c[n+8>>2]=o;d=va(221,n|0)|0;break}case 0:{d=c[j+4>>2]|0;d=(c[j>>2]|0)==2?0-d|0:d;break}default:d=ZP(d)|0}break}case 1030:{c[f>>2]=a;c[f+4>>2]=1030;c[f+8>>2]=o;d=va(221,f|0)|0;do if((d|0)==-22){c[m>>2]=a;c[m+4>>2]=1030;c[m+8>>2]=0;d=va(221,m|0)|0;if((d|0)==-22){c[q>>2]=a;c[q+4>>2]=0;c[q+8>>2]=o;d=va(221,q|0)|0;if((d|0)<=-1)break;c[r>>2]=d;c[r+4>>2]=2;c[r+8>>2]=1;va(221,r|0)|0;break}else{if((d|0)<=-1){d=-22;break}c[p>>2]=d;za(6,p|0)|0;d=-22;break}}else if((d|0)>-1){c[k>>2]=d;c[k+4>>2]=2;c[k+8>>2]=1;va(221,k|0)|0}while(0);d=ZP(d)|0;break}case 15:case 16:case 12:case 13:{c[h>>2]=a;c[h+4>>2]=b;c[h+8>>2]=o;d=ZP(va(221,h|0)|0)|0;break}default:{c[i>>2]=a;c[i+4>>2]=b;c[i+8>>2]=o;d=ZP(va(221,i|0)|0)|0}}l=s;return d|0}function aR(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;d=b;e=46687;f=d+15|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));if(!c){a[b+14>>0]=48;a[b+15>>0]=0}else{e=c;d=14;while(1){d=d+1|0;if(e>>>0<10)break;else e=(e>>>0)/10|0}a[b+d>>0]=0;while(1){d=d+-1|0;a[b+d>>0]=(c>>>0)%10|0|48;if(c>>>0<10)break;else c=(c>>>0)/10|0}}return}function bR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+64|0;g=h+48|0;f=h+16|0;e=h;c[e>>2]=a;c[e+4>>2]=b;c[e+8>>2]=d;e=jb(207,e|0)|0;if((e|0)==-9?(c[f>>2]=a,c[f+4>>2]=1,(va(221,f|0)|0)>=0):0){aR(f,a);c[g>>2]=f;c[g+4>>2]=b;c[g+8>>2]=d;a=ZP(Pa(212,g|0)|0)|0}else a=ZP(e)|0;l=h;return a|0}function cR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=ZP(fb(4,f|0)|0)|0;l=e;return d|0}function dR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=0;c[e+8>>2]=b;c[e+12>>2]=((b|0)<0)<<31>>31;b=ZP(Oa(194,e|0)|0)|0;l=d;return b|0}function eR(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;c[b+4>>2]=0;a=(Sa(b|0,b|0)|0)==0;l=d;return (a?0:c[b>>2]|0)|0}function fR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=ZP(wa(85,f|0)|0)|0;l=e;return d|0}function gR(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=ZP(Aa(40,d|0)|0)|0;l=b;return a|0}function hR(){var a=0,b=0;b=l;l=l+16|0;a=ib(201,b|0)|0;l=b;return a|0}function iR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+4112|0;e=g;d=g+8|0;if(a)if(!b){c[(_P()|0)>>2]=22;a=0}else f=4;else{b=4096;a=d;f=4}if((f|0)==4){c[e>>2]=a;c[e+4>>2]=b;if((ZP(Da(183,e|0)|0)|0)>=0){if((a|0)==(d|0))a=DQ(d)|0}else a=0}l=g;return a|0}function jR(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=ZP(Ba(118,d|0)|0)|0;l=b;return a|0}function kR(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=l;l=l+16|0;f=e;c[f>>2]=a;c[f+4>>2]=b;c[f+8>>2]=d;d=ZP(bb(3,f|0)|0)|0;l=e;return d|0}function lR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ZP(Wa(33,e|0)|0)|0;l=d;return b|0}function mR(){var a=0,b=0;b=l;l=l+16|0;a=Ca(20,b|0)|0;l=b;return a|0}function nR(a){a=a|0;return (a+-97|0)>>>0<26|0}function oR(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}function pR(a){a=a|0;var b=0;b=(nR(a)|0)==0;return (b?a:a&95)|0}function qR(){cb(47128);return 47136}function rR(){Ya(47128);return}function sR(a){a=a|0;var b=0,d=0;do if(a){if((c[a+76>>2]|0)<=-1){b=tR(a)|0;break}d=(mQ(a)|0)==0;b=tR(a)|0;if(!d)nQ(a)}else{if(!(c[2218]|0))b=0;else b=sR(c[2218]|0)|0;a=c[(qR()|0)>>2]|0;if(a)do{if((c[a+76>>2]|0)>-1)d=mQ(a)|0;else d=0;if((c[a+20>>2]|0)>>>0>(c[a+28>>2]|0)>>>0)b=tR(a)|0|b;if(d|0)nQ(a);a=c[a+56>>2]|0}while((a|0)!=0);rR()}while(0);return b|0}function tR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=a+20|0;h=a+28|0;if((c[b>>2]|0)>>>0>(c[h>>2]|0)>>>0?(ob[c[a+36>>2]&255](a,0,0)|0,(c[b>>2]|0)==0):0)a=-1;else{d=a+4|0;e=c[d>>2]|0;f=a+8|0;g=c[f>>2]|0;if(e>>>0>>0)ob[c[a+40>>2]&255](a,e-g|0,1)|0;c[a+16>>2]=0;c[h>>2]=0;c[b>>2]=0;c[f>>2]=0;c[d>>2]=0;a=0}return a|0}function uR(a,b){a=a|0;b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[e+4>>2]=b;b=ZP(Ma(196,e|0)|0)|0;l=d;return b|0}function vR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+48|0;f=g+40|0;e=g+8|0;d=g;c[d>>2]=a;c[d+4>>2]=b;d=Ra(94,d|0)|0;if((d|0)==-9?(c[e>>2]=a,c[e+4>>2]=1,(va(221,e|0)|0)>=0):0){aR(e,a);c[f>>2]=e;c[f+4>>2]=b;a=ZP(_a(15,f|0)|0)|0}else a=ZP(d)|0;l=g;return a|0}function wR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+16|0;o=K;do if(a>>>0<245){p=a>>>0<11?16:a+11&-8;a=p>>>3;t=c[11785]|0;d=t>>>a;if(d&3|0){a=(d&1^1)+a|0;d=47180+(a<<1<<2)|0;e=d+8|0;f=c[e>>2]|0;g=f+8|0;h=c[g>>2]|0;do if((d|0)!=(h|0)){if(h>>>0<(c[11789]|0)>>>0)db();b=h+12|0;if((c[b>>2]|0)==(f|0)){c[b>>2]=d;c[e>>2]=h;break}else db()}else c[11785]=t&~(1<>2]=J|3;J=f+J+4|0;c[J>>2]=c[J>>2]|1;J=g;l=K;return J|0}s=c[11787]|0;if(p>>>0>s>>>0){if(d|0){i=2<>>12&16;a=a>>>i;e=a>>>5&8;a=a>>>e;g=a>>>2&4;a=a>>>g;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=(e|i|g|d|b)+(a>>>b)|0;a=47180+(b<<1<<2)|0;d=a+8|0;g=c[d>>2]|0;i=g+8|0;e=c[i>>2]|0;do if((a|0)!=(e|0)){if(e>>>0<(c[11789]|0)>>>0)db();f=e+12|0;if((c[f>>2]|0)==(g|0)){c[f>>2]=a;c[d>>2]=e;j=t;break}else db()}else{j=t&~(1<>2]=p|3;e=g+p|0;c[e+4>>2]=h|1;c[e+h>>2]=h;if(s|0){f=c[11790]|0;b=s>>>3;d=47180+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(c[11789]|0)>>>0)db();else{k=a;m=b}}else{c[11785]=j|b;k=d;m=d+8|0}c[m>>2]=f;c[k+12>>2]=f;c[f+8>>2]=k;c[f+12>>2]=d}c[11787]=h;c[11790]=e;J=i;l=K;return J|0}k=c[11786]|0;if(k){a=(k&0-k)+-1|0;I=a>>>12&16;a=a>>>I;H=a>>>5&8;a=a>>>H;J=a>>>2&4;a=a>>>J;d=a>>>1&2;a=a>>>d;b=a>>>1&1;b=c[47444+((H|I|J|d|b)+(a>>>b)<<2)>>2]|0;a=(c[b+4>>2]&-8)-p|0;d=c[b+16+(((c[b+16>>2]|0)==0&1)<<2)>>2]|0;if(!d){j=b;h=a}else{do{I=(c[d+4>>2]&-8)-p|0;J=I>>>0>>0;a=J?I:a;b=J?d:b;d=c[d+16+(((c[d+16>>2]|0)==0&1)<<2)>>2]|0}while((d|0)!=0);j=b;h=a}f=c[11789]|0;if(j>>>0>>0)db();i=j+p|0;if(j>>>0>=i>>>0)db();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){n=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)db();else{c[a>>2]=0;n=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)db();b=e+12|0;if((c[b>>2]|0)!=(j|0))db();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;n=d;break}else db()}while(0);a:do if(g|0){b=c[j+28>>2]|0;a=47444+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=n;if(!n){c[11786]=k&~(1<>>0>=(c[11789]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=n;if(!n)break a;else break}else db();while(0);a=c[11789]|0;if(n>>>0>>0)db();c[n+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0>>0)db();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);b=c[j+20>>2]|0;if(b|0)if(b>>>0<(c[11789]|0)>>>0)db();else{c[n+20>>2]=b;c[b+24>>2]=n;break}}while(0);if(h>>>0<16){J=h+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}else{c[j+4>>2]=p|3;c[i+4>>2]=h|1;c[i+h>>2]=h;if(s|0){e=c[11790]|0;b=s>>>3;d=47180+(b<<1<<2)|0;b=1<>2]|0;if(a>>>0<(c[11789]|0)>>>0)db();else{q=a;r=b}}else{c[11785]=t|b;q=d;r=d+8|0}c[r>>2]=e;c[q+12>>2]=e;c[e+8>>2]=q;c[e+12>>2]=d}c[11787]=h;c[11790]=i}J=j+8|0;l=K;return J|0}}}else if(a>>>0<=4294967231){a=a+11|0;p=a&-8;k=c[11786]|0;if(k){e=0-p|0;a=a>>>8;if(a)if(p>>>0>16777215)i=31;else{r=(a+1048320|0)>>>16&8;C=a<>>16&4;C=C<>>16&2;i=14-(q|r|i)+(C<>>15)|0;i=p>>>(i+7|0)&1|i<<1}else i=0;d=c[47444+(i<<2)>>2]|0;b:do if(!d){d=0;a=0;C=81}else{a=0;h=p<<((i|0)==31?0:25-(i>>>1)|0);g=0;while(1){f=(c[d+4>>2]&-8)-p|0;if(f>>>0>>0)if(!f){a=d;e=0;f=d;C=85;break b}else{a=d;e=f}f=c[d+20>>2]|0;d=c[d+16+(h>>>31<<2)>>2]|0;g=(f|0)==0|(f|0)==(d|0)?g:f;f=(d|0)==0;if(f){d=g;C=81;break}else h=h<<((f^1)&1)}}while(0);if((C|0)==81){if((d|0)==0&(a|0)==0){a=2<>>12&16;r=r>>>m;j=r>>>5&8;r=r>>>j;n=r>>>2&4;r=r>>>n;q=r>>>1&2;r=r>>>q;d=r>>>1&1;a=0;d=c[47444+((j|m|n|q|d)+(r>>>d)<<2)>>2]|0}if(!d){j=a;i=e}else{f=d;C=85}}if((C|0)==85)while(1){C=0;d=(c[f+4>>2]&-8)-p|0;r=d>>>0>>0;d=r?d:e;a=r?f:a;f=c[f+16+(((c[f+16>>2]|0)==0&1)<<2)>>2]|0;if(!f){j=a;i=d;break}else{e=d;C=85}}if((j|0)!=0?i>>>0<((c[11787]|0)-p|0)>>>0:0){f=c[11789]|0;if(j>>>0>>0)db();h=j+p|0;if(j>>>0>=h>>>0)db();g=c[j+24>>2]|0;d=c[j+12>>2]|0;do if((d|0)==(j|0)){a=j+20|0;b=c[a>>2]|0;if(!b){a=j+16|0;b=c[a>>2]|0;if(!b){s=0;break}}while(1){d=b+20|0;e=c[d>>2]|0;if(e|0){b=e;a=d;continue}d=b+16|0;e=c[d>>2]|0;if(!e)break;else{b=e;a=d}}if(a>>>0>>0)db();else{c[a>>2]=0;s=b;break}}else{e=c[j+8>>2]|0;if(e>>>0>>0)db();b=e+12|0;if((c[b>>2]|0)!=(j|0))db();a=d+8|0;if((c[a>>2]|0)==(j|0)){c[b>>2]=d;c[a>>2]=e;s=d;break}else db()}while(0);c:do if(g){b=c[j+28>>2]|0;a=47444+(b<<2)|0;do if((j|0)==(c[a>>2]|0)){c[a>>2]=s;if(!s){t=k&~(1<>>0>=(c[11789]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(j|0)&1)<<2)>>2]=s;if(!s){t=k;break c}else break}else db();while(0);a=c[11789]|0;if(s>>>0>>0)db();c[s+24>>2]=g;b=c[j+16>>2]|0;do if(b|0)if(b>>>0>>0)db();else{c[s+16>>2]=b;c[b+24>>2]=s;break}while(0);b=c[j+20>>2]|0;if(b)if(b>>>0<(c[11789]|0)>>>0)db();else{c[s+20>>2]=b;c[b+24>>2]=s;t=k;break}else t=k}else t=k;while(0);do if(i>>>0>=16){c[j+4>>2]=p|3;c[h+4>>2]=i|1;c[h+i>>2]=i;b=i>>>3;if(i>>>0<256){d=47180+(b<<1<<2)|0;a=c[11785]|0;b=1<>2]|0;if(a>>>0<(c[11789]|0)>>>0)db();else{x=a;y=b}}else{c[11785]=a|b;x=d;y=d+8|0}c[y>>2]=h;c[x+12>>2]=h;c[h+8>>2]=x;c[h+12>>2]=d;break}b=i>>>8;if(b)if(i>>>0>16777215)b=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=i>>>(b+7|0)&1|b<<1}else b=0;d=47444+(b<<2)|0;c[h+28>>2]=b;a=h+16|0;c[a+4>>2]=0;c[a>>2]=0;a=1<>2]=h;c[h+24>>2]=d;c[h+12>>2]=h;c[h+8>>2]=h;break}a=i<<((b|0)==31?0:25-(b>>>1)|0);e=c[d>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(i|0)){C=139;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=136;break}else{a=a<<1;e=b}}if((C|0)==136)if(d>>>0<(c[11789]|0)>>>0)db();else{c[d>>2]=h;c[h+24>>2]=e;c[h+12>>2]=h;c[h+8>>2]=h;break}else if((C|0)==139){b=e+8|0;a=c[b>>2]|0;J=c[11789]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=h;c[b>>2]=h;c[h+8>>2]=a;c[h+12>>2]=e;c[h+24>>2]=0;break}else db()}}else{J=i+p|0;c[j+4>>2]=J|3;J=j+J+4|0;c[J>>2]=c[J>>2]|1}while(0);J=j+8|0;l=K;return J|0}}}else p=-1;while(0);d=c[11787]|0;if(d>>>0>=p>>>0){b=d-p|0;a=c[11790]|0;if(b>>>0>15){J=a+p|0;c[11790]=J;c[11787]=b;c[J+4>>2]=b|1;c[J+b>>2]=b;c[a+4>>2]=p|3}else{c[11787]=0;c[11790]=0;c[a+4>>2]=d|3;J=a+d+4|0;c[J>>2]=c[J>>2]|1}J=a+8|0;l=K;return J|0}h=c[11788]|0;if(h>>>0>p>>>0){H=h-p|0;c[11788]=H;J=c[11791]|0;I=J+p|0;c[11791]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}if(!(c[11903]|0)){c[11905]=4096;c[11904]=4096;c[11906]=-1;c[11907]=-1;c[11908]=0;c[11896]=0;a=o&-16^1431655768;c[o>>2]=a;c[11903]=a;a=4096}else a=c[11905]|0;i=p+48|0;j=p+47|0;g=a+j|0;f=0-a|0;k=g&f;if(k>>>0<=p>>>0){J=0;l=K;return J|0}a=c[11895]|0;if(a|0?(x=c[11893]|0,y=x+k|0,y>>>0<=x>>>0|y>>>0>a>>>0):0){J=0;l=K;return J|0}d:do if(!(c[11896]&4)){d=c[11791]|0;e:do if(d){e=47588;while(1){a=c[e>>2]|0;if(a>>>0<=d>>>0?(w=e+4|0,(a+(c[w>>2]|0)|0)>>>0>d>>>0):0)break;a=c[e+8>>2]|0;if(!a){C=163;break e}else e=a}b=g-h&f;if(b>>>0<2147483647){a=SR(b|0)|0;if((a|0)==((c[e>>2]|0)+(c[w>>2]|0)|0)){if((a|0)!=(-1|0)){h=b;g=a;C=180;break d}}else{e=a;C=171}}else b=0}else C=163;while(0);do if((C|0)==163){d=SR(0)|0;if((d|0)!=(-1|0)?(b=d,u=c[11904]|0,v=u+-1|0,b=((v&b|0)==0?0:(v+b&0-u)-b|0)+k|0,u=c[11893]|0,v=b+u|0,b>>>0>p>>>0&b>>>0<2147483647):0){y=c[11895]|0;if(y|0?v>>>0<=u>>>0|v>>>0>y>>>0:0){b=0;break}a=SR(b|0)|0;if((a|0)==(d|0)){h=b;g=d;C=180;break d}else{e=a;C=171}}else b=0}while(0);do if((C|0)==171){d=0-b|0;if(!(i>>>0>b>>>0&(b>>>0<2147483647&(e|0)!=(-1|0))))if((e|0)==(-1|0)){b=0;break}else{h=b;g=e;C=180;break d}a=c[11905]|0;a=j-b+a&0-a;if(a>>>0>=2147483647){h=b;g=e;C=180;break d}if((SR(a|0)|0)==(-1|0)){SR(d|0)|0;b=0;break}else{h=a+b|0;g=e;C=180;break d}}while(0);c[11896]=c[11896]|4;C=178}else{b=0;C=178}while(0);if(((C|0)==178?k>>>0<2147483647:0)?(B=SR(k|0)|0,y=SR(0)|0,z=y-B|0,A=z>>>0>(p+40|0)>>>0,!((B|0)==(-1|0)|A^1|B>>>0>>0&((B|0)!=(-1|0)&(y|0)!=(-1|0))^1)):0){h=A?z:b;g=B;C=180}if((C|0)==180){b=(c[11893]|0)+h|0;c[11893]=b;if(b>>>0>(c[11894]|0)>>>0)c[11894]=b;k=c[11791]|0;do if(k){b=47588;while(1){a=c[b>>2]|0;d=b+4|0;e=c[d>>2]|0;if((g|0)==(a+e|0)){C=190;break}f=c[b+8>>2]|0;if(!f)break;else b=f}if(((C|0)==190?(c[b+12>>2]&8|0)==0:0)?k>>>0>>0&k>>>0>=a>>>0:0){c[d>>2]=e+h;J=k+8|0;J=(J&7|0)==0?0:0-J&7;I=k+J|0;J=(c[11788]|0)+(h-J)|0;c[11791]=I;c[11788]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[11792]=c[11907];break}b=c[11789]|0;if(g>>>0>>0){c[11789]=g;i=g}else i=b;d=g+h|0;b=47588;while(1){if((c[b>>2]|0)==(d|0)){C=198;break}a=c[b+8>>2]|0;if(!a)break;else b=a}if((C|0)==198?(c[b+12>>2]&8|0)==0:0){c[b>>2]=g;n=b+4|0;c[n>>2]=(c[n>>2]|0)+h;n=g+8|0;n=g+((n&7|0)==0?0:0-n&7)|0;b=d+8|0;b=d+((b&7|0)==0?0:0-b&7)|0;m=n+p|0;j=b-n-p|0;c[n+4>>2]=p|3;do if((b|0)!=(k|0)){if((b|0)==(c[11790]|0)){J=(c[11787]|0)+j|0;c[11787]=J;c[11790]=m;c[m+4>>2]=J|1;c[m+J>>2]=J;break}a=c[b+4>>2]|0;if((a&3|0)==1){h=a&-8;f=a>>>3;f:do if(a>>>0>=256){g=c[b+24>>2]|0;e=c[b+12>>2]|0;do if((e|0)==(b|0)){e=b+16|0;d=e+4|0;a=c[d>>2]|0;if(!a){a=c[e>>2]|0;if(!a){H=0;break}else d=e}while(1){e=a+20|0;f=c[e>>2]|0;if(f|0){a=f;d=e;continue}e=a+16|0;f=c[e>>2]|0;if(!f)break;else{a=f;d=e}}if(d>>>0>>0)db();else{c[d>>2]=0;H=a;break}}else{f=c[b+8>>2]|0;if(f>>>0>>0)db();a=f+12|0;if((c[a>>2]|0)!=(b|0))db();d=e+8|0;if((c[d>>2]|0)==(b|0)){c[a>>2]=e;c[d>>2]=f;H=e;break}else db()}while(0);if(!g)break;a=c[b+28>>2]|0;d=47444+(a<<2)|0;do if((b|0)!=(c[d>>2]|0))if(g>>>0>=(c[11789]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(b|0)&1)<<2)>>2]=H;if(!H)break f;else break}else db();else{c[d>>2]=H;if(H|0)break;c[11786]=c[11786]&~(1<>>0>>0)db();c[H+24>>2]=g;a=b+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)db();else{c[H+16>>2]=d;c[d+24>>2]=H;break}while(0);a=c[a+4>>2]|0;if(!a)break;if(a>>>0<(c[11789]|0)>>>0)db();else{c[H+20>>2]=a;c[a+24>>2]=H;break}}else{d=c[b+8>>2]|0;e=c[b+12>>2]|0;a=47180+(f<<1<<2)|0;do if((d|0)!=(a|0)){if(d>>>0>>0)db();if((c[d+12>>2]|0)==(b|0))break;db()}while(0);if((e|0)==(d|0)){c[11785]=c[11785]&~(1<>>0>>0)db();a=e+8|0;if((c[a>>2]|0)==(b|0)){E=a;break}db()}while(0);c[d+12>>2]=e;c[E>>2]=d}while(0);b=b+h|0;f=h+j|0}else f=j;b=b+4|0;c[b>>2]=c[b>>2]&-2;c[m+4>>2]=f|1;c[m+f>>2]=f;b=f>>>3;if(f>>>0<256){d=47180+(b<<1<<2)|0;a=c[11785]|0;b=1<>2]|0;if(a>>>0>=(c[11789]|0)>>>0){I=a;J=b;break}db()}while(0);c[J>>2]=m;c[I+12>>2]=m;c[m+8>>2]=I;c[m+12>>2]=d;break}b=f>>>8;do if(!b)b=0;else{if(f>>>0>16777215){b=31;break}I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;b=14-(H|I|b)+(J<>>15)|0;b=f>>>(b+7|0)&1|b<<1}while(0);e=47444+(b<<2)|0;c[m+28>>2]=b;a=m+16|0;c[a+4>>2]=0;c[a>>2]=0;a=c[11786]|0;d=1<>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}a=f<<((b|0)==31?0:25-(b>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){C=265;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=262;break}else{a=a<<1;e=b}}if((C|0)==262)if(d>>>0<(c[11789]|0)>>>0)db();else{c[d>>2]=m;c[m+24>>2]=e;c[m+12>>2]=m;c[m+8>>2]=m;break}else if((C|0)==265){b=e+8|0;a=c[b>>2]|0;J=c[11789]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=m;c[b>>2]=m;c[m+8>>2]=a;c[m+12>>2]=e;c[m+24>>2]=0;break}else db()}}else{J=(c[11788]|0)+j|0;c[11788]=J;c[11791]=m;c[m+4>>2]=J|1}while(0);J=n+8|0;l=K;return J|0}b=47588;while(1){a=c[b>>2]|0;if(a>>>0<=k>>>0?(D=a+(c[b+4>>2]|0)|0,D>>>0>k>>>0):0)break;b=c[b+8>>2]|0}f=D+-47|0;a=f+8|0;a=f+((a&7|0)==0?0:0-a&7)|0;f=k+16|0;a=a>>>0>>0?k:a;b=a+8|0;d=g+8|0;d=(d&7|0)==0?0:0-d&7;J=g+d|0;d=h+-40-d|0;c[11791]=J;c[11788]=d;c[J+4>>2]=d|1;c[J+d+4>>2]=40;c[11792]=c[11907];d=a+4|0;c[d>>2]=27;c[b>>2]=c[11897];c[b+4>>2]=c[11898];c[b+8>>2]=c[11899];c[b+12>>2]=c[11900];c[11897]=g;c[11898]=h;c[11900]=0;c[11899]=b;b=a+24|0;do{J=b;b=b+4|0;c[b>>2]=7}while((J+8|0)>>>0>>0);if((a|0)!=(k|0)){g=a-k|0;c[d>>2]=c[d>>2]&-2;c[k+4>>2]=g|1;c[a>>2]=g;b=g>>>3;if(g>>>0<256){d=47180+(b<<1<<2)|0;a=c[11785]|0;b=1<>2]|0;if(a>>>0<(c[11789]|0)>>>0)db();else{F=a;G=b}}else{c[11785]=a|b;F=d;G=d+8|0}c[G>>2]=k;c[F+12>>2]=k;c[k+8>>2]=F;c[k+12>>2]=d;break}b=g>>>8;if(b)if(g>>>0>16777215)d=31;else{I=(b+1048320|0)>>>16&8;J=b<>>16&4;J=J<>>16&2;d=14-(H|I|d)+(J<>>15)|0;d=g>>>(d+7|0)&1|d<<1}else d=0;e=47444+(d<<2)|0;c[k+28>>2]=d;c[k+20>>2]=0;c[f>>2]=0;b=c[11786]|0;a=1<>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}a=g<<((d|0)==31?0:25-(d>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(g|0)){C=292;break}d=e+16+(a>>>31<<2)|0;b=c[d>>2]|0;if(!b){C=289;break}else{a=a<<1;e=b}}if((C|0)==289)if(d>>>0<(c[11789]|0)>>>0)db();else{c[d>>2]=k;c[k+24>>2]=e;c[k+12>>2]=k;c[k+8>>2]=k;break}else if((C|0)==292){b=e+8|0;a=c[b>>2]|0;J=c[11789]|0;if(a>>>0>=J>>>0&e>>>0>=J>>>0){c[a+12>>2]=k;c[b>>2]=k;c[k+8>>2]=a;c[k+12>>2]=e;c[k+24>>2]=0;break}else db()}}}else{J=c[11789]|0;if((J|0)==0|g>>>0>>0)c[11789]=g;c[11897]=g;c[11898]=h;c[11900]=0;c[11794]=c[11903];c[11793]=-1;b=0;do{J=47180+(b<<1<<2)|0;c[J+12>>2]=J;c[J+8>>2]=J;b=b+1|0}while((b|0)!=32);J=g+8|0;J=(J&7|0)==0?0:0-J&7;I=g+J|0;J=h+-40-J|0;c[11791]=I;c[11788]=J;c[I+4>>2]=J|1;c[I+J+4>>2]=40;c[11792]=c[11907]}while(0);b=c[11788]|0;if(b>>>0>p>>>0){H=b-p|0;c[11788]=H;J=c[11791]|0;I=J+p|0;c[11791]=I;c[I+4>>2]=H|1;c[J+4>>2]=p|3;J=J+8|0;l=K;return J|0}}c[(_P()|0)>>2]=12;J=0;l=K;return J|0}function xR(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;if(!a)return;d=a+-8|0;h=c[11789]|0;if(d>>>0>>0)db();a=c[a+-4>>2]|0;b=a&3;if((b|0)==1)db();e=a&-8;o=d+e|0;a:do if(!(a&1)){a=c[d>>2]|0;if(!b)return;k=d+(0-a)|0;j=a+e|0;if(k>>>0>>0)db();if((k|0)==(c[11790]|0)){a=o+4|0;b=c[a>>2]|0;if((b&3|0)!=3){r=k;f=j;m=k;break}c[11787]=j;c[a>>2]=b&-2;c[k+4>>2]=j|1;c[k+j>>2]=j;return}e=a>>>3;if(a>>>0<256){b=c[k+8>>2]|0;d=c[k+12>>2]|0;a=47180+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0>>0)db();if((c[b+12>>2]|0)!=(k|0))db()}if((d|0)==(b|0)){c[11785]=c[11785]&~(1<>>0>>0)db();a=d+8|0;if((c[a>>2]|0)==(k|0))g=a;else db()}else g=d+8|0;c[b+12>>2]=d;c[g>>2]=b;r=k;f=j;m=k;break}g=c[k+24>>2]|0;d=c[k+12>>2]|0;do if((d|0)==(k|0)){d=k+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){i=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0>>0)db();else{c[b>>2]=0;i=a;break}}else{e=c[k+8>>2]|0;if(e>>>0>>0)db();a=e+12|0;if((c[a>>2]|0)!=(k|0))db();b=d+8|0;if((c[b>>2]|0)==(k|0)){c[a>>2]=d;c[b>>2]=e;i=d;break}else db()}while(0);if(g){a=c[k+28>>2]|0;b=47444+(a<<2)|0;do if((k|0)==(c[b>>2]|0)){c[b>>2]=i;if(!i){c[11786]=c[11786]&~(1<>>0>=(c[11789]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(k|0)&1)<<2)>>2]=i;if(!i){r=k;f=j;m=k;break a}else break}else db();while(0);d=c[11789]|0;if(i>>>0>>0)db();c[i+24>>2]=g;a=k+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)db();else{c[i+16>>2]=b;c[b+24>>2]=i;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[11789]|0)>>>0)db();else{c[i+20>>2]=a;c[a+24>>2]=i;r=k;f=j;m=k;break}else{r=k;f=j;m=k}}else{r=k;f=j;m=k}}else{r=d;f=e;m=d}while(0);if(m>>>0>=o>>>0)db();a=o+4|0;b=c[a>>2]|0;if(!(b&1))db();if(!(b&2)){a=c[11790]|0;if((o|0)==(c[11791]|0)){q=(c[11788]|0)+f|0;c[11788]=q;c[11791]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[11790]=0;c[11787]=0;return}if((o|0)==(a|0)){q=(c[11787]|0)+f|0;c[11787]=q;c[11790]=m;c[r+4>>2]=q|1;c[m+q>>2]=q;return}f=(b&-8)+f|0;e=b>>>3;b:do if(b>>>0>=256){g=c[o+24>>2]|0;a=c[o+12>>2]|0;do if((a|0)==(o|0)){d=o+16|0;b=d+4|0;a=c[b>>2]|0;if(!a){a=c[d>>2]|0;if(!a){n=0;break}else b=d}while(1){d=a+20|0;e=c[d>>2]|0;if(e|0){a=e;b=d;continue}d=a+16|0;e=c[d>>2]|0;if(!e)break;else{a=e;b=d}}if(b>>>0<(c[11789]|0)>>>0)db();else{c[b>>2]=0;n=a;break}}else{b=c[o+8>>2]|0;if(b>>>0<(c[11789]|0)>>>0)db();d=b+12|0;if((c[d>>2]|0)!=(o|0))db();e=a+8|0;if((c[e>>2]|0)==(o|0)){c[d>>2]=a;c[e>>2]=b;n=a;break}else db()}while(0);if(g|0){a=c[o+28>>2]|0;b=47444+(a<<2)|0;do if((o|0)==(c[b>>2]|0)){c[b>>2]=n;if(!n){c[11786]=c[11786]&~(1<>>0>=(c[11789]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else db();while(0);d=c[11789]|0;if(n>>>0>>0)db();c[n+24>>2]=g;a=o+16|0;b=c[a>>2]|0;do if(b|0)if(b>>>0>>0)db();else{c[n+16>>2]=b;c[b+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[11789]|0)>>>0)db();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{b=c[o+8>>2]|0;d=c[o+12>>2]|0;a=47180+(e<<1<<2)|0;if((b|0)!=(a|0)){if(b>>>0<(c[11789]|0)>>>0)db();if((c[b+12>>2]|0)!=(o|0))db()}if((d|0)==(b|0)){c[11785]=c[11785]&~(1<>>0<(c[11789]|0)>>>0)db();a=d+8|0;if((c[a>>2]|0)==(o|0))l=a;else db()}else l=d+8|0;c[b+12>>2]=d;c[l>>2]=b}while(0);c[r+4>>2]=f|1;c[m+f>>2]=f;if((r|0)==(c[11790]|0)){c[11787]=f;return}}else{c[a>>2]=b&-2;c[r+4>>2]=f|1;c[m+f>>2]=f}a=f>>>3;if(f>>>0<256){d=47180+(a<<1<<2)|0;b=c[11785]|0;a=1<>2]|0;if(b>>>0<(c[11789]|0)>>>0)db();else{p=b;q=a}}else{c[11785]=b|a;p=d;q=d+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=d;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=47444+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;b=c[11786]|0;d=1<>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=124;break}d=e+16+(b>>>31<<2)|0;a=c[d>>2]|0;if(!a){a=121;break}else{b=b<<1;e=a}}if((a|0)==121)if(d>>>0<(c[11789]|0)>>>0)db();else{c[d>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;break}else if((a|0)==124){a=e+8|0;b=c[a>>2]|0;q=c[11789]|0;if(b>>>0>=q>>>0&e>>>0>=q>>>0){c[b+12>>2]=r;c[a>>2]=r;c[r+8>>2]=b;c[r+12>>2]=e;c[r+24>>2]=0;break}else db()}}else{c[11786]=b|d;c[e>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r}while(0);r=(c[11793]|0)+-1|0;c[11793]=r;if(!r)a=47596;else return;while(1){a=c[a>>2]|0;if(!a)break;else a=a+8|0}c[11793]=-1;return}function yR(a,b){a=a|0;b=b|0;var d=0;if(a){d=O(b,a)|0;if((b|a)>>>0>65535)d=((d>>>0)/(a>>>0)|0|0)==(b|0)?d:-1}else d=0;a=wR(d)|0;if(!a)return a|0;if(!(c[a+-4>>2]&3))return a|0;GR(a|0,0,d|0)|0;return a|0}function zR(a,b){a=a|0;b=b|0;var d=0,e=0;if(!a){b=wR(b)|0;return b|0}if(b>>>0>4294967231){c[(_P()|0)>>2]=12;b=0;return b|0}d=AR(a+-8|0,b>>>0<11?16:b+11&-8)|0;if(d|0){b=d+8|0;return b|0}d=wR(b)|0;if(!d){b=0;return b|0}e=c[a+-4>>2]|0;e=(e&-8)-((e&3|0)==0?8:4)|0;MR(d|0,a|0,(e>>>0>>0?e:b)|0)|0;xR(a);b=d;return b|0}function AR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=a+4|0;n=c[o>>2]|0;d=n&-8;k=a+d|0;i=c[11789]|0;e=n&3;if(!((e|0)!=1&a>>>0>=i>>>0&a>>>0>>0))db();f=c[k+4>>2]|0;if(!(f&1))db();if(!e){if(b>>>0<256){a=0;return a|0}if(d>>>0>=(b+4|0)>>>0?(d-b|0)>>>0<=c[11905]<<1>>>0:0)return a|0;a=0;return a|0}if(d>>>0>=b>>>0){d=d-b|0;if(d>>>0<=15)return a|0;m=a+b|0;c[o>>2]=n&1|b|2;c[m+4>>2]=d|3;o=m+d+4|0;c[o>>2]=c[o>>2]|1;BR(m,d);return a|0}if((k|0)==(c[11791]|0)){m=(c[11788]|0)+d|0;d=m-b|0;e=a+b|0;if(m>>>0<=b>>>0){a=0;return a|0}c[o>>2]=n&1|b|2;c[e+4>>2]=d|1;c[11791]=e;c[11788]=d;return a|0}if((k|0)==(c[11790]|0)){f=(c[11787]|0)+d|0;if(f>>>0>>0){a=0;return a|0}d=f-b|0;e=n&1;if(d>>>0>15){n=a+b|0;m=n+d|0;c[o>>2]=e|b|2;c[n+4>>2]=d|1;c[m>>2]=d;e=m+4|0;c[e>>2]=c[e>>2]&-2;e=n}else{c[o>>2]=e|f|2;e=a+f+4|0;c[e>>2]=c[e>>2]|1;e=0;d=0}c[11787]=d;c[11790]=e;return a|0}if(f&2|0){a=0;return a|0}l=(f&-8)+d|0;if(l>>>0>>0){a=0;return a|0}m=l-b|0;g=f>>>3;a:do if(f>>>0>=256){h=c[k+24>>2]|0;f=c[k+12>>2]|0;do if((f|0)==(k|0)){f=k+16|0;e=f+4|0;d=c[e>>2]|0;if(!d){d=c[f>>2]|0;if(!d){j=0;break}else e=f}while(1){f=d+20|0;g=c[f>>2]|0;if(g|0){d=g;e=f;continue}f=d+16|0;g=c[f>>2]|0;if(!g)break;else{d=g;e=f}}if(e>>>0>>0)db();else{c[e>>2]=0;j=d;break}}else{g=c[k+8>>2]|0;if(g>>>0>>0)db();d=g+12|0;if((c[d>>2]|0)!=(k|0))db();e=f+8|0;if((c[e>>2]|0)==(k|0)){c[d>>2]=f;c[e>>2]=g;j=f;break}else db()}while(0);if(h|0){d=c[k+28>>2]|0;e=47444+(d<<2)|0;do if((k|0)==(c[e>>2]|0)){c[e>>2]=j;if(!j){c[11786]=c[11786]&~(1<>>0>=(c[11789]|0)>>>0){c[h+16+(((c[h+16>>2]|0)!=(k|0)&1)<<2)>>2]=j;if(!j)break a;else break}else db();while(0);f=c[11789]|0;if(j>>>0>>0)db();c[j+24>>2]=h;d=k+16|0;e=c[d>>2]|0;do if(e|0)if(e>>>0>>0)db();else{c[j+16>>2]=e;c[e+24>>2]=j;break}while(0);d=c[d+4>>2]|0;if(d|0)if(d>>>0<(c[11789]|0)>>>0)db();else{c[j+20>>2]=d;c[d+24>>2]=j;break}}}else{e=c[k+8>>2]|0;f=c[k+12>>2]|0;d=47180+(g<<1<<2)|0;if((e|0)!=(d|0)){if(e>>>0>>0)db();if((c[e+12>>2]|0)!=(k|0))db()}if((f|0)==(e|0)){c[11785]=c[11785]&~(1<>>0>>0)db();d=f+8|0;if((c[d>>2]|0)==(k|0))h=d;else db()}else h=f+8|0;c[e+12>>2]=f;c[h>>2]=e}while(0);d=n&1;if(m>>>0<16){c[o>>2]=l|d|2;o=a+l+4|0;c[o>>2]=c[o>>2]|1;return a|0}else{n=a+b|0;c[o>>2]=d|b|2;c[n+4>>2]=m|3;o=n+m+4|0;c[o>>2]=c[o>>2]|1;BR(n,m);return a|0}return 0}function BR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;o=a+b|0;d=c[a+4>>2]|0;a:do if(!(d&1)){g=c[a>>2]|0;if(!(d&3))return;l=a+(0-g)|0;k=g+b|0;i=c[11789]|0;if(l>>>0>>0)db();if((l|0)==(c[11790]|0)){a=o+4|0;d=c[a>>2]|0;if((d&3|0)!=3){r=l;f=k;break}c[11787]=k;c[a>>2]=d&-2;c[l+4>>2]=k|1;c[l+k>>2]=k;return}e=g>>>3;if(g>>>0<256){d=c[l+8>>2]|0;b=c[l+12>>2]|0;a=47180+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0>>0)db();if((c[d+12>>2]|0)!=(l|0))db()}if((b|0)==(d|0)){c[11785]=c[11785]&~(1<>>0>>0)db();a=b+8|0;if((c[a>>2]|0)==(l|0))h=a;else db()}else h=b+8|0;c[d+12>>2]=b;c[h>>2]=d;r=l;f=k;break}g=c[l+24>>2]|0;b=c[l+12>>2]|0;do if((b|0)==(l|0)){b=l+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){j=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0>>0)db();else{c[d>>2]=0;j=a;break}}else{e=c[l+8>>2]|0;if(e>>>0>>0)db();a=e+12|0;if((c[a>>2]|0)!=(l|0))db();d=b+8|0;if((c[d>>2]|0)==(l|0)){c[a>>2]=b;c[d>>2]=e;j=b;break}else db()}while(0);if(g){a=c[l+28>>2]|0;d=47444+(a<<2)|0;do if((l|0)==(c[d>>2]|0)){c[d>>2]=j;if(!j){c[11786]=c[11786]&~(1<>>0>=(c[11789]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(l|0)&1)<<2)>>2]=j;if(!j){r=l;f=k;break a}else break}else db();while(0);b=c[11789]|0;if(j>>>0>>0)db();c[j+24>>2]=g;a=l+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)db();else{c[j+16>>2]=d;c[d+24>>2]=j;break}while(0);a=c[a+4>>2]|0;if(a)if(a>>>0<(c[11789]|0)>>>0)db();else{c[j+20>>2]=a;c[a+24>>2]=j;r=l;f=k;break}else{r=l;f=k}}else{r=l;f=k}}else{r=a;f=b}while(0);h=c[11789]|0;if(o>>>0>>0)db();a=o+4|0;d=c[a>>2]|0;if(!(d&2)){a=c[11790]|0;if((o|0)==(c[11791]|0)){q=(c[11788]|0)+f|0;c[11788]=q;c[11791]=r;c[r+4>>2]=q|1;if((r|0)!=(a|0))return;c[11790]=0;c[11787]=0;return}if((o|0)==(a|0)){q=(c[11787]|0)+f|0;c[11787]=q;c[11790]=r;c[r+4>>2]=q|1;c[r+q>>2]=q;return}f=(d&-8)+f|0;e=d>>>3;b:do if(d>>>0>=256){g=c[o+24>>2]|0;b=c[o+12>>2]|0;do if((b|0)==(o|0)){b=o+16|0;d=b+4|0;a=c[d>>2]|0;if(!a){a=c[b>>2]|0;if(!a){n=0;break}else d=b}while(1){b=a+20|0;e=c[b>>2]|0;if(e|0){a=e;d=b;continue}b=a+16|0;e=c[b>>2]|0;if(!e)break;else{a=e;d=b}}if(d>>>0>>0)db();else{c[d>>2]=0;n=a;break}}else{e=c[o+8>>2]|0;if(e>>>0>>0)db();a=e+12|0;if((c[a>>2]|0)!=(o|0))db();d=b+8|0;if((c[d>>2]|0)==(o|0)){c[a>>2]=b;c[d>>2]=e;n=b;break}else db()}while(0);if(g|0){a=c[o+28>>2]|0;d=47444+(a<<2)|0;do if((o|0)==(c[d>>2]|0)){c[d>>2]=n;if(!n){c[11786]=c[11786]&~(1<>>0>=(c[11789]|0)>>>0){c[g+16+(((c[g+16>>2]|0)!=(o|0)&1)<<2)>>2]=n;if(!n)break b;else break}else db();while(0);b=c[11789]|0;if(n>>>0>>0)db();c[n+24>>2]=g;a=o+16|0;d=c[a>>2]|0;do if(d|0)if(d>>>0>>0)db();else{c[n+16>>2]=d;c[d+24>>2]=n;break}while(0);a=c[a+4>>2]|0;if(a|0)if(a>>>0<(c[11789]|0)>>>0)db();else{c[n+20>>2]=a;c[a+24>>2]=n;break}}}else{d=c[o+8>>2]|0;b=c[o+12>>2]|0;a=47180+(e<<1<<2)|0;if((d|0)!=(a|0)){if(d>>>0>>0)db();if((c[d+12>>2]|0)!=(o|0))db()}if((b|0)==(d|0)){c[11785]=c[11785]&~(1<>>0>>0)db();a=b+8|0;if((c[a>>2]|0)==(o|0))m=a;else db()}else m=b+8|0;c[d+12>>2]=b;c[m>>2]=d}while(0);c[r+4>>2]=f|1;c[r+f>>2]=f;if((r|0)==(c[11790]|0)){c[11787]=f;return}}else{c[a>>2]=d&-2;c[r+4>>2]=f|1;c[r+f>>2]=f}a=f>>>3;if(f>>>0<256){b=47180+(a<<1<<2)|0;d=c[11785]|0;a=1<>2]|0;if(d>>>0<(c[11789]|0)>>>0)db();else{p=d;q=a}}else{c[11785]=d|a;p=b;q=b+8|0}c[q>>2]=r;c[p+12>>2]=r;c[r+8>>2]=p;c[r+12>>2]=b;return}a=f>>>8;if(a)if(f>>>0>16777215)a=31;else{p=(a+1048320|0)>>>16&8;q=a<>>16&4;q=q<>>16&2;a=14-(o|p|a)+(q<>>15)|0;a=f>>>(a+7|0)&1|a<<1}else a=0;e=47444+(a<<2)|0;c[r+28>>2]=a;c[r+20>>2]=0;c[r+16>>2]=0;d=c[11786]|0;b=1<>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}d=f<<((a|0)==31?0:25-(a>>>1)|0);e=c[e>>2]|0;while(1){if((c[e+4>>2]&-8|0)==(f|0)){a=121;break}b=e+16+(d>>>31<<2)|0;a=c[b>>2]|0;if(!a){a=118;break}else{d=d<<1;e=a}}if((a|0)==118){if(b>>>0<(c[11789]|0)>>>0)db();c[b>>2]=r;c[r+24>>2]=e;c[r+12>>2]=r;c[r+8>>2]=r;return}else if((a|0)==121){a=e+8|0;d=c[a>>2]|0;q=c[11789]|0;if(!(d>>>0>=q>>>0&e>>>0>=q>>>0))db();c[d+12>>2]=r;c[a>>2]=r;c[r+8>>2]=d;c[r+12>>2]=e;c[r+24>>2]=0;return}}function CR(a,b){a=a|0;b=b|0;if(a>>>0<9){b=wR(b)|0;return b|0}else{b=DR(a,b)|0;return b|0}return 0}function DR(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;a=a>>>0>16?a:16;if(a+-1&a){d=16;while(1)if(d>>>0>>0)d=d<<1;else{a=d;break}}if((-64-a|0)>>>0<=b>>>0){c[(_P()|0)>>2]=12;h=0;return h|0}g=b>>>0<11?16:b+11&-8;d=wR(g+12+a|0)|0;if(!d){h=0;return h|0}f=d+-8|0;do if(d&a+-1){e=(d+a+-1&0-a)+-8|0;b=f;e=(e-b|0)>>>0>15?e:e+a|0;b=e-b|0;a=d+-4|0;i=c[a>>2]|0;d=(i&-8)-b|0;if(!(i&3)){c[e>>2]=(c[f>>2]|0)+b;c[e+4>>2]=d;a=e;b=e;break}else{i=e+4|0;c[i>>2]=d|c[i>>2]&1|2;d=e+d+4|0;c[d>>2]=c[d>>2]|1;c[a>>2]=b|c[a>>2]&1|2;c[i>>2]=c[i>>2]|1;BR(f,b);a=e;b=e;break}}else{a=f;b=f}while(0);a=a+4|0;d=c[a>>2]|0;if(d&3|0?(h=d&-8,h>>>0>(g+16|0)>>>0):0){i=h-g|0;h=b+g|0;c[a>>2]=g|d&1|2;c[h+4>>2]=i|3;g=h+i+4|0;c[g>>2]=c[g>>2]|1;BR(h,i)}i=b+8|0;return i|0}function ER(){}function FR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;d=b-d-(c>>>0>a>>>0|0)>>>0;return (z=d,a-c>>>0|0)|0}function GR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+e|0;d=d&255;if((e|0)>=67){while(b&3){a[b>>0]=d;b=b+1|0}f=h&-4|0;g=f-64|0;i=d|d<<8|d<<16|d<<24;while((b|0)<=(g|0)){c[b>>2]=i;c[b+4>>2]=i;c[b+8>>2]=i;c[b+12>>2]=i;c[b+16>>2]=i;c[b+20>>2]=i;c[b+24>>2]=i;c[b+28>>2]=i;c[b+32>>2]=i;c[b+36>>2]=i;c[b+40>>2]=i;c[b+44>>2]=i;c[b+48>>2]=i;c[b+52>>2]=i;c[b+56>>2]=i;c[b+60>>2]=i;b=b+64|0}while((b|0)<(f|0)){c[b>>2]=i;b=b+4|0}}while((b|0)<(h|0)){a[b>>0]=d;b=b+1|0}return h-e|0}function HR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b<>>32-c;return a<>>0;return (z=b+d+(c>>>0>>0|0)>>>0,c|0)|0}function JR(b){b=b|0;var c=0;c=a[n+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return (a[n+(b>>>24)>>0]|0)+24|0}function KR(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=a;j=b;k=j;h=d;n=e;i=n;if(!k){g=(f|0)!=0;if(!i){if(g){c[f>>2]=(l>>>0)%(h>>>0);c[f+4>>2]=0}n=0;f=(l>>>0)/(h>>>0)>>>0;return (z=n,f)|0}else{if(!g){n=0;f=0;return (z=n,f)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;n=0;f=0;return (z=n,f)|0}}g=(i|0)==0;do if(h){if(!g){g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=31){m=g+1|0;i=31-g|0;b=g-31>>31;h=m;a=l>>>(m>>>0)&b|k<>>(m>>>0)&b;g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;n=0;f=0;return (z=n,f)|0}g=h-1|0;if(g&h|0){i=(R(h|0)|0)+33-(R(k|0)|0)|0;p=64-i|0;m=32-i|0;j=m>>31;o=i-32|0;b=o>>31;h=i;a=m-1>>31&k>>>(o>>>0)|(k<>>(i>>>0))&b;b=b&k>>>(i>>>0);g=l<>>(o>>>0))&j|l<>31;break}if(f|0){c[f>>2]=g&l;c[f+4>>2]=0}if((h|0)==1){o=j|b&0;p=a|0|0;return (z=o,p)|0}else{p=JR(h|0)|0;o=k>>>(p>>>0)|0;p=k<<32-p|l>>>(p>>>0)|0;return (z=o,p)|0}}else{if(g){if(f|0){c[f>>2]=(k>>>0)%(h>>>0);c[f+4>>2]=0}o=0;p=(k>>>0)/(h>>>0)>>>0;return (z=o,p)|0}if(!l){if(f|0){c[f>>2]=0;c[f+4>>2]=(k>>>0)%(i>>>0)}o=0;p=(k>>>0)/(i>>>0)>>>0;return (z=o,p)|0}g=i-1|0;if(!(g&i)){if(f|0){c[f>>2]=a|0;c[f+4>>2]=g&k|b&0}o=0;p=k>>>((JR(i|0)|0)>>>0);return (z=o,p)|0}g=(R(i|0)|0)-(R(k|0)|0)|0;if(g>>>0<=30){b=g+1|0;i=31-g|0;h=b;a=k<>>(b>>>0);b=k>>>(b>>>0);g=0;i=l<>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return (z=o,p)|0}while(0);if(!h){k=i;j=0;i=0}else{m=d|0|0;l=n|e&0;k=IR(m|0,l|0,-1,-1)|0;d=z;j=i;i=0;do{e=j;j=g>>>31|j<<1;g=i|g<<1;e=a<<1|e>>>31|0;n=a>>>31|b<<1|0;FR(k|0,d|0,e|0,n|0)|0;p=z;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;a=FR(e|0,n|0,o&m|0,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&l|0)|0;b=z;h=h-1|0}while((h|0)!=0);k=j;j=0}h=0;if(f|0){c[f>>2]=a;c[f+4>>2]=b}o=(g|0)>>>31|(k|h)<<1|(h<<1|g>>>31)&0|j;p=(g<<1|0>>>31)&-2|i;return (z=o,p)|0}function LR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=FR(j^a|0,i^b|0,j|0,i|0)|0;g=z;a=f^j;b=e^i;return FR((KR(h,g,FR(f^c|0,e^d|0,f|0,e|0)|0,z,0)|0)^a|0,z^b|0,a|0,b|0)|0}function MR(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if((e|0)>=8192)return Ta(b|0,d|0,e|0)|0;h=b|0;g=b+e|0;if((b&3)==(d&3)){while(b&3){if(!e)return h|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}e=g&-4|0;f=e-64|0;while((b|0)<=(f|0)){c[b>>2]=c[d>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];c[b+12>>2]=c[d+12>>2];c[b+16>>2]=c[d+16>>2];c[b+20>>2]=c[d+20>>2];c[b+24>>2]=c[d+24>>2];c[b+28>>2]=c[d+28>>2];c[b+32>>2]=c[d+32>>2];c[b+36>>2]=c[d+36>>2];c[b+40>>2]=c[d+40>>2];c[b+44>>2]=c[d+44>>2];c[b+48>>2]=c[d+48>>2];c[b+52>>2]=c[d+52>>2];c[b+56>>2]=c[d+56>>2];c[b+60>>2]=c[d+60>>2];b=b+64|0;d=d+64|0}while((b|0)<(e|0)){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}}else{e=g-4|0;while((b|0)<(e|0)){a[b>>0]=a[d>>0]|0;a[b+1>>0]=a[d+1>>0]|0;a[b+2>>0]=a[d+2>>0]|0;a[b+3>>0]=a[d+3>>0]|0;b=b+4|0;d=d+4|0}}while((b|0)<(g|0)){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0}return h|0}function NR(a){a=a|0;return (a&255)<<24|(a>>8&255)<<16|(a>>16&255)<<8|a>>>24|0}function OR(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){z=b>>>c;return a>>>c|(b&(1<>>c-32|0}function PR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return KR(a,b,c,d,0)|0}function QR(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;e=b&65535;c=O(e,f)|0;d=a>>>16;a=(c>>>16)+(O(e,d)|0)|0;e=b>>>16;b=O(e,f)|0;return (z=(a>>>16)+(O(e,d)|0)+(((a&65535)+b|0)>>>16)|0,a+b<<16|c&65535|0)|0}function RR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;c=QR(e,f)|0;a=z;return (z=(O(b,f)|0)+(O(d,e)|0)+a|a&0,c|0|0)|0}function SR(a){a=a|0;var b=0,d=0;d=a+15&-16|0;b=c[i>>2]|0;a=b+d|0;if((d|0)>0&(a|0)<(b|0)|(a|0)<0){W()|0;Ja(12);return -1}c[i>>2]=a;if((a|0)>(V()|0)?(U()|0)==0:0){c[i>>2]=b;Ja(12);return -1}return b|0}function TR(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else MR(b,c,d)|0;return b|0}function UR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=l;l=l+16|0;f=g|0;KR(a,b,d,e,f)|0;l=g;return (z=c[f+4>>2]|0,c[f>>2]|0)|0}function VR(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+16|0;i=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;k=e>>31|((e|0)<0?-1:0)<<1;j=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;a=FR(h^a|0,g^b|0,h|0,g|0)|0;b=z;KR(a,b,FR(k^d|0,j^e|0,k|0,j|0)|0,z,i)|0;e=FR(c[i>>2]^h|0,c[i+4>>2]^g|0,h|0,g|0)|0;d=z;l=f;return (z=d,e)|0}function WR(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ob[a&255](b|0,c|0,d|0)|0}function XR(a,b,c){a=a|0;b=b|0;c=c|0;return Y(0,a|0,b|0,c|0)|0}function YR(a,b,c){a=a|0;b=b|0;c=c|0;return Y(1,a|0,b|0,c|0)|0}function ZR(a,b,c){a=a|0;b=b|0;c=c|0;return Y(2,a|0,b|0,c|0)|0}function _R(a,b,c){a=a|0;b=b|0;c=c|0;return Y(3,a|0,b|0,c|0)|0}function $R(a,b,c){a=a|0;b=b|0;c=c|0;return Y(4,a|0,b|0,c|0)|0}function aS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(5,a|0,b|0,c|0)|0}function bS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(6,a|0,b|0,c|0)|0}function cS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(7,a|0,b|0,c|0)|0}function dS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(8,a|0,b|0,c|0)|0}function eS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(9,a|0,b|0,c|0)|0}function fS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(10,a|0,b|0,c|0)|0}function gS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(11,a|0,b|0,c|0)|0}function hS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(12,a|0,b|0,c|0)|0} +function uK(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;C=l;l=l+80|0;y=C+68|0;A=C+64|0;B=C+60|0;i=C+56|0;j=C+52|0;k=C+48|0;m=C+44|0;n=C+40|0;o=C+36|0;p=C+32|0;q=C+28|0;r=C+24|0;s=C+20|0;t=C+16|0;u=C+12|0;v=C+8|0;w=C+4|0;x=C;c[A>>2]=a;c[B>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;c[s>>2]=c[c[B>>2]>>2];if(!(c[s>>2]|0)){c[s>>2]=Yd(64)|0;if(!(c[s>>2]|0)){c[y>>2]=7;B=c[y>>2]|0;l=C;return B|0}a=c[s>>2]|0;b=a+64|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[c[B>>2]>>2]=c[s>>2];B=Yd(c[(c[A>>2]|0)+224>>2]|0)|0;c[(c[s>>2]|0)+48>>2]=B;if(!(c[(c[s>>2]|0)+48>>2]|0)){c[y>>2]=7;B=c[y>>2]|0;l=C;return B|0}c[(c[s>>2]|0)+40>>2]=c[(c[A>>2]|0)+224>>2];c[t>>2]=nK(c[A>>2]|0,10,u,0)|0;if(c[t>>2]|0){c[y>>2]=c[t>>2];B=c[y>>2]|0;l=C;return B|0}if(100==(Hr(c[u>>2]|0)|0)){h=iI(c[u>>2]|0,0)|0;g=(c[s>>2]|0)+16|0;c[g>>2]=h;c[g+4>>2]=z;g=(c[s>>2]|0)+16|0;h=c[g+4>>2]|0;B=(c[s>>2]|0)+8|0;c[B>>2]=c[g>>2];c[B+4>>2]=h}c[t>>2]=Er(c[u>>2]|0)|0;if(c[t>>2]|0){c[y>>2]=c[t>>2];B=c[y>>2]|0;l=C;return B|0}}c[r>>2]=c[(c[s>>2]|0)+44>>2];c[o>>2]=KK(c[(c[s>>2]|0)+24>>2]|0,c[(c[s>>2]|0)+28>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[p>>2]=(c[k>>2]|0)-(c[o>>2]|0);B=c[o>>2]|0;B=HK(B,((B|0)<0)<<31>>31)|0;u=c[p>>2]|0;u=B+(HK(u,((u|0)<0)<<31>>31)|0)|0;u=u+(c[p>>2]|0)|0;B=c[n>>2]|0;B=u+(HK(B,((B|0)<0)<<31>>31)|0)|0;c[q>>2]=B+(c[n>>2]|0);do if((c[r>>2]|0)>0?((c[r>>2]|0)+(c[q>>2]|0)|0)>(c[(c[A>>2]|0)+224>>2]|0):0){t=c[A>>2]|0;h=(c[s>>2]|0)+16|0;B=h;u=c[B>>2]|0;B=c[B+4>>2]|0;g=IR(u|0,B|0,1,0)|0;c[h>>2]=g;c[h+4>>2]=z;c[v>>2]=DK(t,u,B,c[(c[s>>2]|0)+48>>2]|0,c[r>>2]|0)|0;if(c[v>>2]|0){c[y>>2]=c[v>>2];B=c[y>>2]|0;l=C;return B|0}B=(c[A>>2]|0)+52|0;c[B>>2]=(c[B>>2]|0)+1;c[v>>2]=LK(c[A>>2]|0,c[s>>2]|0,c[i>>2]|0,c[j>>2]|0,(c[o>>2]|0)+1|0)|0;if(!(c[v>>2]|0)){c[r>>2]=0;c[(c[s>>2]|0)+28>>2]=0;c[o>>2]=0;c[p>>2]=c[k>>2];A=c[k>>2]|0;A=1+(HK(A,((A|0)<0)<<31>>31)|0)|0;A=A+(c[k>>2]|0)|0;B=c[n>>2]|0;B=A+(HK(B,((B|0)<0)<<31>>31)|0)|0;c[q>>2]=B+(c[n>>2]|0);break}c[y>>2]=c[v>>2];B=c[y>>2]|0;l=C;return B|0}while(0);A=c[q>>2]|0;B=(c[s>>2]|0)+56|0;v=B;A=IR(c[v>>2]|0,c[v+4>>2]|0,A|0,((A|0)<0)<<31>>31|0)|0;c[B>>2]=A;c[B+4>>2]=z;do if((c[q>>2]|0)>(c[(c[s>>2]|0)+40>>2]|0)){c[w>>2]=Df(c[(c[s>>2]|0)+48>>2]|0,c[q>>2]|0)|0;if(c[w>>2]|0){c[(c[s>>2]|0)+48>>2]=c[w>>2];c[(c[s>>2]|0)+40>>2]=c[q>>2];break}c[y>>2]=7;B=c[y>>2]|0;l=C;return B|0}while(0);B=c[o>>2]|0;B=IK((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,B,((B|0)<0)<<31>>31)|0;c[r>>2]=(c[r>>2]|0)+B;B=c[p>>2]|0;B=IK((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,B,((B|0)<0)<<31>>31)|0;c[r>>2]=(c[r>>2]|0)+B;MR((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,(c[j>>2]|0)+(c[o>>2]|0)|0,c[p>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+(c[p>>2]|0);B=c[n>>2]|0;B=IK((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,B,((B|0)<0)<<31>>31)|0;c[r>>2]=(c[r>>2]|0)+B;MR((c[(c[s>>2]|0)+48>>2]|0)+(c[r>>2]|0)|0,c[m>>2]|0,c[n>>2]|0)|0;c[(c[s>>2]|0)+44>>2]=(c[r>>2]|0)+(c[n>>2]|0);if(c[i>>2]|0){do if((c[k>>2]|0)>(c[(c[s>>2]|0)+32>>2]|0)){c[x>>2]=Df(c[(c[s>>2]|0)+36>>2]|0,c[k>>2]<<1)|0;if(c[x>>2]|0){c[(c[s>>2]|0)+32>>2]=c[k>>2]<<1;c[(c[s>>2]|0)+36>>2]=c[x>>2];c[(c[s>>2]|0)+24>>2]=c[x>>2];break}c[y>>2]=7;B=c[y>>2]|0;l=C;return B|0}while(0);MR(c[(c[s>>2]|0)+24>>2]|0,c[j>>2]|0,c[k>>2]|0)|0}else c[(c[s>>2]|0)+24>>2]=c[j>>2];c[(c[s>>2]|0)+28>>2]=c[k>>2];c[y>>2]=0;B=c[y>>2]|0;l=C;return B|0}function vK(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s+24|0;k=s+20|0;h=s+16|0;i=s+12|0;m=s+8|0;j=s+4|0;n=s;c[p>>2]=a;c[q>>2]=b;c[r>>2]=d;c[k>>2]=e;c[h>>2]=f;c[i>>2]=g;c[m>>2]=0;c[n>>2]=0;c[j>>2]=0;while(1){if(c[m>>2]|0)break;if((c[j>>2]|0)>=(c[i>>2]|0))break;c[m>>2]=JK(c[p>>2]|0,c[(c[h>>2]|0)+(c[j>>2]<<2)>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}if(c[m>>2]|0){c[o>>2]=c[m>>2];r=c[o>>2]|0;l=s;return r|0}a=c[p>>2]|0;if((c[k>>2]|0)==-2){c[m>>2]=nK(a,26,n,0)|0;if(!(c[m>>2]|0)){g=c[n>>2]|0;k=qK(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,0)|0;pI(g,1,k,z)|0;k=c[n>>2]|0;r=qK(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,1023)|0;pI(k,2,r,z)|0}}else{c[m>>2]=nK(a,16,n,0)|0;if(!(c[m>>2]|0)){g=c[n>>2]|0;r=qK(c[p>>2]|0,c[q>>2]|0,c[r>>2]|0,c[k>>2]|0)|0;pI(g,1,r,z)|0}}if(!(c[m>>2]|0)){Hr(c[n>>2]|0)|0;c[m>>2]=Er(c[n>>2]|0)|0}c[o>>2]=c[m>>2];r=c[o>>2]|0;l=s;return r|0}function wK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;k=q+44|0;m=q+40|0;n=q+16|0;o=q+36|0;p=q+32|0;g=q+8|0;h=q;i=q+28|0;j=q+24|0;c[k>>2]=a;c[m>>2]=b;b=n;c[b>>2]=d;c[b+4>>2]=e;c[o>>2]=f;if(!(c[c[m>>2]>>2]|0)){f=n;n=(c[m>>2]|0)+56|0;c[p>>2]=FK(c[k>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[o>>2]|0,0,0,0,0,0,0,c[n>>2]|0,c[n+4>>2]|0,c[(c[m>>2]|0)+48>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0;o=c[k>>2]|0;o=o+52|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;p=c[p>>2]|0;l=q;return p|0}f=g;c[f>>2]=0;c[f+4>>2]=0;c[i>>2]=0;c[j>>2]=0;f=(c[m>>2]|0)+16|0;b=c[f+4>>2]|0;d=h;c[d>>2]=c[f>>2];c[d+4>>2]=b;d=c[k>>2]|0;b=(c[m>>2]|0)+16|0;f=b;e=c[f>>2]|0;f=c[f+4>>2]|0;a=IR(e|0,f|0,1,0)|0;c[b>>2]=a;c[b+4>>2]=z;c[p>>2]=DK(d,e,f,c[(c[m>>2]|0)+48>>2]|0,c[(c[m>>2]|0)+44>>2]|0)|0;if(!(c[p>>2]|0)){e=(c[m>>2]|0)+8|0;f=(c[m>>2]|0)+16|0;c[p>>2]=EK(c[k>>2]|0,c[c[m>>2]>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,g,i,j)|0}if(c[p>>2]|0){o=c[k>>2]|0;o=o+52|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;p=c[p>>2]|0;l=q;return p|0}b=n;d=(c[m>>2]|0)+8|0;e=h;f=g;n=(c[m>>2]|0)+56|0;c[p>>2]=FK(c[k>>2]|0,c[b>>2]|0,c[b+4>>2]|0,c[o>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[n>>2]|0,c[n+4>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;o=c[k>>2]|0;o=o+52|0;n=c[o>>2]|0;n=n+1|0;c[o>>2]=n;p=c[p>>2]|0;l=q;return p|0}function xK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+80|0;p=v+72|0;q=v+40|0;r=v+32|0;s=v+68|0;t=v+64|0;g=v+60|0;h=v+24|0;i=v+16|0;j=v+8|0;k=v;m=v+56|0;n=v+52|0;o=v+48|0;c[p>>2]=a;a=q;c[a>>2]=b;c[a+4>>2]=d;d=r;c[d>>2]=e;c[d+4>>2]=f;c[s>>2]=0;c[s>>2]=nK(c[p>>2]|0,37,t,0)|0;if(c[s>>2]|0){u=c[s>>2]|0;l=v;return u|0}c[g>>2]=0;e=q;e=LR(c[e>>2]|0,c[e+4>>2]|0,1024,0)|0;e=IR(e|0,z|0,1,0)|0;e=RR(e|0,z|0,1024,0)|0;e=FR(e|0,z|0,1,0)|0;f=h;c[f>>2]=e;c[f+4>>2]=z;r=RR(c[r>>2]|0,c[r+4>>2]|0,3,0)|0;r=LR(r|0,z|0,2,0)|0;f=i;c[f>>2]=r;c[f+4>>2]=z;f=c[t>>2]|0;r=q;r=IR(c[r>>2]|0,c[r+4>>2]|0,1,0)|0;pI(f,1,r,z)|0;r=h;pI(c[t>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0;while(1){if(100!=(Hr(c[t>>2]|0)|0))break;r=j;c[r>>2]=0;c[r+4>>2]=0;CK(c[t>>2]|0,2,k,j);r=j;f=c[r+4>>2]|0;if((f|0)<0|(f|0)==0&(c[r>>2]|0)>>>0<=0){u=6;break}f=j;d=c[f+4>>2]|0;r=i;e=c[r+4>>2]|0;if((d|0)>(e|0)|((d|0)==(e|0)?(c[f>>2]|0)>>>0>(c[r>>2]|0)>>>0:0)){u=6;break}c[g>>2]=1}if((u|0)==6)c[g>>2]=0;c[s>>2]=Er(c[t>>2]|0)|0;if(!(c[g>>2]|0)){u=c[s>>2]|0;l=v;return u|0}c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;if(!(c[s>>2]|0))c[s>>2]=nK(c[p>>2]|0,38,n,0)|0;if(!(c[s>>2]|0))c[s>>2]=nK(c[p>>2]|0,39,o,0)|0;a:do if(!(c[s>>2]|0)){u=q;pI(c[t>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;do{if(100!=(Hr(c[t>>2]|0)|0))break a;r=c[n>>2]|0;u=c[m>>2]|0;c[m>>2]=u+1;oI(r,1,u)|0;u=c[n>>2]|0;oI(u,2,hI(c[t>>2]|0,0)|0)|0;u=c[n>>2]|0;oI(u,3,hI(c[t>>2]|0,1)|0)|0;Hr(c[n>>2]|0)|0;c[s>>2]=Er(c[n>>2]|0)|0}while(!(c[s>>2]|0));Er(c[t>>2]|0)|0}while(0);if(!(c[s>>2]|0))c[s>>2]=Er(c[t>>2]|0)|0;if(c[s>>2]|0){u=c[s>>2]|0;l=v;return u|0}u=q;pI(c[o>>2]|0,1,c[u>>2]|0,c[u+4>>2]|0)|0;Hr(c[o>>2]|0)|0;c[s>>2]=Er(c[o>>2]|0)|0;u=c[s>>2]|0;l=v;return u|0}function yK(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}Kd(c[(c[b>>2]|0)+48>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);BK(c[c[b>>2]>>2]|0);Kd(c[b>>2]|0);l=d;return}function zK(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){l=e;return}c[d>>2]=0;while(1){a=c[c[b>>2]>>2]|0;if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;AK(c[a+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Kd(a);Kd(c[(c[b>>2]|0)+16>>2]|0);c[(c[b>>2]|0)+4>>2]=0;c[c[b>>2]>>2]=0;c[(c[b>>2]|0)+16>>2]=0;l=e;return}function AK(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(!(c[b>>2]|0)){b=c[b>>2]|0;Kd(b);l=e;return}if(!(c[(c[b>>2]|0)+56>>2]|0))Kd(c[(c[b>>2]|0)+64>>2]|0);if(!(d[(c[b>>2]|0)+5>>0]|0))Kd(c[(c[b>>2]|0)+40>>2]|0);zI(c[(c[b>>2]|0)+52>>2]|0)|0;b=c[b>>2]|0;Kd(b);l=e;return}function BK(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[b>>2]|0)){l=f;return}c[d>>2]=c[(c[b>>2]|0)+8>>2];BK(c[c[d>>2]>>2]|0);while(1){if(!(c[d>>2]|0))break;c[e>>2]=c[(c[d>>2]|0)+4>>2];if((c[(c[d>>2]|0)+36>>2]|0)!=((c[d>>2]|0)+40|0))Kd(c[(c[d>>2]|0)+36>>2]|0);Kd(c[(c[d>>2]|0)+28>>2]|0);Kd(c[d>>2]|0);c[d>>2]=c[e>>2]}l=f;return}function CK(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;p=n+32|0;o=n+28|0;g=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;h=n+8|0;i=n;c[p>>2]=a;c[o>>2]=b;c[g>>2]=e;c[j>>2]=f;c[k>>2]=Iu(c[p>>2]|0,c[o>>2]|0)|0;if(!(c[k>>2]|0)){l=n;return}c[h>>2]=1;p=i;c[p>>2]=0;c[p+4>>2]=0;c[m>>2]=0;while(1){if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)>=48)a=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)<=57;else a=0;e=i;b=c[e>>2]|0;e=c[e+4>>2]|0;if(!a)break;p=RR(b|0,e|0,10,0)|0;o=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;o=IR(p|0,z|0,o|0,((o|0)<0)<<31>>31|0)|0;p=i;c[p>>2]=o;c[p+4>>2]=z;c[m>>2]=(c[m>>2]|0)+1}p=c[g>>2]|0;c[p>>2]=b;c[p+4>>2]=e;while(1){if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)!=32)break;c[m>>2]=(c[m>>2]|0)+1}p=i;c[p>>2]=0;c[p+4>>2]=0;if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)==45){c[m>>2]=(c[m>>2]|0)+1;c[h>>2]=-1}while(1){if((d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)>=48)a=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0|0)<=57;else a=0;e=i;b=c[e>>2]|0;e=c[e+4>>2]|0;if(!a)break;p=RR(b|0,e|0,10,0)|0;o=(d[(c[k>>2]|0)+(c[m>>2]|0)>>0]|0)-48|0;o=IR(p|0,z|0,o|0,((o|0)<0)<<31>>31|0)|0;p=i;c[p>>2]=o;c[p+4>>2]=z;c[m>>2]=(c[m>>2]|0)+1}o=c[h>>2]|0;o=RR(b|0,e|0,o|0,((o|0)<0)<<31>>31|0)|0;p=c[j>>2]|0;c[p>>2]=o;c[p+4>>2]=z;l=n;return}function DK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;n=m+24|0;h=m;i=m+20|0;j=m+16|0;k=m+12|0;g=m+8|0;c[n>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[j>>2]=f;c[g>>2]=nK(c[n>>2]|0,9,k,0)|0;if(c[g>>2]|0){n=c[g>>2]|0;l=m;return n|0}n=h;pI(c[k>>2]|0,1,c[n>>2]|0,c[n+4>>2]|0)|0;kI(c[k>>2]|0,2,c[i>>2]|0,c[j>>2]|0,0)|0;Hr(c[k>>2]|0)|0;c[g>>2]=Er(c[k>>2]|0)|0;n=c[g>>2]|0;l=m;return n|0}function EK(a,b,d,e,f,g,h,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;C=l;l=l+80|0;m=C+72|0;n=C+68|0;o=C+64|0;p=C+24|0;q=C+16|0;r=C+60|0;s=C+56|0;t=C+52|0;u=C+48|0;v=C+44|0;w=C+40|0;x=C+8|0;y=C;A=C+36|0;B=C+32|0;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;d=p;c[d>>2]=e;c[d+4>>2]=f;f=q;c[f>>2]=g;c[f+4>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=0;if(!(c[c[n>>2]>>2]|0)){j=p;c[v>>2]=GK(c[n>>2]|0,c[o>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=q;j=FR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;k=c[r>>2]|0;c[k>>2]=j;c[k+4>>2]=z;c[c[t>>2]>>2]=(c[(c[n>>2]|0)+32>>2]|0)-(c[v>>2]|0);c[c[s>>2]>>2]=(c[(c[n>>2]|0)+36>>2]|0)+(c[v>>2]|0);k=c[u>>2]|0;l=C;return k|0}k=q;j=c[k+4>>2]|0;i=x;c[i>>2]=c[k>>2];c[i+4>>2]=j;i=p;j=c[i+4>>2]|0;k=y;c[k>>2]=c[i>>2];c[k+4>>2]=j;c[w>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!(c[w>>2]|0?(c[u>>2]|0)==0:0))break;k=y;c[A>>2]=GK(c[w>>2]|0,c[o>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0;c[B>>2]=(c[(c[w>>2]|0)+32>>2]|0)-(c[A>>2]|0);k=x;c[u>>2]=DK(c[m>>2]|0,c[k>>2]|0,c[k+4>>2]|0,(c[(c[w>>2]|0)+36>>2]|0)+(c[A>>2]|0)|0,c[B>>2]|0)|0;k=x;k=IR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;j=x;c[j>>2]=k;c[j+4>>2]=z;j=(c[(c[w>>2]|0)+12>>2]|0)+1|0;k=y;j=IR(c[k>>2]|0,c[k+4>>2]|0,j|0,((j|0)<0)<<31>>31|0)|0;k=y;c[k>>2]=j;c[k+4>>2]=z;c[w>>2]=c[(c[w>>2]|0)+4>>2]}if(c[u>>2]|0){k=c[u>>2]|0;l=C;return k|0}j=q;k=x;c[u>>2]=EK(c[m>>2]|0,c[c[n>>2]>>2]|0,(c[o>>2]|0)+1|0,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0,c[r>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;k=c[u>>2]|0;l=C;return k|0}function FK(a,b,d,e,f,g,h,i,j,k,m,n,o,p){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+96|0;C=D+40|0;q=D+84|0;E=D+80|0;r=D+32|0;s=D+76|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;x=D+72|0;y=D+68|0;z=D+64|0;A=D+60|0;B=D+56|0;c[E>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;e=t;c[e>>2]=f;c[e+4>>2]=g;g=u;c[g>>2]=h;c[g+4>>2]=i;i=v;c[i>>2]=j;c[i+4>>2]=k;k=w;c[k>>2]=m;c[k+4>>2]=n;c[x>>2]=o;c[y>>2]=p;c[A>>2]=nK(c[E>>2]|0,11,z,0)|0;if(!(c[A>>2]|0)){E=r;pI(c[z>>2]|0,1,c[E>>2]|0,c[E+4>>2]|0)|0;oI(c[z>>2]|0,2,c[s>>2]|0)|0;E=t;pI(c[z>>2]|0,3,c[E>>2]|0,c[E+4>>2]|0)|0;E=u;pI(c[z>>2]|0,4,c[E>>2]|0,c[E+4>>2]|0)|0;E=w;do if((c[E>>2]|0)==0&(c[E+4>>2]|0)==0){E=v;pI(c[z>>2]|0,5,c[E>>2]|0,c[E+4>>2]|0)|0}else{h=v;i=c[h+4>>2]|0;k=w;j=c[k>>2]|0;k=c[k+4>>2]|0;E=C;c[E>>2]=c[h>>2];c[E+4>>2]=i;E=C+8|0;c[E>>2]=j;c[E+4>>2]=k;c[B>>2]=Ue(42168,C)|0;if(c[B>>2]|0){rI(c[z>>2]|0,5,c[B>>2]|0,-1,148)|0;break}c[q>>2]=7;E=c[q>>2]|0;l=D;return E|0}while(0);kI(c[z>>2]|0,6,c[x>>2]|0,c[y>>2]|0,0)|0;Hr(c[z>>2]|0)|0;c[A>>2]=Er(c[z>>2]|0)|0}c[q>>2]=c[A>>2];E=c[q>>2]|0;l=D;return E|0}function GK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;i=h+16|0;k=h+12|0;j=h;g=h+8|0;c[i>>2]=b;c[k>>2]=d;d=j;c[d>>2]=e;c[d+4>>2]=f;f=j;c[g>>2]=10-(HK(c[f>>2]|0,c[f+4>>2]|0)|0);a[(c[(c[i>>2]|0)+36>>2]|0)+(c[g>>2]|0)>>0]=c[k>>2];f=j;IK((c[(c[i>>2]|0)+36>>2]|0)+((c[g>>2]|0)+1)|0,c[f>>2]|0,c[f+4>>2]|0)|0;l=h;return c[g>>2]|0}function HK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=0;do{c[e>>2]=(c[e>>2]|0)+1;b=d;b=OR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=d;c[g>>2]=b;c[g+4>>2]=z;g=d}while((c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0);l=f;return c[e>>2]|0}function IK(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+20|0;k=j+8|0;h=j+16|0;i=j;c[g>>2]=b;b=k;c[b>>2]=e;c[b+4>>2]=f;c[h>>2]=c[g>>2];b=k;e=c[b+4>>2]|0;f=i;c[f>>2]=c[b>>2];c[f+4>>2]=e;do{k=(c[i>>2]&127|128)&255;f=c[h>>2]|0;c[h>>2]=f+1;a[f>>0]=k;f=i;f=OR(c[f>>2]|0,c[f+4>>2]|0,7)|0;k=i;c[k>>2]=f;c[k+4>>2]=z;k=i}while((c[k>>2]|0)!=0|(c[k+4>>2]|0)!=0);k=(c[h>>2]|0)+-1|0;a[k>>0]=(d[k>>0]|0)&127;l=j;return (c[h>>2]|0)-(c[g>>2]|0)|0}function JK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;b=(c[e>>2]|0)+8|0;if(!((c[b>>2]|0)!=0|(c[b+4>>2]|0)!=0)){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=nK(c[d>>2]|0,17,g,0)|0;if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}d=(c[e>>2]|0)+8|0;pI(c[g>>2]|0,1,c[d>>2]|0,c[d+4>>2]|0)|0;e=(c[e>>2]|0)+24|0;pI(c[g>>2]|0,2,c[e>>2]|0,c[e+4>>2]|0)|0;Hr(c[g>>2]|0)|0;c[f>>2]=Er(c[g>>2]|0)|0;g=c[f>>2]|0;l=h;return g|0}function KK(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k+12|0;i=k+8|0;j=k;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k+4>>2]=f;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[h>>2]|0)){b=5;break}if((a[(c[g>>2]|0)+(c[j>>2]|0)>>0]|0)!=(a[(c[i>>2]|0)+(c[j>>2]|0)>>0]|0)){b=5;break}c[j>>2]=(c[j>>2]|0)+1}if((b|0)==5){l=k;return c[j>>2]|0}return 0}function LK(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;v=w+56|0;q=w+52|0;r=w+48|0;s=w+44|0;t=w+40|0;m=w+36|0;u=w+32|0;n=w+28|0;o=w+24|0;g=w+20|0;h=w+16|0;i=w+12|0;j=w+8|0;k=w+4|0;p=w;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[t>>2]=e;c[m>>2]=f;c[u>>2]=c[c[r>>2]>>2];do if(c[u>>2]|0){c[g>>2]=c[(c[u>>2]|0)+32>>2];c[h>>2]=c[g>>2];c[i>>2]=KK(c[(c[u>>2]|0)+16>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;c[j>>2]=(c[m>>2]|0)-(c[i>>2]|0);e=c[i>>2]|0;e=HK(e,((e|0)<0)<<31>>31)|0;f=c[j>>2]|0;f=e+(HK(f,((f|0)<0)<<31>>31)|0)|0;c[h>>2]=(c[h>>2]|0)+(f+(c[j>>2]|0));if((c[h>>2]|0)>(c[(c[q>>2]|0)+224>>2]|0)?c[(c[u>>2]|0)+16>>2]|0:0)break;if((c[h>>2]|0)>(c[(c[q>>2]|0)+224>>2]|0)?(r=Yd(c[h>>2]|0)|0,c[(c[u>>2]|0)+36>>2]=r,(c[(c[u>>2]|0)+36>>2]|0)==0):0){c[v>>2]=7;v=c[v>>2]|0;l=w;return v|0}if(c[(c[u>>2]|0)+16>>2]|0){r=c[i>>2]|0;r=IK((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,r,((r|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+r}r=c[j>>2]|0;r=IK((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,r,((r|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+r;MR((c[(c[u>>2]|0)+36>>2]|0)+(c[g>>2]|0)|0,(c[t>>2]|0)+(c[i>>2]|0)|0,c[j>>2]|0)|0;c[(c[u>>2]|0)+32>>2]=(c[g>>2]|0)+(c[j>>2]|0);r=(c[u>>2]|0)+12|0;c[r>>2]=(c[r>>2]|0)+1;if(c[s>>2]|0){do if((c[(c[u>>2]|0)+24>>2]|0)<(c[m>>2]|0)){c[k>>2]=Df(c[(c[u>>2]|0)+28>>2]|0,c[m>>2]<<1)|0;if(c[k>>2]|0){c[(c[u>>2]|0)+24>>2]=c[m>>2]<<1;c[(c[u>>2]|0)+28>>2]=c[k>>2];break}c[v>>2]=7;v=c[v>>2]|0;l=w;return v|0}while(0);c[(c[u>>2]|0)+16>>2]=c[(c[u>>2]|0)+28>>2];MR(c[(c[u>>2]|0)+16>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;b=c[m>>2]|0;a=c[u>>2]|0}else{c[(c[u>>2]|0)+16>>2]=c[t>>2];b=c[m>>2]|0;a=c[u>>2]|0}c[a+20>>2]=b;c[v>>2]=0;v=c[v>>2]|0;l=w;return v|0}while(0);c[o>>2]=Yd(40+(c[(c[q>>2]|0)+224>>2]|0)|0)|0;if(!(c[o>>2]|0)){c[v>>2]=7;v=c[v>>2]|0;l=w;return v|0}a=c[o>>2]|0;b=a+40|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[(c[o>>2]|0)+32>>2]=11;c[(c[o>>2]|0)+36>>2]=(c[o>>2]|0)+40;if(c[u>>2]|0){c[p>>2]=c[c[u>>2]>>2];c[n>>2]=LK(c[q>>2]|0,p,c[s>>2]|0,c[t>>2]|0,c[m>>2]|0)|0;if(!(c[c[u>>2]>>2]|0))c[c[u>>2]>>2]=c[p>>2];c[(c[u>>2]|0)+4>>2]=c[o>>2];c[(c[o>>2]|0)+8>>2]=c[(c[u>>2]|0)+8>>2];c[c[o>>2]>>2]=c[p>>2];c[(c[o>>2]|0)+28>>2]=c[(c[u>>2]|0)+28>>2];c[(c[o>>2]|0)+24>>2]=c[(c[u>>2]|0)+24>>2];c[(c[u>>2]|0)+28>>2]=0}else{c[(c[o>>2]|0)+8>>2]=c[o>>2];c[n>>2]=LK(c[q>>2]|0,o,c[s>>2]|0,c[t>>2]|0,c[m>>2]|0)|0}c[c[r>>2]>>2]=c[o>>2];c[v>>2]=c[n>>2];v=c[v>>2]|0;l=w;return v|0}function MK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;l=g;return f|0}else{d=(c[d>>2]|0)+88|0;a=c[d+4>>2]|0;e=(c[e>>2]|0)+88|0;b=c[e+4>>2]|0;c[f>>2]=(a|0)<(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0<(c[e>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;l=g;return f|0}return 0}function NK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=((c[(c[d>>2]|0)+80>>2]|0)==0&1)-((c[(c[e>>2]|0)+80>>2]|0)==0&1);if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}a=(c[d>>2]|0)+88|0;b=(c[e>>2]|0)+88|0;if((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0){c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);f=c[f>>2]|0;l=g;return f|0}else{d=(c[d>>2]|0)+88|0;a=c[d+4>>2]|0;e=(c[e>>2]|0)+88|0;b=c[e+4>>2]|0;c[f>>2]=(a|0)>(b|0)|((a|0)==(b|0)?(c[d>>2]|0)>>>0>(c[e>>2]|0)>>>0:0)?1:-1;f=c[f>>2]|0;l=g;return f|0}return 0}function OK(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+5>>0]|0|0){b=c[b>>2]|0;b=b+40|0;c[b>>2]=0;l=e;return}Kd(c[(c[b>>2]|0)+40>>2]|0);zI(c[(c[b>>2]|0)+52>>2]|0)|0;c[(c[b>>2]|0)+52>>2]=0;b=c[b>>2]|0;b=b+40|0;c[b>>2]=0;l=e;return}function PK(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;s=v+52|0;k=v+48|0;t=v+44|0;m=v+40|0;q=v+36|0;u=v+32|0;r=v+28|0;n=v+24|0;g=v+20|0;h=v+16|0;i=v+12|0;j=v+8|0;o=v+4|0;p=v;c[k>>2]=b;c[t>>2]=e;c[m>>2]=f;b=c[t>>2]|0;if(c[(c[t>>2]|0)+72>>2]|0)c[u>>2]=(c[b+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0);else c[u>>2]=c[b+40>>2];if(!(c[u>>2]|0?(c[u>>2]|0)>>>0<((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0)){b=c[t>>2]|0;if(c[(c[t>>2]|0)+56>>2]|0){c[g>>2]=c[c[b+56>>2]>>2];Kd(c[(c[t>>2]|0)+40>>2]|0);c[(c[t>>2]|0)+40>>2]=0;do if(c[g>>2]|0){c[i>>2]=c[(c[g>>2]|0)+8>>2];c[j>>2]=(c[c[i>>2]>>2]|0)+1;c[(c[t>>2]|0)+64>>2]=c[(c[g>>2]|0)+12>>2];c[(c[t>>2]|0)+60>>2]=c[(c[g>>2]|0)+16>>2];c[h>>2]=Yd(c[j>>2]|0)|0;if(c[h>>2]|0){MR(c[h>>2]|0,c[(c[i>>2]|0)+4>>2]|0,c[j>>2]|0)|0;u=c[j>>2]|0;c[(c[t>>2]|0)+76>>2]=u;c[(c[t>>2]|0)+44>>2]=u;u=c[h>>2]|0;c[(c[t>>2]|0)+72>>2]=u;c[(c[t>>2]|0)+40>>2]=u;u=(c[t>>2]|0)+56|0;c[u>>2]=(c[u>>2]|0)+4;break}c[s>>2]=7;u=c[s>>2]|0;l=v;return u|0}while(0);c[s>>2]=0;u=c[s>>2]|0;l=v;return u|0}OK(b);i=(c[t>>2]|0)+32|0;g=c[i+4>>2]|0;j=(c[t>>2]|0)+16|0;h=c[j+4>>2]|0;if((g|0)>(h|0)|((g|0)==(h|0)?(c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0:0)){c[s>>2]=0;u=c[s>>2]|0;l=v;return u|0}h=c[k>>2]|0;g=(c[t>>2]|0)+32|0;i=g;i=IR(c[i>>2]|0,c[i+4>>2]|0,1,0)|0;j=z;c[g>>2]=i;c[g+4>>2]=j;c[q>>2]=eL(h,i,j,(c[t>>2]|0)+40|0,(c[t>>2]|0)+44|0,c[m>>2]|0?(c[t>>2]|0)+48|0:0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;l=v;return u|0}if(c[m>>2]|0?(c[(c[t>>2]|0)+48>>2]|0)<(c[(c[t>>2]|0)+44>>2]|0):0){c[(c[t>>2]|0)+52>>2]=c[(c[k>>2]|0)+244>>2];c[(c[k>>2]|0)+244>>2]=0}c[u>>2]=c[(c[t>>2]|0)+40>>2]}c[q>>2]=aL(c[t>>2]|0,c[u>>2]|0,20)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;l=v;return u|0}b=c[u>>2]|0;if(d[c[u>>2]>>0]&128|0)b=ZK(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[u>>2]=(c[u>>2]|0)+b;b=c[u>>2]|0;if(d[c[u>>2]>>0]&128|0)b=ZK(b,n)|0;else{c[n>>2]=d[b>>0];b=1}c[u>>2]=(c[u>>2]|0)+b;if(!((c[r>>2]|0)<0|(c[n>>2]|0)<=0)?((c[u>>2]|0)+(c[n>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0:0){do if(((c[r>>2]|0)+(c[n>>2]|0)|0)>(c[(c[t>>2]|0)+68>>2]|0)){c[o>>2]=(c[r>>2]|0)+(c[n>>2]|0)<<1;c[p>>2]=Df(c[(c[t>>2]|0)+64>>2]|0,c[o>>2]|0)|0;if(c[p>>2]|0){c[(c[t>>2]|0)+64>>2]=c[p>>2];c[(c[t>>2]|0)+68>>2]=c[o>>2];break}c[s>>2]=7;u=c[s>>2]|0;l=v;return u|0}while(0);c[q>>2]=aL(c[t>>2]|0,c[u>>2]|0,(c[n>>2]|0)+10|0)|0;if(c[q>>2]|0){c[s>>2]=c[q>>2];u=c[s>>2]|0;l=v;return u|0}MR((c[(c[t>>2]|0)+64>>2]|0)+(c[r>>2]|0)|0,c[u>>2]|0,c[n>>2]|0)|0;c[(c[t>>2]|0)+60>>2]=(c[r>>2]|0)+(c[n>>2]|0);c[u>>2]=(c[u>>2]|0)+(c[n>>2]|0);b=c[u>>2]|0;if(d[c[u>>2]>>0]&128|0)b=ZK(b,(c[t>>2]|0)+76|0)|0;else{c[(c[t>>2]|0)+76>>2]=d[b>>0];b=1}c[u>>2]=(c[u>>2]|0)+b;c[(c[t>>2]|0)+72>>2]=c[u>>2];c[(c[t>>2]|0)+80>>2]=0;do if(((c[(c[t>>2]|0)+72>>2]|0)+(c[(c[t>>2]|0)+76>>2]|0)|0)>>>0<=((c[(c[t>>2]|0)+40>>2]|0)+(c[(c[t>>2]|0)+44>>2]|0)|0)>>>0){if((c[(c[t>>2]|0)+48>>2]|0)==0?a[(c[(c[t>>2]|0)+72>>2]|0)+((c[(c[t>>2]|0)+76>>2]|0)-1)>>0]|0:0)break;c[s>>2]=0;u=c[s>>2]|0;l=v;return u|0}while(0);c[s>>2]=267;u=c[s>>2]|0;l=v;return u|0}c[s>>2]=267;u=c[s>>2]|0;l=v;return u|0}function QK(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(c[(c[d>>2]|0)+40>>2]|0?c[(c[e>>2]|0)+40>>2]|0:0){c[g>>2]=(c[(c[d>>2]|0)+60>>2]|0)-(c[(c[e>>2]|0)+60>>2]|0);a=c[(c[d>>2]|0)+64>>2]|0;b=c[(c[e>>2]|0)+64>>2]|0;if((c[g>>2]|0)<0)c[f>>2]=wQ(a,b,c[(c[d>>2]|0)+60>>2]|0)|0;else c[f>>2]=wQ(a,b,c[(c[e>>2]|0)+60>>2]|0)|0;if(!(c[f>>2]|0))c[f>>2]=c[g>>2]}else c[f>>2]=((c[(c[d>>2]|0)+40>>2]|0)==0&1)-((c[(c[e>>2]|0)+40>>2]|0)==0&1);if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=(c[c[e>>2]>>2]|0)-(c[c[d>>2]>>2]|0);g=c[f>>2]|0;l=h;return g|0}function RK(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;f=n;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[j>>2]=e;if((c[i>>2]|0)==(c[h>>2]|0))c[i>>2]=(c[i>>2]|0)+-1;c[k>>2]=(c[i>>2]|0)-1;while(1){if((c[k>>2]|0)<0)break;c[m>>2]=c[k>>2];while(1){if((c[m>>2]|0)>=((c[h>>2]|0)-1|0))break;if((yb[c[j>>2]&255](c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]|0,c[(c[g>>2]|0)+((c[m>>2]|0)+1<<2)>>2]|0)|0)<0)break;c[f>>2]=c[(c[g>>2]|0)+((c[m>>2]|0)+1<<2)>>2];c[(c[g>>2]|0)+((c[m>>2]|0)+1<<2)>>2]=c[(c[g>>2]|0)+(c[m>>2]<<2)>>2];c[(c[g>>2]|0)+(c[m>>2]<<2)>>2]=c[f>>2];c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[k>>2]|0)+-1}l=n;return}function SK(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;do if((c[h>>2]|0)>(c[(c[f>>2]|0)+20>>2]|0)){c[(c[f>>2]|0)+20>>2]=c[h>>2]<<1;c[i>>2]=Df(c[(c[f>>2]|0)+16>>2]|0,c[(c[f>>2]|0)+20>>2]|0)|0;if(c[i>>2]|0){c[(c[f>>2]|0)+16>>2]=c[i>>2];break}c[e>>2]=7;i=c[e>>2]|0;l=j;return i|0}while(0);MR(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}function TK(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+12|0;f=j+8|0;g=j+4|0;h=j+16|0;i=j;c[k>>2]=b;c[f>>2]=e;c[g>>2]=0;if(d[(c[k>>2]|0)+231>>0]|0|0?c[(c[f>>2]|0)+56>>2]|0:0){a[h>>0]=0;k=(c[f>>2]|0)+88|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[f>>2]|0)+84>>2]=0;_K(0,c[(c[f>>2]|0)+72>>2]|0,c[(c[f>>2]|0)+76>>2]|0,(c[f>>2]|0)+80|0,(c[f>>2]|0)+88|0,(c[f>>2]|0)+84|0,h);k=c[g>>2]|0;l=j;return k|0}c[g>>2]=aL(c[f>>2]|0,c[(c[f>>2]|0)+72>>2]|0,10)|0;if(c[g>>2]|0){k=c[g>>2]|0;l=j;return k|0}c[i>>2]=YK(c[(c[f>>2]|0)+72>>2]|0,(c[f>>2]|0)+88|0)|0;c[(c[f>>2]|0)+80>>2]=(c[(c[f>>2]|0)+72>>2]|0)+(c[i>>2]|0);k=c[g>>2]|0;l=j;return k|0}function UK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;q=u+36|0;r=u+32|0;s=u+28|0;j=u+24|0;k=u+20|0;t=u+16|0;n=u+12|0;h=u+41|0;i=u+40|0;o=u+8|0;p=u;c[r>>2]=b;c[s>>2]=e;c[j>>2]=f;c[k>>2]=g;c[t>>2]=0;c[n>>2]=c[(c[s>>2]|0)+80>>2];a[h>>0]=0;if(d[(c[r>>2]|0)+231>>0]|0?c[(c[s>>2]|0)+56>>2]|0:0){a[i>>0]=0;if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[s>>2]|0)+80>>2];c[c[k>>2]>>2]=(c[(c[s>>2]|0)+84>>2]|0)-1}_K(0,c[(c[s>>2]|0)+72>>2]|0,c[(c[s>>2]|0)+76>>2]|0,n,(c[s>>2]|0)+88|0,(c[s>>2]|0)+84|0,i);t=(a[i>>0]|0)!=0;c[(t?c[s>>2]|0:c[s>>2]|0)+80>>2]=t?0:c[n>>2]|0}else m=6;do if((m|0)==6){c[o>>2]=(c[(c[s>>2]|0)+72>>2]|0)+(c[(c[s>>2]|0)+76>>2]|0);while(1){while(1){if(!(a[c[n>>2]>>0]|a[h>>0]))break;g=c[n>>2]|0;c[n>>2]=g+1;a[h>>0]=a[g>>0]&128}if(!(c[(c[s>>2]|0)+52>>2]|0))break;if((c[n>>2]|0)>>>0<((c[(c[s>>2]|0)+40>>2]|0)+(c[(c[s>>2]|0)+48>>2]|0)|0)>>>0)break;c[t>>2]=$K(c[s>>2]|0)|0;if(c[t>>2]|0){m=13;break}}if((m|0)==13){c[q>>2]=c[t>>2];t=c[q>>2]|0;l=u;return t|0}c[n>>2]=(c[n>>2]|0)+1;if(c[j>>2]|0){c[c[j>>2]>>2]=c[(c[s>>2]|0)+80>>2];c[c[k>>2]>>2]=(c[n>>2]|0)-(c[(c[s>>2]|0)+80>>2]|0)-1}while(1){if((c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0)b=(a[c[n>>2]>>0]|0)==0;else b=0;e=c[n>>2]|0;if(!b)break;c[n>>2]=e+1}b=c[s>>2]|0;if(e>>>0>=(c[o>>2]|0)>>>0){c[b+80>>2]=0;break}c[t>>2]=aL(b,c[n>>2]|0,10)|0;if(!(c[t>>2]|0)){o=c[n>>2]|0;o=o+(YK(c[n>>2]|0,p)|0)|0;c[(c[s>>2]|0)+80>>2]=o;r=(a[(c[r>>2]|0)+231>>0]|0)!=0;o=p;n=c[o>>2]|0;o=c[o+4>>2]|0;t=(c[s>>2]|0)+88|0;m=t;k=c[m>>2]|0;m=c[m+4>>2]|0;p=IR(k|0,m|0,n|0,o|0)|0;s=z;o=FR(k|0,m|0,n|0,o|0)|0;c[t>>2]=r?o:p;c[t+4>>2]=r?z:s}}while(0);c[q>>2]=0;t=c[q>>2]|0;l=u;return t|0}function VK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;m=t+32|0;n=t+28|0;o=t+24|0;p=t+20|0;q=t+16|0;r=t+12|0;h=t+8|0;i=t+4|0;j=t;k=t+36|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=c[c[o>>2]>>2];c[r>>2]=c[c[p>>2]>>2];c[h>>2]=(c[q>>2]|0)+(c[r>>2]|0);c[i>>2]=0;c[j>>2]=c[q>>2];while(1){a[k>>0]=0;while(1){if((c[j>>2]|0)>>>0>=(c[h>>2]|0)>>>0)break;if(!((a[k>>0]|a[c[j>>2]>>0])&254))break;g=c[j>>2]|0;c[j>>2]=g+1;a[k>>0]=a[g>>0]&128}b=(c[j>>2]|0)-(c[q>>2]|0)|0;if((c[m>>2]|0)==(c[i>>2]|0)){s=7;break}c[r>>2]=(c[r>>2]|0)-b;c[q>>2]=c[j>>2];if(!(c[r>>2]|0))break;c[j>>2]=(c[q>>2]|0)+1;b=c[j>>2]|0;if(d[c[j>>2]>>0]&128|0)b=ZK(b,i)|0;else{c[i>>2]=d[b>>0];b=1}c[j>>2]=(c[j>>2]|0)+b}if((s|0)==7)c[r>>2]=b;if(!(c[n>>2]|0)){q=c[q>>2]|0;s=c[o>>2]|0;c[s>>2]=q;r=c[r>>2]|0;s=c[p>>2]|0;c[s>>2]=r;l=t;return}if(((c[q>>2]|0)+(c[r>>2]|0)|0)==(c[h>>2]|0)){q=c[q>>2]|0;s=c[o>>2]|0;c[s>>2]=q;r=c[r>>2]|0;s=c[p>>2]|0;c[s>>2]=r;l=t;return}GR((c[q>>2]|0)+(c[r>>2]|0)|0,0,(c[h>>2]|0)-((c[q>>2]|0)+(c[r>>2]|0))|0)|0;q=c[q>>2]|0;s=c[o>>2]|0;c[s>>2]=q;r=c[r>>2]|0;s=c[p>>2]|0;c[s>>2]=r;l=t;return}function WK(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;p=l;l=l+48|0;m=p+8|0;r=p+40|0;q=p+36|0;n=p+32|0;o=p+28|0;h=p+24|0;i=p+20|0;j=p+16|0;k=p;s=m;c[s>>2]=b;c[s+4>>2]=d;c[r>>2]=e;c[q>>2]=f;c[n>>2]=g;c[o>>2]=0;c[h>>2]=0;c[i>>2]=c[r>>2];c[j>>2]=(c[r>>2]|0)+(c[q>>2]|0);if((a[c[i>>2]>>0]|0)!=1){if((a[c[i>>2]>>0]|0)==2){r=m;r=IK((c[n>>2]|0)+(c[o>>2]|0)|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;r=c[n>>2]|0;s=c[o>>2]|0;c[o>>2]=s+1;a[r+s>>0]=2;c[h>>2]=1}XK(0,i)}while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0)break;if((a[c[i>>2]>>0]|0)!=1)break;c[i>>2]=(c[i>>2]|0)+1;s=YK(c[i>>2]|0,k)|0;c[i>>2]=(c[i>>2]|0)+s;if((a[c[i>>2]>>0]|0)==2){if(!(c[h>>2]|0)){s=m;s=IK((c[n>>2]|0)+(c[o>>2]|0)|0,c[s>>2]|0,c[s+4>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+s;c[h>>2]=1}s=c[n>>2]|0;r=c[o>>2]|0;c[o>>2]=r+1;a[s+r>>0]=1;r=k;r=IK((c[n>>2]|0)+(c[o>>2]|0)|0,c[r>>2]|0,c[r+4>>2]|0)|0;c[o>>2]=(c[o>>2]|0)+r;r=c[n>>2]|0;s=c[o>>2]|0;c[o>>2]=s+1;a[r+s>>0]=2}XK(0,i)}if(!(c[h>>2]|0)){s=c[o>>2]|0;l=p;return s|0}r=c[n>>2]|0;s=c[o>>2]|0;c[o>>2]=s+1;a[r+s>>0]=0;s=c[o>>2]|0;l=p;return s|0}function XK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+20|0;i=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[f>>2]>>2];a[h>>0]=0;while(1){if(!(254&(a[c[g>>2]>>0]|a[h>>0])))break;d=c[g>>2]|0;c[g>>2]=d+1;a[h>>0]=a[d>>0]&128}if(!(c[e>>2]|0)){i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}c[i>>2]=(c[g>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];MR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[i>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[i>>2]|0);c[c[e>>2]>>2]=c[j>>2];i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}function YK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+48|0;e=n+36|0;f=n+32|0;g=n+28|0;h=n+24|0;i=n+20|0;j=n+8|0;k=n+16|0;m=n;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[f>>2];b=c[f>>2]|0;c[f>>2]=b+1;c[i>>2]=a[b>>0];b=c[i>>2]|0;if(!(c[i>>2]&128)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=1;m=c[e>>2]|0;l=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[i>>2]=b&127|a[d>>0]<<7;b=c[i>>2]|0;if(!(c[i>>2]&16384)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=2;m=c[e>>2]|0;l=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[i>>2]=b&16383|a[d>>0]<<14;b=c[i>>2]|0;if(!(c[i>>2]&2097152)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=3;m=c[e>>2]|0;l=n;return m|0}d=c[f>>2]|0;c[f>>2]=d+1;c[i>>2]=b&2097151|a[d>>0]<<21;b=c[i>>2]|0;if(!(c[i>>2]&268435456)){m=c[g>>2]|0;c[m>>2]=b;c[m+4>>2]=0;c[e>>2]=4;m=c[e>>2]|0;l=n;return m|0}i=j;c[i>>2]=b&268435455;c[i+4>>2]=0;c[k>>2]=28;while(1){if((c[k>>2]|0)>63)break;i=c[f>>2]|0;c[f>>2]=i+1;i=a[i>>0]|0;d=m;c[d>>2]=i;c[d+4>>2]=((i|0)<0)<<31>>31;d=HR(c[m>>2]&127|0,0,c[k>>2]|0)|0;i=j;d=IR(c[i>>2]|0,c[i+4>>2]|0,d|0,z|0)|0;i=j;c[i>>2]=d;c[i+4>>2]=z;if((c[m>>2]&128|0)==0&0==0)break;c[k>>2]=(c[k>>2]|0)+7}k=c[j+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[j>>2];c[m+4>>2]=k;c[e>>2]=(c[f>>2]|0)-(c[h>>2]|0);m=c[e>>2]|0;l=n;return m|0}function ZK(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;c[g>>2]=d;d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=a[d>>0];d=c[h>>2]&127;b=c[f>>2]|0;c[f>>2]=b+1;c[h>>2]=d|a[b>>0]<<7;b=c[h>>2]|0;if(!(c[h>>2]&16384)){c[c[g>>2]>>2]=b;c[e>>2]=2;h=c[e>>2]|0;l=i;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&16383|a[d>>0]<<14;b=c[h>>2]|0;if(!(c[h>>2]&2097152)){c[c[g>>2]>>2]=b;c[e>>2]=3;h=c[e>>2]|0;l=i;return h|0}d=c[f>>2]|0;c[f>>2]=d+1;c[h>>2]=b&2097151|a[d>>0]<<21;b=c[h>>2]|0;if(!(c[h>>2]&268435456)){c[c[g>>2]>>2]=b;c[e>>2]=4;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=b&268435455;c[c[g>>2]>>2]=c[h>>2]|(a[c[f>>2]>>0]&15)<<28;c[e>>2]=5;h=c[e>>2]|0;l=i;return h|0}return 0}function _K(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;C=l;l=l+80|0;y=C+76|0;A=C+72|0;B=C+68|0;j=C+64|0;k=C+60|0;m=C+56|0;n=C+52|0;o=C+48|0;p=C+16|0;q=C+44|0;r=C+40|0;s=C+36|0;t=C+32|0;u=C+8|0;v=C+28|0;w=C;x=C+24|0;c[y>>2]=b;c[A>>2]=d;c[B>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=c[c[j>>2]>>2];if(c[o>>2]|0){c[v>>2]=c[y>>2]|0?-1:1;cL(o,c[A>>2]|0,w);B=c[v>>2]|0;y=w;y=RR(B|0,((B|0)<0)<<31>>31|0,c[y>>2]|0,c[y+4>>2]|0)|0;B=c[k>>2]|0;i=B;y=FR(c[i>>2]|0,c[i+4>>2]|0,y|0,z|0)|0;c[B>>2]=y;c[B+4>>2]=z;if((c[o>>2]|0)==(c[A>>2]|0))a[c[n>>2]>>0]=1;else{c[x>>2]=c[o>>2];dL(c[A>>2]|0,o);c[c[m>>2]>>2]=(c[x>>2]|0)-(c[o>>2]|0)}c[c[j>>2]>>2]=c[o>>2];l=C;return}i=p;c[i>>2]=0;c[i+4>>2]=0;c[q>>2]=0;c[r>>2]=c[A>>2];c[s>>2]=(c[A>>2]|0)+(c[B>>2]|0);c[t>>2]=1;while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;B=YK(c[r>>2]|0,u)|0;c[r>>2]=(c[r>>2]|0)+B;B=c[t>>2]|0;A=u;A=RR(B|0,((B|0)<0)<<31>>31|0,c[A>>2]|0,c[A+4>>2]|0)|0;B=p;A=IR(c[B>>2]|0,c[B+4>>2]|0,A|0,z|0)|0;B=p;c[B>>2]=A;c[B+4>>2]=z;c[q>>2]=c[r>>2];bL(0,r);while(1){if((c[r>>2]|0)>>>0>=(c[s>>2]|0)>>>0)break;if(a[c[r>>2]>>0]|0)break;c[r>>2]=(c[r>>2]|0)+1}c[t>>2]=c[y>>2]|0?-1:1}c[c[m>>2]>>2]=(c[s>>2]|0)-(c[q>>2]|0);c[c[j>>2]>>2]=c[q>>2];y=p;A=c[y+4>>2]|0;B=c[k>>2]|0;c[B>>2]=c[y>>2];c[B+4>>2]=A;l=C;return}function $K(b){b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;e=g+8|0;d=g+4|0;f=g;c[e>>2]=b;if(((c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0)<4096)b=(c[(c[e>>2]|0)+44>>2]|0)-(c[(c[e>>2]|0)+48>>2]|0)|0;else b=4096;c[d>>2]=b;c[f>>2]=AI(c[(c[e>>2]|0)+52>>2]|0,(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0,c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0)|0;if(c[f>>2]|0){f=c[f>>2]|0;l=g;return f|0}b=(c[e>>2]|0)+48|0;c[b>>2]=(c[b>>2]|0)+(c[d>>2]|0);b=(c[(c[e>>2]|0)+40>>2]|0)+(c[(c[e>>2]|0)+48>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if((c[(c[e>>2]|0)+48>>2]|0)!=(c[(c[e>>2]|0)+44>>2]|0)){f=c[f>>2]|0;l=g;return f|0}zI(c[(c[e>>2]|0)+52>>2]|0)|0;c[(c[e>>2]|0)+52>>2]=0;c[(c[e>>2]|0)+48>>2]=0;f=c[f>>2]|0;l=g;return f|0}function aL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;while(1){if(!((c[h>>2]|0)==0?(c[(c[e>>2]|0)+52>>2]|0)!=0:0)){a=5;break}if(((c[f>>2]|0)-(c[(c[e>>2]|0)+40>>2]|0)+(c[g>>2]|0)|0)<=(c[(c[e>>2]|0)+48>>2]|0)){a=5;break}c[h>>2]=$K(c[e>>2]|0)|0}if((a|0)==5){l=i;return c[h>>2]|0}return 0}function bL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+20|0;i=k+4|0;j=k;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[f>>2]>>2];a[h>>0]=0;while(1){d=(a[c[g>>2]>>0]|a[h>>0]|0)!=0;b=c[g>>2]|0;c[g>>2]=b+1;if(!d)break;a[h>>0]=a[b>>0]&128}if(!(c[e>>2]|0)){i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}c[i>>2]=(c[g>>2]|0)-(c[c[f>>2]>>2]|0);c[j>>2]=c[c[e>>2]>>2];MR(c[j>>2]|0,c[c[f>>2]>>2]|0,c[i>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+(c[i>>2]|0);c[c[e>>2]>>2]=c[j>>2];i=c[g>>2]|0;j=c[f>>2]|0;c[j>>2]=i;l=k;return}function cL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k+12|0;i=k;j=k+8|0;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[j>>2]=(c[c[f>>2]>>2]|0)+-2;while(1){if((c[j>>2]|0)>>>0<(c[g>>2]|0)>>>0)break;if(!(a[c[j>>2]>>0]&128))break;c[j>>2]=(c[j>>2]|0)+-1}c[j>>2]=(c[j>>2]|0)+1;c[c[f>>2]>>2]=c[j>>2];YK(c[j>>2]|0,i)|0;g=i;i=c[g+4>>2]|0;j=c[h>>2]|0;c[j>>2]=c[g>>2];c[j+4>>2]=i;l=k;return}function dL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;e=j+8|0;f=j+4|0;g=j;h=j+12|0;c[e>>2]=b;c[f>>2]=d;c[g>>2]=(c[c[f>>2]>>2]|0)+-2;a[h>>0]=0;do{if((c[g>>2]|0)>>>0<=(c[e>>2]|0)>>>0)break;d=c[g>>2]|0;c[g>>2]=d+-1;d=a[d>>0]|0;a[h>>0]=d}while(!(d<<24>>24|0));while(1){if((c[g>>2]|0)>>>0>(c[e>>2]|0)>>>0)d=(a[c[g>>2]>>0]&128|a[h>>0]|0)!=0;else d=0;b=c[g>>2]|0;if(!d)break;c[g>>2]=b+-1;a[h>>0]=a[b>>0]|0}if(b>>>0<=(c[e>>2]|0)>>>0){if((a[h>>0]|0)==0?(c[c[f>>2]>>2]|0)>>>0>((c[g>>2]|0)+2|0)>>>0:0)i=11}else i=11;if((i|0)==11)c[g>>2]=(c[g>>2]|0)+2;do{i=c[g>>2]|0;c[g>>2]=i+1}while((a[i>>0]&128|0)!=0);c[c[f>>2]>>2]=c[g>>2];l=j;return}function eL(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+8|0;r=t+40|0;m=t+36|0;n=t;s=t+32|0;i=t+28|0;j=t+24|0;p=t+20|0;k=t+16|0;q=t+12|0;c[m>>2]=b;b=n;c[b>>2]=d;c[b+4>>2]=e;c[s>>2]=f;c[i>>2]=g;c[j>>2]=h;b=c[m>>2]|0;if(c[(c[m>>2]|0)+244>>2]|0){o=n;c[p>>2]=EI(c[b+244>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0}else{if(0==(c[b+240>>2]|0)?(c[o>>2]=c[(c[m>>2]|0)+20>>2],o=Ue(42178,o)|0,c[(c[m>>2]|0)+240>>2]=o,0==(c[(c[m>>2]|0)+240>>2]|0)):0){c[r>>2]=7;s=c[r>>2]|0;l=t;return s|0}o=n;c[p>>2]=wI(c[(c[m>>2]|0)+12>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[(c[m>>2]|0)+240>>2]|0,42190,c[o>>2]|0,c[o+4>>2]|0,0,(c[m>>2]|0)+244|0)|0}if((c[p>>2]|0)==0?(c[k>>2]=DI(c[(c[m>>2]|0)+244>>2]|0)|0,c[c[i>>2]>>2]=c[k>>2],c[s>>2]|0):0){c[q>>2]=Yd((c[k>>2]|0)+20|0)|0;if(c[q>>2]|0){if((c[j>>2]|0)!=0&(c[k>>2]|0)>16384){c[k>>2]=4096;c[c[j>>2]>>2]=c[k>>2]}c[p>>2]=AI(c[(c[m>>2]|0)+244>>2]|0,c[q>>2]|0,c[k>>2]|0,0)|0;b=(c[q>>2]|0)+(c[k>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0));if(c[p>>2]|0){Kd(c[q>>2]|0);c[q>>2]=0}}else c[p>>2]=7;c[c[s>>2]>>2]=c[q>>2]}c[r>>2]=c[p>>2];s=c[r>>2]|0;l=t;return s|0}function fL(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;p=r+36|0;i=r+32|0;q=r+28|0;j=r+24|0;k=r+20|0;m=r+16|0;n=r+12|0;g=r+8|0;h=r+4|0;o=r;c[i>>2]=a;c[q>>2]=b;c[j>>2]=e;c[k>>2]=f;c[n>>2]=c[(c[q>>2]|0)+4>>2];c[m>>2]=0;a:while(1){if(c[(c[q>>2]|0)+28>>2]|0){a=12;break}if((c[m>>2]|0)>=(c[(c[q>>2]|0)+4>>2]|0)){a=12;break}c[g>>2]=0;c[h>>2]=c[(c[c[q>>2]>>2]|0)+(c[m>>2]<<2)>>2];do{c[o>>2]=PK(c[i>>2]|0,c[h>>2]|0,0)|0;if(c[o>>2]|0){a=6;break a}if(!(c[j>>2]|0))break;f=gL(c[h>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;c[g>>2]=f}while((f|0)<0);if(c[g>>2]|0?(d[(c[h>>2]|0)+4>>0]|0|0)!=0:0)OK(c[h>>2]|0);c[m>>2]=(c[m>>2]|0)+1}if((a|0)==6){c[p>>2]=c[o>>2];q=c[p>>2]|0;l=r;return q|0}else if((a|0)==12){RK(c[c[q>>2]>>2]|0,c[n>>2]|0,c[n>>2]|0,203);c[p>>2]=0;q=c[p>>2]|0;l=r;return q|0}return 0}function gL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+12|0;e=i+8|0;g=i+4|0;h=i;c[f>>2]=a;c[e>>2]=b;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[f>>2]|0)+40>>2]|0)){h=c[h>>2]|0;l=i;return h|0}b=c[(c[f>>2]|0)+64>>2]|0;a=c[e>>2]|0;if((c[(c[f>>2]|0)+60>>2]|0)>(c[g>>2]|0))c[h>>2]=wQ(b,a,c[g>>2]|0)|0;else c[h>>2]=wQ(b,a,c[(c[f>>2]|0)+60>>2]|0)|0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}c[h>>2]=(c[(c[f>>2]|0)+60>>2]|0)-(c[g>>2]|0);h=c[h>>2]|0;l=i;return h|0}function hL(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+96|0;F=G+88|0;k=G+84|0;m=G+80|0;n=G+76|0;o=G+72|0;p=G+68|0;q=G+64|0;r=G+60|0;s=G+56|0;t=G+52|0;u=G+48|0;v=G+44|0;w=G+40|0;x=G+36|0;y=G+16|0;A=G+8|0;B=G;C=G+32|0;D=G+28|0;E=G+24|0;c[F>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=0;c[u>>2]=0;if(((c[n>>2]|0)<0?c[(c[F>>2]|0)+252>>2]|0:0)?(c[w>>2]=0,c[t>>2]=iL(c[F>>2]|0,c[m>>2]|0,c[o>>2]|0,c[p>>2]|0,(c[q>>2]|0?1:(c[r>>2]|0)!=0)&1,w)|0,(c[t>>2]|0)==0&(c[w>>2]|0)!=0):0)c[t>>2]=jL(c[s>>2]|0,c[w>>2]|0)|0;a:do if((c[n>>2]|0)!=-1){if(!(c[t>>2]|0))c[t>>2]=kL(c[F>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,u)|0;while(1){if(c[t>>2]|0)break a;j=Hr(c[u>>2]|0)|0;c[t>>2]=j;if(100!=(j|0))break a;c[x>>2]=0;i=iI(c[u>>2]|0,1)|0;j=y;c[j>>2]=i;c[j+4>>2]=z;j=iI(c[u>>2]|0,2)|0;i=A;c[i>>2]=j;c[i+4>>2]=z;i=iI(c[u>>2]|0,3)|0;j=B;c[j>>2]=i;c[j+4>>2]=z;c[C>>2]=fI(c[u>>2]|0,4)|0;c[D>>2]=eI(c[u>>2]|0,4)|0;j=y;if(((c[j>>2]|0)!=0|(c[j+4>>2]|0)!=0)&(c[o>>2]|0)!=0){c[E>>2]=c[q>>2]|0?A:0;c[t>>2]=lL(c[F>>2]|0,c[o>>2]|0,c[p>>2]|0,c[D>>2]|0,c[C>>2]|0,y,c[E>>2]|0)|0;if(c[t>>2]|0)break a;if((c[q>>2]|0)==0&(c[r>>2]|0)==0){h=y;i=c[h+4>>2]|0;j=A;c[j>>2]=c[h>>2];c[j+4>>2]=i}}h=y;i=A;j=B;c[t>>2]=mL((c[(c[s>>2]|0)+4>>2]|0)+1|0,((c[q>>2]|0)==0?(c[r>>2]|0)==0:0)&1,c[h>>2]|0,c[h+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0,c[j>>2]|0,c[j+4>>2]|0,c[D>>2]|0,c[C>>2]|0,x)|0;if(c[t>>2]|0)break a;c[t>>2]=jL(c[s>>2]|0,c[x>>2]|0)|0}}while(0);c[v>>2]=Er(c[u>>2]|0)|0;if((c[t>>2]|0)!=101){F=c[t>>2]|0;l=G;return F|0}c[t>>2]=c[v>>2];F=c[t>>2]|0;l=G;return F|0}function iL(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;y=l;l=l+80|0;A=y+64|0;z=y+60|0;v=y+56|0;w=y+52|0;h=y+48|0;i=y+44|0;j=y+40|0;k=y+36|0;m=y+32|0;n=y+28|0;o=y+24|0;p=y+20|0;q=y+16|0;r=y+12|0;s=y+8|0;t=y+4|0;u=y;c[A>>2]=a;c[z>>2]=b;c[v>>2]=d;c[w>>2]=e;c[h>>2]=f;c[i>>2]=g;c[j>>2]=0;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[p>>2]=(c[(c[A>>2]|0)+252>>2]|0)+((c[z>>2]|0)*24|0)+4;if(c[h>>2]|0){c[q>>2]=0;c[k>>2]=c[(c[p>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;c[r>>2]=c[(c[k>>2]|0)+12>>2];c[s>>2]=c[(c[k>>2]|0)+16>>2];if(c[w>>2]|0){if((c[s>>2]|0)>=(c[w>>2]|0)?0==(wQ(c[r>>2]|0,c[v>>2]|0,c[w>>2]|0)|0):0)x=7}else x=7;if((x|0)==7){x=0;if((c[n>>2]|0)==(c[q>>2]|0)){c[q>>2]=(c[q>>2]|0)+16;c[t>>2]=Df(c[m>>2]|0,c[q>>2]<<2)|0;if(!(c[t>>2]|0)){x=9;break}c[m>>2]=c[t>>2]}g=c[k>>2]|0;z=c[m>>2]|0;A=c[n>>2]|0;c[n>>2]=A+1;c[z+(A<<2)>>2]=g}c[k>>2]=c[c[k>>2]>>2]}if((x|0)==9){c[o>>2]=7;c[n>>2]=0}if((c[n>>2]|0)>1)dQ(c[m>>2]|0,c[n>>2]|0,4,204)}else{c[k>>2]=EJ(c[p>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;if(c[k>>2]|0){c[m>>2]=k;c[n>>2]=1}}do if((c[n>>2]|0)>0){c[u>>2]=96+((c[n>>2]|0)+1<<2);c[j>>2]=Yd(c[u>>2]|0)|0;if(c[j>>2]|0){GR(c[j>>2]|0,0,c[u>>2]|0)|0;c[c[j>>2]>>2]=2147483647;c[(c[j>>2]|0)+56>>2]=(c[j>>2]|0)+96;MR(c[(c[j>>2]|0)+56>>2]|0,c[m>>2]|0,c[n>>2]<<2|0)|0;break}else{c[o>>2]=7;break}}while(0);if(!(c[h>>2]|0)){z=c[j>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[o>>2]|0;l=y;return A|0}Kd(c[m>>2]|0);z=c[j>>2]|0;A=c[i>>2]|0;c[A>>2]=z;A=c[o>>2]|0;l=y;return A|0}function jL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;do if(!((c[(c[e>>2]|0)+4>>2]|0)%16|0)){c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+16<<2;c[g>>2]=Df(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[g>>2]|0){c[c[e>>2]>>2]=c[g>>2];break}AK(c[f>>2]|0);c[d>>2]=7;h=c[d>>2]|0;l=i;return h|0}while(0);f=c[f>>2]|0;g=c[c[e>>2]>>2]|0;e=(c[e>>2]|0)+4|0;h=c[e>>2]|0;c[e>>2]=h+1;c[g+(h<<2)>>2]=f;c[d>>2]=0;h=c[d>>2]|0;l=i;return h|0}function kL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;g=o+4|0;h=o;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[h>>2]=0;a=c[i>>2]|0;if((c[m>>2]|0)<0){c[g>>2]=nK(a,13,h,0)|0;if(!(c[g>>2]|0)){m=c[h>>2]|0;f=qK(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;pI(m,1,f,z)|0;f=c[h>>2]|0;m=qK(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,1023)|0;pI(f,2,m,z)|0}}else{c[g>>2]=nK(a,12,h,0)|0;if(!(c[g>>2]|0)){f=c[h>>2]|0;m=qK(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;pI(f,1,m,z)|0}}c[c[n>>2]>>2]=c[h>>2];l=o;return c[g>>2]|0}function lL(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+48|0;s=v+40|0;t=v+36|0;u=v+32|0;j=v+28|0;k=v+24|0;m=v+20|0;n=v+16|0;o=v+12|0;p=v+8|0;q=v+4|0;r=v;c[s>>2]=a;c[t>>2]=b;c[u>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=0;a=c[j>>2]|0;if((d[c[j>>2]>>0]|0)&128|0)ZK(a,p)|0;else c[p>>2]=d[a>>0];c[o>>2]=nL(c[t>>2]|0,c[u>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if(!((c[o>>2]|0)==0&(c[p>>2]|0)>1)){u=c[o>>2]|0;l=v;return u|0}c[q>>2]=0;c[r>>2]=0;if((c[m>>2]|0)!=0&(c[n>>2]|0)!=0?(k=c[m>>2]|0,p=c[n>>2]|0,(c[k>>2]|0)!=(c[p>>2]|0)?1:(c[k+4>>2]|0)!=(c[p+4>>2]|0)):0){p=c[m>>2]|0;c[o>>2]=eL(c[s>>2]|0,c[p>>2]|0,c[p+4>>2]|0,q,r,0)|0;if(!(c[o>>2]|0))c[o>>2]=lL(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,0)|0;Kd(c[q>>2]|0);c[m>>2]=0;c[q>>2]=0}if(!(c[o>>2]|0)){p=c[m>>2]|0?c[m>>2]|0:c[n>>2]|0;c[o>>2]=eL(c[s>>2]|0,c[p>>2]|0,c[p+4>>2]|0,q,r,0)|0}if(!(c[o>>2]|0))c[o>>2]=lL(c[s>>2]|0,c[t>>2]|0,c[u>>2]|0,c[q>>2]|0,c[r>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;Kd(c[q>>2]|0);u=c[o>>2]|0;l=v;return u|0}function mL(b,d,e,f,g,h,i,j,k,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;A=l;l=l+64|0;o=A+52|0;p=A+48|0;q=A+44|0;r=A+16|0;s=A+8|0;t=A;u=A+40|0;v=A+36|0;w=A+32|0;x=A+28|0;y=A+24|0;c[p>>2]=b;c[q>>2]=d;d=r;c[d>>2]=e;c[d+4>>2]=f;f=s;c[f>>2]=g;c[f+4>>2]=h;h=t;c[h>>2]=i;c[h+4>>2]=j;c[u>>2]=k;c[v>>2]=m;c[w>>2]=n;c[y>>2]=0;m=r;if((c[m>>2]|0)==0&(c[m+4>>2]|0)==0)c[y>>2]=(c[v>>2]|0)+20;c[x>>2]=Yd(96+(c[y>>2]|0)|0)|0;if(!(c[x>>2]|0)){c[o>>2]=7;y=c[o>>2]|0;l=A;return y|0}b=c[x>>2]|0;d=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[x>>2]>>2]=c[p>>2];a[(c[x>>2]|0)+4>>0]=(c[q>>2]|0)!=0;m=r;q=c[m+4>>2]|0;p=(c[x>>2]|0)+8|0;c[p>>2]=c[m>>2];c[p+4>>2]=q;p=s;s=c[p+4>>2]|0;q=(c[x>>2]|0)+16|0;c[q>>2]=c[p>>2];c[q+4>>2]=s;q=t;s=c[q+4>>2]|0;t=(c[x>>2]|0)+24|0;c[t>>2]=c[q>>2];c[t+4>>2]=s;if(c[y>>2]|0){c[(c[x>>2]|0)+40>>2]=(c[x>>2]|0)+96;a[(c[x>>2]|0)+5>>0]=1;c[(c[x>>2]|0)+44>>2]=c[v>>2];MR(c[(c[x>>2]|0)+40>>2]|0,c[u>>2]|0,c[v>>2]|0)|0;b=(c[(c[x>>2]|0)+40>>2]|0)+(c[v>>2]|0)|0;d=b+20|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(d|0))}else{v=r;v=FR(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;y=(c[x>>2]|0)+32|0;c[y>>2]=v;c[y+4>>2]=z}c[c[w>>2]>>2]=c[x>>2];c[o>>2]=0;y=c[o>>2]|0;l=A;return y|0}function nL(a,b,e,f,g,h){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0;B=l;l=l+80|0;A=B+76|0;s=B+72|0;t=B+68|0;D=B+64|0;C=B+60|0;u=B+56|0;v=B+52|0;w=B+48|0;i=B+44|0;j=B+40|0;x=B+36|0;k=B+32|0;m=B+28|0;y=B;n=B+24|0;o=B+20|0;p=B+16|0;q=B+12|0;r=B+8|0;c[s>>2]=a;c[t>>2]=b;c[D>>2]=e;c[C>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=0;c[i>>2]=c[D>>2];c[j>>2]=(c[i>>2]|0)+(c[C>>2]|0);c[x>>2]=0;c[k>>2]=0;c[m>>2]=1;h=YK(c[i>>2]|0,y)|0;c[i>>2]=(c[i>>2]|0)+h;h=YK(c[i>>2]|0,y)|0;c[i>>2]=(c[i>>2]|0)+h;if((c[i>>2]|0)>>>0>(c[j>>2]|0)>>>0){c[A>>2]=267;D=c[A>>2]|0;l=B;return D|0}while(1){if((c[i>>2]|0)>>>0>=(c[j>>2]|0)>>>0){a=28;break}if(!(c[u>>2]|0?1:(c[v>>2]|0)!=0)){a=28;break}c[p>>2]=0;if(!(c[m>>2]|0)){a=c[i>>2]|0;if((d[c[i>>2]>>0]|0)&128|0)a=ZK(a,p)|0;else{c[p>>2]=d[a>>0];a=1}c[i>>2]=(c[i>>2]|0)+a}c[m>>2]=0;a=c[i>>2]|0;if((d[c[i>>2]>>0]|0)&128|0)a=ZK(a,o)|0;else{c[o>>2]=d[a>>0];a=1}c[i>>2]=(c[i>>2]|0)+a;if((c[p>>2]|0)<0|(c[o>>2]|0)<0){a=15;break}if(((c[i>>2]|0)+(c[o>>2]|0)|0)>>>0>(c[j>>2]|0)>>>0){a=15;break}if(((c[p>>2]|0)+(c[o>>2]|0)|0)>(c[k>>2]|0)){c[k>>2]=(c[p>>2]|0)+(c[o>>2]|0)<<1;c[r>>2]=Df(c[x>>2]|0,c[k>>2]|0)|0;if(!(c[r>>2]|0)){a=18;break}c[x>>2]=c[r>>2]}MR((c[x>>2]|0)+(c[p>>2]|0)|0,c[i>>2]|0,c[o>>2]|0)|0;c[q>>2]=(c[p>>2]|0)+(c[o>>2]|0);c[i>>2]=(c[i>>2]|0)+(c[o>>2]|0);c[n>>2]=wQ(c[s>>2]|0,c[x>>2]|0,(c[q>>2]|0)>(c[t>>2]|0)?c[t>>2]|0:c[q>>2]|0)|0;do if(c[u>>2]|0){if((c[n>>2]|0)>=0){if(c[n>>2]|0)break;if((c[q>>2]|0)<=(c[t>>2]|0))break}h=y;C=c[h+4>>2]|0;D=c[u>>2]|0;c[D>>2]=c[h>>2];c[D+4>>2]=C;c[u>>2]=0}while(0);if((c[v>>2]|0)!=0&(c[n>>2]|0)<0){h=y;C=c[h+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[h>>2];c[D+4>>2]=C;c[v>>2]=0}C=y;C=IR(c[C>>2]|0,c[C+4>>2]|0,1,0)|0;D=y;c[D>>2]=C;c[D+4>>2]=z}if((a|0)==15)c[w>>2]=267;else if((a|0)==18)c[w>>2]=7;else if((a|0)==28){if(c[u>>2]|0){t=y;C=c[t+4>>2]|0;D=c[u>>2]|0;c[D>>2]=c[t>>2];c[D+4>>2]=C}if(c[v>>2]|0){C=c[y+4>>2]|0;D=c[v>>2]|0;c[D>>2]=c[y>>2];c[D+4>>2]=C}}Kd(c[x>>2]|0);c[A>>2]=c[w>>2];D=c[A>>2]|0;l=B;return D|0}function oL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;g=l;l=l+32|0;m=g+28|0;k=g+24|0;j=g+20|0;i=g+16|0;d=g+12|0;e=g+8|0;h=g+4|0;f=g;c[m>>2]=a;c[k>>2]=b;c[j>>2]=c[(c[c[m>>2]>>2]|0)+12>>2];c[i>>2]=c[(c[c[k>>2]>>2]|0)+12>>2];c[d>>2]=c[(c[c[m>>2]>>2]|0)+16>>2];c[e>>2]=c[(c[c[k>>2]>>2]|0)+16>>2];c[h>>2]=(c[d>>2]|0)<(c[e>>2]|0)?c[d>>2]|0:c[e>>2]|0;c[f>>2]=wQ(c[j>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;if(c[f>>2]|0){m=c[f>>2]|0;l=g;return m|0}c[f>>2]=(c[d>>2]|0)-(c[e>>2]|0);m=c[f>>2]|0;l=g;return m|0}function pL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;j=p+32|0;e=p+28|0;f=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[m>>2]=42442;c[n>>2]=42446;c[o>>2]=42451;c[h>>2]=-1;c[i>>2]=15;a=c[j>>2]|0;if((c[e>>2]|0)>6){yh(a,42462,-1);l=p;return}if(tL(a,39501,c[c[f>>2]>>2]|0,k)|0){l=p;return}switch(c[e>>2]|0){case 6:{c[i>>2]=vi(c[(c[f>>2]|0)+20>>2]|0)|0;g=6;break}case 5:{g=6;break}case 4:{g=7;break}case 3:{g=8;break}case 2:{g=9;break}default:{}}if((g|0)==6){c[h>>2]=vi(c[(c[f>>2]|0)+16>>2]|0)|0;g=7}if((g|0)==7){c[o>>2]=wh(c[(c[f>>2]|0)+12>>2]|0)|0;g=8}if((g|0)==8){c[n>>2]=wh(c[(c[f>>2]|0)+8>>2]|0)|0;g=9}if((g|0)==9)c[m>>2]=wh(c[(c[f>>2]|0)+4>>2]|0)|0;if(!((c[o>>2]|0)!=0&(c[n>>2]|0)!=0&(c[m>>2]|0)!=0)){bi(c[j>>2]|0);l=p;return}a=c[j>>2]|0;if(!(c[i>>2]|0)){ci(a,47636,-1,0);l=p;return}if(qM(a,c[k>>2]|0)|0){l=p;return}VM(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,c[h>>2]|0,c[i>>2]|0);l=p;return}function qL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+12|0;h=g+4|0;f=g;c[e>>2]=a;c[g+8>>2]=b;c[h>>2]=d;if(tL(c[e>>2]|0,39509,c[c[h>>2]>>2]|0,f)|0){l=g;return}if(qM(c[e>>2]|0,c[f>>2]|0)|0){l=g;return}RM(c[e>>2]|0,c[f>>2]|0);l=g;return}function rL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;j=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[i+16>>2]=b;c[j>>2]=d;if(tL(c[e>>2]|0,39527,c[c[j>>2]>>2]|0,h)|0){l=i;return}c[g>>2]=c[c[h>>2]>>2];c[f>>2]=PM(c[g>>2]|0)|0;switch(c[f>>2]|0){case 0:{ci(c[e>>2]|0,42346,-1,0);l=i;return}case 101:{ci(c[e>>2]|0,42362,-1,0);l=i;return}default:{Bi(c[e>>2]|0,c[f>>2]|0);l=i;return}}}function sL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(tL(c[e>>2]|0,39517,c[c[g>>2]>>2]|0,h)|0){l=j;return}c[i>>2]=0;if((c[f>>2]|0)>1)c[i>>2]=wh(c[(c[g>>2]|0)+4>>2]|0)|0;uL(c[e>>2]|0,c[h>>2]|0,c[i>>2]|0);l=j;return}function tL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;o=p;h=p+28|0;i=p+24|0;j=p+20|0;k=p+16|0;m=p+12|0;n=p+8|0;g=p+4|0;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;if((fi(c[k>>2]|0)|0)==4?(xh(c[k>>2]|0)|0)==4:0){o=wi(c[k>>2]|0)|0;a[n>>0]=a[o>>0]|0;a[n+1>>0]=a[o+1>>0]|0;a[n+2>>0]=a[o+2>>0]|0;a[n+3>>0]=a[o+3>>0]|0;c[c[m>>2]>>2]=c[n>>2];c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}c[o>>2]=c[j>>2];c[g>>2]=Ue(42317,o)|0;yh(c[i>>2]|0,c[g>>2]|0,-1);Kd(c[g>>2]|0);c[h>>2]=1;o=c[h>>2]|0;l=p;return o|0}function uL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;g=j+12|0;f=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=c[c[g>>2]>>2];if(c[f>>2]|0)c[i>>2]=c[f>>2];else c[i>>2]=42252;a=c[e>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){vL(a,c[g>>2]|0,c[i>>2]|0);wL(c[h>>2]|0);l=j;return}else{Ti(a,47636,0,0);l=j;return}}function vL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;m=u+76|0;n=u+72|0;o=u+68|0;p=u;q=u+64|0;r=u+60|0;s=u+56|0;f=u+52|0;g=u+48|0;h=u+44|0;i=u+40|0;j=u+36|0;k=u+32|0;c[m>>2]=b;c[n>>2]=d;c[o>>2]=e;c[q>>2]=c[c[n>>2]>>2];c[r>>2]=0;c[s>>2]=0;c[f>>2]=0;c[g>>2]=0;c[p>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0;c[p+12>>2]=0;c[p+16>>2]=0;c[p+20>>2]=0;c[p+24>>2]=0;c[p+28>>2]=0;c[p>>2]=c[n>>2];c[p+4>>2]=c[(c[q>>2]|0)+24>>2];if(c[(c[n>>2]|0)+92>>2]|0?vQ(c[(c[(c[n>>2]|0)+92>>2]|0)+12>>2]|0,c[o>>2]|0)|0:0){xL(c[(c[n>>2]|0)+92>>2]|0);c[(c[n>>2]|0)+92>>2]=0}if(!(c[(c[n>>2]|0)+92>>2]|0)){c[h>>2]=0;e=yL(c[(c[n>>2]|0)+12>>2]|0)|0;c[(c[n>>2]|0)+20>>2]=e;c[p+8>>2]=c[(c[n>>2]|0)+20>>2];c[i>>2]=0;while(1){if(!(a[(c[o>>2]|0)+(c[i>>2]|0)>>0]|0))break;c[j>>2]=0;if(zL(c[q>>2]|0,a[(c[o>>2]|0)+(c[i>>2]|0)>>0]|0,j)|0){t=8;break}e=AL(p,a[(c[o>>2]|0)+(c[i>>2]|0)>>0]|0)|0;c[h>>2]=(c[h>>2]|0)+e;c[i>>2]=(c[i>>2]|0)+1}if((t|0)==8){yh(c[m>>2]|0,c[j>>2]|0,-1);Kd(c[j>>2]|0);l=u;return}t=BL(c[h>>2]|0,c[o>>2]|0)|0;c[(c[n>>2]|0)+92>>2]=t;if(!(c[(c[n>>2]|0)+92>>2]|0))c[r>>2]=7;c[(c[n>>2]|0)+88>>2]=1;c[s>>2]=1}if((c[r>>2]|0)==0?(c[g>>2]=CL(c[(c[n>>2]|0)+92>>2]|0,f)|0,(c[g>>2]|0)==0):0)c[r>>2]=7;if((c[r>>2]|0)==0?(c[p+28>>2]=c[f>>2],c[p+8>>2]=c[(c[n>>2]|0)+20>>2],c[r>>2]=DL(c[n>>2]|0,c[s>>2]|0,p,c[o>>2]|0)|0,c[s>>2]|0):0)EL(c[(c[n>>2]|0)+92>>2]|0);if(!(c[r>>2]|0)){c[k>>2]=c[(c[(c[n>>2]|0)+92>>2]|0)+4>>2]<<2;Ti(c[m>>2]|0,c[f>>2]|0,c[k>>2]|0,c[g>>2]|0);l=u;return}Bi(c[m>>2]|0,c[r>>2]|0);if(!(c[g>>2]|0)){l=u;return}qb[c[g>>2]&255](c[f>>2]|0);l=u;return}function wL(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;zI(c[(c[d>>2]|0)+244>>2]|0)|0;c[(c[d>>2]|0)+244>>2]=0;l=b;return}function xL(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;if(!(c[e>>2]|0)){l=f;return}a[c[e>>2]>>0]=0;if(d[c[e>>2]>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+1>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+2>>0]|0|0){l=f;return}Kd(c[e>>2]|0);l=f;return}function yL(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;LL(c[e>>2]|0,156,b)|0;l=d;return c[b>>2]|0}function zL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;k=m;g=m+12|0;h=m+8|0;i=m+16|0;j=m+4|0;c[h>>2]=b;a[i>>0]=e;c[j>>2]=f;do if((a[i>>0]|0)!=112?(a[i>>0]|0)!=99:0){if((a[i>>0]|0)==110?d[(c[h>>2]|0)+228>>0]|0:0)break;if((a[i>>0]|0)==97?d[(c[h>>2]|0)+228>>0]|0:0)break;if((a[i>>0]|0)==108?d[(c[h>>2]|0)+230>>0]|0:0)break;if((((a[i>>0]|0)!=115?(a[i>>0]|0)!=120:0)?(a[i>>0]|0)!=121:0)?(a[i>>0]|0)!=98:0){j=c[j>>2]|0;c[k>>2]=a[i>>0];DJ(j,42282,k);c[g>>2]=1;k=c[g>>2]|0;l=m;return k|0}}while(0);c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function AL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=l;l=l+16|0;e=g+4|0;h=g+8|0;f=g;c[e>>2]=b;a[h>>0]=d;switch(a[h>>0]|0){case 99:case 112:case 110:{c[f>>2]=1;break}case 115:case 108:case 97:{c[f>>2]=c[(c[e>>2]|0)+4>>2];break}case 121:{c[f>>2]=O(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0;break}case 98:{c[f>>2]=O(c[(c[e>>2]|0)+8>>2]|0,((c[(c[e>>2]|0)+4>>2]|0)+31|0)/32|0)|0;break}default:c[f>>2]=(O(c[(c[e>>2]|0)+4>>2]|0,c[(c[e>>2]|0)+8>>2]|0)|0)*3}l=g;return c[f>>2]|0}function BL(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=b;c[f>>2]=d;c[h>>2]=((c[e>>2]<<1)+1<<2)+20;c[i>>2]=lQ(c[f>>2]|0)|0;c[g>>2]=Yd((c[h>>2]|0)+(c[i>>2]|0)+1|0)|0;if(!(c[g>>2]|0)){i=c[g>>2]|0;l=j;return i|0}GR(c[g>>2]|0,0,c[h>>2]|0)|0;c[(c[g>>2]|0)+16>>2]=(c[g>>2]|0)+16+4-(c[g>>2]|0);c[(c[g>>2]|0)+16+(1+(c[e>>2]|0)<<2)>>2]=(c[(c[g>>2]|0)+16>>2]|0)+((c[e>>2]|0)+1<<2);c[(c[g>>2]|0)+4>>2]=c[e>>2];c[(c[g>>2]|0)+12>>2]=(c[g>>2]|0)+(c[h>>2]|0);MR(c[(c[g>>2]|0)+12>>2]|0,c[f>>2]|0,(c[i>>2]|0)+1|0)|0;a[c[g>>2]>>0]=1;i=c[g>>2]|0;l=j;return i|0}function CL(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=0;b=c[f>>2]|0;do if(d[(c[f>>2]|0)+1>>0]|0){e=c[f>>2]|0;if(!(d[b+2>>0]|0)){a[e+2>>0]=1;c[i>>2]=(c[f>>2]|0)+16+((c[(c[f>>2]|0)+4>>2]|0)+2<<2);c[h>>2]=153;break}c[i>>2]=Yd(c[e+4>>2]<<2)|0;if(c[i>>2]|0?(c[h>>2]=148,c[(c[f>>2]|0)+8>>2]|0):0)MR(c[i>>2]|0,(c[f>>2]|0)+16+4|0,c[(c[f>>2]|0)+4>>2]<<2|0)|0}else{a[b+1>>0]=1;c[i>>2]=(c[f>>2]|0)+16+4;c[h>>2]=153}while(0);c[c[g>>2]>>2]=c[i>>2];l=j;return c[h>>2]|0}function DL(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;C=l;l=l+96|0;u=C+92|0;v=C+88|0;w=C+84|0;x=C+80|0;B=C+76|0;y=C+72|0;g=C+68|0;A=C+64|0;h=C+24|0;i=C+16|0;j=C+60|0;k=C+56|0;m=C+52|0;n=C+8|0;o=C+48|0;p=C+44|0;q=C+40|0;r=C;s=C+36|0;t=C+32|0;c[u>>2]=b;c[v>>2]=d;c[w>>2]=e;c[x>>2]=f;c[B>>2]=0;c[g>>2]=c[c[u>>2]>>2];c[A>>2]=0;c[y>>2]=0;while(1){if(c[B>>2]|0){b=31;break}if(!(a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0)){b=31;break}a[(c[w>>2]|0)+24>>0]=a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0;a:do switch(a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0){case 112:{if(c[v>>2]|0)c[c[(c[w>>2]|0)+28>>2]>>2]=c[(c[w>>2]|0)+8>>2];break}case 99:{if(c[v>>2]|0)c[c[(c[w>>2]|0)+28>>2]>>2]=c[(c[w>>2]|0)+4>>2];break}case 110:{if(c[v>>2]|0){f=h;c[f>>2]=0;c[f+4>>2]=0;c[B>>2]=FL(c[g>>2]|0,A,h,0)|0;c[c[(c[w>>2]|0)+28>>2]>>2]=c[h>>2]}break}case 97:{if(c[v>>2]|0?(c[B>>2]=FL(c[g>>2]|0,A,i,j)|0,(c[B>>2]|0)==0):0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[w>>2]|0)+4>>2]|0))break a;f=YK(c[j>>2]|0,n)|0;c[j>>2]=(c[j>>2]|0)+f;f=c[n>>2]|0;e=i;e=LR(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;e=IR(f|0,0,e|0,z|0)|0;f=i;f=LR(e|0,z|0,c[f>>2]|0,c[f+4>>2]|0)|0;c[m>>2]=f;c[(c[(c[w>>2]|0)+28>>2]|0)+(c[k>>2]<<2)>>2]=c[m>>2];c[k>>2]=(c[k>>2]|0)+1}}break}case 108:{c[o>>2]=0;f=(c[u>>2]|0)+32|0;c[B>>2]=GL(c[g>>2]|0,c[f>>2]|0,c[f+4>>2]|0,o)|0;b:do if(!(c[B>>2]|0)){c[q>>2]=eI(c[o>>2]|0,0)|0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[w>>2]|0)+4>>2]|0))break b;f=YK(c[q>>2]|0,r)|0;c[q>>2]=(c[q>>2]|0)+f;c[(c[(c[w>>2]|0)+28>>2]|0)+(c[p>>2]<<2)>>2]=c[r>>2];c[p>>2]=(c[p>>2]|0)+1}}while(0);Er(c[o>>2]|0)|0;break}case 115:{c[B>>2]=HL(c[u>>2]|0,0,0)|0;if(!(c[B>>2]|0))c[B>>2]=IL(c[u>>2]|0,c[w>>2]|0)|0;break}case 121:case 98:{c[s>>2]=(AL(c[w>>2]|0,a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0)|0)<<2;GR(c[(c[w>>2]|0)+28>>2]|0,0,c[s>>2]|0)|0;JL(c[(c[u>>2]|0)+12>>2]|0,c[w>>2]|0);break}default:{c[t>>2]=c[(c[u>>2]|0)+12>>2];c[B>>2]=HL(c[u>>2]|0,0,0)|0;if(!(c[B>>2]|0)){if(c[v>>2]|0){if(c[(c[u>>2]|0)+24>>2]|0?(c[B>>2]=FL(c[g>>2]|0,A,(c[w>>2]|0)+16|0,0)|0,c[B>>2]|0):0)break a;c[B>>2]=LL(c[t>>2]|0,157,c[w>>2]|0)|0;ML(c[u>>2]|0,B)|0;if(c[B>>2]|0)break a}LL(c[t>>2]|0,158,c[w>>2]|0)|0}}}while(0);e=AL(c[w>>2]|0,a[(c[x>>2]|0)+(c[y>>2]|0)>>0]|0)|0;f=(c[w>>2]|0)+28|0;c[f>>2]=(c[f>>2]|0)+(e<<2);c[y>>2]=(c[y>>2]|0)+1}if((b|0)==31){Er(c[A>>2]|0)|0;l=C;return c[B>>2]|0}return 0}function EL(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+8>>2]=1;MR((c[d>>2]|0)+16+(2+(c[(c[d>>2]|0)+4>>2]|0)<<2)|0,(c[d>>2]|0)+16+4|0,c[(c[d>>2]|0)+4>>2]<<2|0)|0;l=b;return}function FL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;i=p+36|0;j=p+32|0;k=p+28|0;m=p+24|0;n=p+20|0;o=p+16|0;f=p+12|0;g=p;h=p+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;if((c[c[k>>2]>>2]|0)==0?(c[h>>2]=MM(c[j>>2]|0,c[k>>2]|0)|0,c[h>>2]|0):0){c[i>>2]=c[h>>2];o=c[i>>2]|0;l=p;return o|0}c[o>>2]=c[c[k>>2]>>2];c[f>>2]=eI(c[o>>2]|0,0)|0;o=YK(c[f>>2]|0,g)|0;c[f>>2]=(c[f>>2]|0)+o;o=g;if((c[o>>2]|0)==0&(c[o+4>>2]|0)==0){c[i>>2]=267;o=c[i>>2]|0;l=p;return o|0}o=c[m>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=0;if(c[n>>2]|0)c[c[n>>2]>>2]=c[f>>2];c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}function GL(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f+12|0;i=f;g=f+8|0;c[h>>2]=a;a=i;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;e=i;e=LM(c[h>>2]|0,c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0)|0;l=f;return e|0}function HL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+24|0;e=i+20|0;f=i+16|0;g=i+12|0;h=i;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h>>2]=c[j>>2];c[g>>2]=LL(c[(c[j>>2]|0)+12>>2]|0,159,h)|0;if(c[e>>2]|0)c[c[e>>2]>>2]=c[h+4>>2];if(!(c[f>>2]|0)){j=c[g>>2]|0;l=i;return j|0}c[c[f>>2]>>2]=c[h+8>>2];j=c[g>>2]|0;l=i;return j|0}function IL(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+64|0;r=t+56|0;j=t+52|0;k=t+48|0;s=t+44|0;m=t+40|0;n=t+36|0;o=t+32|0;p=t+28|0;d=t+24|0;e=t+20|0;q=t+16|0;f=t+12|0;g=t+8|0;h=t+4|0;i=t;c[j>>2]=a;c[k>>2]=b;c[o>>2]=0;c[s>>2]=Yd(c[(c[j>>2]|0)+20>>2]<<4)|0;if(!(c[s>>2]|0)){c[r>>2]=7;s=c[r>>2]|0;l=t;return s|0}GR(c[s>>2]|0,0,c[(c[j>>2]|0)+20>>2]<<4|0)|0;LL(c[(c[j>>2]|0)+12>>2]|0,160,c[s>>2]|0)|0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[p>>2]=(c[s>>2]|0)+(c[m>>2]<<4);c[o>>2]=(c[o>>2]|0)-(c[(c[(c[c[p>>2]>>2]|0)+20>>2]|0)+64>>2]|0);c[(c[p>>2]|0)+4>>2]=c[o>>2];c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=0;a:while(1){if((c[n>>2]|0)>=(c[(c[k>>2]|0)+4>>2]|0)){a=33;break}c[d>>2]=0;c[e>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[f>>2]=(c[s>>2]|0)+(c[m>>2]<<4);c[q>>2]=OL(c[j>>2]|0,c[c[f>>2]>>2]|0,c[n>>2]|0,(c[f>>2]|0)+8|0)|0;if(c[q>>2]|0){a=11;break a}if(c[(c[f>>2]|0)+8>>2]|0){c[(c[f>>2]|0)+12>>2]=c[(c[f>>2]|0)+4>>2];JM((c[s>>2]|0)+(c[m>>2]<<4)|0)|0;c[e>>2]=(c[e>>2]|0)+1}c[m>>2]=(c[m>>2]|0)+1}while(1){if((c[e>>2]|0)<=0)break;c[g>>2]=0;c[h>>2]=0;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[(c[k>>2]|0)+8>>2]|0))break;c[i>>2]=(c[s>>2]|0)+(c[m>>2]<<4);if(c[(c[i>>2]|0)+8>>2]|0){if(!((c[g>>2]|0)!=0?(c[(c[i>>2]|0)+12>>2]|0)>=(c[(c[g>>2]|0)+12>>2]|0):0))c[g>>2]=c[i>>2];if((c[h>>2]|0)!=0?(c[(c[i>>2]|0)+12>>2]|0)!=(c[(c[i>>2]|0)+-16+12>>2]|0):0)c[h>>2]=1;else c[h>>2]=(c[h>>2]|0)+1;if((c[h>>2]|0)>(c[d>>2]|0))c[d>>2]=c[h>>2]}else c[h>>2]=0;c[m>>2]=(c[m>>2]|0)+1}if(!(JM(c[g>>2]|0)|0))continue;c[e>>2]=(c[e>>2]|0)+-1}c[(c[(c[k>>2]|0)+28>>2]|0)+(c[n>>2]<<2)>>2]=c[d>>2];c[n>>2]=(c[n>>2]|0)+1}if((a|0)==11){c[r>>2]=c[q>>2];s=c[r>>2]|0;l=t;return s|0}else if((a|0)==33){Kd(c[s>>2]|0);c[r>>2]=0;s=c[r>>2]|0;l=t;return s|0}return 0}function JL(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=b;if(d[(c[e>>2]|0)+32>>0]|0|0){l=g;return}a=(c[e>>2]|0)+24|0;b=(c[c[f>>2]>>2]|0)+32|0;if(!((c[a>>2]|0)==(c[b>>2]|0)?(c[a+4>>2]|0)==(c[b+4>>2]|0):0)){l=g;return}a=c[e>>2]|0;if(c[(c[e>>2]|0)+12>>2]|0){JL(c[a+12>>2]|0,c[f>>2]|0);JL(c[(c[e>>2]|0)+16>>2]|0,c[f>>2]|0);l=g;return}else{HM(a,c[f>>2]|0);l=g;return}}function KL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;g=e+8|0;i=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[i>>2]=d;c[f>>2]=c[i>>2];d=EM(c[c[f>>2]>>2]|0,c[h>>2]|0,(c[(c[f>>2]|0)+28>>2]|0)+((O((c[g>>2]|0)*3|0,c[(c[f>>2]|0)+4>>2]|0)|0)<<2)|0)|0;l=e;return d|0}function LL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;i=e+12|0;g=e+8|0;f=e+4|0;h=e;c[i>>2]=a;c[g>>2]=b;c[f>>2]=d;c[h>>2]=0;d=DM(c[i>>2]|0,h,c[g>>2]|0,c[f>>2]|0)|0;l=e;return d|0}function ML(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];c[g>>2]=0;if(c[f>>2]|0){f=c[f>>2]|0;f=(f|0)==0;g=c[g>>2]|0;g=(g|0)!=0;g=f?g:0;g=g&1;l=h;return g|0}if(c[(c[d>>2]|0)+24>>2]|0?(c[f>>2]=qM(0,c[d>>2]|0)|0,(c[f>>2]|0)==0):0)c[f>>2]=rM(c[d>>2]|0)|0;c[g>>2]=0==(sM(c[d>>2]|0,c[(c[d>>2]|0)+12>>2]|0,f)|0)&1;tM(c[d>>2]|0);c[c[e>>2]>>2]=c[f>>2];f=c[f>>2]|0;f=(f|0)==0;g=c[g>>2]|0;g=(g|0)!=0;g=f?g:0;g=g&1;l=h;return g|0}function NL(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;g=m+28|0;e=m+24|0;n=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;f=m;c[g>>2]=a;c[e>>2]=b;c[n>>2]=d;c[h>>2]=0;c[i>>2]=c[n>>2];c[j>>2]=(O(c[e>>2]|0,c[(c[i>>2]|0)+4>>2]|0)|0)*3;c[k>>2]=0;while(1){if(!((c[k>>2]|0)<(c[(c[i>>2]|0)+4>>2]|0)?(c[h>>2]|0)==0:0))break;c[h>>2]=OL(c[c[i>>2]>>2]|0,c[g>>2]|0,c[k>>2]|0,f)|0;if(c[f>>2]|0){a=PL(f)|0;b=c[(c[i>>2]|0)+28>>2]|0;d=c[j>>2]|0;e=c[k>>2]|0}else{a=0;b=c[(c[i>>2]|0)+28>>2]|0;d=c[j>>2]|0;e=c[k>>2]|0}c[b+(d+(e*3|0)<<2)>>2]=a;c[k>>2]=(c[k>>2]|0)+1}l=m;return c[h>>2]|0}function OL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+96|0;C=G+80|0;x=G+76|0;o=G+72|0;D=G+68|0;E=G+64|0;y=G+60|0;h=G+56|0;A=G+52|0;B=G+48|0;p=G;i=G+44|0;q=G+40|0;j=G+36|0;k=G+85|0;r=G+32|0;m=G+28|0;s=G+24|0;n=G+20|0;t=G+84|0;u=G+16|0;v=G+12|0;w=G+8|0;c[x>>2]=b;c[o>>2]=e;c[D>>2]=f;c[E>>2]=g;c[y>>2]=c[(c[o>>2]|0)+20>>2];c[h>>2]=c[c[x>>2]>>2];c[c[E>>2]>>2]=0;if((c[(c[y>>2]|0)+68>>2]|0)<(c[(c[h>>2]|0)+24>>2]|0)?(c[(c[y>>2]|0)+68>>2]|0)!=(c[D>>2]|0):0){c[C>>2]=0;F=c[C>>2]|0;l=G;return F|0}e=(c[o>>2]|0)+24|0;g=c[e+4>>2]|0;f=p;c[f>>2]=c[e>>2];c[f+4>>2]=g;c[A>>2]=c[(c[y>>2]|0)+28>>2];f=p;g=(c[x>>2]|0)+32|0;if(!(!((c[f>>2]|0)!=(c[g>>2]|0)?1:(c[f+4>>2]|0)!=(c[g+4>>2]|0))?!(d[(c[o>>2]|0)+32>>0]|0):0))F=6;do if((F|0)==6){c[i>>2]=0;c[q>>2]=d[(c[h>>2]|0)+231>>0];c[j>>2]=0;a[k>>0]=0;c[m>>2]=c[o>>2];c[r>>2]=c[(c[o>>2]|0)+8>>2];while(1){if(!(c[r>>2]|0))break;if((c[c[r>>2]>>2]|0)==4)c[j>>2]=1;if((c[c[r>>2]>>2]|0)==1)c[m>>2]=c[r>>2];if(a[(c[r>>2]|0)+32>>0]|0)a[k>>0]=1;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if(!(c[j>>2]|0)){c[C>>2]=0;F=c[C>>2]|0;l=G;return F|0}a:do if(c[(c[y>>2]|0)+40>>2]|0){c[n>>2]=d[(c[m>>2]|0)+32>>0];QL(c[x>>2]|0,c[m>>2]|0,i);b:while(1){if(c[i>>2]|0)break a;while(1){if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break a;RL(c[x>>2]|0,c[m>>2]|0,i);if(c[n>>2]|0)continue b;g=(c[m>>2]|0)+24|0;o=p;if(!(((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))&(c[i>>2]|0)==0))break a}}}while(0);c:do if((a[k>>0]|0)!=0&(c[i>>2]|0)==0)do{if(!((a[(c[m>>2]|0)+32>>0]|0)!=0^1))break c;RL(c[x>>2]|0,c[m>>2]|0,i)}while(!(c[i>>2]|0));while(0);if(c[i>>2]|0){c[C>>2]=c[i>>2];F=c[C>>2]|0;l=G;return F|0}c[s>>2]=1;c[r>>2]=c[m>>2];while(1){if(!(c[r>>2]|0))break;a[t>>0]=0;c[u>>2]=c[r>>2];if((c[c[u>>2]>>2]|0)==1)c[u>>2]=c[(c[u>>2]|0)+16>>2];c[v>>2]=c[(c[u>>2]|0)+20>>2];c[A>>2]=c[(c[v>>2]|0)+48>>2];g=(c[v>>2]|0)+56|0;o=c[g+4>>2]|0;b=p;c[b>>2]=c[g>>2];c[b+4>>2]=o;b=(c[(c[v>>2]|0)+4>>2]|0)!=0;d:do if((d[(c[x>>2]|0)+52>>0]|0)==(c[q>>2]|0)){if(b)b=(c[A>>2]|0)>>>0>=((c[c[v>>2]>>2]|0)+(c[(c[v>>2]|0)+4>>2]|0)|0)>>>0;else b=1;a[t>>0]=b&1;while(1){if(c[A>>2]|0?(g=c[q>>2]|0?-1:1,n=p,o=(c[x>>2]|0)+32|0,o=FR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,RR(g|0,((g|0)<0)<<31>>31|0,o|0,z|0)|0,(z|0)>=0):0)break d;if(d[t>>0]|0)break d;SL(c[q>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,A,p,t)}}else{if(b)if(c[A>>2]|0)b=(c[A>>2]|0)>>>0<=(c[c[v>>2]>>2]|0)>>>0;else b=0;else b=1;a[t>>0]=b&1;while(1){if(c[A>>2]|0?(g=c[q>>2]|0?-1:1,n=p,o=(c[x>>2]|0)+32|0,o=FR(c[n>>2]|0,c[n+4>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0,o=RR(g|0,((g|0)<0)<<31>>31|0,o|0,z|0)|0,g=z,!((g|0)>0|(g|0)==0&o>>>0>0)):0)break d;if(d[t>>0]|0)break d;_K(c[q>>2]|0,c[c[v>>2]>>2]|0,c[(c[v>>2]|0)+4>>2]|0,A,p,w,t)}}while(0);c[(c[v>>2]|0)+48>>2]=c[A>>2];n=p;g=c[n+4>>2]|0;o=(c[v>>2]|0)+56|0;c[o>>2]=c[n>>2];c[o+4>>2]=g;if(!(!(d[t>>0]|0)?(g=p,o=(c[x>>2]|0)+32|0,!((c[g>>2]|0)!=(c[o>>2]|0)?1:(c[g+4>>2]|0)!=(c[o+4>>2]|0))):0))c[s>>2]=0;c[r>>2]=c[(c[r>>2]|0)+12>>2]}if(c[s>>2]|0){c[A>>2]=c[(c[y>>2]|0)+48>>2];break}else{c[A>>2]=0;break}}while(0);if(!(c[A>>2]|0)){c[C>>2]=0;F=c[C>>2]|0;l=G;return F|0}if((a[c[A>>2]>>0]|0)==1){c[A>>2]=(c[A>>2]|0)+1;b=c[A>>2]|0;if(d[c[A>>2]>>0]&128|0)b=ZK(b,B)|0;else{c[B>>2]=d[b>>0];b=1}c[A>>2]=(c[A>>2]|0)+b}else c[B>>2]=0;while(1){if((c[B>>2]|0)>=(c[D>>2]|0))break;XK(0,A);if(!(a[c[A>>2]>>0]|0)){F=65;break}c[A>>2]=(c[A>>2]|0)+1;b=c[A>>2]|0;if(d[c[A>>2]>>0]&128|0)b=ZK(b,B)|0;else{c[B>>2]=d[b>>0];b=1}c[A>>2]=(c[A>>2]|0)+b}if((F|0)==65){c[C>>2]=0;F=c[C>>2]|0;l=G;return F|0}if(!(a[c[A>>2]>>0]|0))c[A>>2]=0;c[c[E>>2]>>2]=(c[D>>2]|0)==(c[B>>2]|0)?c[A>>2]|0:0;c[C>>2]=0;F=c[C>>2]|0;l=G;return F|0}function PL(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;e=h+4|0;f=h+12|0;g=h;c[d>>2]=b;c[e>>2]=c[c[d>>2]>>2];a[f>>0]=0;c[g>>2]=0;while(1){b=c[e>>2]|0;if(!(254&(a[c[e>>2]>>0]|a[f>>0])))break;c[e>>2]=b+1;a[f>>0]=a[b>>0]&128;if(a[f>>0]|0)continue;c[g>>2]=(c[g>>2]|0)+1}c[c[d>>2]>>2]=b;l=h;return c[g>>2]|0}function QL(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){l=m;return}if(c[c[h>>2]>>2]|0){l=m;return}c[i>>2]=c[(c[g>>2]|0)+20>>2];if(c[i>>2]|0){TL(c[i>>2]|0);if(c[(c[i>>2]|0)+40>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[i>>2]|0)+64>>2]|0))break;c[k>>2]=(c[i>>2]|0)+72+((c[j>>2]|0)*24|0);if(c[(c[k>>2]|0)+20>>2]|0)aM(c[(c[k>>2]|0)+20>>2]|0)|0;c[j>>2]=(c[j>>2]|0)+1}k=bM(c[f>>2]|0,0,c[i>>2]|0)|0;c[c[h>>2]>>2]=k}c[(c[i>>2]|0)+8>>2]=0;k=(c[i>>2]|0)+16|0;c[k>>2]=0;c[k+4>>2]=0;c[(c[i>>2]|0)+48>>2]=0}k=(c[g>>2]|0)+24|0;c[k>>2]=0;c[k+4>>2]=0;a[(c[g>>2]|0)+32>>0]=0;a[(c[g>>2]|0)+33>>0]=0;QL(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0,c[h>>2]|0);QL(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0);l=m;return}function RL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;r=x+64|0;w=x+60|0;s=x+56|0;t=x+52|0;u=x+48|0;v=x+44|0;o=x+8|0;p=x+40|0;q=x+36|0;k=x+32|0;m=x+28|0;n=x;g=x+24|0;h=x+20|0;i=x+16|0;c[r>>2]=b;c[w>>2]=e;c[s>>2]=f;if(c[c[s>>2]>>2]|0){l=x;return}c[t>>2]=d[(c[r>>2]|0)+52>>0];a[(c[w>>2]|0)+33>>0]=1;switch(c[c[w>>2]>>2]|0){case 3:case 1:{c[u>>2]=c[(c[w>>2]|0)+12>>2];c[v>>2]=c[(c[w>>2]|0)+16>>2];if(a[(c[u>>2]|0)+34>>0]|0){RL(c[r>>2]|0,c[v>>2]|0,c[s>>2]|0);s=(c[v>>2]|0)+24|0;t=c[s+4>>2]|0;u=(c[w>>2]|0)+24|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[v>>2]|0)+32>>0]|0;l=x;return}n=(a[(c[v>>2]|0)+34>>0]|0)!=0;RL(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0);if(n){s=(c[u>>2]|0)+24|0;t=c[s+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[s>>2];c[v+4>>2]=t;a[(c[w>>2]|0)+32>>0]=a[(c[u>>2]|0)+32>>0]|0;l=x;return}RL(c[r>>2]|0,c[v>>2]|0,c[s>>2]|0);while(1){if(a[(c[u>>2]|0)+32>>0]|0)break;if(a[(c[v>>2]|0)+32>>0]|0)break;if(c[c[s>>2]>>2]|0)break;n=c[t>>2]|0?-1:1;k=(c[u>>2]|0)+24|0;m=(c[v>>2]|0)+24|0;m=FR(c[k>>2]|0,c[k+4>>2]|0,c[m>>2]|0,c[m+4>>2]|0)|0;m=RR(n|0,((n|0)<0)<<31>>31|0,m|0,z|0)|0;n=o;c[n>>2]=m;c[n+4>>2]=z;n=o;if((c[n>>2]|0)==0&(c[n+4>>2]|0)==0)break;b=c[r>>2]|0;if((c[o+4>>2]|0)<0){RL(b,c[u>>2]|0,c[s>>2]|0);continue}else{RL(b,c[v>>2]|0,c[s>>2]|0);continue}}n=(c[u>>2]|0)+24|0;o=c[n+4>>2]|0;t=(c[w>>2]|0)+24|0;c[t>>2]=c[n>>2];c[t+4>>2]=o;if(d[(c[u>>2]|0)+32>>0]|0)b=1;else b=(d[(c[v>>2]|0)+32>>0]|0)!=0;a[(c[w>>2]|0)+32>>0]=b&1;if((c[c[w>>2]>>2]|0)!=1){l=x;return}if(!(d[(c[w>>2]|0)+32>>0]|0)){l=x;return}a:do if(c[(c[v>>2]|0)+20>>2]|0?c[c[(c[v>>2]|0)+20>>2]>>2]|0:0){c[p>>2]=c[(c[v>>2]|0)+20>>2];while(1){if(c[c[s>>2]>>2]|0)break a;if(d[(c[v>>2]|0)+32>>0]|0)break a;GR(c[(c[p>>2]|0)+28>>2]|0,0,c[(c[p>>2]|0)+32>>2]|0)|0;RL(c[r>>2]|0,c[v>>2]|0,c[s>>2]|0)}}while(0);if(!(c[(c[u>>2]|0)+20>>2]|0)){l=x;return}if(!(c[c[(c[u>>2]|0)+20>>2]>>2]|0)){l=x;return}c[q>>2]=c[(c[u>>2]|0)+20>>2];while(1){if(c[c[s>>2]>>2]|0){j=54;break}if(d[(c[u>>2]|0)+32>>0]|0){j=54;break}GR(c[(c[q>>2]|0)+28>>2]|0,0,c[(c[q>>2]|0)+32>>2]|0)|0;RL(c[r>>2]|0,c[u>>2]|0,c[s>>2]|0)}if((j|0)==54){l=x;return}break}case 4:{c[k>>2]=c[(c[w>>2]|0)+12>>2];c[m>>2]=c[(c[w>>2]|0)+16>>2];v=c[t>>2]|0?-1:1;q=(c[k>>2]|0)+24|0;u=(c[m>>2]|0)+24|0;u=FR(c[q>>2]|0,c[q+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=RR(v|0,((v|0)<0)<<31>>31|0,u|0,z|0)|0;v=n;c[v>>2]=u;c[v+4>>2]=z;do if(!(d[(c[m>>2]|0)+32>>0]|0)?!((c[n+4>>2]|0)<0?(d[(c[k>>2]|0)+32>>0]|0)==0:0):0){if((d[(c[k>>2]|0)+32>>0]|0)==0?(v=n,u=c[v+4>>2]|0,!((d[(c[m>>2]|0)+32>>0]|0)==0&((u|0)>0|(u|0)==0&(c[v>>2]|0)>>>0>0))):0){RL(c[r>>2]|0,c[k>>2]|0,c[s>>2]|0);RL(c[r>>2]|0,c[m>>2]|0,c[s>>2]|0);break}RL(c[r>>2]|0,c[m>>2]|0,c[s>>2]|0)}else j=33;while(0);if((j|0)==33)RL(c[r>>2]|0,c[k>>2]|0,c[s>>2]|0);if(d[(c[k>>2]|0)+32>>0]|0)b=(d[(c[m>>2]|0)+32>>0]|0)!=0;else b=0;a[(c[w>>2]|0)+32>>0]=b&1;v=c[t>>2]|0?-1:1;t=(c[k>>2]|0)+24|0;u=(c[m>>2]|0)+24|0;u=FR(c[t>>2]|0,c[t+4>>2]|0,c[u>>2]|0,c[u+4>>2]|0)|0;u=RR(v|0,((v|0)<0)<<31>>31|0,u|0,z|0)|0;v=n;c[v>>2]=u;c[v+4>>2]=z;if(!(d[(c[m>>2]|0)+32>>0]|0)?!((c[n+4>>2]|0)<0?(d[(c[k>>2]|0)+32>>0]|0)==0:0):0){g=(c[m>>2]|0)+24|0;b=c[w>>2]|0;e=c[g>>2]|0;g=c[g+4>>2]|0}else{g=(c[k>>2]|0)+24|0;b=c[w>>2]|0;e=c[g>>2]|0;g=c[g+4>>2]|0}w=b+24|0;c[w>>2]=e;c[w+4>>2]=g;l=x;return}case 2:{c[g>>2]=c[(c[w>>2]|0)+12>>2];c[h>>2]=c[(c[w>>2]|0)+16>>2];if(!(d[(c[h>>2]|0)+33>>0]|0))RL(c[r>>2]|0,c[h>>2]|0,c[s>>2]|0);RL(c[r>>2]|0,c[g>>2]|0,c[s>>2]|0);b:do if(!(d[(c[g>>2]|0)+32>>0]|0))while(1){if(c[c[s>>2]>>2]|0)break b;if(a[(c[h>>2]|0)+32>>0]|0)break b;u=c[t>>2]|0?-1:1;q=(c[g>>2]|0)+24|0;v=(c[h>>2]|0)+24|0;v=FR(c[q>>2]|0,c[q+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0;v=RR(u|0,((u|0)<0)<<31>>31|0,v|0,z|0)|0;u=z;if(!((u|0)>0|(u|0)==0&v>>>0>0))break b;RL(c[r>>2]|0,c[h>>2]|0,c[s>>2]|0)}while(0);t=(c[g>>2]|0)+24|0;u=c[t+4>>2]|0;v=(c[w>>2]|0)+24|0;c[v>>2]=c[t>>2];c[v+4>>2]=u;a[(c[w>>2]|0)+32>>0]=a[(c[g>>2]|0)+32>>0]|0;l=x;return}default:{c[i>>2]=c[(c[w>>2]|0)+20>>2];TL(c[i>>2]|0);u=UL(c[r>>2]|0,c[i>>2]|0,(c[w>>2]|0)+32|0)|0;c[c[s>>2]>>2]=u;u=(c[i>>2]|0)+16|0;v=c[u+4>>2]|0;w=(c[w>>2]|0)+24|0;c[w>>2]=c[u>>2];c[w+4>>2]=v;l=x;return}}}function SL(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;i=r+16|0;j=r+12|0;k=r+8|0;m=r;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[i>>2]=g;c[j>>2]=h;c[k>>2]=c[c[q>>2]>>2];if(!(c[k>>2]|0)){c[k>>2]=c[o>>2];p=YK(c[k>>2]|0,c[i>>2]|0)|0;c[k>>2]=(c[k>>2]|0)+p;p=c[k>>2]|0;q=c[q>>2]|0;c[q>>2]=p;l=r;return}bL(0,k);while(1){if((c[k>>2]|0)>>>0<((c[o>>2]|0)+(c[p>>2]|0)|0)>>>0)d=(a[c[k>>2]>>0]|0)==0;else d=0;b=c[k>>2]|0;if(!d)break;c[k>>2]=b+1}if(b>>>0>=((c[o>>2]|0)+(c[p>>2]|0)|0)>>>0){a[c[j>>2]>>0]=1;p=c[k>>2]|0;q=c[q>>2]|0;c[q>>2]=p;l=r;return}else{p=YK(c[k>>2]|0,m)|0;c[k>>2]=(c[k>>2]|0)+p;p=c[n>>2]|0?-1:1;o=m;o=RR(p|0,((p|0)<0)<<31>>31|0,c[o>>2]|0,c[o+4>>2]|0)|0;p=c[i>>2]|0;n=p;o=IR(c[n>>2]|0,c[n+4>>2]|0,o|0,z|0)|0;c[p>>2]=o;c[p+4>>2]=z;p=c[k>>2]|0;q=c[q>>2]|0;c[q>>2]=p;l=r;return}}function TL(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(c[(c[b>>2]|0)+24>>2]|0)Kd(c[(c[b>>2]|0)+28>>2]|0);c[(c[b>>2]|0)+28>>2]=0;c[(c[b>>2]|0)+32>>2]=0;c[(c[b>>2]|0)+24>>2]=0;l=d;return}function UL(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[m>>2]=a;c[f>>2]=b;c[g>>2]=e;c[h>>2]=0;c[i>>2]=c[f>>2];c[j>>2]=c[c[m>>2]>>2];a=c[m>>2]|0;if(c[(c[f>>2]|0)+40>>2]|0){c[h>>2]=VL(a,c[f>>2]|0,c[g>>2]|0)|0;m=c[h>>2]|0;l=k;return m|0}if((d[a+52>>0]|0|0)!=(d[(c[j>>2]|0)+231>>0]|0|0)?c[(c[i>>2]|0)+4>>2]|0:0){_K(d[(c[j>>2]|0)+231>>0]|0,c[c[i>>2]>>2]|0,c[(c[i>>2]|0)+4>>2]|0,(c[i>>2]|0)+8|0,(c[i>>2]|0)+16|0,(c[i>>2]|0)+32|0,c[g>>2]|0);c[(c[i>>2]|0)+28>>2]=c[(c[i>>2]|0)+8>>2];m=c[h>>2]|0;l=k;return m|0}WL(c[j>>2]|0,c[i>>2]|0,c[g>>2]|0);m=c[h>>2]|0;l=k;return m|0}function VL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+192|0;w=E+172|0;g=E+168|0;x=E+164|0;y=E+160|0;A=E+156|0;B=E+152|0;C=E+148|0;h=E+176|0;i=E+144|0;j=E+8|0;k=E+140|0;m=E;n=E+136|0;o=E+132|0;p=E+128|0;q=E+124|0;r=E+120|0;s=E+116|0;t=E+112|0;u=E+108|0;v=E+104|0;c[g>>2]=b;c[x>>2]=e;c[y>>2]=f;c[A>>2]=0;c[B>>2]=c[x>>2];c[C>>2]=c[c[g>>2]>>2];a[h>>0]=0;if((c[(c[x>>2]|0)+64>>2]|0)==1?c[(c[x>>2]|0)+40>>2]|0:0){c[A>>2]=XL(c[C>>2]|0,c[(c[x>>2]|0)+72+20>>2]|0,(c[B>>2]|0)+16|0,(c[B>>2]|0)+28|0,(c[B>>2]|0)+32|0)|0;if(!(c[(c[B>>2]|0)+28>>2]|0))a[h>>0]=1}else D=5;a:do if((D|0)==5){c[i>>2]=d[(c[g>>2]|0)+52>>0];b=j;e=b+96|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(e|0));while(1){if(d[h>>0]|0|0)break a;c[k>>2]=0;g=m;c[g>>2]=0;c[g+4>>2]=0;c[n>>2]=0;while(1){if(c[A>>2]|0)break;if((c[n>>2]|0)>=(c[(c[x>>2]|0)+64>>2]|0))break;if(d[h>>0]|0|0)break;c[A>>2]=YL(c[C>>2]|0,c[x>>2]|0,c[n>>2]|0,j+((c[n>>2]|0)*24|0)|0,h)|0;do if(!(c[j+((c[n>>2]|0)*24|0)>>2]|0)){if(c[k>>2]|0?(f=c[i>>2]|0?-1:1,e=m,g=j+((c[n>>2]|0)*24|0)+8|0,g=FR(c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0,RR(f|0,((f|0)<0)<<31>>31|0,g|0,z|0)|0,(z|0)>=0):0)break;e=j+((c[n>>2]|0)*24|0)+8|0;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[k>>2]=1}while(0);c[n>>2]=(c[n>>2]|0)+1}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[x>>2]|0)+64>>2]|0))break;while(1){if(c[A>>2]|0)break;if(d[h>>0]|0|0)break;if(c[j+((c[n>>2]|0)*24|0)>>2]|0)break;f=c[i>>2]|0?-1:1;e=j+((c[n>>2]|0)*24|0)+8|0;g=m;g=FR(c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;RR(f|0,((f|0)<0)<<31>>31|0,g|0,z|0)|0;if((z|0)>=0)break;c[A>>2]=YL(c[C>>2]|0,c[x>>2]|0,c[n>>2]|0,j+((c[n>>2]|0)*24|0)|0,h)|0;f=c[i>>2]|0?-1:1;e=j+((c[n>>2]|0)*24|0)+8|0;g=m;g=FR(c[e>>2]|0,c[e+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;g=RR(f|0,((f|0)<0)<<31>>31|0,g|0,z|0)|0;f=z;if(!((f|0)>0|(f|0)==0&g>>>0>0))continue;e=j+((c[n>>2]|0)*24|0)+8|0;f=c[e+4>>2]|0;g=m;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[n>>2]=0}c[n>>2]=(c[n>>2]|0)+1}if(d[h>>0]|0|0)continue;c[o>>2]=0;c[p>>2]=c[j+(((c[(c[x>>2]|0)+64>>2]|0)-1|0)*24|0)+20>>2];c[q>>2]=Yd((c[p>>2]|0)+1|0)|0;if(!(c[q>>2]|0))break;MR(c[q>>2]|0,c[j+(((c[(c[x>>2]|0)+64>>2]|0)-1|0)*24|0)+16>>2]|0,(c[p>>2]|0)+1|0)|0;c[n>>2]=0;while(1){if((c[n>>2]|0)>=((c[(c[x>>2]|0)+64>>2]|0)-1|0))break;if(!(c[j+((c[n>>2]|0)*24|0)>>2]|0)){c[r>>2]=c[j+((c[n>>2]|0)*24|0)+16>>2];c[s>>2]=c[q>>2];c[t>>2]=c[q>>2];c[u>>2]=(c[(c[x>>2]|0)+64>>2]|0)-1-(c[n>>2]|0);c[v>>2]=ZL(t,c[u>>2]|0,0,1,r,s)|0;if(!(c[v>>2]|0))break;c[o>>2]=(c[t>>2]|0)-(c[q>>2]|0)}c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)==((c[(c[x>>2]|0)+64>>2]|0)-1|0)){D=35;break}Kd(c[q>>2]|0)}if((D|0)==35){x=m;C=c[x+4>>2]|0;D=(c[B>>2]|0)+16|0;c[D>>2]=c[x>>2];c[D+4>>2]=C;c[(c[B>>2]|0)+28>>2]=c[q>>2];c[(c[B>>2]|0)+32>>2]=c[o>>2];c[(c[B>>2]|0)+24>>2]=1;break}c[w>>2]=7;D=c[w>>2]|0;l=E;return D|0}while(0);a[c[y>>2]>>0]=a[h>>0]|0;c[w>>2]=c[A>>2];D=c[w>>2]|0;l=E;return D|0}function WL(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;m=n+8|0;h=n;c[g>>2]=b;c[i>>2]=e;c[j>>2]=f;c[m>>2]=(c[c[i>>2]>>2]|0)+(c[(c[i>>2]|0)+4>>2]|0);b=c[i>>2]|0;if(c[(c[i>>2]|0)+8>>2]|0)c[k>>2]=c[b+8>>2];else c[k>>2]=c[b>>2];if((c[k>>2]|0)>>>0>=(c[m>>2]|0)>>>0){a[c[j>>2]>>0]=1;l=n;return}f=YK(c[k>>2]|0,h)|0;c[k>>2]=(c[k>>2]|0)+f;if((d[(c[g>>2]|0)+231>>0]|0)!=0?(c[(c[i>>2]|0)+8>>2]|0)!=0:0){g=h;h=(c[i>>2]|0)+16|0;f=h;g=FR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=z}else{g=h;h=(c[i>>2]|0)+16|0;f=h;g=IR(c[f>>2]|0,c[f+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;c[h>>2]=g;c[h+4>>2]=z}c[(c[i>>2]|0)+28>>2]=c[k>>2];bL(0,k);c[(c[i>>2]|0)+32>>2]=(c[k>>2]|0)-(c[(c[i>>2]|0)+28>>2]|0);while(1){if((c[k>>2]|0)>>>0<(c[m>>2]|0)>>>0)b=(a[c[k>>2]>>0]|0)==0;else b=0;e=c[k>>2]|0;if(!b)break;c[k>>2]=e+1}c[(c[i>>2]|0)+8>>2]=e;a[c[j>>2]>>0]=0;l=n;return}function XL(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+64|0;u=x+60|0;n=x+56|0;o=x+52|0;v=x+48|0;w=x+44|0;p=x+40|0;h=x+36|0;i=x+32|0;j=x+28|0;k=x+24|0;q=x+20|0;r=x+16|0;s=x+12|0;m=x+8|0;t=x;c[n>>2]=a;c[o>>2]=b;c[v>>2]=e;c[w>>2]=f;c[p>>2]=g;c[h>>2]=c[(c[o>>2]|0)+8>>2];c[i>>2]=c[c[o>>2]>>2];c[j>>2]=d[(c[n>>2]|0)+231>>0]|0|0?201:202;if(!(c[h>>2]|0)){c[c[w>>2]>>2]=0;c[u>>2]=0;w=c[u>>2]|0;l=x;return w|0}while(1){c[k>>2]=c[c[c[o>>2]>>2]>>2];if(!(c[(c[k>>2]|0)+80>>2]|0)){a=4;break}e=(c[c[i>>2]>>2]|0)+88|0;f=c[e+4>>2]|0;g=t;c[g>>2]=c[e>>2];c[g+4>>2]=f;c[q>>2]=UK(c[n>>2]|0,c[c[i>>2]>>2]|0,r,s)|0;c[m>>2]=1;while(1){if(c[q>>2]|0)break;if((c[m>>2]|0)>=(c[h>>2]|0))break;if(!(c[(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0)+80>>2]|0))break;f=(c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0)+88|0;g=t;if(!((c[f>>2]|0)==(c[g>>2]|0)?(c[f+4>>2]|0)==(c[g+4>>2]|0):0))break;c[q>>2]=UK(c[n>>2]|0,c[(c[i>>2]|0)+(c[m>>2]<<2)>>2]|0,0,0)|0;c[m>>2]=(c[m>>2]|0)+1}if(c[q>>2]|0){a=12;break}RK(c[c[o>>2]>>2]|0,c[h>>2]|0,c[m>>2]|0,c[j>>2]|0);if((c[s>>2]|0)>0?c[(c[c[i>>2]>>2]|0)+56>>2]|0:0){c[q>>2]=SK(c[o>>2]|0,c[r>>2]|0,(c[s>>2]|0)+1|0)|0;if(c[q>>2]|0){a=16;break}c[r>>2]=c[(c[o>>2]|0)+16>>2]}if((c[(c[o>>2]|0)+24>>2]|0)>=0)VK(c[(c[o>>2]|0)+24>>2]|0,1,r,s);if((c[s>>2]|0)>0){a=21;break}}if((a|0)==4)c[c[w>>2]>>2]=0;else if((a|0)==12){c[u>>2]=c[q>>2];w=c[u>>2]|0;l=x;return w|0}else if((a|0)==16){c[u>>2]=c[q>>2];w=c[u>>2]|0;l=x;return w|0}else if((a|0)==21){c[c[w>>2]>>2]=c[r>>2];r=t;t=c[r+4>>2]|0;w=c[v>>2]|0;c[w>>2]=c[r>>2];c[w+4>>2]=t;c[c[p>>2]>>2]=c[s>>2]}c[u>>2]=0;w=c[u>>2]|0;l=x;return w|0}function YL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;j=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[h>>2]=0;if((c[(c[k>>2]|0)+44>>2]|0)==(c[m>>2]|0)){WL(c[j>>2]|0,c[k>>2]|0,c[o>>2]|0);c[(c[n>>2]|0)+16>>2]=c[(c[k>>2]|0)+28>>2];c[(c[n>>2]|0)+20>>2]=c[(c[k>>2]|0)+32>>2];k=(c[k>>2]|0)+16|0;m=c[k+4>>2]|0;o=(c[n>>2]|0)+8|0;c[o>>2]=c[k>>2];c[o+4>>2]=m;o=c[h>>2]|0;l=p;return o|0}c[i>>2]=(c[k>>2]|0)+72+((c[m>>2]|0)*24|0);if(!(c[(c[i>>2]|0)+20>>2]|0)){c[c[n>>2]>>2]=1;o=c[h>>2]|0;l=p;return o|0}c[h>>2]=XL(c[j>>2]|0,c[(c[i>>2]|0)+20>>2]|0,(c[n>>2]|0)+8|0,(c[n>>2]|0)+16|0,(c[n>>2]|0)+20|0)|0;if(c[(c[n>>2]|0)+16>>2]|0){o=c[h>>2]|0;l=p;return o|0}a[c[o>>2]>>0]=1;o=c[h>>2]|0;l=p;return o|0}function ZL(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0;D=l;l=l+96|0;x=D+80|0;y=D+76|0;A=D+72|0;B=D+68|0;j=D+64|0;k=D+60|0;m=D+56|0;n=D+52|0;o=D+48|0;p=D+44|0;q=D+40|0;r=D+36|0;s=D+32|0;t=D+24|0;u=D+16|0;v=D+8|0;w=D;c[y>>2]=b;c[A>>2]=e;c[B>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;c[n>>2]=c[c[y>>2]>>2];c[o>>2]=c[c[k>>2]>>2];c[p>>2]=c[c[m>>2]>>2];c[q>>2]=0;c[r>>2]=0;if((a[c[o>>2]>>0]|0)==1){c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;if(d[c[o>>2]>>0]&128|0)b=ZK(b,q)|0;else{c[q>>2]=d[b>>0];b=1}c[o>>2]=(c[o>>2]|0)+b}if((a[c[p>>2]>>0]|0)==1){c[p>>2]=(c[p>>2]|0)+1;b=c[p>>2]|0;if(d[c[p>>2]>>0]&128|0)b=ZK(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[p>>2]=(c[p>>2]|0)+b}while(1){if((c[q>>2]|0)!=(c[r>>2]|0))if((c[q>>2]|0)<(c[r>>2]|0)){XK(0,o);if(!(a[c[o>>2]>>0]|0))break;c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;if(d[c[o>>2]>>0]&128|0)b=ZK(b,q)|0;else{c[q>>2]=d[b>>0];b=1}c[o>>2]=(c[o>>2]|0)+b;continue}else{XK(0,p);if(!(a[c[p>>2]>>0]|0))break;c[p>>2]=(c[p>>2]|0)+1;b=c[p>>2]|0;if(d[c[p>>2]>>0]&128|0)b=ZK(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[p>>2]=(c[p>>2]|0)+b;continue}c[s>>2]=c[n>>2];i=t;c[i>>2]=0;c[i+4>>2]=0;i=u;c[i>>2]=0;c[i+4>>2]=0;i=v;c[i>>2]=0;c[i+4>>2]=0;if(c[q>>2]|0){i=c[n>>2]|0;c[n>>2]=i+1;a[i>>0]=1;i=c[q>>2]|0;i=IK(c[n>>2]|0,i,((i|0)<0)<<31>>31)|0;c[n>>2]=(c[n>>2]|0)+i}_L(o,u);i=u;i=FR(c[i>>2]|0,c[i+4>>2]|0,2,0)|0;h=u;c[h>>2]=i;c[h+4>>2]=z;_L(p,v);h=v;h=FR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=v;c[i>>2]=h;c[i+4>>2]=z;while(1){i=v;g=c[i>>2]|0;i=c[i+4>>2]|0;f=u;h=c[A>>2]|0;h=IR(c[f>>2]|0,c[f+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;if(!((g|0)==(h|0)&(i|0)==(z|0))){if(((c[j>>2]|0)==0?(h=v,f=c[h+4>>2]|0,i=u,g=c[i+4>>2]|0,(f|0)>(g|0)|((f|0)==(g|0)?(c[h>>2]|0)>>>0>(c[i>>2]|0)>>>0:0)):0)?(f=v,h=c[f>>2]|0,f=c[f+4>>2]|0,g=u,i=c[A>>2]|0,i=IR(c[g>>2]|0,c[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,g=z,(f|0)<(g|0)|(f|0)==(g|0)&h>>>0<=i>>>0):0)C=19}else C=19;if((C|0)==19){C=0;e=(c[B>>2]|0)!=0;f=u;g=v;i=e?c[f+4>>2]|0:c[g+4>>2]|0;h=w;c[h>>2]=e?c[f>>2]|0:c[g>>2]|0;c[h+4>>2]=i;h=w;h=IR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;$L(n,t,h,z);h=t;h=FR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=t;c[i>>2]=h;c[i+4>>2]=z;c[s>>2]=0}if(!(!(c[B>>2]|0)?(f=v,h=c[f>>2]|0,f=c[f+4>>2]|0,g=u,i=c[A>>2]|0,i=IR(c[g>>2]|0,c[g+4>>2]|0,i|0,((i|0)<0)<<31>>31|0)|0,g=z,(f|0)<(g|0)|(f|0)==(g|0)&h>>>0<=i>>>0):0))C=22;if((C|0)==22?(C=0,h=v,f=c[h+4>>2]|0,i=u,g=c[i+4>>2]|0,!((f|0)<(g|0)|((f|0)==(g|0)?(c[h>>2]|0)>>>0<=(c[i>>2]|0)>>>0:0))):0){if(!(a[c[o>>2]>>0]&254))break;_L(o,u);h=u;h=FR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=u;c[i>>2]=h;c[i+4>>2]=z;continue}if(!(a[c[p>>2]>>0]&254))break;_L(p,v);h=v;h=FR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;i=v;c[i>>2]=h;c[i+4>>2]=z}if(c[s>>2]|0)c[n>>2]=c[s>>2];XK(0,o);XK(0,p);if(!(a[c[o>>2]>>0]|0))break;if(!(a[c[p>>2]>>0]|0))break;c[o>>2]=(c[o>>2]|0)+1;b=c[o>>2]|0;if(d[c[o>>2]>>0]&128|0)b=ZK(b,q)|0;else{c[q>>2]=d[b>>0];b=1}c[o>>2]=(c[o>>2]|0)+b;c[p>>2]=(c[p>>2]|0)+1;b=c[p>>2]|0;if(d[c[p>>2]>>0]&128|0)b=ZK(b,r)|0;else{c[r>>2]=d[b>>0];b=1}c[p>>2]=(c[p>>2]|0)+b}bL(0,p);bL(0,o);c[c[k>>2]>>2]=c[o>>2];c[c[m>>2]>>2]=c[p>>2];if((c[c[y>>2]>>2]|0)==(c[n>>2]|0)){c[x>>2]=0;C=c[x>>2]|0;l=D;return C|0}else{C=c[n>>2]|0;c[n>>2]=C+1;a[C>>0]=0;c[c[y>>2]>>2]=c[n>>2];c[x>>2]=1;C=c[x>>2]|0;l=D;return C|0}return 0}function _L(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+12|0;e=d+8|0;f=d;c[g>>2]=a;c[e>>2]=b;b=YK(c[c[g>>2]>>2]|0,f)|0;a=c[g>>2]|0;c[a>>2]=(c[a>>2]|0)+b;a=f;b=c[e>>2]|0;e=b;a=IR(c[e>>2]|0,c[e+4>>2]|0,c[a>>2]|0,c[a+4>>2]|0)|0;c[b>>2]=a;c[b+4>>2]=z;l=d;return}function $L(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;g=f+8|0;h=f;c[i>>2]=a;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;b=c[c[i>>2]>>2]|0;e=h;d=c[g>>2]|0;d=FR(c[e>>2]|0,c[e+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;d=IK(b,d,z)|0;b=c[i>>2]|0;c[b>>2]=(c[b>>2]|0)+d;b=h;d=c[b+4>>2]|0;e=c[g>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=d;l=f;return}function aM(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[(c[b>>2]|0)+8>>2]=0;c[(c[b>>2]|0)+28>>2]=1;c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+4>>2]|0))break;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+80>>2]=0;c[(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+84>>2]=0;a=(c[(c[c[b>>2]>>2]|0)+(c[d>>2]<<2)>>2]|0)+88|0;c[a>>2]=0;c[a+4>>2]=0;c[d>>2]=(c[d>>2]|0)+1}l=e;return 0}function bM(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;h=s+44|0;t=s+40|0;o=s+36|0;p=s+32|0;r=s+28|0;q=s+24|0;i=s+20|0;f=s+16|0;g=s+12|0;k=s+8|0;m=s+4|0;n=s;c[h>>2]=a;c[t>>2]=b;c[o>>2]=e;c[p>>2]=c[c[h>>2]>>2];c[r>>2]=0;c[i>>2]=0;if((c[t>>2]|0?(d[(c[h>>2]|0)+52>>0]|0|0)==(d[(c[p>>2]|0)+231>>0]|0|0):0)?(c[(c[o>>2]|0)+64>>2]|0)<=4:0)a=(c[(c[o>>2]|0)+64>>2]|0)>0;else a=0;c[f>>2]=a&1;c[q>>2]=0;while(1){if((c[f>>2]|0)!=1)break;if((c[q>>2]|0)>=(c[(c[o>>2]|0)+64>>2]|0))break;c[g>>2]=(c[o>>2]|0)+72+((c[q>>2]|0)*24|0);if(!(c[(c[g>>2]|0)+12>>2]|0)){if(c[(c[g>>2]|0)+20>>2]|0?(c[(c[(c[g>>2]|0)+20>>2]|0)+36>>2]|0)==0:0)j=11}else j=11;if((j|0)==11){j=0;c[f>>2]=0}if(c[(c[g>>2]|0)+20>>2]|0)c[i>>2]=1;c[q>>2]=(c[q>>2]|0)+1}if(!((c[f>>2]|0)!=0&(c[i>>2]|0)!=0)){c[r>>2]=dM(c[h>>2]|0,c[o>>2]|0)|0;q=0;t=c[o>>2]|0;t=t+40|0;c[t>>2]=q;t=c[r>>2]|0;l=s;return t|0}if((c[(c[o>>2]|0)+68>>2]|0)>=(c[(c[p>>2]|0)+24>>2]|0))a=-1;else a=c[(c[o>>2]|0)+68>>2]|0;c[k>>2]=a;c[q>>2]=0;while(1){if(!(c[r>>2]|0))b=(c[q>>2]|0)<(c[(c[o>>2]|0)+64>>2]|0);else b=0;a=c[o>>2]|0;if(!b){b=1;break}c[m>>2]=a+72+((c[q>>2]|0)*24|0);c[n>>2]=c[(c[m>>2]|0)+20>>2];if(c[n>>2]|0)c[r>>2]=cM(c[p>>2]|0,c[n>>2]|0,c[k>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+1}t=a+40|0;c[t>>2]=b;t=c[r>>2]|0;l=s;return t|0}function cM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;q=t+40|0;k=t+36|0;r=t+32|0;s=t+28|0;m=t+24|0;h=t+20|0;n=t+16|0;o=t+12|0;i=t+8|0;p=t+4|0;j=t;c[k>>2]=a;c[r>>2]=b;c[s>>2]=e;c[m>>2]=f;c[h>>2]=g;c[i>>2]=c[(c[r>>2]|0)+4>>2];c[p>>2]=d[(c[k>>2]|0)+231>>0]|0|0?201:202;c[o>>2]=fL(c[k>>2]|0,c[r>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;if(c[o>>2]|0){c[q>>2]=c[o>>2];s=c[q>>2]|0;l=t;return s|0}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[i>>2]|0))break;c[j>>2]=c[(c[c[r>>2]>>2]|0)+(c[n>>2]<<2)>>2];if(!(c[(c[j>>2]|0)+40>>2]|0))break;if(gL(c[j>>2]|0,c[m>>2]|0,c[h>>2]|0)|0)break;c[n>>2]=(c[n>>2]|0)+1}c[(c[r>>2]|0)+8>>2]=c[n>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[(c[r>>2]|0)+8>>2]|0)){a=13;break}c[o>>2]=TK(c[k>>2]|0,c[(c[c[r>>2]>>2]|0)+(c[n>>2]<<2)>>2]|0)|0;if(c[o>>2]|0){a=11;break}c[n>>2]=(c[n>>2]|0)+1}if((a|0)==11){c[q>>2]=c[o>>2];s=c[q>>2]|0;l=t;return s|0}else if((a|0)==13){RK(c[c[r>>2]>>2]|0,c[n>>2]|0,c[n>>2]|0,c[p>>2]|0);c[(c[r>>2]|0)+24>>2]=c[s>>2];c[q>>2]=0;s=c[q>>2]|0;l=t;return s|0}return 0}function dM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;j=k+12|0;g=k+8|0;h=k+4|0;i=k;c[m>>2]=a;c[d>>2]=b;c[e>>2]=c[c[m>>2]>>2];c[j>>2]=0;c[f>>2]=0;while(1){if(c[j>>2]|0){a=8;break}if((c[f>>2]|0)>=(c[(c[d>>2]|0)+64>>2]|0)){a=8;break}c[g>>2]=(c[d>>2]|0)+72+((c[f>>2]|0)*24|0);if(c[(c[g>>2]|0)+20>>2]|0?(c[h>>2]=0,c[i>>2]=0,c[j>>2]=eM(c[e>>2]|0,c[g>>2]|0,c[(c[d>>2]|0)+68>>2]|0,h,i)|0,(c[j>>2]|0)==0):0)c[j>>2]=fM(c[e>>2]|0,c[d>>2]|0,c[f>>2]|0,c[i>>2]|0,c[h>>2]|0)|0;c[f>>2]=(c[f>>2]|0)+1}if((a|0)==8){l=k;return c[j>>2]|0}return 0}function eM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+192|0;m=r+176|0;n=r+172|0;o=r+168|0;p=r+164|0;q=r+160|0;g=r+156|0;h=r+152|0;i=r+24|0;j=r+8|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[h>>2]=c[(c[n>>2]|0)+20>>2];a=i;b=a+128|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[j+12>>2]=3|(c[(c[n>>2]|0)+8>>2]|0?8:0)|(c[(c[n>>2]|0)+12>>2]|0?32:0)|((c[o>>2]|0)<(c[(c[m>>2]|0)+24>>2]|0)?4:0);c[j+8>>2]=c[o>>2];c[j>>2]=c[c[n>>2]>>2];c[j+4>>2]=c[(c[n>>2]|0)+4>>2];c[g>>2]=sK(c[m>>2]|0,c[h>>2]|0,j)|0;while(1){if(c[g>>2]|0)break;o=tK(c[m>>2]|0,c[h>>2]|0)|0;c[g>>2]=o;if(100!=(o|0))break;c[g>>2]=jM(c[m>>2]|0,i,c[(c[h>>2]|0)+48>>2]|0,c[(c[h>>2]|0)+52>>2]|0)|0}if(!(c[g>>2]|0))c[g>>2]=kM(c[m>>2]|0,i)|0;if(!(c[g>>2]|0)){c[c[q>>2]>>2]=c[i>>2];c[c[p>>2]>>2]=c[i+64>>2];q=c[h>>2]|0;lM(q);q=c[n>>2]|0;q=q+20|0;c[q>>2]=0;q=c[g>>2]|0;l=r;return q|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=16)break;Kd(c[i+(c[k>>2]<<2)>>2]|0);c[k>>2]=(c[k>>2]|0)+1}q=c[h>>2]|0;lM(q);q=c[n>>2]|0;q=q+20|0;c[q>>2]=0;q=c[g>>2]|0;l=r;return q|0}function fM(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;o=t+40|0;p=t+36|0;q=t+32|0;r=t+28|0;s=t+24|0;h=t+20|0;i=t+16|0;j=t+12|0;k=t+8|0;m=t+4|0;n=t;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[h>>2]=0;a=c[p>>2]|0;do if(!(c[r>>2]|0)){Kd(c[a>>2]|0);c[c[p>>2]>>2]=0;c[(c[p>>2]|0)+4>>2]=0}else{if((c[a+44>>2]|0)<0){c[c[p>>2]>>2]=c[r>>2];c[(c[p>>2]|0)+4>>2]=c[s>>2];break}if(!(c[c[p>>2]>>2]|0)){Kd(c[r>>2]|0);break}a=c[c[p>>2]>>2]|0;if((c[(c[p>>2]|0)+44>>2]|0)<(c[q>>2]|0)){c[i>>2]=a;c[k>>2]=c[(c[p>>2]|0)+4>>2];c[j>>2]=c[r>>2];c[m>>2]=c[s>>2];c[n>>2]=(c[q>>2]|0)-(c[(c[p>>2]|0)+44>>2]|0)}else{c[j>>2]=a;c[m>>2]=c[(c[p>>2]|0)+4>>2];c[i>>2]=c[r>>2];c[k>>2]=c[s>>2];c[n>>2]=(c[(c[p>>2]|0)+44>>2]|0)-(c[q>>2]|0)}c[h>>2]=gM(d[(c[o>>2]|0)+231>>0]|0,c[n>>2]|0,c[i>>2]|0,c[k>>2]|0,j,m)|0;Kd(c[i>>2]|0);c[c[p>>2]>>2]=c[j>>2];c[(c[p>>2]|0)+4>>2]=c[m>>2]}while(0);if((c[q>>2]|0)<=(c[(c[p>>2]|0)+44>>2]|0)){s=c[h>>2]|0;l=t;return s|0}c[(c[p>>2]|0)+44>>2]=c[q>>2];s=c[h>>2]|0;l=t;return s|0}function gM(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0;D=l;l=l+112|0;A=D+104|0;B=D+100|0;C=D+96|0;E=D+92|0;F=D+88|0;h=D+84|0;i=D+80|0;j=D+32|0;k=D+24|0;m=D+16|0;n=D+76|0;o=D+72|0;p=D+68|0;q=D+64|0;r=D+60|0;s=D+56|0;t=D+52|0;u=D+48|0;v=D+8|0;w=D+44|0;x=D;y=D+40|0;c[B>>2]=a;c[C>>2]=b;c[E>>2]=d;c[F>>2]=e;c[h>>2]=f;c[i>>2]=g;g=j;c[g>>2]=0;c[g+4>>2]=0;g=k;c[g>>2]=0;c[g+4>>2]=0;g=m;c[g>>2]=0;c[g+4>>2]=0;c[n>>2]=c[c[h>>2]>>2];c[o>>2]=(c[E>>2]|0)+(c[F>>2]|0);c[p>>2]=(c[n>>2]|0)+(c[c[i>>2]>>2]|0);c[q>>2]=c[E>>2];c[r>>2]=c[n>>2];c[t>>2]=0;if(c[B>>2]|0){c[u>>2]=Yd((c[c[i>>2]>>2]|0)+10|0)|0;if(!(c[u>>2]|0)){c[A>>2]=7;F=c[A>>2]|0;l=D;return F|0}}else c[u>>2]=c[n>>2];c[s>>2]=c[u>>2];hM(q,c[o>>2]|0,0,j);hM(r,c[p>>2]|0,0,k);while(1){if(!(c[q>>2]|0?(c[r>>2]|0)!=0:0))break;F=c[B>>2]|0?-1:1;g=j;E=k;E=FR(c[g>>2]|0,c[g+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0;E=RR(F|0,((F|0)<0)<<31>>31|0,E|0,z|0)|0;F=v;c[F>>2]=E;c[F+4>>2]=z;F=v;if(!((c[F>>2]|0)==0&(c[F+4>>2]|0)==0))if((c[v+4>>2]|0)<0){bL(0,q);hM(q,c[o>>2]|0,c[B>>2]|0,j);continue}else{bL(0,r);hM(r,c[p>>2]|0,c[B>>2]|0,k);continue}else{c[w>>2]=c[s>>2];g=m;E=c[g+4>>2]|0;F=x;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[y>>2]=c[t>>2];F=j;iM(s,c[B>>2]|0,m,t,c[F>>2]|0,c[F+4>>2]|0);if(!(ZL(s,c[C>>2]|0,0,1,q,r)|0)){c[s>>2]=c[w>>2];g=x;E=c[g+4>>2]|0;F=m;c[F>>2]=c[g>>2];c[F+4>>2]=E;c[t>>2]=c[y>>2]}hM(q,c[o>>2]|0,c[B>>2]|0,j);hM(r,c[p>>2]|0,c[B>>2]|0,k);continue}}c[c[i>>2]>>2]=(c[s>>2]|0)-(c[u>>2]|0);if(c[B>>2]|0){Kd(c[n>>2]|0);c[c[h>>2]>>2]=c[u>>2]}c[A>>2]=0;F=c[A>>2]|0;l=D;return F|0}function hM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;f=j+20|0;k=j+16|0;g=j+12|0;h=j+8|0;i=j;c[f>>2]=a;c[k>>2]=b;c[g>>2]=d;c[h>>2]=e;a=c[f>>2]|0;if((c[c[f>>2]>>2]|0)>>>0>=(c[k>>2]|0)>>>0){c[a>>2]=0;l=j;return}else{e=YK(c[a>>2]|0,i)|0;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+e;g=(c[g>>2]|0)!=0;f=i;e=c[f>>2]|0;f=c[f+4>>2]|0;k=c[h>>2]|0;d=k;b=c[d>>2]|0;d=c[d+4>>2]|0;h=IR(b|0,d|0,e|0,f|0)|0;i=z;f=FR(b|0,d|0,e|0,f|0)|0;c[k>>2]=g?f:h;c[k+4>>2]=g?z:i;l=j;return}}function iM(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;j=n+28|0;o=n+24|0;k=n+20|0;m=n+16|0;h=n+8|0;i=n;c[j>>2]=a;c[o>>2]=b;c[k>>2]=d;c[m>>2]=e;e=h;c[e>>2]=f;c[e+4>>2]=g;if((c[o>>2]|0)!=0?(c[c[m>>2]>>2]|0)!=0:0){o=c[k>>2]|0;g=h;g=FR(c[o>>2]|0,c[o+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;o=i;c[o>>2]=g;c[o+4>>2]=z}else{o=h;g=c[k>>2]|0;g=FR(c[o>>2]|0,c[o+4>>2]|0,c[g>>2]|0,c[g+4>>2]|0)|0;o=i;c[o>>2]=g;c[o+4>>2]=z}o=i;o=IK(c[c[j>>2]>>2]|0,c[o>>2]|0,c[o+4>>2]|0)|0;g=c[j>>2]|0;c[g>>2]=(c[g>>2]|0)+o;g=h;j=c[g+4>>2]|0;o=c[k>>2]|0;c[o>>2]=c[g>>2];c[o+4>>2]=j;c[c[m>>2]>>2]=1;l=n;return}function jM(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;n=t+40|0;o=t+36|0;p=t+32|0;q=t+28|0;g=t+24|0;r=t+20|0;h=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[o>>2]=a;c[p>>2]=b;c[q>>2]=e;c[g>>2]=f;a:do if(!(c[c[p>>2]>>2]|0)){s=Yd((c[g>>2]|0)+10+1|0)|0;c[c[p>>2]>>2]=s;c[(c[p>>2]|0)+64>>2]=c[g>>2];if(c[c[p>>2]>>2]|0){MR(c[c[p>>2]>>2]|0,c[q>>2]|0,c[g>>2]|0)|0;break}c[n>>2]=7;s=c[n>>2]|0;l=t;return s|0}else{c[r>>2]=c[q>>2];c[h>>2]=c[g>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=16)break a;if(!(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0)){s=8;break}c[m>>2]=mM(d[(c[o>>2]|0)+231>>0]|0,c[r>>2]|0,c[h>>2]|0,c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0,c[(c[p>>2]|0)+64+(c[i>>2]<<2)>>2]|0,j,k)|0;a=(c[r>>2]|0)!=(c[q>>2]|0);if(c[m>>2]|0)break;if(a)Kd(c[r>>2]|0);Kd(c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]|0);c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]=0;c[r>>2]=c[j>>2];c[h>>2]=c[k>>2];if(((c[i>>2]|0)+1|0)==16){c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]=c[r>>2];c[(c[p>>2]|0)+64+(c[i>>2]<<2)>>2]=c[h>>2]}c[i>>2]=(c[i>>2]|0)+1}if((s|0)==8){c[(c[p>>2]|0)+(c[i>>2]<<2)>>2]=c[r>>2];c[(c[p>>2]|0)+64+(c[i>>2]<<2)>>2]=c[h>>2];break}if(a)Kd(c[r>>2]|0);c[n>>2]=c[m>>2];s=c[n>>2]|0;l=t;return s|0}while(0);c[n>>2]=0;s=c[n>>2]|0;l=t;return s|0}function kM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;j=o+32|0;e=o+28|0;k=o+24|0;m=o+20|0;n=o+16|0;f=o+12|0;g=o+8|0;h=o+4|0;i=o;c[e>>2]=a;c[k>>2]=b;c[m>>2]=0;c[n>>2]=0;c[f>>2]=0;a:while(1){if((c[f>>2]|0)>=16){a=10;break}do if(c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]|0){if(!(c[m>>2]|0)){c[m>>2]=c[(c[k>>2]|0)+(c[f>>2]<<2)>>2];c[n>>2]=c[(c[k>>2]|0)+64+(c[f>>2]<<2)>>2];c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=0;break}c[i>>2]=mM(d[(c[e>>2]|0)+231>>0]|0,c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]|0,c[(c[k>>2]|0)+64+(c[f>>2]<<2)>>2]|0,c[m>>2]|0,c[n>>2]|0,h,g)|0;if(c[i>>2]|0){a=7;break a}Kd(c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]|0);Kd(c[m>>2]|0);c[(c[k>>2]|0)+(c[f>>2]<<2)>>2]=0;c[m>>2]=c[h>>2];c[n>>2]=c[g>>2]}while(0);c[f>>2]=(c[f>>2]|0)+1}if((a|0)==7){Kd(c[m>>2]|0);c[j>>2]=c[i>>2];n=c[j>>2]|0;l=o;return n|0}else if((a|0)==10){c[c[k>>2]>>2]=c[m>>2];c[(c[k>>2]|0)+64>>2]=c[n>>2];c[j>>2]=0;n=c[j>>2]|0;l=o;return n|0}return 0}function lM(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;zK(c[d>>2]|0);Kd(c[d>>2]|0);l=b;return}function mM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0;y=l;l=l+96|0;w=y+88|0;x=y+84|0;D=y+80|0;B=y+76|0;C=y+72|0;A=y+68|0;i=y+64|0;j=y+60|0;k=y+24|0;m=y+16|0;n=y+8|0;o=y+56|0;p=y+52|0;q=y+48|0;r=y+44|0;s=y+40|0;t=y+36|0;u=y+32|0;v=y;c[x>>2]=a;c[D>>2]=b;c[B>>2]=d;c[C>>2]=e;c[A>>2]=f;c[i>>2]=g;c[j>>2]=h;h=k;c[h>>2]=0;c[h+4>>2]=0;h=m;c[h>>2]=0;c[h+4>>2]=0;h=n;c[h>>2]=0;c[h+4>>2]=0;c[o>>2]=(c[D>>2]|0)+(c[B>>2]|0);c[p>>2]=(c[C>>2]|0)+(c[A>>2]|0);c[q>>2]=c[D>>2];c[r>>2]=c[C>>2];c[u>>2]=0;c[c[i>>2]>>2]=0;c[c[j>>2]>>2]=0;c[t>>2]=Yd((c[B>>2]|0)+(c[A>>2]|0)+10-1|0)|0;if(!(c[t>>2]|0)){c[w>>2]=7;D=c[w>>2]|0;l=y;return D|0}c[s>>2]=c[t>>2];hM(q,c[o>>2]|0,0,k);hM(r,c[p>>2]|0,0,m);while(1){if(!(c[q>>2]|0?1:(c[r>>2]|0)!=0))break;D=c[x>>2]|0?-1:1;B=k;C=m;C=FR(c[B>>2]|0,c[B+4>>2]|0,c[C>>2]|0,c[C+4>>2]|0)|0;C=RR(D|0,((D|0)<0)<<31>>31|0,C|0,z|0)|0;D=v;c[D>>2]=C;c[D+4>>2]=z;D=v;if((c[r>>2]|0)!=0&(c[q>>2]|0)!=0&((c[D>>2]|0)==0&(c[D+4>>2]|0)==0)){D=k;iM(s,c[x>>2]|0,n,u,c[D>>2]|0,c[D+4>>2]|0);nM(s,q,r);hM(q,c[o>>2]|0,c[x>>2]|0,k);hM(r,c[p>>2]|0,c[x>>2]|0,m);continue}if(c[r>>2]|0?!((c[q>>2]|0)!=0&(c[v+4>>2]|0)<0):0){D=m;iM(s,c[x>>2]|0,n,u,c[D>>2]|0,c[D+4>>2]|0);bL(s,r);hM(r,c[p>>2]|0,c[x>>2]|0,m);continue}D=k;iM(s,c[x>>2]|0,n,u,c[D>>2]|0,c[D+4>>2]|0);bL(s,q);hM(q,c[o>>2]|0,c[x>>2]|0,k)}c[c[i>>2]>>2]=c[t>>2];c[c[j>>2]>>2]=(c[s>>2]|0)-(c[t>>2]|0);c[w>>2]=0;D=c[w>>2]|0;l=y;return D|0}function nM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;m=t+56|0;n=t+52|0;o=t+48|0;p=t+44|0;q=t+40|0;r=t+36|0;s=t+32|0;g=t+28|0;h=t+16|0;i=t+8|0;j=t;k=t+24|0;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=c[c[m>>2]>>2];c[q>>2]=c[c[n>>2]>>2];c[r>>2]=c[c[o>>2]>>2];a:while(1){if((a[c[q>>2]>>0]|0)==0?(a[c[r>>2]>>0]|0)==0:0)break;b=c[q>>2]|0;do if((a[c[q>>2]>>0]|0)==1){e=(c[q>>2]|0)+1|0;if(d[b+1>>0]&128|0){ZK(e,s)|0;break}else{c[s>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[s>>2]=2147483647;break}else{c[s>>2]=0;break}while(0);b=c[r>>2]|0;do if((a[c[r>>2]>>0]|0)==1){e=(c[r>>2]|0)+1|0;if(d[b+1>>0]&128|0){ZK(e,g)|0;break}else{c[g>>2]=d[e>>0];break}}else if(!(a[b>>0]|0)){c[g>>2]=2147483647;break}else{c[g>>2]=0;break}while(0);if((c[s>>2]|0)!=(c[g>>2]|0))if((c[s>>2]|0)<(c[g>>2]|0)){f=oM(p,c[s>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+f;XK(p,q);continue}else{f=oM(p,c[g>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+f;XK(p,r);continue}f=h;c[f>>2]=0;c[f+4>>2]=0;f=i;c[f>>2]=0;c[f+4>>2]=0;f=j;c[f>>2]=0;c[f+4>>2]=0;c[k>>2]=oM(p,c[s>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[k>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[k>>2]|0);_L(q,h);_L(r,i);while(1){e=h;u=c[e+4>>2]|0;b=i;f=c[b+4>>2]|0;b=(u|0)<(f|0)|((u|0)==(f|0)?(c[e>>2]|0)>>>0<(c[b>>2]|0)>>>0:0);e=h;f=i;$L(p,j,b?c[e>>2]|0:c[f>>2]|0,b?c[e+4>>2]|0:c[f+4>>2]|0);f=j;f=FR(c[f>>2]|0,c[f+4>>2]|0,2,0)|0;e=j;c[e>>2]=f;c[e+4>>2]=z;e=h;f=i;do if(!((c[e>>2]|0)==(c[f>>2]|0)?(c[e+4>>2]|0)==(c[f+4>>2]|0):0)){f=h;b=c[f+4>>2]|0;u=i;e=c[u+4>>2]|0;if((b|0)<(e|0)|((b|0)==(e|0)?(c[f>>2]|0)>>>0<(c[u>>2]|0)>>>0:0)){pM(q,h);break}else{pM(r,i);break}}else{pM(q,h);pM(r,i)}while(0);f=h;u=i;if(!((c[f>>2]|0)!=2147483647|(c[f+4>>2]|0)!=0?1:(c[u>>2]|0)!=2147483647|(c[u+4>>2]|0)!=0))continue a}}u=c[p>>2]|0;c[p>>2]=u+1;a[u>>0]=0;c[c[m>>2]>>2]=c[p>>2];c[c[n>>2]>>2]=(c[q>>2]|0)+1;c[c[o>>2]>>2]=(c[r>>2]|0)+1;l=t;return}function oM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=b;c[f>>2]=d;c[g>>2]=0;if(!(c[f>>2]|0)){h=c[g>>2]|0;l=i;return h|0}c[h>>2]=c[c[e>>2]>>2];f=c[f>>2]|0;c[g>>2]=1+(IK((c[h>>2]|0)+1|0,f,((f|0)<0)<<31>>31)|0);a[c[h>>2]>>0]=1;c[c[e>>2]>>2]=(c[h>>2]|0)+(c[g>>2]|0);h=c[g>>2]|0;l=i;return h|0}function pM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if(a[c[c[e>>2]>>2]>>0]&254|0){_L(c[e>>2]|0,c[f>>2]|0);f=c[f>>2]|0;e=f;e=FR(c[e>>2]|0,c[e+4>>2]|0,2,0)|0;c[f>>2]=e;c[f+4>>2]=z;l=g;return}else{f=c[f>>2]|0;c[f>>2]=2147483647;c[f+4>>2]=0;l=g;return}}function qM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=0;if(a[(c[g>>2]|0)+7>>0]|0?(c[i>>2]=0,c[h>>2]=CM(c[g>>2]|0,i)|0,(c[h>>2]|0)==0):0){i=(c[g>>2]|0)+32|0;pI(c[(c[g>>2]|0)+8>>2]|0,1,c[i>>2]|0,c[i+4>>2]|0)|0;a[(c[g>>2]|0)+7>>0]=0;if(100==(Hr(c[(c[g>>2]|0)+8>>2]|0)|0)){c[e>>2]=0;i=c[e>>2]|0;l=j;return i|0}c[h>>2]=Er(c[(c[g>>2]|0)+8>>2]|0)|0;if((c[h>>2]|0)==0?(c[(c[c[g>>2]>>2]|0)+40>>2]|0)==0:0){c[h>>2]=267;a[(c[g>>2]|0)+6>>0]=1}}if((c[h>>2]|0)!=0&(c[f>>2]|0)!=0)Bi(c[f>>2]|0,c[h>>2]|0);c[e>>2]=c[h>>2];i=c[e>>2]|0;l=j;return i|0}function rM(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;v=l;l=l+80|0;b=v+64|0;m=v+60|0;n=v+56|0;o=v;p=v+52|0;q=v+48|0;r=v+44|0;s=v+40|0;t=v+36|0;e=v+32|0;f=v+28|0;g=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;k=v+8|0;c[b>>2]=a;c[m>>2]=0;if(!(c[(c[b>>2]|0)+24>>2]|0)){u=c[m>>2]|0;l=v;return u|0}c[q>>2]=c[c[b>>2]>>2];c[r>>2]=c[(c[q>>2]|0)+36>>2];c[s>>2]=c[c[r>>2]>>2];w=iI(c[(c[b>>2]|0)+8>>2]|0,0)|0;a=o;c[a>>2]=w;c[a+4>>2]=z;c[n>>2]=0;while(1){if(!((c[n>>2]|0)<(c[(c[q>>2]|0)+24>>2]|0)?(c[m>>2]|0)==0:0))break;if(!(d[(c[(c[q>>2]|0)+32>>2]|0)+(c[n>>2]|0)>>0]|0)){c[t>>2]=Iu(c[(c[b>>2]|0)+8>>2]|0,(c[n>>2]|0)+1|0)|0;c[e>>2]=0;c[m>>2]=zM(c[r>>2]|0,c[(c[b>>2]|0)+16>>2]|0,c[t>>2]|0,-1,e)|0;a:while(1){if(c[m>>2]|0)break;c[g>>2]=0;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[m>>2]=sb[c[(c[s>>2]|0)+20>>2]&255](c[e>>2]|0,f,g,h,i,j)|0;c[p>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[p>>2]|0?(c[m>>2]|0)==0:0))continue a;c[k>>2]=c[c[p>>2]>>2];if(!((c[(c[p>>2]|0)+4>>2]|0)<(c[(c[q>>2]|0)+24>>2]|0)?(c[(c[p>>2]|0)+4>>2]|0)!=(c[n>>2]|0):0))u=11;do if((u|0)==11?(u=0,(c[j>>2]|0)==0?1:(c[(c[k>>2]|0)+12>>2]|0)==0):0){if((c[(c[k>>2]|0)+4>>2]|0)!=(c[g>>2]|0)){if(!(c[(c[k>>2]|0)+8>>2]|0))break;if((c[(c[k>>2]|0)+4>>2]|0)>=(c[g>>2]|0))break}if(!(wQ(c[f>>2]|0,c[c[k>>2]>>2]|0,c[(c[k>>2]|0)+4>>2]|0)|0)){x=o;a=c[n>>2]|0;w=c[j>>2]|0;AM((c[p>>2]|0)+12|0,c[x>>2]|0,c[x+4>>2]|0,a,((a|0)<0)<<31>>31,w,((w|0)<0)<<31>>31,m)|0}}while(0);c[p>>2]=c[(c[p>>2]|0)+8>>2]}}if(c[e>>2]|0)tb[c[(c[s>>2]|0)+16>>2]&255](c[e>>2]|0)|0;if((c[m>>2]|0)==101)c[m>>2]=0}c[n>>2]=(c[n>>2]|0)+1}c[p>>2]=c[(c[b>>2]|0)+24>>2];while(1){if(!(c[p>>2]|0?(c[m>>2]|0)==0:0))break;if(c[(c[p>>2]|0)+12>>2]|0)c[m>>2]=BM((c[p>>2]|0)+12|0,0,0)|0;c[p>>2]=c[(c[p>>2]|0)+8>>2]}x=c[m>>2]|0;l=v;return x|0}function sM(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+28|0;k=p+24|0;h=p+20|0;o=p+16|0;n=p+12|0;i=p+8|0;j=p+4|0;g=p;c[m>>2]=b;c[k>>2]=e;c[h>>2]=f;c[o>>2]=1;if(c[c[h>>2]>>2]|0){o=c[o>>2]|0;l=p;return o|0}switch(c[c[k>>2]>>2]|0){case 3:case 1:{if(sM(c[m>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0)|0?sM(c[m>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0)|0:0)b=(uM(c[k>>2]|0,c[h>>2]|0)|0)!=0;else b=0;c[o>>2]=b&1;if(c[o>>2]|0){o=c[o>>2]|0;l=p;return o|0}if((c[c[k>>2]>>2]|0)!=1){o=c[o>>2]|0;l=p;return o|0}if(c[(c[k>>2]|0)+8>>2]|0?(c[c[(c[k>>2]|0)+8>>2]>>2]|0)==1:0){o=c[o>>2]|0;l=p;return o|0}c[n>>2]=c[k>>2];while(1){b=c[n>>2]|0;if(c[(c[n>>2]|0)+20>>2]|0)break;j=(c[b+16>>2]|0)+24|0;k=(c[m>>2]|0)+32|0;if((c[j>>2]|0)==(c[k>>2]|0)?(c[j+4>>2]|0)==(c[k+4>>2]|0):0)TL(c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}k=b+24|0;m=(c[m>>2]|0)+32|0;if(!((c[k>>2]|0)==(c[m>>2]|0)?(c[k+4>>2]|0)==(c[m+4>>2]|0):0)){o=c[o>>2]|0;l=p;return o|0}TL(c[(c[n>>2]|0)+20>>2]|0);o=c[o>>2]|0;l=p;return o|0}case 4:{c[i>>2]=sM(c[m>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0)|0;c[j>>2]=sM(c[m>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0)|0;c[o>>2]=(c[i>>2]|0?1:(c[j>>2]|0)!=0)&1;o=c[o>>2]|0;l=p;return o|0}case 2:{if(sM(c[m>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[h>>2]|0)|0)b=(sM(c[m>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[h>>2]|0)|0)!=0^1;else b=0;c[o>>2]=b&1;o=c[o>>2]|0;l=p;return o|0}default:{do if(c[(c[m>>2]|0)+24>>2]|0){j=(c[k>>2]|0)+24|0;n=(c[m>>2]|0)+32|0;if(!((c[j>>2]|0)==(c[n>>2]|0)?(c[j+4>>2]|0)==(c[n+4>>2]|0):0)?(d[(c[k>>2]|0)+34>>0]|0)==0:0)break;c[g>>2]=c[(c[k>>2]|0)+20>>2];if(a[(c[k>>2]|0)+34>>0]|0)TL(c[g>>2]|0);j=vM(c[m>>2]|0,c[g>>2]|0)|0;c[c[h>>2]>>2]=j;c[o>>2]=(c[(c[g>>2]|0)+28>>2]|0)!=0&1;j=(c[m>>2]|0)+32|0;m=c[j+4>>2]|0;n=(c[k>>2]|0)+24|0;c[n>>2]=c[j>>2];c[n+4>>2]=m;o=c[o>>2]|0;l=p;return o|0}while(0);if(!(d[(c[k>>2]|0)+32>>0]|0)){n=(c[k>>2]|0)+24|0;b=(c[m>>2]|0)+32|0;b=(c[n>>2]|0)==(c[b>>2]|0)?(c[n+4>>2]|0)==(c[b+4>>2]|0):0}else b=0;c[o>>2]=b&1;o=c[o>>2]|0;l=p;return o|0}}return 0}function tM(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[(c[e>>2]|0)+24>>2];while(1){if(!(c[b>>2]|0))break;iK(c[(c[b>>2]|0)+12>>2]|0);c[(c[b>>2]|0)+12>>2]=0;c[b>>2]=c[(c[b>>2]|0)+8>>2]}l=d;return}function uM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;g=r+44|0;h=r+40|0;m=r+36|0;n=r+32|0;i=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;e=r+12|0;f=r+8|0;j=r+4|0;k=r;c[g>>2]=a;c[h>>2]=b;c[m>>2]=1;if(c[c[h>>2]>>2]|0){q=c[m>>2]|0;l=r;return q|0}if((c[c[g>>2]>>2]|0)!=1){q=c[m>>2]|0;l=r;return q|0}if(d[(c[g>>2]|0)+32>>0]|0|0){q=c[m>>2]|0;l=r;return q|0}if(c[(c[g>>2]|0)+8>>2]|0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)==1:0){q=c[m>>2]|0;l=r;return q|0}c[i>>2]=0;c[n>>2]=c[g>>2];while(1){a=c[n>>2]|0;if(!(c[(c[n>>2]|0)+12>>2]|0))break;c[i>>2]=(c[i>>2]|0)+(c[(c[(c[a+16>>2]|0)+20>>2]|0)+32>>2]|0);c[n>>2]=c[(c[n>>2]|0)+12>>2]}c[i>>2]=(c[i>>2]|0)+(c[(c[a+20>>2]|0)+32>>2]|0);if(!(c[i>>2]|0)){c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}c[o>>2]=Yd(c[i>>2]<<1)|0;a:do if(c[o>>2]|0){c[p>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+28>>2];c[q>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];c[n>>2]=c[(c[n>>2]|0)+8>>2];while(1){if(!((c[m>>2]|0)!=0&(c[n>>2]|0)!=0))break;if((c[c[n>>2]>>2]|0)!=1)break;c[e>>2]=c[(c[(c[n>>2]|0)+16>>2]|0)+20>>2];c[f>>2]=c[(c[n>>2]|0)+4>>2];c[m>>2]=xM(c[f>>2]|0,c[o>>2]|0,p,q,c[e>>2]|0)|0;c[n>>2]=c[(c[n>>2]|0)+8>>2]}c[p>>2]=c[(c[(c[(c[g>>2]|0)+16>>2]|0)+20>>2]|0)+28>>2];c[q>>2]=c[(c[(c[(c[g>>2]|0)+16>>2]|0)+20>>2]|0)+64>>2];c[n>>2]=c[(c[g>>2]|0)+12>>2];while(1){if(!(c[n>>2]|0?(c[m>>2]|0)!=0:0))break a;c[j>>2]=c[(c[(c[n>>2]|0)+8>>2]|0)+4>>2];a=c[n>>2]|0;if((c[c[n>>2]>>2]|0)==1)a=c[a+16>>2]|0;c[k>>2]=c[a+20>>2];c[m>>2]=xM(c[j>>2]|0,c[o>>2]|0,p,q,c[k>>2]|0)|0;c[n>>2]=c[(c[n>>2]|0)+12>>2]}}else{c[c[h>>2]>>2]=7;c[m>>2]=0}while(0);Kd(c[o>>2]|0);q=c[m>>2]|0;l=r;return q|0}function vM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+80|0;w=y+76|0;s=y+72|0;v=y+68|0;j=y+64|0;x=y+60|0;t=y+56|0;u=y+52|0;k=y+48|0;d=y+44|0;e=y+40|0;f=y+36|0;m=y+32|0;g=y+28|0;h=y+24|0;i=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;c[s>>2]=a;c[v>>2]=b;c[x>>2]=0;c[t>>2]=0;c[u>>2]=-1;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[v>>2]|0)+64>>2]|0)){a=14;break}c[k>>2]=(c[v>>2]|0)+72+((c[j>>2]|0)*24|0);c[d>>2]=c[(c[k>>2]|0)+16>>2];if(c[d>>2]|0){c[m>>2]=wM(c[d>>2]|0,e,f)|0;if(c[m>>2]|0){a=5;break}b=c[x>>2]|0;if(!(c[e>>2]|0)){a=7;break}a=c[e>>2]|0;if(b){c[g>>2]=a;c[h>>2]=c[x>>2];c[i>>2]=c[g>>2];ZL(g,(c[j>>2]|0)-(c[u>>2]|0)|0,0,1,h,i)|0;Kd(c[x>>2]|0);c[x>>2]=c[e>>2];c[t>>2]=(c[g>>2]|0)-(c[x>>2]|0);if(!(c[t>>2]|0)){a=11;break}}else{c[x>>2]=a;c[t>>2]=c[f>>2]}c[u>>2]=c[j>>2]}c[j>>2]=(c[j>>2]|0)+1}if((a|0)==5){c[w>>2]=c[m>>2];x=c[w>>2]|0;l=y;return x|0}else if((a|0)==7){Kd(b);c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+32>>2]=0;c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}else if((a|0)==11){Kd(c[x>>2]|0);c[(c[v>>2]|0)+28>>2]=0;c[(c[v>>2]|0)+32>>2]=0;c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}else if((a|0)==14){do if((c[u>>2]|0)>=0){c[n>>2]=c[(c[v>>2]|0)+44>>2];if((c[n>>2]|0)<0){c[(c[v>>2]|0)+28>>2]=c[x>>2];c[(c[v>>2]|0)+32>>2]=c[t>>2];t=(c[s>>2]|0)+32|0;u=c[t+4>>2]|0;x=(c[v>>2]|0)+16|0;c[x>>2]=c[t>>2];c[x+4>>2]=u;c[(c[v>>2]|0)+24>>2]=1;break}if((c[n>>2]|0)>(c[u>>2]|0)){c[p>>2]=c[x>>2];c[q>>2]=c[(c[v>>2]|0)+28>>2];c[o>>2]=(c[n>>2]|0)-(c[u>>2]|0)}else{c[p>>2]=c[(c[v>>2]|0)+28>>2];c[q>>2]=c[x>>2];c[o>>2]=(c[u>>2]|0)-(c[n>>2]|0)}c[r>>2]=Yd((c[t>>2]|0)+8|0)|0;if(!(c[r>>2]|0)){Kd(c[x>>2]|0);c[w>>2]=7;x=c[w>>2]|0;l=y;return x|0}c[(c[v>>2]|0)+28>>2]=c[r>>2];if(ZL(r,c[o>>2]|0,0,1,p,q)|0){c[(c[v>>2]|0)+24>>2]=1;b=(c[r>>2]|0)-(c[(c[v>>2]|0)+28>>2]|0)|0;a=c[v>>2]|0}else{Kd(c[r>>2]|0);c[(c[v>>2]|0)+28>>2]=0;b=0;a=c[v>>2]|0}c[a+32>>2]=b;Kd(c[x>>2]|0)}while(0);c[w>>2]=0;x=c[w>>2]|0;l=y;return x|0}return 0}function wM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+28|0;f=k+24|0;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[c[g>>2]>>2]=0;c[c[h>>2]>>2]=0;if(!(c[(c[f>>2]|0)+12>>2]|0)){c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}c[i>>2]=Yd(c[c[(c[f>>2]|0)+12>>2]>>2]|0)|0;if(c[i>>2]|0){c[j>>2]=YK(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0,k)|0;c[c[h>>2]>>2]=(c[c[(c[f>>2]|0)+12>>2]>>2]|0)-(c[j>>2]|0);c[c[g>>2]>>2]=c[i>>2];MR(c[i>>2]|0,(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[j>>2]|0)|0,c[c[h>>2]>>2]|0)|0;c[e>>2]=0;j=c[e>>2]|0;l=k;return j|0}else{c[e>>2]=7;j=c[e>>2]|0;l=k;return j|0}return 0}function xM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;n=l;l=l+48|0;s=n+40|0;r=n+36|0;j=n+32|0;k=n+28|0;m=n+24|0;q=n+20|0;p=n+16|0;g=n+12|0;o=n+8|0;h=n+4|0;i=n;c[s>>2]=a;c[r>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;c[q>>2]=(c[s>>2]|0)+(c[(c[m>>2]|0)+64>>2]|0);c[p>>2]=(c[s>>2]|0)+(c[c[k>>2]>>2]|0);f=c[(c[m>>2]|0)+28>>2]|0;c[h>>2]=f;c[o>>2]=f;c[i>>2]=yM(h,c[r>>2]|0,c[q>>2]|0,c[p>>2]|0,c[j>>2]|0,o)|0;if(!(c[i>>2]|0)){s=c[i>>2]|0;l=n;return s|0}c[g>>2]=(c[h>>2]|0)-(c[(c[m>>2]|0)+28>>2]|0)-1;GR((c[(c[m>>2]|0)+28>>2]|0)+(c[g>>2]|0)|0,0,(c[(c[m>>2]|0)+32>>2]|0)-(c[g>>2]|0)|0)|0;c[(c[m>>2]|0)+32>>2]=c[g>>2];c[c[j>>2]>>2]=c[(c[m>>2]|0)+28>>2];c[c[k>>2]>>2]=c[(c[m>>2]|0)+64>>2];s=c[i>>2]|0;l=n;return s|0}function yM(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=l;l=l+48|0;m=o+44|0;n=o+40|0;u=o+36|0;r=o+32|0;p=o+28|0;q=o+24|0;t=o+20|0;s=o+16|0;h=o+12|0;i=o+8|0;j=o+4|0;k=o;c[m>>2]=a;c[n>>2]=b;c[u>>2]=d;c[r>>2]=e;c[p>>2]=f;c[q>>2]=g;c[t>>2]=c[c[p>>2]>>2];c[s>>2]=c[c[q>>2]>>2];c[h>>2]=c[n>>2];c[k>>2]=1;ZL(h,c[u>>2]|0,0,0,c[p>>2]|0,c[q>>2]|0)|0;g=c[h>>2]|0;c[i>>2]=g;c[j>>2]=g;c[c[p>>2]>>2]=c[t>>2];c[c[q>>2]>>2]=c[s>>2];ZL(i,c[r>>2]|0,1,0,c[q>>2]|0,c[p>>2]|0)|0;if((c[h>>2]|0)!=(c[n>>2]|0)?(c[i>>2]|0)!=(c[j>>2]|0):0){nM(c[m>>2]|0,n,j);u=c[k>>2]|0;l=o;return u|0}if((c[h>>2]|0)!=(c[n>>2]|0)){bL(c[m>>2]|0,n);u=c[k>>2]|0;l=o;return u|0}if((c[i>>2]|0)!=(c[j>>2]|0)){bL(c[m>>2]|0,j);u=c[k>>2]|0;l=o;return u|0}else{c[k>>2]=0;u=c[k>>2]|0;l=o;return u|0}return 0}function zM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+32|0;j=n+28|0;k=n+24|0;p=n+20|0;o=n+16|0;m=n+12|0;g=n+8|0;h=n+4|0;i=n;c[j>>2]=a;c[k>>2]=b;c[p>>2]=d;c[o>>2]=e;c[m>>2]=f;c[g>>2]=c[c[j>>2]>>2];c[h>>2]=0;c[i>>2]=wb[c[(c[g>>2]|0)+12>>2]&255](c[j>>2]|0,c[p>>2]|0,c[o>>2]|0,h)|0;if(((c[i>>2]|0)==0?(c[c[h>>2]>>2]=c[j>>2],(c[c[g>>2]>>2]|0)>=1):0)?(c[i>>2]=yb[c[(c[g>>2]|0)+24>>2]&255](c[h>>2]|0,c[k>>2]|0)|0,c[i>>2]|0):0){tb[c[(c[g>>2]|0)+16>>2]&255](c[h>>2]|0)|0;c[h>>2]=0}c[c[m>>2]>>2]=c[h>>2];l=n;return c[i>>2]|0}function AM(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+64|0;r=u+48|0;s=u+44|0;j=u+24|0;k=u+16|0;m=u+8|0;n=u+40|0;o=u+36|0;p=u+32|0;q=u;c[s>>2]=a;a=j;c[a>>2]=b;c[a+4>>2]=d;d=k;c[d>>2]=e;c[d+4>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;c[n>>2]=i;c[o>>2]=c[c[s>>2]>>2];c[p>>2]=0;if(c[o>>2]|0?(h=(c[o>>2]|0)+16|0,i=j,!((c[h>>2]|0)!=(c[i>>2]|0)?1:(c[h+4>>2]|0)!=(c[i+4>>2]|0))):0)t=9;else{a=j;if(c[o>>2]|0){d=(c[o>>2]|0)+16|0;b=c[d>>2]|0;d=c[d+4>>2]|0}else{b=0;d=0}h=FR(c[a>>2]|0,c[a+4>>2]|0,b|0,d|0)|0;i=q;c[i>>2]=h;c[i+4>>2]=z;if(c[o>>2]|0){i=c[o>>2]|0;c[i>>2]=(c[i>>2]|0)+1}q=BM(o,c[q>>2]|0,c[q+4>>2]|0)|0;c[p>>2]=q;if(!q){q=(c[o>>2]|0)+24|0;c[q>>2]=-1;c[q+4>>2]=-1;q=(c[o>>2]|0)+32|0;c[q>>2]=0;c[q+4>>2]=0;q=c[j+4>>2]|0;t=(c[o>>2]|0)+16|0;c[t>>2]=c[j>>2];c[t+4>>2]=q;t=9}}do if((t|0)==9){t=k;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>0?(q=(c[o>>2]|0)+24|0,t=k,(c[q>>2]|0)!=(c[t>>2]|0)?1:(c[q+4>>2]|0)!=(c[t+4>>2]|0)):0){t=BM(o,1,0)|0;c[p>>2]=t;if(t)break;t=k;t=BM(o,c[t>>2]|0,c[t+4>>2]|0)|0;c[p>>2]=t;if(t)break;j=k;q=c[j+4>>2]|0;t=(c[o>>2]|0)+24|0;c[t>>2]=c[j>>2];c[t+4>>2]=q;t=(c[o>>2]|0)+32|0;c[t>>2]=0;c[t+4>>2]=0}t=k;q=c[t+4>>2]|0;if((q|0)>0|(q|0)==0&(c[t>>2]|0)>>>0>=0?(q=m,q=IR(2,0,c[q>>2]|0,c[q+4>>2]|0)|0,t=(c[o>>2]|0)+32|0,t=FR(q|0,z|0,c[t>>2]|0,c[t+4>>2]|0)|0,c[p>>2]=BM(o,t,z)|0,(c[p>>2]|0)==0):0){q=c[m+4>>2]|0;t=(c[o>>2]|0)+32|0;c[t>>2]=c[m>>2];c[t+4>>2]=q}}while(0);c[c[n>>2]>>2]=c[p>>2];if((c[o>>2]|0)!=(c[c[s>>2]>>2]|0)){c[c[s>>2]>>2]=c[o>>2];c[r>>2]=1;t=c[r>>2]|0;l=u;return t|0}else{c[r>>2]=0;t=c[r>>2]|0;l=u;return t|0}return 0}function BM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+20|0;g=k+16|0;h=k;i=k+12|0;j=k+8|0;c[g>>2]=b;b=h;c[b>>2]=d;c[b+4>>2]=e;c[i>>2]=c[c[g>>2]>>2];do if(c[i>>2]|0){if(((c[c[i>>2]>>2]|0)+10+1|0)>(c[(c[i>>2]|0)+8>>2]|0)){c[j>>2]=c[(c[i>>2]|0)+8>>2]<<1;c[i>>2]=Df(c[i>>2]|0,40+(c[j>>2]|0)|0)|0;if(c[i>>2]|0){c[(c[i>>2]|0)+8>>2]=c[j>>2];c[(c[i>>2]|0)+4>>2]=(c[i>>2]|0)+40;break}Kd(c[c[g>>2]>>2]|0);c[c[g>>2]>>2]=0;c[f>>2]=7;j=c[f>>2]|0;l=k;return j|0}}else{c[i>>2]=Yd(140)|0;if(c[i>>2]|0){c[(c[i>>2]|0)+8>>2]=100;c[(c[i>>2]|0)+4>>2]=(c[i>>2]|0)+40;c[c[i>>2]>>2]=0;break}c[f>>2]=7;j=c[f>>2]|0;l=k;return j|0}while(0);h=IK((c[(c[i>>2]|0)+4>>2]|0)+(c[c[i>>2]>>2]|0)|0,c[h>>2]|0,c[h+4>>2]|0)|0;j=c[i>>2]|0;c[j>>2]=(c[j>>2]|0)+h;a[(c[(c[i>>2]|0)+4>>2]|0)+(c[c[i>>2]>>2]|0)>>0]=0;c[c[g>>2]>>2]=c[i>>2];c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function CM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;do if(!(c[(c[e>>2]|0)+8>>2]|0)){c[h>>2]=c[c[e>>2]>>2];c[j>>2]=c[(c[h>>2]|0)+216>>2];c[i>>2]=Ue(42256,j)|0;if(c[i>>2]|0){c[g>>2]=Fu(c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0,-1,(c[e>>2]|0)+8|0,0)|0;Kd(c[i>>2]|0);break}c[d>>2]=7;j=c[d>>2]|0;l=k;return j|0}while(0);c[c[f>>2]>>2]=c[(c[e>>2]|0)+8>>2];c[d>>2]=c[g>>2];j=c[d>>2]|0;l=k;return j|0}function DM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[k>>2]=c[c[f>>2]>>2];if((c[k>>2]|0)==5){c[j>>2]=ob[c[h>>2]&255](c[f>>2]|0,c[c[g>>2]>>2]|0,c[i>>2]|0)|0;k=c[g>>2]|0;c[k>>2]=(c[k>>2]|0)+1;k=c[j>>2]|0;l=m;return k|0}c[j>>2]=DM(c[(c[f>>2]|0)+12>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;if(!((c[j>>2]|0)==0&(c[k>>2]|0)!=2)){k=c[j>>2]|0;l=m;return k|0}c[j>>2]=DM(c[(c[f>>2]|0)+16>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;k=c[j>>2]|0;l=m;return k|0}function EM(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];c[j>>2]=0;if(d[(c[g>>2]|0)+34>>0]|0|0?(c[c[(c[g>>2]|0)+8>>2]>>2]|0)!=1:0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+1<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+2<<2)>>2]=c[(c[f>>2]|0)+64>>2];c[k>>2]=(c[k>>2]|0)+1}k=c[j>>2]|0;l=m;return k|0}c[j>>2]=FM(c[f>>2]|0,c[g>>2]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+24>>2]|0))break;c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+1<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[k>>2]|0)*3|0)+1<<2)>>2];c[(c[h>>2]|0)+(((c[k>>2]|0)*3|0)+2<<2)>>2]=c[(c[(c[g>>2]|0)+40>>2]|0)+(((c[k>>2]|0)*3|0)+2<<2)>>2];c[k>>2]=(c[k>>2]|0)+1}k=c[j>>2]|0;l=m;return k|0}function FM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;j=s+44|0;k=s+40|0;f=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+8|0;g=s;h=s+48|0;i=s+16|0;c[k>>2]=b;c[f>>2]=e;c[m>>2]=0;do if(!(c[(c[f>>2]|0)+40>>2]|0)){c[n>>2]=c[c[k>>2]>>2];t=(c[k>>2]|0)+32|0;b=c[t+4>>2]|0;e=q;c[e>>2]=c[t>>2];c[e+4>>2]=b;c[o>>2]=c[f>>2];while(1){if(c[(c[o>>2]|0)+8>>2]|0)b=(c[c[(c[o>>2]|0)+8>>2]>>2]|0)==1;else b=0;e=c[o>>2]|0;if(!b)break;c[o>>2]=c[e+8>>2]}e=e+24|0;f=c[e+4>>2]|0;t=g;c[t>>2]=c[e>>2];c[t+4>>2]=f;a[h>>0]=a[(c[o>>2]|0)+32>>0]|0;c[p>>2]=c[o>>2];while(1){if(!(c[p>>2]|0))break;b=c[p>>2]|0;if((c[c[p>>2]>>2]|0)!=5)b=c[b+16>>2]|0;c[i>>2]=b;t=Yd((c[(c[n>>2]|0)+24>>2]|0)*3<<2)|0;c[(c[i>>2]|0)+40>>2]=t;if(!(c[(c[i>>2]|0)+40>>2]|0)){r=12;break}GR(c[(c[i>>2]|0)+40>>2]|0,0,(c[(c[n>>2]|0)+24>>2]|0)*3<<2|0)|0;c[p>>2]=c[(c[p>>2]|0)+12>>2]}if((r|0)==12){c[j>>2]=7;t=c[j>>2]|0;l=s;return t|0}QL(c[k>>2]|0,c[o>>2]|0,m);while(1){if(!((d[(c[k>>2]|0)+6>>0]|0)==0?(c[m>>2]|0)==0:0))break;do{if(!(d[(c[k>>2]|0)+7>>0]|0))Er(c[(c[k>>2]|0)+8>>2]|0)|0;RL(c[k>>2]|0,c[o>>2]|0,m);a[(c[k>>2]|0)+6>>0]=a[(c[o>>2]|0)+32>>0]|0;a[(c[k>>2]|0)+7>>0]=1;c[(c[k>>2]|0)+88>>2]=1;p=(c[o>>2]|0)+24|0;r=c[p+4>>2]|0;t=(c[k>>2]|0)+32|0;c[t>>2]=c[p>>2];c[t+4>>2]=r;if(d[(c[k>>2]|0)+6>>0]|0)break;if((c[c[o>>2]>>2]|0)!=1)break}while((ML(c[k>>2]|0,m)|0)!=0);if(c[m>>2]|0)continue;if(d[(c[k>>2]|0)+6>>0]|0)continue;GM(c[o>>2]|0)}a[(c[k>>2]|0)+6>>0]=0;r=c[q+4>>2]|0;t=(c[k>>2]|0)+32|0;c[t>>2]=c[q>>2];c[t+4>>2]=r;if(a[h>>0]|0){a[(c[o>>2]|0)+32>>0]=a[h>>0]|0;break}QL(c[k>>2]|0,c[o>>2]|0,m);do{RL(c[k>>2]|0,c[o>>2]|0,m);r=(c[o>>2]|0)+24|0;t=g}while(((c[r>>2]|0)!=(c[t>>2]|0)?1:(c[r+4>>2]|0)!=(c[t+4>>2]|0))?(c[m>>2]|0)==0:0)}while(0);c[j>>2]=c[m>>2];t=c[j>>2]|0;l=s;return t|0}function GM(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;e=k+12|0;g=k+8|0;h=k+4|0;i=k+20|0;j=k;c[f>>2]=b;if(!(c[f>>2]|0)){l=k;return}c[e>>2]=c[(c[f>>2]|0)+20>>2];a:do if(c[e>>2]|0?c[(c[e>>2]|0)+28>>2]|0:0){c[g>>2]=0;c[h>>2]=c[(c[e>>2]|0)+28>>2];while(1){a[i>>0]=0;c[j>>2]=0;while(1){if(!(254&(a[c[h>>2]>>0]|d[i>>0])))break;if(!(d[i>>0]&128))c[j>>2]=(c[j>>2]|0)+1;e=c[h>>2]|0;c[h>>2]=e+1;a[i>>0]=a[e>>0]&128}e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[g>>2]|0)*3|0)+1<<2)|0;c[e>>2]=(c[e>>2]|0)+(c[j>>2]|0);e=(c[(c[f>>2]|0)+40>>2]|0)+(((c[g>>2]|0)*3|0)+2<<2)|0;c[e>>2]=(c[e>>2]|0)+((c[j>>2]|0)>0&1);if(!(a[c[h>>2]>>0]|0))break a;c[h>>2]=(c[h>>2]|0)+1;b=c[h>>2]|0;if(d[c[h>>2]>>0]&128|0)b=ZK(b,g)|0;else{c[g>>2]=d[b>>0];b=1}c[h>>2]=(c[h>>2]|0)+b}}while(0);GM(c[(c[f>>2]|0)+12>>2]|0);GM(c[(c[f>>2]|0)+16>>2]|0);l=k;return}function HM(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;p=o+28|0;f=o+24|0;g=o+20|0;h=o+16|0;i=o+12|0;j=o+8|0;k=o+4|0;m=o;c[p>>2]=b;c[f>>2]=e;c[g>>2]=c[c[c[f>>2]>>2]>>2];c[i>>2]=c[(c[p>>2]|0)+20>>2];c[j>>2]=c[(c[i>>2]|0)+28>>2];c[k>>2]=0;b=c[(c[p>>2]|0)+36>>2]|0;e=c[(c[f>>2]|0)+4>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121)c[h>>2]=O(b,e)|0;else c[h>>2]=O(b,(e+31|0)/32|0)|0;while(1){c[m>>2]=PL(j)|0;if(!((c[(c[i>>2]|0)+68>>2]|0)<(c[(c[g>>2]|0)+24>>2]|0)?(c[(c[i>>2]|0)+68>>2]|0)!=(c[k>>2]|0):0))n=6;do if((n|0)==6){n=0;b=c[m>>2]|0;if((a[(c[f>>2]|0)+24>>0]|0)==121){c[(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(c[k>>2]|0)<<2)>>2]=b;break}if(b|0){p=(c[(c[f>>2]|0)+28>>2]|0)+((c[h>>2]|0)+(((c[k>>2]|0)+1|0)/32|0)<<2)|0;c[p>>2]=c[p>>2]|1<<(c[k>>2]&31)}}while(0);if((a[c[j>>2]>>0]|0)!=1)break;c[j>>2]=(c[j>>2]|0)+1;b=c[j>>2]|0;if(d[c[j>>2]>>0]&128|0)b=ZK(b,k)|0;else{c[k>>2]=d[b>>0];b=1}c[j>>2]=(c[j>>2]|0)+b}l=o;return}function IM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=l;l=l+16|0;h=e+12|0;f=e+8|0;i=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[i>>2]=d;c[g>>2]=c[i>>2];c[(c[g>>2]|0)+(c[f>>2]<<4)>>2]=c[h>>2];l=e;return 0}function JM(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;e=g;f=g+8|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+8>>2];c[f>>2]=0;h=YK(c[d>>2]|0,e)|0;c[d>>2]=(c[d>>2]|0)+h;h=e;a=e;if((c[h>>2]|0)==0&(c[h+4>>2]|0)==0|(c[a>>2]|0)==1&(c[a+4>>2]|0)==0){c[d>>2]=0;c[f>>2]=1;e=c[d>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;l=g;return h|0}else{h=e;h=FR(c[h>>2]|0,c[h+4>>2]|0,2,0)|0;e=(c[b>>2]|0)+12|0;c[e>>2]=(c[e>>2]|0)+h;e=c[d>>2]|0;h=c[b>>2]|0;h=h+8|0;c[h>>2]=e;h=c[f>>2]|0;l=g;return h|0}return 0}function KM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=l;l=l+32|0;j=f+20|0;i=f+12|0;e=f+8|0;g=f+4|0;h=f;c[j>>2]=a;c[f+16>>2]=b;c[i>>2]=d;c[e>>2]=0;c[g>>2]=c[(c[j>>2]|0)+20>>2];c[h>>2]=c[i>>2];d=(c[h>>2]|0)+4|0;c[d>>2]=(c[d>>2]|0)+1;d=(c[h>>2]|0)+8|0;c[d>>2]=(c[d>>2]|0)+(c[(c[g>>2]|0)+64>>2]|0);l=f;return c[e>>2]|0}function LM(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[i>>2]=nK(c[k>>2]|0,21,h,0)|0;do if(!(c[i>>2]|0)){k=f;pI(c[h>>2]|0,1,c[k>>2]|0,c[k+4>>2]|0)|0;c[i>>2]=Hr(c[h>>2]|0)|0;if((c[i>>2]|0)==100?(Ju(c[h>>2]|0,0)|0)==4:0){c[i>>2]=0;break}k=Er(c[h>>2]|0)|0;c[i>>2]=k;c[i>>2]=(c[i>>2]|0)==0?267:k;c[h>>2]=0}while(0);c[c[g>>2]>>2]=c[h>>2];l=j;return c[i>>2]|0}function MM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nK(c[h>>2]|0,22,e,0)|0;do if(!(c[f>>2]|0)){oI(c[e>>2]|0,1,0)|0;if((Hr(c[e>>2]|0)|0)==100?(Ju(c[e>>2]|0,0)|0)==4:0)break;h=Er(c[e>>2]|0)|0;c[f>>2]=h;c[f>>2]=(c[f>>2]|0)==0?267:h;c[e>>2]=0}while(0);c[c[d>>2]>>2]=c[e>>2];l=g;return c[f>>2]|0}function NM(b){b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=b;c[e>>2]=(c[g>>2]|0)+(0-(c[(c[g>>2]|0)+-4>>2]|0));b=c[e>>2]|0;if((c[g>>2]|0)==((c[e>>2]|0)+16+4|0))a[b+1>>0]=0;else a[b+2>>0]=0;if(d[c[e>>2]>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+1>>0]|0|0){l=f;return}if(d[(c[e>>2]|0)+2>>0]|0|0){l=f;return}Kd(c[e>>2]|0);l=f;return}function OM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;g=e+4|0;h=e;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[d>>2]=(c[d>>2]|0)+1;c[(c[f>>2]|0)+36>>2]=c[g>>2];l=e;return 0}function PM(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;c[d>>2]=wu(c[(c[b>>2]|0)+12>>2]|0,42384,0,0,0)|0;do if(!(c[d>>2]|0)){c[d>>2]=QM(c[b>>2]|0,1)|0;a=c[(c[b>>2]|0)+12>>2]|0;if(!((c[d>>2]|0)==0|(c[d>>2]|0)==101)){wu(a,42412,0,0,0)|0;wu(c[(c[b>>2]|0)+12>>2]|0,42399,0,0,0)|0;break}c[e>>2]=wu(a,42399,0,0,0)|0;if(c[e>>2]|0)c[d>>2]=c[e>>2]}while(0);wL(c[b>>2]|0);l=f;return c[d>>2]|0}function QM(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+28|0;e=m+24|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;c[h>>2]=0;c[g>>2]=nK(c[d>>2]|0,27,h,0)|0;if(!(c[g>>2]|0)){oI(c[h>>2]|0,1,c[(c[d>>2]|0)+272>>2]|0)|0;oI(c[h>>2]|0,2,c[(c[d>>2]|0)+248>>2]|0)|0;a:while(1){b=(Hr(c[h>>2]|0)|0)==100;a=c[h>>2]|0;if(!b)break;c[k>>2]=hI(a,0)|0;c[j>>2]=0;while(1){if(c[g>>2]|0)continue a;if((c[j>>2]|0)>=(c[(c[d>>2]|0)+248>>2]|0))continue a;c[g>>2]=mK(c[d>>2]|0,c[k>>2]|0,c[j>>2]|0,-2)|0;if((c[g>>2]|0)==101){c[f>>2]=1;c[g>>2]=0}c[j>>2]=(c[j>>2]|0)+1}}c[i>>2]=Er(a)|0;if(!(c[g>>2]|0))c[g>>2]=c[i>>2]}wL(c[d>>2]|0);hK(c[d>>2]|0);l=m;return ((c[g>>2]|0)==0&(c[e>>2]|0)!=0&(c[f>>2]|0)!=0?101:c[g>>2]|0)|0}function RM(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;C=l;l=l+208|0;z=C+32|0;p=C+132|0;u=C+128|0;v=C+124|0;w=C+120|0;A=C+116|0;x=C+112|0;y=C+108|0;B=C+96|0;e=C;f=C+92|0;g=C+88|0;h=C+84|0;i=C+80|0;j=C+76|0;k=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;q=C+56|0;r=C+52|0;s=C+48|0;t=C+136|0;c[p>>2]=b;c[u>>2]=d;c[v>>2]=c[c[u>>2]>>2];c[w>>2]=c[c[(c[v>>2]|0)+36>>2]>>2];c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;if(!(c[(c[u>>2]|0)+12>>2]|0)){ci(c[p>>2]|0,47636,0,0);l=C;return};c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[e+24>>2]=0;c[e+28>>2]=0;c[A>>2]=HL(c[u>>2]|0,0,x)|0;a:do if(!(c[A>>2]|0)){c[e+24>>2]=Yd((c[x>>2]|0)*12|0)|0;if(!(c[e+24>>2]|0)){c[A>>2]=7;break}D=(c[u>>2]|0)+32|0;b=c[D+4>>2]|0;d=e+16|0;c[d>>2]=c[D>>2];c[d+4>>2]=b;c[e>>2]=c[u>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[v>>2]|0)+24>>2]|0))break a;c[h>>2]=0;c[i>>2]=0;c[j>>2]=0;c[k>>2]=0;c[e+4>>2]=c[y>>2];c[e+8>>2]=0;LL(c[(c[u>>2]|0)+12>>2]|0,161,e)|0;c[m>>2]=Iu(c[(c[u>>2]|0)+8>>2]|0,(c[y>>2]|0)+1|0)|0;c[n>>2]=fI(c[(c[u>>2]|0)+8>>2]|0,(c[y>>2]|0)+1|0)|0;if(!(c[m>>2]|0)){if((Ju(c[(c[u>>2]|0)+8>>2]|0,(c[y>>2]|0)+1|0)|0)!=5)break}else{c[A>>2]=zM(c[(c[v>>2]|0)+36>>2]|0,c[(c[u>>2]|0)+16>>2]|0,c[m>>2]|0,c[n>>2]|0,f)|0;if(c[A>>2]|0)break a;c[A>>2]=sb[c[(c[w>>2]|0)+20>>2]&255](c[f>>2]|0,g,h,i,j,k)|0;while(1){if(c[A>>2]|0)break;c[q>>2]=2147483647;c[r>>2]=0;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[x>>2]|0))break;c[s>>2]=(c[e+24>>2]|0)+((c[o>>2]|0)*12|0);if(c[c[s>>2]>>2]|0?((c[(c[s>>2]|0)+4>>2]|0)-(c[(c[s>>2]|0)+8>>2]|0)|0)<(c[q>>2]|0):0){c[q>>2]=(c[(c[s>>2]|0)+4>>2]|0)-(c[(c[s>>2]|0)+8>>2]|0);c[r>>2]=c[s>>2]}c[o>>2]=(c[o>>2]|0)+1}if(!(c[r>>2]|0)){c[A>>2]=101;continue}b=c[r>>2]|0;if(!(254&a[c[c[r>>2]>>2]>>0]))c[b>>2]=0;else TM(b,(c[r>>2]|0)+4|0);while(1){if(c[A>>2]|0)break;if((c[k>>2]|0)>=(c[q>>2]|0))break;c[A>>2]=sb[c[(c[w>>2]|0)+20>>2]&255](c[f>>2]|0,g,h,i,j,k)|0}if(!(c[A>>2]|0)){b=((c[r>>2]|0)-(c[e+24>>2]|0)|0)/12|0;d=c[i>>2]|0;D=(c[j>>2]|0)-(c[i>>2]|0)|0;c[z>>2]=c[y>>2];c[z+4>>2]=b;c[z+8>>2]=d;c[z+12>>2]=D;Ne(64,t,42429,z)|0;c[A>>2]=UM(B,t,-1)|0;continue}if((c[A>>2]|0)!=101)continue;if(c[(c[v>>2]|0)+40>>2]|0)continue;c[A>>2]=267}if((c[A>>2]|0)==101)c[A>>2]=0;tb[c[(c[w>>2]|0)+16>>2]&255](c[f>>2]|0)|0;if(c[A>>2]|0)break a}c[y>>2]=(c[y>>2]|0)+1}c[A>>2]=7}while(0);Kd(c[e+24>>2]|0);wL(c[v>>2]|0);b=c[p>>2]|0;if(c[A>>2]|0){Bi(b,c[A>>2]|0);Kd(c[B>>2]|0);l=C;return}else{ci(b,c[B>>2]|0,(c[B+4>>2]|0)-1|0,148);l=C;return}}function SM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+48|0;n=m+36|0;o=m+28|0;h=m+24|0;i=m+20|0;j=m+16|0;k=m+12|0;e=m+8|0;f=m+4|0;g=m;c[n>>2]=a;c[m+32>>2]=b;c[o>>2]=d;c[h>>2]=c[o>>2];c[e>>2]=0;c[f>>2]=OL(c[c[h>>2]>>2]|0,c[n>>2]|0,c[(c[h>>2]|0)+4>>2]|0,k)|0;c[i>>2]=c[(c[(c[n>>2]|0)+20>>2]|0)+64>>2];if(c[k>>2]|0)TM(k,e);c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[i>>2]|0))break;n=c[(c[h>>2]|0)+24>>2]|0;d=(c[h>>2]|0)+8|0;o=c[d>>2]|0;c[d>>2]=o+1;c[g>>2]=n+(o*12|0);c[(c[g>>2]|0)+8>>2]=(c[i>>2]|0)-(c[j>>2]|0)-1;c[c[g>>2]>>2]=c[k>>2];c[(c[g>>2]|0)+4>>2]=c[e>>2];c[j>>2]=(c[j>>2]|0)+1}l=m;return c[f>>2]|0}function TM(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;a=c[c[e>>2]>>2]|0;if((d[c[c[e>>2]>>2]>>0]|0)&128|0)a=ZK(a,g)|0;else{c[g>>2]=d[a>>0];a=1}e=c[e>>2]|0;c[e>>2]=(c[e>>2]|0)+a;f=c[f>>2]|0;c[f>>2]=(c[f>>2]|0)+((c[g>>2]|0)-2);l=h;return}function UM(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if((c[i>>2]|0)<0)c[i>>2]=lQ(c[h>>2]|0)|0;do if(((c[(c[g>>2]|0)+4>>2]|0)+(c[i>>2]|0)+1|0)>=(c[(c[g>>2]|0)+8>>2]|0)){c[j>>2]=(c[(c[g>>2]|0)+8>>2]|0)+(c[i>>2]|0)+100;c[k>>2]=Df(c[c[g>>2]>>2]|0,c[j>>2]|0)|0;if(c[k>>2]|0){c[c[g>>2]>>2]=c[k>>2];c[(c[g>>2]|0)+8>>2]=c[j>>2];break}c[f>>2]=7;k=c[f>>2]|0;l=m;return k|0}while(0);MR((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[i>>2]|0)|0;k=(c[g>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+(c[i>>2]|0);a[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)>>0]=0;c[f>>2]=0;k=c[f>>2]|0;l=m;return k|0}function VM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+224|0;A=G+212|0;B=G+208|0;C=G+204|0;i=G+200|0;j=G+196|0;k=G+192|0;m=G+188|0;n=G+184|0;E=G+180|0;o=G+176|0;F=G+164|0;p=G+160|0;q=G+40|0;r=G+156|0;s=G+152|0;t=G+32|0;u=G+24|0;v=G+148|0;w=G+144|0;x=G+140|0;y=G;z=G+136|0;c[A>>2]=a;c[B>>2]=b;c[C>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=c[c[B>>2]>>2];c[E>>2]=0;c[F>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;c[p>>2]=0;c[r>>2]=-1;if(!(c[(c[B>>2]|0)+12>>2]|0)){ci(c[A>>2]|0,47636,0,0);l=G;return}c[p>>2]=1;a:while(1){a=t;c[a>>2]=0;c[a+4>>2]=0;a=u;c[a>>2]=0;c[a+4>>2]=0;a=c[m>>2]|0;if((c[m>>2]|0)>=0)c[r>>2]=(a+(c[p>>2]|0)-1|0)/(c[p>>2]|0)|0;else c[r>>2]=O(-1,a)|0;c[s>>2]=0;while(1){if((c[s>>2]|0)>=(c[p>>2]|0))break;c[v>>2]=-1;c[x>>2]=q+((c[s>>2]|0)*24|0);h=c[x>>2]|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[n>>2]|0)+24>>2]|0))break;c[y>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;c[y+12>>2]=0;c[y+16>>2]=0;c[y+20>>2]=0;c[z>>2]=0;if(!((c[k>>2]|0)>=0?(c[w>>2]|0)!=(c[k>>2]|0):0)){h=t;c[E>>2]=WM(c[r>>2]|0,c[B>>2]|0,c[w>>2]|0,c[h>>2]|0,c[h+4>>2]|0,u,y,z)|0;if(c[E>>2]|0)break a;if((c[z>>2]|0)>(c[v>>2]|0)){h=c[x>>2]|0;c[h>>2]=c[y>>2];c[h+4>>2]=c[y+4>>2];c[h+8>>2]=c[y+8>>2];c[h+12>>2]=c[y+12>>2];c[h+16>>2]=c[y+16>>2];c[h+20>>2]=c[y+20>>2];c[v>>2]=c[z>>2]}}c[w>>2]=(c[w>>2]|0)+1}f=(c[x>>2]|0)+8|0;e=t;g=c[e+4>>2]|c[f+4>>2];h=t;c[h>>2]=c[e>>2]|c[f>>2];c[h+4>>2]=g;c[s>>2]=(c[s>>2]|0)+1}g=u;h=t;if(((c[g>>2]|0)==(c[h>>2]|0)?(c[g+4>>2]|0)==(c[h+4>>2]|0):0)|(c[p>>2]|0)==4){D=20;break}c[p>>2]=(c[p>>2]|0)+1}b:do if((D|0)==20){c[o>>2]=0;while(1){if(!((c[o>>2]|0)<(c[p>>2]|0)?(c[E>>2]|0)==0:0))break b;c[E>>2]=XM(c[B>>2]|0,q+((c[o>>2]|0)*24|0)|0,c[o>>2]|0,(c[o>>2]|0)==((c[p>>2]|0)-1|0)&1,c[r>>2]|0,c[C>>2]|0,c[i>>2]|0,c[j>>2]|0,F)|0;c[o>>2]=(c[o>>2]|0)+1}}while(0);wL(c[n>>2]|0);a=c[A>>2]|0;if(c[E>>2]|0){Bi(a,c[E>>2]|0);Kd(c[F>>2]|0);l=G;return}else{ci(a,c[F>>2]|0,-1,148);l=G;return}}function WM(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0;D=l;l=l+112|0;B=D+104|0;C=D+100|0;j=D+96|0;k=D+92|0;m=D+16|0;n=D+88|0;o=D+84|0;p=D+80|0;q=D+76|0;r=D+72|0;s=D+48|0;t=D+40|0;u=D+36|0;v=D+32|0;w=D+28|0;x=D+24|0;y=D+8|0;A=D;c[C>>2]=a;c[j>>2]=b;c[k>>2]=d;d=m;c[d>>2]=e;c[d+4>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[u>>2]=-1;c[s>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[s+12>>2]=0;c[s+16>>2]=0;c[s+20>>2]=0;c[q>>2]=HL(c[j>>2]|0,r,0)|0;if(c[q>>2]|0){c[B>>2]=c[q>>2];C=c[B>>2]|0;l=D;return C|0}c[t>>2]=(c[r>>2]|0)*24;c[s+16>>2]=Yd(c[t>>2]|0)|0;if(!(c[s+16>>2]|0)){c[B>>2]=7;C=c[B>>2]|0;l=D;return C|0}GR(c[s+16>>2]|0,0,c[t>>2]|0)|0;c[s>>2]=c[j>>2];c[s+4>>2]=c[k>>2];c[s+8>>2]=c[C>>2];c[s+12>>2]=c[r>>2];c[s+20>>2]=-1;c[q>>2]=LL(c[(c[j>>2]|0)+12>>2]|0,162,s)|0;if(!(c[q>>2]|0)){c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[r>>2]|0))break;if(c[(c[s+16>>2]|0)+((c[v>>2]|0)*24|0)+12>>2]|0){h=HR(1,0,c[v>>2]|0)|0;C=c[n>>2]|0;g=C;i=c[g+4>>2]|z;c[C>>2]=c[g>>2]|h;c[C+4>>2]=i}c[v>>2]=(c[v>>2]|0)+1}c[c[o>>2]>>2]=c[k>>2];while(1){if(!((_M(s)|0)!=0^1))break;C=m;$M(s,c[C>>2]|0,c[C+4>>2]|0,w,x,y,A);if((c[x>>2]|0)<=(c[u>>2]|0))continue;c[(c[o>>2]|0)+4>>2]=c[w>>2];C=A;i=c[C+4>>2]|0;h=(c[o>>2]|0)+16|0;c[h>>2]=c[C>>2];c[h+4>>2]=i;h=y;i=c[h+4>>2]|0;C=(c[o>>2]|0)+8|0;c[C>>2]=c[h>>2];c[C+4>>2]=i;c[u>>2]=c[x>>2]}c[c[p>>2]>>2]=c[u>>2]}Kd(c[s+16>>2]|0);c[B>>2]=c[q>>2];C=c[B>>2]|0;l=D;return C|0}function XM(a,b,d,e,f,g,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0;N=l;l=l+128|0;L=N+112|0;k=N+108|0;P=N+104|0;m=N+100|0;n=N+96|0;o=N+92|0;p=N+88|0;q=N+84|0;r=N+80|0;s=N+76|0;t=N+72|0;u=N+68|0;v=N+64|0;w=N+60|0;x=N+56|0;y=N+52|0;A=N+48|0;B=N+44|0;C=N;O=N+40|0;D=N+36|0;E=N+32|0;F=N+28|0;G=N+24|0;H=N+20|0;I=N+16|0;J=N+12|0;K=N+8|0;c[k>>2]=a;c[P>>2]=b;c[m>>2]=d;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=c[c[k>>2]>>2];c[x>>2]=0;c[y>>2]=0;c[A>>2]=0;c[B>>2]=c[(c[P>>2]|0)+4>>2];j=(c[P>>2]|0)+16|0;b=c[j+4>>2]|0;a=C;c[a>>2]=c[j>>2];c[a+4>>2]=b;c[O>>2]=(c[c[P>>2]>>2]|0)+1;c[v>>2]=Iu(c[(c[k>>2]|0)+8>>2]|0,c[O>>2]|0)|0;a=c[(c[k>>2]|0)+8>>2]|0;b=c[O>>2]|0;if(!(c[v>>2]|0))if((Ju(a,b)|0)!=5){c[L>>2]=7;P=c[L>>2]|0;l=N;return P|0}else{c[L>>2]=0;P=c[L>>2]|0;l=N;return P|0}c[w>>2]=fI(a,b)|0;c[D>>2]=c[c[(c[t>>2]|0)+36>>2]>>2];c[u>>2]=zM(c[(c[t>>2]|0)+36>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[v>>2]|0,c[w>>2]|0,E)|0;if(c[u>>2]|0){c[L>>2]=c[u>>2];P=c[L>>2]|0;l=N;return P|0}while(1){if(c[u>>2]|0)break;c[G>>2]=-1;c[H>>2]=0;c[I>>2]=0;c[J>>2]=0;c[u>>2]=sb[c[(c[D>>2]|0)+20>>2]&255](c[E>>2]|0,F,G,H,I,x)|0;if(c[u>>2]|0){M=9;break}if((c[x>>2]|0)<(c[B>>2]|0))continue;if(!(c[A>>2]|0)){c[K>>2]=(c[w>>2]|0)-(c[H>>2]|0);c[u>>2]=YM(c[t>>2]|0,c[(c[k>>2]|0)+16>>2]|0,c[o>>2]|0,(c[v>>2]|0)+(c[H>>2]|0)|0,c[K>>2]|0,B,C)|0;c[A>>2]=1;do if(!(c[u>>2]|0)){if((c[B>>2]|0)>0|(c[m>>2]|0)>0){c[u>>2]=UM(c[s>>2]|0,c[r>>2]|0,-1)|0;break}if(c[H>>2]|0)c[u>>2]=UM(c[s>>2]|0,c[v>>2]|0,c[H>>2]|0)|0}while(0);if(c[u>>2]|0)continue;if((c[x>>2]|0)<(c[B>>2]|0))continue}if((c[x>>2]|0)>=((c[B>>2]|0)+(c[o>>2]|0)|0)){M=21;break}P=C;j=c[P>>2]|0;P=c[P+4>>2]|0;O=HR(1,0,(c[x>>2]|0)-(c[B>>2]|0)|0)|0;c[J>>2]=((j&O|0)!=0|(P&z|0)!=0)&1;if((c[x>>2]|0)>(c[B>>2]|0))c[u>>2]=UM(c[s>>2]|0,(c[v>>2]|0)+(c[y>>2]|0)|0,(c[H>>2]|0)-(c[y>>2]|0)|0)|0;if((c[u>>2]|0)==0&(c[J>>2]|0)!=0)c[u>>2]=UM(c[s>>2]|0,c[p>>2]|0,-1)|0;if(!(c[u>>2]|0))c[u>>2]=UM(c[s>>2]|0,(c[v>>2]|0)+(c[H>>2]|0)|0,(c[I>>2]|0)-(c[H>>2]|0)|0)|0;if((c[u>>2]|0)==0&(c[J>>2]|0)!=0)c[u>>2]=UM(c[s>>2]|0,c[q>>2]|0,-1)|0;c[y>>2]=c[I>>2]}if((M|0)==9){if((c[u>>2]|0)==101)c[u>>2]=UM(c[s>>2]|0,(c[v>>2]|0)+(c[y>>2]|0)|0,-1)|0}else if((M|0)==21?c[n>>2]|0:0)c[u>>2]=UM(c[s>>2]|0,c[r>>2]|0,-1)|0;tb[c[(c[D>>2]|0)+16>>2]&255](c[E>>2]|0)|0;c[L>>2]=c[u>>2];P=c[L>>2]|0;l=N;return P|0}function YM(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+96|0;E=F+84|0;u=F+80|0;v=F+76|0;w=F+72|0;i=F+68|0;j=F+64|0;x=F+60|0;y=F+56|0;A=F;k=F+52|0;m=F+48|0;n=F+44|0;B=F+40|0;C=F+36|0;D=F+32|0;o=F+28|0;p=F+24|0;q=F+20|0;r=F+16|0;s=F+12|0;t=F+8|0;c[u>>2]=a;c[v>>2]=b;c[w>>2]=d;c[i>>2]=e;c[j>>2]=f;c[x>>2]=g;c[y>>2]=h;f=c[y>>2]|0;g=c[f+4>>2]|0;h=A;c[h>>2]=c[f>>2];c[h+4>>2]=g;h=A;do if((c[h>>2]|0)!=0|(c[h+4>>2]|0)!=0){c[k>>2]=0;while(1){h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;g=HR(1,0,c[k>>2]|0)|0;if(!(((f&g|0)!=0|(h&z|0)!=0)^1))break;c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=0;while(1){h=A;f=c[h>>2]|0;h=c[h+4>>2]|0;g=HR(1,0,(c[w>>2]|0)-1-(c[m>>2]|0)|0)|0;if(!(((f&g|0)!=0|(h&z|0)!=0)^1))break;c[m>>2]=(c[m>>2]|0)+1}c[n>>2]=((c[k>>2]|0)-(c[m>>2]|0)|0)/2|0;if((c[n>>2]|0)>0){c[C>>2]=0;c[o>>2]=c[c[(c[u>>2]|0)+36>>2]>>2];c[D>>2]=zM(c[(c[u>>2]|0)+36>>2]|0,c[v>>2]|0,c[i>>2]|0,c[j>>2]|0,p)|0;if(c[D>>2]|0){c[E>>2]=c[D>>2];E=c[E>>2]|0;l=F;return E|0}while(1){if(c[D>>2]|0)break;if((c[C>>2]|0)>=((c[w>>2]|0)+(c[n>>2]|0)|0))break;c[r>>2]=0;c[s>>2]=0;c[t>>2]=0;c[D>>2]=sb[c[(c[o>>2]|0)+20>>2]&255](c[p>>2]|0,q,r,s,t,C)|0}tb[c[(c[o>>2]|0)+16>>2]&255](c[p>>2]|0)|0;a=c[D>>2]|0;if((c[D>>2]|0)!=0&(c[D>>2]|0)!=101){c[E>>2]=a;E=c[E>>2]|0;l=F;return E|0}else{c[B>>2]=((a|0)==101&1)+(c[C>>2]|0)-(c[w>>2]|0);if((c[B>>2]|0)<=0)break;C=c[x>>2]|0;c[C>>2]=(c[C>>2]|0)+(c[B>>2]|0);C=A;C=OR(c[C>>2]|0,c[C+4>>2]|0,c[B>>2]|0)|0;D=c[y>>2]|0;c[D>>2]=C;c[D+4>>2]=z;break}}}while(0);c[E>>2]=0;E=c[E>>2]|0;l=F;return E|0}function ZM(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;i=l;l=l+32|0;k=i+28|0;m=i+24|0;n=i+20|0;j=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;e=i;c[k>>2]=a;c[m>>2]=b;c[n>>2]=d;c[j>>2]=c[n>>2];c[f>>2]=(c[(c[j>>2]|0)+16>>2]|0)+((c[m>>2]|0)*24|0);c[c[f>>2]>>2]=c[(c[(c[k>>2]|0)+20>>2]|0)+64>>2];c[h>>2]=OL(c[c[j>>2]>>2]|0,c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0,g)|0;if(!(c[g>>2]|0)){n=c[h>>2]|0;l=i;return n|0}c[e>>2]=0;c[(c[f>>2]|0)+4>>2]=c[g>>2];TM(g,e);c[(c[f>>2]|0)+12>>2]=c[g>>2];c[(c[f>>2]|0)+20>>2]=c[g>>2];c[(c[f>>2]|0)+8>>2]=c[e>>2];c[(c[f>>2]|0)+16>>2]=c[e>>2];n=c[h>>2]|0;l=i;return n|0}function _M(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;b=k+28|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=a;a:do if((c[(c[d>>2]|0)+20>>2]|0)<0){c[(c[d>>2]|0)+20>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[f>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);aN((c[f>>2]|0)+12|0,(c[f>>2]|0)+8|0,c[(c[d>>2]|0)+8>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}else{c[h>>2]=2147483647;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break;c[i>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);if(c[(c[i>>2]|0)+12>>2]|0?(c[(c[i>>2]|0)+8>>2]|0)<(c[h>>2]|0):0)c[h>>2]=c[(c[i>>2]|0)+8>>2];c[e>>2]=(c[e>>2]|0)+1}if((c[h>>2]|0)==2147483647){c[b>>2]=1;j=c[b>>2]|0;l=k;return j|0}i=(c[h>>2]|0)-(c[(c[d>>2]|0)+8>>2]|0)+1|0;c[g>>2]=i;c[(c[d>>2]|0)+20>>2]=i;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+12>>2]|0))break a;c[j>>2]=(c[(c[d>>2]|0)+16>>2]|0)+((c[e>>2]|0)*24|0);aN((c[j>>2]|0)+12|0,(c[j>>2]|0)+8|0,(c[h>>2]|0)+1|0);aN((c[j>>2]|0)+20|0,(c[j>>2]|0)+16|0,c[g>>2]|0);c[e>>2]=(c[e>>2]|0)+1}}while(0);c[b>>2]=0;j=c[b>>2]|0;l=k;return j|0}function $M(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;C=l;l=l+96|0;y=C+84|0;A=C+32|0;B=C+80|0;j=C+76|0;k=C+72|0;m=C+68|0;n=C+64|0;o=C+60|0;p=C+56|0;q=C+24|0;r=C+16|0;s=C+52|0;t=C+48|0;u=C+44|0;v=C+40|0;w=C+8|0;x=C;c[y>>2]=b;b=A;c[b>>2]=d;c[b+4>>2]=e;c[B>>2]=f;c[j>>2]=g;c[k>>2]=h;c[m>>2]=i;c[n>>2]=c[(c[y>>2]|0)+20>>2];c[o>>2]=0;i=q;c[i>>2]=0;c[i+4>>2]=0;i=r;c[i>>2]=0;c[i+4>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[(c[y>>2]|0)+12>>2]|0))break;c[s>>2]=(c[(c[y>>2]|0)+16>>2]|0)+((c[p>>2]|0)*24|0);a:do if(c[(c[s>>2]|0)+20>>2]|0){c[t>>2]=c[(c[s>>2]|0)+20>>2];c[u>>2]=c[(c[s>>2]|0)+16>>2];while(1){if((c[u>>2]|0)>=((c[n>>2]|0)+(c[(c[y>>2]|0)+8>>2]|0)|0))break a;g=HR(1,0,c[p>>2]|0)|0;h=w;c[h>>2]=g;c[h+4>>2]=z;h=HR(1,0,(c[u>>2]|0)-(c[n>>2]|0)|0)|0;g=x;c[g>>2]=h;c[g+4>>2]=z;g=q;h=A;i=w;b=c[o>>2]|0;if((c[g>>2]|c[h>>2])&c[i>>2]|0?1:((c[g+4>>2]|c[h+4>>2])&c[i+4>>2]|0)!=0)c[o>>2]=b+1;else c[o>>2]=b+1e3;g=w;f=q;h=c[f+4>>2]|c[g+4>>2];i=q;c[i>>2]=c[f>>2]|c[g>>2];c[i+4>>2]=h;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[s>>2]>>2]|0))break;g=x;g=OR(c[g>>2]|0,c[g+4>>2]|0,c[v>>2]|0)|0;f=r;h=c[f+4>>2]|z;i=r;c[i>>2]=c[f>>2]|g;c[i+4>>2]=h;c[v>>2]=(c[v>>2]|0)+1}if(!(a[c[t>>2]>>0]&254))break a;TM(t,u)}}while(0);c[p>>2]=(c[p>>2]|0)+1}c[c[B>>2]>>2]=c[n>>2];c[c[j>>2]>>2]=c[o>>2];B=q;A=c[B+4>>2]|0;y=c[k>>2]|0;c[y>>2]=c[B>>2];c[y+4>>2]=A;y=r;A=c[y+4>>2]|0;B=c[m>>2]|0;c[B>>2]=c[y>>2];c[B+4>>2]=A;l=C;return}function aN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=c[c[f>>2]>>2];if(!(c[i>>2]|0)){l=m;return}c[j>>2]=c[c[g>>2]>>2];while(1){if((c[j>>2]|0)>=(c[h>>2]|0))break;if(!(a[c[i>>2]>>0]&254)){k=5;break}TM(i,j)}if((k|0)==5){c[j>>2]=-1;c[i>>2]=0}c[c[g>>2]>>2]=c[j>>2];c[c[f>>2]>>2]=c[i>>2];l=m;return}function bN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;i=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[d>>2]=b;c[f>>2]=0;c[g>>2]=0;c[e>>2]=nK(c[i>>2]|0,36,g,0)|0;if(c[e>>2]|0){g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}if(100==(Hr(c[g>>2]|0)|0))c[f>>2]=hI(c[g>>2]|0,0)|0;c[e>>2]=Er(c[g>>2]|0)|0;g=c[f>>2]|0;i=c[d>>2]|0;c[i>>2]=g;i=c[e>>2]|0;l=h;return i|0}function cN(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0;D=l;l=l+128|0;w=D+112|0;x=D+108|0;E=D+104|0;y=D+100|0;A=D+96|0;B=D+92|0;C=D+88|0;f=D+84|0;g=D+80|0;h=D+76|0;i=D+16|0;j=D+64|0;k=D+60|0;m=D+8|0;n=D+52|0;o=D+48|0;p=D+44|0;q=D+40|0;r=D;s=D+36|0;t=D+32|0;u=D+28|0;v=D+24|0;c[x>>2]=a;c[E>>2]=b;c[y>>2]=e;c[B>>2]=c[E>>2];c[h>>2]=0;e=i;c[e>>2]=0;c[e+4>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[k>>2]=0;c[D+56>>2]=640;c[g>>2]=Yd(640)|0;if(!(c[g>>2]|0)){c[w>>2]=7;E=c[w>>2]|0;l=D;return E|0}c[f>>2]=(c[g>>2]|0)+568;c[C>>2]=(c[f>>2]|0)+16;c[A>>2]=dN(c[x>>2]|0,j)|0;while(1){if(!((c[A>>2]|0)==0?(c[B>>2]|0)>0:0))break;e=c[(c[x>>2]|0)+248>>2]<<10;E=m;c[E>>2]=e;c[E+4>>2]=((e|0)<0)<<31>>31;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[A>>2]=nK(c[x>>2]|0,28,n,0)|0;oI(c[n>>2]|0,1,2>(c[y>>2]|0)?2:c[y>>2]|0)|0;if((Hr(c[n>>2]|0)|0)==100){e=iI(c[n>>2]|0,0)|0;E=i;c[E>>2]=e;c[E+4>>2]=z;c[h>>2]=hI(c[n>>2]|0,1)|0}else c[h>>2]=-1;c[A>>2]=Er(c[n>>2]|0)|0;do if((c[A>>2]|0)==0?c[j+4>>2]|0:0){c[q>>2]=c[j+4>>2];E=r;c[E>>2]=0;c[E+4>>2]=0;c[s>>2]=0;c[A>>2]=eN(j,r,s)|0;if((c[h>>2]|0)>=0?(a=i,e=m,e=VR(c[a>>2]|0,c[a+4>>2]|0,c[e>>2]|0,c[e+4>>2]|0)|0,a=z,b=r,E=m,E=VR(c[b>>2]|0,c[b+4>>2]|0,c[E>>2]|0,c[E+4>>2]|0)|0,b=z,!((a|0)>(b|0)|(a|0)==(b|0)&e>>>0>=E>>>0)):0){c[j+4>>2]=c[q>>2];break}b=r;e=c[b+4>>2]|0;E=i;c[E>>2]=c[b>>2];c[E+4>>2]=e;c[h>>2]=c[s>>2];c[o>>2]=1;c[k>>2]=1}while(0);if((c[h>>2]|0)<0)break;GR(c[g>>2]|0,0,640)|0;c[(c[f>>2]|0)+12>>2]=1;do if(!(c[A>>2]|0)){E=i;c[A>>2]=fN(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,p)|0;if(c[p>>2]|0?!((c[o>>2]|0)!=0&(c[p>>2]|0)==1):0)break;c[t>>2]=0;e=c[x>>2]|0;E=i;E=IR(c[E>>2]|0,c[E+4>>2]|0,1,0)|0;c[A>>2]=gN(e,E,z,t)|0;if(c[t>>2]|0){E=(c[f>>2]|0)+12|0;c[E>>2]=c[E>>2]|2}}while(0);if(!(c[A>>2]|0)){E=i;c[A>>2]=hN(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[h>>2]|0,c[C>>2]|0)|0}if(((0==(c[A>>2]|0)?(c[(c[C>>2]|0)+4>>2]|0)==(c[h>>2]|0):0)?(E=sK(c[x>>2]|0,c[C>>2]|0,c[f>>2]|0)|0,c[A>>2]=E,0==(E|0)):0)?(E=tK(c[x>>2]|0,c[C>>2]|0)|0,c[A>>2]=E,100==(E|0)):0){if((c[o>>2]|0)!=0&(c[p>>2]|0)>0){c[u>>2]=c[(c[C>>2]|0)+40>>2];c[v>>2]=c[(c[C>>2]|0)+44>>2];E=i;c[A>>2]=iN(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,(c[p>>2]|0)-1|0,c[u>>2]|0,c[v>>2]|0,c[g>>2]|0)|0}else{E=i;c[A>>2]=jN(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[p>>2]|0,c[C>>2]|0,c[g>>2]|0)|0}if((c[A>>2]|0)==0?c[c[g>>2]>>2]|0:0){do{c[A>>2]=kN(c[x>>2]|0,c[g>>2]|0,c[C>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=tK(c[x>>2]|0,c[C>>2]|0)|0;if((c[A>>2]|0)==100?(c[(c[g>>2]|0)+4>>2]|0)>=(c[B>>2]|0):0)c[A>>2]=0}while((c[A>>2]|0)==100);if((c[A>>2]|0)==0?(c[B>>2]=(c[B>>2]|0)-(1+(c[(c[g>>2]|0)+4>>2]|0)),E=i,c[A>>2]=lN(c[x>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[C>>2]|0,h)|0,c[h>>2]|0):0){c[k>>2]=1;E=i;mN(j,c[E>>2]|0,c[E+4>>2]|0,c[h>>2]|0,A)}}if(c[h>>2]|0){e=(c[g>>2]|0)+40|0;e=RR(c[e>>2]|0,c[e+4>>2]|0,-1,-1)|0;E=(c[g>>2]|0)+40|0;c[E>>2]=e;c[E+4>>2]=z}nN(c[x>>2]|0,c[g>>2]|0,A);if((c[h>>2]|0)==0?(d[(c[g>>2]|0)+48>>0]|0|0)==0:0){b=c[x>>2]|0;e=i;e=IR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;E=(c[g>>2]|0)+40|0;xK(b,e,z,c[E>>2]|0,c[E+4>>2]|0)|0}}zK(c[C>>2]|0)}if((c[k>>2]|0)!=0&(c[A>>2]|0)==0)c[A>>2]=oN(c[x>>2]|0,j)|0;Kd(c[g>>2]|0);Kd(c[j>>2]|0);c[w>>2]=c[A>>2];E=c[w>>2]|0;l=D;return E|0}function dN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[k>>2]=a;c[d>>2]=b;c[e>>2]=0;c[(c[d>>2]|0)+4>>2]=0;c[f>>2]=nK(c[k>>2]|0,22,e,0)|0;if(c[f>>2]|0){k=c[f>>2]|0;l=j;return k|0}oI(c[e>>2]|0,1,1)|0;if((100==(Hr(c[e>>2]|0)|0)?(c[h>>2]=eI(c[e>>2]|0,0)|0,c[i>>2]=fI(c[e>>2]|0,0)|0,c[h>>2]|0):0)?(pN(c[d>>2]|0,c[i>>2]|0,f),(c[f>>2]|0)==0):0){MR(c[c[d>>2]>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;c[(c[d>>2]|0)+4>>2]=c[i>>2]}c[g>>2]=Er(c[e>>2]|0)|0;if(c[f>>2]|0){k=c[f>>2]|0;l=j;return k|0}c[f>>2]=c[g>>2];k=c[f>>2]|0;l=j;return k|0}function eN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+20|0;h=n+16|0;g=n+12|0;i=n+8|0;k=n+4|0;m=n;c[h>>2]=b;c[g>>2]=e;c[i>>2]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];c[m>>2]=(c[(c[h>>2]|0)+4>>2]|0)-2;while(1){if((c[m>>2]|0)<=0)break;if(!(a[(c[c[h>>2]>>2]|0)+((c[m>>2]|0)-1)>>0]&128))break;c[m>>2]=(c[m>>2]|0)+-1}while(1){if((c[m>>2]|0)>0)e=(a[(c[c[h>>2]>>2]|0)+((c[m>>2]|0)-1)>>0]&128|0)!=0;else e=0;b=c[m>>2]|0;if(!e)break;c[m>>2]=b+-1}c[(c[h>>2]|0)+4>>2]=b;b=YK((c[c[h>>2]>>2]|0)+(c[m>>2]|0)|0,c[g>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+b;b=(c[c[h>>2]>>2]|0)+(c[m>>2]|0)|0;if(d[(c[c[h>>2]>>2]|0)+(c[m>>2]|0)>>0]&128|0)b=ZK(b,c[i>>2]|0)|0;else{c[c[i>>2]>>2]=d[b>>0];b=1}c[m>>2]=(c[m>>2]|0)+b;if((c[m>>2]|0)!=(c[k>>2]|0)){c[j>>2]=267;m=c[j>>2]|0;l=n;return m|0}else{c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}return 0}function fN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[i>>2]=0;c[h>>2]=nK(c[k>>2]|0,8,i,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=j;return k|0}e=c[i>>2]|0;k=f;k=IR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;pI(e,1,k,z)|0;Hr(c[i>>2]|0)|0;k=hI(c[i>>2]|0,0)|0;c[c[g>>2]>>2]=k;c[h>>2]=Er(c[i>>2]|0)|0;k=c[h>>2]|0;l=j;return k|0}function gN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+24|0;m=k+20|0;g=k;h=k+16|0;i=k+12|0;j=k+8|0;c[m>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;c[h>>2]=e;c[j>>2]=nK(c[m>>2]|0,15,i,0)|0;if(c[j>>2]|0){c[f>>2]=c[j>>2];m=c[f>>2]|0;l=k;return m|0}m=c[i>>2]|0;j=g;j=IR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;pI(m,1,j,z)|0;j=c[i>>2]|0;m=g;m=LR(c[m>>2]|0,c[m+4>>2]|0,1024,0)|0;m=IR(m|0,z|0,1,0)|0;m=RR(m|0,z|0,1024,0)|0;pI(j,2,m,z)|0;c[c[h>>2]>>2]=0;if(100==(Hr(c[i>>2]|0)|0)){m=(Ju(c[i>>2]|0,0)|0)==5&1;c[c[h>>2]>>2]=m}c[f>>2]=Er(c[i>>2]|0)|0;m=c[f>>2]|0;l=k;return m|0}function hN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;k=q+36|0;m=q;n=q+32|0;o=q+28|0;p=q+24|0;g=q+20|0;h=q+16|0;i=q+12|0;j=q+8|0;c[k>>2]=a;a=m;c[a>>2]=b;c[a+4>>2]=d;c[n>>2]=e;c[o>>2]=f;c[g>>2]=0;a=c[o>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));c[h>>2]=c[n>>2]<<2;f=Yd(c[h>>2]|0)|0;c[c[o>>2]>>2]=f;if(!(c[c[o>>2]>>2]|0))c[p>>2]=7;else{GR(c[c[o>>2]>>2]|0,0,c[h>>2]|0)|0;c[p>>2]=nK(c[k>>2]|0,12,g,0)|0}if(c[p>>2]|0){p=c[p>>2]|0;l=q;return p|0}pI(c[g>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;c[i>>2]=0;while(1){if(c[p>>2]|0)break;if((Hr(c[g>>2]|0)|0)!=100)break;if((c[i>>2]|0)>=(c[n>>2]|0))break;r=c[i>>2]|0;a=iI(c[g>>2]|0,1)|0;b=z;d=iI(c[g>>2]|0,2)|0;e=z;f=iI(c[g>>2]|0,3)|0;h=z;k=eI(c[g>>2]|0,4)|0;m=fI(c[g>>2]|0,4)|0;c[p>>2]=mL(r,0,a,b,d,e,f,h,k,m,(c[c[o>>2]>>2]|0)+(c[i>>2]<<2)|0)|0;m=(c[o>>2]|0)+4|0;c[m>>2]=(c[m>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+1}c[j>>2]=Er(c[g>>2]|0)|0;if(c[p>>2]|0){r=c[p>>2]|0;l=q;return r|0}c[p>>2]=c[j>>2];r=c[p>>2]|0;l=q;return r|0}function iN(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+208|0;I=K+200|0;J=K+196|0;u=K+120|0;j=K+192|0;k=K+188|0;m=K+184|0;y=K+180|0;A=K+176|0;B=K+172|0;n=K+112|0;o=K+104|0;p=K+96|0;v=K+168|0;w=K+164|0;C=K+160|0;q=K+156|0;r=K+152|0;s=K+148|0;t=K+48|0;D=K+144|0;x=K+140|0;E=K+136|0;F=K;G=K+132|0;H=K+128|0;c[J>>2]=b;b=u;c[b>>2]=d;c[b+4>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[y>>2]=i;c[B>>2]=0;c[A>>2]=nK(c[J>>2]|0,32,B,0)|0;if(!(c[A>>2]|0)){b=n;c[b>>2]=0;c[b+4>>2]=0;b=o;c[b>>2]=0;c[b+4>>2]=0;b=p;c[b>>2]=0;c[b+4>>2]=0;c[v>>2]=0;c[w>>2]=0;c[q>>2]=0;b=c[B>>2]|0;i=u;i=IR(c[i>>2]|0,c[i+4>>2]|0,1,0)|0;pI(b,1,i,z)|0;oI(c[B>>2]|0,2,c[j>>2]|0)|0;i=(Hr(c[B>>2]|0)|0)==100;b=c[B>>2]|0;if(!i){c[I>>2]=Er(b)|0;J=c[I>>2]|0;l=K;return J|0}i=iI(b,1)|0;h=n;c[h>>2]=i;c[h+4>>2]=z;h=iI(c[B>>2]|0,2)|0;i=o;c[i>>2]=h;c[i+4>>2]=z;CK(c[B>>2]|0,3,p,(c[y>>2]|0)+40|0);if((c[(c[y>>2]|0)+40+4>>2]|0)<0){h=(c[y>>2]|0)+40|0;h=RR(c[h>>2]|0,c[h+4>>2]|0,-1,-1)|0;i=(c[y>>2]|0)+40|0;c[i>>2]=h;c[i+4>>2]=z}i=(c[y>>2]|0)+40|0;a[(c[y>>2]|0)+48>>0]=(c[i>>2]|0)==0&(c[i+4>>2]|0)==0&1;c[w>>2]=fI(c[B>>2]|0,4)|0;c[v>>2]=eI(c[B>>2]|0,4)|0;i=p;c[A>>2]=BN(c[J>>2]|0,c[i>>2]|0,c[i+4>>2]|0,q)|0;if((c[A>>2]|0)==0&(c[q>>2]|0)!=0){c[r>>2]=0;c[s>>2]=0;c[A>>2]=eL(c[J>>2]|0,c[o>>2]|0,c[o+4>>2]|0,r,s,0)|0;if(!(c[A>>2]|0)){c[A>>2]=uN(t,c[r>>2]|0,c[s>>2]|0)|0;while(1){if(!((c[A>>2]|0)==0?(c[t>>2]|0)!=0:0))break;c[A>>2]=yN(t)|0}if((vN(c[k>>2]|0,c[m>>2]|0,c[t+24>>2]|0,c[t+24+4>>2]|0)|0)<=0)c[q>>2]=0;zN(t)}Kd(c[r>>2]|0)}a:do if((c[A>>2]|0)==0&(c[q>>2]|0)!=0){c[x>>2]=a[c[v>>2]>>0];t=p;s=n;s=FR(c[t>>2]|0,c[t+4>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0;s=IR(s|0,z|0,1,0)|0;c[c[y>>2]>>2]=(s|0)/16|0;s=n;t=c[s+4>>2]|0;r=(c[y>>2]|0)+24|0;c[r>>2]=c[s>>2];c[r+4>>2]=t;r=p;t=c[r+4>>2]|0;s=(c[y>>2]|0)+32|0;c[s>>2]=c[r>>2];c[s+4>>2]=t;s=u;t=c[s+4>>2]|0;u=(c[y>>2]|0)+8|0;c[u>>2]=c[s>>2];c[u+4>>2]=t;c[(c[y>>2]|0)+16>>2]=c[j>>2];c[D>>2]=(c[x>>2]|0)+1;while(1){b=c[y>>2]|0;if((c[D>>2]|0)>=16)break;u=b+24|0;t=O(c[D>>2]|0,c[c[y>>2]>>2]|0)|0;t=IR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=(c[y>>2]|0)+56+(c[D>>2]<<5)|0;c[u>>2]=t;c[u+4>>2]=z;c[D>>2]=(c[D>>2]|0)+1}c[E>>2]=b+56+(c[x>>2]<<5);u=(c[y>>2]|0)+24|0;t=O(c[c[y>>2]>>2]|0,c[x>>2]|0)|0;t=IR(c[u>>2]|0,c[u+4>>2]|0,t|0,((t|0)<0)<<31>>31|0)|0;u=c[E>>2]|0;c[u>>2]=t;c[u+4>>2]=z;if((c[w>>2]|0)>(c[(c[J>>2]|0)+224>>2]|0))b=c[w>>2]|0;else b=c[(c[J>>2]|0)+224>>2]|0;pN((c[E>>2]|0)+20|0,b,A);if(!(c[A>>2]|0)){MR(c[(c[E>>2]|0)+20>>2]|0,c[v>>2]|0,c[w>>2]|0)|0;c[(c[E>>2]|0)+20+4>>2]=c[w>>2]}c[D>>2]=c[x>>2];while(1){if(!((c[D>>2]|0)>=0?(c[A>>2]|0)==0:0))break a;c[E>>2]=(c[y>>2]|0)+56+(c[D>>2]<<5);c[A>>2]=uN(F,c[(c[E>>2]|0)+20>>2]|0,c[(c[E>>2]|0)+20+4>>2]|0)|0;while(1){if(!(c[F>>2]|0?(c[A>>2]|0)==0:0))break;c[A>>2]=yN(F)|0}pN((c[E>>2]|0)+8|0,c[F+24+4>>2]|0,A);if((c[A>>2]|0)==0?(MR(c[(c[E>>2]|0)+8>>2]|0,c[F+24>>2]|0,c[F+24+4>>2]|0)|0,c[(c[E>>2]|0)+8+4>>2]=c[F+24+4>>2],(c[D>>2]|0)>0):0){c[G>>2]=0;c[H>>2]=0;c[E>>2]=(c[y>>2]|0)+56+((c[D>>2]|0)-1<<5);v=F+16|0;w=c[v+4>>2]|0;x=c[E>>2]|0;c[x>>2]=c[v>>2];c[x+4>>2]=w;x=F+16|0;c[A>>2]=eL(c[J>>2]|0,c[x>>2]|0,c[x+4>>2]|0,G,H,0)|0;if((c[H>>2]|0)>(c[(c[J>>2]|0)+224>>2]|0))b=c[H>>2]|0;else b=c[(c[J>>2]|0)+224>>2]|0;pN((c[E>>2]|0)+20|0,b,A);if(!(c[A>>2]|0)){MR(c[(c[E>>2]|0)+20>>2]|0,c[G>>2]|0,c[H>>2]|0)|0;c[(c[E>>2]|0)+20+4>>2]=c[H>>2]}Kd(c[G>>2]|0)}zN(F);c[D>>2]=(c[D>>2]|0)+-1}}while(0);c[C>>2]=Er(c[B>>2]|0)|0;if(!(c[A>>2]|0))c[A>>2]=c[C>>2]}c[I>>2]=c[A>>2];J=c[I>>2]|0;l=K;return J|0}function jN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+44|0;q=t+40|0;r=t;s=t+36|0;h=t+32|0;i=t+28|0;j=t+24|0;k=t+20|0;m=t+16|0;n=t+12|0;o=t+8|0;c[q>>2]=a;a=r;c[a>>2]=b;c[a+4>>2]=d;c[s>>2]=e;c[h>>2]=f;c[i>>2]=g;c[m>>2]=0;c[n>>2]=0;c[o>>2]=0;c[j>>2]=nK(c[q>>2]|0,29,n,0)|0;if(!(c[j>>2]|0)){g=r;pI(c[n>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[(c[h>>2]|0)+4>>2]|0;pI(c[n>>2]|0,2,g,((g|0)<0)<<31>>31)|0;if(100==(Hr(c[n>>2]|0)|0))c[m>>2]=hI(c[n>>2]|0,0)|0;c[j>>2]=Er(c[n>>2]|0)|0}if(c[j>>2]|0){c[p>>2]=c[j>>2];s=c[p>>2]|0;l=t;return s|0}c[j>>2]=nK(c[q>>2]|0,10,o,0)|0;if(!(c[j>>2]|0)){if(100==(Hr(c[o>>2]|0)|0)){f=iI(c[o>>2]|0,0)|0;g=(c[i>>2]|0)+24|0;c[g>>2]=f;c[g+4>>2]=z;g=(c[i>>2]|0)+24|0;g=FR(c[g>>2]|0,c[g+4>>2]|0,1,0)|0;f=(c[i>>2]|0)+32|0;c[f>>2]=g;c[f+4>>2]=z;f=c[m>>2]<<4;g=(c[i>>2]|0)+32|0;e=g;f=IR(c[e>>2]|0,c[e+4>>2]|0,f|0,((f|0)<0)<<31>>31|0)|0;c[g>>2]=f;c[g+4>>2]=z}c[j>>2]=Er(c[o>>2]|0)|0}if(c[j>>2]|0){c[p>>2]=c[j>>2];s=c[p>>2]|0;l=t;return s|0}g=(c[i>>2]|0)+32|0;c[j>>2]=DK(c[q>>2]|0,c[g>>2]|0,c[g+4>>2]|0,0,0)|0;if(c[j>>2]|0){c[p>>2]=c[j>>2];s=c[p>>2]|0;l=t;return s|0}g=r;q=c[g+4>>2]|0;r=(c[i>>2]|0)+8|0;c[r>>2]=c[g>>2];c[r+4>>2]=q;c[c[i>>2]>>2]=c[m>>2];c[(c[i>>2]|0)+16>>2]=c[s>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=16)break;s=(c[i>>2]|0)+24|0;r=O(c[k>>2]|0,c[c[i>>2]>>2]|0)|0;r=IR(c[s>>2]|0,c[s+4>>2]|0,r|0,((r|0)<0)<<31>>31|0)|0;s=(c[i>>2]|0)+56+(c[k>>2]<<5)|0;c[s>>2]=r;c[s+4>>2]=z;c[k>>2]=(c[k>>2]|0)+1}c[p>>2]=0;s=c[p>>2]|0;l=t;return s|0}function kN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;k=r+44|0;m=r+40|0;s=r+36|0;n=r+32|0;o=r+28|0;p=r+24|0;q=r+20|0;f=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=b;c[m>>2]=d;c[s>>2]=e;c[n>>2]=c[(c[s>>2]|0)+40>>2];c[o>>2]=c[(c[s>>2]|0)+44>>2];c[p>>2]=c[(c[s>>2]|0)+48>>2];c[q>>2]=c[(c[s>>2]|0)+52>>2];c[f>>2]=0;c[j>>2]=(c[m>>2]|0)+56;c[h>>2]=KK(c[(c[j>>2]|0)+8>>2]|0,c[(c[j>>2]|0)+8+4>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[i>>2]=(c[o>>2]|0)-(c[h>>2]|0);e=c[h>>2]|0;c[g>>2]=HK(e,((e|0)<0)<<31>>31)|0;e=c[i>>2]|0;e=HK(e,((e|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(e+(c[i>>2]|0));e=c[q>>2]|0;e=HK(e,((e|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(e+(c[q>>2]|0));if((c[(c[j>>2]|0)+20+4>>2]|0)>0?((c[(c[j>>2]|0)+20+4>>2]|0)+(c[g>>2]|0)|0)>(c[(c[k>>2]|0)+224>>2]|0):0){s=c[j>>2]|0;c[f>>2]=DK(c[k>>2]|0,c[s>>2]|0,c[s+4>>2]|0,c[(c[j>>2]|0)+20>>2]|0,c[(c[j>>2]|0)+20+4>>2]|0)|0;s=(c[m>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+1;if(!(c[f>>2]|0))c[f>>2]=AN(c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,(c[h>>2]|0)+1|0)|0;s=c[j>>2]|0;k=s;k=IR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;c[s>>2]=k;c[s+4>>2]=z;c[(c[j>>2]|0)+8+4>>2]=0;c[(c[j>>2]|0)+20+4>>2]=0;c[i>>2]=c[o>>2];c[g>>2]=1;s=c[i>>2]|0;s=HK(s,((s|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(s+(c[i>>2]|0));s=c[q>>2]|0;s=HK(s,((s|0)<0)<<31>>31)|0;c[g>>2]=(c[g>>2]|0)+(s+(c[q>>2]|0))}k=c[g>>2]|0;s=(c[m>>2]|0)+40|0;m=s;m=IR(c[m>>2]|0,c[m+4>>2]|0,k|0,((k|0)<0)<<31>>31|0)|0;c[s>>2]=m;c[s+4>>2]=z;pN((c[j>>2]|0)+20|0,(c[(c[j>>2]|0)+20+4>>2]|0)+(c[g>>2]|0)|0,f);if(c[f>>2]|0){s=c[f>>2]|0;l=r;return s|0}if(!(c[(c[j>>2]|0)+20+4>>2]|0)){c[(c[j>>2]|0)+20+4>>2]=1;a[c[(c[j>>2]|0)+20>>2]>>0]=0}c[f>>2]=xN((c[j>>2]|0)+20|0,(c[j>>2]|0)+8|0,c[n>>2]|0,c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;s=c[f>>2]|0;l=r;return s|0}function lN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;n=s+44|0;o=s;p=s+40|0;q=s+36|0;r=s+32|0;g=s+28|0;h=s+24|0;i=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;c[n>>2]=a;a=o;c[a>>2]=b;c[a+4>>2]=d;c[p>>2]=e;c[q>>2]=f;c[g>>2]=0;c[h>>2]=0;c[r>>2]=(c[(c[p>>2]|0)+4>>2]|0)-1;while(1){if(!((c[r>>2]|0)>=0?(c[h>>2]|0)==0:0))break;c[i>>2]=0;c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[p>>2]|0)+4>>2]|0))break;c[i>>2]=c[(c[c[p>>2]>>2]|0)+(c[j>>2]<<2)>>2];if((c[c[i>>2]>>2]|0)==(c[r>>2]|0))break;c[j>>2]=(c[j>>2]|0)+1}if(!(c[(c[i>>2]|0)+40>>2]|0)){c[h>>2]=JK(c[n>>2]|0,c[i>>2]|0)|0;if(!(c[h>>2]|0)){f=o;c[h>>2]=qN(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[i>>2]>>2]|0)|0}c[c[q>>2]>>2]=0}else{c[k>>2]=c[(c[i>>2]|0)+64>>2];c[m>>2]=c[(c[i>>2]|0)+60>>2];f=o;c[h>>2]=rN(c[n>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[c[i>>2]>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+-1}if(c[h>>2]|0){p=c[g>>2]|0;r=c[q>>2]|0;c[r>>2]=p;r=c[h>>2]|0;l=s;return r|0}if((c[g>>2]|0)==(c[(c[p>>2]|0)+4>>2]|0)){p=c[g>>2]|0;r=c[q>>2]|0;c[r>>2]=p;r=c[h>>2]|0;l=s;return r|0}p=o;c[h>>2]=sN(c[n>>2]|0,c[p>>2]|0,c[p+4>>2]|0)|0;p=c[g>>2]|0;r=c[q>>2]|0;c[r>>2]=p;r=c[h>>2]|0;l=s;return r|0}function mN(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;g=j+16|0;h=j;i=j+12|0;k=j+8|0;c[g>>2]=a;a=h;c[a>>2]=b;c[a+4>>2]=d;c[i>>2]=e;c[k>>2]=f;pN(c[g>>2]|0,(c[(c[g>>2]|0)+4>>2]|0)+20|0,c[k>>2]|0);if(c[c[k>>2]>>2]|0){l=j;return}h=IK((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,c[h>>2]|0,c[h+4>>2]|0)|0;k=(c[g>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+h;i=c[i>>2]|0;i=IK((c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0)|0,i,((i|0)<0)<<31>>31)|0;k=(c[g>>2]|0)+4|0;c[k>>2]=(c[k>>2]|0)+i;l=j;return}function nN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;j=r+36|0;n=r+32|0;o=r+28|0;k=r+24|0;m=r+20|0;p=r+16|0;q=r+12|0;g=r+8|0;h=r+4|0;i=r;c[j>>2]=b;c[n>>2]=e;c[o>>2]=f;c[q>>2]=c[c[o>>2]>>2];c[m>>2]=15;while(1){if((c[m>>2]|0)<0)break;c[g>>2]=(c[n>>2]|0)+56+(c[m>>2]<<5);if((c[(c[g>>2]|0)+20+4>>2]|0)>0)break;Kd(c[(c[g>>2]|0)+20>>2]|0);Kd(c[(c[g>>2]|0)+8>>2]|0);c[m>>2]=(c[m>>2]|0)+-1}if((c[m>>2]|0)<0){l=r;return}if(!(c[m>>2]|0)){c[h>>2]=(c[n>>2]|0)+56+32+20;pN(c[h>>2]|0,11,q);if(!(c[q>>2]|0)){a[c[c[h>>2]>>2]>>0]=1;f=(c[n>>2]|0)+56|0;f=1+(IK((c[c[h>>2]>>2]|0)+1|0,c[f>>2]|0,c[f+4>>2]|0)|0)|0;c[(c[h>>2]|0)+4>>2]=f}c[m>>2]=1}c[p>>2]=(c[n>>2]|0)+56+(c[m>>2]<<5);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break;c[i>>2]=(c[n>>2]|0)+56+(c[k>>2]<<5);if((c[q>>2]|0)==0?(c[(c[i>>2]|0)+20+4>>2]|0)>0:0){f=c[i>>2]|0;c[q>>2]=DK(c[j>>2]|0,c[f>>2]|0,c[f+4>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[i>>2]|0)+20>>2]|0);Kd(c[(c[i>>2]|0)+8>>2]|0);c[k>>2]=(c[k>>2]|0)+1}if(!(c[q>>2]|0)){b=c[j>>2]|0;e=(c[n>>2]|0)+8|0;e=IR(c[e>>2]|0,c[e+4>>2]|0,1,0)|0;g=(c[n>>2]|0)+24|0;h=(c[n>>2]|0)+56|0;i=(c[n>>2]|0)+32|0;if(!(d[(c[n>>2]|0)+48>>0]|0)){j=(c[n>>2]|0)+40|0;f=c[j>>2]|0;j=c[j+4>>2]|0}else{f=0;j=0}c[q>>2]=FK(b,e,z,c[(c[n>>2]|0)+16>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0,f,j,c[(c[p>>2]|0)+20>>2]|0,c[(c[p>>2]|0)+20+4>>2]|0)|0}Kd(c[(c[p>>2]|0)+20>>2]|0);Kd(c[(c[p>>2]|0)+8>>2]|0);c[c[o>>2]>>2]=c[q>>2];l=r;return}function oN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;h=g+12|0;d=g+8|0;e=g+4|0;f=g;c[h>>2]=a;c[d>>2]=b;c[e>>2]=0;c[f>>2]=nK(c[h>>2]|0,23,e,0)|0;if(c[f>>2]|0){h=c[f>>2]|0;l=g;return h|0}oI(c[e>>2]|0,1,1)|0;kI(c[e>>2]|0,2,c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+4>>2]|0,0)|0;Hr(c[e>>2]|0)|0;c[f>>2]=Er(c[e>>2]|0)|0;h=c[f>>2]|0;l=g;return h|0}function pN(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[c[g>>2]>>2]|0){l=j;return}if((c[f>>2]|0)<=(c[(c[e>>2]|0)+8>>2]|0)){l=j;return}c[h>>2]=c[f>>2];c[i>>2]=Df(c[c[e>>2]>>2]|0,c[h>>2]|0)|0;if(c[i>>2]|0){c[(c[e>>2]|0)+8>>2]=c[h>>2];c[c[e>>2]>>2]=c[i>>2];l=j;return}else{c[c[g>>2]>>2]=7;l=j;return}}function qN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=l;l=l+32|0;k=j+20|0;f=j;g=j+16|0;h=j+12|0;i=j+8|0;c[k>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[i>>2]=0;c[h>>2]=nK(c[k>>2]|0,30,i,0)|0;if(c[h>>2]|0){k=c[h>>2]|0;l=j;return k|0}k=f;pI(c[i>>2]|0,1,c[k>>2]|0,c[k+4>>2]|0)|0;oI(c[i>>2]|0,2,c[g>>2]|0)|0;Hr(c[i>>2]|0)|0;c[h>>2]=Er(c[i>>2]|0)|0;k=c[h>>2]|0;l=j;return k|0}function rN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;C=l;l=l+112|0;x=C+104|0;y=C+24|0;A=C+100|0;B=C+96|0;h=C+92|0;i=C+88|0;j=C+76|0;k=C+64|0;m=C+16|0;n=C+8|0;o=C;p=C+60|0;q=C+56|0;r=C+52|0;s=C+48|0;t=C+44|0;u=C+40|0;v=C+36|0;w=C+32|0;c[x>>2]=a;a=y;c[a>>2]=b;c[a+4>>2]=d;c[A>>2]=e;c[B>>2]=f;c[h>>2]=g;c[i>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;g=m;c[g>>2]=0;c[g+4>>2]=0;g=n;c[g>>2]=0;c[g+4>>2]=0;g=o;c[g>>2]=0;c[g+4>>2]=0;c[p>>2]=0;c[i>>2]=nK(c[x>>2]|0,32,p,0)|0;if(!(c[i>>2]|0)){g=y;pI(c[p>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;oI(c[p>>2]|0,2,c[A>>2]|0)|0;if(100==(Hr(c[p>>2]|0)|0)){c[r>>2]=eI(c[p>>2]|0,4)|0;c[s>>2]=fI(c[p>>2]|0,4)|0;f=iI(c[p>>2]|0,1)|0;g=o;c[g>>2]=f;c[g+4>>2]=z;c[i>>2]=tN(c[r>>2]|0,c[s>>2]|0,j,c[B>>2]|0,c[h>>2]|0,m)|0}c[q>>2]=Er(c[p>>2]|0)|0;if(!(c[i>>2]|0))c[i>>2]=c[q>>2]}while(1){g=m;if(!((c[i>>2]|0)==0?(c[g>>2]|0)!=0|(c[g+4>>2]|0)!=0:0))break;c[t>>2]=0;c[u>>2]=0;e=m;f=c[e+4>>2]|0;g=n;c[g>>2]=c[e>>2];c[g+4>>2]=f;g=m;c[i>>2]=eL(c[x>>2]|0,c[g>>2]|0,c[g+4>>2]|0,t,u,0)|0;if(!(c[i>>2]|0))c[i>>2]=tN(c[t>>2]|0,c[u>>2]|0,k,c[B>>2]|0,c[h>>2]|0,m)|0;if(!(c[i>>2]|0)){g=n;c[i>>2]=DK(c[x>>2]|0,c[g>>2]|0,c[g+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0}Kd(c[t>>2]|0)}B=n;if((c[i>>2]|0)==0&((c[B>>2]|0)!=0|(c[B+4>>2]|0)!=0)?(c[v>>2]=0,c[i>>2]=nK(c[x>>2]|0,17,v,0)|0,(c[i>>2]|0)==0):0){g=o;pI(c[v>>2]|0,1,c[g>>2]|0,c[g+4>>2]|0)|0;g=c[v>>2]|0;B=n;B=FR(c[B>>2]|0,c[B+4>>2]|0,1,0)|0;pI(g,2,B,z)|0;Hr(c[v>>2]|0)|0;c[i>>2]=Er(c[v>>2]|0)|0}if(c[i>>2]|0){B=c[j>>2]|0;Kd(B);B=c[k>>2]|0;Kd(B);B=c[i>>2]|0;l=C;return B|0}c[w>>2]=0;c[i>>2]=nK(c[x>>2]|0,33,w,0)|0;if(c[i>>2]|0){B=c[j>>2]|0;Kd(B);B=c[k>>2]|0;Kd(B);B=c[i>>2]|0;l=C;return B|0}B=n;pI(c[w>>2]|0,1,c[B>>2]|0,c[B+4>>2]|0)|0;kI(c[w>>2]|0,2,c[j>>2]|0,c[j+4>>2]|0,0)|0;B=y;pI(c[w>>2]|0,3,c[B>>2]|0,c[B+4>>2]|0)|0;oI(c[w>>2]|0,4,c[A>>2]|0)|0;Hr(c[w>>2]|0)|0;c[i>>2]=Er(c[w>>2]|0)|0;B=c[j>>2]|0;Kd(B);B=c[k>>2]|0;Kd(B);B=c[i>>2]|0;l=C;return B|0}function sN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;j=s+44|0;k=s;m=s+40|0;n=s+36|0;o=s+32|0;p=s+28|0;q=s+24|0;f=s+20|0;g=s+16|0;h=s+12|0;i=s+8|0;c[j>>2]=b;b=k;c[b>>2]=d;c[b+4>>2]=e;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[f>>2]=0;c[g>>2]=0;c[m>>2]=nK(c[j>>2]|0,35,f,0)|0;if(!(c[m>>2]|0)){e=k;pI(c[f>>2]|0,1,c[e>>2]|0,c[e+4>>2]|0)|0;while(1){if(100!=(Hr(c[f>>2]|0)|0))break;if((c[o>>2]|0)>=(c[p>>2]|0)){c[p>>2]=(c[p>>2]|0)+16;c[i>>2]=Df(c[n>>2]|0,c[p>>2]<<2)|0;if(!(c[i>>2]|0)){r=6;break}c[n>>2]=c[i>>2]}b=hI(c[f>>2]|0,0)|0;d=c[n>>2]|0;e=c[o>>2]|0;c[o>>2]=e+1;c[d+(e<<2)>>2]=b}if((r|0)==6)c[m>>2]=7;c[h>>2]=Er(c[f>>2]|0)|0;if(!(c[m>>2]|0))c[m>>2]=c[h>>2]}if(!(c[m>>2]|0))c[m>>2]=nK(c[j>>2]|0,31,g,0)|0;if(!(c[m>>2]|0)){r=k;pI(c[g>>2]|0,2,c[r>>2]|0,c[r+4>>2]|0)|0}a[(c[j>>2]|0)+232>>0]=1;c[q>>2]=0;while(1){if(c[m>>2]|0){r=21;break}if((c[q>>2]|0)>=(c[o>>2]|0)){r=21;break}if((c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0)!=(c[q>>2]|0)){oI(c[g>>2]|0,3,c[(c[n>>2]|0)+(c[q>>2]<<2)>>2]|0)|0;oI(c[g>>2]|0,1,c[q>>2]|0)|0;Hr(c[g>>2]|0)|0;c[m>>2]=Er(c[g>>2]|0)|0}c[q>>2]=(c[q>>2]|0)+1}if((r|0)==21){a[(c[j>>2]|0)+232>>0]=0;Kd(c[n>>2]|0);l=s;return c[m>>2]|0}return 0}function tN(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+112|0;r=w+96|0;s=w+92|0;t=w+88|0;u=w+84|0;i=w+80|0;j=w+76|0;k=w+72|0;m=w;n=w+60|0;o=w+56|0;p=w+52|0;q=w+48|0;c[s>>2]=b;c[t>>2]=d;c[u>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=h;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[o>>2]=0;c[p>>2]=(a[c[s>>2]>>0]|0)==0&1;pN(c[u>>2]|0,c[t>>2]|0,o);if(c[o>>2]|0){c[r>>2]=c[o>>2];v=c[r>>2]|0;l=w;return v|0}c[(c[u>>2]|0)+4>>2]=0;c[o>>2]=uN(m,c[s>>2]|0,c[t>>2]|0)|0;while(1){if(!((c[o>>2]|0)==0?(c[m>>2]|0)!=0:0))break;if(!(c[(c[u>>2]|0)+4>>2]|0)){c[q>>2]=vN(c[m+24>>2]|0,c[m+24+4>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;if((c[q>>2]|0)>=0?!((c[p>>2]|0)==0&(c[q>>2]|0)==0):0){h=m+16|0;wN(c[u>>2]|0,a[c[s>>2]>>0]|0,c[h>>2]|0,c[h+4>>2]|0);h=m+16|0;t=c[h+4>>2]|0;v=c[k>>2]|0;c[v>>2]=c[h>>2];c[v+4>>2]=t;v=9}}else v=9;if((v|0)==9?(v=0,c[o>>2]=xN(c[u>>2]|0,n,c[m+24>>2]|0,c[m+24+4>>2]|0,c[m+36>>2]|0,c[m+40>>2]|0)|0,c[o>>2]|0):0)break;c[o>>2]=yN(m)|0}if(!(c[(c[u>>2]|0)+4>>2]|0)){t=m+16|0;wN(c[u>>2]|0,a[c[s>>2]>>0]|0,c[t>>2]|0,c[t+4>>2]|0);t=m+16|0;u=c[t+4>>2]|0;v=c[k>>2]|0;c[v>>2]=c[t>>2];c[v+4>>2]=u}zN(m);Kd(c[n>>2]|0);c[r>>2]=c[o>>2];v=c[r>>2]|0;l=w;return v|0}function uN(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;h=i+8|0;f=i+4|0;g=i;c[h>>2]=b;c[f>>2]=d;c[g>>2]=e;b=c[h>>2]|0;d=b+48|0;do{c[b>>2]=0;b=b+4|0}while((b|0)<(d|0));c[c[h>>2]>>2]=c[f>>2];c[(c[h>>2]|0)+4>>2]=c[g>>2];b=c[h>>2]|0;if(!(a[c[c[h>>2]>>2]>>0]|0)){f=1;g=b;g=g+8|0;c[g>>2]=f;h=c[h>>2]|0;h=yN(h)|0;l=i;return h|0}f=1+(YK((c[b>>2]|0)+1|0,(c[h>>2]|0)+16|0)|0)|0;g=c[h>>2]|0;g=g+8|0;c[g>>2]=f;h=c[h>>2]|0;h=yN(h)|0;l=i;return h|0}function vN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;m=i+20|0;f=i+16|0;k=i+12|0;g=i+8|0;j=i+4|0;h=i;c[m>>2]=a;c[f>>2]=b;c[k>>2]=d;c[g>>2]=e;c[j>>2]=(c[f>>2]|0)<(c[g>>2]|0)?c[f>>2]|0:c[g>>2]|0;c[h>>2]=wQ(c[m>>2]|0,c[k>>2]|0,c[j>>2]|0)|0;if(c[h>>2]|0){m=c[h>>2]|0;l=i;return m|0}c[h>>2]=(c[f>>2]|0)-(c[g>>2]|0);m=c[h>>2]|0;l=i;return m|0}function wN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=l;l=l+16|0;g=i+12|0;j=i+8|0;h=i;c[g>>2]=b;c[j>>2]=d;b=h;c[b>>2]=e;c[b+4>>2]=f;a[c[c[g>>2]>>2]>>0]=c[j>>2];f=h;b=c[g>>2]|0;if(!((c[f>>2]|0)!=0|(c[f+4>>2]|0)!=0)){h=1;j=b;j=j+4|0;c[j>>2]=h;l=i;return}h=1+(IK((c[b>>2]|0)+1|0,c[h>>2]|0,c[h+4>>2]|0)|0)|0;j=c[g>>2]|0;j=j+4|0;c[j>>2]=h;l=i;return}function xN(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;p=t+40|0;q=t+36|0;r=t+32|0;s=t+28|0;h=t+24|0;i=t+20|0;j=t+16|0;k=t+12|0;m=t+8|0;n=t+4|0;o=t;c[q>>2]=a;c[r>>2]=b;c[s>>2]=d;c[h>>2]=e;c[i>>2]=f;c[j>>2]=g;c[k>>2]=0;c[m>>2]=(c[(c[r>>2]|0)+4>>2]|0)==0&1;pN(c[r>>2]|0,c[h>>2]|0,k);if(c[k>>2]|0){c[p>>2]=c[k>>2];s=c[p>>2]|0;l=t;return s|0}c[n>>2]=KK(c[c[r>>2]>>2]|0,c[(c[r>>2]|0)+4>>2]|0,c[s>>2]|0,c[h>>2]|0)|0;c[o>>2]=(c[h>>2]|0)-(c[n>>2]|0);MR(c[c[r>>2]>>2]|0,c[s>>2]|0,c[h>>2]|0)|0;c[(c[r>>2]|0)+4>>2]=c[h>>2];if(!(c[m>>2]|0)){g=c[n>>2]|0;g=IK((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;r=(c[q>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+g}g=c[o>>2]|0;g=IK((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,g,((g|0)<0)<<31>>31)|0;r=(c[q>>2]|0)+4|0;c[r>>2]=(c[r>>2]|0)+g;MR((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,(c[s>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0)|0;s=(c[q>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+(c[o>>2]|0);if(c[i>>2]|0){r=c[j>>2]|0;r=IK((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,r,((r|0)<0)<<31>>31)|0;s=(c[q>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+r;MR((c[c[q>>2]>>2]|0)+(c[(c[q>>2]|0)+4>>2]|0)|0,c[i>>2]|0,c[j>>2]|0)|0;s=(c[q>>2]|0)+4|0;c[s>>2]=(c[s>>2]|0)+(c[j>>2]|0)}c[p>>2]=0;s=c[p>>2]|0;l=t;return s|0}function yN(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;g=i+16|0;b=i+12|0;e=i+8|0;f=i+4|0;h=i;c[g>>2]=a;c[b>>2]=(c[(c[g>>2]|0)+24+4>>2]|0)==0&1;c[e>>2]=0;c[f>>2]=0;c[h>>2]=0;a=(c[g>>2]|0)+16|0;if(((c[a>>2]|0)!=0|(c[a+4>>2]|0)!=0)&(c[b>>2]|0)==0){a=(c[g>>2]|0)+16|0;j=a;j=IR(c[j>>2]|0,c[j+4>>2]|0,1,0)|0;c[a>>2]=j;c[a+4>>2]=z}if((c[(c[g>>2]|0)+8>>2]|0)>=(c[(c[g>>2]|0)+4>>2]|0)){c[c[g>>2]>>2]=0;j=c[h>>2]|0;l=i;return j|0}if(!(c[b>>2]|0)){a=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=ZK(a,e)|0;else{c[e>>2]=d[a>>0];a=1}j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+a}a=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=ZK(a,f)|0;else{c[f>>2]=d[a>>0];a=1}j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+a;pN((c[g>>2]|0)+24|0,(c[e>>2]|0)+(c[f>>2]|0)|0,h);if(c[h>>2]|0){j=c[h>>2]|0;l=i;return j|0}MR((c[(c[g>>2]|0)+24>>2]|0)+(c[e>>2]|0)|0,(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0,c[f>>2]|0)|0;c[(c[g>>2]|0)+24+4>>2]=(c[e>>2]|0)+(c[f>>2]|0);j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+(c[f>>2]|0);j=(c[g>>2]|0)+16|0;if(!((c[j>>2]|0)==0&(c[j+4>>2]|0)==0)){j=c[h>>2]|0;l=i;return j|0}a=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)|0;if((d[(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0)>>0]|0)&128|0)a=ZK(a,(c[g>>2]|0)+40|0)|0;else{c[(c[g>>2]|0)+40>>2]=d[a>>0];a=1}j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+a;c[(c[g>>2]|0)+36>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+8>>2]|0);j=(c[g>>2]|0)+8|0;c[j>>2]=(c[j>>2]|0)+(c[(c[g>>2]|0)+40>>2]|0);j=c[h>>2]|0;l=i;return j|0}function zN(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;Kd(c[(c[d>>2]|0)+24>>2]|0);l=b;return}function AN(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;p=w+60|0;q=w+56|0;r=w+52|0;s=w+48|0;t=w+44|0;u=w+8|0;g=w+40|0;h=w;i=w+36|0;j=w+32|0;k=w+28|0;m=w+24|0;n=w+20|0;o=w+16|0;c[q>>2]=b;c[r>>2]=d;c[s>>2]=e;c[t>>2]=f;d=(c[r>>2]|0)+56|0;e=c[d+4>>2]|0;f=u;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[g>>2]=1;while(1){if((c[g>>2]|0)>=16){v=17;break}f=h;c[f>>2]=0;c[f+4>>2]=0;c[i>>2]=(c[r>>2]|0)+56+(c[g>>2]<<5);c[j>>2]=0;c[k>>2]=KK(c[(c[i>>2]|0)+8>>2]|0,c[(c[i>>2]|0)+8+4>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;c[m>>2]=(c[t>>2]|0)-(c[k>>2]|0);f=c[k>>2]|0;c[n>>2]=HK(f,((f|0)<0)<<31>>31)|0;f=c[m>>2]|0;f=HK(f,((f|0)<0)<<31>>31)|0;c[n>>2]=(c[n>>2]|0)+(f+(c[m>>2]|0));if((c[(c[i>>2]|0)+8+4>>2]|0)!=0?((c[(c[i>>2]|0)+20+4>>2]|0)+(c[n>>2]|0)|0)>(c[(c[q>>2]|0)+224>>2]|0):0){d=c[i>>2]|0;c[j>>2]=DK(c[q>>2]|0,c[d>>2]|0,c[d+4>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[(c[i>>2]|0)+20+4>>2]|0)|0;a[c[(c[i>>2]|0)+20>>2]>>0]=c[g>>2];d=(c[(c[i>>2]|0)+20>>2]|0)+1|0;v=u;v=IR(c[v>>2]|0,c[v+4>>2]|0,1,0)|0;v=1+(IK(d,v,z)|0)|0;c[(c[i>>2]|0)+20+4>>2]=v;v=c[i>>2]|0;d=c[v+4>>2]|0;b=h;c[b>>2]=c[v>>2];c[b+4>>2]=d;b=c[i>>2]|0;d=b;d=IR(c[d>>2]|0,c[d+4>>2]|0,1,0)|0;c[b>>2]=d;c[b+4>>2]=z;b=0;d=c[i>>2]|0;v=13}else{c[o>>2]=(c[i>>2]|0)+20;if((c[(c[o>>2]|0)+4>>2]|0)==0?(pN(c[o>>2]|0,c[(c[q>>2]|0)+224>>2]|0,j),(c[j>>2]|0)==0):0){a[c[c[o>>2]>>2]>>0]=c[g>>2];f=u;f=1+(IK((c[c[o>>2]>>2]|0)+1|0,c[f>>2]|0,c[f+4>>2]|0)|0)|0;c[(c[o>>2]|0)+4>>2]=f}pN(c[o>>2]|0,(c[(c[o>>2]|0)+4>>2]|0)+(c[n>>2]|0)|0,j);pN((c[i>>2]|0)+8|0,c[t>>2]|0,j);if(!(c[j>>2]|0)){if(c[(c[i>>2]|0)+8+4>>2]|0){f=c[k>>2]|0;f=IK((c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0)|0,f,((f|0)<0)<<31>>31)|0;v=(c[o>>2]|0)+4|0;c[v>>2]=(c[v>>2]|0)+f}d=c[m>>2]|0;d=IK((c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0)|0,d,((d|0)<0)<<31>>31)|0;b=(c[o>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+d;MR((c[c[o>>2]>>2]|0)+(c[(c[o>>2]|0)+4>>2]|0)|0,(c[s>>2]|0)+(c[k>>2]|0)|0,c[m>>2]|0)|0;b=(c[o>>2]|0)+4|0;c[b>>2]=(c[b>>2]|0)+(c[m>>2]|0);MR(c[(c[i>>2]|0)+8>>2]|0,c[s>>2]|0,c[t>>2]|0)|0;b=c[t>>2]|0;d=c[i>>2]|0;v=13}}if((v|0)==13){v=0;c[d+8+4>>2]=b}f=h;if((c[j>>2]|0)!=0|(c[f>>2]|0)==0&(c[f+4>>2]|0)==0){v=15;break}d=h;e=c[d+4>>2]|0;f=u;c[f>>2]=c[d>>2];c[f+4>>2]=e;c[g>>2]=(c[g>>2]|0)+1}if((v|0)==15){c[p>>2]=c[j>>2];v=c[p>>2]|0;l=w;return v|0}else if((v|0)==17){c[p>>2]=0;v=c[p>>2]|0;l=w;return v|0}return 0}function BN(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+24|0;f=k;g=k+20|0;h=k+16|0;i=k+12|0;j=k+8|0;c[m>>2]=a;a=f;c[a>>2]=b;c[a+4>>2]=d;c[g>>2]=e;c[h>>2]=0;c[i>>2]=0;c[j>>2]=nK(c[m>>2]|0,34,i,0)|0;if(c[j>>2]|0){i=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=i;m=c[j>>2]|0;l=k;return m|0}m=f;pI(c[i>>2]|0,1,c[m>>2]|0,c[m+4>>2]|0)|0;if(100==(Hr(c[i>>2]|0)|0))c[h>>2]=1;c[j>>2]=Er(c[i>>2]|0)|0;i=c[h>>2]|0;m=c[g>>2]|0;c[m>>2]=i;m=c[j>>2]|0;l=k;return m|0} +function kC(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=l;l=l+256|0;F=oa+228|0;Q=oa+224|0;$=oa+220|0;i=oa+216|0;la=oa+212|0;ma=oa+208|0;na=oa+204|0;k=oa+40|0;m=oa+32|0;n=oa+24|0;o=oa+200|0;p=oa+196|0;q=oa+192|0;r=oa+188|0;s=oa+184|0;t=oa+180|0;u=oa+240|0;j=oa+16|0;v=oa+176|0;w=oa+172|0;x=oa+168|0;y=oa+164|0;A=oa+236|0;B=oa+160|0;C=oa+156|0;D=oa+234|0;E=oa+152|0;G=oa+148|0;H=oa+144|0;I=oa+140|0;J=oa+136|0;K=oa+132|0;L=oa+128|0;M=oa+124|0;N=oa+120|0;O=oa+116|0;P=oa+112|0;R=oa+108|0;S=oa+232|0;T=oa+104|0;U=oa+239|0;V=oa+238|0;W=oa+100|0;X=oa+96|0;Y=oa+92|0;Z=oa+88|0;_=oa+84|0;aa=oa+8|0;ba=oa;ca=oa+80|0;da=oa+76|0;ea=oa+72|0;fa=oa+68|0;ga=oa+64|0;ha=oa+60|0;ia=oa+56|0;ja=oa+52|0;ka=oa+48|0;c[F>>2]=f;c[Q>>2]=g;c[$>>2]=h;c[i>>2]=c[c[Q>>2]>>2];h=n;c[h>>2]=0;c[h+4>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=c[c[i>>2]>>2];c[t>>2]=c[c[s>>2]>>2];if(a[(c[t>>2]|0)+69>>0]|0){l=oa;return}c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);c[ma>>2]=(c[i>>2]|0)+488;c[na>>2]=c[c[la>>2]>>2];h=FB(c[ma>>2]|0,c[(c[na>>2]|0)+12>>2]|0)|0;i=k;c[i>>2]=h;c[i+4>>2]=z;c[r>>2]=d[c[na>>2]>>0];do if((c[r>>2]|0)==33){if(wy(c[s>>2]|0,c[na>>2]|0)|0){l=oa;return}f=c[ma>>2]|0;g=(c[na>>2]|0)+20|0;if(c[(c[na>>2]|0)+4>>2]&2048|0){g=GB(f,c[g>>2]|0)|0;f=c[la>>2]|0;h=z;break}else{g=dB(f,c[g>>2]|0)|0;f=c[la>>2]|0;h=z;break}}else if((c[r>>2]|0)==34){f=c[la>>2]|0;g=0;h=0;break}else{g=FB(c[ma>>2]|0,c[(c[na>>2]|0)+16>>2]|0)|0;f=c[la>>2]|0;h=z;break}while(0);i=f+32|0;c[i>>2]=g;c[i+4>>2]=h;h=FB(c[ma>>2]|0,c[na>>2]|0)|0;i=m;c[i>>2]=h;c[i+4>>2]=z;if(c[(c[na>>2]|0)+4>>2]&1|0){f=hB(c[ma>>2]|0,b[(c[na>>2]|0)+36>>1]|0)|0;g=j;c[g>>2]=f;c[g+4>>2]=z;g=j;f=m;h=c[f+4>>2]|c[g+4>>2];i=m;c[i>>2]=c[f>>2]|c[g>>2];c[i+4>>2]=h;i=j;i=FR(c[i>>2]|0,c[i+4>>2]|0,1,0)|0;j=n;c[j>>2]=i;c[j+4>>2]=z}i=m;f=c[i+4>>2]|0;j=(c[la>>2]|0)+40|0;c[j>>2]=c[i>>2];c[j+4>>2]=f;c[(c[la>>2]|0)+20>>2]=-1;c[(c[la>>2]|0)+16>>2]=-1;b[(c[la>>2]|0)+12>>1]=0;j=(lC(c[r>>2]|0)|0)!=0;f=c[na>>2]|0;a:do if(j){c[x>>2]=Ev(c[f+12>>2]|0)|0;c[y>>2]=Ev(c[(c[na>>2]|0)+16>>2]|0)|0;I=(c[la>>2]|0)+32|0;J=k;b[A>>1]=((c[I>>2]&c[J>>2]|0)==0?(c[I+4>>2]&c[J+4>>2]|0)==0:0)?8191:2048;if((c[(c[la>>2]|0)+24>>2]|0)>0)c[x>>2]=c[(c[(c[(c[x>>2]|0)+20>>2]|0)+4>>2]|0)+(((c[(c[la>>2]|0)+24>>2]|0)-1|0)*20|0)>>2];J=k;if(mC(c[F>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[x>>2]|0,v,w)|0){c[(c[la>>2]|0)+20>>2]=c[v>>2];c[(c[la>>2]|0)+28>>2]=c[w>>2];J=(nC(c[r>>2]|0)|0)&65535;b[(c[la>>2]|0)+12>>1]=J&e[A>>1]}if((c[r>>2]|0)==29){J=(c[la>>2]|0)+10|0;b[J>>1]=e[J>>1]|2048}if(c[y>>2]|0?(J=(c[la>>2]|0)+32|0,mC(c[F>>2]|0,c[r>>2]|0,c[J>>2]|0,c[J+4>>2]|0,c[y>>2]|0,v,w)|0):0){b[D>>1]=0;if((c[(c[la>>2]|0)+20>>2]|0)>=0){c[C>>2]=aw(c[t>>2]|0,c[na>>2]|0,0)|0;if(a[(c[t>>2]|0)+69>>0]|0){ck(c[t>>2]|0,c[C>>2]|0);l=oa;return}c[E>>2]=oC(c[Q>>2]|0,c[C>>2]|0,3)|0;if(!(c[E>>2]|0)){l=oa;return}c[B>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[E>>2]|0)*48|0);pC(c[Q>>2]|0,c[E>>2]|0,c[$>>2]|0);if((c[r>>2]|0)==29){J=(c[B>>2]|0)+10|0;b[J>>1]=e[J>>1]|2048}c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);J=(c[la>>2]|0)+10|0;b[J>>1]=e[J>>1]|8;if(qC(c[s>>2]|0,c[C>>2]|0)|0){J=(c[la>>2]|0)+12|0;b[J>>1]=e[J>>1]|2048;b[D>>1]=2048}}else{c[C>>2]=c[na>>2];c[B>>2]=c[la>>2]}rC(c[s>>2]|0,c[C>>2]|0);c[(c[B>>2]|0)+20>>2]=c[v>>2];c[(c[B>>2]|0)+28>>2]=c[w>>2];G=k;J=n;I=c[G+4>>2]|c[J+4>>2];H=(c[B>>2]|0)+32|0;c[H>>2]=c[G>>2]|c[J>>2];c[H+4>>2]=I;H=m;I=c[H+4>>2]|0;J=(c[B>>2]|0)+40|0;c[J>>2]=c[H>>2];c[J+4>>2]=I;J=(nC(d[c[C>>2]>>0]|0)|0)&65535;b[(c[B>>2]|0)+12>>1]=J+(e[D>>1]|0)&e[A>>1]}}else{if((d[f>>0]|0)==32?(d[(c[Q>>2]|0)+8>>0]|0)==28:0){c[G>>2]=c[(c[na>>2]|0)+20>>2];c[H>>2]=0;while(1){if((c[H>>2]|0)>=2)break a;C=c[s>>2]|0;D=d[31336+(c[H>>2]|0)>>0]|0;E=aw(c[t>>2]|0,c[(c[na>>2]|0)+12>>2]|0,0)|0;c[I>>2]=vs(C,D,E,aw(c[t>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+((c[H>>2]|0)*20|0)>>2]|0,0)|0,0)|0;sC(c[I>>2]|0,c[na>>2]|0);c[J>>2]=oC(c[Q>>2]|0,c[I>>2]|0,3)|0;kC(c[F>>2]|0,c[Q>>2]|0,c[J>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);pC(c[Q>>2]|0,c[J>>2]|0,c[$>>2]|0);c[H>>2]=(c[H>>2]|0)+1}}if((d[c[na>>2]>>0]|0)==27){tC(c[F>>2]|0,c[Q>>2]|0,c[$>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0)}}while(0);if((d[(c[Q>>2]|0)+8>>0]|0)==28?uC(c[s>>2]|0,c[na>>2]|0,o,p,q)|0:0){b[S>>1]=259;c[K>>2]=c[(c[(c[(c[na>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2];c[L>>2]=aw(c[t>>2]|0,c[o>>2]|0,0)|0;b:do if(c[q>>2]|0?(a[(c[c[s>>2]>>2]|0)+69>>0]|0)==0:0){S=(c[la>>2]|0)+10|0;b[S>>1]=e[S>>1]|1024;c[T>>2]=0;while(1){S=a[(c[(c[o>>2]|0)+8>>2]|0)+(c[T>>2]|0)>>0]|0;a[U>>0]=S;if(!(S<<24>>24))break b;a[(c[(c[o>>2]|0)+8>>2]|0)+(c[T>>2]|0)>>0]=a[U>>0]&~(d[16965+(d[U>>0]|0)>>0]&32);a[(c[(c[L>>2]|0)+8>>2]|0)+(c[T>>2]|0)>>0]=a[17348+(d[U>>0]|0)>>0]|0;c[T>>2]=(c[T>>2]|0)+1}}while(0);if(!(a[(c[t>>2]|0)+69>>0]|0)){U=c[(c[L>>2]|0)+8>>2]|0;c[W>>2]=U+((_c(c[(c[L>>2]|0)+8>>2]|0)|0)-1);a[V>>0]=a[c[W>>2]>>0]|0;if(c[q>>2]|0){if((d[V>>0]|0)==64)c[p>>2]=0;a[V>>0]=a[17348+(d[V>>0]|0)>>0]|0}a[c[W>>2]>>0]=(d[V>>0]|0)+1}c[R>>2]=c[q>>2]|0?31338:31345;c[M>>2]=aw(c[t>>2]|0,c[K>>2]|0,0)|0;W=c[s>>2]|0;V=ow(c[s>>2]|0,c[M>>2]|0,c[R>>2]|0)|0;c[M>>2]=vs(W,41,V,c[o>>2]|0,0)|0;sC(c[M>>2]|0,c[na>>2]|0);c[O>>2]=oC(c[Q>>2]|0,c[M>>2]|0,259)|0;kC(c[F>>2]|0,c[Q>>2]|0,c[O>>2]|0);c[N>>2]=aw(c[t>>2]|0,c[K>>2]|0,0)|0;V=c[s>>2]|0;W=ow(c[s>>2]|0,c[N>>2]|0,c[R>>2]|0)|0;c[N>>2]=vs(V,40,W,c[L>>2]|0,0)|0;sC(c[N>>2]|0,c[na>>2]|0);c[P>>2]=oC(c[Q>>2]|0,c[N>>2]|0,259)|0;kC(c[F>>2]|0,c[Q>>2]|0,c[P>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);if(c[p>>2]|0){pC(c[Q>>2]|0,c[O>>2]|0,c[$>>2]|0);pC(c[Q>>2]|0,c[P>>2]|0,c[$>>2]|0)}}if(((d[(c[Q>>2]|0)+8>>0]|0)==28?vC(c[na>>2]|0,u)|0:0)?(c[Y>>2]=c[c[(c[(c[na>>2]|0)+20>>2]|0)+4>>2]>>2],c[Z>>2]=c[(c[(c[(c[na>>2]|0)+20>>2]|0)+4>>2]|0)+20>>2],V=FB(c[ma>>2]|0,c[Y>>2]|0)|0,W=ba,c[W>>2]=V,c[W+4>>2]=z,ma=FB(c[ma>>2]|0,c[Z>>2]|0)|0,W=aa,c[W>>2]=ma,c[W+4>>2]=z,W=ba,ma=aa,(c[W>>2]&c[ma>>2]|0)==0?(c[W+4>>2]&c[ma+4>>2]|0)==0:0):0){ma=c[s>>2]|0;c[ca>>2]=vs(ma,30,0,aw(c[t>>2]|0,c[Y>>2]|0,0)|0,0)|0;c[X>>2]=oC(c[Q>>2]|0,c[ca>>2]|0,3)|0;c[_>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0);ma=ba;ca=c[ma+4>>2]|0;ba=(c[_>>2]|0)+32|0;c[ba>>2]=c[ma>>2];c[ba+4>>2]=ca;c[(c[_>>2]|0)+20>>2]=c[(c[Z>>2]|0)+28>>2];c[(c[_>>2]|0)+28>>2]=b[(c[Z>>2]|0)+32>>1];b[(c[_>>2]|0)+12>>1]=64;a[(c[_>>2]|0)+15>>0]=a[u>>0]|0;pC(c[Q>>2]|0,c[X>>2]|0,c[$>>2]|0);c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);ba=(c[la>>2]|0)+10|0;b[ba>>1]=e[ba>>1]|8;ba=(c[la>>2]|0)+40|0;ca=c[ba+4>>2]|0;ma=(c[_>>2]|0)+40|0;c[ma>>2]=c[ba>>2];c[ma+4>>2]=ca}do if((d[(c[Q>>2]|0)+8>>0]|0)==28){if((d[c[na>>2]>>0]|0)!=37?(d[c[na>>2]>>0]|0)!=29:0)break;if(gy(c[(c[na>>2]|0)+12>>2]|0)|0){if(c[(c[(c[na>>2]|0)+12>>2]|0)+4>>2]&2048|0?c[(c[(c[na>>2]|0)+16>>2]|0)+4>>2]&2048|0:0)break;c[da>>2]=xw(c[(c[na>>2]|0)+12>>2]|0)|0;c[ea>>2]=0;while(1){if((c[ea>>2]|0)>=(c[da>>2]|0))break;c[ha>>2]=wC(c[s>>2]|0,c[(c[na>>2]|0)+12>>2]|0,c[ea>>2]|0)|0;c[ia>>2]=wC(c[s>>2]|0,c[(c[na>>2]|0)+16>>2]|0,c[ea>>2]|0)|0;c[ga>>2]=vs(c[s>>2]|0,d[c[na>>2]>>0]|0,c[ha>>2]|0,c[ia>>2]|0,0)|0;sC(c[ga>>2]|0,c[na>>2]|0);c[fa>>2]=oC(c[Q>>2]|0,c[ga>>2]|0,1)|0;kC(c[F>>2]|0,c[Q>>2]|0,c[fa>>2]|0);c[ea>>2]=(c[ea>>2]|0)+1}c[la>>2]=(c[(c[Q>>2]|0)+20>>2]|0)+((c[$>>2]|0)*48|0);b[(c[la>>2]|0)+10>>1]=6;b[(c[la>>2]|0)+12>>1]=0}}while(0);c:do if(((((d[(c[Q>>2]|0)+8>>0]|0)==28?(d[c[na>>2]>>0]|0)==33:0)?(c[(c[la>>2]|0)+24>>2]|0)==0:0)?(d[c[(c[na>>2]|0)+12>>2]>>0]|0)==158:0)?(c[(c[(c[na>>2]|0)+20>>2]|0)+48>>2]|0)==0:0){c[ja>>2]=0;while(1){ma=c[ja>>2]|0;if((ma|0)>=(xw(c[(c[na>>2]|0)+12>>2]|0)|0))break c;c[ka>>2]=oC(c[Q>>2]|0,c[na>>2]|0,2)|0;c[(c[(c[Q>>2]|0)+20>>2]|0)+((c[ka>>2]|0)*48|0)+24>>2]=(c[ja>>2]|0)+1;kC(c[F>>2]|0,c[Q>>2]|0,c[ka>>2]|0);pC(c[Q>>2]|0,c[ka>>2]|0,c[$>>2]|0);c[ja>>2]=(c[ja>>2]|0)+1}}while(0);ka=n;na=(c[la>>2]|0)+32|0;la=na;ma=c[la+4>>2]|c[ka+4>>2];c[na>>2]=c[la>>2]|c[ka>>2];c[na+4>>2]=ma;l=oa;return}function lC(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if((c[b>>2]|0)!=33?!((c[b>>2]|0)>=37&(c[b>>2]|0)<=41|(c[b>>2]|0)==34):0)a=(c[b>>2]|0)==29;else a=1;l=d;return a&1|0}function mC(a,f,g,h,i,j,k){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;v=l;l=l+48|0;u=v+40|0;q=v+36|0;w=v+32|0;m=v;n=v+28|0;r=v+24|0;s=v+20|0;o=v+16|0;p=v+12|0;t=v+8|0;c[q>>2]=a;c[w>>2]=f;f=m;c[f>>2]=g;c[f+4>>2]=h;c[n>>2]=i;c[r>>2]=j;c[s>>2]=k;if(((c[w>>2]|0)>=38?(d[c[n>>2]>>0]|0)==158:0)&(c[w>>2]|0)<=41)c[n>>2]=c[c[(c[(c[n>>2]|0)+20>>2]|0)+4>>2]>>2];if((d[c[n>>2]>>0]|0)==152){c[c[r>>2]>>2]=c[(c[n>>2]|0)+28>>2];c[c[s>>2]>>2]=b[(c[n>>2]|0)+32>>1];c[u>>2]=1;w=c[u>>2]|0;l=v;return w|0}w=m;if((c[w>>2]|0)==0&(c[w+4>>2]|0)==0){c[u>>2]=0;w=c[u>>2]|0;l=v;return w|0}w=m;j=c[w>>2]|0;w=c[w+4>>2]|0;k=m;k=FR(c[k>>2]|0,c[k+4>>2]|0,1,0)|0;if((j&k|0)!=0|(w&z|0)!=0){c[u>>2]=0;w=c[u>>2]|0;l=v;return w|0}c[p>>2]=0;while(1){w=m;k=c[w+4>>2]|0;if(!(k>>>0>0|(k|0)==0&(c[w>>2]|0)>>>0>1))break;c[p>>2]=(c[p>>2]|0)+1;k=m;k=OR(c[k>>2]|0,c[k+4>>2]|0,1)|0;w=m;c[w>>2]=k;c[w+4>>2]=z}c[t>>2]=c[(c[q>>2]|0)+8+((c[p>>2]|0)*72|0)+44>>2];c[o>>2]=c[(c[(c[q>>2]|0)+8+((c[p>>2]|0)*72|0)+16>>2]|0)+8>>2];a:while(1){if(!(c[o>>2]|0)){a=22;break}b:do if(c[(c[o>>2]|0)+40>>2]|0){c[p>>2]=0;while(1){if((c[p>>2]|0)>=(e[(c[o>>2]|0)+50>>1]|0))break b;if((b[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<1)>>1]|0)==-2?(cw(c[n>>2]|0,c[(c[(c[(c[o>>2]|0)+40>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,c[t>>2]|0)|0)==0:0){a=19;break a}c[p>>2]=(c[p>>2]|0)+1}}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}if((a|0)==19){c[c[r>>2]>>2]=c[t>>2];c[c[s>>2]>>2]=-2;c[u>>2]=1;w=c[u>>2]|0;l=v;return w|0}else if((a|0)==22){c[u>>2]=0;w=c[u>>2]|0;l=v;return w|0}return 0}function nC(a){a=a|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=f+4|0;c[d>>2]=a;do if((c[d>>2]|0)!=33){if((c[d>>2]|0)==34){b[e>>1]=256;break}if((c[d>>2]|0)==29){b[e>>1]=128;break}else{b[e>>1]=2<<(c[d>>2]|0)-37;break}}else b[e>>1]=1;while(0);l=f;return b[e>>1]|0}function oC(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;n=p+24|0;i=p+20|0;j=p+16|0;k=p+28|0;m=p+12|0;o=p+8|0;h=p+4|0;g=p;c[i>>2]=a;c[j>>2]=d;b[k>>1]=f;do if((c[(c[i>>2]|0)+12>>2]|0)>=(c[(c[i>>2]|0)+16>>2]|0)){c[h>>2]=c[(c[i>>2]|0)+20>>2];c[g>>2]=c[c[c[c[i>>2]>>2]>>2]>>2];f=od(c[g>>2]|0,(c[(c[i>>2]|0)+16>>2]|0)*48<<1,0)|0;c[(c[i>>2]|0)+20>>2]=f;if(c[(c[i>>2]|0)+20>>2]|0){MR(c[(c[i>>2]|0)+20>>2]|0,c[h>>2]|0,(c[(c[i>>2]|0)+12>>2]|0)*48|0)|0;if((c[h>>2]|0)!=((c[i>>2]|0)+24|0))Hd(c[g>>2]|0,c[h>>2]|0);h=((Md(c[g>>2]|0,c[(c[i>>2]|0)+20>>2]|0)|0)>>>0)/48|0;c[(c[i>>2]|0)+16>>2]=h;break}if((e[k>>1]|0)&1|0)ck(c[g>>2]|0,c[j>>2]|0);c[(c[i>>2]|0)+20>>2]=c[h>>2];c[n>>2]=0;o=c[n>>2]|0;l=p;return o|0}while(0);f=c[(c[i>>2]|0)+20>>2]|0;g=(c[i>>2]|0)+12|0;h=c[g>>2]|0;c[g>>2]=h+1;c[o>>2]=h;c[m>>2]=f+(h*48|0);if(c[j>>2]|0?c[(c[j>>2]|0)+4>>2]&262144|0:0){a=c[(c[j>>2]|0)+28>>2]|0;a=((Du(a,((a|0)<0)<<31>>31)|0)<<16>>16)-270&65535;d=c[m>>2]|0}else{a=1;d=c[m>>2]|0}b[d+8>>1]=a;a=Ev(c[j>>2]|0)|0;c[c[m>>2]>>2]=a;b[(c[m>>2]|0)+10>>1]=b[k>>1]|0;c[(c[m>>2]|0)+4>>2]=c[i>>2];c[(c[m>>2]|0)+16>>2]=-1;a=(c[m>>2]|0)+12|0;d=a+36|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[n>>2]=c[o>>2];o=c[n>>2]|0;l=p;return o|0}function pC(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;g=l;l=l+16|0;i=g+8|0;j=g+4|0;h=g;c[i>>2]=d;c[j>>2]=e;c[h>>2]=f;c[(c[(c[i>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0)+16>>2]=c[h>>2];b[(c[(c[i>>2]|0)+20>>2]|0)+((c[j>>2]|0)*48|0)+8>>1]=b[(c[(c[i>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+8>>1]|0;f=(c[(c[i>>2]|0)+20>>2]|0)+((c[h>>2]|0)*48|0)+14|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;l=g;return}function qC(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;m=p+20|0;i=p+16|0;j=p+12|0;g=p+25|0;h=p+24|0;k=p+8|0;n=p+4|0;o=p;c[i>>2]=b;c[j>>2]=f;if(e[(c[c[i>>2]>>2]|0)+64>>1]&512|0){c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}if((d[c[j>>2]>>0]|0)!=37?(d[c[j>>2]>>0]|0)!=29:0){c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}if(c[(c[j>>2]|0)+4>>2]&1|0){c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}a[g>>0]=wv(c[(c[j>>2]|0)+12>>2]|0)|0;a[h>>0]=wv(c[(c[j>>2]|0)+16>>2]|0)|0;do if((a[g>>0]|0)!=(a[h>>0]|0)){if((a[g>>0]|0)>=67?(a[h>>0]|0)>=67:0)break;c[m>>2]=0;o=c[m>>2]|0;l=p;return o|0}while(0);c[k>>2]=Dy(c[i>>2]|0,c[(c[j>>2]|0)+12>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;if(c[k>>2]|0?Ig(c[c[k>>2]>>2]|0,31345)|0:0){c[k>>2]=xv(c[i>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0;if(c[k>>2]|0)b=c[c[k>>2]>>2]|0;else b=0;c[n>>2]=b;c[k>>2]=xv(c[i>>2]|0,c[(c[j>>2]|0)+16>>2]|0)|0;if(c[k>>2]|0)b=c[c[k>>2]>>2]|0;else b=0;c[o>>2]=b;c[m>>2]=(uk(c[n>>2]|0,c[o>>2]|0)|0)==0&1;o=c[m>>2]|0;l=p;return o|0}c[m>>2]=1;o=c[m>>2]|0;l=p;return o|0}function rC(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;h=m+8|0;i=m+4|0;j=m+14|0;n=m+12|0;k=m;c[h>>2]=f;c[i>>2]=g;b[j>>1]=c[(c[(c[i>>2]|0)+16>>2]|0)+4>>2]&256;b[n>>1]=c[(c[(c[i>>2]|0)+12>>2]|0)+4>>2]&256;do if((e[j>>1]|0)==(e[n>>1]|0)){if(b[j>>1]|0){n=(c[(c[i>>2]|0)+16>>2]|0)+4|0;c[n>>2]=c[n>>2]&-257;break}if(xv(c[h>>2]|0,c[(c[i>>2]|0)+12>>2]|0)|0){n=(c[(c[i>>2]|0)+12>>2]|0)+4|0;c[n>>2]=c[n>>2]|256}}while(0);c[k>>2]=c[(c[i>>2]|0)+16>>2];c[(c[i>>2]|0)+16>>2]=c[(c[i>>2]|0)+12>>2];c[(c[i>>2]|0)+12>>2]=c[k>>2];if((d[c[i>>2]>>0]|0)<38){l=m;return}a[c[i>>2]>>0]=((d[c[i>>2]>>0]|0)-38^2)+38;l=m;return}function sC(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;if(!(c[e>>2]|0)){l=g;return}d=(c[e>>2]|0)+4|0;c[d>>2]=c[d>>2]|c[(c[f>>2]|0)+4>>2]&1;b[(c[e>>2]|0)+36>>1]=b[(c[f>>2]|0)+36>>1]|0;l=g;return}function tC(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;V=l;l=l+160|0;E=V+156|0;O=V+152|0;P=V+148|0;Q=V+144|0;R=V+140|0;S=V+136|0;T=V+132|0;w=V+128|0;x=V+124|0;y=V+120|0;A=V+116|0;i=V+112|0;B=V+24|0;j=V+16|0;k=V+108|0;m=V+104|0;n=V+100|0;o=V+96|0;p=V+8|0;q=V;r=V+92|0;s=V+88|0;t=V+84|0;u=V+80|0;v=V+76|0;C=V+72|0;D=V+68|0;F=V+64|0;G=V+60|0;H=V+56|0;I=V+52|0;J=V+48|0;K=V+44|0;L=V+40|0;M=V+36|0;N=V+32|0;c[E>>2]=f;c[O>>2]=g;c[P>>2]=h;c[Q>>2]=c[c[O>>2]>>2];c[R>>2]=c[c[Q>>2]>>2];c[S>>2]=c[c[R>>2]>>2];c[T>>2]=(c[(c[O>>2]|0)+20>>2]|0)+((c[P>>2]|0)*48|0);c[w>>2]=c[c[T>>2]>>2];h=jl(c[S>>2]|0,416,0)|0;c[i>>2]=h;c[(c[T>>2]|0)+28>>2]=h;if(!(c[i>>2]|0)){l=V;return}h=(c[T>>2]|0)+10|0;b[h>>1]=e[h>>1]|16;c[y>>2]=c[i>>2];GR((c[y>>2]|0)+24|0,0,384)|0;WA(c[y>>2]|0,c[Q>>2]|0);XA(c[y>>2]|0,c[w>>2]|0,27);_A(c[E>>2]|0,c[y>>2]|0);if(a[(c[S>>2]|0)+69>>0]|0){l=V;return}h=j;c[h>>2]=-1;c[h+4>>2]=-1;h=B;c[h>>2]=-1;c[h+4>>2]=-1;c[x>>2]=(c[(c[y>>2]|0)+12>>2]|0)-1;c[A>>2]=c[(c[y>>2]|0)+20>>2];while(1){h=j;if(!((c[x>>2]|0)>=0?(c[h>>2]|0)!=0|(c[h+4>>2]|0)!=0:0))break;do if(!(e[(c[A>>2]|0)+12>>1]&511)){h=B;c[h>>2]=0;c[h+4>>2]=0;c[k>>2]=od(c[S>>2]|0,408,0)|0;if(c[k>>2]|0){h=p;c[h>>2]=0;c[h+4>>2]=0;c[(c[A>>2]|0)+28>>2]=c[k>>2];h=(c[A>>2]|0)+10|0;b[h>>1]=e[h>>1]|32;b[(c[A>>2]|0)+12>>1]=1024;c[m>>2]=c[k>>2];GR((c[m>>2]|0)+24|0,0,384)|0;WA(c[m>>2]|0,c[c[O>>2]>>2]|0);XA(c[m>>2]|0,c[c[A>>2]>>2]|0,28);_A(c[E>>2]|0,c[m>>2]|0);c[(c[m>>2]|0)+4>>2]=c[O>>2];a:do if(!(a[(c[S>>2]|0)+69>>0]|0)){c[o>>2]=0;c[n>>2]=c[(c[m>>2]|0)+20>>2];while(1){if((c[o>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break a;if(!(!(lC(d[c[c[n>>2]>>2]>>0]|0)|0)?(e[(c[n>>2]|0)+12>>1]|0)!=64:0)){f=hB((c[Q>>2]|0)+488|0,c[(c[n>>2]|0)+20>>2]|0)|0;W=p;g=c[W+4>>2]|z;h=p;c[h>>2]=c[W>>2]|f;c[h+4>>2]=g}c[o>>2]=(c[o>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+48}}while(0);g=p;f=j;h=c[f+4>>2]&c[g+4>>2];W=j;c[W>>2]=c[f>>2]&c[g>>2];c[W+4>>2]=h}}else if(!(e[(c[A>>2]|0)+10>>1]&8)){h=hB((c[Q>>2]|0)+488|0,c[(c[A>>2]|0)+20>>2]|0)|0;W=q;c[W>>2]=h;c[W+4>>2]=z;if(e[(c[A>>2]|0)+10>>1]&2|0){c[r>>2]=(c[(c[y>>2]|0)+20>>2]|0)+((c[(c[A>>2]|0)+16>>2]|0)*48|0);g=hB((c[Q>>2]|0)+488|0,c[(c[r>>2]|0)+20>>2]|0)|0;f=q;h=c[f+4>>2]|z;W=q;c[W>>2]=c[f>>2]|g;c[W+4>>2]=h}g=q;f=j;h=c[f+4>>2]&c[g+4>>2];W=j;c[W>>2]=c[f>>2]&c[g>>2];c[W+4>>2]=h;if(!(e[(c[A>>2]|0)+12>>1]&2)){W=B;c[W>>2]=0;c[W+4>>2]=0;break}else{g=q;f=B;h=c[f+4>>2]&c[g+4>>2];W=B;c[W>>2]=c[f>>2]&c[g>>2];c[W+4>>2]=h;break}}while(0);c[x>>2]=(c[x>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+48}q=j;r=c[q+4>>2]|0;W=(c[i>>2]|0)+408|0;c[W>>2]=c[q>>2];c[W+4>>2]=r;W=j;b[(c[T>>2]|0)+12>>1]=(c[W>>2]|0)==0&(c[W+4>>2]|0)==0?0:512;W=j;b:do if((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0?(c[(c[y>>2]|0)+12>>2]|0)==2:0){c[s>>2]=0;c:while(1){r=c[(c[y>>2]|0)+20>>2]|0;W=c[s>>2]|0;c[s>>2]=W+1;W=BC(r,W)|0;c[t>>2]=W;if(!W)break b;c[u>>2]=0;while(1){r=(c[(c[y>>2]|0)+20>>2]|0)+48|0;W=c[u>>2]|0;c[u>>2]=W+1;W=BC(r,W)|0;c[v>>2]=W;if(!W)continue c;CC(c[E>>2]|0,c[O>>2]|0,c[t>>2]|0,c[v>>2]|0)}}}while(0);W=B;if(!((c[W>>2]|0)!=0|(c[W+4>>2]|0)!=0)){l=V;return}c[C>>2]=0;c[D>>2]=-1;c[F>>2]=-1;c[G>>2]=0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=2)break;if(!((c[C>>2]|0)!=0^1))break;c[A>>2]=c[(c[y>>2]|0)+20>>2];c[x>>2]=(c[(c[y>>2]|0)+12>>2]|0)-1;while(1){if((c[x>>2]|0)<0)break;W=(c[A>>2]|0)+10|0;b[W>>1]=e[W>>1]&-65;if((c[(c[A>>2]|0)+20>>2]|0)!=(c[F>>2]|0)?(W=B,u=c[W>>2]|0,W=c[W+4>>2]|0,v=hB((c[Q>>2]|0)+488|0,c[(c[A>>2]|0)+20>>2]|0)|0,!((u&v|0)==0&(W&z|0)==0)):0){U=37;break}c[x>>2]=(c[x>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+48}if((U|0)==37){U=0;c[D>>2]=c[(c[A>>2]|0)+28>>2];c[F>>2]=c[(c[A>>2]|0)+20>>2]}if((c[x>>2]|0)<0)break;c[C>>2]=1;while(1){if(!((c[x>>2]|0)>=0?(c[C>>2]|0)!=0:0))break;f=c[A>>2]|0;do if((c[(c[A>>2]|0)+20>>2]|0)!=(c[F>>2]|0)){W=f+10|0;b[W>>1]=e[W>>1]&-65}else{if((c[f+28>>2]|0)!=(c[D>>2]|0)){c[C>>2]=0;break}c[I>>2]=(wv(c[(c[c[A>>2]>>2]|0)+16>>2]|0)|0)<<24>>24;c[H>>2]=(wv(c[(c[c[A>>2]>>2]|0)+12>>2]|0)|0)<<24>>24;if(c[I>>2]|0?(c[I>>2]|0)!=(c[H>>2]|0):0){c[C>>2]=0;break}W=(c[A>>2]|0)+10|0;b[W>>1]=e[W>>1]|64}while(0);c[x>>2]=(c[x>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+48}c[G>>2]=(c[G>>2]|0)+1}if(!(c[C>>2]|0)){l=V;return}c[K>>2]=0;c[L>>2]=0;c[x>>2]=(c[(c[y>>2]|0)+12>>2]|0)-1;c[A>>2]=c[(c[y>>2]|0)+20>>2];while(1){if((c[x>>2]|0)<0)break;if(e[(c[A>>2]|0)+10>>1]&64|0){c[J>>2]=aw(c[S>>2]|0,c[(c[c[A>>2]>>2]|0)+16>>2]|0,0)|0;c[K>>2]=Ks(c[c[Q>>2]>>2]|0,c[K>>2]|0,c[J>>2]|0)|0;c[L>>2]=c[(c[c[A>>2]>>2]|0)+12>>2]}c[x>>2]=(c[x>>2]|0)+-1;c[A>>2]=(c[A>>2]|0)+48}c[J>>2]=aw(c[S>>2]|0,c[L>>2]|0,0)|0;c[M>>2]=vs(c[R>>2]|0,33,c[J>>2]|0,0,0)|0;if(c[M>>2]|0){sC(c[M>>2]|0,c[w>>2]|0);c[(c[M>>2]|0)+20>>2]=c[K>>2];c[N>>2]=oC(c[O>>2]|0,c[M>>2]|0,3)|0;kC(c[E>>2]|0,c[O>>2]|0,c[N>>2]|0);c[T>>2]=(c[(c[O>>2]|0)+20>>2]|0)+((c[P>>2]|0)*48|0);pC(c[O>>2]|0,c[N>>2]|0,c[P>>2]|0)}else _j(c[S>>2]|0,c[K>>2]|0);b[(c[T>>2]|0)+12>>1]=4096;l=V;return}function uC(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;F=l;l=l+96|0;B=F+80|0;C=F+76|0;o=F+72|0;D=F+68|0;E=F+64|0;G=F+60|0;r=F+56|0;s=F+52|0;j=F+48|0;k=F+44|0;p=F+40|0;t=F+36|0;q=F+84|0;u=F+32|0;v=F+28|0;w=F+24|0;x=F+20|0;m=F+16|0;n=F+12|0;y=F+8|0;z=F+4|0;A=F;c[C>>2]=e;c[o>>2]=f;c[D>>2]=g;c[E>>2]=h;c[G>>2]=i;c[r>>2]=0;c[u>>2]=c[c[C>>2]>>2];c[v>>2]=0;if(!(xC(c[u>>2]|0,c[o>>2]|0,c[G>>2]|0,q)|0)){c[B>>2]=0;G=c[B>>2]|0;l=F;return G|0}c[k>>2]=c[(c[o>>2]|0)+20>>2];c[j>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+20>>2];if(((d[c[j>>2]>>0]|0)==152?((wv(c[j>>2]|0)|0)<<24>>24|0)==66:0)?(d[(c[(c[j>>2]|0)+44>>2]|0)+42>>0]&16|0)==0:0){c[s>>2]=Ev(c[c[(c[k>>2]|0)+4>>2]>>2]|0)|0;c[w>>2]=d[c[s>>2]>>0];if((c[w>>2]|0)!=135){if((c[w>>2]|0)==97)c[r>>2]=c[(c[s>>2]|0)+8>>2]}else{c[m>>2]=c[(c[C>>2]|0)+432>>2];c[n>>2]=b[(c[s>>2]|0)+32>>1];c[v>>2]=yC(c[m>>2]|0,c[n>>2]|0,65)|0;if(c[v>>2]|0?(fi(c[v>>2]|0)|0)==3:0)c[r>>2]=wh(c[v>>2]|0)|0;zC(c[(c[C>>2]|0)+8>>2]|0,c[n>>2]|0)}do if(c[r>>2]|0){c[t>>2]=0;while(1){G=a[(c[r>>2]|0)+(c[t>>2]|0)>>0]|0;c[p>>2]=G;if((G|0?(c[p>>2]|0)!=(a[q>>0]|0):0)?(c[p>>2]|0)!=(a[q+1>>0]|0):0)f=(c[p>>2]|0)!=(a[q+2>>0]|0);else f=0;e=c[t>>2]|0;if(!f)break;c[t>>2]=e+1}if(e|0?255!=(d[(c[r>>2]|0)+((c[t>>2]|0)-1)>>0]|0):0){if((c[p>>2]|0)==(a[q>>0]|0))e=(a[(c[r>>2]|0)+((c[t>>2]|0)+1)>>0]|0)==0;else e=0;c[c[E>>2]>>2]=e&1;c[y>>2]=Ns(c[u>>2]|0,97,c[r>>2]|0)|0;if(c[y>>2]|0)a[(c[(c[y>>2]|0)+8>>2]|0)+(c[t>>2]|0)>>0]=0;c[c[D>>2]>>2]=c[y>>2];if((c[w>>2]|0)!=135)break;c[z>>2]=c[(c[C>>2]|0)+8>>2];zC(c[z>>2]|0,b[(c[s>>2]|0)+32>>1]|0);if(!(c[c[E>>2]>>2]|0))break;if(!(a[(c[(c[s>>2]|0)+8>>2]|0)+1>>0]|0))break;c[A>>2]=Uu(c[C>>2]|0)|0;by(c[C>>2]|0,c[s>>2]|0,c[A>>2]|0)|0;G=c[z>>2]|0;AC(G,(Vu(c[z>>2]|0)|0)-1|0,0);Wu(c[C>>2]|0,c[A>>2]|0);break}c[r>>2]=0}while(0);c[x>>2]=(c[r>>2]|0)!=0&1;Rj(c[v>>2]|0);c[B>>2]=c[x>>2];G=c[B>>2]|0;l=F;return G|0}c[B>>2]=0;G=c[B>>2]|0;l=F;return G|0}function vC(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;j=m+20|0;h=m+16|0;k=m+12|0;f=m+8|0;g=m+4|0;i=m;c[h>>2]=b;c[k>>2]=e;if((d[c[h>>2]>>0]|0|0)!=151){c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}c[f>>2]=c[(c[h>>2]|0)+20>>2];if(c[f>>2]|0?(c[c[f>>2]>>2]|0)==2:0){c[g>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+20>>2];if((d[c[g>>2]>>0]|0|0)==152?(d[(c[(c[g>>2]|0)+44>>2]|0)+42>>0]|0)&16|0:0){c[i>>2]=0;while(1){if((c[i>>2]|0)>=4){b=14;break}g=(Ig(c[(c[h>>2]|0)+8>>2]|0,c[5436+(c[i>>2]<<3)>>2]|0)|0)==0;e=c[i>>2]|0;if(g){b=12;break}c[i>>2]=e+1}if((b|0)==12){a[c[k>>2]>>0]=a[5436+(e<<3)+4>>0]|0;c[j>>2]=1;k=c[j>>2]|0;l=m;return k|0}else if((b|0)==14){c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}}c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}c[j>>2]=0;k=c[j>>2]|0;l=m;return k|0}function wC(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=e;c[i>>2]=f;if((d[c[h>>2]>>0]|0|0)==119){c[j>>2]=vs(c[g>>2]|0,159,0,0,0)|0;if(!(c[j>>2]|0)){j=c[j>>2]|0;l=k;return j|0}b[(c[j>>2]|0)+32>>1]=c[i>>2];c[(c[j>>2]|0)+12>>2]=c[h>>2];j=c[j>>2]|0;l=k;return j|0}else{if((d[c[h>>2]>>0]|0|0)==158)c[h>>2]=c[(c[(c[(c[h>>2]|0)+20>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2];c[j>>2]=aw(c[c[g>>2]>>2]|0,c[h>>2]|0,0)|0;j=c[j>>2]|0;l=k;return j|0}return 0}function xC(b,f,g,h){b=b|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;o=p;c[j>>2]=b;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;if(((d[c[k>>2]>>0]|0|0)==151?c[(c[k>>2]|0)+20>>2]|0:0)?(c[c[(c[k>>2]|0)+20>>2]>>2]|0)==2:0){c[o>>2]=uw(c[j>>2]|0,c[(c[k>>2]|0)+8>>2]|0,2,1,0)|0;if(c[o>>2]|0?(e[(c[o>>2]|0)+2>>1]|0)&4|0:0){n=c[n>>2]|0;k=c[(c[o>>2]|0)+4>>2]|0;a[n>>0]=a[k>>0]|0;a[n+1>>0]=a[k+1>>0]|0;a[n+2>>0]=a[k+2>>0]|0;c[c[m>>2]>>2]=((e[(c[o>>2]|0)+2>>1]|0)&8|0)==0&1;c[i>>2]=1;o=c[i>>2]|0;l=p;return o|0}c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}function yC(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+20|0;k=n+4|0;m=n;c[h>>2]=b;c[i>>2]=d;a[j>>0]=f;if(c[h>>2]|0?(c[k>>2]=(c[(c[h>>2]|0)+116>>2]|0)+(((c[i>>2]|0)-1|0)*40|0),0==((e[(c[k>>2]|0)+8>>1]|0)&1|0)):0){c[m>>2]=Oo(c[c[h>>2]>>2]|0)|0;if(c[m>>2]|0){Gi(c[m>>2]|0,c[k>>2]|0)|0;cv(c[m>>2]|0,a[j>>0]|0,1)}c[g>>2]=c[m>>2];m=c[g>>2]|0;l=n;return m|0}c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}function zC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>32){c[(c[d>>2]|0)+196>>2]=-1;l=f;return}else{d=(c[d>>2]|0)+196|0;c[d>>2]=c[d>>2]|1<<(c[e>>2]|0)-1;l=f;return}}function AC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Ax(c[g>>2]|0,c[f>>2]|0)|0)+12>>2]=d;l=e;return}function BC(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=b;a=c[g>>2]|0;if((e[(c[f>>2]|0)+12>>1]|0|0)!=1024){c[d>>2]=(a|0)==0?c[f>>2]|0:0;g=c[d>>2]|0;l=h;return g|0}if((a|0)<(c[(c[(c[f>>2]|0)+28>>2]|0)+12>>2]|0)){c[d>>2]=(c[(c[(c[f>>2]|0)+28>>2]|0)+20>>2]|0)+((c[g>>2]|0)*48|0);g=c[d>>2]|0;l=h;return g|0}else{c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}return 0}function CC(d,f,g,h){d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;p=s+28|0;q=s+24|0;i=s+20|0;j=s+16|0;r=s+32|0;k=s+12|0;m=s+8|0;n=s+4|0;o=s;c[p>>2]=d;c[q>>2]=f;c[i>>2]=g;c[j>>2]=h;b[r>>1]=e[(c[i>>2]|0)+12>>1]|0|(e[(c[j>>2]|0)+12>>1]|0);if(!((e[(c[i>>2]|0)+12>>1]|0)&62)){l=s;return}if(!((e[(c[j>>2]|0)+12>>1]|0)&62)){l=s;return}if(((e[r>>1]|0)&26|0)!=(e[r>>1]|0|0)?((e[r>>1]|0)&38|0)!=(e[r>>1]|0|0):0){l=s;return}if(cw(c[(c[c[i>>2]>>2]|0)+12>>2]|0,c[(c[c[j>>2]>>2]|0)+12>>2]|0,-1)|0){l=s;return}if(cw(c[(c[c[i>>2]>>2]|0)+16>>2]|0,c[(c[c[j>>2]>>2]|0)+16>>2]|0,-1)|0){l=s;return}do if((e[r>>1]|0)&(e[r>>1]|0)-1|0)if((e[r>>1]|0)&24|0){b[r>>1]=8;break}else{b[r>>1]=32;break}while(0);c[k>>2]=c[c[c[c[q>>2]>>2]>>2]>>2];c[m>>2]=aw(c[k>>2]|0,c[c[i>>2]>>2]|0,0)|0;if(!(c[m>>2]|0)){l=s;return}c[n>>2]=37;while(1){d=c[n>>2]|0;if((e[r>>1]|0|0)==(2<<(c[n>>2]|0)-37|0))break;c[n>>2]=d+1}a[c[m>>2]>>0]=d;c[o>>2]=oC(c[q>>2]|0,c[m>>2]|0,3)|0;kC(c[p>>2]|0,c[q>>2]|0,c[o>>2]|0);l=s;return}function DC(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;h=l;l=l+48|0;j=h+36|0;k=h+32|0;i=h+28|0;g=h;c[j>>2]=b;c[k>>2]=e;c[i>>2]=f;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;a[g+20>>0]=0;c[g+4>>2]=194;c[g+24>>2]=c[k>>2];Qv(g,c[j>>2]|0)|0;if(c[i>>2]|0){k=g+20|0;k=a[k>>0]|0;k=k<<24>>24!=0;k=k^1;k=k&1;l=h;return k|0}k=g+20|0;a[k>>0]=(d[k>>0]|0)&-3;k=g+20|0;k=a[k>>0]|0;k=k<<24>>24!=0;k=k^1;k=k&1;l=h;return k|0}function EC(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n+8|0;k=n;f=n+28|0;g=n+24|0;h=n+20|0;i=n+16|0;j=n+12|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;a=c[c[f>>2]>>2]|0;d=c[c[h>>2]>>2]|0;if((b[(c[h>>2]|0)+32>>1]|0)>=0){h=c[(c[(c[h>>2]|0)+4>>2]|0)+(b[(c[h>>2]|0)+32>>1]<<4)>>2]|0;c[k>>2]=d;c[k+4>>2]=h;c[i>>2]=Bj(a,26470,k)|0;c[j>>2]=1555;h=c[f>>2]|0;j=c[j>>2]|0;k=c[g>>2]|0;m=c[i>>2]|0;Nx(h,j,k,m,-1,2);l=n;return}else{c[m>>2]=d;c[i>>2]=Bj(a,31537,m)|0;c[j>>2]=2579;h=c[f>>2]|0;j=c[j>>2]|0;k=c[g>>2]|0;m=c[i>>2]|0;Nx(h,j,k,m,-1,2);l=n;return}}function FC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+32|0;k=m+20|0;n=m+16|0;f=m+12|0;g=m+8|0;h=m+4|0;i=m;c[n>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;a:do if(c[(c[c[n>>2]>>2]|0)+24>>2]&524288|0){a=c[f>>2]|0;if(!(c[g>>2]|0)){if(ov(a)|0)a=1;else a=(c[(c[f>>2]|0)+16>>2]|0)!=0;c[k>>2]=a&1;n=c[k>>2]|0;l=m;return n|0}c[i>>2]=c[a+16>>2];while(1){a=c[f>>2]|0;if(!(c[i>>2]|0))break;if(EA(a,c[i>>2]|0,c[g>>2]|0,c[h>>2]|0)|0){j=9;break}c[i>>2]=c[(c[i>>2]|0)+4>>2]}if((j|0)==9){c[k>>2]=1;n=c[k>>2]|0;l=m;return n|0}c[i>>2]=ov(a)|0;while(1){if(!(c[i>>2]|0))break a;if(HA(c[f>>2]|0,c[i>>2]|0,c[g>>2]|0,c[h>>2]|0)|0)break;c[i>>2]=c[(c[i>>2]|0)+12>>2]}c[k>>2]=1;n=c[k>>2]|0;l=m;return n|0}while(0);c[k>>2]=0;n=c[k>>2]|0;l=m;return n|0}function GC(b){b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=b;b=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[d>>2]=b;a[(c[d>>2]|0)+20>>0]=1;l=e;return}function HC(e,f,g,h,i,j,k,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+64|0;q=K+48|0;r=K+44|0;s=K+40|0;t=K+36|0;u=K+32|0;v=K+28|0;w=K+52|0;x=K+58|0;y=K+57|0;z=K+56|0;A=K+24|0;B=K+20|0;C=K+16|0;D=K+12|0;E=K+55|0;F=K+8|0;G=K+4|0;H=K;I=K+54|0;c[q>>2]=e;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;b[w>>1]=k;a[x>>0]=m;a[y>>0]=n;a[z>>0]=o;c[A>>2]=p;c[B>>2]=c[(c[q>>2]|0)+8>>2];c[C>>2]=0;c[D>>2]=qx(c[B>>2]|0)|0;a[E>>0]=(d[(c[r>>2]|0)+42>>0]&32|0)==0?33:30;if(!(d[z>>0]|0))Fx(c[B>>2]|0,d[E>>0]|0,c[t>>2]|0,c[D>>2]|0,c[v>>2]|0,b[w>>1]|0)|0;o=(FC(c[q>>2]|0,c[r>>2]|0,0,0)|0)!=0;if(o|(c[s>>2]|0)!=0){c[F>>2]=JC(c[q>>2]|0,c[s>>2]|0,0,0,3,c[r>>2]|0,d[y>>0]|0)|0;o=KC(c[q>>2]|0,c[r>>2]|0)|0;c[F>>2]=c[F>>2]|o;c[C>>2]=(c[(c[q>>2]|0)+44>>2]|0)+1;o=(c[q>>2]|0)+44|0;c[o>>2]=(c[o>>2]|0)+(1+(b[(c[r>>2]|0)+34>>1]|0));Wt(c[B>>2]|0,84,c[v>>2]|0,c[C>>2]|0)|0;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[F>>2]|0)!=-1){if((c[G>>2]|0)<=31?c[F>>2]&1<>2]|0:0)J=9}else J=9;if((J|0)==9){J=0;Zx(c[B>>2]|0,c[r>>2]|0,c[t>>2]|0,c[G>>2]|0,(c[C>>2]|0)+(c[G>>2]|0)+1|0)}c[G>>2]=(c[G>>2]|0)+1}c[H>>2]=Vu(c[B>>2]|0)|0;vA(c[q>>2]|0,c[s>>2]|0,109,0,1,c[r>>2]|0,c[C>>2]|0,d[y>>0]|0,c[D>>2]|0);J=c[H>>2]|0;if((J|0)<(Vu(c[B>>2]|0)|0))Fx(c[B>>2]|0,d[E>>0]|0,c[t>>2]|0,c[D>>2]|0,c[v>>2]|0,b[w>>1]|0)|0;AA(c[q>>2]|0,c[r>>2]|0,c[C>>2]|0,0,0,0)}if(c[(c[r>>2]|0)+12>>2]|0){m=c[q>>2]|0;k=c[r>>2]|0;j=c[C>>2]|0;LC(m,k,0,j,0,0);j=c[q>>2]|0;k=c[s>>2]|0;m=c[r>>2]|0;n=c[C>>2]|0;J=a[y>>0]|0;J=J&255;o=c[D>>2]|0;vA(j,k,109,0,2,m,n,J,o);o=c[B>>2]|0;J=c[D>>2]|0;ux(o,J);l=K;return}a[I>>0]=0;IC(c[q>>2]|0,c[r>>2]|0,c[t>>2]|0,c[u>>2]|0,0,c[A>>2]|0);Wt(c[B>>2]|0,117,c[t>>2]|0,d[x>>0]|0?1:0)|0;$t(c[B>>2]|0,-1,c[r>>2]|0,-20);if(d[z>>0]|0)px(c[B>>2]|0,4);if((c[A>>2]|0)>=0)kx(c[B>>2]|0,117,c[A>>2]|0)|0;if((d[z>>0]|0)==2)a[I>>0]=d[I>>0]|2;px(c[B>>2]|0,a[I>>0]|0);m=c[q>>2]|0;k=c[r>>2]|0;j=c[C>>2]|0;LC(m,k,0,j,0,0);j=c[q>>2]|0;k=c[s>>2]|0;m=c[r>>2]|0;n=c[C>>2]|0;J=a[y>>0]|0;J=J&255;o=c[D>>2]|0;vA(j,k,109,0,2,m,n,J,o);o=c[B>>2]|0;J=c[D>>2]|0;ux(o,J);l=K;return}function IC(a,e,f,g,h,i){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;u=y+48|0;j=y+44|0;v=y+40|0;w=y+36|0;k=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;p=y+16|0;q=y+12|0;r=y+8|0;s=y+4|0;t=y;c[u>>2]=a;c[j>>2]=e;c[v>>2]=f;c[w>>2]=g;c[k>>2]=h;c[m>>2]=i;c[o>>2]=-1;c[r>>2]=0;c[s>>2]=c[(c[u>>2]|0)+8>>2];if(!((d[(c[j>>2]|0)+42>>0]|0)&32))a=0;else a=Au(c[j>>2]|0)|0;c[t>>2]=a;c[n>>2]=0;c[q>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[q>>2]|0))break;if(!(c[k>>2]|0?!(c[(c[k>>2]|0)+(c[n>>2]<<2)>>2]|0):0))x=7;if(((x|0)==7?(x=0,(c[q>>2]|0)!=(c[t>>2]|0)):0)?((c[w>>2]|0)+(c[n>>2]|0)|0)!=(c[m>>2]|0):0){c[o>>2]=Kx(c[u>>2]|0,c[q>>2]|0,c[v>>2]|0,0,1,p,c[r>>2]|0,c[o>>2]|0)|0;a=c[q>>2]|0;if((d[(c[q>>2]|0)+55>>0]|0)>>>3&1|0)a=b[a+50>>1]|0;else a=b[a+52>>1]|0;Xt(c[s>>2]|0,127,(c[w>>2]|0)+(c[n>>2]|0)|0,c[o>>2]|0,a&65535)|0;Lx(c[u>>2]|0,c[p>>2]|0);c[r>>2]=c[q>>2]}c[n>>2]=(c[n>>2]|0)+1;c[q>>2]=c[(c[q>>2]|0)+20>>2]}l=y;return}function JC(a,b,e,f,g,h,i){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;s=u+40|0;v=u+36|0;t=u+32|0;j=u+28|0;k=u+24|0;m=u+20|0;n=u+16|0;o=u+12|0;p=u+8|0;q=u+4|0;r=u;c[s>>2]=a;c[v>>2]=b;c[t>>2]=e;c[j>>2]=f;c[k>>2]=g;c[m>>2]=h;c[n>>2]=i;c[o>>2]=c[t>>2]|0?110:109;c[p>>2]=0;c[q>>2]=c[v>>2];while(1){if(!(c[q>>2]|0))break;if((((d[(c[q>>2]|0)+8>>0]|0|0)==(c[o>>2]|0)?c[k>>2]&(d[(c[q>>2]|0)+9>>0]|0)|0:0)?uD(c[(c[q>>2]|0)+16>>2]|0,c[t>>2]|0)|0:0)?(c[r>>2]=OC(c[s>>2]|0,c[q>>2]|0,c[m>>2]|0,c[n>>2]|0)|0,c[r>>2]|0):0)c[p>>2]=c[p>>2]|c[(c[r>>2]|0)+16+(c[j>>2]<<2)>>2];c[q>>2]=c[(c[q>>2]|0)+32>>2]}l=u;return c[p>>2]|0}function KC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=0;if(!(c[(c[c[f>>2]>>2]|0)+24>>2]&524288)){k=c[h>>2]|0;l=m;return k|0}c[i>>2]=c[(c[g>>2]|0)+16>>2];while(1){if(!(c[i>>2]|0))break;c[j>>2]=0;while(1){a=c[i>>2]|0;if((c[j>>2]|0)>=(c[(c[i>>2]|0)+20>>2]|0))break;if((c[a+36+(c[j>>2]<<3)>>2]|0)>31)a=-1;else a=1<>2]|0)+36+(c[j>>2]<<3)>>2];c[h>>2]=c[h>>2]|a;c[j>>2]=(c[j>>2]|0)+1}c[i>>2]=c[a+4>>2]}c[i>>2]=ov(c[g>>2]|0)|0;while(1){if(!(c[i>>2]|0))break;c[k>>2]=0;Hz(c[f>>2]|0,c[g>>2]|0,c[i>>2]|0,k,0)|0;a:do if(c[k>>2]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(e[(c[k>>2]|0)+50>>1]|0))break a;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1]|0)>31)a=-1;else a=1<>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1];c[h>>2]=c[h>>2]|a;c[j>>2]=(c[j>>2]|0)+1}}while(0);c[i>>2]=c[(c[i>>2]|0)+12>>2]}k=c[h>>2]|0;l=m;return k|0}function LC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;h=r+12|0;i=r+8|0;j=r+4|0;k=r;c[m>>2]=a;c[n>>2]=b;c[o>>2]=d;c[p>>2]=e;c[h>>2]=f;c[i>>2]=g;if(!(c[(c[c[m>>2]>>2]|0)+24>>2]&524288)){l=r;return}c[j>>2]=ov(c[n>>2]|0)|0;while(1){if(!(c[j>>2]|0))break;if(!((c[h>>2]|0)!=0?!(HA(c[n>>2]|0,c[j>>2]|0,c[h>>2]|0,c[i>>2]|0)|0):0))q=6;if((q|0)==6?(q=0,c[k>>2]=MC(c[m>>2]|0,c[n>>2]|0,c[j>>2]|0,c[o>>2]|0)|0,c[k>>2]|0):0)NC(c[m>>2]|0,c[k>>2]|0,c[n>>2]|0,c[p>>2]|0,2,0);c[j>>2]=c[(c[j>>2]|0)+12>>2]}l=r;return}function MC(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;N=l;l=l+144|0;I=N+136|0;D=N+132|0;J=N+128|0;K=N+124|0;L=N+120|0;E=N+116|0;i=N+112|0;F=N+108|0;G=N+104|0;j=N+100|0;k=N+96|0;m=N+92|0;n=N+88|0;H=N+84|0;o=N+80|0;p=N+76|0;q=N+72|0;r=N+68|0;s=N+64|0;t=N+56|0;u=N+48|0;v=N+40|0;w=N+32|0;x=N+28|0;y=N+24|0;z=N+20|0;A=N+16|0;B=N+8|0;C=N;c[D>>2]=e;c[J>>2]=f;c[K>>2]=g;c[L>>2]=h;c[E>>2]=c[c[D>>2]>>2];c[G>>2]=(c[L>>2]|0)!=0&1;c[i>>2]=d[(c[K>>2]|0)+25+(c[G>>2]|0)>>0];if((c[i>>2]|0)==6?c[(c[E>>2]|0)+24>>2]&33554432|0:0){c[I>>2]=0;M=c[I>>2]|0;l=N;return M|0}c[F>>2]=c[(c[K>>2]|0)+28+(c[G>>2]<<2)>>2];if(!((c[i>>2]|0)==0|(c[F>>2]|0)!=0)){c[m>>2]=0;c[n>>2]=0;c[H>>2]=0;c[o>>2]=0;c[p>>2]=0;c[q>>2]=0;c[s>>2]=0;if(Hz(c[D>>2]|0,c[J>>2]|0,c[K>>2]|0,m,n)|0){c[I>>2]=0;M=c[I>>2]|0;l=N;return M|0}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[(c[K>>2]|0)+20>>2]|0))break;c[t>>2]=c[1367];c[t+4>>2]=c[1368];c[u>>2]=c[1369];c[u+4>>2]=c[1370];if(c[n>>2]|0)e=(c[n>>2]|0)+(c[r>>2]<<2)|0;else e=(c[K>>2]|0)+36|0;c[x>>2]=c[e>>2];if(c[m>>2]|0)e=b[(c[(c[m>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;else e=b[(c[J>>2]|0)+32>>1]|0;pw(w,c[(c[(c[J>>2]|0)+4>>2]|0)+(e<<16>>16<<4)>>2]|0);pw(v,c[(c[(c[c[K>>2]>>2]|0)+4>>2]|0)+(c[x>>2]<<4)>>2]|0);g=c[D>>2]|0;f=c[D>>2]|0;h=at(c[E>>2]|0,55,t,0)|0;h=vs(f,122,h,at(c[E>>2]|0,55,w,0)|0,0)|0;c[y>>2]=vs(g,37,h,at(c[E>>2]|0,55,v,0)|0,0)|0;c[o>>2]=Sw(c[E>>2]|0,c[o>>2]|0,c[y>>2]|0)|0;if(c[L>>2]|0){e=c[D>>2]|0;g=c[D>>2]|0;f=at(c[E>>2]|0,55,t,0)|0;f=vs(g,122,f,at(c[E>>2]|0,55,w,0)|0,0)|0;g=c[D>>2]|0;h=at(c[E>>2]|0,55,u,0)|0;c[y>>2]=vs(e,29,f,vs(g,122,h,at(c[E>>2]|0,55,w,0)|0,0)|0,0)|0;c[s>>2]=Sw(c[E>>2]|0,c[s>>2]|0,c[y>>2]|0)|0}if((c[i>>2]|0)!=6?(c[i>>2]|0)!=9|(c[L>>2]|0)!=0:0){do if((c[i>>2]|0)!=9){if((c[i>>2]|0)!=8){c[z>>2]=at(c[E>>2]|0,101,0,0)|0;break}c[A>>2]=c[(c[(c[c[K>>2]>>2]|0)+4>>2]|0)+(c[x>>2]<<4)+4>>2];e=c[E>>2]|0;if(c[A>>2]|0){c[z>>2]=aw(e,c[A>>2]|0,0)|0;break}else{c[z>>2]=at(e,101,0,0)|0;break}}else{g=c[D>>2]|0;h=at(c[E>>2]|0,55,u,0)|0;c[z>>2]=vs(g,122,h,at(c[E>>2]|0,55,w,0)|0,0)|0}while(0);c[p>>2]=Ks(c[D>>2]|0,c[p>>2]|0,c[z>>2]|0)|0;Ls(c[D>>2]|0,c[p>>2]|0,v,0)}c[r>>2]=(c[r>>2]|0)+1}Hd(c[E>>2]|0,c[n>>2]|0);c[j>>2]=c[c[c[K>>2]>>2]>>2];c[k>>2]=_c(c[j>>2]|0)|0;if((c[i>>2]|0)==6){c[B>>2]=c[j>>2];c[B+4>>2]=c[k>>2];c[C>>2]=Ns(c[E>>2]|0,83,21992)|0;if(c[C>>2]|0)a[(c[C>>2]|0)+1>>0]=2;z=c[D>>2]|0;A=Ks(c[D>>2]|0,0,c[C>>2]|0)|0;C=Rs(c[E>>2]|0,0,B,0)|0;c[q>>2]=Js(z,A,C,c[o>>2]|0,0,0,0,0,0,0)|0;c[o>>2]=0}C=(c[E>>2]|0)+256|0;c[C>>2]=(c[C>>2]|0)+1;c[F>>2]=jl(c[E>>2]|0,72+(c[k>>2]|0)+1|0,0)|0;if(c[F>>2]|0?(C=(c[F>>2]|0)+36|0,c[(c[F>>2]|0)+28>>2]=C,c[H>>2]=C,c[(c[H>>2]|0)+12>>2]=(c[H>>2]|0)+36,MR(c[(c[H>>2]|0)+12>>2]|0,c[j>>2]|0,c[k>>2]|0)|0,C=aw(c[E>>2]|0,c[o>>2]|0,1)|0,c[(c[H>>2]|0)+16>>2]=C,C=iw(c[E>>2]|0,c[p>>2]|0,1)|0,c[(c[H>>2]|0)+20>>2]=C,C=qv(c[E>>2]|0,c[q>>2]|0,1)|0,c[(c[H>>2]|0)+8>>2]=C,c[s>>2]|0):0){c[s>>2]=vs(c[D>>2]|0,19,c[s>>2]|0,0,0)|0;D=aw(c[E>>2]|0,c[s>>2]|0,1)|0;c[(c[F>>2]|0)+12>>2]=D}D=(c[E>>2]|0)+256|0;c[D>>2]=(c[D>>2]|0)+-1;ck(c[E>>2]|0,c[o>>2]|0);ck(c[E>>2]|0,c[s>>2]|0);_j(c[E>>2]|0,c[p>>2]|0);Zj(c[E>>2]|0,c[q>>2]|0);if((d[(c[E>>2]|0)+69>>0]|0|0)==1){ik(c[E>>2]|0,c[F>>2]|0);c[I>>2]=0;M=c[I>>2]|0;l=N;return M|0}switch(c[i>>2]|0){case 6:{e=119;f=c[H>>2]|0;break}case 9:{if(c[L>>2]|0)M=41;else{e=109;f=c[H>>2]|0}break}default:M=41}if((M|0)==41){e=110;f=c[H>>2]|0}a[f>>0]=e;c[(c[H>>2]|0)+4>>2]=c[F>>2];c[(c[F>>2]|0)+20>>2]=c[(c[J>>2]|0)+64>>2];c[(c[F>>2]|0)+24>>2]=c[(c[J>>2]|0)+64>>2];c[(c[K>>2]|0)+28+(c[G>>2]<<2)>>2]=c[F>>2];a[(c[F>>2]|0)+8>>0]=c[L>>2]|0?110:109}c[I>>2]=c[F>>2];M=c[I>>2]|0;l=N;return M|0}function NC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;p=l;l=l+48|0;n=p+32|0;h=p+28|0;r=p+24|0;o=p+20|0;q=p+16|0;i=p+12|0;j=p+8|0;k=p+4|0;m=p;c[n>>2]=a;c[h>>2]=b;c[r>>2]=d;c[o>>2]=e;c[q>>2]=f;c[i>>2]=g;c[j>>2]=Rt(c[n>>2]|0)|0;c[k>>2]=OC(c[n>>2]|0,c[h>>2]|0,c[r>>2]|0,c[q>>2]|0)|0;if(!(c[k>>2]|0)){l=p;return}if(c[c[h>>2]>>2]|0)a=0==(c[(c[c[n>>2]>>2]|0)+24>>2]&262144|0);else a=0;c[m>>2]=a&1;h=c[j>>2]|0;o=c[o>>2]|0;q=c[i>>2]|0;n=(c[n>>2]|0)+44|0;r=(c[n>>2]|0)+1|0;c[n>>2]=r;_t(h,64,o,q,r,c[(c[k>>2]|0)+8>>2]|0,-18)|0;px(c[j>>2]|0,c[m>>2]&255);l=p;return}function OC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;a=c[f>>2]|0;if(c[(c[f>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[j>>2]=a;c[k>>2]=c[(c[j>>2]|0)+468>>2];while(1){if(!(c[k>>2]|0))break;if((c[c[k>>2]>>2]|0)==(c[g>>2]|0)?(c[(c[k>>2]|0)+12>>2]|0)==(c[i>>2]|0):0)break;c[k>>2]=c[(c[k>>2]|0)+4>>2]}if(c[k>>2]|0){k=c[k>>2]|0;l=m;return k|0}c[k>>2]=PC(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;k=c[k>>2]|0;l=m;return k|0}function PC(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+96|0;w=x;q=x+84|0;r=x+80|0;s=x+76|0;t=x+72|0;u=x+68|0;v=x+64|0;h=x+60|0;i=x+56|0;j=x+52|0;k=x+48|0;m=x+16|0;n=x+12|0;o=x+8|0;p=x+4|0;c[r>>2]=b;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;b=c[r>>2]|0;if(c[(c[r>>2]|0)+124>>2]|0)b=c[b+124>>2]|0;c[v>>2]=b;c[h>>2]=c[c[r>>2]>>2];c[j>>2]=0;c[n>>2]=0;c[p>>2]=0;c[i>>2]=jl(c[h>>2]|0,24,0)|0;if(!(c[i>>2]|0)){c[q>>2]=0;w=c[q>>2]|0;l=x;return w|0}c[(c[i>>2]|0)+4>>2]=c[(c[v>>2]|0)+468>>2];c[(c[v>>2]|0)+468>>2]=c[i>>2];g=jl(c[h>>2]|0,24,0)|0;c[n>>2]=g;c[(c[i>>2]|0)+8>>2]=g;if(!(c[n>>2]|0)){c[q>>2]=0;w=c[q>>2]|0;l=x;return w|0}QC(c[(c[v>>2]|0)+8>>2]|0,c[n>>2]|0);c[c[i>>2]>>2]=c[s>>2];c[(c[i>>2]|0)+12>>2]=c[u>>2];c[(c[i>>2]|0)+16>>2]=-1;c[(c[i>>2]|0)+16+4>>2]=-1;c[o>>2]=jl(c[h>>2]|0,480,0)|0;if(!(c[o>>2]|0)){c[q>>2]=0;w=c[q>>2]|0;l=x;return w|0};c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[m+20>>2]=0;c[m+24>>2]=0;c[m+28>>2]=0;c[m>>2]=c[o>>2];c[c[o>>2]>>2]=c[h>>2];c[(c[o>>2]|0)+128>>2]=c[t>>2];c[(c[o>>2]|0)+124>>2]=c[v>>2];c[(c[o>>2]|0)+448>>2]=c[c[s>>2]>>2];a[(c[o>>2]|0)+148>>0]=a[(c[s>>2]|0)+8>>0]|0;c[(c[o>>2]|0)+136>>2]=c[(c[r>>2]|0)+136>>2];c[k>>2]=Rt(c[o>>2]|0)|0;if(c[k>>2]|0){g=c[k>>2]|0;t=c[h>>2]|0;c[w>>2]=c[c[s>>2]>>2];$t(g,-1,Bj(t,31395,w)|0,-1);if(c[(c[s>>2]|0)+12>>2]|0){c[j>>2]=aw(c[h>>2]|0,c[(c[s>>2]|0)+12>>2]|0,0)|0;if(0==(Uv(m,c[j>>2]|0)|0)?(d[(c[h>>2]|0)+69>>0]|0|0)==0:0){c[p>>2]=qx(c[k>>2]|0)|0;ty(c[o>>2]|0,c[j>>2]|0,c[p>>2]|0,16)}ck(c[h>>2]|0,c[j>>2]|0)}RC(c[o>>2]|0,c[(c[s>>2]|0)+28>>2]|0,c[u>>2]|0)|0;if(c[p>>2]|0)ux(c[k>>2]|0,c[p>>2]|0);Tt(c[k>>2]|0,75)|0;SC(c[r>>2]|0,c[o>>2]|0);if(!(d[(c[h>>2]|0)+69>>0]|0)){w=TC(c[k>>2]|0,(c[n>>2]|0)+4|0,(c[v>>2]|0)+108|0)|0;c[c[n>>2]>>2]=w}c[(c[n>>2]|0)+8>>2]=c[(c[o>>2]|0)+44>>2];c[(c[n>>2]|0)+12>>2]=c[(c[o>>2]|0)+40>>2];c[(c[n>>2]|0)+16>>2]=c[s>>2];c[(c[i>>2]|0)+16>>2]=c[(c[o>>2]|0)+140>>2];c[(c[i>>2]|0)+16+4>>2]=c[(c[o>>2]|0)+144>>2];Yq(c[k>>2]|0)}Ak(c[o>>2]|0);Hd(c[h>>2]|0,c[o>>2]|0);c[q>>2]=c[i>>2];w=c[q>>2]|0;l=x;return w|0}function QC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[(c[f>>2]|0)+20>>2]=c[(c[e>>2]|0)+200>>2];c[(c[e>>2]|0)+200>>2]=c[f>>2];l=d;return}function RC(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+64|0;h=o+52|0;p=o+48|0;i=o+44|0;j=o+40|0;k=o+36|0;m=o+32|0;n=o+8|0;g=o;c[h>>2]=b;c[p>>2]=e;c[i>>2]=f;c[k>>2]=c[(c[h>>2]|0)+8>>2];c[m>>2]=c[c[h>>2]>>2];c[j>>2]=c[p>>2];while(1){if(!(c[j>>2]|0))break;if((c[i>>2]|0)==10)b=a[(c[j>>2]|0)+1>>0]|0;else b=c[i>>2]&255;a[(c[h>>2]|0)+149>>0]=b;switch(d[c[j>>2]>>0]|0|0){case 110:{e=c[h>>2]|0;f=tD(c[h>>2]|0,c[j>>2]|0)|0;p=iw(c[m>>2]|0,c[(c[j>>2]|0)+20>>2]|0,0)|0;Xs(e,f,p,aw(c[m>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0,d[(c[h>>2]|0)+149>>0]|0);break}case 108:{e=c[h>>2]|0;f=tD(c[h>>2]|0,c[j>>2]|0)|0;p=qv(c[m>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;Zs(e,f,p,cx(c[m>>2]|0,c[(c[j>>2]|0)+24>>2]|0)|0,d[(c[h>>2]|0)+149>>0]|0);break}case 109:{p=c[h>>2]|0;Vs(p,tD(c[h>>2]|0,c[j>>2]|0)|0,aw(c[m>>2]|0,c[(c[j>>2]|0)+16>>2]|0,0)|0);break}default:{c[g>>2]=qv(c[m>>2]|0,c[(c[j>>2]|0)+8>>2]|0,0)|0;Gy(n,4,0);Gs(c[h>>2]|0,c[g>>2]|0,n)|0;Zj(c[m>>2]|0,c[g>>2]|0)}}if((d[c[j>>2]>>0]|0|0)!=119)Tt(c[k>>2]|0,118)|0;c[j>>2]=c[(c[j>>2]|0)+28>>2]}l=o;return 0}function SC(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;a=c[e>>2]|0;if(!(c[(c[d>>2]|0)+36>>2]|0)){c[(c[d>>2]|0)+4>>2]=c[a+4>>2];c[(c[d>>2]|0)+36>>2]=c[(c[e>>2]|0)+36>>2];c[(c[d>>2]|0)+12>>2]=c[(c[e>>2]|0)+12>>2];l=f;return}else{Hd(c[a>>2]|0,c[(c[e>>2]|0)+4>>2]|0);l=f;return}}function TC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;g=f+12|0;h=f+8|0;i=f+4|0;e=f;c[g>>2]=a;c[h>>2]=b;c[i>>2]=d;c[e>>2]=c[(c[g>>2]|0)+88>>2];UC(c[g>>2]|0,c[i>>2]|0);c[c[h>>2]>>2]=c[(c[g>>2]|0)+136>>2];c[(c[g>>2]|0)+88>>2]=0;l=f;return c[e>>2]|0}function UC(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[g>>2]=e;c[h>>2]=f;c[i>>2]=c[c[h>>2]>>2];c[k>>2]=c[(c[g>>2]|0)+12>>2];c[m>>2]=c[(c[k>>2]|0)+76>>2];f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129|128;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257;c[j>>2]=(c[(c[g>>2]|0)+88>>2]|0)+(((c[(c[g>>2]|0)+136>>2]|0)-1|0)*20|0);while(1){if((d[c[j>>2]>>0]|0|0)<=71){switch(d[c[j>>2]>>0]|0|0){case 2:{if(c[(c[j>>2]|0)+8>>2]|0){o=(c[g>>2]|0)+144|0;b[o>>1]=b[o>>1]&-129;o=6}else o=6;break}case 0:case 1:{o=6;break}case 9:case 10:case 8:{f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-129;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256;break}case 12:{if((c[(c[j>>2]|0)+8>>2]|0)>(c[i>>2]|0))c[i>>2]=c[(c[j>>2]|0)+8>>2];break}case 11:{c[n>>2]=c[(c[j>>2]|0)+-20+4>>2];if((c[n>>2]|0)>(c[i>>2]|0))c[i>>2]=c[n>>2];break}case 3:case 5:case 7:{c[(c[j>>2]|0)+16>>2]=195;a[(c[j>>2]|0)+1>>0]=-19;break}case 4:case 6:{c[(c[j>>2]|0)+16>>2]=196;a[(c[j>>2]|0)+1>>0]=-19;break}default:{}}if((o|0)==6){o=0;f=(c[g>>2]|0)+144|0;b[f>>1]=b[f>>1]&-257|256}if((d[29646+(d[c[j>>2]>>0]|0)>>0]|0)&1|0?(c[(c[j>>2]|0)+8>>2]|0)<0:0)c[(c[j>>2]|0)+8>>2]=c[(c[m>>2]|0)+(-1-(c[(c[j>>2]|0)+8>>2]|0)<<2)>>2]}if((c[j>>2]|0)==(c[(c[g>>2]|0)+88>>2]|0))break;c[j>>2]=(c[j>>2]|0)+-20}Hd(c[c[g>>2]>>2]|0,c[(c[k>>2]|0)+76>>2]|0);c[(c[k>>2]|0)+76>>2]=0;c[(c[k>>2]|0)+72>>2]=0;c[c[h>>2]>>2]=c[i>>2];l=p;return}function VC(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[i>>2]=f;c[j>>2]=g;b[(c[i>>2]|0)+16+18>>1]=0;f=(c[i>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;c[c[j>>2]>>2]=0;f=c[i>>2]|0;if((d[(c[i>>2]|0)+66>>0]|0)!=1){c[h>>2]=rD(f,c[j>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}c[k>>2]=c[f+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2];f=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;g=(b[f>>1]|0)+1<<16>>16;b[f>>1]=g;if((g&65535|0)>=(e[(c[k>>2]|0)+18>>1]|0)){k=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;b[k>>1]=(b[k>>1]|0)+-1<<16>>16;c[h>>2]=rD(c[i>>2]|0,c[j>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}if(a[(c[k>>2]|0)+4>>0]|0){c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}else{c[h>>2]=sD(c[i>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}return 0}function WC(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;i=k+4|0;j=k;c[i>>2]=f;c[j>>2]=g;c[c[j>>2]>>2]=0;g=(c[i>>2]|0)+64|0;a[g>>0]=d[g>>0]&-15;b[(c[i>>2]|0)+16+18>>1]=0;if(((d[(c[i>>2]|0)+66>>0]|0)==1?e[(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)>>1]|0:0)?d[(c[(c[i>>2]|0)+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2]|0)+4>>0]|0:0){j=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;b[j>>1]=(b[j>>1]|0)+-1<<16>>16;c[h>>2]=0;j=c[h>>2]|0;l=k;return j|0}c[h>>2]=XC(c[i>>2]|0,c[j>>2]|0)|0;j=c[h>>2]|0;l=k;return j|0}function XC(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;i=p+20|0;j=p+16|0;k=p+12|0;m=p+8|0;n=p+4|0;h=p;c[j>>2]=f;c[k>>2]=g;if((d[(c[j>>2]|0)+66>>0]|0)!=1){if((d[(c[j>>2]|0)+66>>0]|0)>=3)f=YC(c[j>>2]|0)|0;else f=0;c[m>>2]=f;if(c[m>>2]|0){c[i>>2]=c[m>>2];o=c[i>>2]|0;l=p;return o|0}if(!(d[(c[j>>2]|0)+66>>0]|0)){c[c[k>>2]>>2]=1;c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}if(c[(c[j>>2]|0)+60>>2]|0?(a[(c[j>>2]|0)+66>>0]=1,g=(c[(c[j>>2]|0)+60>>2]|0)<0,c[(c[j>>2]|0)+60>>2]=0,g):0){c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}}c[n>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];do if(a[(c[n>>2]|0)+4>>0]|0){while(1){f=c[j>>2]|0;if(e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1]|0)break;g=c[j>>2]|0;if(!(a[f+68>>0]|0)){o=17;break}$C(g)}if((o|0)==17){a[g+66>>0]=0;c[c[k>>2]>>2]=1;c[i>>2]=0;o=c[i>>2]|0;l=p;return o|0}o=f+80+(a[(c[j>>2]|0)+68>>0]<<1)|0;b[o>>1]=(b[o>>1]|0)+-1<<16>>16;c[n>>2]=c[(c[j>>2]|0)+120+(a[(c[j>>2]|0)+68>>0]<<2)>>2];if(d[(c[n>>2]|0)+2>>0]|0?(a[(c[n>>2]|0)+4>>0]|0)==0:0){c[m>>2]=WC(c[j>>2]|0,c[k>>2]|0)|0;break}c[m>>2]=0}else{c[h>>2]=e[(c[j>>2]|0)+80+(a[(c[j>>2]|0)+68>>0]<<1)>>1];o=c[j>>2]|0;c[m>>2]=ZC(o,el((c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]&(d[(c[(c[n>>2]|0)+64>>2]|0)+(c[h>>2]<<1)>>0]<<8|d[(c[(c[n>>2]|0)+64>>2]|0)+(c[h>>2]<<1)+1>>0]))|0)|0)|0;if(!(c[m>>2]|0)){c[m>>2]=_C(c[j>>2]|0)|0;break}c[i>>2]=c[m>>2];o=c[i>>2]|0;l=p;return o|0}while(0);c[i>>2]=c[m>>2];o=c[i>>2]|0;l=p;return o|0}function YC(b){b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[f>>2]=b;b=c[f>>2]|0;if((d[(c[f>>2]|0)+66>>0]|0|0)==4){c[e>>2]=c[b+60>>2];h=c[e>>2]|0;l=i;return h|0}a[b+66>>0]=0;b=(c[f>>2]|0)+40|0;c[g>>2]=bD(c[f>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[b>>2]|0,c[b+4>>2]|0,0,h)|0;if(((c[g>>2]|0)==0?(Kd(c[(c[f>>2]|0)+48>>2]|0),c[(c[f>>2]|0)+48>>2]=0,b=(c[f>>2]|0)+60|0,c[b>>2]=c[b>>2]|c[h>>2],c[(c[f>>2]|0)+60>>2]|0):0)?(d[(c[f>>2]|0)+66>>0]|0|0)==1:0)a[(c[f>>2]|0)+66>>0]=2;c[e>>2]=c[g>>2];h=c[e>>2]|0;l=i;return h|0}function ZC(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[(c[h>>2]|0)+4>>2];if((a[(c[h>>2]|0)+68>>0]|0)>=19){c[g>>2]=um(63009)|0;j=c[g>>2]|0;l=k;return j|0}else{b[(c[h>>2]|0)+16+18>>1]=0;f=(c[h>>2]|0)+64|0;a[f>>0]=d[f>>0]&-7;f=(c[h>>2]|0)+68|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24;b[(c[h>>2]|0)+80+(a[(c[h>>2]|0)+68>>0]<<1)>>1]=0;c[g>>2]=aD(c[j>>2]|0,c[i>>2]|0,(c[h>>2]|0)+120+(a[(c[h>>2]|0)+68>>0]<<2)|0,c[h>>2]|0,d[(c[h>>2]|0)+65>>0]|0)|0;j=c[g>>2]|0;l=k;return j|0}return 0}function _C(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;j=n+16|0;k=n+12|0;h=n+8|0;m=n+4|0;i=n;c[k>>2]=f;c[m>>2]=0;c[i>>2]=0;while(1){f=c[(c[k>>2]|0)+120+(a[(c[k>>2]|0)+68>>0]<<2)>>2]|0;c[i>>2]=f;g=c[i>>2]|0;if(!((a[f+4>>0]|0)!=0^1)){f=5;break}c[h>>2]=el((c[g+56>>2]|0)+((d[(c[i>>2]|0)+5>>0]|0)+8)|0)|0;b[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]=b[(c[i>>2]|0)+18>>1]|0;c[m>>2]=ZC(c[k>>2]|0,c[h>>2]|0)|0;if(c[m>>2]|0){f=4;break}}if((f|0)==4){c[j>>2]=c[m>>2];m=c[j>>2]|0;l=n;return m|0}else if((f|0)==5){b[(c[k>>2]|0)+80+(a[(c[k>>2]|0)+68>>0]<<1)>>1]=(e[g+18>>1]|0)-1;c[j>>2]=0;m=c[j>>2]|0;l=n;return m|0}return 0}function $C(e){e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f;c[h>>2]=e;b[(c[h>>2]|0)+16+18>>1]=0;g=(c[h>>2]|0)+64|0;a[g>>0]=(d[g>>0]|0)&-7;g=(c[h>>2]|0)+120|0;h=(c[h>>2]|0)+68|0;e=a[h>>0]|0;a[h>>0]=e+-1<<24>>24;yp(c[g+(e<<24>>24<<2)>>2]|0);l=f;return}function aD(b,f,g,h,i){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;n=s+28|0;o=s+24|0;p=s+20|0;q=s+16|0;r=s+12|0;j=s+8|0;k=s+4|0;m=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;c[j>>2]=i;i=c[p>>2]|0;a:do if(i>>>0<=($m(c[o>>2]|0)|0)>>>0){c[k>>2]=rm(c[c[o>>2]>>2]|0,c[p>>2]|0,m,c[j>>2]|0)|0;if(!(c[k>>2]|0)){i=Vm(c[m>>2]|0)|0;c[c[q>>2]>>2]=i;if((d[c[c[q>>2]>>2]>>0]|0|0)==0?(xp(c[m>>2]|0,c[p>>2]|0,c[o>>2]|0)|0,c[k>>2]=Bo(c[c[q>>2]>>2]|0)|0,c[k>>2]|0):0){np(c[c[q>>2]>>2]|0);break}do if(c[r>>2]|0){if((e[(c[c[q>>2]>>2]|0)+18>>1]|0|0)>=1?(d[(c[c[q>>2]>>2]|0)+2>>0]|0|0)==(d[(c[r>>2]|0)+69>>0]|0|0):0)break;c[k>>2]=um(60266)|0;np(c[c[q>>2]>>2]|0);break a}while(0);c[n>>2]=0;r=c[n>>2]|0;l=s;return r|0}}else c[k>>2]=um(60244)|0;while(0);if(c[r>>2]|0){r=(c[r>>2]|0)+68|0;a[r>>0]=(a[r>>0]|0)+-1<<24>>24}c[n>>2]=c[k>>2];r=c[n>>2]|0;l=s;return r|0}function bD(a,b,d,f,g,h){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+432|0;o=s+36|0;p=s+32|0;q=s+28|0;r=s;i=s+24|0;j=s+20|0;k=s+16|0;m=s+12|0;n=s+8|0;c[p>>2]=a;c[q>>2]=b;b=r;c[b>>2]=d;c[b+4>>2]=f;c[i>>2]=g;c[j>>2]=h;c[n>>2]=0;if(c[q>>2]|0){c[m>>2]=cD(c[(c[p>>2]|0)+72>>2]|0,s+40|0,384,n)|0;if(!(c[m>>2]|0)){c[o>>2]=7;r=c[o>>2]|0;l=s;return r|0}dD(c[(c[p>>2]|0)+72>>2]|0,c[r>>2]|0,c[q>>2]|0,c[m>>2]|0);if(!(e[(c[m>>2]|0)+8>>1]|0)){Hd(c[(c[(c[p>>2]|0)+72>>2]|0)+12>>2]|0,c[n>>2]|0);c[o>>2]=um(59021)|0;r=c[o>>2]|0;l=s;return r|0}}else c[m>>2]=0;c[k>>2]=eD(c[p>>2]|0,c[m>>2]|0,c[r>>2]|0,c[r+4>>2]|0,c[i>>2]|0,c[j>>2]|0)|0;if(c[n>>2]|0)Hd(c[(c[(c[p>>2]|0)+72>>2]|0)+12>>2]|0,c[n>>2]|0);c[o>>2]=c[k>>2];r=c[o>>2]|0;l=s;return r|0}function cD(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;q=p+16|0;n=p+12|0;o=p+8|0;h=p+4|0;i=p;c[k>>2]=a;c[m>>2]=d;c[q>>2]=f;c[n>>2]=g;c[h>>2]=8-(c[m>>2]&7)&7;c[i>>2]=16+(((e[(c[k>>2]|0)+6>>1]|0)+1|0)*40|0);if((c[i>>2]|0)>((c[q>>2]|0)+(c[h>>2]|0)|0)){q=c[i>>2]|0;c[o>>2]=md(c[(c[k>>2]|0)+12>>2]|0,q,((q|0)<0)<<31>>31)|0;c[c[n>>2]>>2]=c[o>>2];if(!(c[o>>2]|0)){c[j>>2]=0;q=c[j>>2]|0;l=p;return q|0}}else{c[o>>2]=(c[m>>2]|0)+(c[h>>2]|0);c[c[n>>2]>>2]=0}c[(c[o>>2]|0)+4>>2]=(c[o>>2]|0)+16;c[c[o>>2]>>2]=c[k>>2];b[(c[o>>2]|0)+8>>1]=(e[(c[k>>2]|0)+6>>1]|0)+1;c[j>>2]=c[o>>2];q=c[j>>2]|0;l=p;return q|0}function dD(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;u=l;l=l+48|0;o=u+36|0;p=u+32|0;v=u+28|0;t=u+24|0;q=u+20|0;r=u+16|0;j=u+12|0;s=u+40|0;k=u+8|0;m=u+4|0;n=u;c[o>>2]=f;c[p>>2]=g;c[v>>2]=h;c[t>>2]=i;c[q>>2]=c[v>>2];c[m>>2]=c[(c[t>>2]|0)+4>>2];a[(c[t>>2]|0)+10>>0]=0;f=c[q>>2]|0;if((d[c[q>>2]>>0]|0|0)<128){c[k>>2]=d[f>>0];f=1}else f=(lD(f,k)|0)&255;c[j>>2]=f&255;c[r>>2]=c[k>>2];b[s>>1]=0;while(1){if((c[j>>2]|0)>>>0>=(c[k>>2]|0)>>>0){f=11;break}if((c[r>>2]|0)>(c[p>>2]|0)){f=11;break}f=(c[q>>2]|0)+(c[j>>2]|0)|0;if((d[(c[q>>2]|0)+(c[j>>2]|0)>>0]|0|0)<128){c[n>>2]=d[f>>0];f=1}else f=(lD(f,n)|0)&255;c[j>>2]=(c[j>>2]|0)+(f&255);a[(c[m>>2]|0)+10>>0]=a[(c[o>>2]|0)+4>>0]|0;c[(c[m>>2]|0)+32>>2]=c[(c[o>>2]|0)+12>>2];c[(c[m>>2]|0)+24>>2]=0;c[(c[m>>2]|0)+16>>2]=0;v=nD((c[q>>2]|0)+(c[r>>2]|0)|0,c[n>>2]|0,c[m>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+v;c[m>>2]=(c[m>>2]|0)+40;v=(b[s>>1]|0)+1<<16>>16;b[s>>1]=v;if((v&65535|0)>=(e[(c[t>>2]|0)+8>>1]|0|0)){f=11;break}}if((f|0)==11){b[(c[t>>2]|0)+8>>1]=b[s>>1]|0;l=u;return}}function eD(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;F=l;l=l+96|0;B=F+80|0;C=F+76|0;D=F+72|0;E=F+8|0;m=F+68|0;n=F+64|0;o=F+60|0;p=F+56|0;q=F+52|0;r=F+48|0;s=F+44|0;t=F+40|0;u=F+36|0;v=F+32|0;w=F+28|0;x=F;y=F+24|0;z=F+20|0;A=F+16|0;c[C>>2]=f;c[D>>2]=g;g=E;c[g>>2]=h;c[g+4>>2]=i;c[m>>2]=j;c[n>>2]=k;if(((c[D>>2]|0)==0?(d[(c[C>>2]|0)+66>>0]|0)==1:0)?d[(c[C>>2]|0)+64>>0]&2|0:0){j=(c[C>>2]|0)+16|0;k=E;if((c[j>>2]|0)==(c[k>>2]|0)?(c[j+4>>2]|0)==(c[k+4>>2]|0):0){c[c[n>>2]>>2]=0;c[B>>2]=0;E=c[B>>2]|0;l=F;return E|0}if(d[(c[C>>2]|0)+64>>0]&8|0?(j=(c[C>>2]|0)+16|0,h=c[j+4>>2]|0,k=E,i=c[k+4>>2]|0,(h|0)<(i|0)|((h|0)==(i|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)):0){c[c[n>>2]>>2]=-1;c[B>>2]=0;E=c[B>>2]|0;l=F;return E|0}}if(c[D>>2]|0){c[p>>2]=fD(c[D>>2]|0)|0;a[(c[D>>2]|0)+11>>0]=0}else c[p>>2]=0;c[o>>2]=gD(c[C>>2]|0)|0;if(c[o>>2]|0){c[B>>2]=c[o>>2];E=c[B>>2]|0;l=F;return E|0}if(!(d[(c[C>>2]|0)+66>>0]|0)){c[c[n>>2]>>2]=-1;c[B>>2]=0;E=c[B>>2]|0;l=F;return E|0}a:do{c[v>>2]=c[(c[C>>2]|0)+120+(a[(c[C>>2]|0)+68>>0]<<2)>>2];c[q>>2]=0;c[r>>2]=(e[(c[v>>2]|0)+18>>1]|0)-1;c[s>>2]=c[r>>2]>>1-(c[m>>2]|0);b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];b:do if(!(c[p>>2]|0)){while(1){c[w>>2]=(c[(c[v>>2]|0)+68>>2]|0)+(e[(c[v>>2]|0)+20>>1]&(d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)>>0]<<8|d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)+1>>0]));c:do if(a[(c[v>>2]|0)+3>>0]|0)while(1){k=c[w>>2]|0;c[w>>2]=k+1;if(128>(d[k>>0]|0))break c;if((c[w>>2]|0)>>>0>=(c[(c[v>>2]|0)+60>>2]|0)>>>0){h=20;break a}}while(0);Jo(c[w>>2]|0,x)|0;j=x;h=c[j+4>>2]|0;k=E;i=c[k+4>>2]|0;if((h|0)<(i|0)|((h|0)==(i|0)?(c[j>>2]|0)>>>0<(c[k>>2]|0)>>>0:0)){c[q>>2]=(c[s>>2]|0)+1;if((c[q>>2]|0)>(c[r>>2]|0)){h=23;break}}else{j=x;h=c[j+4>>2]|0;k=E;i=c[k+4>>2]|0;if(!((h|0)>(i|0)|((h|0)==(i|0)?(c[j>>2]|0)>>>0>(c[k>>2]|0)>>>0:0))){h=27;break}c[r>>2]=(c[s>>2]|0)-1;if((c[q>>2]|0)>(c[r>>2]|0)){h=26;break}}c[s>>2]=(c[q>>2]|0)+(c[r>>2]|0)>>1}if((h|0)==23){c[t>>2]=-1;h=51;break}else if((h|0)==26){c[t>>2]=1;h=51;break}else if((h|0)==27){h=0;i=(c[C>>2]|0)+64|0;a[i>>0]=d[i>>0]|2;i=x;j=c[i+4>>2]|0;k=(c[C>>2]|0)+16|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];if(a[(c[v>>2]|0)+4>>0]|0){h=29;break a}c[q>>2]=c[s>>2];break}}else while(1){c[w>>2]=(c[(c[v>>2]|0)+68>>2]|0)+(e[(c[v>>2]|0)+20>>1]&(d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)>>0]<<8|d[(c[(c[v>>2]|0)+64>>2]|0)+(c[s>>2]<<1)+1>>0]));c[y>>2]=d[c[w>>2]>>0];do if((c[y>>2]|0)<=(d[(c[v>>2]|0)+7>>0]|0))c[t>>2]=ob[c[p>>2]&255](c[y>>2]|0,(c[w>>2]|0)+1|0,c[D>>2]|0)|0;else{if((d[(c[w>>2]|0)+1>>0]&128|0)==0?(k=((c[y>>2]&127)<<7)+(d[(c[w>>2]|0)+1>>0]|0)|0,c[y>>2]=k,(k|0)<=(e[(c[v>>2]|0)+10>>1]|0)):0){c[t>>2]=ob[c[p>>2]&255](c[y>>2]|0,(c[w>>2]|0)+2|0,c[D>>2]|0)|0;break}c[A>>2]=(c[w>>2]|0)+(0-(d[(c[v>>2]|0)+6>>0]|0));ub[c[(c[v>>2]|0)+80>>2]&255](c[v>>2]|0,c[A>>2]|0,(c[C>>2]|0)+16|0);c[y>>2]=c[(c[C>>2]|0)+16>>2];if((c[y>>2]|0)<2){h=37;break a}k=(c[y>>2]|0)+18|0;c[z>>2]=pd(k,((k|0)<0)<<31>>31)|0;if(!(c[z>>2]|0)){h=39;break a}b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];c[o>>2]=Kp(c[C>>2]|0,0,c[y>>2]|0,c[z>>2]|0,2)|0;if(c[o>>2]|0){h=41;break a}c[t>>2]=ob[c[p>>2]&255](c[y>>2]|0,c[z>>2]|0,c[D>>2]|0)|0;Kd(c[z>>2]|0)}while(0);if((c[t>>2]|0)<0)c[q>>2]=(c[s>>2]|0)+1;else{if((c[t>>2]|0)<=0){h=47;break a}c[r>>2]=(c[s>>2]|0)-1}if((c[q>>2]|0)>(c[r>>2]|0)){h=51;break b}c[s>>2]=(c[q>>2]|0)+(c[r>>2]|0)>>1}while(0);if((h|0)==51?(h=0,a[(c[v>>2]|0)+4>>0]|0):0){h=52;break}f=c[(c[v>>2]|0)+56>>2]|0;g=c[v>>2]|0;if((c[q>>2]|0)>=(e[(c[v>>2]|0)+18>>1]|0))c[u>>2]=el(f+((d[g+5>>0]|0)+8)|0)|0;else c[u>>2]=el(f+(e[g+20>>1]&(d[(c[(c[v>>2]|0)+64>>2]|0)+(c[q>>2]<<1)>>0]<<8|d[(c[(c[v>>2]|0)+64>>2]|0)+(c[q>>2]<<1)+1>>0]))|0)|0;b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[q>>2];c[o>>2]=ZC(c[C>>2]|0,c[u>>2]|0)|0}while(!(c[o>>2]|0));if((h|0)==20){c[B>>2]=um(63387)|0;E=c[B>>2]|0;l=F;return E|0}else if((h|0)==29){c[c[n>>2]>>2]=0;c[o>>2]=0}else if((h|0)==37)c[o>>2]=um(63460)|0;else if((h|0)==39)c[o>>2]=7;else if((h|0)==41)Kd(c[z>>2]|0);else if((h|0)==47){c[c[n>>2]>>2]=0;c[o>>2]=0;b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];if(a[(c[D>>2]|0)+11>>0]|0)c[o>>2]=11}else if((h|0)==52){b[(c[C>>2]|0)+80+(a[(c[C>>2]|0)+68>>0]<<1)>>1]=c[s>>2];c[c[n>>2]>>2]=c[t>>2];c[o>>2]=0}b[(c[C>>2]|0)+16+18>>1]=0;E=(c[C>>2]|0)+64|0;a[E>>0]=d[E>>0]&-7;c[B>>2]=c[o>>2];E=c[B>>2]|0;l=F;return E|0}function fD(b){b=b|0;var d=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=b;if(((e[(c[c[g>>2]>>2]|0)+6>>1]|0)+(e[(c[c[g>>2]>>2]|0)+8>>1]|0)|0)<=13){c[h>>2]=e[(c[(c[g>>2]|0)+4>>2]|0)+8>>1];b=(c[g>>2]|0)+12|0;if(a[c[(c[c[g>>2]>>2]|0)+16>>2]>>0]|0){a[b>>0]=1;b=-1;d=c[g>>2]|0}else{a[b>>0]=-1;b=1;d=c[g>>2]|0}a[d+13>>0]=b;if(c[h>>2]&4|0){c[f>>2]=153;h=c[f>>2]|0;l=i;return h|0}if((c[h>>2]&25|0)==0?(c[(c[c[g>>2]>>2]|0)+20>>2]|0)==0:0){c[f>>2]=154;h=c[f>>2]|0;l=i;return h|0}}c[f>>2]=155;h=c[f>>2]|0;l=i;return h|0}function gD(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=f;c[j>>2]=0;do if((d[(c[h>>2]|0)+66>>0]|0)>=3){f=c[h>>2]|0;if((d[(c[h>>2]|0)+66>>0]|0)!=4){Kq(f);break}c[g>>2]=c[f+60>>2];k=c[g>>2]|0;l=m;return k|0}while(0);a:do if((a[(c[h>>2]|0)+68>>0]|0)>=0)while(1){if(!(a[(c[h>>2]|0)+68>>0]|0))break a;n=(c[h>>2]|0)+120|0;o=(c[h>>2]|0)+68|0;f=a[o>>0]|0;a[o>>0]=f+-1<<24>>24;yp(c[n+(f<<24>>24<<2)>>2]|0)}else{f=c[h>>2]|0;if(!(c[(c[h>>2]|0)+52>>2]|0)){a[f+66>>0]=0;c[g>>2]=0;o=c[g>>2]|0;l=m;return o|0}c[j>>2]=aD(c[(c[f>>2]|0)+4>>2]|0,c[(c[h>>2]|0)+52>>2]|0,(c[h>>2]|0)+120|0,0,d[(c[h>>2]|0)+65>>0]|0)|0;f=c[h>>2]|0;if(!(c[j>>2]|0)){a[f+68>>0]=0;a[(c[h>>2]|0)+69>>0]=a[(c[(c[h>>2]|0)+120>>2]|0)+2>>0]|0;break}a[f+66>>0]=0;c[g>>2]=c[j>>2];o=c[g>>2]|0;l=m;return o|0}while(0);c[i>>2]=c[(c[h>>2]|0)+120>>2];if(d[c[i>>2]>>0]|0?((c[(c[h>>2]|0)+72>>2]|0)==0|0)==(d[(c[i>>2]|0)+2>>0]|0):0){b[(c[h>>2]|0)+80>>1]=0;b[(c[h>>2]|0)+16+18>>1]=0;o=(c[h>>2]|0)+64|0;a[o>>0]=d[o>>0]&-15;do if((e[(c[i>>2]|0)+18>>1]|0)>0)a[(c[h>>2]|0)+66>>0]=1;else{if(a[(c[i>>2]|0)+4>>0]|0){a[(c[h>>2]|0)+66>>0]=0;break}if((c[(c[i>>2]|0)+84>>2]|0)==1){c[k>>2]=el((c[(c[i>>2]|0)+56>>2]|0)+((d[(c[i>>2]|0)+5>>0]|0)+8)|0)|0;a[(c[h>>2]|0)+66>>0]=1;c[j>>2]=ZC(c[h>>2]|0,c[k>>2]|0)|0;break}c[g>>2]=um(63147)|0;o=c[g>>2]|0;l=m;return o|0}while(0);c[g>>2]=c[j>>2];o=c[g>>2]|0;l=m;return o|0}c[g>>2]=um(63136)|0;o=c[g>>2]|0;l=m;return o|0}function hD(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+64|0;n=s+52|0;o=s+48|0;p=s+44|0;q=s+40|0;m=s+36|0;t=s+32|0;r=s+28|0;h=s+24|0;i=s+16|0;j=s+8|0;k=s;c[o>>2]=b;c[p>>2]=f;c[q>>2]=g;c[m>>2]=(c[p>>2]|0)+(d[c[p>>2]>>0]&63);c[t>>2]=d[(c[p>>2]|0)+1>>0];do switch(c[t>>2]|0){case 1:{m=a[c[m>>2]>>0]|0;t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 2:{m=a[c[m>>2]>>0]<<8|d[(c[m>>2]|0)+1>>0];t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 3:{m=a[c[m>>2]>>0]<<16|d[(c[m>>2]|0)+1>>0]<<8|d[(c[m>>2]|0)+2>>0];t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 4:{c[h>>2]=d[c[m>>2]>>0]<<24|d[(c[m>>2]|0)+1>>0]<<16|d[(c[m>>2]|0)+2>>0]<<8|d[(c[m>>2]|0)+3>>0];m=c[h>>2]|0;t=k;c[t>>2]=m;c[t+4>>2]=((m|0)<0)<<31>>31;break}case 5:{g=a[c[m>>2]>>0]<<8|d[(c[m>>2]|0)+1>>0];t=k;c[t>>2]=IR(d[(c[m>>2]|0)+2>>0]<<24|d[(c[m>>2]|0)+2+1>>0]<<16|d[(c[m>>2]|0)+2+2>>0]<<8|d[(c[m>>2]|0)+2+3>>0]|0,0,RR(0,1,g|0,((g|0)<0)<<31>>31|0)|0,z|0)|0;c[t+4>>2]=z;break}case 6:{t=i;c[t>>2]=d[c[m>>2]>>0]<<24|d[(c[m>>2]|0)+1>>0]<<16|d[(c[m>>2]|0)+2>>0]<<8|d[(c[m>>2]|0)+3>>0];c[t+4>>2]=0;t=c[i>>2]|0;g=i;c[g>>2]=d[(c[m>>2]|0)+4>>0]<<24|d[(c[m>>2]|0)+4+1>>0]<<16|d[(c[m>>2]|0)+4+2>>0]<<8|d[(c[m>>2]|0)+4+3>>0];c[g+4>>2]=t;g=i;m=c[g+4>>2]|0;t=k;c[t>>2]=c[g>>2];c[t+4>>2]=m;break}case 8:{t=k;c[t>>2]=0;c[t+4>>2]=0;break}case 9:{t=k;c[t>>2]=1;c[t+4>>2]=0;break}case 7:case 0:{c[n>>2]=jD(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;l=s;return t|0}default:{c[n>>2]=jD(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;t=c[n>>2]|0;l=s;return t|0}}while(0);t=c[(c[q>>2]|0)+4>>2]|0;i=c[t+4>>2]|0;m=j;c[m>>2]=c[t>>2];c[m+4>>2]=i;m=j;i=c[m+4>>2]|0;t=k;g=c[t+4>>2]|0;do if(!((i|0)>(g|0)|((i|0)==(g|0)?(c[m>>2]|0)>>>0>(c[t>>2]|0)>>>0:0))){m=j;j=c[m+4>>2]|0;t=k;g=c[t+4>>2]|0;b=c[q>>2]|0;if((j|0)<(g|0)|((j|0)==(g|0)?(c[m>>2]|0)>>>0<(c[t>>2]|0)>>>0:0)){c[r>>2]=a[b+13>>0];break}if((e[b+8>>1]|0)>1){c[r>>2]=kD(c[o>>2]|0,c[p>>2]|0,c[q>>2]|0,1)|0;break}else{c[r>>2]=a[(c[q>>2]|0)+10>>0];a[(c[q>>2]|0)+14>>0]=1;break}}else c[r>>2]=a[(c[q>>2]|0)+12>>0];while(0);c[n>>2]=c[r>>2];t=c[n>>2]|0;l=s;return t|0}function iD(b,f,g){b=b|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;q=s+36|0;m=s+32|0;n=s+28|0;o=s+24|0;p=s+20|0;h=s+16|0;r=s+12|0;i=s+8|0;j=s+4|0;k=s;c[m>>2]=b;c[n>>2]=f;c[o>>2]=g;c[p>>2]=c[n>>2];b=(c[p>>2]|0)+1|0;if((d[(c[p>>2]|0)+1>>0]|0)<128)c[h>>2]=d[b>>0];else lD(b,h)|0;do if((c[h>>2]|0)>=12){if(!(c[h>>2]&1)){c[r>>2]=a[(c[o>>2]|0)+13>>0];break}c[k>>2]=d[c[p>>2]>>0];c[j>>2]=((c[h>>2]|0)-12|0)/2|0;if(((c[k>>2]|0)+(c[j>>2]|0)|0)>(c[m>>2]|0)){r=(um(74742)|0)&255;a[(c[o>>2]|0)+11>>0]=r;c[q>>2]=0;r=c[q>>2]|0;l=s;return r|0}if((c[(c[(c[o>>2]|0)+4>>2]|0)+12>>2]|0)<(c[j>>2]|0))b=c[(c[(c[o>>2]|0)+4>>2]|0)+12>>2]|0;else b=c[j>>2]|0;c[i>>2]=b;c[r>>2]=wQ((c[p>>2]|0)+(c[k>>2]|0)|0,c[(c[(c[o>>2]|0)+4>>2]|0)+16>>2]|0,c[i>>2]|0)|0;if(c[r>>2]|0){b=c[o>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}c[r>>2]=(c[j>>2]|0)-(c[(c[(c[o>>2]|0)+4>>2]|0)+12>>2]|0);if(!(c[r>>2]|0))if((e[(c[o>>2]|0)+8>>1]|0)>1){c[r>>2]=kD(c[m>>2]|0,c[n>>2]|0,c[o>>2]|0,1)|0;break}else{c[r>>2]=a[(c[o>>2]|0)+10>>0];a[(c[o>>2]|0)+14>>0]=1;break}else{b=c[o>>2]|0;if((c[r>>2]|0)>0){c[r>>2]=a[b+13>>0];break}else{c[r>>2]=a[b+12>>0];break}}}else c[r>>2]=a[(c[o>>2]|0)+12>>0];while(0);c[q>>2]=c[r>>2];r=c[q>>2]|0;l=s;return r|0}function jD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+8|0;g=e+4|0;f=e;c[h>>2]=a;c[g>>2]=b;c[f>>2]=d;d=kD(c[h>>2]|0,c[g>>2]|0,c[f>>2]|0,0)|0;l=e;return d|0}function kD(f,g,i,j){f=f|0;g=g|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;F=l;l=l+128|0;D=F+124|0;x=F+120|0;H=F+116|0;E=F+112|0;G=F+108|0;y=F+104|0;A=F+100|0;m=F+96|0;n=F+92|0;B=F+88|0;o=F+84|0;C=F+80|0;p=F+76|0;q=F+16|0;k=F+72|0;r=F+68|0;s=F+8|0;t=F;u=F+64|0;v=F+60|0;w=F+56|0;c[x>>2]=f;c[H>>2]=g;c[E>>2]=i;c[G>>2]=j;c[B>>2]=0;c[o>>2]=c[(c[E>>2]|0)+4>>2];c[C>>2]=c[c[E>>2]>>2];c[p>>2]=c[H>>2];g=c[p>>2]|0;do if(c[G>>2]|0){f=(c[p>>2]|0)+1|0;if((d[g+1>>0]|0)<128){c[k>>2]=d[f>>0];f=1}else f=(lD(f,k)|0)&255;c[n>>2]=1+(f&255);c[m>>2]=d[c[p>>2]>>0];H=c[m>>2]|0;c[y>>2]=H+(mD(c[k>>2]|0)|0);c[A>>2]=1;c[o>>2]=(c[o>>2]|0)+40}else{f=c[p>>2]|0;if((d[g>>0]|0)<128){c[m>>2]=d[f>>0];f=1}else f=(lD(f,m)|0)&255;c[n>>2]=f&255;c[y>>2]=c[m>>2];if((c[y>>2]|0)>>>0<=(c[x>>2]|0)>>>0){c[A>>2]=0;break}H=(um(74452)|0)&255;a[(c[E>>2]|0)+11>>0]=H;c[D>>2]=0;H=c[D>>2]|0;l=F;return H|0}while(0);a:while(1){do if(e[(c[o>>2]|0)+8>>1]&4|0){c[r>>2]=d[(c[p>>2]|0)+(c[n>>2]|0)>>0];if((c[r>>2]|0)>>>0>=10){c[B>>2]=1;break}if(!(c[r>>2]|0)){c[B>>2]=-1;break}if((c[r>>2]|0)==7){nD((c[p>>2]|0)+(c[y>>2]|0)|0,c[r>>2]|0,q)|0;H=c[o>>2]|0;c[B>>2]=0-(Mi(c[H>>2]|0,c[H+4>>2]|0,+h[q>>3])|0);break}j=oD(c[r>>2]|0,(c[p>>2]|0)+(c[y>>2]|0)|0)|0;H=s;c[H>>2]=j;c[H+4>>2]=z;H=c[o>>2]|0;j=c[H+4>>2]|0;G=t;c[G>>2]=c[H>>2];c[G+4>>2]=j;G=s;j=c[G+4>>2]|0;H=t;k=c[H+4>>2]|0;if((j|0)<(k|0)|((j|0)==(k|0)?(c[G>>2]|0)>>>0<(c[H>>2]|0)>>>0:0)){c[B>>2]=-1;break}G=s;j=c[G+4>>2]|0;H=t;k=c[H+4>>2]|0;if((j|0)>(k|0)|((j|0)==(k|0)?(c[G>>2]|0)>>>0>(c[H>>2]|0)>>>0:0))c[B>>2]=1}else{if(e[(c[o>>2]|0)+8>>1]&8|0){c[r>>2]=d[(c[p>>2]|0)+(c[n>>2]|0)>>0];if((c[r>>2]|0)>>>0>=10){c[B>>2]=1;break}if(!(c[r>>2]|0)){c[B>>2]=-1;break}nD((c[p>>2]|0)+(c[y>>2]|0)|0,c[r>>2]|0,q)|0;if((c[r>>2]|0)!=7){H=q;c[B>>2]=Mi(c[H>>2]|0,c[H+4>>2]|0,+h[c[o>>2]>>3])|0;break}if(+h[q>>3]<+h[c[o>>2]>>3]){c[B>>2]=-1;break}if(!(+h[q>>3]>+h[c[o>>2]>>3]))break;c[B>>2]=1;break}if(e[(c[o>>2]|0)+8>>1]&2|0){f=(c[p>>2]|0)+(c[n>>2]|0)|0;if((d[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0)<128)c[r>>2]=d[f>>0];else lD(f,r)|0;if((c[r>>2]|0)>>>0<12){c[B>>2]=-1;break}if(!(c[r>>2]&1)){c[B>>2]=1;break}c[q+12>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[y>>2]|0)+(c[q+12>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0){f=43;break a}if(c[(c[C>>2]|0)+20+(c[A>>2]<<2)>>2]|0){a[q+10>>0]=a[(c[C>>2]|0)+4>>0]|0;c[q+32>>2]=c[(c[C>>2]|0)+12>>2];b[q+8>>1]=2;c[q+16>>2]=(c[p>>2]|0)+(c[y>>2]|0);c[B>>2]=Ni(q,c[o>>2]|0,c[(c[C>>2]|0)+20+(c[A>>2]<<2)>>2]|0,(c[E>>2]|0)+11|0)|0;break}c[u>>2]=c[((c[q+12>>2]|0)<(c[(c[o>>2]|0)+12>>2]|0)?q:c[o>>2]|0)+12>>2];c[B>>2]=wQ((c[p>>2]|0)+(c[y>>2]|0)|0,c[(c[o>>2]|0)+16>>2]|0,c[u>>2]|0)|0;if(c[B>>2]|0)break;c[B>>2]=(c[q+12>>2]|0)-(c[(c[o>>2]|0)+12>>2]|0);break}f=d[(c[p>>2]|0)+(c[n>>2]|0)>>0]|0;if(!(e[(c[o>>2]|0)+8>>1]&16)){c[r>>2]=f;c[B>>2]=(c[r>>2]|0)!=0&1;break}g=(c[p>>2]|0)+(c[n>>2]|0)|0;if((f|0)<128)c[r>>2]=d[g>>0];else lD(g,r)|0;if((c[r>>2]|0)>>>0>=12?(c[r>>2]&1|0)==0:0){c[v>>2]=(((c[r>>2]|0)-12|0)>>>0)/2|0;if(((c[y>>2]|0)+(c[v>>2]|0)|0)>>>0>(c[x>>2]|0)>>>0){f=56;break a}if(e[(c[o>>2]|0)+8>>1]&16384|0)if(Pi((c[p>>2]|0)+(c[y>>2]|0)|0,c[v>>2]|0)|0){c[B>>2]=(c[v>>2]|0)-(c[c[o>>2]>>2]|0);break}else{c[B>>2]=1;break}if((c[v>>2]|0)<(c[(c[o>>2]|0)+12>>2]|0))f=c[v>>2]|0;else f=c[(c[o>>2]|0)+12>>2]|0;c[w>>2]=f;c[B>>2]=wQ((c[p>>2]|0)+(c[y>>2]|0)|0,c[(c[o>>2]|0)+16>>2]|0,c[w>>2]|0)|0;if(c[B>>2]|0)break;c[B>>2]=(c[v>>2]|0)-(c[(c[o>>2]|0)+12>>2]|0);break}c[B>>2]=-1}while(0);if(c[B>>2]|0){f=68;break}c[A>>2]=(c[A>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+40;H=mD(c[r>>2]|0)|0;c[y>>2]=(c[y>>2]|0)+H;H=pD(c[r>>2]|0,0)|0;c[n>>2]=(c[n>>2]|0)+H;if((c[n>>2]|0)>>>0>=(c[m>>2]|0)>>>0){f=74;break}if((c[A>>2]|0)>=(e[(c[E>>2]|0)+8>>1]|0)){f=74;break}if((c[y>>2]|0)>>>0>(c[x>>2]|0)>>>0){f=74;break}}if((f|0)==43){H=(um(74527)|0)&255;a[(c[E>>2]|0)+11>>0]=H;c[D>>2]=0;H=c[D>>2]|0;l=F;return H|0}else if((f|0)==56){H=(um(74557)|0)&255;a[(c[E>>2]|0)+11>>0]=H;c[D>>2]=0;H=c[D>>2]|0;l=F;return H|0}else if((f|0)==68){if(a[(c[(c[C>>2]|0)+16>>2]|0)+(c[A>>2]|0)>>0]|0)c[B>>2]=0-(c[B>>2]|0);c[D>>2]=c[B>>2];H=c[D>>2]|0;l=F;return H|0}else if((f|0)==74){a[(c[E>>2]|0)+14>>0]=1;c[D>>2]=a[(c[E>>2]|0)+10>>0];H=c[D>>2]|0;l=F;return H|0}return 0}function lD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+25|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n;m=n+24|0;c[g>>2]=b;c[h>>2]=e;c[i>>2]=d[c[g>>2]>>0];c[g>>2]=(c[g>>2]|0)+1;c[j>>2]=d[c[g>>2]>>0];if(!(c[j>>2]&128)){c[i>>2]=c[i>>2]&127;c[i>>2]=c[i>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];a[f>>0]=2;m=a[f>>0]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+1;c[i>>2]=c[i>>2]<<14;c[i>>2]=c[i>>2]|(d[c[g>>2]>>0]|0);if(!(c[i>>2]&128)){c[i>>2]=c[i>>2]&2080895;c[j>>2]=c[j>>2]&127;c[j>>2]=c[j>>2]<<7;c[c[h>>2]>>2]=c[i>>2]|c[j>>2];a[f>>0]=3;m=a[f>>0]|0;l=n;return m|0}c[g>>2]=(c[g>>2]|0)+-2;a[m>>0]=Jo(c[g>>2]|0,k)|0;j=k;if(0!=(c[j+4>>2]|0)?1:(c[k>>2]|0)!=(c[j>>2]|0))c[c[h>>2]>>2]=-1;else c[c[h>>2]>>2]=c[k>>2];a[f>>0]=a[m>>0]|0;m=a[f>>0]|0;l=n;return m|0}function mD(a){a=a|0;var b=0,e=0,f=0;e=l;l=l+16|0;b=e+4|0;f=e;c[f>>2]=a;a=c[f>>2]|0;if((c[f>>2]|0)>>>0>=128){c[b>>2]=((a-12|0)>>>0)/2|0;f=c[b>>2]|0;l=e;return f|0}else{c[b>>2]=d[31409+a>>0];f=c[b>>2]|0;l=e;return f|0}return 0}function nD(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[i>>2]=e;c[j>>2]=f;c[k>>2]=g;switch(c[j>>2]|0){case 0:case 11:case 10:{b[(c[k>>2]|0)+8>>1]=1;c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}case 1:{i=a[c[i>>2]>>0]|0;j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=1;k=c[h>>2]|0;l=m;return k|0}case 2:{i=a[c[i>>2]>>0]<<8|d[(c[i>>2]|0)+1>>0];j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=2;k=c[h>>2]|0;l=m;return k|0}case 3:{i=a[c[i>>2]>>0]<<16|d[(c[i>>2]|0)+1>>0]<<8|d[(c[i>>2]|0)+2>>0];j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=3;k=c[h>>2]|0;l=m;return k|0}case 4:{i=a[c[i>>2]>>0]<<24|d[(c[i>>2]|0)+1>>0]<<16|d[(c[i>>2]|0)+2>>0]<<8|d[(c[i>>2]|0)+3>>0];j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=4;k=c[h>>2]|0;l=m;return k|0}case 5:{j=d[(c[i>>2]|0)+2>>0]<<24|d[(c[i>>2]|0)+2+1>>0]<<16|d[(c[i>>2]|0)+2+2>>0]<<8|d[(c[i>>2]|0)+2+3>>0];i=a[c[i>>2]>>0]<<8|d[(c[i>>2]|0)+1>>0];i=IR(j|0,0,RR(0,1,i|0,((i|0)<0)<<31>>31|0)|0,z|0)|0;j=c[k>>2]|0;c[j>>2]=i;c[j+4>>2]=z;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=6;k=c[h>>2]|0;l=m;return k|0}case 7:case 6:{c[h>>2]=qD(c[i>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;k=c[h>>2]|0;l=m;return k|0}case 9:case 8:{i=c[k>>2]|0;c[i>>2]=(c[j>>2]|0)-8;c[i+4>>2]=0;b[(c[k>>2]|0)+8>>1]=4;c[h>>2]=0;k=c[h>>2]|0;l=m;return k|0}default:{c[(c[k>>2]|0)+16>>2]=c[i>>2];c[(c[k>>2]|0)+12>>2]=(((c[j>>2]|0)-12|0)>>>0)/2|0;b[(c[k>>2]|0)+8>>1]=b[12946+((c[j>>2]&1)<<1)>>1]|0;c[h>>2]=c[(c[k>>2]|0)+12>>2];k=c[h>>2]|0;l=m;return k|0}}return 0}function oD(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+8|0;g=k+24|0;h=k+20|0;i=k+16|0;j=k;c[g>>2]=b;c[h>>2]=e;switch(c[g>>2]|0){case 1:case 0:{i=a[c[h>>2]>>0]|0;j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 2:{i=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 3:{i=a[c[h>>2]>>0]<<16|d[(c[h>>2]|0)+1>>0]<<8|d[(c[h>>2]|0)+2>>0];j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 4:{c[i>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];i=c[i>>2]|0;j=f;c[j>>2]=i;c[j+4>>2]=((i|0)<0)<<31>>31;break}case 5:{g=d[(c[h>>2]|0)+2>>0]<<24|d[(c[h>>2]|0)+2+1>>0]<<16|d[(c[h>>2]|0)+2+2>>0]<<8|d[(c[h>>2]|0)+2+3>>0];i=a[c[h>>2]>>0]<<8|d[(c[h>>2]|0)+1>>0];j=f;c[j>>2]=IR(g|0,0,RR(0,1,i|0,((i|0)<0)<<31>>31|0)|0,z|0)|0;c[j+4>>2]=z;break}case 6:{g=j;c[g>>2]=d[c[h>>2]>>0]<<24|d[(c[h>>2]|0)+1>>0]<<16|d[(c[h>>2]|0)+2>>0]<<8|d[(c[h>>2]|0)+3>>0];c[g+4>>2]=0;g=c[j>>2]|0;i=j;c[i>>2]=d[(c[h>>2]|0)+4>>0]<<24|d[(c[h>>2]|0)+4+1>>0]<<16|d[(c[h>>2]|0)+4+2>>0]<<8|d[(c[h>>2]|0)+4+3>>0];c[i+4>>2]=g;h=j;i=c[h+4>>2]|0;j=f;c[j>>2]=c[h>>2];c[j+4>>2]=i;break}default:{j=f;c[j>>2]=(c[g>>2]|0)-8;c[j+4>>2]=0}}j=f;z=c[j+4>>2]|0;l=k;return c[j>>2]|0}function pD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f;e=f+8|0;g=d;c[g>>2]=a;c[g+4>>2]=b;c[e>>2]=1;while(1){b=d;b=OR(c[b>>2]|0,c[b+4>>2]|0,7)|0;g=z;a=d;c[a>>2]=b;c[a+4>>2]=g;a=c[e>>2]|0;if(!((b|0)!=0|(g|0)!=0))break;c[e>>2]=a+1}l=f;return a|0}function qD(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;n=j+20|0;k=j+16|0;g=j+12|0;i=j;m=j+8|0;c[n>>2]=a;c[k>>2]=e;c[g>>2]=f;e=i;c[e>>2]=(d[c[n>>2]>>0]|0)<<24|(d[(c[n>>2]|0)+1>>0]|0)<<16|(d[(c[n>>2]|0)+2>>0]|0)<<8|(d[(c[n>>2]|0)+3>>0]|0);c[e+4>>2]=0;c[m>>2]=(d[(c[n>>2]|0)+4>>0]|0)<<24|(d[(c[n>>2]|0)+4+1>>0]|0)<<16|(d[(c[n>>2]|0)+4+2>>0]|0)<<8|(d[(c[n>>2]|0)+4+3>>0]|0);e=IR(0,c[i>>2]|0,c[m>>2]|0,0)|0;f=i;c[f>>2]=e;c[f+4>>2]=z;if((c[k>>2]|0)==6){k=i;n=c[k+4>>2]|0;m=c[g>>2]|0;c[m>>2]=c[k>>2];c[m+4>>2]=n;m=4;n=c[g>>2]|0;n=n+8|0;b[n>>1]=m;l=j;return 8}else{m=c[g>>2]|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2];m=(Cd(+h[c[g>>2]>>3])|0)!=0;m=(m?1:8)&65535;n=c[g>>2]|0;n=n+8|0;b[n>>1]=m;l=j;return 8}return 0}function rD(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[i>>2]=f;c[j>>2]=g;if((d[(c[i>>2]|0)+66>>0]|0)!=1){if((d[(c[i>>2]|0)+66>>0]|0)>=3)f=YC(c[i>>2]|0)|0;else f=0;c[k>>2]=f;if(c[k>>2]|0){c[h>>2]=c[k>>2];o=c[h>>2]|0;l=p;return o|0}if(!(d[(c[i>>2]|0)+66>>0]|0)){c[c[j>>2]>>2]=1;c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}if(c[(c[i>>2]|0)+60>>2]|0?(a[(c[i>>2]|0)+66>>0]=1,g=(c[(c[i>>2]|0)+60>>2]|0)>0,c[(c[i>>2]|0)+60>>2]=0,g):0){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}}c[n>>2]=c[(c[i>>2]|0)+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2];g=(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)|0;f=(b[g>>1]|0)+1<<16>>16;b[g>>1]=f;c[m>>2]=f&65535;f=(a[(c[n>>2]|0)+4>>0]|0)!=0;if((c[m>>2]|0)<(e[(c[n>>2]|0)+18>>1]|0))if(f){c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}else{c[h>>2]=sD(c[i>>2]|0)|0;o=c[h>>2]|0;l=p;return o|0}if(!f){o=c[i>>2]|0;c[k>>2]=ZC(o,el((c[(c[n>>2]|0)+56>>2]|0)+((d[(c[n>>2]|0)+5>>0]|0)+8)|0)|0)|0;if(c[k>>2]|0){c[h>>2]=c[k>>2];o=c[h>>2]|0;l=p;return o|0}else{c[h>>2]=sD(c[i>>2]|0)|0;o=c[h>>2]|0;l=p;return o|0}}do{if(!(a[(c[i>>2]|0)+68>>0]|0)){o=17;break}$C(c[i>>2]|0);c[n>>2]=c[(c[i>>2]|0)+120+(a[(c[i>>2]|0)+68>>0]<<2)>>2]}while((e[(c[i>>2]|0)+80+(a[(c[i>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[n>>2]|0)+18>>1]|0));if((o|0)==17){c[c[j>>2]>>2]=1;a[(c[i>>2]|0)+66>>0]=0;c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}if(a[(c[n>>2]|0)+2>>0]|0){c[h>>2]=VC(c[i>>2]|0,c[j>>2]|0)|0;o=c[h>>2]|0;l=p;return o|0}else{c[h>>2]=0;o=c[h>>2]|0;l=p;return o|0}return 0}function sD(b){b=b|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;i=j+4|0;h=j;c[f>>2]=b;c[i>>2]=0;while(1){if(c[i>>2]|0){b=5;break}b=c[(c[f>>2]|0)+120+(a[(c[f>>2]|0)+68>>0]<<2)>>2]|0;c[h>>2]=b;if(!((a[b+4>>0]|0)!=0^1)){b=5;break}c[g>>2]=el((c[(c[h>>2]|0)+56>>2]|0)+(e[(c[h>>2]|0)+20>>1]&(d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)>>0]<<8|d[(c[(c[h>>2]|0)+64>>2]|0)+(e[(c[f>>2]|0)+80+(a[(c[f>>2]|0)+68>>0]<<1)>>1]<<1)+1>>0]))|0)|0;c[i>>2]=ZC(c[f>>2]|0,c[g>>2]|0)|0}if((b|0)==5){l=j;return c[i>>2]|0}return 0}function tD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[c[j>>2]>>2];c[g>>2]=Rs(c[e>>2]|0,0,0,0)|0;if(!(c[g>>2]|0)){j=c[g>>2]|0;l=i;return j|0}j=go(c[e>>2]|0,c[(c[d>>2]|0)+12>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+8>>2]=j;c[f>>2]=Nt(c[e>>2]|0,c[(c[(c[d>>2]|0)+4>>2]|0)+20>>2]|0)|0;if(!((c[f>>2]|0)==0|(c[f>>2]|0)>=2)){j=c[g>>2]|0;l=i;return j|0}c[h>>2]=c[(c[(c[e>>2]|0)+16>>2]|0)+(c[f>>2]<<4)>>2];j=go(c[e>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0)+4>>2]=j;j=c[g>>2]|0;l=i;return j|0}function uD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;g=h+12|0;d=h+8|0;e=h+4|0;f=h;c[d>>2]=a;c[e>>2]=b;if((c[d>>2]|0)==0|(c[e>>2]|0)==0){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0)){a=8;break}if((Ow(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)+4>>2]|0)|0)>=0){a=6;break}c[f>>2]=(c[f>>2]|0)+1}if((a|0)==6){c[g>>2]=1;g=c[g>>2]|0;l=h;return g|0}else if((a|0)==8){c[g>>2]=0;g=c[g>>2]|0;l=h;return g|0}return 0}function vD(e,f){e=e|0;f=f|0;var g=0,h=0,i=0;i=l;l=l+16|0;h=i+4|0;g=i;c[h>>2]=e;c[g>>2]=f;if((d[c[g>>2]>>0]|0)!=152){l=i;return 0}e=c[h>>2]|0;do if((b[(c[g>>2]|0)+32>>1]|0)>=0)if((c[(c[e+24>>2]|0)+(b[(c[g>>2]|0)+32>>1]<<2)>>2]|0)>=0){f=1;e=c[h>>2]|0;break}else{l=i;return 0}else f=2;while(0);h=e+20|0;a[h>>0]=d[h>>0]|f;l=i;return 0}function wD(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;i=k+12|0;j=k+8|0;g=k+4|0;h=k;c[j>>2]=a;c[g>>2]=f;if((e[(c[j>>2]|0)+50>>1]|0)!=(e[(c[g>>2]|0)+50>>1]|0)){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}if((d[(c[j>>2]|0)+54>>0]|0)!=(d[(c[g>>2]|0)+54>>0]|0)){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}c[h>>2]=0;while(1){f=c[g>>2]|0;if((c[h>>2]|0)>=(e[(c[g>>2]|0)+50>>1]|0)){a=17;break}if((b[(c[f+4>>2]|0)+(c[h>>2]<<1)>>1]|0)!=(b[(c[(c[j>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){a=8;break}if((b[(c[(c[g>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)==-2?cw(c[(c[(c[(c[g>>2]|0)+40>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,-1)|0:0){a=11;break}if((d[(c[(c[g>>2]|0)+28>>2]|0)+(c[h>>2]|0)>>0]|0)!=(d[(c[(c[j>>2]|0)+28>>2]|0)+(c[h>>2]|0)>>0]|0)){a=13;break}if(uk(c[(c[(c[g>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0,c[(c[(c[j>>2]|0)+32>>2]|0)+(c[h>>2]<<2)>>2]|0)|0){a=15;break}c[h>>2]=(c[h>>2]|0)+1}if((a|0)==8){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==11){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==13){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==15){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else if((a|0)==17)if(cw(c[f+36>>2]|0,c[(c[j>>2]|0)+36>>2]|0,-1)|0){c[i>>2]=0;j=c[i>>2]|0;l=k;return j|0}else{c[i>>2]=1;j=c[i>>2]|0;l=k;return j|0}return 0}function xD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[h>>2]|0)+4>>2]=c[f>>2];c[c[h>>2]>>2]=c[(c[f>>2]|0)+448>>2];c[(c[f>>2]|0)+448>>2]=c[g>>2];l=e;return}function yD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+64|0;i=p+52|0;j=p+48|0;k=p+44|0;m=p+40|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[g>>2]=c[c[i>>2]>>2];c[h>>2]=Nt(c[g>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;c[k>>2]=aw(c[g>>2]|0,c[k>>2]|0,0)|0;c[f>>2]=Rs(c[g>>2]|0,0,0,0)|0;if(c[f>>2]|0){j=go(c[g>>2]|0,c[c[j>>2]>>2]|0)|0;c[(c[f>>2]|0)+8+8>>2]=j;j=go(c[g>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2]|0)|0;c[(c[f>>2]|0)+8+4>>2]=j}c[o>>2]=Js(c[i>>2]|0,0,c[f>>2]|0,c[k>>2]|0,0,0,0,131072,0,0)|0;Gy(n,12,c[m>>2]|0);Gs(c[i>>2]|0,c[o>>2]|0,n)|0;Zj(c[g>>2]|0,c[o>>2]|0);l=p;return}function zD(d,e,f,g,h,i,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;F=l;l=l+96|0;E=F+88|0;H=F+84|0;r=F+80|0;m=F+76|0;n=F+72|0;o=F+68|0;G=F+64|0;s=F+60|0;t=F+56|0;u=F+52|0;v=F+48|0;I=F+44|0;w=F+40|0;x=F+36|0;y=F+32|0;z=F+28|0;A=F+24|0;B=F+20|0;p=F+16|0;q=F+8|0;C=F+4|0;D=F;c[E>>2]=d;c[H>>2]=e;c[r>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=i;c[G>>2]=j;c[s>>2]=k;c[t>>2]=c[(c[E>>2]|0)+8>>2];c[I>>2]=c[c[E>>2]>>2];c[w>>2]=lv(c[I>>2]|0,c[r>>2]|0)|0;c[y>>2]=2+(b[(c[r>>2]|0)+34>>1]|0);c[p>>2]=c[(c[H>>2]|0)+8+44>>2];j=(c[E>>2]|0)+40|0;k=c[j>>2]|0;c[j>>2]=k+1;c[u>>2]=k;c[D>>2]=Wt(c[t>>2]|0,107,c[u>>2]|0,c[y>>2]|0)|0;c[z>>2]=(c[(c[E>>2]|0)+44>>2]|0)+1;k=(c[E>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[y>>2]|0);k=(c[E>>2]|0)+44|0;j=(c[k>>2]|0)+1|0;c[k>>2]=j;c[A>>2]=j;j=(c[E>>2]|0)+44|0;k=(c[j>>2]|0)+1|0;c[j>>2]=k;c[B>>2]=k;c[x>>2]=LA(c[E>>2]|0,c[H>>2]|0,c[G>>2]|0,0,0,4,0)|0;if(!(c[x>>2]|0)){l=F;return}Wt(c[t>>2]|0,123,c[p>>2]|0,c[z>>2]|0)|0;if(c[n>>2]|0)ay(c[E>>2]|0,c[n>>2]|0,(c[z>>2]|0)+1|0);else Wt(c[t>>2]|0,123,c[p>>2]|0,(c[z>>2]|0)+1|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(b[(c[r>>2]|0)+34>>1]|0))break;if((c[(c[o>>2]|0)+(c[v>>2]<<2)>>2]|0)>=0)ay(c[E>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[(c[o>>2]|0)+(c[v>>2]<<2)>>2]|0)*20|0)>>2]|0,(c[z>>2]|0)+2+(c[v>>2]|0)|0);else Xt(c[t>>2]|0,156,c[p>>2]|0,c[v>>2]|0,(c[z>>2]|0)+2+(c[v>>2]|0)|0)|0;c[v>>2]=(c[v>>2]|0)+1}c[C>>2]=AD(c[x>>2]|0,q)|0;d=c[t>>2]|0;if(c[C>>2]|0){Xx(d,c[D>>2]|0)|0;if(!(c[(c[E>>2]|0)+124>>2]|0))a[(c[E>>2]|0)+20>>0]=0}else{Xt(d,99,c[z>>2]|0,c[y>>2]|0,c[A>>2]|0)|0;Wt(c[t>>2]|0,114,c[u>>2]|0,c[B>>2]|0)|0;Xt(c[t>>2]|0,115,c[u>>2]|0,c[A>>2]|0,c[B>>2]|0)|0}a:do if(!(c[C>>2]|0)){MA(c[x>>2]|0);c[D>>2]=kx(c[t>>2]|0,57,c[u>>2]|0)|0;c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[y>>2]|0))break a;Xt(c[t>>2]|0,96,c[u>>2]|0,c[v>>2]|0,(c[z>>2]|0)+(c[v>>2]|0)|0)|0;c[v>>2]=(c[v>>2]|0)+1}}while(0);yA(c[E>>2]|0,c[r>>2]|0);_t(c[t>>2]|0,12,0,c[y>>2]|0,c[z>>2]|0,c[w>>2]|0,-10)|0;px(c[t>>2]|0,((c[s>>2]|0)==10?2:c[s>>2]|0)&255);mv(c[E>>2]|0);if(!(c[C>>2]|0)){Wt(c[t>>2]|0,7,c[u>>2]|0,(c[D>>2]|0)+1|0)|0;tx(c[t>>2]|0,c[D>>2]|0);Wt(c[t>>2]|0,111,c[u>>2]|0,0)|0;l=F;return}else{MA(c[x>>2]|0);l=F;return}}function AD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;f=l;l=l+16|0;e=f+4|0;g=f;c[e>>2]=a;c[g>>2]=b;b=c[g>>2]|0;a=(c[e>>2]|0)+20|0;c[b>>2]=c[a>>2];c[b+4>>2]=c[a+4>>2];l=f;return d[(c[e>>2]|0)+45>>0]|0|0}function BD(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[(c[b>>2]|0)+4>>2]|0)){l=d;return}c[(c[(c[b>>2]|0)+4>>2]|0)+448>>2]=c[c[b>>2]>>2];c[(c[b>>2]|0)+4>>2]=0;l=d;return}function CD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+48|0;j=p+32|0;i=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;f=p+8|0;g=p+4|0;h=p;c[i>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;do if(((c[c[k>>2]>>2]|0)+(c[m>>2]|0)|0)>>>0>(c[(c[k>>2]|0)+4>>2]|0)>>>0){c[g>>2]=(c[c[k>>2]>>2]|0)+(c[m>>2]|0);c[f>>2]=Pd(c[i>>2]|0,c[k>>2]|0,80+(((c[g>>2]|0)-1|0)*72|0)|0,0)|0;if(c[f>>2]|0){c[k>>2]=c[f>>2];c[h>>2]=((((Md(c[i>>2]|0,c[f>>2]|0)|0)-80|0)>>>0)/72|0)+1;c[(c[k>>2]|0)+4>>2]=c[h>>2];break}c[j>>2]=c[k>>2];o=c[j>>2]|0;l=p;return o|0}while(0);c[o>>2]=(c[c[k>>2]>>2]|0)-1;while(1){if((c[o>>2]|0)<(c[n>>2]|0))break;a=(c[k>>2]|0)+8+(((c[o>>2]|0)+(c[m>>2]|0)|0)*72|0)|0;b=(c[k>>2]|0)+8+((c[o>>2]|0)*72|0)|0;f=a+72|0;do{c[a>>2]=c[b>>2];a=a+4|0;b=b+4|0}while((a|0)<(f|0));c[o>>2]=(c[o>>2]|0)+-1}i=c[k>>2]|0;c[i>>2]=(c[i>>2]|0)+(c[m>>2]|0);GR((c[k>>2]|0)+8+((c[n>>2]|0)*72|0)|0,0,(c[m>>2]|0)*72|0)|0;c[o>>2]=c[n>>2];while(1){a=c[k>>2]|0;if((c[o>>2]|0)>=((c[n>>2]|0)+(c[m>>2]|0)|0))break;c[a+8+((c[o>>2]|0)*72|0)+44>>2]=-1;c[o>>2]=(c[o>>2]|0)+1}c[j>>2]=a;o=c[j>>2]|0;l=p;return o|0}function DD(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0;Q=l;l=l+128|0;O=Q+112|0;u=Q+108|0;x=Q+104|0;P=Q+100|0;n=Q+96|0;y=Q+92|0;k=Q+88|0;z=Q+84|0;A=Q+80|0;B=Q+76|0;C=Q+72|0;D=Q+68|0;E=Q+64|0;F=Q+60|0;G=Q+56|0;H=Q+52|0;I=Q+48|0;J=Q+44|0;m=Q+40|0;o=Q+36|0;p=Q+32|0;q=Q+28|0;r=Q+24|0;s=Q+20|0;v=Q+16|0;w=Q+12|0;K=Q+8|0;L=Q+116|0;M=Q+4|0;N=Q;c[u>>2]=f;c[x>>2]=g;c[P>>2]=h;c[n>>2]=i;c[y>>2]=j;c[k>>2]=c[(c[u>>2]|0)+448>>2];c[J>>2]=c[c[u>>2]>>2];if(e[(c[J>>2]|0)+64>>1]&1|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}c[C>>2]=c[(c[x>>2]|0)+28>>2];c[I>>2]=(c[C>>2]|0)+8+((c[P>>2]|0)*72|0);c[F>>2]=c[(c[I>>2]|0)+44>>2];c[A>>2]=c[(c[I>>2]|0)+20>>2];do if(c[y>>2]|0){if(c[n>>2]|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if((c[c[C>>2]>>2]|0)>1){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(!(c[(c[x>>2]|0)+32>>2]|0?(c[(c[(c[x>>2]|0)+32>>2]|0)+4>>2]&2097152|0)!=0:0))t=10;if(((t|0)==10?((Zw(c[c[x>>2]>>2]|0)|0)&2097152|0)==0:0)?((Zw(c[(c[x>>2]|0)+44>>2]|0)|0)&2097152|0)==0:0)break;c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}while(0);c[D>>2]=c[(c[A>>2]|0)+28>>2];if(c[(c[A>>2]|0)+56>>2]|0?c[(c[x>>2]|0)+56>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+60>>2]|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[x>>2]|0)+8>>2]&256|0?c[(c[A>>2]|0)+56>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(!(c[c[D>>2]>>2]|0)){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+8>>2]&1|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+56>>2]|0?(c[n>>2]|0?1:(c[c[C>>2]>>2]|0)>1):0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[y>>2]|0?(c[(c[x>>2]|0)+8>>2]&1|0)!=0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[x>>2]|0)+44>>2]|0?c[(c[A>>2]|0)+44>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[n>>2]|0?c[(c[A>>2]|0)+44>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+56>>2]|0?c[(c[x>>2]|0)+32>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+56>>2]|0?c[(c[x>>2]|0)+8>>2]&1|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[A>>2]|0)+8>>2]&12288|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(c[(c[x>>2]|0)+8>>2]&8192|0?c[(c[A>>2]|0)+48>>2]|0:0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(d[(c[I>>2]|0)+36>>0]&32|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}a:do if(c[(c[A>>2]|0)+48>>2]|0){if(c[(c[A>>2]|0)+44>>2]|0){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}do if(!(c[n>>2]|0)){if(c[(c[x>>2]|0)+8>>2]&1|0)break;if((c[c[C>>2]>>2]|0)!=1)break;c[B>>2]=c[A>>2];while(1){if(!(c[B>>2]|0))break;if(c[(c[B>>2]|0)+8>>2]&9|0){t=62;break}if(c[(c[B>>2]|0)+48>>2]|0?(d[(c[B>>2]|0)+4>>0]|0)!=116:0){t=62;break}if((c[c[(c[B>>2]|0)+28>>2]>>2]|0)<1){t=62;break}c[B>>2]=c[(c[B>>2]|0)+48>>2]}if((t|0)==62){c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}if(!(c[(c[x>>2]|0)+44>>2]|0))break a;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[c[(c[x>>2]|0)+44>>2]>>2]|0))break a;if(!(e[(c[(c[(c[x>>2]|0)+44>>2]|0)+4>>2]|0)+((c[m>>2]|0)*20|0)+16>>1]|0))break;c[m>>2]=(c[m>>2]|0)+1}c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}while(0);c[O>>2]=0;P=c[O>>2]|0;l=Q;return P|0}while(0);c[(c[u>>2]|0)+448>>2]=c[(c[I>>2]|0)+8>>2];Ot(c[u>>2]|0,21,0,0,0)|0;c[(c[u>>2]|0)+448>>2]=c[k>>2];c[A>>2]=c[(c[A>>2]|0)+48>>2];while(1){if(!(c[A>>2]|0))break;c[p>>2]=c[(c[x>>2]|0)+44>>2];c[q>>2]=c[(c[x>>2]|0)+56>>2];c[r>>2]=c[(c[x>>2]|0)+60>>2];c[s>>2]=c[(c[x>>2]|0)+48>>2];c[(c[x>>2]|0)+44>>2]=0;c[(c[x>>2]|0)+28>>2]=0;c[(c[x>>2]|0)+48>>2]=0;c[(c[x>>2]|0)+56>>2]=0;c[(c[x>>2]|0)+60>>2]=0;c[o>>2]=qv(c[J>>2]|0,c[x>>2]|0,0)|0;c[(c[x>>2]|0)+60>>2]=c[r>>2];c[(c[x>>2]|0)+56>>2]=c[q>>2];c[(c[x>>2]|0)+44>>2]=c[p>>2];c[(c[x>>2]|0)+28>>2]=c[C>>2];a[(c[x>>2]|0)+4>>0]=116;f=c[s>>2]|0;if(!(c[o>>2]|0))g=c[x>>2]|0;else{c[(c[o>>2]|0)+48>>2]=f;if(c[s>>2]|0)c[(c[s>>2]|0)+52>>2]=c[o>>2];c[(c[o>>2]|0)+52>>2]=c[x>>2];f=c[o>>2]|0;g=c[x>>2]|0}c[g+48>>2]=f;if(a[(c[J>>2]|0)+69>>0]|0){t=78;break}c[A>>2]=c[(c[A>>2]|0)+48>>2]}if((t|0)==78){c[O>>2]=1;P=c[O>>2]|0;l=Q;return P|0}t=c[(c[I>>2]|0)+20>>2]|0;c[B>>2]=t;c[A>>2]=t;Hd(c[J>>2]|0,c[(c[I>>2]|0)+4>>2]|0);Hd(c[J>>2]|0,c[(c[I>>2]|0)+8>>2]|0);Hd(c[J>>2]|0,c[(c[I>>2]|0)+12>>2]|0);c[(c[I>>2]|0)+4>>2]=0;c[(c[I>>2]|0)+8>>2]=0;c[(c[I>>2]|0)+12>>2]=0;c[(c[I>>2]|0)+20>>2]=0;if(c[(c[I>>2]|0)+16>>2]|0){c[v>>2]=c[(c[I>>2]|0)+16>>2];if((e[(c[v>>2]|0)+36>>1]|0)==1){f=c[u>>2]|0;if(c[(c[u>>2]|0)+124>>2]|0)f=c[f+124>>2]|0;c[w>>2]=f;c[(c[v>>2]|0)+68>>2]=c[(c[w>>2]|0)+464>>2];c[(c[w>>2]|0)+464>>2]=c[v>>2]}else{w=(c[v>>2]|0)+36|0;b[w>>1]=(b[w>>1]|0)+-1<<16>>16}c[(c[I>>2]|0)+16>>2]=0}c[z>>2]=c[x>>2];while(1){if(!(c[z>>2]|0))break;a[L>>0]=0;c[D>>2]=c[(c[A>>2]|0)+28>>2];c[K>>2]=c[c[D>>2]>>2];c[C>>2]=c[(c[z>>2]|0)+28>>2];if(!(c[C>>2]|0)){x=Rs(c[J>>2]|0,0,0,0)|0;c[(c[z>>2]|0)+28>>2]=x;c[C>>2]=x;if(!(c[C>>2]|0))break}else a[L>>0]=a[(c[I>>2]|0)+36>>0]|0;if((c[K>>2]|0)>1?(x=CD(c[J>>2]|0,c[C>>2]|0,(c[K>>2]|0)-1|0,(c[P>>2]|0)+1|0)|0,c[C>>2]=x,c[(c[z>>2]|0)+28>>2]=x,a[(c[J>>2]|0)+69>>0]|0):0)break;c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[K>>2]|0))break;hk(c[J>>2]|0,c[(c[C>>2]|0)+8+(((c[G>>2]|0)+(c[P>>2]|0)|0)*72|0)+52>>2]|0);f=(c[C>>2]|0)+8+(((c[G>>2]|0)+(c[P>>2]|0)|0)*72|0)|0;g=(c[D>>2]|0)+8+((c[G>>2]|0)*72|0)|0;k=f+72|0;do{c[f>>2]=c[g>>2];f=f+4|0;g=g+4|0}while((f|0)<(k|0));f=(c[D>>2]|0)+8+((c[G>>2]|0)*72|0)|0;k=f+72|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(k|0));c[G>>2]=(c[G>>2]|0)+1}a[(c[C>>2]|0)+8+((c[P>>2]|0)*72|0)+36>>0]=a[L>>0]|0;c[E>>2]=c[c[z>>2]>>2];c[G>>2]=0;while(1){if((c[G>>2]|0)>=(c[c[E>>2]>>2]|0))break;if(!(c[(c[(c[E>>2]|0)+4>>2]|0)+((c[G>>2]|0)*20|0)+4>>2]|0)){c[M>>2]=go(c[J>>2]|0,c[(c[(c[E>>2]|0)+4>>2]|0)+((c[G>>2]|0)*20|0)+8>>2]|0)|0;Aj(c[M>>2]|0);c[(c[(c[E>>2]|0)+4>>2]|0)+((c[G>>2]|0)*20|0)+4>>2]=c[M>>2]}c[G>>2]=(c[G>>2]|0)+1}if(c[(c[A>>2]|0)+44>>2]|0){c[N>>2]=c[(c[A>>2]|0)+44>>2];c[G>>2]=0;while(1){f=c[N>>2]|0;if((c[G>>2]|0)>=(c[c[N>>2]>>2]|0))break;b[(c[f+4>>2]|0)+((c[G>>2]|0)*20|0)+16>>1]=0;c[G>>2]=(c[G>>2]|0)+1}c[(c[z>>2]|0)+44>>2]=f;c[(c[A>>2]|0)+44>>2]=0}c[H>>2]=aw(c[J>>2]|0,c[(c[A>>2]|0)+32>>2]|0,0)|0;if(c[y>>2]|0){c[(c[z>>2]|0)+40>>2]=c[(c[z>>2]|0)+32>>2];c[(c[z>>2]|0)+32>>2]=c[H>>2];w=c[J>>2]|0;x=aw(c[J>>2]|0,c[(c[A>>2]|0)+40>>2]|0,0)|0;x=Sw(w,x,c[(c[z>>2]|0)+40>>2]|0)|0;c[(c[z>>2]|0)+40>>2]=x;x=iw(c[J>>2]|0,c[(c[A>>2]|0)+36>>2]|0,0)|0;c[(c[z>>2]|0)+36>>2]=x}else{x=Sw(c[J>>2]|0,c[H>>2]|0,c[(c[z>>2]|0)+32>>2]|0)|0;c[(c[z>>2]|0)+32>>2]=x}mE(c[J>>2]|0,c[z>>2]|0,c[F>>2]|0,c[c[A>>2]>>2]|0,0);x=(c[z>>2]|0)+8|0;c[x>>2]=c[x>>2]|c[(c[A>>2]|0)+8>>2]&1;if(c[(c[A>>2]|0)+56>>2]|0){c[(c[z>>2]|0)+56>>2]=c[(c[A>>2]|0)+56>>2];c[(c[A>>2]|0)+56>>2]=0}c[z>>2]=c[(c[z>>2]|0)+48>>2];c[A>>2]=c[(c[A>>2]|0)+48>>2]}Zj(c[J>>2]|0,c[B>>2]|0);c[O>>2]=1;P=c[O>>2]|0;l=Q;return P|0}function ED(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=l;l=l+256|0;Z=_+8|0;h=_;D=_+240|0;O=_+236|0;U=_+232|0;V=_+228|0;W=_+224|0;X=_+220|0;Y=_+216|0;i=_+192|0;j=_+184|0;k=_+180|0;m=_+176|0;n=_+172|0;o=_+168|0;p=_+164|0;q=_+160|0;r=_+244|0;s=_+156|0;t=_+152|0;u=_+148|0;v=_+144|0;w=_+120|0;x=_+116|0;y=_+112|0;z=_+108|0;A=_+104|0;B=_+100|0;C=_+96|0;E=_+92|0;F=_+88|0;G=_+84|0;H=_+80|0;I=_+76|0;J=_+72|0;K=_+48|0;L=_+40|0;M=_+36|0;N=_+32|0;P=_+28|0;Q=_+24|0;R=_+20|0;S=_+16|0;T=_+12|0;c[O>>2]=e;c[U>>2]=f;c[V>>2]=g;c[W>>2]=0;c[j>>2]=0;c[m>>2]=0;c[n>>2]=0;c[k>>2]=c[c[O>>2]>>2];c[X>>2]=c[(c[U>>2]|0)+48>>2];g=c[V>>2]|0;c[i>>2]=c[g>>2];c[i+4>>2]=c[g+4>>2];c[i+8>>2]=c[g+8>>2];c[i+12>>2]=c[g+12>>2];c[i+16>>2]=c[g+16>>2];c[i+20>>2]=c[g+20>>2];a:do if(!(c[(c[X>>2]|0)+44>>2]|0)){e=c[O>>2]|0;if(c[(c[X>>2]|0)+56>>2]|0){c[Z>>2]=kw(d[(c[U>>2]|0)+4>>0]|0)|0;Ck(e,32206,Z);c[W>>2]=1;break}c[Y>>2]=Rt(e)|0;if((d[i>>0]|0)==12){Wt(c[Y>>2]|0,107,c[i+8>>2]|0,c[c[c[U>>2]>>2]>>2]|0)|0;a[i>>0]=14}if(c[(c[U>>2]|0)+8>>2]&1024|0){c[W>>2]=oE(c[O>>2]|0,c[U>>2]|0,i)|0;break}b:do if(c[(c[U>>2]|0)+8>>2]&8192|0)pE(c[O>>2]|0,c[U>>2]|0,i);else{if(c[(c[U>>2]|0)+44>>2]|0){c[D>>2]=qE(c[O>>2]|0,c[U>>2]|0,c[V>>2]|0)|0;Z=c[D>>2]|0;l=_;return Z|0}switch(d[(c[U>>2]|0)+4>>0]|0){case 116:{c[o>>2]=0;c[(c[X>>2]|0)+12>>2]=c[(c[U>>2]|0)+12>>2];c[(c[X>>2]|0)+16>>2]=c[(c[U>>2]|0)+16>>2];c[(c[X>>2]|0)+56>>2]=c[(c[U>>2]|0)+56>>2];c[(c[X>>2]|0)+60>>2]=c[(c[U>>2]|0)+60>>2];c[m>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=Gs(c[O>>2]|0,c[X>>2]|0,i)|0;c[(c[U>>2]|0)+56>>2]=0;c[(c[U>>2]|0)+60>>2]=0;if(c[W>>2]|0)break a;c[(c[U>>2]|0)+48>>2]=0;c[(c[U>>2]|0)+12>>2]=c[(c[X>>2]|0)+12>>2];c[(c[U>>2]|0)+16>>2]=c[(c[X>>2]|0)+16>>2];if(c[(c[U>>2]|0)+12>>2]|0?(c[o>>2]=kx(c[Y>>2]|0,22,c[(c[U>>2]|0)+12>>2]|0)|0,c[(c[U>>2]|0)+16>>2]|0):0)Xt(c[Y>>2]|0,146,c[(c[U>>2]|0)+12>>2]|0,(c[(c[U>>2]|0)+16>>2]|0)+1|0,c[(c[U>>2]|0)+16>>2]|0)|0;c[n>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=Gs(c[O>>2]|0,c[U>>2]|0,i)|0;c[j>>2]=c[(c[U>>2]|0)+48>>2];c[(c[U>>2]|0)+48>>2]=c[X>>2];Z=HB(b[(c[U>>2]|0)+6>>1]|0,b[(c[X>>2]|0)+6>>1]|0)|0;b[(c[U>>2]|0)+6>>1]=Z;if((c[(c[X>>2]|0)+56>>2]|0?(Z=(Zv(c[(c[X>>2]|0)+56>>2]|0,p)|0)!=0,Z&(c[p>>2]|0)>0):0)?(X=b[(c[U>>2]|0)+6>>1]|0,Z=c[p>>2]|0,(X|0)>((Du(Z,((Z|0)<0)<<31>>31)|0)<<16>>16|0)):0){Z=c[p>>2]|0;Z=Du(Z,((Z|0)<0)<<31>>31)|0;b[(c[U>>2]|0)+6>>1]=Z}if(!(c[o>>2]|0))break b;tx(c[Y>>2]|0,c[o>>2]|0);break b}case 115:case 117:{a[r>>0]=0;c[s>>2]=1;if((d[i>>0]|0)==(c[s>>2]|0))c[q>>2]=c[i+8>>2];else{M=(c[O>>2]|0)+40|0;Z=c[M>>2]|0;c[M>>2]=Z+1;c[q>>2]=Z;c[v>>2]=Wt(c[Y>>2]|0,107,c[q>>2]|0,0)|0;c[(c[U>>2]|0)+20>>2]=c[v>>2];Z=(Iw(c[U>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32}Gy(w,c[s>>2]|0,c[q>>2]|0);c[m>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=Gs(c[O>>2]|0,c[X>>2]|0,w)|0;if(c[W>>2]|0)break a;if((d[(c[U>>2]|0)+4>>0]|0)==117)a[r>>0]=2;else a[r>>0]=1;c[(c[U>>2]|0)+48>>2]=0;c[t>>2]=c[(c[U>>2]|0)+56>>2];c[(c[U>>2]|0)+56>>2]=0;c[u>>2]=c[(c[U>>2]|0)+60>>2];c[(c[U>>2]|0)+60>>2]=0;a[w>>0]=a[r>>0]|0;c[n>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=Gs(c[O>>2]|0,c[U>>2]|0,w)|0;_j(c[k>>2]|0,c[(c[U>>2]|0)+44>>2]|0);c[j>>2]=c[(c[U>>2]|0)+48>>2];c[(c[U>>2]|0)+48>>2]=c[X>>2];c[(c[U>>2]|0)+44>>2]=0;if((d[(c[U>>2]|0)+4>>0]|0)==115){Z=HB(b[(c[U>>2]|0)+6>>1]|0,b[(c[X>>2]|0)+6>>1]|0)|0;b[(c[U>>2]|0)+6>>1]=Z}ck(c[k>>2]|0,c[(c[U>>2]|0)+56>>2]|0);c[(c[U>>2]|0)+56>>2]=c[t>>2];c[(c[U>>2]|0)+60>>2]=c[u>>2];c[(c[U>>2]|0)+12>>2]=0;c[(c[U>>2]|0)+16>>2]=0;if((d[i>>0]|0)==(c[s>>2]|0))break b;if((d[i>>0]|0)==9){c[A>>2]=c[U>>2];while(1){if(!(c[(c[A>>2]|0)+48>>2]|0))break;c[A>>2]=c[(c[A>>2]|0)+48>>2]}cE(c[O>>2]|0,c[(c[A>>2]|0)+28>>2]|0,c[c[A>>2]>>2]|0)}c[y>>2]=qx(c[Y>>2]|0)|0;c[x>>2]=qx(c[Y>>2]|0)|0;JD(c[O>>2]|0,c[U>>2]|0,c[y>>2]|0);Wt(c[Y>>2]|0,57,c[q>>2]|0,c[y>>2]|0)|0;c[z>>2]=Vu(c[Y>>2]|0)|0;RD(c[O>>2]|0,c[U>>2]|0,c[c[U>>2]>>2]|0,c[q>>2]|0,0,0,i,c[x>>2]|0,c[y>>2]|0);ux(c[Y>>2]|0,c[x>>2]|0);Wt(c[Y>>2]|0,7,c[q>>2]|0,c[z>>2]|0)|0;ux(c[Y>>2]|0,c[y>>2]|0);Wt(c[Y>>2]|0,111,c[q>>2]|0,0)|0;break b}default:{Z=(c[O>>2]|0)+40|0;A=c[Z>>2]|0;c[Z>>2]=A+1;c[B>>2]=A;A=(c[O>>2]|0)+40|0;Z=c[A>>2]|0;c[A>>2]=Z+1;c[C>>2]=Z;c[J>>2]=Wt(c[Y>>2]|0,107,c[B>>2]|0,0)|0;c[(c[U>>2]|0)+20>>2]=c[J>>2];Z=(Iw(c[U>>2]|0)|0)+8|0;c[Z>>2]=c[Z>>2]|32;Gy(K,1,c[B>>2]|0);c[m>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=Gs(c[O>>2]|0,c[X>>2]|0,K)|0;if(c[W>>2]|0)break a;c[J>>2]=Wt(c[Y>>2]|0,107,c[C>>2]|0,0)|0;c[(c[U>>2]|0)+20+4>>2]=c[J>>2];c[(c[U>>2]|0)+48>>2]=0;c[H>>2]=c[(c[U>>2]|0)+56>>2];c[(c[U>>2]|0)+56>>2]=0;c[I>>2]=c[(c[U>>2]|0)+60>>2];c[(c[U>>2]|0)+60>>2]=0;c[K+8>>2]=c[C>>2];c[n>>2]=c[(c[O>>2]|0)+424>>2];c[W>>2]=Gs(c[O>>2]|0,c[U>>2]|0,K)|0;c[j>>2]=c[(c[U>>2]|0)+48>>2];c[(c[U>>2]|0)+48>>2]=c[X>>2];if((b[(c[U>>2]|0)+6>>1]|0)>(b[(c[X>>2]|0)+6>>1]|0))b[(c[U>>2]|0)+6>>1]=b[(c[X>>2]|0)+6>>1]|0;ck(c[k>>2]|0,c[(c[U>>2]|0)+56>>2]|0);c[(c[U>>2]|0)+56>>2]=c[H>>2];c[(c[U>>2]|0)+60>>2]=c[I>>2];if((d[i>>0]|0)==9){c[M>>2]=c[U>>2];while(1){if(!(c[(c[M>>2]|0)+48>>2]|0))break;c[M>>2]=c[(c[M>>2]|0)+48>>2]}cE(c[O>>2]|0,c[(c[M>>2]|0)+28>>2]|0,c[c[M>>2]>>2]|0)}c[F>>2]=qx(c[Y>>2]|0)|0;c[E>>2]=qx(c[Y>>2]|0)|0;JD(c[O>>2]|0,c[U>>2]|0,c[F>>2]|0);Wt(c[Y>>2]|0,57,c[B>>2]|0,c[F>>2]|0)|0;c[L>>2]=Uu(c[O>>2]|0)|0;c[G>>2]=Wt(c[Y>>2]|0,121,c[B>>2]|0,c[L>>2]|0)|0;Fx(c[Y>>2]|0,30,c[C>>2]|0,c[E>>2]|0,c[L>>2]|0,0)|0;Wu(c[O>>2]|0,c[L>>2]|0);RD(c[O>>2]|0,c[U>>2]|0,c[c[U>>2]>>2]|0,c[B>>2]|0,0,0,i,c[E>>2]|0,c[F>>2]|0);ux(c[Y>>2]|0,c[E>>2]|0);Wt(c[Y>>2]|0,7,c[B>>2]|0,c[G>>2]|0)|0;ux(c[Y>>2]|0,c[F>>2]|0);Wt(c[Y>>2]|0,111,c[C>>2]|0,0)|0;Wt(c[Y>>2]|0,111,c[B>>2]|0,0)|0;break b}}}while(0);rE(c[O>>2]|0,d[(c[U>>2]|0)+4>>0]|0,c[m>>2]|0,c[n>>2]|0,(d[(c[U>>2]|0)+4>>0]|0)!=116&1);if(c[(c[U>>2]|0)+8>>2]&32|0){c[S>>2]=c[c[c[U>>2]>>2]>>2];c[P>>2]=Ex(c[k>>2]|0,c[S>>2]|0,1)|0;if(!(c[P>>2]|0)){c[W>>2]=7;break}c[N>>2]=0;c[R>>2]=(c[P>>2]|0)+20;while(1){if((c[N>>2]|0)>=(c[S>>2]|0))break;Z=sE(c[O>>2]|0,c[U>>2]|0,c[N>>2]|0)|0;c[c[R>>2]>>2]=Z;if(!(c[c[R>>2]>>2]|0))c[c[R>>2]>>2]=c[(c[k>>2]|0)+8>>2];c[N>>2]=(c[N>>2]|0)+1;c[R>>2]=(c[R>>2]|0)+4}c[Q>>2]=c[U>>2];while(1){if(!(c[Q>>2]|0))break;c[N>>2]=0;while(1){if((c[N>>2]|0)>=2)break;c[T>>2]=c[(c[Q>>2]|0)+20+(c[N>>2]<<2)>>2];if((c[T>>2]|0)<0)break;zx(c[Y>>2]|0,c[T>>2]|0,c[S>>2]|0);X=c[Y>>2]|0;Z=c[T>>2]|0;$t(X,Z,Jx(c[P>>2]|0)|0,-6);c[(c[Q>>2]|0)+20+(c[N>>2]<<2)>>2]=-1;c[N>>2]=(c[N>>2]|0)+1}c[Q>>2]=c[(c[Q>>2]|0)+48>>2]}Pj(c[P>>2]|0)}}else{Z=c[O>>2]|0;c[h>>2]=kw(d[(c[U>>2]|0)+4>>0]|0)|0;Ck(Z,32158,h);c[W>>2]=1}while(0);c[(c[V>>2]|0)+12>>2]=c[i+12>>2];c[(c[V>>2]|0)+16>>2]=c[i+16>>2];Zj(c[k>>2]|0,c[j>>2]|0);c[D>>2]=c[W>>2];Z=c[D>>2]|0;l=_;return Z|0}function FD(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=0;Xw(c[e>>2]|0,b);l=d;return c[b>>2]|0}function GD(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+28|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;g=q+4|0;h=q;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[g>>2]=0;if(!(c[m>>2]|0)){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}c[h>>2]=c[k>>2];while(1){if(!(c[h>>2]|0))break;if(c[(c[h>>2]|0)+8>>2]&8200|0){p=6;break}c[h>>2]=c[(c[h>>2]|0)+48>>2]}if((p|0)==6){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}if(c[(c[k>>2]|0)+56>>2]|0){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}while(1){if((d[c[m>>2]>>0]|0|0)!=28)break;p=GD(c[j>>2]|0,c[k>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[n>>2]|0)|0;c[g>>2]=(c[g>>2]|0)+p;c[m>>2]=c[(c[m>>2]|0)+12>>2]}if(c[(c[m>>2]|0)+4>>2]&1|0){c[i>>2]=0;p=c[i>>2]|0;l=q;return p|0}a:do if(BB(c[m>>2]|0,c[n>>2]|0)|0){c[g>>2]=(c[g>>2]|0)+1;while(1){if(!(c[k>>2]|0))break a;c[o>>2]=aw(c[j>>2]|0,c[m>>2]|0,0)|0;c[o>>2]=lE(c[j>>2]|0,c[o>>2]|0,c[n>>2]|0,c[c[k>>2]>>2]|0)|0;p=Sw(c[j>>2]|0,c[(c[k>>2]|0)+32>>2]|0,c[o>>2]|0)|0;c[(c[k>>2]|0)+32>>2]=p;c[k>>2]=c[(c[k>>2]|0)+48>>2]}}while(0);c[i>>2]=c[g>>2];p=c[i>>2]|0;l=q;return p|0}function HD(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;a[(c[e>>2]|0)+19>>0]=0;c[(c[e>>2]|0)+28>>2]=0;l=d;return}function ID(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+48|0;k=q+36|0;m=q+32|0;n=q+28|0;r=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[r>>2]=f;c[h>>2]=c[c[k>>2]>>2];c[o>>2]=c[c[m>>2]>>2];c[p>>2]=Ex(c[h>>2]|0,(c[o>>2]|0)-(c[n>>2]|0)|0,(c[r>>2]|0)+1|0)|0;if(!(c[p>>2]|0)){r=c[p>>2]|0;l=q;return r|0}c[i>>2]=c[n>>2];c[g>>2]=(c[(c[m>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0);while(1){if((c[i>>2]|0)>=(c[o>>2]|0))break;c[j>>2]=xv(c[k>>2]|0,c[c[g>>2]>>2]|0)|0;if(!(c[j>>2]|0))c[j>>2]=c[(c[h>>2]|0)+8>>2];c[(c[p>>2]|0)+20+((c[i>>2]|0)-(c[n>>2]|0)<<2)>>2]=c[j>>2];a[(c[(c[p>>2]|0)+16>>2]|0)+((c[i>>2]|0)-(c[n>>2]|0))>>0]=a[(c[g>>2]|0)+12>>0]|0;c[i>>2]=(c[i>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+20}r=c[p>>2]|0;l=q;return r|0}function JD(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;c[j>>2]=0;if(c[(c[g>>2]|0)+12>>2]|0){l=n;return}Kz(c[f>>2]|0);if(!(c[(c[g>>2]|0)+56>>2]|0)){l=n;return}d=(c[f>>2]|0)+44|0;e=(c[d>>2]|0)+1|0;c[d>>2]=e;c[j>>2]=e;c[(c[g>>2]|0)+12>>2]=e;c[i>>2]=Rt(c[f>>2]|0)|0;do if(Zv(c[(c[g>>2]|0)+56>>2]|0,m)|0){Wt(c[i>>2]|0,76,c[m>>2]|0,c[j>>2]|0)|0;if(!(c[m>>2]|0)){sx(c[i>>2]|0,c[h>>2]|0)|0;break}if((c[m>>2]|0)>=0?(e=b[(c[g>>2]|0)+6>>1]|0,h=c[m>>2]|0,(e|0)>((Du(h,((h|0)<0)<<31>>31)|0)<<16>>16|0)):0){m=c[m>>2]|0;m=Du(m,((m|0)<0)<<31>>31)|0;b[(c[g>>2]|0)+6>>1]=m;m=(c[g>>2]|0)+8|0;c[m>>2]=c[m>>2]|16384}}else{ay(c[f>>2]|0,c[(c[g>>2]|0)+56>>2]|0,c[j>>2]|0);kx(c[i>>2]|0,17,c[j>>2]|0)|0;Wt(c[i>>2]|0,22,c[j>>2]|0,c[h>>2]|0)|0}while(0);if(!(c[(c[g>>2]|0)+60>>2]|0)){l=n;return}h=(c[f>>2]|0)+44|0;m=(c[h>>2]|0)+1|0;c[h>>2]=m;c[k>>2]=m;c[(c[g>>2]|0)+16>>2]=m;m=(c[f>>2]|0)+44|0;c[m>>2]=(c[m>>2]|0)+1;ay(c[f>>2]|0,c[(c[g>>2]|0)+60>>2]|0,c[k>>2]|0);kx(c[i>>2]|0,17,c[k>>2]|0)|0;Xt(c[i>>2]|0,146,c[j>>2]|0,(c[k>>2]|0)+1|0,c[k>>2]|0)|0;l=n;return}function KD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=l;l=l+16|0;h=f+4|0;g=f;i=f+8|0;c[h>>2]=b;c[g>>2]=d;a[i>>0]=e;e=a[i>>0]|0;a[(Ax(c[h>>2]|0,c[g>>2]|0)|0)>>0]=e;l=f;return}function LD(a){a=a|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=a;l=e;return b[(c[d>>2]|0)+72>>1]|0}function MD(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+47>>0]|0|0}function ND(b){b=b|0;var d=0,e=0;e=l;l=l+16|0;d=e;c[d>>2]=b;l=e;return a[(c[d>>2]|0)+43>>0]|0}function OD(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+48>>0]|0|0}function PD(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+28>>2]|0}function QD(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[(c[b>>2]|0)+32>>2]|0}function RD(b,f,g,h,i,j,k,m,n){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=l;l=l+144|0;V=W+124|0;Q=W+120|0;u=W+116|0;o=W+112|0;R=W+108|0;p=W+104|0;M=W+100|0;v=W+96|0;S=W+92|0;T=W+88|0;C=W+84|0;q=W+80|0;U=W+76|0;D=W+72|0;P=W+68|0;N=W+64|0;O=W+60|0;r=W+128|0;s=W+56|0;w=W+52|0;x=W+48|0;y=W+44|0;z=W+40|0;E=W+36|0;A=W+32|0;F=W+28|0;G=W+24|0;H=W+20|0;I=W+16|0;J=W+12|0;B=W+8|0;K=W+4|0;L=W;c[V>>2]=b;c[Q>>2]=f;c[u>>2]=g;c[o>>2]=h;c[R>>2]=i;c[p>>2]=j;c[M>>2]=k;c[v>>2]=m;c[S>>2]=n;c[T>>2]=c[(c[V>>2]|0)+8>>2];c[D>>2]=d[c[M>>2]>>0];c[P>>2]=c[(c[M>>2]|0)+8>>2];c[O>>2]=0;if(c[p>>2]|0)b=d[(c[p>>2]|0)+1>>0]|0;else b=0;c[q>>2]=b;if(c[R>>2]|0?(c[c[R>>2]>>2]|0)==0:0)c[R>>2]=0;if(!((c[R>>2]|0)!=0|(c[q>>2]|0)!=0))eE(c[T>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[v>>2]|0);c[N>>2]=c[c[u>>2]>>2];if(c[(c[M>>2]|0)+12>>2]|0){if(((c[(c[M>>2]|0)+12>>2]|0)+(c[N>>2]|0)|0)>(c[(c[V>>2]|0)+44>>2]|0)){b=c[N>>2]|0;f=c[V>>2]|0;t=16}}else{if(c[R>>2]|0){c[O>>2]=c[c[c[R>>2]>>2]>>2];if(!((d[(c[R>>2]|0)+28>>0]|0)&1))c[O>>2]=(c[O>>2]|0)+1;t=(c[V>>2]|0)+44|0;c[t>>2]=(c[t>>2]|0)+(c[O>>2]|0)}c[(c[M>>2]|0)+12>>2]=(c[(c[V>>2]|0)+44>>2]|0)+1;b=c[N>>2]|0;f=c[V>>2]|0;t=16}if((t|0)==16){t=f+44|0;c[t>>2]=(c[t>>2]|0)+b}c[(c[M>>2]|0)+16>>2]=c[N>>2];c[U>>2]=c[(c[M>>2]|0)+12>>2];a:do if((c[o>>2]|0)<0){if((c[D>>2]|0)!=3){if((c[D>>2]|0)==10|(c[D>>2]|0)==9|(c[D>>2]|0)==13)a[r>>0]=1;else a[r>>0]=0;ly(c[V>>2]|0,c[u>>2]|0,c[U>>2]|0,0,a[r>>0]|0)|0}}else{c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[N>>2]|0))break a;Xt(c[T>>2]|0,96,c[o>>2]|0,c[C>>2]|0,(c[U>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}}while(0);if(c[q>>2]|0){switch(d[(c[p>>2]|0)+1>>0]|0|0){case 2:{c[x>>2]=(c[(c[V>>2]|0)+44>>2]|0)+1;t=(c[V>>2]|0)+44|0;c[t>>2]=(c[t>>2]|0)+(c[N>>2]|0);Xx(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;c[s>>2]=Ax(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;a[c[s>>2]>>0]=79;c[(c[s>>2]|0)+4>>2]=1;c[(c[s>>2]|0)+8>>2]=c[x>>2];c[w>>2]=(Vu(c[T>>2]|0)|0)+(c[N>>2]|0);c[C>>2]=0;while(1){if((c[C>>2]|0)>=(c[N>>2]|0))break;c[y>>2]=xv(c[V>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)>>2]|0)|0;b=c[T>>2]|0;f=(c[U>>2]|0)+(c[C>>2]|0)|0;if((c[C>>2]|0)<((c[N>>2]|0)-1|0))Xt(b,36,f,c[w>>2]|0,(c[x>>2]|0)+(c[C>>2]|0)|0)|0;else Xt(b,37,f,c[v>>2]|0,(c[x>>2]|0)+(c[C>>2]|0)|0)|0;$t(c[T>>2]|0,-1,c[y>>2]|0,-4);px(c[T>>2]|0,-128);c[C>>2]=(c[C>>2]|0)+1}Xt(c[T>>2]|0,84,c[U>>2]|0,c[x>>2]|0,(c[N>>2]|0)-1|0)|0;break}case 1:{Xx(c[T>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0;break}default:fE(c[V>>2]|0,c[(c[p>>2]|0)+4>>2]|0,c[v>>2]|0,c[N>>2]|0,c[U>>2]|0)}if(!(c[R>>2]|0))eE(c[T>>2]|0,c[(c[Q>>2]|0)+16>>2]|0,c[v>>2]|0)}b:do switch(c[D>>2]|0){case 1:{c[z>>2]=Uu(c[V>>2]|0)|0;Xt(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,c[z>>2]|0)|0;Wt(c[T>>2]|0,126,c[P>>2]|0,c[z>>2]|0)|0;Wu(c[V>>2]|0,c[z>>2]|0);break}case 2:{Xt(c[T>>2]|0,127,c[P>>2]|0,c[U>>2]|0,c[N>>2]|0)|0;break}case 12:case 14:case 6:case 5:{c[E>>2]=Sx(c[V>>2]|0,(c[O>>2]|0)+1|0)|0;Xt(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,(c[E>>2]|0)+(c[O>>2]|0)|0)|0;if((c[D>>2]|0)==6){c[A>>2]=(Vu(c[T>>2]|0)|0)+4;Fx(c[T>>2]|0,31,(c[P>>2]|0)+1|0,c[A>>2]|0,c[E>>2]|0,0)|0;Wt(c[T>>2]|0,126,(c[P>>2]|0)+1|0,c[E>>2]|0)|0}b=c[V>>2]|0;if(c[R>>2]|0)kE(b,c[R>>2]|0,c[Q>>2]|0,(c[E>>2]|0)+(c[O>>2]|0)|0,c[U>>2]|0,1,c[O>>2]|0);else{c[F>>2]=Uu(b)|0;Wt(c[T>>2]|0,114,c[P>>2]|0,c[F>>2]|0)|0;Xt(c[T>>2]|0,115,c[P>>2]|0,c[E>>2]|0,c[F>>2]|0)|0;px(c[T>>2]|0,8);Wu(c[V>>2]|0,c[F>>2]|0)}Vx(c[V>>2]|0,c[E>>2]|0,(c[O>>2]|0)+1|0);break}case 11:{b=c[V>>2]|0;if(c[R>>2]|0){kE(b,c[R>>2]|0,c[Q>>2]|0,c[U>>2]|0,c[U>>2]|0,c[N>>2]|0,c[O>>2]|0);break b}else{c[G>>2]=Uu(b)|0;_t(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,c[G>>2]|0,c[(c[M>>2]|0)+4>>2]|0,c[N>>2]|0)|0;fy(c[V>>2]|0,c[U>>2]|0,c[N>>2]|0);Wt(c[T>>2]|0,126,c[P>>2]|0,c[G>>2]|0)|0;Wu(c[V>>2]|0,c[G>>2]|0);break b}}case 3:{Wt(c[T>>2]|0,76,1,c[P>>2]|0)|0;break}case 10:{if(c[R>>2]|0)kE(c[V>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[U>>2]|0,c[U>>2]|0,c[N>>2]|0,c[O>>2]|0);break}case 9:case 13:{if(c[R>>2]|0){kE(c[V>>2]|0,c[R>>2]|0,c[Q>>2]|0,c[U>>2]|0,c[U>>2]|0,c[N>>2]|0,c[O>>2]|0);break b}b=c[T>>2]|0;if((c[D>>2]|0)==13){kx(b,16,c[(c[M>>2]|0)+8>>2]|0)|0;break b}else{Wt(b,87,c[U>>2]|0,c[N>>2]|0)|0;fy(c[V>>2]|0,c[U>>2]|0,c[N>>2]|0);break b}}case 7:case 8:{c[K>>2]=0;c[L>>2]=c[(c[M>>2]|0)+20>>2];c[H>>2]=c[c[L>>2]>>2];c[I>>2]=Uu(c[V>>2]|0)|0;c[J>>2]=Sx(c[V>>2]|0,(c[H>>2]|0)+2|0)|0;c[B>>2]=(c[J>>2]|0)+(c[H>>2]|0)+1;if((c[D>>2]|0)==8)c[K>>2]=Fx(c[T>>2]|0,31,(c[P>>2]|0)+1|0,0,c[U>>2]|0,c[N>>2]|0)|0;Xt(c[T>>2]|0,99,c[U>>2]|0,c[N>>2]|0,c[B>>2]|0)|0;if((c[D>>2]|0)==8){Wt(c[T>>2]|0,126,(c[P>>2]|0)+1|0,c[B>>2]|0)|0;px(c[T>>2]|0,16)}c[C>>2]=0;while(1){b=c[T>>2]|0;if((c[C>>2]|0)>=(c[H>>2]|0))break;Wt(b,85,(c[U>>2]|0)+(e[(c[(c[L>>2]|0)+4>>2]|0)+((c[C>>2]|0)*20|0)+16>>1]|0)-1|0,(c[J>>2]|0)+(c[C>>2]|0)|0)|0;c[C>>2]=(c[C>>2]|0)+1}Wt(b,113,c[P>>2]|0,(c[J>>2]|0)+(c[H>>2]|0)|0)|0;Xt(c[T>>2]|0,99,c[J>>2]|0,(c[H>>2]|0)+2|0,c[I>>2]|0)|0;Wt(c[T>>2]|0,126,c[P>>2]|0,c[I>>2]|0)|0;if(c[K>>2]|0)tx(c[T>>2]|0,c[K>>2]|0);Wu(c[V>>2]|0,c[I>>2]|0);Vx(c[V>>2]|0,c[J>>2]|0,(c[H>>2]|0)+2|0);break}default:{}}while(0);if(c[R>>2]|0){l=W;return}if(!(c[(c[Q>>2]|0)+12>>2]|0)){l=W;return}Wt(c[T>>2]|0,68,c[(c[Q>>2]|0)+12>>2]|0,c[S>>2]|0)|0;l=W;return}function SD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[d>>2]=a;c[e>>2]=b;if(!(c[e>>2]|0)){l=h;return}c[f>>2]=c[(c[e>>2]|0)+4>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[c[e>>2]>>2]|0))break;TD(c[d>>2]|0,c[c[f>>2]>>2]|0);c[g>>2]=(c[g>>2]|0)+1;c[f>>2]=(c[f>>2]|0)+20}l=h;return}function TD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+48|0;g=d+32|0;e=d+28|0;f=d;c[g>>2]=a;c[e>>2]=b;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[f+4>>2]=197;c[f+8>>2]=198;c[f+24>>2]=c[g>>2];Qv(f,c[e>>2]|0)|0;l=d;return}function UD(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[e>>2]=a;c[f>>2]=b;if((d[(c[e>>2]|0)+409>>0]|0|0)!=2){l=j;return}c[g>>2]=c[(c[e>>2]|0)+8>>2];b=c[c[e>>2]>>2]|0;c[i>>2]=c[f>>2];c[h>>2]=Bj(b,32135,i)|0;_t(c[g>>2]|0,162,c[(c[e>>2]|0)+420>>2]|0,0,0,c[h>>2]|0,-1)|0;l=j;return}function VD(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return d[(c[b>>2]|0)+44>>0]|0|0}function WD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;j=f+4|0;g=f;c[i>>2]=a;c[h>>2]=b;c[j>>2]=d;c[g>>2]=e;Xt(c[(c[i>>2]|0)+8>>2]|0,83,c[h>>2]|0,c[j>>2]|0,c[g>>2]|0)|0;Wx(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0);l=f;return}function XD(b,d){b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;n=v+56|0;o=v+52|0;p=v+48|0;q=v+44|0;r=v+40|0;s=v+36|0;t=v+32|0;u=v+28|0;f=v+24|0;g=v+20|0;h=v+16|0;i=v+12|0;j=v+8|0;k=v+4|0;m=v;c[n>>2]=b;c[o>>2]=d;c[p>>2]=c[(c[n>>2]|0)+8>>2];c[r>>2]=0;c[s>>2]=0;a[c[o>>2]>>0]=1;c[q>>2]=0;c[t>>2]=c[(c[o>>2]|0)+40>>2];while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+44>>2]|0))break;c[g>>2]=0;c[i>>2]=c[(c[c[t>>2]>>2]|0)+20>>2];if(c[i>>2]|0){c[f>>2]=c[c[i>>2]>>2];c[h>>2]=Sx(c[n>>2]|0,c[f>>2]|0)|0;ly(c[n>>2]|0,c[i>>2]|0,c[h>>2]|0,0,1)|0}else{c[f>>2]=0;c[h>>2]=0}if((c[(c[t>>2]|0)+12>>2]|0)>=0){c[g>>2]=qx(c[p>>2]|0)|0;fE(c[n>>2]|0,c[(c[t>>2]|0)+12>>2]|0,c[g>>2]|0,1,c[h>>2]|0)}if((e[(c[(c[t>>2]|0)+4>>2]|0)+2>>1]|0)&32|0){c[j>>2]=0;c[m>>2]=0;c[k>>2]=c[(c[i>>2]|0)+4>>2];while(1){if(c[j>>2]|0)break;if((c[m>>2]|0)>=(c[f>>2]|0))break;c[j>>2]=xv(c[n>>2]|0,c[c[k>>2]>>2]|0)|0;c[m>>2]=(c[m>>2]|0)+1;c[k>>2]=(c[k>>2]|0)+20}if(!(c[j>>2]|0))c[j>>2]=c[(c[c[n>>2]>>2]|0)+8>>2];if((c[r>>2]|0)==0?c[(c[o>>2]|0)+36>>2]|0:0){b=(c[n>>2]|0)+44|0;d=(c[b>>2]|0)+1|0;c[b>>2]=d;c[r>>2]=d}_t(c[p>>2]|0,88,c[r>>2]|0,0,0,c[j>>2]|0,-4)|0}_t(c[p>>2]|0,147,0,c[h>>2]|0,c[(c[t>>2]|0)+8>>2]|0,c[(c[t>>2]|0)+4>>2]|0,-5)|0;px(c[p>>2]|0,c[f>>2]&255);fy(c[n>>2]|0,c[h>>2]|0,c[f>>2]|0);Vx(c[n>>2]|0,c[h>>2]|0,c[f>>2]|0);if(c[g>>2]|0){ux(c[p>>2]|0,c[g>>2]|0);Kz(c[n>>2]|0)}c[q>>2]=(c[q>>2]|0)+1;c[t>>2]=(c[t>>2]|0)+16}if(c[r>>2]|0)c[s>>2]=kx(c[p>>2]|0,21,c[r>>2]|0)|0;Kz(c[n>>2]|0);c[q>>2]=0;c[u>>2]=c[(c[o>>2]|0)+28>>2];while(1){if((c[q>>2]|0)>=(c[(c[o>>2]|0)+36>>2]|0))break;ay(c[n>>2]|0,c[(c[u>>2]|0)+20>>2]|0,c[(c[u>>2]|0)+16>>2]|0);c[q>>2]=(c[q>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+24}a[c[o>>2]>>0]=0;Kz(c[n>>2]|0);if(!(c[s>>2]|0)){l=v;return}tx(c[p>>2]|0,c[s>>2]|0);l=v;return}function YD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[d>>2]=b;c[e>>2]=c[(c[j>>2]|0)+8>>2];c[f>>2]=0;c[g>>2]=c[(c[d>>2]|0)+40>>2];while(1){if((c[f>>2]|0)>=(c[(c[d>>2]|0)+44>>2]|0))break;c[h>>2]=c[(c[c[g>>2]>>2]|0)+20>>2];if(c[h>>2]|0)a=c[c[h>>2]>>2]|0;else a=0;_t(c[e>>2]|0,149,c[(c[g>>2]|0)+8>>2]|0,a,0,c[(c[g>>2]|0)+4>>2]|0,-5)|0;c[f>>2]=(c[f>>2]|0)+1;c[g>>2]=(c[g>>2]|0)+16}l=i;return}function ZD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;m=l;l=l+48|0;k=m;d=m+32|0;e=m+28|0;f=m+24|0;g=m+20|0;h=m+16|0;n=m+12|0;i=m+8|0;j=m+4|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[d>>2]|0)+8>>2];c[n>>2]=(c[(c[e>>2]|0)+44>>2]|0)+(c[(c[e>>2]|0)+32>>2]|0);if(!(c[n>>2]|0)){l=m;return}Xt(c[f>>2]|0,79,0,c[(c[e>>2]|0)+16>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[h>>2]=c[(c[e>>2]|0)+40>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[(c[e>>2]|0)+44>>2]|0))break;do if((c[(c[h>>2]|0)+12>>2]|0)>=0){c[i>>2]=c[c[h>>2]>>2];if(c[(c[i>>2]|0)+20>>2]|0?(c[c[(c[i>>2]|0)+20>>2]>>2]|0)==1:0){c[j>>2]=ID(c[d>>2]|0,c[(c[i>>2]|0)+20>>2]|0,0,0)|0;_t(c[f>>2]|0,107,c[(c[h>>2]|0)+12>>2]|0,0,0,c[j>>2]|0,-6)|0;break}Ck(c[d>>2]|0,32084,k);c[(c[h>>2]|0)+12>>2]=-1}while(0);c[g>>2]=(c[g>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+16}l=m;return}function _D(a,b){a=a|0;b=b|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=b;if((((c[(c[g>>2]|0)+32>>2]|0)==0?(c[c[c[g>>2]>>2]>>2]|0)==1:0)?(c[c[(c[g>>2]|0)+28>>2]>>2]|0)==1:0)?(c[(c[(c[g>>2]|0)+28>>2]|0)+8+20>>2]|0)==0:0){c[i>>2]=c[(c[(c[g>>2]|0)+28>>2]|0)+8+16>>2];c[j>>2]=c[c[(c[c[g>>2]>>2]|0)+4>>2]>>2];if((d[(c[i>>2]|0)+42>>0]|0)&16|0){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if((d[c[j>>2]>>0]|0|0)!=153){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if(!(c[(c[h>>2]|0)+44>>2]|0)){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if(!((e[(c[(c[(c[h>>2]|0)+40>>2]|0)+4>>2]|0)+2>>1]|0)&256)){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}if(c[(c[j>>2]|0)+4>>2]&16|0){c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}else{c[f>>2]=c[i>>2];j=c[f>>2]|0;l=k;return j|0}}c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function $D(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;m=n;i=n+28|0;j=n+24|0;g=n+20|0;h=n+16|0;k=n+12|0;c[i>>2]=b;c[j>>2]=e;c[g>>2]=f;if((d[(c[i>>2]|0)+409>>0]|0|0)!=2){l=n;return}if(c[g>>2]|0)if(!((d[(c[j>>2]|0)+42>>0]|0)&32))b=1;else b=(a[(c[g>>2]|0)+55>>0]&3|0)==2^1;else b=0;c[h>>2]=b&1;e=c[c[i>>2]>>2]|0;f=c[h>>2]|0?32043:47636;if(c[h>>2]|0)b=c[c[g>>2]>>2]|0;else b=47636;c[m>>2]=c[c[j>>2]>>2];c[m+4>>2]=f;c[m+8>>2]=b;c[k>>2]=Bj(e,32066,m)|0;_t(c[(c[i>>2]|0)+8>>2]|0,162,c[(c[i>>2]|0)+420>>2]|0,0,0,c[k>>2]|0,-1)|0;l=n;return}function aE(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;c[c[f>>2]>>2]=0;do if((((c[(c[e>>2]|0)+44>>2]|0)==1?(c[h>>2]=c[c[(c[e>>2]|0)+40>>2]>>2],c[i>>2]=c[(c[h>>2]|0)+20>>2],c[i>>2]|0):0)?(c[c[i>>2]>>2]|0)==1:0)?(d[c[c[(c[i>>2]|0)+4>>2]>>2]>>0]|0|0)==154:0){c[j>>2]=c[(c[h>>2]|0)+8>>2];if(!(Ig(c[j>>2]|0,18660)|0)){c[g>>2]=1;c[c[f>>2]>>2]=c[i>>2];break}if(!(Ig(c[j>>2]|0,18664)|0)){c[g>>2]=2;c[c[f>>2]>>2]=c[i>>2]}}while(0);l=k;return c[g>>2]&255|0}function bE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;x=E+84|0;r=E+80|0;D=E+76|0;y=E+72|0;s=E+68|0;B=E+64|0;C=E+60|0;u=E+56|0;A=E+52|0;h=E+48|0;z=E+44|0;i=E+40|0;v=E+36|0;j=E+32|0;t=E+28|0;w=E+24|0;k=E+20|0;m=E+16|0;n=E+12|0;o=E+8|0;p=E+4|0;q=E;c[x>>2]=a;c[r>>2]=b;c[D>>2]=e;c[y>>2]=f;c[s>>2]=g;c[B>>2]=c[(c[x>>2]|0)+8>>2];c[C>>2]=c[(c[D>>2]|0)+24>>2];c[u>>2]=qx(c[B>>2]|0)|0;c[h>>2]=0;c[i>>2]=c[c[D>>2]>>2];c[v>>2]=d[c[s>>2]>>0];c[j>>2]=c[(c[s>>2]|0)+8>>2];if(c[(c[D>>2]|0)+16>>2]|0){Wt(c[B>>2]|0,14,c[(c[D>>2]|0)+12>>2]|0,c[(c[D>>2]|0)+16>>2]|0)|0;sx(c[B>>2]|0,c[C>>2]|0)|0;ux(c[B>>2]|0,c[(c[D>>2]|0)+16>>2]|0)}c[z>>2]=c[(c[D>>2]|0)+8>>2];if((c[v>>2]|0)==9|(c[v>>2]|0)==13|(c[v>>2]|0)==10){c[w>>2]=0;c[t>>2]=c[(c[s>>2]|0)+12>>2];c[n>>2]=c[y>>2]}else{c[w>>2]=Uu(c[x>>2]|0)|0;c[t>>2]=Sx(c[x>>2]|0,c[y>>2]|0)|0;c[n>>2]=c[y>>2]}c[k>>2]=(c[c[i>>2]>>2]|0)-(c[(c[D>>2]|0)+4>>2]|0);if((d[(c[D>>2]|0)+28>>0]|0)&1|0){g=(c[x>>2]|0)+44|0;f=(c[g>>2]|0)+1|0;c[g>>2]=f;c[q>>2]=f;f=(c[x>>2]|0)+40|0;g=c[f>>2]|0;c[f>>2]=g+1;c[m>>2]=g;if(c[(c[D>>2]|0)+16>>2]|0)c[h>>2]=Tt(c[B>>2]|0,20)|0;Xt(c[B>>2]|0,110,c[m>>2]|0,c[q>>2]|0,(c[k>>2]|0)+1+(c[n>>2]|0)|0)|0;if(c[h>>2]|0)tx(c[B>>2]|0,c[h>>2]|0);c[A>>2]=1+(Wt(c[B>>2]|0,55,c[z>>2]|0,c[C>>2]|0)|0);eE(c[B>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[u>>2]|0);Xt(c[B>>2]|0,120,c[z>>2]|0,c[q>>2]|0,c[m>>2]|0)|0;c[p>>2]=0}else{c[A>>2]=1+(Wt(c[B>>2]|0,56,c[z>>2]|0,c[C>>2]|0)|0);eE(c[B>>2]|0,c[(c[r>>2]|0)+16>>2]|0,c[u>>2]|0);c[m>>2]=c[z>>2];c[p>>2]=1}c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break;Xt(c[B>>2]|0,96,c[m>>2]|0,(c[k>>2]|0)+(c[p>>2]|0)+(c[o>>2]|0)|0,(c[t>>2]|0)+(c[o>>2]|0)|0)|0;c[o>>2]=(c[o>>2]|0)+1}a:do switch(c[v>>2]|0){case 12:{Wt(c[B>>2]|0,114,c[j>>2]|0,c[w>>2]|0)|0;Xt(c[B>>2]|0,115,c[j>>2]|0,c[t>>2]|0,c[w>>2]|0)|0;px(c[B>>2]|0,8);break}case 11:{_t(c[B>>2]|0,99,c[t>>2]|0,c[y>>2]|0,c[w>>2]|0,c[(c[s>>2]|0)+4>>2]|0,c[y>>2]|0)|0;fy(c[x>>2]|0,c[t>>2]|0,c[y>>2]|0);Wt(c[B>>2]|0,126,c[j>>2]|0,c[w>>2]|0)|0;break}case 10:break;default:{a=c[B>>2]|0;b=c[s>>2]|0;if((c[v>>2]|0)==9){Wt(a,87,c[b+12>>2]|0,c[y>>2]|0)|0;fy(c[x>>2]|0,c[(c[s>>2]|0)+12>>2]|0,c[y>>2]|0);break a}else{kx(a,16,c[b+8>>2]|0)|0;break a}}}while(0);if(c[w>>2]|0){b=c[x>>2]|0;a=c[t>>2]|0;if((c[v>>2]|0)==11)Vx(b,a,c[y>>2]|0);else Wu(b,a);Wu(c[x>>2]|0,c[w>>2]|0)}ux(c[B>>2]|0,c[u>>2]|0);h=c[B>>2]|0;b=c[z>>2]|0;a=c[A>>2]|0;if((d[(c[D>>2]|0)+28>>0]|0)&1|0)Wt(h,3,b,a)|0;else Wt(h,7,b,a)|0;if(!(c[(c[D>>2]|0)+12>>2]|0)){B=c[B>>2]|0;D=c[C>>2]|0;ux(B,D);l=E;return}kx(c[B>>2]|0,72,c[(c[D>>2]|0)+12>>2]|0)|0;B=c[B>>2]|0;D=c[C>>2]|0;ux(B,D);l=E;return}function cE(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;z=A+8|0;y=A;r=A+72|0;s=A+68|0;t=A+64|0;u=A+60|0;v=A+56|0;w=A+52|0;x=A+48|0;h=A+44|0;i=A+40|0;j=A+36|0;k=A+32|0;m=A+28|0;n=A+24|0;o=A+20|0;p=A+16|0;q=A+12|0;c[r>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=c[(c[r>>2]|0)+8>>2];c[x>>2]=c[c[r>>2]>>2];if(a[(c[r>>2]|0)+409>>0]|0){l=A;return}if(d[(c[r>>2]|0)+16>>0]|0){l=A;return}if(d[(c[x>>2]|0)+69>>0]|0){l=A;return}a[(c[r>>2]|0)+16>>0]=1;c[h>>2]=(c[(c[x>>2]|0)+24>>2]&4|0)!=0&1;c[i>>2]=(c[(c[x>>2]|0)+24>>2]&64|0)!=0&1;Xr(c[u>>2]|0,c[c[t>>2]>>2]|0);c[v>>2]=0;while(1){if((c[v>>2]|0)>=(c[c[t>>2]>>2]|0))break;c[j>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)>>2];do if(c[j>>2]|0){if(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2]|0){c[k>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+4>>2];Yr(c[u>>2]|0,c[v>>2]|0,0,c[k>>2]|0,-1)|0;break}if((d[c[j>>2]>>0]|0)!=152?(d[c[j>>2]>>0]|0)!=154:0){c[q>>2]=c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2];e=c[x>>2]|0;if(!(c[q>>2]|0)){c[z>>2]=(c[v>>2]|0)+1;e=Bj(e,32034,z)|0}else e=go(e,c[q>>2]|0)|0;c[q>>2]=e;Yr(c[u>>2]|0,c[v>>2]|0,0,c[q>>2]|0,169)|0;break}c[o>>2]=b[(c[j>>2]|0)+32>>1];c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[c[s>>2]>>2]|0))break;if((c[(c[s>>2]|0)+8+((c[w>>2]|0)*72|0)+44>>2]|0)==(c[(c[j>>2]|0)+28>>2]|0))break;c[w>>2]=(c[w>>2]|0)+1}c[m>>2]=c[(c[s>>2]|0)+8+((c[w>>2]|0)*72|0)+16>>2];if((c[o>>2]|0)<0)c[o>>2]=b[(c[m>>2]|0)+32>>1];if((c[o>>2]|0)<0)c[n>>2]=22891;else c[n>>2]=c[(c[(c[m>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2];if(!((c[i>>2]|0)!=0|(c[h>>2]|0)!=0)){f=c[u>>2]|0;g=c[v>>2]|0;Yr(f,g,0,go(c[x>>2]|0,c[(c[(c[t>>2]|0)+4>>2]|0)+((c[v>>2]|0)*20|0)+8>>2]|0)|0,169)|0;break}if(c[h>>2]|0){c[p>>2]=0;g=c[x>>2]|0;f=c[n>>2]|0;c[y>>2]=c[c[m>>2]>>2];c[y+4>>2]=f;c[p>>2]=Bj(g,26470,y)|0;Yr(c[u>>2]|0,c[v>>2]|0,0,c[p>>2]|0,169)|0;break}else{Yr(c[u>>2]|0,c[v>>2]|0,0,c[n>>2]|0,-1)|0;break}}while(0);c[v>>2]=(c[v>>2]|0)+1}dE(c[r>>2]|0,c[s>>2]|0,c[t>>2]|0);l=A;return}function dE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+64|0;m=k+56|0;n=k+52|0;f=k+48|0;g=k+44|0;h=k+40|0;i=k+8|0;j=k+4|0;e=k;c[m>>2]=a;c[n>>2]=b;c[f>>2]=d;c[g>>2]=c[(c[m>>2]|0)+8>>2];c[i+4>>2]=c[n>>2];c[i>>2]=c[m>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[f>>2]>>2]|0))break;c[j>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2];c[e>>2]=vv(i,c[j>>2]|0,0)|0;Yr(c[g>>2]|0,c[h>>2]|0,1,c[e>>2]|0,-1)|0;c[h>>2]=(c[h>>2]|0)+1}l=k;return}function eE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if((c[f>>2]|0)<=0){l=h;return}Xt(c[e>>2]|0,66,c[f>>2]|0,c[g>>2]|0,1)|0;l=h;return}function fE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;g=l;l=l+32|0;i=g+24|0;j=g+20|0;o=g+16|0;m=g+12|0;n=g+8|0;k=g+4|0;h=g;c[i>>2]=a;c[j>>2]=b;c[o>>2]=d;c[m>>2]=e;c[n>>2]=f;c[k>>2]=c[(c[i>>2]|0)+8>>2];c[h>>2]=Uu(c[i>>2]|0)|0;Fx(c[k>>2]|0,31,c[j>>2]|0,c[o>>2]|0,c[n>>2]|0,c[m>>2]|0)|0;Xt(c[k>>2]|0,99,c[n>>2]|0,c[m>>2]|0,c[h>>2]|0)|0;Wt(c[k>>2]|0,126,c[j>>2]|0,c[h>>2]|0)|0;Wu(c[i>>2]|0,c[h>>2]|0);l=g;return}function gE(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;A=l;l=l+80|0;w=A+64|0;q=A+60|0;x=A+56|0;y=A+52|0;r=A+48|0;u=A+44|0;s=A+40|0;z=A+36|0;h=A+32|0;i=A+28|0;j=A+24|0;k=A+20|0;m=A+16|0;n=A+12|0;o=A+8|0;p=A+4|0;v=A;t=A+68|0;c[q>>2]=f;c[x>>2]=g;c[r>>2]=c[(c[q>>2]|0)+24>>2];c[u>>2]=c[c[r>>2]>>2];c[s>>2]=c[(c[r>>2]|0)+4>>2];c[z>>2]=c[(c[r>>2]|0)+12>>2];switch(d[c[x>>2]>>0]|0){case 152:case 154:{a:do if(c[s>>2]|0){c[h>>2]=(c[s>>2]|0)+8;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[c[s>>2]>>2]|0))break a;if((c[(c[x>>2]|0)+28>>2]|0)==(c[(c[h>>2]|0)+44>>2]|0))break;c[y>>2]=(c[y>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+72}c[i>>2]=c[(c[z>>2]|0)+28>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[(c[z>>2]|0)+32>>2]|0))break;if((c[(c[i>>2]|0)+4>>2]|0)==(c[(c[x>>2]|0)+28>>2]|0)?(c[(c[i>>2]|0)+8>>2]|0)==(b[(c[x>>2]|0)+32>>1]|0):0)break;c[j>>2]=(c[j>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+24}if((c[j>>2]|0)>=(c[(c[z>>2]|0)+32>>2]|0)?(y=iE(c[c[u>>2]>>2]|0,c[z>>2]|0)|0,c[j>>2]=y,(y|0)>=0):0){c[i>>2]=(c[(c[z>>2]|0)+28>>2]|0)+((c[j>>2]|0)*24|0);c[c[i>>2]>>2]=c[(c[x>>2]|0)+44>>2];c[(c[i>>2]|0)+4>>2]=c[(c[x>>2]|0)+28>>2];c[(c[i>>2]|0)+8>>2]=b[(c[x>>2]|0)+32>>1];v=(c[u>>2]|0)+44|0;y=(c[v>>2]|0)+1|0;c[v>>2]=y;c[(c[i>>2]|0)+16>>2]=y;c[(c[i>>2]|0)+12>>2]=-1;c[(c[i>>2]|0)+20>>2]=c[x>>2];b:do if(c[(c[z>>2]|0)+24>>2]|0){c[n>>2]=c[(c[z>>2]|0)+24>>2];c[o>>2]=c[(c[n>>2]|0)+4>>2];c[m>>2]=c[c[n>>2]>>2];c[k>>2]=0;while(1){if((c[k>>2]|0)>=(c[m>>2]|0))break b;c[p>>2]=c[c[o>>2]>>2];if(((d[c[p>>2]>>0]|0)==152?(c[(c[p>>2]|0)+28>>2]|0)==(c[(c[x>>2]|0)+28>>2]|0):0)?(b[(c[p>>2]|0)+32>>1]|0)==(b[(c[x>>2]|0)+32>>1]|0):0)break;c[k>>2]=(c[k>>2]|0)+1;c[o>>2]=(c[o>>2]|0)+20}c[(c[i>>2]|0)+12>>2]=c[k>>2]}while(0);if((c[(c[i>>2]|0)+12>>2]|0)<0){v=(c[z>>2]|0)+12|0;y=c[v>>2]|0;c[v>>2]=y+1;c[(c[i>>2]|0)+12>>2]=y}}c[(c[x>>2]|0)+40>>2]=c[z>>2];a[c[x>>2]>>0]=-102;b[(c[x>>2]|0)+34>>1]=c[j>>2]}while(0);c[w>>2]=1;z=c[w>>2]|0;l=A;return z|0}case 153:{if((e[(c[r>>2]|0)+28>>1]&8|0)==0?(c[(c[q>>2]|0)+16>>2]|0)==(d[(c[x>>2]|0)+38>>0]|0):0){c[v>>2]=c[(c[z>>2]|0)+40>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[(c[z>>2]|0)+44>>2]|0))break;if(!(cw(c[c[v>>2]>>2]|0,c[x>>2]|0,-1)|0))break;c[y>>2]=(c[y>>2]|0)+1;c[v>>2]=(c[v>>2]|0)+16}if((c[y>>2]|0)>=(c[(c[z>>2]|0)+44>>2]|0)?(a[t>>0]=a[(c[c[u>>2]>>2]|0)+66>>0]|0,c[y>>2]=jE(c[c[u>>2]>>2]|0,c[z>>2]|0)|0,(c[y>>2]|0)>=0):0){c[v>>2]=(c[(c[z>>2]|0)+40>>2]|0)+(c[y>>2]<<4);c[c[v>>2]>>2]=c[x>>2];r=(c[u>>2]|0)+44|0;s=(c[r>>2]|0)+1|0;c[r>>2]=s;c[(c[v>>2]|0)+8>>2]=s;if(c[(c[x>>2]|0)+20>>2]|0)f=c[c[(c[x>>2]|0)+20>>2]>>2]|0;else f=0;t=uw(c[c[u>>2]>>2]|0,c[(c[x>>2]|0)+8>>2]|0,f,a[t>>0]|0,0)|0;c[(c[v>>2]|0)+4>>2]=t;if(c[(c[x>>2]|0)+4>>2]&16|0){f=(c[u>>2]|0)+40|0;g=c[f>>2]|0;c[f>>2]=g+1;f=c[v>>2]|0}else{g=-1;f=c[v>>2]|0}c[f+12>>2]=g}b[(c[x>>2]|0)+34>>1]=c[y>>2];c[(c[x>>2]|0)+40>>2]=c[z>>2];c[w>>2]=1;z=c[w>>2]|0;l=A;return z|0}c[w>>2]=0;z=c[w>>2]|0;l=A;return z|0}default:{c[w>>2]=0;z=c[w>>2]|0;l=A;return z|0}}return 0}function hE(a,b){a=a|0;b=b|0;var d=0;d=l;l=l+16|0;c[d+4>>2]=a;c[d>>2]=b;l=d;return 0}function iE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=lA(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0,24,(c[f>>2]|0)+32|0,d)|0;c[(c[f>>2]|0)+28>>2]=b;l=e;return c[d>>2]|0}function jE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;b=lA(c[g>>2]|0,c[(c[f>>2]|0)+40>>2]|0,16,(c[f>>2]|0)+44|0,d)|0;c[(c[f>>2]|0)+40>>2]=b;l=e;return c[d>>2]|0}function kE(b,f,g,h,i,j,k){b=b|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0;L=l;l=l+112|0;J=L+96|0;K=L+92|0;m=L+88|0;n=L+84|0;o=L+80|0;r=L+76|0;p=L+72|0;s=L+68|0;t=L+64|0;u=L+60|0;q=L+56|0;v=L+52|0;w=L+48|0;x=L+44|0;y=L+40|0;z=L+36|0;A=L+32|0;B=L+28|0;C=L+24|0;D=L+20|0;E=L+16|0;F=L+12|0;G=L+8|0;H=L+4|0;I=L;c[J>>2]=b;c[K>>2]=f;c[m>>2]=g;c[n>>2]=h;c[o>>2]=i;c[r>>2]=j;c[p>>2]=k;c[s>>2]=c[(c[J>>2]|0)+8>>2];c[t>>2]=(d[(c[K>>2]|0)+28>>0]&1|0)==0&1;c[u>>2]=c[c[c[K>>2]>>2]>>2];c[q>>2]=(c[u>>2]|0)+(c[t>>2]|0)+(c[r>>2]|0);j=(c[J>>2]|0)+44|0;k=(c[j>>2]|0)+1|0;c[j>>2]=k;c[w>>2]=k;c[x>>2]=c[(c[K>>2]|0)+4>>2];if(c[p>>2]|0)c[v>>2]=(c[n>>2]|0)-(c[u>>2]|0)-(c[t>>2]|0);else{c[v>>2]=(c[(c[J>>2]|0)+44>>2]|0)+1;k=(c[J>>2]|0)+44|0;c[k>>2]=(c[k>>2]|0)+(c[q>>2]|0)}b=c[m>>2]|0;if(c[(c[m>>2]|0)+16>>2]|0)b=(c[b+16>>2]|0)+1|0;else b=c[b+12>>2]|0;c[z>>2]=b;m=qx(c[s>>2]|0)|0;c[(c[K>>2]|0)+24>>2]=m;ly(c[J>>2]|0,c[c[K>>2]>>2]|0,c[v>>2]|0,c[o>>2]|0,5)|0;if(c[t>>2]|0)Wt(c[s>>2]|0,113,c[(c[K>>2]|0)+8>>2]|0,(c[v>>2]|0)+(c[u>>2]|0)|0)|0;if(!(c[p>>2]|0))WD(c[J>>2]|0,c[n>>2]|0,(c[v>>2]|0)+(c[u>>2]|0)+(c[t>>2]|0)|0,c[r>>2]|0);Xt(c[s>>2]|0,99,(c[v>>2]|0)+(c[x>>2]|0)|0,(c[q>>2]|0)-(c[x>>2]|0)|0,c[w>>2]|0)|0;if((c[x>>2]|0)>0){c[A>>2]=(c[(c[J>>2]|0)+44>>2]|0)+1;b=(c[J>>2]|0)+44|0;c[b>>2]=(c[b>>2]|0)+(c[(c[K>>2]|0)+4>>2]|0);c[E>>2]=(c[u>>2]|0)-(c[(c[K>>2]|0)+4>>2]|0)+(c[t>>2]|0);b=c[s>>2]|0;if(c[t>>2]|0)c[B>>2]=kx(b,22,(c[v>>2]|0)+(c[u>>2]|0)|0)|0;else c[B>>2]=kx(b,109,c[(c[K>>2]|0)+8>>2]|0)|0;Xt(c[s>>2]|0,95,c[A>>2]|0,c[v>>2]|0,c[(c[K>>2]|0)+4>>2]|0)|0;c[D>>2]=Ax(c[s>>2]|0,c[(c[K>>2]|0)+20>>2]|0)|0;if(a[(c[c[J>>2]>>2]|0)+69>>0]|0){l=L;return}c[(c[D>>2]|0)+8>>2]=(c[E>>2]|0)+(c[r>>2]|0);c[F>>2]=c[(c[D>>2]|0)+16>>2];GR(c[(c[F>>2]|0)+16>>2]|0,0,e[(c[F>>2]|0)+6>>1]|0)|0;$t(c[s>>2]|0,-1,c[F>>2]|0,-6);E=ID(c[J>>2]|0,c[c[K>>2]>>2]|0,c[x>>2]|0,(e[(c[F>>2]|0)+8>>1]|0)-1|0)|0;c[(c[D>>2]|0)+16>>2]=E;c[C>>2]=Vu(c[s>>2]|0)|0;Xt(c[s>>2]|0,18,(c[C>>2]|0)+1|0,0,(c[C>>2]|0)+1|0)|0;E=qx(c[s>>2]|0)|0;c[(c[K>>2]|0)+16>>2]=E;E=(c[J>>2]|0)+44|0;F=(c[E>>2]|0)+1|0;c[E>>2]=F;c[(c[K>>2]|0)+12>>2]=F;Wt(c[s>>2]|0,14,c[(c[K>>2]|0)+12>>2]|0,c[(c[K>>2]|0)+16>>2]|0)|0;kx(c[s>>2]|0,133,c[(c[K>>2]|0)+8>>2]|0)|0;if(c[z>>2]|0)Wt(c[s>>2]|0,22,c[z>>2]|0,c[(c[K>>2]|0)+24>>2]|0)|0;tx(c[s>>2]|0,c[B>>2]|0);WD(c[J>>2]|0,c[v>>2]|0,c[A>>2]|0,c[(c[K>>2]|0)+4>>2]|0);tx(c[s>>2]|0,c[C>>2]|0)}if(d[(c[K>>2]|0)+28>>0]&1|0)c[y>>2]=125;else c[y>>2]=126;Wt(c[s>>2]|0,c[y>>2]|0,c[(c[K>>2]|0)+8>>2]|0,c[w>>2]|0)|0;if(!(c[z>>2]|0)){l=L;return}c[H>>2]=0;c[G>>2]=Xt(c[s>>2]|0,67,c[z>>2]|0,0,1)|0;kx(c[s>>2]|0,53,c[(c[K>>2]|0)+8>>2]|0)|0;if(a[(c[K>>2]|0)+29>>0]|0){F=(c[J>>2]|0)+44|0;J=(c[F>>2]|0)+1|0;c[F>>2]=J;c[H>>2]=J;Xt(c[s>>2]|0,96,c[(c[K>>2]|0)+8>>2]|0,c[u>>2]|0,c[H>>2]|0)|0}kx(c[s>>2]|0,117,c[(c[K>>2]|0)+8>>2]|0)|0;if(a[(c[K>>2]|0)+29>>0]|0){c[I>>2]=(Vu(c[s>>2]|0)|0)+2;Xt(c[s>>2]|0,37,(c[v>>2]|0)+(c[u>>2]|0)|0,c[I>>2]|0,c[H>>2]|0)|0;px(c[s>>2]|0,-128)}tx(c[s>>2]|0,c[G>>2]|0);l=L;return}function lE(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;m=q+20|0;i=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;j=q;c[i>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;if(!(c[n>>2]|0)){c[m>>2]=0;p=c[m>>2]|0;l=q;return p|0}do if((d[c[n>>2]>>0]|0)==152?(c[(c[n>>2]|0)+28>>2]|0)==(c[o>>2]|0):0)if((b[(c[n>>2]|0)+32>>1]|0)<0){a[c[n>>2]>>0]=101;break}else{c[j>>2]=aw(c[i>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((b[(c[n>>2]|0)+32>>1]|0)*20|0)>>2]|0,0)|0;ck(c[i>>2]|0,c[n>>2]|0);c[n>>2]=c[j>>2];break}else k=8;while(0);do if((k|0)==8){e=lE(c[i>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+12>>2]=e;e=lE(c[i>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[o>>2]|0,c[p>>2]|0)|0;c[(c[n>>2]|0)+16>>2]=e;e=c[i>>2]|0;f=(c[n>>2]|0)+20|0;if(c[(c[n>>2]|0)+4>>2]&2048|0){mE(e,c[f>>2]|0,c[o>>2]|0,c[p>>2]|0,1);break}else{nE(e,c[f>>2]|0,c[o>>2]|0,c[p>>2]|0);break}}while(0);c[m>>2]=c[n>>2];p=c[m>>2]|0;l=q;return p|0}function mE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;h=q+8|0;i=q+4|0;j=q;c[k>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;if(!(c[m>>2]|0)){l=q;return}while(1){nE(c[k>>2]|0,c[c[m>>2]>>2]|0,c[n>>2]|0,c[o>>2]|0);nE(c[k>>2]|0,c[(c[m>>2]|0)+36>>2]|0,c[n>>2]|0,c[o>>2]|0);nE(c[k>>2]|0,c[(c[m>>2]|0)+44>>2]|0,c[n>>2]|0,c[o>>2]|0);g=lE(c[k>>2]|0,c[(c[m>>2]|0)+40>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[(c[m>>2]|0)+40>>2]=g;g=lE(c[k>>2]|0,c[(c[m>>2]|0)+32>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;c[(c[m>>2]|0)+32>>2]=g;c[h>>2]=c[(c[m>>2]|0)+28>>2];c[j>>2]=c[c[h>>2]>>2];c[i>>2]=(c[h>>2]|0)+8;while(1){if((c[j>>2]|0)<=0)break;mE(c[k>>2]|0,c[(c[i>>2]|0)+20>>2]|0,c[n>>2]|0,c[o>>2]|0,1);if((d[(c[i>>2]|0)+36+1>>0]|0)>>>2&1|0)nE(c[k>>2]|0,c[(c[i>>2]|0)+64>>2]|0,c[n>>2]|0,c[o>>2]|0);c[j>>2]=(c[j>>2]|0)+-1;c[i>>2]=(c[i>>2]|0)+72}if(!(c[p>>2]|0)){a=9;break}g=c[(c[m>>2]|0)+48>>2]|0;c[m>>2]=g;if(!g){a=9;break}}if((a|0)==9){l=q;return}}function nE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){l=k;return}c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[g>>2]>>2]|0))break;e=lE(c[f>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;c[(c[(c[g>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]=e;c[j>>2]=(c[j>>2]|0)+1}l=k;return}function oE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;f=m+20|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;c[j>>2]=1;c[k>>2]=0;while(1){if(!(c[(c[g>>2]|0)+48>>2]|0))break;c[g>>2]=c[(c[g>>2]|0)+48>>2];c[j>>2]=(c[j>>2]|0)+1}while(1){if(!(c[g>>2]|0)){a=7;break}c[i>>2]=c[(c[g>>2]|0)+48>>2];c[(c[g>>2]|0)+48>>2]=0;c[k>>2]=Gs(c[f>>2]|0,c[g>>2]|0,c[h>>2]|0)|0;c[(c[g>>2]|0)+48>>2]=c[i>>2];if(c[k>>2]|0){a=7;break}b[(c[g>>2]|0)+6>>1]=c[j>>2];c[g>>2]=c[(c[g>>2]|0)+52>>2]}if((a|0)==7){l=m;return c[k>>2]|0}return 0}function pE(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;G=l;l=l+128|0;F=G;A=G+120|0;B=G+116|0;C=G+112|0;g=G+108|0;n=G+104|0;D=G+100|0;E=G+96|0;o=G+92|0;p=G+88|0;q=G+84|0;r=G+80|0;s=G+76|0;t=G+72|0;i=G+68|0;j=G+64|0;u=G+40|0;f=G+32|0;k=G+28|0;v=G+24|0;w=G+20|0;x=G+16|0;y=G+12|0;z=G+8|0;m=G+4|0;c[A>>2]=a;c[B>>2]=b;c[C>>2]=e;c[g>>2]=c[(c[B>>2]|0)+28>>2];c[n>>2]=c[c[c[B>>2]>>2]>>2];c[D>>2]=c[(c[A>>2]|0)+8>>2];c[E>>2]=c[(c[B>>2]|0)+48>>2];c[r>>2]=0;c[i>>2]=0;c[j>>2]=5;if(Ot(c[A>>2]|0,33,0,0,0)|0){l=G;return}c[q>>2]=qx(c[D>>2]|0)|0;JD(c[A>>2]|0,c[B>>2]|0,c[q>>2]|0);c[w>>2]=c[(c[B>>2]|0)+56>>2];c[x>>2]=c[(c[B>>2]|0)+60>>2];c[y>>2]=c[(c[B>>2]|0)+12>>2];c[z>>2]=c[(c[B>>2]|0)+16>>2];c[(c[B>>2]|0)+60>>2]=0;c[(c[B>>2]|0)+56>>2]=0;c[(c[B>>2]|0)+16>>2]=0;c[(c[B>>2]|0)+12>>2]=0;c[v>>2]=c[(c[B>>2]|0)+44>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[g>>2]>>2]|0))break;if((d[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+36+1>>0]|0)>>>5&1|0){h=5;break}c[f>>2]=(c[f>>2]|0)+1}if((h|0)==5)c[r>>2]=c[(c[g>>2]|0)+8+((c[f>>2]|0)*72|0)+44>>2];h=(c[A>>2]|0)+40|0;a=c[h>>2]|0;c[h>>2]=a+1;c[t>>2]=a;a=(c[v>>2]|0)!=0;if((d[(c[B>>2]|0)+4>>0]|0|0)==115){c[j>>2]=a?8:6;g=(c[A>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[i>>2]=h}else c[j>>2]=a?7:5;Gy(u,c[j>>2]|0,c[t>>2]|0);h=(c[A>>2]|0)+44|0;j=(c[h>>2]|0)+1|0;c[h>>2]=j;c[s>>2]=j;Xt(c[D>>2]|0,110,c[r>>2]|0,c[s>>2]|0,c[n>>2]|0)|0;if(c[v>>2]|0){c[m>>2]=tE(c[A>>2]|0,c[B>>2]|0,1)|0;_t(c[D>>2]|0,107,c[t>>2]|0,(c[c[v>>2]>>2]|0)+2|0,0,c[m>>2]|0,-6)|0;c[u+20>>2]=c[v>>2]}else Wt(c[D>>2]|0,107,c[t>>2]|0,c[n>>2]|0)|0;if(c[i>>2]|0){n=Wt(c[D>>2]|0,107,c[i>>2]|0,0)|0;c[(c[B>>2]|0)+20>>2]=n;n=(c[B>>2]|0)+8|0;c[n>>2]=c[n>>2]|32}c[(c[B>>2]|0)+44>>2]=0;c[(c[E>>2]|0)+52>>2]=0;c[k>>2]=Gs(c[A>>2]|0,c[E>>2]|0,u)|0;c[(c[E>>2]|0)+52>>2]=c[B>>2];if(!(c[k>>2]|0)){c[o>>2]=Wt(c[D>>2]|0,57,c[t>>2]|0,c[q>>2]|0)|0;kx(c[D>>2]|0,124,c[r>>2]|0)|0;a=c[D>>2]|0;b=c[t>>2]|0;if(c[v>>2]|0)Xt(a,96,b,(c[c[v>>2]>>2]|0)+1|0,c[s>>2]|0)|0;else Wt(a,122,b,c[s>>2]|0)|0;kx(c[D>>2]|0,117,c[t>>2]|0)|0;c[p>>2]=qx(c[D>>2]|0)|0;eE(c[D>>2]|0,c[z>>2]|0,c[p>>2]|0);RD(c[A>>2]|0,c[B>>2]|0,c[c[B>>2]>>2]|0,c[r>>2]|0,0,0,c[C>>2]|0,c[p>>2]|0,c[q>>2]|0);if(c[y>>2]|0)Wt(c[D>>2]|0,68,c[y>>2]|0,c[q>>2]|0)|0;ux(c[D>>2]|0,c[p>>2]|0);if(c[(c[B>>2]|0)+8>>2]&8|0)Ck(c[A>>2]|0,32307,F);else{c[(c[B>>2]|0)+48>>2]=0;Gs(c[A>>2]|0,c[B>>2]|0,u)|0;c[(c[B>>2]|0)+48>>2]=c[E>>2]}sx(c[D>>2]|0,c[o>>2]|0)|0;ux(c[D>>2]|0,c[q>>2]|0)}_j(c[c[A>>2]>>2]|0,c[(c[B>>2]|0)+44>>2]|0);c[(c[B>>2]|0)+44>>2]=c[v>>2];c[(c[B>>2]|0)+56>>2]=c[w>>2];c[(c[B>>2]|0)+60>>2]=c[x>>2];l=G;return}function qE(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0;ba=l;l=l+224|0;K=ba+220|0;U=ba+216|0;_=ba+212|0;$=ba+208|0;o=ba+204|0;p=ba+200|0;aa=ba+196|0;q=ba+192|0;r=ba+168|0;s=ba+144|0;t=ba+140|0;u=ba+136|0;v=ba+132|0;w=ba+128|0;x=ba+124|0;y=ba+120|0;z=ba+116|0;A=ba+112|0;B=ba+108|0;C=ba+104|0;D=ba+100|0;E=ba+96|0;F=ba+92|0;G=ba+88|0;H=ba+84|0;I=ba+80|0;J=ba+76|0;L=ba+72|0;M=ba+68|0;N=ba+64|0;O=ba+60|0;P=ba+56|0;Q=ba+52|0;R=ba+48|0;S=ba+44|0;T=ba+40|0;i=ba+36|0;V=ba+32|0;W=ba+28|0;X=ba+24|0;Y=ba+20|0;j=ba+16|0;k=ba+12|0;m=ba+8|0;n=ba+4|0;Z=ba;c[U>>2]=f;c[_>>2]=g;c[$>>2]=h;c[A>>2]=0;c[R>>2]=0;c[T>>2]=c[c[U>>2]>>2];c[q>>2]=c[(c[U>>2]|0)+8>>2];c[O>>2]=qx(c[q>>2]|0)|0;c[N>>2]=qx(c[q>>2]|0)|0;c[Q>>2]=d[(c[_>>2]|0)+4>>0];c[aa>>2]=c[(c[_>>2]|0)+48>>2];c[i>>2]=c[(c[_>>2]|0)+44>>2];c[V>>2]=c[c[i>>2]>>2];a:do if((c[Q>>2]|0)!=116){c[o>>2]=1;while(1){if(d[(c[T>>2]|0)+69>>0]|0)break a;if((c[o>>2]|0)>(c[c[c[_>>2]>>2]>>2]|0))break a;c[p>>2]=0;c[j>>2]=c[(c[i>>2]|0)+4>>2];while(1){if((c[p>>2]|0)>=(c[V>>2]|0))break;if((e[(c[j>>2]|0)+16>>1]|0)==(c[o>>2]|0))break;c[p>>2]=(c[p>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+20}if((c[p>>2]|0)==(c[V>>2]|0)){c[k>>2]=Ns(c[T>>2]|0,134,0)|0;if(!(c[k>>2]|0))break;h=(c[k>>2]|0)+4|0;c[h>>2]=c[h>>2]|1024;c[(c[k>>2]|0)+8>>2]=c[o>>2];c[i>>2]=Ks(c[U>>2]|0,c[i>>2]|0,c[k>>2]|0)|0;if(c[i>>2]|0){f=c[o>>2]&65535;g=c[(c[i>>2]|0)+4>>2]|0;h=c[V>>2]|0;c[V>>2]=h+1;b[g+(h*20|0)+16>>1]=f}}c[o>>2]=(c[o>>2]|0)+1}c[K>>2]=7;aa=c[K>>2]|0;l=ba;return aa|0}while(0);c[W>>2]=od(c[T>>2]|0,(c[V>>2]|0)+1<<2,0)|0;if(c[W>>2]|0){c[c[W>>2]>>2]=c[V>>2];c[o>>2]=1;c[m>>2]=c[(c[i>>2]|0)+4>>2];while(1){if((c[o>>2]|0)>(c[V>>2]|0))break;c[(c[W>>2]|0)+(c[o>>2]<<2)>>2]=(e[(c[m>>2]|0)+16>>1]|0)-1;c[o>>2]=(c[o>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+20}c[S>>2]=tE(c[U>>2]|0,c[_>>2]|0,1)|0}else c[S>>2]=0;c[(c[_>>2]|0)+44>>2]=c[i>>2];p=iw(c[c[U>>2]>>2]|0,c[i>>2]|0,0)|0;c[(c[aa>>2]|0)+44>>2]=p;b:do if((c[Q>>2]|0)!=116){c[n>>2]=c[c[c[_>>2]>>2]>>2];c[J>>2]=(c[(c[U>>2]|0)+44>>2]|0)+1;p=(c[U>>2]|0)+44|0;c[p>>2]=(c[p>>2]|0)+((c[n>>2]|0)+1);Wt(c[q>>2]|0,76,0,c[J>>2]|0)|0;c[R>>2]=Ex(c[T>>2]|0,c[n>>2]|0,1)|0;if(c[R>>2]|0){c[o>>2]=0;while(1){if((c[o>>2]|0)>=(c[n>>2]|0))break b;p=sE(c[U>>2]|0,c[_>>2]|0,c[o>>2]|0)|0;c[(c[R>>2]|0)+20+(c[o>>2]<<2)>>2]=p;a[(c[(c[R>>2]|0)+16>>2]|0)+(c[o>>2]|0)>>0]=0;c[o>>2]=(c[o>>2]|0)+1}}}else c[J>>2]=0;while(0);c[(c[_>>2]|0)+48>>2]=0;c[(c[aa>>2]|0)+52>>2]=0;lw(c[U>>2]|0,c[_>>2]|0,c[(c[_>>2]|0)+44>>2]|0,25405)|0;if(!(c[(c[aa>>2]|0)+48>>2]|0))lw(c[U>>2]|0,c[aa>>2]|0,c[(c[aa>>2]|0)+44>>2]|0,25405)|0;JD(c[U>>2]|0,c[_>>2]|0,c[O>>2]|0);if((c[Q>>2]|0)==116?(c[(c[_>>2]|0)+12>>2]|0)!=0:0){f=(c[U>>2]|0)+44|0;p=(c[f>>2]|0)+1|0;c[f>>2]=p;c[H>>2]=p;p=(c[U>>2]|0)+44|0;f=(c[p>>2]|0)+1|0;c[p>>2]=f;c[I>>2]=f;f=c[_>>2]|0;if(c[(c[_>>2]|0)+16>>2]|0)f=(c[f+16>>2]|0)+1|0;else f=c[f+12>>2]|0;Wt(c[q>>2]|0,84,f,c[H>>2]|0)|0;Wt(c[q>>2]|0,84,c[H>>2]|0,c[I>>2]|0)|0}else{c[I>>2]=0;c[H>>2]=0}ck(c[T>>2]|0,c[(c[_>>2]|0)+56>>2]|0);c[(c[_>>2]|0)+56>>2]=0;ck(c[T>>2]|0,c[(c[_>>2]|0)+60>>2]|0);c[(c[_>>2]|0)+60>>2]=0;p=(c[U>>2]|0)+44|0;o=(c[p>>2]|0)+1|0;c[p>>2]=o;c[t>>2]=o;o=(c[U>>2]|0)+44|0;p=(c[o>>2]|0)+1|0;c[o>>2]=p;c[u>>2]=p;p=(c[U>>2]|0)+44|0;o=(c[p>>2]|0)+1|0;c[p>>2]=o;c[x>>2]=o;o=(c[U>>2]|0)+44|0;p=(c[o>>2]|0)+1|0;c[o>>2]=p;c[y>>2]=p;Gy(r,13,c[t>>2]|0);Gy(s,13,c[u>>2]|0);c[v>>2]=(Vu(c[q>>2]|0)|0)+1;c[P>>2]=Xt(c[q>>2]|0,15,c[t>>2]|0,0,c[v>>2]|0)|0;c[(c[aa>>2]|0)+12>>2]=c[H>>2];c[X>>2]=c[(c[U>>2]|0)+424>>2];Gs(c[U>>2]|0,c[aa>>2]|0,r)|0;rA(c[q>>2]|0,c[t>>2]|0);tx(c[q>>2]|0,c[P>>2]|0);c[w>>2]=(Vu(c[q>>2]|0)|0)+1;c[P>>2]=Xt(c[q>>2]|0,15,c[u>>2]|0,0,c[w>>2]|0)|0;c[L>>2]=c[(c[_>>2]|0)+12>>2];c[M>>2]=c[(c[_>>2]|0)+16>>2];c[(c[_>>2]|0)+12>>2]=c[I>>2];c[(c[_>>2]|0)+16>>2]=0;c[Y>>2]=c[(c[U>>2]|0)+424>>2];Gs(c[U>>2]|0,c[_>>2]|0,s)|0;c[(c[_>>2]|0)+12>>2]=c[L>>2];c[(c[_>>2]|0)+16>>2]=c[M>>2];rA(c[q>>2]|0,c[u>>2]|0);c[z>>2]=uE(c[U>>2]|0,c[_>>2]|0,r,c[$>>2]|0,c[x>>2]|0,c[J>>2]|0,c[R>>2]|0,c[O>>2]|0)|0;if((c[Q>>2]|0)==116|(c[Q>>2]|0)==115)c[A>>2]=uE(c[U>>2]|0,c[_>>2]|0,s,c[$>>2]|0,c[y>>2]|0,c[J>>2]|0,c[R>>2]|0,c[O>>2]|0)|0;Pj(c[R>>2]|0);if((c[Q>>2]|0)==117|(c[Q>>2]|0)==118){R=c[O>>2]|0;c[B>>2]=R;c[C>>2]=R}else{c[B>>2]=Wt(c[q>>2]|0,14,c[y>>2]|0,c[A>>2]|0)|0;c[C>>2]=Wt(c[q>>2]|0,16,c[u>>2]|0,c[O>>2]|0)|0;sx(c[q>>2]|0,c[B>>2]|0)|0;R=HB(b[(c[_>>2]|0)+6>>1]|0,b[(c[aa>>2]|0)+6>>1]|0)|0;b[(c[_>>2]|0)+6>>1]=R}if((c[Q>>2]|0)==118){c[D>>2]=c[B>>2];if((b[(c[_>>2]|0)+6>>1]|0)>(b[(c[aa>>2]|0)+6>>1]|0))b[(c[_>>2]|0)+6>>1]=b[(c[aa>>2]|0)+6>>1]|0}else{c[D>>2]=Wt(c[q>>2]|0,14,c[x>>2]|0,c[z>>2]|0)|0;Wt(c[q>>2]|0,16,c[t>>2]|0,c[O>>2]|0)|0;sx(c[q>>2]|0,c[D>>2]|0)|0}c[E>>2]=Wt(c[q>>2]|0,14,c[x>>2]|0,c[z>>2]|0)|0;Wt(c[q>>2]|0,16,c[t>>2]|0,c[B>>2]|0)|0;sx(c[q>>2]|0,c[N>>2]|0)|0;do if((c[Q>>2]|0)!=116)if((c[Q>>2]|0)==118){c[F>>2]=c[E>>2];c[E>>2]=(c[E>>2]|0)+1;break}else{c[F>>2]=Wt(c[q>>2]|0,16,c[t>>2]|0,c[B>>2]|0)|0;sx(c[q>>2]|0,c[N>>2]|0)|0;break}else c[F>>2]=c[E>>2];while(0);c[G>>2]=Vu(c[q>>2]|0)|0;if((c[Q>>2]|0)==116|(c[Q>>2]|0)==115)Wt(c[q>>2]|0,14,c[y>>2]|0,c[A>>2]|0)|0;Wt(c[q>>2]|0,16,c[u>>2]|0,c[D>>2]|0)|0;sx(c[q>>2]|0,c[N>>2]|0)|0;tx(c[q>>2]|0,c[P>>2]|0);Wt(c[q>>2]|0,16,c[t>>2]|0,c[C>>2]|0)|0;Wt(c[q>>2]|0,16,c[u>>2]|0,c[D>>2]|0)|0;ux(c[q>>2]|0,c[N>>2]|0);_t(c[q>>2]|0,94,0,0,0,c[W>>2]|0,-15)|0;_t(c[q>>2]|0,95,c[r+12>>2]|0,c[s+12>>2]|0,c[V>>2]|0,c[S>>2]|0,-6)|0;px(c[q>>2]|0,1);Xt(c[q>>2]|0,18,c[E>>2]|0,c[F>>2]|0,c[G>>2]|0)|0;ux(c[q>>2]|0,c[O>>2]|0);if((d[c[$>>2]>>0]|0)==9){c[Z>>2]=c[aa>>2];while(1){if(!(c[(c[Z>>2]|0)+48>>2]|0))break;c[Z>>2]=c[(c[Z>>2]|0)+48>>2]}cE(c[U>>2]|0,c[(c[Z>>2]|0)+28>>2]|0,c[c[Z>>2]>>2]|0)}if(c[(c[_>>2]|0)+48>>2]|0)Zj(c[T>>2]|0,c[(c[_>>2]|0)+48>>2]|0);c[(c[_>>2]|0)+48>>2]=c[aa>>2];c[(c[aa>>2]|0)+52>>2]=c[_>>2];rE(c[U>>2]|0,d[(c[_>>2]|0)+4>>0]|0,c[X>>2]|0,c[Y>>2]|0,0);c[K>>2]=(c[(c[U>>2]|0)+36>>2]|0)!=0&1;aa=c[K>>2]|0;l=ba;return aa|0}function rE(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;p=q;j=q+40|0;k=q+36|0;m=q+32|0;n=q+28|0;o=q+24|0;h=q+20|0;i=q+16|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;if((d[(c[j>>2]|0)+409>>0]|0|0)!=2){l=q;return}c[h>>2]=c[(c[j>>2]|0)+8>>2];g=c[c[j>>2]>>2]|0;f=c[m>>2]|0;m=c[n>>2]|0;n=c[o>>2]|0?32251:47636;o=kw(c[k>>2]|0)|0;c[p>>2]=f;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=o;c[i>>2]=Bj(g,32270,p)|0;_t(c[h>>2]|0,162,c[(c[j>>2]|0)+420>>2]|0,0,0,c[i>>2]|0,-1)|0;l=q;return}function sE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[(c[f>>2]|0)+48>>2]|0)c[h>>2]=sE(c[e>>2]|0,c[(c[f>>2]|0)+48>>2]|0,c[g>>2]|0)|0;else c[h>>2]=0;if(c[h>>2]|0){h=c[h>>2]|0;l=i;return h|0}if((c[g>>2]|0)>=(c[c[c[f>>2]>>2]>>2]|0)){h=c[h>>2]|0;l=i;return h|0}c[h>>2]=xv(c[e>>2]|0,c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]|0)|0;h=c[h>>2]|0;l=i;return h|0}function tE(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;r=l;l=l+48|0;k=r+40|0;m=r+36|0;s=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;q=r+16|0;g=r+12|0;h=r+8|0;i=r+4|0;j=r;c[k>>2]=b;c[m>>2]=d;c[s>>2]=f;c[n>>2]=c[(c[m>>2]|0)+44>>2];c[o>>2]=c[c[(c[m>>2]|0)+44>>2]>>2];c[p>>2]=c[c[k>>2]>>2];c[q>>2]=Ex(c[p>>2]|0,(c[o>>2]|0)+(c[s>>2]|0)|0,1)|0;if(!(c[q>>2]|0)){s=c[q>>2]|0;l=r;return s|0}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[o>>2]|0))break;c[h>>2]=(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0);c[i>>2]=c[c[h>>2]>>2];b=c[k>>2]|0;if(c[(c[i>>2]|0)+4>>2]&256|0)c[j>>2]=xv(b,c[i>>2]|0)|0;else{c[j>>2]=sE(b,c[m>>2]|0,(e[(c[h>>2]|0)+16>>1]|0)-1|0)|0;if(!(c[j>>2]|0))c[j>>2]=c[(c[p>>2]|0)+8>>2];s=ow(c[k>>2]|0,c[i>>2]|0,c[c[j>>2]>>2]|0)|0;c[(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)>>2]=s}c[(c[q>>2]|0)+20+(c[g>>2]<<2)>>2]=c[j>>2];a[(c[(c[q>>2]|0)+16>>2]|0)+(c[g>>2]|0)>>0]=a[(c[(c[n>>2]|0)+4>>2]|0)+((c[g>>2]|0)*20|0)+12>>0]|0;c[g>>2]=(c[g>>2]|0)+1}s=c[q>>2]|0;l=r;return s|0}function uE(b,e,f,g,h,i,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+80|0;B=D+64|0;C=D+60|0;m=D+56|0;n=D+52|0;o=D+48|0;p=D+44|0;q=D+40|0;r=D+36|0;s=D+32|0;t=D+28|0;u=D+24|0;v=D+20|0;w=D+16|0;x=D+12|0;y=D+8|0;z=D+4|0;A=D;c[C>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[r>>2]=j;c[s>>2]=k;c[t>>2]=c[(c[C>>2]|0)+8>>2];c[v>>2]=Vu(c[t>>2]|0)|0;c[u>>2]=qx(c[t>>2]|0)|0;if(c[q>>2]|0){c[w>>2]=kx(c[t>>2]|0,22,c[q>>2]|0)|0;h=c[t>>2]|0;i=c[(c[n>>2]|0)+12>>2]|0;j=(c[q>>2]|0)+1|0;k=c[(c[n>>2]|0)+16>>2]|0;c[x>>2]=_t(h,95,i,j,k,Jx(c[r>>2]|0)|0,-6)|0;Xt(c[t>>2]|0,18,(c[x>>2]|0)+2|0,c[u>>2]|0,(c[x>>2]|0)+2|0)|0;tx(c[t>>2]|0,c[w>>2]|0);Xt(c[t>>2]|0,84,c[(c[n>>2]|0)+12>>2]|0,(c[q>>2]|0)+1|0,(c[(c[n>>2]|0)+16>>2]|0)-1|0)|0;Wt(c[t>>2]|0,76,1,c[q>>2]|0)|0}if(a[(c[c[C>>2]>>2]|0)+69>>0]|0){c[B>>2]=0;C=c[B>>2]|0;l=D;return C|0}eE(c[t>>2]|0,c[(c[m>>2]|0)+16>>2]|0,c[u>>2]|0);switch(d[c[o>>2]>>0]|0){case 12:{c[y>>2]=Uu(c[C>>2]|0)|0;c[z>>2]=Uu(c[C>>2]|0)|0;Xt(c[t>>2]|0,99,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[y>>2]|0)|0;Wt(c[t>>2]|0,114,c[(c[o>>2]|0)+8>>2]|0,c[z>>2]|0)|0;Xt(c[t>>2]|0,115,c[(c[o>>2]|0)+8>>2]|0,c[y>>2]|0,c[z>>2]|0)|0;px(c[t>>2]|0,8);Wu(c[C>>2]|0,c[z>>2]|0);Wu(c[C>>2]|0,c[y>>2]|0);break}case 11:{c[A>>2]=Uu(c[C>>2]|0)|0;_t(c[t>>2]|0,99,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0,c[A>>2]|0,c[(c[o>>2]|0)+4>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;fy(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0);Wt(c[t>>2]|0,126,c[(c[o>>2]|0)+8>>2]|0,c[A>>2]|0)|0;Wu(c[C>>2]|0,c[A>>2]|0);break}case 10:{WD(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+8>>2]|0,1);break}case 13:{if(!(c[(c[o>>2]|0)+12>>2]|0)){k=Sx(c[C>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;c[(c[o>>2]|0)+12>>2]=k;c[(c[o>>2]|0)+16>>2]=c[(c[n>>2]|0)+16>>2]}WD(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[o>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0);kx(c[t>>2]|0,16,c[(c[o>>2]|0)+8>>2]|0)|0;break}default:{Wt(c[t>>2]|0,87,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)|0;fy(c[C>>2]|0,c[(c[n>>2]|0)+12>>2]|0,c[(c[n>>2]|0)+16>>2]|0)}}if(c[(c[m>>2]|0)+12>>2]|0)Wt(c[t>>2]|0,68,c[(c[m>>2]|0)+12>>2]|0,c[s>>2]|0)|0;ux(c[t>>2]|0,c[u>>2]|0);kx(c[t>>2]|0,72,c[p>>2]|0)|0;c[B>>2]=c[v>>2];C=c[B>>2]|0;l=D;return C|0}function vE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+24|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[g>>2]=b;c[h>>2]=e;c[i>>2]=f;c[j>>2]=c[c[g>>2]>>2];if(!(c[(c[j>>2]|0)+24>>2]&524288)){l=o;return}if((d[(c[i>>2]|0)+42>>0]|0)&16|0){l=o;return}if(c[(c[i>>2]|0)+12>>2]|0){l=o;return}c[k>>2]=0;c[m>>2]=Rt(c[g>>2]|0)|0;do if(!(ov(c[i>>2]|0)|0)){c[n>>2]=c[(c[i>>2]|0)+16>>2];while(1){if(!(c[n>>2]|0))break;if(d[(c[n>>2]|0)+24>>0]|0|0)break;if(c[(c[j>>2]|0)+24>>2]&33554432|0)break;c[n>>2]=c[(c[n>>2]|0)+4>>2]}if(c[n>>2]|0){c[k>>2]=qx(c[m>>2]|0)|0;Wt(c[m>>2]|0,65,1,c[k>>2]|0)|0;break}else{l=o;return}}while(0);a[(c[g>>2]|0)+150>>0]=1;n=c[g>>2]|0;Vs(n,ax(c[j>>2]|0,c[h>>2]|0,0)|0,0);a[(c[g>>2]|0)+150>>0]=0;if(!(c[(c[j>>2]|0)+24>>2]&33554432)){n=c[m>>2]|0;Wt(n,65,0,(Vu(c[m>>2]|0)|0)+2|0)|0;Nx(c[g>>2]|0,787,2,0,-2,4)}if(!(c[k>>2]|0)){l=o;return}ux(c[m>>2]|0,c[k>>2]|0);l=o;return}function wE(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+64|0;q=r+8|0;p=r;i=r+48|0;j=r+44|0;k=r+40|0;m=r+36|0;n=r+32|0;o=r+28|0;g=r+24|0;h=r+20|0;c[i>>2]=a;c[j>>2]=b;c[k>>2]=e;c[m>>2]=f;c[o>>2]=c[c[i>>2]>>2];c[h>>2]=(c[(c[o>>2]|0)+16>>2]|0)+(c[k>>2]<<4);c[n>>2]=Rt(c[i>>2]|0)|0;iu(c[i>>2]|0,1,c[k>>2]|0);if((d[(c[j>>2]|0)+42>>0]|0)&16|0)Tt(c[n>>2]|0,152)|0;c[g>>2]=Yu(c[i>>2]|0,c[j>>2]|0)|0;while(1){if(!(c[g>>2]|0))break;ez(c[i>>2]|0,c[g>>2]|0);c[g>>2]=c[(c[g>>2]|0)+32>>2]}if((d[(c[j>>2]|0)+42>>0]|0)&8|0){f=c[i>>2]|0;e=c[c[j>>2]>>2]|0;c[p>>2]=c[c[h>>2]>>2];c[p+4>>2]=e;Qt(f,32496,p)}p=c[i>>2]|0;e=(c[k>>2]|0)==1?23323:23342;f=c[c[j>>2]>>2]|0;c[q>>2]=c[c[h>>2]>>2];c[q+4>>2]=e;c[q+8>>2]=f;Qt(p,32541,q);if((c[m>>2]|0)==0?((d[(c[j>>2]|0)+42>>0]|0)&16|0)==0:0)xE(c[i>>2]|0,c[j>>2]|0);if(!((d[(c[j>>2]|0)+42>>0]|0)&16)){n=c[n>>2]|0;p=c[k>>2]|0;q=c[j>>2]|0;q=c[q>>2]|0;_t(n,138,p,0,0,q,0)|0;q=c[i>>2]|0;p=c[k>>2]|0;St(q,p);p=c[o>>2]|0;q=c[k>>2]|0;yE(p,q);l=r;return}_t(c[n>>2]|0,154,c[k>>2]|0,0,0,c[c[j>>2]>>2]|0,0)|0;n=c[n>>2]|0;p=c[k>>2]|0;q=c[j>>2]|0;q=c[q>>2]|0;_t(n,138,p,0,0,q,0)|0;q=c[i>>2]|0;p=c[k>>2]|0;St(q,p);p=c[o>>2]|0;q=c[k>>2]|0;yE(p,q);l=r;return}function xE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;d=n+28|0;e=n+24|0;f=n+20|0;g=n+16|0;h=n+12|0;i=n+8|0;j=n+4|0;k=n;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+28>>2];c[g>>2]=0;while(1){c[i>>2]=0;if(!((c[g>>2]|0)!=0?(c[f>>2]|0)>=(c[g>>2]|0):0))c[i>>2]=c[f>>2];c[h>>2]=c[(c[e>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break;c[j>>2]=c[(c[h>>2]|0)+44>>2];if(!((c[g>>2]|0)!=0?(c[j>>2]|0)>=(c[g>>2]|0):0))m=9;if((m|0)==9?(m=0,(c[j>>2]|0)>(c[i>>2]|0)):0)c[i>>2]=c[j>>2];c[h>>2]=c[(c[h>>2]|0)+20>>2]}if(!(c[i>>2]|0))break;c[k>>2]=Nt(c[c[d>>2]>>2]|0,c[(c[e>>2]|0)+64>>2]|0)|0;kA(c[d>>2]|0,c[i>>2]|0,c[k>>2]|0);c[g>>2]=c[i>>2]}l=n;return}function yE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=a;c[g>>2]=d;if(((e[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78>>1]|0)&2|0)!=2){l=j;return}c[h>>2]=c[(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+8+8>>2];while(1){if(!(c[h>>2]|0))break;c[i>>2]=c[(c[h>>2]|0)+8>>2];if(c[(c[i>>2]|0)+12>>2]|0){Yj(c[f>>2]|0,c[i>>2]|0);c[(c[i>>2]|0)+4>>2]=0;b[(c[i>>2]|0)+34>>1]=0}c[h>>2]=c[c[h>>2]>>2]}i=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[g>>2]<<4)+12>>2]|0)+78|0;b[i>>1]=(e[i>>1]|0)&-3;l=j;return}function zE(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return ((e[(c[(c[b>>2]|0)+4>>2]|0)+22>>1]|0)&1|0)!=0|0}function AE(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+144|0;j=p+128|0;k=p+124|0;m=p+120|0;n=p+116|0;o=p+112|0;h=p;i=p+80|0;c[j>>2]=a;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;a=h;d=a+80|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[h>>2]=1;c[h+8+8>>2]=c[c[k>>2]>>2];c[h+8+16>>2]=c[k>>2];c[h+8+44>>2]=-1;c[i>>2]=c[j>>2];c[i+4>>2]=h;b[i+28>>1]=c[m>>2];n=(Uv(i,c[n>>2]|0)|0)==0;if(!(n&(c[o>>2]|0)!=0)){l=p;return}Vv(i,c[o>>2]|0)|0;l=p;return}function BE(b){b=b|0;var e=0,f=0;f=l;l=l+16|0;e=f;c[e>>2]=b;b=c[e>>2]|0;if((d[c[e>>2]>>0]|0|0)==97){a[b>>0]=55;l=f;return}if((d[b>>0]|0|0)!=53){l=f;return}if((d[c[(c[e>>2]|0)+12>>2]>>0]|0|0)!=97){l=f;return}a[c[(c[e>>2]|0)+12>>2]>>0]=55;l=f;return}function CE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;i=j+12|0;f=j+8|0;g=j+4|0;h=j;c[f>>2]=a;c[g>>2]=d;c[h>>2]=e;while(1){e=c[g>>2]|0;c[g>>2]=e+-1;if((e|0)<=0){a=5;break}d=c[h>>2]|0;e=c[f>>2]|0;c[f>>2]=e+2;if((d|0)==(b[e>>1]|0)){a=4;break}}if((a|0)==4){c[i>>2]=1;i=c[i>>2]|0;l=j;return i|0}else if((a|0)==5){c[i>>2]=0;i=c[i>>2]|0;l=j;return i|0}return 0}function DE(a){a=a|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;j=k+16|0;c[f>>2]=a;c[g>>2]=0;c[i>>2]=c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[f>>2]|0)+52>>1]|0))break;b[j>>1]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0;if((b[j>>1]|0)<0)a=1;else a=d[(c[i>>2]|0)+(b[(c[(c[f>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]<<4)+14>>0]|0;c[g>>2]=(c[g>>2]|0)+a;c[h>>2]=(c[h>>2]|0)+1}j=Du(c[g>>2]<<2,0)|0;b[(c[f>>2]|0)+48>>1]=j;l=k;return}function EE(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f;g=f+4|0;c[h>>2]=b;a[g>>0]=e;e=Iy(c[h>>2]|0,4+(d[g>>0]|0)|0,0)|0;l=f;return e|0}function FE(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;k=v+52|0;n=v+48|0;o=v+44|0;p=v+40|0;q=v+36|0;r=v+32|0;s=v+28|0;t=v+24|0;h=v+20|0;i=v+16|0;j=v+8|0;m=v;c[k>>2]=f;c[n>>2]=g;c[t>>2]=c[c[k>>2]>>2];c[h>>2]=c[(c[k>>2]|0)+8>>2];a:do if(!(a[(c[t>>2]|0)+148+7>>0]|0)){c[r>>2]=0;while(1){if((c[r>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0))break a;if(d[(c[(c[n>>2]|0)+4>>2]|0)+(c[r>>2]<<4)+15>>0]&1|0)a[(c[(c[n>>2]|0)+4>>2]|0)+(c[r>>2]<<4)+12>>0]=2;c[r>>2]=(c[r>>2]|0)+1}}while(0);if(a[(c[k>>2]|0)+410>>0]|0){l=v;return}if(c[(c[k>>2]|0)+132>>2]|0)KD(c[h>>2]|0,c[(c[k>>2]|0)+132>>2]|0,-122);f=c[n>>2]|0;do if((b[(c[n>>2]|0)+32>>1]|0)>=0){pw(j,c[(c[f+4>>2]|0)+(b[(c[n>>2]|0)+32>>1]<<4)>>2]|0);h=c[k>>2]|0;c[i>>2]=Ks(h,0,at(c[t>>2]|0,55,j,0)|0)|0;if(!(c[i>>2]|0)){l=v;return}a[(c[(c[i>>2]|0)+4>>2]|0)+12>>0]=a[(c[k>>2]|0)+408>>0]|0;zs(c[k>>2]|0,0,0,0,c[i>>2]|0,d[(c[n>>2]|0)+43>>0]|0,0,0,0,0,2);if(a[(c[t>>2]|0)+69>>0]|0){l=v;return}else{c[p>>2]=Au(c[n>>2]|0)|0;b[(c[n>>2]|0)+32>>1]=-1;break}}else{c[p>>2]=Au(f)|0;if(c[h>>2]|0)KD(c[h>>2]|0,c[(c[p>>2]|0)+44>>2]|0,13);c[s>>2]=1;c[r>>2]=1;while(1){if((c[r>>2]|0)>=(e[(c[p>>2]|0)+50>>1]|0))break;k=(CE(c[(c[p>>2]|0)+4>>2]|0,c[s>>2]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)|0)!=0;f=c[p>>2]|0;if(k){k=f+52|0;b[k>>1]=(b[k>>1]|0)+-1<<16>>16}else{i=b[(c[f+4>>2]|0)+(c[r>>2]<<1)>>1]|0;j=c[(c[p>>2]|0)+4>>2]|0;k=c[s>>2]|0;c[s>>2]=k+1;b[j+(k<<1)>>1]=i}c[r>>2]=(c[r>>2]|0)+1}b[(c[p>>2]|0)+50>>1]=c[s>>2]}while(0);k=(c[p>>2]|0)+55|0;a[k>>0]=a[k>>0]&-33|32;if(!(a[(c[t>>2]|0)+148+7>>0]|0)){k=(c[p>>2]|0)+55|0;a[k>>0]=a[k>>0]&-9|8}c[q>>2]=e[(c[p>>2]|0)+50>>1];c[(c[p>>2]|0)+44>>2]=c[(c[n>>2]|0)+28>>2];c[o>>2]=c[(c[n>>2]|0)+8>>2];b:while(1){if(!(c[o>>2]|0))break;c:do if((a[(c[o>>2]|0)+55>>0]&3|0)!=2){c[m>>2]=0;c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break;if(!(CE(c[(c[o>>2]|0)+4>>2]|0,e[(c[o>>2]|0)+50>>1]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)|0))c[m>>2]=(c[m>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1}if(!(c[m>>2]|0)){b[(c[o>>2]|0)+52>>1]=b[(c[o>>2]|0)+50>>1]|0;break}if(LE(c[t>>2]|0,c[o>>2]|0,(e[(c[o>>2]|0)+50>>1]|0)+(c[m>>2]|0)|0)|0){u=50;break b}c[r>>2]=0;c[s>>2]=e[(c[o>>2]|0)+50>>1];while(1){if((c[r>>2]|0)>=(c[q>>2]|0))break c;if(!(CE(c[(c[o>>2]|0)+4>>2]|0,e[(c[o>>2]|0)+50>>1]|0,b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0)|0)){b[(c[(c[o>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]=b[(c[(c[p>>2]|0)+4>>2]|0)+(c[r>>2]<<1)>>1]|0;c[(c[(c[o>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2]=c[(c[(c[p>>2]|0)+32>>2]|0)+(c[r>>2]<<2)>>2];c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}}while(0);c[o>>2]=c[(c[o>>2]|0)+20>>2]}if((u|0)==50){l=v;return}if((c[q>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0)){b[(c[p>>2]|0)+52>>1]=b[(c[n>>2]|0)+34>>1]|0;l=v;return}if(LE(c[t>>2]|0,c[p>>2]|0,b[(c[n>>2]|0)+34>>1]|0)|0){l=v;return}c[r>>2]=0;c[s>>2]=c[q>>2];while(1){if((c[r>>2]|0)>=(b[(c[n>>2]|0)+34>>1]|0))break;if(!(CE(c[(c[p>>2]|0)+4>>2]|0,c[s>>2]|0,c[r>>2]|0)|0)){b[(c[(c[p>>2]|0)+4>>2]|0)+(c[s>>2]<<1)>>1]=c[r>>2];c[(c[(c[p>>2]|0)+32>>2]|0)+(c[s>>2]<<2)>>2]=31345;c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1}l=v;return}function GE(a){a=a|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=0;c[h>>2]=b[(c[e>>2]|0)+34>>1];c[g>>2]=c[(c[e>>2]|0)+4>>2];while(1){if((c[h>>2]|0)<=0)break;c[f>>2]=(c[f>>2]|0)+(d[(c[g>>2]|0)+14>>0]|0);c[h>>2]=(c[h>>2]|0)+-1;c[g>>2]=(c[g>>2]|0)+16}if((b[(c[e>>2]|0)+32>>1]|0)>=0){g=c[f>>2]|0;g=g<<2;g=Du(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;l=i;return}c[f>>2]=(c[f>>2]|0)+1;g=c[f>>2]|0;g=g<<2;g=Du(g,0)|0;h=c[e>>2]|0;h=h+40|0;b[h>>1]=g;l=i;return}function HE(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+80|0;v=w+16|0;u=w+8|0;g=w;n=w+68|0;f=w+64|0;o=w+60|0;p=w+56|0;q=w+52|0;r=w+48|0;s=w+44|0;t=w+40|0;h=w+36|0;i=w+32|0;j=w+28|0;k=w+24|0;m=w+20|0;c[f>>2]=d;c[o>>2]=e;c[r>>2]=0;c[j>>2]=c[(c[o>>2]|0)+4>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;e=(IE(c[c[j>>2]>>2]|0)|0)+5|0;c[r>>2]=(c[r>>2]|0)+e;c[p>>2]=(c[p>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}e=IE(c[c[o>>2]>>2]|0)|0;c[r>>2]=(c[r>>2]|0)+e;if((c[r>>2]|0)<50){c[t>>2]=47636;c[h>>2]=19116;c[i>>2]=31212}else{c[t>>2]=33696;c[h>>2]=33700;c[i>>2]=33705}c[r>>2]=(c[r>>2]|0)+(35+((b[(c[o>>2]|0)+34>>1]|0)*6|0));e=c[r>>2]|0;c[s>>2]=md(0,e,((e|0)<0)<<31>>31)|0;if(!(c[s>>2]|0)){yd(c[f>>2]|0);c[n>>2]=0;v=c[n>>2]|0;l=w;return v|0}Ne(c[r>>2]|0,c[s>>2]|0,33708,g)|0;c[q>>2]=_c(c[s>>2]|0)|0;JE(c[s>>2]|0,q,c[c[o>>2]>>2]|0);f=c[s>>2]|0;g=c[q>>2]|0;c[q>>2]=g+1;a[f+g>>0]=40;c[j>>2]=c[(c[o>>2]|0)+4>>2];c[p>>2]=0;while(1){d=(c[r>>2]|0)-(c[q>>2]|0)|0;e=(c[s>>2]|0)+(c[q>>2]|0)|0;if((c[p>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;Ne(d,e,c[t>>2]|0,u)|0;g=_c((c[s>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+g;c[t>>2]=c[h>>2];JE(c[s>>2]|0,q,c[c[j>>2]>>2]|0);c[m>>2]=c[5484+((a[(c[j>>2]|0)+13>>0]|0)-65<<2)>>2];c[k>>2]=_c(c[m>>2]|0)|0;MR((c[s>>2]|0)+(c[q>>2]|0)|0,c[m>>2]|0,c[k>>2]|0)|0;c[q>>2]=(c[q>>2]|0)+(c[k>>2]|0);c[p>>2]=(c[p>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+16}c[v>>2]=c[i>>2];Ne(d,e,18130,v)|0;c[n>>2]=c[s>>2];v=c[n>>2]|0;l=w;return v|0}function IE(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;c[e>>2]=0;while(1){if(!(a[c[d>>2]>>0]|0))break;if((a[c[d>>2]>>0]|0)==34)c[e>>2]=(c[e>>2]|0)+1;c[e>>2]=(c[e>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1}l=f;return (c[e>>2]|0)+2|0}function JE(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;n=l;l=l+32|0;g=n+24|0;h=n+20|0;o=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[g>>2]=b;c[h>>2]=e;c[o>>2]=f;c[i>>2]=c[o>>2];c[j>>2]=c[c[h>>2]>>2];c[k>>2]=0;while(1){if(!(a[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0))break;if((d[16965+(d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0)>>0]&6|0)==0?(d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0)!=95:0)break;c[k>>2]=(c[k>>2]|0)+1}if((!(d[16965+(d[c[i>>2]>>0]|0)>>0]&4|0)?(KE(c[i>>2]|0,c[k>>2]|0)|0)==55:0)?!(d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0):0)b=(c[k>>2]|0)==0;else b=1;c[m>>2]=b&1;if(c[m>>2]|0){f=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[f+o>>0]=34}c[k>>2]=0;while(1){if(!(a[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0))break;e=a[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0;f=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[f+o>>0]=e;if((d[(c[i>>2]|0)+(c[k>>2]|0)>>0]|0)==34){f=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[f+o>>0]=34}c[k>>2]=(c[k>>2]|0)+1}if(!(c[m>>2]|0)){o=c[g>>2]|0;m=c[j>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;l=n;return}m=c[g>>2]|0;o=c[j>>2]|0;c[j>>2]=o+1;a[m+o>>0]=34;o=c[g>>2]|0;m=c[j>>2]|0;m=o+m|0;a[m>>0]=0;m=c[j>>2]|0;o=c[h>>2]|0;c[o>>2]=m;l=n;return}function KE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;c[d>>2]=55;Dj(c[g>>2]|0,c[f>>2]|0,d)|0;l=e;return c[d>>2]|0}function LE(d,f,g){d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+20|0;i=o+16|0;j=o+12|0;k=o+8|0;m=o+4|0;n=o;c[i>>2]=d;c[j>>2]=f;c[k>>2]=g;if((e[(c[j>>2]|0)+52>>1]|0|0)>=(c[k>>2]|0)){c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}c[n>>2]=(c[k>>2]|0)*7;n=c[n>>2]|0;c[m>>2]=jl(c[i>>2]|0,n,((n|0)<0)<<31>>31)|0;if(!(c[m>>2]|0)){c[h>>2]=7;n=c[h>>2]|0;l=o;return n|0}else{MR(c[m>>2]|0,c[(c[j>>2]|0)+32>>2]|0,(e[(c[j>>2]|0)+52>>1]|0)<<2|0)|0;c[(c[j>>2]|0)+32>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+(c[k>>2]<<2);MR(c[m>>2]|0,c[(c[j>>2]|0)+4>>2]|0,(e[(c[j>>2]|0)+52>>1]|0)<<1|0)|0;c[(c[j>>2]|0)+4>>2]=c[m>>2];c[m>>2]=(c[m>>2]|0)+(c[k>>2]<<1);MR(c[m>>2]|0,c[(c[j>>2]|0)+28>>2]|0,e[(c[j>>2]|0)+52>>1]|0|0)|0;c[(c[j>>2]|0)+28>>2]=c[m>>2];b[(c[j>>2]|0)+52>>1]=c[k>>2];n=(c[j>>2]|0)+55|0;a[n>>0]=a[n>>0]&-17|16;c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}return 0}function ME(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;d=e+8|0;f=e+4|0;g=e;c[d>>2]=a;c[f>>2]=b;c[g>>2]=Rt(c[d>>2]|0)|0;mx(c[d>>2]|0,c[f>>2]|0,1,1,(c[f>>2]|0)==1?23323:23342);Fx(c[g>>2]|0,105,0,1,c[f>>2]|0,5)|0;if(c[(c[d>>2]|0)+40>>2]|0){l=e;return}c[(c[d>>2]|0)+40>>2]=1;l=e;return}function NE(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;b=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[b>>2]=a;c[f>>2]=Rt(c[b>>2]|0)|0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+112>>2]|0))break;c[g>>2]=(c[(c[b>>2]|0)+116>>2]|0)+(c[e>>2]<<4);c[h>>2]=c[c[g>>2]>>2];_t(c[f>>2]|0,151,c[h>>2]|0,c[(c[g>>2]|0)+4>>2]|0,d[(c[g>>2]|0)+8>>0]|0,c[(c[g>>2]|0)+12>>2]|0,-2)|0;c[e>>2]=(c[e>>2]|0)+1}l=i;return}function OE(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[d>>2]=b;c[f>>2]=c[c[d>>2]>>2];c[i>>2]=c[(c[d>>2]|0)+8>>2];c[e>>2]=c[(c[d>>2]|0)+120>>2];while(1){if(!(c[e>>2]|0)){b=5;break}c[g>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[(c[e>>2]|0)+8>>2]<<4);c[h>>2]=c[(c[e>>2]|0)+12>>2];nx(c[d>>2]|0,0,c[(c[e>>2]|0)+8>>2]|0,c[(c[(c[g>>2]|0)+12>>2]|0)+72>>2]|0,104);Vt(c[i>>2]|0,(c[h>>2]|0)-1|0,c[c[(c[e>>2]|0)+4>>2]>>2]|0)|0;c[j>>2]=sz(c[i>>2]|0,10,33884,0)|0;if(!(c[j>>2]|0)){b=5;break}c[(c[j>>2]|0)+8>>2]=c[h>>2];c[(c[j>>2]|0)+12>>2]=(c[h>>2]|0)+1;c[(c[j>>2]|0)+40+12>>2]=c[h>>2];c[(c[j>>2]|0)+60+4>>2]=(c[h>>2]|0)-1;c[(c[j>>2]|0)+60+12>>2]=c[h>>2];a[(c[j>>2]|0)+60+3>>0]=16;c[(c[j>>2]|0)+80+8>>2]=(c[h>>2]|0)+1;c[(c[j>>2]|0)+100+12>>2]=c[h>>2];c[(c[j>>2]|0)+160+8>>2]=c[h>>2];c[e>>2]=c[c[e>>2]>>2]}if((b|0)==5){l=k;return}}function PE(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;i=q+40|0;j=q+36|0;k=q+32|0;m=q+28|0;n=q+24|0;o=q+20|0;p=q+16|0;g=q+12|0;h=q;c[i>>2]=e;c[j>>2]=f;c[k>>2]=c[c[i>>2]>>2];c[m>>2]=b[(c[j>>2]|0)+400>>1];c[n>>2]=c[(c[j>>2]|0)+44>>2];c[o>>2]=c[(c[j>>2]|0)+40>>2];c[p>>2]=c[(c[j>>2]|0)+108>>2];c[n>>2]=(c[n>>2]|0)+(c[o>>2]|0);if((c[o>>2]|0)==0&(c[n>>2]|0)>0)c[n>>2]=(c[n>>2]|0)+1;c[g>>2]=((c[(c[i>>2]|0)+136>>2]|0)*20|0)+7&-8;c[h>>2]=(c[(c[i>>2]|0)+88>>2]|0)+(c[g>>2]|0);c[h+4>>2]=(c[(c[j>>2]|0)+52>>2]|0)-(c[g>>2]|0)&-8;UC(c[i>>2]|0,p);if(d[(c[j>>2]|0)+20>>0]|0)e=(d[(c[j>>2]|0)+21>>0]|0)!=0;else e=0;g=(c[i>>2]|0)+144|0;b[g>>1]=b[g>>1]&-65|(e&1)<<6&65535;if((c[n>>2]|0)<10?(d[(c[j>>2]|0)+409>>0]|0)!=0:0)c[n>>2]=10;g=(c[i>>2]|0)+144|0;b[g>>1]=b[g>>1]&-2;do{c[h+8>>2]=0;g=QE(h,c[(c[i>>2]|0)+92>>2]|0,(c[n>>2]|0)*40|0)|0;c[(c[i>>2]|0)+92>>2]=g;g=QE(h,c[(c[i>>2]|0)+116>>2]|0,(c[m>>2]|0)*40|0)|0;c[(c[i>>2]|0)+116>>2]=g;g=QE(h,c[(c[i>>2]|0)+96>>2]|0,c[p>>2]<<2)|0;c[(c[i>>2]|0)+96>>2]=g;g=QE(h,c[(c[i>>2]|0)+112>>2]|0,c[o>>2]<<2)|0;c[(c[i>>2]|0)+112>>2]=g;if(!(c[h+8>>2]|0))break;g=c[h+8>>2]|0;g=od(c[k>>2]|0,g,((g|0)<0)<<31>>31)|0;c[(c[i>>2]|0)+180>>2]=g;c[h>>2]=g;c[h+4>>2]=c[h+8>>2]}while((a[(c[k>>2]|0)+69>>0]|0)!=0^1);b[(c[i>>2]|0)+18>>1]=c[(c[j>>2]|0)+404>>2];c[(c[i>>2]|0)+120>>2]=c[(c[j>>2]|0)+428>>2];c[(c[j>>2]|0)+404>>2]=0;c[(c[j>>2]|0)+428>>2]=0;p=(c[i>>2]|0)+144|0;b[p>>1]=b[p>>1]&-13|(d[(c[j>>2]|0)+409>>0]&3)<<2&65535;if(a[(c[k>>2]|0)+69>>0]|0){b[(c[i>>2]|0)+16>>1]=0;c[(c[i>>2]|0)+28>>2]=0;c[(c[i>>2]|0)+24>>2]=0;p=c[i>>2]|0;Fr(p);l=q;return}else{c[(c[i>>2]|0)+28>>2]=c[o>>2];b[(c[i>>2]|0)+16>>1]=c[m>>2];_r(c[(c[i>>2]|0)+116>>2]|0,c[m>>2]|0,c[k>>2]|0,1);c[(c[i>>2]|0)+24>>2]=c[n>>2];_r(c[(c[i>>2]|0)+92>>2]|0,c[n>>2]|0,c[k>>2]|0,128);GR(c[(c[i>>2]|0)+112>>2]|0,0,c[o>>2]<<2|0)|0;p=c[i>>2]|0;Fr(p);l=q;return}}function QE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}c[g>>2]=(c[g>>2]|0)+7&-8;a=c[g>>2]|0;b=c[e>>2]|0;if((c[g>>2]|0)<=(c[(c[e>>2]|0)+4>>2]|0)){g=b+4|0;c[g>>2]=(c[g>>2]|0)-a;c[f>>2]=(c[c[e>>2]>>2]|0)+(c[(c[e>>2]|0)+4>>2]|0);g=c[f>>2]|0;l=h;return g|0}else{g=b+8|0;c[g>>2]=(c[g>>2]|0)+a;g=c[f>>2]|0;l=h;return g|0}return 0}function RE(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;y=l;l=l+80|0;x=y+8|0;i=y;r=y+68|0;v=y+64|0;g=y+60|0;n=y+56|0;o=y+52|0;p=y+48|0;h=y+44|0;q=y+40|0;w=y+36|0;s=y+32|0;t=y+28|0;u=y+24|0;j=y+20|0;k=y+16|0;m=y+12|0;c[v>>2]=f;c[n>>2]=0;c[o>>2]=0;c[p>>2]=0;c[h>>2]=c[c[v>>2]>>2];c[w>>2]=0;c[s>>2]=(c[(c[v>>2]|0)+92>>2]|0)+40;Lj(c[s>>2]|0,8);c[(c[v>>2]|0)+104>>2]=0;if((c[(c[v>>2]|0)+40>>2]|0)==7){yd(c[h>>2]|0);c[r>>2]=1;x=c[r>>2]|0;l=y;return x|0}c[g>>2]=c[(c[v>>2]|0)+136>>2];a:do if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)==1){c[p>>2]=(c[(c[v>>2]|0)+92>>2]|0)+360;if(e[(c[p>>2]|0)+8>>1]&16|0){c[n>>2]=((c[(c[p>>2]|0)+12>>2]|0)>>>0)/4|0;c[o>>2]=c[(c[p>>2]|0)+16>>2]}c[q>>2]=0;while(1){if((c[q>>2]|0)>=(c[n>>2]|0))break a;c[g>>2]=(c[g>>2]|0)+(c[(c[(c[o>>2]|0)+(c[q>>2]<<2)>>2]|0)+4>>2]|0);c[q>>2]=(c[q>>2]|0)+1}}while(0);do{z=(c[v>>2]|0)+36|0;f=c[z>>2]|0;c[z>>2]=f+1;c[q>>2]=f;if((c[q>>2]|0)>=(c[g>>2]|0))break;if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)!=2)break}while((d[(c[(c[v>>2]|0)+88>>2]|0)+((c[q>>2]|0)*20|0)>>0]|0)!=162);do if((c[q>>2]|0)>=(c[g>>2]|0)){c[(c[v>>2]|0)+40>>2]=0;c[w>>2]=101}else{if(c[(c[h>>2]|0)+248>>2]|0){c[(c[v>>2]|0)+40>>2]=9;c[w>>2]=1;z=c[v>>2]|0;rr(z,Ci(c[(c[v>>2]|0)+40>>2]|0)|0,i);break}f=c[v>>2]|0;if((c[q>>2]|0)<(c[(c[v>>2]|0)+136>>2]|0))c[u>>2]=(c[f+88>>2]|0)+((c[q>>2]|0)*20|0);else{c[q>>2]=(c[q>>2]|0)-(c[f+136>>2]|0);c[j>>2]=0;while(1){f=c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0;if((c[q>>2]|0)<(c[(c[(c[o>>2]|0)+(c[j>>2]<<2)>>2]|0)+4>>2]|0))break;c[q>>2]=(c[q>>2]|0)-(c[f+4>>2]|0);c[j>>2]=(c[j>>2]|0)+1}c[u>>2]=(c[f>>2]|0)+((c[q>>2]|0)*20|0)}if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)==1?(b[(c[s>>2]|0)+8>>1]=4,q=c[q>>2]|0,z=c[s>>2]|0,c[z>>2]=q,c[z+4>>2]=((q|0)<0)<<31>>31,c[s>>2]=(c[s>>2]|0)+40,b[(c[s>>2]|0)+8>>1]=2562,z=bI(d[c[u>>2]>>0]|0)|0,c[(c[s>>2]|0)+16>>2]=z,z=_c(c[(c[s>>2]|0)+16>>2]|0)|0,c[(c[s>>2]|0)+12>>2]=z,a[(c[s>>2]|0)+10>>0]=1,c[s>>2]=(c[s>>2]|0)+40,(a[(c[u>>2]|0)+1>>0]|0)==-18):0){c[k>>2]=(c[n>>2]|0)+1<<2;c[m>>2]=0;while(1){if((c[m>>2]|0)>=(c[n>>2]|0))break;if((c[(c[o>>2]|0)+(c[m>>2]<<2)>>2]|0)==(c[(c[u>>2]|0)+16>>2]|0))break;c[m>>2]=(c[m>>2]|0)+1}if((c[m>>2]|0)==(c[n>>2]|0)?0==(Ph(c[p>>2]|0,c[k>>2]|0,(c[n>>2]|0)!=0&1)|0):0){c[o>>2]=c[(c[p>>2]|0)+16>>2];m=c[(c[u>>2]|0)+16>>2]|0;q=c[o>>2]|0;z=c[n>>2]|0;c[n>>2]=z+1;c[q+(z<<2)>>2]=m;z=(c[p>>2]|0)+8|0;b[z>>1]=e[z>>1]|16;c[(c[p>>2]|0)+12>>2]=c[n>>2]<<2}}b[(c[s>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+4>>2]|0;z=c[s>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[s>>2]=(c[s>>2]|0)+40;b[(c[s>>2]|0)+8>>1]=4;z=c[(c[u>>2]|0)+8>>2]|0;q=c[s>>2]|0;c[q>>2]=z;c[q+4>>2]=((z|0)<0)<<31>>31;c[s>>2]=(c[s>>2]|0)+40;b[(c[s>>2]|0)+8>>1]=4;q=c[(c[u>>2]|0)+12>>2]|0;z=c[s>>2]|0;c[z>>2]=q;c[z+4>>2]=((q|0)<0)<<31>>31;c[s>>2]=(c[s>>2]|0)+40;if(Kh(c[s>>2]|0,100)|0){c[r>>2]=1;z=c[r>>2]|0;l=y;return z|0}b[(c[s>>2]|0)+8>>1]=514;c[t>>2]=cI(c[u>>2]|0,c[(c[s>>2]|0)+16>>2]|0,c[(c[s>>2]|0)+24>>2]|0)|0;f=c[s>>2]|0;if((c[t>>2]|0)!=(c[(c[s>>2]|0)+16>>2]|0)){c[f+12>>2]=0;Jh(c[s>>2]|0,c[t>>2]|0,-1,1,0)|0}else{z=_c(c[f+16>>2]|0)|0;c[(c[s>>2]|0)+12>>2]=z;a[(c[s>>2]|0)+10>>0]=1}c[s>>2]=(c[s>>2]|0)+40;do if(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3|0)==1){if(!(Kh(c[s>>2]|0,4)|0)){b[(c[s>>2]|0)+8>>1]=514;c[(c[s>>2]|0)+12>>2]=2;z=c[(c[s>>2]|0)+16>>2]|0;c[x>>2]=d[(c[u>>2]|0)+3>>0];Ne(3,z,37573,x)|0;a[(c[s>>2]|0)+10>>0]=1;c[s>>2]=(c[s>>2]|0)+40;b[(c[s>>2]|0)+8>>1]=1;break}c[r>>2]=1;z=c[r>>2]|0;l=y;return z|0}while(0);b[(c[v>>2]|0)+140>>1]=8-(((e[(c[v>>2]|0)+144>>1]|0)>>>2&3)-1<<2);c[(c[v>>2]|0)+104>>2]=(c[(c[v>>2]|0)+92>>2]|0)+40;c[(c[v>>2]|0)+40>>2]=0;c[w>>2]=100}while(0);c[r>>2]=c[w>>2];z=c[r>>2]|0;l=y;return z|0} +function sr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=l;l=l+16|0;b=d+4|0;e=d;c[b>>2]=a;c[e>>2]=c[c[b>>2]>>2];tr(c[e>>2]|0);c[(c[e>>2]|0)+88>>2]=c[(c[b>>2]|0)+8>>2];c[(c[e>>2]|0)+136>>2]=c[(c[b>>2]|0)+52>>2];c[(c[e>>2]|0)+92>>2]=c[(c[b>>2]|0)+16>>2];c[(c[e>>2]|0)+24>>2]=c[(c[b>>2]|0)+56>>2];c[(c[e>>2]|0)+112>>2]=c[(c[b>>2]|0)+20>>2];c[(c[e>>2]|0)+28>>2]=c[(c[b>>2]|0)+44>>2];g=(c[b>>2]|0)+32|0;f=c[g+4>>2]|0;a=(c[c[e>>2]>>2]|0)+32|0;c[a>>2]=c[g>>2];c[a+4>>2]=f;c[(c[e>>2]|0)+44>>2]=c[(c[b>>2]|0)+68>>2];c[(c[c[e>>2]>>2]|0)+88>>2]=c[(c[b>>2]|0)+72>>2];vr(c[c[e>>2]>>2]|0,(c[e>>2]|0)+204|0,-1,0);c[(c[e>>2]|0)+204>>2]=c[(c[b>>2]|0)+40>>2];c[(c[b>>2]|0)+40>>2]=0;l=d;return c[(c[b>>2]|0)+48>>2]|0}function tr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[b>>2]=a;if(!(c[(c[b>>2]|0)+112>>2]|0)){l=f;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+28>>2]|0))break;c[e>>2]=c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2];if(c[e>>2]|0){wr(c[b>>2]|0,c[e>>2]|0);c[(c[(c[b>>2]|0)+112>>2]|0)+(c[d>>2]<<2)>>2]=0}c[d>>2]=(c[d>>2]|0)+1}l=f;return}function ur(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=(c[b>>2]|0)+80;c[f>>2]=(c[e>>2]|0)+((c[(c[b>>2]|0)+60>>2]|0)*40|0);c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[(c[b>>2]|0)+64>>2]|0))break;wr(c[c[b>>2]>>2]|0,c[(c[f>>2]|0)+(c[d>>2]<<2)>>2]|0);c[d>>2]=(c[d>>2]|0)+1}Lj(c[e>>2]|0,c[(c[b>>2]|0)+60>>2]|0);vr(c[c[c[b>>2]>>2]>>2]|0,(c[b>>2]|0)+40|0,-1,0);Hd(c[c[c[b>>2]>>2]>>2]|0,c[b>>2]|0);l=g;return}function vr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;a:while(1){if(!(c[c[g>>2]>>2]|0))break;c[j>>2]=c[c[g>>2]>>2];do if((c[h>>2]|0)>=0){if((c[c[j>>2]>>2]|0)==(c[h>>2]|0)){if((c[(c[j>>2]|0)+4>>2]|0)>31)break;if(!(c[i>>2]&1<>2]|0)+4>>2]))break}c[g>>2]=(c[j>>2]|0)+16;continue a}while(0);if(c[(c[j>>2]|0)+12>>2]|0)qb[c[(c[j>>2]|0)+12>>2]&255](c[(c[j>>2]|0)+8>>2]|0);c[c[g>>2]>>2]=c[(c[j>>2]|0)+16>>2];Hd(c[f>>2]|0,c[j>>2]|0)}l=k;return}function wr(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;e=i+12|0;h=i+8|0;f=i+4|0;g=i;c[e>>2]=a;c[h>>2]=b;if(!(c[h>>2]|0)){l=i;return}switch(d[c[h>>2]>>0]|0|0){case 1:{xr(c[c[e>>2]>>2]|0,c[h>>2]|0);l=i;return}case 0:{a=c[h>>2]|0;if(c[(c[h>>2]|0)+20>>2]|0){Fq(c[a+20>>2]|0)|0;l=i;return}else{Iq(c[a+16>>2]|0)|0;l=i;return}}case 2:{c[f>>2]=c[(c[h>>2]|0)+16>>2];c[g>>2]=c[c[c[f>>2]>>2]>>2];h=(c[c[f>>2]>>2]|0)+4|0;c[h>>2]=(c[h>>2]|0)+-1;tb[c[(c[g>>2]|0)+28>>2]&255](c[f>>2]|0)|0;l=i;return}default:{l=i;return}}}function xr(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[(c[e>>2]|0)+16>>2];if(!(c[f>>2]|0)){l=g;return}yr(c[d>>2]|0,c[f>>2]|0);Kd(c[(c[f>>2]|0)+36+4>>2]|0);Hd(c[d>>2]|0,c[f>>2]|0);c[(c[e>>2]|0)+16>>2]=0;l=g;return}function yr(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;zr(c[(c[g>>2]|0)+20>>2]|0);c[(c[g>>2]|0)+20>>2]=0;c[h>>2]=0;while(1){b=c[g>>2]|0;if((c[h>>2]|0)>=(d[(c[g>>2]|0)+59>>0]|0|0))break;c[i>>2]=b+64+((c[h>>2]|0)*72|0);Ar(c[f>>2]|0,c[i>>2]|0);c[(c[i>>2]|0)+8>>2]=c[g>>2];c[h>>2]=(c[h>>2]|0)+1}if(!(c[b+36+4>>2]|0))Br(0,c[(c[g>>2]|0)+36>>2]|0);c[(c[g>>2]|0)+36>>2]=0;c[(c[g>>2]|0)+36+8>>2]=0;a[(c[g>>2]|0)+56>>0]=0;c[(c[g>>2]|0)+48>>2]=0;c[(c[g>>2]|0)+8>>2]=0;Hd(c[f>>2]|0,c[(c[g>>2]|0)+32>>2]|0);c[(c[g>>2]|0)+32>>2]=0;l=j;return}function zr(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(!(c[b>>2]|0)){d=c[b>>2]|0;Kd(d);l=e;return}c[d>>2]=0;while(1){if((c[d>>2]|0)>=(c[c[b>>2]>>2]|0))break;Cr((c[(c[b>>2]|0)+12>>2]|0)+((c[d>>2]|0)*56|0)|0);c[d>>2]=(c[d>>2]|0)+1}d=c[b>>2]|0;Kd(d);l=e;return}function Ar(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=l;l=l+16|0;f=e+4|0;d=e;c[f>>2]=a;c[d>>2]=b;Hd(c[f>>2]|0,c[(c[d>>2]|0)+12>>2]|0);Br(0,c[(c[d>>2]|0)+16>>2]|0);if(c[(c[d>>2]|0)+40>>2]|0)or(c[(c[d>>2]|0)+40>>2]|0);if(!(c[(c[d>>2]|0)+56>>2]|0)){a=c[d>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=e;return}or(c[(c[d>>2]|0)+56>>2]|0);a=c[d>>2]|0;b=a+72|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=e;return}function Br(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=l;l=l+16|0;d=g+12|0;h=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[h>>2]=b;c[e>>2]=c[h>>2];while(1){if(!(c[e>>2]|0))break;c[f>>2]=c[(c[e>>2]|0)+4>>2];Hd(c[d>>2]|0,c[e>>2]|0);c[e>>2]=c[f>>2]}l=g;return}function Cr(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;Kd(c[(c[b>>2]|0)+28>>2]|0);Kd(c[(c[b>>2]|0)+36>>2]|0);if(c[(c[b>>2]|0)+44>>2]|0)ym(c[(c[b>>2]|0)+24>>2]|0,0,0,c[(c[b>>2]|0)+44>>2]|0)|0;Dr(c[(c[b>>2]|0)+48>>2]|0);a=c[b>>2]|0;b=a+56|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(b|0));l=d;return}function Dr(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;if(!(c[b>>2]|0)){l=d;return}zr(c[(c[b>>2]|0)+4>>2]|0);Kd(c[b>>2]|0);l=d;return}function Er(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;if(!(c[b>>2]|0)){c[d>>2]=0;f=c[d>>2]|0;l=g;return f|0}c[e>>2]=c[b>>2];c[f>>2]=c[c[e>>2]>>2];b=(c[e>>2]|0)+128|0;a=c[b+4>>2]|0;if((a|0)>0|(a|0)==0&(c[b>>2]|0)>>>0>0)Sq(c[f>>2]|0,c[e>>2]|0);c[d>>2]=Xq(c[e>>2]|0)|0;Fr(c[e>>2]|0);c[d>>2]=Uq(c[f>>2]|0,c[d>>2]|0)|0;f=c[d>>2]|0;l=g;return f|0}function Fr(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;c[(c[e>>2]|0)+20>>2]=770837923;c[(c[e>>2]|0)+36>>2]=-1;c[(c[e>>2]|0)+40>>2]=0;a[(c[e>>2]|0)+142>>0]=2;c[(c[e>>2]|0)+44>>2]=0;c[(c[e>>2]|0)+32>>2]=1;a[(c[e>>2]|0)+143>>0]=-1;c[(c[e>>2]|0)+48>>2]=0;b=(c[e>>2]|0)+64|0;c[b>>2]=0;c[b+4>>2]=0;l=d;return}function Gr(a){a=a|0;var d=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;d=h+8|0;f=h+4|0;g=h;c[i>>2]=a;c[f>>2]=0;c[g>>2]=c[i>>2];c[d>>2]=0;while(1){a=c[g>>2]|0;if((c[d>>2]|0)>=(b[(c[g>>2]|0)+16>>1]|0))break;Lh((c[a+116>>2]|0)+((c[d>>2]|0)*40|0)|0);b[(c[(c[g>>2]|0)+116>>2]|0)+((c[d>>2]|0)*40|0)+8>>1]=1;c[d>>2]=(c[d>>2]|0)+1}if(!((e[a+144>>1]|0)>>>9&1)){i=c[f>>2]|0;l=h;return i|0}if(!(c[(c[g>>2]|0)+196>>2]|0)){i=c[f>>2]|0;l=h;return i|0}i=(c[g>>2]|0)+144|0;b[i>>1]=b[i>>1]&-2|1;i=c[f>>2]|0;l=h;return i|0}function Hr(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;k=o+32|0;e=o+28|0;m=o+24|0;f=o+20|0;j=o+16|0;g=o+12|0;n=o+8|0;h=o+4|0;i=o;c[e>>2]=d;c[m>>2]=0;c[f>>2]=0;c[j>>2]=c[e>>2];c[g>>2]=0;if(Ir(c[j>>2]|0)|0){c[k>>2]=cd(75775)|0;n=c[k>>2]|0;l=o;return n|0}c[n>>2]=c[c[j>>2]>>2];d=(c[j>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3;while(1){d=Jr(c[j>>2]|0)|0;c[m>>2]=d;if((d|0)!=17)break;d=c[g>>2]|0;c[g>>2]=d+1;if((d|0)>=50)break;c[h>>2]=c[(c[j>>2]|0)+36>>2];d=Kr(c[j>>2]|0)|0;c[m>>2]=d;c[f>>2]=d;if(c[m>>2]|0)break;Er(c[e>>2]|0)|0;if((c[h>>2]|0)<0)continue;d=(c[j>>2]|0)+144|0;b[d>>1]=b[d>>1]&-3|2}if(c[f>>2]|0){c[i>>2]=wh(c[(c[n>>2]|0)+244>>2]|0)|0;Hd(c[n>>2]|0,c[(c[j>>2]|0)+108>>2]|0);if(a[(c[n>>2]|0)+69>>0]|0){c[(c[j>>2]|0)+108>>2]=0;c[m>>2]=7;e=7;d=c[j>>2]|0}else{e=go(c[n>>2]|0,c[i>>2]|0)|0;c[(c[j>>2]|0)+108>>2]=e;e=c[f>>2]|0;d=c[j>>2]|0}c[d+40>>2]=e}c[m>>2]=Uq(c[n>>2]|0,c[m>>2]|0)|0;c[k>>2]=c[m>>2];n=c[k>>2]|0;l=o;return n|0}function Ir(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+8|0;d=e+4|0;c[d>>2]=a;if(!(c[d>>2]|0)){hd(21,38995,e);c[b>>2]=1;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=Rq(c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}return 0}function Jr(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[h>>2]=f;if((c[(c[h>>2]|0)+20>>2]|0)!=770837923)Er(c[h>>2]|0)|0;c[i>>2]=c[c[h>>2]>>2];f=c[h>>2]|0;if(a[(c[i>>2]|0)+69>>0]|0){c[f+40>>2]=7;c[g>>2]=7;k=c[g>>2]|0;l=m;return k|0}if((c[f+36>>2]|0)<=0?b[(c[h>>2]|0)+144>>1]&1|0:0){c[(c[h>>2]|0)+40>>2]=17;c[j>>2]=1}else{if((c[(c[h>>2]|0)+36>>2]|0)<0){if(!(c[(c[i>>2]|0)+156>>2]|0))c[(c[i>>2]|0)+248>>2]=0;if(!(!(c[(c[i>>2]|0)+192>>2]|0)?!(d[(c[i>>2]|0)+76>>0]&2|0):0))k=13;if(((k|0)==13?(a[(c[i>>2]|0)+148+5>>0]|0)==0:0)?c[(c[h>>2]|0)+176>>2]|0:0)uj(c[c[i>>2]>>2]|0,(c[h>>2]|0)+128|0)|0;k=(c[i>>2]|0)+156|0;c[k>>2]=(c[k>>2]|0)+1;if(!((e[(c[h>>2]|0)+144>>1]|0)>>>7&1)){k=(c[i>>2]|0)+164|0;c[k>>2]=(c[k>>2]|0)+1}if((e[(c[h>>2]|0)+144>>1]|0)>>>8&1|0){k=(c[i>>2]|0)+160|0;c[k>>2]=(c[k>>2]|0)+1}c[(c[h>>2]|0)+36>>2]=0}if((e[(c[h>>2]|0)+144>>1]|0)>>>2&3|0)c[j>>2]=RE(c[h>>2]|0)|0;else{k=(c[i>>2]|0)+168|0;c[k>>2]=(c[k>>2]|0)+1;c[j>>2]=SE(c[h>>2]|0)|0;k=(c[i>>2]|0)+168|0;c[k>>2]=(c[k>>2]|0)+-1}if((c[j>>2]|0)!=100?(k=(c[h>>2]|0)+128|0,f=c[k+4>>2]|0,(f|0)>0|(f|0)==0&(c[k>>2]|0)>>>0>0):0)Sq(c[i>>2]|0,c[h>>2]|0);if((c[j>>2]|0)==101?(k=TE(c[i>>2]|0)|0,c[(c[h>>2]|0)+40>>2]=k,c[(c[h>>2]|0)+40>>2]|0):0)c[j>>2]=1;c[(c[i>>2]|0)+52>>2]=c[j>>2];if(7==(Uq(c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+40>>2]|0)|0))c[(c[h>>2]|0)+40>>2]=7}if(((c[j>>2]|0)!=100?((e[(c[h>>2]|0)+144>>1]|0)>>>9&1|0)!=0:0)&(c[j>>2]|0)!=101)c[j>>2]=_q(c[h>>2]|0)|0;c[g>>2]=c[j>>2]&c[(c[i>>2]|0)+56>>2];k=c[g>>2]|0;l=m;return k|0}function Kr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;h=l;l=l+32|0;b=h+20|0;d=h+16|0;e=h+12|0;f=h+8|0;i=h+4|0;g=h;c[d>>2]=a;c[i>>2]=Lr(c[d>>2]|0)|0;c[g>>2]=Mr(c[d>>2]|0)|0;c[e>>2]=Nr(c[g>>2]|0,c[i>>2]|0,-1,0,c[d>>2]|0,f,0)|0;if(!(c[e>>2]|0)){Or(c[f>>2]|0,c[d>>2]|0);Pr(c[f>>2]|0,c[d>>2]|0)|0;Qr(c[f>>2]|0);Tq(c[f>>2]|0)|0;c[b>>2]=0;i=c[b>>2]|0;l=h;return i|0}if((c[e>>2]|0)==7)yd(c[g>>2]|0);c[b>>2]=c[e>>2];i=c[b>>2]|0;l=h;return i|0}function Lr(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=c[e>>2];if(!(c[b>>2]|0)){e=0;l=d;return e|0}e=c[(c[b>>2]|0)+176>>2]|0;l=d;return e|0}function Mr(a){a=a|0;var b=0,d=0;d=l;l=l+16|0;b=d;c[b>>2]=a;l=d;return c[c[b>>2]>>2]|0}function Nr(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;p=s+32|0;q=s+28|0;r=s+24|0;i=s+20|0;j=s+16|0;k=s+12|0;m=s+8|0;n=s+4|0;o=s;c[q>>2]=a;c[r>>2]=b;c[i>>2]=d;c[j>>2]=e;c[k>>2]=f;c[m>>2]=g;c[n>>2]=h;c[c[m>>2]>>2]=0;h=(Sr(c[q>>2]|0)|0)==0;if(h|(c[r>>2]|0)==0){c[p>>2]=cd(114197)|0;r=c[p>>2]|0;l=s;return r|0}Gj(c[q>>2]|0);c[o>>2]=Tr(c[q>>2]|0,c[r>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0;if((c[o>>2]|0)==17){Qq(c[c[m>>2]>>2]|0)|0;c[o>>2]=Tr(c[q>>2]|0,c[r>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0)|0}c[p>>2]=c[o>>2];r=c[p>>2]|0;l=s;return r|0}function Or(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;f=l;l=l+224|0;g=f+220|0;h=f+216|0;k=f;j=f+212|0;i=f+208|0;c[g>>2]=a;c[h>>2]=d;MR(k|0,c[g>>2]|0,208)|0;MR(c[g>>2]|0,c[h>>2]|0,208)|0;MR(c[h>>2]|0,k|0,208)|0;c[j>>2]=c[(c[g>>2]|0)+8>>2];c[(c[g>>2]|0)+8>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=c[j>>2];c[j>>2]=c[(c[g>>2]|0)+4>>2];c[(c[g>>2]|0)+4>>2]=c[(c[h>>2]|0)+4>>2];c[(c[h>>2]|0)+4>>2]=c[j>>2];c[i>>2]=c[(c[g>>2]|0)+176>>2];c[(c[g>>2]|0)+176>>2]=c[(c[h>>2]|0)+176>>2];c[(c[h>>2]|0)+176>>2]=c[i>>2];d=(c[h>>2]|0)+144|0;b[d>>1]=b[d>>1]&-513|((e[(c[g>>2]|0)+144>>1]|0)>>>9&1)<<9&65535;l=f;return}function Pr(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;j=h+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[j>>2]=a;c[i>>2]=d;c[e>>2]=c[j>>2];c[f>>2]=c[i>>2];c[g>>2]=0;while(1){if((c[g>>2]|0)>=(b[(c[e>>2]|0)+16>>1]|0))break;Rr((c[(c[f>>2]|0)+116>>2]|0)+((c[g>>2]|0)*40|0)|0,(c[(c[e>>2]|0)+116>>2]|0)+((c[g>>2]|0)*40|0)|0);c[g>>2]=(c[g>>2]|0)+1}l=h;return 0}function Qr(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;c[(c[d>>2]|0)+40>>2]=0;l=b;return}function Rr(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=a;c[f>>2]=d;Lh(c[e>>2]|0);a=c[e>>2]|0;d=c[f>>2]|0;e=a+40|0;do{c[a>>2]=c[d>>2];a=a+4|0;d=d+4|0}while((a|0)<(e|0));b[(c[f>>2]|0)+8>>1]=1;c[(c[f>>2]|0)+24>>2]=0;l=g;return}function Sr(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;b=f+8|0;d=f+4|0;e=f;c[d>>2]=a;do if(!(c[d>>2]|0)){Mu(17843);c[b>>2]=0}else{c[e>>2]=c[(c[d>>2]|0)+84>>2];if((c[e>>2]|0)==-1607883113){c[b>>2]=1;break}if(Lu(c[d>>2]|0)|0)Mu(35609);c[b>>2]=0}while(0);l=f;return c[b>>2]|0}function Tr(b,e,f,g,h,i,j){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+576|0;H=I+16|0;t=I+8|0;o=I;G=I+572|0;A=I+568|0;s=I+564|0;u=I+560|0;k=I+556|0;v=I+552|0;p=I+548|0;C=I+544|0;D=I+540|0;w=I+536|0;E=I+56|0;m=I+48|0;n=I+44|0;q=I+40|0;r=I+36|0;x=I+32|0;y=I+28|0;z=I+24|0;F=I+20|0;c[G>>2]=b;c[A>>2]=e;c[s>>2]=f;c[u>>2]=g;c[k>>2]=h;c[v>>2]=i;c[p>>2]=j;c[C>>2]=0;c[D>>2]=0;GR(E|0,0,152)|0;b=E+400|0;e=b+80|0;do{a[b>>0]=0;b=b+1|0}while((b|0)<(e|0));c[E+432>>2]=c[k>>2];c[w>>2]=0;while(1){b=c[G>>2]|0;if((c[w>>2]|0)>=(c[(c[G>>2]|0)+20>>2]|0))break;c[m>>2]=c[(c[b+16>>2]|0)+(c[w>>2]<<4)+4>>2];if(c[m>>2]|0?(c[D>>2]=Ur(c[m>>2]|0)|0,c[D>>2]|0):0){B=5;break}c[w>>2]=(c[w>>2]|0)+1}if((B|0)==5){c[n>>2]=c[(c[(c[G>>2]|0)+16>>2]|0)+(c[w>>2]<<4)>>2];F=c[G>>2]|0;H=c[D>>2]|0;c[o>>2]=c[n>>2];vk(F,H,22067,o);Ak(E);G=c[G>>2]|0;H=c[D>>2]|0;H=Uq(G,H)|0;c[D>>2]=H;H=c[D>>2]|0;l=I;return H|0}Zp(b);c[E>>2]=c[G>>2];do if((c[s>>2]|0)>=0){if(c[s>>2]|0?(a[(c[A>>2]|0)+((c[s>>2]|0)-1)>>0]|0)==0:0){B=15;break}c[r>>2]=c[(c[G>>2]|0)+96+4>>2];b=c[G>>2]|0;if((c[s>>2]|0)>(c[r>>2]|0)){vk(b,18,22097,t);c[D>>2]=Uq(c[G>>2]|0,18)|0;Ak(E);G=c[G>>2]|0;H=c[D>>2]|0;H=Uq(G,H)|0;c[D>>2]=H;H=c[D>>2]|0;l=I;return H|0}t=c[s>>2]|0;c[q>>2]=zj(b,c[A>>2]|0,t,((t|0)<0)<<31>>31)|0;if(c[q>>2]|0){Vr(E,c[q>>2]|0,C)|0;c[E+436>>2]=(c[A>>2]|0)+((c[E+436>>2]|0)-(c[q>>2]|0));Hd(c[G>>2]|0,c[q>>2]|0);break}else{c[E+436>>2]=(c[A>>2]|0)+(c[s>>2]|0);break}}else B=15;while(0);if((B|0)==15)Vr(E,c[A>>2]|0,C)|0;if((c[E+12>>2]|0)==101)c[E+12>>2]=0;if(a[E+17>>0]|0)Wr(E);if(a[(c[G>>2]|0)+69>>0]|0)c[E+12>>2]=7;if(c[p>>2]|0)c[c[p>>2]>>2]=c[E+436>>2];c[D>>2]=c[E+12>>2];a:do if(((c[D>>2]|0)==0?c[E+8>>2]|0:0)?d[E+409>>0]|0:0){b=c[E+8>>2]|0;if((d[E+409>>0]|0)==2){Xr(b,4);c[x>>2]=8;c[y>>2]=12}else{Xr(b,8);c[x>>2]=0;c[y>>2]=8}c[w>>2]=c[x>>2];while(1){if((c[w>>2]|0)>=(c[y>>2]|0))break a;Yr(c[E+8>>2]|0,(c[w>>2]|0)-(c[x>>2]|0)|0,0,c[4104+(c[w>>2]<<2)>>2]|0,0)|0;c[w>>2]=(c[w>>2]|0)+1}}while(0);if(!(d[(c[G>>2]|0)+148+5>>0]|0)){c[z>>2]=c[E+8>>2];Zr(c[z>>2]|0,c[A>>2]|0,(c[E+436>>2]|0)-(c[A>>2]|0)|0,c[u>>2]|0)}do if(c[E+8>>2]|0){if((c[D>>2]|0)==0?(d[(c[G>>2]|0)+69>>0]|0)==0:0){B=39;break}Tq(c[E+8>>2]|0)|0}else B=39;while(0);if((B|0)==39)c[c[v>>2]>>2]=c[E+8>>2];b=c[G>>2]|0;e=c[D>>2]|0;if(c[C>>2]|0){c[H>>2]=c[C>>2];vk(b,e,18130,H);Hd(c[G>>2]|0,c[C>>2]|0)}else wk(b,e);while(1){if(!(c[E+468>>2]|0))break;c[F>>2]=c[E+468>>2];c[E+468>>2]=c[(c[F>>2]|0)+4>>2];Hd(c[G>>2]|0,c[F>>2]|0)}Ak(E);G=c[G>>2]|0;H=c[D>>2]|0;H=Uq(G,H)|0;c[D>>2]=H;H=c[D>>2]|0;l=I;return H|0}function Ur(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;Ek(c[e>>2]|0);c[b>>2]=fq(c[e>>2]|0,1,1)|0;l=d;return c[b>>2]|0}function Vr(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+80|0;g=z+72|0;q=z+16|0;p=z+8|0;o=z;v=z+68|0;w=z+64|0;k=z+60|0;m=z+56|0;x=z+52|0;y=z+48|0;n=z+44|0;h=z+40|0;i=z+36|0;s=z+32|0;j=z+28|0;t=z+24|0;u=z+20|0;c[w>>2]=b;c[k>>2]=e;c[m>>2]=f;c[x>>2]=0;c[i>>2]=-1;c[s>>2]=c[c[w>>2]>>2];c[j>>2]=c[(c[s>>2]|0)+96+4>>2];if(!(c[(c[s>>2]|0)+156>>2]|0))c[(c[s>>2]|0)+248>>2]=0;c[(c[w>>2]|0)+12>>2]=0;c[(c[w>>2]|0)+436>>2]=c[k>>2];c[y>>2]=0;c[n>>2]=bs(182)|0;if(!(c[n>>2]|0)){yd(c[s>>2]|0);c[v>>2]=7;y=c[v>>2]|0;l=z;return y|0}a:while(1){do if(a[(c[k>>2]|0)+(c[y>>2]|0)>>0]|0){c[(c[w>>2]|0)+392>>2]=(c[k>>2]|0)+(c[y>>2]|0);f=yj((c[k>>2]|0)+(c[y>>2]|0)|0,h)|0;c[(c[w>>2]|0)+392+4>>2]=f;c[y>>2]=(c[y>>2]|0)+(c[(c[w>>2]|0)+392+4>>2]|0);if((c[y>>2]|0)>(c[j>>2]|0)){r=7;break a}}else{if((c[i>>2]|0)==1){c[h>>2]=0;break}if(!(c[i>>2]|0))break a;c[h>>2]=1}while(0);if((c[h>>2]|0)>=162){if(c[(c[s>>2]|0)+248>>2]|0){r=14;break}if((c[h>>2]|0)==163){r=16;break}else continue}else{b=c[n>>2]|0;e=c[h>>2]|0;A=(c[w>>2]|0)+392|0;f=c[w>>2]|0;c[g>>2]=c[A>>2];c[g+4>>2]=c[A+4>>2];cs(b,e,g,f);c[i>>2]=c[h>>2];if(c[(c[w>>2]|0)+12>>2]|0)break;if(d[(c[s>>2]|0)+69>>0]|0)break;else continue}}if((r|0)==7)c[(c[w>>2]|0)+12>>2]=18;else if((r|0)==14)c[(c[w>>2]|0)+12>>2]=9;else if((r|0)==16){A=c[w>>2]|0;c[o>>2]=(c[w>>2]|0)+392;Ck(A,22178,o)}c[(c[w>>2]|0)+436>>2]=(c[k>>2]|0)+(c[y>>2]|0);ds(c[n>>2]|0,148);if(a[(c[s>>2]|0)+69>>0]|0)c[(c[w>>2]|0)+12>>2]=7;if((c[(c[w>>2]|0)+12>>2]|0?(c[(c[w>>2]|0)+12>>2]|0)!=101:0)?(c[(c[w>>2]|0)+4>>2]|0)==0:0){A=c[s>>2]|0;c[p>>2]=Ci(c[(c[w>>2]|0)+12>>2]|0)|0;A=Bj(A,18130,p)|0;c[(c[w>>2]|0)+4>>2]=A}if(c[(c[w>>2]|0)+4>>2]|0){c[c[m>>2]>>2]=c[(c[w>>2]|0)+4>>2];A=c[(c[w>>2]|0)+12>>2]|0;c[q>>2]=c[c[m>>2]>>2];hd(A,18130,q);c[(c[w>>2]|0)+4>>2]=0;c[x>>2]=(c[x>>2]|0)+1}if((c[(c[w>>2]|0)+8>>2]|0?(c[(c[w>>2]|0)+36>>2]|0)>0:0)?(d[(c[w>>2]|0)+18>>0]|0)==0:0){Yq(c[(c[w>>2]|0)+8>>2]|0);c[(c[w>>2]|0)+8>>2]=0}if(!(d[(c[w>>2]|0)+18>>0]|0)){Hd(c[s>>2]|0,c[(c[w>>2]|0)+116>>2]|0);c[(c[w>>2]|0)+116>>2]=0;c[(c[w>>2]|0)+112>>2]=0}Kd(c[(c[w>>2]|0)+460>>2]|0);if(!(a[(c[w>>2]|0)+410>>0]|0))Jj(c[s>>2]|0,c[(c[w>>2]|0)+440>>2]|0);if(c[(c[w>>2]|0)+476>>2]|0)gk(c[s>>2]|0,c[(c[w>>2]|0)+476>>2]|0);Ij(c[s>>2]|0,c[(c[w>>2]|0)+444>>2]|0);c[y>>2]=(c[(c[w>>2]|0)+404>>2]|0)-1;while(1){g=c[s>>2]|0;b=c[(c[w>>2]|0)+428>>2]|0;if((c[y>>2]|0)<0)break;Hd(g,c[b+(c[y>>2]<<2)>>2]|0);c[y>>2]=(c[y>>2]|0)+-1}Hd(g,b);while(1){if(!(c[(c[w>>2]|0)+120>>2]|0))break;c[t>>2]=c[(c[w>>2]|0)+120>>2];c[(c[w>>2]|0)+120>>2]=c[c[t>>2]>>2];Hd(c[s>>2]|0,c[t>>2]|0)}while(1){if(!(c[(c[w>>2]|0)+464>>2]|0))break;c[u>>2]=c[(c[w>>2]|0)+464>>2];c[(c[w>>2]|0)+464>>2]=c[(c[u>>2]|0)+68>>2];Jj(c[s>>2]|0,c[u>>2]|0)}c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}function Wr(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;b=j+24|0;d=j+20|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[b>>2]=a;c[d>>2]=c[c[b>>2]>>2];c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[d>>2]|0)+20>>2]|0)){a=14;break}c[h>>2]=0;c[i>>2]=c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2];if(c[i>>2]|0){if(!(xk(c[i>>2]|0)|0)){c[f>>2]=Ro(c[i>>2]|0,0)|0;if((c[f>>2]|0)==7|(c[f>>2]|0)==3082)yd(c[d>>2]|0);if(c[f>>2]|0){a=14;break}c[h>>2]=1}To(c[i>>2]|0,1,g);if((c[g>>2]|0)!=(c[c[(c[(c[d>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+12>>2]>>2]|0)){$r(c[d>>2]|0,c[e>>2]|0);c[(c[b>>2]|0)+12>>2]=17}if(c[h>>2]|0)as(c[i>>2]|0)|0}c[e>>2]=(c[e>>2]|0)+1}if((a|0)==14){l=j;return}}function Xr(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;f=h+16|0;j=h+12|0;g=h+4|0;i=h;c[f>>2]=a;c[j>>2]=d;c[i>>2]=c[c[f>>2]>>2];Lj(c[(c[f>>2]|0)+100>>2]|0,(e[(c[f>>2]|0)+140>>1]|0)<<1);Hd(c[i>>2]|0,c[(c[f>>2]|0)+100>>2]|0);c[g>>2]=c[j>>2]<<1;b[(c[f>>2]|0)+140>>1]=c[j>>2];d=od(c[i>>2]|0,(c[g>>2]|0)*40|0,0)|0;c[h+8>>2]=d;c[(c[f>>2]|0)+100>>2]=d;if(!(c[(c[f>>2]|0)+100>>2]|0)){l=h;return}_r(c[(c[f>>2]|0)+100>>2]|0,c[g>>2]|0,c[c[f>>2]>>2]|0,1);l=h;return}function Yr(b,d,f,g,h){b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+28|0;n=r+24|0;o=r+20|0;p=r+16|0;q=r+12|0;i=r+8|0;j=r+4|0;k=r;c[n>>2]=b;c[o>>2]=d;c[p>>2]=f;c[q>>2]=g;c[i>>2]=h;if(a[(c[c[n>>2]>>2]|0)+69>>0]|0){c[m>>2]=7;q=c[m>>2]|0;l=r;return q|0}else{c[k>>2]=(c[(c[n>>2]|0)+100>>2]|0)+(((c[o>>2]|0)+(O(c[p>>2]|0,e[(c[n>>2]|0)+140>>1]|0)|0)|0)*40|0);c[j>>2]=Jh(c[k>>2]|0,c[q>>2]|0,-1,1,c[i>>2]|0)|0;c[m>>2]=c[j>>2];q=c[m>>2]|0;l=r;return q|0}return 0}function Zr(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=a;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(!(c[g>>2]|0)){l=k;return}i=c[i>>2]|0;i=zj(c[c[g>>2]>>2]|0,c[h>>2]|0,i,((i|0)<0)<<31>>31)|0;c[(c[g>>2]|0)+176>>2]=i;i=(c[g>>2]|0)+144|0;b[i>>1]=b[i>>1]&-513|(c[j>>2]&1)<<9&65535;l=k;return}function _r(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+8|0;h=k+4|0;i=k;j=k+12|0;c[g>>2]=a;c[h>>2]=d;c[i>>2]=e;b[j>>1]=f;while(1){f=c[h>>2]|0;c[h>>2]=f+-1;if((f|0)<=0)break;c[(c[g>>2]|0)+32>>2]=c[i>>2];b[(c[g>>2]|0)+8>>1]=b[j>>1]|0;c[(c[g>>2]|0)+24>>2]=0;c[g>>2]=(c[g>>2]|0)+40}l=k;return}function $r(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;d=f+8|0;g=f+4|0;e=f;c[d>>2]=a;c[g>>2]=b;c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+(c[g>>2]<<4);Yp(c[(c[e>>2]|0)+12>>2]|0);if((c[g>>2]|0)==1){l=f;return}c[e>>2]=(c[(c[d>>2]|0)+16>>2]|0)+16;Yp(c[(c[e>>2]|0)+12>>2]|0);l=f;return}function as(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;Ek(c[b>>2]|0);c[d>>2]=ep(c[b>>2]|0,0)|0;if(c[d>>2]|0){d=c[d>>2]|0;l=e;return d|0}c[d>>2]=dp(c[b>>2]|0,0)|0;d=c[d>>2]|0;l=e;return d|0}function bs(d){d=d|0;var e=0,f=0,g=0;f=l;l=l+16|0;g=f+4|0;e=f;c[g>>2]=d;c[e>>2]=yb[c[g>>2]&255](1608,0)|0;if(!(c[e>>2]|0)){g=c[e>>2]|0;l=f;return g|0}c[c[e>>2]>>2]=(c[e>>2]|0)+8;b[(c[e>>2]|0)+8>>1]=0;a[(c[e>>2]|0)+8+2>>0]=0;g=c[e>>2]|0;l=f;return g|0}function cs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+32|0;n=k+28|0;g=k+24|0;m=k+20|0;h=k+8|0;i=k+4|0;j=k;c[n>>2]=a;c[g>>2]=b;c[m>>2]=e;c[j>>2]=c[n>>2];c[(c[j>>2]|0)+4>>2]=c[m>>2];while(1){c[i>>2]=gs(c[j>>2]|0,c[g>>2]&255)|0;do if((c[i>>2]|0)>>>0>999)if((c[i>>2]|0)>>>0<=1331){is(c[j>>2]|0,(c[i>>2]|0)-1e3|0);break}else{c[h>>2]=c[d>>2];c[h+4>>2]=c[d+4>>2];m=c[j>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];js(m,n,f);fs(c[j>>2]|0,c[g>>2]&255,h);c[g>>2]=252;break}else{e=c[j>>2]|0;m=c[i>>2]|0;n=c[g>>2]|0;c[f>>2]=c[d>>2];c[f+4>>2]=c[d+4>>2];hs(e,m,n,f);c[g>>2]=252}while(0);if((c[g>>2]|0)==252){f=9;break}if((c[c[j>>2]>>2]|0)>>>0<=((c[j>>2]|0)+8|0)>>>0){f=9;break}}if((f|0)==9){l=k;return}}function ds(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;f=l;l=l+16|0;g=f+8|0;d=f+4|0;e=f;c[g>>2]=a;c[d>>2]=b;c[e>>2]=c[g>>2];while(1){if((c[c[e>>2]>>2]|0)>>>0<=((c[e>>2]|0)+8|0)>>>0)break;es(c[e>>2]|0)}qb[c[d>>2]&255](c[e>>2]|0);l=f;return}function es(b){b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=b;g=c[f>>2]|0;b=c[g>>2]|0;c[g>>2]=b+-16;c[e>>2]=b;fs(c[f>>2]|0,a[(c[e>>2]|0)+2>>0]|0,(c[e>>2]|0)+4|0);l=d;return}function fs(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;i=l;l=l+16|0;k=i+8|0;j=i+12|0;g=i+4|0;h=i;c[k>>2]=b;a[j>>0]=e;c[g>>2]=f;c[h>>2]=c[(c[k>>2]|0)+4>>2];do switch(d[j>>0]|0|0){case 206:case 195:case 194:case 163:{Zj(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 173:case 172:{ck(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 226:case 224:case 218:case 209:case 208:case 207:case 204:case 202:case 199:case 187:case 186:case 177:{_j(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 212:case 211:case 200:case 193:{fk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 250:case 196:{gk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 241:case 236:case 227:case 225:case 215:case 203:case 201:{ck(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 220:case 217:case 216:{hk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 237:case 232:{qk(c[c[h>>2]>>2]|0,c[c[g>>2]>>2]|0);l=i;return}case 234:{hk(c[c[h>>2]>>2]|0,c[(c[g>>2]|0)+4>>2]|0);l=i;return}default:{l=i;return}}while(0)}function gs(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;h=p+16|0;q=p+12|0;i=p+21|0;j=p+8|0;k=p+4|0;m=p+20|0;n=p;c[q>>2]=f;a[i>>0]=g;c[k>>2]=e[c[c[q>>2]>>2]>>1];if((c[k>>2]|0)>=1e3){c[h>>2]=c[k>>2];q=c[h>>2]|0;l=p;return q|0}while(1){c[j>>2]=b[12950+(c[k>>2]<<1)>>1];c[j>>2]=(c[j>>2]|0)+(d[i>>0]|0);if(!((c[j>>2]|0)<0|(c[j>>2]|0)>=1567)?(d[33946+(c[j>>2]|0)>>0]|0)==(d[i>>0]|0):0){o=13;break}if((d[i>>0]|0)>>>0>=96)break;q=a[35513+(d[i>>0]|0)>>0]|0;a[m>>0]=q;if(!(q&255))break;a[i>>0]=a[m>>0]|0}if((o|0)==13){c[h>>2]=e[9786+(c[j>>2]<<1)>>1];q=c[h>>2]|0;l=p;return q|0}c[n>>2]=(c[j>>2]|0)-(d[i>>0]|0)+96;if(((c[n>>2]|0)<1567?(d[33946+(c[n>>2]|0)>>0]|0)==96:0)?(d[i>>0]|0)>0:0){c[h>>2]=e[9786+(c[n>>2]<<1)>>1];q=c[h>>2]|0;l=p;return q|0}c[h>>2]=e[13862+(c[k>>2]<<1)>>1];q=c[h>>2]|0;l=p;return q|0}function hs(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;f=c[h>>2]|0;c[f>>2]=(c[f>>2]|0)+16;if((c[c[h>>2]>>2]|0)>>>0>=((c[h>>2]|0)+8+1600|0)>>>0){ks(c[h>>2]|0);l=m;return}if((c[i>>2]|0)>455)c[i>>2]=(c[i>>2]|0)+332;c[k>>2]=c[c[h>>2]>>2];b[c[k>>2]>>1]=c[i>>2];a[(c[k>>2]|0)+2>>0]=c[j>>2];k=(c[k>>2]|0)+4|0;c[k>>2]=c[g>>2];c[k+4>>2]=c[g+4>>2];l=m;return}function is(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0;fa=l;l=l+288|0;h=fa+280|0;X=fa+40|0;W=fa+32|0;V=fa+24|0;U=fa+16|0;Z=fa+8|0;T=fa;$=fa+276|0;aa=fa+272|0;ba=fa+268|0;ca=fa+264|0;da=fa+260|0;ea=fa+256|0;_=fa+252|0;S=fa+240|0;i=fa+228|0;j=fa+216|0;k=fa+192|0;m=fa+188|0;n=fa+184|0;o=fa+180|0;p=fa+176|0;q=fa+168|0;r=fa+164|0;s=fa+160|0;t=fa+156|0;u=fa+152|0;v=fa+148|0;w=fa+144|0;x=fa+140|0;y=fa+136|0;z=fa+132|0;A=fa+128|0;B=fa+124|0;C=fa+120|0;D=fa+116|0;E=fa+112|0;F=fa+108|0;G=fa+104|0;Y=fa+96|0;H=fa+92|0;I=fa+88|0;J=fa+84|0;K=fa+80|0;L=fa+76|0;M=fa+72|0;N=fa+68|0;O=fa+64|0;P=fa+60|0;Q=fa+56|0;R=fa+48|0;c[$>>2]=f;c[aa>>2]=g;c[_>>2]=c[(c[$>>2]|0)+4>>2];c[da>>2]=c[c[$>>2]>>2];if((d[22227+(c[aa>>2]<<1)+1>>0]|0)==0?(c[c[$>>2]>>2]|0)>>>0>=((c[$>>2]|0)+8+1584|0)>>>0:0){ks(c[$>>2]|0);l=fa;return}a:do switch(c[aa>>2]|0){case 0:{a[(c[_>>2]|0)+409>>0]=1;break}case 1:{a[(c[_>>2]|0)+409>>0]=2;break}case 2:{ls(c[_>>2]|0);break}case 3:{ms(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 4:{c[(c[da>>2]|0)+16+4>>2]=7;break}case 7:case 6:case 5:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 9:case 8:{ns(c[_>>2]|0);break}case 10:{os(c[_>>2]|0);break}case 11:{ps(c[_>>2]|0,0,(c[da>>2]|0)+4|0);break}case 12:{ps(c[_>>2]|0,1,(c[da>>2]|0)+4|0);break}case 13:{ps(c[_>>2]|0,2,(c[da>>2]|0)+4|0);break}case 14:{qs(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 15:{rs(c[_>>2]|0);break}case 215:case 90:case 76:case 67:case 57:case 42:case 22:case 19:case 16:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 17:{c[(c[da>>2]|0)+-32+4>>2]=1;break}case 43:case 18:{c[(c[da>>2]|0)+4>>2]=1;break}case 20:{ss(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,c[(c[da>>2]|0)+4>>2]&255,0);break}case 21:{ss(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+4>>2]|0);Zj(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 23:{if((c[(c[da>>2]|0)+4+4>>2]|0)==5?(Zc(c[(c[da>>2]|0)+4>>2]|0,22891,5)|0)==0:0){c[(c[da>>2]|0)+-16+4>>2]=96;break a}c[(c[da>>2]|0)+-16+4>>2]=0;_=c[_>>2]|0;Z=c[(c[da>>2]|0)+4>>2]|0;c[T>>2]=c[(c[da>>2]|0)+4+4>>2];c[T+4>>2]=Z;Ck(_,22897,T);break}case 24:{ts(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 96:case 60:case 25:{c[(c[da>>2]|0)+16+4+4>>2]=0;c[(c[da>>2]|0)+16+4>>2]=0;break}case 26:{c[(c[da>>2]|0)+-48+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0);break}case 27:{c[(c[da>>2]|0)+-80+4+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0)-(c[(c[da>>2]|0)+-80+4>>2]|0);break}case 28:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[da>>2]|0)+4+4>>2]|0)+((c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0));break}case 62:case 29:{_=(c[_>>2]|0)+84|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 32:case 30:{us(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 31:{us(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 33:{c[i>>2]=vs(c[_>>2]|0,155,c[(c[da>>2]|0)+4>>2]|0,0,0)|0;c[i+4>>2]=c[(c[da>>2]|0)+-16+4>>2];c[i+8>>2]=c[(c[da>>2]|0)+4+8>>2];us(c[_>>2]|0,i);break}case 34:{Z=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];ws(j,Z,97,h);us(c[_>>2]|0,j);break}case 35:{xs(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 36:{ys(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 37:{zs(c[_>>2]|0,0,0,0,0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 38:{As(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 39:{Bs(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 40:{Cs(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 41:{Ds(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 44:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 45:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+-16+4>>2]&~c[(c[da>>2]|0)+4+4>>2]|c[(c[da>>2]|0)+4>>2];break}case 46:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 47:{c[(c[da>>2]|0)+-32+4>>2]=0;c[(c[da>>2]|0)+-32+4+4>>2]=0;break}case 48:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-32+4+4>>2]=255;break}case 49:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2]<<8;c[(c[da>>2]|0)+-32+4+4>>2]=65280;break}case 50:{c[(c[da>>2]|0)+-16+4>>2]=7;break}case 51:{c[(c[da>>2]|0)+-16+4>>2]=8;break}case 52:{c[(c[da>>2]|0)+4>>2]=9;break}case 53:{c[(c[da>>2]|0)+4>>2]=6;break}case 54:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 55:{c[(c[da>>2]|0)+-32+4>>2]=0;break}case 144:case 71:case 56:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 216:case 190:case 187:case 75:case 58:{c[(c[da>>2]|0)+-16+4>>2]=1;break}case 59:{c[(c[da>>2]|0)+-16+4>>2]=0;break}case 61:{c[(c[_>>2]|0)+84+4>>2]=0;break}case 63:{ys(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,0);break}case 64:{zs(c[_>>2]|0,0,0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,0,0,0,1);break}case 65:{As(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);break}case 66:{Bs(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);Cs(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 70:case 68:{c[(c[da>>2]|0)+16+4>>2]=10;break}case 69:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 72:{c[(c[da>>2]|0)+4>>2]=4;break}case 145:case 73:{c[(c[da>>2]|0)+4>>2]=5;break}case 74:{Es(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 77:{Fs(c[_>>2]|0,(c[da>>2]|0)+-128+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 78:{Es(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,1,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 79:{c[k>>2]=c[1038];c[k+4>>2]=c[1039];c[k+8>>2]=c[1040];c[k+12>>2]=c[1041];c[k+16>>2]=c[1042];c[k+20>>2]=c[1043];Gs(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,k)|0;Zj(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 80:{c[m>>2]=c[(c[da>>2]|0)+4>>2];if(c[m>>2]|0){c[(c[m>>2]|0)+64>>2]=c[(c[da>>2]|0)+-16+4>>2];Hs(c[_>>2]|0,c[m>>2]|0)}else gk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);c[(c[da>>2]|0)+-16+4>>2]=c[m>>2];break}case 81:{c[n>>2]=c[(c[da>>2]|0)+4>>2];c[o>>2]=c[(c[da>>2]|0)+-32+4>>2];if(c[n>>2]|0?c[(c[n>>2]|0)+48>>2]|0:0){c[q+4>>2]=0;Hs(c[_>>2]|0,c[n>>2]|0);c[p>>2]=Is(c[_>>2]|0,0,0,0,q,c[n>>2]|0,0,0)|0;c[n>>2]=Js(c[_>>2]|0,0,c[p>>2]|0,0,0,0,0,0,0,0)|0}if(c[n>>2]|0){a[(c[n>>2]|0)+4>>0]=c[(c[da>>2]|0)+-16+4>>2];c[(c[n>>2]|0)+48>>2]=c[o>>2];if(c[o>>2]|0){Z=(c[o>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025}Z=(c[n>>2]|0)+8|0;c[Z>>2]=c[Z>>2]&-1025;if((c[(c[da>>2]|0)+-16+4>>2]|0)!=116)a[(c[_>>2]|0)+22>>0]=1}else Zj(c[c[_>>2]>>2]|0,c[o>>2]|0);c[(c[da>>2]|0)+-32+4>>2]=c[n>>2];break}case 84:case 82:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];break}case 83:{c[(c[da>>2]|0)+-16+4>>2]=116;break}case 85:{_=Js(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+4+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=_;break}case 86:{_=Js(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,512,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 87:{c[s>>2]=c[(c[da>>2]|0)+-64+4>>2];c[r>>2]=Js(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,0,0,0,0,0,1536,0,0)|0;if(c[s>>2]|0){_=(c[s>>2]|0)+8|0;c[_>>2]=c[_>>2]&-1025}if(c[r>>2]|0){a[(c[r>>2]|0)+4>>0]=116;c[(c[r>>2]|0)+48>>2]=c[s>>2];h=c[r>>2]|0;f=c[da>>2]|0}else{h=c[s>>2]|0;f=c[da>>2]|0}c[f+-64+4>>2]=h;break}case 88:{c[(c[da>>2]|0)+4>>2]=1;break}case 89:{c[(c[da>>2]|0)+4>>2]=2;break}case 211:case 206:case 203:case 126:case 119:case 91:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 92:{Z=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;if((c[(c[da>>2]|0)+4+4>>2]|0)>>>0>0)Ls(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1);Ms(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 93:{c[t>>2]=Ns(c[c[_>>2]>>2]|0,160,0)|0;_=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[t>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 94:{c[u>>2]=vs(c[_>>2]|0,160,0,0,0)|0;c[v>>2]=vs(c[_>>2]|0,55,0,0,(c[da>>2]|0)+-32+4|0)|0;c[w>>2]=vs(c[_>>2]|0,122,c[v>>2]|0,c[u>>2]|0,0)|0;_=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[w>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 226:case 225:case 106:case 95:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 97:{_=jl(c[c[_>>2]>>2]|0,80,0)|0;c[(c[da>>2]|0)+16+4>>2]=_;break}case 98:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];Os(c[(c[da>>2]|0)+-16+4>>2]|0);break}case 99:{if(c[(c[da>>2]|0)+-16+4>>2]|0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>0:0)a[(c[(c[da>>2]|0)+-16+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)-1|0)*72|0)+36>>0]=c[(c[da>>2]|0)+4>>2];break}case 100:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 101:{Z=Is(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;Ps(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,(c[da>>2]|0)+-32+4|0);break}case 102:{Z=Is(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-128+4>>2]=Z;Qs(c[_>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 103:{_=Is(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 104:{if((((c[(c[da>>2]|0)+-96+4>>2]|0)==0?(c[(c[da>>2]|0)+-32+4+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+-16+4>>2]|0)==0:0)?(c[(c[da>>2]|0)+4>>2]|0)==0:0){c[(c[da>>2]|0)+-96+4>>2]=c[(c[da>>2]|0)+-64+4>>2];break a}if((c[c[(c[da>>2]|0)+-64+4>>2]>>2]|0)!=1){Os(c[(c[da>>2]|0)+-64+4>>2]|0);c[z>>2]=Js(c[_>>2]|0,0,c[(c[da>>2]|0)+-64+4>>2]|0,0,0,0,0,2048,0,0)|0;_=Is(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,c[z>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break a}Z=Is(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,0,0,(c[da>>2]|0)+-32+4|0,0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=Z;if(c[(c[da>>2]|0)+-96+4>>2]|0){c[x>>2]=(c[(c[da>>2]|0)+-96+4>>2]|0)+8+(((c[c[(c[da>>2]|0)+-96+4>>2]>>2]|0)-1|0)*72|0);c[y>>2]=(c[(c[da>>2]|0)+-64+4>>2]|0)+8;c[(c[x>>2]|0)+8>>2]=c[(c[y>>2]|0)+8>>2];c[(c[x>>2]|0)+4>>2]=c[(c[y>>2]|0)+4>>2];c[(c[x>>2]|0)+20>>2]=c[(c[y>>2]|0)+20>>2];c[(c[y>>2]|0)+4>>2]=0;c[(c[y>>2]|0)+8>>2]=0;c[(c[y>>2]|0)+20>>2]=0}fk(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 114:case 105:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 107:{_=Rs(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 108:{c[(c[da>>2]|0)+4>>2]=1;break}case 109:{_=Ss(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,0,0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;break}case 110:{_=Ss(c[_>>2]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 111:{_=Ss(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 199:case 136:case 129:case 112:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 202:case 200:case 135:case 128:case 113:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 115:{_=(c[da>>2]|0)+-32+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 116:{c[(c[da>>2]|0)+-16+4>>2]=0;c[(c[da>>2]|0)+-16+4+4>>2]=1;break}case 117:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 146:case 118:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 127:case 120:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 121:{_=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;Ts(c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 122:{_=Ks(c[_>>2]|0,0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-16+4>>2]=_;Ts(c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 123:{c[(c[da>>2]|0)+4>>2]=0;break}case 124:{c[(c[da>>2]|0)+4>>2]=1;break}case 125:{c[(c[da>>2]|0)+16+4>>2]=-1;break}case 130:{c[(c[da>>2]|0)+16+4>>2]=0;c[(c[da>>2]|0)+16+4+4>>2]=0;break}case 131:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];c[(c[da>>2]|0)+-16+4+4>>2]=0;break}case 132:{c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 133:{c[(c[da>>2]|0)+-48+4+4>>2]=c[(c[da>>2]|0)+-32+4>>2];c[(c[da>>2]|0)+-48+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 134:{Us(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Ps(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+-16+4|0);Vs(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 137:{Us(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,1);Ps(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-48+4|0);Ws(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,22924);Xs(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 138:{Z=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;Ls(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,1);break}case 139:{_=Ys(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 140:{c[S>>2]=Ks(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;Ls(c[_>>2]|0,c[S>>2]|0,(c[da>>2]|0)+-32+4|0,1);c[(c[da>>2]|0)+-32+4>>2]=c[S>>2];break}case 141:{_=Ys(c[_>>2]|0,0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 142:{Us(c[_>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0,1);Zs(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 143:{Us(c[_>>2]|0,c[(c[da>>2]|0)+-96+4>>2]|0,1);Zs(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]|0);break}case 147:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 148:{_=_s(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 149:{_=_s(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+4|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 150:{$s((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 157:case 156:case 151:{Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;_=d[(c[da>>2]|0)+2>>0]|0;X=(c[da>>2]|0)+4|0;c[h>>2]=c[X>>2];c[h+4>>2]=c[X+4>>2];ws(Y,Z,_,h);break}case 153:case 152:{Z=(c[da>>2]|0)+4|0;_=c[_>>2]|0;Y=(c[da>>2]|0)+4|0;c[h>>2]=c[Y>>2];c[h+4>>2]=c[Y+4>>2];ws(Z,_,55,h);break}case 154:{c[A>>2]=at(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[B>>2]=at(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;$s((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);_=vs(c[_>>2]|0,122,c[A>>2]|0,c[B>>2]|0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 155:{c[C>>2]=at(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-64+4|0,1)|0;c[D>>2]=at(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+-32+4|0,1)|0;c[E>>2]=at(c[c[_>>2]>>2]|0,55,(c[da>>2]|0)+4|0,1)|0;c[F>>2]=vs(c[_>>2]|0,122,c[D>>2]|0,c[E>>2]|0,0)|0;$s((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);_=vs(c[_>>2]|0,122,c[C>>2]|0,c[F>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 158:{c[S>>2]=at(c[c[_>>2]>>2]|0,134,(c[da>>2]|0)+4|0,1)|0;c[S+4>>2]=c[(c[da>>2]|0)+4>>2];c[S+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);if(c[S>>2]|0){_=(c[S>>2]|0)+4|0;c[_>>2]=c[_>>2]|8388608}_=(c[da>>2]|0)+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 159:{if((a[c[(c[da>>2]|0)+4>>2]>>0]|0)==35?d[16965+(d[(c[(c[da>>2]|0)+4>>2]|0)+1>>0]|0)>>0]&4|0:0){h=(c[da>>2]|0)+4|0;c[Y>>2]=c[h>>2];c[Y+4>>2]=c[h+4>>2];$s((c[da>>2]|0)+4|0,Y,Y);h=c[_>>2]|0;if(!(d[(c[_>>2]|0)+18>>0]|0)){c[Z>>2]=Y;Ck(h,22203,Z);c[(c[da>>2]|0)+4>>2]=0;break a}_=vs(h,157,0,0,0)|0;c[(c[da>>2]|0)+4>>2]=_;if(!(c[(c[da>>2]|0)+4>>2]|0))break a;Nf((c[Y>>2]|0)+1|0,(c[(c[da>>2]|0)+4>>2]|0)+28|0)|0;break a}c[G>>2]=c[(c[da>>2]|0)+4+4>>2];Y=(c[da>>2]|0)+4|0;Z=c[_>>2]|0;X=(c[da>>2]|0)+4|0;c[h>>2]=c[X>>2];c[h+4>>2]=c[X+4>>2];ws(Y,Z,135,h);bt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[G>>2]|0);break}case 160:{_=ct(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,(c[da>>2]|0)+4|0,1)|0;c[(c[da>>2]|0)+-32+4>>2]=_;c[(c[da>>2]|0)+-32+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 161:{$s((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=vs(c[_>>2]|0,66,c[(c[da>>2]|0)+-48+4>>2]|0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 162:{if(c[(c[da>>2]|0)+-16+4>>2]|0?(c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)>(c[(c[c[_>>2]>>2]|0)+96+24>>2]|0):0){Z=c[_>>2]|0;c[U>>2]=(c[da>>2]|0)+-64+4;Ck(Z,22933,U)}c[S>>2]=dt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,(c[da>>2]|0)+-64+4|0)|0;$s(S,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);if((c[(c[da>>2]|0)+-32+4>>2]|0)==1?c[S>>2]|0:0){_=(c[S>>2]|0)+4|0;c[_>>2]=c[_>>2]|16}_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 163:{c[S>>2]=dt(c[_>>2]|0,0,(c[da>>2]|0)+-48+4|0)|0;$s(S,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+-48+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 164:{c[S>>2]=dt(c[_>>2]|0,0,(c[da>>2]|0)+4|0)|0;$s(S,(c[da>>2]|0)+4|0,(c[da>>2]|0)+4|0);_=(c[da>>2]|0)+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 165:{c[H>>2]=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[S>>2]=vs(c[_>>2]|0,158,0,0,0)|0;if(c[S>>2]|0){c[(c[S>>2]|0)+20>>2]=c[H>>2];$s(S,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0)}else _j(c[c[_>>2]>>2]|0,c[H>>2]|0);_=(c[da>>2]|0)+-64+4|0;c[_>>2]=c[S>>2];c[_+4>>2]=c[S+4>>2];c[_+8>>2]=c[S+8>>2];break}case 173:case 172:case 171:case 170:case 169:case 168:case 167:case 166:{et(c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 174:{_=(c[da>>2]|0)+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];break}case 175:{_=(c[da>>2]|0)+-16+4|0;Z=(c[da>>2]|0)+4|0;c[_>>2]=c[Z>>2];c[_+4>>2]=c[Z+4>>2];_=(c[da>>2]|0)+-16+4+4|0;c[_>>2]=c[_>>2]|-2147483648;break}case 176:{c[J>>2]=c[(c[da>>2]|0)+-16+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-16+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[I>>2]=Ks(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[I>>2]=Ks(c[_>>2]|0,c[I>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;Z=dt(c[_>>2]|0,c[I>>2]|0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;ft(c[_>>2]|0,c[J>>2]|0,(c[da>>2]|0)+-32+4|0);c[(c[da>>2]|0)+-32+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-32+4>>2]|0){_=(c[(c[da>>2]|0)+-32+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 177:{c[L>>2]=c[(c[da>>2]|0)+-48+4+4>>2]&-2147483648;Z=(c[da>>2]|0)+-48+4+4|0;c[Z>>2]=c[Z>>2]&2147483647;c[K>>2]=Ks(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[K>>2]=Ks(c[_>>2]|0,c[K>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)|0;c[K>>2]=Ks(c[_>>2]|0,c[K>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=dt(c[_>>2]|0,c[K>>2]|0,(c[da>>2]|0)+-48+4|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;ft(c[_>>2]|0,c[L>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];if(c[(c[da>>2]|0)+-64+4>>2]|0){_=(c[(c[da>>2]|0)+-64+4>>2]|0)+4|0;c[_>>2]=c[_>>2]|128}break}case 178:{gt(c[_>>2]|0,d[(c[da>>2]|0)+2>>0]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 179:{gt(c[_>>2]|0,35,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);break}case 180:{et(c[_>>2]|0,29,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);ht(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,34);break}case 181:{et(c[_>>2]|0,148,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);ht(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,35);break}case 183:case 182:{it((c[da>>2]|0)+-16+4|0,c[_>>2]|0,d[(c[da>>2]|0)+-16+2>>0]|0,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 184:{it((c[da>>2]|0)+-16+4|0,c[_>>2]|0,155,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 185:{it((c[da>>2]|0)+-16+4|0,c[_>>2]|0,156,(c[da>>2]|0)+4|0,(c[da>>2]|0)+-16+4|0);break}case 189:case 186:{c[(c[da>>2]|0)+4>>2]=0;break}case 188:{c[M>>2]=Ks(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[M>>2]=Ks(c[_>>2]|0,c[M>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;Z=vs(c[_>>2]|0,32,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0)c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[M>>2];else _j(c[c[_>>2]>>2]|0,c[M>>2]|0);ft(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=c[(c[da>>2]|0)+4+8>>2];break}case 191:{do if(!(c[(c[da>>2]|0)+-16+4>>2]|0)){ck(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);_=vs(c[_>>2]|0,134,0,0,4176+(c[(c[da>>2]|0)+-48+4>>2]<<3)|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_}else{if((c[c[(c[da>>2]|0)+-16+4>>2]>>2]|0)==1){c[N>>2]=c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2];c[c[(c[(c[da>>2]|0)+-16+4>>2]|0)+4>>2]>>2]=0;_j(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);if(c[N>>2]|0){Z=(c[N>>2]|0)+4|0;c[Z>>2]=c[Z>>2]&-257;Z=(c[N>>2]|0)+4|0;c[Z>>2]=c[Z>>2]|512}_=vs(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0?36:37,c[(c[da>>2]|0)+-64+4>>2]|0,c[N>>2]|0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}Z=vs(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(c[(c[da>>2]|0)+-64+4>>2]|0){c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=c[(c[da>>2]|0)+-16+4>>2];jt(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0)}else _j(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ft(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0)}while(0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 192:{$s((c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0);Z=vs(c[_>>2]|0,119,0,0,0)|0;c[(c[da>>2]|0)+-32+4>>2]=Z;kt(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 193:{Z=vs(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;kt(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);ft(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);c[(c[da>>2]|0)+-64+4+8>>2]=(c[(c[da>>2]|0)+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);break}case 194:{c[O>>2]=Rs(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+-16+4|0)|0;c[P>>2]=Js(c[_>>2]|0,0,c[O>>2]|0,0,0,0,0,0,0,0)|0;if(c[(c[da>>2]|0)+4>>2]|0)Qs(c[_>>2]|0,c[P>>2]|0?c[O>>2]|0:0,c[(c[da>>2]|0)+4>>2]|0);h=vs(c[_>>2]|0,33,c[(c[da>>2]|0)+-64+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=h;kt(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[P>>2]|0);ft(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+-64+4|0);h=c[da>>2]|0;if(c[(c[da>>2]|0)+-16+4>>2]|0){f=(c[da>>2]|0)+-16|0;h=c[h+-16+4>>2]|0}else{f=(c[da>>2]|0)+-32|0;h=c[h+-32+4>>2]|0}c[(c[da>>2]|0)+-64+4+8>>2]=h+(c[f+4+4>>2]|0);break}case 195:{$s((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);Z=vs(c[_>>2]|0,20,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;c[Q>>2]=Z;kt(c[_>>2]|0,c[Q>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 196:{$s((c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+4|0);Z=vs(c[_>>2]|0,136,c[(c[da>>2]|0)+-48+4>>2]|0,0,0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;if(!(c[(c[da>>2]|0)+-64+4>>2]|0)){_j(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0);ck(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break a}if(c[(c[da>>2]|0)+-16+4>>2]|0)h=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;else h=c[(c[da>>2]|0)+-32+4>>2]|0;c[(c[(c[da>>2]|0)+-64+4>>2]|0)+20>>2]=h;jt(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 197:{Z=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=Z;_=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 198:{Z=Ks(c[_>>2]|0,0,c[(c[da>>2]|0)+-32+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=Z;_=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;break}case 201:{c[(c[da>>2]|0)+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 204:{_=Ks(c[_>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 205:{_=Ks(c[_>>2]|0,0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 212:case 207:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 208:{zs(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,Rs(c[c[_>>2]>>2]|0,0,(c[da>>2]|0)+-64+4|0,0)|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,(c[da>>2]|0)+-176+4|0,c[(c[da>>2]|0)+4>>2]|0,0,c[(c[da>>2]|0)+-128+4>>2]|0,0);break}case 250:case 209:{c[(c[da>>2]|0)+4>>2]=2;break}case 210:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 213:{_=lt(c[_>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 214:{_=lt(c[_>>2]|0,0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-32+4>>2]=_;break}case 217:{mt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 218:{nt(c[_>>2]|0,0);break}case 219:{nt(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 220:{ot(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0,0,0);break}case 221:{ot(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,0);break}case 222:{ot(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,0);break}case 223:{ot(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,1);break}case 224:{ot(c[_>>2]|0,(c[da>>2]|0)+-64+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-16+4|0,1);break}case 227:{c[R>>2]=c[(c[da>>2]|0)+-48+4>>2];c[R+4>>2]=(c[(c[da>>2]|0)+4>>2]|0)-(c[(c[da>>2]|0)+-48+4>>2]|0)+(c[(c[da>>2]|0)+4+4>>2]|0);pt(c[_>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,R);break}case 228:{qt(c[_>>2]|0,(c[da>>2]|0)+-112+4|0,(c[da>>2]|0)+-96+4|0,c[(c[da>>2]|0)+-80+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-64+4+4>>2]|0,c[(c[da>>2]|0)+-32+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-160+4>>2]|0,c[(c[da>>2]|0)+-128+4>>2]|0);h=(c[da>>2]|0)+-160+4|0;f=c[da>>2]|0;if(!(c[(c[da>>2]|0)+-96+4+4>>2]|0)){_=f+-112+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}else{_=f+-96+4|0;c[h>>2]=c[_>>2];c[h+4>>2]=c[_+4>>2];break a}}case 229:{c[(c[da>>2]|0)+4>>2]=63;break}case 230:{c[(c[da>>2]|0)+4>>2]=59;break}case 231:{c[(c[da>>2]|0)+-16+4>>2]=77;break}case 232:{c[(c[da>>2]|0)+16+4>>2]=63;break}case 234:case 233:{c[(c[da>>2]|0)+4>>2]=d[(c[da>>2]|0)+2>>0];c[(c[da>>2]|0)+4+4>>2]=0;break}case 235:{c[(c[da>>2]|0)+-32+4>>2]=110;c[(c[da>>2]|0)+-32+4+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 255:case 236:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 256:case 237:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 238:{c[(c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]|0)+28>>2]=c[(c[da>>2]|0)+-16+4>>2];c[(c[(c[da>>2]|0)+-32+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 239:{c[(c[(c[da>>2]|0)+-16+4>>2]|0)+32>>2]=c[(c[da>>2]|0)+-16+4>>2];break}case 240:{Z=(c[da>>2]|0)+-32+4|0;Y=(c[da>>2]|0)+4|0;c[Z>>2]=c[Y>>2];c[Z+4>>2]=c[Y+4>>2];Ck(c[_>>2]|0,22967,V);break}case 241:{Ck(c[_>>2]|0,23062,W);break}case 242:{Ck(c[_>>2]|0,23146,X);break}case 243:{_=rt(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-64+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-80+4>>2]&255)|0;c[(c[da>>2]|0)+-96+4>>2]=_;break}case 244:{_=st(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-64+4>>2]&255)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 245:{_=tt(c[c[_>>2]>>2]|0,(c[da>>2]|0)+-32+4|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+-64+4>>2]=_;break}case 246:{_=ut(c[c[_>>2]>>2]|0,c[(c[da>>2]|0)+4>>2]|0)|0;c[(c[da>>2]|0)+4>>2]=_;break}case 247:{$s((c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+4|0);_=vs(c[_>>2]|0,83,0,0,0)|0;c[(c[da>>2]|0)+-48+4>>2]=_;if(c[(c[da>>2]|0)+-48+4>>2]|0)a[(c[(c[da>>2]|0)+-48+4>>2]|0)+1>>0]=4;break}case 248:{$s((c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+-80+4|0,(c[da>>2]|0)+4|0);_=vs(c[_>>2]|0,83,0,0,(c[da>>2]|0)+-16+4|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;if(c[(c[da>>2]|0)+-80+4>>2]|0)a[(c[(c[da>>2]|0)+-80+4>>2]|0)+1>>0]=c[(c[da>>2]|0)+-48+4>>2];break}case 249:{c[(c[da>>2]|0)+4>>2]=1;break}case 251:{c[(c[da>>2]|0)+4>>2]=3;break}case 252:{vt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0);break}case 253:{wt(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 254:{xt(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 257:{yt(c[_>>2]|0,0,0);break}case 258:{yt(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 259:{zt(c[_>>2]|0,0,0);break}case 260:{zt(c[_>>2]|0,(c[da>>2]|0)+-16+4|0,(c[da>>2]|0)+4|0);break}case 261:{At(c[_>>2]|0,c[(c[da>>2]|0)+-48+4>>2]|0,(c[da>>2]|0)+4|0);break}case 262:{c[(c[da>>2]|0)+-16+4+4>>2]=(c[(c[_>>2]|0)+392>>2]|0)-(c[(c[da>>2]|0)+-16+4>>2]|0)+(c[(c[_>>2]|0)+392+4>>2]|0);Bt(c[_>>2]|0,(c[da>>2]|0)+-16+4|0);break}case 263:{rs(c[_>>2]|0);Ct(c[_>>2]|0,c[(c[da>>2]|0)+4>>2]|0);break}case 264:{Dt(c[_>>2]|0,0);break}case 265:{Dt(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 266:{Et(c[_>>2]|0,(c[da>>2]|0)+-48+4|0,(c[da>>2]|0)+-32+4|0,(c[da>>2]|0)+4|0,c[(c[da>>2]|0)+-64+4>>2]|0);break}case 267:{Ft(c[_>>2]|0);break}case 270:case 269:case 268:{Gt(c[_>>2]|0,(c[da>>2]|0)+4|0);break}case 271:{c[(c[da>>2]|0)+16+4>>2]=0;break}case 272:{c[(c[da>>2]|0)+-16+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 273:{c[(c[da>>2]|0)+-32+4>>2]=c[(c[da>>2]|0)+4>>2];break}case 274:{_=Ht(c[_>>2]|0,0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-80+4>>2]=_;break}case 275:{_=Ht(c[_>>2]|0,c[(c[da>>2]|0)+-112+4>>2]|0,(c[da>>2]|0)+-80+4|0,c[(c[da>>2]|0)+-64+4>>2]|0,c[(c[da>>2]|0)+-16+4>>2]|0)|0;c[(c[da>>2]|0)+-112+4>>2]=_;break}default:{}}while(0);c[ba>>2]=d[22227+(c[aa>>2]<<1)>>0];c[ea>>2]=d[22227+(c[aa>>2]<<1)+1>>0];c[ca>>2]=It(e[(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4)>>1]|0,c[ba>>2]&255)|0;if((c[ca>>2]|0)>999){da=c[$>>2]|0;c[da>>2]=(c[da>>2]|0)+(0-(c[ea>>2]|0)<<4);Jt(c[$>>2]|0);l=fa;return}if((c[ca>>2]|0)>455)c[ca>>2]=(c[ca>>2]|0)+332;c[da>>2]=(c[da>>2]|0)+(0-((c[ea>>2]|0)-1)<<4);c[c[$>>2]>>2]=c[da>>2];b[c[da>>2]>>1]=c[ca>>2];a[(c[da>>2]|0)+2>>0]=c[ba>>2];l=fa;return}function js(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e;f=e+12|0;g=e+4|0;c[f>>2]=a;c[e+8>>2]=b;c[g>>2]=c[(c[f>>2]|0)+4>>2];b=c[g>>2]|0;c[h>>2]=d;Ck(b,22203,h);c[(c[f>>2]|0)+4>>2]=c[g>>2];l=e;return}function ks(a){a=a|0;var b=0,d=0,e=0,f=0;f=l;l=l+16|0;e=f;b=f+8|0;d=f+4|0;c[b>>2]=a;c[d>>2]=c[(c[b>>2]|0)+4>>2];a=c[b>>2]|0;c[a>>2]=(c[a>>2]|0)+-16;while(1){if((c[c[b>>2]>>2]|0)>>>0<=((c[b>>2]|0)+8|0)>>>0)break;es(c[b>>2]|0)}Ck(c[d>>2]|0,33924,e);c[(c[b>>2]|0)+4>>2]=c[d>>2];l=f;return}function ls(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;e=n+28|0;f=n+24|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[e>>2]=b;c[f>>2]=c[c[e>>2]>>2];if(a[(c[e>>2]|0)+18>>0]|0){l=n;return}if((d[(c[f>>2]|0)+69>>0]|0)==0?(c[(c[e>>2]|0)+36>>2]|0)==0:0){c[g>>2]=Rt(c[e>>2]|0)|0;do if(c[g>>2]|0?(Tt(c[g>>2]|0,75)|0,(d[(c[f>>2]|0)+69>>0]|0)==0):0){if((c[(c[e>>2]|0)+96>>2]|0)==0?(c[(c[e>>2]|0)+80>>2]|0)==0:0)break;tx(c[g>>2]|0,0);c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break;if((c[(c[e>>2]|0)+96>>2]&1<>2]|0)!=0|0?(cu(c[g>>2]|0,c[h>>2]|0),c[j>>2]=c[(c[(c[f>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2],Fx(c[g>>2]|0,2,c[h>>2]|0,(c[(c[e>>2]|0)+92>>2]&1<>2]|0)!=0&1,c[c[j>>2]>>2]|0,c[(c[j>>2]|0)+4>>2]|0)|0,(d[(c[f>>2]|0)+148+5>>0]|0)==0):0)px(c[g>>2]|0,1);c[h>>2]=(c[h>>2]|0)+1}c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[(c[e>>2]|0)+412>>2]|0))break;c[k>>2]=lv(c[f>>2]|0,c[(c[(c[e>>2]|0)+460>>2]|0)+(c[i>>2]<<2)>>2]|0)|0;_t(c[g>>2]|0,152,0,0,0,c[k>>2]|0,-10)|0;c[i>>2]=(c[i>>2]|0)+1}c[(c[e>>2]|0)+412>>2]=0;NE(c[e>>2]|0);OE(c[e>>2]|0);a:do if(c[(c[e>>2]|0)+80>>2]|0){c[m>>2]=c[(c[e>>2]|0)+80>>2];a[(c[e>>2]|0)+23>>0]=0;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[c[m>>2]>>2]|0))break a;ay(c[e>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)>>2]|0,c[(c[(c[m>>2]|0)+4>>2]|0)+((c[i>>2]|0)*20|0)+16>>2]|0);c[i>>2]=(c[i>>2]|0)+1}}while(0);sx(c[g>>2]|0,1)|0}while(0);if((c[g>>2]|0?(c[(c[e>>2]|0)+36>>2]|0)==0:0)?(a[(c[f>>2]|0)+69>>0]|0)==0:0){if(c[(c[e>>2]|0)+120>>2]|0?(c[(c[e>>2]|0)+40>>2]|0)==0:0)c[(c[e>>2]|0)+40>>2]=1;PE(c[g>>2]|0,c[e>>2]|0);c[(c[e>>2]|0)+12>>2]=101;l=n;return}c[(c[e>>2]|0)+12>>2]=1;l=n;return}if(c[(c[e>>2]|0)+12>>2]|0){l=n;return}c[(c[e>>2]|0)+12>>2]=1;l=n;return}function ms(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[d>>2]=a;c[e>>2]=b;c[f>>2]=c[c[d>>2]>>2];if(Ot(c[d>>2]|0,22,33854,0,0)|0){l=i;return}c[g>>2]=Rt(c[d>>2]|0)|0;if(!(c[g>>2]|0)){l=i;return}a:do if((c[e>>2]|0)!=7){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[(c[f>>2]|0)+20>>2]|0))break a;Wt(c[g>>2]|0,2,c[h>>2]|0,((c[e>>2]|0)==9&1)+1|0)|0;cu(c[g>>2]|0,c[h>>2]|0);c[h>>2]=(c[h>>2]|0)+1}}while(0);Tt(c[g>>2]|0,1)|0;l=i;return}function ns(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Ot(c[b>>2]|0,22,33877,0,0)|0){l=e;return}c[d>>2]=Rt(c[b>>2]|0)|0;if(!(c[d>>2]|0)){l=e;return}kx(c[d>>2]|0,1,1)|0;l=e;return}function os(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;if(Ot(c[b>>2]|0,22,33868,0,0)|0){l=e;return}c[d>>2]=Rt(c[b>>2]|0)|0;if(!(c[d>>2]|0)){l=e;return}Wt(c[d>>2]|0,1,1,1)|0;l=e;return}function ps(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;j=i+8|0;g=i+4|0;h=i;c[e>>2]=a;c[f>>2]=b;c[j>>2]=d;c[g>>2]=Kt(c[c[e>>2]>>2]|0,c[j>>2]|0)|0;if(!(c[g>>2]|0)){l=i;return}c[h>>2]=Rt(c[e>>2]|0)|0;if(c[h>>2]|0?(Ot(c[e>>2]|0,32,c[5504+(c[f>>2]<<2)>>2]|0,c[g>>2]|0,0)|0)==0:0){_t(c[h>>2]|0,0,c[f>>2]|0,0,0,c[g>>2]|0,-1)|0;l=i;return}Hd(c[c[e>>2]>>2]|0,c[g>>2]|0);l=i;return}function qs(e,f,g,h,i,j,k){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+112|0;v=J+16|0;H=J+8|0;u=J;G=J+96|0;s=J+92|0;t=J+88|0;m=J+84|0;w=J+80|0;x=J+76|0;y=J+72|0;n=J+68|0;z=J+64|0;A=J+60|0;B=J+56|0;I=J+52|0;C=J+48|0;o=J+44|0;p=J+40|0;q=J+36|0;r=J+32|0;D=J+28|0;E=J+24|0;F=J+20|0;c[G>>2]=e;c[s>>2]=f;c[t>>2]=g;c[m>>2]=h;c[w>>2]=i;c[x>>2]=j;c[y>>2]=k;c[z>>2]=0;c[A>>2]=c[c[G>>2]>>2];if(d[(c[A>>2]|0)+148+5>>0]|0?(c[(c[A>>2]|0)+148>>2]|0)==1:0){c[I>>2]=d[(c[A>>2]|0)+148+4>>0];c[z>>2]=go(c[A>>2]|0,(c[I>>2]|0)==1?23323:23342)|0;c[C>>2]=c[s>>2]}else{c[I>>2]=gx(c[G>>2]|0,c[s>>2]|0,c[t>>2]|0,C)|0;if((c[I>>2]|0)<0){l=J;return}if(c[m>>2]|0?((c[I>>2]|0)!=1?(c[(c[t>>2]|0)+4>>2]|0)>>>0>0:0):0){Ck(c[G>>2]|0,33744,u);l=J;return}if(c[m>>2]|0)c[I>>2]=1;c[z>>2]=Kt(c[A>>2]|0,c[C>>2]|0)|0}u=(c[G>>2]|0)+384|0;t=c[C>>2]|0;c[u>>2]=c[t>>2];c[u+4>>2]=c[t+4>>2];if(!(c[z>>2]|0)){l=J;return}a:do if(!(jv(c[G>>2]|0,c[z>>2]|0)|0)){if((d[(c[A>>2]|0)+148+4>>0]|0)==1)c[m>>2]=1;c[o>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(!(Ot(c[G>>2]|0,18,(c[m>>2]|0)==1?23323:23342,0,c[o>>2]|0)|0)){if((c[x>>2]|0)==0?Ot(c[G>>2]|0,d[33785+((c[m>>2]|0)+(c[w>>2]<<1))>>0]|0,c[z>>2]|0,0,c[o>>2]|0)|0:0)break;do if(!(a[(c[G>>2]|0)+410>>0]|0)){c[p>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)>>2];if(lu(c[G>>2]|0)|0)break a;c[n>>2]=mu(c[A>>2]|0,c[z>>2]|0,c[p>>2]|0)|0;if(!(c[n>>2]|0)){if(!(Bu(c[A>>2]|0,c[z>>2]|0,c[p>>2]|0)|0))break;I=c[G>>2]|0;c[v>>2]=c[z>>2];Ck(I,33813,v);break a}e=c[G>>2]|0;if(c[y>>2]|0){ju(e,c[I>>2]|0);break a}else{c[H>>2]=c[C>>2];Ck(e,33789,H);break a}}while(0);c[n>>2]=jl(c[A>>2]|0,72,0)|0;if(!(c[n>>2]|0)){c[(c[G>>2]|0)+12>>2]=7;I=(c[G>>2]|0)+36|0;c[I>>2]=(c[I>>2]|0)+1;break}c[c[n>>2]>>2]=c[z>>2];b[(c[n>>2]|0)+32>>1]=-1;c[(c[n>>2]|0)+64>>2]=c[(c[(c[A>>2]|0)+16>>2]|0)+(c[I>>2]<<4)+12>>2];b[(c[n>>2]|0)+36>>1]=1;b[(c[n>>2]|0)+38>>1]=200;c[(c[G>>2]|0)+440>>2]=c[n>>2];if((a[(c[G>>2]|0)+18>>0]|0)==0?(vQ(c[z>>2]|0,25115)|0)==0:0)c[(c[(c[n>>2]|0)+64>>2]|0)+72>>2]=c[n>>2];if(a[(c[A>>2]|0)+148+5>>0]|0){l=J;return}H=Rt(c[G>>2]|0)|0;c[B>>2]=H;if(!H){l=J;return}iu(c[G>>2]|0,1,c[I>>2]|0);if(c[x>>2]|0)Tt(c[B>>2]|0,152)|0;H=(c[G>>2]|0)+44|0;e=(c[H>>2]|0)+1|0;c[H>>2]=e;c[(c[G>>2]|0)+100>>2]=e;c[D>>2]=e;e=(c[G>>2]|0)+44|0;H=(c[e>>2]|0)+1|0;c[e>>2]=H;c[(c[G>>2]|0)+104>>2]=H;c[E>>2]=H;H=(c[G>>2]|0)+44|0;e=(c[H>>2]|0)+1|0;c[H>>2]=e;c[F>>2]=e;Xt(c[B>>2]|0,101,c[I>>2]|0,c[F>>2]|0,2)|0;cu(c[B>>2]|0,c[I>>2]|0);c[q>>2]=kx(c[B>>2]|0,21,c[F>>2]|0)|0;c[r>>2]=c[(c[A>>2]|0)+24>>2]&32768|0?1:4;Xt(c[B>>2]|0,102,c[I>>2]|0,2,c[r>>2]|0)|0;Xt(c[B>>2]|0,102,c[I>>2]|0,5,d[(c[A>>2]|0)+66>>0]|0)|0;tx(c[B>>2]|0,c[q>>2]|0);e=c[B>>2]|0;if((c[w>>2]|0)!=0|(c[x>>2]|0)!=0)Wt(e,76,0,c[E>>2]|0)|0;else{H=Wt(e,135,c[I>>2]|0,c[E>>2]|0)|0;c[(c[G>>2]|0)+132>>2]=H}ME(c[G>>2]|0,c[I>>2]|0);Wt(c[B>>2]|0,114,0,c[D>>2]|0)|0;_t(c[B>>2]|0,81,6,c[F>>2]|0,0,33848,-2)|0;Xt(c[B>>2]|0,115,0,c[F>>2]|0,c[D>>2]|0)|0;px(c[B>>2]|0,8);Tt(c[B>>2]|0,111)|0;l=J;return}}while(0);Hd(c[A>>2]|0,c[z>>2]|0);l=J;return}function rs(b){b=b|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=b;b=(c[e>>2]|0)+24|0;a[b>>0]=(a[b>>0]|0)+1<<24>>24;b=(c[c[e>>2]>>2]|0)+256|0;c[b>>2]=(c[b>>2]|0)+1;l=d;return}function ss(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;R=l;l=l+208|0;O=R+72|0;M=R+64|0;Q=R+32|0;P=R+16|0;N=R+8|0;L=R;G=R+200|0;H=R+196|0;I=R+192|0;J=R+204|0;K=R+188|0;j=R+184|0;k=R+180|0;m=R+176|0;n=R+172|0;o=R+168|0;p=R+164|0;q=R+160|0;r=R+156|0;s=R+152|0;t=R+128|0;u=R+120|0;v=R+116|0;w=R+112|0;x=R+108|0;y=R+104|0;z=R+100|0;A=R+96|0;B=R+92|0;C=R+88|0;D=R+84|0;E=R+80|0;F=R+76|0;c[G>>2]=e;c[H>>2]=f;c[I>>2]=g;a[J>>0]=h;c[K>>2]=i;c[k>>2]=c[c[G>>2]>>2];if((c[I>>2]|0)==0&(c[K>>2]|0)==0){l=R;return}c[j>>2]=c[(c[G>>2]|0)+440>>2];if(!(c[j>>2]|0)){l=R;return}if(a[(c[k>>2]|0)+148+5>>0]|0?(c[(c[j>>2]|0)+28>>2]=c[(c[k>>2]|0)+148>>2],(c[(c[j>>2]|0)+28>>2]|0)==1):0){i=(c[j>>2]|0)+42|0;a[i>>0]=d[i>>0]|1}do if(d[J>>0]&32|0){if(d[(c[j>>2]|0)+42>>0]&8|0){Ck(c[G>>2]|0,33425,L);l=R;return}if(!(d[(c[j>>2]|0)+42>>0]&4)){L=c[G>>2]|0;c[N>>2]=c[c[j>>2]>>2];Ck(L,33475,N);break}else{N=(c[j>>2]|0)+42|0;a[N>>0]=d[N>>0]|96;FE(c[G>>2]|0,c[j>>2]|0);break}}while(0);c[m>>2]=Nt(c[k>>2]|0,c[(c[j>>2]|0)+64>>2]|0)|0;if(c[(c[j>>2]|0)+24>>2]|0)AE(c[G>>2]|0,c[j>>2]|0,4,0,c[(c[j>>2]|0)+24>>2]|0);GE(c[j>>2]|0);c[n>>2]=c[(c[j>>2]|0)+8>>2];while(1){if(!(c[n>>2]|0))break;DE(c[n>>2]|0);c[n>>2]=c[(c[n>>2]|0)+20>>2]}if(!(a[(c[k>>2]|0)+148+5>>0]|0)){c[p>>2]=Rt(c[G>>2]|0)|0;if(!(c[p>>2]|0)){l=R;return}kx(c[p>>2]|0,111,0)|0;if(!(c[(c[j>>2]|0)+12>>2]|0)){c[q>>2]=29336;c[r>>2]=33507}else{c[q>>2]=32385;c[r>>2]=33513}do if(c[K>>2]|0){L=(c[G>>2]|0)+44|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[u>>2]=N;N=(c[G>>2]|0)+44|0;L=(c[N>>2]|0)+1|0;c[N>>2]=L;c[w>>2]=L;L=(c[G>>2]|0)+44|0;N=(c[L>>2]|0)+1|0;c[L>>2]=N;c[x>>2]=N;mv(c[G>>2]|0);Xt(c[p>>2]|0,105,1,c[(c[G>>2]|0)+104>>2]|0,c[m>>2]|0)|0;px(c[p>>2]|0,16);c[(c[G>>2]|0)+40>>2]=2;c[v>>2]=(Vu(c[p>>2]|0)|0)+1;Xt(c[p>>2]|0,15,c[u>>2]|0,0,c[v>>2]|0)|0;Gy(t,13,c[u>>2]|0);Gs(c[G>>2]|0,c[K>>2]|0,t)|0;rA(c[p>>2]|0,c[u>>2]|0);tx(c[p>>2]|0,(c[v>>2]|0)-1|0);if(c[(c[G>>2]|0)+36>>2]|0){l=R;return}c[z>>2]=sv(c[G>>2]|0,c[K>>2]|0)|0;if(!(c[z>>2]|0)){l=R;return}else{b[(c[j>>2]|0)+34>>1]=b[(c[z>>2]|0)+34>>1]|0;c[(c[j>>2]|0)+4>>2]=c[(c[z>>2]|0)+4>>2];b[(c[z>>2]|0)+34>>1]=0;c[(c[z>>2]|0)+4>>2]=0;Jj(c[k>>2]|0,c[z>>2]|0);c[y>>2]=kx(c[p>>2]|0,16,c[t+8>>2]|0)|0;Xt(c[p>>2]|0,99,c[t+12>>2]|0,c[t+16>>2]|0,c[w>>2]|0)|0;uA(c[p>>2]|0,c[j>>2]|0,0);Wt(c[p>>2]|0,114,1,c[x>>2]|0)|0;Xt(c[p>>2]|0,115,1,c[w>>2]|0,c[x>>2]|0)|0;sx(c[p>>2]|0,c[y>>2]|0)|0;tx(c[p>>2]|0,c[y>>2]|0);kx(c[p>>2]|0,111,1)|0;break}}while(0);if(c[K>>2]|0)c[s>>2]=HE(c[k>>2]|0,c[j>>2]|0)|0;else{c[A>>2]=d[J>>0]|0?(c[G>>2]|0)+392|0:c[I>>2]|0;c[o>>2]=(c[c[A>>2]>>2]|0)-(c[(c[G>>2]|0)+384>>2]|0);if((a[c[c[A>>2]>>2]>>0]|0)!=59)c[o>>2]=(c[o>>2]|0)+(c[(c[A>>2]|0)+4>>2]|0);N=c[k>>2]|0;K=c[o>>2]|0;L=c[(c[G>>2]|0)+384>>2]|0;c[P>>2]=c[r>>2];c[P+4>>2]=K;c[P+8>>2]=L;c[s>>2]=Bj(N,33518,P)|0}P=c[G>>2]|0;A=(c[m>>2]|0)==1?23323:23342;h=c[q>>2]|0;i=c[c[j>>2]>>2]|0;J=c[c[j>>2]>>2]|0;K=c[(c[G>>2]|0)+104>>2]|0;L=c[s>>2]|0;N=c[(c[G>>2]|0)+100>>2]|0;c[Q>>2]=c[(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2];c[Q+4>>2]=A;c[Q+8>>2]=h;c[Q+12>>2]=i;c[Q+16>>2]=J;c[Q+20>>2]=K;c[Q+24>>2]=L;c[Q+28>>2]=N;Qt(P,33533,Q);Hd(c[k>>2]|0,c[s>>2]|0);St(c[G>>2]|0,c[m>>2]|0);if(d[(c[j>>2]|0)+42>>0]&8|0?(c[B>>2]=(c[(c[k>>2]|0)+16>>2]|0)+(c[m>>2]<<4),(c[(c[(c[B>>2]|0)+12>>2]|0)+72>>2]|0)==0):0){Q=c[G>>2]|0;c[M>>2]=c[c[B>>2]>>2];Qt(Q,33620,M)}N=c[p>>2]|0;P=c[m>>2]|0;Q=c[k>>2]|0;c[O>>2]=c[c[j>>2]>>2];Ut(N,P,Bj(Q,33662,O)|0)}if(!(a[(c[k>>2]|0)+148+5>>0]|0)){l=R;return}c[D>>2]=c[(c[j>>2]|0)+64>>2];c[C>>2]=Vj((c[D>>2]|0)+8|0,c[c[j>>2]>>2]|0,c[j>>2]|0)|0;if(c[C>>2]|0){yd(c[k>>2]|0);l=R;return}c[(c[G>>2]|0)+440>>2]=0;Q=(c[k>>2]|0)+24|0;c[Q>>2]=c[Q>>2]|2;if(c[(c[j>>2]|0)+12>>2]|0){l=R;return}c[E>>2]=c[(c[G>>2]|0)+384>>2];if(!(c[c[H>>2]>>2]|0))c[H>>2]=c[I>>2];c[F>>2]=(c[c[H>>2]>>2]|0)-(c[E>>2]|0);Q=13+(zh(c[E>>2]|0,c[F>>2]|0)|0)|0;c[(c[j>>2]|0)+44>>2]=Q;l=R;return}function ts(e,f,g){e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=l;l=l+64|0;t=v+8|0;s=v;k=v+48|0;m=v+44|0;n=v+40|0;o=v+36|0;p=v+32|0;q=v+28|0;r=v+24|0;h=v+20|0;i=v+16|0;j=v+12|0;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[i>>2]=c[c[k>>2]>>2];g=c[(c[k>>2]|0)+440>>2]|0;c[o>>2]=g;if(!g){l=v;return}if(((b[(c[o>>2]|0)+34>>1]|0)+1|0)>(c[(c[i>>2]|0)+96+8>>2]|0)){u=c[k>>2]|0;c[s>>2]=c[c[o>>2]>>2];Ck(u,33376,s);l=v;return}c[q>>2]=md(c[i>>2]|0,(c[(c[m>>2]|0)+4>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)+2|0,0)|0;if(!(c[q>>2]|0)){l=v;return}MR(c[q>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;a[(c[q>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)>>0]=0;Aj(c[q>>2]|0);c[p>>2]=0;while(1){if((c[p>>2]|0)>=(b[(c[o>>2]|0)+34>>1]|0))break;if(!(uk(c[q>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+(c[p>>2]<<4)>>2]|0)|0)){u=8;break}c[p>>2]=(c[p>>2]|0)+1}if((u|0)==8){u=c[k>>2]|0;c[t>>2]=c[q>>2];Ck(u,33399,t);Hd(c[i>>2]|0,c[q>>2]|0);l=v;return}do if(!(b[(c[o>>2]|0)+34>>1]&7)){c[j>>2]=Pd(c[i>>2]|0,c[(c[o>>2]|0)+4>>2]|0,(b[(c[o>>2]|0)+34>>1]|0)+8<<4,0)|0;if(c[j>>2]|0){c[(c[o>>2]|0)+4>>2]=c[j>>2];break}Hd(c[i>>2]|0,c[q>>2]|0);l=v;return}while(0);c[h>>2]=(c[(c[o>>2]|0)+4>>2]|0)+(b[(c[o>>2]|0)+34>>1]<<4);u=c[h>>2]|0;c[u>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;c[u+12>>2]=0;c[c[h>>2]>>2]=c[q>>2];if(!(c[(c[n>>2]|0)+4>>2]|0)){a[(c[h>>2]|0)+13>>0]=65;a[(c[h>>2]|0)+14>>0]=1}else{u=c[q>>2]|0;c[r>>2]=u+(_c(c[q>>2]|0)|0)+1;MR(c[r>>2]|0,c[c[n>>2]>>2]|0,c[(c[n>>2]|0)+4>>2]|0)|0;a[(c[r>>2]|0)+(c[(c[n>>2]|0)+4>>2]|0)>>0]=0;Aj(c[r>>2]|0);u=av(c[r>>2]|0,(c[h>>2]|0)+14|0)|0;a[(c[h>>2]|0)+13>>0]=u;u=(c[h>>2]|0)+15|0;a[u>>0]=d[u>>0]|4}u=(c[o>>2]|0)+34|0;b[u>>1]=(b[u>>1]|0)+1<<16>>16;c[(c[k>>2]|0)+84+4>>2]=0;l=v;return}function us(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+80|0;h=n;f=n+72|0;i=n+68|0;g=n+64|0;j=n+60|0;k=n+56|0;m=n+8|0;c[f>>2]=d;c[i>>2]=e;c[k>>2]=c[c[f>>2]>>2];c[g>>2]=c[(c[f>>2]|0)+440>>2];if(!(c[g>>2]|0)){k=c[k>>2]|0;m=c[i>>2]|0;m=c[m>>2]|0;ck(k,m);l=n;return}c[j>>2]=(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4);if(EE(c[c[i>>2]>>2]|0,a[(c[k>>2]|0)+148+5>>0]|0)|0){ck(c[k>>2]|0,c[(c[j>>2]|0)+4>>2]|0);d=m;e=d+48|0;do{c[d>>2]=0;d=d+4|0}while((d|0)<(e|0));a[m>>0]=-95;h=(c[(c[i>>2]|0)+8>>2]|0)-(c[(c[i>>2]|0)+4>>2]|0)|0;c[m+8>>2]=zj(c[k>>2]|0,c[(c[i>>2]|0)+4>>2]|0,h,((h|0)<0)<<31>>31)|0;c[m+12>>2]=c[c[i>>2]>>2];c[m+4>>2]=4096;h=aw(c[k>>2]|0,m,1)|0;c[(c[j>>2]|0)+4>>2]=h;Hd(c[k>>2]|0,c[m+8>>2]|0);k=c[k>>2]|0;m=c[i>>2]|0;m=c[m>>2]|0;ck(k,m);l=n;return}else{m=c[f>>2]|0;c[h>>2]=c[c[j>>2]>>2];Ck(m,33331,h);k=c[k>>2]|0;m=c[i>>2]|0;m=c[m>>2]|0;ck(k,m);l=n;return}}function vs(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;if((c[i>>2]|0)==28?(c[(c[h>>2]|0)+36>>2]|0)==0:0)c[g>>2]=Sw(c[c[h>>2]>>2]|0,c[j>>2]|0,c[k>>2]|0)|0;else{c[g>>2]=at(c[c[h>>2]>>2]|0,c[i>>2]&255,c[m>>2]|0,1)|0;Uw(c[c[h>>2]>>2]|0,c[g>>2]|0,c[j>>2]|0,c[k>>2]|0)}if(!(c[g>>2]|0)){m=c[g>>2]|0;l=n;return m|0}rw(c[h>>2]|0,c[(c[g>>2]|0)+24>>2]|0)|0;m=c[g>>2]|0;l=n;return m|0}function ws(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0;m=l;l=l+16|0;i=m+12|0;n=m+8|0;j=m+4|0;k=m;c[i>>2]=e;c[n>>2]=f;c[j>>2]=g;c[k>>2]=od(c[c[n>>2]>>2]|0,48+(c[h+4>>2]|0)+1|0,0)|0;if(!(c[k>>2]|0)){n=c[k>>2]|0;k=c[i>>2]|0;c[k>>2]=n;k=c[h>>2]|0;n=c[i>>2]|0;n=n+4|0;c[n>>2]=k;n=c[h>>2]|0;k=h+4|0;k=c[k>>2]|0;k=n+k|0;n=c[i>>2]|0;n=n+8|0;c[n>>2]=k;l=m;return}e=c[k>>2]|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[c[k>>2]>>0]=c[j>>2];c[(c[k>>2]|0)+4>>2]=8388608;b[(c[k>>2]|0)+34>>1]=-1;c[(c[k>>2]|0)+8>>2]=(c[k>>2]|0)+48;MR(c[(c[k>>2]|0)+8>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;a[(c[(c[k>>2]|0)+8>>2]|0)+(c[h+4>>2]|0)>>0]=0;if(d[16965+(d[c[(c[k>>2]|0)+8>>2]>>0]|0)>>0]&128|0){if((a[c[(c[k>>2]|0)+8>>2]>>0]|0)==34){n=(c[k>>2]|0)+4|0;c[n>>2]=c[n>>2]|64}Aj(c[(c[k>>2]|0)+8>>2]|0)}c[(c[k>>2]|0)+24>>2]=1;n=c[k>>2]|0;k=c[i>>2]|0;c[k>>2]=n;k=c[h>>2]|0;n=c[i>>2]|0;n=n+4|0;c[n>>2]=k;n=c[h>>2]|0;k=h+4|0;k=c[k>>2]|0;k=n+k|0;n=c[i>>2]|0;n=n+8|0;c[n>>2]=k;l=m;return}function xs(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+8|0;f=h+4|0;g=h;c[i>>2]=d;c[f>>2]=e;c[g>>2]=c[(c[i>>2]|0)+440>>2];if(!(c[g>>2]|0)){l=h;return}if((b[(c[g>>2]|0)+34>>1]|0)<1){l=h;return}a[(c[(c[g>>2]|0)+4>>2]|0)+((b[(c[g>>2]|0)+34>>1]|0)-1<<4)+12>>0]=c[f>>2];l=h;return}function ys(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=l;l=l+64|0;x=y+8|0;r=y;s=y+56|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;j=y+36|0;k=y+32|0;m=y+28|0;n=y+24|0;o=y+20|0;p=y+16|0;q=y+12|0;c[s>>2]=e;c[t>>2]=f;c[u>>2]=g;c[v>>2]=h;c[w>>2]=i;c[j>>2]=c[(c[s>>2]|0)+440>>2];c[k>>2]=0;c[m>>2]=-1;if(!(c[j>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;_j(w,x);l=y;return}if(d[(c[j>>2]|0)+42>>0]&4|0){w=c[s>>2]|0;c[r>>2]=c[c[j>>2]>>2];Ck(w,33234,r);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;_j(w,x);l=y;return}r=(c[j>>2]|0)+42|0;a[r>>0]=d[r>>0]|4;a:do if(!(c[t>>2]|0)){c[m>>2]=(b[(c[j>>2]|0)+34>>1]|0)-1;c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[k>>2]|0)+15|0;a[r>>0]=d[r>>0]|1;c[o>>2]=1}else{c[o>>2]=c[c[t>>2]>>2];c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break a;c[p>>2]=Ev(c[(c[(c[t>>2]|0)+4>>2]|0)+((c[n>>2]|0)*20|0)>>2]|0)|0;BE(c[p>>2]|0);b:do if((d[c[p>>2]>>0]|0)==55){c[q>>2]=c[(c[p>>2]|0)+8>>2];c[m>>2]=0;while(1){if((c[m>>2]|0)>=(b[(c[j>>2]|0)+34>>1]|0))break b;if(!(Ig(c[q>>2]|0,c[(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<4)>>2]|0)|0))break;c[m>>2]=(c[m>>2]|0)+1}c[k>>2]=(c[(c[j>>2]|0)+4>>2]|0)+(c[m>>2]<<4);r=(c[k>>2]|0)+15|0;a[r>>0]=d[r>>0]|1}while(0);c[n>>2]=(c[n>>2]|0)+1}}while(0);if((c[o>>2]|0)==1&(c[k>>2]|0)!=0?(r=(Ig(qu(c[k>>2]|0,47636)|0,25345)|0)==0,r&(c[w>>2]|0)!=1):0){b[(c[j>>2]|0)+32>>1]=c[m>>2];a[(c[j>>2]|0)+43>>0]=c[u>>2];x=(c[j>>2]|0)+42|0;a[x>>0]=d[x>>0]|c[v>>2]<<3;if(!(c[t>>2]|0)){w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;_j(w,x);l=y;return}a[(c[s>>2]|0)+408>>0]=a[(c[(c[t>>2]|0)+4>>2]|0)+12>>0]|0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;_j(w,x);l=y;return}e=c[s>>2]|0;if(c[v>>2]|0){Ck(e,33275,x);w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;_j(w,x);l=y;return}else{zs(e,0,0,0,c[t>>2]|0,c[u>>2]|0,0,0,c[w>>2]|0,0,2);c[t>>2]=0;w=c[s>>2]|0;w=c[w>>2]|0;x=c[t>>2]|0;_j(w,x);l=y;return}}function zs(f,g,h,i,j,k,m,n,o,p,q){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;var r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0;za=l;l=l+352|0;ma=za+112|0;la=za+88|0;ka=za+72|0;ja=za+64|0;ia=za+56|0;D=za+48|0;K=za+40|0;C=za+32|0;B=za+24|0;F=za+16|0;E=za+8|0;A=za;L=za+332|0;r=za+328|0;s=za+324|0;ta=za+320|0;ua=za+316|0;na=za+312|0;M=za+308|0;va=za+304|0;t=za+300|0;G=za+296|0;N=za+336|0;oa=za+292|0;wa=za+288|0;xa=za+284|0;H=za+280|0;O=za+276|0;P=za+272|0;u=za+248|0;Q=za+240|0;ya=za+236|0;I=za+232|0;pa=za+228|0;R=za+224|0;S=za+220|0;T=za+216|0;J=za+212|0;U=za+208|0;V=za+204|0;v=za+200|0;w=za+196|0;x=za+192|0;y=za+184|0;z=za+180|0;W=za+176|0;X=za+172|0;Y=za+168|0;Z=za+164|0;_=za+160|0;$=za+156|0;aa=za+152|0;ba=za+148|0;ca=za+144|0;da=za+140|0;qa=za+136|0;ea=za+132|0;fa=za+128|0;ga=za+124|0;ha=za+120|0;ra=za+116|0;c[L>>2]=f;c[r>>2]=g;c[s>>2]=h;c[ta>>2]=i;c[ua>>2]=j;c[na>>2]=k;c[M>>2]=m;c[va>>2]=n;c[t>>2]=o;c[G>>2]=p;a[N>>0]=q;c[oa>>2]=0;c[wa>>2]=0;c[xa>>2]=0;c[ya>>2]=c[c[L>>2]>>2];c[R>>2]=0;c[T>>2]=0;c[U>>2]=0;c[V>>2]=0;a:do if((d[(c[ya>>2]|0)+69>>0]|0)==0?(c[(c[L>>2]|0)+36>>2]|0)<=0:0){if(d[(c[L>>2]|0)+410>>0]|0?(d[N>>0]|0)!=2:0)break;if(!(lu(c[L>>2]|0)|0)){f=c[L>>2]|0;if(c[ta>>2]|0){c[pa>>2]=gx(f,c[r>>2]|0,c[s>>2]|0,R)|0;if((c[pa>>2]|0)<0)break;if(((a[(c[ya>>2]|0)+148+5>>0]|0)==0?(c[oa>>2]=hz(c[L>>2]|0,c[ta>>2]|0)|0,c[oa>>2]|0?(c[(c[s>>2]|0)+4>>2]|0)==0:0):0)?(c[(c[oa>>2]|0)+64>>2]|0)==(c[(c[(c[ya>>2]|0)+16>>2]|0)+16+12>>2]|0):0)c[pa>>2]=1;iz(u,c[L>>2]|0,c[pa>>2]|0,29501,c[R>>2]|0);jz(u,c[ta>>2]|0)|0;c[oa>>2]=gu(c[L>>2]|0,0,(c[ta>>2]|0)+8|0)|0;if(!(c[oa>>2]|0))break;if((c[pa>>2]|0)==1?(c[(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4)+12>>2]|0)!=(c[(c[oa>>2]|0)+64>>2]|0):0){sa=c[L>>2]|0;c[A>>2]=c[c[oa>>2]>>2];Ck(sa,32800,A);break}if(d[(c[oa>>2]|0)+42>>0]&32|0)c[V>>2]=Au(c[oa>>2]|0)|0}else{c[oa>>2]=c[f+440>>2];if(!(c[oa>>2]|0))break;c[pa>>2]=Nt(c[ya>>2]|0,c[(c[oa>>2]|0)+64>>2]|0)|0}c[I>>2]=(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4);if(((Zc(c[c[oa>>2]>>2]|0,23554,7)|0)==0?(d[(c[ya>>2]|0)+148+5>>0]|0)==0:0)?Zc((c[c[oa>>2]>>2]|0)+7|0,32850,9)|0:0){sa=c[L>>2]|0;c[E>>2]=c[c[oa>>2]>>2];Ck(sa,32860,E);break}if(c[(c[oa>>2]|0)+12>>2]|0){Ck(c[L>>2]|0,32888,F);break}if(d[(c[oa>>2]|0)+42>>0]&16|0){Ck(c[L>>2]|0,32913,B);break}if(c[R>>2]|0){c[xa>>2]=Kt(c[ya>>2]|0,c[R>>2]|0)|0;if(!(c[xa>>2]|0))break;if(jv(c[L>>2]|0,c[xa>>2]|0)|0)break;if((a[(c[ya>>2]|0)+148+5>>0]|0)==0?mu(c[ya>>2]|0,c[xa>>2]|0,0)|0:0){sa=c[L>>2]|0;c[C>>2]=c[xa>>2];Ck(sa,32947,C);break}if(Bu(c[ya>>2]|0,c[xa>>2]|0,c[c[I>>2]>>2]|0)|0){f=c[L>>2]|0;if(c[G>>2]|0){ju(f,c[pa>>2]|0);break}else{c[K>>2]=c[xa>>2];Ck(f,32981,K);break}}}else{c[w>>2]=c[(c[oa>>2]|0)+8>>2];c[v>>2]=1;while(1){if(!(c[w>>2]|0))break;c[w>>2]=c[(c[w>>2]|0)+20>>2];c[v>>2]=(c[v>>2]|0)+1}K=c[ya>>2]|0;G=c[v>>2]|0;c[D>>2]=c[c[oa>>2]>>2];c[D+4>>2]=G;c[xa>>2]=Bj(K,33005,D)|0;if(!(c[xa>>2]|0))break;if(a[(c[L>>2]|0)+410>>0]|0){K=(c[xa>>2]|0)+7|0;a[K>>0]=(a[K>>0]|0)+1<<24>>24}}c[x>>2]=c[c[I>>2]>>2];if((Ot(c[L>>2]|0,18,(c[pa>>2]|0)==1?23323:23342,0,c[x>>2]|0)|0)==0?(c[O>>2]=1,c[O>>2]=(c[pa>>2]|0)==1?3:1,(Ot(c[L>>2]|0,c[O>>2]|0,c[xa>>2]|0,c[c[oa>>2]>>2]|0,c[x>>2]|0)|0)==0):0){if(!(c[ua>>2]|0)){pw(y,c[(c[(c[oa>>2]|0)+4>>2]|0)+((b[(c[oa>>2]|0)+34>>1]|0)-1<<4)>>2]|0);K=c[L>>2]|0;c[ua>>2]=Ks(K,0,at(c[ya>>2]|0,55,y,0)|0)|0;if(!(c[ua>>2]|0))break;Ts(c[ua>>2]|0,c[t>>2]|0)}else Ws(c[L>>2]|0,c[ua>>2]|0,29501);c[O>>2]=0;while(1){if((c[O>>2]|0)>=(c[c[ua>>2]>>2]|0))break;c[z>>2]=c[(c[(c[ua>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)>>2];if((d[c[z>>2]>>0]|0)==53){K=1+(_c(c[(c[z>>2]|0)+8>>2]|0)|0)|0;c[T>>2]=(c[T>>2]|0)+K}c[O>>2]=(c[O>>2]|0)+1}c[H>>2]=_c(c[xa>>2]|0)|0;if(c[V>>2]|0)f=e[(c[V>>2]|0)+50>>1]|0;else f=1;c[J>>2]=f;c[wa>>2]=EB(c[ya>>2]|0,(c[c[ua>>2]>>2]|0)+(c[J>>2]|0)&65535,(c[H>>2]|0)+(c[T>>2]|0)+1|0,U)|0;if(!(a[(c[ya>>2]|0)+69>>0]|0)){c[c[wa>>2]>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+((c[H>>2]|0)+1);MR(c[c[wa>>2]>>2]|0,c[xa>>2]|0,(c[H>>2]|0)+1|0)|0;c[(c[wa>>2]|0)+12>>2]=c[oa>>2];a[(c[wa>>2]|0)+54>>0]=c[na>>2];K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-9|((c[na>>2]|0)!=0&1)<<3&255;K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-4|d[N>>0]&3;c[(c[wa>>2]|0)+24>>2]=c[(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4)+12>>2];b[(c[wa>>2]|0)+50>>1]=c[c[ua>>2]>>2];if(c[va>>2]|0){AE(c[L>>2]|0,c[oa>>2]|0,2,c[va>>2]|0,0);c[(c[wa>>2]|0)+36>>2]=c[va>>2];c[va>>2]=0}if((d[(c[(c[I>>2]|0)+12>>2]|0)+76>>0]|0)>=4)c[Q>>2]=-1;else c[Q>>2]=0;c[O>>2]=0;c[S>>2]=c[(c[ua>>2]|0)+4>>2];while(1){if((c[O>>2]|0)>=(c[c[ua>>2]>>2]|0))break;BE(c[c[S>>2]>>2]|0);AE(c[L>>2]|0,c[oa>>2]|0,32,c[c[S>>2]>>2]|0,0);if(c[(c[L>>2]|0)+36>>2]|0)break a;c[W>>2]=Ev(c[c[S>>2]>>2]|0)|0;if((d[c[W>>2]>>0]|0)!=152){if((c[oa>>2]|0)==(c[(c[L>>2]|0)+440>>2]|0)){sa=68;break}do if(!(c[(c[wa>>2]|0)+40>>2]|0)){c[Z>>2]=iw(c[ya>>2]|0,c[ua>>2]|0,0)|0;c[(c[wa>>2]|0)+40>>2]=c[Z>>2];if(a[(c[ya>>2]|0)+69>>0]|0)break;c[S>>2]=(c[(c[Z>>2]|0)+4>>2]|0)+((c[O>>2]|0)*20|0)}while(0);c[P>>2]=-2;b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=-2;K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-9}else{c[P>>2]=b[(c[W>>2]|0)+32>>1];f=c[oa>>2]|0;do if((c[P>>2]|0)<0)c[P>>2]=b[f+32>>1];else{if(d[(c[f+4>>2]|0)+(c[P>>2]<<4)+12>>0]|0)break;K=(c[wa>>2]|0)+55|0;a[K>>0]=a[K>>0]&-9}while(0);b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=c[P>>2]}c[Y>>2]=0;do if((d[c[c[S>>2]>>2]>>0]|0)==53){c[Y>>2]=c[(c[c[S>>2]>>2]|0)+8>>2];c[_>>2]=(_c(c[Y>>2]|0)|0)+1;MR(c[U>>2]|0,c[Y>>2]|0,c[_>>2]|0)|0;c[Y>>2]=c[U>>2];c[U>>2]=(c[U>>2]|0)+(c[_>>2]|0);c[T>>2]=(c[T>>2]|0)-(c[_>>2]|0)}else{if((c[P>>2]|0)<0)break;c[Y>>2]=c[(c[(c[oa>>2]|0)+4>>2]|0)+(c[P>>2]<<4)+8>>2]}while(0);if(!(c[Y>>2]|0))c[Y>>2]=31345;if((a[(c[ya>>2]|0)+148+5>>0]|0)==0?(rx(c[L>>2]|0,c[Y>>2]|0)|0)==0:0)break a;c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[O>>2]<<2)>>2]=c[Y>>2];c[X>>2]=d[(c[S>>2]|0)+12>>0]&c[Q>>2];a[(c[(c[wa>>2]|0)+28>>2]|0)+(c[O>>2]|0)>>0]=c[X>>2];c[O>>2]=(c[O>>2]|0)+1;c[S>>2]=(c[S>>2]|0)+20}if((sa|0)==68){Ck(c[L>>2]|0,33028,ia);break}b:do if(c[V>>2]|0){c[P>>2]=0;while(1){if((c[P>>2]|0)>=(e[(c[V>>2]|0)+50>>1]|0))break b;c[$>>2]=b[(c[(c[V>>2]|0)+4>>2]|0)+(c[P>>2]<<1)>>1];if(CE(c[(c[wa>>2]|0)+4>>2]|0,e[(c[wa>>2]|0)+50>>1]|0,c[$>>2]|0)|0){ia=(c[wa>>2]|0)+52|0;b[ia>>1]=(b[ia>>1]|0)+-1<<16>>16}else{b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=c[$>>2];c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[O>>2]<<2)>>2]=c[(c[(c[V>>2]|0)+32>>2]|0)+(c[P>>2]<<2)>>2];a[(c[(c[wa>>2]|0)+28>>2]|0)+(c[O>>2]|0)>>0]=a[(c[(c[V>>2]|0)+28>>2]|0)+(c[P>>2]|0)>>0]|0;c[O>>2]=(c[O>>2]|0)+1}c[P>>2]=(c[P>>2]|0)+1}}else{b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[O>>2]<<1)>>1]=-1;c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[O>>2]<<2)>>2]=31345}while(0);zu(c[wa>>2]|0);if(!(c[(c[L>>2]|0)+440>>2]|0))DE(c[wa>>2]|0);c:do if(c[ta>>2]|0){if((e[(c[wa>>2]|0)+52>>1]|0)<(b[(c[oa>>2]|0)+34>>1]|0))break;ia=(c[wa>>2]|0)+55|0;a[ia>>0]=a[ia>>0]&-33|32;c[P>>2]=0;while(1){if((c[P>>2]|0)>=(b[(c[oa>>2]|0)+34>>1]|0))break c;if((c[P>>2]|0)!=(b[(c[oa>>2]|0)+32>>1]|0)?((_x(c[wa>>2]|0,c[P>>2]&65535)|0)<<16>>16|0)<0:0)break;c[P>>2]=(c[P>>2]|0)+1}ia=(c[wa>>2]|0)+55|0;a[ia>>0]=a[ia>>0]&-33}while(0);d:do if((c[oa>>2]|0)==(c[(c[L>>2]|0)+440>>2]|0)){c[aa>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(!(c[aa>>2]|0))break d;if((e[(c[aa>>2]|0)+50>>1]|0)==(e[(c[wa>>2]|0)+50>>1]|0)){c[ba>>2]=0;while(1){if((c[ba>>2]|0)>=(e[(c[aa>>2]|0)+50>>1]|0))break;if((b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[ba>>2]<<1)>>1]|0)!=(b[(c[(c[wa>>2]|0)+4>>2]|0)+(c[ba>>2]<<1)>>1]|0))break;c[ca>>2]=c[(c[(c[aa>>2]|0)+32>>2]|0)+(c[ba>>2]<<2)>>2];c[da>>2]=c[(c[(c[wa>>2]|0)+32>>2]|0)+(c[ba>>2]<<2)>>2];if(Ig(c[ca>>2]|0,c[da>>2]|0)|0)break;c[ba>>2]=(c[ba>>2]|0)+1}if((c[ba>>2]|0)==(e[(c[aa>>2]|0)+50>>1]|0))break}c[aa>>2]=c[(c[aa>>2]|0)+20>>2]}do if((d[(c[aa>>2]|0)+54>>0]|0)!=(d[(c[wa>>2]|0)+54>>0]|0)){do if((d[(c[aa>>2]|0)+54>>0]|0)!=10){if((d[(c[wa>>2]|0)+54>>0]|0)==10)break;sa=c[L>>2]|0;c[ja>>2]=0;Ck(sa,33089,ja)}while(0);if((d[(c[aa>>2]|0)+54>>0]|0)!=10)break;a[(c[aa>>2]|0)+54>>0]=a[(c[wa>>2]|0)+54>>0]|0}while(0);if((d[N>>0]|0)!=2)break a;sa=(c[aa>>2]|0)+55|0;a[sa>>0]=a[sa>>0]&-4|d[N>>0]&3;break a}while(0);do if(a[(c[ya>>2]|0)+148+5>>0]|0){c[qa>>2]=Vj((c[(c[wa>>2]|0)+24>>2]|0)+24|0,c[c[wa>>2]>>2]|0,c[wa>>2]|0)|0;f=c[ya>>2]|0;if(c[qa>>2]|0){yd(f);break a}qa=f+24|0;c[qa>>2]=c[qa>>2]|2;if(!(c[ta>>2]|0))break;c[(c[wa>>2]|0)+44>>2]=c[(c[ya>>2]|0)+148>>2]}else{if(!(c[ta>>2]|0?1:(d[(c[oa>>2]|0)+42>>0]&32|0)==0))break;ja=(c[L>>2]|0)+44|0;qa=(c[ja>>2]|0)+1|0;c[ja>>2]=qa;c[ga>>2]=qa;c[ea>>2]=Rt(c[L>>2]|0)|0;if(!(c[ea>>2]|0))break a;iu(c[L>>2]|0,1,c[pa>>2]|0);qa=Tt(c[ea>>2]|0,161)|0;c[(c[wa>>2]|0)+44>>2]=qa;Wt(c[ea>>2]|0,134,c[pa>>2]|0,c[ga>>2]|0)|0;if(c[M>>2]|0){c[ha>>2]=(c[(c[L>>2]|0)+392>>2]|0)-(c[c[R>>2]>>2]|0)+(c[(c[L>>2]|0)+392+4>>2]|0);if((a[(c[c[R>>2]>>2]|0)+((c[ha>>2]|0)-1)>>0]|0)==59)c[ha>>2]=(c[ha>>2]|0)+-1;qa=c[ya>>2]|0;ia=c[ha>>2]|0;ja=c[c[R>>2]>>2]|0;c[ka>>2]=(c[na>>2]|0)==0?47636:33131;c[ka+4>>2]=ia;c[ka+8>>2]=ja;c[fa>>2]=Bj(qa,33139,ka)|0}else c[fa>>2]=0;qa=c[L>>2]|0;da=(c[pa>>2]|0)==1?23323:23342;ha=c[c[wa>>2]>>2]|0;ia=c[c[oa>>2]>>2]|0;ja=c[ga>>2]|0;ka=c[fa>>2]|0;c[la>>2]=c[(c[(c[ya>>2]|0)+16>>2]|0)+(c[pa>>2]<<4)>>2];c[la+4>>2]=da;c[la+8>>2]=ha;c[la+12>>2]=ia;c[la+16>>2]=ja;c[la+20>>2]=ka;Qt(qa,33159,la);Hd(c[ya>>2]|0,c[fa>>2]|0);if(c[ta>>2]|0){Ix(c[L>>2]|0,c[wa>>2]|0,c[ga>>2]|0);St(c[L>>2]|0,c[pa>>2]|0);la=c[ea>>2]|0;pa=c[pa>>2]|0;qa=c[ya>>2]|0;c[ma>>2]=c[c[wa>>2]>>2];Ut(la,pa,Bj(qa,33207,ma)|0);Tt(c[ea>>2]|0,150)|0}tx(c[ea>>2]|0,c[(c[wa>>2]|0)+44>>2]|0)}while(0);if(!((c[ta>>2]|0)==0?1:(d[(c[ya>>2]|0)+148+5>>0]|0)!=0))break;do if((c[na>>2]|0)!=5)sa=143;else{if(!(c[(c[oa>>2]|0)+8>>2]|0)){sa=143;break}if((d[(c[(c[oa>>2]|0)+8>>2]|0)+54>>0]|0)==5){sa=143;break}c[ra>>2]=c[(c[oa>>2]|0)+8>>2];while(1){if(c[(c[ra>>2]|0)+20>>2]|0)g=(d[(c[(c[ra>>2]|0)+20>>2]|0)+54>>0]|0)!=5;else g=0;f=c[(c[ra>>2]|0)+20>>2]|0;if(!g)break;c[ra>>2]=f}c[(c[wa>>2]|0)+20>>2]=f;c[(c[ra>>2]|0)+20>>2]=c[wa>>2]}while(0);if((sa|0)==143){c[(c[wa>>2]|0)+20>>2]=c[(c[oa>>2]|0)+8>>2];c[(c[oa>>2]|0)+8>>2]=c[wa>>2]}c[wa>>2]=0}}}}while(0);if(!(c[wa>>2]|0)){sa=c[ya>>2]|0;wa=c[va>>2]|0;ck(sa,wa);wa=c[ya>>2]|0;va=c[ua>>2]|0;_j(wa,va);va=c[ya>>2]|0;wa=c[ta>>2]|0;fk(va,wa);wa=c[ya>>2]|0;ya=c[xa>>2]|0;Hd(wa,ya);l=za;return}Wj(c[ya>>2]|0,c[wa>>2]|0);sa=c[ya>>2]|0;wa=c[va>>2]|0;ck(sa,wa);wa=c[ya>>2]|0;va=c[ua>>2]|0;_j(wa,va);va=c[ya>>2]|0;wa=c[ta>>2]|0;fk(va,wa);wa=c[ya>>2]|0;ya=c[xa>>2]|0;Hd(wa,ya);l=za;return}function As(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=e;c[h>>2]=c[(c[f>>2]|0)+440>>2];c[i>>2]=c[c[f>>2]>>2];if((c[h>>2]|0?(a[(c[f>>2]|0)+410>>0]|0)==0:0)?(zE(c[(c[(c[i>>2]|0)+16>>2]|0)+(d[(c[i>>2]|0)+148+4>>0]<<4)+4>>2]|0)|0)==0:0){i=Ks(c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0,c[g>>2]|0)|0;c[(c[h>>2]|0)+24>>2]=i;if(!(c[(c[f>>2]|0)+84+4>>2]|0)){l=j;return}Ls(c[f>>2]|0,c[(c[h>>2]|0)+24>>2]|0,(c[f>>2]|0)+84|0,1);l=j;return}ck(c[c[f>>2]>>2]|0,c[g>>2]|0);l=j;return}function Bs(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;C=E+16|0;o=E+8|0;n=E;y=E+80|0;z=E+76|0;m=E+72|0;A=E+68|0;B=E+64|0;p=E+60|0;q=E+56|0;r=E+52|0;s=E+48|0;j=E+44|0;t=E+40|0;u=E+36|0;v=E+32|0;k=E+28|0;w=E+24|0;x=E+20|0;c[y>>2]=e;c[z>>2]=f;c[m>>2]=g;c[A>>2]=h;c[B>>2]=i;c[p>>2]=c[c[y>>2]>>2];c[q>>2]=0;c[s>>2]=c[(c[y>>2]|0)+440>>2];a:do if(c[s>>2]|0?(d[(c[y>>2]|0)+410>>0]|0)==0:0){if(!(c[z>>2]|0)){c[k>>2]=(b[(c[s>>2]|0)+34>>1]|0)-1;if((c[k>>2]|0)<0)break;if(c[A>>2]|0?(c[c[A>>2]>>2]|0)!=1:0){D=c[y>>2]|0;C=c[m>>2]|0;c[n>>2]=c[(c[(c[s>>2]|0)+4>>2]|0)+(c[k>>2]<<4)>>2];c[n+4>>2]=C;Ck(D,32597,n);break}c[u>>2]=1}else{if(c[A>>2]|0?(c[c[A>>2]>>2]|0)!=(c[c[z>>2]>>2]|0):0){Ck(c[y>>2]|0,32660,o);break}c[u>>2]=c[c[z>>2]>>2]}c[j>>2]=44+((c[u>>2]|0)-1<<3)+(c[(c[m>>2]|0)+4>>2]|0)+1;b:do if(c[A>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[c[A>>2]>>2]|0))break b;o=(_c(c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)+1|0;c[j>>2]=(c[j>>2]|0)+o;c[t>>2]=(c[t>>2]|0)+1}}while(0);o=c[j>>2]|0;c[q>>2]=jl(c[p>>2]|0,o,((o|0)<0)<<31>>31)|0;if(c[q>>2]|0){c[c[q>>2]>>2]=c[s>>2];c[(c[q>>2]|0)+4>>2]=c[(c[s>>2]|0)+16>>2];c[v>>2]=(c[q>>2]|0)+36+(c[u>>2]<<3);c[(c[q>>2]|0)+8>>2]=c[v>>2];MR(c[v>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;a[(c[v>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)>>0]=0;Aj(c[v>>2]|0);c[v>>2]=(c[v>>2]|0)+((c[(c[m>>2]|0)+4>>2]|0)+1);c[(c[q>>2]|0)+20>>2]=c[u>>2];c:do if(!(c[z>>2]|0))c[(c[q>>2]|0)+36>>2]=(b[(c[s>>2]|0)+34>>1]|0)-1;else{c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break c;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;o=(Ig(c[(c[(c[s>>2]|0)+4>>2]|0)+(c[w>>2]<<4)>>2]|0,c[(c[(c[z>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0)==0;e=c[w>>2]|0;if(o){D=25;break}c[w>>2]=e+1}if((D|0)==25){D=0;c[(c[q>>2]|0)+36+(c[t>>2]<<3)>>2]=e}if((c[w>>2]|0)>=(b[(c[s>>2]|0)+34>>1]|0))break;c[t>>2]=(c[t>>2]|0)+1}D=c[y>>2]|0;c[C>>2]=c[(c[(c[z>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2];Ck(D,32754,C);break a}while(0);d:do if(c[A>>2]|0){c[t>>2]=0;while(1){if((c[t>>2]|0)>=(c[u>>2]|0))break d;c[x>>2]=_c(c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0)|0;c[(c[q>>2]|0)+36+(c[t>>2]<<3)+4>>2]=c[v>>2];MR(c[v>>2]|0,c[(c[(c[A>>2]|0)+4>>2]|0)+((c[t>>2]|0)*20|0)+4>>2]|0,c[x>>2]|0)|0;a[(c[v>>2]|0)+(c[x>>2]|0)>>0]=0;c[v>>2]=(c[v>>2]|0)+((c[x>>2]|0)+1);c[t>>2]=(c[t>>2]|0)+1}}while(0);a[(c[q>>2]|0)+24>>0]=0;a[(c[q>>2]|0)+25>>0]=c[B>>2];a[(c[q>>2]|0)+25+1>>0]=c[B>>2]>>8;c[r>>2]=Vj((c[(c[s>>2]|0)+64>>2]|0)+56|0,c[(c[q>>2]|0)+8>>2]|0,c[q>>2]|0)|0;if((c[r>>2]|0)==(c[q>>2]|0)){yd(c[p>>2]|0);break}if(c[r>>2]|0){c[(c[q>>2]|0)+12>>2]=c[r>>2];c[(c[r>>2]|0)+16>>2]=c[q>>2]}c[(c[s>>2]|0)+16>>2]=c[q>>2];c[q>>2]=0}}while(0);Hd(c[p>>2]|0,c[q>>2]|0);_j(c[p>>2]|0,c[z>>2]|0);_j(c[p>>2]|0,c[A>>2]|0);l=E;return}function Cs(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=l;l=l+16|0;i=h+12|0;e=h+8|0;f=h+4|0;g=h;c[i>>2]=b;c[e>>2]=d;d=c[(c[i>>2]|0)+440>>2]|0;c[f>>2]=d;if(!d){l=h;return}i=c[(c[f>>2]|0)+16>>2]|0;c[g>>2]=i;if(!i){l=h;return}a[(c[g>>2]|0)+24>>0]=c[e>>2];l=h;return}function Ds(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;e=m+24|0;f=m+20|0;h=m+16|0;i=m+12|0;j=m+8|0;g=m+4|0;k=m;c[e>>2]=a;c[f>>2]=d;d=c[(c[e>>2]|0)+440>>2]|0;c[h>>2]=d;if(!d){l=m;return}c[i>>2]=(b[(c[h>>2]|0)+34>>1]|0)-1;c[g>>2]=c[c[e>>2]>>2];c[j>>2]=Kt(c[g>>2]|0,c[f>>2]|0)|0;if(!(c[j>>2]|0)){l=m;return}f=(rx(c[e>>2]|0,c[j>>2]|0)|0)!=0;a=c[g>>2]|0;if(!f){Hd(a,c[j>>2]|0);l=m;return}Hd(a,c[(c[(c[h>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+8>>2]|0);c[(c[(c[h>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+8>>2]=c[j>>2];c[k>>2]=c[(c[h>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;if((b[c[(c[k>>2]|0)+4>>2]>>1]|0)==(c[i>>2]|0))c[c[(c[k>>2]|0)+32>>2]>>2]=c[(c[(c[h>>2]|0)+4>>2]|0)+(c[i>>2]<<4)+8>>2];c[k>>2]=c[(c[k>>2]|0)+20>>2]}l=m;return}function Es(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;w=x+16|0;v=x+8|0;u=x;o=x+64|0;p=x+60|0;q=x+56|0;r=x+52|0;s=x+48|0;t=x+44|0;h=x+40|0;i=x+36|0;j=x+32|0;k=x+28|0;m=x+24|0;n=x+20|0;c[o>>2]=b;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[h>>2]=c[c[o>>2]>>2];do if((a[(c[h>>2]|0)+69>>0]|0)==0?(lu(c[o>>2]|0)|0)==0:0){if(c[r>>2]|0){g=(c[h>>2]|0)+73|0;a[g>>0]=(a[g>>0]|0)+1<<24>>24}c[s>>2]=gu(c[o>>2]|0,c[q>>2]|0,(c[p>>2]|0)+8|0)|0;if(c[r>>2]|0){g=(c[h>>2]|0)+73|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24}if(!(c[s>>2]|0)){if(!(c[r>>2]|0))break;dz(c[o>>2]|0,c[(c[p>>2]|0)+8+4>>2]|0);break}c[i>>2]=Nt(c[h>>2]|0,c[(c[s>>2]|0)+64>>2]|0)|0;if(d[(c[s>>2]|0)+42>>0]&16|0?kv(c[o>>2]|0,c[s>>2]|0)|0:0)break;c[k>>2]=(c[i>>2]|0)==1?23323:23342;c[m>>2]=c[(c[(c[h>>2]|0)+16>>2]|0)+(c[i>>2]<<4)>>2];c[n>>2]=0;if(!(Ot(c[o>>2]|0,9,c[k>>2]|0,0,c[m>>2]|0)|0)){do if(c[q>>2]|0)if((c[i>>2]|0)==1){c[j>>2]=15;break}else{c[j>>2]=17;break}else{if(d[(c[s>>2]|0)+42>>0]&16|0){c[j>>2]=30;c[n>>2]=c[(c[(lv(c[h>>2]|0,c[s>>2]|0)|0)+4>>2]|0)+4>>2];break}if((c[i>>2]|0)==1){c[j>>2]=13;break}else{c[j>>2]=11;break}}while(0);if((Ot(c[o>>2]|0,c[j>>2]|0,c[c[s>>2]>>2]|0,c[n>>2]|0,c[m>>2]|0)|0)==0?(Ot(c[o>>2]|0,9,c[c[s>>2]>>2]|0,0,c[m>>2]|0)|0)==0:0){if((Zc(c[c[s>>2]>>2]|0,23554,7)|0)==0?Zc(c[c[s>>2]>>2]|0,32390,11)|0:0){w=c[o>>2]|0;c[u>>2]=c[c[s>>2]>>2];Ck(w,32402,u);break}if(c[q>>2]|0?(c[(c[s>>2]|0)+12>>2]|0)==0:0){w=c[o>>2]|0;c[v>>2]=c[c[s>>2]>>2];Ck(w,32430,v);break}if((c[q>>2]|0)==0?c[(c[s>>2]|0)+12>>2]|0:0){v=c[o>>2]|0;c[w>>2]=c[c[s>>2]>>2];Ck(v,32464,w);break}c[t>>2]=Rt(c[o>>2]|0)|0;if(c[t>>2]|0){iu(c[o>>2]|0,1,c[i>>2]|0);jA(c[o>>2]|0,c[i>>2]|0,27042,c[c[s>>2]>>2]|0);vE(c[o>>2]|0,c[p>>2]|0,c[s>>2]|0);wE(c[o>>2]|0,c[s>>2]|0,c[i>>2]|0,c[q>>2]|0)}}}}while(0);fk(c[h>>2]|0,c[p>>2]|0);l=x;return}function Fs(e,f,g,h,i,j,k,m){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+96|0;B=D+88|0;C=D+84|0;n=D+80|0;o=D+76|0;p=D+72|0;q=D+68|0;r=D+64|0;s=D+60|0;t=D+56|0;u=D+52|0;v=D+48|0;w=D+40|0;x=D+16|0;y=D+12|0;z=D+8|0;A=D+4|0;c[B>>2]=e;c[C>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=m;c[y>>2]=0;c[A>>2]=c[c[B>>2]>>2];e=c[B>>2]|0;if((b[(c[B>>2]|0)+400>>1]|0)<=0){qs(e,c[n>>2]|0,c[o>>2]|0,c[r>>2]|0,1,0,c[s>>2]|0);c[t>>2]=c[(c[B>>2]|0)+440>>2];if(((c[t>>2]|0?(c[(c[B>>2]|0)+36>>2]|0)==0:0)?(gx(c[B>>2]|0,c[n>>2]|0,c[o>>2]|0,y)|0,c[z>>2]=Nt(c[A>>2]|0,c[(c[t>>2]|0)+64>>2]|0)|0,iz(x,c[B>>2]|0,c[z>>2]|0,32385,c[y>>2]|0),(kz(x,c[q>>2]|0)|0)==0):0)?(z=qv(c[A>>2]|0,c[q>>2]|0,1)|0,c[(c[t>>2]|0)+12>>2]=z,z=iw(c[A>>2]|0,c[p>>2]|0,1)|0,c[(c[t>>2]|0)+24>>2]=z,(a[(c[A>>2]|0)+69>>0]|0)==0):0){z=(c[B>>2]|0)+392|0;c[w>>2]=c[z>>2];c[w+4>>2]=c[z+4>>2];if((a[c[w>>2]>>0]|0)!=59)c[w>>2]=(c[w>>2]|0)+(c[w+4>>2]|0);c[w+4>>2]=0;c[u>>2]=(c[w>>2]|0)-(c[c[C>>2]>>2]|0);c[v>>2]=c[c[C>>2]>>2];while(1){if(!(d[16965+(d[(c[v>>2]|0)+((c[u>>2]|0)-1)>>0]|0)>>0]&1))break;c[u>>2]=(c[u>>2]|0)+-1}c[w>>2]=(c[v>>2]|0)+((c[u>>2]|0)-1);c[w+4>>2]=1;ss(c[B>>2]|0,0,w,0,0)}}else Ck(e,32349,D);Zj(c[A>>2]|0,c[q>>2]|0);_j(c[A>>2]|0,c[p>>2]|0);l=D;return}function Gs(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0;Ca=l;l=l+432|0;v=Ca;Z=Ca+412|0;aa=Ca+408|0;ja=Ca+404|0;ua=Ca+400|0;za=Ca+396|0;Aa=Ca+392|0;Ba=Ca+388|0;N=Ca+384|0;w=Ca+380|0;O=Ca+376|0;P=Ca+372|0;B=Ca+368|0;Q=Ca+364|0;R=Ca+360|0;S=Ca+356|0;T=Ca+344|0;U=Ca+312|0;V=Ca+264|0;W=Ca+260|0;X=Ca+256|0;Y=Ca+252|0;i=Ca+248|0;j=Ca+244|0;k=Ca+240|0;m=Ca+236|0;n=Ca+232|0;o=Ca+208|0;p=Ca+204|0;q=Ca+200|0;r=Ca+196|0;s=Ca+192|0;t=Ca+188|0;u=Ca+184|0;x=Ca+416|0;C=Ca+152|0;_=Ca+148|0;$=Ca+144|0;ba=Ca+140|0;ca=Ca+136|0;da=Ca+132|0;ea=Ca+128|0;fa=Ca+124|0;ga=Ca+120|0;ha=Ca+116|0;y=Ca+112|0;z=Ca+108|0;ia=Ca+104|0;ka=Ca+100|0;la=Ca+96|0;ma=Ca+92|0;na=Ca+88|0;oa=Ca+84|0;pa=Ca+80|0;qa=Ca+76|0;ra=Ca+72|0;sa=Ca+68|0;ta=Ca+64|0;va=Ca+60|0;wa=Ca+56|0;xa=Ca+52|0;ya=Ca+48|0;D=Ca+44|0;E=Ca+40|0;F=Ca+36|0;G=Ca+32|0;H=Ca+28|0;I=Ca+24|0;J=Ca+20|0;K=Ca+16|0;L=Ca+12|0;M=Ca+418|0;c[aa>>2]=f;c[ja>>2]=g;c[ua>>2]=h;c[O>>2]=0;c[S>>2]=1;c[Y>>2]=c[(c[aa>>2]|0)+420>>2];g=(c[aa>>2]|0)+424|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[aa>>2]|0)+420>>2]=h;c[X>>2]=c[c[aa>>2]>>2];if((c[ja>>2]|0?(d[(c[X>>2]|0)+69>>0]|0)==0:0)?(c[(c[aa>>2]|0)+36>>2]|0)==0:0){if(Ot(c[aa>>2]|0,21,0,0,0)|0){c[Z>>2]=1;Ba=c[Z>>2]|0;l=Ca;return Ba|0}f=V;g=f+48|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));if((d[c[ua>>2]>>0]|0)<=8){_j(c[X>>2]|0,c[(c[ja>>2]|0)+44>>2]|0);c[(c[ja>>2]|0)+44>>2]=0;h=(c[ja>>2]|0)+8|0;c[h>>2]=c[h>>2]&-2}Gv(c[aa>>2]|0,c[ja>>2]|0,0);c[U>>2]=0;c[U+4>>2]=0;c[U+8>>2]=0;c[U+12>>2]=0;c[U+16>>2]=0;c[U+20>>2]=0;c[U+24>>2]=0;c[U+28>>2]=0;c[U>>2]=c[(c[ja>>2]|0)+44>>2];c[P>>2]=c[(c[ja>>2]|0)+28>>2];a:do if((c[(c[aa>>2]|0)+36>>2]|0)==0?(d[(c[X>>2]|0)+69>>0]|0)==0:0){c[w>>2]=(c[(c[ja>>2]|0)+8>>2]&8|0)!=0&1;c[za>>2]=0;while(1){if(c[(c[ja>>2]|0)+48>>2]|0)break;if((c[za>>2]|0)>=(c[c[P>>2]>>2]|0))break;c[i>>2]=(c[P>>2]|0)+8+((c[za>>2]|0)*72|0);c[j>>2]=c[(c[i>>2]|0)+20>>2];c[m>>2]=c[(c[i>>2]|0)+16>>2];if(c[j>>2]|0){if((b[(c[m>>2]|0)+34>>1]|0)!=(c[c[c[j>>2]>>2]>>2]|0)){A=16;break}c[k>>2]=(c[(c[j>>2]|0)+8>>2]&8|0)!=0&1;if(DD(c[aa>>2]|0,c[ja>>2]|0,c[za>>2]|0,c[w>>2]|0,c[k>>2]|0)|0){if(c[k>>2]|0){c[w>>2]=1;h=(c[ja>>2]|0)+8|0;c[h>>2]=c[h>>2]|8}c[za>>2]=-1}c[P>>2]=c[(c[ja>>2]|0)+28>>2];if(a[(c[X>>2]|0)+69>>0]|0)break a;if((d[c[ua>>2]>>0]|0)>8)c[U>>2]=c[(c[ja>>2]|0)+44>>2]}c[za>>2]=(c[za>>2]|0)+1}if((A|0)==16){Ba=c[aa>>2]|0;za=c[c[m>>2]>>2]|0;Aa=c[c[c[j>>2]>>2]>>2]|0;c[v>>2]=b[(c[m>>2]|0)+34>>1];c[v+4>>2]=za;c[v+8>>2]=Aa;Ck(Ba,31944,v);break}c[N>>2]=Rt(c[aa>>2]|0)|0;if(c[N>>2]|0){if(c[(c[ja>>2]|0)+48>>2]|0){c[S>>2]=ED(c[aa>>2]|0,c[ja>>2]|0,c[ua>>2]|0)|0;c[(c[aa>>2]|0)+420>>2]=c[Y>>2];c[Z>>2]=c[S>>2];Ba=c[Z>>2]|0;l=Ca;return Ba|0}c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[c[P>>2]>>2]|0))break;c[n>>2]=(c[P>>2]|0)+8+((c[za>>2]|0)*72|0);c[p>>2]=c[(c[n>>2]|0)+20>>2];do if(c[p>>2]|0){if(c[(c[n>>2]|0)+24>>2]|0){if((d[(c[n>>2]|0)+36+1>>0]|0)>>>4&1|0)break;Wt(c[N>>2]|0,14,c[(c[n>>2]|0)+28>>2]|0,c[(c[n>>2]|0)+24>>2]|0)|0;break}m=FD(c[ja>>2]|0)|0;v=(c[aa>>2]|0)+416|0;c[v>>2]=(c[v>>2]|0)+m;if(!(d[(c[n>>2]|0)+36>>0]&32))GD(c[X>>2]|0,c[p>>2]|0,c[(c[ja>>2]|0)+32>>2]|0,c[(c[n>>2]|0)+44>>2]|0)|0;do if(!(c[za>>2]|0)){if((c[c[P>>2]>>2]|0)!=1?(d[(c[P>>2]|0)+8+72+36>>0]&10|0)==0:0){A=42;break}if(c[(c[ja>>2]|0)+8>>2]&2|0){A=42;break}if(e[(c[X>>2]|0)+64>>1]&256|0){A=42;break}c[q>>2]=(Vu(c[N>>2]|0)|0)+1;m=(c[aa>>2]|0)+44|0;v=(c[m>>2]|0)+1|0;c[m>>2]=v;c[(c[n>>2]|0)+28>>2]=v;Xt(c[N>>2]|0,15,c[(c[n>>2]|0)+28>>2]|0,0,c[q>>2]|0)|0;c[(c[n>>2]|0)+24>>2]=c[q>>2];Gy(o,13,c[(c[n>>2]|0)+28>>2]|0);a[(c[n>>2]|0)+40>>0]=c[(c[aa>>2]|0)+424>>2];Gs(c[aa>>2]|0,c[p>>2]|0,o)|0;b[(c[(c[n>>2]|0)+16>>2]|0)+38>>1]=b[(c[p>>2]|0)+6>>1]|0;v=(c[n>>2]|0)+36+1|0;a[v>>0]=a[v>>0]&-17|16;c[(c[n>>2]|0)+32>>2]=c[o+12>>2];rA(c[N>>2]|0,c[(c[n>>2]|0)+28>>2]|0);tx(c[N>>2]|0,(c[q>>2]|0)-1|0);HD(c[aa>>2]|0)}else A=42;while(0);if((A|0)==42){A=0;c[s>>2]=0;m=(c[aa>>2]|0)+44|0;v=(c[m>>2]|0)+1|0;c[m>>2]=v;c[(c[n>>2]|0)+28>>2]=v;c[r>>2]=Wt(c[N>>2]|0,76,0,c[(c[n>>2]|0)+28>>2]|0)|0;c[(c[n>>2]|0)+24>>2]=(c[r>>2]|0)+1;if(!((d[(c[n>>2]|0)+36+1>>0]|0)>>>3&1))c[s>>2]=Tt(c[N>>2]|0,20)|0;Gy(o,12,c[(c[n>>2]|0)+44>>2]|0);a[(c[n>>2]|0)+40>>0]=c[(c[aa>>2]|0)+424>>2];Gs(c[aa>>2]|0,c[p>>2]|0,o)|0;b[(c[(c[n>>2]|0)+16>>2]|0)+38>>1]=b[(c[p>>2]|0)+6>>1]|0;if(c[s>>2]|0)tx(c[N>>2]|0,c[s>>2]|0);c[t>>2]=kx(c[N>>2]|0,72,c[(c[n>>2]|0)+28>>2]|0)|0;rB(c[N>>2]|0,c[r>>2]|0,c[t>>2]|0);HD(c[aa>>2]|0)}if(a[(c[X>>2]|0)+69>>0]|0)break a;m=FD(c[ja>>2]|0)|0;v=(c[aa>>2]|0)+416|0;c[v>>2]=(c[v>>2]|0)-m}while(0);c[za>>2]=(c[za>>2]|0)+1}c[O>>2]=c[c[ja>>2]>>2];c[B>>2]=c[(c[ja>>2]|0)+32>>2];c[Q>>2]=c[(c[ja>>2]|0)+36>>2];c[R>>2]=c[(c[ja>>2]|0)+40>>2];a[T>>0]=(c[(c[ja>>2]|0)+8>>2]&1|0)!=0;if((c[(c[ja>>2]|0)+8>>2]&9|0)==1?(dw(c[U>>2]|0,c[O>>2]|0,-1)|0)==0:0){v=(c[ja>>2]|0)+8|0;c[v>>2]=c[v>>2]&-2;v=iw(c[X>>2]|0,c[O>>2]|0,0)|0;c[(c[ja>>2]|0)+36>>2]=v;c[Q>>2]=v}if(c[U>>2]|0){c[u>>2]=ID(c[aa>>2]|0,c[U>>2]|0,0,c[c[O>>2]>>2]|0)|0;v=(c[aa>>2]|0)+40|0;f=c[v>>2]|0;c[v>>2]=f+1;c[U+8>>2]=f;f=_t(c[N>>2]|0,107,c[U+8>>2]|0,(c[c[U>>2]>>2]|0)+1+(c[c[O>>2]>>2]|0)|0,0,c[u>>2]|0,-6)|0}else f=-1;c[U+20>>2]=f;if((d[c[ua>>2]>>0]|0)==12)Wt(c[N>>2]|0,107,c[(c[ua>>2]|0)+8>>2]|0,c[c[O>>2]>>2]|0)|0;c[W>>2]=qx(c[N>>2]|0)|0;b[(c[ja>>2]|0)+6>>1]=320;JD(c[aa>>2]|0,c[ja>>2]|0,c[W>>2]|0);if((c[(c[ja>>2]|0)+12>>2]|0)==0?(c[U+20>>2]|0)>=0:0){KD(c[N>>2]|0,c[U+20>>2]|0,108);v=U+28|0;a[v>>0]=d[v>>0]|1}if(c[(c[ja>>2]|0)+8>>2]&1|0){f=(c[aa>>2]|0)+40|0;v=c[f>>2]|0;c[f>>2]=v+1;c[T+4>>2]=v;v=c[N>>2]|0;f=c[T+4>>2]|0;c[T+8>>2]=_t(v,107,f,0,0,ID(c[aa>>2]|0,c[c[ja>>2]>>2]|0,0,0)|0,-6)|0;px(c[N>>2]|0,8);f=3}else f=0;a[T+1>>0]=f;if((c[w>>2]|0)==0&(c[Q>>2]|0)==0){b[x>>1]=d[T>>0]|0?256:0;b[x>>1]=e[x>>1]|c[(c[ja>>2]|0)+8>>2]&16384;c[Ba>>2]=LA(c[aa>>2]|0,c[P>>2]|0,c[B>>2]|0,c[U>>2]|0,c[c[ja>>2]>>2]|0,b[x>>1]|0,b[(c[ja>>2]|0)+6>>1]|0)|0;if(!(c[Ba>>2]|0))break;Aa=(LD(c[Ba>>2]|0)|0)<<16>>16;if((Aa|0)<(b[(c[ja>>2]|0)+6>>1]|0)){Aa=LD(c[Ba>>2]|0)|0;b[(c[ja>>2]|0)+6>>1]=Aa}do if(d[T>>0]|0){if(!(MD(c[Ba>>2]|0)|0))break;a[T+1>>0]=MD(c[Ba>>2]|0)|0}while(0);do if(c[U>>2]|0){c[U+4>>2]=ND(c[Ba>>2]|0)|0;a[U+29>>0]=OD(c[Ba>>2]|0)|0;if((c[U+4>>2]|0)!=(c[c[U>>2]>>2]|0))break;c[U>>2]=0}while(0);do if((c[U+20>>2]|0)>=0){if(c[U>>2]|0)break;Xx(c[N>>2]|0,c[U+20>>2]|0)|0}while(0);wa=c[aa>>2]|0;xa=c[ja>>2]|0;ya=c[O>>2]|0;za=c[ua>>2]|0;Aa=PD(c[Ba>>2]|0)|0;RD(wa,xa,ya,-1,U,T,za,Aa,QD(c[Ba>>2]|0)|0);MA(c[Ba>>2]|0)}else{c[fa>>2]=0;c[ga>>2]=0;c[ha>>2]=0;f=c[ja>>2]|0;do if(c[Q>>2]|0){c[y>>2]=c[c[f>>2]>>2];c[z>>2]=c[(c[c[ja>>2]>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;b[(c[z>>2]|0)+16+2>>1]=0;c[y>>2]=(c[y>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+20}c[y>>2]=c[c[Q>>2]>>2];c[z>>2]=c[(c[Q>>2]|0)+4>>2];while(1){if((c[y>>2]|0)<=0)break;b[(c[z>>2]|0)+16+2>>1]=0;c[y>>2]=(c[y>>2]|0)+-1;c[z>>2]=(c[z>>2]|0)+20}if((b[(c[ja>>2]|0)+6>>1]|0)<=66)break;g=66;f=c[ja>>2]|0;A=85}else{g=0;A=85}while(0);if((A|0)==85)b[f+6>>1]=g;if(!(dw(c[Q>>2]|0,c[U>>2]|0,-1)|0))c[ha>>2]=1;c[ea>>2]=qx(c[N>>2]|0)|0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;c[C+20>>2]=0;c[C+24>>2]=0;c[C+28>>2]=0;c[C>>2]=c[aa>>2];c[C+4>>2]=c[P>>2];c[C+12>>2]=V;c[V+16>>2]=(c[(c[aa>>2]|0)+44>>2]|0)+1;if(c[Q>>2]|0)f=c[c[Q>>2]>>2]|0;else f=0;c[V+12>>2]=f;c[V+24>>2]=c[Q>>2];SD(C,c[O>>2]|0);SD(C,c[U>>2]|0);if(c[R>>2]|0)TD(C,c[R>>2]|0);c[V+36>>2]=c[V+32>>2];c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[V+44>>2]|0))break;A=C+28|0;b[A>>1]=e[A>>1]|8;SD(C,c[(c[(c[V+40>>2]|0)+(c[za>>2]<<4)>>2]|0)+20>>2]|0);A=C+28|0;b[A>>1]=e[A>>1]&-9;c[za>>2]=(c[za>>2]|0)+1}c[V+20>>2]=c[(c[aa>>2]|0)+44>>2];if(a[(c[X>>2]|0)+69>>0]|0)break;if(c[Q>>2]|0){L=(c[aa>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[V+4>>2]=M;c[ia>>2]=ID(c[aa>>2]|0,c[Q>>2]|0,0,c[V+32>>2]|0)|0;c[pa>>2]=_t(c[N>>2]|0,108,c[V+4>>2]|0,c[V+12>>2]|0,0,c[ia>>2]|0,-6)|0;M=(c[aa>>2]|0)+44|0;L=(c[M>>2]|0)+1|0;c[M>>2]=L;c[ba>>2]=L;L=(c[aa>>2]|0)+44|0;M=(c[L>>2]|0)+1|0;c[L>>2]=M;c[ca>>2]=M;M=(c[aa>>2]|0)+44|0;L=(c[M>>2]|0)+1|0;c[M>>2]=L;c[ma>>2]=L;c[la>>2]=qx(c[N>>2]|0)|0;L=(c[aa>>2]|0)+44|0;M=(c[L>>2]|0)+1|0;c[L>>2]=M;c[ra>>2]=M;c[qa>>2]=qx(c[N>>2]|0)|0;c[_>>2]=(c[(c[aa>>2]|0)+44>>2]|0)+1;M=(c[aa>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[Q>>2]>>2]|0);c[$>>2]=(c[(c[aa>>2]|0)+44>>2]|0)+1;M=(c[aa>>2]|0)+44|0;c[M>>2]=(c[M>>2]|0)+(c[c[Q>>2]>>2]|0);Wt(c[N>>2]|0,76,0,c[ca>>2]|0)|0;Wt(c[N>>2]|0,76,0,c[ba>>2]|0)|0;Xt(c[N>>2]|0,79,0,c[_>>2]|0,(c[_>>2]|0)+(c[c[Q>>2]>>2]|0)-1|0)|0;Wt(c[N>>2]|0,14,c[ra>>2]|0,c[qa>>2]|0)|0;c[Ba>>2]=LA(c[aa>>2]|0,c[P>>2]|0,c[B>>2]|0,c[Q>>2]|0,0,(64|(c[ha>>2]|0?512:0))&65535,0)|0;if(!(c[Ba>>2]|0))break;M=ND(c[Ba>>2]|0)|0;if((M|0)==(c[c[Q>>2]>>2]|0))c[da>>2]=0;else{if(d[T>>0]|0)f=(c[(c[ja>>2]|0)+8>>2]&1|0)==0;else f=0;UD(c[aa>>2]|0,f?31984:31993);c[da>>2]=1;c[wa>>2]=c[c[Q>>2]>>2];c[va>>2]=c[wa>>2];c[Aa>>2]=c[wa>>2];c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[V+32>>2]|0))break;if((c[(c[V+28>>2]|0)+((c[za>>2]|0)*24|0)+12>>2]|0)>=(c[Aa>>2]|0)){c[va>>2]=(c[va>>2]|0)+1;c[Aa>>2]=(c[Aa>>2]|0)+1}c[za>>2]=(c[za>>2]|0)+1}c[sa>>2]=Sx(c[aa>>2]|0,c[va>>2]|0)|0;Kz(c[aa>>2]|0);ly(c[aa>>2]|0,c[Q>>2]|0,c[sa>>2]|0,0,0)|0;c[Aa>>2]=c[wa>>2];c[za>>2]=0;while(1){if((c[za>>2]|0)>=(c[V+32>>2]|0))break;c[xa>>2]=(c[V+28>>2]|0)+((c[za>>2]|0)*24|0);if((c[(c[xa>>2]|0)+12>>2]|0)>=(c[Aa>>2]|0)){c[ya>>2]=(c[Aa>>2]|0)+(c[sa>>2]|0);qB(c[aa>>2]|0,c[c[xa>>2]>>2]|0,c[(c[xa>>2]|0)+8>>2]|0,c[(c[xa>>2]|0)+4>>2]|0,c[ya>>2]|0);c[Aa>>2]=(c[Aa>>2]|0)+1}c[za>>2]=(c[za>>2]|0)+1}c[ta>>2]=Uu(c[aa>>2]|0)|0;Xt(c[N>>2]|0,99,c[sa>>2]|0,c[va>>2]|0,c[ta>>2]|0)|0;Wt(c[N>>2]|0,125,c[V+4>>2]|0,c[ta>>2]|0)|0;Wu(c[aa>>2]|0,c[ta>>2]|0);Vx(c[aa>>2]|0,c[sa>>2]|0,c[va>>2]|0);MA(c[Ba>>2]|0);ya=(c[aa>>2]|0)+40|0;za=c[ya>>2]|0;c[ya>>2]=za+1;c[fa>>2]=za;c[V+8>>2]=za;c[ga>>2]=Uu(c[aa>>2]|0)|0;Xt(c[N>>2]|0,110,c[fa>>2]|0,c[ga>>2]|0,c[va>>2]|0)|0;Wt(c[N>>2]|0,55,c[V+4>>2]|0,c[ea>>2]|0)|0;a[V+1>>0]=1;Kz(c[aa>>2]|0)}do if(c[ha>>2]|0){if(e[(c[X>>2]|0)+64>>1]&4|0)break;if((c[da>>2]|0)==0?(VD(c[Ba>>2]|0)|0)==0:0)break;c[U>>2]=0;Xx(c[N>>2]|0,c[U+20>>2]|0)|0}while(0);c[oa>>2]=Vu(c[N>>2]|0)|0;Kz(c[aa>>2]|0);if(c[da>>2]|0)Xt(c[N>>2]|0,120,c[V+4>>2]|0,c[ga>>2]|0,c[fa>>2]|0)|0;c[Aa>>2]=0;while(1){if((c[Aa>>2]|0)>=(c[c[Q>>2]>>2]|0))break;if(c[da>>2]|0)Xt(c[N>>2]|0,96,c[fa>>2]|0,c[Aa>>2]|0,(c[$>>2]|0)+(c[Aa>>2]|0)|0)|0;else{a[V>>0]=1;ay(c[aa>>2]|0,c[(c[(c[Q>>2]|0)+4>>2]|0)+((c[Aa>>2]|0)*20|0)>>2]|0,(c[$>>2]|0)+(c[Aa>>2]|0)|0)}c[Aa>>2]=(c[Aa>>2]|0)+1}xa=c[N>>2]|0;ya=c[_>>2]|0;za=c[$>>2]|0;Aa=c[c[Q>>2]>>2]|0;_t(xa,95,ya,za,Aa,Jx(c[ia>>2]|0)|0,-6)|0;c[ka>>2]=Vu(c[N>>2]|0)|0;Xt(c[N>>2]|0,18,(c[ka>>2]|0)+1|0,0,(c[ka>>2]|0)+1|0)|0;WD(c[aa>>2]|0,c[$>>2]|0,c[_>>2]|0,c[c[Q>>2]>>2]|0);Wt(c[N>>2]|0,14,c[ma>>2]|0,c[la>>2]|0)|0;Wt(c[N>>2]|0,66,c[ca>>2]|0,c[ea>>2]|0)|0;Wt(c[N>>2]|0,14,c[ra>>2]|0,c[qa>>2]|0)|0;tx(c[N>>2]|0,c[ka>>2]|0);XD(c[aa>>2]|0,V);Wt(c[N>>2]|0,76,1,c[ba>>2]|0)|0;if(c[da>>2]|0)Wt(c[N>>2]|0,3,c[V+4>>2]|0,c[oa>>2]|0)|0;else{MA(c[Ba>>2]|0);Xx(c[N>>2]|0,c[pa>>2]|0)|0}Wt(c[N>>2]|0,14,c[ma>>2]|0,c[la>>2]|0)|0;sx(c[N>>2]|0,c[ea>>2]|0)|0;c[na>>2]=Vu(c[N>>2]|0)|0;Wt(c[N>>2]|0,76,1,c[ca>>2]|0)|0;kx(c[N>>2]|0,72,c[ma>>2]|0)|0;ux(c[N>>2]|0,c[la>>2]|0);c[la>>2]=Vu(c[N>>2]|0)|0;Wt(c[N>>2]|0,66,c[ba>>2]|0,(c[la>>2]|0)+2|0)|0;kx(c[N>>2]|0,72,c[ma>>2]|0)|0;YD(c[aa>>2]|0,V);ty(c[aa>>2]|0,c[R>>2]|0,(c[la>>2]|0)+1|0,16);RD(c[aa>>2]|0,c[ja>>2]|0,c[c[ja>>2]>>2]|0,-1,U,T,c[ua>>2]|0,(c[la>>2]|0)+1|0,c[na>>2]|0);kx(c[N>>2]|0,72,c[ma>>2]|0)|0;ux(c[N>>2]|0,c[qa>>2]|0);ZD(c[aa>>2]|0,V);kx(c[N>>2]|0,72,c[ra>>2]|0)|0}else{c[D>>2]=0;Aa=_D(c[ja>>2]|0,V)|0;c[E>>2]=Aa;if(Aa|0){c[F>>2]=Nt(c[c[aa>>2]>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;Aa=(c[aa>>2]|0)+40|0;Ba=c[Aa>>2]|0;c[Aa>>2]=Ba+1;c[G>>2]=Ba;c[I>>2]=0;c[J>>2]=0;c[K>>2]=c[(c[E>>2]|0)+28>>2];ju(c[aa>>2]|0,c[F>>2]|0);mx(c[aa>>2]|0,c[F>>2]|0,c[(c[E>>2]|0)+28>>2]|0,0,c[c[E>>2]>>2]|0);if(d[(c[E>>2]|0)+42>>0]&32|0)c[J>>2]=Au(c[E>>2]|0)|0;c[H>>2]=c[(c[E>>2]|0)+8>>2];while(1){if(!(c[H>>2]|0))break;do if(!((d[(c[H>>2]|0)+55>>0]|0)>>>2&1)){if((b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[E>>2]|0)+40>>1]|0))break;if(c[(c[H>>2]|0)+36>>2]|0)break;if(c[J>>2]|0?(b[(c[H>>2]|0)+48>>1]|0)>=(b[(c[J>>2]|0)+48>>1]|0):0)break;c[J>>2]=c[H>>2]}while(0);c[H>>2]=c[(c[H>>2]|0)+20>>2]}if(c[J>>2]|0){c[K>>2]=c[(c[J>>2]|0)+44>>2];c[I>>2]=Dx(c[aa>>2]|0,c[J>>2]|0)|0}Fx(c[N>>2]|0,104,c[G>>2]|0,c[K>>2]|0,c[F>>2]|0,1)|0;if(c[I>>2]|0)$t(c[N>>2]|0,-1,c[I>>2]|0,-6);Wt(c[N>>2]|0,100,c[G>>2]|0,c[(c[V+40>>2]|0)+8>>2]|0)|0;kx(c[N>>2]|0,111,c[G>>2]|0)|0;$D(c[aa>>2]|0,c[E>>2]|0,c[J>>2]|0)}else{c[L>>2]=0;a[M>>0]=0;if(!(c[(c[ja>>2]|0)+40>>2]|0))a[M>>0]=aE(V,L)|0;do if(a[M>>0]|0){c[L>>2]=iw(c[X>>2]|0,c[L>>2]|0,0)|0;c[D>>2]=c[L>>2];if(a[(c[X>>2]|0)+69>>0]|0)break;a[(c[(c[L>>2]|0)+4>>2]|0)+12>>0]=(d[M>>0]|0)!=1?1:0;a[c[c[(c[L>>2]|0)+4>>2]>>2]>>0]=-104}while(0);ZD(c[aa>>2]|0,V);c[Ba>>2]=LA(c[aa>>2]|0,c[P>>2]|0,c[B>>2]|0,c[L>>2]|0,0,d[M>>0]|0,0)|0;if(!(c[Ba>>2]|0)){_j(c[X>>2]|0,c[D>>2]|0);break}XD(c[aa>>2]|0,V);if((ND(c[Ba>>2]|0)|0)>0){Aa=c[N>>2]|0;sx(Aa,QD(c[Ba>>2]|0)|0)|0}MA(c[Ba>>2]|0);YD(c[aa>>2]|0,V)}c[U>>2]=0;ty(c[aa>>2]|0,c[R>>2]|0,c[ea>>2]|0,16);RD(c[aa>>2]|0,c[ja>>2]|0,c[c[ja>>2]>>2]|0,-1,0,0,c[ua>>2]|0,c[ea>>2]|0,c[ea>>2]|0);_j(c[X>>2]|0,c[D>>2]|0)}ux(c[N>>2]|0,c[ea>>2]|0)}if((d[T+1>>0]|0)==3)UD(c[aa>>2]|0,31984);if(c[U>>2]|0){UD(c[aa>>2]|0,(c[U+4>>2]|0)>0?32002:32025);bE(c[aa>>2]|0,c[ja>>2]|0,U,c[c[O>>2]>>2]|0,c[ua>>2]|0)}ux(c[N>>2]|0,c[W>>2]|0);c[S>>2]=(c[(c[aa>>2]|0)+36>>2]|0)>0&1}}while(0);c[(c[aa>>2]|0)+420>>2]=c[Y>>2];if((c[S>>2]|0)==0?(d[c[ua>>2]>>0]|0)==9:0)cE(c[aa>>2]|0,c[P>>2]|0,c[O>>2]|0);Hd(c[X>>2]|0,c[V+28>>2]|0);Hd(c[X>>2]|0,c[V+40>>2]|0);c[Z>>2]=c[S>>2];Ba=c[Z>>2]|0;l=Ca;return Ba|0}c[Z>>2]=1;Ba=c[Z>>2]|0;l=Ca;return Ba|0}function Hs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k;d=k+24|0;e=k+20|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;c[d>>2]=a;c[e>>2]=b;if(!(c[(c[e>>2]|0)+48>>2]|0)){l=k;return}c[f>>2]=0;c[i>>2]=0;c[g>>2]=c[e>>2];while(1){if(!(c[g>>2]|0))break;c[(c[g>>2]|0)+52>>2]=c[f>>2];b=(c[g>>2]|0)+8|0;c[b>>2]=c[b>>2]|256;c[f>>2]=c[g>>2];c[g>>2]=c[(c[g>>2]|0)+48>>2];c[i>>2]=(c[i>>2]|0)+1}if(c[(c[e>>2]|0)+8>>2]&1024|0){l=k;return}g=c[(c[c[d>>2]>>2]|0)+96+16>>2]|0;c[h>>2]=g;if((g|0)<=0){l=k;return}if((c[i>>2]|0)<=(c[h>>2]|0)){l=k;return}Ck(c[d>>2]|0,31910,j);l=k;return}function Is(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;v=x;t=x+44|0;u=x+40|0;j=x+36|0;k=x+32|0;m=x+28|0;n=x+24|0;o=x+20|0;p=x+16|0;q=x+12|0;r=x+8|0;s=x+4|0;c[u>>2]=a;c[j>>2]=b;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[q>>2]=i;c[s>>2]=c[c[u>>2]>>2];if(!(c[j>>2]|0)?(c[p>>2]|0)!=0|(c[q>>2]|0)!=0:0){u=c[u>>2]|0;c[v>>2]=c[p>>2]|0?31865:31868;Ck(u,31874,v)}else w=4;if(((w|0)==4?(c[j>>2]=Rs(c[s>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0,c[j>>2]|0):0)?c[c[j>>2]>>2]|0:0){c[r>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if(c[(c[n>>2]|0)+4>>2]|0){w=Kt(c[s>>2]|0,c[n>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=w}c[(c[r>>2]|0)+20>>2]=c[o>>2];c[(c[r>>2]|0)+48>>2]=c[p>>2];c[(c[r>>2]|0)+52>>2]=c[q>>2];c[t>>2]=c[j>>2];w=c[t>>2]|0;l=x;return w|0}ck(c[s>>2]|0,c[p>>2]|0);hk(c[s>>2]|0,c[q>>2]|0);Zj(c[s>>2]|0,c[o>>2]|0);c[t>>2]=0;w=c[t>>2]|0;l=x;return w|0}function Js(d,e,f,g,h,i,j,k,m,n){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;B=l;l=l+128|0;o=B+112|0;p=B+108|0;q=B+104|0;r=B+100|0;s=B+96|0;t=B+92|0;u=B+88|0;v=B+84|0;w=B+80|0;x=B+76|0;y=B+72|0;z=B+4|0;A=B;c[o>>2]=d;c[p>>2]=e;c[q>>2]=f;c[r>>2]=g;c[s>>2]=h;c[t>>2]=i;c[u>>2]=j;c[v>>2]=k;c[w>>2]=m;c[x>>2]=n;c[A>>2]=c[c[o>>2]>>2];n=od(c[A>>2]|0,68,0)|0;c[y>>2]=n;c[y>>2]=(c[y>>2]|0)==0?z:n;if(!(c[p>>2]|0)){n=c[o>>2]|0;c[p>>2]=Ks(n,0,Ns(c[A>>2]|0,160,0)|0)|0}c[c[y>>2]>>2]=c[p>>2];a[(c[y>>2]|0)+4>>0]=119;c[(c[y>>2]|0)+8>>2]=c[v>>2];c[(c[y>>2]|0)+12>>2]=0;c[(c[y>>2]|0)+16>>2]=0;c[(c[y>>2]|0)+20>>2]=-1;c[(c[y>>2]|0)+20+4>>2]=-1;b[(c[y>>2]|0)+6>>1]=0;if(!(c[q>>2]|0))c[q>>2]=jl(c[A>>2]|0,80,0)|0;c[(c[y>>2]|0)+28>>2]=c[q>>2];c[(c[y>>2]|0)+32>>2]=c[r>>2];c[(c[y>>2]|0)+36>>2]=c[s>>2];c[(c[y>>2]|0)+40>>2]=c[t>>2];c[(c[y>>2]|0)+44>>2]=c[u>>2];c[(c[y>>2]|0)+48>>2]=0;c[(c[y>>2]|0)+52>>2]=0;c[(c[y>>2]|0)+56>>2]=c[w>>2];c[(c[y>>2]|0)+60>>2]=c[x>>2];c[(c[y>>2]|0)+64>>2]=0;if(!(a[(c[A>>2]|0)+69>>0]|0)){n=c[y>>2]|0;l=B;return n|0}ek(c[A>>2]|0,c[y>>2]|0,(c[y>>2]|0)!=(z|0)&1);c[y>>2]=0;n=c[y>>2]|0;l=B;return n|0}function Ks(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+24|0;m=k+20|0;g=k+16|0;h=k+12|0;i=k+8|0;e=k+4|0;j=k;c[m>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=c[c[m>>2]>>2];if(!(c[g>>2]|0)){c[g>>2]=od(c[i>>2]|0,8,0)|0;if((c[g>>2]|0)!=0?(c[c[g>>2]>>2]=0,m=od(c[i>>2]|0,20,0)|0,c[(c[g>>2]|0)+4>>2]=m,(c[(c[g>>2]|0)+4>>2]|0)!=0):0)a=7;else a=8}else if(!(c[c[g>>2]>>2]&(c[c[g>>2]>>2]|0)-1)){c[e>>2]=Pd(c[i>>2]|0,c[(c[g>>2]|0)+4>>2]|0,(c[c[g>>2]>>2]<<1)*20|0,0)|0;if(!(c[e>>2]|0))a=8;else{c[(c[g>>2]|0)+4>>2]=c[e>>2];a=7}}else a=7;if((a|0)==7){i=c[(c[g>>2]|0)+4>>2]|0;e=c[g>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;c[j>>2]=i+(m*20|0);m=c[j>>2]|0;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[m+12>>2]=0;c[m+16>>2]=0;c[c[j>>2]>>2]=c[h>>2];c[f>>2]=c[g>>2];m=c[f>>2]|0;l=k;return m|0}else if((a|0)==8){ck(c[i>>2]|0,c[h>>2]|0);_j(c[i>>2]|0,c[g>>2]|0);c[f>>2]=0;m=c[f>>2]|0;l=k;return m|0}return 0}function Ls(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;if(!(c[g>>2]|0)){l=k;return}c[j>>2]=(c[(c[g>>2]|0)+4>>2]|0)+(((c[c[g>>2]>>2]|0)-1|0)*20|0);h=zj(c[c[f>>2]>>2]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0,0)|0;c[(c[j>>2]|0)+4>>2]=h;if(!(c[i>>2]|0)){l=k;return}Aj(c[(c[j>>2]|0)+4>>2]|0);l=k;return}function Ms(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[e>>2]=b;c[f>>2]=d;c[g>>2]=c[c[j>>2]>>2];if(!(c[e>>2]|0)){l=i;return}c[h>>2]=(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0);Hd(c[g>>2]|0,c[(c[h>>2]|0)+8>>2]|0);j=(c[(c[f>>2]|0)+8>>2]|0)-(c[(c[f>>2]|0)+4>>2]|0)|0;j=zj(c[g>>2]|0,c[(c[f>>2]|0)+4>>2]|0,j,((j|0)<0)<<31>>31)|0;c[(c[h>>2]|0)+8>>2]=j;l=i;return}function Ns(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;f=i+16|0;g=i+12|0;e=i+8|0;h=i;c[f>>2]=a;c[g>>2]=b;c[e>>2]=d;c[h>>2]=c[e>>2];if(c[e>>2]|0)a=_c(c[e>>2]|0)|0;else a=0;c[h+4>>2]=a;h=at(c[f>>2]|0,c[g>>2]|0,h,0)|0;l=i;return h|0}function Os(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=b;if(!(c[d>>2]|0)){l=f;return}c[e>>2]=(c[c[d>>2]>>2]|0)-1;while(1){b=(c[d>>2]|0)+8|0;if((c[e>>2]|0)<=0)break;a[(c[d>>2]|0)+8+((c[e>>2]|0)*72|0)+36>>0]=a[b+(((c[e>>2]|0)-1|0)*72|0)+36>>0]|0;c[e>>2]=(c[e>>2]|0)+-1}a[b+36>>0]=0;l=f;return}function Ps(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(!(c[g>>2]|0)){l=j;return}if((c[c[g>>2]>>2]|0)<=0){l=j;return}c[i>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);if((c[(c[h>>2]|0)+4>>2]|0)==1?(c[c[h>>2]>>2]|0)==0:0){i=(c[i>>2]|0)+36+1|0;a[i>>0]=a[i>>0]&-2|1;l=j;return}h=Kt(c[c[f>>2]>>2]|0,c[h>>2]|0)|0;c[(c[i>>2]|0)+64>>2]=h;h=(c[i>>2]|0)+36+1|0;a[h>>0]=a[h>>0]&-3|((c[(c[i>>2]|0)+64>>2]|0)!=0&1)<<1&255;l=j;return}function Qs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;if(c[g>>2]|0){c[i>>2]=(c[g>>2]|0)+8+(((c[c[g>>2]>>2]|0)-1|0)*72|0);c[(c[i>>2]|0)+64>>2]=c[h>>2];i=(c[i>>2]|0)+36+1|0;a[i>>0]=a[i>>0]&-5|4;l=j;return}else{_j(c[c[f>>2]>>2]|0,c[h>>2]|0);l=j;return}}function Rs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o+8|0;n=o+4|0;g=o;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;do if(!(c[j>>2]|0)){c[j>>2]=od(c[i>>2]|0,80,0)|0;if(c[j>>2]|0){c[(c[j>>2]|0)+4>>2]=1;c[c[j>>2]>>2]=0;break}c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}while(0);c[j>>2]=CD(c[i>>2]|0,c[j>>2]|0,1,c[c[j>>2]>>2]|0)|0;if(a[(c[i>>2]|0)+69>>0]|0){fk(c[i>>2]|0,c[j>>2]|0);c[h>>2]=0;n=c[h>>2]|0;l=o;return n|0}c[n>>2]=(c[j>>2]|0)+8+(((c[c[j>>2]>>2]|0)-1|0)*72|0);if(c[m>>2]|0?(c[c[m>>2]>>2]|0)==0:0)c[m>>2]=0;if(c[m>>2]|0){c[g>>2]=c[m>>2];c[m>>2]=c[k>>2];c[k>>2]=c[g>>2]}k=Kt(c[i>>2]|0,c[k>>2]|0)|0;c[(c[n>>2]|0)+8>>2]=k;m=Kt(c[i>>2]|0,c[m>>2]|0)|0;c[(c[n>>2]|0)+4>>2]=m;c[h>>2]=c[j>>2];n=c[h>>2]|0;l=o;return n|0}function Ss(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+80|0;s=u+16|0;r=u;k=u+64|0;m=u+60|0;n=u+56|0;o=u+52|0;p=u+48|0;q=u+36|0;g=u+32|0;h=u+28|0;i=u+24|0;j=u+20|0;c[k>>2]=a;c[m>>2]=b;c[n>>2]=e;c[o>>2]=f;c[p>>2]=0;c[q>>2]=c[m>>2];c[q+4>>2]=c[n>>2];c[q+8>>2]=c[o>>2];c[h>>2]=0;while(1){if((c[h>>2]|0)>=3)break;if(!(c[q+(c[h>>2]<<2)>>2]|0))break;c[g>>2]=c[q+(c[h>>2]<<2)>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=7)break;if((c[(c[g>>2]|0)+4>>2]|0)==(d[31711+((c[i>>2]|0)*3|0)+1>>0]|0|0)?(Zc(c[c[g>>2]>>2]|0,31732+(d[31711+((c[i>>2]|0)*3|0)>>0]|0)|0,c[(c[g>>2]|0)+4>>2]|0)|0)==0:0){t=8;break}c[i>>2]=(c[i>>2]|0)+1}if((t|0)==8){t=0;c[p>>2]=c[p>>2]|(d[31711+((c[i>>2]|0)*3|0)+2>>0]|0)}if((c[i>>2]|0)>=7){t=11;break}c[h>>2]=(c[h>>2]|0)+1}if((t|0)==11)c[p>>2]=c[p>>2]|64;if((c[p>>2]&33|0)!=33?(c[p>>2]&64|0)==0:0){if(!(c[p>>2]&32)){t=c[p>>2]|0;l=u;return t|0}if((c[p>>2]&24|0)==8){t=c[p>>2]|0;l=u;return t|0}Ck(c[k>>2]|0,31810,s);c[p>>2]=1;t=c[p>>2]|0;l=u;return t|0}c[j>>2]=19911;if(!(c[o>>2]|0))c[j>>2]=(c[j>>2]|0)+1;t=c[k>>2]|0;n=c[n>>2]|0;q=c[j>>2]|0;s=c[o>>2]|0;c[r>>2]=c[m>>2];c[r+4>>2]=n;c[r+8>>2]=q;c[r+12>>2]=s;Ck(t,31766,r);c[p>>2]=1;t=c[p>>2]|0;l=u;return t|0}function Ts(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=b;c[f>>2]=d;if((c[e>>2]|0)==0|(c[f>>2]|0)<0){l=g;return}a[(c[(c[e>>2]|0)+4>>2]|0)+(((c[c[e>>2]>>2]|0)-1|0)*20|0)+12>>0]=c[f>>2];l=g;return}function Us(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+4|0;g=i;h=i+8|0;c[f>>2]=b;c[g>>2]=d;a[h>>0]=e;if(!(c[g>>2]|0)){l=i;return}c[(c[g>>2]|0)+4>>2]=c[(c[f>>2]|0)+472>>2];c[(c[f>>2]|0)+472>>2]=c[g>>2];if(!(a[h>>0]|0)){l=i;return}c[(c[f>>2]|0)+476>>2]=c[g>>2];l=i;return}function Vs(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;X=l;l=l+192|0;P=X+176|0;S=X+172|0;T=X+168|0;U=X+164|0;V=X+160|0;W=X+156|0;F=X+152|0;G=X+148|0;i=X+144|0;H=X+140|0;I=X+136|0;j=X+132|0;J=X+128|0;K=X+120|0;k=X+88|0;m=X+84|0;L=X+80|0;n=X+76|0;u=X+72|0;v=X+64|0;M=X+60|0;N=X+56|0;o=X+52|0;p=X+184|0;w=X+48|0;x=X+182|0;O=X+44|0;y=X+40|0;z=X+36|0;Q=X+32|0;q=X+28|0;A=X+24|0;R=X+20|0;B=X+16|0;r=X+180|0;s=X+12|0;C=X+8|0;D=X+4|0;E=X;c[P>>2]=f;c[S>>2]=g;c[T>>2]=h;c[H>>2]=0;c[I>>2]=0;c[L>>2]=-1;c[M>>2]=0;c[o>>2]=0;b[p>>1]=1;c[O>>2]=0;c[y>>2]=0;c[z>>2]=0;c[Q>>2]=0;c[q>>2]=0;c[K>>2]=0;c[K+4>>2]=0;c[J>>2]=c[c[P>>2]>>2];a:do if(((c[(c[P>>2]|0)+36>>2]|0)==0?(d[(c[J>>2]|0)+69>>0]|0)==0:0)?(c[V>>2]=hz(c[P>>2]|0,c[S>>2]|0)|0,c[V>>2]|0):0){c[B>>2]=mA(c[P>>2]|0,c[V>>2]|0,109,0,0)|0;c[R>>2]=(c[(c[V>>2]|0)+12>>2]|0)!=0&1;if(c[B>>2]|0)f=1;else f=(FC(c[P>>2]|0,c[V>>2]|0,0,0)|0)!=0;c[A>>2]=f&1;if(((kv(c[P>>2]|0,c[V>>2]|0)|0)==0?(nA(c[P>>2]|0,c[V>>2]|0,c[B>>2]|0?1:0)|0)==0:0)?(c[m>>2]=Nt(c[J>>2]|0,c[(c[V>>2]|0)+64>>2]|0)|0,c[n>>2]=Ot(c[P>>2]|0,9,c[c[V>>2]>>2]|0,0,c[(c[(c[J>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0,(c[n>>2]|0)!=1):0){g=(c[P>>2]|0)+40|0;h=c[g>>2]|0;c[g>>2]=h+1;c[(c[S>>2]|0)+8+44>>2]=h;c[i>>2]=h;c[j>>2]=0;c[G>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break;h=(c[P>>2]|0)+40|0;c[h>>2]=(c[h>>2]|0)+1;c[G>>2]=c[(c[G>>2]|0)+20>>2];c[j>>2]=(c[j>>2]|0)+1}if(c[R>>2]|0)xD(c[P>>2]|0,K,c[c[V>>2]>>2]|0);c[U>>2]=Rt(c[P>>2]|0)|0;if(c[U>>2]|0){if(!(d[(c[P>>2]|0)+18>>0]|0))oA(c[U>>2]|0);iu(c[P>>2]|0,1,c[m>>2]|0);if(c[R>>2]|0){yD(c[P>>2]|0,c[V>>2]|0,c[T>>2]|0,c[i>>2]|0);h=c[i>>2]|0;c[I>>2]=h;c[H>>2]=h};c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=c[P>>2];c[k+4>>2]=c[S>>2];if(!(Uv(k,c[T>>2]|0)|0)){if(c[(c[J>>2]|0)+24>>2]&128|0){g=(c[P>>2]|0)+44|0;h=(c[g>>2]|0)+1|0;c[g>>2]=h;c[L>>2]=h;Wt(c[U>>2]|0,76,0,c[L>>2]|0)|0}b:do if(!((c[n>>2]|0)==0&(c[T>>2]|0)==0^1|(c[A>>2]|0)!=0)?!(d[(c[V>>2]|0)+42>>0]&16|0):0){mx(c[P>>2]|0,c[m>>2]|0,c[(c[V>>2]|0)+28>>2]|0,1,c[c[V>>2]>>2]|0);if(!(d[(c[V>>2]|0)+42>>0]&32))_t(c[U>>2]|0,131,c[(c[V>>2]|0)+28>>2]|0,c[m>>2]|0,c[L>>2]|0,c[c[V>>2]>>2]|0,-2)|0;c[G>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break b;Wt(c[U>>2]|0,131,c[(c[G>>2]|0)+44>>2]|0,c[m>>2]|0)|0;c[G>>2]=c[(c[G>>2]|0)+20>>2]}}else t=29;while(0);c:do if((t|0)==29){b[r>>1]=1044;if(e[k+28>>1]&64|0)c[A>>2]=1;b[r>>1]=e[r>>1]|(c[A>>2]|0?0:8);if(!(d[(c[V>>2]|0)+42>>0]&32)){c[N>>2]=0;b[p>>1]=1;n=(c[P>>2]|0)+44|0;t=(c[n>>2]|0)+1|0;c[n>>2]=t;c[y>>2]=t;Wt(c[U>>2]|0,79,0,c[y>>2]|0)|0}else{c[N>>2]=Au(c[V>>2]|0)|0;b[p>>1]=b[(c[N>>2]|0)+50>>1]|0;c[o>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;n=(c[P>>2]|0)+44|0;c[n>>2]=(c[n>>2]|0)+(b[p>>1]|0);n=(c[P>>2]|0)+40|0;t=c[n>>2]|0;c[n>>2]=t+1;c[O>>2]=t;c[q>>2]=Wt(c[U>>2]|0,107,c[O>>2]|0,b[p>>1]|0)|0;ox(c[P>>2]|0,c[N>>2]|0)}c[F>>2]=LA(c[P>>2]|0,c[S>>2]|0,c[T>>2]|0,0,0,b[r>>1]|0,(c[i>>2]|0)+1|0)|0;if(!(c[F>>2]|0))break a;c[u>>2]=AD(c[F>>2]|0,v)|0;if(c[(c[J>>2]|0)+24>>2]&128|0)Wt(c[U>>2]|0,91,c[L>>2]|0,1)|0;do if(c[N>>2]|0){c[W>>2]=0;while(1){if((c[W>>2]|0)>=(b[p>>1]|0))break;Zx(c[U>>2]|0,c[V>>2]|0,c[i>>2]|0,b[(c[(c[N>>2]|0)+4>>2]|0)+(c[W>>2]<<1)>>1]|0,(c[o>>2]|0)+(c[W>>2]|0)|0);c[W>>2]=(c[W>>2]|0)+1}c[w>>2]=c[o>>2]}else{c[w>>2]=(c[(c[P>>2]|0)+44>>2]|0)+1;c[w>>2]=cy(c[P>>2]|0,c[V>>2]|0,-1,c[i>>2]|0,c[w>>2]|0,0)|0;if((c[w>>2]|0)<=(c[(c[P>>2]|0)+44>>2]|0))break;c[(c[P>>2]|0)+44>>2]=c[w>>2]}while(0);do if(!(c[u>>2]|0))if(c[N>>2]|0){q=(c[P>>2]|0)+44|0;n=(c[q>>2]|0)+1|0;c[q>>2]=n;c[w>>2]=n;b[x>>1]=0;n=c[U>>2]|0;o=c[o>>2]|0;q=b[p>>1]|0;r=c[w>>2]|0;t=Iz(c[c[P>>2]>>2]|0,c[N>>2]|0)|0;_t(n,99,o,q,r,t,b[p>>1]|0)|0;Wt(c[U>>2]|0,126,c[O>>2]|0,c[w>>2]|0)|0;break}else{b[x>>1]=1;Wt(c[U>>2]|0,142,c[y>>2]|0,c[w>>2]|0)|0;break}else{b[x>>1]=b[p>>1]|0;t=(c[j>>2]|0)+2|0;c[M>>2]=od(c[J>>2]|0,t,((t|0)<0)<<31>>31)|0;if(!(c[M>>2]|0)){MA(c[F>>2]|0);break a}GR(c[M>>2]|0,1,(c[j>>2]|0)+1|0)|0;a[(c[M>>2]|0)+((c[j>>2]|0)+1)>>0]=0;if((c[v>>2]|0)>=0)a[(c[M>>2]|0)+((c[v>>2]|0)-(c[i>>2]|0))>>0]=0;if((c[v+4>>2]|0)>=0)a[(c[M>>2]|0)+((c[v+4>>2]|0)-(c[i>>2]|0))>>0]=0;if(!(c[q>>2]|0))break;Xx(c[U>>2]|0,c[q>>2]|0)|0}while(0);if(c[u>>2]|0)c[z>>2]=qx(c[U>>2]|0)|0;else MA(c[F>>2]|0);do if(!(c[R>>2]|0)){c[s>>2]=0;if((c[u>>2]|0)==2)c[s>>2]=Tt(c[U>>2]|0,20)|0;Lz(c[P>>2]|0,c[V>>2]|0,105,8,c[i>>2]|0,c[M>>2]|0,H,I)|0;if((c[u>>2]|0)!=2)break;tx(c[U>>2]|0,c[s>>2]|0)}while(0);do if(!(c[u>>2]|0)){f=c[U>>2]|0;if(c[N>>2]|0){c[Q>>2]=kx(f,57,c[O>>2]|0)|0;Wt(c[U>>2]|0,121,c[O>>2]|0,c[w>>2]|0)|0;break}else{c[Q>>2]=Xt(f,62,c[y>>2]|0,0,c[w>>2]|0)|0;break}}else{if(d[(c[V>>2]|0)+42>>0]&16|0)break;if(!(d[(c[M>>2]|0)+((c[H>>2]|0)-(c[i>>2]|0))>>0]|0))break;Fx(c[U>>2]|0,30,c[H>>2]|0,c[z>>2]|0,c[w>>2]|0,b[x>>1]|0)|0}while(0);do if(d[(c[V>>2]|0)+42>>0]&16|0){c[C>>2]=lv(c[J>>2]|0,c[V>>2]|0)|0;yA(c[P>>2]|0,c[V>>2]|0);_t(c[U>>2]|0,12,0,1,c[w>>2]|0,c[C>>2]|0,-10)|0;px(c[U>>2]|0,2);mv(c[P>>2]|0);if((c[u>>2]|0)!=1)break;if(c[(c[P>>2]|0)+124>>2]|0)break;a[(c[P>>2]|0)+20>>0]=0}else{c[D>>2]=(d[(c[P>>2]|0)+18>>0]|0)==0&1;c[E>>2]=-1;do if(!(c[A>>2]|0)){if((c[v+4>>2]|0)==(c[H>>2]|0))break;c[E>>2]=c[v+4>>2]}while(0);HC(c[P>>2]|0,c[V>>2]|0,c[B>>2]|0,c[H>>2]|0,c[I>>2]|0,c[w>>2]|0,b[x>>1]|0,c[D>>2]&255,10,c[u>>2]&255,c[E>>2]|0)}while(0);do if(!(c[u>>2]|0)){f=c[U>>2]|0;if(c[N>>2]|0){Wt(f,7,c[O>>2]|0,(c[Q>>2]|0)+1|0)|0;tx(c[U>>2]|0,c[Q>>2]|0);break}else{sx(f,c[Q>>2]|0)|0;tx(c[U>>2]|0,c[Q>>2]|0);break}}else{ux(c[U>>2]|0,c[z>>2]|0);MA(c[F>>2]|0)}while(0);if(c[R>>2]|0)break;if(d[(c[V>>2]|0)+42>>0]&16|0)break;if(!(c[N>>2]|0))kx(c[U>>2]|0,111,c[H>>2]|0)|0;c[W>>2]=0;c[G>>2]=c[(c[V>>2]|0)+8>>2];while(1){if(!(c[G>>2]|0))break c;kx(c[U>>2]|0,111,(c[I>>2]|0)+(c[W>>2]|0)|0)|0;c[W>>2]=(c[W>>2]|0)+1;c[G>>2]=c[(c[G>>2]|0)+20>>2]}}while(0);if((d[(c[P>>2]|0)+18>>0]|0)==0?(c[(c[P>>2]|0)+128>>2]|0)==0:0)CA(c[P>>2]|0);if((c[(c[J>>2]|0)+24>>2]&128|0?(a[(c[P>>2]|0)+18>>0]|0)==0:0)?(c[(c[P>>2]|0)+128>>2]|0)==0:0){Wt(c[U>>2]|0,87,c[L>>2]|0,1)|0;Xr(c[U>>2]|0,1);Yr(c[U>>2]|0,0,0,31698,0)|0}}}}}while(0);BD(K);fk(c[J>>2]|0,c[S>>2]|0);ck(c[J>>2]|0,c[T>>2]|0);Hd(c[J>>2]|0,c[M>>2]|0);l=X;return}function Ws(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;i=j;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[h>>2]=c[(c[c[e>>2]>>2]|0)+96+8>>2];if(!(c[f>>2]|0)){l=j;return}if((c[c[f>>2]>>2]|0)<=(c[h>>2]|0)){l=j;return}h=c[e>>2]|0;c[i>>2]=c[g>>2];Ck(h,31675,i);l=j;return}function Xs(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=l;l=l+256|0;q=oa;ka=oa+244|0;la=oa+240|0;ma=oa+236|0;na=oa+232|0;V=oa+228|0;X=oa+224|0;B=oa+220|0;Y=oa+216|0;Z=oa+212|0;r=oa+208|0;_=oa+204|0;$=oa+200|0;aa=oa+196|0;s=oa+192|0;t=oa+188|0;ba=oa+184|0;ca=oa+180|0;da=oa+176|0;K=oa+172|0;ea=oa+168|0;fa=oa+164|0;y=oa+254|0;C=oa+253|0;L=oa+252|0;z=oa+160|0;ga=oa+152|0;k=oa+120|0;m=oa+112|0;M=oa+108|0;N=oa+104|0;ha=oa+100|0;W=oa+96|0;H=oa+92|0;O=oa+88|0;D=oa+84|0;E=oa+80|0;ia=oa+76|0;P=oa+72|0;u=oa+64|0;ja=oa+56|0;Q=oa+52|0;R=oa+48|0;I=oa+44|0;F=oa+40|0;A=oa+36|0;S=oa+32|0;n=oa+28|0;o=oa+24|0;p=oa+250|0;v=oa+20|0;w=oa+248|0;x=oa+16|0;G=oa+12|0;T=oa+8|0;U=oa+4|0;c[ka>>2]=f;c[la>>2]=g;c[ma>>2]=h;c[na>>2]=i;c[V>>2]=j;c[Z>>2]=0;c[K>>2]=0;c[ea>>2]=0;c[z>>2]=0;c[ia>>2]=0;c[P>>2]=0;c[ja>>2]=0;c[Q>>2]=0;c[R>>2]=0;c[I>>2]=0;c[F>>2]=0;c[A>>2]=0;c[S>>2]=0;c[ga>>2]=0;c[ga+4>>2]=0;c[da>>2]=c[c[ka>>2]>>2];a:do if(((((c[(c[ka>>2]|0)+36>>2]|0)==0?(d[(c[da>>2]|0)+69>>0]|0)==0:0)?(c[Y>>2]=hz(c[ka>>2]|0,c[la>>2]|0)|0,c[Y>>2]|0):0)?(c[m>>2]=Nt(c[c[ka>>2]>>2]|0,c[(c[Y>>2]|0)+64>>2]|0)|0,c[O>>2]=mA(c[ka>>2]|0,c[Y>>2]|0,110,c[ma>>2]|0,D)|0,c[H>>2]=(c[(c[Y>>2]|0)+12>>2]|0)!=0&1,(kv(c[ka>>2]|0,c[Y>>2]|0)|0)==0):0)?(nA(c[ka>>2]|0,c[Y>>2]|0,c[D>>2]|0)|0)==0:0){i=(c[ka>>2]|0)+40|0;j=c[i>>2]|0;c[i>>2]=j+1;c[ba>>2]=j;c[t>>2]=j;c[(c[la>>2]|0)+8+44>>2]=j;c[ca>>2]=(c[ba>>2]|0)+1;if(!(d[(c[Y>>2]|0)+42>>0]&32))f=0;else f=Au(c[Y>>2]|0)|0;c[aa>>2]=f;c[s>>2]=0;c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;if(c[aa>>2]|0?(a[(c[$>>2]|0)+55>>0]&3|0)==2:0){c[ba>>2]=c[(c[ka>>2]|0)+40>>2];c[(c[la>>2]|0)+8+44>>2]=c[ba>>2]}j=(c[ka>>2]|0)+40|0;c[j>>2]=(c[j>>2]|0)+1;c[$>>2]=c[(c[$>>2]|0)+20>>2];c[s>>2]=(c[s>>2]|0)+1}c[ea>>2]=od(c[da>>2]|0,((b[(c[Y>>2]|0)+34>>1]|0)+(c[s>>2]|0)<<2)+(c[s>>2]|0)+2|0,0)|0;if(c[ea>>2]|0){c[K>>2]=(c[ea>>2]|0)+(b[(c[Y>>2]|0)+34>>1]<<2);c[fa>>2]=(c[K>>2]|0)+(c[s>>2]<<2);GR(c[fa>>2]|0,1,(c[s>>2]|0)+1|0)|0;a[(c[fa>>2]|0)+((c[s>>2]|0)+1)>>0]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;c[(c[ea>>2]|0)+(c[X>>2]<<2)>>2]=-1;c[X>>2]=(c[X>>2]|0)+1}c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;c[k+24>>2]=0;c[k+28>>2]=0;c[k>>2]=c[ka>>2];c[k+4>>2]=c[la>>2];a[y>>0]=0;a[C>>0]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[c[ma>>2]>>2]|0))break;if(Uv(k,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]|0)|0)break a;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;j=(Ig(c[(c[(c[Y>>2]|0)+4>>2]|0)+(c[B>>2]<<4)>>2]|0,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+4>>2]|0)|0)==0;f=c[B>>2]|0;if(j){J=23;break}c[B>>2]=f+1}if((J|0)==23){J=0;if((f|0)!=(b[(c[Y>>2]|0)+32>>1]|0)){if(c[aa>>2]|0?d[(c[(c[Y>>2]|0)+4>>2]|0)+(c[B>>2]<<4)+15>>0]&1|0:0)a[y>>0]=1}else{a[C>>0]=1;c[z>>2]=c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]}c[(c[ea>>2]|0)+(c[B>>2]<<2)>>2]=c[X>>2]}if((c[B>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0)){if(c[aa>>2]|0){J=34;break}if(!(Cw(c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+4>>2]|0)|0)){J=34;break}c[B>>2]=-1;a[C>>0]=1;c[z>>2]=c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)>>2]}if((c[B>>2]|0)<0)f=26335;else f=c[(c[(c[Y>>2]|0)+4>>2]|0)+(c[B>>2]<<4)>>2]|0;c[n>>2]=Ot(c[ka>>2]|0,23,c[c[Y>>2]>>2]|0,f,c[(c[(c[da>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;if((c[n>>2]|0)==1)break a;if((c[n>>2]|0)==2)c[(c[ea>>2]|0)+(c[B>>2]<<2)>>2]=-1;c[X>>2]=(c[X>>2]|0)+1}if((J|0)==34){ja=c[ka>>2]|0;c[q>>2]=c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[X>>2]|0)*20|0)+4>>2];Ck(ja,31643,q);a[(c[ka>>2]|0)+17>>0]=1;break}a[L>>0]=(d[C>>0]|0)+(d[y>>0]|0);n=(d[(c[Y>>2]|0)+42>>0]&16|0)!=0;q=(c[la>>2]|0)+8+56|0;c[q>>2]=n?-1:0;c[q+4>>2]=n?-1:0;c[N>>2]=FC(c[ka>>2]|0,c[Y>>2]|0,c[ea>>2]|0,d[L>>0]|0)|0;c[B>>2]=0;c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;b:do if((!((d[L>>0]|0)!=0|(c[N>>2]|0)!=0)?!(c[(c[$>>2]|0)+36>>2]|0):0)?(c[$>>2]|0)!=(c[aa>>2]|0):0){c[o>>2]=0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(e[(c[$>>2]|0)+50>>1]|0))break b;b[p>>1]=b[(c[(c[$>>2]|0)+4>>2]|0)+(c[X>>2]<<1)>>1]|0;if((b[p>>1]|0)<0)break;if((c[(c[ea>>2]|0)+(b[p>>1]<<2)>>2]|0)>=0)break;c[X>>2]=(c[X>>2]|0)+1}n=(c[ka>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}else J=46;while(0);if((J|0)==46){J=0;n=(c[ka>>2]|0)+44|0;q=(c[n>>2]|0)+1|0;c[n>>2]=q;c[o>>2]=q}if(!(c[o>>2]|0))a[(c[fa>>2]|0)+((c[B>>2]|0)+1)>>0]=0;c[(c[K>>2]|0)+(c[B>>2]<<2)>>2]=c[o>>2];c[$>>2]=c[(c[$>>2]|0)+20>>2];c[B>>2]=(c[B>>2]|0)+1}c[_>>2]=Rt(c[ka>>2]|0)|0;if(c[_>>2]|0){if(!(d[(c[ka>>2]|0)+18>>0]|0))oA(c[_>>2]|0);iu(c[ka>>2]|0,1,c[m>>2]|0);if(!(d[(c[Y>>2]|0)+42>>0]&16)){q=(c[ka>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[A>>2]=p;p=(c[ka>>2]|0)+44|0;q=(c[p>>2]|0)+1|0;c[p>>2]=q;c[R>>2]=q;c[Q>>2]=q;if((d[y>>0]|0)!=0|(c[O>>2]|0)!=0|(c[N>>2]|0)!=0){c[F>>2]=(c[(c[ka>>2]|0)+44>>2]|0)+1;q=(c[ka>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[Y>>2]|0)+34>>1]|0)}if((d[L>>0]|0)!=0|(c[O>>2]|0)!=0|(c[N>>2]|0)!=0){p=(c[ka>>2]|0)+44|0;q=(c[p>>2]|0)+1|0;c[p>>2]=q;c[R>>2]=q}c[I>>2]=(c[(c[ka>>2]|0)+44>>2]|0)+1;q=(c[ka>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[(c[Y>>2]|0)+34>>1]|0)}if(c[H>>2]|0)xD(c[ka>>2]|0,ga,c[c[Y>>2]>>2]|0);if(c[H>>2]|0)yD(c[ka>>2]|0,c[Y>>2]|0,c[na>>2]|0,c[ba>>2]|0);if(!(Uv(k,c[na>>2]|0)|0)){if(d[(c[Y>>2]|0)+42>>0]&16|0){zD(c[ka>>2]|0,c[la>>2]|0,c[Y>>2]|0,c[ma>>2]|0,c[z>>2]|0,c[ea>>2]|0,c[na>>2]|0,c[V>>2]|0);break}if(!(d[(c[Y>>2]|0)+42>>0]&32)){Xt(c[_>>2]|0,79,0,c[A>>2]|0,c[Q>>2]|0)|0;c[r>>2]=LA(c[ka>>2]|0,c[la>>2]|0,c[na>>2]|0,0,0,1028,c[ca>>2]|0)|0;if(!(c[r>>2]|0))break;c[M>>2]=AD(c[r>>2]|0,u)|0;Wt(c[_>>2]|0,123,c[ba>>2]|0,c[Q>>2]|0)|0;if(!(c[M>>2]|0))Wt(c[_>>2]|0,142,c[A>>2]|0,c[Q>>2]|0)|0;MA(c[r>>2]|0)}else{b[w>>1]=b[(c[aa>>2]|0)+50>>1]|0;c[v>>2]=(c[(c[ka>>2]|0)+44>>2]|0)+1;q=(c[ka>>2]|0)+44|0;c[q>>2]=(c[q>>2]|0)+(b[w>>1]|0);q=(c[ka>>2]|0)+44|0;p=(c[q>>2]|0)+1|0;c[q>>2]=p;c[S>>2]=p;p=(c[ka>>2]|0)+40|0;q=c[p>>2]|0;c[p>>2]=q+1;c[ia>>2]=q;Wt(c[_>>2]|0,79,0,c[v>>2]|0)|0;c[x>>2]=Wt(c[_>>2]|0,107,c[ia>>2]|0,b[w>>1]|0)|0;ox(c[ka>>2]|0,c[aa>>2]|0);c[r>>2]=LA(c[ka>>2]|0,c[la>>2]|0,c[na>>2]|0,0,0,4,c[ca>>2]|0)|0;if(!(c[r>>2]|0))break;c[M>>2]=AD(c[r>>2]|0,u)|0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[w>>1]|0))break;Zx(c[_>>2]|0,c[Y>>2]|0,c[ba>>2]|0,b[(c[(c[aa>>2]|0)+4>>2]|0)+(c[X>>2]<<1)>>1]|0,(c[v>>2]|0)+(c[X>>2]|0)|0);c[X>>2]=(c[X>>2]|0)+1}f=c[_>>2]|0;if(c[M>>2]|0){Xx(f,c[x>>2]|0)|0;c[P>>2]=b[w>>1];c[S>>2]=c[v>>2]}else{p=c[v>>2]|0;q=b[w>>1]|0;v=c[S>>2]|0;x=Iz(c[da>>2]|0,c[aa>>2]|0)|0;_t(f,99,p,q,v,x,b[w>>1]|0)|0;Wt(c[_>>2]|0,126,c[ia>>2]|0,c[S>>2]|0)|0}MA(c[r>>2]|0)}if(c[(c[da>>2]|0)+24>>2]&128|0?(c[(c[ka>>2]|0)+128>>2]|0)==0:0){w=(c[ka>>2]|0)+44|0;x=(c[w>>2]|0)+1|0;c[w>>2]=x;c[ja>>2]=x;Wt(c[_>>2]|0,76,0,c[ja>>2]|0)|0}c[ha>>2]=qx(c[_>>2]|0)|0;if(!(c[H>>2]|0)){c:do if((c[V>>2]|0)==5)GR(c[fa>>2]|0,1,(c[s>>2]|0)+1|0)|0;else{c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break c;if((d[(c[$>>2]|0)+54>>0]|0)==5)break;c[$>>2]=c[(c[$>>2]|0)+20>>2]}GR(c[fa>>2]|0,1,(c[s>>2]|0)+1|0)|0}while(0);do if(c[M>>2]|0){if((c[u>>2]|0)>=0)a[(c[fa>>2]|0)+((c[u>>2]|0)-(c[t>>2]|0))>>0]=0;if((c[u+4>>2]|0)<0)break;a[(c[fa>>2]|0)+((c[u+4>>2]|0)-(c[t>>2]|0))>>0]=0}while(0);Lz(c[ka>>2]|0,c[Y>>2]|0,105,0,c[t>>2]|0,c[fa>>2]|0,0,0)|0}do if(!(c[M>>2]|0)){f=c[_>>2]|0;if(c[aa>>2]|0){c[W>>2]=qx(f)|0;Wt(c[_>>2]|0,57,c[ia>>2]|0,c[ha>>2]|0)|0;c[Z>>2]=Wt(c[_>>2]|0,121,c[ia>>2]|0,c[S>>2]|0)|0;Fx(c[_>>2]|0,30,c[ba>>2]|0,c[W>>2]|0,c[S>>2]|0,0)|0;break}else{c[W>>2]=Xt(f,62,c[A>>2]|0,c[ha>>2]|0,c[Q>>2]|0)|0;Xt(c[_>>2]|0,33,c[ba>>2]|0,c[W>>2]|0,c[Q>>2]|0)|0;break}}else{if(!(c[H>>2]|0?1:(d[(c[fa>>2]|0)+((c[ba>>2]|0)-(c[t>>2]|0))>>0]|0)==0))Fx(c[_>>2]|0,30,c[ba>>2]|0,c[ha>>2]|0,c[S>>2]|0,c[P>>2]|0)|0;c[W>>2]=c[ha>>2];Wt(c[_>>2]|0,34,c[aa>>2]|0?c[S>>2]|0:c[Q>>2]|0,c[ha>>2]|0)|0}while(0);if(a[C>>0]|0){ay(c[ka>>2]|0,c[z>>2]|0,c[R>>2]|0);kx(c[_>>2]|0,17,c[R>>2]|0)|0}do if((d[y>>0]|0)!=0|(c[N>>2]|0)!=0|(c[O>>2]|0)!=0){if(c[N>>2]|0)f=KC(c[ka>>2]|0,c[Y>>2]|0)|0;else f=0;c[G>>2]=f;A=JC(c[ka>>2]|0,c[O>>2]|0,c[ma>>2]|0,0,3,c[Y>>2]|0,c[V>>2]|0)|0;c[G>>2]=c[G>>2]|A;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;do if((c[G>>2]|0)==-1)J=120;else{if((c[X>>2]|0)<32?c[G>>2]&1<>2]|0:0){J=120;break}if(d[(c[(c[Y>>2]|0)+4>>2]|0)+(c[X>>2]<<4)+15>>0]&1|0){J=120;break}Wt(c[_>>2]|0,79,0,(c[F>>2]|0)+(c[X>>2]|0)|0)|0}while(0);if((J|0)==120){J=0;Zx(c[_>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[X>>2]|0,(c[F>>2]|0)+(c[X>>2]|0)|0)}c[X>>2]=(c[X>>2]|0)+1}if(!((d[C>>0]|0)==0&(c[aa>>2]|0)==0))break;Wt(c[_>>2]|0,84,c[Q>>2]|0,c[R>>2]|0)|0}while(0);c[E>>2]=JC(c[ka>>2]|0,c[O>>2]|0,c[ma>>2]|0,1,1,c[Y>>2]|0,c[V>>2]|0)|0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break;d:do if((c[X>>2]|0)==(b[(c[Y>>2]|0)+32>>1]|0))Wt(c[_>>2]|0,79,0,(c[I>>2]|0)+(c[X>>2]|0)|0)|0;else{c[B>>2]=c[(c[ea>>2]|0)+(c[X>>2]<<2)>>2];if((c[B>>2]|0)>=0){ay(c[ka>>2]|0,c[(c[(c[ma>>2]|0)+4>>2]|0)+((c[B>>2]|0)*20|0)>>2]|0,(c[I>>2]|0)+(c[X>>2]|0)|0);break}do if(!((c[X>>2]|0)>31?1:0==(c[D>>2]&1|0))){if(c[E>>2]&1<>2]|0)break;Wt(c[_>>2]|0,79,0,(c[I>>2]|0)+(c[X>>2]|0)|0)|0;break d}while(0);qB(c[ka>>2]|0,c[Y>>2]|0,c[X>>2]|0,c[ba>>2]|0,(c[I>>2]|0)+(c[X>>2]|0)|0)}while(0);c[X>>2]=(c[X>>2]|0)+1}e:do if(c[D>>2]&1|0){uA(c[_>>2]|0,c[Y>>2]|0,c[I>>2]|0);vA(c[ka>>2]|0,c[O>>2]|0,110,c[ma>>2]|0,1,c[Y>>2]|0,c[Q>>2]|0,c[V>>2]|0,c[W>>2]|0);f=c[_>>2]|0;g=c[ba>>2]|0;h=c[W>>2]|0;if(c[aa>>2]|0)Fx(f,30,g,h,c[S>>2]|0,c[P>>2]|0)|0;else Xt(f,33,g,h,c[Q>>2]|0)|0;c[X>>2]=0;while(1){if((c[X>>2]|0)>=(b[(c[Y>>2]|0)+34>>1]|0))break e;do if((c[(c[ea>>2]|0)+(c[X>>2]<<2)>>2]|0)<0){if((c[X>>2]|0)==(b[(c[Y>>2]|0)+32>>1]|0))break;Zx(c[_>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[X>>2]|0,(c[I>>2]|0)+(c[X>>2]|0)|0)}while(0);c[X>>2]=(c[X>>2]|0)+1}}while(0);do if(!(c[H>>2]|0)){c[T>>2]=0;c[U>>2]=0;zA(c[ka>>2]|0,c[Y>>2]|0,c[K>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[R>>2]|0,c[Q>>2]|0,a[L>>0]|0,c[V>>2]&255,c[W>>2]|0,U,c[ea>>2]|0);if(c[N>>2]|0)AA(c[ka>>2]|0,c[Y>>2]|0,c[Q>>2]|0,0,c[ea>>2]|0,d[L>>0]|0);if(!(!(c[U>>2]|0)?!(d[L>>0]|0):0))J=151;do if((J|0)==151){f=c[_>>2]|0;g=c[ba>>2]|0;if(c[aa>>2]|0){c[T>>2]=Fx(f,30,g,0,c[S>>2]|0,c[P>>2]|0)|0;break}else{c[T>>2]=Xt(f,33,g,0,c[Q>>2]|0)|0;break}}while(0);IC(c[ka>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[K>>2]|0,-1);if(!(!(c[N>>2]|0)?!((d[L>>0]|0)!=0|(c[aa>>2]|0)!=0):0))Wt(c[_>>2]|0,117,c[ba>>2]|0,0)|0;if(!(!(c[U>>2]|0)?!(d[L>>0]|0):0))tx(c[_>>2]|0,c[T>>2]|0);if(c[N>>2]|0)AA(c[ka>>2]|0,c[Y>>2]|0,0,c[R>>2]|0,c[ea>>2]|0,d[L>>0]|0);BA(c[ka>>2]|0,c[Y>>2]|0,c[ba>>2]|0,c[ca>>2]|0,c[R>>2]|0,c[K>>2]|0,1,0,0);if(!(c[N>>2]|0))break;LC(c[ka>>2]|0,c[Y>>2]|0,c[ma>>2]|0,c[Q>>2]|0,c[ea>>2]|0,d[L>>0]|0)}while(0);do if(c[(c[da>>2]|0)+24>>2]&128|0){if(c[(c[ka>>2]|0)+128>>2]|0)break;Wt(c[_>>2]|0,91,c[ja>>2]|0,1)|0}while(0);vA(c[ka>>2]|0,c[O>>2]|0,110,c[ma>>2]|0,2,c[Y>>2]|0,c[Q>>2]|0,c[V>>2]|0,c[W>>2]|0);do if(!(c[M>>2]|0)){g=c[_>>2]|0;f=c[W>>2]|0;if(c[aa>>2]|0){ux(g,f);Wt(c[_>>2]|0,7,c[ia>>2]|0,c[Z>>2]|0)|0;break}else{sx(g,f)|0;break}}while(0);ux(c[_>>2]|0,c[ha>>2]|0);c[X>>2]=0;c[$>>2]=c[(c[Y>>2]|0)+8>>2];while(1){if(!(c[$>>2]|0))break;if(a[(c[fa>>2]|0)+((c[X>>2]|0)+1)>>0]|0)Wt(c[_>>2]|0,111,(c[ca>>2]|0)+(c[X>>2]|0)|0,0)|0;c[$>>2]=c[(c[$>>2]|0)+20>>2];c[X>>2]=(c[X>>2]|0)+1}if((c[ba>>2]|0)<(c[ca>>2]|0))Wt(c[_>>2]|0,111,c[ba>>2]|0,0)|0;do if(!(d[(c[ka>>2]|0)+18>>0]|0)){if(c[(c[ka>>2]|0)+128>>2]|0)break;CA(c[ka>>2]|0)}while(0);if(!(c[(c[da>>2]|0)+24>>2]&128))break;if(c[(c[ka>>2]|0)+128>>2]|0)break;if(a[(c[ka>>2]|0)+18>>0]|0)break;Wt(c[_>>2]|0,87,c[ja>>2]|0,1)|0;Xr(c[_>>2]|0,1);Yr(c[_>>2]|0,0,0,31662,0)|0}}}}while(0);BD(ga);Hd(c[da>>2]|0,c[ea>>2]|0);fk(c[da>>2]|0,c[la>>2]|0);_j(c[da>>2]|0,c[ma>>2]|0);ck(c[da>>2]|0,c[na>>2]|0);l=oa;return}function Ys(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;j=r+40|0;k=r+36|0;m=r+32|0;n=r+28|0;o=r+24|0;p=r+20|0;g=r+16|0;h=r+12|0;i=r+8|0;c[j>>2]=a;c[k>>2]=b;c[m>>2]=e;c[n>>2]=f;c[o>>2]=c[c[j>>2]>>2];if(c[k>>2]|0)a=c[c[k>>2]>>2]|0;else a=0;c[h>>2]=a;do if(!((c[m>>2]|0)==0|(c[n>>2]|0)==0)){c[p>>2]=xw(c[n>>2]|0)|0;if((c[(c[m>>2]|0)+4>>2]|0)!=(c[p>>2]|0)){j=c[j>>2]|0;p=c[p>>2]|0;c[q>>2]=c[(c[m>>2]|0)+4>>2];c[q+4>>2]=p;Ck(j,31613,q);break}c[g>>2]=0;while(1){if((c[g>>2]|0)>=(c[p>>2]|0))break;c[i>>2]=wC(c[j>>2]|0,c[n>>2]|0,c[g>>2]|0)|0;c[k>>2]=Ks(c[j>>2]|0,c[k>>2]|0,c[i>>2]|0)|0;if(c[k>>2]|0){c[(c[(c[k>>2]|0)+4>>2]|0)+(((c[c[k>>2]>>2]|0)-1|0)*20|0)+4>>2]=c[(c[c[m>>2]>>2]|0)+(c[g>>2]<<3)>>2];c[(c[c[m>>2]>>2]|0)+(c[g>>2]<<3)>>2]=0}c[g>>2]=(c[g>>2]|0)+1}if((c[k>>2]|0?(d[c[n>>2]>>0]|0|0)==119:0)?c[(c[(c[k>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0:0){c[(c[(c[(c[k>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0)+16>>2]=c[n>>2];c[n>>2]=0}}while(0);ck(c[o>>2]|0,c[n>>2]|0);hk(c[o>>2]|0,c[m>>2]|0);l=r;return c[k>>2]|0}function Zs(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0;oa=l;l=l+304|0;D=oa+32|0;C=oa+16|0;B=oa;fa=oa+284|0;ka=oa+280|0;la=oa+276|0;ma=oa+272|0;na=oa+268|0;F=oa+264|0;G=oa+260|0;j=oa+256|0;H=oa+252|0;I=oa+248|0;J=oa+244|0;K=oa+240|0;L=oa+236|0;M=oa+232|0;N=oa+228|0;O=oa+224|0;P=oa+220|0;Q=oa+216|0;R=oa+212|0;S=oa+208|0;T=oa+204|0;U=oa+200|0;k=oa+176|0;m=oa+172|0;V=oa+291|0;W=oa+290|0;n=oa+289|0;o=oa+288|0;X=oa+168|0;Y=oa+164|0;Z=oa+160|0;_=oa+156|0;$=oa+152|0;aa=oa+148|0;ba=oa+144|0;ca=oa+140|0;da=oa+136|0;ea=oa+132|0;p=oa+128|0;q=oa+124|0;r=oa+120|0;s=oa+116|0;t=oa+112|0;u=oa+108|0;v=oa+104|0;w=oa+72|0;x=oa+68|0;y=oa+64|0;z=oa+60|0;A=oa+56|0;ga=oa+52|0;ha=oa+48|0;ia=oa+44|0;ja=oa+40|0;c[fa>>2]=e;c[ka>>2]=f;c[la>>2]=g;c[ma>>2]=h;c[na>>2]=i;c[N>>2]=0;c[O>>2]=0;c[P>>2]=0;c[Q>>2]=-1;c[S>>2]=0;c[T>>2]=0;c[U>>2]=0;a[V>>0]=0;a[W>>0]=0;c[X>>2]=0;c[Y>>2]=0;c[Z>>2]=0;c[_>>2]=0;c[ca>>2]=0;c[F>>2]=c[c[fa>>2]>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=0;a:do if((c[(c[fa>>2]|0)+36>>2]|0)==0?(d[(c[F>>2]|0)+69>>0]|0)==0:0){if((c[la>>2]|0?c[(c[la>>2]|0)+8>>2]&512|0:0)?(c[(c[la>>2]|0)+48>>2]|0)==0:0){c[X>>2]=c[c[la>>2]>>2];c[c[la>>2]>>2]=0;Zj(c[F>>2]|0,c[la>>2]|0);c[la>>2]=0}c[j>>2]=c[(c[ka>>2]|0)+8+8>>2];if(((((c[j>>2]|0?(c[G>>2]=hz(c[fa>>2]|0,c[ka>>2]|0)|0,c[G>>2]|0):0)?(c[m>>2]=Nt(c[F>>2]|0,c[(c[G>>2]|0)+64>>2]|0)|0,(Ot(c[fa>>2]|0,18,c[c[G>>2]>>2]|0,0,c[(c[(c[F>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0)==0):0)?(a[n>>0]=((d[(c[G>>2]|0)+42>>0]&32|0)==0^1)&1,c[ea>>2]=mA(c[fa>>2]|0,c[G>>2]|0,108,0,p)|0,c[da>>2]=(c[(c[G>>2]|0)+12>>2]|0)!=0&1,(kv(c[fa>>2]|0,c[G>>2]|0)|0)==0):0)?(nA(c[fa>>2]|0,c[G>>2]|0,c[p>>2]|0)|0)==0:0)?(c[K>>2]=Rt(c[fa>>2]|0)|0,c[K>>2]|0):0){if(!(d[(c[fa>>2]|0)+18>>0]|0))oA(c[K>>2]|0);iu(c[fa>>2]|0,(c[la>>2]|0?1:(c[ea>>2]|0)!=0)&1,c[m>>2]|0);if(!((c[ma>>2]|0)==0?(pA(c[fa>>2]|0,c[G>>2]|0,c[la>>2]|0,c[na>>2]|0,c[m>>2]|0)|0)!=0:0))E=17;b:do if((E|0)==17){c[Z>>2]=qA(c[fa>>2]|0,c[m>>2]|0,c[G>>2]|0)|0;i=(c[(c[fa>>2]|0)+44>>2]|0)+1|0;c[$>>2]=i;c[aa>>2]=i;i=(c[fa>>2]|0)+44|0;c[i>>2]=(c[i>>2]|0)+((b[(c[G>>2]|0)+34>>1]|0)+1);if(d[(c[G>>2]|0)+42>>0]&16|0){c[aa>>2]=(c[aa>>2]|0)+1;i=(c[fa>>2]|0)+44|0;c[i>>2]=(c[i>>2]|0)+1}c[ba>>2]=(c[aa>>2]|0)+1;a[o>>0]=(d[(c[G>>2]|0)+42>>0]&128|0)==0;c:do if(c[ma>>2]|0){c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break;c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)+4>>2]=-1;c[H>>2]=(c[H>>2]|0)+1}c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break c;c[I>>2]=0;while(1){if((c[I>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;i=(Ig(c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+(c[I>>2]<<4)>>2]|0)|0)==0;e=c[I>>2]|0;if(i){E=28;break}c[I>>2]=e+1}do if((E|0)==28){E=0;c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)+4>>2]=e;if((c[H>>2]|0)!=(c[I>>2]|0))a[o>>0]=0;if((c[I>>2]|0)!=(b[(c[G>>2]|0)+32>>1]|0))break;c[Q>>2]=c[H>>2]}while(0);if((c[I>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0)){i=(Cw(c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)>>2]|0)|0)==0;if(i|(a[n>>0]|0)!=0)break;c[Q>>2]=c[H>>2];a[o>>0]=0}c[H>>2]=(c[H>>2]|0)+1}na=c[fa>>2]|0;ja=c[(c[c[ma>>2]>>2]|0)+(c[H>>2]<<3)>>2]|0;c[B>>2]=c[ka>>2];c[B+4>>2]=0;c[B+8>>2]=ja;Ck(na,30767,B);a[(c[fa>>2]|0)+17>>0]=1;break a}while(0);do if(!(c[la>>2]|0)){c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;c[w>>2]=c[fa>>2];c[S>>2]=-1;if(c[X>>2]|0){c[M>>2]=c[c[X>>2]>>2];if(Vv(w,c[X>>2]|0)|0)break a;else break}else{c[M>>2]=0;break}}else{w=(c[fa>>2]|0)+44|0;B=(c[w>>2]|0)+1|0;c[w>>2]=B;c[q>>2]=B;c[r>>2]=(Vu(c[K>>2]|0)|0)+1;Xt(c[K>>2]|0,15,c[q>>2]|0,0,c[r>>2]|0)|0;Gy(k,13,c[q>>2]|0);c[k+12>>2]=d[o>>0]|0?c[ba>>2]|0:0;c[k+16>>2]=b[(c[G>>2]|0)+34>>1];c[s>>2]=Gs(c[fa>>2]|0,c[la>>2]|0,k)|0;c[Y>>2]=c[k+12>>2];if(c[s>>2]|0)break a;if(d[(c[F>>2]|0)+69>>0]|0)break a;if(c[(c[fa>>2]|0)+36>>2]|0)break a;rA(c[K>>2]|0,c[q>>2]|0);tx(c[K>>2]|0,(c[r>>2]|0)-1|0);c[M>>2]=c[c[c[la>>2]>>2]>>2];if(!(!(c[ea>>2]|0)?!(sA(c[fa>>2]|0,c[m>>2]|0,c[G>>2]|0)|0):0))a[V>>0]=1;if(!(a[V>>0]|0))break;w=(c[fa>>2]|0)+40|0;B=c[w>>2]|0;c[w>>2]=B+1;c[S>>2]=B;c[t>>2]=Uu(c[fa>>2]|0)|0;c[u>>2]=Uu(c[fa>>2]|0)|0;Wt(c[K>>2]|0,107,c[S>>2]|0,c[M>>2]|0)|0;c[v>>2]=kx(c[K>>2]|0,16,c[k+8>>2]|0)|0;Xt(c[K>>2]|0,99,c[Y>>2]|0,c[M>>2]|0,c[t>>2]|0)|0;Wt(c[K>>2]|0,114,c[S>>2]|0,c[u>>2]|0)|0;Xt(c[K>>2]|0,115,c[S>>2]|0,c[t>>2]|0,c[u>>2]|0)|0;sx(c[K>>2]|0,c[v>>2]|0)|0;tx(c[K>>2]|0,c[v>>2]|0);Wu(c[fa>>2]|0,c[t>>2]|0);Wu(c[fa>>2]|0,c[u>>2]|0)}while(0);if((c[ma>>2]|0)==0&(c[M>>2]|0)>0)c[Q>>2]=b[(c[G>>2]|0)+32>>1];c[H>>2]=0;while(1){if((c[H>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;c[N>>2]=(c[N>>2]|0)+(d[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+15>>0]&2|0?1:0);c[H>>2]=(c[H>>2]|0)+1}if((c[ma>>2]|0)==0&(c[M>>2]|0)!=0?(c[M>>2]|0)!=((b[(c[G>>2]|0)+34>>1]|0)-(c[N>>2]|0)|0):0){na=c[fa>>2]|0;ia=(b[(c[G>>2]|0)+34>>1]|0)-(c[N>>2]|0)|0;ja=c[M>>2]|0;c[C>>2]=c[ka>>2];c[C+4>>2]=0;c[C+8>>2]=ia;c[C+12>>2]=ja;Ck(na,30799,C);break a}do if(c[ma>>2]|0){if((c[M>>2]|0)==(c[(c[ma>>2]|0)+4>>2]|0))break;na=c[fa>>2]|0;ja=c[(c[ma>>2]|0)+4>>2]|0;c[D>>2]=c[M>>2];c[D+4>>2]=ja;Ck(na,30851,D);break a}while(0);if(c[(c[F>>2]|0)+24>>2]&128|0){C=(c[fa>>2]|0)+44|0;D=(c[C>>2]|0)+1|0;c[C>>2]=D;c[_>>2]=D;Wt(c[K>>2]|0,76,0,c[_>>2]|0)|0}d:do if(!(c[da>>2]|0)){c[x>>2]=Lz(c[fa>>2]|0,c[G>>2]|0,105,0,-1,0,O,P)|0;c[ca>>2]=od(c[F>>2]|0,(c[x>>2]|0)+1<<2,0)|0;if(!(c[ca>>2]|0))break a;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(c[x>>2]|0))break d;C=(c[fa>>2]|0)+44|0;D=(c[C>>2]|0)+1|0;c[C>>2]=D;c[(c[ca>>2]|0)+(c[H>>2]<<2)>>2]=D;c[H>>2]=(c[H>>2]|0)+1}}while(0);do if(a[V>>0]|0){c[T>>2]=kx(c[K>>2]|0,57,c[S>>2]|0)|0;c[U>>2]=Vu(c[K>>2]|0)|0}else{if(!(c[la>>2]|0))break;D=kx(c[K>>2]|0,16,c[k+8>>2]|0)|0;c[U>>2]=D;c[T>>2]=D}while(0);c[R>>2]=qx(c[K>>2]|0)|0;if(c[p>>2]&1|0){c[y>>2]=Sx(c[fa>>2]|0,(b[(c[G>>2]|0)+34>>1]|0)+1|0)|0;if((c[Q>>2]|0)<0)Wt(c[K>>2]|0,76,-1,c[y>>2]|0)|0;else{if(a[V>>0]|0)Xt(c[K>>2]|0,96,c[S>>2]|0,c[Q>>2]|0,c[y>>2]|0)|0;else ay(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)>>2]|0,c[y>>2]|0);c[z>>2]=kx(c[K>>2]|0,35,c[y>>2]|0)|0;Wt(c[K>>2]|0,76,-1,c[y>>2]|0)|0;tx(c[K>>2]|0,c[z>>2]|0);kx(c[K>>2]|0,17,c[y>>2]|0)|0}c[I>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;e:do if(c[ma>>2]|0){c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break e;if((c[(c[c[ma>>2]>>2]|0)+(c[I>>2]<<3)+4>>2]|0)==(c[H>>2]|0))break e;c[I>>2]=(c[I>>2]|0)+1}}while(0);do if((a[V>>0]|0)!=0|(c[X>>2]|0)!=0){if(c[ma>>2]|0?(c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0):0){E=90;break}if(a[V>>0]|0){Xt(c[K>>2]|0,96,c[S>>2]|0,c[I>>2]|0,(c[y>>2]|0)+(c[H>>2]|0)+1|0)|0;break}else{tA(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2]|0,(c[y>>2]|0)+(c[H>>2]|0)+1|0);break}}else E=90;while(0);if((E|0)==90){E=0;ay(c[fa>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+4>>2]|0,(c[y>>2]|0)+(c[H>>2]|0)+1|0)}if(!(c[ma>>2]|0))c[I>>2]=(c[I>>2]|0)+1;c[H>>2]=(c[H>>2]|0)+1}if(!(c[da>>2]|0))uA(c[K>>2]|0,c[G>>2]|0,(c[y>>2]|0)+1|0);vA(c[fa>>2]|0,c[ea>>2]|0,108,0,1,c[G>>2]|0,(c[y>>2]|0)-(b[(c[G>>2]|0)+34>>1]|0)-1|0,c[na>>2]|0,c[R>>2]|0);Vx(c[fa>>2]|0,c[y>>2]|0,(b[(c[G>>2]|0)+34>>1]|0)+1|0)}do if(!(c[da>>2]|0)){if(d[(c[G>>2]|0)+42>>0]&16|0)Wt(c[K>>2]|0,79,0,c[$>>2]|0)|0;f:do if((c[Q>>2]|0)>=0){do if(a[V>>0]|0)Xt(c[K>>2]|0,96,c[S>>2]|0,c[Q>>2]|0,c[aa>>2]|0)|0;else{if(c[la>>2]|0){Wt(c[K>>2]|0,84,(c[Y>>2]|0)+(c[Q>>2]|0)|0,c[aa>>2]|0)|0;break}ay(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[Q>>2]|0)*20|0)>>2]|0,c[aa>>2]|0);c[A>>2]=Ax(c[K>>2]|0,-1)|0;if(!(c[A>>2]|0))break;if((d[c[A>>2]>>0]|0)!=79)break;if(d[(c[G>>2]|0)+42>>0]&16|0)break;a[W>>0]=1;a[c[A>>2]>>0]=114;c[(c[A>>2]|0)+4>>2]=c[O>>2];c[(c[A>>2]|0)+8>>2]=c[aa>>2];c[(c[A>>2]|0)+12>>2]=c[Z>>2]}while(0);if(a[W>>0]|0)break;e=c[K>>2]|0;if(d[(c[G>>2]|0)+42>>0]&16|0){c[ga>>2]=Vu(e)|0;Wt(c[K>>2]|0,34,c[aa>>2]|0,(c[ga>>2]|0)+2|0)|0}else{c[ga>>2]=kx(e,35,c[aa>>2]|0)|0;Xt(c[K>>2]|0,114,c[O>>2]|0,c[aa>>2]|0,c[Z>>2]|0)|0;tx(c[K>>2]|0,c[ga>>2]|0)}kx(c[K>>2]|0,17,c[aa>>2]|0)|0}else{do if(!(d[(c[G>>2]|0)+42>>0]&16)){if(d[n>>0]|0)break;Xt(c[K>>2]|0,114,c[O>>2]|0,c[aa>>2]|0,c[Z>>2]|0)|0;a[W>>0]=1;break f}while(0);Wt(c[K>>2]|0,79,0,c[aa>>2]|0)|0}while(0);wA(c[fa>>2]|0,c[Z>>2]|0,c[aa>>2]|0);c[N>>2]=0;c[H>>2]=0;while(1){if((c[H>>2]|0)>=(b[(c[G>>2]|0)+34>>1]|0))break;c[ha>>2]=(c[aa>>2]|0)+1+(c[H>>2]|0);g:do if((c[H>>2]|0)==(b[(c[G>>2]|0)+32>>1]|0))kx(c[K>>2]|0,80,c[ha>>2]|0)|0;else{h:do if(!(c[ma>>2]|0))if(d[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+15>>0]&2|0){c[I>>2]=-1;c[N>>2]=(c[N>>2]|0)+1;break}else{c[I>>2]=(c[H>>2]|0)-(c[N>>2]|0);break}else{c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0))break h;if((c[(c[c[ma>>2]>>2]|0)+(c[I>>2]<<3)+4>>2]|0)==(c[H>>2]|0))break h;c[I>>2]=(c[I>>2]|0)+1}}while(0);do if(!((c[I>>2]|0)<0|(c[M>>2]|0)==0)){if(c[ma>>2]|0?(c[I>>2]|0)>=(c[(c[ma>>2]|0)+4>>2]|0):0)break;if(a[V>>0]|0){Xt(c[K>>2]|0,96,c[S>>2]|0,c[I>>2]|0,c[ha>>2]|0)|0;break g}if(!(c[la>>2]|0)){ay(c[fa>>2]|0,c[(c[(c[X>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)>>2]|0,c[ha>>2]|0);break g}if((c[Y>>2]|0)==(c[ba>>2]|0))break g;Wt(c[K>>2]|0,85,(c[Y>>2]|0)+(c[I>>2]|0)|0,c[ha>>2]|0)|0;break g}while(0);xA(c[fa>>2]|0,c[(c[(c[G>>2]|0)+4>>2]|0)+(c[H>>2]<<4)+4>>2]|0,c[ha>>2]|0)}while(0);c[H>>2]=(c[H>>2]|0)+1}if(d[(c[G>>2]|0)+42>>0]&16|0){c[ia>>2]=lv(c[F>>2]|0,c[G>>2]|0)|0;yA(c[fa>>2]|0,c[G>>2]|0);_t(c[K>>2]|0,12,1,(b[(c[G>>2]|0)+34>>1]|0)+2|0,c[$>>2]|0,c[ia>>2]|0,-10)|0;px(c[K>>2]|0,((c[na>>2]|0)==10?2:c[na>>2]|0)&255);mv(c[fa>>2]|0);break}else{zA(c[fa>>2]|0,c[G>>2]|0,c[ca>>2]|0,c[O>>2]|0,c[P>>2]|0,c[$>>2]|0,0,(c[Q>>2]|0)>=0&255,c[na>>2]&255,c[R>>2]|0,ja,0);AA(c[fa>>2]|0,c[G>>2]|0,0,c[$>>2]|0,0,0);BA(c[fa>>2]|0,c[G>>2]|0,c[O>>2]|0,c[P>>2]|0,c[$>>2]|0,c[ca>>2]|0,0,d[W>>0]|0,(c[ja>>2]|0)==0&1);break}}while(0);if(c[(c[F>>2]|0)+24>>2]&128|0)Wt(c[K>>2]|0,91,c[_>>2]|0,1)|0;if(c[ea>>2]|0)vA(c[fa>>2]|0,c[ea>>2]|0,108,0,2,c[G>>2]|0,(c[ba>>2]|0)-2-(b[(c[G>>2]|0)+34>>1]|0)|0,c[na>>2]|0,c[R>>2]|0);ux(c[K>>2]|0,c[R>>2]|0);do if(a[V>>0]|0){Wt(c[K>>2]|0,7,c[S>>2]|0,c[U>>2]|0)|0;tx(c[K>>2]|0,c[T>>2]|0);kx(c[K>>2]|0,111,c[S>>2]|0)|0}else{if(!(c[la>>2]|0))break;sx(c[K>>2]|0,c[U>>2]|0)|0;tx(c[K>>2]|0,c[T>>2]|0)}while(0);if(c[da>>2]|0?1:(d[(c[G>>2]|0)+42>>0]&16|0)!=0)break;if((c[O>>2]|0)<(c[P>>2]|0))kx(c[K>>2]|0,111,c[O>>2]|0)|0;c[J>>2]=0;c[L>>2]=c[(c[G>>2]|0)+8>>2];while(1){if(!(c[L>>2]|0))break b;kx(c[K>>2]|0,111,(c[J>>2]|0)+(c[P>>2]|0)|0)|0;c[L>>2]=c[(c[L>>2]|0)+20>>2];c[J>>2]=(c[J>>2]|0)+1}}while(0);if((d[(c[fa>>2]|0)+18>>0]|0)==0?(c[(c[fa>>2]|0)+128>>2]|0)==0:0)CA(c[fa>>2]|0);if((c[(c[F>>2]|0)+24>>2]&128|0?(a[(c[fa>>2]|0)+18>>0]|0)==0:0)?(c[(c[fa>>2]|0)+128>>2]|0)==0:0){Wt(c[K>>2]|0,87,c[_>>2]|0,1)|0;Xr(c[K>>2]|0,1);Yr(c[K>>2]|0,0,0,30876,0)|0}}}while(0);fk(c[F>>2]|0,c[ka>>2]|0);_j(c[F>>2]|0,c[X>>2]|0);Zj(c[F>>2]|0,c[la>>2]|0);hk(c[F>>2]|0,c[ma>>2]|0);Hd(c[F>>2]|0,c[ca>>2]|0);l=oa;return}function _s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;f=j+16|0;e=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[g>>2]=b;c[h>>2]=d;if((c[g>>2]|0)==0?(c[g>>2]=jl(c[e>>2]|0,8,0)|0,(c[g>>2]|0)==0):0){c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}a=lA(c[e>>2]|0,c[c[g>>2]>>2]|0,8,(c[g>>2]|0)+4|0,i)|0;c[c[g>>2]>>2]=a;a=c[e>>2]|0;if((c[i>>2]|0)<0){hk(a,c[g>>2]|0);c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}else{h=Kt(a,c[h>>2]|0)|0;c[(c[c[g>>2]>>2]|0)+(c[i>>2]<<3)>>2]=h;c[f>>2]=c[g>>2];i=c[f>>2]|0;l=j;return i|0}return 0}function $s(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;f=e+8|0;h=e+4|0;g=e;c[f>>2]=a;c[h>>2]=b;c[g>>2]=d;c[(c[f>>2]|0)+4>>2]=c[c[h>>2]>>2];c[(c[f>>2]|0)+8>>2]=(c[c[g>>2]>>2]|0)+(c[(c[g>>2]|0)+4>>2]|0);l=e;return}function at(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;i=q+24|0;j=q+20|0;m=q+16|0;n=q+12|0;o=q+8|0;p=q+4|0;k=q;c[i>>2]=e;c[j>>2]=f;c[m>>2]=g;c[n>>2]=h;c[p>>2]=0;c[k>>2]=0;do if(c[m>>2]|0){if(((c[j>>2]|0)==134?c[c[m>>2]>>2]|0:0)?Nf(c[c[m>>2]>>2]|0,k)|0:0)break;c[p>>2]=(c[(c[m>>2]|0)+4>>2]|0)+1}while(0);c[o>>2]=od(c[i>>2]|0,48+(c[p>>2]|0)|0,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;l=q;return p|0}e=c[o>>2]|0;f=e+48|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[c[o>>2]>>0]=c[j>>2];b[(c[o>>2]|0)+34>>1]=-1;do if(c[m>>2]|0){e=c[o>>2]|0;if(!(c[p>>2]|0)){p=e+4|0;c[p>>2]=c[p>>2]|1024;c[(c[o>>2]|0)+8>>2]=c[k>>2];break}c[(c[o>>2]|0)+8>>2]=e+48;if(c[(c[m>>2]|0)+4>>2]|0)MR(c[(c[o>>2]|0)+8>>2]|0,c[c[m>>2]>>2]|0,c[(c[m>>2]|0)+4>>2]|0)|0;a[(c[(c[o>>2]|0)+8>>2]|0)+(c[(c[m>>2]|0)+4>>2]|0)>>0]=0;if(c[n>>2]|0?d[16965+(d[c[(c[o>>2]|0)+8>>2]>>0]|0)>>0]&128|0:0){if((a[c[(c[o>>2]|0)+8>>2]>>0]|0)==34){p=(c[o>>2]|0)+4|0;c[p>>2]=c[p>>2]|64}Aj(c[(c[o>>2]|0)+8>>2]|0)}}while(0);c[(c[o>>2]|0)+24>>2]=1;p=c[o>>2]|0;l=q;return p|0} +function SE(f){f=f|0;var g=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,O=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,pb=0,qb=0,sb=0,vb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,zd=0,Ad=0,Bd=0,Dd=0,Ed=0,Fd=0,Gd=0,Id=0,Jd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0,ee=0,fe=0,ge=0,he=0,ie=0,je=0,ke=0,le=0,me=0,ne=0,oe=0,pe=0,qe=0,re=0,se=0,te=0,ue=0,ve=0,we=0,xe=0,ye=0,ze=0,Ae=0,Be=0,Ce=0,De=0,Ee=0,Fe=0,Ge=0,He=0,Ie=0,Je=0,Ke=0,Le=0,Me=0,Ne=0,Oe=0,Pe=0,Qe=0,Re=0,Se=0,Te=0,Ue=0,Ve=0,We=0,Xe=0,Ye=0,_e=0,$e=0,af=0,bf=0,cf=0,df=0,ef=0,ff=0,gf=0,hf=0,jf=0,kf=0,lf=0,mf=0,nf=0,of=0,pf=0,qf=0,rf=0,sf=0,tf=0,uf=0,vf=0,wf=0,xf=0,yf=0,zf=0,Af=0.0,Bf=0;yf=l;l=l+1872|0;Ve=yf+536|0;Ue=yf+528|0;Te=yf+520|0;jf=yf+504|0;hf=yf+496|0;ff=yf+488|0;ef=yf+480|0;df=yf+472|0;cf=yf+464|0;bf=yf+456|0;af=yf+440|0;kf=yf+432|0;$e=yf+424|0;_e=yf+416|0;Ye=yf+408|0;Xe=yf+400|0;We=yf+392|0;qf=yf+376|0;pf=yf+368|0;of=yf+360|0;nf=yf+352|0;tf=yf+1656|0;rf=yf+1652|0;sf=yf+1648|0;vf=yf+1644|0;wf=yf+1640|0;gf=yf+1862|0;ne=yf+1861|0;ye=yf+1636|0;xf=yf+1632|0;k=yf+1628|0;w=yf+1624|0;J=yf+1620|0;W=yf+1616|0;fa=yf+1612|0;qa=yf+1608|0;Ba=yf+1604|0;uf=yf+344|0;g=yf+1600|0;eb=yf+1596|0;qb=yf+1592|0;Ib=yf+1588|0;mf=yf+1584|0;bc=yf+1580|0;mc=yf+1670|0;xc=yf+1576|0;Ic=yf+1572|0;Tc=yf+1568|0;dd=yf+1564|0;qd=yf+1560|0;xd=yf+1556|0;zd=yf+1552|0;Ad=yf+336|0;Bd=yf+1860|0;Dd=yf+1668|0;Ed=yf+1666|0;Fd=yf+1664|0;Gd=yf+328|0;Id=yf+320|0;Jd=yf+312|0;Ld=yf+304|0;Md=yf+1548|0;Nd=yf+1544|0;Od=yf+1540|0;Pd=yf+1536|0;Qd=yf+296|0;Rd=yf+288|0;Sd=yf+280|0;Td=yf+1859|0;Ud=yf+1532|0;Vd=yf+1528|0;Wd=yf+1858|0;Xd=yf+1662|0;Yd=yf+1660|0;Zd=yf+1524|0;_d=yf+1520|0;$d=yf+1516|0;ae=yf+1512|0;be=yf+1508|0;ce=yf+1504|0;de=yf+1500|0;ee=yf+1496|0;fe=yf+1492|0;ge=yf+1488|0;he=yf+1484|0;ie=yf+1480|0;je=yf+1476|0;ke=yf+1472|0;le=yf+1468|0;me=yf+1464|0;oe=yf+1460|0;pe=yf+1456|0;qe=yf+240|0;re=yf+1452|0;se=yf+1448|0;te=yf+1444|0;ue=yf+1440|0;ve=yf+232|0;we=yf+1436|0;xe=yf+1432|0;ze=yf+1428|0;Ae=yf+1424|0;Be=yf+1857|0;Ce=yf+1420|0;De=yf+1416|0;Ee=yf+224|0;Fe=yf+1412|0;Ge=yf+216|0;He=yf+208|0;Ie=yf+1408|0;Je=yf+1404|0;Ke=yf+1400|0;Le=yf+1396|0;Me=yf+1392|0;Ne=yf+1388|0;Oe=yf+1384|0;Pe=yf+1380|0;Qe=yf+1376|0;Re=yf+1372|0;Se=yf+200|0;m=yf+1368|0;n=yf+1364|0;o=yf+1360|0;p=yf+1356|0;q=yf+1352|0;r=yf+1348|0;s=yf+1344|0;t=yf+1340|0;u=yf+1336|0;v=yf+1332|0;x=yf+1328|0;lf=yf+1324|0;y=yf+1320|0;C=yf+1316|0;D=yf+1312|0;E=yf+1308|0;F=yf+1304|0;G=yf+1300|0;H=yf+1296|0;I=yf+1292|0;K=yf+1288|0;L=yf+1284|0;M=yf+1280|0;O=yf+1276|0;Q=yf+1272|0;R=yf+1268|0;S=yf+1264|0;T=yf+1260|0;U=yf+1256|0;V=yf+1252|0;X=yf+1248|0;Y=yf+1244|0;Z=yf+1240|0;_=yf+1236|0;$=yf+1232|0;aa=yf+1228|0;ba=yf+1224|0;ca=yf+1208|0;da=yf+1200|0;ea=yf+192|0;ga=yf+1196|0;ha=yf+1192|0;ia=yf+1188|0;ja=yf+1184|0;ka=yf+1180|0;la=yf+1176|0;ma=yf+1172|0;na=yf+1168|0;oa=yf+1152|0;pa=yf+1674|0;ra=yf+1148|0;sa=yf+1144|0;ta=yf+1140|0;ua=yf+184|0;va=yf+176|0;wa=yf+1136|0;xa=yf+1132|0;ya=yf+1128|0;za=yf+1124|0;Aa=yf+1120|0;Ca=yf+1116|0;Da=yf+1112|0;Ea=yf+1108|0;Fa=yf+1104|0;Ga=yf+1100|0;Ha=yf+1096|0;Ia=yf+1092|0;Ja=yf+144|0;Ka=yf+1088|0;La=yf+1084|0;Ma=yf+1080|0;Na=yf+1076|0;Oa=yf+1072|0;Pa=yf+1068|0;Qa=yf+1064|0;Ra=yf+1060|0;Sa=yf+1056|0;Ta=yf+1052|0;Ua=yf+1048|0;Va=yf+1044|0;Wa=yf+136|0;Xa=yf+1040|0;Ya=yf+1036|0;Za=yf+1032|0;_a=yf+1028|0;$a=yf+1024|0;ab=yf+1020|0;bb=yf+1016|0;cb=yf+1012|0;db=yf+1008|0;fb=yf+1004|0;gb=yf+1e3|0;hb=yf+996|0;ib=yf+104|0;jb=yf+992|0;kb=yf+988|0;lb=yf+984|0;mb=yf+968|0;nb=yf+964|0;pb=yf+960|0;sb=yf+96|0;vb=yf+956|0;Ab=yf+952|0;Bb=yf+936|0;Cb=yf+932|0;Db=yf+928|0;Eb=yf+924|0;Fb=yf+920|0;Gb=yf+916|0;Hb=yf+912|0;Jb=yf+908|0;Kb=yf+904|0;Lb=yf+900|0;Mb=yf+896|0;Nb=yf+880|0;Ob=yf+872|0;Pb=yf+868|0;Qb=yf+864|0;Rb=yf+860|0;Sb=yf+856|0;Tb=yf+88|0;Ub=yf+852|0;Vb=yf+848|0;Wb=yf+844|0;Xb=yf+840|0;Yb=yf+836|0;Zb=yf+832|0;_b=yf+828|0;$b=yf+824|0;ac=yf+820|0;cc=yf+816|0;dc=yf+812|0;ec=yf+808|0;fc=yf+804|0;gc=yf+800|0;hc=yf+796|0;ic=yf+792|0;jc=yf+788|0;kc=yf+784|0;lc=yf+48|0;nc=yf+780|0;oc=yf+776|0;pc=yf+764|0;qc=yf+760|0;rc=yf+756|0;sc=yf+752|0;tc=yf+748|0;uc=yf+744|0;vc=yf+740|0;wc=yf+736|0;yc=yf+1673|0;zc=yf+732|0;Ac=yf+728|0;Bc=yf+724|0;Cc=yf+8|0;Dc=yf+720|0;Ec=yf+716|0;Fc=yf+712|0;Gc=yf+708|0;Hc=yf+704|0;Jc=yf+700|0;Kc=yf+696|0;Lc=yf+692|0;Mc=yf+688|0;Nc=yf+684|0;Oc=yf+680|0;Pc=yf+676|0;Qc=yf+672|0;Rc=yf+668|0;Sc=yf+664|0;Uc=yf+660|0;Vc=yf+656|0;Wc=yf+652|0;Xc=yf+648|0;Yc=yf+616|0;Zc=yf+612|0;$c=yf+608|0;ad=yf+604|0;bd=yf+600|0;cd=yf+596|0;ed=yf+592|0;fd=yf+588|0;gd=yf+584|0;id=yf+580|0;jd=yf+576|0;kd=yf+572|0;ld=yf;md=yf+568|0;nd=yf+564|0;pd=yf+1672|0;rd=yf+560|0;sd=yf+556|0;td=yf+552|0;ud=yf+548|0;vd=yf+544|0;wd=yf+540|0;c[tf>>2]=f;c[rf>>2]=c[(c[tf>>2]|0)+88>>2];c[sf>>2]=c[rf>>2];c[vf>>2]=0;c[wf>>2]=c[c[tf>>2]>>2];a[gf>>0]=0;a[ne>>0]=a[(c[wf>>2]|0)+66>>0]|0;c[ye>>2]=0;c[xf>>2]=0;c[k>>2]=0;c[w>>2]=c[(c[tf>>2]|0)+92>>2];c[J>>2]=0;c[W>>2]=0;c[fa>>2]=0;c[qa>>2]=0;c[Ba>>2]=0;zf=(c[wf>>2]|0)+32|0;f=c[zf+4>>2]|0;i=uf;c[i>>2]=c[zf>>2];c[i+4>>2]=f;br(c[tf>>2]|0);a:do if((c[(c[tf>>2]|0)+40>>2]|0)==7)j=887;else{c[(c[tf>>2]|0)+40>>2]=0;zf=(c[tf>>2]|0)+56|0;c[zf>>2]=0;c[zf+4>>2]=0;c[(c[tf>>2]|0)+104>>2]=0;c[(c[wf>>2]|0)+380+8>>2]=0;b:do if(!(c[(c[wf>>2]|0)+248>>2]|0)){if(c[(c[wf>>2]|0)+304>>2]|0){c[g>>2]=c[(c[tf>>2]|0)+156+16>>2];c[k>>2]=(c[(c[wf>>2]|0)+312>>2]|0)-(((c[g>>2]|0)>>>0)%((c[(c[wf>>2]|0)+312>>2]|0)>>>0)|0)}c[sf>>2]=(c[rf>>2]|0)+((c[(c[tf>>2]|0)+36>>2]|0)*20|0);c:while(1){c[xf>>2]=(c[xf>>2]|0)+1;d:do switch(d[c[sf>>2]>>0]|0){case 87:{j=64;break c}case 1:{j=395;break c}case 13:{j=7;break}case 14:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);b[(c[J>>2]|0)+8>>1]=4;zf=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;j=c[J>>2]|0;c[j>>2]=zf;c[j+4>>2]=((zf|0)<0)<<31>>31;j=14;break}case 72:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[sf>>2]=(c[rf>>2]|0)+((c[c[J>>2]>>2]|0)*20|0);b[(c[J>>2]|0)+8>>1]=128;break}case 15:{c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);i=(c[(c[sf>>2]|0)+12>>2]|0)-1|0;zf=c[qa>>2]|0;c[zf>>2]=i;c[zf+4>>2]=((i|0)<0)<<31>>31;b[(c[qa>>2]|0)+8>>1]=4;if(c[(c[sf>>2]|0)+8>>2]|0)j=14;break}case 73:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[eb>>2]=(c[rf>>2]|0)+((c[c[J>>2]>>2]|0)*20|0);c[sf>>2]=(c[rf>>2]|0)+(((c[(c[eb>>2]|0)+8>>2]|0)-1|0)*20|0);b[(c[J>>2]|0)+8>>1]=128;break}case 16:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);b[(c[J>>2]|0)+8>>1]=4;c[qb>>2]=c[c[J>>2]>>2];i=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;zf=c[J>>2]|0;c[zf>>2]=i;c[zf+4>>2]=((i|0)<0)<<31>>31;c[sf>>2]=(c[rf>>2]|0)+((c[qb>>2]|0)*20|0);break}case 74:{c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);if(e[(c[fa>>2]|0)+8>>1]&1|0)j=20;break}case 75:{j=20;break}case 76:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;i=c[(c[sf>>2]|0)+4>>2]|0;zf=c[qa>>2]|0;c[zf>>2]=i;c[zf+4>>2]=((i|0)<0)<<31>>31;break}case 77:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;g=c[(c[sf>>2]|0)+16>>2]|0;i=c[g+4>>2]|0;zf=c[qa>>2]|0;c[zf>>2]=c[g>>2];c[zf+4>>2]=i;break}case 132:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=8;h[c[qa>>2]>>3]=+h[c[(c[sf>>2]|0)+16>>2]>>3];break}case 97:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;a[c[sf>>2]>>0]=78;zf=_c(c[(c[sf>>2]|0)+16>>2]|0)|0;c[(c[sf>>2]|0)+4>>2]=zf;if((d[ne>>0]|0)!=1){c[vf>>2]=Jh(c[qa>>2]|0,c[(c[sf>>2]|0)+16>>2]|0,-1,1,0)|0;if(Vh(c[qa>>2]|0,d[ne>>0]|0)|0){j=887;break a}c[(c[qa>>2]|0)+24>>2]=0;zf=(c[qa>>2]|0)+8|0;b[zf>>1]=e[zf>>1]|2048;if((a[(c[sf>>2]|0)+1>>0]|0)==-1)Hd(c[wf>>2]|0,c[(c[sf>>2]|0)+16>>2]|0);a[(c[sf>>2]|0)+1>>0]=-1;c[(c[sf>>2]|0)+16>>2]=c[(c[qa>>2]|0)+16>>2];c[(c[sf>>2]|0)+4>>2]=c[(c[qa>>2]|0)+12>>2]}if((c[(c[sf>>2]|0)+4>>2]|0)>(c[(c[wf>>2]|0)+96>>2]|0)){j=886;break c}else j=43;break}case 78:{j=43;break}case 79:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;c[bc>>2]=(c[(c[sf>>2]|0)+12>>2]|0)-(c[(c[sf>>2]|0)+8>>2]|0);zf=(c[(c[sf>>2]|0)+4>>2]|0?257:1)&65535;b[mc>>1]=zf;b[(c[qa>>2]|0)+8>>1]=zf;c[(c[qa>>2]|0)+12>>2]=0;while(1){if((c[bc>>2]|0)<=0)break d;c[qa>>2]=(c[qa>>2]|0)+40;Fh(c[qa>>2]|0);b[(c[qa>>2]|0)+8>>1]=b[mc>>1]|0;c[(c[qa>>2]|0)+12>>2]=0;c[bc>>2]=(c[bc>>2]|0)+-1}}case 80:{c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);b[(c[qa>>2]|0)+8>>1]=(e[(c[qa>>2]|0)+8>>1]|1)&-129;break}case 81:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;Jh(c[qa>>2]|0,c[(c[sf>>2]|0)+16>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,0,0)|0;a[(c[qa>>2]|0)+10>>0]=a[ne>>0]|0;break}case 82:{c[xc>>2]=(c[(c[tf>>2]|0)+116>>2]|0)+(((c[(c[sf>>2]|0)+4>>2]|0)-1|0)*40|0);if(XE(c[xc>>2]|0)|0){j=886;break c}c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;Ri(c[qa>>2]|0,c[xc>>2]|0,2048);break}case 83:{c[Ic>>2]=c[(c[sf>>2]|0)+12>>2];c[Tc>>2]=c[(c[sf>>2]|0)+4>>2];c[dd>>2]=c[(c[sf>>2]|0)+8>>2];c[J>>2]=(c[w>>2]|0)+((c[Tc>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[dd>>2]|0)*40|0);do{Rr(c[qa>>2]|0,c[J>>2]|0);if(e[(c[qa>>2]|0)+8>>1]&4096|0?Nh(c[qa>>2]|0)|0:0){j=887;break a}c[J>>2]=(c[J>>2]|0)+40;c[qa>>2]=(c[qa>>2]|0)+40;zf=(c[Ic>>2]|0)+-1|0;c[Ic>>2]=zf}while((zf|0)!=0);break}case 84:{c[qd>>2]=c[(c[sf>>2]|0)+12>>2];c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);while(1){Ri(c[qa>>2]|0,c[J>>2]|0,4096);if(e[(c[qa>>2]|0)+8>>1]&4096|0?Nh(c[qa>>2]|0)|0:0){j=887;break a}zf=c[qd>>2]|0;c[qd>>2]=zf+-1;if(!zf)break d;c[qa>>2]=(c[qa>>2]|0)+40;c[J>>2]=(c[J>>2]|0)+40}}case 85:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);Ri(c[qa>>2]|0,c[J>>2]|0,4096);break}case 86:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);zf=c[J>>2]|0;Dh(c[qa>>2]|0,c[zf>>2]|0,c[zf+4>>2]|0);break}case 52:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[W>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]|e[(c[W>>2]|0)+8>>1])&1|0){Fh(c[qa>>2]|0);break d}if(e[(c[J>>2]|0)+8>>1]&16384|0?Oh(c[J>>2]|0)|0:0){j=887;break a}if(e[(c[W>>2]|0)+8>>1]&16384|0?Oh(c[W>>2]|0)|0:0){j=887;break a}if((e[(c[J>>2]|0)+8>>1]&18|0)==0?Xh(c[J>>2]|0,a[ne>>0]|0,0)|0:0){j=887;break a}if((e[(c[W>>2]|0)+8>>1]&18|0)==0?Xh(c[W>>2]|0,a[ne>>0]|0,0)|0:0){j=887;break a}f=(c[(c[J>>2]|0)+12>>2]|0)+(c[(c[W>>2]|0)+12>>2]|0)|0;i=Ad;c[i>>2]=f;c[i+4>>2]=((f|0)<0)<<31>>31;i=Ad;f=c[i+4>>2]|0;zf=c[(c[wf>>2]|0)+96>>2]|0;g=((zf|0)<0)<<31>>31;if((f|0)>(g|0)|((f|0)==(g|0)?(c[i>>2]|0)>>>0>zf>>>0:0)){j=886;break c}if(Ph(c[qa>>2]|0,(c[Ad>>2]|0)+2|0,(c[qa>>2]|0)==(c[W>>2]|0)&1)|0){j=887;break a}b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|2;if((c[qa>>2]|0)!=(c[W>>2]|0))MR(c[(c[qa>>2]|0)+16>>2]|0,c[(c[W>>2]|0)+16>>2]|0,c[(c[W>>2]|0)+12>>2]|0)|0;MR((c[(c[qa>>2]|0)+16>>2]|0)+(c[(c[W>>2]|0)+12>>2]|0)|0,c[(c[J>>2]|0)+16>>2]|0,c[(c[J>>2]|0)+12>>2]|0)|0;a[(c[(c[qa>>2]|0)+16>>2]|0)+(c[Ad>>2]|0)>>0]=0;i=c[(c[qa>>2]|0)+16>>2]|0;zf=Ad;zf=IR(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;a[i+zf>>0]=0;zf=(c[qa>>2]|0)+8|0;b[zf>>1]=e[zf>>1]|512;c[(c[qa>>2]|0)+12>>2]=c[Ad>>2];a[(c[qa>>2]|0)+10>>0]=a[ne>>0]|0;break}case 51:case 50:case 49:case 48:case 47:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);b[Ed>>1]=YE(c[J>>2]|0)|0;c[W>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);b[Fd>>1]=YE(c[W>>2]|0)|0;c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);b[Dd>>1]=e[(c[J>>2]|0)+8>>1]|e[(c[W>>2]|0)+8>>1];e:do if(!(e[Dd>>1]&1)){f:do if(e[Ed>>1]&e[Fd>>1]&4|0){zf=c[J>>2]|0;i=c[zf+4>>2]|0;g=Gd;c[g>>2]=c[zf>>2];c[g+4>>2]=i;g=c[W>>2]|0;i=c[g+4>>2]|0;zf=Id;c[zf>>2]=c[g>>2];c[zf+4>>2]=i;a[Bd>>0]=1;switch(d[c[sf>>2]>>0]|0){case 47:{zf=Gd;if(li(Id,c[zf>>2]|0,c[zf+4>>2]|0)|0)break f;break}case 48:{zf=Gd;if(ZE(Id,c[zf>>2]|0,c[zf+4>>2]|0)|0)break f;break}case 49:{zf=Gd;if(_E(Id,c[zf>>2]|0,c[zf+4>>2]|0)|0)break f;break}case 50:{zf=Gd;if((c[zf>>2]|0)==0&(c[zf+4>>2]|0)==0)break e;i=Gd;zf=Id;if(((c[i>>2]|0)==-1?(c[i+4>>2]|0)==-1:0)&((c[zf>>2]|0)==0?(c[zf+4>>2]|0)==-2147483648:0))break f;i=Gd;g=Id;zf=Id;c[zf>>2]=LR(c[g>>2]|0,c[g+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;c[zf+4>>2]=z;break}default:{zf=Gd;if((c[zf>>2]|0)==0&(c[zf+4>>2]|0)==0)break e;zf=Gd;if((c[zf>>2]|0)==-1?(c[zf+4>>2]|0)==-1:0){zf=Gd;c[zf>>2]=1;c[zf+4>>2]=0}i=Gd;g=Id;zf=Id;c[zf>>2]=VR(c[g>>2]|0,c[g+4>>2]|0,c[i>>2]|0,c[i+4>>2]|0)|0;c[zf+4>>2]=z}}g=Id;i=c[g+4>>2]|0;zf=c[qa>>2]|0;c[zf>>2]=c[g>>2];c[zf+4>>2]=i;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|4;break d}else a[Bd>>0]=0;while(0);h[Jd>>3]=+ni(c[J>>2]|0);h[Ld>>3]=+ni(c[W>>2]|0);switch(d[c[sf>>2]>>0]|0){case 47:{h[Ld>>3]=+h[Ld>>3]+ +h[Jd>>3];break}case 48:{h[Ld>>3]=+h[Ld>>3]-+h[Jd>>3];break}case 49:{h[Ld>>3]=+h[Ld>>3]*+h[Jd>>3];break}case 50:{if(+h[Jd>>3]==0.0)break e;h[Ld>>3]=+h[Ld>>3]/+h[Jd>>3];break}default:{Af=+h[Jd>>3];zf=+B(Af)>=1.0?(Af>0.0?~~+P(+A(Af/4294967296.0),4294967295.0)>>>0:~~+N((Af-+(~~Af>>>0))/4294967296.0)>>>0):0;i=Gd;c[i>>2]=~~Af>>>0;c[i+4>>2]=zf;Af=+h[Ld>>3];i=+B(Af)>=1.0?(Af>0.0?~~+P(+A(Af/4294967296.0),4294967295.0)>>>0:~~+N((Af-+(~~Af>>>0))/4294967296.0)>>>0):0;zf=Id;c[zf>>2]=~~Af>>>0;c[zf+4>>2]=i;zf=Gd;if((c[zf>>2]|0)==0&(c[zf+4>>2]|0)==0)break e;zf=Gd;if((c[zf>>2]|0)==-1?(c[zf+4>>2]|0)==-1:0){zf=Gd;c[zf>>2]=1;c[zf+4>>2]=0}i=Id;zf=Gd;h[Ld>>3]=+((VR(c[i>>2]|0,c[i+4>>2]|0,c[zf>>2]|0,c[zf+4>>2]|0)|0)>>>0)+4294967296.0*+(z|0)}}if(!(Cd(+h[Ld>>3])|0)){h[c[qa>>2]>>3]=+h[Ld>>3];b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|8;if(a[Bd>>0]|0?1:((e[Ed>>1]|e[Fd>>1])&8|0)!=0)break d;ui(c[qa>>2]|0);break d}}while(0);Fh(c[qa>>2]|0);break}case 88:{if(c[(c[sf>>2]|0)+4>>2]|0)Dh((c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0)|0,0,0);break}case 89:{c[Md>>2]=d[(c[sf>>2]|0)+3>>0];c[Nd>>2]=od(c[wf>>2]|0,32+((c[Md>>2]|0)-1<<2)|0,0)|0;if(!(c[Nd>>2]|0)){j=887;break a}c[c[Nd>>2]>>2]=0;c[(c[Nd>>2]|0)+4>>2]=c[(c[sf>>2]|0)+16>>2];c[(c[Nd>>2]|0)+16>>2]=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;c[(c[Nd>>2]|0)+12>>2]=c[tf>>2];a[(c[Nd>>2]|0)+26>>0]=c[Md>>2];a[(c[sf>>2]|0)+1>>0]=-21;c[(c[sf>>2]|0)+16>>2]=c[Nd>>2];a[c[sf>>2]>>0]=90;j=126;break}case 90:{j=126;break}case 46:case 45:case 44:case 43:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[W>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]|e[(c[W>>2]|0)+8>>1])&1|0){Fh(c[qa>>2]|0);break d}zf=pi(c[W>>2]|0)|0;i=Qd;c[i>>2]=zf;c[i+4>>2]=z;i=pi(c[J>>2]|0)|0;zf=Sd;c[zf>>2]=i;c[zf+4>>2]=z;a[Td>>0]=a[c[sf>>2]>>0]|0;do if((d[Td>>0]|0)!=43){g=Sd;f=c[g>>2]|0;g=c[g+4>>2]|0;if((d[Td>>0]|0)==44){Bf=Qd;i=c[Bf+4>>2]|g;zf=Qd;c[zf>>2]=c[Bf>>2]|f;c[zf+4>>2]=i;break}if((f|0)!=0|(g|0)!=0){if((c[Sd+4>>2]|0)<0){a[Td>>0]=91-(d[Td>>0]|0);zf=Sd;i=c[zf+4>>2]|0;zf=(i|0)>-1|(i|0)==-1&(c[zf>>2]|0)>>>0>4294967232;i=Sd;i=FR(0,0,c[i>>2]|0,c[i+4>>2]|0)|0;Bf=Sd;c[Bf>>2]=zf?i:64;c[Bf+4>>2]=zf?z:0}Bf=Sd;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>=64){Bf=Qd;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>=0)f=1;else f=(d[Td>>0]|0)==45;zf=f?0:-1;Bf=Qd;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break};c[Rd>>2]=c[Qd>>2];c[Rd+4>>2]=c[Qd+4>>2];f=c[Sd>>2]|0;i=Rd;g=c[i>>2]|0;i=c[i+4>>2]|0;if((d[Td>>0]|0)!=45){zf=OR(g|0,i|0,f|0)|0;Bf=Rd;c[Bf>>2]=zf;c[Bf+4>>2]=z;if((c[Qd+4>>2]|0)<0){i=Sd;i=FR(64,0,c[i>>2]|0,c[i+4>>2]|0)|0;i=HR(-1,-1,i|0)|0;g=Rd;zf=c[g+4>>2]|z;Bf=Rd;c[Bf>>2]=c[g>>2]|i;c[Bf+4>>2]=zf}}else{zf=HR(g|0,i|0,f|0)|0;Bf=Rd;c[Bf>>2]=zf;c[Bf+4>>2]=z};c[Qd>>2]=c[Rd>>2];c[Qd+4>>2]=c[Rd+4>>2]}}else{i=Sd;g=Qd;zf=c[g+4>>2]&c[i+4>>2];Bf=Qd;c[Bf>>2]=c[g>>2]&c[i>>2];c[Bf+4>>2]=zf}while(0);i=Qd;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|4;break}case 91:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);hv(c[J>>2]|0)|0;zf=c[(c[sf>>2]|0)+8>>2]|0;Bf=c[J>>2]|0;i=Bf;zf=IR(c[i>>2]|0,c[i+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;c[Bf>>2]=zf;c[Bf+4>>2]=z;break}case 17:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]&4|0)==0?(gv(c[J>>2]|0,67,a[ne>>0]|0),(e[(c[J>>2]|0)+8>>1]&4|0)==0):0)if(!(c[(c[sf>>2]|0)+8>>2]|0)){j=159;break c}else{j=14;break d}b[(c[J>>2]|0)+8>>1]=e[(c[J>>2]|0)+8>>1]&-49664|4;break}case 92:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&4|0)iv(c[J>>2]|0)|0;break}case 93:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&16384|0)f=Oh(c[J>>2]|0)|0;else f=0;c[vf>>2]=f;bv(c[J>>2]|0,c[(c[sf>>2]|0)+8>>2]&255,a[ne>>0]|0);if(c[vf>>2]|0)break a;break}case 41:case 38:case 39:case 40:case 36:case 37:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);b[Xd>>1]=b[(c[J>>2]|0)+8>>1]|0;b[Yd>>1]=b[(c[fa>>2]|0)+8>>1]|0;f=d[(c[sf>>2]|0)+3>>0]|0;do if((e[Xd>>1]|e[Yd>>1])&1|0){if(!(f&128))if(!(d[(c[sf>>2]|0)+3>>0]&32|0))if(d[(c[sf>>2]|0)+3>>0]&16|0){j=14;break d}else break d;else{c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);c[ye>>2]=1;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|1;break d}if((e[Xd>>1]&1|0?e[Yd>>1]&1|0:0)?(e[Yd>>1]&256|0)==0:0){c[Ud>>2]=0;break}c[Ud>>2]=1}else{a[Wd>>0]=f&71;if((a[Wd>>0]|0)>=67){if((e[Xd>>1]|e[Yd>>1])&2|0){if((e[Xd>>1]&14|0)==2){ti(c[J>>2]|0,0);b[Yd>>1]=b[(c[fa>>2]|0)+8>>1]|0}if((e[Yd>>1]&14|0)==2)ti(c[fa>>2]|0,0)}if(e[(c[J>>2]|0)+8>>1]&e[(c[fa>>2]|0)+8>>1]&4|0){zf=c[fa>>2]|0;g=c[zf+4>>2]|0;Bf=c[J>>2]|0;i=c[Bf+4>>2]|0;if((g|0)>(i|0)|((g|0)==(i|0)?(c[zf>>2]|0)>>>0>(c[Bf>>2]|0)>>>0:0)){c[Ud>>2]=1;break}zf=c[fa>>2]|0;g=c[zf+4>>2]|0;Bf=c[J>>2]|0;i=c[Bf+4>>2]|0;if((g|0)<(i|0)|((g|0)==(i|0)?(c[zf>>2]|0)>>>0<(c[Bf>>2]|0)>>>0:0)){c[Ud>>2]=-1;break}else{c[Ud>>2]=0;break}}}else if((a[Wd>>0]|0)==66){if((e[Xd>>1]&2|0)==0?e[Xd>>1]&12|0:0){Xh(c[J>>2]|0,a[ne>>0]|0,1)|0;b[Xd>>1]=e[(c[J>>2]|0)+8>>1]&-33280|e[Xd>>1]&33279}if((e[Yd>>1]&2|0)==0?e[Yd>>1]&12|0:0){Xh(c[fa>>2]|0,a[ne>>0]|0,1)|0;b[Yd>>1]=e[(c[fa>>2]|0)+8>>1]&-33280|e[Yd>>1]&33279}}c[Ud>>2]=Li(c[fa>>2]|0,c[J>>2]|0,c[(c[sf>>2]|0)+16>>2]|0)|0}while(0);switch(d[c[sf>>2]>>0]|0){case 37:{c[Vd>>2]=(c[Ud>>2]|0)==0&1;break}case 36:{c[Vd>>2]=c[Ud>>2];break}case 40:{c[Vd>>2]=(c[Ud>>2]|0)<0&1;break}case 39:{c[Vd>>2]=(c[Ud>>2]|0)<=0&1;break}case 38:{c[Vd>>2]=(c[Ud>>2]|0)>0&1;break}default:c[Vd>>2]=(c[Ud>>2]|0)>=0&1}b[(c[J>>2]|0)+8>>1]=b[Xd>>1]|0;b[(c[fa>>2]|0)+8>>1]=b[Yd>>1]|0;if(!(d[(c[sf>>2]|0)+3>>0]&32))if(c[Vd>>2]|0){j=14;break d}else break d;c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);c[ye>>2]=c[Ud>>2];c[Vd>>2]=(c[Vd>>2]|0)!=0&1;if(d[(c[sf>>2]|0)+3>>0]&8|0?((d[c[sf>>2]>>0]|0)==37|0)==(c[Vd>>2]|0):0)break d;b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|4;zf=c[Vd>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 42:{if(c[ye>>2]|0)j=14;break}case 94:{c[Ba>>2]=(c[(c[sf>>2]|0)+16>>2]|0)+4;break}case 95:{if(!(d[(c[sf>>2]|0)+3>>0]&1))c[Ba>>2]=0;c[Zd>>2]=c[(c[sf>>2]|0)+12>>2];c[be>>2]=c[(c[sf>>2]|0)+16>>2];c[$d>>2]=c[(c[sf>>2]|0)+4>>2];c[ae>>2]=c[(c[sf>>2]|0)+8>>2];c[_d>>2]=0;while(1){if((c[_d>>2]|0)>=(c[Zd>>2]|0))break;if(c[Ba>>2]|0)f=c[(c[Ba>>2]|0)+(c[_d>>2]<<2)>>2]|0;else f=c[_d>>2]|0;c[ce>>2]=f;c[de>>2]=c[(c[be>>2]|0)+20+(c[_d>>2]<<2)>>2];c[ee>>2]=d[(c[(c[be>>2]|0)+16>>2]|0)+(c[_d>>2]|0)>>0];c[ye>>2]=Li((c[w>>2]|0)+(((c[$d>>2]|0)+(c[ce>>2]|0)|0)*40|0)|0,(c[w>>2]|0)+(((c[ae>>2]|0)+(c[ce>>2]|0)|0)*40|0)|0,c[de>>2]|0)|0;if(c[ye>>2]|0){j=218;break}c[_d>>2]=(c[_d>>2]|0)+1}if((j|0)==218?(j=0,c[ee>>2]|0):0)c[ye>>2]=0-(c[ye>>2]|0);c[Ba>>2]=0;break}case 18:{if((c[ye>>2]|0)<0){c[sf>>2]=(c[rf>>2]|0)+(((c[(c[sf>>2]|0)+4>>2]|0)-1|0)*20|0);break d}f=c[rf>>2]|0;g=c[sf>>2]|0;if(!(c[ye>>2]|0)){c[sf>>2]=f+(((c[g+8>>2]|0)-1|0)*20|0);break d}else{c[sf>>2]=f+(((c[g+12>>2]|0)-1|0)*20|0);break d}}case 27:case 28:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&1|0)c[fe>>2]=2;else{Bf=pi(c[J>>2]|0)|0;c[fe>>2]=((Bf|0)!=0|(z|0)!=0)&1}c[W>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);if(e[(c[W>>2]|0)+8>>1]&1|0)c[ge>>2]=2;else{Bf=pi(c[W>>2]|0)|0;c[ge>>2]=((Bf|0)!=0|(z|0)!=0)&1}f=((c[fe>>2]|0)*3|0)+(c[ge>>2]|0)|0;if((d[c[sf>>2]>>0]|0)==28)c[fe>>2]=d[35670+f>>0];else c[fe>>2]=d[35679+f>>0];c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);if((c[fe>>2]|0)==2){f=(e[(c[qa>>2]|0)+8>>1]&-49664|1)&65535;g=c[qa>>2]|0}else{g=c[fe>>2]|0;f=c[qa>>2]|0;c[f>>2]=g;c[f+4>>2]=((g|0)<0)<<31>>31;f=(e[(c[qa>>2]|0)+8>>1]&-49664|4)&65535;g=c[qa>>2]|0}b[g+8>>1]=f;break}case 19:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);Fh(c[qa>>2]|0);if(!(e[(c[J>>2]|0)+8>>1]&1)){b[(c[qa>>2]|0)+8>>1]=4;zf=pi(c[J>>2]|0)|0;zf=(((zf|0)!=0|(z|0)!=0)^1)&1;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31}break}case 54:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);Fh(c[qa>>2]|0);if(!(e[(c[J>>2]|0)+8>>1]&1)){b[(c[qa>>2]|0)+8>>1]=4;zf=pi(c[J>>2]|0)|0;Bf=c[qa>>2]|0;c[Bf>>2]=~zf;c[Bf+4>>2]=~z}break}case 20:{if((c[(c[(c[tf>>2]|0)+88>>2]|0)+4>>2]|0)==(c[(c[sf>>2]|0)+4>>2]|0))j=14;else c[(c[sf>>2]|0)+4>>2]=c[(c[(c[tf>>2]|0)+88>>2]|0)+4>>2];break}case 22:case 21:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[J>>2]|0)+8>>1]&1|0)){c[he>>2]=+ni(c[J>>2]|0)!=0.0&1;if((d[c[sf>>2]>>0]|0)==22)c[he>>2]=((c[he>>2]|0)!=0^1)&1}else c[he>>2]=c[(c[sf>>2]|0)+12>>2];if(c[he>>2]|0)j=14;break}case 34:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&1|0)j=14;break}case 35:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);if(!(e[(c[J>>2]|0)+8>>1]&1))j=14;break}case 96:{c[je>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[ie>>2]=c[(c[sf>>2]|0)+8>>2];c[vf>>2]=$E(je,ie)|0;if(c[vf>>2]|0)break a;c[pe>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[le>>2]=c[(c[je>>2]|0)+76>>2];c[ke>>2]=c[(c[je>>2]|0)+16>>2];do if((c[(c[je>>2]|0)+56>>2]|0)!=(c[(c[tf>>2]|0)+32>>2]|0)){do if(a[(c[je>>2]|0)+2>>0]|0)if((d[c[je>>2]>>0]|0)==3){c[ze>>2]=(c[w>>2]|0)+((c[(c[je>>2]|0)+16>>2]|0)*40|0);Bf=c[(c[ze>>2]|0)+12>>2]|0;c[we>>2]=Bf;c[(c[je>>2]|0)+64>>2]=Bf;c[(c[je>>2]|0)+60>>2]=Bf;c[(c[je>>2]|0)+72>>2]=c[(c[ze>>2]|0)+16>>2];break}else{Fh(c[pe>>2]|0);break d}else{f=Ip(c[ke>>2]|0)|0;c[(c[je>>2]|0)+60>>2]=f;f=aF(c[ke>>2]|0,we)|0;c[(c[je>>2]|0)+72>>2]=f;f=c[(c[je>>2]|0)+60>>2]|0;if((c[(c[je>>2]|0)+60>>2]|0)>>>0<=(c[we>>2]|0)>>>0){c[(c[je>>2]|0)+64>>2]=f;break}if(f>>>0>(c[(c[wf>>2]|0)+96>>2]|0)>>>0){j=886;break c}c[(c[je>>2]|0)+64>>2]=c[we>>2]}while(0);c[(c[je>>2]|0)+56>>2]=c[(c[tf>>2]|0)+32>>2];f=c[(c[je>>2]|0)+72>>2]|0;if((d[c[(c[je>>2]|0)+72>>2]>>0]|0)<128){c[ue>>2]=d[f>>0];f=1}else f=(lD(f,ue)|0)&255;c[(c[je>>2]|0)+68>>2]=f&255;b[(c[je>>2]|0)+14>>1]=0;c[c[le>>2]>>2]=c[ue>>2];if((c[we>>2]|0)>>>0<(c[ue>>2]|0)>>>0){c[(c[je>>2]|0)+72>>2]=0;c[(c[je>>2]|0)+64>>2]=0;if((c[ue>>2]|0)>>>0>98307){j=269;break c}if((c[ue>>2]|0)>>>0>(c[(c[je>>2]|0)+60>>2]|0)>>>0){j=269;break c}else{j=272;break}}else{if((c[ue>>2]|0)>>>0<=0){j=272;break}c[re>>2]=c[(c[je>>2]|0)+72>>2];j=278;break}}else j=272;while(0);do if((j|0)==272){j=0;f=c[je>>2]|0;if((e[(c[je>>2]|0)+14>>1]|0)>(c[ie>>2]|0)){c[xe>>2]=c[f+80+(c[ie>>2]<<2)>>2];break}if((c[f+68>>2]|0)>>>0>=(c[c[le>>2]>>2]|0)>>>0){c[xe>>2]=0;j=294;break}if(c[(c[je>>2]|0)+72>>2]|0){c[re>>2]=c[(c[je>>2]|0)+72>>2];j=278;break}f=qe;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[vf>>2]=bF(c[ke>>2]|0,0,c[c[le>>2]>>2]|0,((a[(c[je>>2]|0)+4>>0]|0)!=0^1)&1,qe)|0;if(c[vf>>2]|0)break a;c[re>>2]=c[qe+16>>2];j=278}while(0);if((j|0)==278){c[oe>>2]=e[(c[je>>2]|0)+14>>1];Bf=ve;c[Bf>>2]=c[(c[le>>2]|0)+(c[oe>>2]<<2)>>2];c[Bf+4>>2]=0;c[se>>2]=(c[re>>2]|0)+(c[(c[je>>2]|0)+68>>2]|0);c[te>>2]=(c[re>>2]|0)+(c[c[le>>2]>>2]|0);do{Bf=d[c[se>>2]>>0]|0;c[xe>>2]=Bf;f=c[se>>2]|0;if(Bf>>>0<128){c[se>>2]=f+1;zf=(cF(c[xe>>2]&255)|0)&255;Bf=ve;zf=IR(c[Bf>>2]|0,c[Bf+4>>2]|0,zf|0,0)|0;Bf=ve;c[Bf>>2]=zf;c[Bf+4>>2]=z}else{zf=(lD(f,xe)|0)&255;c[se>>2]=(c[se>>2]|0)+zf;zf=mD(c[xe>>2]|0)|0;Bf=ve;zf=IR(c[Bf>>2]|0,c[Bf+4>>2]|0,zf|0,0)|0;Bf=ve;c[Bf>>2]=zf;c[Bf+4>>2]=z}j=c[xe>>2]|0;zf=(c[je>>2]|0)+80|0;Bf=c[oe>>2]|0;c[oe>>2]=Bf+1;c[zf+(Bf<<2)>>2]=j;c[(c[le>>2]|0)+(c[oe>>2]<<2)>>2]=c[ve>>2];if((c[oe>>2]|0)>(c[ie>>2]|0))break}while((c[se>>2]|0)>>>0<(c[te>>2]|0)>>>0);if((c[se>>2]|0)>>>0>=(c[te>>2]|0)>>>0){if((c[se>>2]|0)>>>0>(c[te>>2]|0)>>>0){j=288;break c}Bf=ve;if(c[Bf+4>>2]|0?1:(c[Bf>>2]|0)!=(c[(c[je>>2]|0)+60>>2]|0)){j=288;break c}}Bf=ve;zf=c[Bf+4>>2]|0;if(zf>>>0>0|((zf|0)==0?(c[Bf>>2]|0)>>>0>(c[(c[je>>2]|0)+60>>2]|0)>>>0:0)){j=288;break c}b[(c[je>>2]|0)+14>>1]=c[oe>>2];c[(c[je>>2]|0)+68>>2]=(c[se>>2]|0)-(c[re>>2]|0);if(!(c[(c[je>>2]|0)+72>>2]|0)){Lh(qe);j=294}else j=294}if((j|0)==294?(j=0,(e[(c[je>>2]|0)+14>>1]|0)<=(c[ie>>2]|0)):0){f=c[pe>>2]|0;if((a[(c[sf>>2]|0)+1>>0]|0)==-8){Ri(f,c[(c[sf>>2]|0)+16>>2]|0,2048);break d}else{Fh(f);break d}}if(e[(c[pe>>2]|0)+8>>1]&9312|0)Fh(c[pe>>2]|0);if((c[(c[je>>2]|0)+64>>2]|0)>>>0>=(c[(c[le>>2]|0)+((c[ie>>2]|0)+1<<2)>>2]|0)>>>0){c[re>>2]=(c[(c[je>>2]|0)+72>>2]|0)+(c[(c[le>>2]|0)+(c[ie>>2]<<2)>>2]|0);if((c[xe>>2]|0)>>>0<12){nD(c[re>>2]|0,c[xe>>2]|0,c[pe>>2]|0)|0;break d}f=(((c[xe>>2]|0)-12|0)>>>0)/2|0;c[me>>2]=f;c[(c[pe>>2]|0)+12>>2]=f;a[(c[pe>>2]|0)+10>>0]=a[ne>>0]|0;f=c[pe>>2]|0;if((c[(c[pe>>2]|0)+24>>2]|0)<((c[me>>2]|0)+2|0)){b[f+8>>1]=1;if(Ph(c[pe>>2]|0,(c[me>>2]|0)+2|0,0)|0){j=887;break a}}else c[(c[pe>>2]|0)+16>>2]=c[f+20>>2];MR(c[(c[pe>>2]|0)+16>>2]|0,c[re>>2]|0,c[me>>2]|0)|0;a[(c[(c[pe>>2]|0)+16>>2]|0)+(c[me>>2]|0)>>0]=0;a[(c[(c[pe>>2]|0)+16>>2]|0)+((c[me>>2]|0)+1)>>0]=0;b[(c[pe>>2]|0)+8>>1]=b[14774+((c[xe>>2]&1)<<1)>>1]|0;break d}a[(c[pe>>2]|0)+10>>0]=a[ne>>0]|0;do if(d[(c[sf>>2]|0)+3>>0]&192|0){if((c[xe>>2]|0)>>>0>=12?(c[xe>>2]&1|0)==0:0)break;if(!(d[(c[sf>>2]|0)+3>>0]&128))j=312}else j=312;while(0);if((j|0)==312?(j=0,Bf=mD(c[xe>>2]|0)|0,c[me>>2]=Bf,Bf|0):0){c[vf>>2]=bF(c[ke>>2]|0,c[(c[le>>2]|0)+(c[ie>>2]<<2)>>2]|0,c[me>>2]|0,((a[(c[je>>2]|0)+4>>0]|0)!=0^1)&1,c[pe>>2]|0)|0;if(c[vf>>2]|0)break a;nD(c[(c[pe>>2]|0)+16>>2]|0,c[xe>>2]|0,c[pe>>2]|0)|0;Bf=(c[pe>>2]|0)+8|0;b[Bf>>1]=e[Bf>>1]&-4097;break d}nD(47925,c[xe>>2]|0,c[pe>>2]|0)|0;break}case 98:{c[Ae>>2]=c[(c[sf>>2]|0)+16>>2];c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);while(1){Bf=c[Ae>>2]|0;c[Ae>>2]=Bf+1;Bf=a[Bf>>0]|0;a[Be>>0]=Bf;if(!(Bf<<24>>24))break d;gv(c[J>>2]|0,a[Be>>0]|0,a[ne>>0]|0);c[J>>2]=(c[J>>2]|0)+40}}case 99:{Bf=Ee;c[Bf>>2]=0;c[Bf+4>>2]=0;c[Fe>>2]=0;Bf=He;c[Bf>>2]=0;c[Bf+4>>2]=0;c[Me>>2]=c[(c[sf>>2]|0)+4>>2];c[Ne>>2]=c[(c[sf>>2]|0)+16>>2];c[Ke>>2]=(c[w>>2]|0)+((c[Me>>2]|0)*40|0);c[Me>>2]=c[(c[sf>>2]|0)+8>>2];c[Le>>2]=(c[Ke>>2]|0)+(((c[Me>>2]|0)-1|0)*40|0);c[Oe>>2]=d[(c[tf>>2]|0)+143>>0];c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);if(c[Ne>>2]|0){c[De>>2]=c[Ke>>2];do{zf=c[De>>2]|0;c[De>>2]=zf+40;Bf=c[Ne>>2]|0;c[Ne>>2]=Bf+1;gv(zf,a[Bf>>0]|0,a[ne>>0]|0)}while((a[c[Ne>>2]>>0]|0)!=0)}c[De>>2]=c[Le>>2];while(1){Bf=dF(c[De>>2]|0,c[Oe>>2]|0,Re)|0;c[Je>>2]=Bf;c[(c[De>>2]|0)+28>>2]=Bf;do if(e[(c[De>>2]|0)+8>>1]&16384|0){Bf=Ee;f=c[De>>2]|0;if((c[Bf>>2]|0)!=0|(c[Bf+4>>2]|0)!=0)if(Oh(f)|0){j=887;break a}else break;else{zf=c[f>>2]|0;Bf=He;zf=IR(c[Bf>>2]|0,c[Bf+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;Bf=He;c[Bf>>2]=zf;c[Bf+4>>2]=z;c[Re>>2]=(c[Re>>2]|0)-(c[c[De>>2]>>2]|0);break}}while(0);zf=Ee;zf=IR(c[zf>>2]|0,c[zf+4>>2]|0,c[Re>>2]|0,0)|0;Bf=Ee;c[Bf>>2]=zf;c[Bf+4>>2]=z;if((c[Je>>2]|0)>>>0<=127)f=1;else f=pD(c[Je>>2]|0,0)|0;c[Fe>>2]=(c[Fe>>2]|0)+f;if((c[De>>2]|0)==(c[Ke>>2]|0))break;c[De>>2]=(c[De>>2]|0)+-40}f=c[Fe>>2]|0;if((c[Fe>>2]|0)>126){c[Ie>>2]=pD(f,((f|0)<0)<<31>>31)|0;c[Fe>>2]=(c[Fe>>2]|0)+(c[Ie>>2]|0);zf=c[Ie>>2]|0;Bf=c[Fe>>2]|0;if((zf|0)<(pD(Bf,((Bf|0)<0)<<31>>31)|0))c[Fe>>2]=(c[Fe>>2]|0)+1}else c[Fe>>2]=f+1;g=c[Fe>>2]|0;zf=Ee;zf=IR(g|0,((g|0)<0)<<31>>31|0,c[zf>>2]|0,c[zf+4>>2]|0)|0;g=Ge;c[g>>2]=zf;c[g+4>>2]=z;g=Ge;zf=He;zf=IR(c[g>>2]|0,c[g+4>>2]|0,c[zf>>2]|0,c[zf+4>>2]|0)|0;g=z;Bf=c[(c[wf>>2]|0)+96>>2]|0;i=((Bf|0)<0)<<31>>31;if((g|0)>(i|0)|(g|0)==(i|0)&zf>>>0>Bf>>>0){j=886;break c}if(Kh(c[qa>>2]|0,c[Ge>>2]|0)|0){j=887;break a}c[Ce>>2]=c[(c[qa>>2]|0)+16>>2];if((c[Fe>>2]|0)>>>0<128){a[c[Ce>>2]>>0]=c[Fe>>2];f=1}else{f=c[Fe>>2]|0;f=eF(c[Ce>>2]|0,f,((f|0)<0)<<31>>31)|0}c[Pe>>2]=f&255;c[Qe>>2]=c[Fe>>2];c[De>>2]=c[Ke>>2];do{c[Je>>2]=c[(c[De>>2]|0)+28>>2];if((c[Je>>2]|0)>>>0<128){a[(c[Ce>>2]|0)+(c[Pe>>2]|0)>>0]=c[Je>>2];f=1}else f=eF((c[Ce>>2]|0)+(c[Pe>>2]|0)|0,c[Je>>2]|0,0)|0;c[Pe>>2]=(c[Pe>>2]|0)+(f&255);Bf=fF((c[Ce>>2]|0)+(c[Qe>>2]|0)|0,c[De>>2]|0,c[Je>>2]|0)|0;c[Qe>>2]=(c[Qe>>2]|0)+Bf;Bf=(c[De>>2]|0)+40|0;c[De>>2]=Bf}while(Bf>>>0<=(c[Le>>2]|0)>>>0);c[(c[qa>>2]|0)+12>>2]=c[Ge>>2];b[(c[qa>>2]|0)+8>>1]=16;Bf=He;if((c[Bf>>2]|0)!=0|(c[Bf+4>>2]|0)!=0){c[c[qa>>2]>>2]=c[He>>2];Bf=(c[qa>>2]|0)+8|0;b[Bf>>1]=e[Bf>>1]|16384}a[(c[qa>>2]|0)+10>>0]=1;break}case 100:{c[m>>2]=c[(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2]|0)+16>>2];Bf=Se;c[Bf>>2]=0;c[Bf+4>>2]=0;c[vf>>2]=gF(c[m>>2]|0,Se)|0;if(c[vf>>2]|0)break a;c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;i=Se;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;break}case 0:{c[n>>2]=c[(c[sf>>2]|0)+4>>2];c[o>>2]=c[(c[sf>>2]|0)+16>>2];do if(!(c[n>>2]|0)){if((c[(c[wf>>2]|0)+164>>2]|0)>0){rr(c[tf>>2]|0,35688,Xe);c[vf>>2]=5;break}c[p>>2]=_c(c[o>>2]|0)|0;c[vf>>2]=ir(c[wf>>2]|0,0,(c[(c[wf>>2]|0)+436>>2]|0)+(c[(c[wf>>2]|0)+432>>2]|0)|0)|0;if(c[vf>>2]|0)break a;c[q>>2]=od(c[wf>>2]|0,32+(c[p>>2]|0)+1|0,0)|0;if(c[q>>2]|0){c[c[q>>2]>>2]=(c[q>>2]|0)+32;MR(c[c[q>>2]>>2]|0,c[o>>2]|0,(c[p>>2]|0)+1|0)|0;f=c[wf>>2]|0;if(a[(c[wf>>2]|0)+67>>0]|0){a[f+67>>0]=0;a[(c[wf>>2]|0)+75>>0]=1}else{Bf=f+432|0;c[Bf>>2]=(c[Bf>>2]|0)+1}c[(c[q>>2]|0)+24>>2]=c[(c[wf>>2]|0)+424>>2];c[(c[wf>>2]|0)+424>>2]=c[q>>2];Bf=(c[wf>>2]|0)+440|0;zf=c[Bf+4>>2]|0;i=(c[q>>2]|0)+8|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=(c[wf>>2]|0)+448|0;zf=c[i+4>>2]|0;Bf=(c[q>>2]|0)+16|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}}else{c[t>>2]=0;c[r>>2]=c[(c[wf>>2]|0)+424>>2];while(1){if(!(c[r>>2]|0))break;if(!(Ig(c[c[r>>2]>>2]|0,c[o>>2]|0)|0))break;c[t>>2]=(c[t>>2]|0)+1;c[r>>2]=c[(c[r>>2]|0)+24>>2]}if(!(c[r>>2]|0)){Bf=c[tf>>2]|0;c[Ye>>2]=c[o>>2];rr(Bf,35739,Ye);c[vf>>2]=1;break}if((c[n>>2]|0)==1?(c[(c[wf>>2]|0)+164>>2]|0)>0:0){rr(c[tf>>2]|0,35761,_e);c[vf>>2]=5;break}if(!(c[(c[r>>2]|0)+24>>2]|0))f=(d[(c[wf>>2]|0)+75>>0]|0)!=0;else f=0;c[v>>2]=f&1;if(!((c[v>>2]|0)!=0&(c[n>>2]|0)==1)){c[t>>2]=(c[(c[wf>>2]|0)+432>>2]|0)-(c[t>>2]|0)-1;g:do if((c[n>>2]|0)==2){c[x>>2]=(c[(c[wf>>2]|0)+24>>2]&2|0)!=0&1;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[wf>>2]|0)+20>>2]|0))break g;c[vf>>2]=Pq(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[u>>2]<<4)+4>>2]|0,516,(c[x>>2]|0)==0&1)|0;if(c[vf>>2]|0)break a;c[u>>2]=(c[u>>2]|0)+1}}else c[x>>2]=0;while(0);c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[wf>>2]|0)+20>>2]|0))break;c[vf>>2]=hr(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[u>>2]<<4)+4>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;if(c[vf>>2]|0)break a;c[u>>2]=(c[u>>2]|0)+1}if(c[x>>2]|0){$p(c[wf>>2]|0);Yo(c[wf>>2]|0);c[(c[wf>>2]|0)+24>>2]=c[(c[wf>>2]|0)+24>>2]|2}}else{Bf=cr(c[tf>>2]|0,1)|0;c[vf>>2]=Bf;if(Bf|0){j=885;break c}a[(c[wf>>2]|0)+67>>0]=1;if((Zq(c[tf>>2]|0)|0)==5){j=372;break c}a[(c[wf>>2]|0)+75>>0]=0;c[vf>>2]=c[(c[tf>>2]|0)+40>>2]}while(1){if((c[(c[wf>>2]|0)+424>>2]|0)==(c[r>>2]|0))break;c[s>>2]=c[(c[wf>>2]|0)+424>>2];c[(c[wf>>2]|0)+424>>2]=c[(c[s>>2]|0)+24>>2];Hd(c[wf>>2]|0,c[s>>2]|0);Bf=(c[wf>>2]|0)+432|0;c[Bf>>2]=(c[Bf>>2]|0)+-1}f=c[r>>2]|0;if((c[n>>2]|0)==1){c[(c[wf>>2]|0)+424>>2]=c[f+24>>2];Hd(c[wf>>2]|0,c[r>>2]|0);if(!(c[v>>2]|0)){Bf=(c[wf>>2]|0)+432|0;c[Bf>>2]=(c[Bf>>2]|0)+-1}}else{Bf=f+8|0;zf=c[Bf+4>>2]|0;i=(c[wf>>2]|0)+440|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=(c[r>>2]|0)+16|0;zf=c[i+4>>2]|0;Bf=(c[wf>>2]|0)+448|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}if((c[v>>2]|0)==0|(c[n>>2]|0)==2){c[vf>>2]=ir(c[wf>>2]|0,c[n>>2]|0,c[t>>2]|0)|0;if((c[vf>>2]|0)!=0|(c[vf>>2]|0)!=0)break a;else break d}}while(0);if(c[vf>>2]|0)break a;break}case 2:{if(c[(c[sf>>2]|0)+8>>2]|0?c[(c[wf>>2]|0)+24>>2]&67108864|0:0){j=413;break c}c[C>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<4)+4>>2];if(c[C>>2]|0){c[vf>>2]=Ro(c[C>>2]|0,c[(c[sf>>2]|0)+8>>2]|0)|0;if(c[vf>>2]|0){j=416;break c}do if(c[(c[sf>>2]|0)+8>>2]|0?(e[(c[tf>>2]|0)+144>>1]|0)>>>6&1|0:0){if(d[(c[wf>>2]|0)+67>>0]|0?(c[(c[wf>>2]|0)+160>>2]|0)<=1:0)break;if(!(c[(c[tf>>2]|0)+48>>2]|0)){Bf=(c[wf>>2]|0)+436|0;c[Bf>>2]=(c[Bf>>2]|0)+1;c[(c[tf>>2]|0)+48>>2]=(c[(c[wf>>2]|0)+432>>2]|0)+(c[(c[wf>>2]|0)+436>>2]|0)}c[vf>>2]=ir(c[wf>>2]|0,0,(c[(c[tf>>2]|0)+48>>2]|0)-1|0)|0;if(!(c[vf>>2]|0))c[vf>>2]=hF(c[C>>2]|0,c[(c[tf>>2]|0)+48>>2]|0)|0;Bf=(c[wf>>2]|0)+440|0;zf=c[Bf+4>>2]|0;i=(c[tf>>2]|0)+72|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=(c[wf>>2]|0)+448|0;zf=c[i+4>>2]|0;Bf=(c[tf>>2]|0)+80|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}while(0);To(c[C>>2]|0,1,D);c[E>>2]=c[(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<4)+12>>2]|0)+4>>2]}else{c[D>>2]=0;c[E>>2]=0}do if(d[(c[sf>>2]|0)+3>>0]|0){if((c[D>>2]|0)==(c[(c[sf>>2]|0)+12>>2]|0)?(c[E>>2]|0)==(c[(c[sf>>2]|0)+16>>2]|0):0)break;Hd(c[wf>>2]|0,c[(c[tf>>2]|0)+108>>2]|0);Bf=go(c[wf>>2]|0,19594)|0;c[(c[tf>>2]|0)+108>>2]=Bf;if((c[c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<4)+12>>2]>>2]|0)!=(c[D>>2]|0))$r(c[wf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0);Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2|1;c[vf>>2]=17}while(0);if(c[vf>>2]|0)break a;break}case 101:{c[G>>2]=c[(c[sf>>2]|0)+4>>2];c[H>>2]=c[(c[sf>>2]|0)+12>>2];To(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[G>>2]<<4)+4>>2]|0,c[H>>2]|0,F);c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;zf=c[F>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 102:{c[I>>2]=(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<4);c[vf>>2]=Xo(c[(c[I>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+8>>2]|0,c[(c[sf>>2]|0)+12>>2]|0)|0;f=c[sf>>2]|0;if((c[(c[sf>>2]|0)+8>>2]|0)!=1){if((c[f+8>>2]|0)==2)a[(c[(c[I>>2]|0)+12>>2]|0)+76>>0]=c[(c[sf>>2]|0)+12>>2]}else{c[c[(c[I>>2]|0)+12>>2]>>2]=c[f+12>>2];Bf=(c[wf>>2]|0)+24|0;c[Bf>>2]=c[Bf>>2]|2}if((c[(c[sf>>2]|0)+4>>2]|0)==1){$p(c[wf>>2]|0);Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2}if(c[vf>>2]|0)break a;break}case 103:{c[S>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];if(c[S>>2]|0?(c[(c[S>>2]|0)+8>>2]|0)==(c[(c[sf>>2]|0)+8>>2]|0):0)j=460;else j=446;break}case 105:case 104:{j=446;break}case 107:case 106:{c[U>>2]=iF(c[tf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+8>>2]|0,-1,0)|0;if(!(c[U>>2]|0)){j=887;break a}a[(c[U>>2]|0)+2>>0]=1;Bf=(c[U>>2]|0)+5|0;a[Bf>>0]=a[Bf>>0]&-2|1;c[vf>>2]=Bk(c[c[wf>>2]>>2]|0,0,c[wf>>2]|0,(c[U>>2]|0)+20|0,5|d[(c[sf>>2]|0)+3>>0],1054)|0;if(!(c[vf>>2]|0))c[vf>>2]=Ro(c[(c[U>>2]|0)+20>>2]|0,1)|0;if(!(c[vf>>2]|0)){Bf=c[(c[sf>>2]|0)+16>>2]|0;c[V>>2]=Bf;f=c[(c[U>>2]|0)+20>>2]|0;if(Bf|0){c[vf>>2]=lF(f,X,2|d[(c[sf>>2]|0)+3>>0])|0;if(!(c[vf>>2]|0)){c[(c[U>>2]|0)+24>>2]=c[V>>2];c[vf>>2]=jF(c[(c[U>>2]|0)+20>>2]|0,c[X>>2]|0,4,c[V>>2]|0,c[(c[U>>2]|0)+16>>2]|0)|0}f=0;g=c[U>>2]|0}else{c[vf>>2]=jF(f,1,4,0,c[(c[U>>2]|0)+16>>2]|0)|0;f=1;g=c[U>>2]|0}a[g+4>>0]=f}if(c[vf>>2]|0)break a;Bf=(c[U>>2]|0)+5|0;a[Bf>>0]=a[Bf>>0]&-5|((d[(c[sf>>2]|0)+3>>0]|0)!=8&1)<<2&255;break}case 108:{c[Y>>2]=iF(c[tf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+8>>2]|0,-1,1)|0;if(!(c[Y>>2]|0)){j=887;break a}c[(c[Y>>2]|0)+24>>2]=c[(c[sf>>2]|0)+16>>2];c[vf>>2]=mF(c[wf>>2]|0,c[(c[sf>>2]|0)+12>>2]|0,c[Y>>2]|0)|0;if(c[vf>>2]|0)break a;break}case 109:{c[Z>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];i=(c[Z>>2]|0)+32|0;Bf=i;zf=c[Bf>>2]|0;Bf=c[Bf+4>>2]|0;g=IR(zf|0,Bf|0,1,0)|0;c[i>>2]=g;c[i+4>>2]=z;if((zf|0)==0&(Bf|0)==0)j=14;break}case 110:{c[_>>2]=iF(c[tf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+12>>2]|0,-1,3)|0;if(!(c[_>>2]|0)){j=887;break a}a[(c[_>>2]|0)+2>>0]=1;c[(c[_>>2]|0)+16>>2]=c[(c[sf>>2]|0)+8>>2];a[(c[_>>2]|0)+4>>0]=1;break}case 111:{wr(c[tf>>2]|0,c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2]|0);c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2]=0;break}case 26:case 25:case 24:case 23:{c[ba>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[aa>>2]=d[c[sf>>2]>>0];c[ga>>2]=0;a[(c[ba>>2]|0)+2>>0]=0;if(a[(c[ba>>2]|0)+4>>0]|0){c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);if((e[(c[fa>>2]|0)+8>>1]&14|0)==2)ti(c[fa>>2]|0,0);zf=pi(c[fa>>2]|0)|0;Bf=ea;c[Bf>>2]=zf;c[Bf+4>>2]=z;do if(!(e[(c[fa>>2]|0)+8>>1]&4)){if(!(e[(c[fa>>2]|0)+8>>1]&8)){j=14;break d}Bf=ea;if(+h[c[fa>>2]>>3]<+((c[Bf>>2]|0)>>>0)+4294967296.0*+(c[Bf+4>>2]|0)){if(c[aa>>2]&1|0)break;c[aa>>2]=(c[aa>>2]|0)+-1;break}Bf=ea;if(+h[c[fa>>2]>>3]>+((c[Bf>>2]|0)>>>0)+4294967296.0*+(c[Bf+4>>2]|0)?(c[aa>>2]&1|0)==1:0)c[aa>>2]=(c[aa>>2]|0)+1}while(0);i=ea;c[vf>>2]=eD(c[(c[ba>>2]|0)+16>>2]|0,0,c[i>>2]|0,c[i+4>>2]|0,0,$)|0;i=ea;zf=c[i+4>>2]|0;Bf=(c[ba>>2]|0)+40|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;if(c[vf>>2]|0)break a;else j=496}else{if(nF(c[(c[ba>>2]|0)+16>>2]|0,2)|0)c[ga>>2]=1;c[da>>2]=c[(c[sf>>2]|0)+16>>2];c[ca>>2]=c[(c[ba>>2]|0)+24>>2];b[ca+8>>1]=c[da>>2];a[ca+10>>0]=1&(c[aa>>2]|0)-23|0?-1:1;c[ca+4>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);a[ca+14>>0]=0;c[vf>>2]=eD(c[(c[ba>>2]|0)+16>>2]|0,ca,0,0,0,$)|0;if(c[vf>>2]|0)break a;if(!(c[ga>>2]|0?!(d[ca+14>>0]|0):0))j=496}do if((j|0)==496){j=0;a[(c[ba>>2]|0)+3>>0]=0;c[(c[ba>>2]|0)+56>>2]=0;f=c[$>>2]|0;if((c[aa>>2]|0)>=25){if((f|0)>=0?!((c[$>>2]|0)==0&(c[aa>>2]|0)==26):0){c[$>>2]=0;break}c[$>>2]=0;c[vf>>2]=VC(c[(c[ba>>2]|0)+16>>2]|0,$)|0;if(c[vf>>2]|0)break a;else break}else{if((f|0)<=0?!((c[$>>2]|0)==0&(c[aa>>2]|0)==23):0){c[$>>2]=oF(c[(c[ba>>2]|0)+16>>2]|0)|0;break}c[$>>2]=0;c[vf>>2]=WC(c[(c[ba>>2]|0)+16>>2]|0,$)|0;if(c[vf>>2]|0)break a;else break}}while(0);if(!(c[$>>2]|0)){if(c[ga>>2]|0)c[sf>>2]=(c[sf>>2]|0)+20}else j=14;break}case 31:case 30:case 29:{c[ka>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[ma>>2]=0;f=c[(c[ka>>2]|0)+24>>2]|0;if((c[(c[sf>>2]|0)+16>>2]|0)>0){c[oa>>2]=f;b[oa+8>>1]=c[(c[sf>>2]|0)+16>>2];c[oa+4>>2]=c[fa>>2];c[na>>2]=oa}else{c[na>>2]=cD(f,pa,183,ma)|0;if(!(c[na>>2]|0)){j=887;break a}if(e[(c[fa>>2]|0)+8>>1]&16384|0)Oh(c[fa>>2]|0)|0;dD(c[(c[ka>>2]|0)+24>>2]|0,c[(c[fa>>2]|0)+12>>2]|0,c[(c[fa>>2]|0)+16>>2]|0,c[na>>2]|0)}a[(c[na>>2]|0)+10>>0]=0;c[ia>>2]=0;h:do if((d[c[sf>>2]>>0]|0)==29){c[ja>>2]=0;while(1){if((c[ja>>2]|0)>=(e[(c[na>>2]|0)+8>>1]|0))break h;if(e[(c[(c[na>>2]|0)+4>>2]|0)+((c[ja>>2]|0)*40|0)+8>>1]&1|0)break;c[ja>>2]=(c[ja>>2]|0)+1}c[ia>>2]=1}while(0);c[vf>>2]=eD(c[(c[ka>>2]|0)+16>>2]|0,c[na>>2]|0,0,0,0,la)|0;Hd(c[wf>>2]|0,c[ma>>2]|0);if(c[vf>>2]|0)break a;c[(c[ka>>2]|0)+28>>2]=c[la>>2];c[ha>>2]=(c[la>>2]|0)==0&1;a[(c[ka>>2]|0)+2>>0]=1-(c[ha>>2]|0);a[(c[ka>>2]|0)+3>>0]=0;c[(c[ka>>2]|0)+56>>2]=0;if((d[c[sf>>2]>>0]|0)==31)if(c[ha>>2]|0){j=14;break d}else break d;else if((c[ia>>2]|0)==0&(c[ha>>2]|0)!=0)break d;else{j=14;break d}}case 32:{c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);if((e[(c[fa>>2]|0)+8>>1]&4|0)==0?(gv(c[fa>>2]|0,67,a[ne>>0]|0),(e[(c[fa>>2]|0)+8>>1]&4|0)==0):0)j=14;else j=526;break}case 33:{j=526;break}case 113:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;Bf=(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2]|0)+32|0;zf=Bf;i=c[zf>>2]|0;zf=c[zf+4>>2]|0;g=IR(i|0,zf|0,1,0)|0;c[Bf>>2]=g;c[Bf+4>>2]=z;Bf=c[qa>>2]|0;c[Bf>>2]=i;c[Bf+4>>2]=zf;break}case 114:{Bf=va;c[Bf>>2]=0;c[Bf+4>>2]=0;c[xa>>2]=0;c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;c[wa>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];do if(!((d[(c[wa>>2]|0)+5>>0]|0)>>>1&1)){c[vf>>2]=pF(c[(c[wa>>2]|0)+16>>2]|0,xa)|0;if(c[vf>>2]|0)break a;if(c[xa>>2]|0){Bf=va;c[Bf>>2]=1;c[Bf+4>>2]=0;break}zf=Hp(c[(c[wa>>2]|0)+16>>2]|0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=z;Bf=va;zf=c[Bf+4>>2]|0;if((zf|0)>2147483647|(zf|0)==2147483647&(c[Bf>>2]|0)>>>0>=4294967295){Bf=(c[wa>>2]|0)+5|0;a[Bf>>0]=a[Bf>>0]&-3|2;break}else{zf=va;zf=IR(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=z;break}}while(0);if(c[(c[sf>>2]|0)+12>>2]|0){if(c[(c[tf>>2]|0)+184>>2]|0){c[Aa>>2]=c[(c[tf>>2]|0)+184>>2];while(1){f=c[Aa>>2]|0;if(!(c[(c[Aa>>2]|0)+4>>2]|0))break;c[Aa>>2]=c[f+4>>2]}c[za>>2]=(c[f+16>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0)}else c[za>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);hv(c[za>>2]|0)|0;Bf=c[za>>2]|0;if((c[Bf>>2]|0)==-1?(c[Bf+4>>2]|0)==2147483647:0){j=547;break c}if((d[(c[wa>>2]|0)+5>>0]|0)>>>1&1|0){j=547;break c}g=va;zf=c[g>>2]|0;g=c[g+4>>2]|0;Bf=c[za>>2]|0;Bf=IR(c[Bf>>2]|0,c[Bf+4>>2]|0,1,0)|0;i=z;if((g|0)<(i|0)|(g|0)==(i|0)&zf>>>0>>0){zf=c[za>>2]|0;zf=IR(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=z}i=va;zf=c[i+4>>2]|0;Bf=c[za>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}if((d[(c[wa>>2]|0)+5>>0]|0)>>>1&1|0){c[ya>>2]=0;do{Ze(8,va);i=va;Bf=c[i+4>>2]&1073741823;zf=va;c[zf>>2]=c[i>>2];c[zf+4>>2]=Bf;zf=va;zf=IR(c[zf>>2]|0,c[zf+4>>2]|0,1,0)|0;Bf=va;c[Bf>>2]=zf;c[Bf+4>>2]=z;Bf=va;Bf=eD(c[(c[wa>>2]|0)+16>>2]|0,0,c[Bf>>2]|0,c[Bf+4>>2]|0,0,xa)|0;c[vf>>2]=Bf;if(!((Bf|0)==0&(c[xa>>2]|0)==0))break;Bf=(c[ya>>2]|0)+1|0;c[ya>>2]=Bf}while((Bf|0)<100);if(c[vf>>2]|0)break a;if(!(c[xa>>2]|0)){j=557;break c}}a[(c[wa>>2]|0)+3>>0]=0;c[(c[wa>>2]|0)+56>>2]=0;i=va;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;break}case 116:case 115:{c[Ia>>2]=0;c[Ca>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);c[Ea>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];if((d[c[sf>>2]>>0]|0)==115){c[Da>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);g=c[Da>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0}else{g=c[(c[sf>>2]|0)+12>>2]|0;f=g;g=((g|0)<0)<<31>>31}Bf=Ja+8|0;c[Bf>>2]=f;c[Bf+4>>2]=g;if((a[(c[sf>>2]|0)+1>>0]|0)==-20?c[(c[wf>>2]|0)+220>>2]|0:0){c[Ga>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(a[(c[Ea>>2]|0)+1>>0]<<4)>>2];c[Ha>>2]=c[(c[sf>>2]|0)+16>>2];c[Ia>>2]=d[(c[sf>>2]|0)+3>>0]&4|0?23:18}else{c[Ha>>2]=0;c[Ga>>2]=0}if(d[(c[sf>>2]|0)+3>>0]&1|0){Bf=(c[tf>>2]|0)+44|0;c[Bf>>2]=(c[Bf>>2]|0)+1}if(d[(c[sf>>2]|0)+3>>0]&2|0){zf=Ja+8|0;i=c[zf>>2]|0;zf=c[zf+4>>2]|0;Bf=uf;c[Bf>>2]=i;c[Bf+4>>2]=zf;Bf=(c[wf>>2]|0)+32|0;c[Bf>>2]=i;c[Bf+4>>2]=zf}if(e[(c[Ca>>2]|0)+8>>1]&1|0){c[Ja+16>>2]=0;f=0}else{c[Ja+16>>2]=c[(c[Ca>>2]|0)+16>>2];f=c[(c[Ca>>2]|0)+12>>2]|0}c[Ja+20>>2]=f;if(d[(c[sf>>2]|0)+3>>0]&16|0)f=c[(c[Ea>>2]|0)+28>>2]|0;else f=0;c[Fa>>2]=f;if(e[(c[Ca>>2]|0)+8>>1]&16384|0)f=c[c[Ca>>2]>>2]|0;else f=0;c[Ja+24>>2]=f;c[Ja>>2]=0;c[vf>>2]=qF(c[(c[Ea>>2]|0)+16>>2]|0,Ja,(d[(c[sf>>2]|0)+3>>0]&8|0)!=0&1,c[Fa>>2]|0)|0;a[(c[Ea>>2]|0)+3>>0]=0;c[(c[Ea>>2]|0)+56>>2]=0;if(c[vf>>2]|0)break a;if(c[Ia>>2]|0?(c[(c[wf>>2]|0)+220>>2]|0)!=0:0){Bf=Ja+8|0;xb[c[(c[wf>>2]|0)+220>>2]&255](c[(c[wf>>2]|0)+216>>2]|0,c[Ia>>2]|0,c[Ga>>2]|0,c[c[Ha>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)}break}case 117:{c[Na>>2]=c[(c[sf>>2]|0)+8>>2];c[Ka>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];if((a[(c[sf>>2]|0)+1>>0]|0)==-20?c[(c[wf>>2]|0)+220>>2]|0:0){c[La>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(a[(c[Ka>>2]|0)+1>>0]<<4)>>2];c[Ma>>2]=c[(c[sf>>2]|0)+16>>2];if(d[(c[sf>>2]|0)+3>>0]&2|0?d[(c[Ka>>2]|0)+4>>0]|0:0){zf=Hp(c[(c[Ka>>2]|0)+16>>2]|0)|0;Bf=(c[Ka>>2]|0)+40|0;c[Bf>>2]=zf;c[Bf+4>>2]=z}}else{c[La>>2]=0;c[Ma>>2]=0}c[vf>>2]=rF(c[(c[Ka>>2]|0)+16>>2]|0,a[(c[sf>>2]|0)+3>>0]|0)|0;c[(c[Ka>>2]|0)+56>>2]=0;if(c[vf>>2]|0)break a;if((c[Na>>2]&1|0?(Bf=(c[tf>>2]|0)+44|0,c[Bf>>2]=(c[Bf>>2]|0)+1,c[(c[wf>>2]|0)+220>>2]|0):0)?(d[(c[Ma>>2]|0)+42>>0]&32|0)==0:0){Bf=(c[Ka>>2]|0)+40|0;xb[c[(c[wf>>2]|0)+220>>2]&255](c[(c[wf>>2]|0)+216>>2]|0,9,c[La>>2]|0,c[c[Ma>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)}break}case 118:{gr(c[wf>>2]|0,c[(c[tf>>2]|0)+44>>2]|0);c[(c[tf>>2]|0)+44>>2]=0;break}case 119:{c[Oa>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[Qa>>2]=c[(c[sf>>2]|0)+16>>2];c[Pa>>2]=0;c[vf>>2]=sF(c[Oa>>2]|0,c[fa>>2]|0,c[Qa>>2]|0,Pa)|0;if(c[vf>>2]|0)break a;if(c[Pa>>2]|0)j=14;break}case 120:{c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);c[Ra>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[vf>>2]=tF(c[Ra>>2]|0,c[qa>>2]|0)|0;if(c[vf>>2]|0)break a;c[(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+12>>2]<<2)>>2]|0)+56>>2]=0;break}case 122:case 121:{c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);c[Sa>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[Ta>>2]=c[(c[Sa>>2]|0)+16>>2];c[Ua>>2]=Ip(c[Ta>>2]|0)|0;if((c[Ua>>2]|0)>>>0>(c[(c[wf>>2]|0)+96>>2]|0)>>>0){j=886;break c}if(Kh(c[qa>>2]|0,(c[Ua>>2]|0)>>>0>32?c[Ua>>2]|0:32)|0){j=887;break a}c[(c[qa>>2]|0)+12>>2]=c[Ua>>2];b[(c[qa>>2]|0)+8>>1]=e[(c[qa>>2]|0)+8>>1]&-49664|16;f=c[Ta>>2]|0;g=c[Ua>>2]|0;i=c[(c[qa>>2]|0)+16>>2]|0;if(!(d[(c[Sa>>2]|0)+4>>0]|0))c[vf>>2]=Jp(f,0,g,i)|0;else c[vf>>2]=uF(f,0,g,i)|0;if(c[vf>>2]|0)break a;a[(c[qa>>2]|0)+10>>0]=1;break}case 123:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;c[Va>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];if(a[(c[Va>>2]|0)+2>>0]|0){b[(c[qa>>2]|0)+8>>1]=1;break d}f=c[Va>>2]|0;do if(!(a[(c[Va>>2]|0)+3>>0]|0)){g=c[Va>>2]|0;if((d[f>>0]|0)==2){c[Xa>>2]=c[c[g+16>>2]>>2];c[Ya>>2]=c[c[Xa>>2]>>2];c[vf>>2]=yb[c[(c[Ya>>2]|0)+48>>2]&255](c[(c[Va>>2]|0)+16>>2]|0,Wa)|0;qr(c[tf>>2]|0,c[Xa>>2]|0);if(c[vf>>2]|0)break a;else break}c[vf>>2]=vF(g)|0;if(c[vf>>2]|0)break a;if(a[(c[Va>>2]|0)+2>>0]|0){b[(c[qa>>2]|0)+8>>1]=1;break d}else{zf=Hp(c[(c[Va>>2]|0)+16>>2]|0)|0;Bf=Wa;c[Bf>>2]=zf;c[Bf+4>>2]=z;break}}else{i=f+40|0;zf=c[i+4>>2]|0;Bf=Wa;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}while(0);i=Wa;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;break}case 124:{c[Za>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];a[(c[Za>>2]|0)+2>>0]=1;c[(c[Za>>2]|0)+56>>2]=0;if(!(d[c[Za>>2]>>0]|0))Kq(c[(c[Za>>2]|0)+16>>2]|0);break}case 53:{c[_a>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[$a>>2]=c[(c[_a>>2]|0)+16>>2];c[ab>>2]=0;c[vf>>2]=pF(c[$a>>2]|0,ab)|0;a[(c[_a>>2]|0)+2>>0]=c[ab>>2];a[(c[_a>>2]|0)+3>>0]=0;c[(c[_a>>2]|0)+56>>2]=0;c[(c[_a>>2]|0)+28>>2]=c[(c[sf>>2]|0)+12>>2];if(c[vf>>2]|0)break a;if(c[ab>>2]|0?(c[(c[sf>>2]|0)+8>>2]|0)>0:0)j=14;break}case 56:case 55:{j=(c[tf>>2]|0)+156+8|0;c[j>>2]=(c[j>>2]|0)+1;j=619;break}case 57:{j=619;break}case 3:{c[fb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[gb>>2]=0;c[vf>>2]=yF(c[wf>>2]|0,c[fb>>2]|0,gb)|0;j=627;break}case 5:case 4:{if(c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2]|0)j=626;break}case 7:case 6:{j=626;break}case 126:case 125:{c[hb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[W>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);if(d[(c[sf>>2]|0)+3>>0]&1|0){Bf=(c[tf>>2]|0)+44|0;c[Bf>>2]=(c[Bf>>2]|0)+1}if(e[(c[W>>2]|0)+8>>1]&16384|0)f=Oh(c[W>>2]|0)|0;else f=0;c[vf>>2]=f;if(c[vf>>2]|0)break a;if((d[c[sf>>2]>>0]|0)==125)c[vf>>2]=zF(c[hb>>2]|0,c[W>>2]|0)|0;else{zf=c[(c[W>>2]|0)+12>>2]|0;Bf=ib+8|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;c[ib>>2]=c[(c[W>>2]|0)+16>>2];if(d[(c[sf>>2]|0)+3>>0]&16|0)f=c[(c[hb>>2]|0)+28>>2]|0;else f=0;c[vf>>2]=qF(c[(c[hb>>2]|0)+16>>2]|0,ib,c[(c[sf>>2]|0)+12>>2]|0,f)|0;c[(c[hb>>2]|0)+56>>2]=0}if(c[vf>>2]|0)break a;break}case 127:{c[jb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[kb>>2]=c[(c[jb>>2]|0)+16>>2];c[mb>>2]=c[(c[jb>>2]|0)+24>>2];b[mb+8>>1]=c[(c[sf>>2]|0)+12>>2];a[mb+10>>0]=0;c[mb+4>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);c[vf>>2]=eD(c[kb>>2]|0,mb,0,0,0,lb)|0;if(c[vf>>2]|0)break a;if((c[lb>>2]|0)==0?(c[vf>>2]=rF(c[kb>>2]|0,4)|0,c[vf>>2]|0):0)break a;c[(c[jb>>2]|0)+56>>2]=0;break}case 129:case 128:{c[nb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[vf>>2]=vF(c[nb>>2]|0)|0;if(c[vf>>2]|0)break a;if(a[(c[nb>>2]|0)+2>>0]|0){Fh((c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0)|0);break d}Bf=sb;c[Bf>>2]=0;c[Bf+4>>2]=0;c[vf>>2]=AF(c[wf>>2]|0,c[(c[nb>>2]|0)+16>>2]|0,sb)|0;if(c[vf>>2]|0)break a;f=c[tf>>2]|0;if((d[c[sf>>2]>>0]|0)==128){c[pb>>2]=c[(c[f+112>>2]|0)+(c[(c[sf>>2]|0)+12>>2]<<2)>>2];a[(c[pb>>2]|0)+2>>0]=0;i=sb;zf=c[i+4>>2]|0;Bf=(c[pb>>2]|0)+40|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;a[(c[pb>>2]|0)+3>>0]=1;c[(c[pb>>2]|0)+52>>2]=c[(c[sf>>2]|0)+16>>2];c[(c[pb>>2]|0)+48>>2]=c[nb>>2];break d}else{c[qa>>2]=WE(f,c[sf>>2]|0)|0;i=sb;zf=c[i+4>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;b[(c[qa>>2]|0)+8>>1]=4;break d}}case 61:case 60:case 59:case 58:{c[vb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[Bb>>2]=c[(c[vb>>2]|0)+24>>2];b[Bb+8>>1]=c[(c[sf>>2]|0)+16>>2];a[Bb+10>>0]=(d[c[sf>>2]>>0]|0)<60?-1:0;c[Bb+4>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[Ab>>2]=0;c[vf>>2]=BF(c[wf>>2]|0,c[vb>>2]|0,Bb,Ab)|0;f=c[Ab>>2]|0;if(!(d[c[sf>>2]>>0]&1))c[Ab>>2]=0-f;else c[Ab>>2]=f+1;if(c[vf>>2]|0)break a;if((c[Ab>>2]|0)>0)j=14;break}case 130:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=1;if((c[(c[wf>>2]|0)+160>>2]|0)>((c[(c[wf>>2]|0)+172>>2]|0)+1|0)){j=659;break c}c[Db>>2]=c[(c[sf>>2]|0)+12>>2];c[Cb>>2]=0;c[vf>>2]=CF(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[Db>>2]<<4)+4>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,Cb)|0;b[(c[qa>>2]|0)+8>>1]=4;zf=c[Cb>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;if(c[vf>>2]|0)break a;if(c[Cb>>2]|0){DF(c[wf>>2]|0,c[Db>>2]|0,c[Cb>>2]|0,c[(c[sf>>2]|0)+4>>2]|0);a[gf>>0]=(c[Db>>2]|0)+1}break}case 131:{c[Eb>>2]=0;c[vf>>2]=EF(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+8>>2]<<4)+4>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+12>>2]|0?Eb:0)|0;if(c[(c[sf>>2]|0)+12>>2]|0?(Bf=(c[tf>>2]|0)+44|0,c[Bf>>2]=(c[Bf>>2]|0)+(c[Eb>>2]|0),(c[(c[sf>>2]|0)+12>>2]|0)>0):0){zf=c[Eb>>2]|0;Bf=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0)|0;i=Bf;zf=IR(c[i>>2]|0,c[i+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;c[Bf>>2]=zf;c[Bf+4>>2]=z}if(c[vf>>2]|0)break a;break}case 133:{c[Fb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];if((d[c[Fb>>2]>>0]|0)!=1){c[vf>>2]=FF(c[(c[Fb>>2]|0)+16>>2]|0)|0;if(c[vf>>2]|0)break a;else break d}else{yr(c[wf>>2]|0,c[(c[Fb>>2]|0)+16>>2]|0);break d}}case 135:case 134:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;c[Gb>>2]=0;c[Jb>>2]=(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<4);if((d[c[sf>>2]>>0]|0)==135)c[Hb>>2]=1;else c[Hb>>2]=2;c[vf>>2]=lF(c[(c[Jb>>2]|0)+4>>2]|0,Gb,c[Hb>>2]|0)|0;if(c[vf>>2]|0)break a;zf=c[Gb>>2]|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 136:{c[Kb>>2]=c[(c[sf>>2]|0)+4>>2];c[Lb>>2]=(c[Kb>>2]|0)==1?23323:23342;c[Nb>>2]=c[wf>>2];c[Nb+8>>2]=c[(c[sf>>2]|0)+4>>2];c[Nb+4>>2]=(c[tf>>2]|0)+108;Bf=c[wf>>2]|0;i=c[Lb>>2]|0;zf=c[(c[sf>>2]|0)+16>>2]|0;c[af>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[Kb>>2]<<4)>>2];c[af+4>>2]=i;c[af+8>>2]=zf;c[Mb>>2]=Bj(Bf,36002,af)|0;if(!(c[Mb>>2]|0))c[vf>>2]=7;else{a[(c[wf>>2]|0)+148+5>>0]=1;c[Nb+12>>2]=0;c[vf>>2]=wu(c[wf>>2]|0,c[Mb>>2]|0,139,Nb,0)|0;if(!(c[vf>>2]|0))c[vf>>2]=c[Nb+12>>2];Hd(c[wf>>2]|0,c[Mb>>2]|0);a[(c[wf>>2]|0)+148+5>>0]=0}if(c[vf>>2]|0){j=681;break c}break}case 137:{c[vf>>2]=xu(c[wf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0)|0;if(c[vf>>2]|0)break a;break}case 138:{GF(c[wf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+16>>2]|0);break}case 139:{HF(c[wf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+16>>2]|0);break}case 140:{IF(c[wf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+16>>2]|0);break}case 141:{c[Ob>>2]=c[(c[sf>>2]|0)+8>>2];c[Pb>>2]=c[(c[sf>>2]|0)+16>>2];c[Sb>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[Rb>>2]=JF(c[(c[(c[wf>>2]|0)+16>>2]|0)+(d[(c[sf>>2]|0)+3>>0]<<4)+4>>2]|0,c[Pb>>2]|0,c[Ob>>2]|0,c[c[Sb>>2]>>2]|0,Qb)|0;zf=c[Qb>>2]|0;Bf=c[Sb>>2]|0;i=Bf;zf=FR(c[i>>2]|0,c[i+4>>2]|0,zf|0,((zf|0)<0)<<31>>31|0)|0;c[Bf>>2]=zf;c[Bf+4>>2]=z;Fh(c[J>>2]|0);if(c[Qb>>2]|0){if(!(c[Rb>>2]|0)){j=887;break a}Jh(c[J>>2]|0,c[Rb>>2]|0,-1,1,148)|0}Vh(c[J>>2]|0,d[ne>>0]|0)|0;break}case 142:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[W>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);if((e[(c[J>>2]|0)+8>>1]&32|0)==0?(KF(c[J>>2]|0),(e[(c[J>>2]|0)+8>>1]&32|0)==0):0){j=887;break a}Bf=c[W>>2]|0;LF(c[c[J>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0);break}case 62:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);if(e[(c[J>>2]|0)+8>>1]&32|0?MF(c[c[J>>2]>>2]|0,Tb)|0:0){j=Tb;Dh((c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0)|0,c[j>>2]|0,c[j+4>>2]|0);j=8;break d}Fh(c[J>>2]|0);j=7;break}case 63:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[Ub>>2]=c[(c[sf>>2]|0)+16>>2];if((e[(c[J>>2]|0)+8>>1]&32|0)==0?(KF(c[J>>2]|0),(e[(c[J>>2]|0)+8>>1]&32|0)==0):0){j=887;break a}if(c[Ub>>2]|0?(Bf=c[fa>>2]|0,c[Vb>>2]=NF(c[c[J>>2]>>2]|0,c[Ub>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)|0,c[Vb>>2]|0):0){j=14;break d}if((c[Ub>>2]|0)>=0){Bf=c[fa>>2]|0;LF(c[c[J>>2]>>2]|0,c[Bf>>2]|0,c[Bf+4>>2]|0)}break}case 64:{c[ac>>2]=c[(c[sf>>2]|0)+16>>2];c[Yb>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);if(a[(c[sf>>2]|0)+3>>0]|0){c[cc>>2]=c[(c[ac>>2]|0)+16>>2];c[$b>>2]=c[(c[tf>>2]|0)+184>>2];while(1){if(!(c[$b>>2]|0))break;if((c[(c[$b>>2]|0)+24>>2]|0)==(c[cc>>2]|0))break;c[$b>>2]=c[(c[$b>>2]|0)+4>>2]}if(c[$b>>2]|0)break d}if((c[(c[tf>>2]|0)+192>>2]|0)>=(c[(c[wf>>2]|0)+96+40>>2]|0)){j=710;break c}i:do if(!(e[(c[Yb>>2]|0)+8>>1]&64)){c[Wb>>2]=(c[(c[ac>>2]|0)+8>>2]|0)+(c[(c[ac>>2]|0)+12>>2]|0);if(!(c[(c[ac>>2]|0)+12>>2]|0))c[Wb>>2]=(c[Wb>>2]|0)+1;c[Xb>>2]=80+((c[Wb>>2]|0)*40|0)+(c[(c[ac>>2]|0)+12>>2]<<2);Bf=c[Xb>>2]|0;c[$b>>2]=jl(c[wf>>2]|0,Bf,((Bf|0)<0)<<31>>31)|0;if(!(c[$b>>2]|0)){j=887;break a}Lh(c[Yb>>2]|0);b[(c[Yb>>2]|0)+8>>1]=64;c[c[Yb>>2]>>2]=c[$b>>2];c[c[$b>>2]>>2]=c[tf>>2];c[(c[$b>>2]|0)+60>>2]=c[Wb>>2];c[(c[$b>>2]|0)+64>>2]=c[(c[ac>>2]|0)+12>>2];c[(c[$b>>2]|0)+48>>2]=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;c[(c[$b>>2]|0)+16>>2]=c[(c[tf>>2]|0)+92>>2];c[(c[$b>>2]|0)+56>>2]=c[(c[tf>>2]|0)+24>>2];c[(c[$b>>2]|0)+20>>2]=c[(c[tf>>2]|0)+112>>2];c[(c[$b>>2]|0)+44>>2]=c[(c[tf>>2]|0)+28>>2];c[(c[$b>>2]|0)+8>>2]=c[(c[tf>>2]|0)+88>>2];c[(c[$b>>2]|0)+52>>2]=c[(c[tf>>2]|0)+136>>2];c[(c[$b>>2]|0)+24>>2]=c[(c[ac>>2]|0)+16>>2];c[_b>>2]=(c[$b>>2]|0)+80+((c[(c[$b>>2]|0)+60>>2]|0)*40|0);c[Zb>>2]=(c[$b>>2]|0)+80;while(1){if((c[Zb>>2]|0)==(c[_b>>2]|0))break i;b[(c[Zb>>2]|0)+8>>1]=128;c[(c[Zb>>2]|0)+32>>2]=c[wf>>2];c[Zb>>2]=(c[Zb>>2]|0)+40}}else c[$b>>2]=c[c[Yb>>2]>>2];while(0);i=(c[tf>>2]|0)+192|0;c[i>>2]=(c[i>>2]|0)+1;c[(c[$b>>2]|0)+4>>2]=c[(c[tf>>2]|0)+184>>2];i=uf;zf=c[i+4>>2]|0;Bf=(c[$b>>2]|0)+32|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;c[(c[$b>>2]|0)+68>>2]=c[(c[tf>>2]|0)+44>>2];c[(c[$b>>2]|0)+72>>2]=c[(c[c[tf>>2]>>2]|0)+88>>2];c[(c[$b>>2]|0)+40>>2]=c[(c[tf>>2]|0)+204>>2];c[(c[tf>>2]|0)+204>>2]=0;c[(c[tf>>2]|0)+44>>2]=0;c[(c[tf>>2]|0)+184>>2]=c[$b>>2];Bf=(c[$b>>2]|0)+80|0;c[w>>2]=Bf;c[(c[tf>>2]|0)+92>>2]=Bf;c[(c[tf>>2]|0)+24>>2]=c[(c[$b>>2]|0)+60>>2];c[(c[tf>>2]|0)+28>>2]=c[(c[$b>>2]|0)+64>>2]&65535;c[(c[tf>>2]|0)+112>>2]=(c[w>>2]|0)+((c[(c[tf>>2]|0)+24>>2]|0)*40|0);Bf=c[c[ac>>2]>>2]|0;c[rf>>2]=Bf;c[(c[tf>>2]|0)+88>>2]=Bf;c[(c[tf>>2]|0)+136>>2]=c[(c[ac>>2]|0)+4>>2];c[sf>>2]=(c[rf>>2]|0)+-20;break}case 143:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;c[dc>>2]=c[(c[tf>>2]|0)+184>>2];c[ec>>2]=(c[(c[dc>>2]|0)+16>>2]|0)+(((c[(c[sf>>2]|0)+4>>2]|0)+(c[(c[(c[dc>>2]|0)+8>>2]|0)+((c[(c[dc>>2]|0)+48>>2]|0)*20|0)+4>>2]|0)|0)*40|0);Ri(c[qa>>2]|0,c[ec>>2]|0,4096);break}case 144:{f=c[sf>>2]|0;if(c[(c[wf>>2]|0)+24>>2]&33554432|0){i=c[f+8>>2]|0;f=(c[wf>>2]|0)+448|0;g=i;i=((i|0)<0)<<31>>31}else{i=c[(c[sf>>2]|0)+8>>2]|0;f=c[f+4>>2]|0?(c[wf>>2]|0)+440|0:(c[tf>>2]|0)+64|0;g=i;i=((i|0)<0)<<31>>31}zf=f;zf=IR(c[zf>>2]|0,c[zf+4>>2]|0,g|0,i|0)|0;Bf=f;c[Bf>>2]=zf;c[Bf+4>>2]=z;break}case 65:if(c[(c[sf>>2]|0)+4>>2]|0){Bf=(c[wf>>2]|0)+440|0;if(!((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0))break d;Bf=(c[wf>>2]|0)+448|0;if((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0){j=14;break d}else break d}else{Bf=(c[tf>>2]|0)+64|0;if(!((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0))break d;Bf=(c[wf>>2]|0)+448|0;if((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0){j=14;break d}else break d}case 145:{if(c[(c[tf>>2]|0)+184>>2]|0){c[fc>>2]=c[(c[tf>>2]|0)+184>>2];while(1){f=c[fc>>2]|0;if(!(c[(c[fc>>2]|0)+4>>2]|0))break;c[fc>>2]=c[f+4>>2]}c[J>>2]=(c[f+16>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0)}else c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);hv(c[J>>2]|0)|0;c[W>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0);hv(c[W>>2]|0)|0;zf=c[J>>2]|0;g=c[zf+4>>2]|0;Bf=c[W>>2]|0;i=c[Bf+4>>2]|0;if((g|0)<(i|0)|((g|0)==(i|0)?(c[zf>>2]|0)>>>0<(c[Bf>>2]|0)>>>0:0)){i=c[W>>2]|0;zf=c[i+4>>2]|0;Bf=c[J>>2]|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf}break}case 66:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);Bf=c[J>>2]|0;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>0){Bf=c[(c[sf>>2]|0)+12>>2]|0;j=c[J>>2]|0;zf=j;Bf=FR(c[zf>>2]|0,c[zf+4>>2]|0,Bf|0,((Bf|0)<0)<<31>>31|0)|0;c[j>>2]=Bf;c[j+4>>2]=z;j=14}break}case 146:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;Bf=c[J>>2]|0;zf=c[Bf+4>>2]|0;if((zf|0)<0|(zf|0)==0&(c[Bf>>2]|0)>>>0<=0){f=-1;g=-1}else{f=c[J>>2]|0;Bf=c[fa>>2]|0;zf=c[Bf+4>>2]|0;if((zf|0)>0|(zf|0)==0&(c[Bf>>2]|0)>>>0>0){i=c[fa>>2]|0;g=c[i>>2]|0;i=c[i+4>>2]|0}else{g=0;i=0}f=IR(c[f>>2]|0,c[f+4>>2]|0,g|0,i|0)|0;g=z}Bf=c[qa>>2]|0;c[Bf>>2]=f;c[Bf+4>>2]=g;break}case 67:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);Bf=c[J>>2]|0;if((c[Bf>>2]|0)!=0|(c[Bf+4>>2]|0)!=0){Bf=c[(c[sf>>2]|0)+12>>2]|0;j=c[J>>2]|0;zf=j;Bf=FR(c[zf>>2]|0,c[zf+4>>2]|0,Bf|0,((Bf|0)<0)<<31>>31|0)|0;c[j>>2]=Bf;c[j+4>>2]=z;j=14}break}case 68:{c[J>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);Bf=c[J>>2]|0;zf=Bf;zf=IR(c[zf>>2]|0,c[zf+4>>2]|0,-1,-1)|0;c[Bf>>2]=zf;c[Bf+4>>2]=z;Bf=c[J>>2]|0;if((c[Bf>>2]|0)==0&(c[Bf+4>>2]|0)==0)j=14;break}case 147:{c[gc>>2]=d[(c[sf>>2]|0)+3>>0];c[hc>>2]=od(c[wf>>2]|0,32+((c[gc>>2]|0)-1<<2)|0,0)|0;if(!(c[hc>>2]|0)){j=887;break a}c[(c[hc>>2]|0)+8>>2]=0;c[(c[hc>>2]|0)+4>>2]=c[(c[sf>>2]|0)+16>>2];c[(c[hc>>2]|0)+16>>2]=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;c[(c[hc>>2]|0)+12>>2]=c[tf>>2];a[(c[hc>>2]|0)+26>>0]=c[gc>>2];a[(c[sf>>2]|0)+1>>0]=-21;c[(c[sf>>2]|0)+16>>2]=c[hc>>2];a[c[sf>>2]>>0]=-108;j=750;break}case 148:{j=750;break}case 149:{c[nc>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[vf>>2]=Hh(c[nc>>2]|0,c[(c[sf>>2]|0)+16>>2]|0)|0;if(c[vf>>2]|0){j=762;break c}Vh(c[nc>>2]|0,d[ne>>0]|0)|0;if(XE(c[nc>>2]|0)|0){j=886;break c}break}case 8:{c[pc>>2]=0;c[pc+8>>2]=-1;c[pc+4>>2]=-1;c[vf>>2]=Yz(c[wf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+8>>2]|0,pc+4|0,pc+8|0)|0;if(c[vf>>2]|0){if((c[vf>>2]|0)!=5)break a;c[vf>>2]=0;c[pc>>2]=1}c[oc>>2]=0;c[qc>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);while(1){if((c[oc>>2]|0)>=3)break d;Bf=c[pc+(c[oc>>2]<<2)>>2]|0;Dh(c[qc>>2]|0,Bf,((Bf|0)<0)<<31>>31);c[oc>>2]=(c[oc>>2]|0)+1;c[qc>>2]=(c[qc>>2]|0)+40}}case 9:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;c[tc>>2]=c[(c[sf>>2]|0)+12>>2];c[rc>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<4)+4>>2];c[sc>>2]=Hj(c[rc>>2]|0)|0;c[uc>>2]=Uo(c[sc>>2]|0)|0;if((c[tc>>2]|0)==-1)c[tc>>2]=c[uc>>2];if(!(OF(c[sc>>2]|0)|0))c[tc>>2]=c[uc>>2];c[vc>>2]=Xk(c[sc>>2]|0,1)|0;do if((c[tc>>2]|0)==5){if(_c(c[vc>>2]|0)|0?oq(c[sc>>2]|0)|0:0)break;c[tc>>2]=c[uc>>2]}while(0);if((c[tc>>2]|0)!=(c[uc>>2]|0)?(c[uc>>2]|0)==5|(c[tc>>2]|0)==5:0){if(!(a[(c[wf>>2]|0)+67>>0]|0)){j=782;break c}if((c[(c[wf>>2]|0)+160>>2]|0)>1){j=782;break c}if((c[uc>>2]|0)==5){c[vf>>2]=PF(c[sc>>2]|0)|0;if(!(c[vf>>2]|0))QF(c[sc>>2]|0,c[tc>>2]|0)|0}else if((c[uc>>2]|0)==4)QF(c[sc>>2]|0,2)|0;if(!(c[vf>>2]|0))c[vf>>2]=Zo(c[rc>>2]|0,(c[tc>>2]|0)==5?2:1)|0}if(c[vf>>2]|0)c[tc>>2]=c[uc>>2];c[tc>>2]=QF(c[sc>>2]|0,c[tc>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=2562;Bf=vz(c[tc>>2]|0)|0;c[(c[qa>>2]|0)+16>>2]=Bf;Bf=_c(c[(c[qa>>2]|0)+16>>2]|0)|0;c[(c[qa>>2]|0)+12>>2]=Bf;a[(c[qa>>2]|0)+10>>0]=1;Vh(c[qa>>2]|0,d[ne>>0]|0)|0;if(c[vf>>2]|0)break a;break}case 10:{c[vf>>2]=RF((c[tf>>2]|0)+108|0,c[wf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0)|0;if(c[vf>>2]|0)break a;break}case 69:{c[wc>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<4)+4>>2];c[vf>>2]=SF(c[wc>>2]|0)|0;if(c[vf>>2]|0){if((c[vf>>2]|0)!=101)break a;c[vf>>2]=0;j=14}break}case 150:if(c[(c[sf>>2]|0)+4>>2]|0){Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2|1;break d}else{$p(c[wf>>2]|0);break d}case 151:{a[yc>>0]=c[(c[sf>>2]|0)+12>>2];if((d[yc>>0]|0)==0?0!=(c[(c[wf>>2]|0)+24>>2]&16384|0):0)break d;c[zc>>2]=c[(c[sf>>2]|0)+4>>2];c[vf>>2]=TF(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[zc>>2]<<4)+4>>2]|0,c[(c[sf>>2]|0)+8>>2]|0,a[yc>>0]|0)|0;if(c[vf>>2]|0){j=803;break c}break}case 152:{c[Bc>>2]=c[(c[sf>>2]|0)+16>>2];c[vf>>2]=UF(c[wf>>2]|0,c[Bc>>2]|0)|0;if(c[Bc>>2]|0)qr(c[tf>>2]|0,c[(c[Bc>>2]|0)+8>>2]|0);if(c[vf>>2]|0)break a;break}case 153:{f=Cc;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[Cc+32>>2]=c[wf>>2];c[vf>>2]=Gi(Cc,(c[w>>2]|0)+((c[(c[sf>>2]|0)+8>>2]|0)*40|0)|0)|0;c[Dc>>2]=wh(Cc)|0;if(c[Dc>>2]|0)c[vf>>2]=VF(c[wf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[Dc>>2]|0,(c[tf>>2]|0)+108|0)|0;Lh(Cc);if(c[vf>>2]|0)break a;break}case 154:{Bf=(c[wf>>2]|0)+172|0;c[Bf>>2]=(c[Bf>>2]|0)+1;c[vf>>2]=WF(c[wf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[(c[sf>>2]|0)+16>>2]|0)|0;Bf=(c[wf>>2]|0)+172|0;c[Bf>>2]=(c[Bf>>2]|0)+-1;if(c[vf>>2]|0)break a;break}case 155:{c[Ec>>2]=0;c[Fc>>2]=0;c[Gc>>2]=c[(c[(c[sf>>2]|0)+16>>2]|0)+8>>2];if(!(c[Gc>>2]|0)){j=814;break c}if(!(c[c[Gc>>2]>>2]|0)){j=814;break c}c[Hc>>2]=c[c[Gc>>2]>>2];c[vf>>2]=yb[c[(c[Hc>>2]|0)+24>>2]&255](c[Gc>>2]|0,Fc)|0;qr(c[tf>>2]|0,c[Gc>>2]|0);if(c[vf>>2]|0)break a;c[c[Fc>>2]>>2]=c[Gc>>2];c[Ec>>2]=iF(c[tf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,0,-1,2)|0;if(!(c[Ec>>2]|0)){j=818;break c}c[(c[Ec>>2]|0)+16>>2]=c[Fc>>2];Bf=(c[Gc>>2]|0)+4|0;c[Bf>>2]=(c[Bf>>2]|0)+1;break}case 11:{c[Mc>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[Nc>>2]=(c[Mc>>2]|0)+40;c[Qc>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[Oc>>2]=c[(c[Qc>>2]|0)+16>>2];c[Pc>>2]=c[c[Oc>>2]>>2];c[Lc>>2]=c[c[Pc>>2]>>2];c[Jc>>2]=c[c[Nc>>2]>>2];c[Kc>>2]=c[c[Mc>>2]>>2];c[Rc>>2]=0;c[Uc>>2]=c[(c[tf>>2]|0)+96>>2];c[Sc>>2]=0;while(1){if((c[Sc>>2]|0)>=(c[Jc>>2]|0))break;c[(c[Uc>>2]|0)+(c[Sc>>2]<<2)>>2]=(c[Nc>>2]|0)+(((c[Sc>>2]|0)+1|0)*40|0);c[Sc>>2]=(c[Sc>>2]|0)+1}c[vf>>2]=zb[c[(c[Lc>>2]|0)+32>>2]&255](c[Oc>>2]|0,c[Kc>>2]|0,c[(c[sf>>2]|0)+16>>2]|0,c[Jc>>2]|0,c[Uc>>2]|0)|0;qr(c[tf>>2]|0,c[Pc>>2]|0);if(c[vf>>2]|0)break a;c[Rc>>2]=tb[c[(c[Lc>>2]|0)+40>>2]&255](c[Oc>>2]|0)|0;a[(c[Qc>>2]|0)+2>>0]=0;if(c[Rc>>2]|0)j=14;break}case 156:{c[Zc>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[Xc>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);if(a[(c[Zc>>2]|0)+2>>0]|0){Fh(c[Xc>>2]|0);break d}c[Vc>>2]=c[c[(c[Zc>>2]|0)+16>>2]>>2];c[Wc>>2]=c[c[Vc>>2]>>2];c[Yc>>2]=0;c[Yc+4>>2]=0;c[Yc+8>>2]=0;c[Yc+12>>2]=0;c[Yc+16>>2]=0;c[Yc+20>>2]=0;c[Yc+24>>2]=0;c[Yc+28>>2]=0;c[Yc>>2]=c[Xc>>2];b[(c[Xc>>2]|0)+8>>1]=e[(c[Xc>>2]|0)+8>>1]&-49664|1;c[vf>>2]=ob[c[(c[Wc>>2]|0)+44>>2]&255](c[(c[Zc>>2]|0)+16>>2]|0,Yc,c[(c[sf>>2]|0)+8>>2]|0)|0;qr(c[tf>>2]|0,c[Vc>>2]|0);if(c[Yc+20>>2]|0)c[vf>>2]=c[Yc+20>>2];Vh(c[Xc>>2]|0,d[ne>>0]|0)|0;if(XE(c[Xc>>2]|0)|0){j=886;break c}if(c[vf>>2]|0)break a;break}case 70:{c[bd>>2]=0;c[cd>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];if(!(a[(c[cd>>2]|0)+2>>0]|0)){c[$c>>2]=c[c[(c[cd>>2]|0)+16>>2]>>2];c[ad>>2]=c[c[$c>>2]>>2];c[vf>>2]=tb[c[(c[ad>>2]|0)+36>>2]&255](c[(c[cd>>2]|0)+16>>2]|0)|0;qr(c[tf>>2]|0,c[$c>>2]|0);if(c[vf>>2]|0)break a;c[bd>>2]=tb[c[(c[ad>>2]|0)+40>>2]&255](c[(c[cd>>2]|0)+16>>2]|0)|0;if(c[bd>>2]|0)j=8;else j=7}break}case 157:{c[ed>>2]=c[(c[(c[sf>>2]|0)+16>>2]|0)+8>>2];c[fd>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0);c[vf>>2]=Vh(c[fd>>2]|0,1)|0;if(c[vf>>2]|0)break a;c[vf>>2]=yb[c[(c[c[ed>>2]>>2]|0)+76>>2]&255](c[ed>>2]|0,c[(c[fd>>2]|0)+16>>2]|0)|0;qr(c[tf>>2]|0,c[ed>>2]|0);Bf=(c[tf>>2]|0)+144|0;b[Bf>>1]=b[Bf>>1]&-2;if(c[vf>>2]|0)break a;break}case 12:{c[gd>>2]=c[(c[(c[sf>>2]|0)+16>>2]|0)+8>>2];if(!(c[gd>>2]|0)){j=837;break c}if(!(c[c[gd>>2]>>2]|0)){j=837;break c}c[id>>2]=c[c[gd>>2]>>2];c[jd>>2]=c[(c[sf>>2]|0)+8>>2];if(c[(c[id>>2]|0)+52>>2]|0){a[pd>>0]=a[(c[wf>>2]|0)+74>>0]|0;c[md>>2]=c[(c[tf>>2]|0)+96>>2];c[nd>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[kd>>2]=0;while(1){if((c[kd>>2]|0)>=(c[jd>>2]|0))break;c[(c[md>>2]|0)+(c[kd>>2]<<2)>>2]=c[nd>>2];c[nd>>2]=(c[nd>>2]|0)+40;c[kd>>2]=(c[kd>>2]|0)+1}a[(c[wf>>2]|0)+74>>0]=a[(c[sf>>2]|0)+3>>0]|0;c[vf>>2]=wb[c[(c[id>>2]|0)+52>>2]&255](c[gd>>2]|0,c[jd>>2]|0,c[md>>2]|0,ld)|0;a[(c[wf>>2]|0)+74>>0]=a[pd>>0]|0;qr(c[tf>>2]|0,c[gd>>2]|0);if((c[vf>>2]|0)==0?c[(c[sf>>2]|0)+4>>2]|0:0){zf=ld;i=c[zf>>2]|0;zf=c[zf+4>>2]|0;Bf=uf;c[Bf>>2]=i;c[Bf+4>>2]=zf;Bf=(c[wf>>2]|0)+32|0;c[Bf>>2]=i;c[Bf+4>>2]=zf}do if((c[vf>>2]&255|0)==19?d[(c[(c[sf>>2]|0)+16>>2]|0)+16>>0]|0:0){if((d[(c[sf>>2]|0)+3>>0]|0)==4){c[vf>>2]=0;break}if((d[(c[sf>>2]|0)+3>>0]|0)==5)f=2;else f=d[(c[sf>>2]|0)+3>>0]|0;a[(c[tf>>2]|0)+142>>0]=f}else j=852;while(0);if((j|0)==852){j=0;Bf=(c[tf>>2]|0)+44|0;c[Bf>>2]=(c[Bf>>2]|0)+1}if(c[vf>>2]|0)break a}break}case 158:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;zf=Wm(c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<4)+4>>2]|0)|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=0;break}case 159:{c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;c[sd>>2]=c[(c[(c[wf>>2]|0)+16>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<4)+4>>2];c[rd>>2]=0;if(c[(c[sf>>2]|0)+12>>2]|0?(c[rd>>2]=Wm(c[sd>>2]|0)|0,(c[rd>>2]|0)>>>0<(c[(c[sf>>2]|0)+12>>2]|0)>>>0):0)c[rd>>2]=c[(c[sf>>2]|0)+12>>2];zf=XF(c[sd>>2]|0,c[rd>>2]|0)|0;Bf=c[qa>>2]|0;c[Bf>>2]=zf;c[Bf+4>>2]=((zf|0)<0)<<31>>31;break}case 71:{do if(d[(c[wf>>2]|0)+76>>0]&129|0?((e[(c[tf>>2]|0)+144>>1]|0)>>>1&1|0)==0:0){if(c[(c[sf>>2]|0)+16>>2]|0)f=c[(c[sf>>2]|0)+16>>2]|0;else f=c[(c[tf>>2]|0)+176>>2]|0;c[td>>2]=f;if(f|0){f=c[(c[wf>>2]|0)+184>>2]|0;if(d[(c[wf>>2]|0)+76>>0]&128|0){c[vd>>2]=f;c[wd>>2]=YF(c[tf>>2]|0,c[td>>2]|0)|0;rb[c[vd>>2]&255](c[(c[wf>>2]|0)+188>>2]|0,c[wd>>2]|0);Kd(c[wd>>2]|0);break}else{wb[f&255](1,c[(c[wf>>2]|0)+188>>2]|0,c[tf>>2]|0,c[td>>2]|0)|0;break}}}while(0);if((c[(c[sf>>2]|0)+4>>2]|0)>=(c[70]|0)){c[ud>>2]=1;while(1){if((c[ud>>2]|0)>=(c[(c[tf>>2]|0)+136>>2]|0))break;if((d[(c[(c[tf>>2]|0)+88>>2]|0)+((c[ud>>2]|0)*20|0)>>0]|0)==20)c[(c[(c[tf>>2]|0)+88>>2]|0)+((c[ud>>2]|0)*20|0)+4>>2]=0;c[ud>>2]=(c[ud>>2]|0)+1}c[(c[sf>>2]|0)+4>>2]=0}j=(c[sf>>2]|0)+4|0;c[j>>2]=(c[j>>2]|0)+1;j=14;break}default:{}}while(0);do if((j|0)==20){j=0;c[mf>>2]=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;if(c[(c[sf>>2]|0)+4>>2]|0){j=25;break c}if(!(c[(c[tf>>2]|0)+184>>2]|0)){j=25;break c}c[Ib>>2]=c[(c[tf>>2]|0)+184>>2];c[(c[tf>>2]|0)+184>>2]=c[(c[Ib>>2]|0)+4>>2];i=(c[tf>>2]|0)+192|0;c[i>>2]=(c[i>>2]|0)+-1;gr(c[wf>>2]|0,c[(c[tf>>2]|0)+44>>2]|0);c[mf>>2]=sr(c[Ib>>2]|0)|0;i=(c[wf>>2]|0)+32|0;zf=c[i+4>>2]|0;Bf=uf;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;if((c[(c[sf>>2]|0)+8>>2]|0)==4)c[mf>>2]=(c[(c[(c[tf>>2]|0)+88>>2]|0)+((c[mf>>2]|0)*20|0)+8>>2]|0)-1;c[rf>>2]=c[(c[tf>>2]|0)+88>>2];c[w>>2]=c[(c[tf>>2]|0)+92>>2];c[sf>>2]=(c[rf>>2]|0)+((c[mf>>2]|0)*20|0)}else if((j|0)==43){j=0;c[qa>>2]=WE(c[tf>>2]|0,c[sf>>2]|0)|0;b[(c[qa>>2]|0)+8>>1]=2562;c[(c[qa>>2]|0)+16>>2]=c[(c[sf>>2]|0)+16>>2];c[(c[qa>>2]|0)+12>>2]=c[(c[sf>>2]|0)+4>>2];a[(c[qa>>2]|0)+10>>0]=a[ne>>0]|0;if((c[(c[sf>>2]|0)+12>>2]|0)>0?(c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0),Bf=c[fa>>2]|0,(c[Bf+4>>2]|0)==0?(c[Bf>>2]|0)==(d[(c[sf>>2]|0)+3>>0]|0):0):0)b[(c[qa>>2]|0)+8>>1]=2576}else if((j|0)==126){j=0;c[Pd>>2]=c[(c[sf>>2]|0)+16>>2];c[qa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);j:do if((c[c[Pd>>2]>>2]|0)!=(c[qa>>2]|0)){c[c[Pd>>2]>>2]=c[qa>>2];c[Od>>2]=(d[(c[Pd>>2]|0)+26>>0]|0)-1;while(1){if((c[Od>>2]|0)<0)break j;c[(c[Pd>>2]|0)+28+(c[Od>>2]<<2)>>2]=(c[w>>2]|0)+(((c[(c[sf>>2]|0)+8>>2]|0)+(c[Od>>2]|0)|0)*40|0);c[Od>>2]=(c[Od>>2]|0)+-1}}while(0);b[(c[c[Pd>>2]>>2]|0)+8>>1]=e[(c[c[Pd>>2]>>2]|0)+8>>1]&-49664|1;a[(c[Pd>>2]|0)+25>>0]=0;Bf=uf;zf=c[Bf+4>>2]|0;i=(c[wf>>2]|0)+32|0;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;ub[c[(c[(c[Pd>>2]|0)+4>>2]|0)+12>>2]&255](c[Pd>>2]|0,d[(c[Pd>>2]|0)+26>>0]|0,(c[Pd>>2]|0)+28|0);i=(c[wf>>2]|0)+32|0;zf=c[i+4>>2]|0;Bf=uf;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;if(a[(c[Pd>>2]|0)+25>>0]|0){if(c[(c[Pd>>2]|0)+20>>2]|0){Bf=c[tf>>2]|0;c[We>>2]=wh(c[c[Pd>>2]>>2]|0)|0;rr(Bf,18130,We);c[vf>>2]=c[(c[Pd>>2]|0)+20>>2]}vr(c[wf>>2]|0,(c[tf>>2]|0)+204|0,c[(c[Pd>>2]|0)+16>>2]|0,c[(c[sf>>2]|0)+4>>2]|0);if(c[vf>>2]|0)break a}if(e[(c[qa>>2]|0)+8>>1]&18|0?(Vh(c[c[Pd>>2]>>2]|0,d[ne>>0]|0)|0,XE(c[c[Pd>>2]>>2]|0)|0):0){j=886;break c}}else if((j|0)==446){if(b[(c[tf>>2]|0)+144>>1]&1|0){j=447;break c}c[K>>2]=0;c[L>>2]=0;c[M>>2]=c[(c[sf>>2]|0)+8>>2];c[O>>2]=c[(c[sf>>2]|0)+12>>2];c[T>>2]=(c[(c[wf>>2]|0)+16>>2]|0)+(c[O>>2]<<4);c[R>>2]=c[(c[T>>2]|0)+4>>2];if((d[c[sf>>2]>>0]|0)==105){c[Q>>2]=4|d[(c[sf>>2]|0)+3>>0]&8;if((d[(c[(c[T>>2]|0)+12>>2]|0)+76>>0]|0)<(d[(c[tf>>2]|0)+143>>0]|0))a[(c[tf>>2]|0)+143>>0]=a[(c[(c[T>>2]|0)+12>>2]|0)+76>>0]|0}else c[Q>>2]=0;if(d[(c[sf>>2]|0)+3>>0]&16|0){c[W>>2]=(c[w>>2]|0)+((c[M>>2]|0)*40|0);hv(c[W>>2]|0)|0;c[M>>2]=c[c[W>>2]>>2]}f=c[sf>>2]|0;if((a[(c[sf>>2]|0)+1>>0]|0)!=-6){if((a[f+1>>0]|0)==-14)c[K>>2]=c[(c[sf>>2]|0)+16>>2]}else{c[L>>2]=c[f+16>>2];c[K>>2]=(e[(c[L>>2]|0)+6>>1]|0)+(e[(c[L>>2]|0)+8>>1]|0)}c[S>>2]=iF(c[tf>>2]|0,c[(c[sf>>2]|0)+4>>2]|0,c[K>>2]|0,c[O>>2]|0,0)|0;if(!(c[S>>2]|0)){j=887;break a}a[(c[S>>2]|0)+2>>0]=1;j=(c[S>>2]|0)+5|0;a[j>>0]=a[j>>0]&-5|4;c[(c[S>>2]|0)+8>>2]=c[M>>2];c[vf>>2]=jF(c[R>>2]|0,c[M>>2]|0,c[Q>>2]|0,c[L>>2]|0,c[(c[S>>2]|0)+16>>2]|0)|0;c[(c[S>>2]|0)+24>>2]=c[L>>2];a[(c[S>>2]|0)+4>>0]=(a[(c[sf>>2]|0)+1>>0]|0)!=-6;j=460}else if((j|0)==526){j=0;c[fa>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);c[ra>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[sa>>2]=c[(c[ra>>2]|0)+16>>2];c[ta>>2]=0;Bf=c[fa>>2]|0;zf=c[Bf+4>>2]|0;i=ua;c[i>>2]=c[Bf>>2];c[i+4>>2]=zf;i=ua;c[vf>>2]=eD(c[sa>>2]|0,0,c[i>>2]|0,c[i+4>>2]|0,0,ta)|0;i=ua;zf=c[i+4>>2]|0;Bf=(c[ra>>2]|0)+40|0;c[Bf>>2]=c[i>>2];c[Bf+4>>2]=zf;a[(c[ra>>2]|0)+2>>0]=0;c[(c[ra>>2]|0)+56>>2]=0;a[(c[ra>>2]|0)+3>>0]=0;c[(c[ra>>2]|0)+28>>2]=c[ta>>2];if(c[ta>>2]|0){if(c[(c[sf>>2]|0)+8>>2]|0){j=14;break}c[vf>>2]=um(81458)|0}if(c[vf>>2]|0)break a}else if((j|0)==619){j=0;c[bb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[db>>2]=1;f=c[bb>>2]|0;if((d[c[bb>>2]>>0]|0)==1)c[vf>>2]=wF(f,db)|0;else{c[cb>>2]=c[f+16>>2];c[vf>>2]=xF(c[cb>>2]|0,db)|0;a[(c[bb>>2]|0)+3>>0]=0;c[(c[bb>>2]|0)+56>>2]=0}if(c[vf>>2]|0)break a;a[(c[bb>>2]|0)+2>>0]=c[db>>2];if(c[db>>2]|0)j=14}else if((j|0)==626){c[fb>>2]=c[(c[(c[tf>>2]|0)+112>>2]|0)+(c[(c[sf>>2]|0)+4>>2]<<2)>>2];c[gb>>2]=c[(c[sf>>2]|0)+12>>2];c[vf>>2]=yb[c[(c[sf>>2]|0)+16>>2]&255](c[(c[fb>>2]|0)+16>>2]|0,gb)|0;j=627}else if((j|0)==750){j=0;c[jc>>2]=c[(c[sf>>2]|0)+16>>2];c[kc>>2]=(c[w>>2]|0)+((c[(c[sf>>2]|0)+12>>2]|0)*40|0);k:do if((c[(c[jc>>2]|0)+8>>2]|0)!=(c[kc>>2]|0)){c[(c[jc>>2]|0)+8>>2]=c[kc>>2];c[ic>>2]=(d[(c[jc>>2]|0)+26>>0]|0)-1;while(1){if((c[ic>>2]|0)<0)break k;c[(c[jc>>2]|0)+28+(c[ic>>2]<<2)>>2]=(c[w>>2]|0)+(((c[(c[sf>>2]|0)+8>>2]|0)+(c[ic>>2]|0)|0)*40|0);c[ic>>2]=(c[ic>>2]|0)+-1}}while(0);Bf=(c[kc>>2]|0)+12|0;c[Bf>>2]=(c[Bf>>2]|0)+1;Qi(lc,c[wf>>2]|0,1);c[c[jc>>2]>>2]=lc;a[(c[jc>>2]|0)+25>>0]=0;a[(c[jc>>2]|0)+24>>0]=0;ub[c[(c[(c[jc>>2]|0)+4>>2]|0)+12>>2]&255](c[jc>>2]|0,d[(c[jc>>2]|0)+26>>0]|0,(c[jc>>2]|0)+28|0);if(a[(c[jc>>2]|0)+25>>0]|0){if(c[(c[jc>>2]|0)+20>>2]|0){Bf=c[tf>>2]|0;c[cf>>2]=wh(lc)|0;rr(Bf,18130,cf);c[vf>>2]=c[(c[jc>>2]|0)+20>>2]}Lh(lc);if(c[vf>>2]|0)break a}if(a[(c[jc>>2]|0)+24>>0]|0?(c[ic>>2]=c[(c[sf>>2]|0)+-20+4>>2],c[ic>>2]|0):0)Dh((c[w>>2]|0)+((c[ic>>2]|0)*40|0)|0,1,0)}while(0);do if((j|0)==14){j=0;c[sf>>2]=(c[rf>>2]|0)+(((c[(c[sf>>2]|0)+8>>2]|0)-1|0)*20|0)}else if((j|0)==460){j=0;kF(c[(c[S>>2]|0)+16>>2]|0,d[(c[sf>>2]|0)+3>>0]&3);if(c[vf>>2]|0)break a}else if((j|0)==627){j=0;c[(c[fb>>2]|0)+56>>2]=0;if(c[vf>>2]|0)break a;f=(c[fb>>2]|0)+2|0;if(!(c[gb>>2]|0)){a[f>>0]=0;j=(c[tf>>2]|0)+156+(d[(c[sf>>2]|0)+3>>0]<<2)|0;c[j>>2]=(c[j>>2]|0)+1;j=7;break}else{a[f>>0]=1;j=8;break}}while(0);if((j|0)==7){c[sf>>2]=(c[rf>>2]|0)+(((c[(c[sf>>2]|0)+8>>2]|0)-1|0)*20|0);j=8}if((j|0)==8){j=0;if(c[(c[wf>>2]|0)+248>>2]|0)break b;if((c[(c[wf>>2]|0)+304>>2]|0?(c[xf>>2]|0)>>>0>=(c[k>>2]|0)>>>0:0)?(c[k>>2]=(c[xf>>2]|0)+(c[(c[wf>>2]|0)+312>>2]|0)-(((c[xf>>2]|0)>>>0)%((c[(c[wf>>2]|0)+312>>2]|0)>>>0)|0),tb[c[(c[wf>>2]|0)+304>>2]&255](c[(c[wf>>2]|0)+308>>2]|0)|0):0){j=12;break}}c[sf>>2]=(c[sf>>2]|0)+20}switch(j|0){case 12:{c[vf>>2]=9;break a}case 25:{c[(c[tf>>2]|0)+40>>2]=c[(c[sf>>2]|0)+4>>2];a[(c[tf>>2]|0)+142>>0]=c[(c[sf>>2]|0)+8>>2];c[(c[tf>>2]|0)+36>>2]=c[mf>>2];if(c[(c[tf>>2]|0)+40>>2]|0){f=c[tf>>2]|0;g=c[sf>>2]|0;if(a[(c[sf>>2]|0)+3>>0]|0){c[nf>>2]=c[5516+((d[g+3>>0]|0)-1<<2)>>2];rr(f,35618,nf);if(c[(c[sf>>2]|0)+16>>2]|0){Bf=c[wf>>2]|0;zf=c[(c[sf>>2]|0)+16>>2]|0;c[of>>2]=c[(c[tf>>2]|0)+108>>2];c[of+4>>2]=zf;Bf=Bj(Bf,35639,of)|0;c[(c[tf>>2]|0)+108>>2]=Bf}}else{c[pf>>2]=c[g+16>>2];rr(f,18130,pf)}Bf=c[(c[sf>>2]|0)+4>>2]|0;sf=c[(c[tf>>2]|0)+176>>2]|0;zf=c[(c[tf>>2]|0)+108>>2]|0;c[qf>>2]=c[mf>>2];c[qf+4>>2]=sf;c[qf+8>>2]=zf;hd(Bf,35646,qf)}c[vf>>2]=Zq(c[tf>>2]|0)|0;f=(c[tf>>2]|0)+40|0;if((c[vf>>2]|0)==5){c[f>>2]=5;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}else{c[vf>>2]=c[f>>2]|0?1:101;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}}case 64:{if((c[(c[wf>>2]|0)+304>>2]|0?(c[xf>>2]|0)>>>0>=(c[k>>2]|0)>>>0:0)?tb[c[(c[wf>>2]|0)+304>>2]&255](c[(c[wf>>2]|0)+308>>2]|0)|0:0){c[vf>>2]=9;break a}Bf=cr(c[tf>>2]|0,0)|0;c[vf>>2]=Bf;if(Bf)break a;c[vf>>2]=fr(c[tf>>2]|0,1)|0;c[(c[tf>>2]|0)+32>>2]=(c[(c[tf>>2]|0)+32>>2]|0)+2|1;Bf=(c[w>>2]|0)+((c[(c[sf>>2]|0)+4>>2]|0)*40|0)|0;c[(c[tf>>2]|0)+104>>2]=Bf;c[xd>>2]=Bf;c[zd>>2]=0;while(1){if((c[zd>>2]|0)>=(c[(c[sf>>2]|0)+8>>2]|0))break;if(e[(c[xd>>2]|0)+((c[zd>>2]|0)*40|0)+8>>1]&4096|0?Nh((c[xd>>2]|0)+((c[zd>>2]|0)*40|0)|0)|0:0){j=887;break a}Wh((c[xd>>2]|0)+((c[zd>>2]|0)*40|0)|0)|0;c[zd>>2]=(c[zd>>2]|0)+1}if(a[(c[wf>>2]|0)+69>>0]|0){j=887;break a}if(d[(c[wf>>2]|0)+76>>0]&4|0)wb[c[(c[wf>>2]|0)+184>>2]&255](4,c[(c[wf>>2]|0)+188>>2]|0,c[tf>>2]|0,0)|0;c[(c[tf>>2]|0)+36>>2]=(((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0)+1;c[vf>>2]=100;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}case 159:{c[vf>>2]=20;break a}case 269:{c[vf>>2]=um(79835)|0;break a}case 288:{if(!(c[(c[je>>2]|0)+72>>2]|0))Lh(qe);c[vf>>2]=um(79894)|0;break a}case 372:{c[(c[tf>>2]|0)+36>>2]=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;a[(c[wf>>2]|0)+67>>0]=0;c[vf>>2]=5;c[(c[tf>>2]|0)+40>>2]=5;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}case 395:{c[lf>>2]=c[(c[sf>>2]|0)+4>>2];c[y>>2]=c[(c[sf>>2]|0)+8>>2];if((c[lf>>2]|0)==(d[(c[wf>>2]|0)+67>>0]|0)){if(c[lf>>2]|0)f=c[y>>2]|0?35870:35913;else f=35954;rr(c[tf>>2]|0,f,kf);c[vf>>2]=1;break a}do if(!(c[y>>2]|0)){if(c[lf>>2]|0?(c[(c[wf>>2]|0)+164>>2]|0)>0:0){rr(c[tf>>2]|0,35815,$e);c[vf>>2]=5;break a}Bf=cr(c[tf>>2]|0,1)|0;c[vf>>2]=Bf;if(Bf|0){Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}else{f=c[lf>>2]&255;g=c[wf>>2]|0;break}}else{Dq(c[wf>>2]|0,516);f=1;g=c[wf>>2]|0}while(0);a[g+67>>0]=f;if((Zq(c[tf>>2]|0)|0)==5){c[(c[tf>>2]|0)+36>>2]=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;a[(c[wf>>2]|0)+67>>0]=1-(c[lf>>2]|0);c[vf>>2]=5;c[(c[tf>>2]|0)+40>>2]=5;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}Eq(c[wf>>2]|0);if(!(c[(c[tf>>2]|0)+40>>2]|0)){c[vf>>2]=101;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}else{c[vf>>2]=1;Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}}case 413:{c[vf>>2]=8;break a}case 416:{if((c[vf>>2]&255|0)!=5)break a;c[(c[tf>>2]|0)+36>>2]=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;c[(c[tf>>2]|0)+40>>2]=c[vf>>2];Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}case 447:{c[vf>>2]=516;break a}case 547:{c[vf>>2]=13;break a}case 557:{c[vf>>2]=13;break a}case 659:{c[vf>>2]=6;a[(c[tf>>2]|0)+142>>0]=2;break a}case 681:{Yo(c[wf>>2]|0);if((c[vf>>2]|0)==7){j=887;break a}else break a}case 710:{c[vf>>2]=1;rr(c[tf>>2]|0,36066,bf);break a}case 762:{Bf=c[tf>>2]|0;c[df>>2]=wh(c[nc>>2]|0)|0;rr(Bf,18130,df);break a}case 782:{c[vf>>2]=1;Bf=c[tf>>2]|0;c[ef>>2]=(c[tc>>2]|0)==5?36103:36108;rr(Bf,36115,ef);break a}case 803:{if((c[vf>>2]&255|0)!=6)break a;c[Ac>>2]=c[(c[sf>>2]|0)+16>>2];Bf=c[tf>>2]|0;c[ff>>2]=c[Ac>>2];rr(Bf,36167,ff);break a}case 814:{c[vf>>2]=6;break a}case 818:{tb[c[(c[Hc>>2]|0)+28>>2]&255](c[Fc>>2]|0)|0;j=887;break a}case 837:{c[vf>>2]=6;break a}case 885:{Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}case 886:{rr(c[tf>>2]|0,19093,Te);c[vf>>2]=18;break a}}}while(0);c[vf>>2]=d[(c[wf>>2]|0)+69>>0]|0?7:9;c[(c[tf>>2]|0)+40>>2]=c[vf>>2];Bf=c[tf>>2]|0;c[Ve>>2]=Ci(c[vf>>2]|0)|0;rr(Bf,18130,Ve)}while(0);if((j|0)==887){yd(c[wf>>2]|0);rr(c[tf>>2]|0,19371,Ue);c[vf>>2]=7}if(a[(c[wf>>2]|0)+69>>0]|0)c[vf>>2]=7;if((c[vf>>2]|0)!=3082?(c[(c[tf>>2]|0)+108>>2]|0)==0:0){Bf=c[tf>>2]|0;c[hf>>2]=Ci(c[vf>>2]|0)|0;rr(Bf,18130,hf)}c[(c[tf>>2]|0)+40>>2]=c[vf>>2];Mo(c[wf>>2]|0,c[vf>>2]|0);Bf=c[vf>>2]|0;qf=c[(c[tf>>2]|0)+176>>2]|0;zf=c[(c[tf>>2]|0)+108>>2]|0;c[jf>>2]=((c[sf>>2]|0)-(c[rf>>2]|0)|0)/20|0;c[jf+4>>2]=qf;c[jf+8>>2]=zf;hd(Bf,36196,jf);Zq(c[tf>>2]|0)|0;if((c[vf>>2]|0)==3082)yd(c[wf>>2]|0);c[vf>>2]=1;if((d[gf>>0]|0)<=0){Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}$r(c[wf>>2]|0,(d[gf>>0]|0)-1|0);Bf=uf;uf=Bf;uf=c[uf>>2]|0;Bf=Bf+4|0;Bf=c[Bf>>2]|0;zf=c[wf>>2]|0;zf=zf+32|0;wf=zf;c[wf>>2]=uf;zf=zf+4|0;c[zf>>2]=Bf;zf=c[xf>>2]|0;Bf=c[tf>>2]|0;Bf=Bf+156|0;Bf=Bf+16|0;xf=c[Bf>>2]|0;zf=xf+zf|0;c[Bf>>2]=zf;Bf=c[vf>>2]|0;l=yf;return Bf|0}function TE(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;b=h+16|0;d=h+12|0;e=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[d>>2]=0;c[e>>2]=0;while(1){if((c[e>>2]|0)>=(c[(c[b>>2]|0)+20>>2]|0))break;c[f>>2]=c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)+4>>2];if(c[f>>2]|0?(Ek(c[f>>2]|0),c[g>>2]=UE(Hj(c[f>>2]|0)|0)|0,((c[g>>2]|0)>0?(c[(c[b>>2]|0)+224>>2]|0)!=0:0)&(c[d>>2]|0)==0):0)c[d>>2]=wb[c[(c[b>>2]|0)+224>>2]&255](c[(c[b>>2]|0)+228>>2]|0,c[b>>2]|0,c[(c[(c[b>>2]|0)+16>>2]|0)+(c[e>>2]<<4)>>2]|0,c[g>>2]|0)|0;c[e>>2]=(c[e>>2]|0)+1}l=h;return c[d>>2]|0}function UE(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=VE(c[(c[d>>2]|0)+216>>2]|0)|0;l=b;return a|0}function VE(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[b>>2]=a;c[d>>2]=0;if(!(c[b>>2]|0)){d=c[d>>2]|0;l=e;return d|0}c[d>>2]=c[(c[b>>2]|0)+12>>2];c[(c[b>>2]|0)+12>>2]=0;d=c[d>>2]|0;l=e;return d|0}function WE(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0;h=l;l=l+16|0;f=h+12|0;j=h+8|0;i=h+4|0;g=h;c[j>>2]=a;c[i>>2]=d;c[g>>2]=(c[(c[j>>2]|0)+92>>2]|0)+((c[(c[i>>2]|0)+8>>2]|0)*40|0);a=c[g>>2]|0;if((e[(c[g>>2]|0)+8>>1]|0)&9312|0){c[f>>2]=aI(a)|0;j=c[f>>2]|0;l=h;return j|0}else{b[a+8>>1]=4;c[f>>2]=c[g>>2];j=c[f>>2]|0;l=h;return j|0}return 0}function XE(a){a=a|0;var b=0,d=0,f=0,g=0;g=l;l=l+16|0;b=g+8|0;d=g+4|0;f=g;c[d>>2]=a;if(!((e[(c[d>>2]|0)+8>>1]|0)&18)){c[b>>2]=0;f=c[b>>2]|0;l=g;return f|0}c[f>>2]=c[(c[d>>2]|0)+12>>2];if((e[(c[d>>2]|0)+8>>1]|0)&16384|0)c[f>>2]=(c[f>>2]|0)+(c[c[d>>2]>>2]|0);c[b>>2]=(c[f>>2]|0)>(c[(c[(c[d>>2]|0)+32>>2]|0)+96>>2]|0)&1;f=c[b>>2]|0;l=g;return f|0}function YE(a){a=a|0;var d=0,f=0,g=0;g=l;l=l+16|0;d=g+4|0;f=g;c[f>>2]=a;a=e[(c[f>>2]|0)+8>>1]|0;do if(!((e[(c[f>>2]|0)+8>>1]|0)&12|0))if(a&18|0){b[d>>1]=$H(c[f>>2]|0)|0;break}else{b[d>>1]=0;break}else b[d>>1]=a&12;while(0);l=g;return b[d>>1]|0}function ZE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+12|0;f=h+8|0;g=h;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;d=g;a=c[f>>2]|0;if(!((c[d>>2]|0)==0?(c[d+4>>2]|0)==-2147483648:0)){g=FR(0,0,c[g>>2]|0,c[g+4>>2]|0)|0;c[e>>2]=li(a,g,z)|0;g=c[e>>2]|0;l=h;return g|0}d=a;b=c[d+4>>2]|0;if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>=0){c[e>>2]=1;g=c[e>>2]|0;l=h;return g|0}else{d=g;g=c[f>>2]|0;f=g;f=FR(c[f>>2]|0,c[f+4>>2]|0,c[d>>2]|0,c[d+4>>2]|0)|0;c[g>>2]=f;c[g+4>>2]=z;c[e>>2]=0;g=c[e>>2]|0;l=h;return g|0}return 0}function _E(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+20|0;f=i+16|0;g=i+8|0;h=i;c[f>>2]=a;a=g;c[a>>2]=b;c[a+4>>2]=d;a=c[f>>2]|0;b=c[a+4>>2]|0;d=h;c[d>>2]=c[a>>2];c[d+4>>2]=b;d=g;b=c[d+4>>2]|0;do if((b|0)>0|(b|0)==0&(c[d>>2]|0)>>>0>0){j=h;b=c[j>>2]|0;j=c[j+4>>2]|0;d=g;d=LR(-1,2147483647,c[d>>2]|0,c[d+4>>2]|0)|0;a=z;if((j|0)>(a|0)|(j|0)==(a|0)&b>>>0>d>>>0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}a=h;d=c[a>>2]|0;a=c[a+4>>2]|0;j=g;j=LR(0,-2147483648,c[j>>2]|0,c[j+4>>2]|0)|0;b=z;if((a|0)<(b|0)|(a|0)==(b|0)&d>>>0>>0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}}else if((c[g+4>>2]|0)<0){j=h;d=c[j+4>>2]|0;if((d|0)>0|(d|0)==0&(c[j>>2]|0)>>>0>0){a=g;d=c[a>>2]|0;a=c[a+4>>2]|0;j=h;j=LR(0,-2147483648,c[j>>2]|0,c[j+4>>2]|0)|0;b=z;if(!((a|0)<(b|0)|(a|0)==(b|0)&d>>>0>>0))break;c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}if((c[h+4>>2]|0)<0){j=g;if((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}j=h;if((c[j>>2]|0)==0?(c[j+4>>2]|0)==-2147483648:0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}d=h;d=FR(0,0,c[d>>2]|0,c[d+4>>2]|0)|0;a=z;j=g;j=FR(0,0,c[j>>2]|0,c[j+4>>2]|0)|0;j=LR(-1,2147483647,j|0,z|0)|0;b=z;if((a|0)>(b|0)|(a|0)==(b|0)&d>>>0>j>>>0){c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}}}while(0);j=h;h=g;h=RR(c[j>>2]|0,c[j+4>>2]|0,c[h>>2]|0,c[h+4>>2]|0)|0;j=c[f>>2]|0;c[j>>2]=h;c[j+4>>2]=z;c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function $E(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[g>>2]=b;c[h>>2]=e;c[i>>2]=c[c[g>>2]>>2];do if(!(d[c[i>>2]>>0]|0)){b=c[i>>2]|0;if(!(a[(c[i>>2]|0)+3>>0]|0)){if(!(rH(c[b+16>>2]|0)|0))break;c[f>>2]=sH(c[i>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}if(c[b+52>>2]|0?(e=c[(c[(c[i>>2]|0)+52>>2]|0)+(1+(c[c[h>>2]>>2]|0)<<2)>>2]|0,c[j>>2]=e,(e|0)>0):0){c[c[g>>2]>>2]=c[(c[i>>2]|0)+48>>2];c[c[h>>2]>>2]=(c[j>>2]|0)-1;c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}c[f>>2]=_H(c[i>>2]|0)|0;j=c[f>>2]|0;l=k;return j|0}while(0);c[f>>2]=0;j=c[f>>2]|0;l=k;return j|0}function aF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=ZH(c[f>>2]|0,c[e>>2]|0)|0;l=d;return b|0}function bF(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;j=p+28|0;k=p+24|0;m=p+20|0;n=p+16|0;o=p+12|0;h=p+8|0;q=p+4|0;i=p;c[j>>2]=a;c[k>>2]=d;c[m>>2]=e;c[n>>2]=f;c[o>>2]=g;c[q>>2]=0;c[i>>2]=0;c[h>>2]=aF(c[j>>2]|0,q)|0;if(((c[k>>2]|0)+(c[m>>2]|0)|0)>>>0<=(c[q>>2]|0)>>>0){c[(c[o>>2]|0)+16>>2]=(c[h>>2]|0)+(c[k>>2]|0);b[(c[o>>2]|0)+8>>1]=4112;c[(c[o>>2]|0)+12>>2]=c[m>>2];q=c[i>>2]|0;l=p;return q|0}else{c[i>>2]=YH(c[j>>2]|0,c[k>>2]|0,c[m>>2]|0,c[n>>2]|0,c[o>>2]|0)|0;q=c[i>>2]|0;l=p;return q|0}return 0}function cF(b){b=b|0;var c=0,e=0;e=l;l=l+16|0;c=e;a[c>>0]=b;l=e;return a[31409+(d[c>>0]|0)>>0]|0}function dF(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+48|0;n=o+36|0;f=o+32|0;k=o+28|0;i=o+24|0;g=o+20|0;h=o+16|0;m=o+8|0;j=o;c[f>>2]=a;c[k>>2]=b;c[i>>2]=d;c[g>>2]=e[(c[f>>2]|0)+8>>1];if(c[g>>2]&1|0){c[c[i>>2]>>2]=0;c[n>>2]=0;n=c[n>>2]|0;l=o;return n|0}if(!(c[g>>2]&4)){if(c[g>>2]&8|0){c[c[i>>2]>>2]=8;c[n>>2]=7;n=c[n>>2]|0;l=o;return n|0}c[h>>2]=c[(c[f>>2]|0)+12>>2];if(c[g>>2]&16384|0)c[h>>2]=(c[h>>2]|0)+(c[c[f>>2]>>2]|0);c[c[i>>2]>>2]=c[h>>2];c[n>>2]=(c[h>>2]<<1)+12+((c[g>>2]&2|0)!=0&1);n=c[n>>2]|0;l=o;return n|0}h=c[f>>2]|0;a=c[h+4>>2]|0;b=m;c[b>>2]=c[h>>2];c[b+4>>2]=a;b=m;a=c[b>>2]|0;b=c[b+4>>2]|0;if((c[m+4>>2]|0)<0){h=j;c[h>>2]=~a;c[h+4>>2]=~b}else{h=j;c[h>>2]=a;c[h+4>>2]=b}h=j;g=c[h+4>>2]|0;if(g>>>0<0|(g|0)==0&(c[h>>2]|0)>>>0<=127){h=m;a=c[i>>2]|0;if((0==(c[h+4>>2]|0)?(c[m>>2]&1|0)==(c[h>>2]|0):0)&(c[k>>2]|0)>=4){c[a>>2]=0;c[n>>2]=8+(c[j>>2]|0);n=c[n>>2]|0;l=o;return n|0}else{c[a>>2]=1;c[n>>2]=1;n=c[n>>2]|0;l=o;return n|0}}m=j;k=c[m+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[m>>2]|0)>>>0<=32767){c[c[i>>2]>>2]=2;c[n>>2]=2;n=c[n>>2]|0;l=o;return n|0}m=j;k=c[m+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[m>>2]|0)>>>0<=8388607){c[c[i>>2]>>2]=3;c[n>>2]=3;n=c[n>>2]|0;l=o;return n|0}m=j;k=c[m+4>>2]|0;if(k>>>0<0|(k|0)==0&(c[m>>2]|0)>>>0<=2147483647){c[c[i>>2]>>2]=4;c[n>>2]=4;n=c[n>>2]|0;l=o;return n|0}m=j;k=c[m+4>>2]|0;a=c[i>>2]|0;if(k>>>0<32767|(k|0)==32767&(c[m>>2]|0)>>>0<=4294967295){c[a>>2]=6;c[n>>2]=5;n=c[n>>2]|0;l=o;return n|0}else{c[a>>2]=8;c[n>>2]=6;n=c[n>>2]|0;l=o;return n|0}return 0}function eF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;h=i;c[g>>2]=b;j=h;c[j>>2]=d;c[j+4>>2]=e;e=h;j=c[e+4>>2]|0;d=h;b=c[d>>2]|0;d=c[d+4>>2]|0;if(j>>>0<0|(j|0)==0&(c[e>>2]|0)>>>0<=127){a[c[g>>2]>>0]=b&127;c[f>>2]=1;j=c[f>>2]|0;l=i;return j|0}if(d>>>0<0|(d|0)==0&b>>>0<=16383){j=h;j=OR(c[j>>2]|0,c[j+4>>2]|0,7)|0;a[c[g>>2]>>0]=j&127|128;a[(c[g>>2]|0)+1>>0]=c[h>>2]&127;c[f>>2]=2;j=c[f>>2]|0;l=i;return j|0}else{j=h;c[f>>2]=XH(c[g>>2]|0,c[j>>2]|0,c[j+4>>2]|0)|0;j=c[f>>2]|0;l=i;return j|0}return 0}function fF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;g=o+28|0;h=o+24|0;i=o+20|0;j=o+16|0;k=o+12|0;m=o;n=o+8|0;c[h>>2]=b;c[i>>2]=e;c[j>>2]=f;b=c[j>>2]|0;if((c[j>>2]|0)>>>0<=7&(c[j>>2]|0)>>>0>0){if((b|0)==7){i=c[i>>2]|0;c[m>>2]=c[i>>2];c[m+4>>2]=c[i+4>>2]}else{e=c[i>>2]|0;f=c[e+4>>2]|0;i=m;c[i>>2]=c[e>>2];c[i+4>>2]=f}j=d[31409+(c[j>>2]|0)>>0]|0;c[n>>2]=j;c[k>>2]=j;do{f=c[m>>2]&255;j=c[h>>2]|0;i=(c[n>>2]|0)+-1|0;c[n>>2]=i;a[j+i>>0]=f;i=m;i=OR(c[i>>2]|0,c[i+4>>2]|0,8)|0;j=m;c[j>>2]=i;c[j+4>>2]=z}while((c[n>>2]|0)!=0);c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}else{if(b>>>0<12){c[g>>2]=0;n=c[g>>2]|0;l=o;return n|0}c[k>>2]=c[(c[i>>2]|0)+12>>2];if((c[k>>2]|0)>>>0>0)MR(c[h>>2]|0,c[(c[i>>2]|0)+16>>2]|0,c[k>>2]|0)|0;c[g>>2]=c[k>>2];n=c[g>>2]|0;l=o;return n|0}return 0}function gF(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q;p=q+16|0;i=q+12|0;j=q+8|0;c[m>>2]=f;c[n>>2]=g;h=o;c[h>>2]=0;c[h+4>>2]=0;if(!(c[(c[m>>2]|0)+52>>2]|0)){p=c[n>>2]|0;c[p>>2]=0;c[p+4>>2]=0;c[k>>2]=0;p=c[k>>2]|0;l=q;return p|0}c[p>>2]=gD(c[m>>2]|0)|0;a:while(1){if(c[p>>2]|0){f=16;break}c[j>>2]=c[(c[m>>2]|0)+120+(a[(c[m>>2]|0)+68>>0]<<2)>>2];if(!(!(d[(c[j>>2]|0)+4>>0]|0)?(a[(c[j>>2]|0)+2>>0]|0)!=0:0)){g=o;g=IR(c[g>>2]|0,c[g+4>>2]|0,e[(c[j>>2]|0)+18>>1]|0,0)|0;h=o;c[h>>2]=g;c[h+4>>2]=z}if(a[(c[j>>2]|0)+4>>0]|0){do{if(!(a[(c[m>>2]|0)+68>>0]|0)){f=10;break a}$C(c[m>>2]|0)}while((e[(c[m>>2]|0)+80+(a[(c[m>>2]|0)+68>>0]<<1)>>1]|0)>=(e[(c[(c[m>>2]|0)+120+(a[(c[m>>2]|0)+68>>0]<<2)>>2]|0)+18>>1]|0));h=(c[m>>2]|0)+80+(a[(c[m>>2]|0)+68>>0]<<1)|0;b[h>>1]=(b[h>>1]|0)+1<<16>>16;c[j>>2]=c[(c[m>>2]|0)+120+(a[(c[m>>2]|0)+68>>0]<<2)>>2]}c[i>>2]=e[(c[m>>2]|0)+80+(a[(c[m>>2]|0)+68>>0]<<1)>>1];f=c[m>>2]|0;g=c[(c[j>>2]|0)+56>>2]|0;h=c[j>>2]|0;if((c[i>>2]|0)==(e[(c[j>>2]|0)+18>>1]|0)){c[p>>2]=ZC(f,el(g+((d[h+5>>0]|0)+8)|0)|0)|0;continue}else{c[p>>2]=ZC(f,el(g+(e[h+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+(c[i>>2]<<1)+1>>0]))|0)|0)|0;continue}}if((f|0)==10){j=o;o=c[j+4>>2]|0;p=c[n>>2]|0;c[p>>2]=c[j>>2];c[p+4>>2]=o;c[k>>2]=gD(c[m>>2]|0)|0;p=c[k>>2]|0;l=q;return p|0}else if((f|0)==16){c[k>>2]=c[p>>2];p=c[k>>2]|0;l=q;return p|0}return 0}function hF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;e=l;l=l+16|0;h=e+12|0;f=e+8|0;d=e+4|0;g=e;c[h>>2]=a;c[f>>2]=b;c[g>>2]=c[(c[h>>2]|0)+4>>2];Ek(c[h>>2]|0);c[d>>2]=iq(c[c[g>>2]>>2]|0,c[f>>2]|0)|0;l=e;return c[d>>2]|0}function iF(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+32|0;k=s+24|0;m=s+20|0;p=s+16|0;q=s+12|0;r=s+28|0;n=s+8|0;j=s+4|0;o=s;c[k>>2]=e;c[m>>2]=f;c[p>>2]=g;c[q>>2]=h;a[r>>0]=i;e=c[(c[k>>2]|0)+92>>2]|0;if((c[m>>2]|0)>0)e=e+(((c[(c[k>>2]|0)+24>>2]|0)-(c[m>>2]|0)|0)*40|0)|0;c[n>>2]=e;c[o>>2]=0;e=88+(c[p>>2]<<3)|0;if(!(d[r>>0]|0))f=VH()|0;else f=0;c[j>>2]=e+f;if(c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]|0){wr(c[k>>2]|0,c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]|0);c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]=0}if(Kh(c[n>>2]|0,c[j>>2]|0)|0){r=c[o>>2]|0;l=s;return r|0}e=c[(c[n>>2]|0)+16>>2]|0;c[o>>2]=e;c[(c[(c[k>>2]|0)+112>>2]|0)+(c[m>>2]<<2)>>2]=e;e=c[o>>2]|0;f=e+88|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(f|0));a[c[o>>2]>>0]=a[r>>0]|0;a[(c[o>>2]|0)+1>>0]=c[q>>2];b[(c[o>>2]|0)+12>>1]=c[p>>2];c[(c[o>>2]|0)+76>>2]=(c[o>>2]|0)+80+(c[p>>2]<<2);if(d[r>>0]|0|0){r=c[o>>2]|0;l=s;return r|0}c[(c[o>>2]|0)+16>>2]=(c[(c[n>>2]|0)+16>>2]|0)+(88+(c[p>>2]<<3));WH(c[(c[o>>2]|0)+16>>2]|0);r=c[o>>2]|0;l=s;return r|0}function jF(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+20|0;i=n+16|0;j=n+12|0;k=n+8|0;m=n+4|0;g=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;if((c[i>>2]|0)<1){c[g>>2]=um(62410)|0;m=c[g>>2]|0;l=n;return m|0}else{Ek(c[h>>2]|0);c[g>>2]=TH(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,c[m>>2]|0)|0;m=c[g>>2]|0;l=n;return m|0}return 0}function kF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=l;l=l+16|0;f=e+4|0;g=e;c[f>>2]=b;c[g>>2]=d;a[(c[f>>2]|0)+67>>0]=c[g>>2];l=e;return}function lF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;Ek(c[i>>2]|0);c[e>>2]=SH(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return c[e>>2]|0}function mF(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;w=l;l=l+64|0;s=w+52|0;n=w+48|0;o=w+44|0;t=w+40|0;p=w+36|0;u=w+32|0;v=w+28|0;i=w+24|0;j=w+20|0;r=w+16|0;k=w+12|0;q=w;m=w+8|0;c[s>>2]=f;c[n>>2]=g;c[o>>2]=h;c[r>>2]=0;c[i>>2]=24+((e[(c[(c[o>>2]|0)+24>>2]|0)+6>>1]|0)-1<<2);c[j>>2]=136;h=(c[j>>2]|0)+(c[i>>2]|0)|0;c[u>>2]=jl(c[s>>2]|0,h,((h|0)<0)<<31>>31)|0;c[(c[o>>2]|0)+16>>2]=c[u>>2];if(!(c[u>>2]|0)){c[r>>2]=7;v=c[r>>2]|0;l=w;return v|0}h=(c[u>>2]|0)+(c[j>>2]|0)|0;c[v>>2]=h;c[(c[u>>2]|0)+28>>2]=h;MR(c[v>>2]|0,c[(c[o>>2]|0)+24>>2]|0,c[i>>2]|0)|0;c[(c[v>>2]|0)+12>>2]=0;if(c[n>>2]|0){o=(c[v>>2]|0)+8|0;b[o>>1]=(e[o>>1]|0)+((e[(c[v>>2]|0)+6>>1]|0)-(c[n>>2]|0));b[(c[v>>2]|0)+6>>1]=c[n>>2]}o=Rm(c[(c[(c[s>>2]|0)+16>>2]|0)+4>>2]|0)|0;c[t>>2]=o;c[(c[u>>2]|0)+12>>2]=o;a[(c[u>>2]|0)+59>>0]=1;a[(c[u>>2]|0)+58>>0]=-1;a[(c[u>>2]|0)+57>>0]=(d[(c[u>>2]|0)+59>>0]|0|0)>1;c[(c[u>>2]|0)+24>>2]=c[s>>2];c[p>>2]=0;while(1){if((c[p>>2]|0)>=(d[(c[u>>2]|0)+59>>0]|0|0))break;c[k>>2]=(c[u>>2]|0)+64+((c[p>>2]|0)*72|0);c[(c[k>>2]|0)+8>>2]=c[u>>2];c[p>>2]=(c[p>>2]|0)+1}if(!(Vk(c[s>>2]|0)|0)){c[m>>2]=c[58];f=O(c[m>>2]|0,c[t>>2]|0)|0;c[c[u>>2]>>2]=f;f=c[(c[(c[(c[s>>2]|0)+16>>2]|0)+12>>2]|0)+80>>2]|0;g=q;c[g>>2]=f;c[g+4>>2]=((f|0)<0)<<31>>31;g=q;f=c[g>>2]|0;g=c[g+4>>2]|0;if((c[q+4>>2]|0)<0){o=RR(f|0,g|0,-1024,-1)|0;p=q;c[p>>2]=o;c[p+4>>2]=z}else{o=c[t>>2]|0;o=RR(f|0,g|0,o|0,((o|0)<0)<<31>>31|0)|0;p=q;c[p>>2]=o;c[p+4>>2]=z}h=q;n=c[h+4>>2]|0;h=(n|0)<0|(n|0)==0&(c[h>>2]|0)>>>0<536870912;n=q;o=h?c[n+4>>2]|0:0;p=q;c[p>>2]=h?c[n>>2]|0:536870912;c[p+4>>2]=o;if((c[c[u>>2]>>2]|0)>(c[q>>2]|0))f=c[c[u>>2]>>2]|0;else f=c[q>>2]|0;c[(c[u>>2]|0)+4>>2]=f;if((c[50]|0)==0?(c[(c[u>>2]|0)+52>>2]=c[t>>2],t=c[t>>2]|0,t=pd(t,((t|0)<0)<<31>>31)|0,c[(c[u>>2]|0)+36+4>>2]=t,(c[(c[u>>2]|0)+36+4>>2]|0)==0):0)c[r>>2]=7}if(((e[(c[v>>2]|0)+6>>1]|0)+(e[(c[v>>2]|0)+8>>1]|0)|0)>=13){v=c[r>>2]|0;l=w;return v|0}if(c[(c[v>>2]|0)+20>>2]|0?(c[(c[v>>2]|0)+20>>2]|0)!=(c[(c[s>>2]|0)+8>>2]|0):0){v=c[r>>2]|0;l=w;return v|0}a[(c[u>>2]|0)+60>>0]=3;v=c[r>>2]|0;l=w;return v|0}function nF(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;g=l;l=l+16|0;f=g+4|0;e=g;c[f>>2]=a;c[e>>2]=b;l=g;return ((d[(c[f>>2]|0)+67>>0]|0)&c[e>>2]|0)!=0|0}function oF(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;l=e;return 1!=(d[(c[b>>2]|0)+66>>0]|0|0)|0}function pF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;f=j+4|0;i=j;c[h>>2]=b;c[f>>2]=e;if(1==(d[(c[h>>2]|0)+66>>0]|0|0)?(d[(c[h>>2]|0)+64>>0]|0)&8|0:0){c[g>>2]=0;i=c[g>>2]|0;l=j;return i|0}c[i>>2]=gD(c[h>>2]|0)|0;do if(!(c[i>>2]|0)){b=c[f>>2]|0;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[b>>2]=1;break}else{c[b>>2]=0;c[i>>2]=_C(c[h>>2]|0)|0;h=(c[h>>2]|0)+64|0;f=d[h>>0]|0;a[h>>0]=(c[i>>2]|0)==0?f|8:f&-9;break}}while(0);c[g>>2]=c[i>>2];i=c[g>>2]|0;l=j;return i|0}function qF(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0;y=l;l=l+64|0;t=y+52|0;u=y+48|0;v=y+44|0;w=y+40|0;A=y+36|0;x=y+32|0;j=y+28|0;k=y+24|0;m=y+20|0;n=y+16|0;o=y+12|0;p=y+8|0;q=y+4|0;r=y;s=y+56|0;c[u>>2]=f;c[v>>2]=g;c[w>>2]=h;c[A>>2]=i;c[j>>2]=c[A>>2];c[k>>2]=0;c[o>>2]=c[c[u>>2]>>2];c[p>>2]=c[(c[o>>2]|0)+4>>2];c[r>>2]=0;f=c[u>>2]|0;if((d[(c[u>>2]|0)+66>>0]|0)==4){c[t>>2]=c[f+60>>2];A=c[t>>2]|0;l=y;return A|0}if(d[f+64>>0]&32|0?(c[x>>2]=jp(c[p>>2]|0,c[(c[u>>2]|0)+52>>2]|0,c[u>>2]|0)|0,c[x>>2]|0):0){c[t>>2]=c[x>>2];A=c[t>>2]|0;l=y;return A|0}do if(!(c[(c[u>>2]|0)+72>>2]|0)){A=(c[v>>2]|0)+8|0;zG(c[o>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0);if((d[(c[u>>2]|0)+64>>0]&2|0?(A=(c[v>>2]|0)+8|0,o=c[A+4>>2]|0,(o|0)>0|(o|0)==0&(c[A>>2]|0)>>>0>0):0)?(A=(c[u>>2]|0)+16|0,i=c[A>>2]|0,A=c[A+4>>2]|0,o=(c[v>>2]|0)+8|0,o=FR(c[o>>2]|0,c[o+4>>2]|0,1,0)|0,(i|0)==(o|0)&(A|0)==(z|0)):0){c[j>>2]=-1;break}if((c[j>>2]|0)==0?(A=(c[v>>2]|0)+8|0,c[x>>2]=eD(c[u>>2]|0,0,c[A>>2]|0,c[A+4>>2]|0,c[w>>2]|0,j)|0,c[x>>2]|0):0){c[t>>2]=c[x>>2];A=c[t>>2]|0;l=y;return A|0}}else if((c[j>>2]|0)==0?(A=(c[v>>2]|0)+8|0,c[x>>2]=bD(c[u>>2]|0,c[c[v>>2]>>2]|0,c[A>>2]|0,c[A+4>>2]|0,c[w>>2]|0,j)|0,c[x>>2]|0):0){c[t>>2]=c[x>>2];A=c[t>>2]|0;l=y;return A|0}while(0);c[n>>2]=c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2];c[r>>2]=c[(c[p>>2]|0)+80>>2];c[x>>2]=RH(c[n>>2]|0,c[r>>2]|0,c[v>>2]|0,k)|0;do if(!(c[x>>2]|0)){c[m>>2]=e[(c[u>>2]|0)+80+(a[(c[u>>2]|0)+68>>0]<<1)>>1];if(!(c[j>>2]|0)){c[x>>2]=Tm(c[(c[n>>2]|0)+72>>2]|0)|0;if(c[x>>2]|0)break;c[q>>2]=(c[(c[n>>2]|0)+56>>2]|0)+(e[(c[n>>2]|0)+20>>1]&(d[(c[(c[n>>2]|0)+64>>2]|0)+(c[m>>2]<<1)>>0]<<8|d[(c[(c[n>>2]|0)+64>>2]|0)+(c[m>>2]<<1)+1>>0]));if(!(a[(c[n>>2]|0)+4>>0]|0)){A=c[r>>2]|0;w=c[q>>2]|0;a[A>>0]=a[w>>0]|0;a[A+1>>0]=a[w+1>>0]|0;a[A+2>>0]=a[w+2>>0]|0;a[A+3>>0]=a[w+3>>0]|0}c[x>>2]=BG(c[n>>2]|0,c[q>>2]|0,s)|0;vH(c[n>>2]|0,c[m>>2]|0,e[s>>1]|0,x);if(c[x>>2]|0)break}else if((c[j>>2]|0)<0?(e[(c[n>>2]|0)+18>>1]|0)>0:0){w=(c[u>>2]|0)+80+(a[(c[u>>2]|0)+68>>0]<<1)|0;A=(b[w>>1]|0)+1<<16>>16;b[w>>1]=A;c[m>>2]=A&65535}wH(c[n>>2]|0,c[m>>2]|0,c[r>>2]|0,c[k>>2]|0,0,0,x);b[(c[u>>2]|0)+16+18>>1]=0;if(a[(c[n>>2]|0)+1>>0]|0){A=(c[u>>2]|0)+64|0;a[A>>0]=d[A>>0]&-3;c[x>>2]=xH(c[u>>2]|0)|0;a[(c[(c[u>>2]|0)+120+(a[(c[u>>2]|0)+68>>0]<<2)>>2]|0)+1>>0]=0;a[(c[u>>2]|0)+66>>0]=0}}while(0);c[t>>2]=c[x>>2];A=c[t>>2]|0;l=y;return A|0}function rF(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;z=l;l=l+64|0;v=z+56|0;w=z+52|0;A=z+63|0;o=z+48|0;p=z+44|0;x=z+40|0;y=z+36|0;q=z+32|0;t=z+28|0;u=z+24|0;h=z+60|0;r=z+20|0;s=z+62|0;i=z+16|0;j=z+12|0;k=z+8|0;m=z+4|0;n=z;c[w>>2]=f;a[A>>0]=g;c[o>>2]=c[c[w>>2]>>2];c[p>>2]=c[(c[o>>2]|0)+4>>2];c[r>>2]=0;a[s>>0]=d[A>>0]&2;c[u>>2]=a[(c[w>>2]|0)+68>>0];c[t>>2]=e[(c[w>>2]|0)+80+(c[u>>2]<<1)>>1];c[y>>2]=c[(c[w>>2]|0)+120+(c[u>>2]<<2)>>2];c[q>>2]=(c[(c[y>>2]|0)+56>>2]|0)+(e[(c[y>>2]|0)+20>>1]&(d[(c[(c[y>>2]|0)+64>>2]|0)+(c[t>>2]<<1)>>0]<<8|d[(c[(c[y>>2]|0)+64>>2]|0)+(c[t>>2]<<1)+1>>0]));do if(a[s>>0]|0){if(a[(c[y>>2]|0)+4>>0]|0?(A=e[(c[y>>2]|0)+16>>1]|0,A=A+((Do(c[y>>2]|0,c[q>>2]|0)|0)&65535)+2|0,(A|0)<=((c[(c[p>>2]|0)+36>>2]<<1>>>0)/3|0|0)):0){c[r>>2]=1;break}c[x>>2]=Gp(c[w>>2]|0)|0;if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}}while(0);if((a[(c[y>>2]|0)+4>>0]|0)==0?(c[i>>2]=0,c[x>>2]=WC(c[w>>2]|0,i)|0,c[x>>2]|0):0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}if(d[(c[w>>2]|0)+64>>0]&32|0?(c[x>>2]=jp(c[p>>2]|0,c[(c[w>>2]|0)+52>>2]|0,c[w>>2]|0)|0,c[x>>2]|0):0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}if(!(c[(c[w>>2]|0)+72>>2]|0)){A=(c[w>>2]|0)+16|0;zG(c[o>>2]|0,c[A>>2]|0,c[A+4>>2]|0,0)}c[x>>2]=Tm(c[(c[y>>2]|0)+72>>2]|0)|0;if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}c[x>>2]=BG(c[y>>2]|0,c[q>>2]|0,h)|0;vH(c[y>>2]|0,c[t>>2]|0,e[h>>1]|0,x);if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}if(!(a[(c[y>>2]|0)+4>>0]|0)){c[j>>2]=c[(c[w>>2]|0)+120+(a[(c[w>>2]|0)+68>>0]<<2)>>2];c[m>>2]=c[(c[(c[w>>2]|0)+120+((c[u>>2]|0)+1<<2)>>2]|0)+84>>2];c[q>>2]=(c[(c[j>>2]|0)+56>>2]|0)+(e[(c[j>>2]|0)+20>>1]&(d[(c[(c[j>>2]|0)+64>>2]|0)+((e[(c[j>>2]|0)+18>>1]|0)-1<<1)>>0]<<8|d[(c[(c[j>>2]|0)+64>>2]|0)+((e[(c[j>>2]|0)+18>>1]|0)-1<<1)+1>>0]));if((c[q>>2]|0)>>>0<((c[(c[j>>2]|0)+56>>2]|0)+4|0)>>>0){c[v>>2]=um(66449)|0;A=c[v>>2]|0;l=z;return A|0}c[k>>2]=(yb[c[(c[j>>2]|0)+76>>2]&255](c[j>>2]|0,c[q>>2]|0)|0)&65535;c[n>>2]=c[(c[p>>2]|0)+80>>2];c[x>>2]=Tm(c[(c[j>>2]|0)+72>>2]|0)|0;if(!(c[x>>2]|0))wH(c[y>>2]|0,c[t>>2]|0,(c[q>>2]|0)+-4|0,(c[k>>2]|0)+4|0,c[n>>2]|0,c[m>>2]|0,x);vH(c[j>>2]|0,(e[(c[j>>2]|0)+18>>1]|0)-1|0,c[k>>2]|0,x);if(c[x>>2]|0){c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}}c[x>>2]=xH(c[w>>2]|0)|0;if((c[x>>2]|0)==0?(a[(c[w>>2]|0)+68>>0]|0)>(c[u>>2]|0):0){while(1){f=c[w>>2]|0;if((a[(c[w>>2]|0)+68>>0]|0)<=(c[u>>2]|0))break;q=(c[w>>2]|0)+68|0;A=a[q>>0]|0;a[q>>0]=A+-1<<24>>24;np(c[f+120+(A<<24>>24<<2)>>2]|0)}c[x>>2]=xH(f)|0}do if(!(c[x>>2]|0)){f=c[w>>2]|0;if(!(c[r>>2]|0)){c[x>>2]=gD(f)|0;if(!(a[s>>0]|0))break;a[(c[w>>2]|0)+66>>0]=3;break}a[f+66>>0]=2;f=(c[w>>2]|0)+60|0;if((c[t>>2]|0)>=(e[(c[y>>2]|0)+18>>1]|0)){c[f>>2]=-1;b[(c[w>>2]|0)+80+(c[u>>2]<<1)>>1]=(e[(c[y>>2]|0)+18>>1]|0)-1;break}else{c[f>>2]=1;break}}while(0);c[v>>2]=c[x>>2];A=c[v>>2]|0;l=z;return A|0}function sF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;p=s+44|0;t=s+40|0;q=s+36|0;m=s+32|0;r=s+28|0;n=s+24|0;o=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;k=s+4|0;c[t>>2]=a;c[q>>2]=d;c[m>>2]=f;c[r>>2]=g;c[n>>2]=c[(c[t>>2]|0)+16>>2];c[o>>2]=c[(c[n>>2]|0)+32>>2];c[h>>2]=c[(c[t>>2]|0)+24>>2];do if(!(c[o>>2]|0)){t=cD(c[h>>2]|0,0,0,s)|0;c[(c[n>>2]|0)+32>>2]=t;c[o>>2]=t;if(c[o>>2]|0){b[(c[o>>2]|0)+8>>1]=c[m>>2];break}c[p>>2]=7;t=c[p>>2]|0;l=s;return t|0}while(0);c[j>>2]=uH(c[n>>2]|0,k)|0;dD(c[h>>2]|0,c[k>>2]|0,c[j>>2]|0,c[o>>2]|0);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[m>>2]|0)){a=10;break}if((e[(c[(c[o>>2]|0)+4>>2]|0)+((c[i>>2]|0)*40|0)+8>>1]|0)&1|0){a=8;break}c[i>>2]=(c[i>>2]|0)+1}if((a|0)==8){c[c[r>>2]>>2]=-1;c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}else if((a|0)==10){t=jD(c[(c[q>>2]|0)+12>>2]|0,c[(c[q>>2]|0)+16>>2]|0,c[o>>2]|0)|0;c[c[r>>2]>>2]=t;c[p>>2]=0;t=c[p>>2]|0;l=s;return t|0}return 0}function tF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;f=j+20|0;m=j+16|0;g=j+12|0;k=j+8|0;h=j+4|0;i=j;c[m>>2]=a;c[g>>2]=d;c[k>>2]=c[(c[m>>2]|0)+16>>2];c[h>>2]=uH(c[k>>2]|0,i)|0;if(Kh(c[g>>2]|0,c[i>>2]|0)|0){c[f>>2]=7;m=c[f>>2]|0;l=j;return m|0}else{c[(c[g>>2]|0)+12>>2]=c[i>>2];b[(c[g>>2]|0)+8>>1]=(e[(c[g>>2]|0)+8>>1]|0)&-49664|16;MR(c[(c[g>>2]|0)+16>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;c[f>>2]=0;m=c[f>>2]|0;l=j;return m|0}return 0}function uF(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=a;c[i>>2]=b;c[j>>2]=e;c[k>>2]=f;if(!(d[(c[h>>2]|0)+66>>0]|0)){c[g>>2]=4;m=c[g>>2]|0;l=n;return m|0}if((d[(c[h>>2]|0)+66>>0]|0|0)>=3)a=YC(c[h>>2]|0)|0;else a=0;c[m>>2]=a;if(!(c[m>>2]|0))c[m>>2]=Kp(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0,c[k>>2]|0,0)|0;c[g>>2]=c[m>>2];m=c[g>>2]|0;l=n;return m|0}function vF(a){a=a|0;var b=0,d=0,e=0;e=l;l=l+16|0;b=e+4|0;d=e;c[d>>2]=a;if(rH(c[(c[d>>2]|0)+16>>2]|0)|0){c[b>>2]=sH(c[d>>2]|0)|0;d=c[b>>2]|0;l=e;return d|0}else{c[b>>2]=0;d=c[b>>2]|0;l=e;return d|0}return 0}function wF(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;f=i+16|0;j=i+12|0;e=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[e>>2]=b;c[h>>2]=0;c[g>>2]=c[(c[j>>2]|0)+16>>2];b=c[g>>2]|0;if(d[(c[g>>2]|0)+56>>0]|0|0){c[h>>2]=KG(b)|0;c[h>>2]=c[h>>2];if(!(c[h>>2]|0)){c[h>>2]=fH(c[g>>2]|0)|0;c[c[e>>2]>>2]=0}c[f>>2]=c[h>>2];j=c[f>>2]|0;l=i;return j|0}a=c[e>>2]|0;if(c[b+36>>2]|0){c[a>>2]=0;c[h>>2]=NG((c[g>>2]|0)+64|0,(c[g>>2]|0)+36|0)|0}else c[a>>2]=1;c[f>>2]=c[h>>2];j=c[f>>2]|0;l=i;return j|0}function xF(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;f=h+8|0;e=h+4|0;g=h;c[f>>2]=a;c[e>>2]=b;c[g>>2]=gD(c[f>>2]|0)|0;do if(!(c[g>>2]|0)){a=c[e>>2]|0;if(!(d[(c[f>>2]|0)+66>>0]|0)){c[a>>2]=1;break}else{c[a>>2]=0;c[g>>2]=sD(c[f>>2]|0)|0;break}}while(0);l=h;return c[g>>2]|0}function yF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;f=k+20|0;m=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[m>>2]=d;c[g>>2]=e;c[h>>2]=c[(c[m>>2]|0)+16>>2];b=c[h>>2]|0;if(a[(c[h>>2]|0)+56>>0]|0){c[i>>2]=ZG(c[b+20>>2]|0,c[g>>2]|0)|0;m=c[i>>2]|0;l=k;return m|0}c[j>>2]=c[b+36>>2];c[(c[h>>2]|0)+36>>2]=c[(c[j>>2]|0)+4>>2];c[(c[j>>2]|0)+4>>2]=0;if(!(c[(c[h>>2]|0)+36+4>>2]|0))Br(c[f>>2]|0,c[j>>2]|0);c[c[g>>2]>>2]=((c[(c[h>>2]|0)+36>>2]|0)!=0^1)&1;c[i>>2]=0;m=c[i>>2]|0;l=k;return m|0}function zF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;t=l;l=l+64|0;n=t+52|0;u=t+48|0;o=t+44|0;p=t+40|0;q=t+36|0;r=t+32|0;h=t+28|0;s=t+24|0;g=t+20|0;f=t+16|0;i=t+12|0;j=t+8|0;k=t+4|0;m=t;c[u>>2]=b;c[o>>2]=e;c[q>>2]=0;c[p>>2]=c[(c[u>>2]|0)+16>>2];b=(c[(c[o>>2]|0)+16>>2]|0)+1|0;if((d[(c[(c[o>>2]|0)+16>>2]|0)+1>>0]|0|0)<128)c[f>>2]=d[b>>0];else lD(b,f)|0;do if((c[f>>2]|0)>0&(c[f>>2]|0)<10&(c[f>>2]|0)!=7){u=(c[p>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&1}else{if((c[f>>2]|0)>10?c[f>>2]&1|0:0){u=(c[p>>2]|0)+60|0;a[u>>0]=(d[u>>0]|0)&2;break}a[(c[p>>2]|0)+60>>0]=0}while(0);c[s>>2]=(c[(c[o>>2]|0)+12>>2]|0)+8;f=c[(c[o>>2]|0)+12>>2]|0;u=c[(c[o>>2]|0)+12>>2]|0;c[g>>2]=f+(pD(u,((u|0)<0)<<31>>31)|0);if(c[(c[p>>2]|0)+4>>2]|0){b=c[p>>2]|0;if(c[(c[p>>2]|0)+36+4>>2]|0){if(c[b+48>>2]|0)b=((c[(c[p>>2]|0)+48>>2]|0)+(c[s>>2]|0)|0)>(c[(c[p>>2]|0)+4>>2]|0);else b=0;c[h>>2]=b&1}else{if((c[b+36+8>>2]|0)<=(c[(c[p>>2]|0)+4>>2]|0))if((c[(c[p>>2]|0)+36+8>>2]|0)>(c[c[p>>2]>>2]|0))b=(Dg()|0)!=0;else b=0;else b=1;c[h>>2]=b&1}if(c[h>>2]|0){c[q>>2]=KG(c[p>>2]|0)|0;c[(c[p>>2]|0)+36+8>>2]=0;c[(c[p>>2]|0)+48>>2]=0}}u=(c[p>>2]|0)+36+8|0;c[u>>2]=(c[u>>2]|0)+(c[g>>2]|0);if((c[g>>2]|0)>(c[(c[p>>2]|0)+8>>2]|0))c[(c[p>>2]|0)+8>>2]=c[g>>2];do if(c[(c[p>>2]|0)+36+4>>2]|0){c[i>>2]=(c[(c[p>>2]|0)+48>>2]|0)+(c[s>>2]|0);do if((c[i>>2]|0)>(c[(c[p>>2]|0)+52>>2]|0)){c[k>>2]=(c[(c[p>>2]|0)+36>>2]|0)-(c[(c[p>>2]|0)+36+4>>2]|0);c[m>>2]=c[(c[p>>2]|0)+52>>2]<<1;while(1){b=c[m>>2]|0;if((c[m>>2]|0)>=(c[i>>2]|0))break;c[m>>2]=b<<1}if((b|0)>(c[(c[p>>2]|0)+4>>2]|0))c[m>>2]=c[(c[p>>2]|0)+4>>2];if((c[m>>2]|0)<(c[i>>2]|0))c[m>>2]=c[i>>2];u=c[m>>2]|0;c[j>>2]=Sd(c[(c[p>>2]|0)+36+4>>2]|0,u,((u|0)<0)<<31>>31)|0;if(c[j>>2]|0){c[(c[p>>2]|0)+36>>2]=(c[j>>2]|0)+(c[k>>2]|0);c[(c[p>>2]|0)+36+4>>2]=c[j>>2];c[(c[p>>2]|0)+52>>2]=c[m>>2];break}c[n>>2]=7;u=c[n>>2]|0;l=t;return u|0}while(0);c[r>>2]=(c[(c[p>>2]|0)+36+4>>2]|0)+(c[(c[p>>2]|0)+48>>2]|0);u=(c[p>>2]|0)+48|0;c[u>>2]=(c[u>>2]|0)+((c[s>>2]|0)+7&-8);if(c[(c[p>>2]|0)+36>>2]|0)c[(c[r>>2]|0)+4>>2]=(c[(c[p>>2]|0)+36>>2]|0)-(c[(c[p>>2]|0)+36+4>>2]|0)}else{u=c[s>>2]|0;c[r>>2]=pd(u,((u|0)<0)<<31>>31)|0;if(c[r>>2]|0){c[(c[r>>2]|0)+4>>2]=c[(c[p>>2]|0)+36>>2];break}c[n>>2]=7;u=c[n>>2]|0;l=t;return u|0}while(0);MR((c[r>>2]|0)+8|0,c[(c[o>>2]|0)+16>>2]|0,c[(c[o>>2]|0)+12>>2]|0)|0;c[c[r>>2]>>2]=c[(c[o>>2]|0)+12>>2];c[(c[p>>2]|0)+36>>2]=c[r>>2];c[n>>2]=c[q>>2];u=c[n>>2]|0;l=t;return u|0}function AF(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+128|0;k=o+116|0;r=o+112|0;q=o+108|0;m=o+104|0;p=o+80|0;f=o+100|0;n=o+96|0;g=o+92|0;h=o+88|0;i=o+40|0;j=o;c[r>>2]=a;c[q>>2]=b;c[m>>2]=e;e=p;c[e>>2]=0;c[e+4>>2]=0;e=p;c[e>>2]=Ip(c[q>>2]|0)|0;c[e+4>>2]=0;Qi(i,c[r>>2]|0,0);c[f>>2]=bF(c[q>>2]|0,0,c[p>>2]|0,1,i)|0;if(c[f>>2]|0){c[k>>2]=c[f>>2];r=c[k>>2]|0;l=o;return r|0}a=c[i+16>>2]|0;if((d[c[i+16>>2]>>0]|0|0)<128)c[n>>2]=d[a>>0];else lD(a,n)|0;if((c[n>>2]|0)>>>0>=3?(c[n>>2]|0)<=(c[i+12>>2]|0):0){a=(c[i+16>>2]|0)+((c[n>>2]|0)-1)|0;if((d[(c[i+16>>2]|0)+((c[n>>2]|0)-1)>>0]|0|0)<128)c[g>>2]=d[a>>0];else lD(a,g)|0;if(!((c[g>>2]|0)>>>0<1|(c[g>>2]|0)>>>0>9|(c[g>>2]|0)==7)?(c[h>>2]=d[31409+(c[g>>2]|0)>>0],(c[i+12>>2]|0)>>>0>=((c[n>>2]|0)+(c[h>>2]|0)|0)>>>0):0){nD((c[i+16>>2]|0)+((c[i+12>>2]|0)-(c[h>>2]|0))|0,c[g>>2]|0,j)|0;p=j;q=c[p+4>>2]|0;r=c[m>>2]|0;c[r>>2]=c[p>>2];c[r+4>>2]=q;Lh(i);c[k>>2]=0;r=c[k>>2]|0;l=o;return r|0}}Lh(i);c[k>>2]=um(74890)|0;r=c[k>>2]|0;l=o;return r|0}function BF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+80|0;i=o+72|0;j=o+68|0;p=o+64|0;k=o+60|0;m=o+56|0;n=o+40|0;f=o+52|0;g=o+48|0;h=o;c[j>>2]=a;c[p>>2]=b;c[k>>2]=d;c[m>>2]=e;b=n;c[b>>2]=0;c[b+4>>2]=0;c[g>>2]=c[(c[p>>2]|0)+16>>2];b=n;c[b>>2]=Ip(c[g>>2]|0)|0;c[b+4>>2]=0;b=n;a=c[b+4>>2]|0;e=n;d=c[e+4>>2]|0;if((a|0)<0|(a|0)==0&(c[b>>2]|0)>>>0<=0|((d|0)>0|(d|0)==0&(c[e>>2]|0)>>>0>2147483647)){c[c[m>>2]>>2]=0;c[i>>2]=um(74923)|0;p=c[i>>2]|0;l=o;return p|0}Qi(h,c[j>>2]|0,0);c[f>>2]=bF(c[g>>2]|0,0,c[n>>2]|0,1,h)|0;if(c[f>>2]|0){c[i>>2]=c[f>>2];p=c[i>>2]|0;l=o;return p|0}else{p=jD(c[h+12>>2]|0,c[h+16>>2]|0,c[k>>2]|0)|0;c[c[m>>2]>>2]=p;Lh(h);c[i>>2]=0;p=c[i>>2]|0;l=o;return p|0}return 0}function CF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=l;l=l+16|0;i=f+12|0;h=f+8|0;g=f+4|0;e=f;c[i>>2]=a;c[h>>2]=b;c[g>>2]=d;Ek(c[i>>2]|0);c[e>>2]=JG(c[i>>2]|0,c[h>>2]|0,c[g>>2]|0)|0;l=f;return c[e>>2]|0}function DF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;p=n+32|0;o=n+28|0;i=n+24|0;j=n+20|0;k=n+16|0;m=n+12|0;f=n+8|0;g=n+4|0;h=n;c[p>>2]=a;c[o>>2]=b;c[i>>2]=d;c[j>>2]=e;c[f>>2]=(c[(c[p>>2]|0)+16>>2]|0)+(c[o>>2]<<4);c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+8;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;c[g>>2]=c[(c[k>>2]|0)+8>>2];if((c[(c[g>>2]|0)+28>>2]|0)==(c[i>>2]|0))c[(c[g>>2]|0)+28>>2]=c[j>>2];c[k>>2]=c[c[k>>2]>>2]}c[m>>2]=(c[(c[f>>2]|0)+12>>2]|0)+24;c[k>>2]=c[(c[m>>2]|0)+8>>2];while(1){if(!(c[k>>2]|0))break;c[h>>2]=c[(c[k>>2]|0)+8>>2];if((c[(c[h>>2]|0)+44>>2]|0)==(c[i>>2]|0))c[(c[h>>2]|0)+44>>2]=c[j>>2];c[k>>2]=c[c[k>>2]>>2]}l=n;return}function EF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;c[g>>2]=d;c[i>>2]=c[(c[e>>2]|0)+4>>2];Ek(c[e>>2]|0);c[h>>2]=jp(c[i>>2]|0,c[f>>2]|0,0)|0;if(c[h>>2]|0){i=c[h>>2]|0;l=j;return i|0}zG(c[e>>2]|0,0,0,1);c[h>>2]=AG(c[i>>2]|0,c[f>>2]|0,0,c[g>>2]|0)|0;i=c[h>>2]|0;l=j;return i|0}function FF(a){a=a|0;var b=0,d=0;b=l;l=l+16|0;d=b;c[d>>2]=a;a=EF(c[c[d>>2]>>2]|0,c[(c[d>>2]|0)+52>>2]|0,0)|0;l=b;return a|0}function GF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;e=l;l=l+32|0;f=e+16|0;j=e+12|0;h=e+8|0;g=e+4|0;i=e;c[f>>2]=a;c[j>>2]=b;c[h>>2]=d;c[i>>2]=(c[(c[f>>2]|0)+16>>2]|0)+(c[j>>2]<<4);c[g>>2]=Vj((c[(c[i>>2]|0)+12>>2]|0)+8|0,c[h>>2]|0,0)|0;Jj(c[f>>2]|0,c[g>>2]|0);d=(c[f>>2]|0)+24|0;c[d>>2]=c[d>>2]|2;l=e;return}function HF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;h=l;l=l+32|0;e=h+20|0;k=h+16|0;i=h+12|0;f=h+8|0;j=h+4|0;g=h;c[e>>2]=a;c[k>>2]=b;c[i>>2]=d;c[j>>2]=(c[(c[(c[e>>2]|0)+16>>2]|0)+(c[k>>2]<<4)+12>>2]|0)+24;c[f>>2]=Vj(c[j>>2]|0,c[i>>2]|0,0)|0;if(!(c[f>>2]|0)){k=c[e>>2]|0;k=k+24|0;j=c[k>>2]|0;j=j|2;c[k>>2]=j;l=h;return}a=c[f>>2]|0;if((c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2]|0)!=(c[f>>2]|0)){c[g>>2]=c[(c[a+12>>2]|0)+8>>2];while(1){if(c[g>>2]|0)b=(c[(c[g>>2]|0)+20>>2]|0)!=(c[f>>2]|0);else b=0;a=c[g>>2]|0;if(!b)break;c[g>>2]=c[a+20>>2]}if(a|0?(c[(c[g>>2]|0)+20>>2]|0)==(c[f>>2]|0):0)c[(c[g>>2]|0)+20>>2]=c[(c[f>>2]|0)+20>>2]}else c[(c[(c[f>>2]|0)+12>>2]|0)+8>>2]=c[a+20>>2];Wj(c[e>>2]|0,c[f>>2]|0);k=c[e>>2]|0;k=k+24|0;j=c[k>>2]|0;j=j|2;c[k>>2]=j;l=h;return}function IF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;f=i+24|0;m=i+20|0;j=i+16|0;g=i+12|0;k=i+8|0;e=i+4|0;h=i;c[f>>2]=a;c[m>>2]=b;c[j>>2]=d;c[k>>2]=(c[(c[(c[f>>2]|0)+16>>2]|0)+(c[m>>2]<<4)+12>>2]|0)+40;c[g>>2]=Vj(c[k>>2]|0,c[j>>2]|0,0)|0;if(!(c[g>>2]|0)){l=i;return}if((c[(c[g>>2]|0)+20>>2]|0)==(c[(c[g>>2]|0)+24>>2]|0)){c[e>>2]=fz(c[g>>2]|0)|0;c[h>>2]=(c[e>>2]|0)+60;while(1){a=(c[c[h>>2]>>2]|0)+32|0;if((c[c[h>>2]>>2]|0)==(c[g>>2]|0))break;c[h>>2]=a}c[c[h>>2]>>2]=c[a>>2]}Ij(c[f>>2]|0,c[g>>2]|0);m=(c[f>>2]|0)+24|0;c[m>>2]=c[m>>2]|2;l=i;return}function JF(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=l;l=l+240|0;s=t+16|0;r=t+8|0;v=t+124|0;o=t+120|0;p=t+116|0;u=t+112|0;q=t+108|0;i=t+104|0;j=t+32|0;k=t+24|0;m=t+20|0;n=t;c[v>>2]=b;c[o>>2]=e;c[p>>2]=f;c[u>>2]=g;c[q>>2]=h;c[k>>2]=c[(c[v>>2]|0)+4>>2];c[m>>2]=c[(c[(c[k>>2]|0)+4>>2]|0)+24>>2];Ek(c[v>>2]|0);c[j>>2]=c[k>>2];c[j+4>>2]=c[c[k>>2]>>2];c[j+12>>2]=$m(c[j>>2]|0)|0;c[j+16>>2]=c[u>>2];c[j+20>>2]=0;c[j+24>>2]=0;c[j+28>>2]=0;c[j+32>>2]=0;c[j+36>>2]=0;c[j+8>>2]=0;c[j+68>>2]=0;jd(j+40|0,0,t+128|0,100,1e9);a[j+40+25>>0]=1;a:do if(c[j+12>>2]|0){c[j+8>>2]=Cg((((c[j+12>>2]|0)>>>0)/8|0)+1|0,0)|0;if(!(c[j+8>>2]|0)){c[j+24>>2]=1;break}c[j+68>>2]=Jk(c[(c[k>>2]|0)+32>>2]|0)|0;if(!(c[j+68>>2]|0)){c[j+24>>2]=1;break}c[i>>2]=(((c[481]|0)>>>0)/((c[(c[k>>2]|0)+32>>2]|0)>>>0)|0)+1;if((c[i>>2]|0)>>>0<=(c[j+12>>2]|0)>>>0)qG(j,c[i>>2]|0);c[j+28>>2]=36838;v=el((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+32|0)|0;rG(j,1,v,el((c[(c[(c[k>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0);c[j+28>>2]=0;v=(c[(c[k>>2]|0)+4>>2]|0)+24|0;c[v>>2]=c[v>>2]&-536870913;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[p>>2]|0))break;if(!(c[j+16>>2]|0))break;if(c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0){if(d[(c[k>>2]|0)+17>>0]|0?(c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0)>1:0)sG(j,c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0,1,0);tG(j,c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0,n,-1,2147483647)|0}c[i>>2]=(c[i>>2]|0)+1}c[(c[(c[k>>2]|0)+4>>2]|0)+24>>2]=c[m>>2];c[i>>2]=1;while(1){if((c[i>>2]|0)>>>0>(c[j+12>>2]|0)>>>0)break a;if(!(c[j+16>>2]|0))break a;do if(!(uG(j,c[i>>2]|0)|0)){v=hp(c[k>>2]|0,c[i>>2]|0)|0;if((v|0)==(c[i>>2]|0)?a[(c[k>>2]|0)+17>>0]|0:0)break;c[r>>2]=c[i>>2];vG(j,36854,r)}while(0);if((uG(j,c[i>>2]|0)|0?(v=hp(c[k>>2]|0,c[i>>2]|0)|0,(v|0)==(c[i>>2]|0)):0)?d[(c[k>>2]|0)+17>>0]|0:0){c[s>>2]=c[i>>2];vG(j,36876,s)}c[i>>2]=(c[i>>2]|0)+1}}while(0);Mk(c[j+68>>2]|0);Kd(c[j+8>>2]|0);if(c[j+24>>2]|0){Od(j+40|0);v=j+20|0;c[v>>2]=(c[v>>2]|0)+1}c[c[q>>2]>>2]=c[j+20>>2];if(c[j+20>>2]|0){v=j+40|0;v=ld(v)|0;l=t;return v|0}Od(j+40|0);v=j+40|0;v=ld(v)|0;l=t;return v|0}function KF(d){d=d|0;var e=0,f=0,g=0;g=l;l=l+16|0;e=g+4|0;f=g;c[e>>2]=d;c[f>>2]=c[(c[e>>2]|0)+32>>2];Lh(c[e>>2]|0);d=od(c[f>>2]|0,64,0)|0;c[(c[e>>2]|0)+20>>2]=d;if(a[(c[f>>2]|0)+69>>0]|0){b[(c[e>>2]|0)+8>>1]=1;c[(c[e>>2]|0)+24>>2]=0;l=g;return}else{d=Md(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0)|0;c[(c[e>>2]|0)+24>>2]=d;f=pG(c[f>>2]|0,c[(c[e>>2]|0)+20>>2]|0,c[(c[e>>2]|0)+24>>2]|0)|0;c[c[e>>2]>>2]=f;b[(c[e>>2]|0)+8>>1]=32;l=g;return}}function LF(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;g=k+16|0;h=k;i=k+12|0;j=k+8|0;c[g>>2]=a;a=h;c[a>>2]=d;c[a+4>>2]=f;c[i>>2]=nG(c[g>>2]|0)|0;if(!(c[i>>2]|0)){l=k;return}a=h;d=c[a+4>>2]|0;f=c[i>>2]|0;c[f>>2]=c[a>>2];c[f+4>>2]=d;c[(c[i>>2]|0)+8>>2]=0;c[j>>2]=c[(c[g>>2]|0)+12>>2];if(c[j>>2]|0){f=h;a=c[f+4>>2]|0;h=c[j>>2]|0;d=c[h+4>>2]|0;if((a|0)<(d|0)|((a|0)==(d|0)?(c[f>>2]|0)>>>0<=(c[h>>2]|0)>>>0:0)){h=(c[g>>2]|0)+26|0;b[h>>1]=(e[h>>1]|0)&-2}c[(c[j>>2]|0)+8>>2]=c[i>>2]}else c[(c[g>>2]|0)+8>>2]=c[i>>2];c[(c[g>>2]|0)+12>>2]=c[i>>2];l=k;return}function MF(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;i=l;l=l+16|0;f=i+8|0;g=i+4|0;h=i;c[g>>2]=a;c[h>>2]=d;if(!((e[(c[g>>2]|0)+26>>1]|0)&2)){if(!((e[(c[g>>2]|0)+26>>1]|0)&1)){d=jG(c[(c[g>>2]|0)+8>>2]|0)|0;c[(c[g>>2]|0)+8>>2]=d}d=(c[g>>2]|0)+26|0;b[d>>1]=e[d>>1]|0|3}if(!(c[(c[g>>2]|0)+8>>2]|0)){c[f>>2]=0;h=c[f>>2]|0;l=i;return h|0}a=c[(c[g>>2]|0)+8>>2]|0;d=c[a+4>>2]|0;h=c[h>>2]|0;c[h>>2]=c[a>>2];c[h+4>>2]=d;c[(c[g>>2]|0)+8>>2]=c[(c[(c[g>>2]|0)+8>>2]|0)+8>>2];if(!(c[(c[g>>2]|0)+8>>2]|0))Ih(c[g>>2]|0);c[f>>2]=1;h=c[f>>2]|0;l=i;return h|0}function NF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;o=s+36|0;k=s+32|0;m=s+28|0;p=s;q=s+24|0;r=s+20|0;h=s+16|0;i=s+12|0;j=s+8|0;c[k>>2]=a;c[m>>2]=d;d=p;c[d>>2]=f;c[d+4>>2]=g;if((c[m>>2]|0)!=(c[(c[k>>2]|0)+28>>2]|0)){c[q>>2]=c[(c[k>>2]|0)+8>>2];if(c[q>>2]|0){c[h>>2]=(c[k>>2]|0)+20;if(!((e[(c[k>>2]|0)+26>>1]|0)&1))c[q>>2]=jG(c[q>>2]|0)|0;c[r>>2]=c[(c[k>>2]|0)+20>>2];while(1){if(!(c[r>>2]|0))break;c[h>>2]=(c[r>>2]|0)+8;if(!(c[(c[r>>2]|0)+12>>2]|0)){n=8;break}lG(c[(c[r>>2]|0)+12>>2]|0,i,j);c[(c[r>>2]|0)+12>>2]=0;c[q>>2]=mG(c[i>>2]|0,c[q>>2]|0)|0;c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==8){n=kG(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}if((c[r>>2]|0)==0?(n=nG(c[k>>2]|0)|0,c[r>>2]=n,c[c[h>>2]>>2]=n,c[r>>2]|0):0){n=c[r>>2]|0;c[n>>2]=0;c[n+4>>2]=0;c[(c[r>>2]|0)+8>>2]=0;n=kG(c[q>>2]|0)|0;c[(c[r>>2]|0)+12>>2]=n}c[(c[k>>2]|0)+8>>2]=0;c[(c[k>>2]|0)+12>>2]=0;n=(c[k>>2]|0)+26|0;b[n>>1]=e[n>>1]|0|1}c[(c[k>>2]|0)+28>>2]=c[m>>2]}c[r>>2]=c[(c[k>>2]|0)+20>>2];a:while(1){if(!(c[r>>2]|0)){n=25;break}c[q>>2]=c[(c[r>>2]|0)+12>>2];while(1){if(!(c[q>>2]|0))break;m=c[q>>2]|0;g=c[m+4>>2]|0;n=p;k=c[n+4>>2]|0;a=c[q>>2]|0;if((g|0)<(k|0)|((g|0)==(k|0)?(c[m>>2]|0)>>>0<(c[n>>2]|0)>>>0:0)){c[q>>2]=c[a+8>>2];continue}m=a;g=c[m+4>>2]|0;n=p;k=c[n+4>>2]|0;if(!((g|0)>(k|0)|((g|0)==(k|0)?(c[m>>2]|0)>>>0>(c[n>>2]|0)>>>0:0))){n=23;break a}c[q>>2]=c[(c[q>>2]|0)+12>>2]}c[r>>2]=c[(c[r>>2]|0)+8>>2]}if((n|0)==23){c[o>>2]=1;r=c[o>>2]|0;l=s;return r|0}else if((n|0)==25){c[o>>2]=0;r=c[o>>2]|0;l=s;return r|0}return 0}function OF(a){a=a|0;var b=0,e=0,f=0;f=l;l=l+16|0;b=f+4|0;e=f;c[e>>2]=a;if((d[(c[e>>2]|0)+17>>0]|0|0)>=3){c[b>>2]=0;e=c[b>>2]|0;l=f;return e|0}if(c[c[(c[e>>2]|0)+68>>2]>>2]|0?(e=(c[e>>2]|0)+80|0,a=c[e+4>>2]|0,(a|0)>0|(a|0)==0&(c[e>>2]|0)>>>0>0):0){c[b>>2]=0;e=c[b>>2]|0;l=f;return e|0}c[b>>2]=1;e=c[b>>2]|0;l=f;return e|0}function PF(b){b=b|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[e>>2]=b;c[f>>2]=0;if(!(c[(c[e>>2]|0)+216>>2]|0)){c[g>>2]=0;c[f>>2]=ro(c[e>>2]|0,1)|0;if(!(c[f>>2]|0))c[f>>2]=bm(c[c[e>>2]>>2]|0,c[(c[e>>2]|0)+220>>2]|0,0,g)|0;if((c[f>>2]|0)==0&(c[g>>2]|0)!=0)c[f>>2]=pq(c[e>>2]|0)|0}if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}if(!(c[(c[e>>2]|0)+216>>2]|0)){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=qq(c[e>>2]|0)|0;if(c[f>>2]|0){g=c[f>>2]|0;l=h;return g|0}c[f>>2]=ll(c[(c[e>>2]|0)+216>>2]|0,d[(c[e>>2]|0)+10>>0]|0,c[(c[e>>2]|0)+160>>2]|0,c[(c[e>>2]|0)+208>>2]|0)|0;c[(c[e>>2]|0)+216>>2]=0;Nk(c[e>>2]|0);if(!(c[f>>2]|0)){g=c[f>>2]|0;l=h;return g|0}if(a[(c[e>>2]|0)+4>>0]|0){g=c[f>>2]|0;l=h;return g|0}Jl(c[e>>2]|0,1)|0;g=c[f>>2]|0;l=h;return g|0}function QF(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+12|0;g=k+8|0;h=k+16|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=e;a[h>>0]=a[(c[f>>2]|0)+5>>0]|0;if(a[(c[f>>2]|0)+16>>0]|0?(c[g>>2]|0)!=4&(c[g>>2]|0)!=2:0)c[g>>2]=d[h>>0];do if((c[g>>2]|0)!=(d[h>>0]|0)){a[(c[f>>2]|0)+5>>0]=c[g>>2];if(((a[(c[f>>2]|0)+4>>0]|0)==0?(d[h>>0]&5|0)==1:0)?(c[g>>2]&1|0)==0:0){ql(c[(c[f>>2]|0)+68>>2]|0);if((d[(c[f>>2]|0)+18>>0]|0)>=2){zl(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;break}c[i>>2]=0;c[j>>2]=d[(c[f>>2]|0)+17>>0];if(!(c[j>>2]|0))c[i>>2]=mq(c[f>>2]|0)|0;if((d[(c[f>>2]|0)+17>>0]|0)==1)c[i>>2]=ro(c[f>>2]|0,2)|0;if(!(c[i>>2]|0))zl(c[c[f>>2]>>2]|0,c[(c[f>>2]|0)+180>>2]|0,0)|0;if((c[i>>2]|0)==0&(c[j>>2]|0)==1){Jl(c[f>>2]|0,1)|0;break}if(c[j>>2]|0)break;ml(c[f>>2]|0);break}if((c[g>>2]|0)==2)ql(c[(c[f>>2]|0)+68>>2]|0)}while(0);l=k;return d[(c[f>>2]|0)+5>>0]|0}function RF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+112|0;p=D+24|0;o=D+16|0;n=D+8|0;m=D;y=D+92|0;k=D+88|0;z=D+84|0;h=D+80|0;A=D+76|0;B=D+72|0;C=D+68|0;q=D+64|0;r=D+60|0;s=D+56|0;t=D+96|0;u=D+52|0;g=D+48|0;v=D+44|0;i=D+40|0;j=D+36|0;w=D+32|0;x=D+28|0;c[k>>2]=b;c[z>>2]=e;c[h>>2]=f;c[A>>2]=0;c[u>>2]=0;if(!(a[(c[z>>2]|0)+67>>0]|0)){uu(c[k>>2]|0,c[z>>2]|0,36262);c[y>>2]=1;C=c[y>>2]|0;l=D;return C|0}if((c[(c[z>>2]|0)+156>>2]|0)>1){uu(c[k>>2]|0,c[z>>2]|0,36302);c[y>>2]=1;C=c[y>>2]|0;l=D;return C|0}c[q>>2]=c[(c[z>>2]|0)+24>>2];c[r>>2]=c[(c[z>>2]|0)+88>>2];c[s>>2]=c[(c[z>>2]|0)+92>>2];a[t>>0]=a[(c[z>>2]|0)+76>>0]|0;f=(c[z>>2]|0)+24|0;c[f>>2]=c[f>>2]|270542848;f=(c[z>>2]|0)+24|0;c[f>>2]=c[f>>2]&-655489;a[(c[z>>2]|0)+76>>0]=0;c[j>>2]=c[(c[(c[z>>2]|0)+16>>2]|0)+(c[h>>2]<<4)>>2];c[B>>2]=c[(c[(c[z>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+4>>2];c[g>>2]=Sm(Hj(c[B>>2]|0)|0)|0;c[i>>2]=c[(c[z>>2]|0)+20>>2];c[A>>2]=dG(c[z>>2]|0,c[k>>2]|0,36345)|0;a:do if(((c[A>>2]|0)==0?(c[u>>2]=(c[(c[z>>2]|0)+16>>2]|0)+(c[i>>2]<<4),c[C>>2]=c[(c[u>>2]|0)+4>>2],as(c[C>>2]|0)|0,c[v>>2]=eG(c[B>>2]|0)|0,vu(c[C>>2]|0,c[(c[(c[(c[z>>2]|0)+16>>2]|0)+(c[h>>2]<<4)+12>>2]|0)+80>>2]|0)|0,h=c[C>>2]|0,Az(h,Az(c[B>>2]|0,0)|0)|0,az(c[C>>2]|0,33)|0,c[A>>2]=dG(c[z>>2]|0,c[k>>2]|0,33854)|0,(c[A>>2]|0)==0):0)?(c[A>>2]=Ro(c[B>>2]|0,2)|0,(c[A>>2]|0)==0):0){if((Uo(Hj(c[B>>2]|0)|0)|0)==5)c[(c[z>>2]|0)+80>>2]=0;f=c[C>>2]|0;h=Rm(c[B>>2]|0)|0;do if(!(Dk(f,h,c[v>>2]|0,0)|0)){if((c[g>>2]|0)==0?Dk(c[C>>2]|0,c[(c[z>>2]|0)+80>>2]|0,c[v>>2]|0,0)|0:0)break;if(!(d[(c[z>>2]|0)+69>>0]|0)){b=c[C>>2]|0;if((a[(c[z>>2]|0)+72>>0]|0)>=0)e=a[(c[z>>2]|0)+72>>0]|0;else e=xz(c[B>>2]|0)|0;zz(b,e)|0;a[(c[z>>2]|0)+148+4>>0]=c[i>>2];h=c[z>>2]|0;i=c[k>>2]|0;c[m>>2]=c[j>>2];c[A>>2]=fG(h,i,36366,m)|0;if(c[A>>2]|0)break a;i=c[z>>2]|0;m=c[k>>2]|0;c[n>>2]=c[j>>2];c[A>>2]=fG(i,m,36474,n)|0;if(c[A>>2]|0)break a;a[(c[z>>2]|0)+148+4>>0]=0;m=c[z>>2]|0;n=c[k>>2]|0;c[o>>2]=c[j>>2];c[A>>2]=fG(m,n,36547,o)|0;o=(c[z>>2]|0)+24|0;c[o>>2]=c[o>>2]&-268435457;if(c[A>>2]|0)break a;n=c[z>>2]|0;o=c[k>>2]|0;c[p>>2]=c[j>>2];c[A>>2]=fG(n,o,36698,p)|0;if(c[A>>2]|0)break a;c[x>>2]=0;while(1){b=c[B>>2]|0;if((c[x>>2]|0)>=10)break;To(b,d[36828+(c[x>>2]|0)>>0]|0,w);c[A>>2]=Xo(c[C>>2]|0,d[36828+(c[x>>2]|0)>>0]|0,(c[w>>2]|0)+(d[36828+((c[x>>2]|0)+1)>>0]|0)|0)|0;if(c[A>>2]|0)break a;c[x>>2]=(c[x>>2]|0)+2}c[A>>2]=gG(b,c[C>>2]|0)|0;if(c[A>>2]|0)break a;c[A>>2]=as(c[C>>2]|0)|0;if(c[A>>2]|0)break a;x=c[B>>2]|0;zz(x,xz(c[C>>2]|0)|0)|0;x=c[B>>2]|0;C=Rm(c[C>>2]|0)|0;c[A>>2]=Dk(x,C,c[v>>2]|0,1)|0;break a}}while(0);c[A>>2]=7}while(0);a[(c[z>>2]|0)+148+4>>0]=0;c[(c[z>>2]|0)+24>>2]=c[q>>2];c[(c[z>>2]|0)+88>>2]=c[r>>2];c[(c[z>>2]|0)+92>>2]=c[s>>2];a[(c[z>>2]|0)+76>>0]=a[t>>0]|0;Dk(c[B>>2]|0,-1,-1,1)|0;a[(c[z>>2]|0)+67>>0]=1;if(c[u>>2]|0){Fq(c[(c[u>>2]|0)+4>>2]|0)|0;c[(c[u>>2]|0)+4>>2]=0;c[(c[u>>2]|0)+12>>2]=0}Yo(c[z>>2]|0);c[y>>2]=c[A>>2];C=c[y>>2]|0;l=D;return C|0}function SF(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;j=i+20|0;d=i+16|0;e=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=b;c[e>>2]=c[(c[j>>2]|0)+4>>2];Ek(c[j>>2]|0);if(!(a[(c[e>>2]|0)+17>>0]|0)){c[d>>2]=101;j=c[d>>2]|0;l=i;return j|0}c[f>>2]=$m(c[e>>2]|0)|0;c[g>>2]=el((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+36|0)|0;c[h>>2]=ip(c[e>>2]|0,c[f>>2]|0,c[g>>2]|0)|0;if((c[f>>2]|0)>>>0<(c[h>>2]|0)>>>0){c[d>>2]=um(61866)|0;j=c[d>>2]|0;l=i;return j|0}if((c[g>>2]|0)>>>0<=0){c[d>>2]=101;j=c[d>>2]|0;l=i;return j|0}c[d>>2]=jp(c[e>>2]|0,0,0)|0;if(!(c[d>>2]|0)){gp(c[e>>2]|0);c[d>>2]=kp(c[e>>2]|0,c[h>>2]|0,c[f>>2]|0,0)|0}if(c[d>>2]|0){j=c[d>>2]|0;l=i;return j|0}c[d>>2]=Tm(c[(c[(c[e>>2]|0)+12>>2]|0)+72>>2]|0)|0;Xm((c[(c[(c[e>>2]|0)+12>>2]|0)+56>>2]|0)+28|0,c[(c[e>>2]|0)+44>>2]|0);j=c[d>>2]|0;l=i;return j|0}function TF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+16|0;g=m+8|0;h=m+4|0;i=m+13|0;j=m;k=m+12|0;c[g>>2]=b;c[h>>2]=e;a[i>>0]=f;c[j>>2]=0;if(!(a[(c[g>>2]|0)+9>>0]|0)){k=c[j>>2]|0;l=m;return k|0}a[k>>0]=1+(d[i>>0]|0);Ek(c[g>>2]|0);c[j>>2]=fq(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;if(c[j>>2]|0){k=c[j>>2]|0;l=m;return k|0}c[j>>2]=cG(c[g>>2]|0,c[h>>2]|0,a[k>>0]|0)|0;k=c[j>>2]|0;l=m;return k|0}function UF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;d=m+24|0;e=m+20|0;f=m+16|0;g=m+12|0;h=m+8|0;i=m+4|0;j=m;c[e>>2]=a;c[f>>2]=b;c[g>>2]=0;if((c[(c[e>>2]|0)+316>>2]|0)>0?(c[(c[e>>2]|0)+340>>2]|0)==0:0){c[d>>2]=6;k=c[d>>2]|0;l=m;return k|0}if(!(c[f>>2]|0)){c[d>>2]=0;k=c[d>>2]|0;l=m;return k|0}c[h>>2]=c[c[(c[f>>2]|0)+8>>2]>>2];if(c[(c[h>>2]|0)+56>>2]|0){c[i>>2]=0;while(1){a=c[e>>2]|0;if((c[i>>2]|0)>=(c[(c[e>>2]|0)+316>>2]|0))break;if((c[(c[a+340>>2]|0)+(c[i>>2]<<2)>>2]|0)==(c[f>>2]|0)){k=10;break}c[i>>2]=(c[i>>2]|0)+1}if((k|0)==10){c[d>>2]=0;k=c[d>>2]|0;l=m;return k|0}c[g>>2]=aG(a)|0;if((((c[g>>2]|0)==0?(c[g>>2]=tb[c[(c[h>>2]|0)+56>>2]&255](c[(c[f>>2]|0)+8>>2]|0)|0,(c[g>>2]|0)==0):0)?(c[j>>2]=(c[(c[e>>2]|0)+436>>2]|0)+(c[(c[e>>2]|0)+432>>2]|0),bG(c[e>>2]|0,c[f>>2]|0),c[j>>2]|0):0)?c[(c[h>>2]|0)+80>>2]|0:0){c[(c[f>>2]|0)+20>>2]=c[j>>2];c[g>>2]=yb[c[(c[h>>2]|0)+80>>2]&255](c[(c[f>>2]|0)+8>>2]|0,(c[j>>2]|0)-1|0)|0}}c[d>>2]=c[g>>2];k=c[d>>2]|0;l=m;return k|0}function VF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;n=l;l=l+48|0;m=n;h=n+32|0;o=n+28|0;p=n+24|0;i=n+20|0;j=n+16|0;k=n+12|0;f=n+8|0;g=n+4|0;c[h>>2]=a;c[o>>2]=b;c[p>>2]=d;c[i>>2]=e;c[j>>2]=0;c[k>>2]=mu(c[h>>2]|0,c[p>>2]|0,c[(c[(c[h>>2]|0)+16>>2]|0)+(c[o>>2]<<4)>>2]|0)|0;c[g>>2]=c[c[(c[k>>2]|0)+52>>2]>>2];c[f>>2]=nu((c[h>>2]|0)+320|0,c[g>>2]|0)|0;if(((c[f>>2]|0)!=0?(c[(c[c[f>>2]>>2]|0)+4>>2]|0)!=0:0)?(c[(c[c[f>>2]>>2]|0)+20>>2]|0)!=0:0)c[j>>2]=pu(c[h>>2]|0,c[k>>2]|0,c[f>>2]|0,c[(c[c[f>>2]>>2]|0)+4>>2]|0,c[i>>2]|0)|0;else{p=c[h>>2]|0;c[m>>2]=c[g>>2];p=Bj(p,26940,m)|0;c[c[i>>2]>>2]=p;c[j>>2]=1}if(c[j>>2]|0){p=c[j>>2]|0;l=n;return p|0}if(!(lv(c[h>>2]|0,c[k>>2]|0)|0)){p=c[j>>2]|0;l=n;return p|0}c[j>>2]=aG(c[h>>2]|0)|0;if(c[j>>2]|0){p=c[j>>2]|0;l=n;return p|0}p=c[h>>2]|0;bG(p,lv(c[h>>2]|0,c[k>>2]|0)|0);p=c[j>>2]|0;l=n;return p|0}function WF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+32|0;f=k+28|0;g=k+24|0;m=k+20|0;n=k+16|0;h=k+12|0;i=k+8|0;j=k+4|0;e=k;c[g>>2]=a;c[m>>2]=b;c[n>>2]=d;c[h>>2]=0;c[i>>2]=mu(c[g>>2]|0,c[n>>2]|0,c[(c[(c[g>>2]|0)+16>>2]|0)+(c[m>>2]<<4)>>2]|0)|0;do if(c[i>>2]|0?c[(c[i>>2]|0)+56>>2]|0:0){c[j>>2]=c[(c[i>>2]|0)+56>>2];while(1){if(!(c[j>>2]|0)){a=8;break}if((c[(c[(c[j>>2]|0)+8>>2]|0)+4>>2]|0)>0){a=6;break}c[j>>2]=c[(c[j>>2]|0)+24>>2]}if((a|0)==6){c[f>>2]=6;n=c[f>>2]|0;l=k;return n|0}else if((a|0)==8){c[j>>2]=ak(c[g>>2]|0,c[i>>2]|0)|0;c[e>>2]=c[(c[c[(c[j>>2]|0)+4>>2]>>2]|0)+20>>2];c[h>>2]=tb[c[e>>2]&255](c[(c[j>>2]|0)+8>>2]|0)|0;if(c[h>>2]|0)break;c[(c[j>>2]|0)+8>>2]=0;c[(c[i>>2]|0)+56>>2]=0;Tj(c[j>>2]|0);break}}while(0);c[f>>2]=c[h>>2];n=c[f>>2]|0;l=k;return n|0}function XF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;d=e;c[g>>2]=a;c[f>>2]=b;Ek(c[g>>2]|0);c[d>>2]=$F(c[c[(c[g>>2]|0)+4>>2]>>2]|0,c[f>>2]|0)|0;l=e;return c[d>>2]|0}function YF(f,g){f=f|0;g=g|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=l;l=l+256|0;A=D+72|0;C=D+64|0;B=D+56|0;z=D+48|0;y=D+40|0;q=D+148|0;r=D+144|0;s=D+140|0;t=D+136|0;u=D+132|0;v=D+128|0;w=D+124|0;x=D+120|0;j=D+116|0;k=D+88|0;m=D;i=D+84|0;n=D+80|0;o=D+152|0;p=D+76|0;c[q>>2]=f;c[r>>2]=g;c[t>>2]=0;c[u>>2]=1;c[s>>2]=c[c[q>>2]>>2];jd(k,0,D+156|0,100,c[(c[s>>2]|0)+96>>2]|0);a:do if((c[(c[s>>2]|0)+168>>2]|0)>1)while(1){if(!(a[c[r>>2]>>0]|0))break a;c[i>>2]=c[r>>2];do{C=c[r>>2]|0;c[r>>2]=C+1;if((a[C>>0]|0)==10)break}while((a[c[r>>2]>>0]|0)!=0);zd(k,36228,3);zd(k,c[i>>2]|0,(c[r>>2]|0)-(c[i>>2]|0)|0)}else{if(!(b[(c[q>>2]|0)+16>>1]|0)){C=c[r>>2]|0;zd(k,C,_c(c[r>>2]|0)|0);break}while(1){if(!(a[c[r>>2]>>0]|0))break a;c[v>>2]=ZF(c[r>>2]|0,w)|0;zd(k,c[r>>2]|0,c[v>>2]|0);c[r>>2]=(c[r>>2]|0)+(c[v>>2]|0);if(!(c[w>>2]|0))break a;do if((a[c[r>>2]>>0]|0)==63)if((c[w>>2]|0)>1){Nf((c[r>>2]|0)+1|0,t)|0;break}else{c[t>>2]=c[u>>2];break}else c[t>>2]=_F(c[q>>2]|0,c[r>>2]|0,c[w>>2]|0)|0;while(0);c[r>>2]=(c[r>>2]|0)+(c[w>>2]|0);c[u>>2]=(c[t>>2]|0)+1;c[j>>2]=(c[(c[q>>2]|0)+116>>2]|0)+(((c[t>>2]|0)-1|0)*40|0);if(e[(c[j>>2]|0)+8>>1]&1|0){zd(k,17843,4);continue}f=c[j>>2]|0;if(e[(c[j>>2]|0)+8>>1]&4|0){g=c[f+4>>2]|0;i=y;c[i>>2]=c[f>>2];c[i+4>>2]=g;Vi(k,19081,y);continue}g=c[j>>2]|0;if(e[f+8>>1]&8|0){h[z>>3]=+h[g>>3];Vi(k,19086,z);continue}if(e[g+8>>1]&2|0){a[o>>0]=a[(c[s>>2]|0)+66>>0]|0;if((d[o>>0]|0)!=1){f=m;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[m+32>>2]=c[s>>2];Jh(m,c[(c[j>>2]|0)+16>>2]|0,c[(c[j>>2]|0)+12>>2]|0,a[o>>0]|0,0)|0;if(7==(Vh(m,1)|0)){a[k+24>>0]=1;c[k+16>>2]=0}c[j>>2]=m}c[n>>2]=c[(c[j>>2]|0)+12>>2];i=c[(c[j>>2]|0)+16>>2]|0;c[B>>2]=c[n>>2];c[B+4>>2]=i;Vi(k,36232,B);if((d[o>>0]|0)==1)continue;Lh(m);continue}else{if(e[(c[j>>2]|0)+8>>1]&16384|0){c[C>>2]=c[c[j>>2]>>2];Vi(k,36239,C);continue}zd(k,36252,2);c[p>>2]=c[(c[j>>2]|0)+12>>2];c[x>>2]=0;while(1){if((c[x>>2]|0)>=(c[p>>2]|0))break;c[A>>2]=a[(c[(c[j>>2]|0)+16>>2]|0)+(c[x>>2]|0)>>0]&255;Vi(k,36255,A);c[x>>2]=(c[x>>2]|0)+1}zd(k,36260,1);continue}}}while(0);if(!(a[k+24>>0]|0)){C=ld(k)|0;l=D;return C|0}Od(k);C=ld(k)|0;l=D;return C|0}function ZF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;e=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[e>>2]=b;c[f>>2]=d;c[h>>2]=0;c[c[f>>2]>>2]=0;while(1){if(!(a[c[e>>2]>>0]|0)){j=6;break}c[i>>2]=yj(c[e>>2]|0,g)|0;b=c[i>>2]|0;if((c[g>>2]|0)==135)break;c[h>>2]=(c[h>>2]|0)+b;c[e>>2]=(c[e>>2]|0)+(c[i>>2]|0)}if((j|0)==6){j=c[h>>2]|0;l=k;return j|0}c[c[f>>2]>>2]=b;j=c[h>>2]|0;l=k;return j|0}function _F(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;g=n+20|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n+4|0;m=n;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;if(!(c[h>>2]|0)){c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}a:do if(c[i>>2]|0){c[k>>2]=0;while(1){if((c[k>>2]|0)>=(b[(c[h>>2]|0)+18>>1]|0))break a;c[m>>2]=c[(c[(c[h>>2]|0)+120>>2]|0)+(c[k>>2]<<2)>>2];if((c[m>>2]|0?(AQ(c[m>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)==0:0)?(a[(c[m>>2]|0)+(c[j>>2]|0)>>0]|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+1}c[g>>2]=(c[k>>2]|0)+1;m=c[g>>2]|0;l=n;return m|0}while(0);c[g>>2]=0;m=c[g>>2]|0;l=n;return m|0}function $F(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[e>>2]|0)>0)c[(c[d>>2]|0)+164>>2]=c[e>>2];l=f;return c[(c[d>>2]|0)+164>>2]|0}function aG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+32|0;b=g+16|0;d=g+12|0;e=g+4|0;f=g;c[d>>2]=a;c[g+8>>2]=5;do if(!((c[(c[d>>2]|0)+316>>2]|0)%5|0)){c[f>>2]=(c[(c[d>>2]|0)+316>>2]|0)+5<<2;f=c[f>>2]|0;c[e>>2]=Pd(c[d>>2]|0,c[(c[d>>2]|0)+340>>2]|0,f,((f|0)<0)<<31>>31)|0;if(c[e>>2]|0){f=(c[e>>2]|0)+(c[(c[d>>2]|0)+316>>2]<<2)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[(c[d>>2]|0)+340>>2]=c[e>>2];break}c[b>>2]=7;f=c[b>>2]|0;l=g;return f|0}while(0);c[b>>2]=0;f=c[b>>2]|0;l=g;return f|0}function bG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=l;l=l+16|0;g=d+4|0;e=d;c[g>>2]=a;c[e>>2]=b;f=c[e>>2]|0;a=c[(c[g>>2]|0)+340>>2]|0;g=(c[g>>2]|0)+316|0;b=c[g>>2]|0;c[g>>2]=b+1;c[a+(b<<2)>>2]=f;bu(c[e>>2]|0);l=d;return}function cG(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+20|0;h=p+16|0;i=p+12|0;j=p+24|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=b;c[i>>2]=e;a[j>>0]=f;c[k>>2]=c[(c[h>>2]|0)+4>>2];c[m>>2]=0;c[n>>2]=c[(c[k>>2]|0)+72>>2];while(1){if(!(c[n>>2]|0))break;if((c[(c[n>>2]|0)+4>>2]|0)==(c[i>>2]|0)?(c[c[n>>2]>>2]|0)==(c[h>>2]|0):0){o=5;break}c[n>>2]=c[(c[n>>2]|0)+12>>2]}if((o|0)==5)c[m>>2]=c[n>>2];do if(!(c[m>>2]|0)){c[m>>2]=Cg(16,0)|0;if(c[m>>2]|0){c[(c[m>>2]|0)+4>>2]=c[i>>2];c[c[m>>2]>>2]=c[h>>2];c[(c[m>>2]|0)+12>>2]=c[(c[k>>2]|0)+72>>2];c[(c[k>>2]|0)+72>>2]=c[m>>2];break}c[g>>2]=7;o=c[g>>2]|0;l=p;return o|0}while(0);if((d[j>>0]|0|0)>(d[(c[m>>2]|0)+8>>0]|0|0))a[(c[m>>2]|0)+8>>0]=a[j>>0]|0;c[g>>2]=0;o=c[g>>2]|0;l=p;return o|0}function dG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;e=k+24|0;f=k+20|0;g=k+16|0;m=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=a;c[g>>2]=b;c[m>>2]=d;c[i>>2]=Fu(c[f>>2]|0,c[m>>2]|0,-1,h,0)|0;if(c[i>>2]|0){c[e>>2]=c[i>>2];m=c[e>>2]|0;l=k;return m|0}while(1){m=Hr(c[h>>2]|0)|0;c[i>>2]=m;if(100!=(m|0))break;c[j>>2]=Iu(c[h>>2]|0,0)|0;if(!(c[j>>2]|0))continue;c[i>>2]=dG(c[f>>2]|0,c[g>>2]|0,c[j>>2]|0)|0;if(c[i>>2]|0)break}if((c[i>>2]|0)==101)c[i>>2]=0;if(c[i>>2]|0){j=c[g>>2]|0;m=c[f>>2]|0;uu(j,m,Ku(c[f>>2]|0)|0)}Qq(c[h>>2]|0)|0;c[e>>2]=c[i>>2];m=c[e>>2]|0;l=k;return m|0}function eG(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;Ek(c[e>>2]|0);c[b>>2]=iG(c[e>>2]|0)|0;l=d;return c[b>>2]|0}function fG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0;k=l;l=l+48|0;f=k+40|0;g=k+36|0;h=k+32|0;n=k+28|0;i=k+24|0;m=k+8|0;j=k;c[g>>2]=a;c[h>>2]=b;c[n>>2]=d;c[m>>2]=e;c[i>>2]=Cj(c[g>>2]|0,c[n>>2]|0,m)|0;if(!(c[i>>2]|0)){c[f>>2]=7;n=c[f>>2]|0;l=k;return n|0}else{c[j>>2]=dG(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0;Hd(c[g>>2]|0,c[i>>2]|0);c[f>>2]=c[j>>2];n=c[f>>2]|0;l=k;return n|0}return 0}function gG(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+80|0;h=m+68|0;i=m+64|0;j=m+60|0;f=m+56|0;k=m+8|0;g=m;c[h>>2]=a;c[i>>2]=d;Ek(c[h>>2]|0);Ek(c[i>>2]|0);c[f>>2]=_o(Hj(c[h>>2]|0)|0)|0;if(c[c[f>>2]>>2]|0?(a=Rm(c[i>>2]|0)|0,a=RR(a|0,((a|0)<0)<<31>>31|0,Wm(c[i>>2]|0)|0,0)|0,d=g,c[d>>2]=a,c[d+4>>2]=z,g=Hl(c[f>>2]|0,11,g)|0,c[j>>2]=g,c[j>>2]=(c[j>>2]|0)==12?0:g,c[j>>2]|0):0){k=c[j>>2]|0;l=m;return k|0}a=k;d=a+48|0;do{c[a>>2]=0;a=a+4|0}while((a|0)<(d|0));c[k+20>>2]=c[c[i>>2]>>2];c[k+24>>2]=c[i>>2];c[k+4>>2]=c[h>>2];c[k+16>>2]=1;Qo(k,2147483647)|0;c[j>>2]=zq(k)|0;if(!(c[j>>2]|0)){k=(c[(c[h>>2]|0)+4>>2]|0)+22|0;b[k>>1]=(e[k>>1]|0)&-3;k=c[j>>2]|0;l=m;return k|0}else{hG(Hj(c[k+4>>2]|0)|0);k=c[j>>2]|0;l=m;return k|0}return 0}function hG(a){a=a|0;var b=0,e=0;e=l;l=l+16|0;b=e;c[b>>2]=a;if(d[(c[b>>2]|0)+13>>0]|0|0){l=e;return}Kk(c[b>>2]|0);l=e;return}function iG(a){a=a|0;var b=0,d=0,e=0;d=l;l=l+16|0;e=d+4|0;b=d;c[e>>2]=a;c[b>>2]=(c[(c[(c[e>>2]|0)+4>>2]|0)+32>>2]|0)-(c[(c[(c[e>>2]|0)+4>>2]|0)+36>>2]|0);l=d;return c[b>>2]|0}function jG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+176|0;d=g+168|0;e=g+164|0;b=g+160|0;f=g;c[d>>2]=a;GR(f|0,0,160)|0;while(1){if(!(c[d>>2]|0))break;c[b>>2]=c[(c[d>>2]|0)+8>>2];c[(c[d>>2]|0)+8>>2]=0;c[e>>2]=0;while(1){if(!(c[f+(c[e>>2]<<2)>>2]|0))break;c[d>>2]=mG(c[f+(c[e>>2]<<2)>>2]|0,c[d>>2]|0)|0;c[f+(c[e>>2]<<2)>>2]=0;c[e>>2]=(c[e>>2]|0)+1}c[f+(c[e>>2]<<2)>>2]=c[d>>2];c[d>>2]=c[b>>2]}c[d>>2]=c[f>>2];c[e>>2]=1;while(1){if((c[e>>2]|0)>>>0>=40)break;if(c[f+(c[e>>2]<<2)>>2]|0){if(c[d>>2]|0)a=mG(c[d>>2]|0,c[f+(c[e>>2]<<2)>>2]|0)|0;else a=c[f+(c[e>>2]<<2)>>2]|0;c[d>>2]=a}c[e>>2]=(c[e>>2]|0)+1}l=g;return c[d>>2]|0}function kG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=l;l=l+16|0;b=g+12|0;d=g+8|0;e=g+4|0;f=g;c[b>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+8>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[d>>2]=1;while(1){a=c[e>>2]|0;if(!(c[b>>2]|0))break;c[f>>2]=a;c[e>>2]=c[b>>2];c[b>>2]=c[(c[e>>2]|0)+8>>2];c[(c[e>>2]|0)+12>>2]=c[f>>2];a=oG(b,c[d>>2]|0)|0;c[(c[e>>2]|0)+8>>2]=a;c[d>>2]=(c[d>>2]|0)+1}l=g;return a|0}function lG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=l;l=l+16|0;g=i+12|0;e=i+8|0;h=i+4|0;f=i;c[g>>2]=a;c[e>>2]=b;c[h>>2]=d;a=c[g>>2]|0;if(c[(c[g>>2]|0)+12>>2]|0){lG(c[a+12>>2]|0,c[e>>2]|0,f);c[(c[f>>2]|0)+8>>2]=c[g>>2]}else c[c[e>>2]>>2]=a;a=c[g>>2]|0;if(c[(c[g>>2]|0)+8>>2]|0){lG(c[a+8>>2]|0,(c[g>>2]|0)+8|0,c[h>>2]|0);l=i;return}else{c[c[h>>2]>>2]=a;l=i;return}}function mG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+24|0;e=h+20|0;f=h;g=h+16|0;c[d>>2]=a;c[e>>2]=b;c[g>>2]=f;while(1){a=c[d>>2]|0;j=c[a+4>>2]|0;b=c[e>>2]|0;i=c[b+4>>2]|0;if(!((j|0)<(i|0)|((j|0)==(i|0)?(c[a>>2]|0)>>>0<=(c[b>>2]|0)>>>0:0))){j=c[e>>2]|0;c[(c[g>>2]|0)+8>>2]=j;c[g>>2]=j;c[e>>2]=c[(c[e>>2]|0)+8>>2];if(!(c[e>>2]|0)){a=8;break}else continue}i=c[d>>2]|0;a=c[i+4>>2]|0;j=c[e>>2]|0;b=c[j+4>>2]|0;if((a|0)<(b|0)|((a|0)==(b|0)?(c[i>>2]|0)>>>0<(c[j>>2]|0)>>>0:0)){j=c[d>>2]|0;c[(c[g>>2]|0)+8>>2]=j;c[g>>2]=j}c[d>>2]=c[(c[d>>2]|0)+8>>2];if(!(c[d>>2]|0)){a=6;break}}if((a|0)==6){i=c[e>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=i;j=f+8|0;j=c[j>>2]|0;l=h;return j|0}else if((a|0)==8){i=c[d>>2]|0;j=c[g>>2]|0;j=j+8|0;c[j>>2]=i;j=f+8|0;j=c[j>>2]|0;l=h;return j|0}return 0}function nG(a){a=a|0;var d=0,f=0,g=0,h=0;h=l;l=l+16|0;d=h+8|0;f=h+4|0;g=h;c[f>>2]=a;do if(!(e[(c[f>>2]|0)+24>>1]|0)){c[g>>2]=od(c[(c[f>>2]|0)+4>>2]|0,1016,0)|0;if(c[g>>2]|0){c[c[g>>2]>>2]=c[c[f>>2]>>2];c[c[f>>2]>>2]=c[g>>2];c[(c[f>>2]|0)+16>>2]=(c[g>>2]|0)+8;b[(c[f>>2]|0)+24>>1]=63;break}c[d>>2]=0;g=c[d>>2]|0;l=h;return g|0}while(0);g=(c[f>>2]|0)+24|0;b[g>>1]=(b[g>>1]|0)+-1<<16>>16;f=(c[f>>2]|0)+16|0;g=c[f>>2]|0;c[f>>2]=g+16;c[d>>2]=g;g=c[d>>2]|0;l=h;return g|0}function oG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=l;l=l+32|0;e=i+16|0;f=i+12|0;g=i+8|0;h=i+4|0;d=i;c[f>>2]=a;c[g>>2]=b;if(!(c[c[f>>2]>>2]|0)){c[e>>2]=0;h=c[e>>2]|0;l=i;return h|0}a=c[f>>2]|0;do if((c[g>>2]|0)>1){c[d>>2]=oG(a,(c[g>>2]|0)-1|0)|0;c[h>>2]=c[c[f>>2]>>2];a=c[d>>2]|0;if(c[h>>2]|0){c[(c[h>>2]|0)+12>>2]=a;c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];g=oG(c[f>>2]|0,(c[g>>2]|0)-1|0)|0;c[(c[h>>2]|0)+8>>2]=g;break}c[e>>2]=a;h=c[e>>2]|0;l=i;return h|0}else{c[h>>2]=c[a>>2];c[c[f>>2]>>2]=c[(c[h>>2]|0)+8>>2];c[(c[h>>2]|0)+8>>2]=0;c[(c[h>>2]|0)+12>>2]=0}while(0);c[e>>2]=c[h>>2];h=c[e>>2]|0;l=i;return h|0}function pG(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=l;l=l+16|0;i=g+12|0;j=g+8|0;h=g+4|0;f=g;c[i>>2]=a;c[j>>2]=d;c[h>>2]=e;c[f>>2]=c[j>>2];c[c[f>>2]>>2]=0;c[(c[f>>2]|0)+4>>2]=c[i>>2];c[(c[f>>2]|0)+8>>2]=0;c[(c[f>>2]|0)+12>>2]=0;c[(c[f>>2]|0)+20>>2]=0;c[(c[f>>2]|0)+16>>2]=(c[f>>2]|0)+32;b[(c[f>>2]|0)+24>>1]=(((c[h>>2]|0)-32|0)>>>0)/16|0;b[(c[f>>2]|0)+26>>1]=1;c[(c[f>>2]|0)+28>>2]=0;l=g;return c[f>>2]|0}function qG(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;f=l;l=l+16|0;h=f+4|0;g=f;c[h>>2]=b;c[g>>2]=e;e=(c[(c[h>>2]|0)+8>>2]|0)+(((c[g>>2]|0)>>>0)/8|0)|0;a[e>>0]=d[e>>0]|0|1<<(c[g>>2]&7);l=f;return}function rG(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+80|0;o=x+32|0;p=x+24|0;w=x+16|0;v=x;r=x+76|0;m=x+72|0;s=x+68|0;t=x+64|0;n=x+60|0;u=x+56|0;q=x+52|0;h=x+48|0;i=x+44|0;j=x+40|0;k=x+36|0;c[r>>2]=b;c[m>>2]=e;c[s>>2]=f;c[t>>2]=g;c[u>>2]=c[t>>2];c[q>>2]=c[s>>2];while(1){g=c[t>>2]|0;c[t>>2]=g+-1;if((g|0)<=0){b=25;break}if(!(c[(c[r>>2]|0)+16>>2]|0)){b=25;break}e=c[r>>2]|0;if((c[s>>2]|0)<1){b=5;break}if(wG(e,c[s>>2]|0)|0){b=25;break}if(rm(c[(c[r>>2]|0)+4>>2]|0,c[s>>2]|0,h,0)|0){b=8;break}c[i>>2]=Um(c[h>>2]|0)|0;do if(!(c[m>>2]|0)){if((c[t>>2]|0)>0?(d[(c[c[r>>2]>>2]|0)+17>>0]|0)!=0:0){c[n>>2]=el(c[i>>2]|0)|0;sG(c[r>>2]|0,c[n>>2]|0,4,c[s>>2]|0)}}else{c[j>>2]=el((c[i>>2]|0)+4|0)|0;if(a[(c[c[r>>2]>>2]|0)+17>>0]|0)sG(c[r>>2]|0,c[s>>2]|0,2,0);if((c[j>>2]|0)>(((c[(c[c[r>>2]>>2]|0)+36>>2]|0)/4|0)-2|0)){g=c[r>>2]|0;c[p>>2]=c[s>>2];vG(g,37454,p);c[t>>2]=(c[t>>2]|0)+-1;break}c[n>>2]=0;while(1){if((c[n>>2]|0)>=(c[j>>2]|0))break;c[k>>2]=el((c[i>>2]|0)+(8+(c[n>>2]<<2))|0)|0;if(a[(c[c[r>>2]>>2]|0)+17>>0]|0)sG(c[r>>2]|0,c[k>>2]|0,2,0);wG(c[r>>2]|0,c[k>>2]|0)|0;c[n>>2]=(c[n>>2]|0)+1}c[t>>2]=(c[t>>2]|0)-(c[j>>2]|0)}while(0);c[s>>2]=el(c[i>>2]|0)|0;Ym(c[h>>2]|0);if(!(c[m>>2]|0))continue;if((c[t>>2]|0)>=((c[s>>2]|0)!=0|0))continue;vG(c[r>>2]|0,37493,o)}if((b|0)==5){u=c[u>>2]|0;w=c[q>>2]|0;c[v>>2]=(c[t>>2]|0)+1;c[v+4>>2]=u;c[v+8>>2]=w;vG(e,37375,v);l=x;return}else if((b|0)==8){v=c[r>>2]|0;c[w>>2]=c[s>>2];vG(v,37432,w);l=x;return}else if((b|0)==25){l=x;return}} +function FA(e,f,g,h,i,j,k,m,n){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=l;l=l+96|0;J=K+84|0;o=K+80|0;p=K+76|0;q=K+72|0;r=K+68|0;s=K+64|0;t=K+60|0;u=K+56|0;v=K+52|0;w=K+48|0;x=K+44|0;y=K+40|0;z=K+36|0;A=K+32|0;B=K+28|0;C=K+24|0;D=K+20|0;E=K+16|0;F=K+12|0;G=K+8|0;H=K+4|0;I=K;c[J>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=h;c[r>>2]=i;c[s>>2]=j;c[t>>2]=k;c[u>>2]=m;c[v>>2]=n;c[x>>2]=Rt(c[J>>2]|0)|0;c[y>>2]=(c[(c[J>>2]|0)+40>>2]|0)-1;c[z>>2]=qx(c[x>>2]|0)|0;if((c[u>>2]|0)<0)Wt(c[x>>2]|0,65,d[(c[r>>2]|0)+24>>0]|0,c[z>>2]|0)|0;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[r>>2]|0)+20>>2]|0))break;c[A>>2]=(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)+(c[t>>2]|0)+1;Wt(c[x>>2]|0,34,c[A>>2]|0,c[z>>2]|0)|0;c[w>>2]=(c[w>>2]|0)+1}do if(!(c[v>>2]|0)){if(!(c[q>>2]|0)){c[C>>2]=Uu(c[J>>2]|0)|0;Wt(c[x>>2]|0,85,(c[c[s>>2]>>2]|0)+1+(c[t>>2]|0)|0,c[C>>2]|0)|0;c[B>>2]=Wt(c[x>>2]|0,17,c[C>>2]|0,0)|0;if((c[u>>2]|0)==1?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){Xt(c[x>>2]|0,37,c[t>>2]|0,c[z>>2]|0,c[C>>2]|0)|0;px(c[x>>2]|0,-112)}nx(c[J>>2]|0,c[y>>2]|0,c[o>>2]|0,c[p>>2]|0,104);Xt(c[x>>2]|0,33,c[y>>2]|0,0,c[C>>2]|0)|0;sx(c[x>>2]|0,c[z>>2]|0)|0;n=c[x>>2]|0;tx(n,(Vu(c[x>>2]|0)|0)-2|0);tx(c[x>>2]|0,c[B>>2]|0);Wu(c[J>>2]|0,c[C>>2]|0);break}c[D>>2]=c[(c[r>>2]|0)+20>>2];c[E>>2]=Sx(c[J>>2]|0,c[D>>2]|0)|0;c[F>>2]=Uu(c[J>>2]|0)|0;Xt(c[x>>2]|0,104,c[y>>2]|0,c[(c[q>>2]|0)+44>>2]|0,c[o>>2]|0)|0;ox(c[J>>2]|0,c[q>>2]|0);c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[D>>2]|0))break;Wt(c[x>>2]|0,84,(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)+1+(c[t>>2]|0)|0,(c[E>>2]|0)+(c[w>>2]|0)|0)|0;c[w>>2]=(c[w>>2]|0)+1}if((c[u>>2]|0)==1?(c[p>>2]|0)==(c[c[r>>2]>>2]|0):0){n=Vu(c[x>>2]|0)|0;c[G>>2]=n+(c[D>>2]|0)+1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[D>>2]|0))break;c[H>>2]=(c[(c[s>>2]|0)+(c[w>>2]<<2)>>2]|0)+1+(c[t>>2]|0);c[I>>2]=(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)+1+(c[t>>2]|0);if((b[(c[(c[q>>2]|0)+4>>2]|0)+(c[w>>2]<<1)>>1]|0)==(b[(c[p>>2]|0)+32>>1]|0))c[I>>2]=c[t>>2];Xt(c[x>>2]|0,36,c[H>>2]|0,c[G>>2]|0,c[I>>2]|0)|0;px(c[x>>2]|0,16);c[w>>2]=(c[w>>2]|0)+1}sx(c[x>>2]|0,c[z>>2]|0)|0}i=c[x>>2]|0;j=c[E>>2]|0;k=c[D>>2]|0;m=c[F>>2]|0;n=Iz(c[c[J>>2]>>2]|0,c[q>>2]|0)|0;_t(i,99,j,k,m,n,c[D>>2]|0)|0;Fx(c[x>>2]|0,31,c[y>>2]|0,c[z>>2]|0,c[F>>2]|0,0)|0;Wu(c[J>>2]|0,c[F>>2]|0);Vx(c[J>>2]|0,c[E>>2]|0,c[D>>2]|0)}while(0);if((((a[(c[r>>2]|0)+24>>0]|0)==0?(c[(c[c[J>>2]>>2]|0)+24>>2]&33554432|0)==0:0)?(c[(c[J>>2]|0)+124>>2]|0)==0:0)?(a[(c[J>>2]|0)+20>>0]|0)==0:0){Nx(c[J>>2]|0,787,2,0,-2,4);J=c[x>>2]|0;n=c[z>>2]|0;ux(J,n);n=c[x>>2]|0;J=c[y>>2]|0;kx(n,111,J)|0;l=K;return}if((c[u>>2]|0)>0?(d[(c[r>>2]|0)+24>>0]|0)==0:0)mv(c[J>>2]|0);Wt(c[x>>2]|0,144,d[(c[r>>2]|0)+24>>0]|0,c[u>>2]|0)|0;J=c[x>>2]|0;n=c[z>>2]|0;ux(J,n);n=c[x>>2]|0;J=c[y>>2]|0;kx(n,111,J)|0;l=K;return}function GA(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;i=l;l=l+32|0;e=i+16|0;j=i+12|0;f=i+8|0;g=i+4|0;h=i;c[j>>2]=a;c[f>>2]=b;a=c[j>>2]|0;if(c[(c[j>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;c[g>>2]=a;do if(c[(c[g>>2]|0)+468>>2]|0){c[h>>2]=c[c[(c[g>>2]|0)+468>>2]>>2];if(!((c[h>>2]|0)==(c[(c[f>>2]|0)+28>>2]|0)?(d[(c[f>>2]|0)+25>>0]|0|0)==7:0)){if((c[h>>2]|0)!=(c[(c[f>>2]|0)+28+4>>2]|0))break;if((d[(c[f>>2]|0)+25+1>>0]|0|0)!=7)break}c[e>>2]=1;j=c[e>>2]|0;l=i;return j|0}while(0);c[e>>2]=0;j=c[e>>2]|0;l=i;return j|0}function HA(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;k=s+32|0;m=s+28|0;n=s+24|0;o=s+20|0;p=s+16|0;q=s+12|0;h=s+8|0;i=s+4|0;j=s;c[m>>2]=a;c[n>>2]=e;c[o>>2]=f;c[p>>2]=g;c[q>>2]=0;a:while(1){if((c[q>>2]|0)>=(c[(c[n>>2]|0)+20>>2]|0)){r=14;break}c[h>>2]=c[(c[n>>2]|0)+36+(c[q>>2]<<3)+4>>2];c[i>>2]=0;while(1){if((c[i>>2]|0)>=(b[(c[m>>2]|0)+34>>1]|0))break;if(!((c[(c[o>>2]|0)+(c[i>>2]<<2)>>2]|0)<0?!(c[p>>2]|0?(c[i>>2]|0)==(b[(c[m>>2]|0)+32>>1]|0):0):0))r=7;do if((r|0)==7){r=0;c[j>>2]=(c[(c[m>>2]|0)+4>>2]|0)+(c[i>>2]<<4);a=c[j>>2]|0;if(c[h>>2]|0)if(!(Ig(c[a>>2]|0,c[h>>2]|0)|0)){r=9;break a}else break;else if(d[a+15>>0]&1|0){r=11;break a}else break}while(0);c[i>>2]=(c[i>>2]|0)+1}c[q>>2]=(c[q>>2]|0)+1}if((r|0)==9){c[k>>2]=1;r=c[k>>2]|0;l=s;return r|0}else if((r|0)==11){c[k>>2]=1;r=c[k>>2]|0;l=s;return r|0}else if((r|0)==14){c[k>>2]=0;r=c[k>>2]|0;l=s;return r|0}return 0}function IA(a,f,g,h,i,j,k,m){a=a|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+144|0;M=O+128|0;N=O+124|0;n=O+120|0;o=O+116|0;p=O+112|0;q=O+108|0;r=O+104|0;s=O+100|0;t=O+96|0;u=O+92|0;v=O+88|0;w=O+56|0;x=O+48|0;y=O+44|0;z=O+40|0;A=O+36|0;B=O+32|0;C=O+28|0;D=O+134|0;E=O+24|0;F=O+20|0;G=O+16|0;H=O+12|0;I=O+8|0;J=O+4|0;K=O;L=O+132|0;c[M>>2]=a;c[N>>2]=f;c[n>>2]=g;c[o>>2]=h;c[p>>2]=i;c[q>>2]=j;c[r>>2]=k;c[s>>2]=m;c[t>>2]=c[c[M>>2]>>2];c[v>>2]=0;c[y>>2]=0;c[z>>2]=Rt(c[M>>2]|0)|0;if((c[s>>2]|0)<0)c[y>>2]=Wt(c[z>>2]|0,65,d[(c[p>>2]|0)+24>>0]|0,0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(c[(c[p>>2]|0)+20>>2]|0))break;if(c[o>>2]|0)a=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0;else a=-1;b[D>>1]=a;c[A>>2]=JA(c[M>>2]|0,c[n>>2]|0,c[r>>2]|0,b[D>>1]|0)|0;if(c[q>>2]|0)a=(c[q>>2]|0)+(c[u>>2]<<2)|0;else a=(c[p>>2]|0)+36|0;b[D>>1]=c[a>>2];c[E>>2]=c[(c[(c[c[p>>2]>>2]|0)+4>>2]|0)+(b[D>>1]<<4)>>2];c[B>>2]=Ns(c[t>>2]|0,55,c[E>>2]|0)|0;c[C>>2]=vs(c[M>>2]|0,37,c[A>>2]|0,c[B>>2]|0,0)|0;c[v>>2]=Sw(c[t>>2]|0,c[v>>2]|0,c[C>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}if((c[s>>2]|0)>0?(c[n>>2]|0)==(c[c[p>>2]>>2]|0):0){if(!(d[(c[n>>2]|0)+42>>0]&32)){c[G>>2]=JA(c[M>>2]|0,c[n>>2]|0,c[r>>2]|0,-1)|0;c[H>>2]=KA(c[t>>2]|0,c[n>>2]|0,c[(c[N>>2]|0)+8+44>>2]|0,-1)|0;c[F>>2]=vs(c[M>>2]|0,36,c[G>>2]|0,c[H>>2]|0,0)|0}else{c[J>>2]=0;c[K>>2]=Au(c[n>>2]|0)|0;c[u>>2]=0;while(1){if((c[u>>2]|0)>=(e[(c[K>>2]|0)+50>>1]|0))break;b[L>>1]=b[(c[(c[o>>2]|0)+4>>2]|0)+(c[u>>2]<<1)>>1]|0;c[G>>2]=JA(c[M>>2]|0,c[n>>2]|0,c[r>>2]|0,b[L>>1]|0)|0;c[H>>2]=KA(c[t>>2]|0,c[n>>2]|0,c[(c[N>>2]|0)+8+44>>2]|0,b[L>>1]|0)|0;c[I>>2]=vs(c[M>>2]|0,37,c[G>>2]|0,c[H>>2]|0,0)|0;c[J>>2]=Sw(c[t>>2]|0,c[J>>2]|0,c[I>>2]|0)|0;c[u>>2]=(c[u>>2]|0)+1}c[F>>2]=vs(c[M>>2]|0,19,c[J>>2]|0,0,0)|0}c[v>>2]=Sw(c[t>>2]|0,c[v>>2]|0,c[F>>2]|0)|0};c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;c[w+20>>2]=0;c[w+24>>2]=0;c[w+28>>2]=0;c[w+4>>2]=c[N>>2];c[w>>2]=c[M>>2];Uv(w,c[v>>2]|0)|0;c[x>>2]=LA(c[M>>2]|0,c[N>>2]|0,c[v>>2]|0,0,0,0,0)|0;Wt(c[z>>2]|0,144,d[(c[p>>2]|0)+24>>0]|0,c[s>>2]|0)|0;if(c[x>>2]|0)MA(c[x>>2]|0);ck(c[t>>2]|0,c[v>>2]|0);if(!(c[y>>2]|0)){l=O;return}tx(c[z>>2]|0,c[y>>2]|0);l=O;return}function JA(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+32|0;j=q+24|0;k=q+20|0;m=q+16|0;n=q+28|0;o=q+12|0;p=q+8|0;h=q+4|0;i=q;c[j>>2]=d;c[k>>2]=e;c[m>>2]=f;b[n>>1]=g;c[i>>2]=c[c[j>>2]>>2];c[o>>2]=Ns(c[i>>2]|0,157,0)|0;if(!(c[o>>2]|0)){p=c[o>>2]|0;l=q;return p|0}if((b[n>>1]|0)>=0?(b[n>>1]|0)!=(b[(c[k>>2]|0)+32>>1]|0):0){c[p>>2]=(c[(c[k>>2]|0)+4>>2]|0)+(b[n>>1]<<4);c[(c[o>>2]|0)+28>>2]=(c[m>>2]|0)+(b[n>>1]|0)+1;a[(c[o>>2]|0)+1>>0]=a[(c[p>>2]|0)+13>>0]|0;c[h>>2]=c[(c[p>>2]|0)+8>>2];if(!(c[h>>2]|0))c[h>>2]=c[c[(c[i>>2]|0)+8>>2]>>2];c[o>>2]=ow(c[j>>2]|0,c[o>>2]|0,c[h>>2]|0)|0;p=c[o>>2]|0;l=q;return p|0}c[(c[o>>2]|0)+28>>2]=c[m>>2];a[(c[o>>2]|0)+1>>0]=68;p=c[o>>2]|0;l=q;return p|0}function KA(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+32|0;m=k+12|0;g=k+8|0;h=k+4|0;i=k+16|0;j=k;c[m>>2]=a;c[g>>2]=d;c[h>>2]=e;b[i>>1]=f;c[j>>2]=Ns(c[m>>2]|0,152,0)|0;if(!(c[j>>2]|0)){m=c[j>>2]|0;l=k;return m|0}c[(c[j>>2]|0)+44>>2]=c[g>>2];c[(c[j>>2]|0)+28>>2]=c[h>>2];b[(c[j>>2]|0)+32>>1]=b[i>>1]|0;m=c[j>>2]|0;l=k;return m|0}function LA(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=l;l=l+192|0;n=ca+24|0;$=ca+180|0;aa=ca+176|0;ba=ca+172|0;o=ca+168|0;q=ca+164|0;r=ca+160|0;R=ca+184|0;s=ca+156|0;p=ca+152|0;S=ca+148|0;T=ca+144|0;U=ca+140|0;V=ca+16|0;t=ca+120|0;u=ca+116|0;W=ca+112|0;v=ca+108|0;X=ca+104|0;Y=ca+100|0;w=ca+96|0;x=ca+186|0;y=ca+8|0;A=ca+92|0;B=ca+88|0;C=ca+84|0;D=ca+80|0;E=ca+76|0;F=ca+72|0;G=ca+68|0;H=ca+64|0;I=ca+60|0;J=ca+56|0;K=ca;L=ca+52|0;M=ca+48|0;N=ca+44|0;O=ca+40|0;P=ca+36|0;Z=ca+32|0;_=ca+28|0;c[aa>>2]=f;c[ba>>2]=g;c[o>>2]=h;c[q>>2]=i;c[r>>2]=j;b[R>>1]=k;c[s>>2]=m;c[U>>2]=c[(c[aa>>2]|0)+8>>2];a[x>>0]=0;c[Y>>2]=c[c[aa>>2]>>2];c[t>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[t+12>>2]=0;c[t+16>>2]=0;if(c[q>>2]|0?(c[c[q>>2]>>2]|0)>=64:0)c[q>>2]=0;c[t+8>>2]=c[q>>2];if(e[(c[Y>>2]|0)+64>>1]&32|0)b[R>>1]=e[R>>1]&-257;if((c[c[ba>>2]>>2]|0)>64){ba=c[aa>>2]|0;c[n>>2]=64;Ck(ba,30910,n);c[$>>2]=0;ba=c[$>>2]|0;l=ca;return ba|0}if(e[R>>1]&32|0)f=1;else f=c[c[ba>>2]>>2]|0;c[S>>2]=f;c[p>>2]=832+(((c[S>>2]|0)-1|0)*80|0)+7&-8;c[T>>2]=od(c[Y>>2]|0,(c[p>>2]|0)+72|0,0)|0;a:do if(!(a[(c[Y>>2]|0)+69>>0]|0)){c[c[T>>2]>>2]=c[aa>>2];c[(c[T>>2]|0)+4>>2]=c[ba>>2];c[(c[T>>2]|0)+8>>2]=c[q>>2];c[(c[T>>2]|0)+12>>2]=c[r>>2];c[(c[T>>2]|0)+20+4>>2]=-1;c[(c[T>>2]|0)+20>>2]=-1;a[(c[T>>2]|0)+42>>0]=c[S>>2];f=qx(c[U>>2]|0)|0;c[(c[T>>2]|0)+28>>2]=f;c[(c[T>>2]|0)+32>>2]=f;b[(c[T>>2]|0)+40>>1]=b[R>>1]|0;b[(c[T>>2]|0)+16>>1]=c[s>>2];c[(c[T>>2]|0)+36>>2]=c[(c[aa>>2]|0)+136>>2];f=(c[T>>2]|0)+43|0;g=f+37|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(g|0));GR((c[T>>2]|0)+752|0,0,72+((c[S>>2]|0)*80|0)|0)|0;c[u>>2]=(c[T>>2]|0)+488;c[t>>2]=c[T>>2];c[t+4>>2]=(c[T>>2]|0)+80;c[t+12>>2]=(c[T>>2]|0)+(c[p>>2]|0);TA(c[t+12>>2]|0);c[c[u>>2]>>2]=0;WA((c[T>>2]|0)+80|0,c[T>>2]|0);XA((c[T>>2]|0)+80|0,c[o>>2]|0,28);c[X>>2]=0;while(1){f=(c[S>>2]|0)==0;if((c[X>>2]|0)>=(c[(c[t+4>>2]|0)+12>>2]|0))break;if(!(!f?!(My(c[(c[(c[t+4>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0)>>2]|0)|0):0)){ty(c[aa>>2]|0,c[(c[(c[t+4>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0)>>2]|0,c[(c[T>>2]|0)+32>>2]|0,16);p=(c[(c[t+4>>2]|0)+20>>2]|0)+((c[X>>2]|0)*48|0)+10|0;b[p>>1]=e[p>>1]|4}c[X>>2]=(c[X>>2]|0)+1}if(f){if(c[q>>2]|0)a[(c[T>>2]|0)+43>>0]=c[c[q>>2]>>2];if(e[R>>1]&256|0)a[(c[T>>2]|0)+47>>0]=1}c[X>>2]=0;while(1){if((c[X>>2]|0)>=(c[c[ba>>2]>>2]|0))break;YA(c[u>>2]|0,c[(c[ba>>2]|0)+8+((c[X>>2]|0)*72|0)+44>>2]|0);ZA(c[aa>>2]|0,(c[ba>>2]|0)+8+((c[X>>2]|0)*72|0)|0,(c[T>>2]|0)+80|0);c[X>>2]=(c[X>>2]|0)+1}_A(c[ba>>2]|0,(c[T>>2]|0)+80|0);if(!(a[(c[Y>>2]|0)+69>>0]|0)){do if(e[R>>1]&256|0){if($A(c[aa>>2]|0,c[ba>>2]|0,(c[T>>2]|0)+80|0,c[r>>2]|0)|0){a[(c[T>>2]|0)+47>>0]=1;break}if(!(c[q>>2]|0)){q=(c[T>>2]|0)+40|0;b[q>>1]=e[q>>1]|128;c[(c[T>>2]|0)+8>>2]=c[r>>2]}}while(0);if(!((c[S>>2]|0)==1?(aB(t)|0)!=0:0)){c[w>>2]=bB(t)|0;if(c[w>>2]|0)break;cB(c[T>>2]|0,0)|0;if(a[(c[Y>>2]|0)+69>>0]|0)break;if(c[(c[T>>2]|0)+8>>2]|0?(cB(c[T>>2]|0,(b[(c[T>>2]|0)+72>>1]|0)+1&65535)|0,a[(c[Y>>2]|0)+69>>0]|0):0)break}if((c[(c[T>>2]|0)+8>>2]|0)==0?c[(c[Y>>2]|0)+24>>2]&131072|0:0){w=(c[T>>2]|0)+64|0;c[w>>2]=-1;c[w+4>>2]=-1}if((c[(c[aa>>2]|0)+36>>2]|0)==0?(d[(c[Y>>2]|0)+69>>0]|0)==0:0){b:do if((c[r>>2]|0?(d[(c[T>>2]|0)+42>>0]|0)>=2:0)?(e[(c[Y>>2]|0)+64>>1]&1024|0)==0:0){r=dB(c[u>>2]|0,c[r>>2]|0)|0;w=y;c[w>>2]=r;c[w+4>>2]=z;if(c[t+8>>2]|0){r=dB(c[u>>2]|0,c[t+8>>2]|0)|0;q=y;u=c[q+4>>2]|z;w=y;c[w>>2]=c[q>>2]|r;c[w+4>>2]=u}while(1){if((d[(c[T>>2]|0)+42>>0]|0)<2)break b;c[v>>2]=c[(c[T>>2]|0)+752+(((d[(c[T>>2]|0)+42>>0]|0)-1|0)*80|0)+64>>2];if(!(d[(c[(c[T>>2]|0)+4>>2]|0)+8+((d[(c[v>>2]|0)+16>>0]|0)*72|0)+36>>0]&8))break b;if((e[R>>1]&256|0)==0?(c[(c[v>>2]|0)+36>>2]&4096|0)==0:0)break b;u=y;w=(c[v>>2]|0)+8|0;if(c[u>>2]&c[w>>2]|0?1:(c[u+4>>2]&c[w+4>>2]|0)!=0)break b;c[B>>2]=(c[(c[t+4>>2]|0)+20>>2]|0)+((c[(c[t+4>>2]|0)+12>>2]|0)*48|0);c[A>>2]=c[(c[t+4>>2]|0)+20>>2];while(1){if((c[A>>2]|0)>>>0>=(c[B>>2]|0)>>>0)break;u=(c[A>>2]|0)+40|0;w=(c[v>>2]|0)+8|0;if((c[u>>2]&c[w>>2]|0?1:(c[u+4>>2]&c[w+4>>2]|0)!=0)?(c[(c[c[A>>2]>>2]|0)+4>>2]&1|0)==0:0)break;c[A>>2]=(c[A>>2]|0)+48}if((c[A>>2]|0)>>>0<(c[B>>2]|0)>>>0)break b;w=(c[T>>2]|0)+42|0;a[w>>0]=(a[w>>0]|0)+-1<<24>>24;c[S>>2]=(c[S>>2]|0)+-1}}while(0);B=(c[c[T>>2]>>2]|0)+136|0;c[B>>2]=(c[B>>2]|0)+(b[(c[T>>2]|0)+72>>1]|0);do if(e[R>>1]&4|0){c[C>>2]=c[(c[(c[T>>2]|0)+752+64>>2]|0)+36>>2];c[D>>2]=(c[C>>2]&4096|0)!=0&1;if(!(c[D>>2]|0)){if(!(e[R>>1]&8))break;if(c[C>>2]&1024)break}a[(c[T>>2]|0)+45>>0]=c[D>>2]|0?1:2;if((d[(c[(c[ba>>2]|0)+8+16>>2]|0)+42>>0]&32|0)==0?c[C>>2]&64|0:0){if(e[R>>1]&8|0)a[x>>0]=8;c[(c[(c[T>>2]|0)+752+64>>2]|0)+36>>2]=c[C>>2]&-65}}while(0);c[X>>2]=0;c[W>>2]=(c[T>>2]|0)+752;while(1){if((c[X>>2]|0)>=(c[S>>2]|0))break;c[G>>2]=(c[ba>>2]|0)+8+((d[(c[W>>2]|0)+44>>0]|0)*72|0);c[E>>2]=c[(c[G>>2]|0)+16>>2];c[F>>2]=Nt(c[Y>>2]|0,c[(c[E>>2]|0)+64>>2]|0)|0;c[v>>2]=c[(c[W>>2]|0)+64>>2];c:do if((d[(c[E>>2]|0)+42>>0]&2|0)==0?(c[(c[E>>2]|0)+12>>2]|0)==0:0){if(c[(c[v>>2]|0)+36>>2]&1024|0){c[H>>2]=lv(c[Y>>2]|0,c[E>>2]|0)|0;c[I>>2]=c[(c[G>>2]|0)+44>>2];_t(c[U>>2]|0,155,c[I>>2]|0,0,0,c[H>>2]|0,-10)|0;break}if(d[(c[E>>2]|0)+42>>0]&16|0)break;do if(!(c[(c[v>>2]|0)+36>>2]&64)){if(e[R>>1]&32|0)break;c[J>>2]=104;if(d[(c[T>>2]|0)+45>>0]|0){c[J>>2]=105;c[(c[T>>2]|0)+20>>2]=c[(c[G>>2]|0)+44>>2]}nx(c[aa>>2]|0,c[(c[G>>2]|0)+44>>2]|0,c[F>>2]|0,c[E>>2]|0,c[J>>2]|0);do if(!(d[(c[T>>2]|0)+45>>0]|0)){if((b[(c[E>>2]|0)+34>>1]|0)>=64)break;if(d[(c[E>>2]|0)+42>>0]&32|0)break;B=(c[G>>2]|0)+56|0;C=c[B+4>>2]|0;D=K;c[D>>2]=c[B>>2];c[D+4>>2]=C;c[L>>2]=0;while(1){D=K;if(!((c[D>>2]|0)!=0|(c[D+4>>2]|0)!=0))break;C=K;C=OR(c[C>>2]|0,c[C+4>>2]|0,1)|0;D=K;c[D>>2]=C;c[D+4>>2]=z;c[L>>2]=(c[L>>2]|0)+1}$t(c[U>>2]|0,-1,c[L>>2]|0,-14)}while(0);px(c[U>>2]|0,a[x>>0]|0);break c}while(0);mx(c[aa>>2]|0,c[F>>2]|0,c[(c[E>>2]|0)+28>>2]|0,0,c[c[E>>2]>>2]|0)}while(0);do if(c[(c[v>>2]|0)+36>>2]&512|0){c[M>>2]=c[(c[v>>2]|0)+24+8>>2];c[O>>2]=104;do if(!(d[(c[E>>2]|0)+42>>0]&32))Q=93;else{if((a[(c[M>>2]|0)+55>>0]&3|0)!=2){Q=93;break}if(!(e[R>>1]&32)){Q=93;break}c[N>>2]=c[(c[W>>2]|0)+4>>2];c[O>>2]=0}while(0);d:do if((Q|0)==93){Q=0;if(!(d[(c[T>>2]|0)+45>>0]|0)){do if(c[s>>2]|0){if(!(e[R>>1]&32))break;c[N>>2]=c[s>>2];c[O>>2]=103;break d}while(0);C=(c[aa>>2]|0)+40|0;D=c[C>>2]|0;c[C>>2]=D+1;c[N>>2]=D;break}c[P>>2]=c[(c[(c[G>>2]|0)+16>>2]|0)+8>>2];c[N>>2]=c[s>>2];while(1){if(!(c[P>>2]|0))break;if((c[P>>2]|0)==(c[M>>2]|0))break;c[N>>2]=(c[N>>2]|0)+1;c[P>>2]=c[(c[P>>2]|0)+20>>2]}c[O>>2]=105;c[(c[T>>2]|0)+20+4>>2]=c[N>>2]}while(0);c[(c[W>>2]|0)+8>>2]=c[N>>2];if(!(c[O>>2]|0))break;Xt(c[U>>2]|0,c[O>>2]|0,c[N>>2]|0,c[(c[M>>2]|0)+44>>2]|0,c[F>>2]|0)|0;ox(c[aa>>2]|0,c[M>>2]|0);if(!(c[(c[v>>2]|0)+36>>2]&15))break;if(c[(c[v>>2]|0)+36>>2]&32770|0)break;if(e[(c[T>>2]|0)+40>>1]&1|0)break;px(c[U>>2]|0,2)}while(0);if((c[F>>2]|0)>=0)ju(c[aa>>2]|0,c[F>>2]|0);c[X>>2]=(c[X>>2]|0)+1;c[W>>2]=(c[W>>2]|0)+80}Q=Vu(c[U>>2]|0)|0;c[(c[T>>2]|0)+52>>2]=Q;if(!(a[(c[Y>>2]|0)+69>>0]|0)){Q=V;c[Q>>2]=-1;c[Q+4>>2]=-1;c[X>>2]=0;while(1){f=c[T>>2]|0;if((c[X>>2]|0)>=(c[S>>2]|0))break;c[W>>2]=f+752+((c[X>>2]|0)*80|0);c[_>>2]=c[(c[(c[W>>2]|0)+64>>2]|0)+36>>2];if(c[(c[(c[W>>2]|0)+64>>2]|0)+36>>2]&16384|0?(Q=V,eB(c[aa>>2]|0,(c[T>>2]|0)+80|0,(c[ba>>2]|0)+8+((d[(c[W>>2]|0)+44>>0]|0)*72|0)|0,c[Q>>2]|0,c[Q+4>>2]|0,c[W>>2]|0),a[(c[Y>>2]|0)+69>>0]|0):0)break a;c[Z>>2]=fB(c[aa>>2]|0,c[ba>>2]|0,c[W>>2]|0,c[X>>2]|0,d[(c[W>>2]|0)+44>>0]|0,b[R>>1]|0)|0;P=Vu(c[U>>2]|0)|0;c[(c[W>>2]|0)+32>>2]=P;P=V;P=gB(c[T>>2]|0,c[X>>2]|0,c[P>>2]|0,c[P+4>>2]|0)|0;Q=V;c[Q>>2]=P;c[Q+4>>2]=z;c[(c[T>>2]|0)+28>>2]=c[(c[W>>2]|0)+24>>2];do if((c[_>>2]&8192|0)==0?e[R>>1]&32|0:0)break;while(0);c[X>>2]=(c[X>>2]|0)+1}c[$>>2]=f;ba=c[$>>2]|0;l=ca;return ba|0}}}}else{Hd(c[Y>>2]|0,c[T>>2]|0);c[T>>2]=0}while(0);if(c[T>>2]|0){c[(c[aa>>2]|0)+136>>2]=c[(c[T>>2]|0)+36>>2];OA(c[Y>>2]|0,c[T>>2]|0)}c[$>>2]=0;ba=c[$>>2]|0;l=ca;return ba|0}function MA(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=l;l=l+96|0;m=E+80|0;u=E+76|0;x=E+72|0;y=E+68|0;z=E+64|0;A=E+60|0;B=E+56|0;C=E+52|0;k=E+48|0;h=E+44|0;i=E+40|0;j=E+36|0;n=E+32|0;o=E+28|0;p=E+24|0;q=E+20|0;r=E+16|0;s=E+12|0;t=E+8|0;v=E+4|0;w=E;c[m>>2]=f;c[u>>2]=c[c[m>>2]>>2];c[x>>2]=c[(c[u>>2]|0)+8>>2];c[B>>2]=c[(c[m>>2]|0)+4>>2];c[C>>2]=c[c[u>>2]>>2];Kz(c[u>>2]|0);c[y>>2]=(d[(c[m>>2]|0)+42>>0]|0)-1;while(1){if((c[y>>2]|0)<0)break;c[z>>2]=(c[m>>2]|0)+752+((c[y>>2]|0)*80|0);c[A>>2]=c[(c[z>>2]|0)+64>>2];ux(c[x>>2]|0,c[(c[z>>2]|0)+24>>2]|0);if((d[(c[z>>2]|0)+45>>0]|0)!=161){Xt(c[x>>2]|0,d[(c[z>>2]|0)+45>>0]|0,c[(c[z>>2]|0)+48>>2]|0,c[(c[z>>2]|0)+52>>2]|0,d[(c[z>>2]|0)+46>>0]|0)|0;px(c[x>>2]|0,a[(c[z>>2]|0)+47>>0]|0)}a:do if(c[(c[A>>2]|0)+36>>2]&2048|0?(c[(c[z>>2]|0)+56>>2]|0)>0:0){ux(c[x>>2]|0,c[(c[z>>2]|0)+16>>2]|0);c[i>>2]=c[(c[z>>2]|0)+56>>2];c[h>>2]=(c[(c[z>>2]|0)+56+4>>2]|0)+(((c[i>>2]|0)-1|0)*12|0);while(1){if((c[i>>2]|0)<=0)break a;tx(c[x>>2]|0,(c[(c[h>>2]|0)+4>>2]|0)+1|0);if((d[(c[h>>2]|0)+8>>0]|0)!=161)Wt(c[x>>2]|0,d[(c[h>>2]|0)+8>>0]|0,c[c[h>>2]>>2]|0,c[(c[h>>2]|0)+4>>2]|0)|0;tx(c[x>>2]|0,(c[(c[h>>2]|0)+4>>2]|0)-1|0);c[i>>2]=(c[i>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+-12}}while(0);ux(c[x>>2]|0,c[(c[z>>2]|0)+12>>2]|0);if(c[(c[z>>2]|0)+20>>2]|0){sx(c[x>>2]|0,c[(c[z>>2]|0)+20>>2]|0)|0;tx(c[x>>2]|0,c[(c[z>>2]|0)+20>>2]|0);tx(c[x>>2]|0,(c[(c[z>>2]|0)+20>>2]|0)-2|0)}if(c[(c[z>>2]|0)+40>>2]|0)Wt(c[x>>2]|0,68,(c[(c[z>>2]|0)+36>>2]|0)>>>1,c[(c[z>>2]|0)+40>>2]|0)|0;if(c[c[z>>2]>>2]|0){c[j>>2]=c[(c[A>>2]|0)+36>>2];c[k>>2]=kx(c[x>>2]|0,66,c[c[z>>2]>>2]|0)|0;if(!(c[j>>2]&64))kx(c[x>>2]|0,124,c[(c[B>>2]|0)+8+((c[y>>2]|0)*72|0)+44>>2]|0)|0;if(!(c[j>>2]&512|0)){if(c[j>>2]&8192|0?c[(c[z>>2]|0)+56>>2]|0:0)D=22}else D=22;if((D|0)==22){D=0;kx(c[x>>2]|0,124,c[(c[z>>2]|0)+8>>2]|0)|0}f=c[x>>2]|0;g=c[z>>2]|0;if((d[(c[z>>2]|0)+45>>0]|0)==72)Wt(f,14,c[g+48>>2]|0,c[(c[z>>2]|0)+28>>2]|0)|0;else sx(f,c[g+28>>2]|0)|0;tx(c[x>>2]|0,c[k>>2]|0)}c[y>>2]=(c[y>>2]|0)+-1}ux(c[x>>2]|0,c[(c[m>>2]|0)+32>>2]|0);c[y>>2]=0;c[z>>2]=(c[m>>2]|0)+752;while(1){if((c[y>>2]|0)>=(d[(c[m>>2]|0)+42>>0]|0))break;c[q>>2]=0;c[r>>2]=(c[B>>2]|0)+8+((d[(c[z>>2]|0)+44>>0]|0)*72|0);c[s>>2]=c[(c[r>>2]|0)+16>>2];c[A>>2]=c[(c[z>>2]|0)+64>>2];if((d[(c[r>>2]|0)+36+1>>0]|0)>>>4&1|0?!(a[(c[C>>2]|0)+69>>0]|0):0)NA(c[x>>2]|0,c[(c[z>>2]|0)+32>>2]|0,c[(c[z>>2]|0)+4>>2]|0,c[(c[r>>2]|0)+32>>2]|0,0);else D=33;b:do if((D|0)==33){D=0;if(((d[(c[s>>2]|0)+42>>0]&2|0)==0?(c[(c[s>>2]|0)+12>>2]|0)==0:0)?(e[(c[m>>2]|0)+40>>1]&32|0)==0:0){c[t>>2]=c[(c[A>>2]|0)+36>>2];if((d[(c[m>>2]|0)+45>>0]|0)==0?(c[t>>2]&64|0)==0:0)kx(c[x>>2]|0,111,c[(c[r>>2]|0)+44>>2]|0)|0;if((c[t>>2]&512|0?(c[t>>2]&16640|0)==0:0)?(c[(c[z>>2]|0)+8>>2]|0)!=(c[(c[m>>2]|0)+20+4>>2]|0):0)kx(c[x>>2]|0,111,c[(c[z>>2]|0)+8>>2]|0)|0}f=c[A>>2]|0;if(!(c[(c[A>>2]|0)+36>>2]&576|0)){if(c[f+36>>2]&8192|0)c[q>>2]=c[(c[z>>2]|0)+56>>2]}else c[q>>2]=c[f+24+8>>2];if(c[q>>2]|0){if(d[(c[m>>2]|0)+45>>0]|0?(d[(c[(c[q>>2]|0)+12>>2]|0)+42>>0]&32|0)==0:0)break;if(!(a[(c[C>>2]|0)+69>>0]|0)){c[o>>2]=Vu(c[x>>2]|0)|0;c[n>>2]=c[(c[z>>2]|0)+32>>2];c[p>>2]=Ax(c[x>>2]|0,c[n>>2]|0)|0;while(1){if((c[n>>2]|0)>=(c[o>>2]|0))break b;do if((c[(c[p>>2]|0)+4>>2]|0)==(c[(c[z>>2]|0)+4>>2]|0)){f=c[p>>2]|0;if((d[c[p>>2]>>0]|0)!=96){if((d[f>>0]|0)!=123)break;c[(c[p>>2]|0)+4>>2]=c[(c[z>>2]|0)+8>>2];a[c[p>>2]>>0]=-127;break}c[v>>2]=c[f+8>>2];if(d[(c[s>>2]|0)+42>>0]&32|0){c[w>>2]=Au(c[s>>2]|0)|0;c[v>>2]=b[(c[(c[w>>2]|0)+4>>2]|0)+(c[v>>2]<<1)>>1]}c[v>>2]=(_x(c[q>>2]|0,c[v>>2]&65535)|0)<<16>>16;if((c[v>>2]|0)>=0){c[(c[p>>2]|0)+8>>2]=c[v>>2];c[(c[p>>2]|0)+4>>2]=c[(c[z>>2]|0)+8>>2]}}while(0);c[n>>2]=(c[n>>2]|0)+1;c[p>>2]=(c[p>>2]|0)+20}}}}while(0);c[y>>2]=(c[y>>2]|0)+1;c[z>>2]=(c[z>>2]|0)+80}c[(c[u>>2]|0)+136>>2]=c[(c[m>>2]|0)+36>>2];OA(c[C>>2]|0,c[m>>2]|0);l=E;return}function NA(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;p=l;l=l+32|0;q=p+24|0;k=p+20|0;m=p+16|0;n=p+12|0;o=p+8|0;i=p+4|0;j=p;c[q>>2]=b;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[o>>2]=h;c[i>>2]=Ax(c[q>>2]|0,c[k>>2]|0)|0;c[j>>2]=Vu(c[q>>2]|0)|0;while(1){if((c[k>>2]|0)>=(c[j>>2]|0))break;do if((c[(c[i>>2]|0)+4>>2]|0)==(c[m>>2]|0)){b=c[i>>2]|0;if((d[c[i>>2]>>0]|0|0)==96){a[b>>0]=84;c[(c[i>>2]|0)+4>>2]=(c[(c[i>>2]|0)+8>>2]|0)+(c[n>>2]|0);c[(c[i>>2]|0)+8>>2]=c[(c[i>>2]|0)+12>>2];c[(c[i>>2]|0)+12>>2]=0;break}if((d[b>>0]|0|0)==123){b=c[i>>2]|0;if(c[o>>2]|0){a[b>>0]=91;c[(c[i>>2]|0)+4>>2]=c[(c[i>>2]|0)+8>>2];c[(c[i>>2]|0)+8>>2]=1;break}else{a[b>>0]=79;c[(c[i>>2]|0)+4>>2]=0;c[(c[i>>2]|0)+12>>2]=0;break}}}while(0);c[k>>2]=(c[k>>2]|0)+1;c[i>>2]=(c[i>>2]|0)+20}l=p;return}function OA(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=l;l=l+32|0;e=j+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[e>>2]=a;c[f>>2]=b;if(!(c[f>>2]|0)){l=j;return}c[g>>2]=0;while(1){a=c[f>>2]|0;if((c[g>>2]|0)>=(d[(c[f>>2]|0)+42>>0]|0|0))break;c[h>>2]=a+752+((c[g>>2]|0)*80|0);if(c[(c[h>>2]|0)+64>>2]|0?c[(c[(c[h>>2]|0)+64>>2]|0)+36>>2]&2048|0:0)Hd(c[e>>2]|0,c[(c[h>>2]|0)+56+4>>2]|0);c[g>>2]=(c[g>>2]|0)+1}PA(a+80|0);while(1){if(!(c[(c[f>>2]|0)+56>>2]|0))break;c[i>>2]=c[(c[f>>2]|0)+56>>2];c[(c[f>>2]|0)+56>>2]=c[(c[i>>2]|0)+52>>2];QA(c[e>>2]|0,c[i>>2]|0)}Hd(c[e>>2]|0,c[f>>2]|0);l=j;return}function PA(a){a=a|0;var b=0,d=0,f=0,g=0,h=0;h=l;l=l+16|0;b=h+12|0;d=h+8|0;f=h+4|0;g=h;c[b>>2]=a;c[g>>2]=c[c[c[c[b>>2]>>2]>>2]>>2];c[d>>2]=(c[(c[b>>2]|0)+12>>2]|0)-1;c[f>>2]=c[(c[b>>2]|0)+20>>2];while(1){if((c[d>>2]|0)<0)break;if((e[(c[f>>2]|0)+10>>1]|0)&1|0)ck(c[g>>2]|0,c[c[f>>2]>>2]|0);if(!((e[(c[f>>2]|0)+10>>1]|0)&16|0)){if((e[(c[f>>2]|0)+10>>1]|0)&32|0)VA(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0)}else UA(c[g>>2]|0,c[(c[f>>2]|0)+28>>2]|0);c[d>>2]=(c[d>>2]|0)+-1;c[f>>2]=(c[f>>2]|0)+48}if((c[(c[b>>2]|0)+20>>2]|0)==((c[b>>2]|0)+24|0)){l=h;return}Hd(c[g>>2]|0,c[(c[b>>2]|0)+20>>2]|0);l=h;return}function QA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;RA(c[f>>2]|0,c[e>>2]|0);Hd(c[f>>2]|0,c[e>>2]|0);l=d;return}function RA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f+4|0;e=f;c[d>>2]=a;c[e>>2]=b;if((c[(c[e>>2]|0)+48>>2]|0)!=((c[e>>2]|0)+56|0))Hd(c[d>>2]|0,c[(c[e>>2]|0)+48>>2]|0);SA(c[d>>2]|0,c[e>>2]|0);TA(c[e>>2]|0);l=f;return}function SA(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=b;c[g>>2]=e;if(!(c[(c[g>>2]|0)+36>>2]&17408)){l=h;return}if(c[(c[g>>2]|0)+36>>2]&1024|0?d[(c[g>>2]|0)+24+4>>0]|0|0:0){Kd(c[(c[g>>2]|0)+24+8>>2]|0);a[(c[g>>2]|0)+24+4>>0]=0;c[(c[g>>2]|0)+24+8>>2]=0;l=h;return}if(!(c[(c[g>>2]|0)+36>>2]&16384)){l=h;return}if(!(c[(c[g>>2]|0)+24+8>>2]|0)){l=h;return}Hd(c[f>>2]|0,c[(c[(c[g>>2]|0)+24+8>>2]|0)+16>>2]|0);Hd(c[f>>2]|0,c[(c[g>>2]|0)+24+8>>2]|0);c[(c[g>>2]|0)+24+8>>2]=0;l=h;return}function TA(a){a=a|0;var d=0,e=0;d=l;l=l+16|0;e=d;c[e>>2]=a;c[(c[e>>2]|0)+48>>2]=(c[e>>2]|0)+56;b[(c[e>>2]|0)+40>>1]=0;b[(c[e>>2]|0)+44>>1]=3;c[(c[e>>2]|0)+36>>2]=0;l=d;return}function UA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;PA(c[e>>2]|0);Hd(c[f>>2]|0,c[e>>2]|0);l=d;return}function VA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;PA(c[e>>2]|0);Hd(c[f>>2]|0,c[e>>2]|0);l=d;return}function WA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;e=d+4|0;f=d;c[e>>2]=a;c[f>>2]=b;c[c[e>>2]>>2]=c[f>>2];c[(c[e>>2]|0)+4>>2]=0;c[(c[e>>2]|0)+12>>2]=0;c[(c[e>>2]|0)+16>>2]=8;c[(c[e>>2]|0)+20>>2]=(c[e>>2]|0)+24;l=d;return}function XA(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;g=k+8|0;h=k+4|0;i=k+12|0;j=k;c[g>>2]=b;c[h>>2]=e;a[i>>0]=f;c[j>>2]=Ev(c[h>>2]|0)|0;a[(c[g>>2]|0)+8>>0]=a[i>>0]|0;if(!(c[j>>2]|0)){l=k;return}b=c[g>>2]|0;if((d[c[j>>2]>>0]|0|0)!=(d[i>>0]|0|0)){oC(b,c[h>>2]|0,0)|0;l=k;return}else{XA(b,c[(c[j>>2]|0)+12>>2]|0,a[i>>0]|0);XA(c[g>>2]|0,c[(c[j>>2]|0)+16>>2]|0,a[i>>0]|0);l=k;return}}function YA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;e=c[e>>2]|0;a=(c[f>>2]|0)+4|0;f=c[f>>2]|0;b=c[f>>2]|0;c[f>>2]=b+1;c[a+(b<<2)>>2]=e;l=d;return}function ZA(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+48|0;q=r;i=r+40|0;j=r+36|0;k=r+32|0;o=r+28|0;p=r+24|0;m=r+20|0;n=r+16|0;g=r+12|0;h=r+8|0;c[i>>2]=a;c[j>>2]=e;c[k>>2]=f;if(!((d[(c[j>>2]|0)+36+1>>0]|0)>>>2&1)){l=r;return}c[o>>2]=c[(c[j>>2]|0)+16>>2];c[n>>2]=c[(c[j>>2]|0)+64>>2];if(!(c[n>>2]|0)){l=r;return}c[m>>2]=0;c[p>>2]=0;while(1){if((c[p>>2]|0)>=(c[c[n>>2]>>2]|0)){a=13;break}while(1){if((c[m>>2]|0)<(b[(c[o>>2]|0)+34>>1]|0))a=(d[(c[(c[o>>2]|0)+4>>2]|0)+(c[m>>2]<<4)+15>>0]&2|0)==0;else a=0;e=c[m>>2]|0;if(!a)break;c[m>>2]=e+1}f=c[i>>2]|0;if((e|0)>=(b[(c[o>>2]|0)+34>>1]|0)){a=10;break}c[g>>2]=at(c[f>>2]|0,152,0,0)|0;if(!(c[g>>2]|0)){a=13;break}c[(c[g>>2]|0)+28>>2]=c[(c[j>>2]|0)+44>>2];e=c[m>>2]|0;c[m>>2]=e+1;b[(c[g>>2]|0)+32>>1]=e;c[(c[g>>2]|0)+44>>2]=c[o>>2];e=c[i>>2]|0;f=c[g>>2]|0;c[h>>2]=vs(e,37,f,aw(c[c[i>>2]>>2]|0,c[(c[(c[n>>2]|0)+4>>2]|0)+((c[p>>2]|0)*20|0)>>2]|0,0)|0,0)|0;oC(c[k>>2]|0,c[h>>2]|0,1)|0;c[p>>2]=(c[p>>2]|0)+1}if((a|0)==10){p=c[p>>2]|0;c[q>>2]=c[c[o>>2]>>2];c[q+4>>2]=p;Ck(f,31359,q);l=r;return}else if((a|0)==13){l=r;return}}function _A(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=l;l=l+16|0;d=g+8|0;e=g+4|0;f=g;c[d>>2]=a;c[e>>2]=b;c[f>>2]=(c[(c[e>>2]|0)+12>>2]|0)-1;while(1){if((c[f>>2]|0)<0)break;kC(c[d>>2]|0,c[e>>2]|0,c[f>>2]|0);c[f>>2]=(c[f>>2]|0)+-1}l=g;return}function $A(a,f,g,h){a=a|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;n=u+36|0;o=u+32|0;p=u+28|0;q=u+24|0;r=u+20|0;s=u+16|0;i=u+12|0;j=u+8|0;k=u+4|0;m=u;c[o>>2]=a;c[p>>2]=f;c[q>>2]=g;c[r>>2]=h;if((c[c[p>>2]>>2]|0)!=1){c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}c[k>>2]=c[(c[p>>2]|0)+8+44>>2];c[s>>2]=c[(c[p>>2]|0)+8+16>>2];c[j>>2]=0;while(1){if((c[j>>2]|0)>=(c[c[r>>2]>>2]|0))break;c[m>>2]=Ev(c[(c[(c[r>>2]|0)+4>>2]|0)+((c[j>>2]|0)*20|0)>>2]|0)|0;if(((d[c[m>>2]>>0]|0)==152?(c[(c[m>>2]|0)+28>>2]|0)==(c[k>>2]|0):0)?(b[(c[m>>2]|0)+32>>1]|0)<0:0){t=8;break}c[j>>2]=(c[j>>2]|0)+1}if((t|0)==8){c[n>>2]=1;t=c[n>>2]|0;l=u;return t|0}c[i>>2]=c[(c[s>>2]|0)+8>>2];while(1){if(!(c[i>>2]|0)){t=22;break}if(d[(c[i>>2]|0)+54>>0]|0){c[j>>2]=0;while(1){if((c[j>>2]|0)>=(e[(c[i>>2]|0)+50>>1]|0))break;if(!(sB(c[q>>2]|0,c[k>>2]|0,c[j>>2]|0,-1,-1,2,c[i>>2]|0)|0)){if((jC(c[o>>2]|0,c[r>>2]|0,c[k>>2]|0,c[i>>2]|0,c[j>>2]|0)|0)<0)break;if(!($B(c[i>>2]|0,c[j>>2]|0)|0))break}c[j>>2]=(c[j>>2]|0)+1}if((c[j>>2]|0)==(e[(c[i>>2]|0)+50>>1]|0)){t=20;break}}c[i>>2]=c[(c[i>>2]|0)+20>>2]}if((t|0)==20){c[n>>2]=1;t=c[n>>2]|0;l=u;return t|0}else if((t|0)==22){c[n>>2]=0;t=c[n>>2]|0;l=u;return t|0}return 0}function aB(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=l;l=l+48|0;p=u+44|0;j=u+40|0;q=u+36|0;k=u+32|0;m=u+28|0;n=u+24|0;r=u+20|0;s=u+16|0;o=u+12|0;g=u+8|0;h=u+4|0;i=u;c[j>>2]=f;c[q>>2]=c[c[j>>2]>>2];if((e[(c[q>>2]|0)+40>>1]|0)&32|0){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}c[k>>2]=(c[(c[q>>2]|0)+4>>2]|0)+8;c[g>>2]=c[(c[k>>2]|0)+16>>2];if((d[(c[g>>2]|0)+42>>0]|0)&16|0){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}if((d[(c[k>>2]|0)+36+1>>0]|0)>>>1&1|0){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}c[s>>2]=c[(c[k>>2]|0)+44>>2];c[m>>2]=(c[q>>2]|0)+80;c[r>>2]=c[(c[j>>2]|0)+12>>2];c[(c[r>>2]|0)+36>>2]=0;b[(c[r>>2]|0)+42>>1]=0;c[n>>2]=sB(c[m>>2]|0,c[s>>2]|0,-1,0,0,130,0)|0;a:do if(c[n>>2]|0){c[(c[r>>2]|0)+36>>2]=4353;c[c[(c[r>>2]|0)+48>>2]>>2]=c[n>>2];b[(c[r>>2]|0)+40>>1]=1;b[(c[r>>2]|0)+24>>1]=1;f=33;g=c[r>>2]|0;t=24}else{c[h>>2]=c[(c[g>>2]|0)+8>>2];while(1){if(!(c[h>>2]|0))break a;if((d[(c[h>>2]|0)+54>>0]|0|0?(c[(c[h>>2]|0)+36>>2]|0)==0:0)?(e[(c[h>>2]|0)+50>>1]|0|0)<=3:0){c[i>>2]=(d[(c[h>>2]|0)+55>>0]|0)>>>3&1|0?130:2;c[o>>2]=0;while(1){if((c[o>>2]|0)>=(e[(c[h>>2]|0)+50>>1]|0|0))break;c[n>>2]=sB(c[m>>2]|0,c[s>>2]|0,c[o>>2]|0,0,0,c[i>>2]|0,c[h>>2]|0)|0;if(!(c[n>>2]|0))break;c[(c[(c[r>>2]|0)+48>>2]|0)+(c[o>>2]<<2)>>2]=c[n>>2];c[o>>2]=(c[o>>2]|0)+1}if((c[o>>2]|0)==(e[(c[h>>2]|0)+50>>1]|0|0))break}c[h>>2]=c[(c[h>>2]|0)+20>>2]}c[(c[r>>2]|0)+36>>2]=4609;if(!(!((d[(c[h>>2]|0)+55>>0]|0)>>>5&1|0)?(t=(c[k>>2]|0)+56|0,m=c[t>>2]|0,t=c[t+4>>2]|0,n=YB(c[h>>2]|0)|0,!((m&~n|0)==0&(t&~z|0)==0)):0)){t=(c[r>>2]|0)+36|0;c[t>>2]=c[t>>2]|64}b[(c[r>>2]|0)+40>>1]=c[o>>2];b[(c[r>>2]|0)+24>>1]=c[o>>2];c[(c[r>>2]|0)+24+8>>2]=c[h>>2];f=39;g=c[r>>2]|0;t=24}while(0);if((t|0)==24)b[g+20>>1]=f;if(!(c[(c[r>>2]|0)+36>>2]|0)){c[p>>2]=0;t=c[p>>2]|0;l=u;return t|0}b[(c[r>>2]|0)+22>>1]=1;c[(c[q>>2]|0)+752+64>>2]=c[r>>2];o=hB((c[q>>2]|0)+488|0,c[s>>2]|0)|0;t=(c[r>>2]|0)+8|0;c[t>>2]=o;c[t+4>>2]=z;c[(c[q>>2]|0)+752+4>>2]=c[s>>2];b[(c[q>>2]|0)+72>>1]=1;if(c[(c[q>>2]|0)+8>>2]|0)a[(c[q>>2]|0)+43>>0]=c[c[(c[q>>2]|0)+8>>2]>>2];if((e[(c[q>>2]|0)+40>>1]|0)&256|0)a[(c[q>>2]|0)+47>>0]=1;c[p>>2]=1;t=c[p>>2]|0;l=u;return t|0}function bB(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;s=l;l=l+80|0;e=s+60|0;i=s+56|0;j=s+16|0;k=s+8|0;m=s+52|0;t=s+48|0;n=s+44|0;o=s+40|0;r=s+36|0;p=s+32|0;q=s+28|0;f=s+64|0;g=s;h=s+24|0;c[e>>2]=b;c[i>>2]=c[c[e>>2]>>2];b=j;c[b>>2]=0;c[b+4>>2]=0;b=k;c[b>>2]=0;c[b+4>>2]=0;c[t>>2]=c[(c[i>>2]|0)+4>>2];c[o>>2]=(c[t>>2]|0)+8+((d[(c[i>>2]|0)+42>>0]|0)*72|0);c[r>>2]=c[c[c[i>>2]>>2]>>2];c[p>>2]=0;a[f>>0]=0;c[q>>2]=c[(c[e>>2]|0)+12>>2];TA(c[q>>2]|0);c[m>>2]=0;c[n>>2]=(c[t>>2]|0)+8;while(1){if((c[n>>2]|0)>>>0>=(c[o>>2]|0)>>>0){b=19;break}b=g;c[b>>2]=0;c[b+4>>2]=0;a[(c[q>>2]|0)+16>>0]=c[m>>2];b=hB((c[i>>2]|0)+488|0,c[(c[n>>2]|0)+44>>2]|0)|0;t=(c[q>>2]|0)+8|0;c[t>>2]=b;c[t+4>>2]=z;if((d[(c[n>>2]|0)+36>>0]|0|(d[f>>0]|0))&10|0){u=k;b=c[u+4>>2]|0;t=j;c[t>>2]=c[u>>2];c[t+4>>2]=b}a[f>>0]=a[(c[n>>2]|0)+36>>0]|0;if((d[(c[(c[n>>2]|0)+16>>2]|0)+42>>0]|0)&16|0){c[h>>2]=(c[n>>2]|0)+72;while(1){if((c[h>>2]|0)>>>0>=(c[o>>2]|0)>>>0)break;u=g;if(!(!((c[u>>2]|0)!=0|(c[u+4>>2]|0)!=0)?!((d[(c[h>>2]|0)+36>>0]|0)&10|0):0)){b=hB((c[i>>2]|0)+488|0,c[(c[h>>2]|0)+44>>2]|0)|0;v=g;t=c[v+4>>2]|z;u=g;c[u>>2]=c[v>>2]|b;c[u+4>>2]=t}c[h>>2]=(c[h>>2]|0)+72}u=j;v=g;c[p>>2]=LB(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}else{v=j;c[p>>2]=MB(c[e>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}if(!(c[p>>2]|0)){u=j;v=g;c[p>>2]=NB(c[e>>2]|0,c[u>>2]|0,c[u+4>>2]|0,c[v>>2]|0,c[v+4>>2]|0)|0}t=(c[q>>2]|0)+8|0;b=k;u=c[b+4>>2]|c[t+4>>2];v=k;c[v>>2]=c[b>>2]|c[t>>2];c[v+4>>2]=u;if(c[p>>2]|0){b=19;break}if(d[(c[r>>2]|0)+69>>0]|0|0){b=19;break}c[m>>2]=(c[m>>2]|0)+1;c[n>>2]=(c[n>>2]|0)+72}if((b|0)==19){RA(c[r>>2]|0,c[q>>2]|0);l=s;return c[p>>2]|0}return 0}function cB(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+176|0;E=Y+40|0;M=Y+148|0;Q=Y+144|0;K=Y+162|0;C=Y+140|0;W=Y+136|0;D=Y+132|0;X=Y+128|0;L=Y+124|0;j=Y+120|0;k=Y+116|0;m=Y+112|0;n=Y+108|0;o=Y+160|0;p=Y+158|0;q=Y+104|0;r=Y+100|0;s=Y+96|0;t=Y+92|0;N=Y+88|0;u=Y+84|0;G=Y+80|0;h=Y+76|0;v=Y+72|0;P=Y+68|0;i=Y+64|0;w=Y+156|0;x=Y+154|0;y=Y+152|0;z=Y+164|0;A=Y+32|0;B=Y+24|0;H=Y+60|0;I=Y+16|0;J=Y+56|0;R=Y+52|0;S=Y+8|0;T=Y+48|0;U=Y;V=Y+44|0;c[Q>>2]=f;b[K>>1]=g;c[m>>2]=0;b[o>>1]=0;b[p>>1]=0;c[v>>2]=0;c[D>>2]=c[c[Q>>2]>>2];c[X>>2]=c[c[D>>2]>>2];c[W>>2]=d[(c[Q>>2]|0)+42>>0];if((c[W>>2]|0)<=1)f=1;else f=(c[W>>2]|0)==2?5:10;c[C>>2]=f;if((c[(c[Q>>2]|0)+8>>2]|0)!=0?(b[K>>1]|0)!=0:0)c[n>>2]=c[c[(c[Q>>2]|0)+8>>2]>>2];else c[n>>2]=0;c[i>>2]=(O(32+(c[W>>2]<<2)|0,c[C>>2]|0)|0)<<1;c[i>>2]=(c[i>>2]|0)+(c[n>>2]<<1);i=c[i>>2]|0;c[P>>2]=od(c[X>>2]|0,i,((i|0)<0)<<31>>31)|0;if(!(c[P>>2]|0)){c[M>>2]=7;X=c[M>>2]|0;l=Y;return X|0}c[t>>2]=c[P>>2];c[s>>2]=(c[t>>2]|0)+(c[C>>2]<<5);i=c[s>>2]|0;c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[i+24>>2]=0;c[i+28>>2]=0;c[h>>2]=(c[s>>2]|0)+(c[C>>2]<<5);c[j>>2]=c[C>>2]<<1;c[N>>2]=c[t>>2];while(1){if((c[j>>2]|0)<=0)break;c[(c[N>>2]|0)+24>>2]=c[h>>2];c[j>>2]=(c[j>>2]|0)+-1;c[N>>2]=(c[N>>2]|0)+32;c[h>>2]=(c[h>>2]|0)+(c[W>>2]<<2)}if(c[n>>2]|0){c[v>>2]=c[h>>2];GR(c[v>>2]|0,0,c[n>>2]<<1|0)|0}if((c[(c[D>>2]|0)+136>>2]|0)>>>0<48)f=c[(c[D>>2]|0)+136>>2]|0;else f=48;b[(c[s>>2]|0)+16>>1]=f;c[r>>2]=1;if(c[n>>2]|0)a[(c[s>>2]|0)+22>>0]=(c[W>>2]|0)>0?-1:c[n>>2]|0;c[L>>2]=0;while(1){if((c[L>>2]|0)>=(c[W>>2]|0))break;c[q>>2]=0;c[j>>2]=0;c[N>>2]=c[s>>2];while(1){if((c[j>>2]|0)>=(c[r>>2]|0))break;c[G>>2]=c[(c[Q>>2]|0)+56>>2];while(1){if(!(c[G>>2]|0))break;a[z>>0]=a[(c[N>>2]|0)+22>>0]|0;h=B;c[h>>2]=0;c[h+4>>2]=0;h=c[G>>2]|0;i=c[N>>2]|0;a:do if(!(c[h>>2]&~c[i>>2]|0?1:(c[h+4>>2]&~c[i+4>>2]|0)!=0)?(h=(c[G>>2]|0)+8|0,i=c[N>>2]|0,!(c[h>>2]&c[i>>2]|0?1:(c[h+4>>2]&c[i+4>>2]|0)!=0)):0){if(c[(c[G>>2]|0)+36>>2]&16384|0?(b[(c[N>>2]|0)+16>>1]|0)<10:0)break;b[y>>1]=HB(b[(c[G>>2]|0)+18>>1]|0,(b[(c[G>>2]|0)+20>>1]|0)+(b[(c[N>>2]|0)+16>>1]|0)&65535)|0;b[y>>1]=HB(b[y>>1]|0,b[(c[N>>2]|0)+20>>1]|0)|0;b[w>>1]=(b[(c[N>>2]|0)+16>>1]|0)+(b[(c[G>>2]|0)+22>>1]|0);f=c[N>>2]|0;g=(c[G>>2]|0)+8|0;h=c[f+4>>2]|c[g+4>>2];i=A;c[i>>2]=c[f>>2]|c[g>>2];c[i+4>>2]=h;if((a[z>>0]|0)<0)a[z>>0]=IB(c[Q>>2]|0,c[(c[Q>>2]|0)+8>>2]|0,c[N>>2]|0,b[(c[Q>>2]|0)+40>>1]|0,c[L>>2]&65535,c[G>>2]|0,B)|0;else{g=(c[N>>2]|0)+8|0;h=c[g+4>>2]|0;i=B;c[i>>2]=c[g>>2];c[i+4>>2]=h}if((a[z>>0]|0)>=0?(a[z>>0]|0)<(c[n>>2]|0):0){if(!(b[(c[v>>2]|0)+(a[z>>0]<<1)>>1]|0)){i=JB(c[Q>>2]|0,b[K>>1]|0,c[n>>2]|0,a[z>>0]|0)|0;b[(c[v>>2]|0)+(a[z>>0]<<1)>>1]=i}b[x>>1]=HB(b[y>>1]|0,b[(c[v>>2]|0)+(a[z>>0]<<1)>>1]|0)|0}else b[x>>1]=b[y>>1]|0;c[k>>2]=0;c[u>>2]=c[t>>2];while(1){if((c[k>>2]|0)>=(c[q>>2]|0))break;h=c[u>>2]|0;i=A;if(((c[h>>2]|0)==(c[i>>2]|0)?(c[h+4>>2]|0)==(c[i+4>>2]|0):0)?((a[(c[u>>2]|0)+22>>0]^a[z>>0])&128|0)==0:0)break;c[k>>2]=(c[k>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+32}do if((c[k>>2]|0)<(c[q>>2]|0)){if((b[(c[u>>2]|0)+18>>1]|0)<(b[x>>1]|0))break a;if((b[(c[u>>2]|0)+18>>1]|0)!=(b[x>>1]|0))break;if((b[(c[u>>2]|0)+16>>1]|0)<=(b[w>>1]|0))break a}else{do if((c[q>>2]|0)>=(c[C>>2]|0)){if((b[x>>1]|0)>(b[o>>1]|0))break a;if((b[x>>1]|0)!=(b[o>>1]|0))break;if((b[y>>1]|0)>=(b[p>>1]|0))break a}while(0);if((c[q>>2]|0)<(c[C>>2]|0)){i=c[q>>2]|0;c[q>>2]=i+1;c[k>>2]=i}else c[k>>2]=c[m>>2];c[u>>2]=(c[t>>2]|0)+(c[k>>2]<<5)}while(0);f=c[N>>2]|0;i=(c[G>>2]|0)+8|0;h=c[f+4>>2]|c[i+4>>2];g=c[u>>2]|0;c[g>>2]=c[f>>2]|c[i>>2];c[g+4>>2]=h;g=B;h=c[g+4>>2]|0;i=(c[u>>2]|0)+8|0;c[i>>2]=c[g>>2];c[i+4>>2]=h;b[(c[u>>2]|0)+16>>1]=b[w>>1]|0;b[(c[u>>2]|0)+18>>1]=b[x>>1]|0;b[(c[u>>2]|0)+20>>1]=b[y>>1]|0;a[(c[u>>2]|0)+22>>0]=a[z>>0]|0;MR(c[(c[u>>2]|0)+24>>2]|0,c[(c[N>>2]|0)+24>>2]|0,c[L>>2]<<2|0)|0;c[(c[(c[u>>2]|0)+24>>2]|0)+(c[L>>2]<<2)>>2]=c[G>>2];if((c[q>>2]|0)>=(c[C>>2]|0)){c[m>>2]=0;b[o>>1]=b[(c[t>>2]|0)+18>>1]|0;b[p>>1]=b[(c[t>>2]|0)+16>>1]|0;c[k>>2]=1;c[u>>2]=(c[t>>2]|0)+32;while(1){if((c[k>>2]|0)>=(c[C>>2]|0))break a;do if((b[(c[u>>2]|0)+18>>1]|0)<=(b[o>>1]|0)){if((b[(c[u>>2]|0)+18>>1]|0)!=(b[o>>1]|0))break;if((b[(c[u>>2]|0)+20>>1]|0)>(b[p>>1]|0))F=60}else F=60;while(0);if((F|0)==60){F=0;b[o>>1]=b[(c[u>>2]|0)+18>>1]|0;b[p>>1]=b[(c[u>>2]|0)+20>>1]|0;c[m>>2]=c[k>>2]}c[k>>2]=(c[k>>2]|0)+1;c[u>>2]=(c[u>>2]|0)+32}}}while(0);c[G>>2]=c[(c[G>>2]|0)+52>>2]}c[j>>2]=(c[j>>2]|0)+1;c[N>>2]=(c[N>>2]|0)+32}c[N>>2]=c[t>>2];c[t>>2]=c[s>>2];c[s>>2]=c[N>>2];c[r>>2]=c[q>>2];c[L>>2]=(c[L>>2]|0)+1}if(!(c[r>>2]|0)){Ck(c[D>>2]|0,31260,E);Hd(c[X>>2]|0,c[P>>2]|0);c[M>>2]=1;X=c[M>>2]|0;l=Y;return X|0}c[N>>2]=c[s>>2];c[j>>2]=1;while(1){if((c[j>>2]|0)>=(c[r>>2]|0))break;if((b[(c[N>>2]|0)+18>>1]|0)>(b[(c[s>>2]|0)+(c[j>>2]<<5)+18>>1]|0))c[N>>2]=(c[s>>2]|0)+(c[j>>2]<<5);c[j>>2]=(c[j>>2]|0)+1}c[L>>2]=0;while(1){f=c[Q>>2]|0;if((c[L>>2]|0)>=(c[W>>2]|0))break;c[H>>2]=f+752+((c[L>>2]|0)*80|0);F=c[(c[(c[N>>2]|0)+24>>2]|0)+(c[L>>2]<<2)>>2]|0;c[G>>2]=F;c[(c[H>>2]|0)+64>>2]=F;a[(c[H>>2]|0)+44>>0]=a[(c[G>>2]|0)+16>>0]|0;c[(c[H>>2]|0)+4>>2]=c[(c[(c[Q>>2]|0)+4>>2]|0)+8+((d[(c[H>>2]|0)+44>>0]|0)*72|0)+44>>2];c[L>>2]=(c[L>>2]|0)+1}if((((e[f+40>>1]&256|0?(e[(c[Q>>2]|0)+40>>1]&128|0)==0:0)?(d[(c[Q>>2]|0)+47>>0]|0)==0:0)?b[K>>1]|0:0)?(c[J>>2]=(IB(c[Q>>2]|0,c[(c[Q>>2]|0)+12>>2]|0,c[N>>2]|0,128,(c[W>>2]|0)-1&65535,c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0,I)|0)<<24>>24,(c[J>>2]|0)==(c[c[(c[Q>>2]|0)+12>>2]>>2]|0)):0)a[(c[Q>>2]|0)+47>>0]=2;if(c[(c[Q>>2]|0)+8>>2]|0){f=a[(c[N>>2]|0)+22>>0]|0;if(e[(c[Q>>2]|0)+40>>1]&128|0){if((f<<24>>24|0)==(c[c[(c[Q>>2]|0)+8>>2]>>2]|0))a[(c[Q>>2]|0)+47>>0]=2}else{a[(c[Q>>2]|0)+43>>0]=f;J=(c[N>>2]|0)+8|0;K=c[J+4>>2]|0;L=(c[Q>>2]|0)+64|0;c[L>>2]=c[J>>2];c[L+4>>2]=K;if(((((a[(c[Q>>2]|0)+43>>0]|0)<=0?(a[(c[Q>>2]|0)+43>>0]=0,(c[W>>2]|0)>0):0)?(c[R>>2]=c[(c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0)+36>>2],(c[R>>2]&4096|0)==0):0)?(c[R>>2]&260|0)!=260:0)?(R=S,c[R>>2]=0,c[R+4>>2]=0,c[T>>2]=(IB(c[Q>>2]|0,c[(c[Q>>2]|0)+8>>2]|0,c[N>>2]|0,2048,(c[W>>2]|0)-1&65535,c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0,S)|0)<<24>>24,(c[T>>2]|0)==(c[c[(c[Q>>2]|0)+8>>2]>>2]|0)):0){a[(c[Q>>2]|0)+48>>0]=1;R=S;S=c[R+4>>2]|0;T=(c[Q>>2]|0)+64|0;c[T>>2]=c[R>>2];c[T+4>>2]=S}}if((e[(c[Q>>2]|0)+40>>1]&512|0?((c[W>>2]|0)>0?(a[(c[Q>>2]|0)+43>>0]|0)==(c[c[(c[Q>>2]|0)+8>>2]>>2]|0):0):0)?(T=U,c[T>>2]=0,c[T+4>>2]=0,c[V>>2]=(IB(c[Q>>2]|0,c[(c[Q>>2]|0)+8>>2]|0,c[N>>2]|0,0,(c[W>>2]|0)-1&65535,c[(c[(c[N>>2]|0)+24>>2]|0)+((c[W>>2]|0)-1<<2)>>2]|0,U)|0)<<24>>24,(c[V>>2]|0)==(c[c[(c[Q>>2]|0)+8>>2]>>2]|0)):0){a[(c[Q>>2]|0)+44>>0]=1;V=c[U+4>>2]|0;W=(c[Q>>2]|0)+64|0;c[W>>2]=c[U>>2];c[W+4>>2]=V}}b[(c[Q>>2]|0)+72>>1]=b[(c[N>>2]|0)+16>>1]|0;Hd(c[X>>2]|0,c[P>>2]|0);c[M>>2]=0;X=c[M>>2]|0;l=Y;return X|0}function dB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;h=l;l=l+32|0;d=h+16|0;e=h+12|0;f=h+8|0;g=h;c[d>>2]=a;c[e>>2]=b;b=g;c[b>>2]=0;c[b+4>>2]=0;if(!(c[e>>2]|0)){f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;z=f;l=h;return g|0}c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[e>>2]>>2]|0))break;i=FB(c[d>>2]|0,c[(c[(c[e>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0)|0;j=g;a=c[j+4>>2]|z;b=g;c[b>>2]=c[j>>2]|i;c[b+4>>2]=a;c[f>>2]=(c[f>>2]|0)+1}i=g;j=i;j=c[j>>2]|0;i=i+4|0;i=c[i>>2]|0;z=i;l=h;return j|0}function eB(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0;Y=l;l=l+176|0;q=Y+40|0;X=Y+160|0;K=Y+156|0;L=Y+152|0;M=Y+32|0;N=Y+148|0;t=Y+144|0;u=Y+140|0;v=Y+136|0;w=Y+132|0;O=Y+128|0;P=Y+124|0;x=Y+120|0;Q=Y+116|0;R=Y+112|0;S=Y+108|0;y=Y+104|0;A=Y+100|0;B=Y+96|0;C=Y+92|0;s=Y+88|0;D=Y+24|0;E=Y+16|0;m=Y+164|0;T=Y+84|0;F=Y+80|0;U=Y+76|0;V=Y+72|0;W=Y+68|0;n=Y+64|0;o=Y+60|0;p=Y+8|0;G=Y+56|0;H=Y;I=Y+52|0;J=Y+48|0;c[X>>2]=f;c[K>>2]=g;c[L>>2]=h;h=M;c[h>>2]=i;c[h+4>>2]=j;c[N>>2]=k;a[m>>0]=0;c[T>>2]=0;c[F>>2]=0;c[V>>2]=0;c[O>>2]=c[(c[X>>2]|0)+8>>2];c[P>>2]=Tt(c[O>>2]|0,20)|0;c[t>>2]=0;c[x>>2]=c[(c[L>>2]|0)+16>>2];c[v>>2]=(c[(c[K>>2]|0)+20>>2]|0)+((c[(c[K>>2]|0)+12>>2]|0)*48|0);c[C>>2]=c[(c[N>>2]|0)+64>>2];k=D;c[k>>2]=0;c[k+4>>2]=0;c[u>>2]=c[(c[K>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;c[n>>2]=c[c[u>>2]>>2];k=c[C>>2]|0;if((((c[k>>2]|0)==0&(c[k+4>>2]|0)==0?(e[(c[u>>2]|0)+10>>1]&2|0)==0:0)?(c[(c[n>>2]|0)+4>>2]&1|0)==0:0)?BB(c[n>>2]|0,c[(c[L>>2]|0)+44>>2]|0)|0:0){j=c[c[X>>2]>>2]|0;k=c[T>>2]|0;c[T>>2]=Sw(j,k,aw(c[c[X>>2]>>2]|0,c[n>>2]|0,0)|0)|0}k=M;if(CB(c[u>>2]|0,c[L>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0){c[o>>2]=c[(c[u>>2]|0)+28>>2];if((c[o>>2]|0)>=64){f=0;g=-2147483648}else{f=HR(1,0,c[o>>2]|0)|0;g=z}k=p;c[k>>2]=f;c[k+4>>2]=g;if(!(a[m>>0]|0)){k=c[(c[(c[x>>2]|0)+4>>2]|0)+(c[o>>2]<<4)>>2]|0;c[q>>2]=c[c[x>>2]>>2];c[q+4>>2]=k;hd(284,31223,q);a[m>>0]=1}j=D;k=p;if((c[j>>2]&c[k>>2]|0)==0?(c[j+4>>2]&c[k+4>>2]|0)==0:0){if(DB(c[c[X>>2]>>2]|0,c[C>>2]|0,(c[t>>2]|0)+1|0)|0){r=57;break}j=c[u>>2]|0;h=c[(c[C>>2]|0)+48>>2]|0;i=c[t>>2]|0;c[t>>2]=i+1;c[h+(i<<2)>>2]=j;i=p;h=D;j=c[h+4>>2]|c[i+4>>2];k=D;c[k>>2]=c[h>>2]|c[i>>2];c[k+4>>2]=j}}c[u>>2]=(c[u>>2]|0)+48}if((r|0)==57){W=c[X>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;ck(W,X);l=Y;return}o=c[t>>2]&65535;b[(c[C>>2]|0)+40>>1]=o;b[(c[C>>2]|0)+24>>1]=o;c[(c[C>>2]|0)+36>>2]=16961;o=(c[L>>2]|0)+56|0;p=D;q=c[o+4>>2]&(~c[p+4>>2]|-2147483648);r=E;c[r>>2]=c[o>>2]&~c[p>>2];c[r+4>>2]=q;if(63<(b[(c[x>>2]|0)+34>>1]|0))f=63;else f=b[(c[x>>2]|0)+34>>1]|0;c[A>>2]=f;c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[A>>2]|0))break;r=E;p=c[r>>2]|0;r=c[r+4>>2]|0;q=HR(1,0,c[y>>2]|0)|0;if((p&q|0)!=0|(r&z|0)!=0)c[t>>2]=(c[t>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}if(0?1:(c[(c[L>>2]|0)+56+4>>2]&-2147483648|0)!=0)c[t>>2]=(c[t>>2]|0)+((b[(c[x>>2]|0)+34>>1]|0)-64+1);c[w>>2]=EB(c[c[X>>2]>>2]|0,(c[t>>2]|0)+1&65535,0,s)|0;if(!(c[w>>2]|0)){W=c[X>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;ck(W,X);l=Y;return}c[(c[C>>2]|0)+24+8>>2]=c[w>>2];c[c[w>>2]>>2]=31249;c[(c[w>>2]|0)+12>>2]=c[x>>2];c[S>>2]=0;s=D;c[s>>2]=0;c[s+4>>2]=0;c[u>>2]=c[(c[K>>2]|0)+20>>2];while(1){if((c[u>>2]|0)>>>0>=(c[v>>2]|0)>>>0)break;s=M;if(CB(c[u>>2]|0,c[L>>2]|0,c[s>>2]|0,c[s+4>>2]|0)|0){c[G>>2]=c[(c[u>>2]|0)+28>>2];if((c[G>>2]|0)>=64){f=0;g=-2147483648}else{f=HR(1,0,c[G>>2]|0)|0;g=z}r=H;c[r>>2]=f;c[r+4>>2]=g;r=D;s=H;if((c[r>>2]&c[s>>2]|0)==0?(c[r+4>>2]&c[s+4>>2]|0)==0:0){c[I>>2]=c[c[u>>2]>>2];q=H;p=D;r=c[p+4>>2]|c[q+4>>2];s=D;c[s>>2]=c[p>>2]|c[q>>2];c[s+4>>2]=r;b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[(c[u>>2]|0)+28>>2];c[B>>2]=Dy(c[X>>2]|0,c[(c[I>>2]|0)+12>>2]|0,c[(c[I>>2]|0)+16>>2]|0)|0;if(c[B>>2]|0)f=c[c[B>>2]>>2]|0;else f=31345;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=f;c[S>>2]=(c[S>>2]|0)+1}}c[u>>2]=(c[u>>2]|0)+48}c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[A>>2]|0))break;M=E;H=c[M>>2]|0;M=c[M+4>>2]|0;I=HR(1,0,c[y>>2]|0)|0;if((H&I|0)!=0|(M&z|0)!=0){b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=31345;c[S>>2]=(c[S>>2]|0)+1}c[y>>2]=(c[y>>2]|0)+1}a:do if(0?1:(c[(c[L>>2]|0)+56+4>>2]&-2147483648|0)!=0){c[y>>2]=63;while(1){if((c[y>>2]|0)>=(b[(c[x>>2]|0)+34>>1]|0))break a;b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=c[y>>2];c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=31345;c[S>>2]=(c[S>>2]|0)+1;c[y>>2]=(c[y>>2]|0)+1}}while(0);b[(c[(c[w>>2]|0)+4>>2]|0)+(c[S>>2]<<1)>>1]=-1;c[(c[(c[w>>2]|0)+32>>2]|0)+(c[S>>2]<<2)>>2]=31345;L=(c[X>>2]|0)+40|0;M=c[L>>2]|0;c[L>>2]=M+1;c[(c[N>>2]|0)+8>>2]=M;Wt(c[O>>2]|0,106,c[(c[N>>2]|0)+8>>2]|0,(c[t>>2]|0)+1|0)|0;ox(c[X>>2]|0,c[w>>2]|0);Qx(c[X>>2]|0);c[U>>2]=(c[(c[c[K>>2]>>2]|0)+4>>2]|0)+8+((d[(c[N>>2]|0)+44>>0]|0)*72|0);if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1|0){c[J>>2]=c[(c[U>>2]|0)+28>>2];c[V>>2]=Wt(c[O>>2]|0,76,0,0)|0;Xt(c[O>>2]|0,15,c[J>>2]|0,0,c[(c[U>>2]|0)+24>>2]|0)|0;c[Q>>2]=kx(c[O>>2]|0,16,c[J>>2]|0)|0}else c[Q>>2]=kx(c[O>>2]|0,57,c[(c[N>>2]|0)+4>>2]|0)|0;if(c[T>>2]|0){c[F>>2]=qx(c[O>>2]|0)|0;ty(c[X>>2]|0,c[T>>2]|0,c[F>>2]|0,16);M=(c[C>>2]|0)+36|0;c[M>>2]=c[M>>2]|131072}c[R>>2]=Uu(c[X>>2]|0)|0;c[W>>2]=Kx(c[X>>2]|0,c[w>>2]|0,c[(c[N>>2]|0)+4>>2]|0,c[R>>2]|0,0,0,0,0)|0;Wt(c[O>>2]|0,126,c[(c[N>>2]|0)+8>>2]|0,c[R>>2]|0)|0;px(c[O>>2]|0,16);if(c[T>>2]|0)ux(c[O>>2]|0,c[F>>2]|0);f=c[O>>2]|0;if((d[(c[U>>2]|0)+36+1>>0]|0)>>>4&1|0){zx(f,c[V>>2]|0,(c[W>>2]|0)+(c[S>>2]|0)|0);NA(c[O>>2]|0,c[Q>>2]|0,c[(c[N>>2]|0)+4>>2]|0,c[(c[U>>2]|0)+32>>2]|0,1);sx(c[O>>2]|0,c[Q>>2]|0)|0;W=(c[U>>2]|0)+36+1|0;a[W>>0]=a[W>>0]&-17}else Wt(f,7,c[(c[N>>2]|0)+4>>2]|0,(c[Q>>2]|0)+1|0)|0;px(c[O>>2]|0,3);tx(c[O>>2]|0,c[Q>>2]|0);Wu(c[X>>2]|0,c[R>>2]|0);Ox(c[X>>2]|0);tx(c[O>>2]|0,c[P>>2]|0);W=c[X>>2]|0;W=c[W>>2]|0;X=c[T>>2]|0;ck(W,X);l=Y;return}function fB(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;O=l;l=l+256|0;K=O+40|0;J=O+32|0;M=O+24|0;L=O+16|0;I=O+8|0;H=O;G=O+144|0;n=O+140|0;o=O+136|0;p=O+132|0;s=O+128|0;t=O+124|0;m=O+148|0;u=O+120|0;v=O+116|0;w=O+112|0;q=O+108|0;x=O+104|0;y=O+100|0;z=O+96|0;A=O+92|0;B=O+88|0;C=O+60|0;r=O+152|0;D=O+56|0;E=O+52|0;F=O+48|0;c[n>>2]=f;c[o>>2]=g;c[p>>2]=h;c[s>>2]=i;c[t>>2]=j;b[m>>1]=k;c[u>>2]=0;do if((d[(c[n>>2]|0)+409>>0]|0|0)==2){c[v>>2]=(c[o>>2]|0)+8+((d[(c[p>>2]|0)+44>>0]|0)*72|0);c[w>>2]=c[(c[n>>2]|0)+8>>2];c[q>>2]=c[c[n>>2]>>2];c[x>>2]=c[(c[n>>2]|0)+420>>2];c[z>>2]=c[(c[p>>2]|0)+64>>2];c[A>>2]=c[(c[z>>2]|0)+36>>2];if((c[A>>2]&8192|0)==0?((e[m>>1]|0)&32|0)==0:0){do if(c[A>>2]&48|0)f=1;else{if((c[A>>2]&1024|0)==0?(e[(c[z>>2]|0)+24>>1]|0|0)>0:0){f=1;break}f=((e[m>>1]|0)&3|0)!=0}while(0);c[y>>2]=f&1;jd(C,c[q>>2]|0,r,100,1e9);Gd(C,c[y>>2]|0?30958:30965);f=c[v>>2]|0;if(c[(c[v>>2]|0)+20>>2]|0){c[H>>2]=d[f+40>>0];Vi(C,30970,H)}else{c[I>>2]=c[f+8>>2];Vi(C,30983,I)}if(c[(c[v>>2]|0)+12>>2]|0){c[L>>2]=c[(c[v>>2]|0)+12>>2];Vi(C,30993,L)}do if(!(c[A>>2]&1280)){c[D>>2]=0;c[E>>2]=c[(c[z>>2]|0)+24+8>>2];if(((d[(c[(c[v>>2]|0)+16>>2]|0)+42>>0]|0)&32|0)!=0?(a[(c[E>>2]|0)+55>>0]&3|0)==2:0){if(c[y>>2]|0)c[D>>2]=31e3}else N=19;do if((N|0)==19){if(c[A>>2]&131072|0){c[D>>2]=31012;break}if(c[A>>2]&16384|0){c[D>>2]=31045;break}if(c[A>>2]&64|0){c[D>>2]=31070;break}else{c[D>>2]=31088;break}}while(0);if(c[D>>2]|0){zd(C,31097,7);N=c[D>>2]|0;c[M>>2]=c[c[E>>2]>>2];Vi(C,N,M);yB(C,c[z>>2]|0)}}else{if(c[A>>2]&256|0?c[A>>2]&15|0:0){do if(!(c[A>>2]&5|0)){if((c[A>>2]&48|0)==48){c[F>>2]=31107;break}if(c[A>>2]&32|0){c[F>>2]=31121;break}else{c[F>>2]=31123;break}}else c[F>>2]=31105;while(0);c[J>>2]=c[F>>2];Vi(C,31125,J);break}if(c[A>>2]&1024|0){N=c[(c[z>>2]|0)+24+8>>2]|0;c[K>>2]=c[(c[z>>2]|0)+24>>2];c[K+4>>2]=N;Vi(C,31163,K)}}while(0);c[B>>2]=ld(C)|0;c[u>>2]=_t(c[w>>2]|0,162,c[x>>2]|0,c[s>>2]|0,c[t>>2]|0,c[B>>2]|0,-1)|0;break}c[G>>2]=0;N=c[G>>2]|0;l=O;return N|0}while(0);c[G>>2]=c[u>>2];N=c[G>>2]|0;l=O;return N|0}function gB(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0;hb=l;l=l+448|0;db=hb+8|0;eb=hb+432|0;N=hb+428|0;fb=hb;gb=hb+424|0;Ra=hb+420|0;Sa=hb+416|0;qa=hb+412|0;ra=hb+408|0;Oa=hb+404|0;Za=hb+400|0;sa=hb+396|0;_a=hb+392|0;$a=hb+388|0;ab=hb+384|0;Qa=hb+380|0;bb=hb+376|0;H=hb+372|0;G=hb+368|0;cb=hb+364|0;Pa=hb+360|0;k=hb+356|0;j=hb+352|0;m=hb+348|0;n=hb+344|0;o=hb+340|0;p=hb+336|0;q=hb+332|0;r=hb+328|0;s=hb+324|0;t=hb+320|0;u=hb+316|0;v=hb+312|0;w=hb+308|0;x=hb+304|0;y=hb+300|0;A=hb+296|0;B=hb+292|0;C=hb+288|0;D=hb+284|0;E=hb+280|0;F=hb+276|0;ta=hb+442|0;ua=hb+440|0;va=hb+438|0;wa=hb+272|0;xa=hb+268|0;ya=hb+264|0;za=hb+260|0;Aa=hb+256|0;Ba=hb+252|0;Ca=hb+248|0;Da=hb+244|0;Ea=hb+240|0;I=hb+236|0;Fa=hb+232|0;Ga=hb+228|0;Ha=hb+224|0;Ia=hb+447|0;Ja=hb+446|0;J=hb+220|0;K=hb+445|0;L=hb+444|0;Ka=hb+216|0;La=hb+212|0;Ma=hb+208|0;O=hb+204|0;P=hb+200|0;Q=hb+196|0;R=hb+192|0;S=hb+188|0;T=hb+184|0;U=hb+180|0;V=hb+176|0;W=hb+172|0;X=hb+168|0;Y=hb+164|0;Z=hb+436|0;_=hb+160|0;$=hb+156|0;aa=hb+152|0;ba=hb+148|0;ca=hb+144|0;da=hb+140|0;ea=hb+136|0;fa=hb+132|0;ga=hb+128|0;ha=hb+124|0;ia=hb+120|0;ja=hb+116|0;ka=hb+112|0;la=hb+108|0;ma=hb+104|0;na=hb+100|0;oa=hb+96|0;pa=hb+92|0;M=hb+88|0;Ta=hb+84|0;Ua=hb+80|0;Va=hb+76|0;Wa=hb+72|0;Xa=hb+24|0;Ya=hb+16|0;c[eb>>2]=f;c[N>>2]=g;f=fb;c[f>>2]=h;c[f+4>>2]=i;c[Pa>>2]=0;c[k>>2]=0;c[ab>>2]=c[c[eb>>2]>>2];c[bb>>2]=c[(c[ab>>2]|0)+8>>2];c[_a>>2]=(c[eb>>2]|0)+80;c[Qa>>2]=c[c[ab>>2]>>2];c[Za>>2]=(c[eb>>2]|0)+752+((c[N>>2]|0)*80|0);c[sa>>2]=c[(c[Za>>2]|0)+64>>2];c[H>>2]=(c[(c[eb>>2]|0)+4>>2]|0)+8+((d[(c[Za>>2]|0)+44>>0]|0)*72|0);c[Sa>>2]=c[(c[H>>2]|0)+44>>2];h=fb;f=c[h>>2]|0;h=c[h+4>>2]|0;g=hB((c[eb>>2]|0)+488|0,c[Sa>>2]|0)|0;i=(c[Za>>2]|0)+72|0;c[i>>2]=f&~g;c[i+4>>2]=h&~z;i=(c[eb>>2]|0)+64|0;i=OR(c[i>>2]|0,c[i+4>>2]|0,c[N>>2]|0)|0;c[Oa>>2]=i&1;if(c[(c[sa>>2]|0)+36>>2]&64|0)f=(e[(c[eb>>2]|0)+40>>1]&32|0)==0;else f=0;c[ra>>2]=f&1;i=qx(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+16>>2]=i;c[(c[Za>>2]|0)+12>>2]=i;c[G>>2]=i;i=qx(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+24>>2]=i;c[cb>>2]=i;if((d[(c[Za>>2]|0)+44>>0]|0)>0?d[(c[H>>2]|0)+36>>0]&8|0:0){h=(c[ab>>2]|0)+44|0;i=(c[h>>2]|0)+1|0;c[h>>2]=i;c[c[Za>>2]>>2]=i;Wt(c[bb>>2]|0,76,0,c[c[Za>>2]>>2]|0)|0}do if((d[(c[H>>2]|0)+36+1>>0]|0)>>>4&1|0){c[j>>2]=c[(c[H>>2]|0)+28>>2];Xt(c[bb>>2]|0,15,c[j>>2]|0,0,c[(c[H>>2]|0)+24>>2]|0)|0;Ra=Wt(c[bb>>2]|0,16,c[j>>2]|0,c[G>>2]|0)|0;c[(c[Za>>2]|0)+52>>2]=Ra;a[(c[Za>>2]|0)+45>>0]=13}else{f=c[sa>>2]|0;if(c[(c[sa>>2]|0)+36>>2]&1024|0){c[o>>2]=e[f+40>>1];Qx(c[ab>>2]|0);c[m>>2]=Sx(c[ab>>2]|0,(c[o>>2]|0)+2|0)|0;c[n>>2]=c[(c[Za>>2]|0)+12>>2];c[gb>>2]=0;while(1){if((c[gb>>2]|0)>=(c[o>>2]|0))break;c[q>>2]=(c[m>>2]|0)+(c[gb>>2]|0)+2;c[$a>>2]=c[(c[(c[sa>>2]|0)+48>>2]|0)+(c[gb>>2]<<2)>>2];do if(c[$a>>2]|0)if(e[(c[$a>>2]|0)+12>>1]&1|0){iB(c[ab>>2]|0,c[$a>>2]|0,c[Za>>2]|0,c[gb>>2]|0,c[Oa>>2]|0,c[q>>2]|0)|0;c[n>>2]=c[(c[Za>>2]|0)+16>>2];break}else{c[r>>2]=c[(c[c[$a>>2]>>2]|0)+16>>2];jB(c[ab>>2]|0,c[r>>2]|0,c[q>>2]|0,1);break}while(0);c[gb>>2]=(c[gb>>2]|0)+1}Wt(c[bb>>2]|0,76,c[(c[sa>>2]|0)+24>>2]|0,c[m>>2]|0)|0;Wt(c[bb>>2]|0,76,c[o>>2]|0,(c[m>>2]|0)+1|0)|0;_t(c[bb>>2]|0,11,c[Sa>>2]|0,c[n>>2]|0,c[m>>2]|0,c[(c[sa>>2]|0)+24+8>>2]|0,d[(c[sa>>2]|0)+24+4>>0]|0?-11:-2)|0;a[(c[sa>>2]|0)+24+4>>0]=0;c[(c[Za>>2]|0)+48>>2]=c[Sa>>2];a[(c[Za>>2]|0)+45>>0]=d[(c[eb>>2]|0)+45>>0]|0?161:70;Ra=Vu(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+52>>2]=Ra;c[p>>2]=c[(c[Za>>2]|0)+56>>2];c[gb>>2]=(c[o>>2]|0)-1;while(1){if((c[gb>>2]|0)<0)break;c[$a>>2]=c[(c[(c[sa>>2]|0)+48>>2]|0)+(c[gb>>2]<<2)>>2];if((c[gb>>2]|0)<16?e[(c[sa>>2]|0)+24+6>>1]>>c[gb>>2]&1|0:0)kB(c[Za>>2]|0,c[$a>>2]|0);else Na=21;if((Na|0)==21?(Na=0,e[(c[$a>>2]|0)+12>>1]&1|0):0){if(!(a[(c[Qa>>2]|0)+69>>0]|0)){Oa=c[bb>>2]|0;Pa=c[(c[Za>>2]|0)+56+4>>2]|0;Ra=(c[p>>2]|0)+-1|0;c[p>>2]=Ra;c[u>>2]=Ax(Oa,c[Pa+(Ra*12|0)+4>>2]|0)|0;Xt(c[bb>>2]|0,d[c[u>>2]>>0]|0,c[(c[u>>2]|0)+4>>2]|0,c[(c[u>>2]|0)+8>>2]|0,c[(c[u>>2]|0)+12>>2]|0)|0}c[s>>2]=vs(c[ab>>2]|0,37,0,0,0)|0;if(c[s>>2]|0){c[(c[s>>2]|0)+12>>2]=c[(c[c[$a>>2]>>2]|0)+12>>2];Ra=Ns(c[Qa>>2]|0,157,0)|0;c[t>>2]=Ra;c[(c[s>>2]|0)+16>>2]=Ra;if(c[t>>2]|0){c[(c[t>>2]|0)+28>>2]=(c[m>>2]|0)+(c[gb>>2]|0)+2;ty(c[ab>>2]|0,c[s>>2]|0,c[(c[Za>>2]|0)+24>>2]|0,0)}c[(c[s>>2]|0)+12>>2]=0;ck(c[Qa>>2]|0,c[s>>2]|0)}}c[gb>>2]=(c[gb>>2]|0)+-1}Ox(c[ab>>2]|0);break}if(c[f+36>>2]&256|0?c[(c[sa>>2]|0)+36>>2]&5|0:0){c[$a>>2]=c[c[(c[sa>>2]|0)+48>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[k>>2]=Ra;c[Pa>>2]=iB(c[ab>>2]|0,c[$a>>2]|0,c[Za>>2]|0,0,c[Oa>>2]|0,c[k>>2]|0)|0;if((c[Pa>>2]|0)!=(c[k>>2]|0))Wu(c[ab>>2]|0,c[k>>2]|0);c[qa>>2]=c[(c[Za>>2]|0)+16>>2];Xt(c[bb>>2]|0,32,c[Sa>>2]|0,c[qa>>2]|0,c[Pa>>2]|0)|0;fy(c[ab>>2]|0,c[Pa>>2]|0,1);Sy(c[ab>>2]|0,c[Sa>>2]|0,-1,c[Pa>>2]|0);a[(c[Za>>2]|0)+45>>0]=-95;break}if(c[(c[sa>>2]|0)+36>>2]&256|0?c[(c[sa>>2]|0)+36>>2]&2|0:0){c[v>>2]=161;c[x>>2]=0;c[gb>>2]=0;c[A>>2]=0;c[y>>2]=0;if(c[(c[sa>>2]|0)+36>>2]&32|0){Qa=c[(c[sa>>2]|0)+48>>2]|0;Ra=c[gb>>2]|0;c[gb>>2]=Ra+1;c[y>>2]=c[Qa+(Ra<<2)>>2]}if(c[(c[sa>>2]|0)+36>>2]&16|0){Qa=c[(c[sa>>2]|0)+48>>2]|0;Ra=c[gb>>2]|0;c[gb>>2]=Ra+1;c[A>>2]=c[Qa+(Ra<<2)>>2]}if(c[Oa>>2]|0){c[$a>>2]=c[y>>2];c[y>>2]=c[A>>2];c[A>>2]=c[$a>>2]}if(c[y>>2]|0){c[B>>2]=c[c[y>>2]>>2];Ra=(gy(c[(c[B>>2]|0)+16>>2]|0)|0)!=0;f=c[ab>>2]|0;if(Ra){Ra=Uu(f)|0;c[D>>2]=Ra;c[C>>2]=Ra;jB(c[ab>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[C>>2]|0,1);c[E>>2]=d[30938+((d[c[B>>2]>>0]|0)-38|1)>>0]}else{c[C>>2]=iy(f,c[(c[B>>2]|0)+16>>2]|0,D)|0;kB(c[Za>>2]|0,c[y>>2]|0);c[E>>2]=d[30938+((d[c[B>>2]>>0]|0)-38)>>0]}Xt(c[bb>>2]|0,c[E>>2]|0,c[Sa>>2]|0,c[G>>2]|0,c[C>>2]|0)|0;fy(c[ab>>2]|0,c[C>>2]|0,1);Wu(c[ab>>2]|0,c[D>>2]|0)}else Wt(c[bb>>2]|0,c[Oa>>2]|0?53:57,c[Sa>>2]|0,c[G>>2]|0)|0;if(c[A>>2]|0){c[F>>2]=c[c[A>>2]>>2];Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[x>>2]=Ra;jB(c[ab>>2]|0,c[(c[F>>2]|0)+16>>2]|0,c[x>>2]|0,1);do if(!(gy(c[(c[F>>2]|0)+16>>2]|0)|0)){if((d[c[F>>2]>>0]|0)!=40?(d[c[F>>2]>>0]|0)!=38:0){Na=54;break}c[v>>2]=c[Oa>>2]|0?39:41}else Na=54;while(0);if((Na|0)==54)c[v>>2]=c[Oa>>2]|0?40:38;if(!(gy(c[(c[F>>2]|0)+16>>2]|0)|0))kB(c[Za>>2]|0,c[A>>2]|0)}c[w>>2]=Vu(c[bb>>2]|0)|0;a[(c[Za>>2]|0)+45>>0]=c[Oa>>2]|0?6:7;c[(c[Za>>2]|0)+48>>2]=c[Sa>>2];c[(c[Za>>2]|0)+52>>2]=c[w>>2];if((c[v>>2]|0)==161)break;Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Pa>>2]=Ra;Wt(c[bb>>2]|0,123,c[Sa>>2]|0,c[Pa>>2]|0)|0;Sy(c[ab>>2]|0,c[Sa>>2]|0,-1,c[Pa>>2]|0);Xt(c[bb>>2]|0,c[v>>2]|0,c[x>>2]|0,c[G>>2]|0,c[Pa>>2]|0)|0;px(c[bb>>2]|0,83);break}f=c[sa>>2]|0;if(!(c[(c[sa>>2]|0)+36>>2]&512)){if(!(c[f+36>>2]&8192))if((d[(c[H>>2]|0)+36+1>>0]|0)>>>5&1|0){a[(c[Za>>2]|0)+45>>0]=-95;break}else{a[(c[Za>>2]|0)+45>>0]=a[30954+(c[Oa>>2]|0)>>0]|0;c[(c[Za>>2]|0)+48>>2]=c[Sa>>2];Ra=1+(Wt(c[bb>>2]|0,d[30956+(c[Oa>>2]|0)>>0]|0,c[Sa>>2]|0,c[G>>2]|0)|0)|0;c[(c[Za>>2]|0)+52>>2]=Ra;a[(c[Za>>2]|0)+47>>0]=1;break}c[Q>>2]=0;f=(c[ab>>2]|0)+40|0;Pa=c[f>>2]|0;c[f>>2]=Pa+1;c[R>>2]=Pa;Pa=(c[ab>>2]|0)+44|0;f=(c[Pa>>2]|0)+1|0;c[Pa>>2]=f;c[S>>2]=f;c[T>>2]=0;c[U>>2]=0;c[V>>2]=qx(c[bb>>2]|0)|0;c[X>>2]=0;c[_>>2]=0;c[$>>2]=c[(c[H>>2]|0)+16>>2];c[$a>>2]=c[c[(c[sa>>2]|0)+48>>2]>>2];c[O>>2]=c[(c[$a>>2]|0)+28>>2];a[(c[Za>>2]|0)+45>>0]=72;c[(c[Za>>2]|0)+48>>2]=c[S>>2];f=c[eb>>2]|0;a:do if((d[(c[eb>>2]|0)+42>>0]|0)>1){c[aa>>2]=(d[f+42>>0]|0)-(c[N>>2]|0)-1;c[P>>2]=md(c[Qa>>2]|0,80+((c[aa>>2]|0)*72|0)|0,0)|0;if(!(c[P>>2]|0)){eb=fb;gb=c[eb+4>>2]|0;fb=db;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=db;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;z=fb;l=hb;return gb|0}c[(c[P>>2]|0)+4>>2]=(c[aa>>2]|0)+1&255;c[c[P>>2]>>2]=c[(c[P>>2]|0)+4>>2];h=(c[P>>2]|0)+8|0;f=c[H>>2]|0;g=h+72|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));c[ba>>2]=(c[(c[eb>>2]|0)+4>>2]|0)+8;c[Ra>>2]=1;while(1){if((c[Ra>>2]|0)>(c[aa>>2]|0))break a;h=(c[P>>2]|0)+8+((c[Ra>>2]|0)*72|0)|0;f=(c[ba>>2]|0)+((d[(c[Za>>2]|0)+((c[Ra>>2]|0)*80|0)+44>>0]|0)*72|0)|0;g=h+72|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));c[Ra>>2]=(c[Ra>>2]|0)+1}}else c[P>>2]=c[f+4>>2];while(0);if(!(e[(c[eb>>2]|0)+40>>1]&16)){if(!(d[(c[$>>2]|0)+42>>0]&32)){Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[T>>2]=Ra;Wt(c[bb>>2]|0,79,0,c[T>>2]|0)|0}else{c[ca>>2]=Au(c[$>>2]|0)|0;Pa=(c[ab>>2]|0)+40|0;Ra=c[Pa>>2]|0;c[Pa>>2]=Ra+1;c[T>>2]=Ra;Wt(c[bb>>2]|0,107,c[T>>2]|0,e[(c[ca>>2]|0)+50>>1]|0)|0;ox(c[ab>>2]|0,c[ca>>2]|0)}Pa=(c[ab>>2]|0)+44|0;Ra=(c[Pa>>2]|0)+1|0;c[Pa>>2]=Ra;c[U>>2]=Ra}c[W>>2]=Wt(c[bb>>2]|0,76,0,c[S>>2]|0)|0;if((c[(c[_a>>2]|0)+12>>2]|0)>1){c[da>>2]=0;while(1){if((c[da>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break;c[ea>>2]=c[(c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)>>2];do if((((c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)|0)!=(c[$a>>2]|0)?(c[(c[ea>>2]|0)+4>>2]&1|0)==0:0)?(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)+10>>1]&6|0)==0:0){if(!(e[(c[(c[_a>>2]|0)+20>>2]|0)+((c[da>>2]|0)*48|0)+12>>1]&8191))break;c[ea>>2]=aw(c[Qa>>2]|0,c[ea>>2]|0,0)|0;c[_>>2]=Sw(c[Qa>>2]|0,c[_>>2]|0,c[ea>>2]|0)|0}while(0);c[da>>2]=(c[da>>2]|0)+1}if(c[_>>2]|0)c[_>>2]=vs(c[ab>>2]|0,284,0,c[_>>2]|0,0)|0}b[Z>>1]=32|e[(c[eb>>2]|0)+40>>1]&1024;c[Y>>2]=0;while(1){if((c[Y>>2]|0)>=(c[(c[O>>2]|0)+12>>2]|0))break;c[fa>>2]=(c[(c[O>>2]|0)+20>>2]|0)+((c[Y>>2]|0)*48|0);if(!((c[(c[fa>>2]|0)+20>>2]|0)!=(c[Sa>>2]|0)?!(e[(c[fa>>2]|0)+12>>1]&1024|0):0)){c[ha>>2]=c[c[fa>>2]>>2];c[ia>>2]=0;if(c[_>>2]|0?(c[(c[ha>>2]|0)+4>>2]&1|0)==0:0){c[(c[_>>2]|0)+12>>2]=c[ha>>2];c[ha>>2]=c[_>>2]}c[ga>>2]=LA(c[ab>>2]|0,c[P>>2]|0,c[ha>>2]|0,0,0,b[Z>>1]|0,c[R>>2]|0)|0;if(c[ga>>2]|0){c[ka>>2]=fB(c[ab>>2]|0,c[P>>2]|0,(c[ga>>2]|0)+752|0,c[N>>2]|0,d[(c[Za>>2]|0)+44>>0]|0,0)|0;do if(!(e[(c[eb>>2]|0)+40>>1]&16)){c[ma>>2]=(c[Y>>2]|0)==((c[(c[O>>2]|0)+12>>2]|0)-1|0)?-1:c[Y>>2]|0;if(!(d[(c[$>>2]|0)+42>>0]&32)){c[la>>2]=cy(c[ab>>2]|0,c[$>>2]|0,-1,c[Sa>>2]|0,c[U>>2]|0,0)|0;c[ia>>2]=Fx(c[bb>>2]|0,63,c[T>>2]|0,0,c[la>>2]|0,c[ma>>2]|0)|0;break}c[na>>2]=Au(c[$>>2]|0)|0;c[oa>>2]=e[(c[na>>2]|0)+50>>1];c[la>>2]=Sx(c[ab>>2]|0,c[oa>>2]|0)|0;c[pa>>2]=0;while(1){if((c[pa>>2]|0)>=(c[oa>>2]|0))break;c[M>>2]=b[(c[(c[na>>2]|0)+4>>2]|0)+(c[pa>>2]<<1)>>1];qB(c[ab>>2]|0,c[$>>2]|0,c[M>>2]|0,c[Sa>>2]|0,(c[la>>2]|0)+(c[pa>>2]|0)|0);c[pa>>2]=(c[pa>>2]|0)+1}if(c[ma>>2]|0)c[ia>>2]=Fx(c[bb>>2]|0,31,c[T>>2]|0,0,c[la>>2]|0,c[oa>>2]|0)|0;do if((c[ma>>2]|0)>=0){Xt(c[bb>>2]|0,99,c[la>>2]|0,c[oa>>2]|0,c[U>>2]|0)|0;Xt(c[bb>>2]|0,126,c[T>>2]|0,c[U>>2]|0,0)|0;if(!(c[ma>>2]|0))break;px(c[bb>>2]|0,16)}while(0);Vx(c[ab>>2]|0,c[la>>2]|0,c[oa>>2]|0)}while(0);Wt(c[bb>>2]|0,14,c[S>>2]|0,c[V>>2]|0)|0;if(c[ia>>2]|0)tx(c[bb>>2]|0,c[ia>>2]|0);if(a[(c[ga>>2]|0)+46>>0]|0)c[X>>2]=1;c[ja>>2]=c[(c[ga>>2]|0)+752+64>>2];do if(c[(c[ja>>2]|0)+36>>2]&512|0){if(c[Y>>2]|0?(c[(c[ja>>2]|0)+24+8>>2]|0)!=(c[Q>>2]|0):0){Na=191;break}if(d[(c[$>>2]|0)+42>>0]&32|0?(a[(c[(c[ja>>2]|0)+24+8>>2]|0)+55>>0]&3|0)==2:0){Na=191;break}c[Q>>2]=c[(c[ja>>2]|0)+24+8>>2]}else Na=191;while(0);if((Na|0)==191){Na=0;c[Q>>2]=0}MA(c[ga>>2]|0)}}c[Y>>2]=(c[Y>>2]|0)+1}c[(c[Za>>2]|0)+56>>2]=c[Q>>2];if(c[Q>>2]|0)c[(c[Za>>2]|0)+8>>2]=c[R>>2];if(c[_>>2]|0){c[(c[_>>2]|0)+12>>2]=0;ck(c[Qa>>2]|0,c[_>>2]|0)}Pa=c[bb>>2]|0;Ra=c[W>>2]|0;rB(Pa,Ra,Vu(c[bb>>2]|0)|0);sx(c[bb>>2]|0,c[(c[Za>>2]|0)+12>>2]|0)|0;ux(c[bb>>2]|0,c[V>>2]|0);if((d[(c[eb>>2]|0)+42>>0]|0)>1)Hd(c[Qa>>2]|0,c[P>>2]|0);if(c[X>>2]|0)break;kB(c[Za>>2]|0,c[$a>>2]|0);break}b[ta>>1]=b[f+24>>1]|0;b[ua>>1]=b[(c[sa>>2]|0)+24+2>>1]|0;b[va>>1]=b[(c[sa>>2]|0)+24+4>>1]|0;c[xa>>2]=0;c[ya>>2]=0;c[I>>2]=0;c[Ha>>2]=0;a[Ia>>0]=0;a[Ja>>0]=0;c[Da>>2]=c[(c[sa>>2]|0)+24+8>>2];c[Ea>>2]=c[(c[Za>>2]|0)+8>>2];if((e[(c[eb>>2]|0)+40>>1]&1|0?(a[(c[eb>>2]|0)+43>>0]|0)>0:0)?(e[(c[Da>>2]|0)+50>>1]|0)>(e[ta>>1]|0):0){a[Ia>>0]=1;c[I>>2]=1}c[gb>>2]=e[ta>>1];if(c[(c[sa>>2]|0)+36>>2]&32|0){pa=c[(c[sa>>2]|0)+48>>2]|0;Na=c[gb>>2]|0;c[gb>>2]=Na+1;c[xa>>2]=c[pa+(Na<<2)>>2];if((c[I>>2]|0)>(e[(c[sa>>2]|0)+24+2>>1]|0))f=c[I>>2]|0;else f=e[(c[sa>>2]|0)+24+2>>1]|0;c[I>>2]=f}do if(c[(c[sa>>2]|0)+36>>2]&16|0){pa=c[(c[sa>>2]|0)+48>>2]|0;Na=c[gb>>2]|0;c[gb>>2]=Na+1;c[ya>>2]=c[pa+(Na<<2)>>2];if((c[I>>2]|0)>(e[(c[sa>>2]|0)+24+4>>1]|0))f=c[I>>2]|0;else f=e[(c[sa>>2]|0)+24+4>>1]|0;c[I>>2]=f;if(e[(c[ya>>2]|0)+10>>1]&256|0){pa=(c[ab>>2]|0)+44|0;Na=(c[pa>>2]|0)+1|0;c[pa>>2]=Na;c[(c[Za>>2]|0)+36>>2]=Na;Wt(c[bb>>2]|0,76,1,c[(c[Za>>2]|0)+36>>2]|0)|0;Na=Vu(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+40>>2]=Na;Na=(c[Za>>2]|0)+36|0;c[Na>>2]=c[Na>>2]<<1;Na=(c[Za>>2]|0)+36|0;c[Na>>2]=c[Na>>2]|c[Oa>>2]^(d[(c[(c[Da>>2]|0)+28>>2]|0)+(e[ta>>1]|0)>>0]|0)==1}if(!(c[xa>>2]|0)){c[gb>>2]=b[(c[(c[Da>>2]|0)+4>>2]|0)+(e[ta>>1]<<1)>>1];if((c[gb>>2]|0)>=0){if(!((c[gb>>2]|0)==-2?1:(d[(c[(c[(c[Da>>2]|0)+12>>2]|0)+4>>2]|0)+(c[gb>>2]<<4)+12>>0]|0)==0))break}else if((c[gb>>2]|0)!=-2)break;a[Ia>>0]=1}}while(0);if((e[ta>>1]|0)<(e[(c[Da>>2]|0)+50>>1]|0)?(c[Oa>>2]|0)==((d[(c[(c[Da>>2]|0)+28>>2]|0)+(e[ta>>1]|0)>>0]|0)==0|0):0)Na=84;else Na=82;if(((Na|0)==82?c[Oa>>2]|0:0)?(e[(c[Da>>2]|0)+50>>1]|0)==(e[ta>>1]|0):0)Na=84;if((Na|0)==84){c[J>>2]=c[ya>>2];c[ya>>2]=c[xa>>2];c[xa>>2]=c[J>>2];a[K>>0]=a[Ia>>0]|0;a[Ia>>0]=a[Ja>>0]|0;a[Ja>>0]=a[K>>0]|0;a[L>>0]=b[ua>>1];b[ua>>1]=b[va>>1]|0;b[va>>1]=d[L>>0]|0}c[wa>>2]=lB(c[ab>>2]|0,c[Za>>2]|0,c[Oa>>2]|0,c[I>>2]|0,Ga)|0;if(c[Ga>>2]|0?e[va>>1]|0:0)c[Ha>>2]=go(c[Qa>>2]|0,(c[Ga>>2]|0)+(e[ta>>1]|0)|0)|0;c[qa>>2]=c[(c[Za>>2]|0)+16>>2];if(c[xa>>2]|0)f=(e[(c[xa>>2]|0)+12>>1]&40|0)!=0;else f=1;c[za>>2]=f&1;if(c[ya>>2]|0)f=(e[(c[ya>>2]|0)+12>>1]&40|0)!=0;else f=1;c[Aa>>2]=f&1;if(c[xa>>2]|0)f=1;else f=(e[ta>>1]|0)>0;c[Ba>>2]=f&1;c[Ca>>2]=e[ta>>1];if(!(c[xa>>2]|0)){if(a[Ia>>0]|0){Wt(c[bb>>2]|0,79,0,(c[wa>>2]|0)+(e[ta>>1]|0)|0)|0;c[Ca>>2]=(c[Ca>>2]|0)+1;c[za>>2]=0;c[Ba>>2]=1}}else{c[Ka>>2]=c[(c[c[xa>>2]>>2]|0)+16>>2];jB(c[ab>>2]|0,c[Ka>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,e[ua>>1]|0);mB(c[bb>>2]|0,c[Za>>2]|0,c[xa>>2]|0);do if(!(e[(c[xa>>2]|0)+10>>1]&0)){if(!(zy(c[Ka>>2]|0)|0))break;Wt(c[bb>>2]|0,34,(c[wa>>2]|0)+(e[ta>>1]|0)|0,c[qa>>2]|0)|0}while(0);if(c[Ga>>2]|0)nB(c[Ka>>2]|0,e[ua>>1]|0,(c[Ga>>2]|0)+(e[ta>>1]|0)|0);c[Ca>>2]=(c[Ca>>2]|0)+(e[ua>>1]|0);if(!(gy(c[Ka>>2]|0)|0))kB(c[Za>>2]|0,c[xa>>2]|0);else c[za>>2]=1;a[Ia>>0]=0}oB(c[ab>>2]|0,c[wa>>2]|0,(c[Ca>>2]|0)-(d[Ia>>0]|0)|0,c[Ga>>2]|0);if(!((e[(c[sa>>2]|0)+42>>1]|0)>0?(c[Ca>>2]|0)==(e[(c[sa>>2]|0)+42>>1]|0):0)){c[Fa>>2]=d[30942+((c[Ba>>2]<<2)+(c[za>>2]<<1)+(c[Oa>>2]|0))>>0];Fx(c[bb>>2]|0,c[Fa>>2]|0,c[Ea>>2]|0,c[qa>>2]|0,c[wa>>2]|0,c[Ca>>2]|0)|0}c[Ca>>2]=e[ta>>1];do if(c[ya>>2]|0){c[La>>2]=c[(c[c[ya>>2]>>2]|0)+16>>2];Wx(c[ab>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,1);jB(c[ab>>2]|0,c[La>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,e[va>>1]|0);mB(c[bb>>2]|0,c[Za>>2]|0,c[ya>>2]|0);do if(!(e[(c[ya>>2]|0)+10>>1]&0)){if(!(zy(c[La>>2]|0)|0))break;Wt(c[bb>>2]|0,34,(c[wa>>2]|0)+(e[ta>>1]|0)|0,c[qa>>2]|0)|0}while(0);if(c[Ha>>2]|0){nB(c[La>>2]|0,e[va>>1]|0,c[Ha>>2]|0);oB(c[ab>>2]|0,(c[wa>>2]|0)+(e[ta>>1]|0)|0,e[va>>1]|0,c[Ha>>2]|0)}c[Ca>>2]=(c[Ca>>2]|0)+(e[va>>1]|0);if(!(gy(c[La>>2]|0)|0)){kB(c[Za>>2]|0,c[ya>>2]|0);break}else{c[Aa>>2]=1;break}}else{if(!(a[Ja>>0]|0))break;Wt(c[bb>>2]|0,79,0,(c[wa>>2]|0)+(e[ta>>1]|0)|0)|0;c[Aa>>2]=0;c[Ca>>2]=(c[Ca>>2]|0)+1}while(0);Hd(c[Qa>>2]|0,c[Ga>>2]|0);Hd(c[Qa>>2]|0,c[Ha>>2]|0);Qa=Vu(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+52>>2]=Qa;if(c[Ca>>2]|0){c[Fa>>2]=d[30950+((c[Oa>>2]<<1)+(c[Aa>>2]|0))>>0];Fx(c[bb>>2]|0,c[Fa>>2]|0,c[Ea>>2]|0,c[qa>>2]|0,c[wa>>2]|0,c[Ca>>2]|0)|0}do if(!(c[ra>>2]|0)){if(!(d[(c[(c[Da>>2]|0)+12>>2]|0)+42>>0]&32))if(e[(c[eb>>2]|0)+40>>1]&1024|0){Qa=(c[ab>>2]|0)+44|0;Ra=(c[Qa>>2]|0)+1|0;c[Qa>>2]=Ra;c[Pa>>2]=Ra;Wt(c[bb>>2]|0,129,c[Ea>>2]|0,c[Pa>>2]|0)|0;Sy(c[ab>>2]|0,c[Sa>>2]|0,-1,c[Pa>>2]|0);Xt(c[bb>>2]|0,33,c[Sa>>2]|0,0,c[Pa>>2]|0)|0;break}else{pB(c[eb>>2]|0,c[Da>>2]|0,c[Sa>>2]|0,c[Ea>>2]|0);break}if((c[Sa>>2]|0)==(c[Ea>>2]|0))break;c[Ma>>2]=Au(c[(c[Da>>2]|0)+12>>2]|0)|0;c[Pa>>2]=Sx(c[ab>>2]|0,e[(c[Ma>>2]|0)+50>>1]|0)|0;c[gb>>2]=0;while(1){if((c[gb>>2]|0)>=(e[(c[Ma>>2]|0)+50>>1]|0))break;c[Ra>>2]=(_x(c[Da>>2]|0,b[(c[(c[Ma>>2]|0)+4>>2]|0)+(c[gb>>2]<<1)>>1]|0)|0)<<16>>16;Xt(c[bb>>2]|0,96,c[Ea>>2]|0,c[Ra>>2]|0,(c[Pa>>2]|0)+(c[gb>>2]|0)|0)|0;c[gb>>2]=(c[gb>>2]|0)+1}Fx(c[bb>>2]|0,30,c[Sa>>2]|0,c[cb>>2]|0,c[Pa>>2]|0,e[(c[Ma>>2]|0)+50>>1]|0)|0}while(0);if(c[(c[sa>>2]|0)+36>>2]&4096|0)a[(c[Za>>2]|0)+45>>0]=-95;else a[(c[Za>>2]|0)+45>>0]=c[Oa>>2]|0?6:7;c[(c[Za>>2]|0)+48>>2]=c[Ea>>2];a[(c[Za>>2]|0)+46>>0]=c[(c[sa>>2]|0)+36>>2]&65536|0?1:0;if(c[(c[sa>>2]|0)+36>>2]&15|0)break;a[(c[Za>>2]|0)+47>>0]=1}while(0);c[$a>>2]=c[(c[_a>>2]|0)+20>>2];c[gb>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[gb>>2]|0)<=0)break;c[Ua>>2]=0;do if(!(e[(c[$a>>2]|0)+10>>1]&6)){Qa=(c[$a>>2]|0)+40|0;Ra=(c[Za>>2]|0)+72|0;if(c[Qa>>2]&c[Ra>>2]|0?1:(c[Qa+4>>2]&c[Ra+4>>2]|0)!=0){a[(c[eb>>2]|0)+46>>0]=1;break}c[Ta>>2]=c[c[$a>>2]>>2];if(c[c[Za>>2]>>2]|0?(c[(c[Ta>>2]|0)+4>>2]&1|0)==0:0)break;if(e[(c[$a>>2]|0)+10>>1]&512|0){c[Va>>2]=c[(c[Za>>2]|0)+36>>2];c[Ua>>2]=kx(c[bb>>2]|0,c[Va>>2]&1|0?22:21,(c[Va>>2]|0)>>>1)|0}ty(c[ab>>2]|0,c[Ta>>2]|0,c[cb>>2]|0,16);if(c[Ua>>2]|0)tx(c[bb>>2]|0,c[Ua>>2]|0);Ra=(c[$a>>2]|0)+10|0;b[Ra>>1]=e[Ra>>1]|4}while(0);c[gb>>2]=(c[gb>>2]|0)+-1;c[$a>>2]=(c[$a>>2]|0)+48}c[$a>>2]=c[(c[_a>>2]|0)+20>>2];c[gb>>2]=c[(c[_a>>2]|0)+12>>2];while(1){if((c[gb>>2]|0)<=0)break;if(((((((e[(c[$a>>2]|0)+10>>1]&6|0)==0?e[(c[$a>>2]|0)+12>>1]&130|0:0)?e[(c[$a>>2]|0)+12>>1]&2048|0:0)?(c[(c[$a>>2]|0)+20>>2]|0)==(c[Sa>>2]|0):0)?(c[c[Za>>2]>>2]|0)==0:0)?(c[Wa>>2]=c[c[$a>>2]>>2],eb=fb,c[Ya>>2]=sB(c[_a>>2]|0,c[Sa>>2]|0,c[(c[$a>>2]|0)+28>>2]|0,c[eb>>2]|0,c[eb+4>>2]|0,131,0)|0,c[Ya>>2]|0):0)?(e[(c[Ya>>2]|0)+10>>1]&4|0)==0:0){h=Xa;f=c[c[Ya>>2]>>2]|0;g=h+48|0;do{c[h>>2]=c[f>>2];h=h+4|0;f=f+4|0}while((h|0)<(g|0));c[Xa+12>>2]=c[(c[Wa>>2]|0)+12>>2];ty(c[ab>>2]|0,Xa,c[cb>>2]|0,16)}c[gb>>2]=(c[gb>>2]|0)+-1;c[$a>>2]=(c[$a>>2]|0)+48}b:do if(c[c[Za>>2]>>2]|0){fb=Vu(c[bb>>2]|0)|0;c[(c[Za>>2]|0)+28>>2]=fb;Wt(c[bb>>2]|0,76,1,c[c[Za>>2]>>2]|0)|0;Kz(c[ab>>2]|0);c[$a>>2]=c[(c[_a>>2]|0)+20>>2];c[gb>>2]=0;while(1){if((c[gb>>2]|0)>=(c[(c[_a>>2]|0)+12>>2]|0))break b;if((e[(c[$a>>2]|0)+10>>1]&6|0)==0?(eb=(c[$a>>2]|0)+40|0,fb=(c[Za>>2]|0)+72|0,!(c[eb>>2]&c[fb>>2]|0?1:(c[eb+4>>2]&c[fb+4>>2]|0)!=0)):0){ty(c[ab>>2]|0,c[c[$a>>2]>>2]|0,c[cb>>2]|0,16);fb=(c[$a>>2]|0)+10|0;b[fb>>1]=e[fb>>1]|4}c[gb>>2]=(c[gb>>2]|0)+1;c[$a>>2]=(c[$a>>2]|0)+48}}while(0);eb=(c[Za>>2]|0)+72|0;gb=c[eb+4>>2]|0;fb=db;c[fb>>2]=c[eb>>2];c[fb+4>>2]=gb;fb=db;gb=fb;gb=c[gb>>2]|0;fb=fb+4|0;fb=c[fb>>2]|0;z=fb;l=hb;return gb|0}function hB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=l;l=l+32|0;g=h;d=h+16|0;e=h+12|0;f=h+8|0;c[d>>2]=a;c[e>>2]=b;c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[c[d>>2]>>2]|0)){a=6;break}b=c[f>>2]|0;if((c[(c[d>>2]|0)+4+(c[f>>2]<<2)>>2]|0)==(c[e>>2]|0)){a=4;break}c[f>>2]=b+1}if((a|0)==4){e=HR(1,0,b|0)|0;f=g;c[f>>2]=e;c[f+4>>2]=z;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;z=f;l=h;return g|0}else if((a|0)==6){f=g;c[f>>2]=0;c[f+4>>2]=0;f=g;g=f;g=c[g>>2]|0;f=f+4|0;f=c[f>>2]|0;z=f;l=h;return g|0}return 0}function iB(f,g,h,i,j,k){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;S=l;l=l+128|0;N=S+120|0;O=S+116|0;P=S+112|0;Q=S+108|0;z=S+104|0;A=S+100|0;m=S+96|0;B=S+92|0;C=S+88|0;D=S+84|0;E=S+80|0;F=S+76|0;G=S+72|0;H=S+68|0;I=S+64|0;s=S+60|0;J=S+56|0;t=S+52|0;n=S+48|0;u=S+44|0;v=S+40|0;w=S+36|0;x=S+32|0;o=S+28|0;p=S+24|0;q=S+20|0;y=S+16|0;r=S+12|0;K=S+8|0;L=S+4|0;M=S;c[O>>2]=f;c[P>>2]=g;c[Q>>2]=h;c[z>>2]=i;c[A>>2]=j;c[m>>2]=k;c[B>>2]=c[c[P>>2]>>2];c[C>>2]=c[(c[O>>2]|0)+8>>2];do if((d[c[B>>2]>>0]|0)!=37?(d[c[B>>2]>>0]|0)!=29:0){if((d[c[B>>2]>>0]|0)==34){c[D>>2]=c[m>>2];Wt(c[C>>2]|0,79,0,c[D>>2]|0)|0;break}c[E>>2]=5;c[H>>2]=c[(c[Q>>2]|0)+64>>2];c[s>>2]=0;c[J>>2]=0;if(((c[(c[H>>2]|0)+36>>2]&1024|0)==0?c[(c[H>>2]|0)+24+8>>2]|0:0)?d[(c[(c[(c[H>>2]|0)+24+8>>2]|0)+28>>2]|0)+(c[z>>2]|0)>>0]|0:0)c[A>>2]=((c[A>>2]|0)!=0^1)&1;c[D>>2]=c[m>>2];c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[z>>2]|0))break;if(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0?(c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0):0){R=14;break}c[I>>2]=(c[I>>2]|0)+1}if((R|0)==14){kB(c[Q>>2]|0,c[P>>2]|0);c[N>>2]=c[m>>2];R=c[N>>2]|0;l=S;return R|0}c[I>>2]=c[z>>2];while(1){if((c[I>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break;if(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0?(c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0):0)c[s>>2]=(c[s>>2]|0)+1;c[I>>2]=(c[I>>2]|0)+1}if((c[(c[B>>2]|0)+4>>2]&2048|0)!=0?(c[c[c[(c[B>>2]|0)+20>>2]>>2]>>2]|0)!=1:0){c[t>>2]=c[(c[B>>2]|0)+20>>2];c[n>>2]=c[c[O>>2]>>2];c[u>>2]=c[c[t>>2]>>2];c[v>>2]=c[(c[(c[B>>2]|0)+12>>2]|0)+20>>2];c[w>>2]=0;c[x>>2]=0;c[I>>2]=c[z>>2];while(1){if((c[I>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break;if((c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0)){c[o>>2]=(c[(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0)+24>>2]|0)-1;c[p>>2]=aw(c[n>>2]|0,c[(c[(c[u>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[q>>2]=aw(c[n>>2]|0,c[(c[(c[v>>2]|0)+4>>2]|0)+((c[o>>2]|0)*20|0)>>2]|0,0)|0;c[w>>2]=Ks(c[O>>2]|0,c[w>>2]|0,c[p>>2]|0)|0;c[x>>2]=Ks(c[O>>2]|0,c[x>>2]|0,c[q>>2]|0)|0}c[I>>2]=(c[I>>2]|0)+1}if(!(a[(c[n>>2]|0)+69>>0]|0)){c[y>>2]=c[(c[B>>2]|0)+12>>2];a:do if(c[(c[t>>2]|0)+44>>2]|0){c[r>>2]=c[(c[t>>2]|0)+44>>2];c[I>>2]=0;while(1){if((c[I>>2]|0)>=(c[c[r>>2]>>2]|0))break a;b[(c[(c[r>>2]|0)+4>>2]|0)+((c[I>>2]|0)*20|0)+16>>1]=0;c[I>>2]=(c[I>>2]|0)+1}}while(0);f=c[x>>2]|0;if((c[c[x>>2]>>2]|0)==1)c[(c[B>>2]|0)+12>>2]=c[c[f+4>>2]>>2];else{c[(c[y>>2]|0)+20>>2]=f;c[J>>2]=jl(c[c[O>>2]>>2]|0,c[s>>2]<<2,0)|0}c[c[t>>2]>>2]=c[w>>2];c[E>>2]=yy(c[O>>2]|0,c[B>>2]|0,4,0,c[J>>2]|0)|0;c[c[t>>2]>>2]=c[u>>2];c[(c[y>>2]|0)+20>>2]=c[v>>2];c[(c[B>>2]|0)+12>>2]=c[y>>2]}_j(c[c[O>>2]>>2]|0,c[x>>2]|0);_j(c[c[O>>2]>>2]|0,c[w>>2]|0)}else c[E>>2]=yy(c[O>>2]|0,c[B>>2]|0,4,0,0)|0;if((c[E>>2]|0)==4)c[A>>2]=((c[A>>2]|0)!=0^1)&1;c[F>>2]=c[(c[B>>2]|0)+28>>2];Wt(c[C>>2]|0,c[A>>2]|0?53:57,c[F>>2]|0,0)|0;y=(c[H>>2]|0)+36|0;c[y>>2]=c[y>>2]|2048;if(!(c[(c[Q>>2]|0)+56>>2]|0)){y=qx(c[C>>2]|0)|0;c[(c[Q>>2]|0)+16>>2]=y}c[I>>2]=c[(c[Q>>2]|0)+56>>2];y=(c[Q>>2]|0)+56|0;c[y>>2]=(c[y>>2]|0)+(c[s>>2]|0);y=Qh(c[c[O>>2]>>2]|0,c[(c[Q>>2]|0)+56+4>>2]|0,(c[(c[Q>>2]|0)+56>>2]|0)*12|0,0)|0;c[(c[Q>>2]|0)+56+4>>2]=y;c[G>>2]=c[(c[Q>>2]|0)+56+4>>2];b:do if(c[G>>2]|0){c[K>>2]=0;c[G>>2]=(c[G>>2]|0)+((c[I>>2]|0)*12|0);c[I>>2]=c[z>>2];while(1){if((c[I>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break b;if((c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[B>>2]|0)){c[L>>2]=(c[D>>2]|0)+(c[I>>2]|0)-(c[z>>2]|0);if((c[E>>2]|0)==1){f=Wt(c[C>>2]|0,123,c[F>>2]|0,c[L>>2]|0)|0;g=c[G>>2]|0}else{if(c[J>>2]|0){y=c[J>>2]|0;f=c[K>>2]|0;c[K>>2]=f+1;f=c[y+(f<<2)>>2]|0}else f=0;c[M>>2]=f;f=Xt(c[C>>2]|0,96,c[F>>2]|0,c[M>>2]|0,c[L>>2]|0)|0;g=c[G>>2]|0}c[g+4>>2]=f;kx(c[C>>2]|0,34,c[L>>2]|0)|0;if((c[I>>2]|0)==(c[z>>2]|0)){c[c[G>>2]>>2]=c[F>>2];f=(c[A>>2]|0?4:5)&255;g=c[G>>2]|0}else{f=-95;g=c[G>>2]|0}a[g+8>>0]=f;c[G>>2]=(c[G>>2]|0)+12}c[I>>2]=(c[I>>2]|0)+1}}else c[(c[Q>>2]|0)+56>>2]=0;while(0);Hd(c[c[O>>2]>>2]|0,c[J>>2]|0)}else R=3;while(0);if((R|0)==3)c[D>>2]=by(c[O>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[m>>2]|0)|0;kB(c[Q>>2]|0,c[P>>2]|0);c[N>>2]=c[D>>2];R=c[N>>2]|0;l=S;return R|0}function jB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;h=o+28|0;i=o+24|0;j=o+20|0;k=o+16|0;m=o+12|0;n=o+8|0;f=o+4|0;g=o;c[h>>2]=a;c[i>>2]=b;c[j>>2]=d;c[k>>2]=e;if(!(gy(c[i>>2]|0)|0)){ay(c[h>>2]|0,c[i>>2]|0,c[j>>2]|0);l=o;return}if(c[(c[i>>2]|0)+4>>2]&2048|0){c[m>>2]=c[(c[h>>2]|0)+8>>2];c[n>>2]=oy(c[h>>2]|0,c[i>>2]|0,0,0)|0;Xt(c[m>>2]|0,84,c[n>>2]|0,c[j>>2]|0,(c[k>>2]|0)-1|0)|0;l=o;return}c[g>>2]=c[(c[i>>2]|0)+20>>2];c[f>>2]=0;while(1){if((c[f>>2]|0)>=(c[k>>2]|0))break;ay(c[h>>2]|0,c[(c[(c[g>>2]|0)+4>>2]|0)+((c[f>>2]|0)*20|0)>>2]|0,(c[j>>2]|0)+(c[f>>2]|0)|0);c[f>>2]=(c[f>>2]|0)+1}l=o;return}function kB(f,g){f=f|0;g=g|0;var h=0,i=0,j=0,k=0;k=l;l=l+16|0;h=k+8|0;i=k+4|0;j=k;c[h>>2]=f;c[i>>2]=g;c[j>>2]=0;while(1){if(!(c[i>>2]|0)){f=14;break}if((e[(c[i>>2]|0)+10>>1]|0)&4|0){f=14;break}if(c[c[h>>2]>>2]|0?(c[(c[c[i>>2]>>2]|0)+4>>2]&1|0)==0:0){f=14;break}f=(c[h>>2]|0)+72|0;g=(c[i>>2]|0)+40|0;if(!((c[f>>2]&c[g>>2]|0)==0?(c[f+4>>2]&c[g+4>>2]|0)==0:0)){f=14;break}if(c[j>>2]|0?(e[(c[i>>2]|0)+10>>1]|0)&1024|0:0){f=512;g=c[i>>2]|0}else{f=4;g=c[i>>2]|0}g=g+10|0;b[g>>1]=e[g>>1]|0|f;if((c[(c[i>>2]|0)+16>>2]|0)<0){f=14;break}c[i>>2]=(c[(c[(c[i>>2]|0)+4>>2]|0)+20>>2]|0)+((c[(c[i>>2]|0)+16>>2]|0)*48|0);g=(c[i>>2]|0)+14|0;a[g>>0]=(a[g>>0]|0)+-1<<24>>24;if(d[(c[i>>2]|0)+14>>0]|0|0){f=14;break}c[j>>2]=(c[j>>2]|0)+1}if((f|0)==14){l=k;return}}function lB(d,f,g,h,i){d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;A=l;l=l+80|0;w=A+60|0;x=A+56|0;y=A+52|0;C=A+48|0;z=A+44|0;m=A+66|0;j=A+64|0;n=A+40|0;B=A+36|0;o=A+32|0;p=A+28|0;q=A+24|0;r=A+20|0;s=A+16|0;t=A+12|0;k=A+8|0;u=A+4|0;v=A;c[w>>2]=d;c[x>>2]=f;c[y>>2]=g;c[C>>2]=h;c[z>>2]=i;c[n>>2]=c[(c[w>>2]|0)+8>>2];c[p>>2]=c[(c[x>>2]|0)+64>>2];b[m>>1]=b[(c[p>>2]|0)+24>>1]|0;b[j>>1]=b[(c[p>>2]|0)+42>>1]|0;c[B>>2]=c[(c[p>>2]|0)+24+8>>2];c[r>>2]=(c[(c[w>>2]|0)+44>>2]|0)+1;c[s>>2]=(e[(c[p>>2]|0)+24>>1]|0)+(c[C>>2]|0);i=(c[w>>2]|0)+44|0;c[i>>2]=(c[i>>2]|0)+(c[s>>2]|0);i=c[c[w>>2]>>2]|0;c[t>>2]=go(i,Iz(c[c[w>>2]>>2]|0,c[B>>2]|0)|0)|0;a:do if(b[j>>1]|0){c[k>>2]=c[(c[x>>2]|0)+8>>2];kx(c[n>>2]|0,c[y>>2]|0?53:57,c[k>>2]|0)|0;c[q>>2]=Tt(c[n>>2]|0,13)|0;C=Fx(c[n>>2]|0,c[y>>2]|0?23:26,c[k>>2]|0,0,c[r>>2]|0,e[j>>1]|0)|0;c[(c[x>>2]|0)+20>>2]=C;tx(c[n>>2]|0,c[q>>2]|0);c[q>>2]=0;while(1){if((c[q>>2]|0)>=(e[j>>1]|0))break a;Xt(c[n>>2]|0,96,c[k>>2]|0,c[q>>2]|0,(c[r>>2]|0)+(c[q>>2]|0)|0)|0;c[q>>2]=(c[q>>2]|0)+1}}while(0);c[q>>2]=e[j>>1];while(1){if((c[q>>2]|0)>=(e[m>>1]|0))break;c[o>>2]=c[(c[(c[p>>2]|0)+48>>2]|0)+(c[q>>2]<<2)>>2];c[u>>2]=iB(c[w>>2]|0,c[o>>2]|0,c[x>>2]|0,c[q>>2]|0,c[y>>2]|0,(c[r>>2]|0)+(c[q>>2]|0)|0)|0;do if((c[u>>2]|0)!=((c[r>>2]|0)+(c[q>>2]|0)|0))if((c[s>>2]|0)==1){Wu(c[w>>2]|0,c[r>>2]|0);c[r>>2]=c[u>>2];break}else{Wt(c[n>>2]|0,85,c[u>>2]|0,(c[r>>2]|0)+(c[q>>2]|0)|0)|0;break}while(0);d=c[o>>2]|0;if(e[(c[o>>2]|0)+12>>1]&1|0){if(c[t>>2]|0?(c[(c[d>>2]|0)+4>>2]&2048|0)!=0:0)a[(c[t>>2]|0)+(c[q>>2]|0)>>0]=65}else if(!(e[d+12>>1]&256)){c[v>>2]=c[(c[c[o>>2]>>2]|0)+16>>2];if((e[(c[o>>2]|0)+10>>1]&2048|0)==0?zy(c[v>>2]|0)|0:0)Wt(c[n>>2]|0,34,(c[r>>2]|0)+(c[q>>2]|0)|0,c[(c[x>>2]|0)+12>>2]|0)|0;if(c[t>>2]|0){if(((Cy(c[v>>2]|0,a[(c[t>>2]|0)+(c[q>>2]|0)>>0]|0)|0)<<24>>24|0)==65)a[(c[t>>2]|0)+(c[q>>2]|0)>>0]=65;if(xB(c[v>>2]|0,a[(c[t>>2]|0)+(c[q>>2]|0)>>0]|0)|0)a[(c[t>>2]|0)+(c[q>>2]|0)>>0]=65}}c[q>>2]=(c[q>>2]|0)+1}c[c[z>>2]>>2]=c[t>>2];l=A;return c[r>>2]|0}function mB(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;g=j+12|0;h=j+8|0;k=j+4|0;i=j;c[g>>2]=b;c[h>>2]=d;c[k>>2]=f;if(!((e[(c[k>>2]|0)+10>>1]|0)&256)){l=j;return}c[i>>2]=Ax(c[g>>2]|0,-1)|0;c[(c[i>>2]|0)+12>>2]=(c[(c[h>>2]|0)+36>>2]|0)>>>1;a[(c[i>>2]|0)+3>>0]=c[(c[h>>2]|0)+36>>2]&1;l=j;return}function nB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;f=k+16|0;g=k+12|0;h=k+8|0;i=k+4|0;j=k;c[f>>2]=b;c[g>>2]=d;c[h>>2]=e;c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[g>>2]|0))break;c[j>>2]=Ay(c[f>>2]|0,c[i>>2]|0)|0;if(!(((Cy(c[j>>2]|0,a[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0)|0)<<24>>24|0)!=65?!(xB(c[j>>2]|0,a[(c[h>>2]|0)+(c[i>>2]|0)>>0]|0)|0):0))a[(c[h>>2]|0)+(c[i>>2]|0)>>0]=65;c[i>>2]=(c[i>>2]|0)+1}l=k;return}function oB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[g>>2]=b;c[h>>2]=d;c[i>>2]=e;c[j>>2]=f;c[k>>2]=c[(c[g>>2]|0)+8>>2];if(!(c[j>>2]|0)){l=m;return}while(1){if((c[i>>2]|0)<=0)break;if((a[c[j>>2]>>0]|0)!=65)break;c[i>>2]=(c[i>>2]|0)+-1;c[h>>2]=(c[h>>2]|0)+1;c[j>>2]=(c[j>>2]|0)+1}while(1){if((c[i>>2]|0)>1)d=(a[(c[j>>2]|0)+((c[i>>2]|0)-1)>>0]|0)==65;else d=0;b=c[i>>2]|0;if(!d)break;c[i>>2]=b+-1}if((b|0)<=0){l=m;return}_t(c[k>>2]|0,98,c[h>>2]|0,c[i>>2]|0,0,c[j>>2]|0,c[i>>2]|0)|0;fy(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0);l=m;return}function pB(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;o=l;l=l+48|0;p=o+32|0;k=o+28|0;q=o+24|0;r=o+20|0;m=o+16|0;n=o+12|0;h=o+8|0;i=o+4|0;j=o;c[p>>2]=a;c[k>>2]=d;c[q>>2]=f;c[r>>2]=g;c[m>>2]=c[c[p>>2]>>2];c[n>>2]=c[(c[m>>2]|0)+8>>2];Xt(c[n>>2]|0,128,c[r>>2]|0,0,c[q>>2]|0)|0;if(!(e[(c[p>>2]|0)+40>>1]&32)){l=o;return}a=c[m>>2]|0;if(c[(c[m>>2]|0)+124>>2]|0)a=c[a+124>>2]|0;if(c[a+92>>2]|0){l=o;return}c[i>>2]=c[(c[k>>2]|0)+12>>2];c[j>>2]=jl(c[c[m>>2]>>2]|0,(b[(c[i>>2]|0)+34>>1]|0)+1<<2,0)|0;if(!(c[j>>2]|0)){l=o;return}c[c[j>>2]>>2]=b[(c[i>>2]|0)+34>>1];c[h>>2]=0;while(1){if((c[h>>2]|0)>=((e[(c[k>>2]|0)+52>>1]|0)-1|0))break;if((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)>=0)c[(c[j>>2]|0)+((b[(c[(c[k>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)+1<<2)>>2]=(c[h>>2]|0)+1;c[h>>2]=(c[h>>2]|0)+1}$t(c[n>>2]|0,-1,c[j>>2]|0,-15);l=o;return}function qB(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0;j=l;l=l+32|0;h=j+20|0;n=j+16|0;m=j+12|0;k=j+8|0;i=j+4|0;g=j;c[h>>2]=a;c[n>>2]=b;c[m>>2]=d;c[k>>2]=e;c[i>>2]=f;c[g>>2]=cy(c[h>>2]|0,c[n>>2]|0,c[m>>2]|0,c[k>>2]|0,c[i>>2]|0,0)|0;if((c[g>>2]|0)==(c[i>>2]|0)){l=j;return}Wt(c[(c[h>>2]|0)+8>>2]|0,85,c[g>>2]|0,c[i>>2]|0)|0;l=j;return}function rB(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=l;l=l+16|0;g=e+8|0;f=e+4|0;h=e;c[g>>2]=a;c[f>>2]=b;c[h>>2]=d;d=c[h>>2]|0;c[(Ax(c[g>>2]|0,c[f>>2]|0)|0)+4>>2]=d;l=e;return}function sB(a,b,d,f,g,h,i){a=a|0;b=b|0;d=d|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;q=l;l=l+144|0;p=q+132|0;u=q+128|0;t=q+124|0;s=q+120|0;j=q;k=q+116|0;r=q+112|0;n=q+108|0;o=q+104|0;m=q+8|0;c[u>>2]=a;c[t>>2]=b;c[s>>2]=d;d=j;c[d>>2]=f;c[d+4>>2]=g;c[k>>2]=h;c[r>>2]=i;c[n>>2]=0;c[o>>2]=tB(m,c[u>>2]|0,c[t>>2]|0,c[s>>2]|0,c[k>>2]|0,c[r>>2]|0)|0;c[k>>2]=c[k>>2]&130;while(1){if(!(c[o>>2]|0)){a=10;break}t=(c[o>>2]|0)+32|0;u=j;if((c[t>>2]&c[u>>2]|0)==0?(c[t+4>>2]&c[u+4>>2]|0)==0:0){u=(c[o>>2]|0)+32|0;if((c[u>>2]|0)==0&(c[u+4>>2]|0)==0?(e[(c[o>>2]|0)+12>>1]|0)&c[k>>2]|0:0){a=6;break}if(!(c[n>>2]|0))c[n>>2]=c[o>>2]}c[o>>2]=uB(m)|0}if((a|0)==6){c[p>>2]=c[o>>2];u=c[p>>2]|0;l=q;return u|0}else if((a|0)==10){c[p>>2]=c[n>>2];u=c[p>>2]|0;l=q;return u|0}return 0}function tB(d,e,f,g,h,i){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;q=l;l=l+32|0;n=q+24|0;r=q+20|0;o=q+16|0;p=q+12|0;m=q+8|0;j=q+4|0;k=q;c[n>>2]=d;c[r>>2]=e;c[o>>2]=f;c[p>>2]=g;c[m>>2]=h;c[j>>2]=i;c[k>>2]=0;c[c[n>>2]>>2]=c[r>>2];c[(c[n>>2]|0)+4>>2]=c[r>>2];c[(c[n>>2]|0)+12>>2]=0;if(c[j>>2]|0){c[k>>2]=c[p>>2];c[p>>2]=b[(c[(c[j>>2]|0)+4>>2]|0)+(c[k>>2]<<1)>>1];if((c[p>>2]|0)==-2)c[(c[n>>2]|0)+12>>2]=c[(c[(c[(c[j>>2]|0)+40>>2]|0)+4>>2]|0)+((c[k>>2]|0)*20|0)>>2];if((c[p>>2]|0)==(b[(c[(c[j>>2]|0)+12>>2]|0)+32>>1]|0))c[p>>2]=-1}if((c[j>>2]|0)!=0&(c[p>>2]|0)>=0){a[(c[n>>2]|0)+16>>0]=a[(c[(c[(c[j>>2]|0)+12>>2]|0)+4>>2]|0)+(c[p>>2]<<4)+13>>0]|0;d=c[(c[(c[j>>2]|0)+32>>2]|0)+(c[k>>2]<<2)>>2]|0;e=c[n>>2]|0}else{a[(c[n>>2]|0)+16>>0]=0;d=0;e=c[n>>2]|0}c[e+8>>2]=d;c[(c[n>>2]|0)+20>>2]=c[m>>2];c[(c[n>>2]|0)+24>>2]=0;c[(c[n>>2]|0)+28>>2]=c[o>>2];b[(c[n>>2]|0)+72>>1]=c[p>>2];a[(c[n>>2]|0)+17>>0]=1;a[(c[n>>2]|0)+18>>0]=1;r=uB(c[n>>2]|0)|0;l=q;return r|0}function uB(f){f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;o=s+36|0;p=s+32|0;i=s+28|0;j=s+40|0;k=s+24|0;m=s+20|0;q=s+16|0;r=s+12|0;n=s+8|0;g=s+4|0;h=s;c[p>>2]=f;c[r>>2]=c[(c[p>>2]|0)+24>>2];a:while(1){if((d[(c[p>>2]|0)+18>>0]|0)>(d[(c[p>>2]|0)+17>>0]|0)){f=40;break}c[i>>2]=c[(c[p>>2]|0)+28+((d[(c[p>>2]|0)+18>>0]|0)-1<<2)>>2];b[j>>1]=b[(c[p>>2]|0)+72+((d[(c[p>>2]|0)+18>>0]|0)-1<<1)>>1]|0;if((b[j>>1]|0)==-2?(c[(c[p>>2]|0)+12>>2]|0)==0:0){f=5;break}while(1){f=c[(c[p>>2]|0)+4>>2]|0;c[m>>2]=f;if(!f)break;c[q>>2]=(c[(c[m>>2]|0)+20>>2]|0)+((c[r>>2]|0)*48|0);while(1){if((c[r>>2]|0)>=(c[(c[m>>2]|0)+12>>2]|0))break;do if((c[(c[q>>2]|0)+20>>2]|0)==(c[i>>2]|0)?(c[(c[q>>2]|0)+28>>2]|0)==(b[j>>1]|0):0){if((b[j>>1]|0)==-2?cw(c[(c[c[q>>2]>>2]|0)+12>>2]|0,c[(c[p>>2]|0)+12>>2]|0,c[i>>2]|0)|0:0)break;if((d[(c[p>>2]|0)+18>>0]|0)>1?c[(c[c[q>>2]>>2]|0)+4>>2]&1|0:0)break;if((e[(c[q>>2]|0)+12>>1]&2048|0?(d[(c[p>>2]|0)+17>>0]|0)<11:0)?(f=Ev(c[(c[c[q>>2]>>2]|0)+16>>2]|0)|0,c[k>>2]=f,(d[f>>0]|0)==152):0){c[n>>2]=0;while(1){if((c[n>>2]|0)>=(d[(c[p>>2]|0)+17>>0]|0))break;if((c[(c[p>>2]|0)+28+(c[n>>2]<<2)>>2]|0)==(c[(c[k>>2]|0)+28>>2]|0)?(b[(c[p>>2]|0)+72+(c[n>>2]<<1)>>1]|0)==(b[(c[k>>2]|0)+32>>1]|0):0)break;c[n>>2]=(c[n>>2]|0)+1}if((c[n>>2]|0)==(d[(c[p>>2]|0)+17>>0]|0)){c[(c[p>>2]|0)+28+(c[n>>2]<<2)>>2]=c[(c[k>>2]|0)+28>>2];b[(c[p>>2]|0)+72+(c[n>>2]<<1)>>1]=b[(c[k>>2]|0)+32>>1]|0;f=(c[p>>2]|0)+17|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}}if(e[(c[q>>2]|0)+12>>1]&c[(c[p>>2]|0)+20>>2]|0){if(c[(c[p>>2]|0)+8>>2]|0?(e[(c[q>>2]|0)+12>>1]&256|0)==0:0){c[h>>2]=c[c[c[m>>2]>>2]>>2];c[k>>2]=c[c[q>>2]>>2];if(!(vB(c[k>>2]|0,a[(c[p>>2]|0)+16>>0]|0)|0))break;c[g>>2]=Dy(c[h>>2]|0,c[(c[k>>2]|0)+12>>2]|0,c[(c[k>>2]|0)+16>>2]|0)|0;if(!(c[g>>2]|0))c[g>>2]=c[(c[c[h>>2]>>2]|0)+8>>2];if(Ig(c[c[g>>2]>>2]|0,c[(c[p>>2]|0)+8>>2]|0)|0)break}if(!(e[(c[q>>2]|0)+12>>1]&130)){f=36;break a}f=c[(c[c[q>>2]>>2]|0)+16>>2]|0;c[k>>2]=f;if((d[f>>0]|0)!=152){f=36;break a}if((c[(c[k>>2]|0)+28>>2]|0)!=(c[(c[p>>2]|0)+28>>2]|0)){f=36;break a}if((b[(c[k>>2]|0)+32>>1]|0)!=(b[(c[p>>2]|0)+72>>1]|0)){f=36;break a}}}while(0);c[r>>2]=(c[r>>2]|0)+1;c[q>>2]=(c[q>>2]|0)+48}c[(c[p>>2]|0)+4>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+4>>2];c[r>>2]=0}c[(c[p>>2]|0)+4>>2]=c[c[p>>2]>>2];c[r>>2]=0;f=(c[p>>2]|0)+18|0;a[f>>0]=(a[f>>0]|0)+1<<24>>24}if((f|0)==5){c[o>>2]=0;r=c[o>>2]|0;l=s;return r|0}else if((f|0)==36){c[(c[p>>2]|0)+24>>2]=(c[r>>2]|0)+1;c[o>>2]=c[q>>2];r=c[o>>2]|0;l=s;return r|0}else if((f|0)==40){c[o>>2]=0;r=c[o>>2]|0;l=s;return r|0}return 0}function vB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;g=l;l=l+16|0;e=g+4|0;i=g;f=g+9|0;h=g+8|0;c[i>>2]=b;a[f>>0]=d;a[h>>0]=wB(c[i>>2]|0)|0;switch(a[h>>0]|0){case 65:{c[e>>2]=1;break}case 66:{c[e>>2]=(a[f>>0]|0)==66&1;break}default:c[e>>2]=(a[f>>0]|0)>=67&1}l=g;return c[e>>2]|0}function wB(b){b=b|0;var d=0,e=0,f=0;f=l;l=l+16|0;d=f;e=f+4|0;c[d>>2]=b;a[e>>0]=wv(c[(c[d>>2]|0)+12>>2]|0)|0;b=c[d>>2]|0;if(c[(c[d>>2]|0)+16>>2]|0){a[e>>0]=Cy(c[b+16>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;l=f;return e|0}if(c[b+4>>2]&2048|0){a[e>>0]=Cy(c[c[(c[c[(c[d>>2]|0)+20>>2]>>2]|0)+4>>2]>>2]|0,a[e>>0]|0)|0;e=a[e>>0]|0;l=f;return e|0}if(a[e>>0]|0){e=a[e>>0]|0;l=f;return e|0}a[e>>0]=65;e=a[e>>0]|0;l=f;return e|0}function xB(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;k=l;l=l+16|0;j=k+4|0;g=k;h=k+9|0;i=k+8|0;c[g>>2]=e;a[h>>0]=f;a:do if((a[h>>0]|0)==65)c[j>>2]=1;else{while(1){if((d[c[g>>2]>>0]|0)==156)f=1;else f=(d[c[g>>2]>>0]|0)==155;e=c[g>>2]|0;if(!f)break;c[g>>2]=c[e+12>>2]}a[i>>0]=a[e>>0]|0;if((d[i>>0]|0)==157)a[i>>0]=a[(c[g>>2]|0)+38>>0]|0;switch(d[i>>0]|0){case 134:{if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;c[j>>2]=e&1;break a}case 132:{if((a[h>>0]|0)==69)e=1;else e=(a[h>>0]|0)==67;c[j>>2]=e&1;break a}case 97:{c[j>>2]=(a[h>>0]|0)==66&1;break a}case 133:{c[j>>2]=1;break a}case 152:{if((b[(c[g>>2]|0)+32>>1]|0)<0)if((a[h>>0]|0)==68)e=1;else e=(a[h>>0]|0)==67;else e=0;c[j>>2]=e&1;break a}default:{c[j>>2]=0;break a}}}while(0);l=k;return c[j>>2]|0}function yB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;o=p;f=p+24|0;g=p+20|0;h=p+16|0;i=p+30|0;j=p+28|0;k=p+12|0;m=p+8|0;n=p+4|0;c[f>>2]=a;c[g>>2]=d;c[h>>2]=c[(c[g>>2]|0)+24+8>>2];b[i>>1]=b[(c[g>>2]|0)+24>>1]|0;b[j>>1]=b[(c[g>>2]|0)+42>>1]|0;if((e[i>>1]|0|0)==0?(c[(c[g>>2]|0)+36>>2]&48|0)==0:0){l=p;return}zd(c[f>>2]|0,31190,2);c[k>>2]=0;while(1){if((c[k>>2]|0)>=(e[i>>1]|0|0))break;c[n>>2]=zB(c[h>>2]|0,c[k>>2]|0)|0;if(c[k>>2]|0)zd(c[f>>2]|0,31193,5);a=c[f>>2]|0;d=(c[k>>2]|0)>=(e[j>>1]|0|0)?31199:31204;c[o>>2]=c[n>>2];Vi(a,d,o);c[k>>2]=(c[k>>2]|0)+1}c[m>>2]=c[k>>2];if(c[(c[g>>2]|0)+36>>2]&32|0){AB(c[f>>2]|0,c[h>>2]|0,e[(c[g>>2]|0)+24+2>>1]|0,c[m>>2]|0,c[k>>2]|0,31121);c[k>>2]=1}if(c[(c[g>>2]|0)+36>>2]&16|0)AB(c[f>>2]|0,c[h>>2]|0,e[(c[g>>2]|0)+24+4>>1]|0,c[m>>2]|0,c[k>>2]|0,31123);zd(c[f>>2]|0,31212,1);l=p;return}function zB(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+8|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=d;c[g>>2]=b[(c[(c[f>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[g>>2]|0)==-2){c[e>>2]=31216;g=c[e>>2]|0;l=h;return g|0}if((c[g>>2]|0)==-1){c[e>>2]=22891;g=c[e>>2]|0;l=h;return g|0}else{c[e>>2]=c[(c[(c[(c[f>>2]|0)+12>>2]|0)+4>>2]|0)+(c[g>>2]<<4)>>2];g=c[e>>2]|0;l=h;return g|0}return 0}function AB(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;o=l;l=l+32|0;j=o+24|0;k=o+20|0;m=o+16|0;n=o+12|0;p=o+8|0;h=o+4|0;i=o;c[j>>2]=a;c[k>>2]=b;c[m>>2]=d;c[n>>2]=e;c[p>>2]=f;c[h>>2]=g;if(c[p>>2]|0)zd(c[j>>2]|0,31193,5);if((c[m>>2]|0)>1)zd(c[j>>2]|0,31214,1);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[m>>2]|0))break;if(c[i>>2]|0)zd(c[j>>2]|0,19116,1);p=c[j>>2]|0;Gd(p,zB(c[k>>2]|0,(c[n>>2]|0)+(c[i>>2]|0)|0)|0);c[i>>2]=(c[i>>2]|0)+1}if((c[m>>2]|0)>1)zd(c[j>>2]|0,31212,1);zd(c[j>>2]|0,c[h>>2]|0,1);if((c[m>>2]|0)>1)zd(c[j>>2]|0,31214,1);c[i>>2]=0;while(1){if((c[i>>2]|0)>=(c[m>>2]|0))break;if(c[i>>2]|0)zd(c[j>>2]|0,19116,1);zd(c[j>>2]|0,24149,1);c[i>>2]=(c[i>>2]|0)+1}if((c[m>>2]|0)<=1){l=o;return}zd(c[j>>2]|0,31212,1);l=o;return}function BB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=l;l=l+16|0;f=d+4|0;e=d;c[f>>2]=a;c[e>>2]=b;b=Iy(c[f>>2]|0,3,c[e>>2]|0)|0;l=d;return b|0}function CB(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0;n=l;l=l+32|0;h=n+16|0;i=n+12|0;j=n+8|0;k=n;m=n+20|0;c[i>>2]=b;c[j>>2]=d;d=k;c[d>>2]=f;c[d+4>>2]=g;if((c[(c[i>>2]|0)+20>>2]|0)!=(c[(c[j>>2]|0)+44>>2]|0)){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}if(!((e[(c[i>>2]|0)+12>>1]|0)&130)){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}g=(c[i>>2]|0)+32|0;if(c[g>>2]&c[k>>2]|0?1:(c[g+4>>2]&c[k+4>>2]|0)!=0){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}if((c[(c[i>>2]|0)+28>>2]|0)<0){c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}a[m>>0]=a[(c[(c[(c[j>>2]|0)+16>>2]|0)+4>>2]|0)+(c[(c[i>>2]|0)+28>>2]<<4)+13>>0]|0;if(vB(c[c[i>>2]>>2]|0,a[m>>0]|0)|0){c[h>>2]=1;m=c[h>>2]|0;l=n;return m|0}else{c[h>>2]=0;m=c[h>>2]|0;l=n;return m|0}return 0}function DB(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;m=l;l=l+32|0;g=m+16|0;h=m+12|0;i=m+8|0;j=m+4|0;k=m;c[h>>2]=a;c[i>>2]=d;c[j>>2]=f;if((e[(c[i>>2]|0)+44>>1]|0|0)>=(c[j>>2]|0)){c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}c[j>>2]=(c[j>>2]|0)+7&-8;c[k>>2]=od(c[h>>2]|0,c[j>>2]<<2,0)|0;if(!(c[k>>2]|0)){c[g>>2]=7;k=c[g>>2]|0;l=m;return k|0}MR(c[k>>2]|0,c[(c[i>>2]|0)+48>>2]|0,(e[(c[i>>2]|0)+44>>1]|0)<<2|0)|0;if((c[(c[i>>2]|0)+48>>2]|0)!=((c[i>>2]|0)+56|0))Hd(c[h>>2]|0,c[(c[i>>2]|0)+48>>2]|0);c[(c[i>>2]|0)+48>>2]=c[k>>2];b[(c[i>>2]|0)+44>>1]=c[j>>2];c[g>>2]=0;k=c[g>>2]|0;l=m;return k|0}function EB(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0;m=l;l=l+32|0;n=m+20|0;h=m+24|0;o=m+16|0;i=m+12|0;j=m+8|0;k=m+4|0;g=m;c[n>>2]=a;b[h>>1]=d;c[o>>2]=e;c[i>>2]=f;c[k>>2]=56+((b[h>>1]<<2)+7&-8)+(((b[h>>1]|0)+1<<1)+(b[h>>1]<<1)+(b[h>>1]|0)+7&-8);f=(c[k>>2]|0)+(c[o>>2]|0)|0;c[j>>2]=jl(c[n>>2]|0,f,((f|0)<0)<<31>>31)|0;if(!(c[j>>2]|0)){o=c[j>>2]|0;l=m;return o|0}c[g>>2]=(c[j>>2]|0)+56;c[(c[j>>2]|0)+32>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+((b[h>>1]<<2)+7&-8);c[(c[j>>2]|0)+8>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+((b[h>>1]|0)+1<<1);c[(c[j>>2]|0)+4>>2]=c[g>>2];c[g>>2]=(c[g>>2]|0)+(b[h>>1]<<1);c[(c[j>>2]|0)+28>>2]=c[g>>2];b[(c[j>>2]|0)+52>>1]=b[h>>1]|0;b[(c[j>>2]|0)+50>>1]=(b[h>>1]|0)-1;c[c[i>>2]>>2]=(c[j>>2]|0)+(c[k>>2]|0);o=c[j>>2]|0;l=m;return o|0}function FB(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;e=i+8|0;f=i+20|0;g=i+16|0;h=i;c[f>>2]=a;c[g>>2]=b;if(!(c[g>>2]|0)){g=e;c[g>>2]=0;c[g+4>>2]=0;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;z=g;l=i;return h|0}if((d[c[g>>2]>>0]|0|0)==152){g=hB(c[f>>2]|0,c[(c[g>>2]|0)+28>>2]|0)|0;f=h;c[f>>2]=g;c[f+4>>2]=z;f=h;h=c[f+4>>2]|0;g=e;c[g>>2]=c[f>>2];c[g+4>>2]=h;g=e;h=g;h=c[h>>2]|0;g=g+4|0;g=c[g>>2]|0;z=g;l=i;return h|0}if(c[(c[g>>2]|0)+16>>2]|0){a=FB(c[f>>2]|0,c[(c[g>>2]|0)+16>>2]|0)|0;b=z}else{a=0;b=0}j=h;c[j>>2]=a;c[j+4>>2]=b;if(c[(c[g>>2]|0)+12>>2]|0){a=FB(c[f>>2]|0,c[(c[g>>2]|0)+12>>2]|0)|0;k=h;b=c[k+4>>2]|z;j=h;c[j>>2]=c[k>>2]|a;c[j+4>>2]=b}if(!(c[(c[g>>2]|0)+4>>2]&2048|0)){if(c[(c[g>>2]|0)+20>>2]|0){g=dB(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;j=c[f+4>>2]|z;k=h;c[k>>2]=c[f>>2]|g;c[k+4>>2]=j}}else{g=GB(c[f>>2]|0,c[(c[g>>2]|0)+20>>2]|0)|0;f=h;j=c[f+4>>2]|z;k=h;c[k>>2]=c[f>>2]|g;c[k+4>>2]=j}k=c[h+4>>2]|0;j=e;c[j>>2]=c[h>>2];c[j+4>>2]=k;j=e;k=j;k=c[k>>2]|0;j=j+4|0;j=c[j>>2]|0;z=j;l=i;return k|0}function GB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=l;l=l+32|0;d=i+20|0;e=i+16|0;f=i;g=i+12|0;h=i+8|0;c[d>>2]=a;c[e>>2]=b;b=f;c[b>>2]=0;c[b+4>>2]=0;while(1){if(!(c[e>>2]|0))break;c[g>>2]=c[(c[e>>2]|0)+28>>2];j=dB(c[d>>2]|0,c[c[e>>2]>>2]|0)|0;k=f;a=c[k+4>>2]|z;b=f;c[b>>2]=c[k>>2]|j;c[b+4>>2]=a;b=dB(c[d>>2]|0,c[(c[e>>2]|0)+36>>2]|0)|0;a=f;j=c[a+4>>2]|z;k=f;c[k>>2]=c[a>>2]|b;c[k+4>>2]=j;k=dB(c[d>>2]|0,c[(c[e>>2]|0)+44>>2]|0)|0;j=f;b=c[j+4>>2]|z;a=f;c[a>>2]=c[j>>2]|k;c[a+4>>2]=b;a=FB(c[d>>2]|0,c[(c[e>>2]|0)+32>>2]|0)|0;b=f;k=c[b+4>>2]|z;j=f;c[j>>2]=c[b>>2]|a;c[j+4>>2]=k;j=FB(c[d>>2]|0,c[(c[e>>2]|0)+40>>2]|0)|0;k=f;a=c[k+4>>2]|z;b=f;c[b>>2]=c[k>>2]|j;c[b+4>>2]=a;a:do if(c[g>>2]|0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(c[c[g>>2]>>2]|0))break a;j=GB(c[d>>2]|0,c[(c[g>>2]|0)+8+((c[h>>2]|0)*72|0)+20>>2]|0)|0;k=f;a=c[k+4>>2]|z;b=f;c[b>>2]=c[k>>2]|j;c[b+4>>2]=a;b=FB(c[d>>2]|0,c[(c[g>>2]|0)+8+((c[h>>2]|0)*72|0)+48>>2]|0)|0;a=f;j=c[a+4>>2]|z;k=f;c[k>>2]=c[a>>2]|b;c[k+4>>2]=j;c[h>>2]=(c[h>>2]|0)+1}}while(0);c[e>>2]=c[(c[e>>2]|0)+48>>2]}k=f;z=c[k+4>>2]|0;l=i;return c[k>>2]|0}function HB(a,c){a=a|0;c=c|0;var e=0,f=0,g=0,h=0;h=l;l=l+16|0;e=h+4|0;f=h+2|0;g=h;b[f>>1]=a;b[g>>1]=c;if((b[f>>1]|0)>=(b[g>>1]|0)){a=b[f>>1]|0;if((b[f>>1]|0)>((b[g>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;l=h;return g|0}c=b[f>>1]|0;if((a<<16>>16|0)>((b[g>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;l=h;return g|0}else{b[e>>1]=c+(d[31278+((b[f>>1]|0)-(b[g>>1]|0))>>0]|0);g=b[e>>1]|0;l=h;return g|0}}else{a=b[g>>1]|0;if((b[g>>1]|0)>((b[f>>1]|0)+49|0)){b[e>>1]=a;g=b[e>>1]|0;l=h;return g|0}c=b[g>>1]|0;if((a<<16>>16|0)>((b[f>>1]|0)+31|0)){b[e>>1]=c+1;g=b[e>>1]|0;l=h;return g|0}else{b[e>>1]=c+(d[31278+((b[g>>1]|0)-(b[f>>1]|0))>>0]|0);g=b[e>>1]|0;l=h;return g|0}}return 0}function IB(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0;ca=l;l=l+160|0;aa=ca+149|0;X=ca+124|0;Y=ca+120|0;n=ca+116|0;o=ca+140|0;p=ca+138|0;q=ca+112|0;r=ca+108|0;s=ca+148|0;t=ca+147|0;u=ca+146|0;v=ca+145|0;w=ca+144|0;x=ca+143|0;y=ca+136|0;A=ca+134|0;B=ca+132|0;C=ca+130|0;D=ca+104|0;Z=ca+100|0;E=ca+96|0;F=ca+92|0;G=ca+88|0;H=ca+84|0;I=ca+80|0;J=ca+76|0;K=ca+72|0;L=ca+68|0;M=ca+64|0;_=ca+40|0;N=ca+32|0;O=ca+24|0;P=ca+16|0;Q=ca+60|0;R=ca+56|0;S=ca+142|0;T=ca+128|0;U=ca+52|0;V=ca+48|0;W=ca+8|0;$=ca;c[X>>2]=f;c[Y>>2]=g;c[n>>2]=h;b[o>>1]=i;b[p>>1]=j;c[q>>2]=k;c[r>>2]=m;c[H>>2]=0;c[M>>2]=c[c[c[X>>2]>>2]>>2];m=_;c[m>>2]=0;c[m+4>>2]=0;if(e[p>>1]|0?e[(c[M>>2]|0)+64>>1]&128|0:0){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}b[C>>1]=c[c[Y>>2]>>2];if((e[C>>1]|0)>63){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}a[v>>0]=1;k=HR(1,0,e[C>>1]|0)|0;k=FR(k|0,z|0,1,0)|0;m=N;c[m>>2]=k;c[m+4>>2]=z;m=O;c[m>>2]=0;c[m+4>>2]=0;m=P;c[m>>2]=0;c[m+4>>2]=0;b[y>>1]=386;if(e[o>>1]&2048|0)b[y>>1]=e[y>>1]|1;c[D>>2]=0;a:while(1){if(!(d[v>>0]|0))break;k=_;i=c[k+4>>2]|0;m=N;j=c[m+4>>2]|0;if(!(i>>>0>>0|((i|0)==(j|0)?(c[k>>2]|0)>>>0<(c[m>>2]|0)>>>0:0)))break;if((c[D>>2]|0)>(e[p>>1]|0))break;if((c[D>>2]|0)>0){j=(c[H>>2]|0)+8|0;i=P;k=c[i+4>>2]|c[j+4>>2];m=P;c[m>>2]=c[i>>2]|c[j>>2];c[m+4>>2]=k}if((c[D>>2]|0)<(e[p>>1]|0)){c[H>>2]=c[(c[(c[n>>2]|0)+24>>2]|0)+(c[D>>2]<<2)>>2];if(!(e[o>>1]&2048))ba=17}else{c[H>>2]=c[q>>2];ba=17}b:do if((ba|0)==17){ba=0;if(c[(c[H>>2]|0)+36>>2]&1024|0){ba=18;break a}c[F>>2]=c[(c[(c[X>>2]|0)+4>>2]|0)+8+((d[(c[H>>2]|0)+16>>0]|0)*72|0)+44>>2];c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(e[C>>1]|0))break;k=HR(1,0,c[Z>>2]|0)|0;m=_;c:do if(((!(k&c[m>>2]|0?1:(z&c[m+4>>2]|0)!=0)?(c[J>>2]=Ev(c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0,(d[c[J>>2]>>0]|0)==152):0)?(c[(c[J>>2]|0)+28>>2]|0)==(c[F>>2]|0):0)?(m=P,c[I>>2]=sB((c[X>>2]|0)+80|0,c[F>>2]|0,b[(c[J>>2]|0)+32>>1]|0,~c[m>>2],~c[m+4>>2],e[y>>1]|0,0)|0,c[I>>2]|0):0){if((e[(c[I>>2]|0)+12>>1]|0)==1){c[E>>2]=0;while(1){if((c[E>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break;if((c[I>>2]|0)==(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[E>>2]<<2)>>2]|0))break;c[E>>2]=(c[E>>2]|0)+1}if((c[E>>2]|0)>=(e[(c[H>>2]|0)+40>>1]|0))break}do if(e[(c[I>>2]|0)+12>>1]&130|0){if((b[(c[J>>2]|0)+32>>1]|0)<0)break;c[K>>2]=xv(c[c[X>>2]>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[M>>2]|0)+8>>2];c[Q>>2]=c[c[K>>2]>>2];c[K>>2]=xv(c[c[X>>2]>>2]|0,c[c[I>>2]>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[M>>2]|0)+8>>2];c[R>>2]=c[c[K>>2]>>2];if(Ig(c[Q>>2]|0,c[R>>2]|0)|0)break c}while(0);j=HR(1,0,c[Z>>2]|0)|0;i=_;k=c[i+4>>2]|z;m=_;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}while(0);c[Z>>2]=(c[Z>>2]|0)+1}if(!(c[(c[H>>2]|0)+36>>2]&4096)){if(c[(c[H>>2]|0)+36>>2]&256|0){c[L>>2]=0;b[A>>1]=0;b[B>>1]=1}else{m=c[(c[H>>2]|0)+24+8>>2]|0;c[L>>2]=m;if(!m){ba=46;break a}if((d[(c[L>>2]|0)+55>>0]|0)>>>2&1|0){ba=46;break a}b[A>>1]=b[(c[L>>2]|0)+50>>1]|0;b[B>>1]=b[(c[L>>2]|0)+52>>1]|0;a[v>>0]=(d[(c[L>>2]|0)+54>>0]|0)!=0}a[s>>0]=0;a[t>>0]=0;a[w>>0]=0;c[E>>2]=0;while(1){if((c[E>>2]|0)>=(e[B>>1]|0))break;a[S>>0]=1;d:do if((c[E>>2]|0)<(e[(c[H>>2]|0)+24>>1]|0)?(c[E>>2]|0)>=(e[(c[H>>2]|0)+42>>1]|0):0){b[T>>1]=b[(c[(c[(c[H>>2]|0)+48>>2]|0)+(c[E>>2]<<2)>>2]|0)+12>>1]|0;f=e[T>>1]|0;if(e[T>>1]&e[y>>1]|0){if(!(f&256))break;a[v>>0]=0;break}if(!(f&1)){ba=61;break}c[U>>2]=c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[E>>2]<<2)>>2]>>2];c[Z>>2]=(c[E>>2]|0)+1;while(1){if((c[Z>>2]|0)>=(e[(c[H>>2]|0)+24>>1]|0)){ba=61;break d}if((c[c[(c[(c[H>>2]|0)+48>>2]|0)+(c[Z>>2]<<2)>>2]>>2]|0)==(c[U>>2]|0))break;c[Z>>2]=(c[Z>>2]|0)+1}a[S>>0]=0;ba=61}else ba=61;while(0);if((ba|0)==61){ba=0;do if(c[L>>2]|0){c[G>>2]=b[(c[(c[L>>2]|0)+4>>2]|0)+(c[E>>2]<<1)>>1];a[u>>0]=a[(c[(c[L>>2]|0)+28>>2]|0)+(c[E>>2]|0)>>0]|0;if((c[G>>2]|0)!=(b[(c[(c[L>>2]|0)+12>>2]|0)+32>>1]|0))break;c[G>>2]=-1}else{c[G>>2]=-1;a[u>>0]=0}while(0);do if((d[v>>0]|0)!=0&(c[G>>2]|0)>=0){if((c[E>>2]|0)<(e[(c[H>>2]|0)+24>>1]|0))break;if(d[(c[(c[(c[L>>2]|0)+12>>2]|0)+4>>2]|0)+(c[G>>2]<<4)+12>>0]|0)break;a[v>>0]=0}while(0);a[x>>0]=0;c[Z>>2]=0;e:while(1){if(!(d[S>>0]|0))break;if((c[Z>>2]|0)>=(e[C>>1]|0))break;k=HR(1,0,c[Z>>2]|0)|0;m=_;do if(!(k&c[m>>2]|0?1:(z&c[m+4>>2]|0)!=0)){c[J>>2]=Ev(c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0;if(!(e[o>>1]&192))a[S>>0]=0;f=c[J>>2]|0;if((c[G>>2]|0)>=-1){if((d[f>>0]|0)!=152)break;if((c[(c[J>>2]|0)+28>>2]|0)!=(c[F>>2]|0))break;if((b[(c[J>>2]|0)+32>>1]|0)!=(c[G>>2]|0))break}else if(cw(f,c[(c[(c[(c[L>>2]|0)+40>>2]|0)+4>>2]|0)+((c[E>>2]|0)*20|0)>>2]|0,c[F>>2]|0)|0)break;if((c[G>>2]|0)<0){ba=84;break e}c[K>>2]=xv(c[c[X>>2]>>2]|0,c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2]|0)|0;if(!(c[K>>2]|0))c[K>>2]=c[(c[M>>2]|0)+8>>2];if(!(Ig(c[c[K>>2]>>2]|0,c[(c[(c[L>>2]|0)+32>>2]|0)+(c[E>>2]<<2)>>2]|0)|0)){ba=84;break e}}while(0);c[Z>>2]=(c[Z>>2]|0)+1}if((ba|0)==84){ba=0;a[x>>0]=1}do if(d[x>>0]|0){if(e[o>>1]&64|0)break;if(a[s>>0]|0){if((d[t>>0]^d[u>>0]|0)==(d[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)+12>>0]|0))break;a[x>>0]=0;break}a[t>>0]=d[u>>0]^d[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)+12>>0];if(a[t>>0]|0){j=HR(1,0,c[D>>2]|0)|0;m=c[r>>2]|0;i=m;k=c[i+4>>2]|z;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}a[s>>0]=1}while(0);if(!(a[x>>0]|0)){ba=98;break}if((c[G>>2]|0)==-1)a[w>>0]=1;j=HR(1,0,c[Z>>2]|0)|0;i=_;k=c[i+4>>2]|z;m=_;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}c[E>>2]=(c[E>>2]|0)+1}do if((ba|0)==98){ba=0;if(c[E>>2]|0?(c[E>>2]|0)>=(e[A>>1]|0):0)break;a[v>>0]=0}while(0);if(a[w>>0]|0)a[v>>0]=1}if(a[v>>0]|0){j=(c[H>>2]|0)+8|0;i=O;k=c[i+4>>2]|c[j+4>>2];m=O;c[m>>2]=c[i>>2]|c[j>>2];c[m+4>>2]=k;c[Z>>2]=0;while(1){if((c[Z>>2]|0)>=(e[C>>1]|0))break b;k=HR(1,0,c[Z>>2]|0)|0;m=_;do if(!(k&c[m>>2]|0?1:(z&c[m+4>>2]|0)!=0)){c[V>>2]=c[(c[(c[Y>>2]|0)+4>>2]|0)+((c[Z>>2]|0)*20|0)>>2];k=FB((c[X>>2]|0)+488|0,c[V>>2]|0)|0;m=W;c[m>>2]=k;c[m+4>>2]=z;m=W;if((c[m>>2]|0)==0&(c[m+4>>2]|0)==0?(ky(c[V>>2]|0)|0)==0:0)break;k=W;m=O;if((c[k>>2]&~c[m>>2]|0)==0?(c[k+4>>2]&~c[m+4>>2]|0)==0:0){j=HR(1,0,c[Z>>2]|0)|0;i=_;k=c[i+4>>2]|z;m=_;c[m>>2]=c[i>>2]|j;c[m+4>>2]=k}}while(0);c[Z>>2]=(c[Z>>2]|0)+1}}}while(0);c[D>>2]=(c[D>>2]|0)+1}if((ba|0)==18){if(a[(c[H>>2]|0)+24+5>>0]|0){X=N;Y=c[X+4>>2]|0;ba=_;c[ba>>2]=c[X>>2];c[ba+4>>2]=Y}}else if((ba|0)==46){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}Y=_;ba=N;if((c[Y>>2]|0)==(c[ba>>2]|0)?(c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){a[aa>>0]=b[C>>1];ba=a[aa>>0]|0;l=ca;return ba|0}if(a[v>>0]|0){a[aa>>0]=-1;ba=a[aa>>0]|0;l=ca;return ba|0}c[Z>>2]=(e[C>>1]|0)-1;while(1){if((c[Z>>2]|0)<=0){ba=122;break}Y=HR(1,0,c[Z>>2]|0)|0;Y=FR(Y|0,z|0,1,0)|0;X=$;c[X>>2]=Y;c[X+4>>2]=z;X=_;Y=$;ba=$;f=c[Z>>2]|0;if((c[X>>2]&c[Y>>2]|0)==(c[ba>>2]|0)?(c[X+4>>2]&c[Y+4>>2]|0)==(c[ba+4>>2]|0):0){ba=120;break}c[Z>>2]=f+-1}if((ba|0)==120){a[aa>>0]=f;ba=a[aa>>0]|0;l=ca;return ba|0}else if((ba|0)==122){a[aa>>0]=0;ba=a[aa>>0]|0;l=ca;return ba|0}return 0}function JB(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;k=l;l=l+32|0;h=k+8|0;i=k+16|0;n=k+4|0;o=k;m=k+14|0;j=k+12|0;c[h>>2]=a;b[i>>1]=d;c[n>>2]=f;c[o>>2]=g;g=(((c[n>>2]|0)-(c[o>>2]|0)|0)*100|0)/(c[n>>2]|0)|0;b[m>>1]=((Du(g,((g|0)<0)<<31>>31)|0)<<16>>16)-66;b[j>>1]=(b[i>>1]|0)+(b[m>>1]|0)+16;if(e[(c[h>>2]|0)+40>>1]&16384|0?(b[(c[h>>2]|0)+16>>1]|0)<(b[i>>1]|0):0)b[i>>1]=b[(c[h>>2]|0)+16>>1]|0;o=(KB(b[i>>1]|0)|0)<<16>>16;b[j>>1]=(b[j>>1]|0)+o;l=k;return b[j>>1]|0}function KB(a){a=a|0;var c=0,d=0;d=l;l=l+16|0;c=d;b[c>>1]=a;if((b[c>>1]|0)<=10){c=0;c=c&65535;l=d;return c|0}c=b[c>>1]|0;c=((Du(c,((c|0)<0)<<31>>31)|0)<<16>>16)-33|0;c=c&65535;l=d;return c|0}function LB(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;D=l;l=l+128|0;z=D+108|0;A=D+104|0;B=D+48|0;F=D+40|0;C=D+100|0;G=D+96|0;j=D+92|0;k=D+88|0;E=D+84|0;m=D+80|0;n=D+76|0;o=D+72|0;p=D+68|0;q=D+32|0;r=D+112|0;s=D+64|0;t=D+60|0;u=D+24|0;v=D+16|0;w=D+56|0;x=D+8|0;y=D;c[A>>2]=e;e=B;c[e>>2]=f;c[e+4>>2]=g;g=F;c[g>>2]=h;c[g+4>>2]=i;c[C>>2]=0;c[G>>2]=c[c[A>>2]>>2];c[j>>2]=c[c[G>>2]>>2];c[k>>2]=c[(c[A>>2]|0)+4>>2];c[p>>2]=c[(c[A>>2]|0)+12>>2];c[E>>2]=(c[(c[G>>2]|0)+4>>2]|0)+8+((d[(c[p>>2]|0)+16>>0]|0)*72|0);i=F;c[m>>2]=fC(c[j>>2]|0,c[k>>2]|0,c[i>>2]|0,c[i+4>>2]|0,c[E>>2]|0,c[(c[A>>2]|0)+8>>2]|0,r)|0;if(!(c[m>>2]|0)){c[z>>2]=7;G=c[z>>2]|0;l=D;return G|0}b[(c[p>>2]|0)+18>>1]=0;c[(c[p>>2]|0)+36>>2]=1024;b[(c[p>>2]|0)+40>>1]=0;a[(c[p>>2]|0)+24+4>>0]=0;c[n>>2]=c[c[m>>2]>>2];if(DB(c[c[j>>2]>>2]|0,c[p>>2]|0,c[n>>2]|0)|0){Hd(c[c[j>>2]>>2]|0,c[m>>2]|0);c[z>>2]=7;G=c[z>>2]|0;l=D;return G|0}G=B;c[C>>2]=gC(c[A>>2]|0,c[G>>2]|0,c[G+4>>2]|0,-1,-1,0,c[m>>2]|0,b[r>>1]|0,o)|0;if((c[C>>2]|0)==0?(E=c[p>>2]|0,G=B,F=c[E>>2]&~c[G>>2],G=c[E+4>>2]&~c[G+4>>2],E=q,c[E>>2]=F,c[E+4>>2]=G,(F|0)!=0|(G|0)!=0):0){c[s>>2]=0;c[t>>2]=0;G=u;c[G>>2]=0;c[G+4>>2]=0;G=v;c[G>>2]=0;c[G+4>>2]=0;if(c[o>>2]|0?(i=B,c[C>>2]=gC(c[A>>2]|0,c[i>>2]|0,c[i+4>>2]|0,-1,-1,1,c[m>>2]|0,b[r>>1]|0,o)|0,i=c[p>>2]|0,E=B,F=c[i+4>>2]&~c[E+4>>2],G=v,c[G>>2]=c[i>>2]&~c[E>>2],c[G+4>>2]=F,G=v,(c[G>>2]|0)==0&(c[G+4>>2]|0)==0):0){c[s>>2]=1;c[t>>2]=1}while(1){if(c[C>>2]|0)break;G=x;c[G>>2]=-1;c[G+4>>2]=-1;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[n>>2]|0))break;E=(c[(c[k>>2]|0)+20>>2]|0)+((c[(c[(c[m>>2]|0)+4>>2]|0)+((c[w>>2]|0)*12|0)+8>>2]|0)*48|0)+32|0;G=B;i=c[E+4>>2]&~c[G+4>>2];F=y;c[F>>2]=c[E>>2]&~c[G>>2];c[F+4>>2]=i;F=y;i=c[F+4>>2]|0;G=u;E=c[G+4>>2]|0;if(i>>>0>E>>>0|((i|0)==(E|0)?(c[F>>2]|0)>>>0>(c[G>>2]|0)>>>0:0)?(F=y,i=c[F+4>>2]|0,G=x,E=c[G+4>>2]|0,i>>>0>>0|((i|0)==(E|0)?(c[F>>2]|0)>>>0<(c[G>>2]|0)>>>0:0)):0){E=y;F=c[E+4>>2]|0;G=x;c[G>>2]=c[E>>2];c[G+4>>2]=F}c[w>>2]=(c[w>>2]|0)+1}E=x;F=c[E+4>>2]|0;G=u;c[G>>2]=c[E>>2];c[G+4>>2]=F;G=x;if((c[G>>2]|0)==-1?(c[G+4>>2]|0)==-1:0)break;F=x;G=q;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;F=x;G=v;if((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0)continue;E=B;G=x;F=B;c[C>>2]=gC(c[A>>2]|0,c[E>>2]|0,c[E+4>>2]|0,c[G>>2]|c[F>>2],c[G+4>>2]|c[F+4>>2],0,c[m>>2]|0,b[r>>1]|0,o)|0;F=c[p>>2]|0;G=B;if(!((c[F>>2]|0)==(c[G>>2]|0)?(c[F+4>>2]|0)==(c[G+4>>2]|0):0))continue;c[s>>2]=1;if(c[o>>2]|0)continue;c[t>>2]=1}if((c[C>>2]|0)==0&(c[s>>2]|0)==0?(F=B,G=B,c[C>>2]=gC(c[A>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,0,c[m>>2]|0,b[r>>1]|0,o)|0,(c[o>>2]|0)==0):0)c[t>>2]=1;if((c[C>>2]|0)==0&(c[t>>2]|0)==0){F=B;G=B;c[C>>2]=gC(c[A>>2]|0,c[F>>2]|0,c[F+4>>2]|0,c[G>>2]|0,c[G+4>>2]|0,1,c[m>>2]|0,b[r>>1]|0,o)|0}}if(c[(c[m>>2]|0)+28>>2]|0)Kd(c[(c[m>>2]|0)+24>>2]|0);Hd(c[c[j>>2]>>2]|0,c[m>>2]|0);c[z>>2]=c[C>>2];G=c[z>>2]|0;l=D;return G|0}function MB(f,g,h){f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;J=l;l=l+160|0;B=J+144|0;C=J+8|0;D=J+140|0;E=J+136|0;F=J+80|0;G=J+156|0;H=J+154|0;K=J+72|0;i=J+68|0;j=J+64|0;I=J+60|0;k=J+56|0;m=J+52|0;n=J+152|0;o=J+150|0;p=J+48|0;q=J+44|0;r=J+40|0;s=J+36|0;t=J+32|0;u=J;v=J+148|0;w=J+28|0;x=J+24|0;y=J+20|0;A=J+16|0;c[B>>2]=f;f=C;c[f>>2]=g;c[f+4>>2]=h;b[H>>1]=-1;c[I>>2]=0;c[k>>2]=1;c[j>>2]=c[(c[B>>2]|0)+12>>2];c[D>>2]=c[c[B>>2]>>2];c[K>>2]=c[(c[D>>2]|0)+4>>2];c[i>>2]=(c[K>>2]|0)+8+((d[(c[j>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[i>>2]|0)+16>>2];c[p>>2]=c[(c[B>>2]|0)+4>>2];do if(c[(c[i>>2]|0)+68>>2]|0)c[E>>2]=c[(c[i>>2]|0)+68>>2];else{if(d[(c[q>>2]|0)+42>>0]&32|0){c[E>>2]=c[(c[q>>2]|0)+8>>2];break}f=F;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));b[F+50>>1]=1;b[F+52>>1]=1;c[F+4>>2]=H;c[F+8>>2]=G;a[F+54>>0]=5;c[F+12>>2]=c[q>>2];b[F+48>>1]=b[(c[q>>2]|0)+40>>1]|0;b[G>>1]=b[(c[q>>2]|0)+38>>1]|0;b[G+2>>1]=0;c[r>>2]=c[(c[(c[i>>2]|0)+16>>2]|0)+8>>2];if(!(a[(c[i>>2]|0)+36+1>>0]&1))c[F+20>>2]=c[r>>2];c[E>>2]=F}while(0);b[n>>1]=b[(c[q>>2]|0)+38>>1]|0;b[o>>1]=KB(b[n>>1]|0)|0;a:do if((((((((c[(c[B>>2]|0)+16>>2]|0)==0?(e[(c[D>>2]|0)+40>>1]&32|0)==0:0)?c[(c[c[c[D>>2]>>2]>>2]|0)+24>>2]&1048576|0:0)?(c[(c[i>>2]|0)+68>>2]|0)==0:0)?(a[(c[i>>2]|0)+36+1>>0]&1|0)==0:0)?(d[(c[q>>2]|0)+42>>0]&32|0)==0:0)?((d[(c[i>>2]|0)+36+1>>0]|0)>>>3&1|0)==0:0)?((d[(c[i>>2]|0)+36+1>>0]|0)>>>5&1|0)==0:0){c[t>>2]=(c[(c[p>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+12>>2]|0)*48|0);c[s>>2]=c[(c[p>>2]|0)+20>>2];while(1){if(c[I>>2]|0)break a;if((c[s>>2]|0)>>>0>=(c[t>>2]|0)>>>0)break a;H=(c[s>>2]|0)+32|0;K=(c[j>>2]|0)+8|0;if(!(c[H>>2]&c[K>>2]|0?1:(c[H+4>>2]&c[K+4>>2]|0)!=0)?CB(c[s>>2]|0,c[i>>2]|0,0,0)|0:0){b[(c[j>>2]|0)+24>>1]=1;b[(c[j>>2]|0)+42>>1]=0;c[(c[j>>2]|0)+24+8>>2]=0;b[(c[j>>2]|0)+40>>1]=1;c[c[(c[j>>2]|0)+48>>2]>>2]=c[s>>2];b[(c[j>>2]|0)+18>>1]=(b[o>>1]|0)+(b[n>>1]|0)+4;if((c[(c[q>>2]|0)+12>>2]|0)==0?(d[(c[q>>2]|0)+42>>0]&2|0)==0:0){K=(c[j>>2]|0)+18|0;b[K>>1]=(b[K>>1]|0)+24}if((b[(c[j>>2]|0)+18>>1]|0)<0)b[(c[j>>2]|0)+18>>1]=0;b[(c[j>>2]|0)+22>>1]=43;F=HB(b[o>>1]|0,b[(c[j>>2]|0)+22>>1]|0)|0;b[(c[j>>2]|0)+20>>1]=F;c[(c[j>>2]|0)+36>>2]=16384;F=C;G=(c[s>>2]|0)+32|0;H=c[F+4>>2]|c[G+4>>2];K=c[j>>2]|0;c[K>>2]=c[F>>2]|c[G>>2];c[K+4>>2]=H;c[I>>2]=QB(c[B>>2]|0,c[j>>2]|0)|0}c[s>>2]=(c[s>>2]|0)+48}}while(0);b:while(1){if(!((c[I>>2]|0)==0?(c[E>>2]|0)!=0:0)){f=57;break}if(!(c[(c[E>>2]|0)+36>>2]|0?!(VB(c[(c[i>>2]|0)+44>>2]|0,c[p>>2]|0,c[(c[E>>2]|0)+36>>2]|0)|0):0)){b[n>>1]=b[c[(c[E>>2]|0)+8>>2]>>1]|0;b[(c[j>>2]|0)+24>>1]=0;b[(c[j>>2]|0)+24+2>>1]=0;b[(c[j>>2]|0)+24+4>>1]=0;b[(c[j>>2]|0)+42>>1]=0;b[(c[j>>2]|0)+40>>1]=0;a[(c[j>>2]|0)+17>>0]=0;b[(c[j>>2]|0)+18>>1]=0;G=C;H=c[G+4>>2]|0;K=c[j>>2]|0;c[K>>2]=c[G>>2];c[K+4>>2]=H;b[(c[j>>2]|0)+22>>1]=b[n>>1]|0;c[(c[j>>2]|0)+24+8>>2]=c[E>>2];c[m>>2]=WB(c[B>>2]|0,c[E>>2]|0,c[(c[i>>2]|0)+44>>2]|0)|0;do if((c[(c[E>>2]|0)+44>>2]|0)<=0){c[(c[j>>2]|0)+36>>2]=256;a[(c[j>>2]|0)+17>>0]=c[m>>2]|0?c[k>>2]|0:0;b[(c[j>>2]|0)+20>>1]=(b[n>>1]|0)+16;XB(c[p>>2]|0,c[j>>2]|0,b[n>>1]|0);c[I>>2]=QB(c[B>>2]|0,c[j>>2]|0)|0;b[(c[j>>2]|0)+22>>1]=b[n>>1]|0;if(c[I>>2]|0){f=57;break b}}else{if((d[(c[E>>2]|0)+55>>0]|0)>>>5&1|0){c[(c[j>>2]|0)+36>>2]=576;K=u;c[K>>2]=0;c[K+4>>2]=0}else{H=(c[i>>2]|0)+56|0;F=c[H>>2]|0;H=c[H+4>>2]|0;G=YB(c[E>>2]|0)|0;K=u;c[K>>2]=F&~G;c[K+4>>2]=H&~z;K=u;c[(c[j>>2]|0)+36>>2]=(c[K>>2]|0)==0&(c[K+4>>2]|0)==0?576:512}if(((c[m>>2]|0)==0?(d[(c[q>>2]|0)+42>>0]&32|0)==0:0)?(c[(c[E>>2]|0)+36>>2]|0)==0:0){K=u;if(!((c[K>>2]|0)==0&(c[K+4>>2]|0)==0))break;if((d[(c[E>>2]|0)+55>>0]|0)>>>2&1|0)break;if((b[(c[E>>2]|0)+48>>1]|0)>=(b[(c[q>>2]|0)+40>>1]|0))break;if(!(c[6]|0?(e[(c[D>>2]|0)+40>>1]&4|0)==0:0))break;if(e[(c[c[c[D>>2]>>2]>>2]|0)+64>>1]&64|0)break}a[(c[j>>2]|0)+17>>0]=c[m>>2]|0?c[k>>2]|0:0;b[(c[j>>2]|0)+20>>1]=(b[n>>1]|0)+1+(((b[(c[E>>2]|0)+48>>1]|0)*15|0)/(b[(c[q>>2]|0)+40>>1]|0)|0);K=u;if((c[K>>2]|0)!=0|(c[K+4>>2]|0)!=0){b[v>>1]=(b[n>>1]|0)+16;c[x>>2]=c[(c[i>>2]|0)+44>>2];c[y>>2]=(c[D>>2]|0)+80;c[w>>2]=0;while(1){if((c[w>>2]|0)>=(c[(c[y>>2]|0)+12>>2]|0))break;c[A>>2]=(c[(c[y>>2]|0)+20>>2]|0)+((c[w>>2]|0)*48|0);if(!(ZB(c[c[A>>2]>>2]|0,c[x>>2]|0,c[E>>2]|0)|0))break;if((b[(c[A>>2]|0)+8>>1]|0)>0){b[v>>1]=(b[v>>1]|0)+-1<<16>>16;if(e[(c[A>>2]|0)+12>>1]&130|0)b[v>>1]=(b[v>>1]|0)-19}else b[v>>1]=(b[v>>1]|0)+(b[(c[A>>2]|0)+8>>1]|0);c[w>>2]=(c[w>>2]|0)+1}K=HB(b[(c[j>>2]|0)+20>>1]|0,b[v>>1]|0)|0;b[(c[j>>2]|0)+20>>1]=K}XB(c[p>>2]|0,c[j>>2]|0,b[n>>1]|0);c[I>>2]=QB(c[B>>2]|0,c[j>>2]|0)|0;b[(c[j>>2]|0)+22>>1]=b[n>>1]|0;if(c[I>>2]|0){f=57;break b}}while(0);c[I>>2]=_B(c[B>>2]|0,c[i>>2]|0,c[E>>2]|0,0)|0;if(c[(c[i>>2]|0)+68>>2]|0){f=57;break}}c[E>>2]=c[(c[E>>2]|0)+20>>2];c[k>>2]=(c[k>>2]|0)+1}if((f|0)==57){l=J;return c[I>>2]|0}return 0}function NB(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;I=l;l=l+672|0;D=I+668|0;E=I+584|0;F=I+576|0;k=I+664|0;G=I+660|0;m=I+656|0;n=I+652|0;o=I+648|0;p=I+644|0;q=I+640|0;r=I+168|0;s=I+620|0;t=I+112|0;u=I+56|0;v=I+616|0;w=I+612|0;x=I+608|0;y=I+604|0;z=I+600|0;A=I+596|0;B=I+592|0;C=I;c[D>>2]=f;f=E;c[f>>2]=g;c[f+4>>2]=h;f=F;c[f>>2]=i;c[f+4>>2]=j;c[k>>2]=c[c[D>>2]>>2];c[p>>2]=0;c[G>>2]=c[(c[D>>2]|0)+4>>2];c[o>>2]=(c[(c[G>>2]|0)+20>>2]|0)+((c[(c[G>>2]|0)+12>>2]|0)*48|0);c[m>>2]=c[(c[D>>2]|0)+12>>2];f=t;g=f+56|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[v>>2]=(c[(c[k>>2]|0)+4>>2]|0)+8+((d[(c[m>>2]|0)+16>>0]|0)*72|0);c[q>>2]=c[(c[v>>2]|0)+44>>2];c[n>>2]=c[(c[G>>2]|0)+20>>2];while(1){if(!((c[n>>2]|0)>>>0<(c[o>>2]|0)>>>0?(c[p>>2]|0)==0:0))break;a:do if(e[(c[n>>2]|0)+12>>1]&512|0?(j=(c[(c[n>>2]|0)+28>>2]|0)+408|0,k=(c[m>>2]|0)+8|0,c[j>>2]&c[k>>2]|0?1:(c[j+4>>2]&c[k+4>>2]|0)!=0):0){c[w>>2]=c[(c[n>>2]|0)+28>>2];c[x>>2]=(c[(c[w>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+12>>2]|0)*48|0);c[z>>2]=1;k=c[D>>2]|0;c[s>>2]=c[k>>2];c[s+4>>2]=c[k+4>>2];c[s+8>>2]=c[k+8>>2];c[s+12>>2]=c[k+12>>2];c[s+16>>2]=c[k+16>>2];c[s+8>>2]=0;c[s+16>>2]=u;c[y>>2]=c[(c[w>>2]|0)+20>>2];b:while(1){if((c[y>>2]|0)>>>0>=(c[x>>2]|0)>>>0)break;f=c[y>>2]|0;if(!(e[(c[y>>2]|0)+12>>1]&1024|0)){if((c[f+20>>2]|0)==(c[q>>2]|0)){c[r>>2]=c[c[G>>2]>>2];c[r+4>>2]=c[G>>2];a[r+8>>0]=28;c[r+12>>2]=1;c[r+20>>2]=c[y>>2];f=r;H=11}}else{f=c[f+28>>2]|0;H=11}c:do if((H|0)==11){H=0;c[s+4>>2]=f;b[u>>1]=0;g=E;f=c[g>>2]|0;g=c[g+4>>2]|0;if(d[(c[(c[v>>2]|0)+16>>2]|0)+42>>0]&16|0){k=F;c[p>>2]=LB(s,f,g,c[k>>2]|0,c[k+4>>2]|0)|0}else c[p>>2]=MB(s,f,g)|0;if(!(c[p>>2]|0)){j=E;k=F;c[p>>2]=NB(s,c[j>>2]|0,c[j+4>>2]|0,c[k>>2]|0,c[k+4>>2]|0)|0}if(!(e[u>>1]|0)){H=17;break b}if(c[z>>2]|0){OB(t,u);c[z>>2]=0;break}OB(C,t);b[t>>1]=0;c[A>>2]=0;while(1){if((c[A>>2]|0)>=(e[C>>1]|0))break c;c[B>>2]=0;while(1){if((c[B>>2]|0)>=(e[u>>1]|0))break;k=C+8+(c[A>>2]<<4)|0;j=u+8+(c[B>>2]<<4)|0;i=c[k>>2]|c[j>>2];j=c[k+4>>2]|c[j+4>>2];k=HB(b[C+8+(c[A>>2]<<4)+8>>1]|0,b[u+8+(c[B>>2]<<4)+8>>1]|0)|0;PB(t,i,j,k,HB(b[C+8+(c[A>>2]<<4)+10>>1]|0,b[u+8+(c[B>>2]<<4)+10>>1]|0)|0)|0;c[B>>2]=(c[B>>2]|0)+1}c[A>>2]=(c[A>>2]|0)+1}}while(0);c[y>>2]=(c[y>>2]|0)+48}if((H|0)==17){H=0;b[t>>1]=0}b[(c[m>>2]|0)+40>>1]=1;c[c[(c[m>>2]|0)+48>>2]>>2]=c[n>>2];c[(c[m>>2]|0)+36>>2]=8192;b[(c[m>>2]|0)+18>>1]=0;a[(c[m>>2]|0)+17>>0]=0;k=(c[m>>2]|0)+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[A>>2]=0;while(1){if(c[p>>2]|0)break a;if((c[A>>2]|0)>=(e[t>>1]|0))break a;b[(c[m>>2]|0)+20>>1]=(b[t+8+(c[A>>2]<<4)+8>>1]|0)+1;b[(c[m>>2]|0)+22>>1]=b[t+8+(c[A>>2]<<4)+10>>1]|0;i=t+8+(c[A>>2]<<4)|0;j=c[i+4>>2]|0;k=c[m>>2]|0;c[k>>2]=c[i>>2];c[k+4>>2]=j;c[p>>2]=QB(c[D>>2]|0,c[m>>2]|0)|0;c[A>>2]=(c[A>>2]|0)+1}}while(0);c[n>>2]=(c[n>>2]|0)+48}l=I;return c[p>>2]|0}function OB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0;f=l;l=l+16|0;g=f+4|0;h=f;c[g>>2]=a;c[h>>2]=d;b[c[g>>2]>>1]=b[c[h>>2]>>1]|0;MR((c[g>>2]|0)+8|0,(c[h>>2]|0)+8|0,(e[c[g>>2]>>1]|0)<<4|0)|0;l=f;return}function PB(a,d,f,g,h){a=a|0;d=d|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0;r=l;l=l+32|0;m=r+16|0;n=r+12|0;o=r;p=r+24|0;q=r+22|0;j=r+20|0;k=r+8|0;c[n>>2]=a;a=o;c[a>>2]=d;c[a+4>>2]=f;b[p>>1]=g;b[q>>1]=h;b[j>>1]=b[c[n>>2]>>1]|0;c[k>>2]=(c[n>>2]|0)+8;while(1){if((e[j>>1]|0)<=0){i=9;break}if((b[p>>1]|0)<=(b[(c[k>>2]|0)+8>>1]|0)?(f=o,g=c[k>>2]|0,h=o,(c[f>>2]&c[g>>2]|0)==(c[h>>2]|0)?(c[f+4>>2]&c[g+4>>2]|0)==(c[h+4>>2]|0):0):0)break;if((b[(c[k>>2]|0)+8>>1]|0)<=(b[p>>1]|0)?(f=c[k>>2]|0,g=o,h=c[k>>2]|0,(c[f>>2]&c[g>>2]|0)==(c[h>>2]|0)?(c[f+4>>2]&c[g+4>>2]|0)==(c[h+4>>2]|0):0):0){i=7;break}b[j>>1]=(b[j>>1]|0)+-1<<16>>16;c[k>>2]=(c[k>>2]|0)+16}if((i|0)==7){c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}do if((i|0)==9){a=(c[n>>2]|0)+8|0;if((e[c[n>>2]>>1]|0)<3){j=c[n>>2]|0;n=b[j>>1]|0;b[j>>1]=n+1<<16>>16;c[k>>2]=a+((n&65535)<<4);b[(c[k>>2]|0)+10>>1]=b[q>>1]|0;break}c[k>>2]=a;b[j>>1]=1;while(1){a=b[(c[k>>2]|0)+8>>1]|0;if((e[j>>1]|0)>=(e[c[n>>2]>>1]|0))break;if((a|0)>(b[(c[n>>2]|0)+8+(e[j>>1]<<4)+8>>1]|0))c[k>>2]=(c[n>>2]|0)+8+(e[j>>1]<<4);b[j>>1]=(b[j>>1]|0)+1<<16>>16}if((a|0)<=(b[p>>1]|0)){c[m>>2]=0;q=c[m>>2]|0;l=r;return q|0}}while(0);j=o;n=c[j+4>>2]|0;o=c[k>>2]|0;c[o>>2]=c[j>>2];c[o+4>>2]=n;b[(c[k>>2]|0)+8>>1]=b[p>>1]|0;if((b[(c[k>>2]|0)+10>>1]|0)>(b[q>>1]|0))b[(c[k>>2]|0)+10>>1]=b[q>>1]|0;c[m>>2]=1;q=c[m>>2]|0;l=r;return q|0}function QB(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0;q=l;l=l+48|0;h=q+40|0;i=q+36|0;j=q+32|0;k=q+28|0;m=q+24|0;n=q+20|0;o=q+16|0;p=q+12|0;e=q+8|0;f=q+4|0;g=q;c[i>>2]=a;c[j>>2]=d;c[n>>2]=c[c[i>>2]>>2];c[o>>2]=c[c[c[n>>2]>>2]>>2];if(c[(c[i>>2]|0)+16>>2]|0){if(b[(c[j>>2]|0)+40>>1]|0){p=c[j>>2]|0;PB(c[(c[i>>2]|0)+16>>2]|0,c[p>>2]|0,c[p+4>>2]|0,b[(c[j>>2]|0)+20>>1]|0,b[(c[j>>2]|0)+22>>1]|0)|0}c[h>>2]=0;p=c[h>>2]|0;l=q;return p|0}RB(c[(c[n>>2]|0)+56>>2]|0,c[j>>2]|0);c[k>>2]=SB((c[n>>2]|0)+56|0,c[j>>2]|0)|0;if(!(c[k>>2]|0)){c[h>>2]=0;p=c[h>>2]|0;l=q;return p|0}c[m>>2]=c[c[k>>2]>>2];a:do if(!(c[m>>2]|0)){n=od(c[o>>2]|0,72,0)|0;c[m>>2]=n;c[c[k>>2]>>2]=n;if(c[m>>2]|0){TA(c[m>>2]|0);c[(c[m>>2]|0)+52>>2]=0;break}c[h>>2]=7;p=c[h>>2]|0;l=q;return p|0}else{c[e>>2]=(c[m>>2]|0)+52;while(1){if(!(c[c[e>>2]>>2]|0))break a;c[e>>2]=SB(c[e>>2]|0,c[j>>2]|0)|0;if(!(c[e>>2]|0))break a;c[f>>2]=c[c[e>>2]>>2];if(!(c[f>>2]|0))break a;c[c[e>>2]>>2]=c[(c[f>>2]|0)+52>>2];QA(c[o>>2]|0,c[f>>2]|0)}}while(0);c[p>>2]=TB(c[o>>2]|0,c[m>>2]|0,c[j>>2]|0)|0;if(((c[(c[m>>2]|0)+36>>2]&1024|0)==0?(c[g>>2]=c[(c[m>>2]|0)+24+8>>2],c[g>>2]|0):0)?(c[(c[g>>2]|0)+44>>2]|0)==0:0)c[(c[m>>2]|0)+24+8>>2]=0;c[h>>2]=c[p>>2];p=c[h>>2]|0;l=q;return p|0}function RB(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=l;l=l+16|0;f=h+4|0;g=h;c[f>>2]=a;c[g>>2]=e;if(!(c[f>>2]|0?(c[(c[g>>2]|0)+36>>2]&512|0)!=0:0)){l=h;return}do{do if((d[(c[f>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?c[(c[f>>2]|0)+36>>2]&512|0:0){if(UB(c[f>>2]|0,c[g>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)-1;break}if(UB(c[g>>2]|0,c[f>>2]|0)|0){b[(c[g>>2]|0)+20>>1]=b[(c[f>>2]|0)+20>>1]|0;b[(c[g>>2]|0)+22>>1]=(b[(c[f>>2]|0)+22>>1]|0)+1}}while(0);c[f>>2]=c[(c[f>>2]|0)+52>>2]}while((c[f>>2]|0)!=0);l=h;return}function SB(a,f){a=a|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0;k=l;l=l+16|0;i=k+12|0;j=k+8|0;g=k+4|0;h=k;c[j>>2]=a;c[g>>2]=f;c[h>>2]=c[c[j>>2]>>2];while(1){if(!(c[h>>2]|0)){a=19;break}if((d[(c[h>>2]|0)+16>>0]|0)==(d[(c[g>>2]|0)+16>>0]|0)?(d[(c[h>>2]|0)+17>>0]|0)==(d[(c[g>>2]|0)+17>>0]|0):0){if((((c[(c[h>>2]|0)+36>>2]&16384|0?(e[(c[g>>2]|0)+42>>1]|0)==0:0)?c[(c[g>>2]|0)+36>>2]&512|0:0)?c[(c[g>>2]|0)+36>>2]&1|0:0)?(m=c[h>>2]|0,a=c[g>>2]|0,f=c[g>>2]|0,(c[m>>2]&c[a>>2]|0)==(c[f>>2]|0)?(c[m+4>>2]&c[a+4>>2]|0)==(c[f+4>>2]|0):0):0){a=19;break}a=c[h>>2]|0;f=c[g>>2]|0;m=c[h>>2]|0;if(((((c[a>>2]&c[f>>2]|0)==(c[m>>2]|0)?(c[a+4>>2]&c[f+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+18>>1]|0)<=(b[(c[g>>2]|0)+18>>1]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)<=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)<=(b[(c[g>>2]|0)+22>>1]|0):0){a=14;break}a=c[h>>2]|0;f=c[g>>2]|0;m=c[g>>2]|0;if((((c[a>>2]&c[f>>2]|0)==(c[m>>2]|0)?(c[a+4>>2]&c[f+4>>2]|0)==(c[m+4>>2]|0):0)?(b[(c[h>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0):0)?(b[(c[h>>2]|0)+22>>1]|0)>=(b[(c[g>>2]|0)+22>>1]|0):0){a=19;break}}c[j>>2]=(c[h>>2]|0)+52;c[h>>2]=c[c[j>>2]>>2]}if((a|0)==14){c[i>>2]=0;m=c[i>>2]|0;l=k;return m|0}else if((a|0)==19){c[i>>2]=c[j>>2];m=c[i>>2]|0;l=k;return m|0}return 0}function TB(b,d,f){b=b|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;j=l;l=l+16|0;h=j+12|0;k=j+8|0;g=j+4|0;i=j;c[k>>2]=b;c[g>>2]=d;c[i>>2]=f;SA(c[k>>2]|0,c[g>>2]|0);f=(DB(c[k>>2]|0,c[g>>2]|0,e[(c[i>>2]|0)+40>>1]|0)|0)!=0;b=c[g>>2]|0;if(f){k=b+24|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;c[h>>2]=7;k=c[h>>2]|0;l=j;return k|0}d=c[i>>2]|0;f=b+44|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(f|0));MR(c[(c[g>>2]|0)+48>>2]|0,c[(c[i>>2]|0)+48>>2]|0,(e[(c[g>>2]|0)+40>>1]|0)<<2|0)|0;b=c[i>>2]|0;if(!(c[(c[i>>2]|0)+36>>2]&1024|0)){if(c[b+36>>2]&16384|0)c[(c[i>>2]|0)+24+8>>2]=0}else a[b+24+4>>0]=0;c[h>>2]=0;k=c[h>>2]|0;l=j;return k|0}function UB(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=l;l=l+32|0;j=k+16|0;f=k+12|0;g=k+8|0;h=k+4|0;i=k;c[f>>2]=a;c[g>>2]=d;if(((e[(c[f>>2]|0)+40>>1]|0)-(e[(c[f>>2]|0)+42>>1]|0)|0)>=((e[(c[g>>2]|0)+40>>1]|0)-(e[(c[g>>2]|0)+42>>1]|0)|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}if((e[(c[g>>2]|0)+42>>1]|0)>(e[(c[f>>2]|0)+42>>1]|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}if((b[(c[f>>2]|0)+20>>1]|0)>=(b[(c[g>>2]|0)+20>>1]|0)){if((b[(c[f>>2]|0)+20>>1]|0)>(b[(c[g>>2]|0)+20>>1]|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}if((b[(c[f>>2]|0)+22>>1]|0)>(b[(c[g>>2]|0)+22>>1]|0)){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}}c[h>>2]=(e[(c[f>>2]|0)+40>>1]|0)-1;while(1){if((c[h>>2]|0)<0){a=20;break}if(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0){c[i>>2]=(e[(c[g>>2]|0)+40>>1]|0)-1;while(1){if((c[i>>2]|0)<0)break;if((c[(c[(c[g>>2]|0)+48>>2]|0)+(c[i>>2]<<2)>>2]|0)==(c[(c[(c[f>>2]|0)+48>>2]|0)+(c[h>>2]<<2)>>2]|0))break;c[i>>2]=(c[i>>2]|0)+-1}if((c[i>>2]|0)<0){a=18;break}}c[h>>2]=(c[h>>2]|0)+-1}if((a|0)==18){c[j>>2]=0;j=c[j>>2]|0;l=k;return j|0}else if((a|0)==20){c[j>>2]=1;j=c[j>>2]|0;l=k;return j|0}return 0}function VB(a,e,f){a=a|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0;p=l;l=l+32|0;g=p+24|0;h=p+20|0;i=p+16|0;j=p+12|0;k=p+8|0;m=p+4|0;n=p;c[h>>2]=a;c[i>>2]=e;c[j>>2]=f;while(1){if((d[c[j>>2]>>0]|0)!=28)break;if(!(VB(c[h>>2]|0,c[i>>2]|0,c[(c[j>>2]|0)+12>>2]|0)|0)){o=4;break}c[j>>2]=c[(c[j>>2]|0)+16>>2]}if((o|0)==4){c[g>>2]=0;o=c[g>>2]|0;l=p;return o|0}c[k>>2]=0;c[m>>2]=c[(c[i>>2]|0)+20>>2];while(1){if((c[k>>2]|0)>=(c[(c[i>>2]|0)+12>>2]|0)){o=13;break}c[n>>2]=c[c[m>>2]>>2];if(eC(c[n>>2]|0,c[j>>2]|0,c[h>>2]|0)|0){if(!(c[(c[n>>2]|0)+4>>2]&1)){o=11;break}if((b[(c[n>>2]|0)+36>>1]|0)==(c[h>>2]|0)){o=11;break}}c[k>>2]=(c[k>>2]|0)+1;c[m>>2]=(c[m>>2]|0)+48}if((o|0)==11){c[g>>2]=1;o=c[g>>2]|0;l=p;return o|0}else if((o|0)==13){c[g>>2]=0;o=c[g>>2]|0;l=p;return o|0}return 0}function WB(a,f,g){a=a|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=l;l=l+48|0;j=s+32|0;k=s+28|0;m=s+24|0;n=s+20|0;o=s+16|0;p=s+12|0;q=s+8|0;h=s+4|0;i=s;c[k>>2]=a;c[m>>2]=f;c[n>>2]=g;if((d[(c[m>>2]|0)+55>>0]|0)>>>2&1|0){c[j>>2]=0;r=c[j>>2]|0;l=s;return r|0}k=c[(c[c[k>>2]>>2]|0)+8>>2]|0;c[o>>2]=k;if(!k){c[j>>2]=0;r=c[j>>2]|0;l=s;return r|0}c[q>>2]=0;a:while(1){if((c[q>>2]|0)>=(c[c[o>>2]>>2]|0)){r=24;break}c[i>>2]=Ev(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[q>>2]|0)*20|0)>>2]|0)|0;b:do if((d[c[i>>2]>>0]|0)==152?(c[(c[i>>2]|0)+28>>2]|0)==(c[n>>2]|0):0){if((b[(c[i>>2]|0)+32>>1]|0)<0){r=10;break a}c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0))break b;if((b[(c[i>>2]|0)+32>>1]|0)==(b[(c[(c[m>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)){r=14;break a}c[h>>2]=(c[h>>2]|0)+1}}else r=16;while(0);c:do if((r|0)==16?(r=0,k=c[(c[m>>2]|0)+40>>2]|0,c[p>>2]=k,k|0):0){c[h>>2]=0;while(1){if((c[h>>2]|0)>=(e[(c[m>>2]|0)+50>>1]|0))break c;if((b[(c[(c[m>>2]|0)+4>>2]|0)+(c[h>>2]<<1)>>1]|0)==-2?(cw(c[i>>2]|0,c[(c[(c[p>>2]|0)+4>>2]|0)+((c[h>>2]|0)*20|0)>>2]|0,c[n>>2]|0)|0)==0:0){r=21;break a}c[h>>2]=(c[h>>2]|0)+1}}while(0);c[q>>2]=(c[q>>2]|0)+1}if((r|0)==10){c[j>>2]=1;r=c[j>>2]|0;l=s;return r|0}else if((r|0)==14){c[j>>2]=1;r=c[j>>2]|0;l=s;return r|0}else if((r|0)==21){c[j>>2]=1;r=c[j>>2]|0;l=s;return r|0}else if((r|0)==24){c[j>>2]=0;r=c[j>>2]|0;l=s;return r|0}return 0}function XB(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;s=l;l=l+48|0;k=s+36|0;m=s+32|0;n=s+42|0;o=s+28|0;p=s+24|0;q=s;r=s+20|0;g=s+16|0;h=s+12|0;i=s+40|0;j=s+8|0;c[k>>2]=a;c[m>>2]=d;b[n>>1]=f;t=c[m>>2]|0;a=(c[m>>2]|0)+8|0;d=~(c[t+4>>2]|c[a+4>>2]);f=q;c[f>>2]=~(c[t>>2]|c[a>>2]);c[f+4>>2]=d;b[i>>1]=0;c[r>>2]=c[(c[k>>2]|0)+12>>2];c[o>>2]=c[(c[k>>2]|0)+20>>2];while(1){if((c[r>>2]|0)<=0)break;if(e[(c[o>>2]|0)+10>>1]&2|0)break;f=(c[o>>2]|0)+40|0;t=(c[m>>2]|0)+8|0;do if(!((c[f>>2]&c[t>>2]|0)==0?(c[f+4>>2]&c[t+4>>2]|0)==0:0)?(f=(c[o>>2]|0)+40|0,t=q,!(c[f>>2]&c[t>>2]|0?1:(c[f+4>>2]&c[t+4>>2]|0)!=0)):0){c[g>>2]=(e[(c[m>>2]|0)+40>>1]|0)-1;while(1){if((c[g>>2]|0)<0)break;c[p>>2]=c[(c[(c[m>>2]|0)+48>>2]|0)+(c[g>>2]<<2)>>2];if(c[p>>2]|0){if((c[p>>2]|0)==(c[o>>2]|0))break;if((c[(c[p>>2]|0)+16>>2]|0)>=0?((c[(c[k>>2]|0)+20>>2]|0)+((c[(c[p>>2]|0)+16>>2]|0)*48|0)|0)==(c[o>>2]|0):0)break}c[g>>2]=(c[g>>2]|0)+-1}if((c[g>>2]|0)<0){if((b[(c[o>>2]|0)+8>>1]|0)<=0){t=(c[m>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+(b[(c[o>>2]|0)+8>>1]|0);break}t=(c[m>>2]|0)+22|0;b[t>>1]=(b[t>>1]|0)+-1<<16>>16;if(e[(c[o>>2]|0)+12>>1]&130|0){c[j>>2]=c[(c[c[o>>2]>>2]|0)+16>>2];t=(Zv(c[j>>2]|0,h)|0)!=0;if(t&(c[h>>2]|0)>=-1&(c[h>>2]|0)<=1)c[h>>2]=10;else c[h>>2]=20;if((b[i>>1]|0)<(c[h>>2]|0))b[i>>1]=c[h>>2]}}}while(0);c[r>>2]=(c[r>>2]|0)+-1;c[o>>2]=(c[o>>2]|0)+48}if((b[(c[m>>2]|0)+22>>1]|0)<=((b[n>>1]|0)-(b[i>>1]|0)|0)){l=s;return}b[(c[m>>2]|0)+22>>1]=(b[n>>1]|0)-(b[i>>1]|0);l=s;return}function YB(a){a=a|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;i=l;l=l+32|0;d=i+16|0;f=i;g=i+12|0;h=i+8|0;c[d>>2]=a;a=f;c[a>>2]=0;c[a+4>>2]=0;c[g>>2]=(e[(c[d>>2]|0)+52>>1]|0)-1;while(1){if((c[g>>2]|0)<0)break;c[h>>2]=b[(c[(c[d>>2]|0)+4>>2]|0)+(c[g>>2]<<1)>>1];if((c[h>>2]|0)>=0&(c[h>>2]|0)<63){k=HR(1,0,c[h>>2]|0)|0;m=f;j=c[m+4>>2]|z;a=f;c[a>>2]=c[m>>2]|k;c[a+4>>2]=j}c[g>>2]=(c[g>>2]|0)+-1}m=f;z=c[m+4>>2]|0;l=i;return c[m>>2]|0}function ZB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=l;l=l+48|0;h=g+44|0;k=g+40|0;j=g+36|0;f=g+8|0;i=g;c[h>>2]=b;c[k>>2]=d;c[j>>2]=e;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;c[i+4>>2]=c[k>>2];c[i>>2]=c[j>>2];c[f+4>>2]=193;c[f+24>>2]=i;Qv(f,c[h>>2]|0)|0;l=g;return ((a[f+20>>0]|0)!=0^1)&1|0}function _B(f,g,h,i){f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0;R=l;l=l+224|0;M=R+180|0;N=R+176|0;O=R+172|0;P=R+168|0;Q=R+208|0;S=R+164|0;k=R+160|0;m=R+156|0;n=R+152|0;o=R+148|0;j=R+144|0;p=R+48|0;q=R;r=R+206|0;s=R+204|0;t=R+202|0;u=R+200|0;v=R+198|0;w=R+40|0;x=R+196|0;y=R+36|0;z=R+194|0;A=R+192|0;B=R+32|0;C=R+28|0;D=R+190|0;E=R+188|0;F=R+186|0;G=R+24|0;H=R+20|0;I=R+16|0;J=R+12|0;K=R+8|0;L=R+184|0;c[N>>2]=f;c[O>>2]=g;c[P>>2]=h;b[Q>>1]=i;c[S>>2]=c[c[N>>2]>>2];c[k>>2]=c[c[S>>2]>>2];c[m>>2]=c[c[k>>2]>>2];c[y>>2]=0;c[B>>2]=0;c[C>>2]=0;c[n>>2]=c[(c[N>>2]|0)+12>>2];if(a[(c[m>>2]|0)+69>>0]|0){c[M>>2]=7;S=c[M>>2]|0;l=R;return S|0}if(c[(c[n>>2]|0)+36>>2]&32|0)c[j>>2]=24;else c[j>>2]=447;if((d[(c[P>>2]|0)+55>>0]|0)>>>2&1|0)c[j>>2]=c[j>>2]&-61;b[s>>1]=b[(c[n>>2]|0)+24>>1]|0;b[t>>1]=b[(c[n>>2]|0)+24+2>>1]|0;b[u>>1]=b[(c[n>>2]|0)+24+4>>1]|0;b[v>>1]=b[(c[n>>2]|0)+42>>1]|0;b[r>>1]=b[(c[n>>2]|0)+40>>1]|0;c[w>>2]=c[(c[n>>2]|0)+36>>2];h=c[n>>2]|0;i=c[h+4>>2]|0;S=q;c[S>>2]=c[h>>2];c[S+4>>2]=i;b[x>>1]=b[(c[n>>2]|0)+22>>1]|0;c[o>>2]=tB(p,c[(c[N>>2]|0)+4>>2]|0,c[(c[O>>2]|0)+44>>2]|0,e[s>>1]|0,c[j>>2]|0,c[P>>2]|0)|0;b[(c[n>>2]|0)+18>>1]=0;b[z>>1]=b[c[(c[P>>2]|0)+8>>2]>>1]|0;b[A>>1]=KB(b[z>>1]|0)|0;a:while(1){if(!((c[y>>2]|0)==0?(c[o>>2]|0)!=0:0))break;b[D>>1]=b[(c[o>>2]|0)+12>>1]|0;c[G>>2]=0;if((e[D>>1]|0)!=256?!(e[(c[o>>2]|0)+10>>1]&0|0):0)f=13;else f=12;if((f|0)==12?(f=0,($B(c[P>>2]|0,e[s>>1]|0)|0)==0):0)f=13;do if((f|0)==13?(0,i=(c[o>>2]|0)+32|0,S=(c[n>>2]|0)+8|0,!(c[i>>2]&c[S>>2]|0?1:(c[i+4>>2]&c[S+4>>2]|0)!=0)):0){if(e[(c[o>>2]|0)+10>>1]&256|0?(e[(c[o>>2]|0)+12>>1]|0)==16:0)break;if((d[(c[O>>2]|0)+36>>0]&8|0?(c[(c[c[o>>2]>>2]|0)+4>>2]&1|0)==0:0)?e[D>>1]&384|0:0)break;c[(c[n>>2]|0)+36>>2]=c[w>>2];b[(c[n>>2]|0)+24>>1]=b[s>>1]|0;b[(c[n>>2]|0)+24+2>>1]=b[t>>1]|0;b[(c[n>>2]|0)+24+4>>1]=b[u>>1]|0;b[(c[n>>2]|0)+40>>1]=b[r>>1]|0;if(DB(c[m>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0)break a;h=c[o>>2]|0;j=c[(c[n>>2]|0)+48>>2]|0;i=(c[n>>2]|0)+40|0;g=b[i>>1]|0;b[i>>1]=g+1<<16>>16;c[j+((g&65535)<<2)>>2]=h;g=q;j=(c[o>>2]|0)+32|0;h=(c[n>>2]|0)+8|0;i=(c[g+4>>2]|c[j+4>>2])&~c[h+4>>2];S=c[n>>2]|0;c[S>>2]=(c[g>>2]|c[j>>2])&~c[h>>2];c[S+4>>2]=i;b:do if(!(e[D>>1]&1|0))if(!(e[D>>1]&130|0)){if(e[D>>1]&256|0){S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|8;break}f=(c[n>>2]|0)+36|0;g=c[f>>2]|0;if(e[D>>1]&36|0){c[f>>2]=g|34;S=(aC(c[k>>2]|0,c[(c[O>>2]|0)+44>>2]|0,c[P>>2]|0,e[s>>1]|0,c[o>>2]|0)|0)&65535;b[(c[n>>2]|0)+24+2>>1]=S;c[C>>2]=c[o>>2];c[B>>2]=0;if(!(e[(c[o>>2]|0)+10>>1]&256))break;c[B>>2]=(c[o>>2]|0)+48;if(DB(c[m>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0)break a;h=c[B>>2]|0;i=c[(c[n>>2]|0)+48>>2]|0;j=(c[n>>2]|0)+40|0;S=b[j>>1]|0;b[j>>1]=S+1<<16>>16;c[i+((S&65535)<<2)>>2]=h;S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|16;b[(c[n>>2]|0)+24+4>>1]=1;break}else{c[f>>2]=g|18;S=(aC(c[k>>2]|0,c[(c[O>>2]|0)+44>>2]|0,c[P>>2]|0,e[s>>1]|0,c[o>>2]|0)|0)&65535;b[(c[n>>2]|0)+24+4>>1]=S;c[B>>2]=c[o>>2];if(c[(c[n>>2]|0)+36>>2]&32|0)f=c[(c[(c[n>>2]|0)+48>>2]|0)+((e[(c[n>>2]|0)+40>>1]|0)-2<<2)>>2]|0;else f=0;c[C>>2]=f;break}}else{c[J>>2]=b[(c[(c[P>>2]|0)+4>>2]|0)+(e[s>>1]<<1)>>1];S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|1;if((c[J>>2]|0)!=-1){if((c[J>>2]|0)<=0)break;if(b[Q>>1]|0)break;if((e[s>>1]|0)!=((e[(c[P>>2]|0)+50>>1]|0)-1|0))break}if((c[J>>2]|0)>=0?((d[(c[P>>2]|0)+55>>0]|0)>>>3&1|0)==0:0){f=65536;g=c[n>>2]|0}else{f=4096;g=c[n>>2]|0}S=g+36|0;c[S>>2]=c[S>>2]|f;break}else{c[H>>2]=c[c[o>>2]>>2];S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|4;if(!(c[(c[H>>2]|0)+4>>2]&2048)){if(!(c[(c[H>>2]|0)+20>>2]|0))break;if(!(c[c[(c[H>>2]|0)+20>>2]>>2]|0))break;S=c[c[(c[H>>2]|0)+20>>2]>>2]|0;c[G>>2]=(Du(S,((S|0)<0)<<31>>31)|0)<<16>>16;break}c[G>>2]=46;c[I>>2]=0;while(1){if((c[I>>2]|0)>=((e[(c[n>>2]|0)+40>>1]|0)-1|0))break b;if(c[(c[(c[n>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]|0?(c[c[(c[(c[n>>2]|0)+48>>2]|0)+(c[I>>2]<<2)>>2]>>2]|0)==(c[H>>2]|0):0)c[G>>2]=0;c[I>>2]=(c[I>>2]|0)+1}}while(0);do if(!(c[(c[n>>2]|0)+36>>2]&2|0)){i=(c[n>>2]|0)+24|0;S=(b[i>>1]|0)+1<<16>>16;b[i>>1]=S;c[K>>2]=S&65535;if((b[(c[o>>2]|0)+8>>1]|0)<=0?(b[(c[(c[P>>2]|0)+4>>2]|0)+(e[s>>1]<<1)>>1]|0)>=0:0){S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+(b[(c[o>>2]|0)+8>>1]|0);S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(c[G>>2]|0);break}S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[(c[(c[P>>2]|0)+8>>2]|0)+(c[K>>2]<<1)>>1]|0)-(b[(c[(c[P>>2]|0)+8>>2]|0)+((c[K>>2]|0)-1<<1)>>1]|0));if(e[D>>1]&256|0){S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+10}}else bC(c[k>>2]|0,c[N>>2]|0,c[C>>2]|0,c[B>>2]|0,c[n>>2]|0)|0;while(0);b[E>>1]=(b[(c[n>>2]|0)+22>>1]|0)+1+(((b[(c[P>>2]|0)+48>>1]|0)*15|0)/(b[(c[(c[O>>2]|0)+16>>2]|0)+40>>1]|0)|0);S=HB(b[A>>1]|0,b[E>>1]|0)|0;b[(c[n>>2]|0)+20>>1]=S;if(!(c[(c[n>>2]|0)+36>>2]&320)){S=HB(b[(c[n>>2]|0)+20>>1]|0,(b[(c[n>>2]|0)+22>>1]|0)+16&65535)|0;b[(c[n>>2]|0)+20>>1]=S}b[F>>1]=b[(c[n>>2]|0)+22>>1]|0;S=(c[n>>2]|0)+20|0;b[S>>1]=(b[S>>1]|0)+((b[Q>>1]|0)+(c[G>>2]|0));S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)+((b[Q>>1]|0)+(c[G>>2]|0));XB(c[(c[N>>2]|0)+4>>2]|0,c[n>>2]|0,b[z>>1]|0);c[y>>2]=QB(c[N>>2]|0,c[n>>2]|0)|0;S=(c[(c[n>>2]|0)+36>>2]&2|0)!=0;b[(S?c[n>>2]|0:c[n>>2]|0)+22>>1]=S?b[x>>1]|0:b[F>>1]|0;if((c[(c[n>>2]|0)+36>>2]&16|0)==0?(e[(c[n>>2]|0)+24>>1]|0)<(e[(c[P>>2]|0)+52>>1]|0):0)_B(c[N>>2]|0,c[O>>2]|0,c[P>>2]|0,(b[Q>>1]|0)+(c[G>>2]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[x>>1]|0}while(0);c[o>>2]=uB(p)|0}J=q;K=c[J+4>>2]|0;S=c[n>>2]|0;c[S>>2]=c[J>>2];c[S+4>>2]=K;b[(c[n>>2]|0)+24>>1]=b[s>>1]|0;b[(c[n>>2]|0)+24+2>>1]=b[t>>1]|0;b[(c[n>>2]|0)+24+4>>1]=b[u>>1]|0;b[(c[n>>2]|0)+42>>1]=b[v>>1]|0;c[(c[n>>2]|0)+36>>2]=c[w>>2];b[(c[n>>2]|0)+22>>1]=b[x>>1]|0;b[(c[n>>2]|0)+40>>1]=b[r>>1]|0;if(((((e[s>>1]|0)==(e[v>>1]|0)?((e[s>>1]|0)+1|0)<(e[(c[P>>2]|0)+50>>1]|0):0)?((d[(c[P>>2]|0)+55>>0]|0)>>>6&1|0)==0:0)?(b[(c[(c[P>>2]|0)+8>>2]|0)+((e[s>>1]|0)+1<<1)>>1]|0)>=42:0)?(S=DB(c[m>>2]|0,c[n>>2]|0,(e[(c[n>>2]|0)+40>>1]|0)+1|0)|0,c[y>>2]=S,(S|0)==0):0){K=(c[n>>2]|0)+24|0;b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=(c[n>>2]|0)+42|0;b[K>>1]=(b[K>>1]|0)+1<<16>>16;K=c[(c[n>>2]|0)+48>>2]|0;J=(c[n>>2]|0)+40|0;S=b[J>>1]|0;b[J>>1]=S+1<<16>>16;c[K+((S&65535)<<2)>>2]=0;S=(c[n>>2]|0)+36|0;c[S>>2]=c[S>>2]|32768;b[L>>1]=(b[(c[(c[P>>2]|0)+8>>2]|0)+(e[s>>1]<<1)>>1]|0)-(b[(c[(c[P>>2]|0)+8>>2]|0)+((e[s>>1]|0)+1<<1)>>1]|0);S=(c[n>>2]|0)+22|0;b[S>>1]=(b[S>>1]|0)-(b[L>>1]|0);b[L>>1]=(b[L>>1]|0)+5;_B(c[N>>2]|0,c[O>>2]|0,c[P>>2]|0,(b[L>>1]|0)+(b[Q>>1]|0)&65535)|0;b[(c[n>>2]|0)+22>>1]=b[x>>1]|0;b[(c[n>>2]|0)+24>>1]=b[s>>1]|0;b[(c[n>>2]|0)+42>>1]=b[v>>1]|0;c[(c[n>>2]|0)+36>>2]=c[w>>2]}c[M>>2]=c[y>>2];S=c[M>>2]|0;l=R;return S|0}function $B(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=l;l=l+16|0;f=i+12|0;g=i+8|0;j=i+4|0;h=i;c[g>>2]=a;c[j>>2]=e;c[h>>2]=b[(c[(c[g>>2]|0)+4>>2]|0)+(c[j>>2]<<1)>>1];if((c[h>>2]|0)>=0){c[f>>2]=d[(c[(c[(c[g>>2]|0)+12>>2]|0)+4>>2]|0)+(c[h>>2]<<4)+12>>0];j=c[f>>2]|0;l=i;return j|0}if((c[h>>2]|0)==-1){c[f>>2]=1;j=c[f>>2]|0;l=i;return j|0}else{c[f>>2]=0;j=c[f>>2]|0;l=i;return j|0}return 0}function aC(f,g,h,i,j){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;x=l;l=l+48|0;r=x+36|0;s=x+32|0;t=x+28|0;u=x+24|0;v=x+20|0;k=x+16|0;w=x+12|0;m=x+41|0;n=x+40|0;o=x+8|0;p=x+4|0;q=x;c[r>>2]=f;c[s>>2]=g;c[t>>2]=h;c[u>>2]=i;c[v>>2]=j;c[k>>2]=xw(c[(c[c[v>>2]>>2]|0)+12>>2]|0)|0;if((c[k>>2]|0)<((e[(c[t>>2]|0)+52>>1]|0)-(c[u>>2]|0)|0))f=c[k>>2]|0;else f=(e[(c[t>>2]|0)+52>>1]|0)-(c[u>>2]|0)|0;c[k>>2]=f;c[w>>2]=1;while(1){if((c[w>>2]|0)>=(c[k>>2]|0)){f=17;break}a[n>>0]=0;c[p>>2]=c[(c[(c[(c[(c[c[v>>2]>>2]|0)+12>>2]|0)+20>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];c[q>>2]=c[(c[c[v>>2]>>2]|0)+16>>2];f=(c[q>>2]|0)+20|0;if(c[(c[q>>2]|0)+4>>2]&2048|0)c[q>>2]=c[(c[(c[c[f>>2]>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];else c[q>>2]=c[(c[(c[f>>2]|0)+4>>2]|0)+((c[w>>2]|0)*20|0)>>2];if((d[c[p>>2]>>0]|0)!=152){f=17;break}if((c[(c[p>>2]|0)+28>>2]|0)!=(c[s>>2]|0)){f=17;break}if((b[(c[p>>2]|0)+32>>1]|0)!=(b[(c[(c[t>>2]|0)+4>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0)<<1)>>1]|0)){f=17;break}if((d[(c[(c[t>>2]|0)+28>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0))>>0]|0)!=(d[(c[(c[t>>2]|0)+28>>2]|0)+(c[u>>2]|0)>>0]|0)){f=17;break}j=c[q>>2]|0;a[m>>0]=Cy(j,wv(c[p>>2]|0)|0)|0;a[n>>0]=Fv(c[(c[t>>2]|0)+12>>2]|0,b[(c[p>>2]|0)+32>>1]|0)|0;if((a[m>>0]|0)!=(a[n>>0]|0)){f=17;break}c[o>>2]=Dy(c[r>>2]|0,c[p>>2]|0,c[q>>2]|0)|0;if(!(c[o>>2]|0)){f=17;break}if(Ig(c[c[o>>2]>>2]|0,c[(c[(c[t>>2]|0)+32>>2]|0)+((c[w>>2]|0)+(c[u>>2]|0)<<2)>>2]|0)|0){f=17;break}c[w>>2]=(c[w>>2]|0)+1}if((f|0)==17){l=x;return c[w>>2]|0}return 0}function bC(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,m=0,n=0,o=0;o=l;l=l+32|0;k=o+16|0;m=o+12|0;n=o+8|0;h=o+4|0;i=o;j=o+28|0;c[o+24>>2]=a;c[o+20>>2]=d;c[k>>2]=e;c[m>>2]=f;c[n>>2]=g;c[h>>2]=0;c[i>>2]=b[(c[n>>2]|0)+22>>1];b[j>>1]=cC(c[k>>2]|0,c[i>>2]&65535)|0;b[j>>1]=cC(c[m>>2]|0,b[j>>1]|0)|0;if((c[k>>2]|0?(c[m>>2]|0?(b[(c[k>>2]|0)+8>>1]|0)>0:0):0)?(b[(c[m>>2]|0)+8>>1]|0)>0:0)b[j>>1]=(b[j>>1]|0)-20;c[i>>2]=(c[i>>2]|0)-(((c[k>>2]|0)!=0&1)+((c[m>>2]|0)!=0&1));if((b[j>>1]|0)<10)b[j>>1]=10;if((b[j>>1]|0)>=(c[i>>2]|0)){m=c[i>>2]|0;m=m&65535;n=c[n>>2]|0;n=n+22|0;b[n>>1]=m;n=c[h>>2]|0;l=o;return n|0}c[i>>2]=b[j>>1];m=c[i>>2]|0;m=m&65535;n=c[n>>2]|0;n=n+22|0;b[n>>1]=m;n=c[h>>2]|0;l=o;return n|0}function cC(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,i=0;h=l;l=l+16|0;f=h;i=h+6|0;g=h+4|0;c[f>>2]=a;b[i>>1]=d;b[g>>1]=b[i>>1]|0;do if(c[f>>2]|0){a=c[f>>2]|0;if((b[(c[f>>2]|0)+8>>1]|0)<=0){b[g>>1]=(b[g>>1]|0)+(b[a+8>>1]|0);break}if(!(e[a+10>>1]&0))b[g>>1]=(b[g>>1]|0)-20}while(0);l=h;return b[g>>1]|0}function dC(e,f){e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=l;l=l+16|0;g=j+8|0;h=j+4|0;i=j;c[h>>2]=e;c[i>>2]=f;if(((d[c[i>>2]>>0]|0|0)==152?(c[(c[i>>2]|0)+28>>2]|0)==(c[(c[(c[h>>2]|0)+24>>2]|0)+4>>2]|0):0)?((_x(c[c[(c[h>>2]|0)+24>>2]>>2]|0,b[(c[i>>2]|0)+32>>1]|0)|0)<<16>>16|0)<0:0){a[(c[h>>2]|0)+20>>0]=1;c[g>>2]=2;i=c[g>>2]|0;l=j;return i|0}c[g>>2]=0;i=c[g>>2]|0;l=j;return i|0}function eC(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;j=l;l=l+16|0;f=j+12|0;g=j+8|0;h=j+4|0;i=j;c[g>>2]=a;c[h>>2]=b;c[i>>2]=e;if(!(cw(c[g>>2]|0,c[h>>2]|0,c[i>>2]|0)|0)){c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}do if((d[c[h>>2]>>0]|0|0)==27){if((eC(c[g>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0)|0)==0?(eC(c[g>>2]|0,c[(c[h>>2]|0)+16>>2]|0,c[i>>2]|0)|0)==0:0)break;c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}while(0);if((((d[c[h>>2]>>0]|0|0)==35?(cw(c[(c[g>>2]|0)+12>>2]|0,c[(c[h>>2]|0)+12>>2]|0,c[i>>2]|0)|0)==0:0)?(d[c[g>>2]>>0]|0|0)!=34:0)?(d[c[g>>2]>>0]|0|0)!=29:0){c[f>>2]=1;i=c[f>>2]|0;l=j;return i|0}c[f>>2]=0;i=c[f>>2]|0;l=j;return i|0}function fC(f,g,h,i,j,k,m){f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;k=k|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;J=l;l=l+96|0;I=J+8|0;F=J+80|0;G=J+76|0;H=J+72|0;n=J;o=J+68|0;p=J+64|0;q=J+60|0;r=J+56|0;s=J+52|0;t=J+48|0;u=J+44|0;v=J+40|0;w=J+36|0;x=J+32|0;y=J+28|0;z=J+24|0;A=J+84|0;B=J+20|0;C=J+16|0;D=J+86|0;E=J+12|0;c[G>>2]=f;c[H>>2]=g;g=n;c[g>>2]=h;c[g+4>>2]=i;c[o>>2]=j;c[p>>2]=k;c[q>>2]=m;b[A>>1]=0;c[t>>2]=0;c[r>>2]=0;c[x>>2]=c[(c[H>>2]|0)+20>>2];while(1){if((c[r>>2]|0)>=(c[(c[H>>2]|0)+12>>2]|0))break;if((((c[(c[x>>2]|0)+20>>2]|0)==(c[(c[o>>2]|0)+44>>2]|0)?(k=(c[x>>2]|0)+32|0,m=n,!(c[k>>2]&c[m>>2]|0?1:(c[k+4>>2]&c[m+4>>2]|0)!=0)):0)?e[(c[x>>2]|0)+12>>1]&-2433|0:0)?(e[(c[x>>2]|0)+10>>1]&0|0)==0:0)c[t>>2]=(c[t>>2]|0)+1;c[r>>2]=(c[r>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+48}c[y>>2]=0;if(c[p>>2]|0){c[B>>2]=c[c[p>>2]>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[B>>2]|0))break;c[C>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];if((d[c[C>>2]>>0]|0)!=152)break;if((c[(c[C>>2]|0)+28>>2]|0)!=(c[(c[o>>2]|0)+44>>2]|0))break;c[r>>2]=(c[r>>2]|0)+1}if((c[r>>2]|0)==(c[B>>2]|0))c[y>>2]=c[B>>2]}c[z>>2]=jl(c[c[G>>2]>>2]|0,72+((c[t>>2]|0)*20|0)+(c[y>>2]<<3)|0,0)|0;if(!(c[z>>2]|0)){Ck(c[G>>2]|0,19371,I);c[F>>2]=0;I=c[F>>2]|0;l=J;return I|0}c[u>>2]=(c[z>>2]|0)+72;c[v>>2]=(c[u>>2]|0)+((c[t>>2]|0)*12|0);c[w>>2]=(c[v>>2]|0)+(c[y>>2]<<3);c[c[z>>2]>>2]=c[t>>2];c[(c[z>>2]|0)+8>>2]=c[y>>2];c[(c[z>>2]|0)+4>>2]=c[u>>2];c[(c[z>>2]|0)+12>>2]=c[v>>2];c[(c[z>>2]|0)+16>>2]=c[w>>2];c[s>>2]=0;c[r>>2]=0;c[x>>2]=c[(c[H>>2]|0)+20>>2];while(1){if((c[r>>2]|0)>=(c[(c[H>>2]|0)+12>>2]|0))break;if((((c[(c[x>>2]|0)+20>>2]|0)==(c[(c[o>>2]|0)+44>>2]|0)?(G=(c[x>>2]|0)+32|0,I=n,!(c[G>>2]&c[I>>2]|0?1:(c[G+4>>2]&c[I+4>>2]|0)!=0)):0)?e[(c[x>>2]|0)+12>>1]&-2433|0:0)?(e[(c[x>>2]|0)+10>>1]&0|0)==0:0){c[(c[u>>2]|0)+((c[s>>2]|0)*12|0)>>2]=c[(c[x>>2]|0)+28>>2];c[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+8>>2]=c[r>>2];I=b[(c[x>>2]|0)+12>>1]&255;a[D>>0]=I;a[D>>0]=(d[D>>0]|0)==1?2:I;if((d[D>>0]|0)==64)a[D>>0]=a[(c[x>>2]|0)+15>>0]|0;a[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+4>>0]=a[D>>0]|0;if(d[D>>0]&60|0?gy(c[(c[c[x>>2]>>2]|0)+16>>2]|0)|0:0){if((c[r>>2]|0)<16)b[A>>1]=e[A>>1]|1<>2];if((d[D>>0]|0)==16)a[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+4>>0]=8;if((d[D>>0]|0)==4)a[(c[u>>2]|0)+((c[s>>2]|0)*12|0)+4>>0]=32}c[s>>2]=(c[s>>2]|0)+1}c[r>>2]=(c[r>>2]|0)+1;c[x>>2]=(c[x>>2]|0)+48}c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[y>>2]|0))break;c[E>>2]=c[(c[(c[p>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2];c[(c[v>>2]|0)+(c[r>>2]<<3)>>2]=b[(c[E>>2]|0)+32>>1];a[(c[v>>2]|0)+(c[r>>2]<<3)+4>>0]=a[(c[(c[p>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)+12>>0]|0;c[r>>2]=(c[r>>2]|0)+1}b[c[q>>2]>>1]=b[A>>1]|0;c[F>>2]=c[z>>2];I=c[F>>2]|0;l=J;return I|0}function gC(f,g,i,j,k,m,n,o,p){f=f|0;g=g|0;i=i|0;j=j|0;k=k|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0;N=l;l=l+96|0;G=N+16|0;M=N+88|0;I=N+84|0;O=N+8|0;q=N;r=N+94|0;J=N+80|0;t=N+92|0;u=N+76|0;v=N+72|0;w=N+68|0;x=N+64|0;y=N+60|0;z=N+56|0;K=N+52|0;L=N+48|0;A=N+44|0;B=N+40|0;C=N+36|0;s=N+32|0;D=N+28|0;E=N+24|0;F=N+20|0;c[I>>2]=f;f=O;c[f>>2]=g;c[f+4>>2]=i;i=q;c[i>>2]=j;c[i+4>>2]=k;b[r>>1]=m;c[J>>2]=n;b[t>>1]=o;c[u>>2]=p;c[v>>2]=c[(c[I>>2]|0)+4>>2];c[x>>2]=c[(c[J>>2]|0)+16>>2];c[K>>2]=0;c[L>>2]=c[(c[I>>2]|0)+12>>2];c[A>>2]=c[c[c[I>>2]>>2]>>2];c[B>>2]=(c[(c[c[I>>2]>>2]|0)+4>>2]|0)+8+((d[(c[L>>2]|0)+16>>0]|0)*72|0);c[C>>2]=c[c[J>>2]>>2];c[c[u>>2]>>2]=0;n=O;o=c[n+4>>2]|0;p=c[L>>2]|0;c[p>>2]=c[n>>2];c[p+4>>2]=o;c[w>>2]=c[(c[J>>2]|0)+4>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[C>>2]|0))break;c[s>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[(c[w>>2]|0)+8>>2]|0)*48|0);a[(c[w>>2]|0)+5>>0]=0;o=(c[s>>2]|0)+32|0;p=q;O=(c[s>>2]|0)+32|0;if(((c[o>>2]&c[p>>2]|0)==(c[O>>2]|0)?(c[o+4>>2]&c[p+4>>2]|0)==(c[O+4>>2]|0):0)?(e[(c[s>>2]|0)+12>>1]&e[r>>1]|0)==0:0)a[(c[w>>2]|0)+5>>0]=1;c[y>>2]=(c[y>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}GR(c[x>>2]|0,0,c[C>>2]<<3|0)|0;c[(c[J>>2]|0)+24>>2]=0;c[(c[J>>2]|0)+20>>2]=0;c[(c[J>>2]|0)+32>>2]=0;h[(c[J>>2]|0)+40>>3]=5.e+98;o=(c[J>>2]|0)+48|0;c[o>>2]=25;c[o+4>>2]=0;c[(c[J>>2]|0)+56>>2]=0;o=(c[B>>2]|0)+56|0;p=c[o+4>>2]|0;O=(c[J>>2]|0)+64|0;c[O>>2]=c[o>>2];c[O+4>>2]=p;c[K>>2]=hC(c[A>>2]|0,c[(c[B>>2]|0)+16>>2]|0,c[J>>2]|0)|0;if(c[K>>2]|0){c[M>>2]=c[K>>2];O=c[M>>2]|0;l=N;return O|0}c[z>>2]=-1;c[y>>2]=0;while(1){f=c[L>>2]|0;if((c[y>>2]|0)>=(c[C>>2]|0))break;c[(c[f+48>>2]|0)+(c[y>>2]<<2)>>2]=0;c[y>>2]=(c[y>>2]|0)+1}b[f+24+6>>1]=0;c[w>>2]=c[(c[J>>2]|0)+4>>2];c[y>>2]=0;while(1){if((c[y>>2]|0)>=(c[C>>2]|0))break;O=(c[(c[x>>2]|0)+(c[y>>2]<<3)>>2]|0)-1|0;c[D>>2]=O;if((O|0)>=0){c[F>>2]=c[(c[w>>2]|0)+8>>2];if((c[F>>2]|0)<0?1:(c[D>>2]|0)>=(c[C>>2]|0)){H=19;break}if((c[F>>2]|0)>=(c[(c[v>>2]|0)+12>>2]|0)){H=19;break}if(c[(c[(c[L>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]|0){H=19;break}if(!(d[(c[w>>2]|0)+5>>0]|0)){H=19;break}c[E>>2]=(c[(c[v>>2]|0)+20>>2]|0)+((c[F>>2]|0)*48|0);o=(c[E>>2]|0)+32|0;O=c[L>>2]|0;n=O;p=c[n+4>>2]|c[o+4>>2];c[O>>2]=c[n>>2]|c[o>>2];c[O+4>>2]=p;c[(c[(c[L>>2]|0)+48>>2]|0)+(c[D>>2]<<2)>>2]=c[E>>2];if((c[D>>2]|0)>(c[z>>2]|0))c[z>>2]=c[D>>2];if((c[D>>2]|0)<16?d[(c[x>>2]|0)+(c[y>>2]<<3)+4>>0]|0:0){O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]|1<>2]}if(e[(c[E>>2]|0)+12>>1]&1|0){c[(c[J>>2]|0)+32>>2]=0;O=(c[J>>2]|0)+56|0;c[O>>2]=c[O>>2]&-2;c[c[u>>2]>>2]=1}}c[y>>2]=(c[y>>2]|0)+1;c[w>>2]=(c[w>>2]|0)+12}if((H|0)==19){c[K>>2]=1;O=c[A>>2]|0;c[G>>2]=c[c[(c[B>>2]|0)+16>>2]>>2];Ck(O,31310,G);c[M>>2]=c[K>>2];O=c[M>>2]|0;l=N;return O|0}O=(c[L>>2]|0)+24+6|0;b[O>>1]=e[O>>1]&~e[t>>1];b[(c[L>>2]|0)+40>>1]=(c[z>>2]|0)+1;c[(c[L>>2]|0)+24>>2]=c[(c[J>>2]|0)+20>>2];a[(c[L>>2]|0)+24+4>>0]=c[(c[J>>2]|0)+28>>2];c[(c[J>>2]|0)+28>>2]=0;c[(c[L>>2]|0)+24+8>>2]=c[(c[J>>2]|0)+24>>2];if(c[(c[J>>2]|0)+32>>2]|0)f=c[(c[J>>2]|0)+8>>2]|0;else f=0;a[(c[L>>2]|0)+24+5>>0]=f;b[(c[L>>2]|0)+18>>1]=0;O=iC(+h[(c[J>>2]|0)+40>>3])|0;b[(c[L>>2]|0)+20>>1]=O;O=(c[J>>2]|0)+48|0;O=Du(c[O>>2]|0,c[O+4>>2]|0)|0;b[(c[L>>2]|0)+22>>1]=O;O=(c[L>>2]|0)+36|0;H=c[O>>2]|0;c[O>>2]=c[(c[J>>2]|0)+56>>2]&1|0?H|4096:H&-4097;c[K>>2]=QB(c[I>>2]|0,c[L>>2]|0)|0;if(a[(c[L>>2]|0)+24+4>>0]|0){Kd(c[(c[L>>2]|0)+24+8>>2]|0);a[(c[L>>2]|0)+24+4>>0]=0}c[M>>2]=c[K>>2];O=c[M>>2]|0;l=N;return O|0}function hC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,m=0;j=l;l=l+32|0;i=j+8|0;h=j;e=j+28|0;m=j+24|0;k=j+20|0;f=j+16|0;g=j+12|0;c[e>>2]=a;c[m>>2]=b;c[k>>2]=d;c[f>>2]=c[(lv(c[c[e>>2]>>2]|0,c[m>>2]|0)|0)+8>>2];c[g>>2]=yb[c[(c[c[f>>2]>>2]|0)+12>>2]&255](c[f>>2]|0,c[k>>2]|0)|0;do if(c[g>>2]|0){if((c[g>>2]|0)==7){yd(c[c[e>>2]>>2]|0);break}a=c[e>>2]|0;if(c[(c[f>>2]|0)+8>>2]|0){c[i>>2]=c[(c[f>>2]|0)+8>>2];Ck(a,18130,i);break}else{c[h>>2]=Ci(c[g>>2]|0)|0;Ck(a,18130,h);break}}while(0);Kd(c[(c[f>>2]|0)+8>>2]|0);c[(c[f>>2]|0)+8>>2]=0;l=j;return c[(c[e>>2]|0)+36>>2]|0}function iC(a){a=+a;var d=0,e=0,f=0,g=0,i=0;i=l;l=l+32|0;d=i+18|0;e=i+8|0;f=i;g=i+16|0;h[e>>3]=a;if(+h[e>>3]<=1.0){b[d>>1]=0;g=b[d>>1]|0;l=i;return g|0}if(+h[e>>3]<=2.0e9){a=+h[e>>3];b[d>>1]=Du(~~a>>>0,+B(a)>=1.0?(a>0.0?~~+P(+A(a/4294967296.0),4294967295.0)>>>0:~~+N((a-+(~~a>>>0))/4294967296.0)>>>0):0)|0;g=b[d>>1]|0;l=i;return g|0}else{c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];f=OR(c[f>>2]|0,c[f+4>>2]|0,52)|0;f=FR(f|0,z|0,1022,0)|0;b[g>>1]=f;b[d>>1]=(b[g>>1]|0)*10;g=b[d>>1]|0;l=i;return g|0}return 0}function jC(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=l;l=l+48|0;s=t+36|0;n=t+32|0;o=t+28|0;p=t+24|0;q=t+20|0;i=t+16|0;r=t+12|0;j=t+8|0;k=t+4|0;m=t;c[n>>2]=a;c[o>>2]=e;c[p>>2]=f;c[q>>2]=g;c[i>>2]=h;c[j>>2]=c[(c[(c[q>>2]|0)+32>>2]|0)+(c[i>>2]<<2)>>2];c[r>>2]=0;while(1){if((c[r>>2]|0)>=(c[c[o>>2]>>2]|0)){a=10;break}c[k>>2]=Ev(c[(c[(c[o>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)|0;if(((((d[c[k>>2]>>0]|0)==152?(b[(c[k>>2]|0)+32>>1]|0)==(b[(c[(c[q>>2]|0)+4>>2]|0)+(c[i>>2]<<1)>>1]|0):0)?(c[(c[k>>2]|0)+28>>2]|0)==(c[p>>2]|0):0)?(c[m>>2]=xv(c[n>>2]|0,c[(c[(c[o>>2]|0)+4>>2]|0)+((c[r>>2]|0)*20|0)>>2]|0)|0,c[m>>2]|0):0)?0==(Ig(c[c[m>>2]>>2]|0,c[j>>2]|0)|0):0){a=8;break}c[r>>2]=(c[r>>2]|0)+1}if((a|0)==8){c[s>>2]=c[r>>2];s=c[s>>2]|0;l=t;return s|0}else if((a|0)==10){c[s>>2]=-1;s=c[s>>2]|0;l=t;return s|0}return 0} +function iS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(13,a|0,b|0,c|0)|0}function jS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(14,a|0,b|0,c|0)|0}function kS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(15,a|0,b|0,c|0)|0}function lS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(16,a|0,b|0,c|0)|0}function mS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(17,a|0,b|0,c|0)|0}function nS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(18,a|0,b|0,c|0)|0}function oS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(19,a|0,b|0,c|0)|0}function pS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(20,a|0,b|0,c|0)|0}function qS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(21,a|0,b|0,c|0)|0}function rS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(22,a|0,b|0,c|0)|0}function sS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(23,a|0,b|0,c|0)|0}function tS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(24,a|0,b|0,c|0)|0}function uS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(25,a|0,b|0,c|0)|0}function vS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(26,a|0,b|0,c|0)|0}function wS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(27,a|0,b|0,c|0)|0}function xS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(28,a|0,b|0,c|0)|0}function yS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(29,a|0,b|0,c|0)|0}function zS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(30,a|0,b|0,c|0)|0}function AS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(31,a|0,b|0,c|0)|0}function BS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(32,a|0,b|0,c|0)|0}function CS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(33,a|0,b|0,c|0)|0}function DS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(34,a|0,b|0,c|0)|0}function ES(a,b,c){a=a|0;b=b|0;c=c|0;return Y(35,a|0,b|0,c|0)|0}function FS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(36,a|0,b|0,c|0)|0}function GS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(37,a|0,b|0,c|0)|0}function HS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(38,a|0,b|0,c|0)|0}function IS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(39,a|0,b|0,c|0)|0}function JS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(40,a|0,b|0,c|0)|0}function KS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(41,a|0,b|0,c|0)|0}function LS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(42,a|0,b|0,c|0)|0}function MS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(43,a|0,b|0,c|0)|0}function NS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(44,a|0,b|0,c|0)|0}function OS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(45,a|0,b|0,c|0)|0}function PS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(46,a|0,b|0,c|0)|0}function QS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(47,a|0,b|0,c|0)|0}function RS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(48,a|0,b|0,c|0)|0}function SS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(49,a|0,b|0,c|0)|0}function TS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(50,a|0,b|0,c|0)|0}function US(a,b,c){a=a|0;b=b|0;c=c|0;return Y(51,a|0,b|0,c|0)|0}function VS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(52,a|0,b|0,c|0)|0}function WS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(53,a|0,b|0,c|0)|0}function XS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(54,a|0,b|0,c|0)|0}function YS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(55,a|0,b|0,c|0)|0}function ZS(a,b,c){a=a|0;b=b|0;c=c|0;return Y(56,a|0,b|0,c|0)|0}function _S(a,b,c){a=a|0;b=b|0;c=c|0;return Y(57,a|0,b|0,c|0)|0}function $S(a,b,c){a=a|0;b=b|0;c=c|0;return Y(58,a|0,b|0,c|0)|0}function aT(a,b,c){a=a|0;b=b|0;c=c|0;return Y(59,a|0,b|0,c|0)|0}function bT(a,b,c){a=a|0;b=b|0;c=c|0;return Y(60,a|0,b|0,c|0)|0}function cT(a,b,c){a=a|0;b=b|0;c=c|0;return Y(61,a|0,b|0,c|0)|0}function dT(a,b,c){a=a|0;b=b|0;c=c|0;return Y(62,a|0,b|0,c|0)|0}function eT(a,b,c){a=a|0;b=b|0;c=c|0;return Y(63,a|0,b|0,c|0)|0}function fT(a){a=a|0;return pb[a&255]()|0}function gT(){return _(0)|0}function hT(){return _(1)|0}function iT(){return _(2)|0}function jT(){return _(3)|0}function kT(){return _(4)|0}function lT(){return _(5)|0}function mT(){return _(6)|0}function nT(){return _(7)|0}function oT(){return _(8)|0}function pT(){return _(9)|0}function qT(){return _(10)|0}function rT(){return _(11)|0}function sT(){return _(12)|0}function tT(){return _(13)|0}function uT(){return _(14)|0}function vT(){return _(15)|0}function wT(){return _(16)|0}function xT(){return _(17)|0}function yT(){return _(18)|0}function zT(){return _(19)|0}function AT(){return _(20)|0}function BT(){return _(21)|0}function CT(){return _(22)|0}function DT(){return _(23)|0}function ET(){return _(24)|0}function FT(){return _(25)|0}function GT(){return _(26)|0}function HT(){return _(27)|0}function IT(){return _(28)|0}function JT(){return _(29)|0}function KT(){return _(30)|0}function LT(){return _(31)|0}function MT(){return _(32)|0}function NT(){return _(33)|0}function OT(){return _(34)|0}function PT(){return _(35)|0}function QT(){return _(36)|0}function RT(){return _(37)|0}function ST(){return _(38)|0}function TT(){return _(39)|0}function UT(){return _(40)|0}function VT(){return _(41)|0}function WT(){return _(42)|0}function XT(){return _(43)|0}function YT(){return _(44)|0}function ZT(){return _(45)|0}function _T(){return _(46)|0}function $T(){return _(47)|0}function aU(){return _(48)|0}function bU(){return _(49)|0}function cU(){return _(50)|0}function dU(){return _(51)|0}function eU(){return _(52)|0}function fU(){return _(53)|0}function gU(){return _(54)|0}function hU(){return _(55)|0}function iU(){return _(56)|0}function jU(){return _(57)|0}function kU(){return _(58)|0}function lU(){return _(59)|0}function mU(){return _(60)|0}function nU(){return _(61)|0}function oU(){return _(62)|0}function pU(){return _(63)|0}function qU(a,b){a=a|0;b=b|0;qb[a&255](b|0)}function rU(a){a=a|0;aa(0,a|0)}function sU(a){a=a|0;aa(1,a|0)}function tU(a){a=a|0;aa(2,a|0)}function uU(a){a=a|0;aa(3,a|0)}function vU(a){a=a|0;aa(4,a|0)}function wU(a){a=a|0;aa(5,a|0)}function xU(a){a=a|0;aa(6,a|0)}function yU(a){a=a|0;aa(7,a|0)}function zU(a){a=a|0;aa(8,a|0)}function AU(a){a=a|0;aa(9,a|0)}function BU(a){a=a|0;aa(10,a|0)}function CU(a){a=a|0;aa(11,a|0)}function DU(a){a=a|0;aa(12,a|0)}function EU(a){a=a|0;aa(13,a|0)}function FU(a){a=a|0;aa(14,a|0)}function GU(a){a=a|0;aa(15,a|0)}function HU(a){a=a|0;aa(16,a|0)}function IU(a){a=a|0;aa(17,a|0)}function JU(a){a=a|0;aa(18,a|0)}function KU(a){a=a|0;aa(19,a|0)}function LU(a){a=a|0;aa(20,a|0)}function MU(a){a=a|0;aa(21,a|0)}function NU(a){a=a|0;aa(22,a|0)}function OU(a){a=a|0;aa(23,a|0)}function PU(a){a=a|0;aa(24,a|0)}function QU(a){a=a|0;aa(25,a|0)}function RU(a){a=a|0;aa(26,a|0)}function SU(a){a=a|0;aa(27,a|0)}function TU(a){a=a|0;aa(28,a|0)}function UU(a){a=a|0;aa(29,a|0)}function VU(a){a=a|0;aa(30,a|0)}function WU(a){a=a|0;aa(31,a|0)}function XU(a){a=a|0;aa(32,a|0)}function YU(a){a=a|0;aa(33,a|0)}function ZU(a){a=a|0;aa(34,a|0)}function _U(a){a=a|0;aa(35,a|0)}function $U(a){a=a|0;aa(36,a|0)}function aV(a){a=a|0;aa(37,a|0)}function bV(a){a=a|0;aa(38,a|0)}function cV(a){a=a|0;aa(39,a|0)}function dV(a){a=a|0;aa(40,a|0)}function eV(a){a=a|0;aa(41,a|0)}function fV(a){a=a|0;aa(42,a|0)}function gV(a){a=a|0;aa(43,a|0)}function hV(a){a=a|0;aa(44,a|0)}function iV(a){a=a|0;aa(45,a|0)}function jV(a){a=a|0;aa(46,a|0)}function kV(a){a=a|0;aa(47,a|0)}function lV(a){a=a|0;aa(48,a|0)}function mV(a){a=a|0;aa(49,a|0)}function nV(a){a=a|0;aa(50,a|0)}function oV(a){a=a|0;aa(51,a|0)}function pV(a){a=a|0;aa(52,a|0)}function qV(a){a=a|0;aa(53,a|0)}function rV(a){a=a|0;aa(54,a|0)}function sV(a){a=a|0;aa(55,a|0)}function tV(a){a=a|0;aa(56,a|0)}function uV(a){a=a|0;aa(57,a|0)}function vV(a){a=a|0;aa(58,a|0)}function wV(a){a=a|0;aa(59,a|0)}function xV(a){a=a|0;aa(60,a|0)}function yV(a){a=a|0;aa(61,a|0)}function zV(a){a=a|0;aa(62,a|0)}function AV(a){a=a|0;aa(63,a|0)}function BV(a,b,c){a=a|0;b=b|0;c=c|0;rb[a&255](b|0,c|0)}function CV(a,b){a=a|0;b=b|0;ca(0,a|0,b|0)}function DV(a,b){a=a|0;b=b|0;ca(1,a|0,b|0)}function EV(a,b){a=a|0;b=b|0;ca(2,a|0,b|0)}function FV(a,b){a=a|0;b=b|0;ca(3,a|0,b|0)}function GV(a,b){a=a|0;b=b|0;ca(4,a|0,b|0)}function HV(a,b){a=a|0;b=b|0;ca(5,a|0,b|0)}function IV(a,b){a=a|0;b=b|0;ca(6,a|0,b|0)}function JV(a,b){a=a|0;b=b|0;ca(7,a|0,b|0)}function KV(a,b){a=a|0;b=b|0;ca(8,a|0,b|0)}function LV(a,b){a=a|0;b=b|0;ca(9,a|0,b|0)}function MV(a,b){a=a|0;b=b|0;ca(10,a|0,b|0)}function NV(a,b){a=a|0;b=b|0;ca(11,a|0,b|0)}function OV(a,b){a=a|0;b=b|0;ca(12,a|0,b|0)}function PV(a,b){a=a|0;b=b|0;ca(13,a|0,b|0)}function QV(a,b){a=a|0;b=b|0;ca(14,a|0,b|0)}function RV(a,b){a=a|0;b=b|0;ca(15,a|0,b|0)}function SV(a,b){a=a|0;b=b|0;ca(16,a|0,b|0)}function TV(a,b){a=a|0;b=b|0;ca(17,a|0,b|0)}function UV(a,b){a=a|0;b=b|0;ca(18,a|0,b|0)}function VV(a,b){a=a|0;b=b|0;ca(19,a|0,b|0)}function WV(a,b){a=a|0;b=b|0;ca(20,a|0,b|0)}function XV(a,b){a=a|0;b=b|0;ca(21,a|0,b|0)}function YV(a,b){a=a|0;b=b|0;ca(22,a|0,b|0)}function ZV(a,b){a=a|0;b=b|0;ca(23,a|0,b|0)}function _V(a,b){a=a|0;b=b|0;ca(24,a|0,b|0)}function $V(a,b){a=a|0;b=b|0;ca(25,a|0,b|0)}function aW(a,b){a=a|0;b=b|0;ca(26,a|0,b|0)}function bW(a,b){a=a|0;b=b|0;ca(27,a|0,b|0)}function cW(a,b){a=a|0;b=b|0;ca(28,a|0,b|0)}function dW(a,b){a=a|0;b=b|0;ca(29,a|0,b|0)}function eW(a,b){a=a|0;b=b|0;ca(30,a|0,b|0)}function fW(a,b){a=a|0;b=b|0;ca(31,a|0,b|0)}function gW(a,b){a=a|0;b=b|0;ca(32,a|0,b|0)}function hW(a,b){a=a|0;b=b|0;ca(33,a|0,b|0)}function iW(a,b){a=a|0;b=b|0;ca(34,a|0,b|0)}function jW(a,b){a=a|0;b=b|0;ca(35,a|0,b|0)}function kW(a,b){a=a|0;b=b|0;ca(36,a|0,b|0)}function lW(a,b){a=a|0;b=b|0;ca(37,a|0,b|0)}function mW(a,b){a=a|0;b=b|0;ca(38,a|0,b|0)}function nW(a,b){a=a|0;b=b|0;ca(39,a|0,b|0)}function oW(a,b){a=a|0;b=b|0;ca(40,a|0,b|0)}function pW(a,b){a=a|0;b=b|0;ca(41,a|0,b|0)}function qW(a,b){a=a|0;b=b|0;ca(42,a|0,b|0)}function rW(a,b){a=a|0;b=b|0;ca(43,a|0,b|0)}function sW(a,b){a=a|0;b=b|0;ca(44,a|0,b|0)}function tW(a,b){a=a|0;b=b|0;ca(45,a|0,b|0)}function uW(a,b){a=a|0;b=b|0;ca(46,a|0,b|0)}function vW(a,b){a=a|0;b=b|0;ca(47,a|0,b|0)}function wW(a,b){a=a|0;b=b|0;ca(48,a|0,b|0)}function xW(a,b){a=a|0;b=b|0;ca(49,a|0,b|0)}function yW(a,b){a=a|0;b=b|0;ca(50,a|0,b|0)}function zW(a,b){a=a|0;b=b|0;ca(51,a|0,b|0)}function AW(a,b){a=a|0;b=b|0;ca(52,a|0,b|0)}function BW(a,b){a=a|0;b=b|0;ca(53,a|0,b|0)}function CW(a,b){a=a|0;b=b|0;ca(54,a|0,b|0)}function DW(a,b){a=a|0;b=b|0;ca(55,a|0,b|0)}function EW(a,b){a=a|0;b=b|0;ca(56,a|0,b|0)}function FW(a,b){a=a|0;b=b|0;ca(57,a|0,b|0)}function GW(a,b){a=a|0;b=b|0;ca(58,a|0,b|0)}function HW(a,b){a=a|0;b=b|0;ca(59,a|0,b|0)}function IW(a,b){a=a|0;b=b|0;ca(60,a|0,b|0)}function JW(a,b){a=a|0;b=b|0;ca(61,a|0,b|0)}function KW(a,b){a=a|0;b=b|0;ca(62,a|0,b|0)}function LW(a,b){a=a|0;b=b|0;ca(63,a|0,b|0)}function MW(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return sb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)|0}function NW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(10,a|0,b|0,c|0,d|0,e|0,f|0)|0}function YW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(11,a|0,b|0,c|0,d|0,e|0,f|0)|0}function ZW(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(12,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(13,a|0,b|0,c|0,d|0,e|0,f|0)|0}function $W(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(14,a|0,b|0,c|0,d|0,e|0,f|0)|0}function aX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(15,a|0,b|0,c|0,d|0,e|0,f|0)|0}function bX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(16,a|0,b|0,c|0,d|0,e|0,f|0)|0}function cX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(17,a|0,b|0,c|0,d|0,e|0,f|0)|0}function dX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(18,a|0,b|0,c|0,d|0,e|0,f|0)|0}function eX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(19,a|0,b|0,c|0,d|0,e|0,f|0)|0}function fX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(20,a|0,b|0,c|0,d|0,e|0,f|0)|0}function gX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(21,a|0,b|0,c|0,d|0,e|0,f|0)|0}function hX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(22,a|0,b|0,c|0,d|0,e|0,f|0)|0}function iX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(23,a|0,b|0,c|0,d|0,e|0,f|0)|0}function jX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(24,a|0,b|0,c|0,d|0,e|0,f|0)|0}function kX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(25,a|0,b|0,c|0,d|0,e|0,f|0)|0}function lX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(26,a|0,b|0,c|0,d|0,e|0,f|0)|0}function mX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(27,a|0,b|0,c|0,d|0,e|0,f|0)|0}function nX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(28,a|0,b|0,c|0,d|0,e|0,f|0)|0}function oX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(29,a|0,b|0,c|0,d|0,e|0,f|0)|0}function pX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(30,a|0,b|0,c|0,d|0,e|0,f|0)|0}function qX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(31,a|0,b|0,c|0,d|0,e|0,f|0)|0}function rX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(32,a|0,b|0,c|0,d|0,e|0,f|0)|0}function sX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(33,a|0,b|0,c|0,d|0,e|0,f|0)|0}function tX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(34,a|0,b|0,c|0,d|0,e|0,f|0)|0}function uX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(35,a|0,b|0,c|0,d|0,e|0,f|0)|0}function vX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(36,a|0,b|0,c|0,d|0,e|0,f|0)|0}function wX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(37,a|0,b|0,c|0,d|0,e|0,f|0)|0}function xX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(38,a|0,b|0,c|0,d|0,e|0,f|0)|0}function yX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(39,a|0,b|0,c|0,d|0,e|0,f|0)|0}function zX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(40,a|0,b|0,c|0,d|0,e|0,f|0)|0}function AX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(41,a|0,b|0,c|0,d|0,e|0,f|0)|0}function BX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(42,a|0,b|0,c|0,d|0,e|0,f|0)|0}function CX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(43,a|0,b|0,c|0,d|0,e|0,f|0)|0}function DX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(44,a|0,b|0,c|0,d|0,e|0,f|0)|0}function EX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(45,a|0,b|0,c|0,d|0,e|0,f|0)|0}function FX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(46,a|0,b|0,c|0,d|0,e|0,f|0)|0}function GX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(47,a|0,b|0,c|0,d|0,e|0,f|0)|0}function HX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(48,a|0,b|0,c|0,d|0,e|0,f|0)|0}function IX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(49,a|0,b|0,c|0,d|0,e|0,f|0)|0}function JX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(50,a|0,b|0,c|0,d|0,e|0,f|0)|0}function KX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(51,a|0,b|0,c|0,d|0,e|0,f|0)|0}function LX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(52,a|0,b|0,c|0,d|0,e|0,f|0)|0}function MX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(53,a|0,b|0,c|0,d|0,e|0,f|0)|0}function NX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(54,a|0,b|0,c|0,d|0,e|0,f|0)|0}function OX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(55,a|0,b|0,c|0,d|0,e|0,f|0)|0}function PX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(56,a|0,b|0,c|0,d|0,e|0,f|0)|0}function QX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(57,a|0,b|0,c|0,d|0,e|0,f|0)|0}function RX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(58,a|0,b|0,c|0,d|0,e|0,f|0)|0}function SX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(59,a|0,b|0,c|0,d|0,e|0,f|0)|0}function TX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(60,a|0,b|0,c|0,d|0,e|0,f|0)|0}function UX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(61,a|0,b|0,c|0,d|0,e|0,f|0)|0}function VX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(62,a|0,b|0,c|0,d|0,e|0,f|0)|0}function WX(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ea(63,a|0,b|0,c|0,d|0,e|0,f|0)|0}function XX(a,b){a=a|0;b=b|0;return tb[a&255](b|0)|0}function YX(a){a=a|0;return ga(0,a|0)|0}function ZX(a){a=a|0;return ga(1,a|0)|0}function _X(a){a=a|0;return ga(2,a|0)|0}function $X(a){a=a|0;return ga(3,a|0)|0}function aY(a){a=a|0;return ga(4,a|0)|0}function bY(a){a=a|0;return ga(5,a|0)|0}function cY(a){a=a|0;return ga(6,a|0)|0}function dY(a){a=a|0;return ga(7,a|0)|0}function eY(a){a=a|0;return ga(8,a|0)|0}function fY(a){a=a|0;return ga(9,a|0)|0}function gY(a){a=a|0;return ga(10,a|0)|0}function hY(a){a=a|0;return ga(11,a|0)|0}function iY(a){a=a|0;return ga(12,a|0)|0}function jY(a){a=a|0;return ga(13,a|0)|0}function kY(a){a=a|0;return ga(14,a|0)|0}function lY(a){a=a|0;return ga(15,a|0)|0}function mY(a){a=a|0;return ga(16,a|0)|0}function nY(a){a=a|0;return ga(17,a|0)|0}function oY(a){a=a|0;return ga(18,a|0)|0}function pY(a){a=a|0;return ga(19,a|0)|0}function qY(a){a=a|0;return ga(20,a|0)|0}function rY(a){a=a|0;return ga(21,a|0)|0}function sY(a){a=a|0;return ga(22,a|0)|0}function tY(a){a=a|0;return ga(23,a|0)|0}function uY(a){a=a|0;return ga(24,a|0)|0}function vY(a){a=a|0;return ga(25,a|0)|0}function wY(a){a=a|0;return ga(26,a|0)|0}function xY(a){a=a|0;return ga(27,a|0)|0}function yY(a){a=a|0;return ga(28,a|0)|0}function zY(a){a=a|0;return ga(29,a|0)|0}function AY(a){a=a|0;return ga(30,a|0)|0}function BY(a){a=a|0;return ga(31,a|0)|0}function CY(a){a=a|0;return ga(32,a|0)|0}function DY(a){a=a|0;return ga(33,a|0)|0}function EY(a){a=a|0;return ga(34,a|0)|0}function FY(a){a=a|0;return ga(35,a|0)|0}function GY(a){a=a|0;return ga(36,a|0)|0}function HY(a){a=a|0;return ga(37,a|0)|0}function IY(a){a=a|0;return ga(38,a|0)|0}function JY(a){a=a|0;return ga(39,a|0)|0}function KY(a){a=a|0;return ga(40,a|0)|0}function LY(a){a=a|0;return ga(41,a|0)|0}function MY(a){a=a|0;return ga(42,a|0)|0}function NY(a){a=a|0;return ga(43,a|0)|0}function OY(a){a=a|0;return ga(44,a|0)|0}function PY(a){a=a|0;return ga(45,a|0)|0}function QY(a){a=a|0;return ga(46,a|0)|0}function RY(a){a=a|0;return ga(47,a|0)|0}function SY(a){a=a|0;return ga(48,a|0)|0}function TY(a){a=a|0;return ga(49,a|0)|0}function UY(a){a=a|0;return ga(50,a|0)|0}function VY(a){a=a|0;return ga(51,a|0)|0}function WY(a){a=a|0;return ga(52,a|0)|0}function XY(a){a=a|0;return ga(53,a|0)|0}function YY(a){a=a|0;return ga(54,a|0)|0}function ZY(a){a=a|0;return ga(55,a|0)|0}function _Y(a){a=a|0;return ga(56,a|0)|0}function $Y(a){a=a|0;return ga(57,a|0)|0}function aZ(a){a=a|0;return ga(58,a|0)|0}function bZ(a){a=a|0;return ga(59,a|0)|0}function cZ(a){a=a|0;return ga(60,a|0)|0}function dZ(a){a=a|0;return ga(61,a|0)|0}function eZ(a){a=a|0;return ga(62,a|0)|0}function fZ(a){a=a|0;return ga(63,a|0)|0}function gZ(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ub[a&255](b|0,c|0,d|0)}function hZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(0,a|0,b|0,c|0)}function iZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(1,a|0,b|0,c|0)}function jZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(2,a|0,b|0,c|0)}function kZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(3,a|0,b|0,c|0)}function lZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(4,a|0,b|0,c|0)}function mZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(5,a|0,b|0,c|0)}function nZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(6,a|0,b|0,c|0)}function oZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(7,a|0,b|0,c|0)}function pZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(8,a|0,b|0,c|0)}function qZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(9,a|0,b|0,c|0)}function rZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(10,a|0,b|0,c|0)}function sZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(11,a|0,b|0,c|0)}function tZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(12,a|0,b|0,c|0)}function uZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(13,a|0,b|0,c|0)}function vZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(14,a|0,b|0,c|0)}function wZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(15,a|0,b|0,c|0)}function xZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(16,a|0,b|0,c|0)}function yZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(17,a|0,b|0,c|0)}function zZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(18,a|0,b|0,c|0)}function AZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(19,a|0,b|0,c|0)}function BZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(20,a|0,b|0,c|0)}function CZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(21,a|0,b|0,c|0)}function DZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(22,a|0,b|0,c|0)}function EZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(23,a|0,b|0,c|0)}function FZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(24,a|0,b|0,c|0)}function GZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(25,a|0,b|0,c|0)}function HZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(26,a|0,b|0,c|0)}function IZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(27,a|0,b|0,c|0)}function JZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(28,a|0,b|0,c|0)}function KZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(29,a|0,b|0,c|0)}function LZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(30,a|0,b|0,c|0)}function MZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(31,a|0,b|0,c|0)}function NZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(32,a|0,b|0,c|0)}function OZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(33,a|0,b|0,c|0)}function PZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(34,a|0,b|0,c|0)}function QZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(35,a|0,b|0,c|0)}function RZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(36,a|0,b|0,c|0)}function SZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(37,a|0,b|0,c|0)}function TZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(38,a|0,b|0,c|0)}function UZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(39,a|0,b|0,c|0)}function VZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(40,a|0,b|0,c|0)}function WZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(41,a|0,b|0,c|0)}function XZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(42,a|0,b|0,c|0)}function YZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(43,a|0,b|0,c|0)}function ZZ(a,b,c){a=a|0;b=b|0;c=c|0;ia(44,a|0,b|0,c|0)}function _Z(a,b,c){a=a|0;b=b|0;c=c|0;ia(45,a|0,b|0,c|0)}function $Z(a,b,c){a=a|0;b=b|0;c=c|0;ia(46,a|0,b|0,c|0)}function a_(a,b,c){a=a|0;b=b|0;c=c|0;ia(47,a|0,b|0,c|0)}function b_(a,b,c){a=a|0;b=b|0;c=c|0;ia(48,a|0,b|0,c|0)}function c_(a,b,c){a=a|0;b=b|0;c=c|0;ia(49,a|0,b|0,c|0)}function d_(a,b,c){a=a|0;b=b|0;c=c|0;ia(50,a|0,b|0,c|0)}function e_(a,b,c){a=a|0;b=b|0;c=c|0;ia(51,a|0,b|0,c|0)}function f_(a,b,c){a=a|0;b=b|0;c=c|0;ia(52,a|0,b|0,c|0)}function g_(a,b,c){a=a|0;b=b|0;c=c|0;ia(53,a|0,b|0,c|0)}function h_(a,b,c){a=a|0;b=b|0;c=c|0;ia(54,a|0,b|0,c|0)}function i_(a,b,c){a=a|0;b=b|0;c=c|0;ia(55,a|0,b|0,c|0)}function j_(a,b,c){a=a|0;b=b|0;c=c|0;ia(56,a|0,b|0,c|0)}function k_(a,b,c){a=a|0;b=b|0;c=c|0;ia(57,a|0,b|0,c|0)}function l_(a,b,c){a=a|0;b=b|0;c=c|0;ia(58,a|0,b|0,c|0)}function m_(a,b,c){a=a|0;b=b|0;c=c|0;ia(59,a|0,b|0,c|0)}function n_(a,b,c){a=a|0;b=b|0;c=c|0;ia(60,a|0,b|0,c|0)}function o_(a,b,c){a=a|0;b=b|0;c=c|0;ia(61,a|0,b|0,c|0)}function p_(a,b,c){a=a|0;b=b|0;c=c|0;ia(62,a|0,b|0,c|0)}function q_(a,b,c){a=a|0;b=b|0;c=c|0;ia(63,a|0,b|0,c|0)}function r_(a){a=a|0;vb[a&255]()}function s_(){ka(0)}function t_(){ka(1)}function u_(){ka(2)}function v_(){ka(3)}function w_(){ka(4)}function x_(){ka(5)}function y_(){ka(6)}function z_(){ka(7)}function A_(){ka(8)}function B_(){ka(9)}function C_(){ka(10)}function D_(){ka(11)}function E_(){ka(12)}function F_(){ka(13)}function G_(){ka(14)}function H_(){ka(15)}function I_(){ka(16)}function J_(){ka(17)}function K_(){ka(18)}function L_(){ka(19)}function M_(){ka(20)}function N_(){ka(21)}function O_(){ka(22)}function P_(){ka(23)}function Q_(){ka(24)}function R_(){ka(25)}function S_(){ka(26)}function T_(){ka(27)}function U_(){ka(28)}function V_(){ka(29)}function W_(){ka(30)}function X_(){ka(31)}function Y_(){ka(32)}function Z_(){ka(33)}function __(){ka(34)}function $_(){ka(35)}function a$(){ka(36)}function b$(){ka(37)}function c$(){ka(38)}function d$(){ka(39)}function e$(){ka(40)}function f$(){ka(41)}function g$(){ka(42)}function h$(){ka(43)}function i$(){ka(44)}function j$(){ka(45)}function k$(){ka(46)}function l$(){ka(47)}function m$(){ka(48)}function n$(){ka(49)}function o$(){ka(50)}function p$(){ka(51)}function q$(){ka(52)}function r$(){ka(53)}function s$(){ka(54)}function t$(){ka(55)}function u$(){ka(56)}function v$(){ka(57)}function w$(){ka(58)}function x$(){ka(59)}function y$(){ka(60)}function z$(){ka(61)}function A$(){ka(62)}function B$(){ka(63)}function C$(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return wb[a&255](b|0,c|0,d|0,e|0)|0}function D$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(0,a|0,b|0,c|0,d|0)|0}function E$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(1,a|0,b|0,c|0,d|0)|0}function F$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(2,a|0,b|0,c|0,d|0)|0}function G$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(3,a|0,b|0,c|0,d|0)|0}function H$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(4,a|0,b|0,c|0,d|0)|0}function I$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(5,a|0,b|0,c|0,d|0)|0}function J$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(6,a|0,b|0,c|0,d|0)|0}function K$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(7,a|0,b|0,c|0,d|0)|0}function L$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(8,a|0,b|0,c|0,d|0)|0}function M$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(9,a|0,b|0,c|0,d|0)|0}function N$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(10,a|0,b|0,c|0,d|0)|0}function O$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(11,a|0,b|0,c|0,d|0)|0}function P$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(12,a|0,b|0,c|0,d|0)|0}function Q$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(13,a|0,b|0,c|0,d|0)|0}function R$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(14,a|0,b|0,c|0,d|0)|0}function S$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(15,a|0,b|0,c|0,d|0)|0}function T$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(16,a|0,b|0,c|0,d|0)|0}function U$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(17,a|0,b|0,c|0,d|0)|0}function V$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(18,a|0,b|0,c|0,d|0)|0}function W$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(19,a|0,b|0,c|0,d|0)|0}function X$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(20,a|0,b|0,c|0,d|0)|0}function Y$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(21,a|0,b|0,c|0,d|0)|0}function Z$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(22,a|0,b|0,c|0,d|0)|0}function _$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(23,a|0,b|0,c|0,d|0)|0}function $$(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(24,a|0,b|0,c|0,d|0)|0}function a0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(25,a|0,b|0,c|0,d|0)|0}function b0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(26,a|0,b|0,c|0,d|0)|0}function c0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(27,a|0,b|0,c|0,d|0)|0}function d0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(28,a|0,b|0,c|0,d|0)|0}function e0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(29,a|0,b|0,c|0,d|0)|0}function f0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(30,a|0,b|0,c|0,d|0)|0}function g0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(31,a|0,b|0,c|0,d|0)|0}function h0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(32,a|0,b|0,c|0,d|0)|0}function i0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(33,a|0,b|0,c|0,d|0)|0}function j0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(34,a|0,b|0,c|0,d|0)|0}function k0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(35,a|0,b|0,c|0,d|0)|0}function l0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(36,a|0,b|0,c|0,d|0)|0}function m0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(37,a|0,b|0,c|0,d|0)|0}function n0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(38,a|0,b|0,c|0,d|0)|0}function o0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(39,a|0,b|0,c|0,d|0)|0}function p0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(40,a|0,b|0,c|0,d|0)|0}function q0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(41,a|0,b|0,c|0,d|0)|0}function r0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(42,a|0,b|0,c|0,d|0)|0}function s0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(43,a|0,b|0,c|0,d|0)|0}function t0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(44,a|0,b|0,c|0,d|0)|0}function u0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(45,a|0,b|0,c|0,d|0)|0}function v0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(46,a|0,b|0,c|0,d|0)|0}function w0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(47,a|0,b|0,c|0,d|0)|0}function x0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(48,a|0,b|0,c|0,d|0)|0}function y0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(49,a|0,b|0,c|0,d|0)|0}function z0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(50,a|0,b|0,c|0,d|0)|0}function A0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(51,a|0,b|0,c|0,d|0)|0}function B0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(52,a|0,b|0,c|0,d|0)|0}function C0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(53,a|0,b|0,c|0,d|0)|0}function D0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(54,a|0,b|0,c|0,d|0)|0}function E0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(55,a|0,b|0,c|0,d|0)|0}function F0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(56,a|0,b|0,c|0,d|0)|0}function G0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(57,a|0,b|0,c|0,d|0)|0}function H0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(58,a|0,b|0,c|0,d|0)|0}function I0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(59,a|0,b|0,c|0,d|0)|0}function J0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(60,a|0,b|0,c|0,d|0)|0}function K0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(61,a|0,b|0,c|0,d|0)|0}function L0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(62,a|0,b|0,c|0,d|0)|0}function M0(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ma(63,a|0,b|0,c|0,d|0)|0}function N0(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;xb[a&255](b|0,c|0,d|0,e|0,f|0,g|0)}function O0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(0,a|0,b|0,c|0,d|0,e|0,f|0)}function P0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(1,a|0,b|0,c|0,d|0,e|0,f|0)}function Q0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(2,a|0,b|0,c|0,d|0,e|0,f|0)}function R0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(3,a|0,b|0,c|0,d|0,e|0,f|0)}function S0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(4,a|0,b|0,c|0,d|0,e|0,f|0)}function T0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(5,a|0,b|0,c|0,d|0,e|0,f|0)}function U0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(6,a|0,b|0,c|0,d|0,e|0,f|0)}function V0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(7,a|0,b|0,c|0,d|0,e|0,f|0)}function W0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(8,a|0,b|0,c|0,d|0,e|0,f|0)}function X0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(9,a|0,b|0,c|0,d|0,e|0,f|0)}function Y0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(10,a|0,b|0,c|0,d|0,e|0,f|0)}function Z0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(11,a|0,b|0,c|0,d|0,e|0,f|0)}function _0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(12,a|0,b|0,c|0,d|0,e|0,f|0)}function $0(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(13,a|0,b|0,c|0,d|0,e|0,f|0)}function a1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(14,a|0,b|0,c|0,d|0,e|0,f|0)}function b1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(15,a|0,b|0,c|0,d|0,e|0,f|0)}function c1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(16,a|0,b|0,c|0,d|0,e|0,f|0)}function d1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(17,a|0,b|0,c|0,d|0,e|0,f|0)}function e1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(18,a|0,b|0,c|0,d|0,e|0,f|0)}function f1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(19,a|0,b|0,c|0,d|0,e|0,f|0)}function g1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(20,a|0,b|0,c|0,d|0,e|0,f|0)}function h1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(21,a|0,b|0,c|0,d|0,e|0,f|0)}function i1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(22,a|0,b|0,c|0,d|0,e|0,f|0)}function j1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(23,a|0,b|0,c|0,d|0,e|0,f|0)}function k1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(24,a|0,b|0,c|0,d|0,e|0,f|0)}function l1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(25,a|0,b|0,c|0,d|0,e|0,f|0)}function m1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(26,a|0,b|0,c|0,d|0,e|0,f|0)}function n1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(27,a|0,b|0,c|0,d|0,e|0,f|0)}function o1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(28,a|0,b|0,c|0,d|0,e|0,f|0)}function p1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(29,a|0,b|0,c|0,d|0,e|0,f|0)}function q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(30,a|0,b|0,c|0,d|0,e|0,f|0)}function r1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(31,a|0,b|0,c|0,d|0,e|0,f|0)}function s1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(32,a|0,b|0,c|0,d|0,e|0,f|0)}function t1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(33,a|0,b|0,c|0,d|0,e|0,f|0)}function u1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(34,a|0,b|0,c|0,d|0,e|0,f|0)}function v1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(35,a|0,b|0,c|0,d|0,e|0,f|0)}function w1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(36,a|0,b|0,c|0,d|0,e|0,f|0)}function x1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(37,a|0,b|0,c|0,d|0,e|0,f|0)}function y1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(38,a|0,b|0,c|0,d|0,e|0,f|0)}function z1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(39,a|0,b|0,c|0,d|0,e|0,f|0)}function A1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(40,a|0,b|0,c|0,d|0,e|0,f|0)}function B1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(41,a|0,b|0,c|0,d|0,e|0,f|0)}function C1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(42,a|0,b|0,c|0,d|0,e|0,f|0)}function D1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(43,a|0,b|0,c|0,d|0,e|0,f|0)}function E1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(44,a|0,b|0,c|0,d|0,e|0,f|0)}function F1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(45,a|0,b|0,c|0,d|0,e|0,f|0)}function G1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(46,a|0,b|0,c|0,d|0,e|0,f|0)}function H1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(47,a|0,b|0,c|0,d|0,e|0,f|0)}function I1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(48,a|0,b|0,c|0,d|0,e|0,f|0)}function J1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(49,a|0,b|0,c|0,d|0,e|0,f|0)}function K1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(50,a|0,b|0,c|0,d|0,e|0,f|0)}function L1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(51,a|0,b|0,c|0,d|0,e|0,f|0)}function M1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(52,a|0,b|0,c|0,d|0,e|0,f|0)}function N1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(53,a|0,b|0,c|0,d|0,e|0,f|0)}function O1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(54,a|0,b|0,c|0,d|0,e|0,f|0)}function P1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(55,a|0,b|0,c|0,d|0,e|0,f|0)}function Q1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(56,a|0,b|0,c|0,d|0,e|0,f|0)}function R1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(57,a|0,b|0,c|0,d|0,e|0,f|0)}function S1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(58,a|0,b|0,c|0,d|0,e|0,f|0)}function T1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(59,a|0,b|0,c|0,d|0,e|0,f|0)}function U1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(60,a|0,b|0,c|0,d|0,e|0,f|0)}function V1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(61,a|0,b|0,c|0,d|0,e|0,f|0)}function W1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(62,a|0,b|0,c|0,d|0,e|0,f|0)}function X1(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;oa(63,a|0,b|0,c|0,d|0,e|0,f|0)}function Y1(a,b,c){a=a|0;b=b|0;c=c|0;return yb[a&255](b|0,c|0)|0}function Z1(a,b){a=a|0;b=b|0;return qa(0,a|0,b|0)|0}function _1(a,b){a=a|0;b=b|0;return qa(1,a|0,b|0)|0}function $1(a,b){a=a|0;b=b|0;return qa(2,a|0,b|0)|0}function a2(a,b){a=a|0;b=b|0;return qa(3,a|0,b|0)|0}function b2(a,b){a=a|0;b=b|0;return qa(4,a|0,b|0)|0}function c2(a,b){a=a|0;b=b|0;return qa(5,a|0,b|0)|0}function d2(a,b){a=a|0;b=b|0;return qa(6,a|0,b|0)|0}function e2(a,b){a=a|0;b=b|0;return qa(7,a|0,b|0)|0}function f2(a,b){a=a|0;b=b|0;return qa(8,a|0,b|0)|0}function g2(a,b){a=a|0;b=b|0;return qa(9,a|0,b|0)|0}function h2(a,b){a=a|0;b=b|0;return qa(10,a|0,b|0)|0}function i2(a,b){a=a|0;b=b|0;return qa(11,a|0,b|0)|0}function j2(a,b){a=a|0;b=b|0;return qa(12,a|0,b|0)|0}function k2(a,b){a=a|0;b=b|0;return qa(13,a|0,b|0)|0}function l2(a,b){a=a|0;b=b|0;return qa(14,a|0,b|0)|0}function m2(a,b){a=a|0;b=b|0;return qa(15,a|0,b|0)|0}function n2(a,b){a=a|0;b=b|0;return qa(16,a|0,b|0)|0}function o2(a,b){a=a|0;b=b|0;return qa(17,a|0,b|0)|0}function p2(a,b){a=a|0;b=b|0;return qa(18,a|0,b|0)|0}function q2(a,b){a=a|0;b=b|0;return qa(19,a|0,b|0)|0}function r2(a,b){a=a|0;b=b|0;return qa(20,a|0,b|0)|0}function s2(a,b){a=a|0;b=b|0;return qa(21,a|0,b|0)|0}function t2(a,b){a=a|0;b=b|0;return qa(22,a|0,b|0)|0}function u2(a,b){a=a|0;b=b|0;return qa(23,a|0,b|0)|0}function v2(a,b){a=a|0;b=b|0;return qa(24,a|0,b|0)|0}function w2(a,b){a=a|0;b=b|0;return qa(25,a|0,b|0)|0}function x2(a,b){a=a|0;b=b|0;return qa(26,a|0,b|0)|0}function y2(a,b){a=a|0;b=b|0;return qa(27,a|0,b|0)|0}function z2(a,b){a=a|0;b=b|0;return qa(28,a|0,b|0)|0}function A2(a,b){a=a|0;b=b|0;return qa(29,a|0,b|0)|0}function B2(a,b){a=a|0;b=b|0;return qa(30,a|0,b|0)|0}function C2(a,b){a=a|0;b=b|0;return qa(31,a|0,b|0)|0}function D2(a,b){a=a|0;b=b|0;return qa(32,a|0,b|0)|0}function E2(a,b){a=a|0;b=b|0;return qa(33,a|0,b|0)|0}function F2(a,b){a=a|0;b=b|0;return qa(34,a|0,b|0)|0}function G2(a,b){a=a|0;b=b|0;return qa(35,a|0,b|0)|0}function H2(a,b){a=a|0;b=b|0;return qa(36,a|0,b|0)|0}function I2(a,b){a=a|0;b=b|0;return qa(37,a|0,b|0)|0}function J2(a,b){a=a|0;b=b|0;return qa(38,a|0,b|0)|0}function K2(a,b){a=a|0;b=b|0;return qa(39,a|0,b|0)|0}function L2(a,b){a=a|0;b=b|0;return qa(40,a|0,b|0)|0}function M2(a,b){a=a|0;b=b|0;return qa(41,a|0,b|0)|0}function N2(a,b){a=a|0;b=b|0;return qa(42,a|0,b|0)|0}function O2(a,b){a=a|0;b=b|0;return qa(43,a|0,b|0)|0}function P2(a,b){a=a|0;b=b|0;return qa(44,a|0,b|0)|0}function Q2(a,b){a=a|0;b=b|0;return qa(45,a|0,b|0)|0}function R2(a,b){a=a|0;b=b|0;return qa(46,a|0,b|0)|0}function S2(a,b){a=a|0;b=b|0;return qa(47,a|0,b|0)|0}function T2(a,b){a=a|0;b=b|0;return qa(48,a|0,b|0)|0}function U2(a,b){a=a|0;b=b|0;return qa(49,a|0,b|0)|0}function V2(a,b){a=a|0;b=b|0;return qa(50,a|0,b|0)|0}function W2(a,b){a=a|0;b=b|0;return qa(51,a|0,b|0)|0}function X2(a,b){a=a|0;b=b|0;return qa(52,a|0,b|0)|0}function Y2(a,b){a=a|0;b=b|0;return qa(53,a|0,b|0)|0}function Z2(a,b){a=a|0;b=b|0;return qa(54,a|0,b|0)|0}function _2(a,b){a=a|0;b=b|0;return qa(55,a|0,b|0)|0}function $2(a,b){a=a|0;b=b|0;return qa(56,a|0,b|0)|0}function a3(a,b){a=a|0;b=b|0;return qa(57,a|0,b|0)|0}function b3(a,b){a=a|0;b=b|0;return qa(58,a|0,b|0)|0}function c3(a,b){a=a|0;b=b|0;return qa(59,a|0,b|0)|0}function d3(a,b){a=a|0;b=b|0;return qa(60,a|0,b|0)|0}function e3(a,b){a=a|0;b=b|0;return qa(61,a|0,b|0)|0}function f3(a,b){a=a|0;b=b|0;return qa(62,a|0,b|0)|0}function g3(a,b){a=a|0;b=b|0;return qa(63,a|0,b|0)|0}function h3(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return zb[a&255](b|0,c|0,d|0,e|0,f|0)|0}function i3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(0,a|0,b|0,c|0,d|0,e|0)|0}function j3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(1,a|0,b|0,c|0,d|0,e|0)|0}function k3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(2,a|0,b|0,c|0,d|0,e|0)|0}function l3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(3,a|0,b|0,c|0,d|0,e|0)|0}function m3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(4,a|0,b|0,c|0,d|0,e|0)|0}function n3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(5,a|0,b|0,c|0,d|0,e|0)|0}function o3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(6,a|0,b|0,c|0,d|0,e|0)|0}function p3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(7,a|0,b|0,c|0,d|0,e|0)|0}function q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(8,a|0,b|0,c|0,d|0,e|0)|0}function r3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(9,a|0,b|0,c|0,d|0,e|0)|0}function s3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(10,a|0,b|0,c|0,d|0,e|0)|0}function t3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(11,a|0,b|0,c|0,d|0,e|0)|0}function u3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(12,a|0,b|0,c|0,d|0,e|0)|0}function v3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(13,a|0,b|0,c|0,d|0,e|0)|0}function w3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(14,a|0,b|0,c|0,d|0,e|0)|0}function x3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(15,a|0,b|0,c|0,d|0,e|0)|0}function y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(16,a|0,b|0,c|0,d|0,e|0)|0}function z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(17,a|0,b|0,c|0,d|0,e|0)|0}function A3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(18,a|0,b|0,c|0,d|0,e|0)|0}function B3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(19,a|0,b|0,c|0,d|0,e|0)|0}function C3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(20,a|0,b|0,c|0,d|0,e|0)|0}function D3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(21,a|0,b|0,c|0,d|0,e|0)|0}function E3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(22,a|0,b|0,c|0,d|0,e|0)|0}function F3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(23,a|0,b|0,c|0,d|0,e|0)|0}function G3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(24,a|0,b|0,c|0,d|0,e|0)|0}function H3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(25,a|0,b|0,c|0,d|0,e|0)|0}function I3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(26,a|0,b|0,c|0,d|0,e|0)|0}function J3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(27,a|0,b|0,c|0,d|0,e|0)|0}function K3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(28,a|0,b|0,c|0,d|0,e|0)|0}function L3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(29,a|0,b|0,c|0,d|0,e|0)|0}function M3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(30,a|0,b|0,c|0,d|0,e|0)|0}function N3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(31,a|0,b|0,c|0,d|0,e|0)|0}function O3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(32,a|0,b|0,c|0,d|0,e|0)|0}function P3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(33,a|0,b|0,c|0,d|0,e|0)|0}function Q3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(34,a|0,b|0,c|0,d|0,e|0)|0}function R3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(35,a|0,b|0,c|0,d|0,e|0)|0}function S3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(36,a|0,b|0,c|0,d|0,e|0)|0}function T3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(37,a|0,b|0,c|0,d|0,e|0)|0}function U3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(38,a|0,b|0,c|0,d|0,e|0)|0}function V3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(39,a|0,b|0,c|0,d|0,e|0)|0}function W3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(40,a|0,b|0,c|0,d|0,e|0)|0}function X3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(41,a|0,b|0,c|0,d|0,e|0)|0}function Y3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(42,a|0,b|0,c|0,d|0,e|0)|0}function Z3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(43,a|0,b|0,c|0,d|0,e|0)|0}function _3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(44,a|0,b|0,c|0,d|0,e|0)|0}function $3(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(45,a|0,b|0,c|0,d|0,e|0)|0}function a4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(46,a|0,b|0,c|0,d|0,e|0)|0}function b4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(47,a|0,b|0,c|0,d|0,e|0)|0}function c4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(48,a|0,b|0,c|0,d|0,e|0)|0}function d4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(49,a|0,b|0,c|0,d|0,e|0)|0}function e4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(50,a|0,b|0,c|0,d|0,e|0)|0}function f4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(51,a|0,b|0,c|0,d|0,e|0)|0}function g4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(52,a|0,b|0,c|0,d|0,e|0)|0}function h4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(53,a|0,b|0,c|0,d|0,e|0)|0}function i4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(54,a|0,b|0,c|0,d|0,e|0)|0}function j4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(55,a|0,b|0,c|0,d|0,e|0)|0}function k4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(56,a|0,b|0,c|0,d|0,e|0)|0}function l4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(57,a|0,b|0,c|0,d|0,e|0)|0}function m4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(58,a|0,b|0,c|0,d|0,e|0)|0}function n4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(59,a|0,b|0,c|0,d|0,e|0)|0}function o4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(60,a|0,b|0,c|0,d|0,e|0)|0}function p4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(61,a|0,b|0,c|0,d|0,e|0)|0}function q4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(62,a|0,b|0,c|0,d|0,e|0)|0}function r4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return sa(63,a|0,b|0,c|0,d|0,e|0)|0}function s4(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Ab[a&255](b|0,c|0,d|0,e|0)}function t4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(0,a|0,b|0,c|0,d|0)}function u4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(1,a|0,b|0,c|0,d|0)}function v4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(2,a|0,b|0,c|0,d|0)}function w4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(3,a|0,b|0,c|0,d|0)}function x4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(4,a|0,b|0,c|0,d|0)}function y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(5,a|0,b|0,c|0,d|0)}function z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(6,a|0,b|0,c|0,d|0)}function A4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(7,a|0,b|0,c|0,d|0)}function B4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(8,a|0,b|0,c|0,d|0)}function C4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(9,a|0,b|0,c|0,d|0)}function D4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(10,a|0,b|0,c|0,d|0)}function E4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(11,a|0,b|0,c|0,d|0)}function F4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(12,a|0,b|0,c|0,d|0)}function G4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(13,a|0,b|0,c|0,d|0)}function H4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(14,a|0,b|0,c|0,d|0)}function I4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(15,a|0,b|0,c|0,d|0)}function J4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(16,a|0,b|0,c|0,d|0)}function K4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(17,a|0,b|0,c|0,d|0)}function L4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(18,a|0,b|0,c|0,d|0)}function M4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(19,a|0,b|0,c|0,d|0)}function N4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(20,a|0,b|0,c|0,d|0)}function O4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(21,a|0,b|0,c|0,d|0)}function P4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(22,a|0,b|0,c|0,d|0)}function Q4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(23,a|0,b|0,c|0,d|0)}function R4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(24,a|0,b|0,c|0,d|0)}function S4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(25,a|0,b|0,c|0,d|0)}function T4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(26,a|0,b|0,c|0,d|0)}function U4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(27,a|0,b|0,c|0,d|0)}function V4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(28,a|0,b|0,c|0,d|0)}function W4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(29,a|0,b|0,c|0,d|0)}function X4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(30,a|0,b|0,c|0,d|0)}function Y4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(31,a|0,b|0,c|0,d|0)}function Z4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(32,a|0,b|0,c|0,d|0)}function _4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(33,a|0,b|0,c|0,d|0)}function $4(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(34,a|0,b|0,c|0,d|0)}function a5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(35,a|0,b|0,c|0,d|0)}function b5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(36,a|0,b|0,c|0,d|0)}function c5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(37,a|0,b|0,c|0,d|0)}function d5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(38,a|0,b|0,c|0,d|0)}function e5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(39,a|0,b|0,c|0,d|0)}function f5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(40,a|0,b|0,c|0,d|0)}function g5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(41,a|0,b|0,c|0,d|0)}function h5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(42,a|0,b|0,c|0,d|0)}function i5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(43,a|0,b|0,c|0,d|0)}function j5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(44,a|0,b|0,c|0,d|0)}function k5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(45,a|0,b|0,c|0,d|0)}function l5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(46,a|0,b|0,c|0,d|0)}function m5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(47,a|0,b|0,c|0,d|0)}function n5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(48,a|0,b|0,c|0,d|0)}function o5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(49,a|0,b|0,c|0,d|0)}function p5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(50,a|0,b|0,c|0,d|0)}function q5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(51,a|0,b|0,c|0,d|0)}function r5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(52,a|0,b|0,c|0,d|0)}function s5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(53,a|0,b|0,c|0,d|0)}function t5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(54,a|0,b|0,c|0,d|0)}function u5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(55,a|0,b|0,c|0,d|0)}function v5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(56,a|0,b|0,c|0,d|0)}function w5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(57,a|0,b|0,c|0,d|0)}function x5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(58,a|0,b|0,c|0,d|0)}function y5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(59,a|0,b|0,c|0,d|0)}function z5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(60,a|0,b|0,c|0,d|0)}function A5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(61,a|0,b|0,c|0,d|0)}function B5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(62,a|0,b|0,c|0,d|0)}function C5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ua(63,a|0,b|0,c|0,d|0)}function D5(a,b,c){a=a|0;b=b|0;c=c|0;S(0);return 0}function E5(){S(1);return 0}function F5(a){a=a|0;S(2)}function G5(a,b){a=a|0;b=b|0;S(3)}function H5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(4);return 0}function I5(a){a=a|0;S(5);return 0}function J5(a,b,c){a=a|0;b=b|0;c=c|0;S(6)}function K5(){S(7)}function L5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(8);return 0}function M5(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;S(9)}function N5(a,b){a=a|0;b=b|0;S(10);return 0}function O5(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;S(11);return 0}function P5(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;S(12)} + +// EMSCRIPTEN_END_FUNCS +var ob=[D5,D5,XR,D5,YR,D5,ZR,D5,_R,D5,$R,D5,aS,D5,bS,D5,cS,D5,dS,D5,eS,D5,fS,D5,gS,D5,hS,D5,iS,D5,jS,D5,kS,D5,lS,D5,mS,D5,nS,D5,oS,D5,pS,D5,qS,D5,rS,D5,sS,D5,tS,D5,uS,D5,vS,D5,wS,D5,xS,D5,yS,D5,zS,D5,AS,D5,BS,D5,CS,D5,DS,D5,ES,D5,FS,D5,GS,D5,HS,D5,IS,D5,JS,D5,KS,D5,LS,D5,MS,D5,NS,D5,OS,D5,PS,D5,QS,D5,RS,D5,SS,D5,TS,D5,US,D5,VS,D5,WS,D5,XS,D5,YS,D5,ZS,D5,_S,D5,$S,D5,aT,D5,bT,D5,cT,D5,dT,D5,eT,D5,be,ee,he,je,qe,we,Ke,$Q,kR,cR,bR,fR,eg,hg,Ul,XJ,xJ,aP,qP,FP,IP,XP,YP,hD,iD,jD,OM,KL,NL,KM,IM,SM,ZM,bQ,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5,D5];var pb=[E5,E5,gT,E5,hT,E5,iT,E5,jT,E5,kT,E5,lT,E5,mT,E5,nT,E5,oT,E5,pT,E5,qT,E5,rT,E5,sT,E5,tT,E5,uT,E5,vT,E5,wT,E5,xT,E5,yT,E5,zT,E5,AT,E5,BT,E5,CT,E5,DT,E5,ET,E5,FT,E5,GT,E5,HT,E5,IT,E5,JT,E5,KT,E5,LT,E5,MT,E5,NT,E5,OT,E5,PT,E5,QT,E5,RT,E5,ST,E5,TT,E5,UT,E5,VT,E5,WT,E5,XT,E5,YT,E5,ZT,E5,_T,E5,$T,E5,aU,E5,bU,E5,cU,E5,dU,E5,eU,E5,fU,E5,gU,E5,hU,E5,iU,E5,jU,E5,kU,E5,lU,E5,mU,E5,nU,E5,oU,E5,pU,E5,hR,Me,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5,E5];var qb=[F5,F5,rU,F5,sU,F5,tU,F5,uU,F5,vU,F5,wU,F5,xU,F5,yU,F5,zU,F5,AU,F5,BU,F5,CU,F5,DU,F5,EU,F5,FU,F5,GU,F5,HU,F5,IU,F5,JU,F5,KU,F5,LU,F5,MU,F5,NU,F5,OU,F5,PU,F5,QU,F5,RU,F5,SU,F5,TU,F5,UU,F5,VU,F5,WU,F5,XU,F5,YU,F5,ZU,F5,_U,F5,$U,F5,aV,F5,bV,F5,cV,F5,dV,F5,eV,F5,fV,F5,gV,F5,hV,F5,iV,F5,jV,F5,kV,F5,lV,F5,mV,F5,nV,F5,oV,F5,pV,F5,qV,F5,rV,F5,sV,F5,tV,F5,uV,F5,vV,F5,wV,F5,xV,F5,yV,F5,zV,F5,AV,F5,uc,vc,xc,yc,zc,Ac,Ae,dg,lg,mg,Yf,bg,Pg,mh,nh,oh,qh,sh,Kd,Zk,Cx,Yp,lJ,NM,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5,F5];var rb=[G5,G5,CV,G5,DV,G5,EV,G5,FV,G5,GV,G5,HV,G5,IV,G5,JV,G5,KV,G5,LV,G5,MV,G5,NV,G5,OV,G5,PV,G5,QV,G5,RV,G5,SV,G5,TV,G5,UV,G5,VV,G5,WV,G5,XV,G5,YV,G5,ZV,G5,_V,G5,$V,G5,aW,G5,bW,G5,cW,G5,dW,G5,eW,G5,fW,G5,gW,G5,hW,G5,iW,G5,jW,G5,kW,G5,lW,G5,mW,G5,nW,G5,oW,G5,pW,G5,qW,G5,rW,G5,sW,G5,tW,G5,uW,G5,vW,G5,wW,G5,xW,G5,yW,G5,zW,G5,AW,G5,BW,G5,CW,G5,DW,G5,EW,G5,FW,G5,GW,G5,HW,G5,IW,G5,JW,G5,KW,G5,LW,G5,fg,kg,Hw,Kv,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5,G5];var sb=[H5,H5,NW,H5,OW,H5,PW,H5,QW,H5,RW,H5,SW,H5,TW,H5,UW,H5,VW,H5,WW,H5,XW,H5,YW,H5,ZW,H5,_W,H5,$W,H5,aX,H5,bX,H5,cX,H5,dX,H5,eX,H5,fX,H5,gX,H5,hX,H5,iX,H5,jX,H5,kX,H5,lX,H5,mX,H5,nX,H5,oX,H5,pX,H5,qX,H5,rX,H5,sX,H5,tX,H5,uX,H5,vX,H5,wX,H5,xX,H5,yX,H5,zX,H5,AX,H5,BX,H5,CX,H5,DX,H5,EX,H5,FX,H5,GX,H5,HX,H5,IX,H5,JX,H5,KX,H5,LX,H5,MX,H5,NX,H5,OX,H5,PX,H5,QX,H5,RX,H5,SX,H5,TX,H5,UX,H5,VX,H5,WX,H5,UQ,NJ,OJ,pJ,eP,uP,xP,MP,VG,WG,XG,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5,H5];var tb=[I5,I5,YX,I5,ZX,I5,_X,I5,$X,I5,aY,I5,bY,I5,cY,I5,dY,I5,eY,I5,fY,I5,gY,I5,hY,I5,iY,I5,jY,I5,kY,I5,lY,I5,mY,I5,nY,I5,oY,I5,pY,I5,qY,I5,rY,I5,sY,I5,tY,I5,uY,I5,vY,I5,wY,I5,xY,I5,yY,I5,zY,I5,AY,I5,BY,I5,CY,I5,DY,I5,EY,I5,FY,I5,GY,I5,HY,I5,IY,I5,JY,I5,KY,I5,LY,I5,MY,I5,NY,I5,OY,I5,PY,I5,QY,I5,RY,I5,SY,I5,TY,I5,UY,I5,VY,I5,WY,I5,XY,I5,YY,I5,ZY,I5,_Y,I5,$Y,I5,aZ,I5,bZ,I5,cZ,I5,dZ,I5,eZ,I5,fZ,I5,ne,xe,ye,YQ,VQ,gR,lf,xf,cg,gg,Xf,_f,$f,ag,Rl,QJ,RJ,TJ,VJ,WJ,_J,$J,aK,bK,rJ,tJ,vJ,wJ,bP,dP,rP,tP,zP,BP,DP,EP,JP,LP,WP,ud,bl,wh,iP,jP,nP,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5,I5];var ub=[J5,J5,hZ,J5,iZ,J5,jZ,J5,kZ,J5,lZ,J5,mZ,J5,nZ,J5,oZ,J5,pZ,J5,qZ,J5,rZ,J5,sZ,J5,tZ,J5,uZ,J5,vZ,J5,wZ,J5,xZ,J5,yZ,J5,zZ,J5,AZ,J5,BZ,J5,CZ,J5,DZ,J5,EZ,J5,FZ,J5,GZ,J5,HZ,J5,IZ,J5,JZ,J5,KZ,J5,LZ,J5,MZ,J5,NZ,J5,OZ,J5,PZ,J5,QZ,J5,RZ,J5,SZ,J5,TZ,J5,UZ,J5,VZ,J5,WZ,J5,XZ,J5,YZ,J5,ZZ,J5,_Z,J5,$Z,J5,a_,J5,b_,J5,c_,J5,d_,J5,e_,J5,f_,J5,g_,J5,h_,J5,i_,J5,j_,J5,k_,J5,l_,J5,m_,J5,n_,J5,o_,J5,p_,J5,q_,J5,Jb,Kb,Lb,Mb,Nb,Ob,Pb,Qb,Rb,Sb,Tb,Ub,Vb,Wb,Xb,Yb,Zb,_b,$b,ac,bc,cc,dc,ec,fc,gc,hc,ic,jc,kc,lc,mc,nc,oc,pc,qc,rc,sc,tc,wc,ig,Jg,Kg,Lg,Mg,Ng,Og,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,_g,$g,ah,bh,ch,dh,eh,fh,gh,hh,ih,jh,kh,lh,ph,rh,th,Yi,Zi,_i,$i,aj,bj,cj,dj,vj,wj,xj,Bx,xx,wx,Wy,Xy,pL,qL,rL,sL,Ho,Eo,Go,WI,WO,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5,J5];var vb=[K5,K5,s_,K5,t_,K5,u_,K5,v_,K5,w_,K5,x_,K5,y_,K5,z_,K5,A_,K5,B_,K5,C_,K5,D_,K5,E_,K5,F_,K5,G_,K5,H_,K5,I_,K5,J_,K5,K_,K5,L_,K5,M_,K5,N_,K5,O_,K5,P_,K5,Q_,K5,R_,K5,S_,K5,T_,K5,U_,K5,V_,K5,W_,K5,X_,K5,Y_,K5,Z_,K5,__,K5,$_,K5,a$,K5,b$,K5,c$,K5,d$,K5,e$,K5,f$,K5,g$,K5,h$,K5,i$,K5,j$,K5,k$,K5,l$,K5,m$,K5,n$,K5,o$,K5,p$,K5,q$,K5,r$,K5,s$,K5,t$,K5,u$,K5,v$,K5,w$,K5,x$,K5,y$,K5,z$,K5,A$,K5,B$,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5,K5];var wb=[L5,L5,D$,L5,E$,L5,F$,L5,G$,L5,H$,L5,I$,L5,J$,L5,K$,L5,L$,L5,M$,L5,N$,L5,O$,L5,P$,L5,Q$,L5,R$,L5,S$,L5,T$,L5,U$,L5,V$,L5,W$,L5,X$,L5,Y$,L5,Z$,L5,_$,L5,$$,L5,a0,L5,b0,L5,c0,L5,d0,L5,e0,L5,f0,L5,g0,L5,h0,L5,i0,L5,j0,L5,k0,L5,l0,L5,m0,L5,n0,L5,o0,L5,p0,L5,q0,L5,r0,L5,s0,L5,t0,L5,u0,L5,v0,L5,w0,L5,x0,L5,y0,L5,z0,L5,A0,L5,B0,L5,C0,L5,D0,L5,E0,L5,F0,L5,G0,L5,H0,L5,I0,L5,J0,L5,K0,L5,L0,L5,M0,L5,ce,de,ze,De,ZJ,cP,sP,KP,Oz,tu,yu,uF,IJ,JJ,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5,L5];var xb=[M5,M5,O0,M5,P0,M5,Q0,M5,R0,M5,S0,M5,T0,M5,U0,M5,V0,M5,W0,M5,X0,M5,Y0,M5,Z0,M5,_0,M5,$0,M5,a1,M5,b1,M5,c1,M5,d1,M5,e1,M5,f1,M5,g1,M5,h1,M5,i1,M5,j1,M5,k1,M5,l1,M5,m1,M5,n1,M5,o1,M5,p1,M5,q1,M5,r1,M5,s1,M5,t1,M5,u1,M5,v1,M5,w1,M5,x1,M5,y1,M5,z1,M5,A1,M5,B1,M5,C1,M5,D1,M5,E1,M5,F1,M5,G1,M5,H1,M5,I1,M5,J1,M5,K1,M5,L1,M5,M1,M5,N1,M5,O1,M5,P1,M5,Q1,M5,R1,M5,S1,M5,T1,M5,U1,M5,V1,M5,W1,M5,X1,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5,M5];var yb=[N5,N5,Z1,N5,_1,N5,$1,N5,a2,N5,b2,N5,c2,N5,d2,N5,e2,N5,f2,N5,g2,N5,h2,N5,i2,N5,j2,N5,k2,N5,l2,N5,m2,N5,n2,N5,o2,N5,p2,N5,q2,N5,r2,N5,s2,N5,t2,N5,u2,N5,v2,N5,w2,N5,x2,N5,y2,N5,z2,N5,A2,N5,B2,N5,C2,N5,D2,N5,E2,N5,F2,N5,G2,N5,H2,N5,I2,N5,J2,N5,K2,N5,L2,N5,M2,N5,N2,N5,O2,N5,P2,N5,Q2,N5,R2,N5,S2,N5,T2,N5,U2,N5,V2,N5,W2,N5,X2,N5,Y2,N5,Z2,N5,_2,N5,$2,N5,a3,N5,b3,N5,c3,N5,d3,N5,e3,N5,f3,N5,g3,N5,fe,ge,ie,ke,le,Qf,kf,me,re,se,te,ue,ve,Be,lR,iR,RQ,_Q,dR,vR,Le,SQ,WQ,uR,mf,nf,of,yf,zf,Af,Zf,Vl,Wl,PJ,SJ,YJ,dK,eK,fK,gK,qJ,sJ,yJ,yP,AP,GP,Kc,Lc,ho,vn,Do,Fo,pd,Lv,Fw,Gw,Sv,Tv,qw,yw,Jy,Ky,Sz,dC,vD,VC,WC,gE,hE,KJ,LJ,MK,NK,QK,oL,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5,N5];var zb=[O5,O5,i3,O5,j3,O5,k3,O5,l3,O5,m3,O5,n3,O5,o3,O5,p3,O5,q3,O5,r3,O5,s3,O5,t3,O5,u3,O5,v3,O5,w3,O5,x3,O5,y3,O5,z3,O5,A3,O5,B3,O5,C3,O5,D3,O5,E3,O5,F3,O5,G3,O5,H3,O5,I3,O5,J3,O5,K3,O5,L3,O5,M3,O5,N3,O5,O3,O5,P3,O5,Q3,O5,R3,O5,S3,O5,T3,O5,U3,O5,V3,O5,W3,O5,X3,O5,Y3,O5,Z3,O5,_3,O5,$3,O5,a4,O5,b4,O5,c4,O5,d4,O5,e4,O5,f4,O5,g4,O5,h4,O5,i4,O5,j4,O5,k4,O5,l4,O5,m4,O5,n4,O5,o4,O5,p4,O5,q4,O5,r4,O5,ae,oe,pe,Ce,Bf,Sl,Tl,UJ,cK,uJ,CP,_I,aJ,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5,O5];var Ab=[P5,P5,t4,P5,u4,P5,v4,P5,w4,P5,x4,P5,y4,P5,z4,P5,A4,P5,B4,P5,C4,P5,D4,P5,E4,P5,F4,P5,G4,P5,H4,P5,I4,P5,J4,P5,K4,P5,L4,P5,M4,P5,N4,P5,O4,P5,P4,P5,Q4,P5,R4,P5,S4,P5,T4,P5,U4,P5,V4,P5,W4,P5,X4,P5,Y4,P5,Z4,P5,_4,P5,$4,P5,a5,P5,b5,P5,c5,P5,d5,P5,e5,P5,f5,P5,g5,P5,h5,P5,i5,P5,j5,P5,k5,P5,l5,P5,m5,P5,n5,P5,o5,P5,p5,P5,q5,P5,r5,P5,s5,P5,t5,P5,u5,P5,v5,P5,w5,P5,x5,P5,y5,P5,z5,P5,A5,P5,B5,P5,C5,P5,jg,Vc,Xc,ty,uy,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5,P5];return{_llvm_bswap_i32:NR,_sqlite3_value_blob:wi,_sqlite3_column_name:Hu,_sqlite3_reset:Er,_sqlite3_column_type:Ju,_sqlite3_exec:wu,stackSave:Cb,getTempRet0:Hb,_sqlite3_result_null:Ui,___udivdi3:PR,_sqlite3_step:Hr,_bitshift64Lshr:OR,_sqlite3_prepare_v2:Fu,_sqlite3_close_v2:SI,_sqlite3_open:YI,_bitshift64Shl:HR,_sqlite3_result_text:ci,_fflush:sR,_emscripten_get_global_libc:VP,_sqlite3_column_bytes:fI,_sqlite3_bind_int:oI,_sqlite3_bind_blob:kI,_llvm_cttz_i32:JR,_sbrk:SR,_sqlite3_value_double:mi,_memcpy:MR,_sqlite3_result_double:hi,_sqlite3_value_text:wh,___muldi3:RR,_sqlite3_changes:Ii,_sqlite3_column_blob:eI,___uremdi3:UR,___divdi3:LR,_sqlite3_value_type:fi,stackAlloc:Bb,_i64Subtract:FR,_sqlite3_column_text:Iu,___udivmoddi4:KR,setTempRet0:Gb,_i64Add:IR,_sqlite3_value_bytes:xh,_sqlite3_finalize:Qq,_sqlite3_column_double:gI,_sqlite3_create_function_v2:UI,_sqlite3_errmsg:Ku,_sqlite3_value_int:vi,_sqlite3_data_count:dI,_sqlite3_bind_text:rI,stackRestore:Db,_sqlite3_bind_double:nI,___errno_location:_P,___muldsi3:QR,_RegisterExtensionFunctions:Ib,_free:xR,runPostSets:ER,setThrew:Fb,establishStackSpace:Eb,_sqlite3_bind_parameter_index:vI,_sqlite3_free:Kd,_sqlite3_clear_bindings:Gr,_malloc:wR,_memalign:CR,_memmove:TR,___remdi3:VR,_memset:GR,stackAlloc:Bb,stackSave:Cb,stackRestore:Db,establishStackSpace:Eb,setThrew:Fb,setTempRet0:Gb,getTempRet0:Hb,dynCall_iiii:WR,dynCall_i:fT,dynCall_vi:qU,dynCall_vii:BV,dynCall_iiiiiii:MW,dynCall_ii:XX,dynCall_viii:gZ,dynCall_v:r_,dynCall_iiiii:C$,dynCall_viiiiii:N0,dynCall_iii:Y1,dynCall_iiiiii:h3,dynCall_viiii:s4}}) + + +// EMSCRIPTEN_END_ASM +(e.Ua,e.Va,buffer),Cc=e._llvm_bswap_i32=W._llvm_bswap_i32;e._sqlite3_value_blob=W._sqlite3_value_blob;e._sqlite3_column_name=W._sqlite3_column_name;e._sqlite3_reset=W._sqlite3_reset;e._sqlite3_column_type=W._sqlite3_column_type;e._sqlite3_exec=W._sqlite3_exec;e.stackSave=W.stackSave; +e.getTempRet0=W.getTempRet0;e._sqlite3_result_null=W._sqlite3_result_null;var Nc=e.___udivdi3=W.___udivdi3;e._sqlite3_step=W._sqlite3_step;var Jc=e._bitshift64Lshr=W._bitshift64Lshr;e._sqlite3_prepare_v2=W._sqlite3_prepare_v2;e._sqlite3_close_v2=W._sqlite3_close_v2;e._sqlite3_open=W._sqlite3_open;var uc=e._bitshift64Shl=W._bitshift64Shl;e._sqlite3_result_text=W._sqlite3_result_text;e._fflush=W._fflush;e._emscripten_get_global_libc=W._emscripten_get_global_libc;e._sqlite3_column_bytes=W._sqlite3_column_bytes; +e._sqlite3_bind_int=W._sqlite3_bind_int;e._sqlite3_bind_blob=W._sqlite3_bind_blob;var xc=e._llvm_cttz_i32=W._llvm_cttz_i32,Qc=e._sbrk=W._sbrk;e._sqlite3_value_double=W._sqlite3_value_double;var Bc=e._memcpy=W._memcpy;e._sqlite3_result_double=W._sqlite3_result_double;e._sqlite3_value_text=W._sqlite3_value_text;var Pc=e.___muldi3=W.___muldi3;e._sqlite3_changes=W._sqlite3_changes;e._sqlite3_column_blob=W._sqlite3_column_blob;var Sc=e.___uremdi3=W.___uremdi3,zc=e.___divdi3=W.___divdi3; +e._sqlite3_value_type=W._sqlite3_value_type;e.stackAlloc=W.stackAlloc;var hb=e._i64Subtract=W._i64Subtract;e._sqlite3_column_text=W._sqlite3_column_text;var yc=e.___udivmoddi4=W.___udivmoddi4;e.setTempRet0=W.setTempRet0;var vc=e._i64Add=W._i64Add;e._sqlite3_value_bytes=W._sqlite3_value_bytes;e._sqlite3_finalize=W._sqlite3_finalize;e._sqlite3_column_double=W._sqlite3_column_double;e._sqlite3_create_function_v2=W._sqlite3_create_function_v2;e._sqlite3_errmsg=W._sqlite3_errmsg;e._sqlite3_value_int=W._sqlite3_value_int; +e._sqlite3_data_count=W._sqlite3_data_count;e._sqlite3_bind_text=W._sqlite3_bind_text;e.stackRestore=W.stackRestore;e._sqlite3_bind_double=W._sqlite3_bind_double;e.___errno_location=W.___errno_location;var Oc=e.___muldsi3=W.___muldsi3;e._RegisterExtensionFunctions=W._RegisterExtensionFunctions;var Ja=e._free=W._free;e.runPostSets=W.runPostSets;e.setThrew=W.setThrew;e.establishStackSpace=W.establishStackSpace;e._sqlite3_bind_parameter_index=W._sqlite3_bind_parameter_index;e._sqlite3_free=W._sqlite3_free; +e._sqlite3_clear_bindings=W._sqlite3_clear_bindings;var Aa=e._malloc=W._malloc,Vc=e._memalign=W._memalign,Rc=e._memmove=W._memmove,Uc=e.___remdi3=W.___remdi3,tc=e._memset=W._memset;e.dynCall_iiii=W.dynCall_iiii;e.dynCall_i=W.dynCall_i;e.dynCall_vi=W.dynCall_vi;e.dynCall_vii=W.dynCall_vii;e.dynCall_iiiiiii=W.dynCall_iiiiiii;e.dynCall_ii=W.dynCall_ii;e.dynCall_viii=W.dynCall_viii;e.dynCall_v=W.dynCall_v;e.dynCall_iiiii=W.dynCall_iiiii;e.dynCall_viiiiii=W.dynCall_viiiiii;e.dynCall_iii=W.dynCall_iii; +e.dynCall_iiiiii=W.dynCall_iiiiii;e.dynCall_viiii=W.dynCall_viiii;n.D=e.stackAlloc;n.$=e.stackSave;n.Q=e.stackRestore;n.Yd=e.establishStackSpace;n.tb=e.setTempRet0;n.hb=e.getTempRet0;e.asm=W;function ha(a){this.name="ExitStatus";this.message="Program terminated with exit("+a+")"}ha.prototype=Error();ha.prototype.constructor=ha;var Wc=null,db=function Xc(){e.calledRun||Yc();e.calledRun||(db=Xc)}; +e.callMain=e.Wd=function(a){function b(){for(var a=0;3>a;a++)d.push(0)}a=a||[];Ca||(Ca=!0,Sa(Ua));var c=a.length+1,d=[z(C(e.thisProgram),"i8",0)];b();for(var f=0;fg;a=0<=g?++c:--c)f[a]=x[d+a];return f};a.prototype.get=function(a){var c,d,f;null!=a&&this.bind(a)&&this.step();f=[];a=c=0;for(d=ud(this.i);0<=d?cd;a=0<=d?++c:--c)switch(sd(this.i,a)){case X.Oa:case X.FLOAT:f.push(this.fb(a));break;case X.Qa:f.push(this.gb(a));break;case X.La:f.push(this.getBlob(a));break;default:f.push(null)}return f};a.prototype.getColumnNames= +function(){var a,c,d,f;f=[];a=c=0;for(d=ud(this.i);0<=d?cd;a=0<=d?++c:--c)f.push(qd(this.i,a));return f};a.prototype.getAsObject=function(a){var c,d,f,g,h,p;p=this.get(a);g=this.getColumnNames();h={};a=c=0;for(d=g.length;c>>0);null!=a&&nc("/",this.filename,a,!0,!0);this.handleError(yd(this.filename,Z));this.db=y(Z,"i32");cd(this.db);this.aa={}}a.prototype.run=function(a,c){var d;if(!this.db)throw"Database closed";c?(d=this.prepare(a,c),d.step(),d.free()):this.handleError(wd(this.db,a,0,0,Z));return this};a.prototype.exec=function(a){var c,d,f,g,h;if(!this.db)throw"Database closed";g=n.$();d=n.D(a.length<<3);$a(a,d);a=n.D(4);for(f=[];y(d, +"i8")!==bd;)if(sa(Z,0,"i32"),sa(a,0,"i32"),this.handleError(Ad(this.db,d,-1,Z,a)),c=y(Z,"i32"),d=y(a,"i32"),c!==bd){h=new dd(c,this);for(c=null;h.step();)null===c&&(c={columns:h.getColumnNames(),values:[]},f.push(c)),c.values.push(h.get());h.free()}n.Q(g);return f};a.prototype.each=function(a,c,d,f){"function"===typeof c&&(f=d,d=c,c=void 0);for(a=this.prepare(a,c);a.step();)d(a.getAsObject());a.free();if("function"===typeof f)return f()};a.prototype.prepare=function(a,c){var d,f;sa(Z,0,"i32");this.handleError(zd(this.db, +a,-1,Z,bd));d=y(Z,"i32");if(d===bd)throw"Nothing to prepare";f=new dd(d,this);null!=c&&f.bind(c);return this.aa[d]=f};a.prototype["export"]=function(){var a,c,d,f;d=this.aa;for(a in d)f=d[a],f.free();this.handleError(md(this.db));f=this.filename;a=a={encoding:"binary"};a.flags=a.flags||"r";a.encoding=a.encoding||"binary";if("utf8"!==a.encoding&&"binary"!==a.encoding)throw Error('Invalid encoding type "'+a.encoding+'"');d=dc(f,a.flags);f=Zb(f).size;var g=new Uint8Array(f);hc(d,g,0,f,0);"utf8"===a.encoding? +c=Fa(g,0):"binary"===a.encoding&&(c=g);fc(d);this.handleError(yd(this.filename,Z));this.db=y(Z,"i32");return c};a.prototype.close=function(){var a,c,d;c=this.aa;for(a in c)d=c[a],d.free();this.handleError(md(this.db));Yb("/"+this.filename);return this.db=null};a.prototype.handleError=function(a){if(a===X.OK)return null;a=vd(this.db);throw Error(a);};a.prototype.getRowsModified=function(){return kd(this.db)};a.prototype.create_function=function(a,c){var d;d=n.ua(function(a,b,d){var p,r,v,D,B;r=[]; +for(p=v=0;0<=b?vb;p=0<=b?++v:--v)D=y(d+4*p,"i32"),B=Ld(D),p=function(){switch(!1){case 1!==B:return Jd;case 2!==B:return Id;case 3!==B:return Kd;case 4!==B:return function(a){var b,c,d,f;f=Hd(a);b=Gd(a);a=new Uint8Array(f);for(c=d=0;0<=f?df;c=0<=f?++d:--d)a[c]=x[b+c];return a};default:return function(){return null}}}(),p=p(D),r.push(p);if(b=c.apply(null,r))switch(typeof b){case "number":return Cd(a,b);case "string":return Ed(a,b,-1,-1)}else return Dd(a)});this.handleError(td(this.db,a,c.length, +X.Ra,0,d,0,0,0));return this};return a}();yd=e.cwrap("sqlite3_open","number",["string","number"]);md=e.cwrap("sqlite3_close_v2","number",["number"]);wd=e.cwrap("sqlite3_exec","number",["number","string","number","number","number"]);e.cwrap("sqlite3_free","",["number"]);kd=e.cwrap("sqlite3_changes","number",["number"]);zd=e.cwrap("sqlite3_prepare_v2","number",["number","string","number","number","number"]);Ad=e.cwrap("sqlite3_prepare_v2","number",["number","number","number","number","number"]); +jd=e.cwrap("sqlite3_bind_text","number",["number","number","number","number","number"]);fd=e.cwrap("sqlite3_bind_blob","number",["number","number","number","number","number"]);gd=e.cwrap("sqlite3_bind_double","number",["number","number","number"]);hd=e.cwrap("sqlite3_bind_int","number",["number","number","number"]);id=e.cwrap("sqlite3_bind_parameter_index","number",["number","string"]);Fd=e.cwrap("sqlite3_step","number",["number"]);vd=e.cwrap("sqlite3_errmsg","string",["number"]); +ud=e.cwrap("sqlite3_data_count","number",["number"]);pd=e.cwrap("sqlite3_column_double","number",["number","number"]);rd=e.cwrap("sqlite3_column_text","string",["number","number"]);nd=e.cwrap("sqlite3_column_blob","number",["number","number"]);od=e.cwrap("sqlite3_column_bytes","number",["number","number"]);sd=e.cwrap("sqlite3_column_type","number",["number","number"]);qd=e.cwrap("sqlite3_column_name","string",["number","number"]);Bd=e.cwrap("sqlite3_reset","number",["number"]); +ld=e.cwrap("sqlite3_clear_bindings","number",["number"]);xd=e.cwrap("sqlite3_finalize","number",["number"]);td=e.cwrap("sqlite3_create_function_v2","number","number string number number number number number number number".split(" "));Ld=e.cwrap("sqlite3_value_type","number",["number"]);Hd=e.cwrap("sqlite3_value_bytes","number",["number"]);Kd=e.cwrap("sqlite3_value_text","string",["number"]);Jd=e.cwrap("sqlite3_value_int","number",["number"]);Gd=e.cwrap("sqlite3_value_blob","number",["number"]); +Id=e.cwrap("sqlite3_value_double","number",["number"]);Cd=e.cwrap("sqlite3_result_double","",["number","number"]);Dd=e.cwrap("sqlite3_result_null","",["number"]);Ed=e.cwrap("sqlite3_result_text","",["number","string","number","number"]);cd=e.cwrap("RegisterExtensionFunctions","number",["number"]);this.SQL={Database:Database};for(ed in this.SQL)e[ed]=this.SQL[ed];bd=0;X.OK=0;X.ERROR=1;X.Bd=2;X.Ld=3;X.wb=4;X.yb=5;X.Ed=6;X.NOMEM=7;X.Od=8;X.Cd=9;X.Dd=10;X.Bb=11;X.NOTFOUND=12;X.Ad=13;X.zb=14;X.Md=15; +X.EMPTY=16;X.Pd=17;X.Rd=18;X.Ab=19;X.Fd=20;X.Gd=21;X.Hd=22;X.xb=23;X.zd=24;X.Nd=25;X.Id=26;X.Jd=27;X.Sd=28;X.Pa=100;X.DONE=101;X.Oa=1;X.FLOAT=2;X.Qa=3;X.La=4;X.Kd=5;X.Ra=1; + +return this['SQL']; +})(); +if (typeof module !== 'undefined') module.exports = SQL; +if (typeof define === 'function') define(SQL); diff --git a/Server/www/spiderbasic/themes/aeroglass/close.png b/Server/www/spiderbasic/themes/aeroglass/close.png new file mode 100644 index 0000000000000000000000000000000000000000..72dc7cb87c8623916000556f4f7e0510ce88ccf0 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp@K+Mg-1|*kkVowB8Y)RhkE)4%caKYZ?lYt_f1s;*b zKvlvZ%*Zfnjs#GUy~NYkmHi&0Ait3EgI67zKq1-8kcblJ{M_8syb>Unfx)>bHL)Z$ zMWH;iBtya7(>EYRFO?lAuI1_C7@~1LIbnhI4}R7oU5`T=yqT5FdNsHtBqcSAw7%vj fUGtyPF6Yb0FrUYNclsS?Zjf=Fu6{1-oD!M<;=nWB literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/themes/aeroglass/window.css b/Server/www/spiderbasic/themes/aeroglass/window.css new file mode 100644 index 0000000..bd598c6 --- /dev/null +++ b/Server/www/spiderbasic/themes/aeroglass/window.css @@ -0,0 +1,129 @@ + +html { + margin:0; + padding:0; + height:100%; + width:100%; + background: url("../../media/background.png") no-repeat center center fixed; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +body { + margin:0; + padding:0; + height:100%; + width:100%; + overflow:hidden; +} + + +.spiderwindow { + margin:0; + padding:0px 6px 36px 6px; + -moz-border-radius:7px; + -webkit-border-radius:7px; + border-radius:7px; + -moz-box-shadow:0 0 0 1px #eee inset, 0 0 15px rgba(0,0,0,0.4); + -webkit-box-shadow:0 0 0 1px #eee inset, 0 0 15px rgba(0,0,0,0.4); + box-shadow:0 0 0 1px #eee inset, 0 0 15px rgba(0,0,0,0.4); + background-color:rgba(160,160,160,0.4); + border:1px solid #383838; + position:absolute; + z-index:1; + font:normal 12px arial; +} + +.spiderwindow-title { + margin:0; + padding:0; + background:transparent; + color:#000; + font:normal 12px/16px "Segoe UI",Arial,sans-serif; + height:16px; + overflow:hidden; + padding:6px 0 6px 28px; + text-overflow:ellipsis; + text-shadow:0 0 0px #fff, 3px 3px 5px #fff, -3px -3px 5px #fff, -3px 3px 5px #fff, 3px -3px 5px #fff; + white-space:nowrap; + cursor:default; +} + +.spiderwindow-content { + background-color:#f2f2f2; + margin:0; + padding:0; + border:1px solid #666; + height:100%; + overflow:hidden; + position:relative; + font:normal 12px arial; +} + + +.spiderwindow-content p { + margin:0; + padding:0; + margin-bottom:10px; +} + +.spiderwindow-content img { + margin:0; + padding:0; + background-color:#f1f1f1; + border:1px solid #ddd; + float:left; + margin:0 20px 10px 0; + padding:1px; +} + +.spiderwindow-closebutton { + background-color:#CF3232; + background-image: url("close.png"); + background-repeat: no-repeat; + background-position: 9px 2px; + border:1px solid #500000; + position: absolute; + top: 5px; + right:5px; + height: 15px; + width: 30px; + color:#ffffff; +} +.spiderwindow-closebutton:hover { + background-color:#c23e3e; +} +.spiderwindow-closebutton:active { + background-color:#b02a2a; +} + +/* Special definition for background windows + */ +.spiderwindow-background { + margin:0; + padding:0; + background-color:#ffffff; + color:#000; + height:100%; + overflow:hidden; + position:relative; +} + +/* Resizeable */ +.ui-resizable-handle{display:block;position:absolute;} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle{display:none;} +.ui-resizable-n,.ui-resizable-s{height:7px;left:0;width:100%;} +.ui-resizable-n{cursor:n-resize;top:-5px;} +.ui-resizable-s{bottom:-5px;cursor:s-resize;} +.ui-resizable-e,.ui-resizable-w{height:100%;top:0;width:7px;} +.ui-resizable-e{cursor:e-resize;right:-5px;} +.ui-resizable-w{cursor:w-resize;left:-5px;} +.ui-resizable-se,.ui-resizable-sw, +.ui-resizable-nw,.ui-resizable-ne{height:12px;width:12px;} +.ui-resizable-se{bottom:-6px;cursor:se-resize;right:-6px;} +.ui-resizable-sw{bottom:-6px;cursor:sw-resize;left:-6px;} +.ui-resizable-nw{cursor:nw-resize;left:-6px;top:-6px;} +.ui-resizable-ne {cursor:ne-resize;right:-6px;top:-6px;} diff --git a/Server/www/spiderbasic/themes/flat/close.png b/Server/www/spiderbasic/themes/flat/close.png new file mode 100644 index 0000000000000000000000000000000000000000..72dc7cb87c8623916000556f4f7e0510ce88ccf0 GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp@K+Mg-1|*kkVowB8Y)RhkE)4%caKYZ?lYt_f1s;*b zKvlvZ%*Zfnjs#GUy~NYkmHi&0Ait3EgI67zKq1-8kcblJ{M_8syb>Unfx)>bHL)Z$ zMWH;iBtya7(>EYRFO?lAuI1_C7@~1LIbnhI4}R7oU5`T=yqT5FdNsHtBqcSAw7%vj fUGtyPF6Yb0FrUYNclsS?Zjf=Fu6{1-oD!M<;=nWB literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/themes/flat/window.css b/Server/www/spiderbasic/themes/flat/window.css new file mode 100644 index 0000000..a884c1a --- /dev/null +++ b/Server/www/spiderbasic/themes/flat/window.css @@ -0,0 +1,129 @@ + +html { + margin:0; + padding:0; + height:100%; + width:100%; + background: url("../../media/background.png") no-repeat center center fixed; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; +} + +body { + margin:0; + padding:0; + height:100%; + width:100%; + overflow:hidden; +} + + +.spiderwindow { + margin:0; + padding:0; + -moz-box-shadow:0 0 0 1px #eee inset, 0 0 15px rgba(0,0,0,0.4); + -webkit-box-shadow:0 0 0 1px #eee inset, 0 0 15px rgba(0,0,0,0.4); + box-shadow:0 0 0 1px #eee inset, 0 0 15px rgba(0,0,0,0.4); + background-color:rgba(255,255,255,1); + border:1px solid #383838; + padding-bottom:28px; + position:absolute; + z-index:1; + font:normal 12px arial; +} + +.spiderwindow-title { + margin:0; + padding:0; + background:transparent; + color:#000; + font:normal 12px/16px "Segoe UI",Arial,sans-serif; + height:16px; + overflow:hidden; + padding:6px 0 6px 28px; + text-overflow:ellipsis; + white-space:nowrap; + cursor:default; +} + +.spiderwindow-menubar { + background:#fff; +} + +.spiderwindow-content { + background-color:#f2f2f2; + margin:0; + padding:0; + height:100%; + overflow:hidden; + position:relative; + font:normal 12px arial; +} + +.spiderwindow-content p { + margin:0; + padding:0; + margin-bottom:10px; +} +.spiderwindow-content img { + margin:0; + padding:0; + background-color:#f1f1f1; + border:1px solid #ddd; + float:left; + margin:0 20px 10px 0; + padding:1px; +} + +.spiderwindow-closebutton { + background-color:#E62020; + background-image: url("close.png"); + background-repeat: no-repeat; + background-position: 9px 5px; + border:1px solid #ececec; + position: absolute; + top: 2px; + right:2px; + height: 22px; + width: 30px; + color:#ffffff; +} + +.spiderwindow-closebutton:hover { + background-color:#c23e3e; +} + +.spiderwindow-closebutton:active { + background-color:#b02a2a; +} + +/* Special definition for background windows + */ +.spiderwindow-background { + margin:0; + padding:0; + background-color:#ffffff; + color:#000; + height:100%; + overflow:hidden; + position:relative; +} + +/* Resizeable */ +.ui-resizable-handle{display:block;position:absolute;} +.ui-resizable-disabled .ui-resizable-handle, +.ui-resizable-autohide .ui-resizable-handle{display:none;} +.ui-resizable-n,.ui-resizable-s{height:7px;left:0;width:100%;} +.ui-resizable-n{cursor:n-resize;top:-5px;} +.ui-resizable-s{bottom:-5px;cursor:s-resize;} +.ui-resizable-e,.ui-resizable-w{height:100%;top:0;width:7px;} +.ui-resizable-e{cursor:e-resize;right:-5px;} +.ui-resizable-w{cursor:w-resize;left:-5px;} +.ui-resizable-se,.ui-resizable-sw, +.ui-resizable-nw,.ui-resizable-ne{height:12px;width:12px;} +.ui-resizable-se{bottom:-6px;cursor:se-resize;right:-6px;} +.ui-resizable-sw{bottom:-6px;cursor:sw-resize;left:-6px;} +.ui-resizable-nw{cursor:nw-resize;left:-6px;top:-6px;} +.ui-resizable-ne {cursor:ne-resize;right:-6px;top:-6px;} diff --git a/Server/www/spiderbasic/wgxpath.min.js b/Server/www/spiderbasic/wgxpath.min.js new file mode 100644 index 0000000..a983680 --- /dev/null +++ b/Server/www/spiderbasic/wgxpath.min.js @@ -0,0 +1,77 @@ +(function(){'use strict';var k=this; +function aa(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"== +b&&"undefined"==typeof a.call)return"object";return b}function l(a){return"string"==typeof a}function ba(a,b,c){return a.call.apply(a.bind,arguments)}function ca(a,b,c){if(!a)throw Error();if(2b?1:0};var ha=Array.prototype.indexOf?function(a,b,c){return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(l(a))return l(b)&&1==b.length?a.indexOf(b,c):-1;for(;cc?null:l(a)?a.charAt(c):a[c]}function la(a){return Array.prototype.concat.apply(Array.prototype,arguments)}function ma(a,b,c){return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};var u;a:{var na=k.navigator;if(na){var oa=na.userAgent;if(oa){u=oa;break a}}u=""};var pa=q(u,"Opera")||q(u,"OPR"),v=q(u,"Trident")||q(u,"MSIE"),qa=q(u,"Edge"),ra=q(u,"Gecko")&&!(q(u.toLowerCase(),"webkit")&&!q(u,"Edge"))&&!(q(u,"Trident")||q(u,"MSIE"))&&!q(u,"Edge"),sa=q(u.toLowerCase(),"webkit")&&!q(u,"Edge");function ta(){var a=k.document;return a?a.documentMode:void 0}var ua; +a:{var va="",wa=function(){var a=u;if(ra)return/rv\:([^\);]+)(\)|;)/.exec(a);if(qa)return/Edge\/([\d\.]+)/.exec(a);if(v)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(sa)return/WebKit\/(\S+)/.exec(a);if(pa)return/(?:Version)[ \/]?(\S+)/.exec(a)}();wa&&(va=wa?wa[1]:"");if(v){var xa=ta();if(null!=xa&&xa>parseFloat(va)){ua=String(xa);break a}}ua=va}var ya={}; +function za(a){if(!ya[a]){for(var b=0,c=fa(String(ua)).split("."),d=fa(String(a)).split("."),e=Math.max(c.length,d.length),f=0;0==b&&f",4,2,function(a,b,c){return O(function(a,b){return a>b},a,b,c)});P("<=",4,2,function(a,b,c){return O(function(a,b){return a<=b},a,b,c)});P(">=",4,2,function(a,b,c){return O(function(a,b){return a>=b},a,b,c)});var Wa=P("=",3,2,function(a,b,c){return O(function(a,b){return a==b},a,b,c,!0)});P("!=",3,2,function(a,b,c){return O(function(a,b){return a!=b},a,b,c,!0)});P("and",2,2,function(a,b,c){return M(a,c)&&M(b,c)});P("or",1,2,function(a,b,c){return M(a,c)||M(b,c)});function Q(a,b,c){this.a=a;this.b=b||1;this.f=c||1};function Za(a,b){if(b.a.length&&4!=a.i)throw Error("Primary expression must evaluate to nodeset if filter has predicate(s).");n.call(this,a.i);this.c=a;this.h=b;this.g=a.g;this.b=a.b}m(Za);Za.prototype.a=function(a){a=this.c.a(a);return $a(this.h,a)};Za.prototype.toString=function(){var a;a="Filter:"+J(this.c);return a+=J(this.h)};function ab(a,b){if(b.lengtha.v)throw Error("Function "+a.j+" expects at most "+a.v+" arguments, "+b.length+" given");a.B&&r(b,function(b,d){if(4!=b.i)throw Error("Argument "+d+" to function "+a.j+" is not of type Nodeset: "+b);});n.call(this,a.i);this.h=a;this.c=b;Ua(this,a.g||ja(b,function(a){return a.g}));Va(this,a.D&&!b.length||a.C&&!!b.length||ja(b,function(a){return a.b}))}m(ab); +ab.prototype.a=function(a){return this.h.m.apply(null,la(a,this.c))};ab.prototype.toString=function(){var a="Function: "+this.h;if(this.c.length)var b=t(this.c,function(a,b){return a+J(b)},"Arguments:"),a=a+J(b);return a};function bb(a,b,c,d,e,f,g,h,p){this.j=a;this.i=b;this.g=c;this.D=d;this.C=e;this.m=f;this.A=g;this.v=void 0!==h?h:g;this.B=!!p}bb.prototype.toString=function(){return this.j};var cb={}; +function R(a,b,c,d,e,f,g,h){if(cb.hasOwnProperty(a))throw Error("Function already created: "+a+".");cb[a]=new bb(a,b,c,d,!1,e,f,g,h)}R("boolean",2,!1,!1,function(a,b){return M(b,a)},1);R("ceiling",1,!1,!1,function(a,b){return Math.ceil(K(b,a))},1);R("concat",3,!1,!1,function(a,b){return t(ma(arguments,1),function(b,d){return b+L(d,a)},"")},2,null);R("contains",2,!1,!1,function(a,b,c){return q(L(b,a),L(c,a))},2);R("count",1,!1,!1,function(a,b){return b.a(a).l},1,1,!0); +R("false",2,!1,!1,function(){return!1},0);R("floor",1,!1,!1,function(a,b){return Math.floor(K(b,a))},1);R("id",4,!1,!1,function(a,b){function c(a){if(w){var b=e.all[a];if(b){if(b.nodeType&&a==b.id)return b;if(b.length)return ka(b,function(b){return a==b.id})}return null}return e.getElementById(a)}var d=a.a,e=9==d.nodeType?d:d.ownerDocument,d=L(b,a).split(/\s+/),f=[];r(d,function(a){a=c(a);!a||0<=ha(f,a)||f.push(a)});f.sort(La);var g=new C;r(f,function(a){F(g,a)});return g},1); +R("lang",2,!1,!1,function(){return!1},1);R("last",1,!0,!1,function(a){if(1!=arguments.length)throw Error("Function last expects ()");return a.f},0);R("local-name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.localName||c.nodeName.toLowerCase():""},0,1,!0);R("name",3,!1,!0,function(a,b){var c=b?Ra(b.a(a)):a.a;return c?c.nodeName.toLowerCase():""},0,1,!0);R("namespace-uri",3,!0,!1,function(){return""},0,1,!0); +R("normalize-space",3,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")},0,1);R("not",2,!1,!1,function(a,b){return!M(b,a)},1);R("number",1,!1,!0,function(a,b){return b?K(b,a):+z(a.a)},0,1);R("position",1,!0,!1,function(a){return a.b},0);R("round",1,!1,!1,function(a,b){return Math.round(K(b,a))},1);R("starts-with",2,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);return 0==b.lastIndexOf(a,0)},2);R("string",3,!1,!0,function(a,b){return b?L(b,a):z(a.a)},0,1); +R("string-length",1,!1,!0,function(a,b){return(b?L(b,a):z(a.a)).length},0,1);R("substring",3,!1,!1,function(a,b,c,d){c=K(c,a);if(isNaN(c)||Infinity==c||-Infinity==c)return"";d=d?K(d,a):Infinity;if(isNaN(d)||-Infinity===d)return"";c=Math.round(c)-1;var e=Math.max(c,0);a=L(b,a);return Infinity==d?a.substring(e):a.substring(e,c+Math.round(d))},2,3);R("substring-after",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);c=b.indexOf(a);return-1==c?"":b.substring(c+a.length)},2); +R("substring-before",3,!1,!1,function(a,b,c){b=L(b,a);a=L(c,a);a=b.indexOf(a);return-1==a?"":b.substring(0,a)},2);R("sum",1,!1,!1,function(a,b){for(var c=H(b.a(a)),d=0,e=I(c);e;e=I(c))d+=+z(e);return d},1,1,!0);R("translate",3,!1,!1,function(a,b,c,d){b=L(b,a);c=L(c,a);var e=L(d,a);a={};for(d=0;d]=|\s+|./g,hb=/^\s/;function S(a,b){return a.b[a.a+(b||0)]}function T(a){return a.b[a.a++]}function ib(a){return a.b.length<=a.a};function jb(a){n.call(this,3);this.c=a.substring(1,a.length-1)}m(jb);jb.prototype.a=function(){return this.c};jb.prototype.toString=function(){return"Literal: "+this.c};function E(a,b){this.j=a.toLowerCase();var c;c="*"==this.j?"*":"http://www.w3.org/1999/xhtml";this.c=b?b.toLowerCase():c}E.prototype.a=function(a){var b=a.nodeType;if(1!=b&&2!=b)return!1;b=void 0!==a.localName?a.localName:a.nodeName;return"*"!=this.j&&this.j!=b.toLowerCase()?!1:"*"==this.c?!0:this.c==(a.namespaceURI?a.namespaceURI.toLowerCase():"http://www.w3.org/1999/xhtml")};E.prototype.f=function(){return this.j}; +E.prototype.toString=function(){return"Name Test: "+("http://www.w3.org/1999/xhtml"==this.c?"":this.c+":")+this.j};function kb(a,b){n.call(this,a.i);this.h=a;this.c=b;this.g=a.g;this.b=a.b;if(1==this.c.length){var c=this.c[0];c.u||c.c!=lb||(c=c.o,"*"!=c.f()&&(this.f={name:c.f(),s:null}))}}m(kb);function mb(){n.call(this,4)}m(mb);mb.prototype.a=function(a){var b=new C;a=a.a;9==a.nodeType?F(b,a):F(b,a.ownerDocument);return b};mb.prototype.toString=function(){return"Root Helper Expression"};function nb(){n.call(this,4)}m(nb);nb.prototype.a=function(a){var b=new C;F(b,a.a);return b};nb.prototype.toString=function(){return"Context Helper Expression"}; +function ob(a){return"/"==a||"//"==a}kb.prototype.a=function(a){var b=this.h.a(a);if(!(b instanceof C))throw Error("Filter expression must evaluate to nodeset.");a=this.c;for(var c=0,d=a.length;ca.length)throw Error("Unclosed literal string");return new jb(a)} +function Hb(a){var b,c=[],d;if(ob(S(a.a))){b=T(a.a);d=S(a.a);if("/"==b&&(ib(a.a)||"."!=d&&".."!=d&&"@"!=d&&"*"!=d&&!/(?![0-9])[\w]/.test(d)))return new mb;d=new mb;W(a,"Missing next location step.");b=Ib(a,b);c.push(b)}else{a:{b=S(a.a);d=b.charAt(0);switch(d){case "$":throw Error("Variable reference not allowed in HTML XPath");case "(":T(a.a);b=Cb(a);W(a,'unclosed "("');Eb(a,")");break;case '"':case "'":b=Gb(a);break;default:if(isNaN(+b))if(!db(b)&&/(?![0-9])[\w]/.test(d)&&"("==S(a.a,1)){b=T(a.a); +b=cb[b]||null;T(a.a);for(d=[];")"!=S(a.a);){W(a,"Missing function argument list.");d.push(Cb(a));if(","!=S(a.a))break;T(a.a)}W(a,"Unclosed function argument list.");Fb(a);b=new ab(b,d)}else{b=null;break a}else b=new Ab(+T(a.a))}"["==S(a.a)&&(d=new sb(Jb(a)),b=new Za(b,d))}if(b)if(ob(S(a.a)))d=b;else return b;else b=Ib(a,"/"),d=new nb,c.push(b)}for(;ob(S(a.a));)b=T(a.a),W(a,"Missing next location step."),b=Ib(a,b),c.push(b);return new kb(d,c)} +function Ib(a,b){var c,d,e;if("/"!=b&&"//"!=b)throw Error('Step op should be "/" or "//"');if("."==S(a.a))return d=new U(yb,new G("node")),T(a.a),d;if(".."==S(a.a))return d=new U(xb,new G("node")),T(a.a),d;var f;if("@"==S(a.a))f=lb,T(a.a),W(a,"Missing attribute name");else if("::"==S(a.a,1)){if(!/(?![0-9])[\w]/.test(S(a.a).charAt(0)))throw Error("Bad token: "+T(a.a));c=T(a.a);f=wb[c]||null;if(!f)throw Error("No axis with name: "+c);T(a.a);W(a,"Missing node name")}else f=tb;c=S(a.a);if(/(?![0-9])[\w\*]/.test(c.charAt(0)))if("("== +S(a.a,1)){if(!db(c))throw Error("Invalid node type: "+c);c=T(a.a);if(!db(c))throw Error("Invalid type name: "+c);Eb(a,"(");W(a,"Bad nodetype");e=S(a.a).charAt(0);var g=null;if('"'==e||"'"==e)g=Gb(a);W(a,"Bad nodetype");Fb(a);c=new G(c,g)}else if(c=T(a.a),e=c.indexOf(":"),-1==e)c=new E(c);else{var g=c.substring(0,e),h;if("*"==g)h="*";else if(h=a.b(g),!h)throw Error("Namespace prefix not declared: "+g);c=c.substr(e+1);c=new E(c,h)}else throw Error("Bad token: "+T(a.a));e=new sb(Jb(a),f.a);return d|| +new U(f,c,e,"//"==b)}function Jb(a){for(var b=[];"["==S(a.a);){T(a.a);W(a,"Missing predicate expression.");var c=Cb(a);b.push(c);W(a,"Unclosed predicate expression.");Eb(a,"]")}return b}function Db(a){if("-"==S(a.a))return T(a.a),new zb(Db(a));var b=Hb(a);if("|"!=S(a.a))a=b;else{for(b=[b];"|"==T(a.a);)W(a,"Missing next union location path."),b.push(Hb(a));a.a.a--;a=new rb(b)}return a};function Kb(a){switch(a.nodeType){case 1:return ea(Lb,a);case 9:return Kb(a.documentElement);case 11:case 10:case 6:case 12:return Mb;default:return a.parentNode?Kb(a.parentNode):Mb}}function Mb(){return null}function Lb(a,b){if(a.prefix==b)return a.namespaceURI||"http://www.w3.org/1999/xhtml";var c=a.getAttributeNode("xmlns:"+b);return c&&c.specified?c.value||null:a.parentNode&&9!=a.parentNode.nodeType?Lb(a.parentNode,b):null};function Nb(a,b){if(!a.length)throw Error("Empty XPath expression.");var c=fb(a);if(ib(c))throw Error("Invalid XPath expression.");b?"function"==aa(b)||(b=da(b.lookupNamespaceURI,b)):b=function(){return null};var d=Cb(new Bb(c,b));if(!ib(c))throw Error("Bad token: "+T(c));this.evaluate=function(a,b){var c=d.a(new Q(a));return new Y(c,b)}} +function Y(a,b){if(0==b)if(a instanceof C)b=4;else if("string"==typeof a)b=2;else if("number"==typeof a)b=1;else if("boolean"==typeof a)b=3;else throw Error("Unexpected evaluation result.");if(2!=b&&1!=b&&3!=b&&!(a instanceof C))throw Error("value could not be converted to the specified type");this.resultType=b;var c;switch(b){case 2:this.stringValue=a instanceof C?Sa(a):""+a;break;case 1:this.numberValue=a instanceof C?+Sa(a):+a;break;case 3:this.booleanValue=a instanceof C?0=c.length?null:c[f++]};this.snapshotItem=function(a){if(6!=b&&7!=b)throw Error("snapshotItem called with wrong result type");return a>=c.length|| +0>a?null:c[a]}}Y.ANY_TYPE=0;Y.NUMBER_TYPE=1;Y.STRING_TYPE=2;Y.BOOLEAN_TYPE=3;Y.UNORDERED_NODE_ITERATOR_TYPE=4;Y.ORDERED_NODE_ITERATOR_TYPE=5;Y.UNORDERED_NODE_SNAPSHOT_TYPE=6;Y.ORDERED_NODE_SNAPSHOT_TYPE=7;Y.ANY_UNORDERED_NODE_TYPE=8;Y.FIRST_ORDERED_NODE_TYPE=9;function Ob(a){this.lookupNamespaceURI=Kb(a)} +function Pb(a,b){var c=a||k,d=c.Document&&c.Document.prototype||c.document;if(!d.evaluate||b)c.XPathResult=Y,d.evaluate=function(a,b,c,d){return(new Nb(a,c)).evaluate(b,d)},d.createExpression=function(a,b){return new Nb(a,b)},d.createNSResolver=function(a){return new Ob(a)}}var Qb=["wgxpath","install"],Z=k;Qb[0]in Z||!Z.execScript||Z.execScript("var "+Qb[0]);for(var Rb;Qb.length&&(Rb=Qb.shift());)Qb.length||void 0===Pb?Z[Rb]?Z=Z[Rb]:Z=Z[Rb]={}:Z[Rb]=Pb;}).call(this) diff --git a/Server/www/spiderbasic/xdate.min.js b/Server/www/spiderbasic/xdate.min.js new file mode 100644 index 0000000..2425221 --- /dev/null +++ b/Server/www/spiderbasic/xdate.min.js @@ -0,0 +1,18 @@ +/* + XDate v0.8 + Docs & Licensing: http://arshaw.com/xdate/ +*/ +var XDate=function(f,m,E,t){function h(){var a=this instanceof h?this:new h,c=arguments,b=c.length,d;"boolean"==typeof c[b-1]&&(d=c[--b],c=u(c,0,b));if(b)if(1==b)if(b=c[0],b instanceof f||"number"==typeof b)a[0]=new f(+b);else if(b instanceof h){var c=a,g=new f(+b[0]);q(b)&&(g.toString=z);c[0]=g}else{if("string"==typeof b){a[0]=new f(0);a:{for(var c=b,b=d||!1,g=h.parsers,A=0,e;Ac&&J(a,c+1,(b-g)*K[c],d)}function L(a,c,b){a=a.clone().setUTCMode(!0,!0);c=h(c).setUTCMode(!0,!0);var d=0;if(0==b||1==b){for(var g=6;g>=b;g--)d/=K[g],d+=p(c,!1,g)-p(a,!1,g);1==b&&(d+=12*(c.getFullYear()-a.getFullYear()))}else 2==b?(b=a.toDate().setUTCHours(0,0,0,0),d=c.toDate().setUTCHours(0,0,0,0),d=m.round((d-b)/864E5)+(c-d-(a-b))/864E5):d=(c-a)/[36E5,6E4,1E3,1][b-3];return d}function w(a){var c=a(0),b=a(1),d=a(2); +a=new f(r(c,b,d));c=x(M(c,b,d));return m.floor(m.round((a-c)/864E5)/7)+1}function M(a,c,b){c=new f(r(a,c,b));return c=x(a+1)?a+1:a}function x(a){a=new f(r(a,0,4));a.setUTCDate(a.getUTCDate()-(a.getUTCDay()+6)%7);return a}function N(a,c,b,d){var g=n(p,a,d),e=n(H,a,d);b===t&&(b=M(g(0),g(1),g(2)));b=x(b);d||(b=v(b));a.setTime(+b);e(2,[g(2)+7*(c-1)])}function O(a,c,b,d,g){var e=h.locales,f=e[h.defaultLocale]||{},l=n(p,a,g);b=("string"==typeof b?e[b]:b)||{};return B(a,c,function(a){if(d)for(var b= +(7==a?2:a)-1;0<=b;b--)d.push(l(b));return l(a)},function(a){return b[a]||f[a]},g)}function B(a,c,b,d,e){for(var f,h,l="";f=c.match(R);){l+=c.substr(0,f.index);if(f[1]){h=l;for(var l=a,k=f[1],p=b,q=d,r=e,m=k.length,n=void 0,s="";0d?"+":"-",b=m.floor(m.abs(d)/60),d=m.abs(d)%60,e=b,"zz"==c?e=k(b):"zzz"==c&&(e=k(b)+":"+k(d)),c=a+e),c;case "w":return w(b);case "ww":return k(w(b));case "S":return c=b(2), +10c?"th":["st","nd","rd"][c%10-1]||"th"}}function y(a,c){return 12>a(3)?c("amDesignator"):c("pmDesignator")}function C(a){return!isNaN(+a[0])}function p(a,c,b){return a["get"+(c?"UTC":"")+s[b]]()}function H(a,c,b,d){a["set"+(c?"UTC":"")+s[b]].apply(a,d)}function v(a){return new f(a.getUTCFullYear(),a.getUTCMonth(),a.getUTCDate(),a.getUTCHours(),a.getUTCMinutes(),a.getUTCSeconds(),a.getUTCMilliseconds())}function I(a,c){return 32-(new f(r(a,c,32))).getUTCDate()}function D(a){return function(){return a.apply(t, +[this].concat(u(arguments)))}}function n(a){var c=u(arguments,1);return function(){return a.apply(t,c.concat(u(arguments)))}}function u(a,c,b){return E.prototype.slice.call(a,c||0,b===t?a.length:b)}function P(a,c){for(var b=0;b MIT License +var XRegExp=function(a){"use strict";function u(a,d,e,f,g){var h;if(a[c]={captureNames:d},g)return a;if(a.__proto__)a.__proto__=b.prototype;else for(h in b.prototype)a[h]=b.prototype[h];return a[c].source=e,a[c].flags=f?f.split("").sort().join(""):f,a}function v(a){return e.replace.call(a,/([\s\S])(?=[\s\S]*\1)/g,"")}function w(d,f){if(!b.isRegExp(d))throw new TypeError("Type RegExp expected");var g=d[c]||{},h=y(d),i="",j="",k=null,l=null;return f=f||{},f.removeG&&(j+="g"),f.removeY&&(j+="y"),j&&(h=e.replace.call(h,new RegExp("["+j+"]+","g"),"")),f.addG&&(i+="g"),f.addY&&(i+="y"),i&&(h=v(h+i)),f.isInternalOnly||(g.source!==a&&(k=g.source),null!=g.flags&&(l=i?v(g.flags+i):g.flags)),d=u(new RegExp(d.source,h),z(d)?g.captureNames.slice(0):null,k,l,f.isInternalOnly)}function x(a){return parseInt(a,16)}function y(a){return q?a.flags:e.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(a))[1]}function z(a){return!(!a[c]||!a[c].captureNames)}function A(a){return parseInt(a,10).toString(16)}function B(a,b){var d,c=a.length;for(d=0;c>d;++d)if(a[d]===b)return d;return-1}function C(a,b){return s.call(a)==="[object "+b+"]"}function D(a,b,c){return e.test.call(c.indexOf("x")>-1?/^(?:\s+|#.*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,a.slice(b))}function E(a){for(;a.length<4;)a="0"+a;return a}function F(a,b){var c;if(v(b)!==b)throw new SyntaxError("Invalid duplicate regex flag "+b);for(a=e.replace.call(a,/^\(\?([\w$]+)\)/,function(a,c){if(e.test.call(/[gy]/,c))throw new SyntaxError("Cannot use flag g or y in mode modifier "+a);return b=v(b+c),""}),c=0;c"}else if(c)return"\\"+(+c+i);return a};if(!C(a,"Array")||!a.length)throw new TypeError("Must provide a nonempty array of patterns to merge");for(m=0;m1&&B(f,"")>-1&&(h=w(this,{removeG:!0,isInternalOnly:!0}),e.replace.call(String(b).slice(f.index),h,function(){var c,b=arguments.length;for(c=1;b-2>c;++c)arguments[c]===a&&(f[c]=a)})),this[c]&&this[c].captureNames)for(i=1;if.index&&(this.lastIndex=f.index)}return this.global||(this.lastIndex=d),f},f.test=function(a){return!!f.exec.call(this,a)},f.match=function(a){var c;if(b.isRegExp(a)){if(a.global)return c=e.match.apply(this,arguments),a.lastIndex=0,c}else a=new RegExp(a);return f.exec.call(a,L(this))},f.replace=function(d,f){var h,i,j,g=b.isRegExp(d);return g?(d[c]&&(i=d[c].captureNames),h=d.lastIndex):d+="",j=C(f,"Function")?e.replace.call(String(this),d,function(){var c,b=arguments;if(i)for(b[0]=new String(b[0]),c=0;ce)throw new SyntaxError("Backreference to undefined group "+b);return a[e+1]||""}if("$"===d)return"$";if("&"===d||0===+d)return a[0];if("`"===d)return a[a.length-1].slice(0,a[a.length-2]);if("'"===d)return a[a.length-1].slice(a[a.length-2]+a[0].length);if(d=+d,!isNaN(d)){if(d>a.length-3)throw new SyntaxError("Backreference to undefined group "+b);return a[d]||""}throw new SyntaxError("Invalid token "+b)})}),g&&(d.global?d.lastIndex=0:d.lastIndex=h),j},f.split=function(c,d){if(!b.isRegExp(c))return e.split.apply(this,arguments);var j,f=String(this),g=[],h=c.lastIndex,i=0;return d=(d===a?-1:d)>>>0,b.forEach(f,c,function(a){a.index+a[0].length>i&&(g.push(f.slice(i,a.index)),a.length>1&&a.indexd?g.slice(0,d):g},t=b.addToken,t(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,function(a,b){if("B"===a[1]&&b===j)return a[0];throw new SyntaxError("Invalid escape "+a[0])},{scope:"all",leadChar:"\\"}),t(/\\u{([\dA-Fa-f]+)}/,function(a,b,c){var d=x(a[1]);if(d>1114111)throw new SyntaxError("Invalid Unicode code point "+a[0]);if(65535>=d)return"\\u"+E(A(d));if(o&&c.indexOf("u")>-1)return a[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")},{scope:"all",leadChar:"\\"}),t(/\[(\^?)]/,function(a){return a[1]?"[\\s\\S]":"\\b\\B"},{leadChar:"["}),t(/\(\?#[^)]*\)/,function(a,b,c){return D(a.input,a.index+a[0].length,c)?"":"(?:)"},{leadChar:"("}),t(/\s+|#.*/,function(a,b,c){return D(a.input,a.index+a[0].length,c)?"":"(?:)"},{flag:"x"}),t(/\./,function(){return"[\\s\\S]"},{flag:"s",leadChar:"."}),t(/\\k<([\w$]+)>/,function(a){var b=isNaN(a[1])?B(this.captureNames,a[1])+1:+a[1],c=a.index+a[0].length;if(!b||b>this.captureNames.length)throw new SyntaxError("Backreference to undefined group "+a[0]);return"\\"+b+(c===a.input.length||isNaN(a.input.charAt(c))?"":"(?:)")},{leadChar:"\\"}),t(/\\(\d+)/,function(a,b){if(!(b===j&&/^[1-9]/.test(a[1])&&+a[1]<=this.captureNames.length)&&"0"!==a[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group "+a[0]);return a[0]},{scope:"all",leadChar:"\\"}),t(/\(\?P?<([\w$]+)>/,function(a){if(!isNaN(a[1]))throw new SyntaxError("Cannot use integer as capture name "+a[0]);if("length"===a[1]||"__proto__"===a[1])throw new SyntaxError("Cannot use reserved word as capture name "+a[0]);if(B(this.captureNames,a[1])>-1)throw new SyntaxError("Cannot use same name for multiple groups "+a[0]);return this.captureNames.push(a[1]),this.hasNamedCapture=!0,"("},{leadChar:"("}),t(/\((?!\?)/,function(a,b,c){return c.indexOf("n")>-1?"(?:":(this.captureNames.push(null),"(")},{optionalFlags:"n",leadChar:"("}),b}(); \ No newline at end of file

cK8_k&3jhLvm5o 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 UjU5}<(#t{U{{g^FwM_s30F^vzIsgCw literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.woff2 b/Server/www/spiderbasic/onsenui-css/font_awesome/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..67f67dc1650e11103167db56dfb5f28a2eb3edc7 GIT binary patch literal 74256 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 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/onsenui-css/ionicons/css/ionicons-core.min.css b/Server/www/spiderbasic/onsenui-css/ionicons/css/ionicons-core.min.css new file mode 100644 index 0000000..2b4311f --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/ionicons/css/ionicons-core.min.css @@ -0,0 +1,11 @@ +/*! + Ionicons, v4.5.5 + Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ + https://twitter.com/benjsperry https://twitter.com/ionicframework + MIT License: https://github.com/driftyco/ionicons + + Android-style icons originally built by Google’s + Material Design Icons: https://github.com/google/material-design-icons + used under CC BY http://creativecommons.org/licenses/by/4.0/ + Modified icons to fit ionicon’s grid from original. +*/.ion-ios-add:before{content:"\f102"}.ion-ios-add-circle:before{content:"\f101"}.ion-ios-add-circle-outline:before{content:"\f100"}.ion-ios-airplane:before{content:"\f137"}.ion-ios-alarm:before{content:"\f3c8"}.ion-ios-albums:before{content:"\f3ca"}.ion-ios-alert:before{content:"\f104"}.ion-ios-american-football:before{content:"\f106"}.ion-ios-analytics:before{content:"\f3ce"}.ion-ios-aperture:before{content:"\f108"}.ion-ios-apps:before{content:"\f10a"}.ion-ios-appstore:before{content:"\f10c"}.ion-ios-archive:before{content:"\f10e"}.ion-ios-arrow-back:before{content:"\f3cf"}.ion-ios-arrow-down:before{content:"\f3d0"}.ion-ios-arrow-dropdown:before{content:"\f110"}.ion-ios-arrow-dropdown-circle:before{content:"\f125"}.ion-ios-arrow-dropleft:before{content:"\f112"}.ion-ios-arrow-dropleft-circle:before{content:"\f129"}.ion-ios-arrow-dropright:before{content:"\f114"}.ion-ios-arrow-dropright-circle:before{content:"\f12b"}.ion-ios-arrow-dropup:before{content:"\f116"}.ion-ios-arrow-dropup-circle:before{content:"\f12d"}.ion-ios-arrow-forward:before{content:"\f3d1"}.ion-ios-arrow-round-back:before{content:"\f117"}.ion-ios-arrow-round-down:before{content:"\f118"}.ion-ios-arrow-round-forward:before{content:"\f119"}.ion-ios-arrow-round-up:before{content:"\f11a"}.ion-ios-arrow-up:before{content:"\f3d8"}.ion-ios-at:before{content:"\f3da"}.ion-ios-attach:before{content:"\f11b"}.ion-ios-backspace:before{content:"\f11d"}.ion-ios-barcode:before{content:"\f3dc"}.ion-ios-baseball:before{content:"\f3de"}.ion-ios-basket:before{content:"\f11f"}.ion-ios-basketball:before{content:"\f3e0"}.ion-ios-battery-charging:before{content:"\f120"}.ion-ios-battery-dead:before{content:"\f121"}.ion-ios-battery-full:before{content:"\f122"}.ion-ios-beaker:before{content:"\f124"}.ion-ios-bed:before{content:"\f139"}.ion-ios-beer:before{content:"\f126"}.ion-ios-bicycle:before{content:"\f127"}.ion-ios-bluetooth:before{content:"\f128"}.ion-ios-boat:before{content:"\f12a"}.ion-ios-body:before{content:"\f3e4"}.ion-ios-bonfire:before{content:"\f12c"}.ion-ios-book:before{content:"\f3e8"}.ion-ios-bookmark:before{content:"\f12e"}.ion-ios-bookmarks:before{content:"\f3ea"}.ion-ios-bowtie:before{content:"\f130"}.ion-ios-briefcase:before{content:"\f3ee"}.ion-ios-browsers:before{content:"\f3f0"}.ion-ios-brush:before{content:"\f132"}.ion-ios-bug:before{content:"\f134"}.ion-ios-build:before{content:"\f136"}.ion-ios-bulb:before{content:"\f138"}.ion-ios-bus:before{content:"\f13a"}.ion-ios-business:before{content:"\f1a3"}.ion-ios-cafe:before{content:"\f13c"}.ion-ios-calculator:before{content:"\f3f2"}.ion-ios-calendar:before{content:"\f3f4"}.ion-ios-call:before{content:"\f13e"}.ion-ios-camera:before{content:"\f3f6"}.ion-ios-car:before{content:"\f140"}.ion-ios-card:before{content:"\f142"}.ion-ios-cart:before{content:"\f3f8"}.ion-ios-cash:before{content:"\f144"}.ion-ios-cellular:before{content:"\f13d"}.ion-ios-chatboxes:before{content:"\f3fa"}.ion-ios-chatbubbles:before{content:"\f146"}.ion-ios-checkbox:before{content:"\f148"}.ion-ios-checkbox-outline:before{content:"\f147"}.ion-ios-checkmark:before{content:"\f3ff"}.ion-ios-checkmark-circle:before{content:"\f14a"}.ion-ios-checkmark-circle-outline:before{content:"\f149"}.ion-ios-clipboard:before{content:"\f14c"}.ion-ios-clock:before{content:"\f403"}.ion-ios-close:before{content:"\f406"}.ion-ios-close-circle:before{content:"\f14e"}.ion-ios-close-circle-outline:before{content:"\f14d"}.ion-ios-cloud:before{content:"\f40c"}.ion-ios-cloud-circle:before{content:"\f152"}.ion-ios-cloud-done:before{content:"\f154"}.ion-ios-cloud-download:before{content:"\f408"}.ion-ios-cloud-outline:before{content:"\f409"}.ion-ios-cloud-upload:before{content:"\f40b"}.ion-ios-cloudy:before{content:"\f410"}.ion-ios-cloudy-night:before{content:"\f40e"}.ion-ios-code:before{content:"\f157"}.ion-ios-code-download:before{content:"\f155"}.ion-ios-code-working:before{content:"\f156"}.ion-ios-cog:before{content:"\f412"}.ion-ios-color-fill:before{content:"\f159"}.ion-ios-color-filter:before{content:"\f414"}.ion-ios-color-palette:before{content:"\f15b"}.ion-ios-color-wand:before{content:"\f416"}.ion-ios-compass:before{content:"\f15d"}.ion-ios-construct:before{content:"\f15f"}.ion-ios-contact:before{content:"\f41a"}.ion-ios-contacts:before{content:"\f161"}.ion-ios-contract:before{content:"\f162"}.ion-ios-contrast:before{content:"\f163"}.ion-ios-copy:before{content:"\f41c"}.ion-ios-create:before{content:"\f165"}.ion-ios-crop:before{content:"\f41e"}.ion-ios-cube:before{content:"\f168"}.ion-ios-cut:before{content:"\f16a"}.ion-ios-desktop:before{content:"\f16c"}.ion-ios-disc:before{content:"\f16e"}.ion-ios-document:before{content:"\f170"}.ion-ios-done-all:before{content:"\f171"}.ion-ios-download:before{content:"\f420"}.ion-ios-easel:before{content:"\f173"}.ion-ios-egg:before{content:"\f175"}.ion-ios-exit:before{content:"\f177"}.ion-ios-expand:before{content:"\f178"}.ion-ios-eye:before{content:"\f425"}.ion-ios-eye-off:before{content:"\f17a"}.ion-ios-fastforward:before{content:"\f427"}.ion-ios-female:before{content:"\f17b"}.ion-ios-filing:before{content:"\f429"}.ion-ios-film:before{content:"\f42b"}.ion-ios-finger-print:before{content:"\f17c"}.ion-ios-fitness:before{content:"\f1ab"}.ion-ios-flag:before{content:"\f42d"}.ion-ios-flame:before{content:"\f42f"}.ion-ios-flash:before{content:"\f17e"}.ion-ios-flash-off:before{content:"\f12f"}.ion-ios-flashlight:before{content:"\f141"}.ion-ios-flask:before{content:"\f431"}.ion-ios-flower:before{content:"\f433"}.ion-ios-folder:before{content:"\f435"}.ion-ios-folder-open:before{content:"\f180"}.ion-ios-football:before{content:"\f437"}.ion-ios-funnel:before{content:"\f182"}.ion-ios-gift:before{content:"\f191"}.ion-ios-git-branch:before{content:"\f183"}.ion-ios-git-commit:before{content:"\f184"}.ion-ios-git-compare:before{content:"\f185"}.ion-ios-git-merge:before{content:"\f186"}.ion-ios-git-network:before{content:"\f187"}.ion-ios-git-pull-request:before{content:"\f188"}.ion-ios-glasses:before{content:"\f43f"}.ion-ios-globe:before{content:"\f18a"}.ion-ios-grid:before{content:"\f18c"}.ion-ios-hammer:before{content:"\f18e"}.ion-ios-hand:before{content:"\f190"}.ion-ios-happy:before{content:"\f192"}.ion-ios-headset:before{content:"\f194"}.ion-ios-heart:before{content:"\f443"}.ion-ios-heart-dislike:before{content:"\f13f"}.ion-ios-heart-empty:before{content:"\f19b"}.ion-ios-heart-half:before{content:"\f19d"}.ion-ios-help:before{content:"\f446"}.ion-ios-help-buoy:before{content:"\f196"}.ion-ios-help-circle:before{content:"\f198"}.ion-ios-help-circle-outline:before{content:"\f197"}.ion-ios-home:before{content:"\f448"}.ion-ios-hourglass:before{content:"\f103"}.ion-ios-ice-cream:before{content:"\f19a"}.ion-ios-image:before{content:"\f19c"}.ion-ios-images:before{content:"\f19e"}.ion-ios-infinite:before{content:"\f44a"}.ion-ios-information:before{content:"\f44d"}.ion-ios-information-circle:before{content:"\f1a0"}.ion-ios-information-circle-outline:before{content:"\f19f"}.ion-ios-jet:before{content:"\f1a5"}.ion-ios-journal:before{content:"\f189"}.ion-ios-key:before{content:"\f1a7"}.ion-ios-keypad:before{content:"\f450"}.ion-ios-laptop:before{content:"\f1a8"}.ion-ios-leaf:before{content:"\f1aa"}.ion-ios-link:before{content:"\f22a"}.ion-ios-list:before{content:"\f454"}.ion-ios-list-box:before{content:"\f143"}.ion-ios-locate:before{content:"\f1ae"}.ion-ios-lock:before{content:"\f1b0"}.ion-ios-log-in:before{content:"\f1b1"}.ion-ios-log-out:before{content:"\f1b2"}.ion-ios-magnet:before{content:"\f1b4"}.ion-ios-mail:before{content:"\f1b8"}.ion-ios-mail-open:before{content:"\f1b6"}.ion-ios-mail-unread:before{content:"\f145"}.ion-ios-male:before{content:"\f1b9"}.ion-ios-man:before{content:"\f1bb"}.ion-ios-map:before{content:"\f1bd"}.ion-ios-medal:before{content:"\f1bf"}.ion-ios-medical:before{content:"\f45c"}.ion-ios-medkit:before{content:"\f45e"}.ion-ios-megaphone:before{content:"\f1c1"}.ion-ios-menu:before{content:"\f1c3"}.ion-ios-mic:before{content:"\f461"}.ion-ios-mic-off:before{content:"\f45f"}.ion-ios-microphone:before{content:"\f1c6"}.ion-ios-moon:before{content:"\f468"}.ion-ios-more:before{content:"\f1c8"}.ion-ios-move:before{content:"\f1cb"}.ion-ios-musical-note:before{content:"\f46b"}.ion-ios-musical-notes:before{content:"\f46c"}.ion-ios-navigate:before{content:"\f46e"}.ion-ios-notifications:before{content:"\f1d3"}.ion-ios-notifications-off:before{content:"\f1d1"}.ion-ios-notifications-outline:before{content:"\f133"}.ion-ios-nuclear:before{content:"\f1d5"}.ion-ios-nutrition:before{content:"\f470"}.ion-ios-open:before{content:"\f1d7"}.ion-ios-options:before{content:"\f1d9"}.ion-ios-outlet:before{content:"\f1db"}.ion-ios-paper:before{content:"\f472"}.ion-ios-paper-plane:before{content:"\f1dd"}.ion-ios-partly-sunny:before{content:"\f1df"}.ion-ios-pause:before{content:"\f478"}.ion-ios-paw:before{content:"\f47a"}.ion-ios-people:before{content:"\f47c"}.ion-ios-person:before{content:"\f47e"}.ion-ios-person-add:before{content:"\f1e1"}.ion-ios-phone-landscape:before{content:"\f1e2"}.ion-ios-phone-portrait:before{content:"\f1e3"}.ion-ios-photos:before{content:"\f482"}.ion-ios-pie:before{content:"\f484"}.ion-ios-pin:before{content:"\f1e5"}.ion-ios-pint:before{content:"\f486"}.ion-ios-pizza:before{content:"\f1e7"}.ion-ios-planet:before{content:"\f1eb"}.ion-ios-play:before{content:"\f488"}.ion-ios-play-circle:before{content:"\f113"}.ion-ios-podium:before{content:"\f1ed"}.ion-ios-power:before{content:"\f1ef"}.ion-ios-pricetag:before{content:"\f48d"}.ion-ios-pricetags:before{content:"\f48f"}.ion-ios-print:before{content:"\f1f1"}.ion-ios-pulse:before{content:"\f493"}.ion-ios-qr-scanner:before{content:"\f1f3"}.ion-ios-quote:before{content:"\f1f5"}.ion-ios-radio:before{content:"\f1f9"}.ion-ios-radio-button-off:before{content:"\f1f6"}.ion-ios-radio-button-on:before{content:"\f1f7"}.ion-ios-rainy:before{content:"\f495"}.ion-ios-recording:before{content:"\f497"}.ion-ios-redo:before{content:"\f499"}.ion-ios-refresh:before{content:"\f49c"}.ion-ios-refresh-circle:before{content:"\f135"}.ion-ios-remove:before{content:"\f1fc"}.ion-ios-remove-circle:before{content:"\f1fb"}.ion-ios-remove-circle-outline:before{content:"\f1fa"}.ion-ios-reorder:before{content:"\f1fd"}.ion-ios-repeat:before{content:"\f1fe"}.ion-ios-resize:before{content:"\f1ff"}.ion-ios-restaurant:before{content:"\f201"}.ion-ios-return-left:before{content:"\f202"}.ion-ios-return-right:before{content:"\f203"}.ion-ios-reverse-camera:before{content:"\f49f"}.ion-ios-rewind:before{content:"\f4a1"}.ion-ios-ribbon:before{content:"\f205"}.ion-ios-rocket:before{content:"\f14b"}.ion-ios-rose:before{content:"\f4a3"}.ion-ios-sad:before{content:"\f207"}.ion-ios-save:before{content:"\f1a6"}.ion-ios-school:before{content:"\f209"}.ion-ios-search:before{content:"\f4a5"}.ion-ios-send:before{content:"\f20c"}.ion-ios-settings:before{content:"\f4a7"}.ion-ios-share:before{content:"\f211"}.ion-ios-share-alt:before{content:"\f20f"}.ion-ios-shirt:before{content:"\f213"}.ion-ios-shuffle:before{content:"\f4a9"}.ion-ios-skip-backward:before{content:"\f215"}.ion-ios-skip-forward:before{content:"\f217"}.ion-ios-snow:before{content:"\f218"}.ion-ios-speedometer:before{content:"\f4b0"}.ion-ios-square:before{content:"\f21a"}.ion-ios-square-outline:before{content:"\f15c"}.ion-ios-star:before{content:"\f4b3"}.ion-ios-star-half:before{content:"\f4b1"}.ion-ios-star-outline:before{content:"\f4b2"}.ion-ios-stats:before{content:"\f21c"}.ion-ios-stopwatch:before{content:"\f4b5"}.ion-ios-subway:before{content:"\f21e"}.ion-ios-sunny:before{content:"\f4b7"}.ion-ios-swap:before{content:"\f21f"}.ion-ios-switch:before{content:"\f221"}.ion-ios-sync:before{content:"\f222"}.ion-ios-tablet-landscape:before{content:"\f223"}.ion-ios-tablet-portrait:before{content:"\f24e"}.ion-ios-tennisball:before{content:"\f4bb"}.ion-ios-text:before{content:"\f250"}.ion-ios-thermometer:before{content:"\f252"}.ion-ios-thumbs-down:before{content:"\f254"}.ion-ios-thumbs-up:before{content:"\f256"}.ion-ios-thunderstorm:before{content:"\f4bd"}.ion-ios-time:before{content:"\f4bf"}.ion-ios-timer:before{content:"\f4c1"}.ion-ios-today:before{content:"\f14f"}.ion-ios-train:before{content:"\f258"}.ion-ios-transgender:before{content:"\f259"}.ion-ios-trash:before{content:"\f4c5"}.ion-ios-trending-down:before{content:"\f25a"}.ion-ios-trending-up:before{content:"\f25b"}.ion-ios-trophy:before{content:"\f25d"}.ion-ios-tv:before{content:"\f115"}.ion-ios-umbrella:before{content:"\f25f"}.ion-ios-undo:before{content:"\f4c7"}.ion-ios-unlock:before{content:"\f261"}.ion-ios-videocam:before{content:"\f4cd"}.ion-ios-volume-high:before{content:"\f11c"}.ion-ios-volume-low:before{content:"\f11e"}.ion-ios-volume-mute:before{content:"\f263"}.ion-ios-volume-off:before{content:"\f264"}.ion-ios-walk:before{content:"\f266"}.ion-ios-wallet:before{content:"\f18b"}.ion-ios-warning:before{content:"\f268"}.ion-ios-watch:before{content:"\f269"}.ion-ios-water:before{content:"\f26b"}.ion-ios-wifi:before{content:"\f26d"}.ion-ios-wine:before{content:"\f26f"}.ion-ios-woman:before{content:"\f271"}.ion-logo-android:before{content:"\f225"}.ion-logo-angular:before{content:"\f227"}.ion-logo-apple:before{content:"\f229"}.ion-logo-bitbucket:before{content:"\f193"}.ion-logo-bitcoin:before{content:"\f22b"}.ion-logo-buffer:before{content:"\f22d"}.ion-logo-chrome:before{content:"\f22f"}.ion-logo-closed-captioning:before{content:"\f105"}.ion-logo-codepen:before{content:"\f230"}.ion-logo-css3:before{content:"\f231"}.ion-logo-designernews:before{content:"\f232"}.ion-logo-dribbble:before{content:"\f233"}.ion-logo-dropbox:before{content:"\f234"}.ion-logo-euro:before{content:"\f235"}.ion-logo-facebook:before{content:"\f236"}.ion-logo-flickr:before{content:"\f107"}.ion-logo-foursquare:before{content:"\f237"}.ion-logo-freebsd-devil:before{content:"\f238"}.ion-logo-game-controller-a:before{content:"\f13b"}.ion-logo-game-controller-b:before{content:"\f181"}.ion-logo-github:before{content:"\f239"}.ion-logo-google:before{content:"\f23a"}.ion-logo-googleplus:before{content:"\f23b"}.ion-logo-hackernews:before{content:"\f23c"}.ion-logo-html5:before{content:"\f23d"}.ion-logo-instagram:before{content:"\f23e"}.ion-logo-ionic:before{content:"\f150"}.ion-logo-ionitron:before{content:"\f151"}.ion-logo-javascript:before{content:"\f23f"}.ion-logo-linkedin:before{content:"\f240"}.ion-logo-markdown:before{content:"\f241"}.ion-logo-model-s:before{content:"\f153"}.ion-logo-no-smoking:before{content:"\f109"}.ion-logo-nodejs:before{content:"\f242"}.ion-logo-npm:before{content:"\f195"}.ion-logo-octocat:before{content:"\f243"}.ion-logo-pinterest:before{content:"\f244"}.ion-logo-playstation:before{content:"\f245"}.ion-logo-polymer:before{content:"\f15e"}.ion-logo-python:before{content:"\f246"}.ion-logo-reddit:before{content:"\f247"}.ion-logo-rss:before{content:"\f248"}.ion-logo-sass:before{content:"\f249"}.ion-logo-skype:before{content:"\f24a"}.ion-logo-slack:before{content:"\f10b"}.ion-logo-snapchat:before{content:"\f24b"}.ion-logo-steam:before{content:"\f24c"}.ion-logo-tumblr:before{content:"\f24d"}.ion-logo-tux:before{content:"\f2ae"}.ion-logo-twitch:before{content:"\f2af"}.ion-logo-twitter:before{content:"\f2b0"}.ion-logo-usd:before{content:"\f2b1"}.ion-logo-vimeo:before{content:"\f2c4"}.ion-logo-vk:before{content:"\f10d"}.ion-logo-whatsapp:before{content:"\f2c5"}.ion-logo-windows:before{content:"\f32f"}.ion-logo-wordpress:before{content:"\f330"}.ion-logo-xbox:before{content:"\f34c"}.ion-logo-xing:before{content:"\f10f"}.ion-logo-yahoo:before{content:"\f34d"}.ion-logo-yen:before{content:"\f34e"}.ion-logo-youtube:before{content:"\f34f"}.ion-md-add:before{content:"\f273"}.ion-md-add-circle:before{content:"\f272"}.ion-md-add-circle-outline:before{content:"\f158"}.ion-md-airplane:before{content:"\f15a"}.ion-md-alarm:before{content:"\f274"}.ion-md-albums:before{content:"\f275"}.ion-md-alert:before{content:"\f276"}.ion-md-american-football:before{content:"\f277"}.ion-md-analytics:before{content:"\f278"}.ion-md-aperture:before{content:"\f279"}.ion-md-apps:before{content:"\f27a"}.ion-md-appstore:before{content:"\f27b"}.ion-md-archive:before{content:"\f27c"}.ion-md-arrow-back:before{content:"\f27d"}.ion-md-arrow-down:before{content:"\f27e"}.ion-md-arrow-dropdown:before{content:"\f280"}.ion-md-arrow-dropdown-circle:before{content:"\f27f"}.ion-md-arrow-dropleft:before{content:"\f282"}.ion-md-arrow-dropleft-circle:before{content:"\f281"}.ion-md-arrow-dropright:before{content:"\f284"}.ion-md-arrow-dropright-circle:before{content:"\f283"}.ion-md-arrow-dropup:before{content:"\f286"}.ion-md-arrow-dropup-circle:before{content:"\f285"}.ion-md-arrow-forward:before{content:"\f287"}.ion-md-arrow-round-back:before{content:"\f288"}.ion-md-arrow-round-down:before{content:"\f289"}.ion-md-arrow-round-forward:before{content:"\f28a"}.ion-md-arrow-round-up:before{content:"\f28b"}.ion-md-arrow-up:before{content:"\f28c"}.ion-md-at:before{content:"\f28d"}.ion-md-attach:before{content:"\f28e"}.ion-md-backspace:before{content:"\f28f"}.ion-md-barcode:before{content:"\f290"}.ion-md-baseball:before{content:"\f291"}.ion-md-basket:before{content:"\f292"}.ion-md-basketball:before{content:"\f293"}.ion-md-battery-charging:before{content:"\f294"}.ion-md-battery-dead:before{content:"\f295"}.ion-md-battery-full:before{content:"\f296"}.ion-md-beaker:before{content:"\f297"}.ion-md-bed:before{content:"\f160"}.ion-md-beer:before{content:"\f298"}.ion-md-bicycle:before{content:"\f299"}.ion-md-bluetooth:before{content:"\f29a"}.ion-md-boat:before{content:"\f29b"}.ion-md-body:before{content:"\f29c"}.ion-md-bonfire:before{content:"\f29d"}.ion-md-book:before{content:"\f29e"}.ion-md-bookmark:before{content:"\f29f"}.ion-md-bookmarks:before{content:"\f2a0"}.ion-md-bowtie:before{content:"\f2a1"}.ion-md-briefcase:before{content:"\f2a2"}.ion-md-browsers:before{content:"\f2a3"}.ion-md-brush:before{content:"\f2a4"}.ion-md-bug:before{content:"\f2a5"}.ion-md-build:before{content:"\f2a6"}.ion-md-bulb:before{content:"\f2a7"}.ion-md-bus:before{content:"\f2a8"}.ion-md-business:before{content:"\f1a4"}.ion-md-cafe:before{content:"\f2a9"}.ion-md-calculator:before{content:"\f2aa"}.ion-md-calendar:before{content:"\f2ab"}.ion-md-call:before{content:"\f2ac"}.ion-md-camera:before{content:"\f2ad"}.ion-md-car:before{content:"\f2b2"}.ion-md-card:before{content:"\f2b3"}.ion-md-cart:before{content:"\f2b4"}.ion-md-cash:before{content:"\f2b5"}.ion-md-cellular:before{content:"\f164"}.ion-md-chatboxes:before{content:"\f2b6"}.ion-md-chatbubbles:before{content:"\f2b7"}.ion-md-checkbox:before{content:"\f2b9"}.ion-md-checkbox-outline:before{content:"\f2b8"}.ion-md-checkmark:before{content:"\f2bc"}.ion-md-checkmark-circle:before{content:"\f2bb"}.ion-md-checkmark-circle-outline:before{content:"\f2ba"}.ion-md-clipboard:before{content:"\f2bd"}.ion-md-clock:before{content:"\f2be"}.ion-md-close:before{content:"\f2c0"}.ion-md-close-circle:before{content:"\f2bf"}.ion-md-close-circle-outline:before{content:"\f166"}.ion-md-cloud:before{content:"\f2c9"}.ion-md-cloud-circle:before{content:"\f2c2"}.ion-md-cloud-done:before{content:"\f2c3"}.ion-md-cloud-download:before{content:"\f2c6"}.ion-md-cloud-outline:before{content:"\f2c7"}.ion-md-cloud-upload:before{content:"\f2c8"}.ion-md-cloudy:before{content:"\f2cb"}.ion-md-cloudy-night:before{content:"\f2ca"}.ion-md-code:before{content:"\f2ce"}.ion-md-code-download:before{content:"\f2cc"}.ion-md-code-working:before{content:"\f2cd"}.ion-md-cog:before{content:"\f2cf"}.ion-md-color-fill:before{content:"\f2d0"}.ion-md-color-filter:before{content:"\f2d1"}.ion-md-color-palette:before{content:"\f2d2"}.ion-md-color-wand:before{content:"\f2d3"}.ion-md-compass:before{content:"\f2d4"}.ion-md-construct:before{content:"\f2d5"}.ion-md-contact:before{content:"\f2d6"}.ion-md-contacts:before{content:"\f2d7"}.ion-md-contract:before{content:"\f2d8"}.ion-md-contrast:before{content:"\f2d9"}.ion-md-copy:before{content:"\f2da"}.ion-md-create:before{content:"\f2db"}.ion-md-crop:before{content:"\f2dc"}.ion-md-cube:before{content:"\f2dd"}.ion-md-cut:before{content:"\f2de"}.ion-md-desktop:before{content:"\f2df"}.ion-md-disc:before{content:"\f2e0"}.ion-md-document:before{content:"\f2e1"}.ion-md-done-all:before{content:"\f2e2"}.ion-md-download:before{content:"\f2e3"}.ion-md-easel:before{content:"\f2e4"}.ion-md-egg:before{content:"\f2e5"}.ion-md-exit:before{content:"\f2e6"}.ion-md-expand:before{content:"\f2e7"}.ion-md-eye:before{content:"\f2e9"}.ion-md-eye-off:before{content:"\f2e8"}.ion-md-fastforward:before{content:"\f2ea"}.ion-md-female:before{content:"\f2eb"}.ion-md-filing:before{content:"\f2ec"}.ion-md-film:before{content:"\f2ed"}.ion-md-finger-print:before{content:"\f2ee"}.ion-md-fitness:before{content:"\f1ac"}.ion-md-flag:before{content:"\f2ef"}.ion-md-flame:before{content:"\f2f0"}.ion-md-flash:before{content:"\f2f1"}.ion-md-flash-off:before{content:"\f169"}.ion-md-flashlight:before{content:"\f16b"}.ion-md-flask:before{content:"\f2f2"}.ion-md-flower:before{content:"\f2f3"}.ion-md-folder:before{content:"\f2f5"}.ion-md-folder-open:before{content:"\f2f4"}.ion-md-football:before{content:"\f2f6"}.ion-md-funnel:before{content:"\f2f7"}.ion-md-gift:before{content:"\f199"}.ion-md-git-branch:before{content:"\f2fa"}.ion-md-git-commit:before{content:"\f2fb"}.ion-md-git-compare:before{content:"\f2fc"}.ion-md-git-merge:before{content:"\f2fd"}.ion-md-git-network:before{content:"\f2fe"}.ion-md-git-pull-request:before{content:"\f2ff"}.ion-md-glasses:before{content:"\f300"}.ion-md-globe:before{content:"\f301"}.ion-md-grid:before{content:"\f302"}.ion-md-hammer:before{content:"\f303"}.ion-md-hand:before{content:"\f304"}.ion-md-happy:before{content:"\f305"}.ion-md-headset:before{content:"\f306"}.ion-md-heart:before{content:"\f308"}.ion-md-heart-dislike:before{content:"\f167"}.ion-md-heart-empty:before{content:"\f1a1"}.ion-md-heart-half:before{content:"\f1a2"}.ion-md-help:before{content:"\f30b"}.ion-md-help-buoy:before{content:"\f309"}.ion-md-help-circle:before{content:"\f30a"}.ion-md-help-circle-outline:before{content:"\f16d"}.ion-md-home:before{content:"\f30c"}.ion-md-hourglass:before{content:"\f111"}.ion-md-ice-cream:before{content:"\f30d"}.ion-md-image:before{content:"\f30e"}.ion-md-images:before{content:"\f30f"}.ion-md-infinite:before{content:"\f310"}.ion-md-information:before{content:"\f312"}.ion-md-information-circle:before{content:"\f311"}.ion-md-information-circle-outline:before{content:"\f16f"}.ion-md-jet:before{content:"\f315"}.ion-md-journal:before{content:"\f18d"}.ion-md-key:before{content:"\f316"}.ion-md-keypad:before{content:"\f317"}.ion-md-laptop:before{content:"\f318"}.ion-md-leaf:before{content:"\f319"}.ion-md-link:before{content:"\f22e"}.ion-md-list:before{content:"\f31b"}.ion-md-list-box:before{content:"\f31a"}.ion-md-locate:before{content:"\f31c"}.ion-md-lock:before{content:"\f31d"}.ion-md-log-in:before{content:"\f31e"}.ion-md-log-out:before{content:"\f31f"}.ion-md-magnet:before{content:"\f320"}.ion-md-mail:before{content:"\f322"}.ion-md-mail-open:before{content:"\f321"}.ion-md-mail-unread:before{content:"\f172"}.ion-md-male:before{content:"\f323"}.ion-md-man:before{content:"\f324"}.ion-md-map:before{content:"\f325"}.ion-md-medal:before{content:"\f326"}.ion-md-medical:before{content:"\f327"}.ion-md-medkit:before{content:"\f328"}.ion-md-megaphone:before{content:"\f329"}.ion-md-menu:before{content:"\f32a"}.ion-md-mic:before{content:"\f32c"}.ion-md-mic-off:before{content:"\f32b"}.ion-md-microphone:before{content:"\f32d"}.ion-md-moon:before{content:"\f32e"}.ion-md-more:before{content:"\f1c9"}.ion-md-move:before{content:"\f331"}.ion-md-musical-note:before{content:"\f332"}.ion-md-musical-notes:before{content:"\f333"}.ion-md-navigate:before{content:"\f334"}.ion-md-notifications:before{content:"\f338"}.ion-md-notifications-off:before{content:"\f336"}.ion-md-notifications-outline:before{content:"\f337"}.ion-md-nuclear:before{content:"\f339"}.ion-md-nutrition:before{content:"\f33a"}.ion-md-open:before{content:"\f33b"}.ion-md-options:before{content:"\f33c"}.ion-md-outlet:before{content:"\f33d"}.ion-md-paper:before{content:"\f33f"}.ion-md-paper-plane:before{content:"\f33e"}.ion-md-partly-sunny:before{content:"\f340"}.ion-md-pause:before{content:"\f341"}.ion-md-paw:before{content:"\f342"}.ion-md-people:before{content:"\f343"}.ion-md-person:before{content:"\f345"}.ion-md-person-add:before{content:"\f344"}.ion-md-phone-landscape:before{content:"\f346"}.ion-md-phone-portrait:before{content:"\f347"}.ion-md-photos:before{content:"\f348"}.ion-md-pie:before{content:"\f349"}.ion-md-pin:before{content:"\f34a"}.ion-md-pint:before{content:"\f34b"}.ion-md-pizza:before{content:"\f354"}.ion-md-planet:before{content:"\f356"}.ion-md-play:before{content:"\f357"}.ion-md-play-circle:before{content:"\f174"}.ion-md-podium:before{content:"\f358"}.ion-md-power:before{content:"\f359"}.ion-md-pricetag:before{content:"\f35a"}.ion-md-pricetags:before{content:"\f35b"}.ion-md-print:before{content:"\f35c"}.ion-md-pulse:before{content:"\f35d"}.ion-md-qr-scanner:before{content:"\f35e"}.ion-md-quote:before{content:"\f35f"}.ion-md-radio:before{content:"\f362"}.ion-md-radio-button-off:before{content:"\f360"}.ion-md-radio-button-on:before{content:"\f361"}.ion-md-rainy:before{content:"\f363"}.ion-md-recording:before{content:"\f364"}.ion-md-redo:before{content:"\f365"}.ion-md-refresh:before{content:"\f366"}.ion-md-refresh-circle:before{content:"\f228"}.ion-md-remove:before{content:"\f368"}.ion-md-remove-circle:before{content:"\f367"}.ion-md-remove-circle-outline:before{content:"\f176"}.ion-md-reorder:before{content:"\f369"}.ion-md-repeat:before{content:"\f36a"}.ion-md-resize:before{content:"\f36b"}.ion-md-restaurant:before{content:"\f36c"}.ion-md-return-left:before{content:"\f36d"}.ion-md-return-right:before{content:"\f36e"}.ion-md-reverse-camera:before{content:"\f36f"}.ion-md-rewind:before{content:"\f370"}.ion-md-ribbon:before{content:"\f371"}.ion-md-rocket:before{content:"\f179"}.ion-md-rose:before{content:"\f372"}.ion-md-sad:before{content:"\f373"}.ion-md-save:before{content:"\f1a9"}.ion-md-school:before{content:"\f374"}.ion-md-search:before{content:"\f375"}.ion-md-send:before{content:"\f376"}.ion-md-settings:before{content:"\f377"}.ion-md-share:before{content:"\f379"}.ion-md-share-alt:before{content:"\f378"}.ion-md-shirt:before{content:"\f37a"}.ion-md-shuffle:before{content:"\f37b"}.ion-md-skip-backward:before{content:"\f37c"}.ion-md-skip-forward:before{content:"\f37d"}.ion-md-snow:before{content:"\f37e"}.ion-md-speedometer:before{content:"\f37f"}.ion-md-square:before{content:"\f381"}.ion-md-square-outline:before{content:"\f380"}.ion-md-star:before{content:"\f384"}.ion-md-star-half:before{content:"\f382"}.ion-md-star-outline:before{content:"\f383"}.ion-md-stats:before{content:"\f385"}.ion-md-stopwatch:before{content:"\f386"}.ion-md-subway:before{content:"\f387"}.ion-md-sunny:before{content:"\f388"}.ion-md-swap:before{content:"\f389"}.ion-md-switch:before{content:"\f38a"}.ion-md-sync:before{content:"\f38b"}.ion-md-tablet-landscape:before{content:"\f38c"}.ion-md-tablet-portrait:before{content:"\f38d"}.ion-md-tennisball:before{content:"\f38e"}.ion-md-text:before{content:"\f38f"}.ion-md-thermometer:before{content:"\f390"}.ion-md-thumbs-down:before{content:"\f391"}.ion-md-thumbs-up:before{content:"\f392"}.ion-md-thunderstorm:before{content:"\f393"}.ion-md-time:before{content:"\f394"}.ion-md-timer:before{content:"\f395"}.ion-md-today:before{content:"\f17d"}.ion-md-train:before{content:"\f396"}.ion-md-transgender:before{content:"\f397"}.ion-md-trash:before{content:"\f398"}.ion-md-trending-down:before{content:"\f399"}.ion-md-trending-up:before{content:"\f39a"}.ion-md-trophy:before{content:"\f39b"}.ion-md-tv:before{content:"\f17f"}.ion-md-umbrella:before{content:"\f39c"}.ion-md-undo:before{content:"\f39d"}.ion-md-unlock:before{content:"\f39e"}.ion-md-videocam:before{content:"\f39f"}.ion-md-volume-high:before{content:"\f123"}.ion-md-volume-low:before{content:"\f131"}.ion-md-volume-mute:before{content:"\f3a1"}.ion-md-volume-off:before{content:"\f3a2"}.ion-md-walk:before{content:"\f3a4"}.ion-md-wallet:before{content:"\f18f"}.ion-md-warning:before{content:"\f3a5"}.ion-md-watch:before{content:"\f3a6"}.ion-md-water:before{content:"\f3a7"}.ion-md-wifi:before{content:"\f3a8"}.ion-md-wine:before{content:"\f3a9"}.ion-md-woman:before{content:"\f3aa"} diff --git a/Server/www/spiderbasic/onsenui-css/ionicons/css/ionicons.min.css b/Server/www/spiderbasic/onsenui-css/ionicons/css/ionicons.min.css new file mode 100644 index 0000000..a98e67e --- /dev/null +++ b/Server/www/spiderbasic/onsenui-css/ionicons/css/ionicons.min.css @@ -0,0 +1,11 @@ +/*! + Ionicons, v4.5.5 + Created by Ben Sperry for the Ionic Framework, http://ionicons.com/ + https://twitter.com/benjsperry https://twitter.com/ionicframework + MIT License: https://github.com/driftyco/ionicons + + Android-style icons originally built by Google’s + Material Design Icons: https://github.com/google/material-design-icons + used under CC BY http://creativecommons.org/licenses/by/4.0/ + Modified icons to fit ionicon’s grid from original. +*/@font-face{font-family:"Ionicons";src:url("../fonts/ionicons.eot?v=4.5.5");src:url("../fonts/ionicons.eot?v=4.5.5#iefix") format("embedded-opentype"),url("../fonts/ionicons.woff2?v=4.5.5") format("woff2"),url("../fonts/ionicons.woff?v=4.5.5") format("woff"),url("../fonts/ionicons.ttf?v=4.5.5") format("truetype"),url("../fonts/ionicons.svg?v=4.5.5#Ionicons") format("svg");font-weight:normal;font-style:normal}.ion,.ionicons,.ion-ios-add:before,.ion-ios-add-circle:before,.ion-ios-add-circle-outline:before,.ion-ios-airplane:before,.ion-ios-alarm:before,.ion-ios-albums:before,.ion-ios-alert:before,.ion-ios-american-football:before,.ion-ios-analytics:before,.ion-ios-aperture:before,.ion-ios-apps:before,.ion-ios-appstore:before,.ion-ios-archive:before,.ion-ios-arrow-back:before,.ion-ios-arrow-down:before,.ion-ios-arrow-dropdown:before,.ion-ios-arrow-dropdown-circle:before,.ion-ios-arrow-dropleft:before,.ion-ios-arrow-dropleft-circle:before,.ion-ios-arrow-dropright:before,.ion-ios-arrow-dropright-circle:before,.ion-ios-arrow-dropup:before,.ion-ios-arrow-dropup-circle:before,.ion-ios-arrow-forward:before,.ion-ios-arrow-round-back:before,.ion-ios-arrow-round-down:before,.ion-ios-arrow-round-forward:before,.ion-ios-arrow-round-up:before,.ion-ios-arrow-up:before,.ion-ios-at:before,.ion-ios-attach:before,.ion-ios-backspace:before,.ion-ios-barcode:before,.ion-ios-baseball:before,.ion-ios-basket:before,.ion-ios-basketball:before,.ion-ios-battery-charging:before,.ion-ios-battery-dead:before,.ion-ios-battery-full:before,.ion-ios-beaker:before,.ion-ios-bed:before,.ion-ios-beer:before,.ion-ios-bicycle:before,.ion-ios-bluetooth:before,.ion-ios-boat:before,.ion-ios-body:before,.ion-ios-bonfire:before,.ion-ios-book:before,.ion-ios-bookmark:before,.ion-ios-bookmarks:before,.ion-ios-bowtie:before,.ion-ios-briefcase:before,.ion-ios-browsers:before,.ion-ios-brush:before,.ion-ios-bug:before,.ion-ios-build:before,.ion-ios-bulb:before,.ion-ios-bus:before,.ion-ios-business:before,.ion-ios-cafe:before,.ion-ios-calculator:before,.ion-ios-calendar:before,.ion-ios-call:before,.ion-ios-camera:before,.ion-ios-car:before,.ion-ios-card:before,.ion-ios-cart:before,.ion-ios-cash:before,.ion-ios-cellular:before,.ion-ios-chatboxes:before,.ion-ios-chatbubbles:before,.ion-ios-checkbox:before,.ion-ios-checkbox-outline:before,.ion-ios-checkmark:before,.ion-ios-checkmark-circle:before,.ion-ios-checkmark-circle-outline:before,.ion-ios-clipboard:before,.ion-ios-clock:before,.ion-ios-close:before,.ion-ios-close-circle:before,.ion-ios-close-circle-outline:before,.ion-ios-cloud:before,.ion-ios-cloud-circle:before,.ion-ios-cloud-done:before,.ion-ios-cloud-download:before,.ion-ios-cloud-outline:before,.ion-ios-cloud-upload:before,.ion-ios-cloudy:before,.ion-ios-cloudy-night:before,.ion-ios-code:before,.ion-ios-code-download:before,.ion-ios-code-working:before,.ion-ios-cog:before,.ion-ios-color-fill:before,.ion-ios-color-filter:before,.ion-ios-color-palette:before,.ion-ios-color-wand:before,.ion-ios-compass:before,.ion-ios-construct:before,.ion-ios-contact:before,.ion-ios-contacts:before,.ion-ios-contract:before,.ion-ios-contrast:before,.ion-ios-copy:before,.ion-ios-create:before,.ion-ios-crop:before,.ion-ios-cube:before,.ion-ios-cut:before,.ion-ios-desktop:before,.ion-ios-disc:before,.ion-ios-document:before,.ion-ios-done-all:before,.ion-ios-download:before,.ion-ios-easel:before,.ion-ios-egg:before,.ion-ios-exit:before,.ion-ios-expand:before,.ion-ios-eye:before,.ion-ios-eye-off:before,.ion-ios-fastforward:before,.ion-ios-female:before,.ion-ios-filing:before,.ion-ios-film:before,.ion-ios-finger-print:before,.ion-ios-fitness:before,.ion-ios-flag:before,.ion-ios-flame:before,.ion-ios-flash:before,.ion-ios-flash-off:before,.ion-ios-flashlight:before,.ion-ios-flask:before,.ion-ios-flower:before,.ion-ios-folder:before,.ion-ios-folder-open:before,.ion-ios-football:before,.ion-ios-funnel:before,.ion-ios-gift:before,.ion-ios-git-branch:before,.ion-ios-git-commit:before,.ion-ios-git-compare:before,.ion-ios-git-merge:before,.ion-ios-git-network:before,.ion-ios-git-pull-request:before,.ion-ios-glasses:before,.ion-ios-globe:before,.ion-ios-grid:before,.ion-ios-hammer:before,.ion-ios-hand:before,.ion-ios-happy:before,.ion-ios-headset:before,.ion-ios-heart:before,.ion-ios-heart-dislike:before,.ion-ios-heart-empty:before,.ion-ios-heart-half:before,.ion-ios-help:before,.ion-ios-help-buoy:before,.ion-ios-help-circle:before,.ion-ios-help-circle-outline:before,.ion-ios-home:before,.ion-ios-hourglass:before,.ion-ios-ice-cream:before,.ion-ios-image:before,.ion-ios-images:before,.ion-ios-infinite:before,.ion-ios-information:before,.ion-ios-information-circle:before,.ion-ios-information-circle-outline:before,.ion-ios-jet:before,.ion-ios-journal:before,.ion-ios-key:before,.ion-ios-keypad:before,.ion-ios-laptop:before,.ion-ios-leaf:before,.ion-ios-link:before,.ion-ios-list:before,.ion-ios-list-box:before,.ion-ios-locate:before,.ion-ios-lock:before,.ion-ios-log-in:before,.ion-ios-log-out:before,.ion-ios-magnet:before,.ion-ios-mail:before,.ion-ios-mail-open:before,.ion-ios-mail-unread:before,.ion-ios-male:before,.ion-ios-man:before,.ion-ios-map:before,.ion-ios-medal:before,.ion-ios-medical:before,.ion-ios-medkit:before,.ion-ios-megaphone:before,.ion-ios-menu:before,.ion-ios-mic:before,.ion-ios-mic-off:before,.ion-ios-microphone:before,.ion-ios-moon:before,.ion-ios-more:before,.ion-ios-move:before,.ion-ios-musical-note:before,.ion-ios-musical-notes:before,.ion-ios-navigate:before,.ion-ios-notifications:before,.ion-ios-notifications-off:before,.ion-ios-notifications-outline:before,.ion-ios-nuclear:before,.ion-ios-nutrition:before,.ion-ios-open:before,.ion-ios-options:before,.ion-ios-outlet:before,.ion-ios-paper:before,.ion-ios-paper-plane:before,.ion-ios-partly-sunny:before,.ion-ios-pause:before,.ion-ios-paw:before,.ion-ios-people:before,.ion-ios-person:before,.ion-ios-person-add:before,.ion-ios-phone-landscape:before,.ion-ios-phone-portrait:before,.ion-ios-photos:before,.ion-ios-pie:before,.ion-ios-pin:before,.ion-ios-pint:before,.ion-ios-pizza:before,.ion-ios-planet:before,.ion-ios-play:before,.ion-ios-play-circle:before,.ion-ios-podium:before,.ion-ios-power:before,.ion-ios-pricetag:before,.ion-ios-pricetags:before,.ion-ios-print:before,.ion-ios-pulse:before,.ion-ios-qr-scanner:before,.ion-ios-quote:before,.ion-ios-radio:before,.ion-ios-radio-button-off:before,.ion-ios-radio-button-on:before,.ion-ios-rainy:before,.ion-ios-recording:before,.ion-ios-redo:before,.ion-ios-refresh:before,.ion-ios-refresh-circle:before,.ion-ios-remove:before,.ion-ios-remove-circle:before,.ion-ios-remove-circle-outline:before,.ion-ios-reorder:before,.ion-ios-repeat:before,.ion-ios-resize:before,.ion-ios-restaurant:before,.ion-ios-return-left:before,.ion-ios-return-right:before,.ion-ios-reverse-camera:before,.ion-ios-rewind:before,.ion-ios-ribbon:before,.ion-ios-rocket:before,.ion-ios-rose:before,.ion-ios-sad:before,.ion-ios-save:before,.ion-ios-school:before,.ion-ios-search:before,.ion-ios-send:before,.ion-ios-settings:before,.ion-ios-share:before,.ion-ios-share-alt:before,.ion-ios-shirt:before,.ion-ios-shuffle:before,.ion-ios-skip-backward:before,.ion-ios-skip-forward:before,.ion-ios-snow:before,.ion-ios-speedometer:before,.ion-ios-square:before,.ion-ios-square-outline:before,.ion-ios-star:before,.ion-ios-star-half:before,.ion-ios-star-outline:before,.ion-ios-stats:before,.ion-ios-stopwatch:before,.ion-ios-subway:before,.ion-ios-sunny:before,.ion-ios-swap:before,.ion-ios-switch:before,.ion-ios-sync:before,.ion-ios-tablet-landscape:before,.ion-ios-tablet-portrait:before,.ion-ios-tennisball:before,.ion-ios-text:before,.ion-ios-thermometer:before,.ion-ios-thumbs-down:before,.ion-ios-thumbs-up:before,.ion-ios-thunderstorm:before,.ion-ios-time:before,.ion-ios-timer:before,.ion-ios-today:before,.ion-ios-train:before,.ion-ios-transgender:before,.ion-ios-trash:before,.ion-ios-trending-down:before,.ion-ios-trending-up:before,.ion-ios-trophy:before,.ion-ios-tv:before,.ion-ios-umbrella:before,.ion-ios-undo:before,.ion-ios-unlock:before,.ion-ios-videocam:before,.ion-ios-volume-high:before,.ion-ios-volume-low:before,.ion-ios-volume-mute:before,.ion-ios-volume-off:before,.ion-ios-walk:before,.ion-ios-wallet:before,.ion-ios-warning:before,.ion-ios-watch:before,.ion-ios-water:before,.ion-ios-wifi:before,.ion-ios-wine:before,.ion-ios-woman:before,.ion-logo-android:before,.ion-logo-angular:before,.ion-logo-apple:before,.ion-logo-bitbucket:before,.ion-logo-bitcoin:before,.ion-logo-buffer:before,.ion-logo-chrome:before,.ion-logo-closed-captioning:before,.ion-logo-codepen:before,.ion-logo-css3:before,.ion-logo-designernews:before,.ion-logo-dribbble:before,.ion-logo-dropbox:before,.ion-logo-euro:before,.ion-logo-facebook:before,.ion-logo-flickr:before,.ion-logo-foursquare:before,.ion-logo-freebsd-devil:before,.ion-logo-game-controller-a:before,.ion-logo-game-controller-b:before,.ion-logo-github:before,.ion-logo-google:before,.ion-logo-googleplus:before,.ion-logo-hackernews:before,.ion-logo-html5:before,.ion-logo-instagram:before,.ion-logo-ionic:before,.ion-logo-ionitron:before,.ion-logo-javascript:before,.ion-logo-linkedin:before,.ion-logo-markdown:before,.ion-logo-model-s:before,.ion-logo-no-smoking:before,.ion-logo-nodejs:before,.ion-logo-npm:before,.ion-logo-octocat:before,.ion-logo-pinterest:before,.ion-logo-playstation:before,.ion-logo-polymer:before,.ion-logo-python:before,.ion-logo-reddit:before,.ion-logo-rss:before,.ion-logo-sass:before,.ion-logo-skype:before,.ion-logo-slack:before,.ion-logo-snapchat:before,.ion-logo-steam:before,.ion-logo-tumblr:before,.ion-logo-tux:before,.ion-logo-twitch:before,.ion-logo-twitter:before,.ion-logo-usd:before,.ion-logo-vimeo:before,.ion-logo-vk:before,.ion-logo-whatsapp:before,.ion-logo-windows:before,.ion-logo-wordpress:before,.ion-logo-xbox:before,.ion-logo-xing:before,.ion-logo-yahoo:before,.ion-logo-yen:before,.ion-logo-youtube:before,.ion-md-add:before,.ion-md-add-circle:before,.ion-md-add-circle-outline:before,.ion-md-airplane:before,.ion-md-alarm:before,.ion-md-albums:before,.ion-md-alert:before,.ion-md-american-football:before,.ion-md-analytics:before,.ion-md-aperture:before,.ion-md-apps:before,.ion-md-appstore:before,.ion-md-archive:before,.ion-md-arrow-back:before,.ion-md-arrow-down:before,.ion-md-arrow-dropdown:before,.ion-md-arrow-dropdown-circle:before,.ion-md-arrow-dropleft:before,.ion-md-arrow-dropleft-circle:before,.ion-md-arrow-dropright:before,.ion-md-arrow-dropright-circle:before,.ion-md-arrow-dropup:before,.ion-md-arrow-dropup-circle:before,.ion-md-arrow-forward:before,.ion-md-arrow-round-back:before,.ion-md-arrow-round-down:before,.ion-md-arrow-round-forward:before,.ion-md-arrow-round-up:before,.ion-md-arrow-up:before,.ion-md-at:before,.ion-md-attach:before,.ion-md-backspace:before,.ion-md-barcode:before,.ion-md-baseball:before,.ion-md-basket:before,.ion-md-basketball:before,.ion-md-battery-charging:before,.ion-md-battery-dead:before,.ion-md-battery-full:before,.ion-md-beaker:before,.ion-md-bed:before,.ion-md-beer:before,.ion-md-bicycle:before,.ion-md-bluetooth:before,.ion-md-boat:before,.ion-md-body:before,.ion-md-bonfire:before,.ion-md-book:before,.ion-md-bookmark:before,.ion-md-bookmarks:before,.ion-md-bowtie:before,.ion-md-briefcase:before,.ion-md-browsers:before,.ion-md-brush:before,.ion-md-bug:before,.ion-md-build:before,.ion-md-bulb:before,.ion-md-bus:before,.ion-md-business:before,.ion-md-cafe:before,.ion-md-calculator:before,.ion-md-calendar:before,.ion-md-call:before,.ion-md-camera:before,.ion-md-car:before,.ion-md-card:before,.ion-md-cart:before,.ion-md-cash:before,.ion-md-cellular:before,.ion-md-chatboxes:before,.ion-md-chatbubbles:before,.ion-md-checkbox:before,.ion-md-checkbox-outline:before,.ion-md-checkmark:before,.ion-md-checkmark-circle:before,.ion-md-checkmark-circle-outline:before,.ion-md-clipboard:before,.ion-md-clock:before,.ion-md-close:before,.ion-md-close-circle:before,.ion-md-close-circle-outline:before,.ion-md-cloud:before,.ion-md-cloud-circle:before,.ion-md-cloud-done:before,.ion-md-cloud-download:before,.ion-md-cloud-outline:before,.ion-md-cloud-upload:before,.ion-md-cloudy:before,.ion-md-cloudy-night:before,.ion-md-code:before,.ion-md-code-download:before,.ion-md-code-working:before,.ion-md-cog:before,.ion-md-color-fill:before,.ion-md-color-filter:before,.ion-md-color-palette:before,.ion-md-color-wand:before,.ion-md-compass:before,.ion-md-construct:before,.ion-md-contact:before,.ion-md-contacts:before,.ion-md-contract:before,.ion-md-contrast:before,.ion-md-copy:before,.ion-md-create:before,.ion-md-crop:before,.ion-md-cube:before,.ion-md-cut:before,.ion-md-desktop:before,.ion-md-disc:before,.ion-md-document:before,.ion-md-done-all:before,.ion-md-download:before,.ion-md-easel:before,.ion-md-egg:before,.ion-md-exit:before,.ion-md-expand:before,.ion-md-eye:before,.ion-md-eye-off:before,.ion-md-fastforward:before,.ion-md-female:before,.ion-md-filing:before,.ion-md-film:before,.ion-md-finger-print:before,.ion-md-fitness:before,.ion-md-flag:before,.ion-md-flame:before,.ion-md-flash:before,.ion-md-flash-off:before,.ion-md-flashlight:before,.ion-md-flask:before,.ion-md-flower:before,.ion-md-folder:before,.ion-md-folder-open:before,.ion-md-football:before,.ion-md-funnel:before,.ion-md-gift:before,.ion-md-git-branch:before,.ion-md-git-commit:before,.ion-md-git-compare:before,.ion-md-git-merge:before,.ion-md-git-network:before,.ion-md-git-pull-request:before,.ion-md-glasses:before,.ion-md-globe:before,.ion-md-grid:before,.ion-md-hammer:before,.ion-md-hand:before,.ion-md-happy:before,.ion-md-headset:before,.ion-md-heart:before,.ion-md-heart-dislike:before,.ion-md-heart-empty:before,.ion-md-heart-half:before,.ion-md-help:before,.ion-md-help-buoy:before,.ion-md-help-circle:before,.ion-md-help-circle-outline:before,.ion-md-home:before,.ion-md-hourglass:before,.ion-md-ice-cream:before,.ion-md-image:before,.ion-md-images:before,.ion-md-infinite:before,.ion-md-information:before,.ion-md-information-circle:before,.ion-md-information-circle-outline:before,.ion-md-jet:before,.ion-md-journal:before,.ion-md-key:before,.ion-md-keypad:before,.ion-md-laptop:before,.ion-md-leaf:before,.ion-md-link:before,.ion-md-list:before,.ion-md-list-box:before,.ion-md-locate:before,.ion-md-lock:before,.ion-md-log-in:before,.ion-md-log-out:before,.ion-md-magnet:before,.ion-md-mail:before,.ion-md-mail-open:before,.ion-md-mail-unread:before,.ion-md-male:before,.ion-md-man:before,.ion-md-map:before,.ion-md-medal:before,.ion-md-medical:before,.ion-md-medkit:before,.ion-md-megaphone:before,.ion-md-menu:before,.ion-md-mic:before,.ion-md-mic-off:before,.ion-md-microphone:before,.ion-md-moon:before,.ion-md-more:before,.ion-md-move:before,.ion-md-musical-note:before,.ion-md-musical-notes:before,.ion-md-navigate:before,.ion-md-notifications:before,.ion-md-notifications-off:before,.ion-md-notifications-outline:before,.ion-md-nuclear:before,.ion-md-nutrition:before,.ion-md-open:before,.ion-md-options:before,.ion-md-outlet:before,.ion-md-paper:before,.ion-md-paper-plane:before,.ion-md-partly-sunny:before,.ion-md-pause:before,.ion-md-paw:before,.ion-md-people:before,.ion-md-person:before,.ion-md-person-add:before,.ion-md-phone-landscape:before,.ion-md-phone-portrait:before,.ion-md-photos:before,.ion-md-pie:before,.ion-md-pin:before,.ion-md-pint:before,.ion-md-pizza:before,.ion-md-planet:before,.ion-md-play:before,.ion-md-play-circle:before,.ion-md-podium:before,.ion-md-power:before,.ion-md-pricetag:before,.ion-md-pricetags:before,.ion-md-print:before,.ion-md-pulse:before,.ion-md-qr-scanner:before,.ion-md-quote:before,.ion-md-radio:before,.ion-md-radio-button-off:before,.ion-md-radio-button-on:before,.ion-md-rainy:before,.ion-md-recording:before,.ion-md-redo:before,.ion-md-refresh:before,.ion-md-refresh-circle:before,.ion-md-remove:before,.ion-md-remove-circle:before,.ion-md-remove-circle-outline:before,.ion-md-reorder:before,.ion-md-repeat:before,.ion-md-resize:before,.ion-md-restaurant:before,.ion-md-return-left:before,.ion-md-return-right:before,.ion-md-reverse-camera:before,.ion-md-rewind:before,.ion-md-ribbon:before,.ion-md-rocket:before,.ion-md-rose:before,.ion-md-sad:before,.ion-md-save:before,.ion-md-school:before,.ion-md-search:before,.ion-md-send:before,.ion-md-settings:before,.ion-md-share:before,.ion-md-share-alt:before,.ion-md-shirt:before,.ion-md-shuffle:before,.ion-md-skip-backward:before,.ion-md-skip-forward:before,.ion-md-snow:before,.ion-md-speedometer:before,.ion-md-square:before,.ion-md-square-outline:before,.ion-md-star:before,.ion-md-star-half:before,.ion-md-star-outline:before,.ion-md-stats:before,.ion-md-stopwatch:before,.ion-md-subway:before,.ion-md-sunny:before,.ion-md-swap:before,.ion-md-switch:before,.ion-md-sync:before,.ion-md-tablet-landscape:before,.ion-md-tablet-portrait:before,.ion-md-tennisball:before,.ion-md-text:before,.ion-md-thermometer:before,.ion-md-thumbs-down:before,.ion-md-thumbs-up:before,.ion-md-thunderstorm:before,.ion-md-time:before,.ion-md-timer:before,.ion-md-today:before,.ion-md-train:before,.ion-md-transgender:before,.ion-md-trash:before,.ion-md-trending-down:before,.ion-md-trending-up:before,.ion-md-trophy:before,.ion-md-tv:before,.ion-md-umbrella:before,.ion-md-undo:before,.ion-md-unlock:before,.ion-md-videocam:before,.ion-md-volume-high:before,.ion-md-volume-low:before,.ion-md-volume-mute:before,.ion-md-volume-off:before,.ion-md-walk:before,.ion-md-wallet:before,.ion-md-warning:before,.ion-md-watch:before,.ion-md-water:before,.ion-md-wifi:before,.ion-md-wine:before,.ion-md-woman:before{display:inline-block;font-family:"Ionicons";speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;text-rendering:auto;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ion-ios-add:before{content:"\f102"}.ion-ios-add-circle:before{content:"\f101"}.ion-ios-add-circle-outline:before{content:"\f100"}.ion-ios-airplane:before{content:"\f137"}.ion-ios-alarm:before{content:"\f3c8"}.ion-ios-albums:before{content:"\f3ca"}.ion-ios-alert:before{content:"\f104"}.ion-ios-american-football:before{content:"\f106"}.ion-ios-analytics:before{content:"\f3ce"}.ion-ios-aperture:before{content:"\f108"}.ion-ios-apps:before{content:"\f10a"}.ion-ios-appstore:before{content:"\f10c"}.ion-ios-archive:before{content:"\f10e"}.ion-ios-arrow-back:before{content:"\f3cf"}.ion-ios-arrow-down:before{content:"\f3d0"}.ion-ios-arrow-dropdown:before{content:"\f110"}.ion-ios-arrow-dropdown-circle:before{content:"\f125"}.ion-ios-arrow-dropleft:before{content:"\f112"}.ion-ios-arrow-dropleft-circle:before{content:"\f129"}.ion-ios-arrow-dropright:before{content:"\f114"}.ion-ios-arrow-dropright-circle:before{content:"\f12b"}.ion-ios-arrow-dropup:before{content:"\f116"}.ion-ios-arrow-dropup-circle:before{content:"\f12d"}.ion-ios-arrow-forward:before{content:"\f3d1"}.ion-ios-arrow-round-back:before{content:"\f117"}.ion-ios-arrow-round-down:before{content:"\f118"}.ion-ios-arrow-round-forward:before{content:"\f119"}.ion-ios-arrow-round-up:before{content:"\f11a"}.ion-ios-arrow-up:before{content:"\f3d8"}.ion-ios-at:before{content:"\f3da"}.ion-ios-attach:before{content:"\f11b"}.ion-ios-backspace:before{content:"\f11d"}.ion-ios-barcode:before{content:"\f3dc"}.ion-ios-baseball:before{content:"\f3de"}.ion-ios-basket:before{content:"\f11f"}.ion-ios-basketball:before{content:"\f3e0"}.ion-ios-battery-charging:before{content:"\f120"}.ion-ios-battery-dead:before{content:"\f121"}.ion-ios-battery-full:before{content:"\f122"}.ion-ios-beaker:before{content:"\f124"}.ion-ios-bed:before{content:"\f139"}.ion-ios-beer:before{content:"\f126"}.ion-ios-bicycle:before{content:"\f127"}.ion-ios-bluetooth:before{content:"\f128"}.ion-ios-boat:before{content:"\f12a"}.ion-ios-body:before{content:"\f3e4"}.ion-ios-bonfire:before{content:"\f12c"}.ion-ios-book:before{content:"\f3e8"}.ion-ios-bookmark:before{content:"\f12e"}.ion-ios-bookmarks:before{content:"\f3ea"}.ion-ios-bowtie:before{content:"\f130"}.ion-ios-briefcase:before{content:"\f3ee"}.ion-ios-browsers:before{content:"\f3f0"}.ion-ios-brush:before{content:"\f132"}.ion-ios-bug:before{content:"\f134"}.ion-ios-build:before{content:"\f136"}.ion-ios-bulb:before{content:"\f138"}.ion-ios-bus:before{content:"\f13a"}.ion-ios-business:before{content:"\f1a3"}.ion-ios-cafe:before{content:"\f13c"}.ion-ios-calculator:before{content:"\f3f2"}.ion-ios-calendar:before{content:"\f3f4"}.ion-ios-call:before{content:"\f13e"}.ion-ios-camera:before{content:"\f3f6"}.ion-ios-car:before{content:"\f140"}.ion-ios-card:before{content:"\f142"}.ion-ios-cart:before{content:"\f3f8"}.ion-ios-cash:before{content:"\f144"}.ion-ios-cellular:before{content:"\f13d"}.ion-ios-chatboxes:before{content:"\f3fa"}.ion-ios-chatbubbles:before{content:"\f146"}.ion-ios-checkbox:before{content:"\f148"}.ion-ios-checkbox-outline:before{content:"\f147"}.ion-ios-checkmark:before{content:"\f3ff"}.ion-ios-checkmark-circle:before{content:"\f14a"}.ion-ios-checkmark-circle-outline:before{content:"\f149"}.ion-ios-clipboard:before{content:"\f14c"}.ion-ios-clock:before{content:"\f403"}.ion-ios-close:before{content:"\f406"}.ion-ios-close-circle:before{content:"\f14e"}.ion-ios-close-circle-outline:before{content:"\f14d"}.ion-ios-cloud:before{content:"\f40c"}.ion-ios-cloud-circle:before{content:"\f152"}.ion-ios-cloud-done:before{content:"\f154"}.ion-ios-cloud-download:before{content:"\f408"}.ion-ios-cloud-outline:before{content:"\f409"}.ion-ios-cloud-upload:before{content:"\f40b"}.ion-ios-cloudy:before{content:"\f410"}.ion-ios-cloudy-night:before{content:"\f40e"}.ion-ios-code:before{content:"\f157"}.ion-ios-code-download:before{content:"\f155"}.ion-ios-code-working:before{content:"\f156"}.ion-ios-cog:before{content:"\f412"}.ion-ios-color-fill:before{content:"\f159"}.ion-ios-color-filter:before{content:"\f414"}.ion-ios-color-palette:before{content:"\f15b"}.ion-ios-color-wand:before{content:"\f416"}.ion-ios-compass:before{content:"\f15d"}.ion-ios-construct:before{content:"\f15f"}.ion-ios-contact:before{content:"\f41a"}.ion-ios-contacts:before{content:"\f161"}.ion-ios-contract:before{content:"\f162"}.ion-ios-contrast:before{content:"\f163"}.ion-ios-copy:before{content:"\f41c"}.ion-ios-create:before{content:"\f165"}.ion-ios-crop:before{content:"\f41e"}.ion-ios-cube:before{content:"\f168"}.ion-ios-cut:before{content:"\f16a"}.ion-ios-desktop:before{content:"\f16c"}.ion-ios-disc:before{content:"\f16e"}.ion-ios-document:before{content:"\f170"}.ion-ios-done-all:before{content:"\f171"}.ion-ios-download:before{content:"\f420"}.ion-ios-easel:before{content:"\f173"}.ion-ios-egg:before{content:"\f175"}.ion-ios-exit:before{content:"\f177"}.ion-ios-expand:before{content:"\f178"}.ion-ios-eye:before{content:"\f425"}.ion-ios-eye-off:before{content:"\f17a"}.ion-ios-fastforward:before{content:"\f427"}.ion-ios-female:before{content:"\f17b"}.ion-ios-filing:before{content:"\f429"}.ion-ios-film:before{content:"\f42b"}.ion-ios-finger-print:before{content:"\f17c"}.ion-ios-fitness:before{content:"\f1ab"}.ion-ios-flag:before{content:"\f42d"}.ion-ios-flame:before{content:"\f42f"}.ion-ios-flash:before{content:"\f17e"}.ion-ios-flash-off:before{content:"\f12f"}.ion-ios-flashlight:before{content:"\f141"}.ion-ios-flask:before{content:"\f431"}.ion-ios-flower:before{content:"\f433"}.ion-ios-folder:before{content:"\f435"}.ion-ios-folder-open:before{content:"\f180"}.ion-ios-football:before{content:"\f437"}.ion-ios-funnel:before{content:"\f182"}.ion-ios-gift:before{content:"\f191"}.ion-ios-git-branch:before{content:"\f183"}.ion-ios-git-commit:before{content:"\f184"}.ion-ios-git-compare:before{content:"\f185"}.ion-ios-git-merge:before{content:"\f186"}.ion-ios-git-network:before{content:"\f187"}.ion-ios-git-pull-request:before{content:"\f188"}.ion-ios-glasses:before{content:"\f43f"}.ion-ios-globe:before{content:"\f18a"}.ion-ios-grid:before{content:"\f18c"}.ion-ios-hammer:before{content:"\f18e"}.ion-ios-hand:before{content:"\f190"}.ion-ios-happy:before{content:"\f192"}.ion-ios-headset:before{content:"\f194"}.ion-ios-heart:before{content:"\f443"}.ion-ios-heart-dislike:before{content:"\f13f"}.ion-ios-heart-empty:before{content:"\f19b"}.ion-ios-heart-half:before{content:"\f19d"}.ion-ios-help:before{content:"\f446"}.ion-ios-help-buoy:before{content:"\f196"}.ion-ios-help-circle:before{content:"\f198"}.ion-ios-help-circle-outline:before{content:"\f197"}.ion-ios-home:before{content:"\f448"}.ion-ios-hourglass:before{content:"\f103"}.ion-ios-ice-cream:before{content:"\f19a"}.ion-ios-image:before{content:"\f19c"}.ion-ios-images:before{content:"\f19e"}.ion-ios-infinite:before{content:"\f44a"}.ion-ios-information:before{content:"\f44d"}.ion-ios-information-circle:before{content:"\f1a0"}.ion-ios-information-circle-outline:before{content:"\f19f"}.ion-ios-jet:before{content:"\f1a5"}.ion-ios-journal:before{content:"\f189"}.ion-ios-key:before{content:"\f1a7"}.ion-ios-keypad:before{content:"\f450"}.ion-ios-laptop:before{content:"\f1a8"}.ion-ios-leaf:before{content:"\f1aa"}.ion-ios-link:before{content:"\f22a"}.ion-ios-list:before{content:"\f454"}.ion-ios-list-box:before{content:"\f143"}.ion-ios-locate:before{content:"\f1ae"}.ion-ios-lock:before{content:"\f1b0"}.ion-ios-log-in:before{content:"\f1b1"}.ion-ios-log-out:before{content:"\f1b2"}.ion-ios-magnet:before{content:"\f1b4"}.ion-ios-mail:before{content:"\f1b8"}.ion-ios-mail-open:before{content:"\f1b6"}.ion-ios-mail-unread:before{content:"\f145"}.ion-ios-male:before{content:"\f1b9"}.ion-ios-man:before{content:"\f1bb"}.ion-ios-map:before{content:"\f1bd"}.ion-ios-medal:before{content:"\f1bf"}.ion-ios-medical:before{content:"\f45c"}.ion-ios-medkit:before{content:"\f45e"}.ion-ios-megaphone:before{content:"\f1c1"}.ion-ios-menu:before{content:"\f1c3"}.ion-ios-mic:before{content:"\f461"}.ion-ios-mic-off:before{content:"\f45f"}.ion-ios-microphone:before{content:"\f1c6"}.ion-ios-moon:before{content:"\f468"}.ion-ios-more:before{content:"\f1c8"}.ion-ios-move:before{content:"\f1cb"}.ion-ios-musical-note:before{content:"\f46b"}.ion-ios-musical-notes:before{content:"\f46c"}.ion-ios-navigate:before{content:"\f46e"}.ion-ios-notifications:before{content:"\f1d3"}.ion-ios-notifications-off:before{content:"\f1d1"}.ion-ios-notifications-outline:before{content:"\f133"}.ion-ios-nuclear:before{content:"\f1d5"}.ion-ios-nutrition:before{content:"\f470"}.ion-ios-open:before{content:"\f1d7"}.ion-ios-options:before{content:"\f1d9"}.ion-ios-outlet:before{content:"\f1db"}.ion-ios-paper:before{content:"\f472"}.ion-ios-paper-plane:before{content:"\f1dd"}.ion-ios-partly-sunny:before{content:"\f1df"}.ion-ios-pause:before{content:"\f478"}.ion-ios-paw:before{content:"\f47a"}.ion-ios-people:before{content:"\f47c"}.ion-ios-person:before{content:"\f47e"}.ion-ios-person-add:before{content:"\f1e1"}.ion-ios-phone-landscape:before{content:"\f1e2"}.ion-ios-phone-portrait:before{content:"\f1e3"}.ion-ios-photos:before{content:"\f482"}.ion-ios-pie:before{content:"\f484"}.ion-ios-pin:before{content:"\f1e5"}.ion-ios-pint:before{content:"\f486"}.ion-ios-pizza:before{content:"\f1e7"}.ion-ios-planet:before{content:"\f1eb"}.ion-ios-play:before{content:"\f488"}.ion-ios-play-circle:before{content:"\f113"}.ion-ios-podium:before{content:"\f1ed"}.ion-ios-power:before{content:"\f1ef"}.ion-ios-pricetag:before{content:"\f48d"}.ion-ios-pricetags:before{content:"\f48f"}.ion-ios-print:before{content:"\f1f1"}.ion-ios-pulse:before{content:"\f493"}.ion-ios-qr-scanner:before{content:"\f1f3"}.ion-ios-quote:before{content:"\f1f5"}.ion-ios-radio:before{content:"\f1f9"}.ion-ios-radio-button-off:before{content:"\f1f6"}.ion-ios-radio-button-on:before{content:"\f1f7"}.ion-ios-rainy:before{content:"\f495"}.ion-ios-recording:before{content:"\f497"}.ion-ios-redo:before{content:"\f499"}.ion-ios-refresh:before{content:"\f49c"}.ion-ios-refresh-circle:before{content:"\f135"}.ion-ios-remove:before{content:"\f1fc"}.ion-ios-remove-circle:before{content:"\f1fb"}.ion-ios-remove-circle-outline:before{content:"\f1fa"}.ion-ios-reorder:before{content:"\f1fd"}.ion-ios-repeat:before{content:"\f1fe"}.ion-ios-resize:before{content:"\f1ff"}.ion-ios-restaurant:before{content:"\f201"}.ion-ios-return-left:before{content:"\f202"}.ion-ios-return-right:before{content:"\f203"}.ion-ios-reverse-camera:before{content:"\f49f"}.ion-ios-rewind:before{content:"\f4a1"}.ion-ios-ribbon:before{content:"\f205"}.ion-ios-rocket:before{content:"\f14b"}.ion-ios-rose:before{content:"\f4a3"}.ion-ios-sad:before{content:"\f207"}.ion-ios-save:before{content:"\f1a6"}.ion-ios-school:before{content:"\f209"}.ion-ios-search:before{content:"\f4a5"}.ion-ios-send:before{content:"\f20c"}.ion-ios-settings:before{content:"\f4a7"}.ion-ios-share:before{content:"\f211"}.ion-ios-share-alt:before{content:"\f20f"}.ion-ios-shirt:before{content:"\f213"}.ion-ios-shuffle:before{content:"\f4a9"}.ion-ios-skip-backward:before{content:"\f215"}.ion-ios-skip-forward:before{content:"\f217"}.ion-ios-snow:before{content:"\f218"}.ion-ios-speedometer:before{content:"\f4b0"}.ion-ios-square:before{content:"\f21a"}.ion-ios-square-outline:before{content:"\f15c"}.ion-ios-star:before{content:"\f4b3"}.ion-ios-star-half:before{content:"\f4b1"}.ion-ios-star-outline:before{content:"\f4b2"}.ion-ios-stats:before{content:"\f21c"}.ion-ios-stopwatch:before{content:"\f4b5"}.ion-ios-subway:before{content:"\f21e"}.ion-ios-sunny:before{content:"\f4b7"}.ion-ios-swap:before{content:"\f21f"}.ion-ios-switch:before{content:"\f221"}.ion-ios-sync:before{content:"\f222"}.ion-ios-tablet-landscape:before{content:"\f223"}.ion-ios-tablet-portrait:before{content:"\f24e"}.ion-ios-tennisball:before{content:"\f4bb"}.ion-ios-text:before{content:"\f250"}.ion-ios-thermometer:before{content:"\f252"}.ion-ios-thumbs-down:before{content:"\f254"}.ion-ios-thumbs-up:before{content:"\f256"}.ion-ios-thunderstorm:before{content:"\f4bd"}.ion-ios-time:before{content:"\f4bf"}.ion-ios-timer:before{content:"\f4c1"}.ion-ios-today:before{content:"\f14f"}.ion-ios-train:before{content:"\f258"}.ion-ios-transgender:before{content:"\f259"}.ion-ios-trash:before{content:"\f4c5"}.ion-ios-trending-down:before{content:"\f25a"}.ion-ios-trending-up:before{content:"\f25b"}.ion-ios-trophy:before{content:"\f25d"}.ion-ios-tv:before{content:"\f115"}.ion-ios-umbrella:before{content:"\f25f"}.ion-ios-undo:before{content:"\f4c7"}.ion-ios-unlock:before{content:"\f261"}.ion-ios-videocam:before{content:"\f4cd"}.ion-ios-volume-high:before{content:"\f11c"}.ion-ios-volume-low:before{content:"\f11e"}.ion-ios-volume-mute:before{content:"\f263"}.ion-ios-volume-off:before{content:"\f264"}.ion-ios-walk:before{content:"\f266"}.ion-ios-wallet:before{content:"\f18b"}.ion-ios-warning:before{content:"\f268"}.ion-ios-watch:before{content:"\f269"}.ion-ios-water:before{content:"\f26b"}.ion-ios-wifi:before{content:"\f26d"}.ion-ios-wine:before{content:"\f26f"}.ion-ios-woman:before{content:"\f271"}.ion-logo-android:before{content:"\f225"}.ion-logo-angular:before{content:"\f227"}.ion-logo-apple:before{content:"\f229"}.ion-logo-bitbucket:before{content:"\f193"}.ion-logo-bitcoin:before{content:"\f22b"}.ion-logo-buffer:before{content:"\f22d"}.ion-logo-chrome:before{content:"\f22f"}.ion-logo-closed-captioning:before{content:"\f105"}.ion-logo-codepen:before{content:"\f230"}.ion-logo-css3:before{content:"\f231"}.ion-logo-designernews:before{content:"\f232"}.ion-logo-dribbble:before{content:"\f233"}.ion-logo-dropbox:before{content:"\f234"}.ion-logo-euro:before{content:"\f235"}.ion-logo-facebook:before{content:"\f236"}.ion-logo-flickr:before{content:"\f107"}.ion-logo-foursquare:before{content:"\f237"}.ion-logo-freebsd-devil:before{content:"\f238"}.ion-logo-game-controller-a:before{content:"\f13b"}.ion-logo-game-controller-b:before{content:"\f181"}.ion-logo-github:before{content:"\f239"}.ion-logo-google:before{content:"\f23a"}.ion-logo-googleplus:before{content:"\f23b"}.ion-logo-hackernews:before{content:"\f23c"}.ion-logo-html5:before{content:"\f23d"}.ion-logo-instagram:before{content:"\f23e"}.ion-logo-ionic:before{content:"\f150"}.ion-logo-ionitron:before{content:"\f151"}.ion-logo-javascript:before{content:"\f23f"}.ion-logo-linkedin:before{content:"\f240"}.ion-logo-markdown:before{content:"\f241"}.ion-logo-model-s:before{content:"\f153"}.ion-logo-no-smoking:before{content:"\f109"}.ion-logo-nodejs:before{content:"\f242"}.ion-logo-npm:before{content:"\f195"}.ion-logo-octocat:before{content:"\f243"}.ion-logo-pinterest:before{content:"\f244"}.ion-logo-playstation:before{content:"\f245"}.ion-logo-polymer:before{content:"\f15e"}.ion-logo-python:before{content:"\f246"}.ion-logo-reddit:before{content:"\f247"}.ion-logo-rss:before{content:"\f248"}.ion-logo-sass:before{content:"\f249"}.ion-logo-skype:before{content:"\f24a"}.ion-logo-slack:before{content:"\f10b"}.ion-logo-snapchat:before{content:"\f24b"}.ion-logo-steam:before{content:"\f24c"}.ion-logo-tumblr:before{content:"\f24d"}.ion-logo-tux:before{content:"\f2ae"}.ion-logo-twitch:before{content:"\f2af"}.ion-logo-twitter:before{content:"\f2b0"}.ion-logo-usd:before{content:"\f2b1"}.ion-logo-vimeo:before{content:"\f2c4"}.ion-logo-vk:before{content:"\f10d"}.ion-logo-whatsapp:before{content:"\f2c5"}.ion-logo-windows:before{content:"\f32f"}.ion-logo-wordpress:before{content:"\f330"}.ion-logo-xbox:before{content:"\f34c"}.ion-logo-xing:before{content:"\f10f"}.ion-logo-yahoo:before{content:"\f34d"}.ion-logo-yen:before{content:"\f34e"}.ion-logo-youtube:before{content:"\f34f"}.ion-md-add:before{content:"\f273"}.ion-md-add-circle:before{content:"\f272"}.ion-md-add-circle-outline:before{content:"\f158"}.ion-md-airplane:before{content:"\f15a"}.ion-md-alarm:before{content:"\f274"}.ion-md-albums:before{content:"\f275"}.ion-md-alert:before{content:"\f276"}.ion-md-american-football:before{content:"\f277"}.ion-md-analytics:before{content:"\f278"}.ion-md-aperture:before{content:"\f279"}.ion-md-apps:before{content:"\f27a"}.ion-md-appstore:before{content:"\f27b"}.ion-md-archive:before{content:"\f27c"}.ion-md-arrow-back:before{content:"\f27d"}.ion-md-arrow-down:before{content:"\f27e"}.ion-md-arrow-dropdown:before{content:"\f280"}.ion-md-arrow-dropdown-circle:before{content:"\f27f"}.ion-md-arrow-dropleft:before{content:"\f282"}.ion-md-arrow-dropleft-circle:before{content:"\f281"}.ion-md-arrow-dropright:before{content:"\f284"}.ion-md-arrow-dropright-circle:before{content:"\f283"}.ion-md-arrow-dropup:before{content:"\f286"}.ion-md-arrow-dropup-circle:before{content:"\f285"}.ion-md-arrow-forward:before{content:"\f287"}.ion-md-arrow-round-back:before{content:"\f288"}.ion-md-arrow-round-down:before{content:"\f289"}.ion-md-arrow-round-forward:before{content:"\f28a"}.ion-md-arrow-round-up:before{content:"\f28b"}.ion-md-arrow-up:before{content:"\f28c"}.ion-md-at:before{content:"\f28d"}.ion-md-attach:before{content:"\f28e"}.ion-md-backspace:before{content:"\f28f"}.ion-md-barcode:before{content:"\f290"}.ion-md-baseball:before{content:"\f291"}.ion-md-basket:before{content:"\f292"}.ion-md-basketball:before{content:"\f293"}.ion-md-battery-charging:before{content:"\f294"}.ion-md-battery-dead:before{content:"\f295"}.ion-md-battery-full:before{content:"\f296"}.ion-md-beaker:before{content:"\f297"}.ion-md-bed:before{content:"\f160"}.ion-md-beer:before{content:"\f298"}.ion-md-bicycle:before{content:"\f299"}.ion-md-bluetooth:before{content:"\f29a"}.ion-md-boat:before{content:"\f29b"}.ion-md-body:before{content:"\f29c"}.ion-md-bonfire:before{content:"\f29d"}.ion-md-book:before{content:"\f29e"}.ion-md-bookmark:before{content:"\f29f"}.ion-md-bookmarks:before{content:"\f2a0"}.ion-md-bowtie:before{content:"\f2a1"}.ion-md-briefcase:before{content:"\f2a2"}.ion-md-browsers:before{content:"\f2a3"}.ion-md-brush:before{content:"\f2a4"}.ion-md-bug:before{content:"\f2a5"}.ion-md-build:before{content:"\f2a6"}.ion-md-bulb:before{content:"\f2a7"}.ion-md-bus:before{content:"\f2a8"}.ion-md-business:before{content:"\f1a4"}.ion-md-cafe:before{content:"\f2a9"}.ion-md-calculator:before{content:"\f2aa"}.ion-md-calendar:before{content:"\f2ab"}.ion-md-call:before{content:"\f2ac"}.ion-md-camera:before{content:"\f2ad"}.ion-md-car:before{content:"\f2b2"}.ion-md-card:before{content:"\f2b3"}.ion-md-cart:before{content:"\f2b4"}.ion-md-cash:before{content:"\f2b5"}.ion-md-cellular:before{content:"\f164"}.ion-md-chatboxes:before{content:"\f2b6"}.ion-md-chatbubbles:before{content:"\f2b7"}.ion-md-checkbox:before{content:"\f2b9"}.ion-md-checkbox-outline:before{content:"\f2b8"}.ion-md-checkmark:before{content:"\f2bc"}.ion-md-checkmark-circle:before{content:"\f2bb"}.ion-md-checkmark-circle-outline:before{content:"\f2ba"}.ion-md-clipboard:before{content:"\f2bd"}.ion-md-clock:before{content:"\f2be"}.ion-md-close:before{content:"\f2c0"}.ion-md-close-circle:before{content:"\f2bf"}.ion-md-close-circle-outline:before{content:"\f166"}.ion-md-cloud:before{content:"\f2c9"}.ion-md-cloud-circle:before{content:"\f2c2"}.ion-md-cloud-done:before{content:"\f2c3"}.ion-md-cloud-download:before{content:"\f2c6"}.ion-md-cloud-outline:before{content:"\f2c7"}.ion-md-cloud-upload:before{content:"\f2c8"}.ion-md-cloudy:before{content:"\f2cb"}.ion-md-cloudy-night:before{content:"\f2ca"}.ion-md-code:before{content:"\f2ce"}.ion-md-code-download:before{content:"\f2cc"}.ion-md-code-working:before{content:"\f2cd"}.ion-md-cog:before{content:"\f2cf"}.ion-md-color-fill:before{content:"\f2d0"}.ion-md-color-filter:before{content:"\f2d1"}.ion-md-color-palette:before{content:"\f2d2"}.ion-md-color-wand:before{content:"\f2d3"}.ion-md-compass:before{content:"\f2d4"}.ion-md-construct:before{content:"\f2d5"}.ion-md-contact:before{content:"\f2d6"}.ion-md-contacts:before{content:"\f2d7"}.ion-md-contract:before{content:"\f2d8"}.ion-md-contrast:before{content:"\f2d9"}.ion-md-copy:before{content:"\f2da"}.ion-md-create:before{content:"\f2db"}.ion-md-crop:before{content:"\f2dc"}.ion-md-cube:before{content:"\f2dd"}.ion-md-cut:before{content:"\f2de"}.ion-md-desktop:before{content:"\f2df"}.ion-md-disc:before{content:"\f2e0"}.ion-md-document:before{content:"\f2e1"}.ion-md-done-all:before{content:"\f2e2"}.ion-md-download:before{content:"\f2e3"}.ion-md-easel:before{content:"\f2e4"}.ion-md-egg:before{content:"\f2e5"}.ion-md-exit:before{content:"\f2e6"}.ion-md-expand:before{content:"\f2e7"}.ion-md-eye:before{content:"\f2e9"}.ion-md-eye-off:before{content:"\f2e8"}.ion-md-fastforward:before{content:"\f2ea"}.ion-md-female:before{content:"\f2eb"}.ion-md-filing:before{content:"\f2ec"}.ion-md-film:before{content:"\f2ed"}.ion-md-finger-print:before{content:"\f2ee"}.ion-md-fitness:before{content:"\f1ac"}.ion-md-flag:before{content:"\f2ef"}.ion-md-flame:before{content:"\f2f0"}.ion-md-flash:before{content:"\f2f1"}.ion-md-flash-off:before{content:"\f169"}.ion-md-flashlight:before{content:"\f16b"}.ion-md-flask:before{content:"\f2f2"}.ion-md-flower:before{content:"\f2f3"}.ion-md-folder:before{content:"\f2f5"}.ion-md-folder-open:before{content:"\f2f4"}.ion-md-football:before{content:"\f2f6"}.ion-md-funnel:before{content:"\f2f7"}.ion-md-gift:before{content:"\f199"}.ion-md-git-branch:before{content:"\f2fa"}.ion-md-git-commit:before{content:"\f2fb"}.ion-md-git-compare:before{content:"\f2fc"}.ion-md-git-merge:before{content:"\f2fd"}.ion-md-git-network:before{content:"\f2fe"}.ion-md-git-pull-request:before{content:"\f2ff"}.ion-md-glasses:before{content:"\f300"}.ion-md-globe:before{content:"\f301"}.ion-md-grid:before{content:"\f302"}.ion-md-hammer:before{content:"\f303"}.ion-md-hand:before{content:"\f304"}.ion-md-happy:before{content:"\f305"}.ion-md-headset:before{content:"\f306"}.ion-md-heart:before{content:"\f308"}.ion-md-heart-dislike:before{content:"\f167"}.ion-md-heart-empty:before{content:"\f1a1"}.ion-md-heart-half:before{content:"\f1a2"}.ion-md-help:before{content:"\f30b"}.ion-md-help-buoy:before{content:"\f309"}.ion-md-help-circle:before{content:"\f30a"}.ion-md-help-circle-outline:before{content:"\f16d"}.ion-md-home:before{content:"\f30c"}.ion-md-hourglass:before{content:"\f111"}.ion-md-ice-cream:before{content:"\f30d"}.ion-md-image:before{content:"\f30e"}.ion-md-images:before{content:"\f30f"}.ion-md-infinite:before{content:"\f310"}.ion-md-information:before{content:"\f312"}.ion-md-information-circle:before{content:"\f311"}.ion-md-information-circle-outline:before{content:"\f16f"}.ion-md-jet:before{content:"\f315"}.ion-md-journal:before{content:"\f18d"}.ion-md-key:before{content:"\f316"}.ion-md-keypad:before{content:"\f317"}.ion-md-laptop:before{content:"\f318"}.ion-md-leaf:before{content:"\f319"}.ion-md-link:before{content:"\f22e"}.ion-md-list:before{content:"\f31b"}.ion-md-list-box:before{content:"\f31a"}.ion-md-locate:before{content:"\f31c"}.ion-md-lock:before{content:"\f31d"}.ion-md-log-in:before{content:"\f31e"}.ion-md-log-out:before{content:"\f31f"}.ion-md-magnet:before{content:"\f320"}.ion-md-mail:before{content:"\f322"}.ion-md-mail-open:before{content:"\f321"}.ion-md-mail-unread:before{content:"\f172"}.ion-md-male:before{content:"\f323"}.ion-md-man:before{content:"\f324"}.ion-md-map:before{content:"\f325"}.ion-md-medal:before{content:"\f326"}.ion-md-medical:before{content:"\f327"}.ion-md-medkit:before{content:"\f328"}.ion-md-megaphone:before{content:"\f329"}.ion-md-menu:before{content:"\f32a"}.ion-md-mic:before{content:"\f32c"}.ion-md-mic-off:before{content:"\f32b"}.ion-md-microphone:before{content:"\f32d"}.ion-md-moon:before{content:"\f32e"}.ion-md-more:before{content:"\f1c9"}.ion-md-move:before{content:"\f331"}.ion-md-musical-note:before{content:"\f332"}.ion-md-musical-notes:before{content:"\f333"}.ion-md-navigate:before{content:"\f334"}.ion-md-notifications:before{content:"\f338"}.ion-md-notifications-off:before{content:"\f336"}.ion-md-notifications-outline:before{content:"\f337"}.ion-md-nuclear:before{content:"\f339"}.ion-md-nutrition:before{content:"\f33a"}.ion-md-open:before{content:"\f33b"}.ion-md-options:before{content:"\f33c"}.ion-md-outlet:before{content:"\f33d"}.ion-md-paper:before{content:"\f33f"}.ion-md-paper-plane:before{content:"\f33e"}.ion-md-partly-sunny:before{content:"\f340"}.ion-md-pause:before{content:"\f341"}.ion-md-paw:before{content:"\f342"}.ion-md-people:before{content:"\f343"}.ion-md-person:before{content:"\f345"}.ion-md-person-add:before{content:"\f344"}.ion-md-phone-landscape:before{content:"\f346"}.ion-md-phone-portrait:before{content:"\f347"}.ion-md-photos:before{content:"\f348"}.ion-md-pie:before{content:"\f349"}.ion-md-pin:before{content:"\f34a"}.ion-md-pint:before{content:"\f34b"}.ion-md-pizza:before{content:"\f354"}.ion-md-planet:before{content:"\f356"}.ion-md-play:before{content:"\f357"}.ion-md-play-circle:before{content:"\f174"}.ion-md-podium:before{content:"\f358"}.ion-md-power:before{content:"\f359"}.ion-md-pricetag:before{content:"\f35a"}.ion-md-pricetags:before{content:"\f35b"}.ion-md-print:before{content:"\f35c"}.ion-md-pulse:before{content:"\f35d"}.ion-md-qr-scanner:before{content:"\f35e"}.ion-md-quote:before{content:"\f35f"}.ion-md-radio:before{content:"\f362"}.ion-md-radio-button-off:before{content:"\f360"}.ion-md-radio-button-on:before{content:"\f361"}.ion-md-rainy:before{content:"\f363"}.ion-md-recording:before{content:"\f364"}.ion-md-redo:before{content:"\f365"}.ion-md-refresh:before{content:"\f366"}.ion-md-refresh-circle:before{content:"\f228"}.ion-md-remove:before{content:"\f368"}.ion-md-remove-circle:before{content:"\f367"}.ion-md-remove-circle-outline:before{content:"\f176"}.ion-md-reorder:before{content:"\f369"}.ion-md-repeat:before{content:"\f36a"}.ion-md-resize:before{content:"\f36b"}.ion-md-restaurant:before{content:"\f36c"}.ion-md-return-left:before{content:"\f36d"}.ion-md-return-right:before{content:"\f36e"}.ion-md-reverse-camera:before{content:"\f36f"}.ion-md-rewind:before{content:"\f370"}.ion-md-ribbon:before{content:"\f371"}.ion-md-rocket:before{content:"\f179"}.ion-md-rose:before{content:"\f372"}.ion-md-sad:before{content:"\f373"}.ion-md-save:before{content:"\f1a9"}.ion-md-school:before{content:"\f374"}.ion-md-search:before{content:"\f375"}.ion-md-send:before{content:"\f376"}.ion-md-settings:before{content:"\f377"}.ion-md-share:before{content:"\f379"}.ion-md-share-alt:before{content:"\f378"}.ion-md-shirt:before{content:"\f37a"}.ion-md-shuffle:before{content:"\f37b"}.ion-md-skip-backward:before{content:"\f37c"}.ion-md-skip-forward:before{content:"\f37d"}.ion-md-snow:before{content:"\f37e"}.ion-md-speedometer:before{content:"\f37f"}.ion-md-square:before{content:"\f381"}.ion-md-square-outline:before{content:"\f380"}.ion-md-star:before{content:"\f384"}.ion-md-star-half:before{content:"\f382"}.ion-md-star-outline:before{content:"\f383"}.ion-md-stats:before{content:"\f385"}.ion-md-stopwatch:before{content:"\f386"}.ion-md-subway:before{content:"\f387"}.ion-md-sunny:before{content:"\f388"}.ion-md-swap:before{content:"\f389"}.ion-md-switch:before{content:"\f38a"}.ion-md-sync:before{content:"\f38b"}.ion-md-tablet-landscape:before{content:"\f38c"}.ion-md-tablet-portrait:before{content:"\f38d"}.ion-md-tennisball:before{content:"\f38e"}.ion-md-text:before{content:"\f38f"}.ion-md-thermometer:before{content:"\f390"}.ion-md-thumbs-down:before{content:"\f391"}.ion-md-thumbs-up:before{content:"\f392"}.ion-md-thunderstorm:before{content:"\f393"}.ion-md-time:before{content:"\f394"}.ion-md-timer:before{content:"\f395"}.ion-md-today:before{content:"\f17d"}.ion-md-train:before{content:"\f396"}.ion-md-transgender:before{content:"\f397"}.ion-md-trash:before{content:"\f398"}.ion-md-trending-down:before{content:"\f399"}.ion-md-trending-up:before{content:"\f39a"}.ion-md-trophy:before{content:"\f39b"}.ion-md-tv:before{content:"\f17f"}.ion-md-umbrella:before{content:"\f39c"}.ion-md-undo:before{content:"\f39d"}.ion-md-unlock:before{content:"\f39e"}.ion-md-videocam:before{content:"\f39f"}.ion-md-volume-high:before{content:"\f123"}.ion-md-volume-low:before{content:"\f131"}.ion-md-volume-mute:before{content:"\f3a1"}.ion-md-volume-off:before{content:"\f3a2"}.ion-md-walk:before{content:"\f3a4"}.ion-md-wallet:before{content:"\f18f"}.ion-md-warning:before{content:"\f3a5"}.ion-md-watch:before{content:"\f3a6"}.ion-md-water:before{content:"\f3a7"}.ion-md-wifi:before{content:"\f3a8"}.ion-md-wine:before{content:"\f3a9"}.ion-md-woman:before{content:"\f3aa"} diff --git a/Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.eot b/Server/www/spiderbasic/onsenui-css/ionicons/fonts/ionicons.eot new file mode 100644 index 0000000000000000000000000000000000000000..e5e63fc9aa35ca584fe92be9c2ee3b81f4546cf3 GIT binary patch literal 112662 zcmeFad7K7IS-Z8AwFlZ6mM5|WUF03i$zFob|11dL%D z0b_&+0RhC9k5OvbN+&PaZj2h|?^}z1@K&vC zI<|!qgpUdr3Fiyv@c0r`S;A`JT;U_arNUO>EMYrJ(!x5FY!@y;J8GR4dhxGM=;m=R z@&aD?!6%`ZUhfk|1xZ-Bc=4L$pSu0Aq`|0=sh@bKSD-qnGSBwg3A21a|lD1fgy{ z9~;K^)(;kc>rDTgzX)DuRbG3=D&u|u@xYNkA9+qx*mscC-9^LW@%zq^=Y(!iIPzya zS>aEjTiieK87dKH@jsGGfgzIKP1~r}n z2BcS>cibjn^pG(5LpFY7T+H|EA~x^Ws6<9Lo63%^DA)ovZC(8nq}h`1I;k)|-_#^Z>EBY)-j zeKX3bUf^|qW7H;%Fn;6+8$R-P9*-eUfu7$=F~YDL*Xl-(yo37psGUIL7)PMGT1@Ft zH&B`fykn%6o>BJ@-b?l4v^H+}=#2VWn&M%EF@$l1gXkZXQGV3v3(r#>mDR!>NN+|M zK{&Rq7iGhE&dW3EhLNt_JBoCg>S!KkyhFfP#(6o-S(Ue6MtL`kBAyw>kf%UpYboun z%dlHss~>mgpq8ijeuVU~?eKo8n;C{@Y&?q{nBZX+Mo1jJk2! zO;di<9s78#4EbTCKaW5$g;9*1;t@ALj(7~=Ao@;eDzB9dA96tOoz-kW6e#fat{xENM(0zu0@?nHAB*vXKygu#rk;*8H zxnWok1WJ!0Ac-}f9?STV_XUD$dMC9RMtGRoxM3V|El^#pd>zshC@(m%FnV;%%c;!> z0>OPPcJC8FX*hm6h07SeA0Fx9!RkMvP6H14(^b7Ry`-9JkAxnUgf zSS^h;+3&&+)l+#b2yS|Ks_hg`0`oIHśqt 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

IQ79G_1mSw^^?G}+Ud_!vX2(lD$-VFUe(w8u z?|r}Dhq5e-%x2IueSjc{-QY7SLW&P?s^Sb;$7w=t4q_q&f}+n2E(mxh33{pv1wsjA zcEbnI1YnQQe<47jI(I`Urqt6|wAzPYMDTeeX3{O5b~^+(&jtlA0x)v(et;f;`JBzq z*=}*`D8Ow1EdUG{%h@LY9s;O18w2o&jq4^u#8 z`$HUF!2Zg8yMGcyNdxvf&ba!fUyVYMh`H52q)tptySKU6>I5RM@DJm0Z*&1 z(6VGq5-q1Ri769OsnoZ%tjNXXE8myoiKbv4T32L^M9US7HaV4+%VdG#HLHiYd<_pi z2f5*V^tf|qYIt$FzDXjFMdFf-h*&K3+VU;UFkk;w{m%qf!(9EQ?t%fd4n!oD21u`$ z*nj9qCa|YJ<2%LO0)!Yq@$I>KJ^ZOyED6q#Bz~;=D+5sHTtk0Ud^K)=<8AB23`NMKV&9tOi^c>P&a~U_ z#Gm@QHjisDVgGU7hLwBXIgmX$O^M_(i7ziVa~Q`7wzb`!aPh~+d0<_``HctJAQA*c z2eB$mk$k-BgV+5mmMA3f@p;Lbivk=+21h)WTP+Q?Jw^JoC%(auxNuPz-~aeXzGq@a ztem5r+FEKIF=v>%hFl|(-+UDQL*o^LJ|$_T^~KdLPUHjbG?C9wp3ZPToQhE==mHxH zR}YxTB{fN>C3CXOFi#%@7|?f^C$CK7nUk-OtZ;!+p++n@^Xu@K zgzL#;o>qE=Ks}4 zp$)btgM8h=V^MQgK8B7TZ8T-3#Y>XlckeyYReNJ};MHXbbD<4v2K3QsS7rS`uW#U* z44v&0N>S8Nkw`>^Pc?!e034Ba!=YNtVDW>N6Io!EK^bRDsOo1mYHDh#Ns@%GlOz&A zU&y)qNx2jy9|WO*Na8@>5NEb0ilV5Tdp<>xUIKs{#Dm@9=>H7&);|Ia0R1XM0|l6s QqyPW_07*qoM6N<$g1Q`=`Tzg` literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftSelected.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftSelected.png new file mode 100644 index 0000000000000000000000000000000000000000..9700afb3783708688a6cb82d64631579dc0271de GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0y~yV15B)Gjgy2NneH*V<4rF>=ES4z)+>ez|hdb!0-zw z)BsdeYQVtoDuIE)Y6b&?c)^@qfi^%1mUKs7M+SzCeKo%WCja2RRuO1egzUa81j7 w{@nct+n=)soGz`(QhmAnQAQ$d1vp>fCFTeG^1dzkv>FVdQ&MBb@0J8`_MgRZ+ literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftSelected.svg b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftSelected.svg new file mode 100644 index 0000000..12e7d8a --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftSelected.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftUnselected.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftUnselected.png new file mode 100644 index 0000000000000000000000000000000000000000..412390e08ef051fc95ba65bc0671c2c229c99047 GIT binary patch literal 106 zcmeAS@N?(olHy`uVBq!ia0vp^(}0+fgAGX9B!x?YIK@HkP7LeL$-D$|R6JcALp07O z|M~yFo|&2Xa6KExkN#t63nt0vo?W*6&Wh^J3Cs*Tt0J^C-T!X_s%P+Y^>bP0l+XkK DZJZzu literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftUnselected.svg b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftUnselected.svg new file mode 100644 index 0000000..e31c211 --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabLeftUnselected.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabNested.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabNested.png new file mode 100644 index 0000000000000000000000000000000000000000..0140cf45b47b057b7e0c20735afea2385a0d0166 GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^l0e+X!3HEXZYq8SQY`6?zK#qG>ra@ocD)2CC~=J_ z3C>R|DNig)WpGT%PfAtr%uP&B4N6T+sVqF1Y6DcX$kW9!q~g|_TcCYsjSdO|94uI=PuAI*Pw&Ze8kW5jinX0k xES1vE)4oDu*E)OmXFnA}MHDA6PUvS~W+=}#jjqyB-w1RqgQu&X%Q~loCICD;SzQ1C literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightSelected.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightSelected.png new file mode 100644 index 0000000000000000000000000000000000000000..1a2843499317cef81459b655e3ecdc196dd64729 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0y~yV15B)Gjgy2NneH*V<4rF>=ES4z)+>ez|hdb!0-zw z)BsdeYQVtoDuIE)Y6b&?c)^@qfi^%1mUKs7M+SzCeKo%WCja2RRuGI9MDn*Pmn) tlDEq_aGyu#&fIV&ppqGR)05Z# + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightUnselected.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightUnselected.png new file mode 100644 index 0000000000000000000000000000000000000000..2bdd00e4d9490bf4b4f28875448263609d969f7c GIT binary patch literal 105 zcmeAS@N?(olHy`uVBq!ia0vp^(}0+fgAGX9B!x?YIK@HkP7LeL$-D$|ls#P>Lp07O zrz9jK{P_RhUYVK2z{!xAZ&r+D)GXUq_Z(k{Geog7hkS8b{}`y8!PC{xWt~$(69C%t B9B}{u literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightUnselected.svg b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightUnselected.svg new file mode 100644 index 0000000..d1379a7 --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabRightUnselected.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopSelected.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopSelected.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d57725814ce6e9468f030e48c6a093fcab1791 GIT binary patch literal 120 zcmeAS@N?(olHy`uVBq!ia0vp^j6nR0gAGU~IOqn01d4;)ofy`glX(f`7 + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopUnselected.png b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopUnselected.png new file mode 100644 index 0000000000000000000000000000000000000000..8c34545f52a67c6453f50f01ce8d43b5df9c04e3 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{F!3HF+&llYe5-1LGcVbv~PUa<$W9;eT7{YNq z^u$Kq1_K7>gOjzzJf{Uq)H literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopUnselected.svg b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopUnselected.svg new file mode 100644 index 0000000..c55e925 --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/claro/layout/images/tabTopUnselected.svg @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/flat/flat.css b/Server/www/spiderbasic/dojo/themes/flat/flat.css new file mode 100644 index 0000000..ff745ac --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/flat/flat.css @@ -0,0 +1,33 @@ +@font-face{font-family:'FontAwesome';src:url("font-awesome-4.5.0/fonts/fontawesome-webfont.eot?v=4.5.0");src:url("font-awesome-4.5.0/fonts/fontawesome-webfont.eot?#iefix&v=4.5.0") format('embedded-opentype'),url("font-awesome-4.5.0/fonts/fontawesome-webfont.woff2?v=4.5.0") format('woff2'),url("font-awesome-4.5.0/fonts/fontawesome-webfont.woff?v=4.5.0") format('woff'),url("font-awesome-4.5.0/fonts/fontawesome-webfont.ttf?v=4.5.0") format('truetype');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.dijitReset {margin:0; border:0; padding:0; font: inherit; color: inherit;}.dj_a11y .dijitReset {-moz-appearance: none;}.dijitInline {display:inline-block; #zoom: 1; #display:inline; border:0; padding:0; vertical-align:middle; #vertical-align: auto;}table.dijitInline {display:inline-table; box-sizing: content-box; -moz-box-sizing: content-box;}.dijitHidden {display: none !important;}.dijitVisible {display: block !important; position: relative;}.dj_ie6 .dijitComboBox .dijitInputContainer,.dijitInputContainer {#zoom: 1; overflow: hidden; float: none !important; position: relative;}.dj_ie7 .dijitInputContainer {float: left !important; clear: left; display: inline-block !important;}.dj_ie .dijitSelect input,.dj_ie input.dijitTextBox,.dj_ie .dijitTextBox input {font-size: 100%;}.dijitSelect .dijitButtonText {float: left; vertical-align: top;}TABLE.dijitSelect {padding: 0 !important;}.dijitTextBox .dijitSpinnerButtonContainer,.dijitTextBox .dijitArrowButtonContainer,.dijitValidationTextBox .dijitValidationContainer {float: right; text-align: center;}.dijitSelect input.dijitInputField,.dijitTextBox input.dijitInputField {padding-left: 0 !important; padding-right: 0 !important;}.dijitValidationTextBox .dijitValidationContainer {display: none;}.dijitTeeny {font-size:1px; line-height:1px;}.dijitOffScreen {position: absolute !important; left: 50% !important; top: -10000px !important;}.dijitPopup {position: absolute; background-color: transparent; margin: 0; border: 0; padding: 0;}.dijitPositionOnly {padding: 0 !important; border: 0 !important; background-color: transparent !important; background-image: none !important; height: auto !important; width: auto !important;}.dijitNonPositionOnly {float: none !important; position: static !important; margin: 0 0 0 0 !important; vertical-align: middle !important;}.dijitBackgroundIframe {position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: -1; border: 0; padding: 0; margin: 0;}.dijitDisplayNone {display:none !important;}.dijitContainer {overflow: hidden;}.dj_a11y .dijitIcon,.dj_a11y div.dijitArrowButtonInner, .dj_a11y span.dijitArrowButtonInner,.dj_a11y img.dijitArrowButtonInner,.dj_a11y .dijitCalendarIncrementControl,.dj_a11y .dijitTreeExpando {display: none;}.dijitSpinner div.dijitArrowButtonInner {display: block;}.dj_a11y .dijitA11ySideArrow {display: inline !important; cursor: pointer;}.dj_a11y .dijitCalendarDateLabel {padding: 1px; border: 0px !important;}.dj_a11y .dijitCalendarSelectedDate .dijitCalendarDateLabel {border-style: solid !important; border-width: 1px !important; padding: 0;}.dj_a11y .dijitCalendarDateTemplate {padding-bottom: 0.1em !important; border: 0px !important;}.dj_a11y .dijitButtonNode {border: black outset medium !important; padding: 0 !important;}.dj_a11y .dijitArrowButton {padding: 0 !important;}.dj_a11y .dijitButtonContents {margin: 0.15em;}.dj_a11y .dijitTextBoxReadOnly .dijitInputField,.dj_a11y .dijitTextBoxReadOnly .dijitButtonNode {border-style: outset!important; border-width: medium!important; border-color: #999 !important; color:#999 !important;}.dijitButtonNode * {vertical-align: middle;}.dijitSelect .dijitArrowButtonInner,.dijitButtonNode .dijitArrowButtonInner {background: no-repeat center; direction: ltr;}.dijitLeft {background-position:left top; background-repeat:no-repeat;}.dijitStretch {white-space:nowrap; background-repeat:repeat-x;}.dijitRight {#display:inline; background-position:right top; background-repeat:no-repeat;}.dj_gecko .dj_a11y .dijitButtonDisabled .dijitButtonNode {opacity: 0.5;}.dijitToggleButton,.dijitButton,.dijitDropDownButton,.dijitComboButton {margin: 0px; vertical-align: middle;}.dijitButtonContents {display: block;}td.dijitButtonContents {display: table-cell;}.dijitButtonNode img {vertical-align:middle;}.dijitToolbar .dijitComboButton {border-collapse: separate;}.dijitToolbar .dijitToggleButton,.dijitToolbar .dijitButton,.dijitToolbar .dijitDropDownButton,.dijitToolbar .dijitComboButton {margin: 0;}.dijitToolbar .dijitButtonContents {padding: 1px 2px;}.dj_webkit .dijitToolbar .dijitDropDownButton {}.dj_gecko .dijitToolbar .dijitButtonNode::-moz-focus-inner {padding:0;}.dijitSelect {border:1px solid gray;}.dijitButtonNode {border:1px solid gray; margin:0; line-height:20px; vertical-align: middle; #vertical-align: auto; text-align:center; white-space: nowrap;}.dj_webkit .dijitSpinner .dijitSpinnerButtonContainer {line-height:inherit;}.dijitTextBox .dijitButtonNode {border-width: 0;}.dijitSelect,.dijitSelect *,.dijitButtonNode,.dijitButtonNode * {cursor: pointer;}.dj_ie .dijitButtonNode {zoom: 1;}.dj_ie .dijitButtonNode button {overflow: visible;}div.dijitArrowButton {float: right;}.dijitTextBox {border: solid black 1px; #overflow: hidden; width: 15em; vertical-align: middle;}.dijitTextBoxReadOnly,.dijitTextBoxDisabled {color: gray;}.dj_safari .dijitTextBoxDisabled input {color: #707070;}.dj_safari textarea.dijitTextAreaDisabled {color: #333;}.dj_gecko .dijitTextBoxReadOnly input.dijitInputField, .dj_gecko .dijitTextBoxDisabled input {-moz-user-input: none;}.dijitPlaceHolder {color: #999; position: absolute; top: 0; left: 0; #filter: "";}.dijitTimeTextBox {width: 8em;}.dijitTextBox input:focus {outline: none;}.dijitTextBoxFocused {outline: 5px -webkit-focus-ring-color;}.dijitSelect input,.dijitTextBox input {float: left;}.dj_ie6 input.dijitTextBox,.dj_ie6 .dijitTextBox input {float: none;}.dijitInputInner {border:0 !important; background-color:transparent !important; width:100% !important; box-shadow: none !important; padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important;}.dj_a11y .dijitTextBox input {margin: 0 !important;}.dijitValidationTextBoxError input.dijitValidationInner,.dijitSelect input,.dijitTextBox input.dijitArrowButtonInner {text-indent: -2em !important; direction: ltr !important; text-align: left !important; #text-indent: 0 !important; #letter-spacing: -5em !important; #text-align: right !important;}.dj_ie .dijitSelect input,.dj_ie .dijitTextBox input,.dj_ie input.dijitTextBox {overflow-y: visible; line-height: 20px; height: 20px;}.dijitSelect .dijitSelectLabel span {line-height: 100%;}.dj_ie .dijitSelect .dijitSelectLabel {line-height: normal;}.dj_ie6 .dijitSelect .dijitSelectLabel,.dj_ie7 .dijitSelect .dijitSelectLabel,.dj_ie8 .dijitSelect .dijitSelectLabel,.dj_iequirks .dijitSelect .dijitSelectLabel,.dijitSelect td,.dj_ie6 .dijitSelect input,.dj_iequirks .dijitSelect input,.dj_ie6 .dijitSelect .dijitValidationContainer,.dj_ie6 .dijitTextBox input,.dj_ie6 input.dijitTextBox,.dj_iequirks .dijitTextBox input.dijitValidationInner,.dj_iequirks .dijitTextBox input.dijitArrowButtonInner,.dj_iequirks .dijitTextBox input.dijitSpinnerButtonInner,.dj_iequirks .dijitTextBox input.dijitInputInner,.dj_iequirks input.dijitTextBox {line-height: 100%;}.dj_a11y input.dijitValidationInner,.dj_a11y input.dijitArrowButtonInner {text-indent: 0 !important; width: 1em !important; text-align: left !important; color: black !important;}.dijitValidationTextBoxError .dijitValidationContainer {display: inline; cursor: default;}.dijitSpinner .dijitSpinnerButtonContainer,.dijitComboBox .dijitArrowButtonContainer,.bootstrap .dijitSelect .dijitArrowButton {border-width: 0 0 0 1px !important;}.dj_a11y .dijitSelect .dijitArrowButtonContainer,.dijitToolbar .dijitComboBox .dijitArrowButtonContainer {border-width: 0 !important;}.dijitComboBoxMenu {list-style-type: none;}.dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode {border-width: 0;}.dj_ie .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitButtonNode {clear: both;}.dj_ie .dijitToolbar .dijitComboBox {vertical-align: middle;}.dijitTextBox .dijitSpinnerButtonContainer {width: 1em; position: relative !important; overflow: hidden;}.dijitSpinner .dijitSpinnerButtonInner {width:1em; visibility:hidden !important; overflow-x:hidden;}.dijitComboBox .dijitButtonNode,.dijitSpinnerButtonContainer .dijitButtonNode {border-width: 0;}.dj_a11y .dijitSpinnerButtonContainer .dijitButtonNode {border-width: 0px !important; border-style: solid !important;}.dj_a11y .dijitTextBox .dijitSpinnerButtonContainer,.dj_a11y .dijitSpinner .dijitArrowButtonInner,.dj_a11y .dijitSpinnerButtonContainer input {width: 1em !important;}.dj_a11y .dijitSpinner .dijitArrowButtonInner {margin: 0 auto !important;}.dj_ie .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {padding-left: 0.3em !important; padding-right: 0.3em !important; margin-left: 0.3em !important; margin-right: 0.3em !important; width: 1.4em !important;}.dj_ie7 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {padding-left: 0 !important; padding-right: 0 !important; width: 1em !important;}.dj_ie6 .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {margin-left: 0.1em !important; margin-right: 0.1em !important; width: 1em !important;}.dj_iequirks .dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {margin-left: 0 !important; margin-right: 0 !important; width: 2em !important;}.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {padding: 0; position: absolute !important; right: 0; float: none; height: 50%; width: 100%; bottom: auto; left: 0; right: auto;}.dj_iequirks .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {width: auto;}.dj_a11y .dijitSpinnerButtonContainer .dijitArrowButton {overflow: visible !important;}.dijitSpinner .dijitSpinnerButtonContainer .dijitDownArrowButton {top: 50%; border-top-width: 1px !important;}.dijitSpinner .dijitSpinnerButtonContainer .dijitUpArrowButton {#bottom: 50%; top: 0;}.dijitSpinner .dijitArrowButtonInner {margin: auto; overflow-x: hidden;}.dj_iequirks .dijitSpinner .dijitArrowButtonInner {height: auto !important;}.dijitSpinner .dijitArrowButtonInner .dijitInputField {-moz-transform: scale(0.5); -moz-transform-origin: center top; -webkit-transform: scale(0.5); -webkit-transform-origin: center top; -o-transform: scale(0.5); -o-transform-origin: center top; transform: scale(0.5); transform-origin: left top; padding-top: 0; padding-bottom: 0; padding-left: 0 !important; padding-right: 0 !important; width: 100%; visibility: hidden;}.dj_ie .dijitSpinner .dijitArrowButtonInner .dijitInputField {display: none;}.dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButtonInner {overflow: hidden;}.dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {width: 100%;}.dj_iequirks .dj_a11y .dijitSpinner .dijitSpinnerButtonContainer .dijitArrowButton {width: 1em;}.dj_a11y .dijitSpinner .dijitArrowButtonInner .dijitInputField {vertical-align:top; visibility: visible;}.dj_a11y .dijitSpinnerButtonContainer {width: 1em;}.dijitCheckBox,.dijitRadio,.dijitCheckBoxInput {padding: 0; border: 0; width: 16px; height: 16px; background-position:center center; background-repeat:no-repeat; overflow: hidden; cursor: pointer;}.dijitCheckBox input,.dijitRadio input {margin: 0; padding: 0; display: block;}.dijitCheckBoxInput {opacity: 0.01;}.dj_ie .dijitCheckBoxInput {filter: alpha(opacity=0);}.dj_a11y .dijitCheckBox,.dj_a11y .dijitRadio {width: auto !important; height: auto !important;}.dj_a11y .dijitCheckBoxInput {opacity: 1; filter: none; width: auto; height: auto;}.dj_a11y .dijitFocusedLabel {border: 1px dotted; outline: 0px !important;}.dijitProgressBar {z-index: 0;}.dijitProgressBarEmpty {position:relative;overflow:hidden; border:1px solid black; z-index:0;}.dijitProgressBarFull {position:absolute; overflow:hidden; z-index:-1; top:0; width:100%;}.dj_ie6 .dijitProgressBarFull {height:1.6em;}.dijitProgressBarTile {position:absolute; overflow:hidden; top:0; left:0; bottom:0; right:0; margin:0; padding:0; width: 100%; height:auto; background-color:#aaa;}.dj_a11y .dijitProgressBarTile {border-width:2px; border-style:solid; background-color:transparent !important;}.dj_ie6 .dijitProgressBarTile {position:static; height:1.6em;}.dijitProgressBarIndeterminate .dijitProgressBarTile {}.dijitProgressBarIndeterminateHighContrastImage {display:none;}.dj_a11y .dijitProgressBarIndeterminate .dijitProgressBarIndeterminateHighContrastImage {display:block; position:absolute; top:0; bottom:0; margin:0; padding:0; width:100%; height:auto;}.dijitProgressBarLabel {display:block; position:static; width:100%; text-align:center; background-color:transparent !important;}.dijitTooltip {position: absolute; z-index: 2000; display: block; left: 0; top: -10000px; overflow: visible;}.dijitTooltipContainer {border: solid black 2px; background: #b8b5b5; color: black; font-size: small;}.dijitTooltipFocusNode {padding: 2px 2px 2px 2px;}.dijitTooltipConnector {position: absolute;}.dj_a11y .dijitTooltipConnector {display: none;}.dijitTooltipData {display:none;}.dijitLayoutContainer {position: relative; display: block; overflow: hidden;}.dijitAlignTop,.dijitAlignBottom,.dijitAlignLeft,.dijitAlignRight {position: absolute; overflow: hidden;}body .dijitAlignClient {position: absolute;}.dijitBorderContainer, .dijitBorderContainerNoGutter {position:relative; overflow: hidden; z-index: 0;}.dijitBorderContainerPane,.dijitBorderContainerNoGutterPane {position: absolute !important; z-index: 2;}.dijitBorderContainer > .dijitTextArea {resize: none;}.dijitGutter {position: absolute; font-size: 1px;}.dijitSplitter {position: absolute; overflow: hidden; z-index: 10; background-color: #fff; border-color: gray; border-style: solid; border-width: 0;}.dj_ie .dijitSplitter {z-index: 1;}.dijitSplitterActive {z-index: 11 !important;}.dijitSplitterCover {position:absolute; z-index:-1; top:0; left:0; width:100%; height:100%;}.dijitSplitterCoverActive {z-index:3 !important;}.dj_ie .dijitSplitterCover {background: white; filter: alpha(opacity=0);}.dijitSplitterH {height: 7px; border-top:1px; border-bottom:1px; cursor: row-resize;}.dijitSplitterV {width: 7px; border-left:1px; border-right:1px; cursor: col-resize;}.dijitSplitContainer {position: relative; overflow: hidden; display: block;}.dijitSplitPane {position: absolute;}.dijitSplitContainerSizerH,.dijitSplitContainerSizerV {position:absolute; font-size: 1px; background-color: ThreeDFace; border: 1px solid; border-color: ThreeDHighlight ThreeDShadow ThreeDShadow ThreeDHighlight; margin: 0;}.dijitSplitContainerSizerH .thumb, .dijitSplitterV .dijitSplitterThumb {overflow:hidden; position:absolute; top:49%;}.dijitSplitContainerSizerV .thumb, .dijitSplitterH .dijitSplitterThumb {position:absolute; left:49%;}.dijitSplitterShadow,.dijitSplitContainerVirtualSizerH,.dijitSplitContainerVirtualSizerV {font-size: 1px; background-color: ThreeDShadow; -moz-opacity: 0.5; opacity: 0.5; filter: Alpha(Opacity=50); margin: 0;}.dijitSplitContainerSizerH, .dijitSplitContainerVirtualSizerH {cursor: col-resize;}.dijitSplitContainerSizerV, .dijitSplitContainerVirtualSizerV {cursor: row-resize;}.dj_a11y .dijitSplitterH {border-top:1px solid #d3d3d3 !important; border-bottom:1px solid #d3d3d3 !important;}.dj_a11y .dijitSplitterV {border-left:1px solid #d3d3d3 !important; border-right:1px solid #d3d3d3 !important;}.dijitContentPane {display: block; overflow: auto;}.dijitContentPaneSingleChild {overflow: hidden;}.dijitContentPaneLoading .dijitIconLoading,.dijitContentPaneError .dijitIconError {margin-right: 9px;}.dijitTitlePane {display: block; overflow: hidden;}.dijitTitlePaneTitle {cursor: pointer;}.dijitFixedOpen, .dijitFixedClosed {cursor: default;}.dijitFixedOpen .dijitArrowNode, .dijitFixedOpen .dijitArrowNodeInner,.dijitFixedClosed .dijitArrowNode, .dijitFixedClosed .dijitArrowNodeInner{display: none;}.dijitTitlePaneTitle * {vertical-align: middle;}.dijitTitlePane .dijitArrowNodeInner {display: none;}.dj_a11y .dijitTitlePane .dijitArrowNodeInner {display:inline !important; font-family: monospace;}.dj_a11y .dijitTitlePane .dijitArrowNode {display:none;}.dj_ie6 .dijitTitlePaneContentOuter,.dj_ie6 .dijitTitlePane .dijitTitlePaneTitle {zoom: 1;}.dijitColorPalette {border: 1px solid #999; background: #fff; position: relative;}.dijitColorPalette .dijitPaletteTable {padding: 2px 3px 3px 3px; position: relative; overflow: hidden; outline: 0; border-collapse: separate;}.dj_ie6 .dijitColorPalette .dijitPaletteTable,.dj_ie7 .dijitColorPalette .dijitPaletteTable,.dj_iequirks .dijitColorPalette .dijitPaletteTable {padding: 0; margin: 2px 3px 3px 3px;}.dijitColorPalette .dijitPaletteCell {font-size: 1px; vertical-align: middle; text-align: center; background: none;}.dijitColorPalette .dijitPaletteImg {padding: 1px; border: 1px solid #999; margin: 2px 1px; cursor: default; font-size: 1px;}.dj_gecko .dijitColorPalette .dijitPaletteImg {padding-bottom: 0;}.dijitColorPalette .dijitColorPaletteSwatch {width: 14px; height: 12px;}.dijitPaletteTable td {padding: 0;}.dijitColorPalette .dijitPaletteCell:hover .dijitPaletteImg {border: 1px solid #000;}.dijitColorPalette .dijitPaletteCell:active .dijitPaletteImg,.dijitColorPalette .dijitPaletteTable .dijitPaletteCellSelected .dijitPaletteImg {border: 2px solid #000; margin: 1px 0;}.dj_a11y .dijitColorPalette .dijitPaletteTable,.dj_a11y .dijitColorPalette .dijitPaletteTable * {background-color: transparent !important;}.dijitAccordionContainer {border:1px solid #b7b7b7; border-top:0 !important;}.dijitAccordionTitle {cursor: pointer;}.dijitAccordionTitleSelected {cursor: default;}.dijitAccordionTitle .arrowTextUp,.dijitAccordionTitle .arrowTextDown {display: none;}.dj_a11y .dijitAccordionTitle .arrowTextUp,.dj_a11y .dijitAccordionTitleSelected .arrowTextDown {display: inline;}.dj_a11y .dijitAccordionTitleSelected .arrowTextUp {display: none;}.dijitAccordionChildWrapper {overflow: hidden;}.dijitCalendarContainer {width: auto;}.dijitCalendarContainer th, .dijitCalendarContainer td {padding: 1px 2px 2px; vertical-align: middle;}.dijitCalendarYearLabel {white-space: nowrap;}.dijitCalendarNextYear {margin:0 0 0 0.55em;}.dijitCalendarPreviousYear {margin:0 0.55em 0 0;}.dijitCalendarIncrementControl {vertical-align: middle;}.dijitCalendarIncrementControl,.dijitCalendarDateTemplate,.dijitCalendarMonthLabel,.dijitCalendarPreviousYear,.dijitCalendarNextYear {cursor: pointer;}.dijitCalendarDisabledDate {color: gray; text-decoration: line-through; cursor: default;}.dijitSpacer {position: relative; height: 1px; overflow: hidden; visibility: hidden;}.dijitCalendarMonthMenu .dijitCalendarMonthLabel {text-align:center;}.dijitMenu {border:1px solid black; background-color:white;}.dijitMenuTable {border-collapse:collapse; border-width:0; background-color:white;}.dj_webkit .dijitMenuTable td[colspan="2"]{border-right:hidden;}.dijitMenuItem {text-align: left; white-space: nowrap; padding:.1em .2em; cursor:pointer;font:normal 12px arial;}.dijitMenuItem:focus {outline: none}.dijitMenuPassive .dijitMenuItemHover,.dijitMenuItemSelected {background-color:black; color:white;}.dijitMenuItemIcon, .dijitMenuExpand {background-repeat: no-repeat;}.dijitMenuItemDisabled * {opacity:0.5; cursor:default;}.dj_ie .dj_a11y .dijitMenuItemDisabled,.dj_ie .dj_a11y .dijitMenuItemDisabled *,.dj_ie .dijitMenuItemDisabled * {color: gray; filter: alpha(opacity=35);}.dijitMenuItemLabel {position: relative; vertical-align: middle;}.dj_a11y .dijitMenuItemSelected {border: 1px dotted black !important;}.dj_a11y .dijitMenuItemSelected .dijitMenuItemLabel {border-width: 1px; border-style: solid;}.dj_ie8 .dj_a11y .dijitMenuItemLabel {position:static;}.dijitMenuExpandA11y {display: none;}.dj_a11y .dijitMenuExpandA11y {display: inline;}.dijitMenuSeparator td {border: 0; padding: 0;}.dijitMenuSeparatorTop {height: 50%; margin: 0; margin-top:3px; font-size: 1px;}.dijitMenuSeparatorBottom {height: 50%; margin: 0; margin-bottom:3px; font-size: 1px;}.dijitCheckedMenuItemIconChar {vertical-align: middle; visibility:hidden;}.dijitCheckedMenuItemChecked .dijitCheckedMenuItemIconChar {visibility: visible;}.dj_a11y .dijitCheckedMenuItemIconChar {display:inline !important;}.dj_a11y .dijitCheckedMenuItemIcon {display: none;}.dj_ie .dj_a11y .dijitMenuBar .dijitMenuItem {margin: 0;}.dijitStackController .dijitToggleButtonChecked * {cursor: default;}.dijitTabContainer {z-index: 0; overflow: visible;}.dj_ie6 .dijitTabContainer {overflow: hidden;}.dijitTabContainerNoLayout {width: 100%;}.dijitTabContainerBottom-tabs,.dijitTabContainerTop-tabs,.dijitTabContainerLeft-tabs,.dijitTabContainerRight-tabs {z-index: 1; overflow: visible !important;}.dijitTabController {z-index: 1;}.dijitTabContainerBottom-container,.dijitTabContainerTop-container,.dijitTabContainerLeft-container,.dijitTabContainerRight-container {z-index:0; overflow: hidden; border: 1px solid black;}.nowrapTabStrip {width: 50000px; display: block; position: relative; text-align: left; z-index: 1;}.dijitTabListWrapper {overflow: hidden; z-index: 1;}.dj_a11y .tabStripButton img {display: none;}.dijitTabContainerTop-tabs {border-bottom: 1px solid black;}.dijitTabContainerTop-container {border-top: 0;}.dijitTabContainerLeft-tabs {border-right: 1px solid black; float: left;}.dijitTabContainerLeft-container {border-left: 0;}.dijitTabContainerBottom-tabs {border-top: 1px solid black;}.dijitTabContainerBottom-container {border-bottom: 0;}.dijitTabContainerRight-tabs {border-left: 1px solid black; float: left;}.dijitTabContainerRight-container {border-right: 0;}div.dijitTabDisabled, .dj_ie div.dijitTabDisabled {cursor: auto;}.dijitTab {position:relative; cursor:pointer; white-space:nowrap; z-index:3;}.dijitTab * {vertical-align: middle;}.dijitTabChecked {cursor: default;}.dijitTabContainerTop-tabs .dijitTab {top: 1px;}.dijitTabContainerBottom-tabs .dijitTab {top: -1px;}.dijitTabContainerLeft-tabs .dijitTab {left: 1px;}.dijitTabContainerRight-tabs .dijitTab {left: -1px;}.dijitTabContainerTop-tabs .dijitTab,.dijitTabContainerBottom-tabs .dijitTab {display:inline-block; #zoom: 1; #display:inline;}.tabStripButton {z-index: 12;}.dijitTabButtonDisabled .tabStripButton {display: none;}.dijitTabCloseButton {margin-left: 1em;}.dijitTabCloseText {display:none;}.dijitTab .tabLabel {min-height: 15px; display: inline-block;}.dijitNoIcon {display: none;}.dj_ie6 .dijitTab .dijitNoIcon {display: inline; height: 15px; width: 1px;}.dj_a11y .dijitTabCloseButton {background-image: none !important; width: auto !important; height: auto !important;}.dj_a11y .dijitTabCloseText {display: inline;}.dijitTabPane,.dijitStackContainer-child,.dijitAccordionContainer-child {border: none !important;}.dijitInlineEditBoxDisplayMode {border: 1px solid transparent; cursor: text;}.dj_a11y .dijitInlineEditBoxDisplayMode,.dj_ie6 .dijitInlineEditBoxDisplayMode {border: none;}.dijitInlineEditBoxDisplayModeHover,.dj_a11y .dijitInlineEditBoxDisplayModeHover,.dj_ie6 .dijitInlineEditBoxDisplayModeHover {background-color: #e2ebf2; border: solid 1px black;}.dijitInlineEditBoxDisplayModeDisabled {cursor: default;}.dijitTree {overflow: auto; background: #FFF;}.dijitTreeContainer {float: left;}.dijitTreeIndent {width: 19px;}.dijitTreeRow, .dijitTreeContent {white-space: nowrap;}.dj_ie .dijitTreeLabel:focus {outline: 1px dotted black;}.dijitTreeRow img {vertical-align: middle;}.dijitTreeContent {cursor: default;}.dijitExpandoText {display: none;}.dj_a11y .dijitExpandoText {display: inline; padding-left: 10px; padding-right: 10px; font-family: monospace; border-style: solid; border-width: thin; cursor: pointer;}.dijitTreeLabel {margin: 0 4px;}.dijitDialog {position: absolute; z-index: 999; overflow: hidden;}.dijitDialogTitleBar {cursor: move;}.dijitDialogFixed .dijitDialogTitleBar {cursor:default;}.dijitDialogCloseIcon {cursor: pointer;}.dijitDialogPaneContent {-webkit-overflow-scrolling: touch;}.dijitDialogUnderlayWrapper {position: absolute; left: 0; top: 0; z-index: 998; display: none; background: transparent !important;}.dijitDialogUnderlay {background: #eee; opacity: 0.5;}.dj_ie .dijitDialogUnderlay {filter: alpha(opacity=50);}.dj_a11y .dijitSpinnerButtonContainer,.dj_a11y .dijitDialog {opacity: 1 !important; background-color: white !important;}.dijitDialog .closeText {font-family: "Helvetica Neue",Helvetica,Arial,sans-serif; display: block; color: #000000; text-shadow: 0 1px 0 #FFFFFF; position:absolute;}.dj_a11y .dijitDialog .closeText {display:inline;}.dijitSliderMoveable {z-index:99; position:absolute !important; display:block; vertical-align:middle;}.dijitSliderMoveableH {right:0;}.dijitSliderMoveableV {right:50%;}.dj_a11y div.dijitSliderImageHandle,.dijitSliderImageHandle {margin:0; padding:0; position:relative !important; border:8px solid gray; width:0; height:0; cursor: pointer;}.dj_iequirks .dj_a11y .dijitSliderImageHandle {font-size: 0;}.dj_ie7 .dijitSliderImageHandle {overflow: hidden;}.dj_ie7 .dj_a11y .dijitSliderImageHandle {overflow: visible;}.dj_a11y .dijitSliderFocused .dijitSliderImageHandle {border:4px solid #000; height:8px; width:8px;}.dijitSliderImageHandleV {top:-8px; right: -50%;}.dijitSliderImageHandleH {left:50%; top:-5px; vertical-align:top;}.dijitSliderBar {border-style:solid; border-color:black; cursor: pointer;}.dijitSliderBarContainerV {position:relative; height:100%; z-index:1;}.dijitSliderBarContainerH {position:relative; z-index:1;}.dijitSliderBarH {height:4px; border-width:1px 0;}.dijitSliderBarV {width:4px; border-width:0 1px;}.dijitSliderProgressBar {background-color:red; z-index:1;}.dijitSliderProgressBarV {position:static !important; height:0; vertical-align:top; text-align:left;}.dijitSliderProgressBarH {position:absolute !important; width:0; vertical-align:middle; overflow:visible;}.dijitSliderRemainingBar {overflow:hidden; background-color:transparent; z-index:1;}.dijitSliderRemainingBarV {height:100%; text-align:left;}.dijitSliderRemainingBarH {width:100% !important;}.dijitSliderBumper {overflow:hidden; z-index:1;}.dijitSliderBumperV {width:4px; height:8px; border-width:0 1px;}.dijitSliderBumperH {width:8px; height:4px; border-width:1px 0;}.dijitSliderBottomBumper,.dijitSliderLeftBumper {background-color:red;}.dijitSliderTopBumper,.dijitSliderRightBumper {background-color:transparent;}.dijitSliderDecoration {text-align:center;}.dijitSliderDecorationC,.dijitSliderDecorationV {position: relative;}.dijitSliderDecorationH {width: 100%;}.dijitSliderDecorationV {height: 100%; white-space: nowrap;}.dijitSliderButton {font-family:monospace; margin:0; padding:0; display:block;}.dj_a11y .dijitSliderButtonInner {visibility:visible !important;}.dijitSliderButtonContainer {text-align:center; height:0;}.dijitSliderButtonContainer * {cursor: pointer;}.dijitSlider .dijitButtonNode {padding:0; display:block;}.dijitRuleContainer {position:relative; overflow:visible;}.dijitRuleContainerV {height:100%; line-height:0; float:left; text-align:left;}.dj_opera .dijitRuleContainerV {line-height:2%;}.dj_ie .dijitRuleContainerV {line-height:normal;}.dj_gecko .dijitRuleContainerV {margin:0 0 1px 0;}.dijitRuleMark {position:absolute; border:1px solid black; line-height:0; height:100%;}.dijitRuleMarkH {width:0; border-top-width:0 !important; border-bottom-width:0 !important;}.dijitRuleLabelContainer {position:absolute;}.dijitRuleLabelContainerH {text-align:center; display:inline-block;}.dijitRuleLabelH {position:relative; left:-50%;}.dijitRuleLabelV {text-overflow: ellipsis; white-space: nowrap; overflow: hidden;}.dijitRuleMarkV {height:0; border-right-width:0 !important; border-left-width:0 !important; width:100%; left:0;}.dj_ie .dijitRuleLabelContainerV {margin-top:-.55em;}.dj_a11y .dijitSliderReadOnly,.dj_a11y .dijitSliderDisabled {opacity:0.6;}.dj_ie .dj_a11y .dijitSliderReadOnly .dijitSliderBar,.dj_ie .dj_a11y .dijitSliderDisabled .dijitSliderBar {filter: alpha(opacity=40);}.dj_a11y .dijitSlider .dijitSliderButtonContainer div {font-family: monospace; font-size: 1em; line-height: 1em; height: auto; width: auto; margin: 0 4px;}.dj_a11y .dijitButtonContents .dijitButtonText,.dj_a11y .dijitTab .tabLabel {display: inline !important;}.dj_a11y .dijitSelect .dijitButtonText {display: inline-block !important;}.dijitSelectError .dijitButtonContents .dijitButtonText {display: none !important;}.dijitTextArea {width:100%; overflow-y: auto;}.dijitTextArea[cols] {width:auto;}.dj_ie .dijitTextAreaCols {width:auto;}.dijitExpandingTextArea {resize: none;}.dijitToolbarSeparator {height: 18px; width: 5px; padding: 0 1px; margin: 0;}.dijitIEFixedToolbar {position:absolute; top: expression(eval((document.documentElement||document.body).scrollTop));}.dijitEditor {display: block;}.dijitEditorDisabled,.dijitEditorReadOnly {color: gray;}.dijitTimePickerItemInner {text-align:center; border:0; padding:2px 8px 2px 8px;}.dijitTimePickerTick,.dijitTimePickerMarker {border-bottom:1px solid gray;}.dijitTimePicker .dijitDownArrowButton {border-top: none !important;}.dijitTimePickerTick {color:#CCC;}.dijitTimePickerMarker {color:black; background-color:#CCC;}.dijitTimePickerItemSelected {font-weight:bold; color:#333; background-color:#b7cdee;}.dijitTimePickerItemHover {background-color:gray; color:white; cursor:pointer;}.dijitTimePickerItemDisabled {color:gray; text-decoration:line-through;}.dj_a11y .dijitTimePickerItemSelected .dijitTimePickerItemInner {border: solid 4px black;}.dj_a11y .dijitTimePickerItemHover .dijitTimePickerItemInner {border: dashed 4px black;}.dijitToggleButtonIconChar {display:none !important;}.dj_a11y .dijitToggleButton .dijitToggleButtonIconChar {display:inline !important; visibility:hidden;}.dj_ie6 .dijitToggleButtonIconChar, .dj_ie6 .tabStripButton .dijitButtonText {font-family: "Arial Unicode MS";}.dj_a11y .dijitToggleButtonChecked .dijitToggleButtonIconChar {display: inline !important; visibility:visible !important;}.dijitArrowButtonChar {display:none !important;}.dj_a11y .dijitArrowButtonChar {display:inline !important;}.dj_a11y .dijitDropDownButton .dijitArrowButtonInner,.dj_a11y .dijitComboButton .dijitArrowButtonInner {display:none !important;}.dj_a11y .dijitSelect {border-collapse: separate !important; border-width: 1px; border-style: solid;}.dj_ie .dijitSelect {vertical-align: middle;}.dj_ie6 .dijitSelect .dijitValidationContainer,.dj_ie8 .dijitSelect .dijitButtonText {vertical-align: top;}.dj_ie6 .dijitTextBox .dijitInputContainer,.dj_iequirks .dijitTextBox .dijitInputContainer,.dj_ie6 .dijitTextBox .dijitArrowButtonInner,.dj_ie6 .dijitSpinner .dijitSpinnerButtonInner,.dijitSelect .dijitSelectLabel {vertical-align: baseline;}.dijitNumberTextBox {text-align: left; direction: ltr;}.dijitNumberTextBox .dijitInputInner {text-align: inherit;}.dijitToolbar .dijitSelect {margin: 0;}.dj_webkit .dijitToolbar .dijitSelect {padding-left: 0.3em;}.dijitSelect .dijitButtonContents {padding: 0; white-space: nowrap; text-align: left; border-style: none solid none none; border-width: 0px;}.dijitSelectFixedWidth .dijitButtonContents {width: 100%;}.dijitSelectMenu .dijitMenuItemIcon {display:none;}.dj_ie6 .dijitSelectMenu .dijitMenuItemLabel,.dj_ie7 .dijitSelectMenu .dijitMenuItemLabel {position: static;}.dijitSelectLabel *{vertical-align: baseline;}.dijitSelectSelectedOption * {font-weight: normal;}.dijitSelectMenu {border-width: 1px;}.dijitSelectMenu .dijitMenuTable {margin: 0; background-color: transparent;}.dijitForceStatic {position: static !important;}.dijitReadOnly *,.dijitDisabled *,.dijitReadOnly,.dijitDisabled {cursor: default;}.dojoDndItem {padding: 2px; -webkit-touch-callout: none; -webkit-user-select: none;}.dojoDndHorizontal .dojoDndItem {#display: inline; display: inline-block;}.dojoDndItemBefore,.dojoDndItemAfter {border: 0px solid #369;}.dojoDndItemBefore {border-width: 2px 0 0 0; padding: 0 2px 2px 2px;}.dojoDndItemAfter {border-width: 0 0 2px 0; padding: 2px 2px 0 2px;}.dojoDndHorizontal .dojoDndItemBefore {border-width: 0 0 0 2px; padding: 2px 2px 2px 0;}.dojoDndHorizontal .dojoDndItemAfter {border-width: 0 2px 0 0; padding: 2px 0 2px 2px;}.dojoDndItemOver {cursor:pointer;}.dj_gecko .dijitArrowButtonInner INPUT,.dj_gecko INPUT.dijitArrowButtonInner {-moz-user-focus:ignore;}.dijitFocused .dijitMenuItemShortcutKey {text-decoration: underline;}.dijitTextBox {background: #fff; border: 1px solid #d0d0d0; -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1) inset; box-shadow: 0 1px 1px rgba(0,0,0,0.1) inset; -webkit-border-radius: 2px; border-radius: 2px; -webkit-transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; -moz-transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; -o-transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; -ms-transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s; transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;}.dijitTextArea {padding: 0px;}.dijitTextBox .dijitInputField {padding: 0px 4px; margin: 0px;}.dijitSelect.btn-primary,.dijitComboBox.btn-primary,.dijitSpinner.btn-primary {border-color: #007ac2;}.dijitSelect.btn-success,.dijitComboBox.btn-success,.dijitSpinner.btn-success {border-color: #35ac46;}.dijitSelect.btn-info,.dijitComboBox.btn-info,.dijitSpinner.btn-info {border-color: #00b9f2;}.dijitSelect.btn-warning,.dijitComboBox.btn-warning,.dijitSpinner.btn-warning {border-color: #f89927;}.dijitSelect.btn-danger,.dijitComboBox.btn-danger,.dijitSpinner.btn-danger {border-color: #da4d1e;}.dijitSelect.btn-inverse,.dijitComboBox.btn-inverse,.dijitSpinner.btn-inverse {border-color: #2b2e34;}.dijitTextBox .dijitInputInner,.dijitValidationTextBox .dijitValidationContainer,.dijitTextBox .dijitInputField .dijitPlaceHolder {padding: 0px;}.dijitTextBoxHover {border: 1px solid #007ac2; -webkit-transition-duration: 0.25s; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -ms-transition-duration: 0.25s; transition-duration: 0.25s;}.dijitTextBoxFocused {border: 1px solid rgba(0,122,194,0.8); -webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.15) inset; box-shadow: 0 1px 2px rgba(0,0,0,0.15) inset; -webkit-transition-duration: 0.1s; -moz-transition-duration: 0.1s; -o-transition-duration: 0.1s; -ms-transition-duration: 0.1s; transition-duration: 0.1s;}.dijitTextBoxDisabled {background: #f5f5f5; -webkit-box-shadow: none; box-shadow: none; opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.dijitTextBoxError,.dijitTextBoxError .dijitButtonNode {border: 1px solid #da4d1e;}.dijitTextBoxErrorFocused,.dijitTextBoxErrorFocused .dijitButtonNode {border: 1px solid #b94119;}.dijitValidationTextBoxError .dijitValidationContainer {color: #da4d1e; width: 16px; font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom;}.dijitValidationTextBoxError .dijitValidationContainer:before {content: "\f12a";}.dijitValidationTextBoxError .dijitValidationIcon {display: none;}.dj_gecko .dijitInputInner {height: 20px;}.dijitTextBoxRtlError .dijitValidationContainer {float: left;}.dijitButtonText {padding: 0 4px; text-align: center;}.dijitButton .dijitButtonNode,.dijitDropDownButton .dijitButtonNode,.dijitComboButton .dijitButtonNode,.dijitToggleButton .dijitButtonNode {border-style: solid; border-width: 1px; padding: 0px; -webkit-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: none; box-shadow: none; line-height: 20px; text-shadow: 0 1px 1px rgba(255,255,255,0.75); cursor: pointer; border-color: #d0d0d0; background: #f5f5f5; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5);}.dijitButton.btn-alt .dijitButtonNode,.dijitDropDownButton.btn-alt .dijitButtonNode,.dijitComboButton.btn-alt .dijitButtonNode,.dijitToggleButton.btn-alt .dijitButtonNode,.dijitComboBox.btn-alt .dijitButtonNode,.dijitSelect.btn-alt .dijitButtonContents,.dijitSelect.btn-alt .dijitButtonNode,.dijitSpinner.btn-alt .dijitArrowButton,.btn-alt .esriSimpleSlider div,.btn-alt .esriAddBookmark,.btn-alt .esriButton .dijitButtonNode,.btn-alt .esriToggleButton .dijitButtonNode {color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,0.25);}.dijitButton.btn-primary .dijitButtonNode,.dijitDropDownButton.btn-primary .dijitButtonNode,.dijitComboButton.btn-primary .dijitButtonNode,.dijitToggleButton.btn-primary .dijitButtonNode,.dijitComboBox.btn-primary .dijitButtonNode,.dijitSelect.btn-primary .dijitButtonContents,.dijitSelect.btn-primary .dijitButtonNode,.dijitSpinner.btn-primary .dijitArrowButton,.btn-primary .esriSimpleSlider div,.btn-primary .esriAddBookmark,.btn-primary .esriButton .dijitButtonNode,.btn-primary .esriToggleButton .dijitButtonNode {border-color: #0068a5; background: #007ac2; background: -webkit-linear-gradient(#0080cb, #007ac2); background: -moz-linear-gradient(#0080cb, #007ac2); background: -o-linear-gradient(#0080cb, #007ac2); background: -ms-linear-gradient(#0080cb, #007ac2); background: linear-gradient(#0080cb, #007ac2);}.dijitButton.btn-success .dijitButtonNode,.dijitDropDownButton.btn-success .dijitButtonNode,.dijitComboButton.btn-success .dijitButtonNode,.dijitToggleButton.btn-success .dijitButtonNode,.dijitComboBox.btn-success .dijitButtonNode,.dijitSelect.btn-success .dijitButtonContents,.dijitSelect.btn-success .dijitButtonNode,.dijitSpinner.btn-success .dijitArrowButton,.btn-success .esriSimpleSlider div,.btn-success .esriAddBookmark,.btn-success .esriButton .dijitButtonNode,.btn-success .esriToggleButton .dijitButtonNode {border-color: #2d923c; background: #35ac46; background: -webkit-linear-gradient(#37b349, #35ac46); background: -moz-linear-gradient(#37b349, #35ac46); background: -o-linear-gradient(#37b349, #35ac46); background: -ms-linear-gradient(#37b349, #35ac46); background: linear-gradient(#37b349, #35ac46);}.dijitButton.btn-info .dijitButtonNode,.dijitDropDownButton.btn-info .dijitButtonNode,.dijitComboButton.btn-info .dijitButtonNode,.dijitToggleButton.btn-info .dijitButtonNode,.dijitComboBox.btn-info .dijitButtonNode,.dijitSelect.btn-info .dijitButtonContents,.dijitSelect.btn-info .dijitButtonNode,.dijitSpinner.btn-info .dijitArrowButton,.btn-info .esriSimpleSlider div,.btn-info .esriAddBookmark,.btn-info .esriButton .dijitButtonNode,.btn-info .esriToggleButton .dijitButtonNode {border-color: #009dce; background: #00b9f2; background: -webkit-linear-gradient(#00bffa, #00b9f2); background: -moz-linear-gradient(#00bffa, #00b9f2); background: -o-linear-gradient(#00bffa, #00b9f2); background: -ms-linear-gradient(#00bffa, #00b9f2); background: linear-gradient(#00bffa, #00b9f2);}.dijitButton.btn-warning .dijitButtonNode,.dijitDropDownButton.btn-warning .dijitButtonNode,.dijitComboButton.btn-warning .dijitButtonNode,.dijitToggleButton.btn-warning .dijitButtonNode,.dijitComboBox.btn-warning .dijitButtonNode,.dijitSelect.btn-warning .dijitButtonContents,.dijitSelect.btn-warning .dijitButtonNode,.dijitSpinner.btn-warning .dijitArrowButton,.btn-warning .esriSimpleSlider div,.btn-warning .esriAddBookmark,.btn-warning .esriButton .dijitButtonNode,.btn-warning .esriToggleButton .dijitButtonNode {border-color: #ec8408; background: #f89927; background: -webkit-linear-gradient(#f89c2d, #f89927); background: -moz-linear-gradient(#f89c2d, #f89927); background: -o-linear-gradient(#f89c2d, #f89927); background: -ms-linear-gradient(#f89c2d, #f89927); background: linear-gradient(#f89c2d, #f89927);}.dijitButton.btn-danger .dijitButtonNode,.dijitDropDownButton.btn-danger .dijitButtonNode,.dijitComboButton.btn-danger .dijitButtonNode,.dijitToggleButton.btn-danger .dijitButtonNode,.dijitComboBox.btn-danger .dijitButtonNode,.dijitSelect.btn-danger .dijitButtonContents,.dijitSelect.btn-danger .dijitButtonNode,.dijitSpinner.btn-danger .dijitArrowButton,.btn-danger .esriSimpleSlider div,.btn-danger .esriAddBookmark,.btn-danger .esriButton .dijitButtonNode,.btn-danger .esriToggleButton .dijitButtonNode {border-color: #b94119; background: #da4d1e; background: -webkit-linear-gradient(#e05020, #da4d1e); background: -moz-linear-gradient(#e05020, #da4d1e); background: -o-linear-gradient(#e05020, #da4d1e); background: -ms-linear-gradient(#e05020, #da4d1e); background: linear-gradient(#e05020, #da4d1e);}.dijitButton.btn-inverse .dijitButtonNode,.dijitDropDownButton.btn-inverse .dijitButtonNode,.dijitComboButton.btn-inverse .dijitButtonNode,.dijitToggleButton.btn-inverse .dijitButtonNode,.dijitComboBox.btn-inverse .dijitButtonNode,.dijitSelect.btn-inverse .dijitButtonContents,.dijitSelect.btn-inverse .dijitButtonNode,.dijitSpinner.btn-inverse .dijitArrowButton,.btn-inverse .esriSimpleSlider div,.btn-inverse .esriAddBookmark,.btn-inverse .esriButton .dijitButtonNode,.btn-inverse .esriToggleButton .dijitButtonNode {border-color: #25272c; background: #2b2e34; background: -webkit-linear-gradient(#31343b, #2b2e34); background: -moz-linear-gradient(#31343b, #2b2e34); background: -o-linear-gradient(#31343b, #2b2e34); background: -ms-linear-gradient(#31343b, #2b2e34); background: linear-gradient(#31343b, #2b2e34);}.dijitButtonHover .dijitButtonNode,.dijitDropDownButtonHover .dijitButtonNode,.dijitToggleButtonHover .dijitButtonNode {-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2); box-shadow: 0 1px 1px rgba(0,0,0,0.2); -webkit-transition: all 0.1s; -moz-transition: all 0.1s; -o-transition: all 0.1s; -ms-transition: all 0.1s; transition: all 0.1s; background: #e1e1e1; background: -webkit-linear-gradient(#f6f6f6, #e1e1e1); background: -moz-linear-gradient(#f6f6f6, #e1e1e1); background: -o-linear-gradient(#f6f6f6, #e1e1e1); background: -ms-linear-gradient(#f6f6f6, #e1e1e1); background: linear-gradient(#f6f6f6, #e1e1e1);}.dijitComboButton .dijitButtonNodeHover,.dijitComboButton .dijitDownArrowButtonHover {-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2); box-shadow: 0 1px 1px rgba(0,0,0,0.2); -webkit-transition: all 0.1s; -moz-transition: all 0.1s; -o-transition: all 0.1s; -ms-transition: all 0.1s; transition: all 0.1s; background: #e1e1e1; background: -webkit-linear-gradient(#f6f6f6, #e1e1e1); background: -moz-linear-gradient(#f6f6f6, #e1e1e1); background: -o-linear-gradient(#f6f6f6, #e1e1e1); background: -ms-linear-gradient(#f6f6f6, #e1e1e1); background: linear-gradient(#f6f6f6, #e1e1e1);}.dijitButtonHover.btn-primary .dijitButtonNode,.dijitDropDownButtonHover.btn-primary .dijitButtonNode,.dijitComboButton.btn-primary .dijitButtonNodeHover,.dijitToggleButtonHover.btn-primary .dijitButtonNode,.dijitComboBoxHover.btn-primary .dijitButtonNode,.dijitSelectHover.btn-primary .dijitButtonContents,.dijitSelectHover.btn-primary .dijitButtonNode,.dijitSelect.dijitSelectOpened.btn-primary .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-primary .dijitArrowButton,.dijitSpinner.btn-primary .dijitUpArrowButtonHover,.dijitSpinner.btn-primary .dijitDownArrowButtonHover,.btn-primary .esriSimpleSlider div:hover,.btn-primary .esriAddBookmark:hover,.btn-primary .esriButtonHover .dijitButtonNode,.btn-primary .esriToggleButtonHover .dijitButtonNode {background: #0070b2; background: -webkit-linear-gradient(#0084d2, #0070b2); background: -moz-linear-gradient(#0084d2, #0070b2); background: -o-linear-gradient(#0084d2, #0070b2); background: -ms-linear-gradient(#0084d2, #0070b2); background: linear-gradient(#0084d2, #0070b2);}.dijitButtonHover.btn-success .dijitButtonNode,.dijitDropDownButtonHover.btn-success .dijitButtonNode,.dijitComboButton.btn-success .dijitButtonNodeHover,.dijitToggleButtonHover.btn-success .dijitButtonNode,.dijitComboBoxHover.btn-success .dijitButtonNode,.dijitSelectHover.btn-success .dijitButtonContents,.dijitSelectHover.btn-success .dijitButtonNode,.dijitSelect.dijitSelectOpened.btn-success .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-success .dijitArrowButton,.dijitSpinner.btn-success .dijitUpArrowButtonHover,.dijitSpinner.btn-success .dijitDownArrowButtonHover,.btn-success .esriSimpleSlider div:hover,.btn-success .esriAddBookmark:hover,.btn-success .esriButtonHover .dijitButtonNode,.btn-success .esriToggleButtonHover .dijitButtonNode {background: #319e40; background: -webkit-linear-gradient(#38b74a, #319e40); background: -moz-linear-gradient(#38b74a, #319e40); background: -o-linear-gradient(#38b74a, #319e40); background: -ms-linear-gradient(#38b74a, #319e40); background: linear-gradient(#38b74a, #319e40);}.dijitButtonHover.btn-info .dijitButtonNode,.dijitDropDownButtonHover.btn-info .dijitButtonNode,.dijitComboButton.btn-info .dijitButtonNodeHover,.dijitToggleButtonHover.btn-info .dijitButtonNode,.dijitComboBoxHover.btn-info .dijitButtonNode,.dijitSelectHover.btn-info .dijitButtonContents,.dijitSelectHover.btn-info .dijitButtonNode,.dijitSelect.dijitSelectOpened.btn-info .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-info .dijitArrowButton,.dijitSpinner.btn-info .dijitUpArrowButtonHover,.dijitSpinner.btn-info .dijitDownArrowButtonHover,.btn-info .esriSimpleSlider div:hover,.btn-info .esriAddBookmark:hover,.btn-info .esriButtonHover .dijitButtonNode,.btn-info .esriToggleButtonHover .dijitButtonNode {background: #00aadf; background: -webkit-linear-gradient(#00c3ff, #00aadf); background: -moz-linear-gradient(#00c3ff, #00aadf); background: -o-linear-gradient(#00c3ff, #00aadf); background: -ms-linear-gradient(#00c3ff, #00aadf); background: linear-gradient(#00c3ff, #00aadf);}.dijitButtonHover.btn-warning .dijitButtonNode,.dijitDropDownButtonHover.btn-warning .dijitButtonNode,.dijitComboButton.btn-warning .dijitButtonNodeHover,.dijitToggleButtonHover.btn-warning .dijitButtonNode,.dijitComboBoxHover.btn-warning .dijitButtonNode,.dijitSelectHover.btn-warning .dijitButtonContents,.dijitSelectHover.btn-warning .dijitButtonNode,.dijitSelect.dijitSelectOpened.btn-warning .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-warning .dijitArrowButton,.dijitSpinner.btn-warning .dijitUpArrowButtonHover,.dijitSpinner.btn-warning .dijitDownArrowButtonHover,.btn-warning .esriSimpleSlider div:hover,.btn-warning .esriAddBookmark:hover,.btn-warning .esriButtonHover .dijitButtonNode,.btn-warning .esriToggleButtonHover .dijitButtonNode {background: #f78e11; background: -webkit-linear-gradient(#f89e32, #f78e11); background: -moz-linear-gradient(#f89e32, #f78e11); background: -o-linear-gradient(#f89e32, #f78e11); background: -ms-linear-gradient(#f89e32, #f78e11); background: linear-gradient(#f89e32, #f78e11);}.dijitButtonHover.btn-danger .dijitButtonNode,.dijitDropDownButtonHover.btn-danger .dijitButtonNode,.dijitComboButton.btn-danger .dijitButtonNodeHover,.dijitToggleButtonHover.btn-danger .dijitButtonNode,.dijitComboBoxHover.btn-danger .dijitButtonNode,.dijitSelectHover.btn-danger .dijitButtonContents,.dijitSelectHover.btn-danger .dijitButtonNode,.dijitSelect.dijitSelectOpened.btn-danger .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-danger .dijitArrowButton,.dijitSpinner.btn-danger .dijitUpArrowButtonHover,.dijitSpinner.btn-danger .dijitDownArrowButtonHover,.btn-danger .esriSimpleSlider div:hover,.btn-danger .esriAddBookmark:hover,.btn-danger .esriButtonHover .dijitButtonNode,.btn-danger .esriToggleButtonHover .dijitButtonNode {background: #c9471c; background: -webkit-linear-gradient(#e15324, #c9471c); background: -moz-linear-gradient(#e15324, #c9471c); background: -o-linear-gradient(#e15324, #c9471c); background: -ms-linear-gradient(#e15324, #c9471c); background: linear-gradient(#e15324, #c9471c);}.dijitButtonHover.btn-inverse .dijitButtonNode,.dijitDropDownButtonHover.btn-inverse .dijitButtonNode,.dijitComboButton.btn-inverse .dijitButtonNodeHover,.dijitToggleButtonHover.btn-inverse .dijitButtonNode,.dijitComboBoxHover.btn-inverse .dijitButtonNode,.dijitSelectHover.btn-inverse .dijitButtonContents,.dijitSelectHover.btn-inverse .dijitButtonNode,.dijitSelect.dijitSelectOpened.btn-inverse .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-inverse .dijitArrowButton,.dijitSpinner.btn-inverse .dijitUpArrowButtonHover,.dijitSpinner.btn-inverse .dijitDownArrowButtonHover,.btn-inverse .esriSimpleSlider div:hover,.btn-inverse .esriAddBookmark:hover,.btn-inverse .esriButtonHover .dijitButtonNode,.btn-inverse .esriToggleButtonHover .dijitButtonNode {background: #282a30; background: -webkit-linear-gradient(#34383f, #282a30); background: -moz-linear-gradient(#34383f, #282a30); background: -o-linear-gradient(#34383f, #282a30); background: -ms-linear-gradient(#34383f, #282a30); background: linear-gradient(#34383f, #282a30);}.dijitButtonActive .dijitButtonNode,.dijitDropDownButtonActive .dijitButtonNode,.dijitToggleButtonActive .dijitButtonNode,.dijitToggleButtonChecked .dijitButtonNode {-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none; transition: none; outline: none; background: #d0d0d0; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5);}.dijitComboButton .dijitButtonNodeActive,.dijitComboButton .dijitDownArrowButtonActive {-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none; transition: none; outline: none; background: #d0d0d0; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5);}.dijitButtonActive.btn-primary .dijitButtonNode,.dijitDropDownButtonActive.btn-primary .dijitButtonNode,.dijitComboButton.btn-primary .dijitButtonNodeActive,.dijitToggleButtonActive.btn-primary .dijitButtonNode,.dijitComboBoxActive.btn-primary .dijitButtonNode,.dijitSelectActive.btn-primary .dijitButtonContents,.dijitSelectActive.btn-primary .dijitArrowButton,.dijitSelect.dijitSelectOpened.btn-primary .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-primary .dijitArrowButton,.dijitComboBox.btn-primary .dijitButtonNode.dijitHasDropDownOpen,.dijitSpinner.btn-primary .dijitUpArrowButtonActive,.dijitSpinner.btn-primary .dijitDownArrowButtonActive,.btn-primary .esriSimpleSlider div:active,.btn-primary .esriAddBookmark:active,.btn-primary .esriButtonActive .dijitButtonNode,.btn-primary .esriButtonChecked .dijitButtonNode,.btn-primary .esriToggleButtonActive .dijitButtonNode {background: #0068a5; background: -webkit-linear-gradient(#007ac2, #007ac2); background: -moz-linear-gradient(#007ac2, #007ac2); background: -o-linear-gradient(#007ac2, #007ac2); background: -ms-linear-gradient(#007ac2, #007ac2); background: linear-gradient(#007ac2, #007ac2);}.dijitButtonActive.btn-success .dijitButtonNode,.dijitDropDownButtonActive.btn-success .dijitButtonNode,.dijitComboButton.btn-success .dijitButtonNodeActive,.dijitToggleButtonActive.btn-success .dijitButtonNode,.dijitComboBoxActive.btn-success .dijitButtonNode,.dijitSelectActive.btn-success .dijitButtonContents,.dijitSelectActive.btn-success .dijitArrowButton,.dijitSelect.dijitSelectOpened.btn-success .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-success .dijitArrowButton,.dijitComboBox.btn-success .dijitButtonNode.dijitHasDropDownOpen,.dijitSpinner.btn-success .dijitUpArrowButtonActive,.dijitSpinner.btn-success .dijitDownArrowButtonActive,.btn-success .esriSimpleSlider div:active,.btn-success .esriAddBookmark:active,.btn-success .esriButtonActive .dijitButtonNode,.btn-success .esriButtonChecked .dijitButtonNode,.btn-success .esriToggleButtonActive .dijitButtonNode {background: #2d923c; background: -webkit-linear-gradient(#35ac46, #35ac46); background: -moz-linear-gradient(#35ac46, #35ac46); background: -o-linear-gradient(#35ac46, #35ac46); background: -ms-linear-gradient(#35ac46, #35ac46); background: linear-gradient(#35ac46, #35ac46);}.dijitButtonActive.btn-info .dijitButtonNode,.dijitDropDownButtonActive.btn-info .dijitButtonNode,.dijitComboButton.btn-info .dijitButtonNodeActive,.dijitToggleButtonActive.btn-info .dijitButtonNode,.dijitComboBoxActive.btn-info .dijitButtonNode,.dijitSelectActive.btn-info .dijitButtonContents,.dijitSelectActive.btn-info .dijitArrowButton,.dijitSelect.dijitSelectOpened.btn-info .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-info .dijitArrowButton,.dijitComboBox.btn-info .dijitButtonNode.dijitHasDropDownOpen,.dijitSpinner.btn-info .dijitUpArrowButtonActive,.dijitSpinner.btn-info .dijitDownArrowButtonActive,.btn-info .esriSimpleSlider div:active,.btn-info .esriAddBookmark:active,.btn-info .esriButtonActive .dijitButtonNode,.btn-info .esriButtonChecked .dijitButtonNode,.btn-info .esriToggleButtonActive .dijitButtonNode {background: #009dce; background: -webkit-linear-gradient(#00b9f2, #00b9f2); background: -moz-linear-gradient(#00b9f2, #00b9f2); background: -o-linear-gradient(#00b9f2, #00b9f2); background: -ms-linear-gradient(#00b9f2, #00b9f2); background: linear-gradient(#00b9f2, #00b9f2);}.dijitButtonActive.btn-warning .dijitButtonNode,.dijitDropDownButtonActive.btn-warning .dijitButtonNode,.dijitComboButton.btn-warning .dijitButtonNodeActive,.dijitToggleButtonActive.btn-warning .dijitButtonNode,.dijitComboBoxActive.btn-warning .dijitButtonNode,.dijitSelectActive.btn-warning .dijitButtonContents,.dijitSelectActive.btn-warning .dijitArrowButton,.dijitSelect.dijitSelectOpened.btn-warning .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-warning .dijitArrowButton,.dijitComboBox.btn-warning .dijitButtonNode.dijitHasDropDownOpen,.dijitSpinner.btn-warning .dijitUpArrowButtonActive,.dijitSpinner.btn-warning .dijitDownArrowButtonActive,.btn-warning .esriSimpleSlider div:active,.btn-warning .esriAddBookmark:active,.btn-warning .esriButtonActive .dijitButtonNode,.btn-warning .esriButtonChecked .dijitButtonNode,.btn-warning .esriToggleButtonActive .dijitButtonNode {background: #ec8408; background: -webkit-linear-gradient(#f89927, #f89927); background: -moz-linear-gradient(#f89927, #f89927); background: -o-linear-gradient(#f89927, #f89927); background: -ms-linear-gradient(#f89927, #f89927); background: linear-gradient(#f89927, #f89927);}.dijitButtonActive.btn-danger .dijitButtonNode,.dijitDropDownButtonActive.btn-danger .dijitButtonNode,.dijitComboButton.btn-danger .dijitButtonNodeActive,.dijitToggleButtonActive.btn-danger .dijitButtonNode,.dijitComboBoxActive.btn-danger .dijitButtonNode,.dijitSelectActive.btn-danger .dijitButtonContents,.dijitSelectActive.btn-danger .dijitArrowButton,.dijitSelect.dijitSelectOpened.btn-danger .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-danger .dijitArrowButton,.dijitComboBox.btn-danger .dijitButtonNode.dijitHasDropDownOpen,.dijitSpinner.btn-danger .dijitUpArrowButtonActive,.dijitSpinner.btn-danger .dijitDownArrowButtonActive,.btn-danger .esriSimpleSlider div:active,.btn-danger .esriAddBookmark:active,.btn-danger .esriButtonActive .dijitButtonNode,.btn-danger .esriButtonChecked .dijitButtonNode,.btn-danger .esriToggleButtonActive .dijitButtonNode {background: #b94119; background: -webkit-linear-gradient(#da4d1e, #da4d1e); background: -moz-linear-gradient(#da4d1e, #da4d1e); background: -o-linear-gradient(#da4d1e, #da4d1e); background: -ms-linear-gradient(#da4d1e, #da4d1e); background: linear-gradient(#da4d1e, #da4d1e);}.dijitButtonActive.btn-inverse .dijitButtonNode,.dijitDropDownButtonActive.btn-inverse .dijitButtonNode,.dijitComboButton.btn-inverse .dijitButtonNodeActive,.dijitToggleButtonActive.btn-inverse .dijitButtonNode,.dijitComboBoxActive.btn-inverse .dijitButtonNode,.dijitSelectActive.btn-inverse .dijitButtonContents,.dijitSelectActive.btn-inverse .dijitArrowButton,.dijitSelect.dijitSelectOpened.btn-inverse .dijitButtonContents,.dijitSelect.dijitSelectOpened.btn-inverse .dijitArrowButton,.dijitComboBox.btn-inverse .dijitButtonNode.dijitHasDropDownOpen,.dijitSpinner.btn-inverse .dijitUpArrowButtonActive,.dijitSpinner.btn-inverse .dijitDownArrowButtonActive,.btn-inverse .esriSimpleSlider div:active,.btn-inverse .esriAddBookmark:active,.btn-inverse .esriButtonActive .dijitButtonNode,.btn-inverse .esriButtonChecked .dijitButtonNode,.btn-inverse .esriToggleButtonActive .dijitButtonNode {background: #25272c; background: -webkit-linear-gradient(#2b2e34, #2b2e34); background: -moz-linear-gradient(#2b2e34, #2b2e34); background: -o-linear-gradient(#2b2e34, #2b2e34); background: -ms-linear-gradient(#2b2e34, #2b2e34); background: linear-gradient(#2b2e34, #2b2e34);}.dijitButtonDisabled,.dijitDropDownButtonDisabled,.dijitComboButtonDisabled,.dijitToggleButtonDisabled {outline: none;}.dijitButtonDisabled .dijitButtonNode,.dijitDropDownButtonDisabled .dijitButtonNode,.dijitComboButtonDisabled .dijitButtonNode,.dijitToggleButtonDisabled .dijitButtonNode {cursor: default; opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.dijitComboButtonDisabled .dijitArrowButton {border-left-width: 0;}table.dijitComboButton {border-collapse: separate;}table.dijitComboButton .dijitStretch {-webkit-border-radius: 2px 0 0 2px; border-radius: 2px 0 0 2px;}table.dijitComboButton .dijitArrowButton {-webkit-border-radius: 0 2px 2px 0; border-radius: 0 2px 2px 0; border-left-width: 0;}.dijitToggleButton .dijitCheckBoxIcon {display: none;}.dijitToggleButtonChecked .dijitIcon {display: inline-block;}.dijitDropDownButton .dijitArrowButtonInner {margin-left: 12px; margin-right: 10px;}.dijitDropDownButton .dijitArrowButtonInner,.dijitArrowButton {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 12px; text-decoration: inherit; vertical-align: bottom;}.dijitDropDownButton .dijitArrowButtonInner:before,.dijitArrowButton:before {content: "\f0d7";}.dijitLeftArrowButton:before {content: "\f0d9";}.dijitRightArrowButton:before {content: "\f0da";}.dijitUpArrowButton:before {content: "\f0d8";}table.dijitComboButtonRtl .dijitStretch {-webkit-border-radius: 0 2px 2px 0; border-radius: 0 2px 2px 0;}table.dijitComboButtonRtl .dijitArrowButton {-webkit-border-radius: 2px 0 0 2px; border-radius: 2px 0 0 2px; border-left-width: 1px; border-right-width: 0;}.dijitCheckBox {background-color: #f5f5f5; border: 1px solid #d0d0d0; width: 16px; height: 16px; line-height: 0; padding: 0; -webkit-box-shadow: none; box-shadow: none; -webkit-border-radius: 3px; border-radius: 3px; text-align: center; position: relative; overflow: visible;}.dijitCheckBox input {position: absolute; top: 0;}.dijitCheckBoxIcon:before,.dijitCheckBoxChecked:before,.dijitCheckBoxCheckedDisabled:before {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; content: "\f00c"; line-height: 16px; color: #fff;}.dijitCheckBoxIcon {padding: 0;}.dijitCheckBoxIcon:before {color: #007ac2;}.btn-alt .dijitCheckBoxIcon:before {color: #fff;}.dijitCheckBoxChecked {background-color: #007ac2; border: 1px solid #0068a5;}.dijitCheckBoxHover {background-color: #f5f5f5; border: 1px solid #007ac2;}.dijitCheckBoxCheckedHover {background-color: #12a7ff; border: 1px solid #0068a5;}.dijitCheckBoxDisabled,.dijitCheckBoxCheckedDisabled {opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.dijitRadio,.dijitRadioIcon {width: 14px; height: 14px; border: 1px solid #007ac2; -webkit-border-radius: 50%; border-radius: 50%; position: relative; overflow: visible;}.dijitRadio:after,.dijitRadioIcon:after {content: " "; display: block; width: 0; height: 0; background: #007ac2; -webkit-border-radius: 50%; border-radius: 50%; opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); margin: 7px; position: absolute; top: 0; left: 0; -webkit-transition: all 0.15s ease-in-out; -moz-transition: all 0.15s ease-in-out; -o-transition: all 0.15s ease-in-out; -ms-transition: all 0.15s ease-in-out; transition: all 0.15s ease-in-out;}.dijitButtonNode .dijitRadioIcon {border: 1px solid #d0d0d0; position: relative; top: 2px;}.btn-alt .dijitButtonNode .dijitRadioIcon {border-color: #fff; border-color: rgba(255,255,255,0.85);}.btn-alt.dijitChecked .dijitRadioIcon:after {background: #fff;}.dijitRadioChecked:after,.dijitChecked .dijitRadioIcon:after {width: 8px; height: 8px; margin: 3px; opacity: 1; -ms-filter: none; filter: none;}.dijitRadioDisabled {opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.dijitSelect .dijitArrowButtonInner,.dijitComboBox .dijitArrowButtonInner {margin: 0; width: 0; height: 0;}.dijitSelect {padding: 4px 12px; -webkit-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: none; box-shadow: none; line-height: 20px; text-shadow: 0 1px 1px rgba(255,255,255,0.75); cursor: pointer; border: 1px solid #d0d0d0; background: #f5f5f5; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5); table-layout: fixed;}.dijitSelect .dijitButtonContents,.dijitSelect .dijitArrowButton {line-height: 20px; padding: 4px 12px; border: 0; -webkit-border-radius: 0 2px 2px 0; border-radius: 0 2px 2px 0;}.dijitSelect .dijitButtonContents {padding: 0; overflow: hidden; -o-text-overflow: ellipsis; text-overflow: ellipsis; -webkit-border-radius: 2px 0 0 2px; border-radius: 2px 0 0 2px;}.dijitSelect .dijitInputField {padding: 0 0 0 12px;}.dijitSelect .dijitArrowButton {width: 10px;}.dijitSelectHover {-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2); box-shadow: 0 1px 1px rgba(0,0,0,0.2); -webkit-transition: all 0.1s; -moz-transition: all 0.1s; -o-transition: all 0.1s; -ms-transition: all 0.1s; transition: all 0.1s; background: #e1e1e1; background: -webkit-linear-gradient(#f6f6f6, #e1e1e1); background: -moz-linear-gradient(#f6f6f6, #e1e1e1); background: -o-linear-gradient(#f6f6f6, #e1e1e1); background: -ms-linear-gradient(#f6f6f6, #e1e1e1); background: linear-gradient(#f6f6f6, #e1e1e1);}.dijitSelectActive {-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none; transition: none; outline: none; background: #d0d0d0; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5);}.dijitSelectFocused {border: 1px solid #d0d0d0;}.dijitSelectDisabled {cursor: default; opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.dijitComboBox .dijitButtonNode {padding: 0px 6px; -webkit-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: none; box-shadow: none; line-height: 20px; text-shadow: 0 1px 1px rgba(255,255,255,0.75); cursor: pointer; border: 1px solid #d0d0d0; background: #f5f5f5; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5); -webkit-border-radius: 0 2px 2px 0; border-radius: 0 2px 2px 0;}.dijitComboBoxOpenHover .dijitButtonNode,.dijitComboBox .dijitDownArrowButtonHover {-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2); box-shadow: 0 1px 1px rgba(0,0,0,0.2); -webkit-transition: all 0.1s; -moz-transition: all 0.1s; -o-transition: all 0.1s; -ms-transition: all 0.1s; transition: all 0.1s; background: #e1e1e1; background: -webkit-linear-gradient(#f6f6f6, #e1e1e1); background: -moz-linear-gradient(#f6f6f6, #e1e1e1); background: -o-linear-gradient(#f6f6f6, #e1e1e1); background: -ms-linear-gradient(#f6f6f6, #e1e1e1); background: linear-gradient(#f6f6f6, #e1e1e1); -webkit-box-shadow: none; box-shadow: none;}.dijitComboBoxDisabled .dijitButtonNode {cursor: default; opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.dijitToolbar .dijitComboBox .dijitArrowButtonInner {border: none;}.dijitDateTextBox .dijitArrowButton:before {content: "\f073";}select {padding: 4px 0; border: 1px solid #d0d0d0; -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.1) inset; box-shadow: 0 1px 1px rgba(0,0,0,0.1) inset;}select option {padding: 4px 8px;}.dijitSelectMenu td.dijitMenuItemIconCell,.dijitSelectMenu td.dijitMenuArrowCell {display: none;}.dijitSlider {background: transparent; border: 0 none; -webkit-border-radius: 0; border-radius: 0; -webkit-box-shadow: none; box-shadow: none; padding: 0;}.dijitSliderBar {border-style: solid; outline: 1px;}.dijitRuleLabelsContainer {color: #2b2e34;}.dijitSliderDisabled {opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.dijitRuleLabelsContainerH {padding: 0;}.dijitSliderBarH,.dijitSliderBumperH {height: 6px;}.dijitSlider .dijitSliderLeftBumper {-webkit-border-radius: 2px 0 0 2px; border-radius: 2px 0 0 2px; border-width: 1px 0 1px 1px; margin-left: 4px;}.dijitSlider .dijitSliderRightBumper {-webkit-border-radius: 0 2px 2px 0; border-radius: 0 2px 2px 0; border-width: 1px 1px 1px 0; margin-left: -2px; margin-right: 4px;}.dijitSlider .dijitSliderProgressBarH,.dijitSlider .dijitSliderLeftBumper {border-color: #0068a5; background-color: #007ac2; background-image: -webkit-linear-gradient(#0080cb, #007ac2); background-image: -moz-linear-gradient(#0080cb, #007ac2); background-image: -o-linear-gradient(#0080cb, #007ac2); background-image: -ms-linear-gradient(#0080cb, #007ac2); background-image: linear-gradient(#0080cb, #007ac2);}.dijitSlider .dijitSliderRemainingBarH,.dijitSlider .dijitSliderRightBumper {border-color: #d0d0d0; background-color: #fff; -webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.075) inset; box-shadow: 1px 1px 1px rgba(0,0,0,0.075) inset;}.dijitSliderHover .dijitSliderProgressBarH,.dijitSliderHover .dijitSliderLeftBumper {border-color: #005b92; background-color: #0070b2; background-image: -webkit-linear-gradient(#0084d2, #0070b2); background-image: -moz-linear-gradient(#0084d2, #0070b2); background-image: -o-linear-gradient(#0084d2, #0070b2); background-image: -ms-linear-gradient(#0084d2, #0070b2); background-image: linear-gradient(#0084d2, #0070b2);}.dijitSliderFocused .dijitSliderProgressBarH,.dijitSliderFocused .dijitSliderLeftBumper {border-color: #0068a5;}.dijitRuleLabelsContainerV {padding: 0;}.dijitSliderBarV,.dijitSliderBumperV {width: 6px;}.dijitSlider .dijitSliderTopBumper {-webkit-border-radius: 2px 2px 0 0; border-radius: 2px 2px 0 0; border-width: 1px 1px 0 1px; margin-top: 4px; margin-bottom: -2px;}.dijitSlider .dijitSliderBottomBumper {-webkit-border-radius: 0 0 2px 2px; border-radius: 0 0 2px 2px; border-width: 0 1px 1px 1px; margin-bottom: 4px;}.dijitSlider .dijitSliderProgressBarV,.dijitSlider .dijitSliderBottomBumper {border-color: #0068a5; background-color: #007ac2; background-image: -webkit-linear-gradient(left, #0080cb, #007ac2); background-image: -moz-linear-gradient(left, #0080cb, #007ac2); background-image: -o-linear-gradient(left, #0080cb, #007ac2); background-image: -ms-linear-gradient(left, #0080cb, #007ac2); background-image: linear-gradient(to right, #0080cb, #007ac2);}.dijitSlider .dijitSliderRemainingBarV,.dijitSlider .dijitSliderTopBumper {border-color: #d0d0d0; background-color: #fff; -webkit-box-shadow: 1px -1px 1px rgba(0,0,0,0.075) inset; box-shadow: 1px -1px 1px rgba(0,0,0,0.075) inset;}.dijitSliderHover .dijitSliderProgressBarV,.dijitSliderHover .dijitSliderBottomBumper {border-color: #005b92; background-color: #0070b2; background-image: -webkit-linear-gradient(left, #0084d2, #0070b2); background-image: -moz-linear-gradient(left, #0084d2, #0070b2); background-image: -o-linear-gradient(left, #0084d2, #0070b2); background-image: -ms-linear-gradient(left, #0084d2, #0070b2); background-image: linear-gradient(to right, #0084d2, #0070b2);}.dijitSliderFocused .dijitSliderProgressBarV,.dijitSliderFocused .dijitSliderBottomBumper {border-color: #0068a5;}.dijitSliderImageHandle {background: #f5f5f5; background: -webkit-linear-gradient(#fdfdfd 0%, #f5f5f5 100%); background: -moz-linear-gradient(#fdfdfd 0%, #f5f5f5 100%); background: -o-linear-gradient(#fdfdfd 0%, #f5f5f5 100%); background: -ms-linear-gradient(#fdfdfd 0%, #f5f5f5 100%); background: linear-gradient(#fdfdfd 0%, #f5f5f5 100%); -webkit-box-shadow: 0 2px 3px rgba(0,0,0,0.5); box-shadow: 0 2px 3px rgba(0,0,0,0.5); -webkit-border-radius: 50%; border-radius: 50%; border: 1px solid #007ac2; width: 16px; height: 16px; margin-top: -1px; position: absolute;}.dijitSliderImageHandle:after {content: ""; display: block; background: #f5f5f5; background: -webkit-linear-gradient(#ddd, #fdfdfd 100%); background: -moz-linear-gradient(#ddd, #fdfdfd 100%); background: -o-linear-gradient(#ddd, #fdfdfd 100%); background: -ms-linear-gradient(#ddd, #fdfdfd 100%); background: linear-gradient(#ddd, #fdfdfd 100%); -webkit-border-radius: 50%; border-radius: 50%; height: 10px; width: 10px; left: 3px; top: 3px; position: absolute;}.dijitSliderHover .dijitSliderImageHandle:after,.dijitSliderFocused .dijitSliderImageHandle:after {background: #007ac2; background: -webkit-linear-gradient(#0082cf 0, #0073b6 100%); background: -moz-linear-gradient(#0082cf 0, #0073b6 100%); background: -o-linear-gradient(#0082cf 0, #0073b6 100%); background: -ms-linear-gradient(#0082cf 0, #0073b6 100%); background: linear-gradient(#0082cf 0, #0073b6 100%); height: 6px; width: 6px; border-width: 2px; border-style: solid; border-color: #ddd #f5f5f5 #fdfdfd;}.dijitSliderDisabled.dijitSliderFocused .dijitSliderImageHandle:after {display: none;}.dijitSliderDecrementIconH,.dijitSliderIncrementIconH,.dijitSliderDecrementIconV,.dijitSliderIncrementIconV {padding: 4px 12px; -webkit-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: none; box-shadow: none; line-height: 20px; text-shadow: 0 1px 1px rgba(255,255,255,0.75); cursor: pointer; border: 1px solid #d0d0d0; background: #f5f5f5; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5); padding: 0; height: 20px; width: 20px;}.dijitSliderDecrementButtonHover,.dijitSliderIncrementButtonHover {-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2); box-shadow: 0 1px 1px rgba(0,0,0,0.2); -webkit-transition: all 0.1s; -moz-transition: all 0.1s; -o-transition: all 0.1s; -ms-transition: all 0.1s; transition: all 0.1s; background: #e1e1e1; background: -webkit-linear-gradient(#f6f6f6, #e1e1e1); background: -moz-linear-gradient(#f6f6f6, #e1e1e1); background: -o-linear-gradient(#f6f6f6, #e1e1e1); background: -ms-linear-gradient(#f6f6f6, #e1e1e1); background: linear-gradient(#f6f6f6, #e1e1e1);}.dijitSliderDecrementButtonActive,.dijitSliderIncrementButtonActive {-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none; transition: none; outline: none; background: #d0d0d0; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5);}.dijitSliderReadOnly .dijitSliderDecrementIconH,.dijitSliderDisabled .dijitSliderDecrementIconH,.dijitSliderReadOnly .dijitSliderDecrementIconV,.dijitSliderDisabled .dijitSliderDecrementIconV,.dijitSliderReadOnly .dijitSliderIncrementIconH,.dijitSliderDisabled .dijitSliderIncrementIconH,.dijitSliderReadOnly .dijitSliderIncrementIconV,.dijitSliderDisabled .dijitSliderIncrementIconV {cursor: default; opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.dijitSliderButtonInner {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; height: 14px; width: 14px; margin: 3px; font-size: 0;}.dijitSliderIncrementIconH .dijitSliderButtonInner:before,.dijitSliderIncrementIconV .dijitSliderButtonInner:before {content: "\f067"; font-size: 14px;}.dijitSliderDecrementIconH .dijitSliderButtonInner:before,.dijitSliderDecrementIconV .dijitSliderButtonInner:before {content: "\f068"; font-size: 14px;}.dijitRuleMarkH,.dijitRuleMarkV {border-left: 1px solid #9a9b9f; border-right: 1px solid #fff;}.dijitRuleMarkV {border-right: 0 none; border-bottom: 1px solid #fff;}.dijitRuleLabelContainerH {margin-top: 2px; margin-bottom: 2px;}.dijitRuleLabelContainerV {margin-left: 2px; margin-right: 2px;}.dijitSliderRtl .dijitSliderProgressBarH {float: right; right: 0; left: auto;}.dijitSliderRtl .dijitSliderLeftBumper {border-left-width: 0; border-right-width: 1px; margin-left: 0; margin-right: 4px; -webkit-border-radius: 0 2px 2px 0; border-radius: 0 2px 2px 0;}.dijitSliderRtl .dijitSliderRightBumper {border-left-width: 1px; border-right-width: 0; margin-left: 4px; margin-right: -2px; -webkit-border-radius: 2px 0 0 2px; border-radius: 2px 0 0 2px;}.dijitSliderRtl .dijitSliderMoveableH {right: auto; left: 0;}.dijitSliderRtl .dijitSliderImageHandleV {left: auto;}.dijitSliderRtl .dijitSliderImageHandleH {left: -50%;}.dijitSliderRtl .dijitRuleContainerV {float: right;}.dijitSpinner .dijitSpinnerButtonContainer {overflow: hidden; position: relative; width: auto; padding: 0; border: 1px solid #d0d0d0;}.dijitSpinner .dijitSpinnerButtonInner {width: 28px; margin: 0;}.dijitSpinner .dijitArrowButton {padding: 4px 12px; -webkit-border-radius: 2px; border-radius: 2px; -webkit-box-shadow: none; box-shadow: none; line-height: 20px; text-shadow: 0 1px 1px rgba(255,255,255,0.75); cursor: pointer; border: 1px solid #d0d0d0; background: #f5f5f5; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5); -webkit-border-radius: 0; border-radius: 0; border: 0; width: auto; overflow: hidden; left: 0; right: 0; padding: 0;}.dijitSpinner .dijitArrowButton:before {content: none;}.dijitSpinner .dijitUpArrowButton {border-top-right-radius: 2px;}.dijitSpinner .dijitDownArrowButton {border-bottom-right-radius: 2px; border-top: 1px solid #d0d0d0;}.dijitSpinner .dijitUpArrowButtonHover,.dijitSpinner .dijitDownArrowButtonHover {-webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.2); box-shadow: 0 1px 1px rgba(0,0,0,0.2); -webkit-transition: all 0.1s; -moz-transition: all 0.1s; -o-transition: all 0.1s; -ms-transition: all 0.1s; transition: all 0.1s; background: #e1e1e1; background: -webkit-linear-gradient(#f6f6f6, #e1e1e1); background: -moz-linear-gradient(#f6f6f6, #e1e1e1); background: -o-linear-gradient(#f6f6f6, #e1e1e1); background: -ms-linear-gradient(#f6f6f6, #e1e1e1); background: linear-gradient(#f6f6f6, #e1e1e1);}.dijitSpinner .dijitDownArrowButtonActive,.dijitSpinner .dijitUpArrowButtonActive {-webkit-box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; -webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none; transition: none; outline: none; background: #d0d0d0; background: -webkit-linear-gradient(#f5f5f5, #f5f5f5); background: -moz-linear-gradient(#f5f5f5, #f5f5f5); background: -o-linear-gradient(#f5f5f5, #f5f5f5); background: -ms-linear-gradient(#f5f5f5, #f5f5f5); background: linear-gradient(#f5f5f5, #f5f5f5);}.dijitSpinner .dijitArrowButtonInner {line-height: 14px; display: block;}.dijitSpinner .dijitArrowButtonInner .dijitInputField {padding: 0;}.dijitSpinner .dijitArrowButtonInner:before {content: "\f0d8";}.dijitSpinner .dijitDownArrowButton .dijitArrowButtonInner:before {content: "\f0d7";}.dijitSpinnerDisabled .dijitDownArrowButton,.dijitSpinnerDisabled .dijitUpArrowButton {cursor: default; opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.dijitContentPane {padding: 0;}.dijitTabContainerTop-dijitContentPane,.dijitTabContainerLeft-dijitContentPane,.dijitTabContainerBottom-dijitContentPane,.dijitTabContainerRight-dijitContentPane,.dijitAccordionContainer-dijitContentPane {background: #fff; padding: 0; left: 0 !important; top: 0 !important;}.dijitBorderContainer {padding: 5px;}.dijitSplitContainer-child,.dijitBorderContainer-child {border: 1px solid #d0d0d0;}.dijitBorderContainer-dijitTabContainerTop,.dijitBorderContainer-dijitTabContainerBottom,.dijitBorderContainer-dijitTabContainerLeft,.dijitBorderContainer-dijitTabContainerRight,.dijitBorderContainer-dijitAccordionContainer {border: none;}.dijitBorderContainer-dijitBorderContainer {border: 0; padding: 0;}.dijitSplitterH,.dijitGutterH {background: none; border: 0; height: 5px;}.dijitSplitterH .dijitSplitterThumb {background: #d0d0d0; height: 1px; top: 2px; width: 19px;}.dijitSplitterV,.dijitGutterV {background: none; border: 0; width: 5px; margin: 0;}.dijitSplitterV .dijitSplitterThumb {background: #d0d0d0; height: 19px; left: 2px; width: 1px; margin: 0;}.dijitSplitterHHover,.dijitSplitterVHover {font-size: 1px; background: #f5f5f5;}.dijitSplitterHHover .dijitSplitterThumb,.dijitSplitterVHover .dijitSplitterThumb {background: #b8b8b8;}.dijitSplitterHActive,.dijitSplitterVActive {font-size: 1px; background: #f5f5f5;}.dijitSplitterHActive .dijitSplitterThumb,.dijitSplitterVActive .dijitSplitterThumb {background: #b8b8b8;}.dijitTabContainer {border-radius: 2px;}.dijitTabPaneWrapper {background: #fff; border: 1px solid #d0d0d0; margin: 0; padding: 0; border-radius: 0 0 2px 2px;}.dijitTabContainerTop-tabs,.dijitTabContainerBottom-tabs,.dijitTabContainerLeft-tabs,.dijitTabContainerRight-tabs {border: 0;}.dijitTabSpacer {display: none;}.dijitTab {border: 1px solid #d0d0d0; background: #fff; text-align: center; border-radius: none; transition-property: background, padding, margin; transition-duration: 0.2s; transition-timing-function: ease; position: relative; z-index: 0;}.dijitTab:before {content: ""; display: block; position: absolute;}.dijitTabHover {background: #f5f5f5;}.dijitTabActive {background: #eee;}.dijitTabChecked {z-index: 1;}.dijitTabChecked.dijitTabHover,.dijitTabChecked.dijitTabActive {border: 1px solid #d0d0d0; background: #fff; color: #2b2e34;}.dijitTabDisabled {opacity: 0.65;}.tabStripButton {background-color: transparent; border: none;}.dijitTabCloseButton {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; width: 14px; height: 14px; line-height: 14px; vertical-align: middle; margin-left: 4px; border-radius: 2px; opacity: 0.35;}.dijitTabCloseButton:before {content: "\f00d";}.dijitTabCloseButtonHover {opacity: 0.75;}.dijitTabCloseButtonActive {opacity: 1;}.dijitTabContainerTop-tabs .dijitTab {top: 1px; margin-right: -1px; padding: 4px 16px; vertical-align: bottom;}.dijitTabContainerTop-tabs .dijitTabHover,.dijitTabContainerTop-tabs .dijitTabActive,.dijitTabContainerTop-tabs .dijitTabChecked {padding-bottom: 8px;}.dijitTabContainerTop-tabs .dijitTabChecked:before {height: 2px; background: #007ac2; top: -1px; left: -1px; right: -1px;}.dijitTabContainerTop-tabs .dijitTabChecked {border-bottom: 1px solid #fff;}.dijitTabListContainer-top {margin-top: 1px;}.dijitTabListContainer-top .dijitTab {top: 0;}.dijitTabPaneWrapper.dijitTabContainerBottom-container {border-radius: 2px 2px 0 0;}.dijitTabContainerBottom-tabs .dijitTab {top: -1px; margin-right: -1px; padding: 4px 16px; vertical-align: top;}.dijitTabContainerBottom-tabs .dijitTabHover,.dijitTabContainerBottom-tabs .dijitTabActive,.dijitTabContainerBottom-tabs .dijitTabChecked {padding-top: 8px;}.dijitTabContainerBottom-tabs .dijitTabChecked:before {height: 2px; background: #007ac2; bottom: -1px; left: -1px; right: -1px;}.dijitTabContainerBottom-tabs .dijitTabChecked {border-top: 1px solid #fff;}.dijitTabListContainer-bottom {margin-top: -1px;}.dijitTabListContainer-bottom .dijitTab {top: 0;}.dijitTabPaneWrapper.dijitTabContainerLeft-container {border-radius: 0 2px 2px 0;}.dijitTabContainerLeft-tabs .dijitTab {margin-bottom: -1px; margin-left: 4px; padding: 8px 12px; vertical-align: middle;}.dijitTabContainerLeft-tabs .dijitTabHover,.dijitTabContainerLeft-tabs .dijitTabActive,.dijitTabContainerLeft-tabs .dijitTabChecked {margin-left: 0; padding-right: 16px;}.dijitTabContainerLeft-tabs .dijitTabChecked:before {width: 2px; background: #007ac2; bottom: -1px; left: -1px; top: -1px;}.dijitTabContainerLeft-tabs .dijitTabChecked {border-right: 1px solid #fff;}.dijitTabPaneWrapper.dijitTabContainerRight-container {border-radius: 2px 0 0 2px;}.dijitTabContainerRight-tabs .dijitTab {margin-bottom: -1px; margin-right: 4px; padding: 8px 12px; text-align: center; vertical-align: middle;}.dijitTabContainerRight-tabs .dijitTabHover,.dijitTabContainerRight-tabs .dijitTabActive,.dijitTabContainerRight-tabs .dijitTabChecked {margin-right: 0; padding-left: 16px;}.dijitTabContainerRight-tabs .dijitTabChecked:before {width: 2px; background: #007ac2; bottom: -1px; right: -1px; top: -1px;}.dijitTabContainerRight-tabs .dijitTabChecked {border-left: 1px solid #fff;}.tabStripButton {background-color: transparent; border: 0; transition-property: background-color;}.dijitTabListContainer-top .tabStripButton,.dijitTabListContainer-bottom .tabStripButton {padding: 4px 8px; margin-left: -1px; margin-right: -1px;}.dijitTabListContainer-top .tabStripButton {margin-bottom: 1px;}.dijitTabListContainer-bottom .tabStripButton {margin-top: 1px;}.tabStripButtonHover {background: #f5f5f5;}.tabStripButtonActive {background: #eee;}.dijitTabStripIcon {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; color: #007ac2; vertical-align: middle;}.dijitTabStripIcon:before {content: "\f0d9";}.dijitTabStripSlideRightIcon:before {content: "\f0da";}.dijitTabStripMenuIcon:before {content: "\f0d7";}.dijitTabListContainer-top .tabStripButtonDisabled,.dijitTabListContainer-bottom .tabStripButtonDisabled {opacity: 0.65;}.dijitTabContainerNested .dijitTabListWrapper {height: auto;}.dijitTabContainerTabListNested .dijitTab {color: #007ac2; margin: 4px; padding: 4px 8px; border: 0 none; border-radius: 4px; transition-property: background-color, border-color; transition-duration: 0.3s;}.dijitTabContainerTabListNested .dijitTabHover {background: $nestedtab-background;}.dijitTabContainerTabListNested .dijitTabActive {color: #007ac2; background-color: $nestedtab-background;}.dijitTabContainerTabListNested .dijitTabChecked,.dijitTabContainerTabListNested .dijitTabChecked.dijitTabHover,.dijitTabContainerTabListNested .dijitTabChecked.dijitTabActive {color: #fff; background: #007ac2;}.dijitTabContainerTabListNested .dijitTabChecked:before,.dijitTabContainerTabListNested .dijitTabChecked.dijitTabHover:before,.dijitTabContainerTabListNested .dijitTabChecked.dijitTabActive:before {display: none;}.dijitTabContainerTabListNested.dijitTabContainerTop-tabs .dijitTab {margin-right: 4px;}.dijitTabContainerTabListNested.dijitTabContainerBottom-tabs .dijitTab {margin-right: 4px;}.dijitTabContainerTabListNested.dijitTabContainerLeft-tabs .dijitTab {margin-bottom: 4px;}.dijitTabContainerTabListNested.dijitTabContainerRight-tabs .dijitTab {margin-bottom: 4px;}.dijitTabPaneWrapperNested {border: none; box-shadow: none;}.dijitTabContainerTop-tabs .dijitTabRtl,.dijitTabContainerBottom-tabs .dijitTabRtl {margin-right: 0; margin-left: -1px;}.dijitAccordionContainer {border: 0 none; border-radius: 2px;}.dijitAccordionInnerContainer {background: transparent; border: 1px solid #d0d0d0; border-radius: 2px; transition-property: background-color, border; transition-duration: 0.3s; transition-timing-function: linear;}.dijitAccordionInnerContainer +.dijitAccordionInnerContainer {margin-top: 0px; position: relative;}.dijitAccordionTitle {padding: 4px 12px; border-radius: 2px; box-shadow: none; line-height: 20px; text-shadow: 0 1px 1px rgba(255,255,255,0.75); cursor: pointer; border: 1px solid #d0d0d0; background: #f5f5f5; background: linear-gradient(#f5f5f5, #f5f5f5); border: 0 none; border-radius: 2px;}.dijitAccordionTitle .arrowTextUp,.dijitAccordionTitle .arrowTextDown {display: none; float: right; font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; text-align: center; font-size: 0px;}.dijitAccordionTitle .arrowTextUp:before,.dijitAccordionTitle .arrowTextDown:before {content: "\f078"; font-size: 12px;}.dijitAccordionTitle .arrowTextUp {display: block;}.dijitAccordionTitle .arrowTextUp:before {content: "\f077";}.dijitAccordionInnerContainerHover .dijitAccordionTitle {box-shadow: 0 1px 1px rgba(0,0,0,0.2); transition: all 0.1s; background: #e1e1e1; background: linear-gradient(#f6f6f6, #e1e1e1);}.dijitAccordionInnerContainerActive .dijitAccordionTitle {box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; transition: none; outline: none; background: #d0d0d0; background: linear-gradient(#f5f5f5, #f5f5f5);}.dijitAccordionInnerContainerSelected {border: 0 none;}.dijitAccordionInnerContainerSelected .dijitAccordionTitle {color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,0.25); background: #007ac2; box-shadow: 0 1px 3px -2px rgba(0,0,0,0.3); border-radius: 2px 2px 0 0;}.dijitAccordionInnerContainerSelected .dijitAccordionTitle .arrowTextUp {display: none;}.dijitAccordionInnerContainerSelected .dijitAccordionTitle .arrowTextDown {display: block;}.dijitAccordionContainer .dijitAccordionChildWrapper {background-color: #fff; border: 1px solid #d0d0d0; border-top: 0 none; position: relative; z-index: 1; clear: both; border-radius: 0 0 2px 2px;}.dijitAccordionInnerContainer {border-radius: 0;}.dijitAccordionInnerContainer .dijitAccordionTitle {border-radius: 0;}.dijitAccordionInnerContainer:not(:last-child) .dijitAccordionChildWrapper {border-radius: 0;}.dijitAccordionInnerContainer +.dijitAccordionInnerContainer {border-top: 0 none;}.dijitAccordionInnerContainer +.dijitAccordionInnerContainerSelected:last-child .dijitAccordionTitle {border-radius: 0;}.dijitAccordionInnerContainer:first-child,.dijitAccordionInnerContainer:first-child .dijitAccordionTitle {border-radius: 2px 2px 0 0;}.dijitAccordionInnerContainer:last-child,.dijitAccordionInnerContainer:last-child .dijitAccordionTitle {border-radius: 0 0 2px 2px;}.dijitPopup {-webkit-border-radius: 2px; border-radius: 2px;}.dijitTooltipDialogPopup {-webkit-box-shadow: none; box-shadow: none;}.dojoDndItem {border: 1px solid transparent; cursor: pointer; -webkit-transition-duration: 0.25s; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -ms-transition-duration: 0.25s; transition-duration: 0.25s; -webkit-transition-property: background-color, border-color, opacity; -moz-transition-property: background-color, border-color, opacity; -o-transition-property: background-color, border-color, opacity; -ms-transition-property: background-color, border-color, opacity; transition-property: background-color, border-color, opacity;}.dojoDndItemOver {background: #f5f5f5; -webkit-border-radius: 2px; border-radius: 2px;}.dojoDndItemAnchor {background: transparent; border: 1px dashed #007ac2; -webkit-border-radius: 2px; border-radius: 2px;}.dojoDndItemBefore {background: transparent; padding-top: 2px; border-top: 1px solid #007ac2;}.dojoDndItemAfter {background: transparent; padding-bottom: 2px; border-bottom: 1px solid #007ac2;}table.dojoDndAvatar {display: block;}.dojoDndAvatarHeader td {display: none;}.dojoDndAvatarHeader:before {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; display: table-cell;}.dojoDndMove .dojoDndAvatarHeader:before {color: #da4d1e; content: "\f05e";}.dojoDndCopy .dojoDndAvatarHeader:before {color: #da4d1e; content: "\f05e";}.dojoDndMove .dojoDndAvatarCanDrop .dojoDndAvatarHeader:before {color: #35ac46; content: "\f060";}.dojoDndCopy .dojoDndAvatarCanDrop .dojoDndAvatarHeader:before {color: #35ac46; content: "\f060";}.dojoDndAvatarItem {-webkit-border-radius: 2px; border-radius: 2px;}.dojoDndAvatarItem td {padding: 4px 8px;}.dojoDndAvatarItem td > * {background: #fff; -webkit-box-shadow: 0 3px 3px rgba(0,0,0,0.25); box-shadow: 0 3px 3px rgba(0,0,0,0.25);}.flat .dijitCalendar {background-color: #fff; text-align: center; padding: 0px; border: 1px solid #d0d0d0; border-collapse: separate;}.dijitCalendarMonthContainer th {text-align: center; line-height: 20px; vertical-align: middle; margin: 4px 0;}.dijitCalendarIncrementControl {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom;}.dijitCalendarDecrease:before {content: "\f0d9";}.dijitCalendarIncrease:before {content: "\f0da";}.flat .dijitCalendarArrow { + font-family: FontAwesome; + speak: none; + font-style: normal; + font-weight: normal; + font-variant: normal; + text-transform: none; + line-height: 1; + font-size: 14px; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + cursor: pointer; + border: 1px solid transparent; + padding: 4px; +} +.flat .dijitCalendarDecrease, +.flat .dijitCalendarIncrease { + display: none; +} +.flat .dijitCalendarDecrementArrow { + float: left; + padding-left: 2px; +} +.flat .dijitCalendarDecrementArrow:before { + content: "\f0d9"; +} +.flat .dijitCalendarIncrementArrow { + float: right; + padding-right: 2px; +} +.flat .dijitCalendarIncrementArrow:before { + content: "\f0da"; +}.flat .dijitCalendarArrowHover .dijitCalendarIncrementControl,.flat .dijitCalendarArrow:hover .dijitCalendarIncrementControl,.flat .dijitCalendarNextYearHover,.flat .dijitCalendarNextYear:hover,.flat .dijitCalendarPreviousYearHover,.flat .dijitCalendarPreviousYear:hover {border-style: solid; border-width: 1px; border-color: #9e9e9e; padding: 4px; border-radius: 3px; line-height: 20px; cursor: pointer; -webkit-transition: all 0.05s linear; -moz-transition: all 0.05s linear; -o-transition: all 0.05s linear; -ms-transition: all 0.05s linear; transition: all 0.05s linear; background: #fff; padding: 4px;}.flat .dijitCalendarArrowActive .dijitCalendarIncrementControl,.flat .dijitCalendarArrow:active .dijitCalendarIncrementControl,.flat .dijitCalendarNextYearActive,.flat .dijitCalendarNextYear:active,.flat .dijitCalendarPreviousYearActive,.flat .dijitCalendarPreviousYear:active {-webkit-transition: none; -moz-transition: none; -o-transition: none; -ms-transition: none; transition: none; outline: none; -webkit-box-shadow: inset 0 3px 5px rgba(0,0,0,0.05); box-shadow: inset 0 3px 5px rgba(0,0,0,0.05); background: #e0e0e0; border-color: #b3b3b3;}.flat .dijitA11ySideArrow {display: none;}.flat .dijitCalendarContainer th,.flat .dijitCalendarContainer td {padding: 4px;}.flat .dijitCalendarDayLabelTemplate {text-align: center; border-bottom: #9e9e9e;}.flat .dijitCalendarDayLabel {font-weight: bold; text-align: center;}.flat .dijitCalendarDateTemplate {font-size: 0.9em; letter-spacing: 0.05em; text-align: center;}.flat .dijitCalendarDateTemplate .dijitCalendarDateLabel {text-decoration: none; display: block; padding: 2px 4px; border: 0 none; border-radius: 50%;}.flat .dijitCalendarPreviousMonth .dijitCalendarDateLabel,.flat .dijitCalendarNextMonth .dijitCalendarDateLabel {color: #c2c2c2;}.flat .dijitCalendarCurrentDate .dijitCalendarDateLabel {border-color: #2196f3;}.flat .dijitCalendarHoveredDate .dijitCalendarDateLabel,.flat .dijitCalendarEnabledDate:hover .dijitCalendarDateLabel {background-color: #f2f2f2;}.flat .dijitCalendarActiveDate .dijitCalendarDateLabel,.flat .dijitCalendarEnabledDate:active .dijitCalendarDateLabel {background-color: #e6e6e6;}.flat .dijitCalendarSelectedDate .dijitCalendarDateLabel,.flat .dijitCalendarSelectedDate.dijitCalendarHoveredDate .dijitCalendarDateLabel {color: #fff; background-color: #2196f3;}.flat .dijitCalendarDisabledDate .dijitCalendarDateLabel {opacity: 0.65; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=65)"; filter: alpha(opacity=65);}.flat .dijitCalendarYearContainer {vertical-align: middle;}.flat .dijitCalendarYearLabel {padding: 4px 0 0 0; margin: 0; font-size: 1.15em;}.flat .dijitCalendarYearLabel span {vertical-align: middle;}.flat .dijitCalendarSelectedYear,.flat .dijitCalendarNextYear,.flat .dijitCalendarPreviousYear {padding: 4px;}.flat .dijitCalendarSelectedYear {color: #2196f3;}.flat .dijitCalendarNextYear,.flat .dijitCalendarPreviousYear {color: #2196f3; font-size: 0.9em; line-height: 20px; border: 1px solid transparent;}.flat .dijitCalendarSelectedYear {padding: 0 4px;}.flat .dijitCalendar .dijitDropDownButton {margin: 0;}.flat .dijitCalendarMonthMenu {padding: 8px 0;}.flat .dijitCalendarMonthMenu .dijitCalendarMonthLabel {padding: 4px;}.flat .dijitCalendarMonthMenu .dijitCalendarMonthLabelHover {color: #fff; background-color: #2196f3;}.dijitCalendarRtl .dijitCalendarDecrease:before {content: "\f0da";}.dijitCalendarRtl .dijitCalendarIncrease:before {content: "\f0d9";}.dijitColorPalette {border: 1px solid #d0d0d0; background: #fff; border-radius: 2px;}.dijitColorPalette .dijitPaletteTable {padding: 4px;}.dijitColorPalette .dijitColorPaletteSwatch {height: 15px; width: 15px; border-radius: 2px;}.dijitColorPalette .dijitPaletteImg {border: 1px solid transparent; line-height: normal;}.dijitColorPalette .dijitPaletteCell:hover .dijitPaletteImg {border: 1px solid #d0d0d0; box-shadow: 0 1px 1px rgba(0,0,0,0.25); border-radius: 2px; transform: scale(1.2);}.dijitColorPalette .dijitPaletteCell:active .dijitPaletteImg,.dijitColorPalette .dijitPaletteTable .dijitPaletteCellSelected .dijitPaletteImg {border: 1px solid #007ac2; box-shadow: 0 3px 3px rgba(0,0,0,0.25); border-radius: 2px; transform: scale(1.2);}.dijitDialog {background: #fff; border: 1px solid #d0d0d0; border-radius: 2px; box-shadow: 0 2px 3px rgba(0,0,0,0.15);}.dijitDialogPaneContent {background: #fff; border-radius: 0 0 2px 2px; padding: 8px; position: relative;}.dijitDialogPaneActionBar {padding-top: 8px; text-align: right; position: relative;}.dijitTooltipDialog .dijitDialogPaneActionBar {border-radius: 0 0 2px 2px; margin: 8px -8px -4px;}.dijitDialogPaneActionBar .dijitButton {float: none;}.dijitDialogTitleBar {border-bottom: 1px solid #efefef; padding: 8px 12px; border-radius: 2px 2px 0 0;}.dijitDialogTitle {font-size: 1.1em; font-weight: bold;}.dijitDialogCloseIcon {width: 20px; height: 20px; line-height: 20px; text-align: center; position: absolute; top: 8px; right: 12px; font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; opacity: 0.65;}.dijitDialogCloseIcon:before {content: "\f00d";}.dijitDialogCloseIcon .closeText {display: none;}.dijitDialogCloseIconHover,.dijitDialogCloseIconActive {opacity: 1;}.dijitDialogUnderlay {background: #000; opacity: 0.8;}.dijitTooltip,.dijitTooltipDialog {background: transparent;}.dijitTooltipContainer {background: #2b2e34; opacity: 0.8; padding: 4px 8px; border-radius: 2px;}.dijitTooltip .dijitTooltipContainer {color: #fff; border: 0 none;}.dijitTooltipConnector {z-index: 2; width: auto; height: auto; opacity: 0.8;}.dijitTooltipABRight .dijitTooltipConnector {left: auto !important; right: 8px;}.dijitTooltipBelow {padding-top: 4px;}.dijitTooltipBelow .dijitTooltipConnector {top: 0; left: 8px; border-bottom: 4px solid #2b2e34; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 0;}.dijitTooltipAbove {padding-bottom: 4px;}.dijitTooltipAbove .dijitTooltipConnector {bottom: 0; left: 8px; border-top: 4px solid #2b2e34; border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 0;}.dijitTooltipLeft {padding-right: 4px;}.dijitTooltipLeft .dijitTooltipConnector {right: 0; border-left: 4px solid #2b2e34; border-bottom: 4px solid transparent; border-top: 4px solid transparent; border-right: 0;}.dijitTooltipRight {padding-left: 4px;}.dijitTooltipRight .dijitTooltipConnector {left: 0; border-bottom: 4px solid transparent; border-top: 4px solid transparent; border-right: 4px solid #2b2e34;}.dijitTooltipDialog .dijitTooltipContainer {background: #fff; border: 1px solid #d0d0d0; border-radius: 2px; box-shadow: 0 2px 3px rgba(0,0,0,0.15); opacity: 1;}.dijitTooltipDialog.dijitTooltipBelow {padding-top: 6px;}.dijitTooltipDialog.dijitTooltipAbove {padding-bottom: 6px;}.dijitTooltipDialog.dijitTooltipLeft {padding-right: 6px;}.dijitTooltipDialog.dijitTooltipRight {padding-left: 6px;}.dijitTooltipDialog .dijitTooltipConnector {height: 0; width: 0; position: absolute; z-index: 2; opacity: 1;}.dijitTooltipDialog .dijitTooltipConnector:after {content: ""; height: 0; width: 0; position: absolute;}.dijitTooltipDialog.dijitTooltipAbove .dijitTooltipConnector {border-color: #d0d0d0 transparent transparent; border-width: 7px 7px 0; border-style: solid;}.dijitTooltipDialog.dijitTooltipAbove .dijitTooltipConnector:after {border-color: #fff transparent transparent; border-width: 6px 6px 0; border-style: solid; left: -6px; top: -7px;}.dijitTooltipDialog.dijitTooltipBelow .dijitTooltipConnector {border-color: transparent transparent #d0d0d0; border-width: 0 7px 7px; border-style: solid;}.dijitTooltipDialog.dijitTooltipBelow .dijitTooltipConnector:after {border-color: transparent transparent #fff; border-width: 0 6px 6px; border-style: solid; left: -6px; bottom: -7px;}.dijitTooltipDialog.dijitTooltipLeft .dijitTooltipConnector {border-color: transparent transparent transparent #d0d0d0; border-width: 7px 0 7px 7px; border-style: solid;}.dijitTooltipDialog.dijitTooltipLeft .dijitTooltipConnector:after {border-color: transparent transparent transparent #fff; border-width: 6px 0 6px 6px; border-style: solid; top: -6px; left: -7px;}.dijitTooltipDialog.dijitTooltipRight .dijitTooltipConnector {border-color: transparent #d0d0d0 transparent transparent; border-width: 7px 7px 7px 0; border-style: solid;}.dijitTooltipDialog.dijitTooltipRight .dijitTooltipConnector:after {border-color: transparent #fff transparent transparent; border-width: 6px 6px 6px 0; border-style: solid; top: -6px; right: -7px;}.dijitDialogRtl .dijitDialogCloseIcon {right: auto; left: 12px;}.dijitDialogRtl .dijitDialogPaneActionBar {text-align: left;}.dijitEditor {background: #fff; border: 1px solid #d0d0d0; border-radius: 2px;}.dijitEditor .dijitEditorIFrameContainer {border: 1px solid transparent; border-top: 1px solid #d0d0d0; padding: 4px 8px; box-shadow: 0 1px 1px rgba(0,0,0,0.1) inset; transition: border 0.2s linear 0s, box-shadow 0.2s linear 0s;}.dijitEditorHover .dijitEditorIFrameContainer,.dijitEditorHover .dijitEditorIFrameContainer .dijitEditorIFrame {border: 1px solid #007ac2;}.dijitEditorFocused .dijitEditorIFrameContainer {border: 1px solid #007ac2; box-shadow: 0 1px 2px rgba(0,0,0,0.15) inset;}.dijitEditorFocused .dijitEditorIFrameContainer .dijitEditorIFrame {border: 1px solid #007ac2;}.dijitEditorDisabled {border: 1px solid #d0d0d0; color: #9a9b9f; opacity: 0.65;}.dijitEditorDisabled .dijitEditorIFrame,.dijitEditorDisabled .dijitEditorIFrameContainer,.dijitEditorDisabled .dijitEditorIFrameContainer .dijitEditorIFrame {background: #f5f5f5; border: 1px solid transparent; box-shadow: none;}.dijitEditorRtl .dijitEditorIFrameContainer {padding: 4px 8px;}.dijitInlineEditBoxDisplayMode {border: 1px dashed transparent; padding: 4px 8px; border-radius: 2px;}.dijitInlineEditBoxDisplayModeHover {background: transparent; border: 1px dashed #007ac2;}.dijitInlineEditBoxDisplayModeDisabled {opacity: 0.65;}.dijitMenu {background: #fff; border: 1px solid #d0d0d0; border-radius: 2px; margin: 0; box-shadow: 0 2px 3px rgba(0,0,0,0.15);}.dijitMenuTable,.dijitComboBoxMenu {padding: 2px 2px;}.dijitComboBoxMenu {margin-left: 0; background-image: none;}.dijitMenuTable {border-collapse: separate; border-spacing: 0 0;}.dijitMenuItem,.dijitMenuItem td {padding-left: 5px; padding-top: 1px; white-space: nowrap;}.dijitMenuItemHover td,.dijitMenuItemHover {color: #fff; background: #007ac2;}.dijitMenuItemActive td,.dijitMenuItemActive {color: #fff; background: #007ac2;}.dijitMenuItemSelected td,.dijitMenuItemSelected {color: #fff; background: #007ac2;}.dijitMenuSeparatorTop {height: auto; margin-top: 1px; border-bottom: 1px solid #d0d0d0;}.dijitMenuSeparatorBottom {height: auto; margin-bottom: 1px; border-top: 0 none;}td.dijitMenuItemIconCell {padding: 4px; margin: 0 0 0 4px;}.dijitMenuExpand {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom;}.dijitMenuExpand:before {content: "\f0da";}.dijitCheckedMenuItemIconChar {display: none;}.dijitCheckedMenuItemIcon {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom;}.dijitCheckedMenuItemChecked .dijitCheckedMenuItemIcon:before {content: "\f00c";}.dijitMenuPreviousButton,.dijitMenuNextButton {font-style: italic;}.dijitMenuBar {margin: 0px; padding: 0px;}.dijitMenuBar .dijitMenuItem {padding: 3px 8px; margin: 0px;}.dijitMenuBar .dijitMenuItemHover {background: #007ac2;}.dijitMenuBar .dijitMenuItemActive {background: #007ac2;}.dijitMenuBar .dijitMenuItemSelected,.dijitMenuBar .dijitMenuItemHover.dijitMenuItemSelected,.dijitMenuBar .dijitMenuItemActive.dijitMenuItemSelected {color: #fff; background: #007ac2;}.dijitMenuPopup {border-top-left-radius: 0; border-top-right-radius: 0;}.dijitMenuPopup .dijitMenu {border-top-left-radius: 0; border-top-right-radius: 0;}.dijitMenuPopup .dijitMenuItem,.dijitMenuPopup .dijitMenuItem td {padding:3px 2px 3px 8px;}.dijitMenuBarRtl {text-align: right;}.dijitMenuItemRtl .dijitMenuExpand:before {content: "\f0d9";}.dijitProgressBar {background: #e4e4e4; border: 0 none; -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); -webkit-border-radius: 2px; border-radius: 2px;}.dijitProgressBarTile {background: url("images/progressBarStrips.png") repeat-x top; -webkit-animation: progress-bar-stripes 2s linear infinite; -moz-animation: progress-bar-stripes 2s linear infinite; -o-animation: progress-bar-stripes 2s linear infinite; -ms-animation: progress-bar-stripes 2s linear infinite; animation: progress-bar-stripes 2s linear infinite;}.dijitProgressBarFull {background: #007ac2; background: -webkit-linear-gradient(#0080cb, #007ac2); background: -moz-linear-gradient(#0080cb, #007ac2); background: -o-linear-gradient(#0080cb, #007ac2); background: -ms-linear-gradient(#0080cb, #007ac2); background: linear-gradient(#0080cb, #007ac2); -webkit-transition-property: width; -moz-transition-property: width; -o-transition-property: width; -ms-transition-property: width; transition-property: width; -webkit-transition-duration: 0.25s; -moz-transition-duration: 0.25s; -o-transition-duration: 0.25s; -ms-transition-duration: 0.25s; transition-duration: 0.25s; height:100%;}.dijitProgressBar.progress-bar-success .dijitProgressBarFull {background: #35ac46; background: -webkit-linear-gradient(#37b349, #35ac46); background: -moz-linear-gradient(#37b349, #35ac46); background: -o-linear-gradient(#37b349, #35ac46); background: -ms-linear-gradient(#37b349, #35ac46); background: linear-gradient(#37b349, #35ac46);}.dijitProgressBar.progress-bar-info .dijitProgressBarFull {background: #00b9f2; background: -webkit-linear-gradient(#00bffa, #00b9f2); background: -moz-linear-gradient(#00bffa, #00b9f2); background: -o-linear-gradient(#00bffa, #00b9f2); background: -ms-linear-gradient(#00bffa, #00b9f2); background: linear-gradient(#00bffa, #00b9f2);}.dijitProgressBar.progress-bar-warning .dijitProgressBarFull {background: #f89927; background: -webkit-linear-gradient(#f89c2d, #f89927); background: -moz-linear-gradient(#f89c2d, #f89927); background: -o-linear-gradient(#f89c2d, #f89927); background: -ms-linear-gradient(#f89c2d, #f89927); background: linear-gradient(#f89c2d, #f89927);}.dijitProgressBar.progress-bar-danger .dijitProgressBarFull {background: #da4d1e; background: -webkit-linear-gradient(#e05020, #da4d1e); background: -moz-linear-gradient(#e05020, #da4d1e); background: -o-linear-gradient(#e05020, #da4d1e); background: -ms-linear-gradient(#e05020, #da4d1e); background: linear-gradient(#e05020, #da4d1e);}.dijitProgressBarLabel {color: #fff; text-shadow: 0 -1px 0 rgba(0,0,0,0.25);}@-moz-keyframes progress-bar-stripes {from {background-position: 75px 0;} to {background-position: 0 0;}}@-webkit-keyframes progress-bar-stripes {from {background-position: 75px 0;} to {background-position: 0 0;}}@-o-keyframes progress-bar-stripes {from {background-position: 75px 0;} to {background-position: 0 0;}}@keyframes progress-bar-stripes {from {background-position: 75px 0;} to {background-position: 0 0;}}.dijitTimePickerPopup {box-shadow: 0 2px 3px rgba(0,0,0,0.15); height: 200px;}.dijitTimePicker {background: #fff; padding: 4px 0; border: 1px solid #d0d0d0; border-radius: 2px;}.dijitTimePickerItem {margin: 0;}.dijitTimePickerTick {color: #9a9b9f; border: 0;}.dijitTimePickerMarker {background: #f5f5f5; white-space: nowrap; border: 0;}.dijitTimePickerTickHover,.dijitTimePickerMarkerHover {background: #007ac2; color: #fff;}.dijitTimePickerMarkerSelected,.dijitTimePickerTickSelected {background: #007ac2; color: #fff;}.dijitTimePickerTick .dijitTimePickerItemInner,.dijitTimePickerMarker .dijitTimePickerItemInner {padding: 8px; margin: 0;}.dijitTitlePaneTitle {padding: 4px 12px; border-radius: 2px; box-shadow: none; line-height: 20px; text-shadow: 0 1px 1px rgba(255,255,255,0.75); cursor: pointer; border: 1px solid #d0d0d0; background: #f5f5f5; background: linear-gradient(#f5f5f5, #f5f5f5); border-radius: 2px 2px 0 0;}.dijitTitlePaneTitleHover {box-shadow: 0 1px 1px rgba(0,0,0,0.2); transition: all 0.1s; background: #e1e1e1; background: linear-gradient(#f6f6f6, #e1e1e1); box-shadow: none;}.dijitTitlePaneTitleActive {box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; transition: none; outline: none; background: #d0d0d0; background: linear-gradient(#f5f5f5, #f5f5f5);}.dijitTitlePane .dijitArrowNode {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; text-align: center;}.dijitTitlePane .dijitArrowNode:before {content: "\f078"; font-size: 12px;}.dijitTitlePane .dijitClosed {border-radius: 2px;}.dijitTitlePane .dijitClosed .dijitArrowNode:before {content: "\f077";}.dijitTitlePaneContentOuter {background: #fff; border: 1px solid #d0d0d0; border-top: none; border-radius: 0 0 2px 2px;}.dijitTitlePaneContentInner {padding: 8px;}.dijitTitlePaneTextNode {margin-left: 8px; margin-right: 8px; vertical-align: text-top;}.dijitTitlePaneRtl .dijitTitlePaneTitle {text-align: right;}.dijitToolbar {background: #f5f5f5; padding: 3px; zoom: 1;}.dijitToolbar label {padding: 8px;}.dijitToolbar .dijitToggleButton,.dijitToolbar .dijitButton,.dijitToolbar .dijitDropDownButton,.dijitToolbar .dijitComboButton {margin-right: 4px;}.dijitToolbar .dijitButton .dijitButtonNode,.dijitToolbar .dijitDropDownButton .dijitButtonNode,.dijitToolbar .dijitComboButton .dijitButtonNode,.dijitToolbar .dijitToggleButton .dijitButtonNode,.dijitToolbar .dijitComboBox .dijitButtonNode {border: 1px solid transparent; padding: 0px; background: transparent; border-radius: 2px; box-shadow: none; transition-property: background-color; transition-duration: 0.3s;}.dijitToolbar .dijitComboButton .dijitStretch {border-radius: 2px 0 0 2px;}.dijitToolbar .dijitComboButton .dijitArrowButton {border-radius: 0 2px 2px 0;}.dijitToolbar .dijitComboBox .dijitButtonNode {padding: 0 8px;}.dijitToolbar .dijitComboBox .dijitInputInner {padding: 0;}.dijitToolbar .dijitDropDownButton .dijitArrowButtonInner {margin-left: 4px;}.dijitToolbar .dijitButtonHover .dijitButtonNode,.dijitToolbar .dijitDropDownButtonHover .dijitButtonNode,.dijitToolbar .dijitToggleButtonHover .dijitButtonNode,.dijitToolbar .dijitComboButtonHover .dijitButtonNode {box-shadow: 0 1px 1px rgba(0,0,0,0.2); transition: all 0.1s; background: #e1e1e1; background: linear-gradient(#f6f6f6, #e1e1e1); border: 1px solid #d0d0d0;}.dijitToolbar .dijitButtonActive .dijitButtonNode,.dijitToolbar .dijitDropDownButtonActive .dijitButtonNode,.dijitToolbar .dijitToggleButtonActive .dijitButtonNode {box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; transition: none; outline: none; background: #d0d0d0; background: linear-gradient(#f5f5f5, #f5f5f5); border: 1px solid #d0d0d0;}.dijitToolbar .dijitToggleButtonChecked .dijitButtonNode {box-shadow: 0 1px 3px rgba(0,0,0,0.25) inset; transition: none; outline: none; background: #d0d0d0; background: linear-gradient(#f5f5f5, #f5f5f5); border: 1px solid #d0d0d0;}.dijitToolbarSeparator {width: 1px; height: 20px; background: #d0d0d0; padding: 0; margin: 0 4px;}.dijitDisabled .dijitToolbar {background: $disabled-background-color; border-bottom: 1px solid #d0d0d0;}.dijitToolbar .dijitToggleButtonRtl,.dijitToolbar .dijitButtonRtl,.dijitToolbar .dijitDropDownButtonRtl,.dijitToolbar .dijitComboButtonRtl {margin-left: 4px; margin-right: auto;}.dijitToolbar .dijitDropDownButtonRtl .dijitArrowButtonInner {margin-left: auto; margin-right: 4px;}.dijitTreeIsRoot {background: transparent;}.dijitTreeRow,.dijitTreeNode .dojoDndItemBefore,.dijitTreeNode .dojoDndItemAfter {padding: 0px 0; border: 0 none; line-height: 20px; transition-property: background-color, border-color; transition-duration: 0.15s; transition-timing-function: ease-out;}.dijitTreeRowHover {background: #f5f5f5; border: 0 none; transition-duration: 0.15s;}.dijitTreeRowActive {background: #f5f5f5; border: 0 none;}.dijitTreeRowSelected,.dijitTreeRowHover.dijitTreeRowSelected,.dijitTreeRowActive.dijitTreeRowSelected {color: #fff; background: #007ac2; border: 0 none;}.dijitTreeExpando {font-family: FontAwesome; width: 16px; height: 16px; line-height: 16px; font-size: 12px; text-align: center; margin-left: 4px; margin-right: 4px;}.dijitTreeExpandoOpened:before {content: "\f078"; cursor: pointer;}.dijitTreeExpandoClosed:before {content: "\f054"; cursor: pointer;}.dijitTreeExpandoLoading:before {content: "\f021"; animation: spinning 2s linear infinite;}.dj_ie8 .dijitTreeExpandoLoading,.dj_ie9 .dijitTreeExpandoLoading {background: url("images/loadingAnimation.gif") no-repeat;}.dj_ie8 .dijitTreeExpandoLoading:before,.dj_ie9 .dijitTreeExpandoLoading:before {content: "";}@-moz-keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}@-webkit-keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}@-o-keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}@-ms-keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}@keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}.dijitIconSave,.dijitIconPrint,.dijitIconCut,.dijitIconCopy,.dijitIconClear,.dijitIconDelete,.dijitIconUndo,.dijitIconEdit,.dijitIconNewTask,.dijitIconEditTask,.dijitIconEditProperty,.dijitIconTask,.dijitIconFilter,.dijitIconConfigure,.dijitIconSearch,.dijitIconApplication,.dijitIconBookmark,.dijitIconChart,.dijitIconConnector,.dijitIconDatabase,.dijitIconDocuments,.dijitIconMail,.dijitLeaf,.dijitIconFile,.dijitIconFunction,.dijitIconKey,.dijitIconPackage,.dijitIconSample,.dijitIconTable,.dijitIconUsers,.dijitFolderClosed,.dijitIconFolderClosed,.dijitFolderOpened,.dijitIconFolderOpen,.dijitIconError,.dijitIconLoading {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; width: 16px; height: 16px; line-height: 16px;}.dijitIconSave:before {content: "\f0c7";}.dijitIconPrint:before {content: "\f02f";}.dijitIconCut:before {content: "\f0c4";}.dijitIconCopy:before {content: "\f0c5";}.dijitIconClear:before {content: "\f12d";}.dijitIconDelete:before {content: "\f00d";}.dijitIconUndo:before {content: "\f0e2";}.dijitIconEdit:before {content: "\f044";}.dijitIconNewTask:before {content: "\f067";}.dijitIconEditTask:before {content: "\f044";}.dijitIconEditProperty:before {content: "\f044";}.dijitIconTask:before {content: "\f0f6";}.dijitIconFilter:before {content: "\f0b0";}.dijitIconConfigure:before {content: "\f013";}.dijitIconSearch:before {content: "\f002";}.dijitIconError:before {content: "\f06a";}.dijitIconApplication:before {content: "\f022";}.dijitIconBookmark:before {content: "\f02e";}.dijitIconChart:before {content: "\f080";}.dijitIconConnector:before {content: "\f0c1";}.dijitIconDatabase:before {content: "\f1c0";}.dijitIconDocuments:before {content: "\f02d";}.dijitIconMail:before {content: "\f003";}.dijitIconFile:before,.dijitLeaf:before {content: "\f15c";}.dijitIconFunction:before {content: "\f085";}.dijitIconKey:before {content: "\f084";}.dijitIconPackage:before {content: "\f1b2";}.dijitIconSample:before {content: "\f1b3";}.dijitIconTable:before {content: "\f0ce";}.dijitIconUsers:before {content: "\f0c0";}.dijitIconFolderClosed:before,.dijitFolderClosed:before {content: "\f07b";}.dijitIconFolderOpen:before,.dijitFolderOpened:before {content: "\f07c";}.dijitIconLoading:before {content: "\f021"; animation: spinning 2s linear infinite;}.dj_ie8 .dijitIconLoading,.dj_ie9 .dijitIconLoading {background: url("icons/images/loadingAnimation_rtl.gif") no-repeat; height: 20px; width: 20px;}.dj_ie8 .dijitIconLoading:before,.dj_ie9 .dijitIconLoading:before {content: "";}@-moz-keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}@-webkit-keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}@-o-keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}@-ms-keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}@keyframes spinning {0% {transform: rotate(0);} 100% {transform: rotate(360deg);}}.dijitEditorIcon {font-family: FontAwesome; font-style: normal; font-weight: normal; font-size: 14px; text-decoration: inherit; vertical-align: bottom; width: 18px; height: 18px; line-height: 18px; text-align: center;}.dijitEditorIconSave:before {content: "\f0c7";}.dijitEditorIconPrint:before {content: "\f02f";}.dijitEditorIconCut:before {content: "\f0c4";}.dijitEditorIconCopy:before {content: "\f0c5";}.dijitEditorIconPaste:before {content: "\f0ea";}.dijitEditorIconDelete:before {content: "\f00d";}.dijitEditorIconCancel:before {content: "\f00d";}.dijitEditorIconUndo:before {content: "\f0e2";}.dijitEditorIconRedo:before {content: "\f01e";}.dijitEditorIconSelectAll:before {content: "\f15c";}.dijitEditorIconBold:before {content: "\f032";}.dijitEditorIconItalic:before {content: "\f033";}.dijitEditorIconUnderline:before {content: "\f0cd";}.dijitEditorIconStrikethrough:before {content: "\f0cc";}.dijitEditorIconSuperscript:before {content: "\f12b";}.dijitEditorIconSubscript:before {content: "\f12c";}.dijitEditorIconJustifyCenter:before {content: "\f037";}.dijitEditorIconJustifyFull:before {content: "\f039";}.dijitEditorIconJustifyLeft:before {content: "\f036";}.dijitEditorIconJustifyRight:before {content: "\f038";}.dijitEditorIconIndent:before {content: "\f03c";}.dijitEditorIconOutdent:before {content: "\f03b";}.dijitEditorIconListBulletIndent:before {content: "\f03c";}.dijitEditorIconListBulletOutdent:before {content: "\f03b";}.dijitEditorIconListNumIndent:before {content: "\f03c";}.dijitEditorIconListNumOutdent:before {content: "\f03b";}.dijitEditorIconTabIndent:before {content: "\f061";}.dijitEditorIconLeftToRight:before {content: "\f0ec";}.dijitEditorIconRightToLeft:before,.dijitEditorIconToggleDir:before {content: "\f0ec";}.dijitEditorIconBackColor:before {content: "\f009";}.dijitEditorIconForeColor:before {content: "\f031";}.dijitEditorIconHiliteColor:before {content: "\f00a";}.dijitEditorIconNewPage:before {content: "\f016";}.dijitEditorIconInsertImage:before {content: "\f03e";}.dijitEditorIconInsertTable:before {content: "\f0ce";}.dijitEditorIconInsertHorizontalRule:before {content: "\f068";}.dijitEditorIconInsertOrderedList:before {content: "\f0cb";}.dijitEditorIconInsertUnorderedList:before {content: "\f0ca";}.dijitEditorIconCreateLink:before {content: "\f0c1";}.dijitEditorIconUnlink:before {content: "\f127";}.dijitEditorIconViewSource:before {content: "\f121";}.dijitEditorIconRemoveFormat:before {content: "\f12d";}.dijitEditorIconFullScreen:before {content: "\f0b2";}.dijitEditorIconWikiword:before {content: "\f044";}.dijitRtl .dijitEditorIconUndo:before {content: "\f01e";}.dijitRtl .dijitEditorIconRedo:before {content: "\f0e2";}.dijitRtl .dijitEditorIconTabIndent:before {content: "\f060";}.dijitRtl .dijitPlaceHolder {left: auto; right: 0;}.dijitMenuItemRtl {text-align: right;}.dijitTextBoxRtl .dijitValidationContainer,.dijitTextBoxRtl .dijitSpinnerButtonContainer,.dijitComboBoxRtl .dijitArrowButtonContainer {border-right-width: 1px !important; border-left-width: 0 !important;}.dijitComboBoxRtl .dijitArrowButtonContainer {border-radius: 2px 0 0 2px;}.dijitDropDownButtonRtl .dijitArrowButtonInner {margin-left: auto; margin-right: 12px;}.dijitSelectRtl .dijitButtonText {float: right; padding: 0 12px 0 0;}.dijitSelectRtl .dijitButtonContents {border-style: none none none solid; text-align: right;}.dijitTextBoxRtl .dijitSpinnerButtonContainer,.dijitValidationTextBoxRtl .dijitValidationContainer,.dijitTextBoxRtl .dijitArrowButtonContainer {float: left;}div.dijitNumberTextBoxRtl {text-align: right;}.dijitSpinnerRtl .dijitSpinnerButtonContainer .dijitArrowButton {right: 0; left: auto;}.dijitRtl .dijitContentPaneLoading .dijitIconLoading,.dijitRtl .dijitContentPaneError .dijitIconError {margin-right: 0; margin-left: 9px;}.dijitTabControllerRtl,.dijitTabControllerRtl .nowrapTabStrip {text-align: right;}.dijitTabRtl .dijitTabCloseButton {margin-left: 0; margin-right: 4px;}.dijitColorPaletteRtl .dijitColorPaletteUnder {left: auto; right: 0;}.dijitTreeRtl {text-align: right;}.dijitTreeRtl .dijitTreeContainer {float: right;}.dijitRtl .dojoDndHorizontal .dojoDndItemBefore {border-width: 0 2px 0 0; padding: 2px 0 2px 2px;}.dijitRtl .dojoDndHorizontal .dojoDndItemAfter {border-width: 0 0 0 2px; padding: 2px 2px 2px 0;}.dijitTextBoxRtlError .dijitValidationContainer {border-left-width: 0; border-right-width: 1px;}.sbVerticalCenter {position:relative; display:table-cell; vertical-align:middle; top:0px; left:0px;}.sbNoSelect {-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;}.sbTextBorder {border: 1px solid #d0d0d0; padding: 5px;}.sbTreeBorder,.sbWebBorder,.sbCanvasBorder,.sbContainerBorder,.sbScrollAreaBorder,.sbImageBorder,.sbFrameBorder {border: 1px solid #d0d0d0;}.sbContainerBorderSingle {border: 1px inset #d0d0d0;}.sbContainerBorderRaised {border: 1px outset #d0d0d0;}.sbContainerBorderDouble {border: 2px inset #d0d0d0;} \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/css/font-awesome.min.css b/Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/css/font-awesome.min.css new file mode 100644 index 0000000..5b98891 --- /dev/null +++ b/Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/css/font-awesome.min.css @@ -0,0 +1 @@ +@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.5.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.5.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.5.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.5.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.5.0') format('truetype');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"} \ No newline at end of file diff --git a/Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/fonts/FontAwesome.otf b/Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..3ed7f8b48ad9bfab52eb03822fefcd6b77d2e680 GIT binary patch literal 109688 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%0D}#zSrRb8FuaocFSDv)#ldj3 zl^SXjMs!_Dy`s8u>CnY)jTPD2ga==2xN%*{#{i(wj|%uM=HUQDr@)6YHTVmtkrZs(Z9SUL)@IvXf!Cj7x2E_ zuSs_{eyZO1DcOm8X5jyo3{ChUe7JCahEVLn~U^5^K zpTa8`2)#xCyZ#6(Pq|=Fg6}ET{W$3*8q5`}y~t!C{>b{P!ctt7TU<@BEM7u4lf78Qks`2aJPlqf;9O=aLqhPJlK z-EAP`&9xTG)vG@6p;A-j-pZy@OYt6YM{IOsG_0goFp~y@6+^*8!9oIzD6$3Hf`xcG zo~}53+WdO#Y2Fv`i9Nm292+}rnh($5-+d?K7d>(~;%qO#D?r5OqN1hPIgz~G#l<+5Q2>NIB#JlAy%HacqewzMldb6d03kj({Ilai67aRq~m zY`Ya$!a=%;k2CSQq`0!8L}Mz-G3`>4aBy6P{AZBsq?>F7w<4{fNK;bZRNkc8v!}Xx zkEW&G(puS?h_id}#LvDL|LT+)_~9Md=Us+ z$%lLQ!)yHh2%j~(cUSM`gBqo!ny@fl#CfbX{1dBHwY62Xsz&~^ovT-!nDza?P>XYH zR}{yOo3AAthYb!FpM>L^%n1oYsv(sRX~*r(TVKd}bV*1sZ#tgfYh7etbUfjj`S@{P z+l#gr!HU7+!}2ZYN?2}#XXFd%uh`=Fo`g?l&V!lr$zZUscmW(eyZj_K-T8?@F;~k$ z^0EdpZuqbPWbl;24-HWRzQQR@g26aGkE`9WG>3#!KI97S@%uQIvu%b9)ON>eoH4=Tks2$NBOJ+Cpc7HV+8t-(aF37_PV8R~+jwA5QG>8+^x>?vvPI$kp>% z;39o*?y(LvL}>X*IMW-*hP3mJLloy8#@>Sr6L}``F=!$0vr$ z8pZ|?LeN0~Oh&*^qS?5CHk`*`<)i*#K#r@M*}C1P-XnDTO4iY`!w!8`%3Q z?dVW;G_*H2tFZ$H159&iJ73uWmEU{=8Co5WlUw;tcrZTS6*AB|_=MMQ0^mD}hU{!* zb}66j$B)8;@s*H`5Bb6AF#S86?E*f`+0WU}Ii{7Z%5h8qHenvZcxC)}_566>euKg4 zrIU2)Wa}g-e#`e>54}UWcF1nv9l%`hqi+<$;fu#`dKJU(GGU7i)*q8ct)0I^y)`v? zvq@JV#DvOVFa`Xvga4}N0vQc8p-@BP?{E!#!$fb!3E=0? zB?(u>cocLvN<1-nOw+&a2 z7h!o+3E#3%V@|xJRolvKWx^Ljj*lgj@?j2nUa{`Woxfp$62AbS-c;g#Eckur+Aq~s zy?u+qIv2hG`-%S+4895b$v)RU555WeiT@_-C+j@5>?Q;c1+e|~_V(8ntA`*8c?n+< z_Vn;s*^uyT>`^bc1#U~iBe%t<8PW`?g(kd&+j+pGwrPg^aV7J?hr%959yj0OfSO$T ze;9icz^1Bo4HTsrPCSR>F%70kvv(Ci1Vxbof-)%rQf9(D&y>mR=F`^g(3 zpH}?-;q&kE12ATGV9e}5NW3kR{oKp@_@oca4@!ZwPB3*q8*a(Pz_yUd9dvUk}!a73512K+A2yZcq z>)w96%;L&~#f3xX1C2!WH4_Keb}4!3{OWfZ^YPvDhu?=QFClNReX@1x z`Kwn&b@in!f8GgfUhHHtez<4U>0s312IAE3qB_thONWZ;ba%}@T|7SpCmT4AzN;tF zVF!KZ5yq@QOi|nVhf4aPhlAkZ5?rrg7(~jG-ta#;AJKW9U-yU}p~WDugx{kPXJ|0z z*14m~5~T*GGq+S-?J2J+&#yF>^9Aju_I8!9lf3$g@Dk`>)P>0rrl1S6W0c01FX*yl zzFJ>*u4aHYRP-ebNTDki%X_-B0xSG~@d$w}rjK9%N>4?QTAY$zhSc!_No84CfGbi_ znx4X&$OuJ-IbDym(QI*Yy1SH5_1z~zlFnJg*&QyMOHE?ME?0rk!8`M9xw)zVq>z9O zABre*=xt^26!t;IlJv6nwB5w=QLEE+?df2(An#J|#aOTnmc%QbEFDVc8O z(T)}ghTB*OZXsPP2H$A3$m_1JY*TkI@UZY#>YA_d&k~adfB1nsNFIFr2m0WQ**lhR z1lJYp&0sQ4bZq17<{9cf!VH~E0(X3W@TpNrXU8rYj35q)Z^tzF-arIWGMMf&E_&#_{$ZyHsd)Ljg4KoRLdbw zuk_EjPS;JB(tS@+2Th_^R9kIZ9g$p7Qsd(6`E>dCL8?S&o-37G)l{|p;=j(5wa3*5 zZ_i3Q%5VSj`?T9?@+294@Li(j5$@&4O0v3>bV|LQ&P$!D01AkP1B4Aw!(HkdER$`R zaeKNI>cqkE%s|8{c;uklIZD6WEYil=E5SgDC)x2uiqoZ zg0@YN1Cb+W$z#X{pj#t?KZ)+5v*-tE`T-i7MX-P;i)GY8R)Hb9Pj)@=qYda=&pb~C z(ucmKk4t+u!X;t63@U!=DUA7}G``Q_$Tj33vBi-$(bgAa9VKc?=ofSyM!#8nR$`70 zjFMs`xH$SIc7h)WQ4>PGAZy8KGK=@r6xRW?(063QNwP{or(VbSsvd+;6OLxkWh9fN zV>!|(+_|^&5#aBR(tty9wjxTMlMQIWjPEbd0bY_xAQBJeRGsJ_+y`wEyCZ( zCgJbwJp`#MyH&N%zfjR!&}?kxXsh2WB2(T5jdVPjqY|_ z%%VX`BAW2+kPp!DpP@!-0mlAN+!U%*V!*G%Y?DBi@&^tdIJW16)LZMUX;k6q#56sc zby1djOUby~Lrcs4twHCc3nV5%rpPp>8}9bc5-*=BtP(kFB~Cl*pN_lzGmrI8qb(;- z6(#IYv?r`>T&Z5UcIWy8zSjlgF=1ojin@&<8|z++Kdjy$6CZx9{y-gHccAcS!T~A5 zfEfH!G5D{=|B8rC8XhrxI1Q)a%HF5QD1$94KPNYYWeak13-pEAAy$JU+hr8&v_(lh zcrES_6`Bex1!}}1_~FBlc+JLIg+L<|8(|8~S0eXfcjOf3mzYBeEy$50+Q8qw4R!^x zpCOCMV&cK8#cyXDxJ)5t8)N@Eoz@~d;8C|ritXM4PY4b7&B6mR`u6Qk5+2bRa?ke* zZs}}+3mA^20F89EAd{V}QIKd&=RguA>jm3afw8I`h%zkbVpsIDB62jOeZQ;|nM06Be7fG>8|`Z=N`}Ux(OU)G|9j>CLrG+% z%r~Ovpn^O)gg*QUOSI}hn$wBN@J^N%JIf#Zrv2;FpGtdrdJigG*nxx&k3jJ3Z}a&L zPpu!J9WA9^5V9inlH+QOw-ARo2D3A$Z_SSosH~xG+MkbK5H~+&p_KMpIO`c2^7~Fc zg6>ESag+Xh{h5ZdyG~0$!G+P%wD^eM!HA@=5`4d`JY5o`j{|Zm`|>eW5Sc% z9hc9wMnmSp2L*n^4Et6H{`2<%HD82^XTh#0ChHWS0Jg_9z{yGJ^N&)L;L)vbh=Xf0 z?yif(ydt>R+GtU4}j=u|TvljkknX$~^2KY?~7L{hD6ep{bQ*tuk z@^txwMFzbwJ)Mk$pWqJ{!xWD*ZrsN){k>{r8Hh=iE?@CFQ)jH>dUlZkqL!kD=9a$QGT>r3i9pw^l-;E!G4JxQ22sOM$r6}VON1MW z!%N*;xI10qQB<~Q`h1>#?hg~CrKHElt5%=TzsfWqJ|nVI@1Et!=R%mMyt1smUPW&s zi4Y<4w^zz?3K0yoJIELK@%9b!^cC_CwXaKzyfki9f1j4^5ttKru>U29amPhu|4ZP4 zrJ`5Jz_OC``%;GWf+eSLx}dDzi)9cwJbwViSY``Ed_VJ!5u|nDGgfzr*~$tc0irOl z3<*~DJEEV|g~SrRz}arc^V9RJV#nGoo7cxk3$rcR*(wMXY{dgIkUjud@wpM4sl38m zq5l4hw$tzPPg^Hmi2X!r@_J2Pbyca&Uda!ynt1Cc6`)8Kt|h(Iu-7bIus^c1OSRv< zuW}Ff3v8#SpCd12OY_Uj73C@-{pK4YJ^yCh`u*Hd*Wt?c`n2WS)~(t3y5pdGe}xn$ zv^WgVo_~;>Pi4ZcBQi3NC^dayL)=7W{-FmC4QOW&t0qS_2l+f59k>iv$bUsaf;T|T z2SKANifdTn8;B(Wf_qLxh+? z1z~V&;go9o`?_%TAZ!q`!|B<{d3HK?#Hg6g!RSvJTXk1+ZdN0g)tKA7OGS!gobRh% ztzs8#A>~krLd3f$N3DDMY2D6m#@8hBnB-uVh(78D|BfhCB!&(r!)P?UarYICZ^KCp zQIg<}kGeVEsNPXPLZ0sIJRLw&@-&vj-o7nLthw=2qq^>^uj+V=0}Olia1S1VXbr@V zT#A<$%%A%5{4-a`7)! zdZvobmSmJ@wRWU>s))>zL^M?F_v)GCVJCS`} zpVgpm%n7LjUOvNGsxMWOIpR`JNh!ji$Lw#~Pc#)blr(sWWTY}bu;DHssRuMw^LD${ z=~NXLI51>J?T_BK}-B8>}o~~DVttDk%6%xfiDyAZ0R2VdsVQ_($$0P76eV3&8 zL&ypl*TzJx0C|W-vgw;&5Q-Sfg6+Y9*LnCB8}aEC5NYb#3Gtsa%NOIDO>Col@Gw9{S#3JoBVoEbnf<5pCGTufo%( zTt^;N%YXh_{HmCY&@>$K9zU+CE2z(_ z;dK37is^Ia&fsXbnEvJV7%D@4P&b)sxQI)w}raWd_f%rkVuQ< z^jEJ|o#OX{AurxbWNJ9xxP1LTScdbJ|D0?Bx`2C4SGQo5O8!%PUVK&}*A`W^VWlc6 zV`XAIC;#~kbMwf}0JNDE^6s;#XQGaBj#^uNok}ho&paM?h_jX!mX)eH6FWB^=j;+P zw-CVbesrdq28rni`j1V^=wrMgW__PM$bOU)yEvS z)bEnMb&|XQtMmy3_sN2Jv<=hb!2cPvPo9?rOje}CZY%a}G{zxq2hcy0m(ntMDZtJT zXTICKR0C_EFR6BS3EvYgw7XdX)&Lh(jz1&*4E^zSfWkMEr1j2}l=XxuURkziJZCXW zCM-Mk_PZxfUcY{9$@D^AxOpc`AxI?OY`gee#HO|DQ@Ol!b7GRpucT=fiOu(yf=d<^ zNgHAkAKm@tW%3~NQpH1QB=3JzLJU2rVH!Z<5K8PX=n%EU7|#jX9U2VtK>zu|X*Z%P z^g;3rRdRw$QmA2;1Ri2BgHbbUg7?E>RniCH5Ir{@-E^qO zl{+CMiG(R2nXf^fwJ(#?O@_doXPFKyr1g5WvykvaHj;(r@2VF~rBi#udc*Fi7x}_` zVFb&Ffl(5I5xoQg(~Ybr9Dw0yO1#=TeaGelcEDEJp{)h71>!!bG6w%=zm&;fA3<@D zWt4<21~(?b!MB9fzDE>vSv!)&q5oFhCODaqEp)(ZPjfvNNweY!WS~Rovi00+U$p=t zHWC1_;o`us!@*Br;(`9IBN})N0ggbMhAx15(q?igojbU6Uvy=Lv|~l-vItc~6dbPM z5yLr%iut-GLLu<>@Xq1GqdGe~OOJOP>_WNES zdma`zGD}fZWOC&>a*;;QHyZP;*-VANWiGNy_wJhqf{FxqpGjmj@5%(ds) zjZRZhkrbY9kizOf=H8ZL%`Pw@>FUUJnWXZyAQaiG4(Uas!kJ^wHgnmz#=Kmov80ff zhq;_~2YgQ0;3+RPv!W;;!FNk-YavD_KpR;?5nq+VXCb zwC&R`_I|CF7hv`ftsoB^IN&;+Z8}9>`TT-vPjpLKBe(7J_OnrE4Alw85}i`S3@y3pEib2~Z{wFIMlFn6 zEsdI&Ja>j_#Qw2+#&ETBn&!1>yXi#4k=BukkG>gsF7`r#bo;G;Zu(mN&iSgAbNu0k z(=9c}q-Cw;@4c#G!3q)_7$kbSfwt}I$boU9OAIeR98V7N?6N)x7~k6kYy#`n0HyV* zbz;*bcrimH{^x~Z&)#}=jQ@H6Fi~jG^&Xc52%Q933j@2~R_x4LYKZ4viKY*&n5LdF zr>Sl>Pj`Gwvq|>zWQSDuR_uj$RF{vEhu+@JmDHc`G^*_mi^YN%{TsXlOtJbXx9SC^o#;+xaRkSUH7snux7Ghzhs zRfcK84uy(`!k5+d_!aZxW~I!`edpkbi}hD$Z+CGzU-cD6&+#V?~;Fu8Ibo8TzmJ++yppvbFV6v&Cdq(UGJ-9Y}^obGflG`7!Fm zB&#inZ--OxzzFhafi#@l`WFRao$7pF?{#vgEUTz`;4&W{SQi2PSCL90N8qRs@r4WVBwh72jjWKGa1YdJX?c1*pOKZD z3VfDYvaKPu6%?GaF~mrXyXaZzHd|9%tD30Al@$m~^B%9G!dxj8TqZ>d`59r-n?S@B z(n4aTH_7Al=Sr#BY%#M|v$FV1sEVQ0L6U8aJK9W~@KL0&!M~x^|B*D(+Pt$3vTguQ zIe|IwvQ{gkY{>KFlJMKGUV@l6*T7IPivyq*{2N5W0i35`ND>B|hs%r$(b;AmcNYL z%QFAZqMW!KU95_B0o8+6#euAOFuR|@3L%)KWx@fn=%PA*u-dQNjM#@6Ub*;Xn(!%| zc9u^2Y7B8(-y#DZ`DEmc_lRV|$L%0zK5&ry5Ces$H8_BwQba7!QmgFBf-_T*H1PkZ zprvFbbr2DCHcLsJggBdt1Myrel@6$Bfywak$GCs(81*mrJcd&sYh~|gxZV+@T|uUk z)&C+*L{Nc?FaXMmWq1t$x?4eof6*o~ov!A{%z<<$0>P8P^hr`78#@Yk#>xW__my#M z`VUA;^8cf>WI!?oY#I5F5Yv)SNeVNv+QCpkJeCFDID!a{vnj73B)1`{I?h4o9aVOa zInIXMrsT?yl&V-~TrQonSh<4C%L}X!veUUUHzgTVFkXpZI^VZSNL*f0QeNB&I!{UG zbi_Ghu}VmCN-j3$h;NG#dJPnw*tY2>EkLWCl1By$$y@UdbDJGI<~#bl0>%sblPsIGQ4gg64HCS?F6W={FSNpKDGXyoKL?$3AV zeOfpab7k`HfR^b}Oq(}v8b|*r?(^fA7x&kRD`^l?OLP+Y=}Udi+pkx?=<4L#kL*9v z+TpG7)Ou>Ab?y^H+N{2HHEK8>lHoIFse~?gZ+@A$tljzgAr+F)iht2joV=T=*3wBM z=JU}jBiC8r0;5Ys9>vj^PhObt$&wJ4Jnv_g{-XlO& ze<5KA5#W@L6FHpG=|r)i@7&lq%5AvY7+K_Q`VyUpa66js|Kc$s$DRZHm`HTCS&r_DQe`P~cW-{FNWvD|iX_$3mox_!0fR?~4R z(s?+K&Z8?$XkEO2Rr@OGi=9_S{;F<)nND1t@39NW1fk!7KeA%_r>!ykmiEZ@=r^Qa z&tFR>QI(njs>A7oHO{qV>v>!nJQFfl9~@{XQp(N==Vx2z-B7bxD&K2DHZemLQ4?`+ z87Fs}jUu|xOjLsyVdehrmVH0*a$D_%@Aq9)!wP4C9r7sVTVTI^c7?nP_bV7ls+Uwz zy>LB$9eL%&P7VjWe{pM~H^GzOk?P!3dZJl%tL5r#PJWmKUmAW9QBTP`=P$g=$v?b& zZr(JW{!>y@|3+zx`i+ChkuAtJ;ex5n*8m^Br1ZdW`|TY?GHP4 zzKJ`q3Z#@KSK$ zY5(OfQeghNl9LN_js*9(g3r`2)5jc+(qo;3+;qcH$u8fwB zm`^9Ir79I2^%>CgFTD1Kqx=B7CZLny`e39A!&5FLVeIZqkQ^vFQrcF9i()D*GncA6 zJ8KRe=k3U(Ej0f^RAd%&WQux95rv+Nsd=WxZx$n0G#}7z0BL~80mLy*^UO0MGDgGD zH_v?eu?&z;d?FIrUC_>5BoEt4Ff%RlC9*yYk_+t?f!ZcQ*svLmP_U@cFwtuI5JLeN z(R?yr&LfN}lhGYrjxgCIqN874>(Xe9tjx(8J1+gh?-CYU9Z9RV8e zg9il~$8q9lB{Ig}zSoxBoX;AQqcL_s?A%gh?A!u-2ArtxL^jI&W(g=q^ZQOTa2WQ& ze3-UJ$;++RZ)VrN(cI`dT3viHv6@I-@~a&%ivD*&VbbKURJfhU0_3|3T=|*V(!6}g zJepi4Z+?DuV|rvts#RKSj!Q38WgD|BxzI9nC#M(XW$K)U40l#Ss=mySZ`T|0il8Bx zn{O@j7;I*#(UhNWRNFK48QD3899>Rc7wt|ZMoZ>9Vv>E^|c4U_9NKJQ23ybniHohP$*O`|uh2v<* zGkW7P;tOM?N#3nhdd_9sZE_WrI!tc6$L@7F$_ih%Zrf^1DL|golqEGm;nl7#ve|7a zhoQQ_;c;e_W?M6)8CGw4vO1%DhtbNrlPYtnOQbmk33?M}FeTR%xy|_n1qCL9C)JVd zG1+3<9oCGz9VMC0M0dfio%tyR#@xhWX@)(kB*U5J+TqHp&MUW8WtT}y@=~fZ)gIk$ zTLG{4ZrEE~ZM7v7=NA?k3ibAEJ5r?%gFB@x!IY4hUsRP}oa;@t7)zyAkcIJA5m#E| z$#7e045iuLbVsJkXxnncYfCa3-mrP37L%n=RpiNitGrNeE@-mZtwm+&g(gIWiy<>u ztas)*3alF%&E_Jf*_mgTCa0I|GS~nawdEI`{p!Ytw>zYTj$%u(y3$mV?#;H^^NS1Y zwqlRfX>}EPt;P9yuH53>Vlx!(%_hAoG0TuI&B@O-<`fu_&&@BC%D?Z}UB0KZ)s5h6 zt}8dsZqZrurSA0lk}~t*yzIX|<}_H+fe3bGmN;D2qDs31tmrIf0W!oJZB=#7;)eWU zqg4LS$?iOlKHcCnw`LnNr4DGS7OP!mYhsbHG_L-5ktxO528@Zbz#X57onD*lHWVf# zLHIkZDl=V*hdbMl4-j%jMsi`Q)oD)9nerLC*OX&2SoKCjh26D1*IZ+(uvF)=txJtH zc)W@nRRs={C$BKmrY}nO##I#CthFUM4rz`vyRx{X*j;6_mr9H4q6#WhC0?7^!>-w5Z5xD^wL`IMOPtkhe}Y6>xdk>DFvxfjK_WR*+eiXi3Gx z1%6g;PJRx~svzH(VlakXoc|2~9+g4Xl zYOJ?3#BH@Zku`7v^o;%RRMEMzaE4fME}kA*Bso92!SAVl&q zd@S}J%+g0BxVKADhb%zQ-GAVGg^JQbgFd>;J%`T*(?%v3{05~zRdQEm8O#J;ZqNPU1p-$$}0Q)KKH5?BlCC2H(4{G()B1Qw!=0GInIji8l) zE#B8AGFx}mctDI3zJMRGXof>cSLTdY2($>&MQR zwu=B+8pRD8X#hAWanKm5RsNXo`3k}D3Ay= zSon1rLgnRfp|qjmwRggycK<9{$dr%wG57Q}nJ6_SE}N-1yD9;aSx+{IQYsA)LfP%9 ztEuL;wKi`&p`N9Yhn?8iysee1sjhSHQa3ahQUHJ3NH;-vmzc!0 zZrgESshT-yOAqX5-Nq*-=?pPbOc_qA_w zY&FrTMN@W9Qok@IYN3`N^_l4On=MzbtFFa#Ejq;oj#F-bbJ2^tC#omC7_(>*Pamg4 zM2i-0pE5}`ao0<4YPrDSEjsl<^fmSM4_Z#Y$$vIVv``y0`303cY|^e5Pc7o0n!iD$ zJ=GQcAp(Ebx^|s9#goT@T|L#Y=Ywl7D~F-hi=LrdW>Pug4igV@jR(u#IDyg%5%YB$ z*KlO+MDUj%rrQFg719f#UGU`8M-Z|B*Y1zf3SmAFHbX_^Glk#cYZD2BIwgl?AW2#^ zo&G^$zooZLL?4*kF^oK-E|iJMBOTw72PX5q)xJnY^&Zhai7*I!fI*VYlIrcG!9PXR zyHY%$rjU$6sC86fXJ^30*5ZjQksX$ijtGTNBs^N_b=8_`LJDd#tCCA-aHrCqZLk{D zdVPU0o9~_Gf0*9?cD@y_!VuS|K{_Yaw~P&%eJL$Ptr)TFs;`7^85d+K-cb54UG+V5TI zfeY_dUr--u&x&v4FD%?Ng!Y>*CDR0-0wi*)wa{h@DRw%Fi;Ei@mDg8hLX$1KSc#aAh=>>o3C=-8ug>2k61vfC{nyFIcBo+3 zib5df%Lx_!Cj%5ljJsqsQZTr6t)b!?pcee$;*HBvbsKqdLn7~5tikuiQ?_s3%=@3j zHk&tZpR!oh8zA_~TZMMo-bdC&xChZWe>;s-$lK{jdQw8a@l8?$J_$L<^Y(4X;1dk? z0;w}09E6f^iM-Vpe5YH%xWmA~$S?K%AVEC12&1?_P>td6W}= z_Wu%S)upaEeY&sJpAh_d|HUWT2de?#cpeD%twUaW;>t_Bud=s7H2bYvn?QYqb}nAe z0DsNqAU63x@+Nqo08b5!ek2od4Hj#9A!F|krvbqWTnnZM*Tn#?lIjC#8KpdFqirH@ zX2tqs)tz98-_?V#9o6}Df&6eXa%@1J>6jlI)T8V z1+5VZ0eAmF${pb`7T65BD_Ff9cOO_)a#RK#`=Aan>NEjmh=BZbc(woSC!e-j^XF9& zZTqzfXRrQ70Vx-OXU*VMEKS@&XRA_dcyZ*8I88a&SOBSkDrLEn*fs5X-K4xjEG-cV!>~-putDR*V`1Pe*t77V7>SOoB zAJA8(p4fbAut~W_l9a#Ix{NCtZd#I~%9QAfa*Oi0lAOBi19}p+L7Di$+om_wpSe*N2Ya=-e!TkhH}zN_~9 z?qmCo?%&_uc&K7`X?w{DynZs0;Zk`=hA<$f(xNgqn5w<1Du>tQ;_UV&`y0+(h0XRR zrxcbn3Y)l075NQZigi}*%)IHg5W22JG*)aHU0U#ibys0yR;@0iG~F3(TU#_wDX%G` ziC!b-%0ao4GM00Ot*IM#ZpcbXNZhX59=|PZt6rKsFCu%odj7n!mbv`;+NeFc1KUrf zy_0_0{Rjd zt50kCBSR7%gRvyYiJ2R5pT1gYT>u%QWDI0&`f8wlQ!8M=u_L?gbJ>x}2pY)@ zPDy@|eO@dn8q447=(bTQQ%7pA7eicHzBJXEXH3e^$cfC)G$w%*=ahyWLT#M@XblkiGNB*XF^ft zJU8L+iJjbP`f_%pMU^&h+q{@n(!}@P*I!eAp#i-TJcpqma=Za;G1sRu5+TleGyAvN zuh@ZpLb|#5W0v=Eph1`ZdE;{HlG)SN4AKqf#^XS*tI1>E0dKqmb;D4p1$v^Xa5pAV z?TqSGyK$gt)?8yUJJ5nmV{+g?AHjh_oKHozlbJwy_mbCP&Tqyco&c0Ko)(Ooc<4kd zw}!sN4m5GxqVd~SN_~+48Cu9VGMMBDK>#(~B;)$`JmG^t{SMg7&(NJX)k&;U$RzOI zB7gqZrrGasgNBHjW0vii0xkD2NV%)1>NmKhO7i3xa^LABkZ=2mQe9DvKcYNN?(7)QRBYceO&Jhidi#x|-ThHfIA+rJy%#AT~1S+c`^Ml&>HQMdYstXODZI0wmDke}V#6=zqfh1i`!T z1e6Ecpu9Pj_YuH&=q9oWS7j4koAGHAP##z!X1L<*vMXl-&$vOx$Unh~+xXUQlBC6@ z>*EtAeyqfu)QE`KuO-0&@Cm%+nK-dbw6__jm`P{SnK;c%w7D6lnMq~>s)IQIA}7F| ziXn6lRn;x`IA?@%?a!(@qwLEgt*CGe1(%l@&aS)%7DI@dqg_>FP`5{-+za`R#GQ_mm;{p3zO`9xd;M6E*J@tyhQ z52y%Ow<%MGJ$YpkoL{R&OeF7L`_{~d2HAR}732&ZLms8k9Gx~{==8O`6#;{rVoTA8 z{5u0V3%MyAm+ZFfDz4?u)t|cXrJ6i&6!3oD-$ZUo1|XvDdRVRpX;6S*9Jqzg(`9tw z3xF)4HrYU;urul;r!-<9Js2uJ4Ya{+CT|2$nE%`*%Wc}878}b`7sd-6h{3|3QyiGvb1Q+iY<|RO0ofz`BlvcyQ4W* zHUt9HnOVkc6npxS{wT^uv^i6Sl6$UfZg+G-^D6aD9R!K^Es-m>EV^5kMu0m3*zKuT zkG|T*S5}oEkaA>4ZS-y~+vPEO)n1R?1hD4pP;z3x@}zI_}IaZ&VHPq<455krK@dk zO)yjzFm+}lVO{~ogG289t zB6VeXNm(&3>u3TI+sQGz-lF+Vqv z_kSpvF=x(<8FMbYGYJv}lt+(e@*p9g;BsGP#g*7#`=9<4g#?b8;*kQVpO~9<%J^)2L)nL zO{1n44qfMd_!{u%BETW<4Oftp5(x916p=`5)#u!?{-<|Cx~n(@emOLUyWru${l2S} z6%bqq2C7F6uA_W>fHNic%D?vM7?P$xefZdj8L~22$8WLI%4AHXI(%Tn&Kc{LbIAz_ zh>A@eGxu==6-jBb*g!;cf0%kJsV<==xmLRF*v@x4Rp2zPL3yoLIJp;i>oxSRbR}XU z0}=l70Ga8)%Y#R_;jy-7FHhp+UtgZ|Wms{TG$u7AYMUzFr7KV6(o(Z^@v3bV(akAb zPKGfxO(plvJhA;OH^1@hridI17M5dYGIA9Qu{nVTQe@}ndpFd3Y#_Lxq4oqOc!7F6%toL(>?RzB z@FhfQw0P23*;o>(k$3gD<|xRD4dfk~eUjTXJ$J&3s_Uzdjd?~z1_m&@0oh}GW|em& z2(BeGaq{n889QiGm^y6G{}o)<=sxq;1GhlTfK5@ z$IDk^IX_RP!Pb?K=q3n?g_A`p7%Y=Cc}BC@$Q?*n*R(>dlbu;`rLNZLuHyYeu(mKn zqOYpWtyA{_fL5%F-I&13zb-UF%@q}f0;uFguwlbVbSy`e5|kufMJHDW>M3#pFOhd& zZR&XMpGZf5lY?8R0T>nJ99SzDk%L)=ptpNq1et*norroQX=pH#05D$q^|&Cz*wYRc zQUtzrg4I;>Coqxk48TPH8%pSRkkJ2JfA$_o=nr265Fzpe(j@^P974V$Q8W~p8u726 zj(&s(e61IjAPhREhDq3U!Ueorff>@I`fypVjudJzn%HD5of1}0m&s4EBnbS-zA*}8 z&~*(eZ)3Rn)5qRm$@r5mUW?^=t5Md#S1q~Lbh7J)ifKfGq~;QnCp3I-I}_+*s(O9J zu-akG{~?Ba#|3m1gF5#iyNAhqI;vCjYQZjMOQupC{nBZMefk2*il1zTTzJ)Ln7}PugTMsZuZv&15v>_v& z0(-}Zr^CU8-7k|5!&4QA=*jE!f~y7B9PC!Hd{IAyRZ%*Ew!>|OVc)Osu;4)S^)Ga_ zWG1@P*Xc0d$jjg?&qmfta4B|63LSQox@69>Qoh|@{4ksP82oTMunoW=y5yHIx?*4QcI-`l3Hy_`!{pMj)E~N?{L-D^fl=sqEn-|L z*7L&A^TJur>ynV}K+lW9x0ZW+LjA)mA=0I=SXyX%Cr7(msIF5K0jUa%)0fEs*>G?z z#Su}Rh+jh&Ib2M&L?;?9j*5ajSxXcN&XG`Uyr>P`EMAmDgQKEwNG(yK+hPp0IuXPx z!?7_2Iq_{YHjN2$bc^s^*GaltM5Mjb(qaK-m0flWABY2{Z?Q~NPhD{43J<|4+#4W% z0Uw1xnile`V2t|OC7sx>R&+-zj-tULzmC0iMnI*S4O4;2>74slNTyW;#B2lK?&= zw1;VWvkvzx@9&d9LIzc5@79vf)L@QWg|0a8zb%7Z;l&2RSGdy2Yz-U}nTJ7B@d^tj zy@F|To(yx{EBGzw71@A0|2ZsNNBccG1&Y(JlKr_s{OHAxfwsGWt7pS|?{DAYMgWDCVING#tL zx^DLuKyOp9l8wX-Gh-v$*zZD76KsszA2=kc^?lCptQ__TEL!xt#lG3 z#a?~RzjM85eZhL(oR*)Grb_mtRhK%QB~Gra#@*tslOibd9+aEI7^xY?K{&JEv2i#P z`9tJXL7qhlWgz~A4NcF{)|Iq?qc4ad5Y+kxIY*xQ8VK33Z+B*8U*dC4o-F84cbv2p zpX6O{U-Z0zRS^PhRhg2AK+`Bd9vgw z^`Jre_#yl^^shrM(`VI@(^Dr;RxNPNuheqGY0w6M7l){5e>Z*L#1IaVNsXX@Vy+r> zaR1W?;X@^V{3kb}iT&9)#mJR-5|ISb^~tj!a}y|I-lHX>*>hipJIK0@_J5{uvj*@e zL*57!Eb*_xPm1*H%xpae$({d*)!1r$@)lX*tVfB z(I5n3hQ9yXHeTPhrD~f#QlGrl9Vw-wj{|1kk4#XL3COhfBcqS={%m3TXh>SIrpS2( z8NCd+{C;!-Frf%f_M@Yh@%qTBt!?^N{i{{(HtBDz-@nfQ!9m}@6xPbSBVSE!bGN#y z_UhZDXzJ5IQ*ipUYw)Zi$L@o+C^Ut%SPtR>ypawBa(rEamX#UT!V!^o#34tAc?jc2 z@LbGHaB5I=7nCIpE(Ro$K)M#XA~0>Q)j(0QRmL>}g6e{k2&qc$PO$i<>~|T+fkbxf z`WHM@eqQ*3$d;3VYA8c8B6DDJVm5<|ed;r6*nB1bAQn>YK_prRqdXY&x@Z~Ii7}21 zm#`E&9G?9eOk`~NG#REfnAqsf{d&9qw2rTPKTh@TI(Jw8S|*>-Z<_3nZx8kR8ZF>L z^fkrI1hf=XgWdLhyl*XOLVY9}1W}eh?;Y5K$1w8hF{G};1scdG?Z8rVuJlbEqF|rtX{5wiT9bu23pd-{!<_)1QESZC%pu%nN)L{-?Bnp7( ziFE1W-}r>rj~O~hgU0WdAT;UQt=KB#cFF2xWTotL8PQ{=5n2`WK?8kk6_qZMlGzd> zIYS;lMh3X0xO2joAo`$@KDva;=19qW3Az6Q8G4R91ke`>S9SR}{C-@K(GGVkPv%K7 zi!$w*4(S=F%RG3B4$sR2uZqM;tQF;jhJ(VH)Y2T4@x$*6a}JS?TN zB*LViXO_}Y6RB#ylq{9xH8h%Llh=GM3-gAGdO+zL z+{-rwRJL@XqL~=Uk@R1#@IN9vLjI-+5grj96 zq@?V)j1)mKE|qXgZ$0@V4Qit^VrZi|-IY;hltMDoVpDtE4!50mdJ(WaM>eui95uB< zgX)B9isdUkubc-a>k4^c-X2lU5@-+6tGnmEZ6LxD5n19<9C|(DwYe@--BJe1ZZ&13 zmZqRwZAwZ;Y$i_={44zC7w2YYtb2WJh|rJzHrihxT9aG8bC23xT2x%d3yX+eU?sY8 z$^gh!?2*)>;RT6B{ZmB;cYPPPO6f6kyA@m8w@7kU|`wy2Jg(wh<3(=#5fz0 zb~DY7E^%~q+^$@Xh28Ax`dV+ToA&`L098>802qy3{e@F7TwqasCGvkI=?y*{_$(1l z^@h*aP@V59F|iP{#~Y~BoasrjWM)Ay%cAW43LH$>i#j|{FTkVg?It^AzHapQ5_}`N z?tmWdZ46QtnC`a`!jmtB$*ahNe-o64U1P{$ZY|K@Y!2yooxGueyw~l3f6rmvk+P`= zW}n%{o9L!T*3dcgmZvXDT^c8q9~SZ?XIc-ubwwp#dN&pjSdr_!09^foZ5wAJJvU5q zW#d~5TDeBacPHz~sN)=&h|~PoMtY@v+Xg^n*3W#-0wD~S@3;?t(TOta# zyc$9qu{bBiljKdVNDYz4l7G?9?t-&EeE)Z7)|;nxzyG1i-|O27#rUl1%&OE1`Y-aC zvJVM1@ulC9VA@5|FHKZU-2KuiAi+MTpI4+-WmadQ-Aa-Rl2H>tX!RwH>c;v2lC2So zawzm5H`XW?&$)%vtX7)~afXNI=L7t9P2t1Lq35<^&LJW6r-gCn5T7PA##JMs`l z>rfFmZi6woKv~DNLU!jr{}$%41af;|sqRV5zh(SxI9q!QckJ4##x>izBW7zM-`wjG zZ7tj#1L4w2+3sC?vBc*R4G0x2M2A5hQ$D#kXv-{m^o3~$V5$B<$iU?8(Wv~7>8b!C0jE%TdYWMqhh0I(Y-e1`c8~o zXqPoAMx*j&zqk1qYcuEfHn&Hj&DP2TeQlz}l)`kbsINtY-06NF{ zUQrxLT(xVN8cR2CP1_NVDdUc7+oqhw)vH2Q)f|aAuEu)%_Leu-qbNX+t95^IN74~! zQ3(ko;$h4uGZo$QzoQb4%C*C$skd>=I7}d-4vwrn>3A>Ak^OOPuFyMN%s&=j0(P zCEiIT>ZwzjZvtaR`h!ERBKM6xH~5iZs7Hb}zSB-qZB5u7uj692ugP1d9yiYI9nTxA z^Pt5ih52q~p=!=+sw}9&Ur6SSoBEsT*A6*$?cwX|YWM8DJnT&(R}sl~XS;v?bRNBr zqXTIFD0;tY+y^_Z{PIh6$gq?T4|X5_m?QVMfD|)8P3}AQ>CZfK zPfjB+gmhdN;zC~Nw5T+Ua!D+(I1qV?k~*{|m9KLC<*-}aNrUTS)U`|(Fn&-cRjY)%<>Q;B&bl#amv%5K@s zaY}C{s>XYXlQ@;{t^GLWR<`slm>+$cYc*3|u4~r+L=K^d3ztpXzo!dME7I-3^x?3v-1D=>ty~%_Wu+3ey}{5i zWU5nr0W+7xKTi0RRyF83IKn0uz<0%eeXPMPd`hZ>ahO3|GT2LlSO%^AHewny_%>=P zxR9@0hexeN0g0v@2a|EJ=BiC5i@AXJYln+63iO%jD*C3_Rc(i667zqeN@B|5Q1XDT zn)x_gY&4`rc{lAzlNwzmrV@~b+4ycPgxcy3vQ>>+C8h&6JcTgZ76c-JMxl07l_((eKJ?py10piXBC+5*#+t+-rfHt3f6=j}7bXipsRo6eQ>t zK2NRG#x0mX@0Gbz{eMqV8q5a7x~a||tjx`_rj_VBBb0qI^O#Z#Z9Lg^i(%2m&|L+3 zTUK#)2*MVh$Q*zZLWDh-=v)p*NnuGywea^V=ifee_Dl#gEV91>?BN!Rw1$d5rq{`J zxjt0)6o}wR)Qs}uh@c|C+C$|<2*Awe)@@wgH^NKzdW$TeTT7uh1if(u)%V$q525W`{IA zcX}o%ddG;%AYJTJikJD@DIF>@=S%3F9}>tO5qU}M1vzi&VzR8GmL!Y(f_S9>Lq;kN zrAG1wLTRBr>xCRiUEM0jTIu6uQwypr8wKbb2yW9@eA9`~v|MwlgNfc ziF_$V;W2~(!=8o*)T`szdoaHfc z=At6xB$@Ky*I$c3^%_a`(!Y_n)Z{I~N-$vo|21%-&SJ7fCg0_;7bDe;p${I8784;x ziFO3g5i{=+zomH^VgKoxKH@of2{r@@fC(&fc^Admii&xx_Tw^)Py?^Ae*z@}e)qW` zy^m#3(K{H>(!)DJ67yGb?~N_R8iR4G0R(MVEYh$;_~Q-ri%Tp*Fe`n=enfH6yZ>PS zuAX@E8k@UW)b^LB6ouLO*?FWu=B+UE=@3~MN5;{0Wzy8bOp-5ixQbk6axoP(&CC__ zqEvuRPa$$yx!9nTZ6J(-yy%zyQEY<@Y~Xa-O3XqvC^a1#EZoIIHhuuQ%>`KpBsxOx?}5txAIvg6|{%a?`7YwqxOxMj;M z1+gUwpuyH=G@!He2E!HuIVu-<$8h8h4Q5~|LiBb|t_KAi zCu)4%=ui!{rFCw|9`!Ze0y8cvD@SkSjrzij;%p`#sO+omNxIOURved*o}dRm#THwh z%rpd*eNsnEJy2O*Rn(-flh*1J%Hj}s@%GbVqdlaD4WD<1 zvMqFrQrIGF`O{ElAhlu03gNjvjfbbAzc5sotXQ%{#7a;|P9mpWCLB=Y7H61HeBuy2 zgyIvX46v|rO06yzIYbVj_=L4I#|hc2-f0TjjueQ{4#OAEim02xT_fC3M!yotk`#lwQ}@A2>X)A+qd*n@@1 zmB!|h`jEPky7ES~pv#o`;bpr7SKvH)x}lNOV*vZ9PqrTAQf#?=d`TMcDo|~tb03MG zHiv(4TrwTDo90AE|FTL&EN=tYa|O9~Nn?3keF;}r z(rm0uW@%qGYe^wS@G09RCTfgMF8s9zVvdLpF(Dg-c|^#SY)~K(;1c-{0N6=fNJNl9 z5Grp$$STG6lL9x;8?WvS7RM)K;%4g;tvgHE&DJVYJynJpbxl=C1!8lEIh9sf8}&6I zMBO_-qHl9ytioMmYRq5{r&d{!m0XgjPE0nW24pO?8Of%d?!=G;cWq|9+7~SDb4MWr z;9;BhbRj-lW2j2?aDFYSVwUc-Ch9}}AHv=Px{0f87j=Rq&F3Vf*aNnNXXu39OXv^? zy*r_r>W+Kwk}O-6CE1p3N$w5zPBCC=AQ%X}1V|x;l0Zl!2}$#TL} zU9vpV%qj+4`|f~o(jK_>^@yyB#woHZl1=Z0qatuWAuw6rYOL89{MYp07d-%(xL)uQ5IiC z95c-smb5&#+%zyV74{v{jDz}?tR_ZClotOxi!{@$v!vy^5YpOy;l2aM#@Y4CtDsXCqJg zD&4V|68Kq5Wz>5QP@-e#N;%CYkrT<%MNqW(kT`7{EvJ$}8%IJXc_5J+ zGdNL73Yt(o&ZR@4K9Qm{##@x8H1JpklH>q}zAu9)Z3$ZAR{Fk-__ac~e=6B2@7vvN z=<3&}t6$e?9JP5;)hE#>_O>%5X|DSpYjJbM@8Q;a_{lJ6G5p{?{{U~FILc|*Psz5=DbT6ld1GWMw4SswaF@+~>?m;0YMEJq%YBXiwf$Y8e$ z*vDQexh8yWvKYXMbhD(Xb5shtL5iY;5?HGZ_8GA|qISjabW1ppa46z9-7Cy-wWg_Z zl?sTat5l-+wN`CVn$+a3{hlivZX(==z?Y+a+Bfb)#UcF``5H1`Dq4q_NrG?&vTBqlK|f8Ta-OLB5er>SmeO+0U~j|8()}N#esIo=#Nr|$fDnlz z>C*GrLtOMM{0<&MCeBNjwNCa-6cK)uA{N9Fh=m9BL9mi%YzFwna(#~#^L%o~l}v_` zpbJZ*qpfb^MGMXXVvsy+Pm9( z0ez^9itqUtjX3dzbxp_m?Fj-JNfe8BVq@=xe0PDIe>3;LgLcY2nOg)DJ`nIrHe&b=*DZfc!^Y`Z$KO-oQp{SK1` zP<8J#FPhTn)G$C&qwNJ@BZQbD+Rk~fzQG}Wz9DsOt#$Qn5C}mG0yjL`4z!R9QiJVd zv7r@sg1?yjcnC)uqT^fezH6QBzT36OWQGQWn97CqOhzZiWvit#~JO|gv(QItqO$CKTVt$1v_R&(U^ zfsT?-)9zJQl{H)TTMroysi1;bbUfn}Q<&bMYT{ZBR&<^bOO}0b7*QQ>3$DYqhxq!{ z1-C)r1lOpU1$2qFUlS{mVc7g+?1rqXn~Y?wP1y~F^2}3-$Ab=8_hZqA)ca$b!>e-c z#eeGEvGeq@n#o2cJ;@NKm?w>w(jio_&4)VhE2Gv#`{@~feNYJ8o>*BxT?oXx_UnG8 zuN__2=Gn5dG4P<5bxr;{>)QNPM|Lq4xM||3eDO`t`LK_9Ri)aZX<|r&^u?pcFO2+| z==1&udSYiXewK9(*gwrMA!a(4 zyl(5x^{GrEb*BIudVG(ub*XM3Ml6;R6wNis;bnYb zY;G`iy`K#3Q?Ij!WI>_fiQ$UqM005>pPrvlf-b|c>$F%2U84=_u3JNV1 zMLcP{ZkNi0rKEG9do2lkPF`R1{Nh*fKNNqdd6M&8!jr;V+9z3$pO8Mzcj~)#kPh}} z^1iUd#MHz@j-Hhz78RuyDQXHTJ9zSh_^=&``+|ZJBe!#&KgeEgAtkK++6bBR-A%%^ z!OzImvDiZUHTJA*x37Q9UPW+pezk_z7U}l2$_2&ub_ZFsL1ol&NtwCmah8@9)|K-@ z-|y`yGV&vNm-WmDNR8%vRpGIIioJoQ`-AwclWe2EmjS~@gJf;>jit?s*6LUvE1w&a z8Q>{L>61LMu)&6yj1(>-MiZw>VEiI{;^1ZBSJD#3$5yEio{^IUvNPrbWz}3uO>4<9 zMMrDAe+^$6Zub62J`}>2GS8yO#>#^HDidck8Oz(`Pm-nfzq*F8p2-nG!AVueIN~Ea zR=BUep&-(eqdqd*o^B0G7$gJ2h$9#G)$;Rm%}hB$=G6we3br^H#=ux>PRfdPv9pZnJqmBFb&Wd{0Y4P?ejXJ1|Sg@%d7Ww_cvRw+P`T5YI+)yWrmSI(Dx#Z(hVBSbD_ z@|W=g9PR89TD*u9O9n|RR#mR7T-7wLe6blmS5?nRm5jV043Uru`j9=7axfPA817f% zso3rp?;p;`hNpOaBu5PVk=d&(jPtK=qPP}8W~$nll$(q=xXD!y(O$iR=GZ+_la0waYBzO`6^2GcBW*1~Uk@RR zu)14>HKH1oE`|6)xIZ7SSd)Ewq{}xqObr zP?%akzZa;h-e5E;gzB!Dxdj+!aYKS3qU#=sK!U-R&l*ybfrEI;#iu02hKj~TDvc=* z35`6xCC37);BT(jNCStoPN3GJx0=x5GnupVfozc06~-l4L<6EQgB}~{D5S9_jX|wd z+sAhMx?;mn)F`lr=BP1FXGp;Gr`y{yTVy;-jUkV1O0UggQ4 zGTd=3Q(2>{DIf5udH3{dRS-6S$mmaWKOOP2ggVHCB)DzqWk#b> zFEPr5WYLrB-T=q%S-ZH1Cv=~XLOLZv3hiXUggH-srU!&1@|nb*WP<{u_zjbA5N z4)bA!F1zIq@}|8@ut)&&$pd_Hv=G*f?Do${TYuPno3*u*$=&Uu%;-F%c;^7HFb9nN zg;?o&@+#{e8tTuzJS+7Nt!?3L1IQp*^6u2_+vU_u0_Yx63?@wg7=7lB)Q;qKbU6*u z?g28oUua;_ndU$+oQD(xhfP6B6;BU2WWwh`Gf__8K)j4fQMV| zfyTxIc+@P!hd^(hzK1O#UT{B|^gVR|BwG(+p~Iv}h%)e5MjgHf$CVr47>%0k_umr- zk!e~h%q9czu623f>ux{ZjdI(YPQs`C@E?IQ{Ah>cNkuP6gyB-Ca!0a5$P|gaOge;4 zk&KlJJ8VmY9o27Y0uYo$>_q)CGk87&$ z7}BSLEuwwLzfNx~D$6j_G_^&Kg@AI5H7q`}n<0`ZWUvnrliyJ!xR|VY_Hpf{ zHtUrGB={f+Zh@FDj%)#WexFRePktu_eQe*`#<6*87H-?vxUS0Zw6m5uQGd&8z5ISL zoBRi5Zj9ZvCUp0TtYz7gzJ333-s8NR4^@vDGG9=zf$bmWZOx^MO3E3jB4T^$W=+VR zV>_>=UeFMSWb%sspTY~d*K>|`Fo(O7+2}?2W9ILo>>@f*LkHK)FPL1l`*z$-)otZ1 zQ@(3{4hf`#$r%G&2?x8isKa+hAeKOVI-E`pr4vKY$a6=ScMMf5p%Yc~-Qp3}p|vwF zc{dnNX%2^zk-=m{92sT4a;NTW1@l?W7X@GBl4-?cRvMY)*%^N^^1#-TC~a_h1Vc)m zi+JA~U2FSvEh2l^z{Iu5JM;{d>%xAyB^QdwBlJlh3bSQ2HQiv~(;>X2=aXo^)ijox zCZKyrW~29pq=7pvA^$6fBYiW;fYS{fjM$fR486xj`VaORo59c~?O;%3hscF#U?1Y_ z|LE3nvdH=ylWR0(Who3N5z6avbdHGOMVr934K^$Xjj8P_m{o? zEjdUt=WA8DsPjY)aC`ua$^d9IM#_>^J(+D~W^$gI5ag~=odmCk%y&2EW#?ey{uEsD zESV@1x&7A)Ca0^8HRWd%Xe^WqE{aXC0m?NteRnAguS*MIz#z!vOstQ&_dRodq;L8`UvusgN+1Rb4 z=kxPNc|!?mtenm`MQ8m&=W}%aZ@*3XQ_+0Xy6+Rd^6UxgAw~OXb<_nu`r$uAKoaiQjiLRLZLX{z|Jhp-B>WF1uj_MvKU43%P zr`%nsk;X_c)49%Ln2E&TQ4rJHsQ3Fl*~OD5Kjmp+*E#k!>7R}LPtA5q%}U8gPkkRA zakZPS1|@8$7qK=X$rYcLVz70y}1CB1513^1b=Q-bPEi|ADIyYd>x&Zav>t33}f2 zlp^wWh4bb)D%o5!OjJTfLNf2{Aa&Th_84{2u3((q z930X&BzR~x1R1j`%#Doms}2t4+Ja_dld(Zps>x0@sZtWc{5=*#e4ts9vLe_2fT|!S zK0~L|7N%HZ7-xqw4#gowJG^6zzwgZnxP;X^J8p5fl54&ZSRYYMxj+04#g|5!Q!1iP zB;Kq&iI6WnJr2#J4pD<|Of5QUZBU=hIm$RQ^BpXo-y|a%^R_+y8|Ub7J9+BPV^Y<=2}mrpAJ%{MNEoah9p7>YR)+ zwF$<1hE!Ez*rLR!)Zmmr&92N9nMDnrHOaZzM&y%6P8&R1?HhKK1Que)W%%SYRGIVK6gmprmxwqpTi`dFDsAc3X@hLZsV+N zsjbSw=~_+Ux~SC9lz2;Vjip9?%_Dt-F7MrGC{Pi@KQ(tfz199)ByZ*jQzx2vAQrfJC>mz5Pw#uPS2EQ6ln@kHNj#s({l>YORG@oBbc*D zb7)nOS=x-))U>#iTydT+~t&p^g}td*0c4+^_xlqa=fqT zQ2BLmc%EMVdy}aGqQnWm#{IR5yf^zh{IU+JWw&;J8ulpauJU&F&78+u$eVM{Z)uxb z{(+wH@<~e!;VH8+VPfXc%+Xo&RqK%CtxG2C+^}waFzw?#DrQqagl?HW*0{B#@W#gv zs4Jj2+p!;2UXLI{FeZ9a>U(Xo%NLa_wC=Hn=c>h$RBhVuNv0(pisojKiJ%WX@&! z=I3G*Yb^b`DyaCoCS`HlhS^-Wd2DuU1rHZFC^#I*w zS;x>-!V6ZTOUX#lF$Ve%aBWNIXWVo5A%t0h{4&(*RPdBA=5ki@h30qigfH_c^(ppY z1`$5QF62hK`h)xH;tuhA!oAoIeGJw##6Vre=KwyasZDz51zi_VVP9P z)8TCrq|~Y7MH~t2qvt)c0C=E4Cn_dyi1=t-XY%K9{EG+)84UmH zHFTkz{4W~BJ`VbN^Ht7rBIopJx!?wQnHzSuO`FoxTe(xqXEsb$G&)Ugn0abBuil!r zX_FkDSU2bm!R_?v9LouA^VP3|9xI%8iVRP?@+eu+l?a4EV%H-!Iz2QhLSYCu(7RqC zp~oZz^nt>mXZS=XaO(Q*`IhHxW3}zP{tvf%CR*Kv#!+S!+bO zhAY>cO>I7a`-c#pn`e+)Ek?byf=n|&7fo9F&GCHR(oXsa*Y=a8jKR@|E~S0!*VMbk zGj$3|{VsS<0b$hxd29HbN1`}vUgIuA&Tt1ZQp}wHJJ#mXJ61&VO|hBpie4bO?qcyj zk}XRsQx|bSF1koA>{)eUfx_-0U9f8F+C3nih?b0rX|b{L4NgrB#kHm4GyR#QgStwo z!9E^X7M)57vKXp=)zVd`H-CzZvy^~jK&k<{SmK_qgHtU}4Z?T{aqW;HIq*ypTH27% z1Zhh96kB@=%GUr+UlEyt_yfYo41lEwcIHr*2Qr$sPa%iE2EX!hD3Ln}URUg17S zZun#AUiw<74|C4*tRoEU-T) zuE9*#=!ycLF~@AQ=qzqJ3lw#;Xvfd4I77<4}wVO_Dgj_O;k47}3#x#vym8EveQs*iyWIpI)0Wo zp8Tl5%mMWCb-HXa{ZJtyvP2}-5eQM~NZD8X(m_6mcb(;S897VO z3bOtCvvS%%c7MQHtF-m8WwB);rf?PGzi?jsY(=wsl{*=CS>(39;9+V|uc}s8MHYwX z8T+I}`X&9rK3PuIx|7pDa=%Zi$lCxniCGw6B0PEu6=qsx_;GsBeV4iMYWqMHKL z!x)I_jdi~=K%xQ?waXy}MC7ebB5HF!`UyJ)NcEr-022N4Ysih_^}4&8(jCRQ1+Lu> zq!eS|TMFBHB92*R7(rdoe-OPpBc+ttH>nlQ3EOE*WGIxRBivL4uqaiC)+0#et$?zs zfwjoZDUYjK^oUktFo_f0;x?TH>yp2u_m`jm>(~`w>2pNLX zdA7T#fDby+09i;8sJKa8M%IvYXbK2n?HQ7&tb`P#)8bP!QSgy{W6cl)H0o*aMrCv% zv!$`%C#Wp?H9a1)j|?nuhMK*mtLJ9{E$rJ0)o4RWvO zC9NaKZpN_gkL^h1YAO<}SbAJxST@`iX>EpNS7NNekeE;yz(d%>Ky=iE=_GOFn<%Szim1(vB93JVmvFhS0tUO@2ER^ zvAiSpcudhpA)d@L@&>Dpi`2yB#^q_tETxu`%DmFF($t(7bsR$$4rDJ9`2qy}BM#6( zZFKVDRrIY@)cGRl)k8dC@kQRnO&l4W4zl>B5 z7=Z8-=ua1%q*MJdlaD6CH_s=}XMe>0JR+?kZ~A>V?z{1o)Y+Hz!DN+hxp$kgO?jX^ zzm0kBeu_*8gbj=n>DQZv2=ZrfGCJad35tWYgRJ#7%(&-rFq~ z$t%2FGeBZy>C4q{{kma)OHS9_fU={6$~kx?_rsI>IQdE5)sI%O*y(yaYhQlK+2fET zh3eaJr0)B1u-KB{fHK)Su@7$B_W&wPPyrGav-C?+M9Ys|AGX}vhyhupm z=tIN+@6j&}^2}Dl*BLpeMkEMJ?OVx24iM}|f-9{w$aQJ7f7)u)w)zTN?MvwUT$_El zkbB=Cj~^U1%6HOYz!g`JUG~8UohCvBqwOdebsp(RJ)GIcQ>C5>kBJQzJzRLwYQ+7` z1Hxe+V+*2T)9xvxa|jPA1~}fsUGZnq#txvPmPx7PF{G?Gp@vpUkt3^=bRrvx(vpN1 z29Tpp!hP`{??@acKS2(&`w=pjlP6F|ekqnC>w5tVEj(M`Mg12vRDfUmS3(7Z*db2h zM3RF^;4YRV7D13jbQX5*jlDS@l4wmD5`U{^sNsRNcbKbdvG~C#-+L(k<`OSYfNALLFHc zp|Ee2CIEsWj0UuGmehwFmONG8|MCfN{EJp>{~(q_hbPLY{<*u{b#HcEc#{Iy2%@ov zNun+LlB)2~>d_4bh);s3W<}RCqC>vs^{#$wI(3*w-=)LpS_VRhqp8ctA&TW6UL>z= z=Yzz^6YW9&#s(nYRi6T_8Km@B#AO&b)Up{dFc{w!JY;t?6ACDQb>3sdPZ24_h4 zzvhpTz$-+;qzgYM00?vnC{w_cZNc%&isyxdM@~OJaw5xsZJGjfP}Xgyakri9gy@~5 zf-CIhZVIlVxCn^B0`{|qNP;XGe)zwnBb`>D1%QoPMb(?XBJiL5C4!0mzfiIQY@!(z zt|^;?Foo^cSoUbDR*TB6f6FER(0qm-}M4_>#rLm?ZLG> zw#c`H?${m7&1{e~RaP|bm+y~m-doAN{Eb$yyBCa#9Ht1C{%H4-G+#!Xd--ZpQxo6R zgcEAY&p$H;FhN{6qB%^04j3SEDPWub_$6}pUB1g8HPD~~RCAa^<>F@pKl*1pNT%#< zVw(0suT^1KZV2SYVX^;G6D7}WMm8})r%mMPj17ZvWG9}LoGUx=@g@2FrRV1)CS|1K zMl#LgBQjNTA!fs&m5SNRm(5PdN-!nzX8{ksJorP@11`pR99*fGwc@{1&Y+Js@gvFF zm^~X-$!A?!eZROk%T&yf31|PJ*XV@*PMP`Xny*Vrvc)N5&wN6sOV*Ts;&oYZ|H}0* zi*?1?BHn|{AeaCCguaI<=P>1~E7!g%&Jd?;fN0PB3zCZ!%^g?d->kg&9@pJUi`c>B z8oB(>U!Zs6%r|$5z-M3grkCwKghA5g-iz{CD%%%d8nrL+#}&V>|8WHqaQwXQ1>_%k zUl-1|H6Q1HyzjnFmBS?N$V%AW5T^xdU`56S01bO<|m(@ z@X6#0%&xi(7tYGJATYTjJ$GpPhoZT3yP*412qu$+koG>rSqz9f5yBJ$4EHu?2dr1J zb9BTY+DAS>!W?9O3b+<@n)ABibLO)A_SviVxU6jONpbger^~+(@s^cvVB{d>=+2jx z!1l)QwUN9m%Zc2NyuF6J%5_f@s!)^b)u;pQ99nfk3SQ8z6NkMTc90Dk>1f|e znw^Bb!d{5wi36ySx!CvO)idnz;;s@7k?KBOw@Ioyt)_000bTp?o6t)KAu~A#cuevk z@d35u;3Ar5l|u z`#bh$|1Ul1h#9UzC6!A0k_KRt7^f}|tnH--x@BaRyUedK_yEvj|40us*0(}s3>Pj) z-V_`S^IDmAAh?YyS|MfC8d&emt+fFP-E9`_kN)o=1ZZcy^Z;Aj33a+&LS&wMZ>zqL z03Glj2gKOF+19f5+aTL$6Oh$}*IuS6fw$i#%i`!w2_2*%C!lciw*m}~6FKf0UNGYX z0{$)8#J$A*Op;?_q9zRoBP4r$YgG!0K7E%Xg^Ff&X;X~W29e7#eB6h6K=mAEjSSWRA%L8D=OeC8@W6drT(_xtj_qf$}~NoEbRzLUJFZBjIm zS52LrygAQMm;zYhMY4=Nwdc^5&3pE2-g0Qqsgs8eorDBfKaAVFrFY!PQ{p(1OkV#|l?{b0 zifd;-TE>&EAhywcu9JuryNG(=H~>w?VR*4m*F0e~SQ4;o(lCL6OI1M1EVVWU^1Y*A zy{gPjWwxArmR_f*dzO9jB%hmW$WH}pqL@rziH8$;(og)q_fK|Dq+dWhmz|IawPs`~ zSHiRzQ9c4nS2Ddgvm~pC^Dl{LZI_=zHKV>p8B@mHJn>`WpV=2lg)1l-xfUH+x68Gr zpr)ijak$lQ*DgQ2{aX&}c{=alhcx|9-Lt@3TiwdaYVzw8oySm9As2-$B9Gw?8T}&} z`6C&HKk`E#+dsBd?3y~sSy@eVMR-_rbQnjQWdkQo9S9umBk~G|JRf;O4r9&NrD5gK zH8m9#H5_S^{r$stfB*f%v_Tw{7Sd@ri@B#ji^E~kqklN^rtD(K4>c0{rYx)?y1KW? zJ7koMzR`pD_fiU*eY%d@uCk>6YO?XXgba|81iBG`?<82;Y{C(W zpiz`*x=cLicb+lGHJ0v2jGcXROdjNQi(p{I+Dx@f(*y)+&Szv2LYQOSz0GU z#YSv+j)NB^-MEhS|5QRNWK;i_CHTE`(6vHR&N}$sfgobC(xr6r22>KRh zkFPnZ#KzGt0*1g^&I|WJ4aMw53t2fE6{>~4`*8?1% zu=F7Px_gyS-?bNNM098OMUo37Dw)BOUEQnbE@{_ZN3u)m914x+T{3d$J+^z5%y~BX z`aSwJoh~$VEtJw-_6D)hAvEe7T^@POZF9JUO#a|t1Kpz7v@1=$iO-4^FZCVD-GO_# z8?ll!Rk}(EH>76`c~S48_N9blDu3d*9@sVg(bs~ZsNmQPDc_41#$SivATsX&PUoamGL4nHa9+1 zos_Cf(`P9wnM$R)a;;)*Y;@6oOW(w z>%s@C@8H)^(f{~u-4!rx$%oPN_b@91=#O-}eW~2OOz1=J3S-c}{fC?sJmA^zE(x%; zK$E5G6OhcnfEh!lqIWTxjtL6dvSpTG%SpE_r}XzvowQnA#i>f=m>@!JV2s4+R@{qpKNc)5_za&h*H&j6- zwp-Aw>e>@iP16Cs#(5>dbnk zyc#Bsd{Ityfu$@n+mx#-VZbV9*?Dvo;dcSc7i7Q1b`{HP%Sn>tWr<8U`hfMpP2KnE zcKYhDMiMAAKMy3!x`#>Ze{@B$!Y#51vJWy^G=OHZM-~Rg2ge2^x^1D-X$kag#c=vg zd&fjRCwW_aibAc?s8Ugc*7B>rBOk8(Tk)N=zBwnSo=0--(AOUyTIPBdXCyh&^#xFo z$0fovSwTvkDy92Xx;G=0vws513%iSKTJY)^ojwhIglVZ68G5Z=$Gp5O(;M}AWVCX% zc?t_e1+=-vJiw#2LaImNUo@U;N7d(wNaE~+e;V+rqCpimxOd%wwxB2jdUd<}_y5np`Mq=z zdn2O!GpbX#$sq%SmrgYOL2n9jLjNOS3duuvf2Zy{w4I&hRX?c;Bh_ z^Q`|FI{z+?aY1LR$5doRucyeBUQ3ZHy^bQ_-%LZo2kKHRYGilt#o3jZU*7ruYl1AK zs1$*k7!r}yU7_s$1BQz}2fX*MF?jm`au(}qca+jt65Bh*&BxoYX1_P-pdGH=SH(J+ z3)F2ev|UBfhjd8j7i30?Q;)clt)lBBO9qZ2IJA^q2YD|?I`CJxH%ue!d32c3dH%@` zuyC z?n@HCj9O8J$3xm$Ti=?&Z?|2NkiI7#p;oi4N5dG2i+G%8T`uETTdE8&+ayW%TQWqC z1#I_fl56XE(_G}OGuX5KCpMRI-5y9ln358+5*3MwI&Bi)?EyOR<~aYYAIiJUvTZdx z+oL$q=})36tI&cmTw#LvvdsgP)b`4nBgf_FJ|o|!5Z(}F&0R+S?qr+aE&JW6`$zPm zNI6uJ$qWfClYs^tz}i=lbwbY@Cb~97_eS<~(6Ox*oc#l`8o)o<>A+*#@C^~MBsU=* zSb_L>T`IcZh_WTyq60lq^d2g+e?V9N_uCZN*4phyqs4@9q=am7$^u{^Gt(_IBU7KH z7e~5cq~vHtZN~|i<{?yW5I!QnlahvSNH((dvKa#$TM%g5^T=B=l5d~Ol6NjIpl?{A zASorU=iR?YURM;`zrkH$?n5%1w+)vXi;Ts^VAH^>Fbc7CBMgDPX)WCkQq)FV-@#BQMSn-=@?KZhJ&_^uo$p?nD)!r9-k)k(=8 z^fr6xXzleo>q}PgVsB82ZqH-(c4yW7`&*mm@z}Q@sqOQ4Xy>KINPTs)bkC`J1=R*YYG+dN0-M z_#A~Z1G9@Vb}sqs3t3-Ccm|MB{Rc?LAwz_l{j1~^BnA{PU3mrnp-qHvP^{TtJW-&$ z*KO^NXJJy=2QPl~jI&?u;@T71-5$uu*AqxSzq*k-hqk!cDDAPvXH&M)SLWx&ECk+2iV7vM&PTNlW} zlS2RFI8h5Mr^gE;#?_6M-$hSBz`Nr@S{WbT`QulF7tzju~fz|8Sp zvzh`5_Z9>cFe{s{?fe|(>W?480Ih3)?IP49UV4mhxBJP+Df*hE>d^6mQwodOpodLH z6uBoMn=`?go!!xQob+{fo5%{6v7 zGH}D)sR0%SL=L96=&|D__OQhvzB%9)DhHJhLpVeN~G=jI#aL6bJp zR}YOV+i_&e$LYe1VAssbBEeB&?=O7I+839Qfm0>3>DzuQkp}f!d2k&^)>E4VESe42 zXbVS1jF)t^QI0jxxfAHqb}kj=Y+w44#M}F5a3>+}nr`Q!>1R1LFuzz!sHD55YXZCC z=KH^lFmExfObFQlkdEM5rX;uM8VLy&{&V~i2p~h~MK)H2OgDu666~+EEHcP{s3xzM zpZ%`paPj3(s3#KPA#~do64vWeEZ_U$;xx`a(ulhFWSo<)1Ls6XPZg%ekWk@2VyY6@ z6o7ZZrxZ{%VdI^SIB{)AarAQ{0=?7wU94r1w?;fiAD--S?>0-H;$bQ!)7{~6EB<#O zi@@6aKT8@Q8;FD=W`$at0c=q6u6v97Q}-2OlPg{36*6&%HUi4?y^9^tH4uskN1Pyk zxe4S7tbEhI-}^Qphk!i7gDavX&v0Rcm@BSy>ix7CpOE@3aDNW)iHqGO$%$;1B4IoN zAL9P~AncavR%n(kmj~2_w!n}>+EQEFd{uK@cZC;rZ-pF^y6Y=|Y`ZA=iVca12~UPC zv68zkUX^Whgkr{fs)RW(_fF8JD1u_Es+-D+_L=yKpPm)`s=&22%6l%Jicl|5g~)#< zd)a`nQ2zu~ZjOq(OW&poPSN#>QPY!R7xU?fn)D<^Kxl1qb8%&pnXh{IxKvc<^dui` zop%O)tX;mQ6(F>VtcuSG*drT5A|_fYMPeQYJtFq*+h13 z8lR4SZ;rf&?4%+}k(y)?J~!q_EHKzMaV8js=j50&Os@~k)51+vo^StF^0J+bYo|Q9;#`G^0tIqsTEqZ>*ZAp|@^g^Ym$^ zR0Z}#!$(t71=Rt+qs`6DG36P#eMBd@4Lnnx9!f6?O=_x!kD{ z5WNJ#K54ycJ#2f0wP^BE)Tt1^L9)ycXMc+;MFX`lS7U)=MxF&|X0gp3!H2b`Rzx(C?{J`s z^{RXXR!U`po>$sc`OpGQH0CRd6h-;@MVPOUs1UaFOR_lwab-y{xn-rNWomIm@RRYW zU=rw47@bVn{Z8d67s| zZ=;2Z6|0m{9(WoUQtfu$j(;pNDZ*zefKvqde(uiZPpV))LTK}n1-xN8g&NXAUL^IJKo zIVxkE5hg)KeTGgC-3z3}GL*WcjQEV?j6@(Qo#$)L8BSR0005_Nb&q6=YK!WM>X^3M zbyv$iZCQA9&B>jB#hW#jREq}ljEox@GTD!@$%|QIPj^y}OA$BD?UvFlJb9%iR*N74 zfu1lkmpmmOxDRs25gvf_5FQt222PazW?znsKD55vGNUEg((Hd!&R;mLm3y(-!NCb%k!a zDoMIjqsNQONC0j<5%LakuHrm1Y$GL$#jd7{@YRcnFK)n_(Yd2%!(RG!H?lXR$ceW> zfUR1x&K1bA>K(FI8x`K=y>HpS<_*U z2*;QuMjI}6qz7=~bj#>DwoVgX7Oa>JAxp$0&P(5=kD^xr>J~3zB%liFFcbN|cZtK- zq)(|1YDk>(P(#$EY2*;+yp#^Id$Wty*SEHI*5AI}8SLk`K6sJ1qc}V+E3l$FxDVXy zIZDn0yX&bB3p+TSIt50Mvs`I^sA2SndJ3KOuL@tU2A|L_E70UCO`I^bdoi1oWU?sv zkjnH!`|6mh_gjB`A%Efb>+<_tWL@^5x_z~k?dg>v%(ugip)chsr>>rqoiU6{NRHFQ zB3}ebdSXJ3HJJ~u%4n~yVVc{@;I(@)_E* zO3I2URJon@E>x9gSqrgnayHLuDArirx*hDh*vsk?U5PcT)Qxbq&$3EXC2?79D=p}B zt8{U0l*#As z;}#_E2gW; zJQV5BTzD=F7n|Fp^d<{b11q6c8PYqbFQTmk%MhO1hf7Fczv|@b=t8dhqHsi#mz;>F zR$`)7lgxKtv>%Z~Cnbl6%k4*G;RWFpNt{g_r|Ci378RND3V55?s-m!WhTS|$Afzn>RUN83koZClq=u28@T^=*-k7n~iMhfdlXi)PY(bflby z5w}seTxU?%k#qu2?`#8)F;wxv z>a7bGe7f!S`Ht#C?Ry+@#O)_C2ZjPGK~NSQ`H*&;>m*(ha3}v@TU!uPi00!LzH_9?6A9ZKyV$n9Z5e{_Ar@am6O z7?xf}q9HSwh<6-{v}LwYtX-QZDC{!?gF?s`9EI0}eUJ$hmH@82fG#7hj3L}o8N(Tb zvGyptj6UED=*rJS@^UISg1EPn(9S;@!&SIWG;u>=t8N&$cJmC*U?P3*zTi;kScXpj z3W?zxD$@<*3`_o)e1IE5F&kk$+9m=GJqXz=o-V^uhk@w6lq`YS9r;6eTllb|oH1pk zWuOC83X|gDv_wr00`Y7(dW4J>DMVwB9PMv=IgH(H+->s8EqUllhu2e=&&U3=e7$RE zV|a6PD@q3I{0XG;p>Q>Zv})Y!KM6mwk=K$xyDPt&|JlB4+@!v3U#Zr|2Hs`h)jn2q)e4+srh-sw7aAa$8XhlA8JzhtUc z>Td0Bz1uPwY0U#1Y7DYIQ4IAK9aLC%|Ag>U2_8iviueP z0lL&c{sc{3tK1amv(pWQh-o{w_^*#z=|+-fNm4?!AwlvWQ-~Snaf!1kR<^7^0<}=g zw14O6pbJX3tu#%N*4Ug*TAi|U8u_gx?Lz+PhW$q{51n@8WJ_noWjC65Ut+E`)iuZ) zv~?-4&`Y{6u^YhpMPI5_1Jv$l9R29d0N2Xas^;2;s~cRO{X<+nC&TOFAG#jQYtL>s zGPci<^ddY;?5l{BTOUy7SK?jZ<@R2PWZ$y<_ZP?)B)=cIjQchu$t%Gp*4M2wKyryl z+fXRPp?qDKg?t$vEqaumTJxA?vUYuY`aw*V>?}fJ(p4W}raq zvsin8{T;jl#G&wx5P(qd18_+ON?a-{-JiR){?U{9XL(Z>?;xFJ=}YfbI;hyd-V@Xq#S#+}O=6n$Mw2tkS@`~Ez}$Pk@B9Bh#GQ7g z&zw2ueV?KxibvlQ_Q3wV{&oDZW7&C!!55ZaG*9G`$`eori&}YULU~*%4}JM~?*wme zwfSASN5bwz4_;K{aRDydqVc7(4tj~Ii?}By$|EBUQSh~m*F!w?%}XuvLVZCT_(B8N zn4O6`cdB2}H`#!|!~o4|h~8~acRX5FmX=e*)3@c&PhQ1saNg+Pu>DX=YvbYL#~Ym1 z11{1!Kv(=FVvQ@2ntuaOy1`(wy+<5TA-Vt+;;u>(e<|T?rw7cOGbHoTPe0_|`0`2E zhrqeTa#LJa*na4I>bvi2FaPpg<6Ju)AHlnv$DA2{cAA=%i}Sh_ZHA(OyJXl^D!kY! z#L8EDhc8;AURmsPY&Q=L>0Zt==g>ZCx|ytAjv($H0W7KD=iccUQ zH>Kt!;mCA#RrJ2Sm3(DtMOuYXL2h(T$dQ%ni-)tFAAywVy_4CeO0kl8U+46k*ng)#-B}x3xgkBQyI<&3J+yt!R#;m6%xadX<# zWwSs2xryy}g+7rweJ^gW{d36SQn^Do!D?9jbbZB!MTzUx@S{bl=b;D8Ae26&|G z$@JnkIXSL$oQJx9Azr{Q4wx4xJd#TNDiRF|iJE;$#pUr;?&Rz17D3KY#e)PeJS#&XL+F&duR%uy{BexMK;o$HK7%XonHpD z-&I3o#1((}(vZ3WOO}sc44tV9Nx~^Th>P z_S@d1)U=C3OF%gaIKB1i?MC+;7d}2UE;1d?)E81uoh>=3NJ&h}P1B^r<$n5v&b%Ik zeijp_PtfameN3!AM&lgs9q1OV*yv;v$ z@CzA}`S84uo(b84%)sBr#wP6Mh0w zL4YVaJ+Z8yvQm9!HUU{kV|gsmcrXxKBG`pKh;KSXw)$^zF75$M#ZXby(Z#cIF6 z@KxYO2l@s$?p6mF0@DHkJOCUM4I}Yx$0cs1v$Oq5`^Gb8&*ERBvpsJLGADD}G1u9- zv8fUNVXiYz!^LE&>`MEUD0ik2|4U{6A(h?kj0HVq&ooJ83nl&bql@WP;!g3|9Zc`h zG6cjOkZPEOkEKfZl^^FUP~+8``}gYu~U???kWH8*-y7t<7uXd-A->A$^SX)4M5OSpOvX zMl7SQ4|Vi+Ei|*t;h=_in)Y|T1c2x#g0yk234m>r5xskKU*G-zn2RfbDucf`6Qk>d zLh&^vz6S85L7D?A`{{s{{g?Rp{}w?ktP#QW$4cX0A zKTz4`HMN3kQTz{eYSn3d$EQrA;g9+f{zT0mPCuxtLk>Fg6DCAW`0&HD4>isqTiic- ze(;35(BPXebh}y)l1MnxQQ>@CXlO#1rgI64VN$4|&rHb3RO?AQ)0pr_Lot86=Gmr) zJsX?&QPjk-@28E`>8Ge4HBx%KgaqP)5QuzHmzMdItM{nf z$(y}cAQH!idD;n6J!Y?3I!&=`n)@gq)<>7v9{QL+GPP~V_gk;HedqTiQeloFAqZuk zC4;r}V~iqfP#j;DQphLgWo70iE0Xhz;_@~1l@|fwy$IfpB)s|xxrbLQ#*GC)5{R%( z!5knEV9tl7-dO4lDD{9YEWm`xo9&WB{|j^`OS7~_yVRlWDP^*>c)f17Knx5rxQQRT ztXeKmGnvO2G7VV?a3s-ZW%e0Lq&ch3-*x$3LmYJA5{4VX4B;q<9^2{VAJ#1@!PXLepjq1X@tO2H0{F}@cmDS zOo-G+MdGNXIgR^ImYhSH6~!g%HB%8j=m})9)}ob+O=(MkL5C%=RTYb0cFg5+T!OZ{ zgis5|apN4pNb?N$4&I}Qj7&_56kM`{o3iUJkRh-iQ;;DS6so0l*-gROE{cwsMC8yT zjGOzVXZhv?PfweL3z>7n=$m!GxR^l_2Y1cpZz?!Q`yh?ux1S4nbHxjxt*yK~q1m(C zMm2oymmvDYGTZ*iWoIQ6hh~lY*}BI7Dl9a?FDvxtagflFtg+M63BZ$qG?44DiTdD? zby&7a}2g!%4fT0_|mS~6lPT#em>a0cd4(yk_|M?RmeKOVb zV|)6+7;1?Q8=AKZ{~!NL?!Vwntv3-S3Y^U}sbbrCNNH#$S;=n6TRI!a!RgD7S z%$bnDbgtUf1hKDBbMp$FDn<4`)*6DfL`(4rcMTB0uRHTP^AULbdLADtW@gBnYTL*k z1}GaP*3R3m-YaIx&4L9yyP)j%rYu7z9=4G7z+w-LlKU>ahP!tR@H_%?ZN%6{+9eV_ z6lgi~G^ip+KoyxLcEULajdvV5(h1}70wWaw?gT&~EJzgg98ENJLQ6T+7@{#xLke>& z6hF-ESfLAE4aJ~$H6u$&UV(>CB(m4*DJVi~*>6BuS$kqi!rHawq2?jhV2p%{L&Tvc zV9>Dkgw5LHShCJM#5~lRjwB<2OR%N8>25cKTP9J14eg>`3_8E)(RJa^fKT%eH3(_! zwn0YQR$4NGXM2Xy2k`WDH8Pu&x!WAdWjidc+# z1U3$4^?5AKB0h8;hd26Ny0wHdDU*`icEsBI<@)9M7R4sT;V+=j-MC&)d&g2IAE3P7 zQJ5ykN#C0NShwQ|`)89Ql?$C?k&sQ{YFl@lT(vzaM*35j7RVoe`t^9oyuHhg|8)8& zp>u&eDkU-{DrHsEjy1IoZPQ5Kk>s;a=-SQ?O;ZMhlP8L31Cp78)djJ+vAJ;yI>t=+1AzxR6!@8;tT;%V^Y=Kt zXJH=1Qg`akpp|p4qh4!K)7dB|Lp$s^ZN~&Cq0>VE+y#n*s5^0o<2pgXd#pG|oWt~e zpk-F|Hsv5%VyF(-=aTJ`mGjh9f%Wt(Y+kq9p17FTG2ld!c)MNOihGA1@ttZc1g^@l0~z zR#tLWdSSM)IKEtgrfoc4@a{M{)K@x;2r45K7X@Q2%T9bzE%8N#MYN?wLMNt8mH==` zfoCJ~F-8_~tpC>-%mYvWV8PCIjx2yfv3;{rB_2>V=&T@&EZy(4qU4eibw~RaWmh|P zCRGAjlZ;hemJ$zg)dyYe#9PNpHkz>B#bF-O%IhFhkg^g5vOIJKo%k;9mN5anoCQc(PRjd)6(IXm@7awEizK=Mc^Y=%4eeGvxA(~fb%1Kf-mS~Ar|Z? zL^jK?+tPpS7C@a;b1#IK{?gFD%)Ri1zzpoXG(9~z1tM@xB#0z}qzwaxD{30GYWNAWAe-VPZ|DD~Cvch{Xt9nl0g{BaQygX*5-h-0Wq`W+Uh^d)bArV00xn zND+{)E-af37zG5$P4MEu?QNG-9*}vt3IkK2uq-eh;Qz9SA?9~N!LR!Ayx-tfYW8uRb$)}6by!FeWF z+cAUL6gd^rWOTgOK<9Ecq+vj-oBAx%P_Y(j~p&lJL;*AnV&IGWy(8B0EJ! zAwXAor||3h04M?;`^%Tay0`eOV?KvE+Jg4FxHomu(V^~+lN~2l54-P}tS2pW!fluU zy-gOaBYGzyD9G33Aa~JyNyB1|=bo4_FJa>59YYUIOpGPl%`1@vJ-hPb!hv^IDSWHz z_twK+xxA%LAm58F^oaN(tU^IMR-|x4EPys`>#|BgaG*a$TT{5pF-jl5>6|Jw-loMN063Ch^loXWB9PM zkzT>u3_ zY{^`yw^`u6+rz!V_rfmW_YFtwXR70Y>tbx_OoPI1R$jqY0dHtYIOBP`G4h(GWldecC8PY_o&z?EvcDm$3=GnXpXU>wb$4^}#iZf@A zx}837s{SGfg0ZSUXt?P^@j2(J5AyNWghm;&i}NyTgp|aDRE;P!a%CymIR%>9=$)~G z=;{2rSXg9tv06bjTqaAFijtcZ+(!Rhd;BAE_8lsyDlg0o@j#X60B1IPIx(J1WTvoA zG?!7mBa@wm%f$L*x}G_}-XI%X=?3N;dxYfTk`CaSJ&V`*`Nu`>=A)bvVgal-mZa^| zNV}=X08?8fvy{c@|%?11VJp(H#xZm(J;>m>`_8|@Pql#~*{N3BnQ z7eriER$RU2qJCfLadlN#!R~C{D?K~7Q!`Gc9u%tBv{P`Do5{7fS8rIcdDYCt zwJu*27AB#;XgtI0^$Upg)42L&*TChXH=9zNm>C#pa7+|@bgv8hY%^2$?|ey_ZA7p^9=duJ?Z*8_y$PVA7bgU$nJX}2@57+>y;Ym z9)NrsA0-$fq0y(2$}DzvU%j))tENJ_`hs-z({S|@^D?BXpHyIwuKvJ_oHtG&V2>g( zGchw$y&5O5cV1Y}2|xuTxx6+`kT_tvGsG>bKD|2r)9v*T>>harefBpR50=Sj)PPTQz0Q;yItM z`qupsCaZ^D_~7m==(N2dOOVeQOPS5|9~!I}OL!e#m^g9<88K$_oL_+YnQXUY1mx!w zC)lcIXMebL?bf`rwpGJ1xr_8(@^tcTRO8owAxty*hX$*~9?%IS78Z5VyZ7f6GU!_M zl|y7FVl9QHVO3<&;VZ_7@5rb&)qfR}tEL1_wNX|ZTH{^B7y0f<+oTDk9{KE{%Jc#- zmj0`_v^cw_R;^`UT;Wu`!fSoEWH}ruoca&BA%d9IjTCW>!>S zuGZqZ`9=5F+Vnl!F^GI3UIKW*_PN4bChz>k6wkdkWy*W}dsDuB{`_0%-<0)^B&Rn`=hM=W=ptGz>@y>t&c688jI5d7W4c0O;g+BayJ@@P{2BQ9;yN*M}h5AY684&KxtCR|v zOg8EI_iRZ)gqJ`LC37CWAVp4rOD7h{F5j0ImBe}qv5$#-Df4iNts>u0?}y> z2m5&Z2ioEh97|UX8Oy2qNpq--{g^KLh%90T(hOF54>9izlEI9^1(nJA%P3U!;VM*q z37So8IbgrmWC!~j-2ok&-^dPz?zk!!Pt*O}mk!0B@mK|QJ>4R$i-Vp#e(FyQ&8B72 zG!~%e``x2 ^C!)2uZ&+IMoRsi&Z=n;4v(b2DWd4>!>ONSpPqk-K=N!fXHw#v|z z(lXP`33v#1#<^c z!usTLyg$-BGTVpEFRf0&7pi-!q>pI|+rISj-%r?QGX=9o{xyM0_;j|!3Hv^eeILP= z24P6nv4=+ZxT()utg{EVT!JEyQSFMjs-dvUp4=+uLr*k*5B!-Jz= zb_JIU8<9Qx`|2FdjoctOUO6Lgh$?f==Bu;vs;kwsT6D%b>8p7<#=y|Bwx?goZw7B! zW)QGG)()4QmN!P1ZqJq;7FjR5s;vC#8nswq{u4w<1M~O2A9W7$L1n~EZvNQh%gv`{ zS6S11b3cw)(P)l(9TuBVp>$i;bV{4nz_7y@}-n1NhT?%_? zvXmK4jp){c%rlZ5OLsE6*wx{+$A0}h_)EQTagluN=Jg-g9^CMgaJ&00QL`1@Z;2C2 z`cmmW%ItdC{la!PSuMqFWORoclIX3(@?BGi2@E!6rEk;m15L+yAV)`VD!aqm5_j?e zY*b8a6p+OOY7NY(#;i*Md5QjhvvQwrQ>#>1+fjwYVu+Hy!G!DgMux*=hlDAi#AHi2 zU7|5DRoLz6804&(zV77Lzu$iNbbo#H&QgH{E5(tCTwFqYJeU{hW(y`7V&qYpkJ+f` z)U>P{zh>qNQN`1VZ;CoCH7$+5&1M**B9eq7bmX7p112>&EjdkdmrYBJiW0IXN)^j9X0+eIrh0&CUD604fKxMs#)ut zQRFG?DhobvUQKo{mgoO*EWH5d#uYPE^H^f1Xt~6_2%Br1JtDnfPk51zgy_t>@{ASC z!R-2yLmHz|9}f*pLEZ%R5f+U!yUIm3lE{too4eVG->}Jk?{4^77`35<2T4Q0O>v6Ca1?_!>gPZOk9h|AJCw5OAa6*;xi4{iNuS#1^%bHuY{tIkn}; zM&-z9_nwe}I$rg_m=+Z=?aG3C(oithi@UjB$frkv6ELcgpYIF)OfKXs74Ho?!HXVU zbCH--(%vJjp$dH)(3{@0pQ1CKr6W)YStuWB84s@KNTdU?4$}1;gH5-2JE9hGI@Jrn zMs2x?kOG^i>$Hd8sMY^<+}zyZy#pCMkXgt?F&~j!9UkmVJkP%(&Mj`{jFD-PJbjA= z%0EJwEnh^n9-o3&rbTE7Bo08sV61YVyuE7?KU)qQtC3gTCCdFe(n}8JO;*Ejq*XWK zuM84=o9Q-aY7QhmrwC|M{X0J7{!T9ns$c&n9;?S@ng4f&QBd7|)P11C$QT%!3?ok^ zfT!w3$3{~kM>hj;7l`1d)r<#Z1P^b+Il#+JA^mSpphI}^GJTs9ogjhpx!K7)6}jH0 z=Bbj#=WH_LbJCk=`LxvJbOX#ep%r?z!>8=Ag_oIfmTiLWDiV4nvAQJub;6IW8tGMnjcsRMcLWF@&#(_h%lg z9dm-dsiCEG4`66FX)yT*SXr*Pin2Rje=a1sWbQ8XQS7KW9`JciiX@`3JQaArH%S}9 zFStqe0JW8B8MN}?g-o3cz!mnVUew2W@Jpgq+5pzM{gu+@)gbe8^K-__E7WzTnmWm) zC?Pb{5H4eg6I)-KT~;OlG5P$}AfnU(wz8ePrL@5od;qiTPu|fJCu#FGTI#6nfIS)b zoUGU`wo7U$l6AP2?ZRO!0YY%y1|QcQLT7*T9cJlDm+4d0bQ(l4hLGtGZq}cN(r!O+ zAfcQ1H5slbYbizs{`ZMre!zDP?7~)k_EMWIA5l+*cZ6?s58&W{WG6YITT5b;7_8B(@$q-xDeTy^#%Y9R z_?jaPn}zBfK80(r*ldZ?a(HidOZF}l?V%WqfB$_5juwP`k&8K5T3B5#G&G+)@=Wve z6bV;i;?T(>Pc_d@Vxr;iB`2MBGz;zxCH^Pjb}#E_<}LuGZT0%6FHtFb0|H@11Jd!;Ccf175M6 zYJjqz=sJzykpJhlsU_IwupOMs?hfARTP#3~`)%`9^H$&vL!^hneBXRux@DrRXiGvc zSE)0-ZF*ZO#uWS3=kDvK98c<4jW^{HnJ5Vwn%cQ*XO3T~K5XzQ4ntHTZ9iQ)X`W(_!#AJGUkePisr!IZTlvR|Aa zn?*nJ633f8HMAM3!Uc3cq&IzO5jl&nKHoszd?Dx!`Ner5Scn1SB!*EAIU{YxR=T8gh+=ISoqnCc{C- zXxdz{CToR)v{=!}Y{*l`ALm_tMy#zNqh!K+#E}uY*W2QMY`k~=0)H8C5}Z;3tbjMr zggFa>b}!>;kvN3O5A)0P)u3?=C1p?c0nA~|b0y)**UHK|U~3x|&Mcb#yN>wcdQBzn zH3I0AMTJJmS^H0M=amu62a^Gimxu}p*!Tw0)UEIZJ_z1OV#GMM%qX#09dTH>md zJwC;il_kX$0@6s8#l9YbIHYqYcR%KGz&HFLaUDZ!{b}7}`kRLSM(ajVTYq7Qc^wll zHR`j;YV&h&K}fBx4$1pEiGtcQYS}DtRPm|)M9bKaPw*-nG1+r1+YUJJoy%E=ZClr` z-@mn0FfC_W_aA71-m(>78^`ETN@*CNh3}9hRL*w{z|#G#E!*}x2wg60@Y%?77u7(0 z9D{U&nS@I6{Q!^3`K|%j;x>o%`?s|U9WHFHefo-}Y7x;Qt`)2D=<1ODzi5Bf* zn4i>#H^enW?eX{a_VL_X9aa@yrJzUQ?^~KxTY2gNU9c^iM=kl1N%Zna@eg|?_c3t?pLnx^9v1hM`a06jEcya>U!Xi@qH6!Vr z5a9k23bRs#jLb3vvUUvFzk9~_!jUcd@c;~d=!Ep1jP~KF#ZXw@Qq-?o;q}3i)zgH~ zy0C^uwJMjg5CL?Cq~>a}{8L`l;&JnK@Ewgf4n&bJ#35vq7X+xMH3K`s0%P;tpAgvk z)&6Tx3@C5jMBi}YpYNm}LO64PMm3A}S~GPRPU3C)<01N%knZD^=B1fDZ0KaSe5cG^ z=uGceI{~nLJe&!r#d$P=_7bP_7=(j$KMoBYQ-xU0O^bA0G6!k`en8*J$@rt+-2U>= zx{uNX;`EmiDJDzeTquZ%R?{L~x{LY$tJt-}>pp_a{6-Y((^HI$A#Z^z5=!4(G?@?c z^N9=$Rjgk`j|KF+PnQahEfxZDeA7b;6`y?<0vJz;niOY~H$R67X?{sYLAK)9=j2j8 z`AtK9BgXgU?d28os}YoK}<}k&Cat#5eOsPx)W}dUtqt4B<#6 zcpsj$k~eQ1i5%i-$nSm(!X_z~quJdTj+G+?;J&1pqGd<7itk8emj(JvScHW&Z0->&;uJEXa*swQR*3S}Xl3aZFn49h3FpGy>x}$qu z1-g&(3SH;X zj(s^8D!m<$x3+xwl2~>-S-&T)g1m>=O5ZcLGLZVd%}pZL%qn_~NuX_Va<{|Ch!DoO z+ht^kcZWAe#sfQRMaT19_AK5~EBuWY4k)1qf>AOa*>@Ig02CqPrBr$XUL$Kf@BbhQ z%069E-Jv4N5zmkdXVLFxRd0vmUYj_s(!bO*g-0!Tmq|`fGG?f&JiuZ4$a!Yd#5j z%yP1x>A0h%v$#*#{CjP4F=r zV74_~CI>C{Dn}+=WN3*T+8KAZ@`=?Qv`j)96uvPd~x zt7M4}Z6GV?25Y)$21D}Y9jam=wWJI;@iFy6iorbE48-{t^c#AdUZQPK7}=J@LCpk4 zvQ2U^&?>+H@eT1GOo9P6r%5r?y3>OB6ZXbtnYl0h0?6O_;uh(sQ}i~( z%?#ut{7}{K;7ExCY{8zq!_kRLfqHKMLTI-IZIr_*wh{E32Uho?{{r_jm_wZ4V&d@^ z_wjwW9*H9PgdS(~m=UdxF~k~T_`XQ3kXgM=Pb@lXe95O*~Wjn5#lHq9*$an$^O*h!-~#5+Kw-{&-YvjycR(|6gA`v$j_>YZN#;Js~(@5 z-RU^9!mOn4n|CWZPA=nINxyC69Y^x^sfP_ubDl$^={@R$ru{Hl@kj2nrXSCeK91xc zDB>!GbR;bMyIT1+t%X1LEqV|$kI~7{wV}f9=}-Xr8lV(mAJu4J3NUlS6gn6gP&!tN zfMp8%)BWPcZ-w*d16$P-UJ{vjcm1#z!iyIKIx>SKBWtUj%Sk_B+xOr2|ElTa$$k!W zkGFTsqza)OAC$Kns7?dzTB|j)D4>$>bfhvTi3PE#lrn<@$h%G>{}7)1LEb$=253+_ z*?6oW7AV%0%G{uK)aoQOI1bixTMX1X2_IX^%(nRoN6XbxYYnJ@Hd`0dQ37EB2|4_d z^eH748hn7>av1PRc<~2ekCP!u-4U%l2o7xc`St%RNjg3$-;&9khqt!}|32&CU0Nxa z_Q>~@mR9n=vX!OYaNKI@+(U*a#eHP3jvh7dlg4NCjL*P0(13%1PmiN+9JmE4^cm+J z;WG{(}X z_#kg$ft!^}1sXZZvZ__hxEAu?mA@-VziC_(8KZRmnx%fkQ%Upw_mBCPsT`!BfEmND z9Xi7UaUblU3pEhGGcYxP*dcEr_TzqdQF8slAwSpXdZv8 zfu8O}B(-)5TLQOkS9_FsSMvMMH34qk|LG{iPISW{<|UYsZ#L~SKhmfk&6Kuh+!h?aUboBcZGtyLyhI?!k|2Vf9I{C0sJ)j1|7ScYBh8VMKXrKC}#@-vK(>b z#lokZ2SwnpN{iu{(Gh!=$LeMrm0kOEyZn^Fys@ z_jE4Sk$TyZ#ASY%ztIoTx^ULdKO!(p5>7JudnN8D_O|J;N82zoD?h40qSs_+2_5zw z#^Tb%2LCb}sq?%Sa!I%-Qv9@A1ws|4m8<-@Ns}gh_pR>#_cLxBu4=jGL68+~DwWKS zP=UC&pQ}{mwQ%P^3B<;hf(itv zXo|EE92JYmB%&Y)hx8@wPsJO*^%mQ$aLbP=7e2;J_HD& z7Mw~u6LUs!Af1e@J*U1%Kd#-9&ime8OV~9R6{UWjIc`fF7B5-i@c9yrn`el(pRi`> zTFUy`DYit?k6o9lSCFx;2O@brs6^pvr}T|En|W;Y5%pl`XX9K!pPsL#6aN}TY|$QN ziS1vH$;AH_y;42UDmukD&Ie8G5x^&}Xn3!1Owg3A5GJs*2DC3oIgAYqj0(fkk6bP@ z`_-N!9P*b-H<;{bU5-Qg!HXU#^oaRc;qC9`-b5Y@(#{x3Gqxhr@%GWiZ` zGFJU(FzPzuOl;%6>P9l_8#G<}zY=Z?V1|xeLUnm`w4wx3L37YjbqP_B+5m`zg}ah^ zg;qRgR&cK)WQexaR>wqE325k4hx-}4GW~7*vx>t?q?j9ma&Ahi*Co3{X~Jb4qH9ub z(y})ep~vskMnA6Ncci*_NAHNnVO*T7USdp|>;k=jHzi(D*(7dw$wSKRVly%`8 z+1%KWT3Q#~5Z&NXx+7XaKi);17E-O6&Jue~MP&aMvDY_fOqwkbaUouajj5T`ijq5wX{8_Xzg>J9H4 zZx~XK)lqMf&7M_?ABv!0A>oGwB4!fvIHu5wB(t14ha&|4Xwp_?$zb{kDG}?QJfxB;-mSD z^$m{YAN7QoM4~s!m9u{iw%?`I|b;=GeGT`pMAiYnmVy2I9 zfa-=;I`-wdVjSlLr78u9tBy###{1|VP)I5(=ztvh?)HJR2Ew?xi4F*%m3xqu^YNkk z{-5_wG*WNu{Xgy@Iaf!5Nr@-ncIDk+|q? z`8r=ACAte#_jm~JykLg!G!4>15=Q_J!*3Zs)ZadFd+iT9f7`2QLpN^PjN(S1ZBicp zae)LXuiPRZ!27^JR0uX_<2wHP@7*oRj#pQdAKawOG5SubjnC(9=eL}=p}VPMRAwsg zz9|#@X@wg=PW}P3(wBY>JbgL29`plEB&n!A4jd$L^~kWSI7DL4AeL{om3V-Y5iNBE zO}Q|>un4As$P+Clu62B(f1uCeyVY3VS6> ztmU|_b+=C_2>S^cyq%0LCDDz@DB(<_&L~yKJB?jWanJs~W1U8V0Dz0`wy$#=?$kx9 z`yF>`p&jm2_g(z9LrOnPvny^~DE$7%MckLR+qf^NEdSSQ3uyaJQix2r5>08l>C^u& zukhFRz{eO!*6Yx)9)KL6%m03#yXzQ}Wyd=l!cewS#bHY(OVaFE$&qY8BLYoER35rt zeqnIKY*EeFO5UgETws4uQck}r!HveNNJ`xmrFIS1dv0_LV0s_d)*I&7GDi zQ2U_@Y$3mD5TA*|T<}&!L32n|*g_>5}7^JB(sGpzN<}(79;IA`kR>{jyc_e2cSldR7DGK@;aszHEfHNR{(cPjy%VD$!0HsEH=F)!M!^^ zv7qmsLTi8UMzG@3;!`wrg}+n?HPfyV4l!ap%FCe(;76uG&1x^5J&Qh|fs8 zrtdY7@&6DAhc<``9l-6ohB(R3)ZfeqefN?6T8m#v|93mw#f#jYwIki3H<*+hC9K%D zu4==PZH=4G__QeE5ZOy9y?%JVI%5sdM&NRA;E%!qu2WQ`HD!n zeopY-YJ3Wx6-6gL2!uxgbuvR< zyDxpa>Do|%#(aDaD%I2f+JxSRwVFIbhOq&^7}5s%41e82SU_#JFx%oBe#Wn^iE3`p zHwCISk6^?JM9nNlWTU?;QE8B>{uvPZTuc$CmI7`;T3JPTM&Uo)VeV)TDHy zIz28uI+X{~M#})EmL!RZ#zlk2lPLX3r7$xB1my0STB>EDqvOEAib#r-%o)2&(ZueV z5zx2qp4nY0l|(3w-~b~%g3U+;p>>uXCvk_nXLj!pN06=t90o_w83rVm#N}kX%0lbv z)vd)9b+vr5KfVI5&-Ig0BR0@}8rpBfu{)!1uDQ8}#2jJLcik)0sq3@r%F24`b-b%> zcx#QliF6lD_HmH7vm+Z}l`C}|Mf;tY4kzvI;Ju%wM#yM~gA0pJsmY!tK1vdacBv~0 z19~FCCGT_^8FOC@O-2UO#NI3k_#p&Z$(}_ghTaGGVJu5bo$bVAYG*{C3Fv+HtOSFp zl#mguxgDf1sY?uHFezbUk6O^acZ80%OM>_VCp`Rll{Xk=9n#Aa4(?rQE)_wAnFF5>K2aBIciI-YX|h#?wy zb2|2&77~&kr11#z_5^O+Aa^fu-WS4)+h_$Mj9I8Zs;5+n|$539BtQE3xFq(|4NhAZYe>T|`aN*~UtuYa)Z2iC+tGZzcCn zWu8i|j;R0s(&qgohrNGPwY@5qfTyA-6}Zfb;8xdYm*|gIB)TaQy$*XfWR+)BRb>=Q z=Jg=OO}7fK$Zf5Ou8aP9MVy=7%gK9Z)}D-ART0ICR?>^}J>2;9*(k+@XwvV)`Ra|! zc72x5J7&!~9nh%Ic5JdLIqdwkeUxHZH0@q|Vb|q+{%F=$rwbYtrd=@g`19e^;ln3P z9XRl#Z=U5QW+&wco_W;)^_r8-sL@qR-;g!!sojyuXOvc?RB900*~NvBB1-qYkA%eJ zM`XGyK2t*#rU)$rgkw^}5<+6a3xe~5^HTElxyU1=2FC|Q24?wY`DQ2zqH`is`0!Mp z*nj}vB;N#oP-(-W!XgxgvV^j7bxNASkRn{kym2i5c1pRSBC0z4#HOk(d2uD4H6E!R zss3Kkeu|jbgjh{r{H~agAYf!cJMv4!rV=yKGEy^>i|XssAsGd$!X&k7mP~dt@rR;= zM_W#&{SbLIqRr#B{Qb@ zaft$S99etdz2NJ+Mn;Tqv2|Lp>$7beoYrr!KAV0j^K6W>pR1=k1h@d&-lgA_9AFGG z#$AZdk3F!iz|GfwtA}0W0!769blYQVq%w8~9Uu9($15cKzCIRCdFq4lwULD`nXwts z#wfpd-#EW`eIi6Y6H(eu7MhPON}~g05JQdCL>C8??T+${@^Fvy*%q{MR~WpAfO?PK zmEe);nP+#y@k$tAJ1L-ic_w&ysl$w+X`xB}DZUB5aRCLs$zjoo$e5Ur0JXGxpS^xz zfnnJ816fddP-0YcbaX;+a$s;!NKlx6NJ?lzY;;UiYCuL{Y-oI_J|rGmYg1{Tzhbe* zMp;{YTV2gLabkctDM_4^TfL%fXIm1HB?J1=2OPuht>(nRo0eDgDwbvBrxwJ(C1qd7 zBCe!7z0!kk-k38Wc5Cnnm-7qD70H>%k*TM@$352-B$c3_dDFXoTJp5my-`p)_VsZN z-U5BtUg5I5d%=$#F2M0v+UE9H0LI^uopdT4<}*$a9~`U?1J)LM`3?nkXD#% zvvsED)QHK7j@4Vaacn-6uRMCAM_$)tIZHS0#RF12UZmDyjfF9E+@f z&u}b)?2sas=3_WkApV^yE-4_BzUvpgF?3Me=Az)tc+%HUh&_H~xRLOc9@%p0z&V5t zjCUyZ%E%z^rPbd^ypeFzfD*}W>GZ?E2nFz6%ebRS#}bbku;+;7@q?pWV?DzX{ESl? zeSa%zS4ey3U=xuXpH!7xl~k3K>Ya{PRH0&JvZh6(|D5DMOYMne#;KGGDb)#?t;d4C zG#pPpl+>WlsY&)v^2+c(IPK}J2GUni8&?-w7pLgf7S`jkfd?3`k0n*g_~4wdf+%FS zW+K8qiYCpXp?C2i91QKunMG-NnehdRiJb~AWd1y-`ALddNy9F!zquDU1v_H#ou@(t zcFNhH))B=MuqgoO<0JSa@(CAF5>^pXj>pVS7Jnk)gy95mUwHAMfL)eamYtrPmK&B8 zm|=i7q#+3_W+Z1Or>8(rrJ$x`zEM#9e^+G*x~q2~Va=Ki?~twr%M zj@sO$y32IPVKVR*>GuMV(_ZN@#@Ng_1+;z*@qFOku+X&N^pLWUvKZsujEKx=#TxyZ z_%%>t4)F^2jP$Vya|v~f+oTY+-rV|6hb@^EH$QIPk&vqjgaRSgQ~dDw(=&PBm!mIa z5l-dZ^xAIQPUe*-_w&qKAAB%l#s?qVn)&n3?d?DFoqMf*o`HEYF|Qr-Zb|dy#B{Z5&?u`uM%rkrq&C_nX=gw@1D|Vq zX$+bR2(ADPEWT-e6KG&3{JtKFZ(=UyOGBZpN5aHB1Wid-=-ukf-aYu{+Wk7wTVAXb zhb-hAmFp`u@ApAB6fpr-zQ3fRxkZhbmdV(o!2JXX;AxQGeggSz@ofEelY|FVHH1WpAJa-ZdU->V;hJ$rdOSo61%O-@~RYR*`w>Q3|01RRBGkn9cUYw z!qHg;(ygE6@L4a zTA!lxG;sGr0CfkE+0hY#*_Pz#%*}FSkTAW2?^!sHSfBdsrZDCvv0hE)X?ixZgUW7` z5rWi`LqJ@#l_QaaIXlo&RY@Is{11_Vo)P@29K%(;?2rxyqF1uom8%BI0KrA;ah;ugrIWGjz9<$rg$}GJTl)H<3>eTYmC=1g zUZ1^mJ+Q(6S*Im>2H2>Sq(BP+=ZGCjCy$31<8Me8?+vUE3{V#e;x1#ZvR9D0Kb&+*-b;TKD zt3ryT_XLOh@c={zMg&GhNx=~7s3?p_D~N#@FRROv7)H?Z^Sf;=cW=l^2N(T!UAodn#{;jWB?N zFa`mpF>H#_U`Q6KQ_CtE)d6HDij?h2;p3vD5)!>lU{lf(3`u}5R;84cHmJ4GR-DAq zJ~KwrG#(1D3A9fgya46Sx9)m>t@-8Tx!VG{O#JC(xyg|(;s$sO1GApK3VILvtwYsh z=yMET1@Q?lV*i2ytA%`3<%06bsR}wIbHZ%;j+(yna5fo|$=^@CT5+mU0S*WwH+jOA zQKgvj>FSX@0_-2HmI%1P&r~9qs#-9qnY9vRl-pqy0O~ z^~D^R$4K9(o=Mc&melq?3R7D^dU4;|Owfdq9#czc3`F769qo8gJM9?&v%4%!_WzpD zS{y?4Aci4)ZVqE_d(1vPQ8RJ&DmxFs9QL6O^9xrVaXRCVuGXLCSBM`9O4R@qeWhjI zV$T#FIZ}8=LFWfSm0RiL>=A2Mj@?hgDI-JMOP~RZ%6mg^@q7PMkzX%vNs<8@a4l= z#dW2t6n1zSiTA;B;o;Fi9S`s<5y z{(OImMU11CmEF=wwE^+2#qZ-iGi?Y?a z^mM&GjXxdUxNeo2_N%QWYjjjE-xK$Liu(?zD6YQmrOeDSLx)w^WoI$5M6s9H6}ypG zgS{Xkh>EDNiu9!;OK0iWutdcY6?-Ew(HKiCq{l>K5)(}f7?ZopEav;&g*ADe_j%v* zp6`6;d@Qqf=Jq>#>%aW|>(iq|j|-B_Jef(4%3i--8O33@fLS;^a_^yIDF-6K^81LK zV>awa+Pfe0dyeemJ?>pQJNHePisI_lFp$fcr|w->&r_jsPx~oTqn9kwR7R{SUJ1HY zr|yzRnkF|hQ=dWV)lg)7V{gEjB`6SfYR^IP?u)*_GKQc!AcuD9Ym0VjJnj)2<7B4f zP~kg=l_ZBF-kpF9r;Lf&oViK7zGUo?5vrw2lQ)EE4lJEpGh0QW#?gA~KPIk(7JIDm zSI^I%s%h<9XWYekn2A9R$j*Ig>M5EtxtPr{*_*`CAR8`84Oz8V)jFQM!QX!WgFDBL zY+AijB)z3zhG4COIITf#>dbj0pv`DnzajI6Ez@|I^Ai(u6VV*=L~dvJywYH58;GTb zQpjwzX*^40KYjkkR?TO|*O)>F1#eX zYPINh;>#t!1DVCNP!Y&YJ~QKbq6p$@Zzer4K097Db^iIQCwCt^wnak*f5I5oO6iKA z^&ug#BFLEonaq^X#bmX|Ljn9>!uSjnyn6S*#K zd5BV4z)6Xn7;_yve%AYUG#J@3N_W#XYdJC2`HlI5$V<=nLSfm5f=JAG9o=eYe9`)ap~ zFzMzFGsx_22!{0KW`xX}g;qU!ok^NMCu1(&vxkKn1p1+xZZMNU1$^9bE<)@ib~=5E^xF&NR*Sl8Of28XR(mZS+kk@HRi^=x^I ztv?d88k%^wTX!&5h92nJ6#`LcVmkJJj4RdMejmf(!l@PWp@=f1breH9SklG#lsR91 z>hJ~CwX^f4rcjX#=uVhVGP^-@d}{2;oGU+d^rGtOh51vdyhfTvlAEIvXO_-PnCack z+=W@H3tbbWYMsKaTW6@*pfMLf&UEGO4fQ9Kw?BCAmiYFb)Hp!5U6JA#62p~93ge!X z6XIr=yu}WK2n$5+5M;few3{ctPtjOgA2nZe6;3`}nbqt9Ah=6Q;I|o}AHu zjOZM?6rv0#x!UDR$`@0`G8R?zrE|+N_TlGO?r+yTf-OCdgS$&X~J!TlU0F$V(Rk=V499?Ikx+x3ZzMu z;>OvC=9!+Ez=mo6T- z06c?EF0z1>M&??xHP#Gt-9_+zO4qRLi zy2AO^2C|+9o=Ht*wc6A`E^swfF#FX~3%jb-If)fwODeI`D)GN~FCI9UTlhAk@2FUc`bBM=lF82hOP07nCp)2?NY z=@Ui2`Ev(|AZ{HbF6^zh({K*elsZ*@fAK@?Xw=_&ae?5}yeWzhI7w zRm&F}Fcio~C!($=D5`)wsyFlqJ#27FDUo;&>Pc$xo!XK&5!kZff-nMaHAsDCQAKZtO1$!TC zXnQ@L1Mc64X-(z<2_W_!UpAOD#>0vW!N=##4Gx|+_jvHd3&)RNgwS+quHs^F{oJ|1 z%jQzwi`4hUt{hl49R!&D2Y>$Y;JZKnpcYOccbu#69Rz!)5AgJ&AxA-a0f^TP!@M_y zY}|0V?2RWk(ijjoa$RqPQv*1NjaaTg&;w-@F%d?3Q^>Fv^Rg9E2}D^# zq!J*u=pa)Yg0pN1KGZFyE)CO|`WkO5q^qftUMiBVDPbZMOhf5*u6TzGAxn>vU<#K5 z?UiZE#{qNF7!7;m$afh{OY^6BiXPei?fKIDEnyUr46yPaDM&}iJ8iosT~-0(;>b|o z%feKw4SQw6$zEksb_W`Jj8G!*iPDiTQWBRz}M25tlQUa0FI7 zCj*Cq(1b{(5F5Qs+?N6S__4+#T32@cZPR$;EE3<*0@7wOWi8x@G}_8Y|hU4O&31^}YlTGuJoUl@O) z*BH58^5`lBO;zt zypDz3(AOWsF>Je6bC+Mc-<(u$@hGqGI(AHdBcvWG+uOXx-u=!%ymmhM(3`NIoIert zgPhVs2DHpjJRE;#z<}}N2Mo9~{^7$rcOHtchw+!9E?`B(usIWhdc{r6xH#7f$}zL{ zM(P(uMtY~FMn*2uNAC4raCXA&agEYj(pz3_KB)$;$i4bAd-t9@d;9j?yB98cO)K)N znRs$o!;1ZN*R~wKu>a;9x&Fs-5F+mS<6XUYv*AL-mKE{^)IJdz&yu%`f&|GkI52P_z?u_N$lNoHRkKmK)%xtcRa8$Dn-CCa$Y z=m9CaXwg{BJ(zTRAgpb_IHy>%rhNNGjk&wgi_z{#0;1aWhKB3=_9kz{F6T2GxIV*r zv3#LC%E>b?EnwpGF-gj!Ilsm3A7Y;RBF}5%c}O!a(tbcz8mD=k{P^1w zU+2ruaZ7WgbiFh%Cnq^KIwy&^WuJ~*Jx0DzVqTF}#4LZ4cm+32BAp{{+}wRTPkx3o zm*z4X^-1x{J2{Ut4h3B3MFyE&&v$tf((}EgqqBWS0DbI?Y3v9xY2~NH>Ex{f`FZnK zTtaS?PWf{#j3xK2_ah_CzGQ;g2d+k*(*PNH5t`dEICiIjbr4I=wgz}%m3d-XOPo!~ zPwZOWfXSRg5w)wsqa#+W+#h}5Q0@K$V%1EAZj(8{+*gk^(ld*SOX|)Pmul`{ zzt!=Gq*Up-B}+2Xf;3fcz_cltaj;{WSF%}?a8nu|BK7g@B6asJPit70sDypf^t6Qs zic-Y!5)%q}N2PL6;bOyL@#89h1eIo`D}g+ewppB*a2!Vm8{iT6b@MJa?7LE_0(MY( zT4*3lKup4%s|X_i#n#@x1V`6t0@2sQpeh2e3sYPlrPopkrF-|j1BQIU*FFt|A9y;kS;#=IP07Oj= zM5A~pW~?H6%_F>SVKrX_y@Rl1Q`~Z|(Li#6U2m!1kJ2mmq`pU`UODpCWOH{#AF0!9 zX(U9R&4J`=GiMz02FNMKxzh6GkRoGylIh;SKlNjL*#6Q;g*k6Me(r&JQasMc6THpc zTkXh*R5Ior((gxaqZf|6{eaWj&-j|W_462oG#u136~2eV5V#8bRJi!S#S{F&j%jhI zGj8~`BiIyB$yb29r!dYk`e(pgmOu24w@Xi(KsV|BOe&6%w4qJoPQQBU;n>fm@&VG= z0n#|B2?of@0GTr?;rV-C5;yrzsg>{Qm1U<^o*h&;urO$tfm4`WMb6iD{DV{3KaV~;uR{j*Y!Y-#$CnUY;xtuJ`XW#pijbP%hL zyZJ8oGMMZ?!{+Y_l=M5O@Ya2pPkb03Pz<35v;2Xy3EWCR&8y65z(?9P_kg*|W+G)A2L*>`ImslNPlNBzedz~Br)?*#fk&X!b=YS>8#`N@p1Z0!?HRBsSL zJo4b3-=8Q6tms^Yad97M%=B5Xc%7S&pifYl1z1KYH`@-@K(X2xYLmlAuN%-w8;O`O zw|#wT1buMI2CXHLjlvN|-5{m}2U#GAvrdChw|@*Anw>cO#ZEsUDGCLjT8 z;gh@4;}g^0g(TnYnEP8u&$=Uj77;t+$|kQeDcc_}A2vAUWFmX*;>BwaSM=hp&Ak{P zI#>Qqy8r$iu{9=Q9(Ex%nH3(Je3)3BqQp>Kz4`!n=tp22#un;yQ>J)LxxwUTWx-T(YDxz5CSqbT6U%fr-tc;33X_?U4K-Al z7B9{a^ENZOva(EwrWNMrFX;i^vBm|Uf8hFi7~O7))Cx>Jqf!q#Phnc>hhYrJg=>L-oKoiEC1mK;&h%`E>{r8 z`Tc&-{Mh$Aj5~NLC6D=%Q@?(q$MgRECD(b9r)uDk+LPln#(vy;JFgr&C0;!J(c8CF zH?Kx5KCL;uWcRcwN=bycv`o^7>lc)7R;?{b4$VqRSWuf%xLKZba&I;iMdpI&KLF@Q zb71PCzckOUU)URyHB;UUe|_^{`DQLfFXawX=CCX3!>&eOOWn00D>5}XDd8;B zq2Fn4M_v!UJ5`=p2;=6e%8E+pSa@vOx}##trW%|t$?rf(_<=kmHy?mC;c`XM8Y4Y3 zFCnL;(_~_7c|_u#2p9nP6&7cX8edl#Uxy&#repgx`;TdB*8uP)1YDq)-CYabOn)=Y zZ@ED$_qbn>YA85SaI%0nSMOf6d*u{qVDkFp_0{P+w#c{F967oBBl+%YRSy%kL2|@6 zU15B{HFXDT>UU5)r$e1|zDUljW3FS3>?{Ks=H zm5GF09+>$fFWVA+{LSCttSn=s|xi%%z)$LN!iy`h_r4_$9~K$p(|uGRsh8?$x{7jdh&vjf zg1)kK#;a-wJqBXWLZ_1b0#NUb85*t+-r7|0?vAu!T&uaqAjbNETX|X5edhOa(x&;(-M5K6V zFG64VDa?i#h+c3I|HRp!0-zbBK!`m=MWw{XYN%c;(AKaW=tTUmJ@6;)0Ne3^Wb!qL zxf;O$z*_sg5A%m2wtPcgOq$s&<#?IRBqzQ&ULT+C4IZ?CiB64=rVQQX{u5{(gYjYw3TUahY#_6FtB!0a?s@7%47;JNL(ZE@wm=rn_(2E#RRc-1_$ z?GneBpSK)Qp!hXyUiGjdf;FEkg=i|hwf~c|1Y%2LG~h=$gbVVXK<_0D&D-%p(ykY1n;rI&H{7An2|4(xl zaunMkY>T9$;EK)#tjSoM{T#&g(hC1YZ_Y^8C8rd`Lqx40p-NYsw=aKh;hsX`{|@Q? z1-5OhJo)CGj7F6)&4_%!N2U7~2&aIvV!%ajfJlWB{nar2(EepcS1VDIKTz~Ba~hzv zETse6DqD?S)k1p|`Bh>59&}pp!;B9(vjM35XvtYHGSSYnc((W(4J|+&pbzGUe@A|3 zk2rs)bKZW>hh2n@b+9F0QA)x`;9xMkP}*1wLWjq2sY+gR{FvdW>fYhSy;C)rZ><$A8}4>q6u4 zUFE7v4FjcdX90{l$nrl>E{(hX)quw;&`zdd-*gPx?$`|P#d^P{nDnQIaT2RG&wcTm zLb@%z4>HC3WW7m%uG4wO1S#qD(s>4i;d*?Wj$))eC-ohXpj9q4Dju^9PnbHk!H;>& zmap<3!gw_8m(b09-}jvrwQE0N{l8&ALg}D*bMwmSn&Dhpayo2F#Zxs zd&_2#bWdaknFAkkjm6BCyuzZbN~1eh0()uVXz)AlvSiecx1rVS@O-V*3q}SuGS_nB ztCp#Zzqf)?^ZWsO+kj*x1xUtnl_`d#0&&QW+9rm)ZLVQsQa5kS7T--}oOki2i2xe| z;+yST^R%I`3Fz~)H06r4xafCdgctd43^VlR!b!q#>>jzHW`~riu7UGNdZr(&0lZOtOJbB2_$v3|dO&27h=-E>WNT02mEd>-m z?x{(r($`j1R#w*PD--3@t`Nn>N3hPQ*#6-aO`B&`f__6nf;^i9D~2Es zRRoBHD=Kq-u5{S!KG%#+MI}rugRah=ii|br)yC&O1c-{B;5ShD7>EFwJ*jYx0sCZ_ zvEi0t1@tlchk<7dItM0nM;?@b9X`y|T^KV?re77(DDx}30KVzN-fgJ+{F9|e#%e%; z_)Z~hhjpQCm@jHTrXTP<8Ssb<`tE5%^SP%N(yG1moPKkDt`aoUBaoSEAQPl7|2}+S zwlH@wrjaL*DVqy)m>z(>Ei47)wDp2HNnwsLtBfjR3_cbY6uHwtHrNOHqjZ1*u#D>_ z1w50$viT4cw*q{BNbx-(+!6-1kpr3jL<2N31p|`+-7vCdN#9}atAoe|bc#w$9|Jeu zc#vs*0_0{tz`V3-6fN;2-bV^H#WSr>0aJf$tHP`>zcB6vM33ny2eARU;zc}8)kgEj zjOht$*+C4vMh5P~Y--%4xX*XE&#xwHc(R9=>>(><&l%DIwC%^DK{mlA1w(3vTf6whXIEVT26iTyA zfW()TdQFu2N#azE?;_|tPEr98$TqUuJxNft^RS8V+dX2t7bgGMkIzZAzGpO&c=Z-k z0eh*Q_)!)KHZ7!a1}`=C;Qjo#2@5cv$rfs&FRi=0`n=rq6yjaUMJc5jVs;_$id03g zk_zqyYRr@tV*jr!%P31Jq*M{$)taglpH9Ex4_T!m=%*FwxlgYEdY??{fFB!%kEF3} zA=2a)PvZo1q_NZ-k~CIh43U&CN$PrP9lMeA`i1m*MtY&kt}#wgy!!g8N)zLNd0XmNYpg-OGeq*n)EM#w>Q=>3ao(g-Pgh(?+pDfPr44_3k`cYqW?Hj2<^!+xzd<_19MO z!#>O@iWQTD^OD~$I4U{z=z(wHmma`lbA0j(2oFFcJ*Xg4e-Jm;C!akBp)iom zI*^{*L}ybV-ChL3^51uAV_*k-d17k{OMzw$c9V6 z1uu#%PxMYI-;%aP1@Yc3TS|aPQC?ZJ1=8ji&}n>K*1BD*Kt993m`ZuhW(YD`ZlGGW zYF*UoEX|h-=!%k33TZNsf4uYOO zuqvkI-=B3yQ^gXlwFfh;tYOJjRk51A+HmT_G7aHOJ(w!6U+>I%e?0bzp{@0b%{ltb zs#R-uAIR3MHV(`_v}gaJeD6c~``6`%*O>=;<%h3}2+x)q`&?6esouNy(4oDN;jnOM z9{7((^4vUBu_}A*`c;<9!t>Yd&p%XWMB+pH_W-Lgdrw4mIHaou1Q}@m z8S)idg=qPjOGKMrnvHsRTkFwQM}(KtY!J>k|LMc@uru8=#wc>Iv%_rGopfiU?yv%* z=W?a<;EKM+NOdo+D2#-o46xomVb=VFG85ta^b>&>gCHY?48AN~Cb$@|#4amL3xL2p z&8#w0nCfY*3tATtxJDKB)j-!mkZFMir#0hD;%8_4i7-?c@E48%DTtBAK=Kq1@Uc90 z!j^~_iP3!6_zu&$kVCc3f%YLY%FPa_34pmAELsilrol!U4SUp7==kASY{1UL!ym%V zhBJ6H;k(7qYEaBoUjd?eU%!?{g@>*;FAW5wOGBA$8L8nlIyNOmyqfP|LbSn9-QNVBjYJxRCqc%L1xd>hkc^h?O{`5 z3v(GxvJNt(tgEcIteAYM{LjAadsYdDm&4xi`_`Ov33*frrFK1n`^hwF32v)F3awM-3NA8?QYuL zvHR5SN4v*%Pwji!PqLq8Ki___{ZaeV_6_!r?0>U=&Txzq(~(g#W0^@z029K5Gf~VY z<^$$BbC>yw`Ih;C`I%{E{sbOtN7je!!uDndvBTKKY$&^m&0~u(m7HU5vW@H)?6>Sg zwu$S>_2&k2qqvEjmW$`oxNI(udyl)peFcjkKXQ-dzVgoU9`Zr*FnNT0oBV+MqWq5h z2l>zPU*#qT#zA!G?l9XS!eN6$wZl<|%MKqo+;;fH;R}aH4o$o#@6C_oC-ZOei}~gJ zYCeHa<2Uo={1$!>q!f?vxA;c>xxfqEg~7rb!b%}ph!Ii+y-*@l3fqL;!u!HQ;TOT= zD06gl?BUqoah&5c$G05A93vgqJH|L>IhHt9IBs*?>G-x|o#O|NHyuB7{L1lxV~dlM zQ&*>+PJ^9BI!$zX)9Edz`A&Xy7Q;b-#CBg{FAfE zMR4(U>FF}SWr)idm&qGr(2!dJ8mc3 zF1THCyXAJz?XlahZqM9|ZhyJkx%2KW?w;=6?w#GcyAN_7KB1s zc|q}tS~#FSswN$=Xlc9fQ}KI3h)3w)%X6UJfPzB?h(cerD8wcv#tOr5!@i~#U`0TI zKm;kk_P3y<5Wp}~v=lOyuTo2a9Hfwi(TF|_Zg^y5xGw2K*Z?XX4Y+F@wA&nN03GXX7oJv7 z3}9muLA|@iZKB3@&+R3^r1NTB@`UKqg#^i~T|;37=NzGR460A`72PqnaIeMtC} zpN0ZK`xE{Jw7_V9p3%X?1KL_qdP1H6WY6IQAR%5+8et=vSZqZ9tF35omV8ejmPnpR zkICD-KuI1JK2-Zrh!RlnNfX#N)dJg>7ic|&d3aB>0?-T3N=;Ly6{JF0T&St4su6HZ z@M}|XdU8Z9tU|#qMuVBj};1&6+TRc02L+l)<%r>#*mc}4plTByOrsRAz zsU7HhDN81_USkp?7mbR*LIC}nQ~ZmbZ0WYj?X}9<)LmISMA)`*W)2kWe7jERTmXuz zjI&tt6cjZHRdJ$^$)BZ7M;GDZsuF5Mob}M6sv2m5+goD1X#Cd*EsYJJZThnVz+`J+ zCqSo4v6;6Vfnw28$a@kfZwbAy>C=N4XD2|he*XEHycw@?JWpTdH1+xONoryItXboQ z%ET=KP8wjkb`liRd7*;8!3$W51a1K@Ku61dyW(TD^gwz5ypVyAM*{g0`!zhDPz#iM zWoQZXRcqrmY=Us;1^{j6jAf#-B9hlAV=LmylSHFT`g4#uo5@Mf$w*hOuZZ4TSy5PA zAsS~Boj`YXOL&3n%?oUEu%0)qy_NK!(#u6`wdPc1Cr#|w&x7m@l1RYF2`MxrJtZtb!qpvMqy z$=l0L#)%n~kor^Y-&?-DR%4uM9ATVl9>Hv^-K*QLs;bH>s??mUdAt6U(uZ;2POYsE zsu7D46Y>*O&SB~ojXAu4*XY?xEqtJ!KmT9Ghf!_m|HK}>-WUdWh5|#0QUDZVpkjhr z7%*;~vrp zWepAp9Y7B6)(L{KqSWCrit2Lt^7egii+Sv;o2GWdt~hdiQE`k$m#-^GEm$rwUgepU znbn!{)ZOo-pHe|>#ujE}muQ3w7-QRiP_MMm$pxHvH}dF=Tn3LRcJCpL0P4Na4s9pU z30a`Fbu~il*0qJ&6z^z@o?lzb+V%K^hvV)J5c+}UZ1#-gg=v;|iMCRc%KLbsFF%YI zNQ4^j3H8ST@njC9lzG~3ZqBKqgze(^tEzr>`5C^qs7q z%_WRlpAV(sDi~wgD7l3OXf`D$Z``14jpMZC8@DBk6x5+iRaTx~RH_j`w%}yKo%b>5 zzxn2yA;-{R%FBy^o+wx}O9ANXJQno%XYIPBAj1bJb|i1#R4#5R)8@vcq-W_elG5dt z-RfR+oN&Ntq^SiQTRo90=G&D+f|f52(j_G&7i0+Wqs1 zZ!XJIE?v&}Pz6cQk0G{j7(=f$@Jrqlh^33t|2$y^0^c6ng_0~ne8a_%2@EZ^GmA@09^CVhZ(QDVtGEBm!6+ql)f|A3oCgcLvmTvl@lsJuhL-X z+(-gPrAd7G1*bC@2nOD1aoUL4DwsoSjg*`=CX^kiZY5?7nl}!MeT}74Oa?DK#i+Wl^F8!OEk5m)wR2o0{1(Hx7pxD z)YvD$J%{bgdukyKP1vNyN-%(LY22h1_K|T5$l&h8#q|xGsRqU#ez= zJf8NlfB(j63xYtN8iLiQu+Cbb-UNLJFTBIkHA+z2#af`p@7|S{o?DRYK(iBo>|-%H zBJ48M?A)W=6Sp%8R>hWl2KmKpMjPmDv9Re4H7{w&Xwf+sn;`*OB;%RH%+%yWKlv@&>7fnEY7RN0$adieZYwh3QYha#SNLO#x8~&{noff{4Y7No-x*oV?#A)^>L zIGEVbiD0M;q}9~)VuOZiNx@#%6V_s<3tCS`gJAcQTHuUo;>1)I8pEm0gf$0Wx^J6TrIqv$Y@VDBwwa18^3!8uW5=4it-Ecb%(RrWWN(!97b3WWkh@0(P;rhE4cI3n8ZMML9TJ}fU3k|@fa$> zWC$bO>EDVI<~iJeq4=mr7Hs{#tSPzVDM0=w{T!UFlsszE50WtrYwJ3b-Bu9V9U3~>+*qrY+{7TYBH4r=v}72_3p3T&F$hLO5JoR#D4}5{NcG$Z41@02 zmFnySCU(oNlwB%;G~zrXfNsPI+)^|=$NumKEO%#yWU*(Y&WwL2 zQco8Hyixko(HEPmzWu?>38D}c6{3&YB@`7G00&FhwF?NkQGx+mX5nuzPsU(?#KB^c zj@Pa#j;RW&4yp~Q&95!qQ6euolp_Fk+_M91Pzw0vyGnO%*#abD(v_*%f|`&&1oq~K z(;NTXo(#P4SQ>+_a4yOt}0y^TAYza9b zhXSMO)xr@RviybY5>-I~)o2$sLod%llNFSkaau6};{xj}go}_y4-&he*v<aK!w;( zN&IFIb6VAVkf762Nd5Y}tswJDmE=)$#IV}$_&vIeL& zN&$KK=^7zu11bzK9|A)u*a#yq;VHf%xY@&(I+Yi|JQY}x4DBXBk?X7ko0|J z`#`#{mtB^9-szQB#8;L!IX8(-qnf5QEolmCTG-5b3*^FmPpRIeQdsaxx z`|APv;iA80{x#;WzTZ6hru3Uxu1>CwuDq)Q$j#`RuJ*2WuC}f=t}>UuT>fx*?()0K zGnZzUCYRrwzjk@*@~g`)E>Bz@yZr3(lglFzsef?!-sPdocPJa?j;!m#9Zvc+<%54O)UH)sh{PNwWXtZ(D?9ETJod*I$3{f9IM|y zU0S}q&XV4r#-o#gJzRQktsjk#eBk%jUzmt2VQtTCanMFfy)E(D@BdSKEq*i~#Gz@d zF7>z65n-14;JMu|&eERtxHOJ6oVB&or3&>~K=b)uUjCMNI@uuPHONv%TUsY;dg^Cw zH@&w$Tg$elfxEzR>Hbl7+~fWE(>TC&ds!#?Y`G9lU29o()@QiX&mQi}aNM`o)#B1R zSuWX2|DLpOS>w>(!}_i)WuYGEtADlMx8-F``|qw!rl9ex?WTEJ(^*^{%GAkR+kf*g zYZ&6&Tgq?Guif8;y4HFjoeIyWOS>Oj2V68S+6U-mtCRWTqGi1Fqy8`RX}f=|J%5Y8 z9pYNT+g)pXny>X;Slfem{#HL)59)6TL%Ehb@r<%x))9I2!sTSIlTD=;>edU_%V%pD z2&2EZjOIz}PA^&(eYV!k;@9Ti=7%s#d>V)Pw}sJq_#>_po_kr-(mK-gv~AQy9q6?T z=^1*_w3cwVi0fn>o9*d*E&0g)E)Qv}zp*0?v)8qS(fBs)_cRW|23h0MvMuGqrGEe2 zWsL{7mt88-*rBYpyr?_mWjdWqgF0(ahUJ34#&YS9H@(`*P+8j0o*r@i;V-m@S>jm3 zQQmm!kK!yBjf>0DPMTkPJl2{Pb?Hg(Y2B>tLi`@o&r*&~=F4H8qj^~3=`3*-*7Pr3 z_|toPxU>v8E^Ga1T6)nrfcAC7TSMbo^R(RS+R|I+3GPo>cj|AwtZ`9Kf0{4aXK5GB z?`4|y_=xLD{o4I~X&$s~?Pb5r)0+2x<94&wnYy@qak1B;W^ZI8xYnj$`);iMo^j>b1&7$q0&;RK?(Y)yIPt#l5ZLRM=(^>QVch_1kYdx&x za>xI!Gs66><)ge%OCG1%%Cn~br%Us~a|gt8f(tU{-+5W@X`ON3r9G~teKf4yf0nhL z?eQmA+k$6b>Suj!Z*ymBe5*_QYJ1+k@LP?1U!!3(?SK87A+z0R@$G1%l-ab0_kr7X zZ-bp=pZ0q@Sx4Eh_Ivw(_%k@`&20AvWA}k`M$XeU)ZDbv67PjBp%A9T1x8K{zdfOzo-`oEq4kPPqbFkf?{f9p% ztF^h^?k|^l;cVGfmV?aGR^NUv$a>grYrl7vjj+8sZY@rjD_4YTea8oH4E3E99JxH! zw}0P$gL?apiHPvE1V#Hsg+_-)Z46!Bd*a$i?UB)4M?>{_-(RBUighoZL zTpQ^-u=l{;{VX}nhzJdi4n-bep;5ltwZ7W$P~X3cjSdab()eL(5r~j5l;Eq43SJ(% zCOB%fZ?IMywQ|`8OO(j9+La-p(Wpd}*0;SDf7d!3h6;!E=|j^8x7D!s%C-N|vrh!F ziHr{IBO51MD_bXvl|{)`%2vq2A=%|C8!ro%ZIp%LZW8VyWy=xnE9)=o3pubsmZRes zSp+`5|40>Wc?y+9BVCjw^>W0Vh}DB@(IVQwU;5x4)Mt z`1tfd4H}fFvluf0(@T|3?3R`#<=9#I_>Z@c)?q zOW^<{0Zsr%fIC10;03S%xc#?s_)h}>C;-*}v=zVuU=J_>xc-Mw0yO_aT>ta2`JX+c z0CoW5|4bGDDS#Eg3}69p{O3pg|ADqn49DF!An`ilxr>=A|?`Ne7|ECWR@o3Shq z4=fR~zT?A7B1K1mtmFVZ}vWI<_%EUx1N z-VuB1=Y)C8rIeJnB*soB7}lI+^=v+DtI)8suN#oL*oLO=#L=H?p3`HZ8#M=!rA(1x z+mo^&?u+k{qG{vIR3S%;NeiW#Lo;Fr!w1xX|2=AphPlC{NvF{mb)sydz;TeKh@TK` zOtM`}_qO0GPkgg=@Lr3-Ck>4h9)e9nfJG}w2Soq&B#!i}mydp=R~tvqpY;d)J{qHOLYB| zCUqLmmh{alZOvG+8#VHrNMNPz?TX(yib%TD9pB1X50crH;lp8-9wdvT06MC2s62Pq z3hJm=U6X|eF5byj=vrp*yRERvaTU&|52`XTnF!alAf~&GwNad~(y;K9ko-=o@=5Mz z`s(tbjzMpUv7}VcW7M>e6MVFW?9#lDc??ea6_mSX{gflBouo?3|8ZZ1NbPV4hU)qS zDPgQvv|KueLqh6a6vfwz^WJ59A3gD&-Q$WCZQa9kl$3qL{jgZf{etTB7*DeNyK9_02&)phNsFCRbML)Q;i$p^G38_|f8;C|fggVX49xtK+dTUF=Uu$V+)yKe}QszkyF{ zF$gq{^HC$ChqmuA^(pe9%6XQ0kvl|B7pB>7reH~Ng*!s zk4WlGz+keFJ{6_*B}aOZDd-al?UpGCv@C?=rNYOBqBrdG^=-JVPZXLI-1p#x%h`EK#4x0YNw| z@Nd1N$eroPsd0l}))bqw3f9#%BRTa=0|XN_NFgko(WZZ|uVu@R>?l(HlC6SYLw zY)G##!XmBYgU;2r&L$U(S((fle-pkQuv#P>OnLrOo3zZKe;!OSiD;yOomI-VH;qTE z!agoYCvK|ar(yY)5Ts;Pr5Xz{`6a@uR>)D-ut`a*fXE1IJ=SBT z6~3m1E@y|^FwaapzajS5Jj}MWDak&^MZKk9490}MA2t!DT7HGS{0)vXd#(4Rk4)zi z?7qwgX1q>zNI94-ZbswGoco2Nr_b)uxw49P6F2z#jl(7V2Gbtz0+^ z?tt?R5|P-WM~dLnZcrd9VtL0f1&o}{i`V$ox6|(2G+S8TSaa|ym0-?~&2f|ZkxpLP z)#-0Ut3|in_b6*+YFWm@#=|t1#!s`vHAhSXg6XIo!}S!7&Nik(+Qt}0>l(+GQ(=&Q zf4KV7v`*$D(>brO( zXuDmsKrVVmkXJ>+KbRwDxkOt?AF6N74>f6)a}wip+%u381sw6P}c!E`x+S1Ot(~r@l(*LpDrTvvX{?%3)@6 zCM;q4)B5KqIbkx&>ij?|vboS~?7B!jkwgH6;OpI+UGJGVV(qR41U_i(i@0gH46p3G zE$vuquK@VvtC@*oQ_bEAp8OZ4*HuhT(+f@FHfhBG_YfxZAIn8Ko-k-I%D3raJ^k3M zWKxl>LAwb0o8;uf_)nxA@&`X6Eb4OlA&y!yU-|a*6`hCRvOScM{#1- zMY~SwG*>svuPk{&`DsB8c1<1x<&JyCx5=Oa%}bd<28}Fl9$=uf`(=qh6&1}UZnWbu zXvgYc2OXY&@d%NQO%lB@izfKY=jp$DH8hk$kEv!DSJrL7?8gn_3l=Dc5+D5u2&Yt% zU?H6i(IRDTErb)KV-e>HS(uH_EX0#FEywwF%P^BGB6mz-794>6o(GSZ^jZ~FX zHlymrW^dqgtj?WJh&zzv9&+ik-vpGE#B;aNiO)e(d-_mxAkrA3?u$|DsjX+NC~bCJ z98<-BL49p~zI{L#VA`BAyXAQTU?+!=81^Vh3CWe}P7+Tg_uy3{)Cp*hpng z7JM)DY5KSZGpqzxhWgxhC=P-oJ37{8ve8IJ^|Ht8`IV$w> ze3UO;yC$HBb0qvP9+V0>dZ^D!H@S%Mn}Dv&0cWf_%~1m3x&0pC?*xnzncdJLiGIp= zv`p+TS`!q0zOym!Z3EXBume=33pA?zH~^BLF{E4326vh9k!=r1VpYK(i`5^q3dg)p zf<^>bjJFVWBe>^+KVxAr{uCnvbZNw2+wA5^lEHceC9IL)GI<!$FzXbB8i5t?7^w5~*(I0K}B>Ns?Y)yhrYhUE029rwn% zvq6tyX}<6(Mv!6QSokj=@0A&}gh`W~?6g2|v?S|%1PxIhtauIR5N(+dA*_qgJt=BH z3U1FsVHUhwdl4iW?hApR`XY98e3D~Q2FbZk1CmpPVrRaT_MD|5xS_YQ5;R^`UJdQb zUA<9W_jDUN%`3rc`jwpO?6+m`9=xw&AvA|Iu*)od5?jc}gbWMBW}4`6Z?(;;F_Hmb+o4k zt$BsV+x@eoNf*4y7wiDZz@H$b$P9+#!dRBGl^b&08rc@0ecYrR{uVv`C(OaPDa`Ss z`%TK_hcp?IYK#Eamn(vL$01?8!2IEli}`ZoNyafy~}xL zT^qg;Lk{MGBu+{N-GozN0Jg@jvs94}df~T1=#^>jEx!a%b~7D%B|?>Q$soN1+;3gl z&qQhs3bjsbp z;hUYly`U8{TQK=5j2Mvu;eLC`#AM-n!>6y0a-nnm!rqh4>P5@MX>s`>0~Y5~8NlnS zzXfN1<@S}Bd)tOx?5dbLB*fun)_FuYd-9fpW*eo@my_pIt@er7eZPPe9qc-m9b;xL z9XiN3H2I_bR8;m~`szdC1OWoN=i^;A?85sES(?Vb)ai)LVS!vt5vkEOX?=`WQY9~! z76wX5y}JCS*yG~997z}`fi~ZY_t2^`)>Eg?oxZ6a?dLr)V$hKKOseL{x0@zjD($a8 zJoRq$h{LIKjW;0=BFw77c>D{DDH<{2#LLUH7@v!5gi(xF#n2=!W`syt6Qi9o4ntWZ z$LTXZ(b)FwzuncNH=$5+1hCMh#!i;(FJp*L@iMB6+UZg*@ZWv!_R9xSlut?0_XzTS zW4R@mceF$;Igko^hWM#BI&4XrQBOH*xa@7h?inG3b3=U3Dr;=Tc^b4;t`^I<(Bglh z(?4dzi^(l3oD(?Z0(qjJQN>;trBM$7tX8}PljaeV29Y2Y(6ZWiJR1w1tz-M7wD;-Q ziw;?HmVFgH;_mTa9$uM_vC`W*|GKc0HFFX&t(-{fRF+8} z@ebGaElDMQBSx3_CFek0K2OHaCD=wOmaHa%;8C3AnI`+GUV)#+@F?(X2I|Vq2b8za zVVe(xfV8=MmfE=13p)=#Cfj6Bpik*YIKgX@NmZV>Rss*dQ*vk(tAJ04e?jj4yfjVE z@@Ohk`p}%%t1&+t+DNF6?MEX)@p*8N=uMF0912L017sAHQJ}^ICZPwY>97d*!=}*Hzja^qr4+d7GR^6tFhuvRFlX2{ffuaqblOkV zG)j|x8o8Ao9YDnx-%o0obsQUG9mJZ5mxc(&YC$bjcp8U#(GOmCE~8|LATTcCrzbAh zmaZi%(}@x%jwj_UiO6X?#M`H&6B8Dc`hmm52GND(QMx37Ng;#>F~{kxi5z){{IUF~ zgUM8$pd31nO=qZ>^SQ@Gx$fCl8S1#Eod7!fhaOcwBhtXB!Vu<`gz(`8qR@RL_-X4e z5nUpS|2~<@1v8;y-6Lr{3;+t7_0`sN&5Pchs9|FWBqL;0F$!Zan(ML#_n{WZe~#>t z7>z4d*!3@%b|B(N#B_>~ng z52C8p=2PPGufp`EV^V+-85DkQaSM~rxeq6%s@i%;*%>h`8>i8`SINNCbY^X?bgL9v zVRg(-v3Hs^Kw{18XNrcbLwe-7C2(eF<4|pOsx5DOe*(u~;hs($q8;Yh;0dOB%D>cU9#klLpv8bV!S|xoF%fD2++NC%APUprGMe8H{IR~%D8xYX~k z-~4*a(Jmhu>UM++L++!rG~T&IHhX`=scLHzPMQ{tIaH$q`o|?%$+X>jITaf4b23Vw zinfviMLWvTdJwRh$7HWKi}Ve!u#u*31Al~V8H3Ify@SRK-A_!|;h*%k6~ln^C|u>m z$L9nz>BR68`do39i6ZlSOCgO1(%|0_FbJ5jMC4)7mZhcHIF{mNQVm{t>jsZDiyu6 z_Jw+ulcCFzX?5p%}fQo|SS{ZuAbsWmuM9=4honv?P?0%i7Z+ zx5^2x-cV%F28tQz5h`P9UVl(7*~?-{s!}59WyaP(u77Kcpy15);{43sI-OKSsCdIbtw&Ue30(YX@yCRv;f7WJ^5<50bwO+B~i+C z;&Lmw~QLzA$$?W*hz9vT(al7&?9e}yIvMUg=1<%Yj#mUXe~NeX6@l7T+wa#e7Ws@Py6rc4MZ+4thjO@ttq zgC-l@ihsyZE`Lf`b+~CcIGqVfZj!;uE~c>8_@SypvA=;t;30(5hTm(x!r-y9GNH#? zPtP7ebC5ekGSL#{^h%s0=3oS$p=H9GA;xNakfDwmKdCWXK%IxTgda7M3M(cordrS( zNnLykJ&OA6I21(7j{i=msiAo26FdzOCP|jokQI;mEh?<2>?xrY(i#pd@PEo@H!Z_X zC&NoF=YF)-m=1t^NxF95Ji1~QTbE~I;JTYjaK$@b@=~dW+Jha%s{3PNk&N3tR72sg zU*6I_{I?sY6E50{k~hSyO6;r3lF@`u7phc^<8_k!!r9@fR9n9}2*d|ft#;Vl5 ztBb(4TGy_*yr}iOffw%y2CK4@FbLRJz4qX;V(YQRM$<@VB0}qfTi}(G5)6orC^E$8 zN$G?|A(0m?p|IP<0j&aq(6EB*J}NB6MD3tyBdgl&2h2Are`Ix&DwS5qkclZbtEejzr0WH;eig2#=fR8;0yhN}=mMe+j2HJ#60 z+D)(WAPho%;I@`J9AwhLL~n9mBhR7NK_J30&SDowjt4QMY6d!Qt>ysDma#=xf8~!C zkFpDygoMcF0+HtUhH_Nl^3sxOGVFBjd^t!`n*?r-?ydQMNNGB!oK0r=u~%}i%FN=J z$u7Mh$StZVr|Q|pCrJaxPl@@(2yA|O&8gBQtu4s+vL5TA*kBdD0jPO{mnYm~l}x^# zNOvN2aZ6opt`LZ!4KJqC=DC_u{?i2#K!nL@s@uhypE?n7$bbpS3zzHG2_ZfVc`3v2 z^x4{))KUZKF5K+~*DP}x!9G4ULwvo?S?Cdlqvl`85eg5esEuOCritJdMj-`AP&;K5 zS=ILEVDv~pEOsNMRn!^aSZFj)nnwYk`D2MPpMlLU392&T;gfgbYVli5atT7Bl!}~d z72{rJSYSQbA~_RFdb_al-qF{E>^8mtAIjH|CRC_X!WiRe% z7q+P{R*+6#)G}*{pU~Ub?=q=Xs#ex(J^#U)C&EoNq4gQ_f@YZ0HuvEjfk_>4c?(c^+^1(SO zl5OSLJc_WqYU!J*5KPh1DB2g+`?XEEp;jvO_&vmWqQYIt%a8a;UJQal*mj}BsooEv zi>UUDIvE)QIF|GTWO(H<7D)wZ#ec6L+$kJ^=U?n90BtjxI9(D6MvLHx=L`#XYze}| zSk5(8c%L8hCyAgJ<6!b(F|ecxg&io{Wy_n#^+d4MTp(B&AYZJXBMqRp_$w;0c$Nkq z-S1>;1eef(qk&Z;oN6)ot&x`Tp=V$(%EiK;wtK#f0cZ3YM{6Svb;&vWcKDXzNV&U* zQD2;*qV_bl#cOEd>B~XyV*`(#ok3}L9{3pf` zh)4RvIzmq0^9-Huy)P9^Zl|6wM3hrLW+qbi{I z?KA!AXh~Y9PNJ+mPPrCa<&E&q3+0pK>(D9f=X%+Sni#(-@kMARd*bpHbCs}B+8705 z-ru+EP+9uc2z$Xci!CuR2j$tr@K`N(N|8Ur`f*tqSL0fTY^swG{wG$qvzfSVHT9x0 zifBn5M>CmRV!I&!i)czSX0Ex7RvcT~Tji>JfFgzZbcU(Lr5TFln>`-9 z>l8C`V}}3ojE}dNWMPoi^aKQJ-FOo10>S;xcPxH=rtwaZ;@`01Z4mYL~8d|cpYYem6(FAw$o~OV1GQ7LVsm1N%>RI}Q$__Sl zl!Qm*Oc8`gP(`Vad^b1u*x`-o0R=>M3A9TNzVT7#M1`pHgY|{K4-C@mo#IE*md}fv zn%#)~t7krP6&~57-hL6^-W0&2&`?!EscLX@E4Hx-*B#ZsUDFQBlzW<5R9Y1lFzNhE zr;i6K->br~pwT6nrghMvfn*-bk!FF0!Pe z5E8s|f*YEYf)(BF06$P1LTjTi3Be>!uEkK4kKSK{Yv#oC(Yy|A>m|@fh0UUjmb0f? z7PN-hl>Yv`yspwQ2<&CWE~x(|qOPjbEP-DUESpUk)9qkPo;5;2Eye1OVM@ub;>t0i z<0+CJGImy!hDq7WH2k5Z3P#Hgy(^Jb`qdu{(L{II6u2>CBut5)*xDM~==<7L9O|94 zO(Cu5H|j+b(H{xw9fR{ednAoNB@yBed(DW;m>bC0>F2;+J*Ev;j=FKp3Ta1xc{}Z8;nf#d~H?sAxxkm{np0{!@XK0y_tG+x@dG!r_NX;cAb{!SDykswTwM zOu|ZKt0`csLaqj(5!ay(nD)-7Hjhg%jmJ^%_7shEO{>aIcR?K6%9odbQC3$dTWEsHw$CM2@?pds7}zFtqUdI<@5xmtOfDX6uti;+HngFcphCE-8(_w?&aKQ zfzK`3&=II9mdn!3ZAu5FO>}eRU7J?}Eg@iDOq!)A^mnh|6lZp)6iYCk@eZ?2ER9}D z&cxwD_*1;L0Zb=*wdN|5=2$cF1o-UBh^kX6TaE1KM5-?fir3%DNhQnO=-lz5sIqXJ zU{i4!1h%tUQZ)M8g=x3J=V&o9@JSkNfH{miR#}QKFlT~x6b{b##+?yoN`P!;Cs+yn zgnp_Z>XkWrH5O_`ue9hDe8Ir6KsGCa^-!)*qhF@-pCaxIL<)VQ^nouINQ-&u_@!4i8N|+G zac$xD1xQz;D??53a5|G?U~iv8CQ*odfL*lOj3RgLqUhLtcXk-v!afZ{BU6H74Sf}L z`JgxqjgQMPQbIcXoKoU@lu#-+MX5q!xZ;NE98<3$qsYK1Zr`N3vS39fyauxFUKK{; zL#Nt3xPYmYvV=*4{{diz?1O7F`$x`PU|{5%XxN4hblbc5fTey0nO0&`LlsZ=LNWlZ zDG8f9k|1?Pd45SQLu>*aMch*-Je^yJ80(PZAiVuH=092}dO56;0CcBQTe{28Y(`&F zf9^nh)*{r9+Ndjm%8WbSo;{7{3Nl-nfa$YY+vbIzVGH}>NH!sHakwG0O6}2nTgy0S z)`Dm4?VU69c+Dj?@oe(wF!M zRtQbPzAQ+2oE^17q6m=L&?P4@27M4`1m;cWLN(@6AO@S1O=p&UWnFa2vx?X>l>l&g zy0DN8#t&CD?x+A++~gbO>H#v{nXOc7&qLzsbHO1wmAiW#=iyh^Z%Z+ZU z+@=Y<2Fso$>X;31>cs#^ucfOHDpA7DqOn|wM^5WF;?QI%n(t$a1r1AB#*HRhIpy;7+LcrDC-`p znzsaxHE=Crby`Xfb$bZ|-$npgzQ)>dKfElMQBqUh%U8B2ZdI&R4?Ayo?ooskR#9>* zCp(HPu%WZpmz_daj%=h^J~H6SO6wX)=;URDnCh=Ycy>}2kNa&(oRm_g`MN%UiqYF$ z>qyCN6*iPLeULwc(;by8o8_%}^sCqbwUu6c@o zHNDFGBkuV~f4^CFlgaFYWn~Jj!UwpaoD5trVZeaiO8uqujA1Hx@6o) z&$MnUqRCy~t?sHYEmrzJV|1lZnX(W((M0B$*YNaAot`U|1tMccGZW-m;oHm7+!&b> zP~Of6*|Jy{2myptO}{9Qq}(+N!BC%+o7ASca{1&~>3OeGDKGn4N1cz^1X&%~CM@m7 z6*jM0Zhzvp<(X|~>Z6#fCvnbVb;cY~xY9HImJ*lbxCZUVItSzc=n$m_n)o`=}o zYV%oQw~mOb$85yb6T-h2n8T@nVW~E(;DXX5Q$)1(ts-x;b`S%`q$`x`Zudu!IyxU7Y~>g1sND_2CG9 zWshrRVS13TSffE*W50>}n)ug1|7!<%u;=R1VV4L(T^U^dm^F@4e6|)X?Kmg*k<)u` z!L(GfMzELsi7oXJ;;K6LLkz+SwudZw_?o^i9$wukXig{?C)+^CQvjdI*f7;ZGD0R= zoHK{gxlKqx+XOaU3mju03d~~Q zJqbvb19g_MGn(Y_a~Dc|Rld*_#|uyLBvLuE@~5wI&1{JPuNVf&S=?ibjYFCEi(MtG zXoiGirH}BTvI6wi1&ucUYC+O6H-&cR;3=Kqzow&U%i;KrK`^B3q-==Vx1X%$n2X6e zRZ+R=61R;a=_V+DkA<^9`SGS~2g(c)IYXQ`qPKq%+8QlYDwL3s)t^p2G)=cT@Y+TA zRL|_}0BkZ-&kq|i(UN@^OD^&e^_$eo539>HFEB-&6)jIu1~T47IZ(XxEzV|Ll~*}) zCdxO3%CRf@l49c8>-+Ot2zavba{wA#S<`kH3!J+%E~}ygc>96S#`XwiU%efX4fW}n zENRum1%_MCQyPutcbZKk7oFP>L7^^4KYmWjr&F>dXvDe(Uu-{fQ-34sTz$Jcn;wTs zMWHvewkQ(9)-f_9v6u5R=x;D>`qz~z2w7Fp8$@9boLGPXnV_uICMP`G_swzNAFGfgBnR=Y%&@LgG14TfP z{##Z)gG6-Q$6tD%iRuclOh<6$cIemg>g%;B3_>cXch{a-O^v3XpMO1KELOmGPcttL z`c#g^-}2uy5*QII^lDa2pCY|SykuSnLTHzi1K-I1~Lchn(t^55=! z3H#SM1y7jH-hQ~;$JIn%kQ{FcDXsF3L{rP{mu%j;Xzbjy2v1`XYjcfz8MjqE<}V;x zmULc7HjJ8Dl^rA8p=wPDK$;e}sryoj+`7?;oKyh|h(Ebc))GnoymCW0zX6g4G;?quKjDV`9PlOo~ zth76n!syqg5!Y>yVvNjx>QvU5yV%sZbQwhW#$-iL3D0~+p8yA$^l(+{@0Y8w>C7BU zqvBC+QOVD@#)v^nq+2H z!+42V;)votWB|RpbUL19#BvLF@9;WMCDMPa<&tX($63tEmmlZiO7f)zIVlSA!~AG`g%M%~74aNO1mdzc=KVOg7#_XIj zGb|fus@QkLL67~f%$l+-`8&)i#+Vrn|3nJv)^~Q^)OGu>U8P+K-3;=0*PP<|JW#vb zWpj9D%-G~x8dP{Wi~i}!Wk`U5htOT2Qus2$hWOJU{TfnR7UbQmprs-z`7dbp3Cn z70zOk88dhG^O=_kT^Au;UJCxPfKO+mxZ{kW*TzQKTnpn%vi7^}cn@|#B00-&=xXmM z=HzT21*ULxinXsX;G z7Ou;#UZWTzdcktnx>V^Vo5O=N*icE}h0Ob4O#ytC@mn|Uc! zUo;nx-FVCg2VJyl?_m%nVU<%b19oA=0?(oHj99WY2h==+=#xFFNg@5l)09u4FJ>qT zQzuG-QIv1l!6*acRR3lhp-tPQTDKIGuc+Oeo0!cjL1L|nn$O^w`vaFlhm2*K(WDSE zE>_hea2WnERCTEcWn*N-C&}h?0n3lPQNH4jyrm=icW27{vTw-{X5nQe5}|5*$uEPK zW-CeH$*yCo_Jm7MHU}k%bqg&2zRraBai`WmZ6ZzwH;i2xHE5-HswWiBs8`#qrN_*x z+FdU~Q#cZ1T56sqIB7n!GS^s$H?M0Jub*DlKT8OKIsOye0zXaY4QO@tWV`a=Uw;tN zSi0KY=vS&^4UPKFaDNDk&11&s)!cvSUREpehiVsl2NoeIcepE)lK=Q3>XDCENLJR! zHgrM~LNg=wU%N*L+y!~6DOH6HBb+`l`vp)sdc>ZgcT1vKco6Os9ibu1}| z+Tt!5g?Y$v18OT##CaA&UEatK-MPc;ifGvP{e~o$!ZGS%%0Z=?Mw7y;IHuMEk76T> zA;ge>;b51eGJA}3k7>byo(b6F^b$bGQI#U+DU*(ihMP@YQ6P6&*aSq>M?l0`=g1c` z`=yzFs8!#+Q}co&JdYL4XTKEsYe2S1RLT~VXxAsfWeM;`fQ3<8>=Q-%H3Hl=bo2oX zs6+t1vz{Utk7xpo*iZW*2YKX#5l~U=T?<4z>9RA#%2=Yh%-Ah|Pg2Qq=l7nkjJlKt zsLl80Eg};+g%cDym`lZ)&{+1mN=Wu7R}=B#gTMVrlL9NW+E@bp8ik;NhJ)rUP%NL> zy^HM$UL=bN znkhNidTaBC8RYK$qcZ%lc=(O{XWrH)`Xu9;^N~hM8uUtx$l1l%DEePBR;BIae|KMK z9ng>pjRIG7bjPt_6amuqW&WEqA$|7mz^u9Z%#U)t+rfUuHf zgMhSz0nuQme_2v+K^cffjj=eX=x_mDKHUW5txlJRZo1`b2N)Fc5aEUG-~&ssE1%c2 z*gn*>@01A`jaZlj=6oGO6c=0pSv*M8RLKRxKUzhE6C z$|}tTWC^|0e{P#i5^PiP0XwoZ#|-pu+}hAHo!z8EG}`?TbFLqcv8p8tl@*}_A?9)C zvSUQw-Wt!eXx;Tsc8hAvxSP3rOem5>H~$%;77Q58nM%FC=#^XMz>&6mH6sbfBxv4* z-T!(c#rrrmI722zSFQ_1^2)o0FAWl_Rvv&)%}>>1jFYMwySw=H7A4I-Cq^->PHMCh zDGNpzF>4n&*v2p`e6?ktu{f!Jj={uy!K4e`pADW~qCU=8#<~sg z*T@y`{a&E2eH`ApEn8@$i2q;H9&ns0^g?)jo|8h)+f9zX-jLMzT9mefyJk*h0d$o$ z5D;NmAqreWOT4N*dM&^_3`z(7a}ojmT;jyY`XyD8qal?ksVPc2Zi|PfLgo!-yV&(y z?yj~wg=Jgllc>b$Kx8vspm%SUhC#sqBz zG+A^6zl$_{oR7T7g!mB1!%qPm!uT$A*VP&)BFtf3gvSWH&qDH>G9{rXu`jHA9@j>< zTjrjl3{GrNnB_wd*Ttc6f8~jgF8Y@l!9_RoV!r47xA+WOao88=+d!1{Ts%{5$$a(U zezX*>r`}|5a(ZYfi9|x_6}!~{*2!_PZyM^aEPK#{-;E$w^ijr~zi|z#1-MMoY9B`TqMgzRKYqk=I?x?AusFOliN?qB%on@ znQb~M(NOzfgyhWI;7-)WbrJujt2DXXoeB4yHm=Goo-wcpcl1D4djtvKg%ZjBsuahR zS1k9Y8)a0abT`RR^oh~m|2MRP3Fa+z$Xq<{^NIc@mYO&U+I|ofG>Po8`1B2CNv^~| zY+WP*cQN)|`PKiB9h4L+5{T3clY~Kf2rb$*c8x}@mA-$x^wsiZNn~#Z)?vdU1CZLk z^`me#C0h|MEWKVB#Q<-3I(K(jZJ2-sy1q4rKdla{JxC(+!z3~MjkA@ia174F^Cmpq z)w`1T`>t<+s%8@GV!WK|m4+nWA}|#sfE%I{Qy5F+UFBS{f*`bCMG(S75OhK+^~Uy2 zzjwwWA|B+aToy!sqBU(mY<}MM!)?Yc4O4i;cD_749kcXbUM!{peDaqySYKtp0}6K8 zMw0Q$zQ~@LTbj9l2ABD`i8PBxAx<8};22FO2ep9uh7`jtabXeBSk`pxGOIFjEk9S( z_gTl(UoPhWcaC|@jEg3?A&5<9BMq?KqQCrCI-;WS9Nahs{}m5LX&3uq+~8ovHHp77 zp+5H1BMg*3ooAAY$X%dAoJXHvr4$}yL)$K$ApevokHDacQ#%QY4pY56e228JmS4yg zE6%|K{2f6I@4+20hap5#7Er}Ggc6+gZ!9zcD5n#r=^1NX@!6!$WN0D+k26A)D2t@7l2mQO0>(eZ% ziz0$*cG()YO~}3hs>kGdL=Kz}t%!YZWUzF7f!@J2o)hbe(>~@nkgP@u?i8|54+*Av znAxlRL{RC)I^u3a%_Zdvd7!?s@00Ls*<%S5~9r$1bGk+(oP zg6--P*-SiV>n_LD66p_)0wumON{0@-H=awc43Xg>tbd1!=;McZ0~GH)W!P13+FCsP zzC&`%`Y4lH==_b&;xY>-+c9ejY%zZriZ@O*#qvSGIEB5-) zCz9~3?{)peB=yEba4EHZRdvpdaoB)dTDQhPhY{zQNu%;b!U#QcV{xz-e117hHt-E< zy(|rhsR`WwmolsumQ(0EbSZ^tIdyWU1?ZdA6msm;Zps%F$C>hNWvxd}a1&<^2NcH5 zF9*w$k>He|UdC~$**X({7zt^xf}yglb4nExr7){$ubqJBNRV5Lb5~^}mU~PohqFH* z`ccyongz)sG*CaiOWgh6nw)ubh%!3fttRL9$$!fsj>%{vymYFXs&xJZP5kZ-z{*g3 z*y*W5YRr(}gQY)IKI0t~+}gq+B}po4FqEQz&qAjvI#mzG#(p}Tvpz&acKY9cZ)s!0 zm$SRvp0V*Y%XW@sk4#Q~o&?<;vcL^2mxJRtC#`|8`nQA%Z6h6FJirDXXMXz~%-iuSjgX-ov2 z25Wy(yPV>Aqk>gD+3jyi|sukY^LlzO4jiG}Bv%7Ik zN^2mIMmLmyY@`o~pSHq%2wk-?fBa2mAdbHN<-yD4&SI+r|JsO!Cm3hU-N*`?#Jgeh z^xc^YjracpFF?@05ZSzViz(2BCj%uf@=y8fdV{KThu=ci-WMd(g@$5UgP=X##dycS zi{*MZAho&$(iaLJXaHyH-Vz=f+O*;iR3M|MlAJlYlqrT zP{t;ds1#WCr)cqPh|k)!%YH5%l@vE*!8JFi)qj?3w8%@e{#=egpq!kPu#xq7oG1JF zQk2XXEHIe**eY&Tq5dHnN+tpMsbzPK1J$?qAjEX%bdZY01-~QHLDY^8p1>JmrgSPR zm)Xl+lX0U`SqfF;0>IfZ6EH!_a3d<0SZcay1DuI69V)H;p)mcLpnPQ~uIxz*txWtd ztuk0Mh#LvS6(bTb!%1QMISv4aFAQ7iGu^MmoiL(14h7O?3q=3`-k@aOcN)GR!-0p-?DR5_l1&XLLCD3Oe>6x*!Y2Oo7X0EsHm{Wp((-KAc&spz`t_-kSb;9hntB z-8=)q`_~=%sv4uS+(rvy@5U=B2>emye`#5M0#!Vy20-#U;GoN2F(ZwX80EWdjW9JJ zVsNMtop^@2F~&n7wsQtnrgC-^(6T8e4cLV!_UCE%;4KiCO)TdT7;^=thBbtX>_us? zQQzZQnt=Ry2n*g!7CB$ZkO3^l^ayQ@y6tZ5LHd~mvne}%gZE~pw_+*lKymVYL!ASh z23~MGAM7u>fYu)#gh7x~ChxDy782;vI1t9iW zU;`-m*kyY?`nck0TLi<%`qJr7mAb-U=Xs+M45k> zYmh;=-Jl0ZN?1@xBFZ-{Ru}S~7h^_DekLd{p(&R| zZMQI%0^fyJx&fU4`_G*af@ENmrqJ(KBpD+ZK) zd19YL`Ahh32NX1u8u3h~4c|=kLL_QOD$K`m_EI3zbnX0$B+*y26jh>G2_muLsLpc%Da06|H+BvI8sy&L18B=cDa&me;=;R0WDzEA?m63Y1 zQ@(y=lS8KV&@)<(Vm*s*QH5BxYAjhrNJmcKdA#srT&#XnfHsoEj-HunTk)aYgBYkU zDjR|)up5F~ugP26#Hw-a2NpVYx-rlch-WC8*HFcI6`o}(+f}4q`#g3 zvmt||Fv257>3gK30YI}6fMaQqaZsa~n6@c0C};q<$&m=kEl2QT;S3j=QD{GT6tFk) zyhU1+e#?>K6lJhS8hC{+)y+aSDJNlnYQ#&*fT|R`--3M?77>XNj=WL>-qS9JAVbGI zPJz%eta;D^zkw@%hi1_+%-;A0|{_QNQ@+Owi53e?*@!=n6k=+ODg~!;t6}6TUupc-$GcR|7{@S z=+HQ*H2O|*wp2+Uba8$~_+w^vESuL}7E_Z9K{Sg*(=pa`u^+4Q3MS8^AdhMd)GuhaBR3 zSocc6%v7GhIQx07#2zih7=0Rsogw0>5WG08c`$JGEMcG+@|p`n4v4faLmc1){)y*L zHyn&A{A2~_nl%(9f-v~5{DVwT1T;A%rg6$~{V2o|#802e4aRnFY*vY2i;4;iJTJ)s zT3Jbe8gxlLsk%$!P6p+ahrMXHAYDLLDcK6JS$Amz75n^N4qv_jNT23SExyfAW0H_o z{1T^Hx5%pCVjpo1B(p7rOWDCy^ryA7bdN_>B-=z(Sn8}(E0cM}F*o(r+5P~4bvuHC zHSP=uNAJ`ujL8wD5mNxWRUNB4(>W~xXt(s>L?_=a^ZlJZ_SkcHtf950pK z7GUgW#NvzFq?Yel>odelAnm*y=BQMY803O1M~ozBo|k+++E~3~yj?>HfvvWV6jS(s zu_*z@jE2`u(&Q(JBP^^_J>EKyj3>j_V1G#OQ~5s+?R7IUF+>eh4QOtK-!Nd^X5WNKvO$3767OvM)UerT<|;%an4j z1@ogI8GVjT5Qg)~QATLp3rm#dh2w}kq9K8`kOf6swnOoc0(ZV`~+ zgv3P_!h0bS0GC-z$X@`-@o~JlEdX&CJGLWdL0JIR+E~&V%Z0M&kXQx>HZy3DmJviw z`%hK-$JnP}H93g54-*K;2lT}84+ijpO0^>9ogsD4N)Uv`mpEEP!pd6!2}I5ei$blm_CgJ8 zu*R?rtlp>?LJ*xRxWvt%+g8L|cA*eV3S=Drro9TQ(-o<(tO5aT#H&Og z)&Vgpx26Vlf($cl;^>wZn)68#18c|076OD4rWjjzN}f}%v?8a<)oxX7t1lV+cSxoD z6t4bydTpRDQtB>t$vi*cAz?+?nEdXDyx)S?cY}Dslv%55IFv$ zU!WWgZLy&wFv(ZW7=c5V5y)gH);a(PYcrf5>^*l}DiiFBm2CzK?y(R7of(ENdmXf$ zl!1r?eM9Ei5{Rj2V!7`Tth@^u#+12^EhyzY-YI?)4LDABRt!EDe=a3(MC#$Ge$Mkj zl-rIhJTxtLPzORStsBP)ezL7CwpZeHLRj;QOJFD#jR6b_%N`_;lr--Z@-6omw|2GILn&XtqIJoYOP;Dp4P4t4J7&r3lKn}2Wg60{MbOs>SM4L@w zOuLD)P32u2pHa+0d>zp-i3zfh%=8n=B1Il^Y}6Y(M7S<_AdiUxu;c=%^Cm(U=jK0} zHBQwdn%9Z}=58T>*lk1^6xzT6u3pd9UJ0eRYRQ6)1RtNr)ALp$zpxO6u=>^{4^L}! zeZ`bOj9f?CR(?Z6`GnV~5Dcd-QPpnwu)%hpWmHc};d`ozM6#UbfoNzsqn|Z9U=4g| z)}XIR4Hoq7I)NCX;2*#`+7S<)?3ueg(aLV>*PGb0jrpmYn6S5rho>GH=Q@P3fiVt* z=5sKyKUyu^PVk9{P(2tdO3XAnnxl7_ekkd9@e@5T2=XRaTnb~mBM*Ut?h0D}DuL$o zA=>>xCJ|oZjS}4C4&WRbVQeI%j&oH7*{w-;VY5iaFFqf}%)HIjJ;?M76mnpc`DCp7 z2@Dc~P63`u7t{S)eej}?v?fv&A9A92q+j8w+0Pn_Jiv67pVQZJju@^-oCAR5WC@2h zl>b?08Mq0sMuM0aCmY+vpJ~zlWQmETDaq0Nkq$bP$gIn8HeHIX(*Q+o!b|p@hKHsR zvsz$CKqM8F`f7nL=$u*r?Z)h^HxNMNIf~6-%R$ttF_AfCa~s$e{oEHZh|?J!D!XBF z34SSBptAeUgSChKuDwHOl7uaQ0K3}%#F+ev{GZ_f!RT`PD9x@Qt!E(;9L$;W=#&5e z-yjeJ$1tB4@qrgm0>hwf+mS%D!5UB=FTUvYA$Mf`q?bnMkuXClNbO2MfFO)Rc% z!wJZhJ12kD$M72fz)CChJ1=7-H*-O3pep%=$$tA&F<{b`u)G=@m;Q{2JxefUNw@(X z4n6P^urqFlWTW!m=n3Q!95NdkDb{6`<17s`V{rCD^LE!;3p1I%SEuPN?PsyOh_Vf z8xZgxf4xK!-r_RoocMq`e2kwqGSUNbBmsW!96q!(zScz%r;%x=#ddiS*%HtLr4?0^J`)i=YV! zo;6C&UPe}pB&yy6&C0<3(z8X%Qh4=Vz;HWUS;PAu* zM7zsX(9F8Z`RY9i<=B}rlld!!czDT^oZHJhv`_FHzhF!|p8uB~249oL^8SEf9L!5g z^rQp6j5;qpnRdwmLBni10qoeV?WmjAft$RWylK~kA~1p$TW3r}s2j6QS` zPt-P*0|jT2K6C)7H6U~*PH9acI#!3{*Y}RYVL=T>u^Rk2L}b*FEXAXVY3*oqJ$k>7 zL^|$AhE8%B`m``S#fB|L;5D-gY9Y#Pj&mqf39f^jfL9bNFz_VXf`c$Nw{2ZHu)VzdSqC5G5OFB|C~qk@$iuBlppuwBcc zDPdy|0=jTgQ?Q8bV?Y)@tSuicD1uP$1*U6ac20Y;4oIlMpt~ zLzhFnP)U=Kn#{ier0?tgoH54{ps;F5czOMD9+YzEf?;Ap^J#?#ykSqzaf4VtJl9n{cpoCLaU3jqHZR| zg<=ooyLoP~m`XTW7as+CZY4QwlD^HR&u z&%UNB?qx$E+$2j#-~ag$q1kn-9$5)bij>`!%Bmsl7#%cd9F-4U55;GW@E4i8*lzpkb*9q=QbxtkB$!LG%xJJr@R z*1(<9U?WlKWRe#4Q-yeiHTDwRDI#~Acrrd8x9&(_7=f%7>}NiRJYeur31;`B2Bxdi z*^Y3w*oy{{;`F9`YhH(=O!5E7TIOBG2KiRP8u2B6AB1%~(2^ICC;u**T1Cg? zPGDg}1aR7Mz8VSgq^5ieipc3;*QA`78cY^(8G&+Tc6IwwPSx1VYAt~)VCMdiS~e?3 zAVi&!kzeb)IY-6J!6%U_JK*kgIE%j~B}e&-J>8key2R;CLQK7W&i9gbWGnZ`F0)6Q zf16p852jQq={wF3mLPY&D`{kZW{ZBQ2b_DZfuwzGKb$rWN-yM70LM9b7(HgJGz2L+ zv?ti%feJ42RGi*oiKdRJ5!Wx5HseW-pm4!Kl)Yg!Q8+&)`qhzvD`o{3GyB}a;gO$ML{@?Bgn81mjWxuY2GI-(hUxx|XV)&_iBkm-=pO%Svq z_Gai3flE!&0rO;wP^k6EHt>D9+0(GFu}`l7iA2{m3k7+><(bv6@9zx zfW}v0Y^ujVyVlS>jZcUQ<|QrUMNh;<+?YXxPO5YpeTxvpO$7lE-4e1%m|f5%+U4Ol zE9dq+q1J;7aQBHGw4z2MXhLL<=6w^Op-u9R{qUbRs_ZKDvVqN8jJ}`^BW8djzpOO} zt2U^ajBu4{w*vUk`_6{&k#QYr+A&s5)P*<4S_8WlZ6rKw^W`uVL`_6uv4cUo!hd$D1p1?_W%62A)&(!jYrc;k+W8ba#p z{hWZ#=Zmg}qHpu|6q74MM`0&>6dLK!1R#zLR|4~?E0K6-H5&1B%$YryIAhiRTc9J> zlgYUI5CG&JI>x8u30XY)FTm#Z5kk=?B6s(q;^#^a_27kW_RE93k{|p=_xL|DlTjH z+?bYi4TO30dk1eErcgbwaMqIP>SZ*ONu@WWbn$`$yAjjZ(JUhoBMoc--j@Jn96Cua zoHV!!p&F9?TbF9bvAk+`BC$Bs1A^xYj)&jl*MA#?CO<2S4oPein;t>kk_6=**_h4?KRhOXuc<5|v=v+KaR>wvt^QI#Wi#5v zOf`y8jeJ`g4-Oc7eC%vAG)Mv#0PID~Q7&wN486kg2k~`=qxl11VVkrRP)}@A#_rzA z;xWKN6Z^~a4_F!tR!R;GISjsLwMy68)R||UMoUUe9^`?ojP#kXCf|sQ(9ab_iKg@% z2I*hHFzQ5+J#uf0+`T-3qSp-)O@ZY{$9Ygog+>=(oEyLpIMbD=NvxO>APf_Tidr9$ z+D{Eip3sRQ>9inV7BQHZhku0H;?OCNcubF_1e=J?-l7*2KYzq5bnhDvtpoD_lT~BM? zqzj@;`)>8>wAHLMVH);6n-@=G{>wXWxex$U=EaDTjDHgpUbeVP5pi*>I7Xlx#H~e? zmAd?P=7#FE4gvS*mF0zDJrG5^U=bX_y5a~gMzrkVbGVKyw>Kmr{YV!zcJd5)yi!7F} zZZecHuOlL-MhfVsG%q9KoX89&K_Fk7{sL?@#@@5=Cb~FS&X8vE+%wKc76Wiy21d-K zlu9;0U@>u+?Zt)o{+K89CK7h|Diqk!Fb)%zB-0Q&?e*kW_s*_u`&4rprV!o=!#~T# zB>7Xpi=?@FBa1DX$w8G^zo}SVB!&30+ij7WuW30Fs*D( zo5MbOVA7SD*RTi8>4|HP89A_4;^UvaWukewmoU#Oen=1U9#B(Fs7dGDv?$@t=8oa5 z2Vli!zkNdJm8^_4-vn&v9pv-3YezUg=C2aM2xm2@%8}C{ zv*OsqUtj{D`bU`Xkb~j1NHTTz( zHzGjc61O^3q_h0RvaEl=zLz-1(7FW(wYNvC#rBh?<>V0)h)3O#tz+CPj!4;pj1hA& zX4RshRFlZO7w4wM#x<|uZINGvV5z_qx3N-Rw6cWUm&MpT&TD|3Sxj`5lq}DgnVI48 z(0?zH-j@!Nl4cBi?s8<7UT5GYK%Bmab2`??N!Q>I$qD+HMtLP~Pv)(fE5@WWFnSaj6197SRF?>Y zt!+86fg$t^?!XvQw=9Ab9>%j2)mRXI92vHf*iIV(E-K#;Pzio*>IVU93OOuu4lDtkO41}nRM|O7L3y&Br33spVbQIrA>mIXTcGw{TMBFu5(ql3Pfi!-+VccJ z@eSVBH(P&SoA_Y%6D6(Lkzp0|UPKqPp0aXc>C)q15R0o1TDty;qwSj4h>YXTne>*ty|sc@lzUeeVH2poAkm2Lxg=j zE<_Yr7^hZ@bSWKNd;I?|&7D$A$aBQo$3FB0duULX`&`<7V~sbM<>_oXO}LcNBA?R% zpICce{5^$p-|ISyfeSd~0iL$o=LpV#2TolA8-Kq(?f%o5mjNAjbQ0=z*GH^=1~;0~ zR6u$2^t6)QR{=_;^D&7~BboX9jUbZtB#A!KXSNC%;_>% zWooMAX^I9xCeWhtIzwav&@{_-{|8t0>p)^S0rv+W_74_D zi?Dp8HQC0?EsrWSVTCh>e+-Ndg48IPfQ1Sw+W>6c5wyn9D8xQi%`paoq#2zORZk39 zzSg|PLtHbguEsB+a-n&hP`%zI z;%a2nx+GU~Eu!p-pq|k6q_Dk-N}}x=bYXNYGv~P3N0=&lken6+Ve)^xyxKZDrWL*D z)>|H(NGA!j2$TWJEkzRS-rcSehKYYwwY^>>DO^i8NvZRc)C$Ktpg;h-A{8!K#f<_p^>cmqIJAygU4YHHP7+EKbA~2&7LCmr@O$i-FdHcs3SsnjT+MMZSp=hUpXnX;gr; z!c!0<1R`&w9ux*JD`-AByX0#-tsyr+#E2CwQ!$WL=uYK&Br<~Q9K7Lh z4-oy?;}Tv2FS$GoY_}LIW)z?!kDRKhb95ap7$78+eY@J0`%J88xsn9OzGpzj1O&EQDUk( z@1E&#ysPtSRZdK`6b~|%xQvT(QxE@<1|31hsO-*4$c>BxGc@jCHI1dflH9MuEXP%~ za*|ly-bzJ|>z!qEo~i)^7=IRMp=PSFXS`vTq2{+66KJK5C6d3ReY~@VBJYKzOTfY{ z77F?mR68o;$QU9*4wHGPp17=Y7u~Fdu${JoBS3imMX5@HK|$>lV{5FDi;w0&Os{+= ze<158+n*qfCf@9RI6sUtWdM;ZGTn#A*(=-&9uC^XLHs&(0Bcy&GVw;s4;LKrOY~nM z@D2gq8gWZZ+kT}IhGqbrWXT}{+olsXHI?^g5a%FOV!R+vKHDQhcp2MzP~YAto3Yui zh=7XAFuk?Ej<96Vm0>k5iXZ8-}K23g7!Q{)`dJO-B~=os8a+T8*5uy2 z9Vg2L>xS2AT5Sb#RBeEvaxZSE{|yi^gh5k{pr)k^fj*Hy5zJnOw3!%wnwVLTmMZG7 zM^eQhG5GO5C9cxcK zwgBeYKCtSI(gphnK&ArZ#+IQ6wCW#F5Qu}sYG6=bq{=Ufw_lM>QHnE(aGhwk`QrkZpt8$r zJCw*E52hG32@TE5njnHP48c?23btvUydA$~)rMeM?UY!~IU)uXV!B~-=w@U&UAO}+ z4iXceBz-8Sge=3f^F;tI0PRs?W!+|N29~^(Bq;J`lPf_EJ)5|DV@iPV)dbdLT)Wy58CY6=9b|wj=%A1i@7iBV{|b zO;r!@6MMY|j9jQ_5+7ZVcA->^9mW8VVaw29zGInup$z< zloz)_Y!~u93Y#~92LQ&xPbO%%o%z}l`^8E0&0CbjFkg zaD^IjKV{g}>JSPj04BXmcF8sn2CtU&&I-D&lx;u29@~U0DOg$ZYQELHmXE;=Z@}1b zb=-BiaOiiam;Vl@Aba&TWIa>VBRgphlKl8t3&E7le!{s$wlG{zW$?XJLcGN4$SQeS zal2G0@=t+lf_WMQ!w~uRCF0lw0siP;n!NPw>fdA&5jC==jpWM!15M{nRUi@kkVHzA-FA zP7Y{1JhKr6mw0pUxFRbxfgPksj+39is7R-=o57R!tlk$dWpu{uk^mqV2NLUXa>Rbo zE0v5CWF8PWsY9uEDD2>bG9qDaF+L=+a1Bd@0*s^d_2A4J0+uevm_$F^Q~_ffz>Biu z6bSQwBIWVnjYbzZBlP;c#4skOh~8@dO$5XmwU$E4#ltondFGU)JnQI3Z>fJ2*ho@mCm% zC*!qm6u>$#7fBj3<4KlqQ#rwo_^R`0Kos%>?q`0x(%u2 zJ57W@RNRkd>yZf1kg>0ROoq>f2P}m~Oa*E>6Xt0{DloT($IFu1_(1#+RWl%ht#XyO<9${45Q`jMZ5Y?c@1h10 z(pc@e4)tC+J?7Q`V(Sq#Wpi2qL$XsfaRAtKYcag(g=T1d4(gsCr7(6j^ z)D?FM3g`y9WH)+xmN6-l8IZ`K5|fzhc$Q9qh6HdyUK0YO)bTvvEqJGLLmbxY&`Q5@ zg7zFmJ)R5>H}W~(Od!+ZBmW9)k0CI2KlgS!WE?=JGtQ^qB{6zjM1pbYG%8Q_5&?0>4r+yULP2ZWOV*V{=Hn()JK@J4O$hM*EaEOu^+n?S3R3M7b|Rwb`{E~epdDEp8L z(xv&0w2H4fNtKRnYg@8Jz2TH`Ewz&nCF&7Impt8^Hd{6tKxvO8S#8`|9~Uyz5# z%2i4D&%hCoZlY@21=vkqa8pZ~3d(K7(gh2e3Qjp2`29# zs*n>~D;qrYF3sG65g424YVSt7v~}|9I%ii@PMn&0?ONAXu29^Si=L3XE4IyrP&Whn zR{hqj49<)XhGMsHeu;1DGt-x9q{57B`=~0hv=VwjO7)>1f5YT`bZ2cXVcL_4j zpYptYI+Hs{y_r}wq8J2b1&msB9v1P0)ZnbDd+K;UVc@AJVgaVyT0o#xMfSuKN)XsX zoUs+p1T{Qcoz~wMcTl~4V?9LfC`bpoz(g{^Azzw3L4k{r*1}%$>b&H>t5nF+UanxX zhFJBTX%aX`@V`>fuV<;6<~s=9lJIDLdPJ54$E!>PQmI&~@t8vZ3H&3LdxbH}j$Mah zFht?Gg#o43Y$Af|9}6HzVIQ(`V4ThKQfM&Ee}a;TyO8*CR75@e5CWz{vf{0JDQ-S9!k@cG*dYEIF^t?1lOqiA#{}sFb1;IS_>qht>`Aur=j_Gh73EJp zX0}dE&q#{-{-WIlY9Tfz;DqtS1cNTB?+gp=7J#pV(iTj4M}X7qF}Orve9C;w>HwRwa2NrQJ_s}OqGBs5t%-#^4EpR&vG)8yH-VU%#UENhXnG%4 zaR#r@(1KfkWOJ9de*#n{lpANl6Q*a6M+t@Op+Sl`OAY(!8y8#T!R2PMl|UYS$VA%Sv9JZFp$Y~f0|L=lcC>?iM}zk0L5T! z;ll6;z(AT`#J70jT~b>ha+klJ!UMlpb*foumz^W*{;?=4zl>IZ(p1nLGXqh4Iinx!?Xn^PjUr26PjM zCH|?1A;__TeT&6>t0ilTOm*kTAvQ-%Z_sc^!q-aQ9|Qn`#QW->>&Qt96tWTKoV z9>WHYPVbC;kw6puKf{JapumGg^%Jzk1o$bKoFN7zly&oAsmu$&)jU?02P%q)B_|p+ zwh@Xp+L4PV#D9a}b>aYZT@`8wTNnKYP;6U`tx5t=U<^(%7<_skhOjZC;X_USp`!lzL5-5Cedm_z#Y zRV|b$kSxhhUtt75GZ}BO*$yq2N5>_dj|om%_LeLcWXqSt+3v!s?%? zv0J)Gy(<)AxrnHi(6Zsd342-ihu!RRO}k4rh;@SF6Co(5IGHT4oWRSCqA)OEt(8{D zrs5s5ZA}8}O0Aw>|D}P2a*waCfU*a2yM))12d=B6D`-DC$iOvhT%1&RhwCQ-(bT`; zPm+n*<8E7c51(~E4<9l_a2SooMQFR31(STm8fW{m%vbV)PlN`JX@RyC*tM<>7jvk9 zn6X1IRgAOmq!|8sDAh_j-z1gZMBg2gWm!r5?eYDC=4xH5+pO$6KD~B6` z>X|Wxz$+LLkp>SE{K}z^uPa!iTktzv03o3MIJi*YrXgE^$`6gt5e{ z?yUpr@hTHg5cZhglA%ibfW0hswZlrH%eOWMEy_Lac^G6$2ysm_4af^+nuOO!D-ux= zC0W0Ycb2=zvWcXOB-Jk9pOwQm384hOvcXm#nTiI!NNF#9PIQfzCN;UY7u&4HlS14c z`n%GUj`I(Ua6>ENP8wTV~BlY(|jt7En4llb+>h7WCo*fH zDNeQCk0wI5_SMapwyhb|{a^>HfJ`fso*og#74MqV{Rw3?je_o`ftbUB!%^R$u|587 zd1lzW2VSJ{IJedyaOiM+A>WTU)SWPg^b|&*Hx(D+#4>><*ZT-4nw^J%JoPu2i53(p z3VIyVTv9~>#=pDHP{mLrhbrZ_8FN`t`!;0h*-2L9>mt43Ig;V)9@U=4 zY2Kzq6Ye4GtJ+OL0uu%)#DlRx9LpuHI!*JNK(=sAl7;wzxk=>%E3)zAN1jg6#l)$Z z-;_#m4@)f<2*TF+8$eJ=#>!PyQC%KHa@^)5{g1;pK0bv*^Yiq(4OlSmMn7V`Zw-En~tTviK* zwL3|12C;B0cp~Rml@`N-Jpx=mB%OT0gW(c=`(%3mocPSkraZtZf1g0GiH7*&$M-8=zJK;M6i{o}70E`WZ^7p8Ogu|7QR|OW#@NyYrUIL9T((z9=SQynIM51lL`x6!EiX|KV2oj+E``v zqb(01iqU5Ym%8eDc(OJ>2Djz9jnAjNigYyD@(L)$7%02&%#B~iM7ppr1>2Ufo_wU4 zufJ2tu(6QVnS9)WVsI5llNL)CgJ1jZe94CxNNoZfYXjgT6iegvnnx_P^5*NcTq_5@8a8`j0U%^nY}zEeYd54QYG)Z7R%kjWVI;A+X5BnJY` zq}V`2(FR*pJo`ztS6`)6HlUmW74VNC-|b6`k~MmG0>`(q+){8P@xq)9J?q*kkDI%mP1Gj z>^yv4D=!H!5VGOJ?4v&B^AJ`-LhZ80R5ZVGpd?MkbPNiXF~h)w(q%WT;P5+k(oRb)*mo7+$Brpjf5wip8Sb#z`yteEvUK=+n((?f5(%ItC#(6Q2Y4JuWi^^7B zL5%<27fn4}zq0p}*}=f9laezqkgqTfwh~{CtOL+~F9f)Yu}6=^fbrnRV5^4+1=%+| zr~p+1lqQ;O=Yi1iil_~~$D2viTi;~QbcW@@@>>S!)4zDTA0c29#_w(g>Ja*soV+O8F$wir{%7EJWMN*~5*W+w%U z5!`}irWl%9;v+Xvy?iTZ8nKe(SsQMUCFRBT9G<4A-8Kw*J%i3=?DNT37^XyG7vI>3 zOizb97v$ne%ZYk$JvV@xtxQ?Q{0>%^HDPVOA7 zWTBD`Of1z^iZc)*`-N*fv6zB7IzNq2o6?zB?7|fkENmB)FK(eoVVXGo%qE5igku)& zeIcdEb+L;A&OW=0A&J9HuL2T)un;Y@$Y!KHI~&bPo8v(0hBqN?elz}HDOTq$nEt_c zn1*8uJ=NknHjK)4$gMslJ&w))jT(K0A-_%NpY0iB|#MreO=4(S4I zipn!&{cDLQpvk3SES!iiVr;5SXlM1=yIH1pQG^sSgBHFbEd(vy!y4^+Y>Q}u#c~Pw z19`Ctc0l6`f)NbbdJZrneas+|STRX9zNEzszyLZ(ObfUV&_wC;FsWBpS>pAGQAgM# zF$v=>iK8wS|KBn4)+td_i$ydH_K_sylh!T7k4{EL`B-lRC`$#Fl14eBMlWzh>=OqEPu%d(f0QQ!Dhc0RUJRh+)v)yFP*rE1W!H^ zaI|jir`bEsbfkO0OA4ai%F%8j5~unPk`Xuseip`Nn? z#HC+Q(q9}9z8_U^Z}2?x;m#ge`F)|(WqyWoB{QLnM#~c6E<(mPno?Onz!-Y(r~AOT zMz#YY+CbiWZ`=(?Z2c?*$JsfKAhwdcsD2q)EV&!r)=z>ZN{N&aDl)jYGLAbJBQdag zX_&s;(1QeE(yo05j>v0*^e_myC_##w6qH;;{*2Fg7#V0*EhA_G%Ye;Kyk-$$U^@&I zDPVUXn3Q9SyO|yEO=yFG@{j*GuwDaUerD{Ztz8HI8i)ehwOki84O3QDIh`RRhM4ov z1R_Th6JFTcZ2Hof;?dp;#^39jraUQhInAqvt`rmG1kerrkNLk25hF{agfAFMh@a$< zu{FYjo#1SgSU`h;R_ReBB}tp$BSa1vL61g&J_*+if^Rdp#LKaCu7HtJ!BqgwL@6iud z7Q=wJTsW{pL$w@_qHNcY@f&*6P zB1U5!-_p_Kw8O#~`_GE5~bki=SW?xyQv6v-PTB|GWXvcP-_Ll&PRD z?~{mCWwyiJX|jg-moOC)3jI%WnN}Gv=t}d zq6I)K=`3}$g~dp?T$u~iTG-$VPFfx=C%F2YOmAAl4wU@hk!c9;ElNfvXwM9hLR{L& z!kTvwg#FW#khtRRe6kY;f006_ z)^`9)ap9U&2EZjkTH$`z*}R@RvCS-KYF7pW`kqLZiD`*GM9&dT*v)?J(pC=o)wDnT z(*)kJoU^SN|6x(0JR^mkIl?$+7UB({?HAhW5Bxx$E_g)y2+` zINMfk96Q#AdB|)g#EI>rG*Po2J3Rg^T4PAsCV$}=~O4K!?90F<5~ zs~P1<^L7TK%41Q}aG*b@i?CGa&{u}S+SGFbDGNKaZmit{j3-jG6VZv^xX@)#JZ2CXPYo6a67|>s#iH@>L`PczDl@9HbceiF~r}@Xl^2 z6&;e{N6UZCo&)f>%K>&C$aFw@iarz5S0(7N?%6oiiBGInN8zl%(lu+^H>GYO#E^rW zM6CLS#)3xcbh;#kJZJ^F0CcmPU*XA5{5lNF#%Rr$D~m4rH{)gp{h;QxpV4|EgRCQ? zn6j%@_7x7qvylX*RR_T26r4zZDEHihqm@#fG8yGmd=X0!ug2&;!{&wz4Nc?@8GSa% zK<|w39s;~GT=9<$4~NUR1lDav^SCojF{Z5TKB0-@oP0YGI z(G!fP2mVpy(m7Y3O_K)=I~#7y#KqewBMrrnl4~i_kQjvFIk!fSH_A!q=%zK{MvIjk zfgT5*agS^@0BTCgN+mh`LT!l@(n>fvW1t!%2|}6>7l96xHgfeGhNAp~KqryeGxZQR zL{Fl}qDgu0iE_3!+g5)vqh)|T0nj&ci^N!)|2Z7R=^Tne&ZjCidHteB{La#@gaoV< z;w(`lUk4n}PmSSWwMKV#{WkdU#$r8qO4T0aw@5mn7W0U)#YLo3dXb>qj>SlQG>0+r z8Mf5j*}-~elw7j)L>4g+>^}XG`pgvNy)_mPdsNx^6$u_<|4d#xy25tusJl2eMelKx zChOOFdOd~l2C*JV&Y6;%#t~QxbYb~mv$xNDVv-{dHsc=c^CN(b(Pb5dRgSy3SEm)? zG!cNCCo(GF7_8E|U}Cx0ds8OhKph9`#BoY`?OFNkBf6+(KvEMTQ@8^jxBTx~s{x@U zW+!H+x+n_K`-A30NsA;RKpKK3@8=fdz^|b~6dYp(TS~a$TvbA)JR4<^+3IU{i6fJJ zJwbU(^h-Ky%y`;?M)m^4LsE`~(R1Xd)px60B;$jhMpW6bo)FpW3NHluN!IJDV<;6g zTzn+7zp-A76i*QPk!+Ie{(flGqxh4CW1>vBTa7f|r3z`KI$sSCoCYMFAaLPrqL?)T z-rBf$-568-PRKw|JtH^gvT6jO7(zZy2YiOvJgQE^WP6%2hxbNnn%4KD5%*3*FcN{2 zn<4u2i!Ba)nL5^*!#qAS`Hm0rCKXxvM-)!B4^Xw(_(rmOb7rmQu@@w4w&-YoCVQ~BW%4n^J1NhrSx7UZ*K$r=U3xX zsW@pxc#k5f1dIqERY#wiI;Bt$jmotGvc#pqKuHv&1uLNyQ71oWm3hSasWgf{jz`4* z%<;_qoW%yMd;zcq48jG3UvDGW!76}iV`PgQK$=9wmhC#(+VulVTSB)(_R`-|u89xW z%A!I*2W2>c3@fhi1hrN7yds%TU~AR_^EfuIZs1E89I61EOD4Tn*lBG$maJUTk>0l= zRm2a-BAe}UbC|-DubzZ+HTwgKp(uvuwN8xTPWXi1GglD+p~Ef&$d0feKtm{;-Fn+m z`{hRvWb?Y~zW+em9L%r}$(Ay30wgep2;&faZsP@aV#2ksQgZSNm)1k}p*B9pUC(MD z6UC1y^G8Zk1;~)!)dfW4){^5EEpDsxL%Ur;i+D5l&I-Z5^7t2HObf6Y-e|I_arwZ~ zC)^#Ql>l!nq}KJ^iWonRdB_Gi0gqjITES{u9bj+t<8&l1z_JpJjw9l*ca69W31JPU z3Wrj~fn@w|;vQh;?a6}>99RRV7=OZ?DDVm>ZbHe6yG|>GZYpjIf`)BsS`x5|H-?^62B2w410>;M6GZbodT&( z`s{##G8tX>4n&*~ywX5ksV{J0%aak9V}7FN{9{N8QTdFS_KdF?hHzwQRQY%YkEDjC z22z8@7FS43H~#9Nuw5eZ&X85s4Z`lWJ2~Zkin1&KR|Y9%OmvZU*^;fx08ydifEMv2lB0>U$lnwJ?NMf-sP{11 z5(=Ib5tVHB$vtDFX)-S7+G%e~cz!Ovh&?MM1qUA5+qer7m=$L!;u*!o27?7sAoQb> zse!zW=fZkmsN{b?`43;z2W!xdU@qt3qWKNkzH0&KjzhD~8DHQ<`Od>g!Do;vad;Jh z8#JCE2d1(%L8J=_90um#JJh|%8N3q9u0AwIPg3uZ)g*XHP_w)0+FZ-f!-`g(Wo2Te z+3!2BDoLlENR)%81w`)z^R@iDy!GJ4cIdF{m0u$Wa$xj|_aXIXh$@vMB5kW_jGW>C z7=`*?2=gAu$kGUDKQYmWbCGA6HO*hjKzai^(i zpQq6bB?}lCXjDbyUfv{;vX9sv?Tz9CE*Bm{nbqci$W*hqRjfb{D4)i|rFdg^exQaH z+Nk!wvk+WCo2hW>mvE>yhDL?{)>d%5;@UOEwh2Rz6&5K%@=w5a`Fzo5g1BXbVor8s zS2#lbycy0b5_M$e1<0$g8U`#%yIHIl9Z~mg-`|T>g$rMRGIgWL;OswV5aD@{S}EPa z3tvL>0ob%pW%&%7Axa3(3voSN?;y*MS5VwEMjeJB_YhJd6k-X`3DT|QOi$~qdn*N~l{{Kau9^Hy&n9gkU=2LQs=U)hQ95M$s9y@x6nkIKH@IVmS<1TRof z4{I06YprHQWn^;aX!A`MDc788r}0?k(I~?ekS9}FYCI~*eGv?6X{k*3e1^MTY#sXu zr(w8pD++Yr(S&Sn9C3;eKpbUg5sS=TAh*N^lpdbf-oA7m@5#2F$EXlNkYuzEW)+*6 zWG)}X1XIMyIMmxFKX#*NOjY5hQ*+uGRzfpJeoaj+78htkAW?582^mIN{e%4ngb$$E z`g}y@4Y_3W$80iuEK}jcdj{}x*7Rq#-7p~zTiqzwk_sF<(VEc>9XCpjR^<%;p2g3S z&@d}0qUU=%Q`F7fgP8@AAcw72(vUl0 zEosrl^u(e-y90tp!4DGC7}420YIYx!r3>*=M1wK|vdHGyplvnUWhfQXLdh9OT@IxV zQgDSgK|VyloRX!I^d%A}U8=c^4ofeM$jDbd$;m_KMh5NFuEJ#SnKG`&sa=H801$Fl z`7;&pH5gd2G2^-l1^3Qgdz3BlwKP>THA9464zhknhvtfmj1ZReQXc_bgJ+6arNZ8Nh zXXhCMuzgSeCPP|GP@rmlXp-R%@Gb0#zgW^VV2ST}D9Jr2`AZ*=YWCd~>silw?a4*# z_Eo?8P>9==lF745$~OVs=M9m9ZL^dz$r%|7`?@o~9B0nj3fHsvo&+2) zUcrIDU+XA}sSFvx7MLA@=~&q+pOamx6|S~4Kd^j7Ete;|i&47Z;Ef8?EtsV?)n8ma z;_b=y!^3z!k&gyZJ09cgayqqoH~ZN4B@=pS{>EYNCZ|o`soPQtW#%~r!-Vx)28X)e z=5FKH>5e(R4B^j}gCnpid*g%^jacuhk=lcenepftz14;}PGDKlS$ZWiW{u|snZcKh zZ5rYvxG+XHje)~A7+^1kLX06+Do2Mv#l328V=x#P-19KLHFdFXg4|ZfkPIu`+32|qoE!BzA41h#L=O`{F-g~Fv@@C2msq4 zY*5j9F@t4>^g#2HHzjg1WmQ^R?F&4<(6-PKr=Q_*r8A`KO*T#i+{| zUzfr&)B0beeB*AAnPzAgNLX^jRJ0Xu3V*8o_rRPgG$2AE!g6u%=n2T|K3fAI`UV00 zC*%klP;w>iX=%y^!h$FMMl{*IQq4UflQ|P1zJnA~kM2*dB$&?-1M_SzEXSAiHZh9z z5sm$3`Kfp}zbtPAte4|ryiXxxB(ws3zt&5JE{Ov{;5uayJf0R$#B{z1D7WT9g2}_? zh}=^N&(xy9X@Ng5qW?bGfXC4r7eWSW2>rLS4Z4n zkZCE(<8G4%r3j6h?^lN6nLF<<(9dCy!W08f0J)$?RPzR2oKfT0zqIlQz86(okdY}u z5elq!mccG5$itZ& zJ(8NMXR5tqVZIk6I!Ay<3Q` zo&YrOx_+Vo+tB<8sTLri$bP^gSUYh1%V^;0YPh^m61_kzu_$YZM&3r{VXO-v@Dc*& z3CsKDVMotdG-<6wYBG2eM_ z4@_AUh6$44+@fzBUz%nrO=)|*YJ!6;sc?x%r@{>gm*6pNPrzoloL2O#F(v{Q7H^D8 zEcH2y%mRuKlUgAjCL-`56f;Ksjn22cDYEtE|Yh#w2<@O(w?&#f$t|LVQv(9{HhTmZgnzx!p8W zV6my1VmrW~X`+U#AqmU<+B0l6B&`Tb7+hD2{x^mYFA0KW-UI|7>*7&123g2qRr}XP zqWtLW9E9e9drKTu=3k|4JXcSHc{|b{4QUOi>SvZ>2tJV~#yv*sbwc#qzBX5|ytZ3| zB1eq|j#3dG2Ww^>9e=h^)+T1ox^#dq!ben%stU;?OPT#;ZK>8X}+r9mf z78)463Gjj;X}_AvdV!#_oDhr(2AV#epp!HiL0NHxx~O9G=2~TXNN6v$&(NS@hYI@( zMppOukdC}5VMbDJxlGFAyC?W100mvJ$Wi${*lr(rvM`6%q)UM`-C`xt(swu{;}SHqF@>?wX4v`z5^_A^k;Ut%oxS@IrNukyVrRe8-*3R{BU`r8dl6e`6l6i5XSibD`$Z3S^t zVm{|3H5=_QUZssclnlTJl*^zH*#dEfco5+w3_-p2U#uqcT1B|69TIhvvqEl-`JbL( z6{_9c9QnrC5as|%Mw(|HQhqNJY`3gWZ$VNJu0C*;+WfwDQIan3KMks^8K*|HX@}9` zjf^8dJVVig>@qOiD5ruoYDmF)G-fvEcS#yV6b^x!WD-GC8a&j0j3~v|ATi$p#}VR0 zKkZ9lIU3YR=q7M)P*BS(ohSZWtC|P*b~<}m3toJDm=p?X646je8+2!*@)BB?P>l{{ zI3-7w5_JF=&2FX(=oEf}#AJ~uJWOeM)wdQ(QNMAo_--N3ggmjQR;$ z9b~v{F}T?a=K*Bb%4%g+oyNp+{{TA?@~886R#j4q{?go>;_fP)+E-NiY!IFy$7PtH zC}c0&(#LgKfV``KYc7-{z{TQcrNp7Ppwq;g5cb*7W+Q?k+OGvjT9EBbBnjQ%O;D_F zi^kxk*|TRr2A^Irdvg~S8*%uj3DM-I!aQk+M^t@4wF&CBHOFLA=puHYc!p~{SMNGo zNdKUUdx^Yh7*FcnB&i|NMWUll2tcry6a}(Oa#b2{Pn#^YH%#(IY^`*M4GUw`9qs~5 zi{#XLfdG>NT9@Y)cfkb6%?ZaR!?ke4pVxRB8Q@juX2r1z?`5lA3EDh2Fb=m7$FJ}7`e}R?jJMc zJUJ;=EJ_&@uMO7=0P&aLRZOo{yaXds<=}4`Wi3BP^zx54smy@)2aVPHC-PFSn0!NdHNx5)n!K675GY6AGI`mr*)`XIuX2Ku3Vy zx0>Obv^}pbr^_g~xi{NpZ>H>36ouV&Y0ntKJZ%Q|QxW25RgwJi)q)F2`F)jBvXk`C z6}`$UTCZqI^J1b^Y%Hq66&8@qGR{ux^F=hr>cyTi`DohBm}xIimFEj7OwJ071541v zk%dVChkRiINt;<=q6+db)F3nn4w=o_f1(Dk-T?`al=9wL3c@=Wz~ERT2PXtM!FQ&9 zopT}Wh7pD;pW*t@fOS3pabd8n%`-)vZ?zd?;QWX@IYLBD)H5B2bq`x>ufv-caR_Sy zYCC9?db8Ids6)XBEf~R(qJ+4~@0)69sJjL!W=V(&l&c}+3`rt_)7L~tjpelTgDN?!3IY~3lRN=V*51@=+_hMyWNK>jPCq{H#( zGamfw#uThYDGH9=V6;$3_JtUc9MzYNTvbuD{uf4pv}x)3)yv&ADKDxuXvl;?z4xqS zI_0Ih@&WE{Xm^hT7B&NzmpjUz(2iP8#P|T_GCyxJJTU@H;0CM7Y?H#i+XWd?;L?M) zum_uA2K5NPRx{MQySPN@P&)sAV}lCyeJ<5NZ~5@}V?g9&@@)zKx(9kIfLhmcsHICVIRN38*D(zDs#XJek+%MEPLW z+hoz@q+l~EKp0(XyALWgzX)f$^bOD(ffK#l2l|L`b<#t#15&%N)7qU-Od3$2YP(mB zv`jVCViRc`CxxigY|!(h>*VKdCNeq4V&fPFQcY5HF*$hnY{MpRIr3W95VYz&8%mbN{$Ae_Mcxn#f*UN3gIlJA8Ar+eFno?ZQHY-dUxCz#gNH7>7pslAt zE`b*9`g9ZHMTYJ(LW86QqA_K@9p6ARQI6g!ITExzMH&{NY=|$}y-?N_v=`|z<;6SY zuV!Cq0)xyD%sitJi9rew0~YqCO7;5;Sve?;Fy4kzvx+2yeJ5=t{TfsnPccH^=+^hG z6dJ(c5A(oi*y5hcB!Zis_#Zu&5;U)ol*+dw_53)YyKj3+D5*3O&>30P>hDsm@XB-LYUnLe%sa{5ij)9fu%$RTQm515N7AV zI~FY*&h}Sm%(*T+zI9k?4lvSE-#v0(ua{|+o0KilU@;iYIU!d8{BnP915-BiB}G`9hNq&PJmcBQ z;4Hp{g3qOknI@I1Yq367nx$GfOPGf8W(?&XQPG#~hS8!~VD8FwK9mj9>Rr7Uf?e8|zlYHwI%XjoxBvb6UFq9jliX_Q{YXSd@AW>a))@ z0X0W2_hHBVdaIb=l2L<7#xiEEtHc=rLlWYyS65C8j*SYZumps>@FOP(xGSBtk z9VJR3G@}?+h+?_0-@wR!=OA?7CdZnXWy*rjy%Q+P&cyBNb_WwqLUM1|M>pzTow!`p z!b(6S1sORZ-ggHURM4e5Kp4#uNVtDozZbY$AP$`f&ARAHjw772srG za5P$TLwhmD`C{XJf%Nbw0c$8<^d0ALK;DrGmSE zgRF*;$b5NYC8(G=O~ zoXxXC+72N|gOCf;l2mlhmw)-t><2qEJNRV{n7~e)` za4sD7))#oijlaV*TYvo5#)sfhlMBQZ1Fc z=>fFpMSD~VQP;ajsu2hRzVvNI6&voMzt!MuMy;9V*(k51x?CtGZ=6zPh>a^oux??*n5%I zt%bFQ7Azi;s5rzwcfcjs0j+X2czHM97#!BCAZeBE80V-0o-*f3l!{uZ8IAECMHJvb z77*$Qq@jY$SQ5hi%SK^D;-mufFS5P&dDceWTos}9VKvN@j@yq8v4;Jj3$<_R^7YlA zn&*=1Nj8*EevQhQLPYXY>?hUnz6Jte`r>btG2!hF5P0=<9Ashgi1%NT;>pJmGUnZ0 zA{rtm361I!nuBZLN#i*IvqIo)j`-gFEPDget$9PFQs1O-Smrc0o8?NYSIk|n!wc;= z3lu`qGalk1jhS*EbQ?)Wqs&`1frn#~WvRx2p&1;#_Du0b43Stl3 z-P=^>Z>x2DiUon4DYTqo+c_~uJ>3lmxO@huvUOfToF%h1-e&i$858~c*h3CF^l^9R zVWc$lElgkCAqFFbbGn~SNofZ$lvI7L^bkVSxB3VLCfDpFmUyOVH0XdQ=cNb^%%Gq* z<#CQ;R7yu#VeXs<^fTc+C-CEr^9HUjNtIam%|qA7UtFcQu?xYEPIl212nf32fPm{C)#bzki3tOcil#sV+qI*lrbWx-WSJ5^tldkD<-O=>fTaxL!IY#+tcdqie4%a2 z$Zwk!ckev9$} zndcOOXtKSz)q6lFE;n2YvgbjS;&K zf#cyt<6@>Zv0@=I98?3AV}n_{O)JL1J5&a16a34w$@bZc;<^XKe^h%PGVzL+dqy)% zv!8Rcmsihk=;zY$)nxSp5V|pPyChDOB{L$$JOpE`sKGZI{(xyO!0n&I_#Q##O`_x@@fHd;!VBq$Ik z3mNB*iUGrcu^9&tJ2mcxH?(;;=x@|&KZ92n0V#^Cb2_kyFo+e@yqDL}UQ~L*pNawY z;DPGU&WC@p`$$;g(mretpo7K>?Z|ThQe%BT`d;`q#RiyRo+G8;q;+UdXh}4ac72!O zOuOS)R$4)k$wen%aVZ9akvRa7N8Ls5VJKf!my1#ij!5jAfRv&VQHszfEO=z^PTnzW zXX|`AXeBBA0vd*4UKW@sygT0=kqyy7K>@%m4qq0$zoZ)p;ZQlqDw#T5qXmFt+n-VS zkZ&jTh#)PUMkxsjC>ARTEEdUvLG&$3}H8nRFSkUx_gd@;ET*Yvbe9f^G zDd`k%pC(@XU;I8#Mh>R}qEMX?YP3C5o$-eYty;`K(wswCT2vd5)w}~t`DF;&#p=@> z$PrzM#fhFjx~fx;;*R=}cOac0J|s9VrSDN!D|CkT!=AZdO%>2TV_fpdv6k z))n^{W4Mu>a!^ov2il++7}i$WB5Bi7+G@P!X526E74B*^p#HF&apnV3a^2 zO>d~ooBA=F`+hMd-tD>xywl-K21ka}d{zRtdSgrpk>ZV6u0x0z;)e0{0al|E`YkG(y>gxlaqUV+Oa}6=8PTogKD5@hN(-IX+>zZDnwnIh0Q^l9qtyy7bWEsJA*iqtYcKSg=AB3 zD?2ldZ(-2|0=qRKT0`iHLiz(%qb#06sYczZX zvtsBoQ2%2z-=&0lIlm5?olG!za|t?RV=l9l5+96^$5GE&U|Hj^j7rL{qI2EqZbxf&h18*FE`oh{;F(jPvD@|XTeNgc z9#WUALhKr6jr3%u%PfV+o)U;ZPvFdTNdIYSWT>;GvDZqB2dPCuO9olj7O4c%Fs}T3j$lkAO@q4< zz2uaK?%J-kW5Z?Z3Q^foJ^a?t;_89q-@G_a=!5E|U>n744`nj5*v0>+@3iGL?R+XEW7RW4G znfXFZ22>g-!s0b!B1yf~GWnqcGve4w5Xg#P(K~qlVdZfWhYBNMt6<#&!fBKlr_&!E zJN^Se6dJgzn9nvJyCCMA2SNnZYn-9oc4xMwB+;~h@sU>d9!U!Zb?g>)6Oqw?9;q!SMD6M-9DxV& zMFBNbS-(#tv-pE8;?WyWY#@yXoQT84x}lJMzAYialBs&OYKnSg{+a=5Lf0c*rqkt4 zf*kr!3M_f*W3@1fW{ZqqWB<@oD~Tryqm>KA1!`UIUkS%S!FfJ(%jQxmvGVBcZD7m&&isIE z<*!7LXQ?*~ws2$C6~AsE zlW7*TgA7@dFw7?#l)T)MDNJ_d@lrOz>KeAiEF2#YFxD;k_$Y_t66){TO-NiSJ)mHgR=@uS9>kE zlmq9*8-9}TAW0>*7$((_x zQlfvk$RGvt2}BcHu(Yc9J0L`UV-#z$xI^#1ld^*k_C{8SRcU^xIO$PQ zbBYV|^YP5REXQGaw$rY1lj{M&p)o^Z&Z#7Mxq*-=7vv`T$!IYfgahz^w)XI}_G2l- z&(zbm4i_dAGR3b>apvp@ra15W*oC2Am${sF~n86AR0da`4A?XRC``Y;n6(G@MXBbQAb zHb@E=hYcS-H^Y_!tKca;=g4HGDZ4R{5F_wiJ=?|ii>1=WmYKM27UC&kks06;_i;E- zq7w_uEsF$pG7Awx*)55(b)A?Yph0!qUgtpIvN#oVRR`0Rv9T}+k^0vQwm$;a%1&X0 ze>ymHz@!9R2Qe~UG;6O5#Rv}#JAxFg1>${~zFe_?gV9)*O;2cOPyJS#&>)>sBanW)IZkPavu94F*pbYx;tfU;5pBML$b%x8-IR zW#4s_N#DD*EP);tN9j$2t1?uc3Tm+^vRT3|BIZyWD*#16y1xqO$VQ3IQoT$98k(=h_;lDCW8*nDBZQu|!l`nQ!Ah%hqRh?2b4{7L3_;@HfG z7D6^jIFpG6*>5O#AWWwz6@+yjv5~=>E0P>cB2?6nbXgQS9ny+cvY?lZb1=XKnBr%P zT|Z8xL16#$$eIWx*4jxp01mVlr|`mYN@4Q0M{HK$bk@EN}>lcRr6Af z+i*W@OAv^_NZ2{eXOS6VZ0&T*aM3v0=kz=#ik>$@xs9Apz!(NUT{*^TDI~(VUYh;I zkopBYr5Nc&v=>qg^`S8a6PI5-mZ1A}O6?>CNaNHlVEf}o#{OzeZ_+*&`0TuwWSEBO z5w!}3fAU*mi_P{E!4&YbSY9D>8a*8l&Peb&ADbFMAgk^m*qxNH<8Bh=@^qBNnuY;%yLfLC)er>QabrP>!^za%vmN%0E|A6ETc*YtB z+M>Vqm;eVrQqaqrAyW|w>Q6YNIIx$8rc5Z-xT{4Z5Lo!Cjkf5X@{9s`DRID5uNz*Z zCKHehk|y)|zE;IFKhI*0RAqMsrK+EyyJpi-z~^lDnZ>nrsHB2{gVF{`wls3N!UUL^ z8t@dPR79n&%D?3#!p{eXf>9uB0`2q)=m{lCmZbDD*DwKWa$x6Y85ze(NwrjLJjw{D zC2TGaIXBjhnRy~vIH0ePS;Y;9O&6= zWB{MT^N>`G1hp40-;D%dBY=U>+fn>IjaMiIoIZ=sec}6QBIXX;{sOVYd4QoH z25$KBS+jh=H4-zGy;!R;2)r<5OT87F5i(ef%-R0c zq@+BkJrWn=!omDngZcVRJHC;ZyG(-n5tqr{pZ*V0&rNyKo5-go)*TV|2njhB9dxxF zkXBvd_GhaWJcC{qXljqK&p!5N3$WPx0ADwjXOuEcU@LmYk=V8kf=G^j;3}-u?|vws zD@w!8t~!Q6?)jIR-FT754Yytq|3BGA2g+MV*knpjJm0Ffv=}`p^L(Z&)g$WAriwYa zCtu_4TjYADISS#w$l}T-B(acG^L$fZJ5kXRd6p)X9$38%x50c!sxiGKc?itttbLfXqm6S>|M>-NT^A=#e)I8D2a^*S@$u) zSB3}Gg1|Fr;bdDyy6kh289j{_WiVgFfWb_(TYIuBz3u{x3#vmJhjt3utMmcosSbb zN{W?}sfYlsR++!CvR>z8E{~H)fK~tu@JZXQG6k$#il%KrJg`P-=B=8GZ>4&PP46&R ztSM&~0o_uzJZH$YP1tK2B-5~FphU+pH-qFElL-uHxFxl4@C*sTQf6h#d48{-q7cCL}BU`n_&nc`Nq9cBP?bfL?_<^Wkv)HAP?vdiJRMN@2S(d z#-=tJiG>kRGTubFynz)CZHSe%QBduIw&*^^?Fe@Ka*0Km`Yqv(V1_071a{yASu#h7 zcImkOwiBq*1o9)e?-arcwbq_^U|4|rQA~$ZS^G_T5R#3@hS*@!_db%4`F2s-B>6n^M6EI;>SK5b9dN zW5o+z(CUq`0y~K45hlENXQa~$P!9(cE^Z{k3=>)LA}14%%n~9dsCK z;BgDE#9JU^p5BIAy&yP~BA0AOsv(@Pj-;3sg8|irOHWxU`nRD_hYz&R^JrXc(%g@Y zNvQk#iBwW1AM@7TiLi;Og9RQtj(ZnQ_glh^WEtGmJ;^>kys}ySo9(gi1;BPEUNAr+ zZeh@8H-GR4Du5yxOxaOcN8yseXWs3-A?c~8F5=eAB%9bU7!}A+9LW;MiAvR?NVQuN@XpAJ^XwP-?T-WBU4if^GC!e17>Ih_QSg_&Mj*&|5@kiz6qMMr(E5g#+U`b zh>!shDMUOhe*AW9IItK4I>AJPVZ`RJFl#lo@e-V@I|r+L0FYe~KZLNslsc=C0=w9a zX49v!l3KI0ZpR>b&KM_)>&A>#iyts)@wPhqur82Tf#H^_Z^-I;_4d^67qu8G(hybY z2;ejpIf@Ng7VH8T?7*%@ve^|5G91BJtM1H<3p*I$Nn9N_x61jK7?32F*h2QH*rIOR zh4z(erND!6NR*4e0^N}^gMrz1&R3!OV65r4<8&I4`V4qFuCrtm4YWi!olMdnWiC&6g^!FV+6uh7t37bm%1Ju2ZlD-oQn6q_>I0&ZI ze4rxw7raN>?jAK?afC+{d=IHFnH4xCDjP$6am3qW5KZe(c#2Rmol zJ<&i&PG5siRgDmpW8kt~?PM@cTt$PzBa-4xmDoa_|JL=;5dtTMDuLM(tB0o!5jnp2 zSie2l{d(OZ^#ufx+)x+;gu^{csJb7(E#v7+3`R3(>*+6{7Vpat9yESk zs6tEQt@3f)p4#A|pwC=`)1MD`b6TjBMm156_(VFZY2=8epVIo0(K;=SF;K7x;t!!E z8#tSr2IEpbv>HoP8tL(1&IJ=14TzT%{+Hm%>LNMklwmj$Q?X{SNCq}#OQdJh0E9oi zK^c*ZK}uM-kmI6T`cND!2n)FZ{OsE0m=lN`|tMI4lJ9}B$&fWLVz#RmI){ih-R^vFk+D$OV)HWvl%cp zr3x?-VZ@u>P6W!8x3Y>3kH9gWpb!n9!3NJVFdHXPYtt)@7Y~RhrM-&Fa8y;-ik^#| z0T&<=VPFN|c3wV?Cwukjpq>7KB*&1Z=Z`;bh_UGMCD)B(^F+~)Mb^+EiIK2=S{jle zuZW17>H?cdR(CJb%oBYui?u5FuZ&=t+Rz_)_14f~gX|!UImck6Sdb zBTH(F=^nXmWmQ@-;ys7425Ac{EE8pkV49{E76=!42RSS)kr7f{8X~Q@W$3D1J6Ks~ zOa&h>f`2PSZXe(~Y{_TP!I_<^?lwhxfFRJMzyW(ZfLvk0b{+vI+QX%Um*HnAK7#bOUQ5HeezHv!Wed<9caj^o27;zQoCJ-K}-INc9s79^(xbsz!UvBLp%9VNm~1wW6Ly)W;#oJA)i)}U}X#hT2T~SmlBEuzY#`fcE zLm<{!vPPJrMqDkBrhvDmO}((=U;O!Q#!KVdv|ga1dB;KzKfj0S4f{iwFQJjBo!H;sLYs&dgbC0XG3KhvFDbgn2=N?DAjYR+1U1u zSr5~z%#5|k@(Vhdtekvy2F*Wyi%ZIn0M!4ytc!ifxJpKkhF&6oET6n0?zG2`>Y4@~ zO3JW$_-Hjn+4xm^R-uWv?<1_hX<`|Qc+1U4RN}bUkm0&XZzuLvHRo%GAe9agq-<8VnQ3t*j2iRADFcs;yYGT5r4T5=>qvw5KurwIAm6 zyCW#k${>8T0G>4jE6tiKG7++e!dqHq)ft3vww2at8W|M%^wHVD+0)4spxL4SD7`{WWbq(8t570$Q>w`n{BDPE~=jN>KYqdUMR%Ah-I!Cqh(E+}`h%n%XNIz(&e2-Nt} zeEuDnz(fw8nG^HOtZ_N(PU7LH#1~kisBTZi)N0Z}NRb#ZAgTbrQ{tJPrLUs%Mz3LbdjTu6NQV?!w2Uhs zKo0}fI6b#~1K>~TuslWb@kgtu^&mhn(wKV=DB$K$cw?tqkex>5A)JA^UHm#nJ=u>5 zOcE5FXJ=w|!CnE82W;u^k{*`Db>F!~i5(z*XAB?O9gcKP?t@UMLUEn>&Ai1T43Iv0I?*O## zp*Y!+UlNHg-cesH(;OOUR^bb$w;qb3#=5I+Hloho zf)$hRiY5YWpsQlSg=ILn2@=5ZjdCQ3IJFp|=PHd;w0JOKYavPIMhtOj;sgrS^5+)M z*tu1%Gza)-{qd; z@y}><1gS53g&c&vNfOCwd?y|hX;35mrpm|@k@qWkATFJRCU2KL7D!C{XZOQO&1}v0 zatk1(O_TLr82knW=K8Nsu)Fe33#sZ?mRXS;D##jr*yWGB=JA}iiC$cXpEAM>uv|kw z$Xgk;bulq9CP#>Z_1=S-;yu_tBViqheFl*ARh z7J}2KW2}JgXH(x&B~r1PIskOgg;+BG|1!}RtlZG=yTj~IfF5LsEV2_im35r}^F!x| z7X|mc&`-|}`-&+S(jJ2Ca~DuwHywBseo!!~Ij|!_Tt>*)D;)>+XcY*Sd)|lfodnsy zRtptdyOdy`?oLSV(-oCc2FYT&dGsYx^iY^c831#>c$E6t9-3t@;>;o+elTYu0Zaz0 z)QJ;`y^9~4qg}keon6yXl-bsjN(>iEZ$qX!8VtlrXSY2QT-ca<<%d8J$YYcGZaomK{5^c z+wp%9rZ=L5Bmi=3Dg{Qg3oh4FPdCQMW{ifSj5$NQyfX{Mslf`g> zA=S?*tD(gUsR`@3_+U*m)2N>D4}^TX#7F(^cJ2@rL*RtyX%Ptjf7?&Xi<%RR^DP<5l&#v4=O^{b&?xBPwnv6En07chbVZmp@KW4XsQiUL~pu zueHFkD%Yswe7vds0<0tmUBjT{w#1BihMgrg^AaPa;r8Jevv(=8BZe4>!nyDOzhtQ$ zq47|DCL)ptV@w=5Dvb)7Et04Qc8h@r(sU)24v$xb0_g0dVdim*6(ic!3p4S;Vr zfpNaj+^l(P$%o8r6A4y7V$p)_Q^(9pH0wu!kzp0qC$8%LoT5@{Isso?JEQ_=kg>_u z_&*Dx<9))nQR<5BGDnhUS{L039&nz}7iNBtHZ*RTzvy+QMBmC;L@j^Ph_4HJ0s z{_q!0D8UWNb))}CZ4!t{E7kvEFigZgO*%;#QeA_b_Fs|Ey~t8(3h)$o_NU$DMr#9v zpV6y9va%TBLv2AO6|dVxaKFxLR!E}Y7qN^G5>NZeWCn4!%b6Lrwtl*AT4_hKJGzf5 z5|pTv%^cd=9oUt|=O~aFd52h02oDC6=#S{B2rxpis&6`Ki+e%Rp95zHFPDv4K{M#d zVrs~=f5ke&K-iB{wunnhhHD#?=kEF0a@>}rD(EI;qz7#+BT=wPwKqopl(|!Kdj&2# zf_Sw98>b(#3`A}Rbb_Oi6Sg!Hoaxatv6q{u=uUwe%iK`y{5l0#c%fjJ4Q6jyP=>cw z-R8|9D6oXv2Cwun629X|d1s0>m^F-s5rzNNpi!s!tpq}lg|etC4mnK@NVw!-8q?#I z2et+cK%NwO2y!O9YC7^56v>mLJEOvy^x+6yMwPl?LdpJt))J!Y6X~d5NeP8XbI#Mx z@NZT{m&X1VA~^%+$AV$&SA8&b8e#X8k2^14wr&s8U);;VNc4-0-Wo}XXWQHasWh(n6zvF_k`?(=}zR!PM@}F$;An zDQxu52l)_n{YCc_Gx zA&9beOzX|#I7Q@%sq8kj&xor5!L*4hn~5hYB43qnpy7uUq+ODEe`#|72m%!K*}C!( z;y0=M^0@459MU})LJ>c>eYN|hP`t$;=H+00+{$om2plb@;$!-5OYlM*9JYf^QE<>5 z$bxc3hqLLMN7hx1YYQJuVQ))5iA>K(@(UR<9VjqPTFHYz!O$5iY z`!F+hqRg!uqtTDb?W>sxFV;*SLE1G9DSa#BqA(JuYn=@WqFFCdtCOK4mjkr}8`z<* z6)4C3zfg=^DP0{0r&C5OGtL*{Xj4 zBHBn}!dy?oqHOD)rbh^^vEx(A50+al@fx5uW?q+z;}P2FYfXBhj3f|ydN;y--V8<= zT{sF7>tt9Lr9;<`A}AvOAfmwhP74JQ0aF~B!UP{0xgH<{hJSIfXg08r#A#^Q!$28| zf-SH)6zmu@qEHeDTafbKFW#I_8qVc=)vrz4+W_v>5OJ=V*03FgeR~w-+A>xy5b}H~ z>K37Qi8*F{sf>%|mpP4gi#(@+sY5EObXz+d$gOIJeo)CSQOFht6k))aa}?s}DJnq@ zuxn+5B({;N3}aack0&ayv{$IQGJSMdZZAJ%i3JGQNOYnA zhGQ-q?~ucQPs89FMIr-z9!1KL+>{%uESTfm8bd(31^{YrGk$au5bx;AtI<{ zZUrxpXMq)$1^+A7Qw8t(AeWB@ypZxCn=2^@X#2bGP&KeapC{x2OsX{@4n8YqmbVWL z4rSf^V~`v=7I&WeNof$2mCLOAk7WHE2}-^0$~234VL}u!*+L#~hV$w<5&OPolofPE zJc6ziC2kq7foI>`ol1~}V774+FDyI$==;@AhBG-P7*wAdH~?dlJL?v&3H;5>N{h z?f*?{;Vx~@9&>ma`C!Fz#pfD?EKLk>F>JipV>=|tItg#{kDoUf3x`luaTF@&cmQ6R z{*z;HkeSw~pXk>vEj%8R9!@&+PkK<2w3OpBqAb*qu-Tb71r?|o0#d|-hitYqAslG5 z59P*Q(bEw5EY!pnCZt`AXiSxs9Bi80w_ya$tb-j)=)$NaW0@)qIv}qf#Q3Z-P!LdA z?OLMFJzHVR4!DVS}%ctav^C8nJ%G-4MjoRFDVojAH3 zVRct(sKQYBQD%b^9|E$$A+8)&^5U$N!-v+Py#+M{0>q3(#T}TNi?qp<5%HQg0ms(j zSOB5Qd2zS}!D>=YNO!^Agdz8eHlZE_z??KAfsP&LaO1RwxRDZ_bSadzo+y-txQ4zg zZtQKLJ~%cc5D(Hevk*|5%jFi#=b6RQNX$6qdkmuIz%h_Ii8+fERyiwN0#b})Vz+eB z9SbMw2gnqO{jM$WAq#{;5`l+}M^4e*OdFRR4xqcARLGsZ3It1-%&MgUW?OSIOt+iA z0s1{bl%pXV>@cB7TBHm29tdsUI;0d_Q13f}+mTud6a&DZdRIMiCewL=YINzq@I|nx zi*>I;FUnG|f{TV7_I?E&)CK|Ro7)ID7`dYKY2RVtmb$JkE|$6)cfi<7BBS)j4eBCM z6`Y`Q!Go+QL|wgs4`&?@)Fu()nAGGIH0+%QBOp~il~%UGnyp3LVm7X9SADdM(% zA4*xNocib^tX0U!J1#+@w^36QH0pHU;D+*&h9tPIv$|4C$Ii9BZnW)+s|eKr3Xv4G z9qVy`i7ALVbiVZ8xjxW*M=gG4)Dj!1%1Hc5#`HG3-7S|YiWi*`CDKX(K=L0TOB}2R z2=-u^h|>E=zzdjN48s2cx}b5_uR{PB?tF0#5aS$Vwxpq3nJL+cC9Wnvkxc04;$Ram zE4>g6QBmvh z0u5+6i98Hc$GPBYvQIem&06w?sg07Cfl@ck7*f71uR?N?<|`5dX7g$%CAe{EPV#+f zO{U-z8#lFwrm4)2R3>26asr|oeA5*FiNxAhrYJHJ7X<~*&B60WsA*3LN2<^9z%f`R ze#@KU(&0q^W6mFgL@OmYv8_0OVa#R%#PF16KndJwSht~d>yeu3jN`wa;5vlcG<>+* zIWM3ME4RpfjX0+4R8LRSpHxI3_E4q(CpKg#J$|?Q-dz96bVBiS7V4W*&=o=C%%iag zYJE?vg}0VvwxArTQs`j!Hj?6C;R&R#;6GK^C6}DZ2zAw_l}P3TqMZBhkUYB66UT6i!2CCp}IW!5nik8+GL#}VIM?DeYx$Y%x zdS+RZ2SKRr^3Hn-ppV(LDQ-P(qPo|&+njIOB4>{K=$Xc@)l*^Kn9 zY?0=dP6$|J<$@Hb0sYEca1NLvogb?(68{wJm9}`8uq|*zVG!N7EF`M?*+%flwALd? z&7#b=(8QNT5=GGmFculiuWjuB0=n9hw=9yN*t(9k_DrMcMP6hs+2)9cJljmK+X(5N zG_Si#K%q>qWN=4&bj`%UjUE&~1f#ed6bNBd)DDL0@l+^3%O%1@h?H!xoY_2sFp$Uz zY1Xryulz&Q(qR4)e&k4Vaw<1mA1ame*i^O2m^6q~yq5Z;R6B4%FfUjL(GQ-iYEeW^ zykVuvqpkUNWmDlU<*O5ScJyD#1WC0m#;}EPI zR1j}Y2!d!gmvS&ZC2a#TW1!rd#FoY7sVV50?sbFUlfr_GVQHb*)Ndl0Q+SoSu3OS^ zhAx z4*~bO>DHENH-(>9P6~Ns3&rJv2aIC67B`#Ui&4Y`451K)sZlTziG1^U-oth7PXIiY zw$XG{i|z||8SDZ7)AkaG=q0(q)WicQe`b2b`!(IYZ@Mq2H}hIq&jL7wiVdg=HHD5P zFFes&c2-&m$fHgdpJ>%9V^-v&5CM{(D3}y+Q80rD$#(qmJ{3Eah!HbgIT4dUD~@ey z?Iince&iKQ+l1NZ*)*J;9{8|X%uh;c?3Dw{z> z>m_lZA@hTaDGiw^mi0D`F11T)rBv&6%PipEvFY_RVPTH{m5)J zvjo08n6@57cz|C$CuS50ArU! zcfpx8)=h-wpfQIpE*KiIcuI3{l!1o@!b&dSD78PT{y;otAR(l+aj}p4`xgoT04Pm^ zstJ+(j;s$mJ0poixYGwKp}h4{I22;Xl<4eIRG9bvy&zNw%;UqVUtKgc3egstUv_$bQMSU>paKg0+%29Roe!wZs(`zkT z``XoGE#966Qm@pbr2hgGQ}T%PYc$@TEF<>AxT@IP)O*G}rOOBVuOs%CC1&&5TNrH& zOXlWlY*l#}1%z%!kAh5-AQ)Jbj31N>fRIRhAWEkgfIYsZ@&*P4jGRr>0ZDuT@fz0w zwm7e>$KuFV;>iHTld(7=0HjsL2h-;nID4VDmzRpxuof&!6ZttJ#8>V)!8)65ok1Q) zulgKo8W*tl3gh|NuS4>`{#yALXM`w8hfwZ_cwSe7%?LPgMZ#&qFX>y zX_I*DLF*O^oKeQEkcTQKImanCW$?eCpVIOSr(9*{=qR#!DEe-fMMGW+!R3Nkac{SE zWzfskMAYqMzZ)x+VN1$a!UcqOPmT7vLZ%S@O9$4kz(4gV2GEUpmbQ1<~CW5XR@)ouHA!gAPNA%fvb{&(P%h@ z49qOcfX?wW!(%EU80f;`E(xD{JS}QdbhAg`@zIaQ&FO}SYl7^C52!Au?^g=(?jAho z=QPn4d&r_m1Q4Mq0u2TL6q zJ1iR-?%kjNrQWP;kpKTDWYDW(y0XTdsPaJcC{m{|9aB*bor;Ylf<0}~jBySkg9U2S z5`YY>q~{y58zlbYS1*vDq;d`pHY$B=!b)0d@Lij)Pjc> z&EC#N!{S)cS7MN_x27SV1mh~5_Yv?&{Fq!@I7Nh{ni#l%Mct~Ohgtw#(M>#6F8s<* zFEV9|oW+j*-8KU&GtDZPP0XS~C}t32B20Y*Q5tg(M+X5$)g!?#i-5?c5YYn3nH9=J zFo;+Ur8~n23I#CTgXD~l@}!m@0W_zK1zVrI;tV9$9PC03?z&;~i)P2753SHU2MIL8 zjiGUP+S4%gz{=U-`7O~O2noc6nT^G)3Yc8P+G^h+BM%oRtmD}1R%5eiW_UsiP2zJB z4npZ^XH^s-Sc@NEA13WV-gEM1e(Qh3POTrPAA9WafcY zJrrczgfp3g6)8dQ8bi$^f=^j@hOfQsvqtmV`s2oP<^VFEt3&PPsxZZ(lFkiOyi0dO zq~3Y*c*jC3BB!SQ-K-OW0p#MgCm}EmbrQZFAvo#e-XS`H%5qo_>S|JkF4h6aG2n?%~OCTiLmx5d>Ifmcv*R2-kZt5wR{qw zh3njr83WPT;=iV38Gj43W=&&=`CL4)0MjfWM)1*(;5c3@+!IF0wXhezQXr8(`6&S) zdX{wzUE70`s@ojf6HBG z)k)pn(0GU+o#R+D4usR=A&?Y8h1PG(Qq2-DWSf!3M0{i~RLTq}g%n^M0{{>voDMMy zu)N*Wz7*zc;OQ4lEK6}SvEiAAiC3bCl8_I_v6s`?-s?m~d$ulocr;VJJ)R;N&U#_D zvm7{k)f%3~4*)2dh@9}B0bsaf6~R6w4sgS4{aLzmTz2z{tp(rTV+SQ9RwmUHTU65j zsJO{L7-%%7DGRhRe5y=B&R%GXMT=OOkQ_zWa313v7y=Z<2_UtuP) zl?~=>)mBTk+uT$Edyv6SjPkd$K~;)OATlg4B4Ow zE?hOAmv_#Hy*eiin)ON$1#~to<5o!{F`o2w5Ay|D0J*8^1sIcGW;d)nEq2FzqN98y zQ5YSt$!VnDHQebV&oVl^AX;qU=`F&o>YvWa6@q^eN|QvkO`z&8kPEIm#e@x`nRLDz zJaexnGgPaP)R4$!7KVy{VoyhSV5rt5NQMi8Z@DP#7RIc9`yOnmE)NL}S(4+P!0hG5 z-o6Z%87)zSdVy{lVBvhkPs`~33KYkzUT%EX6e-g#`GEuHu;Boj%{Ic0WsSZW%w!?J z8NKnKLIH!MusM!5lADgMmyU(uX^mNo#J?vW~#x>!3v6vW?p^<31O7|ZbWdI(%EG-v9otAIcQ z_F_ET(ppv(&|^V9;cn<1HuK9)Kg&LH%g%#N0fFJt$1K7<`awUZ&=uhtef;{v^V0EY z+}}H4pP#e=AwM2FUQ|YfBp~zN9qR9gq0UxVj6u=RJNYq9@i%YBiHevb8in81$r|Bzqi7&dyt4z(N2lp>pNBgwl)VNw?s<_;B; zhJ=L=T%(S62Ts1&kFuy*t%{;(+Y7hNAj=jcs8w7Jqf~c2E<~pb3V@p=Bx;Jd{#}J5 z5y$ykOIJI+OfyMwiYWIBJgV=dUm#U=cPtcMa6W+isK{moPSWv0CuBEwc)=SwBjSi0 zw0c>gvG`$i)pVzLP%<)is|;!Fr05RC4&vZZjVchptO^U=FkXWjx}^MPcOLW_K<;=ZQL(+ZnkZ00&voxIs`e2G&i^x z;G0g)xunMBam}T6C)6^82#$AL8aJ!Azze{xe-}a+kEnh?kI=fz!8N?Yjx2oe+lfD{ z`C|6I^g_hiH`lQk0_dbcHIMZ|4g?K!TE>6~hzPI`{S~O1I+=!-&WX2UQ1BstUt}QY zfOr(tS>sv8af2-Xtls-VJwIE?sch)PcxpFGProO~%;Qg!+<`M08T++{@kT3Uct@>* zz!3vJp~x&gU({YIctVtzZ9Ff>X-;9rYJ#P1}6^9sr+?f~}5Pdzed3r;>fuJMLK zibGmix%w@jsI89V8+<{j^DL&Vw|fao*_=iJ+1(?HJU}r#v0^#t*p0TOVF7};dtntC z%gA72cJq(b%c@c_~WqHO>0R(8)y?Y`RvW{J2*l8+ z!9ue(>g{k9aU5FUTI<;Ai*}_`rH{0f;7`^AW9c-M8NJlifWm4yH@z`>QVPIJ3u;S- zX?urqAr_?XRS<}Symw|{wRt_&YrQsRoE}8eIfaohfc_~;zQnshV$$Ft`Io*_oSOpg zOO40@0E-ca@&R(SK)ykA$&oAx3z-uk5x@Fu5$7#;9=U>I69nH;7t!9WU#C&mwl&;@ zV7RM=yE|kWik%I^dsXFbL){BdR_M7K#DVBJK{CkLHHeE;nyoS$+yxn7E?9x1R6uYJ z25kg>rtb3cz$PCMe4Z`>6Mj7XT1jCsO(A|lO2r>jTgXr!$g}SUJAOGCdo)-(&Lm2V zIo&lhFXL0Whz-~Bgr$a1fV3*I$S_{?86wQ+ZyJmEqW+#o_FK^5RITSxcZ(vo2DQg} zpkG_i-PlO<6Pf0wi-*Y+&eIN?`m|J?Y+He^1-B%oqCTpti1)P!p@}s$<~JY{?rH%B zg@88Hz$uG)0kZ@Z7R1R!cxhmMJqbST&3z)%FSKbT_{)7{d-f;Ic}!#hq~E|%B=Y*c z-q8UWL+3G!^x*2T0`XnSbGI!;#=N`nyNiZFA zayxY|EVv57)()BDur`#YfFZUe@wUP62go_M#wCH$azp(79)2EW;=+bvAXD8{A+1?p zG8w1H7?h{ee@C~khb^|pL%@xT7yw0><`AAWWIby`Yfoc@weq>V485}ehM`6$ZCXv- zSF!Vr8p!y9KF$+ooUuE~!>zz%#zZs2m%kDHflWBkJZ+aCd*qZOTpOvF47^ihO?C{rX~= zDD39-N6Z4?bpoCaI6xPJ{QhO5y3aK!M=|*JlB8#M*!U*`$D5iagK+y;82NPCK5?|tzrhPEX~a4J^yd8In&u$awIAPZ)KU-k?^>r zenXeMqkx>05~_-JFbxx^zvjwF>zf8L8*XFTCSDsIn$8_JFAIfC4k@xuP(f?b3miRZ zY?MQ``;2tK>cZ@e#3HbSpg25od>w~${XD1iaW6?cPM(OVS_hGPu&rcDm+S+3VmI0_ ziM9rGS+%7DHGlNrwjwG2Pc&!f=(tBNU+?*3vz5_>@rD=Qqe9pY8d8GS)xaP`(4zB2 z4iB5)xqOR`cNXa%V;v%^5p|W!l}HA9GUdn=hj3Aer+RX}^RC3y8R`~u>VRe#Ei(xC zROzaUwO|jqJRA8D&a|n9=$7M?u#PD5K;*HVg^wOZjf*&CfeqJW8e_3KVM|nfgnaGO z+d}I|=Kee|X38$LbE5@*dNtJHfRTx9)J}l8F6?}O=_&2&4aQM}J|>knF9RVYpNg)! z2aor$MpQ( zBYXY3jwYAns;8#0!Qh*cHYm3uN;Fs8Fn!+q5NuhGlHBA316tctXqENdvq@drj#pY! z=+TEmrZ+TrMuZVn+rfIGamLa$?${F~P7zh3R1geWj+sQ(L5f7a+Coj@>6VREKoWB% z{Pr4Kw)J@mPYsoEgl zfUr@a3&S~|r{}j&in`aFIIwjma;7w8+2(O-cNfcw_hLl3B?$4TB*F`8$T0$!0s5ClTGGaHA2aH3Y76werZnEn88YOD45{U6iH zNS?p+?Lmm?z+is2V{)OaY4ZXaa3-p=fi{LYzuR4?zZ3QkoE#_S6N&210+{bVr2t5L zDf7PQmnw4sOcS&0s%m1|P`Xdnk(fC~2|GNg1uqnLd~*WF##@C z;$}Eo-@hrlsq|fSwAQr6iFyW@2}kAWkJR;|yIPATy*pZ~EQr+c)%4P^5NvsQA-vcV zSF1EEF63&ntTq=1zFUxFXJgO@U!HpizhRSDdmH*bICq`IW?gHWFhJOsoyYpW5Cmt- zv_M3C5F&DRqQ9dO2zPNCR8vT41fgZXU@NiQV;egkY1lWkac3y?46!2JbunBMD!U1l zK|UAumZn{S524tl;Z@p#V!q;^QjJn;ro&3ri-fja3c>}c$SrnMQ7!^LSGxC5Q0_$y zXjJE+TNAVb-f~7AGpMX3M_yPOKA-$ z%eBS3bF#L$;li+uOGG$3Z(&Zs^|Tu?3t!nlyGmDI%kr*p9#+(yYe*`C>+{{l-gtF5ZZP70!bQ@iZ-X~~B3)JOHcu9UA`}qzfOZdS@`fZO$Pu!m z*(EKXiot$+0DaJ4>njxk`c1Rx`fRr|+Mi*L8YQ8IA!73rU~xRVEtfCPF9kwqN#TH< zjqgj1CN{voY_N z4NQ=Ue3V2;fRXtvIJq7=#p{9WWXT$m`}6brQ$N|X%ESbD?Z93`s8IuNbq7V6%79>D|W z2m~ij@LMYPtaLtRyUti7vzQ98q5;DEqx<;E)DnL41QxWYlv#r72BlEUDCY!lXHGL; z%PvsPA%I};!V${`6FhhZ6O%|lj5Sxr+N)_E7r^O732MJ>kJdF*&C*5ERJqAaICM zJ_uAIh=+n7NNCBt@a&J007N2)DG)Uv4o7JK0_M4ak&3~RF9;V7NgP-{`1E-=8*m-C z_(9f#&__odaOs1F1{4gG8TK|DW+=?Tpd&#HN;4Q~NZ3)hBP>QEjK>-#4D(-0dHVkLA*D3tL4VLbu>;%0;oM6-#r6Qm}% zNJxo6Jt9FwDiEYgAj-q$hrbL>4$c}n8G;$G9%w&+=wXim<^%1A(hOS+8V!05wGTE8 zdI;GF@CX_RzzNU@-3Uzy#R*gjehUf(ZwCVezy%lu>{#{u3Z{G)lBacJRh!)t*T2EH|% zHh3oSrQ%)4^Opw|{#!gJwuo)jze{u`-!1#aAONO|J0IL8|8}3c4Y_UWZ2QpJ2Y>qo zZ4t75$D0Rl*I=!Nw`;Ms$s?FmLXF557Y@4tIoSRTMYtMg15jRN8_j!lgST65+j-k= zD@^NVI*_p&+Yyf|2(zJKE-nj`i2+B6>mgj9!e#S}i;c#Oh(LFMQ5@=a8vt32B6WaN zt5GYgWKaNhngT!%1H>U5$YY%*cVPBriLrH0C`PAhXfO(}4>^Hhs8uG=Sz;uJ%xYzQ zK?q|8;T@e7?1oIESJVS^;5#6IxEk|aoB^YfXEMi0nmpr$fEpN`Kj6S4y#L(*`G#iy zf#gw@k1G(mfJi)EGW`M4Y&tHb5sAXkLSfxwg6PwTokA?(6;X;_lt;noow8sP`(e+q z*2beb%ZdXS9JNuQV^HLF%NdN@Wrd|nKi6c9gW(uD*q1s{@>Isyu0DZC>As^zofZ0#q0 zl)%7^11A^opQ=?DC^iBuC~6&=FksD8bkn5%kZ`Pl6N<*8*2kB`URaGP4h^HfIQ4Rf zr2=AWqlVqiOd;9(v>k3UkB98c&xZ)qz_zD;M!^Q?gfj?}Fp%@lPGtxI>o5A-8h%8C zDR?zd2ed$M{4>Ka4}2K|?MKiRi}rbtZ9??=6RM5Ep(w9FYY+B*o!kYnF2G@`mIg+k zZkWBBix*Ig6zU+el^dFQS6YoC2}Sc^f=nNm0&Auy8hY_V6LGy2?4-po zz!G)=<8{L(Pwn84_eqb;o>`WBx_ zekF*5c<4)rj|hP_)y^fMMuosVnSSu19|B}ho=pZ3OGDj!i|gl?UPvC(L~5)7gQ}>c zP31o6SeCleX|8Cru}EFbivTGq-%qHOT6l1SJ4|*+j{Klwcz|oF&@NQ9gbLF> ztXdsXF}cLZ$B-%MvE&UNff}jtbWMoC*({?sdi+;3^vTdtQ}5P8!U2=`$YoULV2S@W zQ^m4uMh0ZdPU12w)o+lPVh7A81M7NR1M3I@1SZWF51%RuMCquCgH8FELuHSL0?_$< z{5=vpIdc25C{l-&hp7&L(p86^@1gP78W`i0Rys=7m;94}gAF)_eU9pW0Po&%i^o&ZCT zgGL@Gg95CWTk-TN!_+QCa7iN_S( z{3R1ObUX|Q<}Ud^4wQ{v9&qG(H2+Q*;AmtS(rkEgnUwlmZbq6t^e^3BM&}x^Xx81j zd44uFhQzN;bljad#k8yAa|Mlp<6!Uhz-)^J>PVd?{%X9}g5DjApC5o{+Zvw&>cyB* z35uIE@*|wdtB%`<64g1xVMT0;=G8}N+87cH$3oXL=qd)P4NiRAG?WQ)pKnN6+2Fr| zLQ0F@YD&ee+!C3M2uD}`kDJ>nQ3l0BRkYsW#Cg&EsU!v_lIY28?OI?hj0q70P|j%@ zIr(j}ZfD3b*2K#*8~+aSl1e#zn_BZIMdO`JtYm5g>xrLJ(+CzD|~2~UnE zXKR<*!CZ?<;_h2Ch-P6)48p`*f7Zu^(a&;nEdeqHixFKyyVafgK~&XQ zX|`TfU!-}FKTOA0TE zN!eSi!Yd}slOj@lc*45@h6-QbQ_stNcnlPUi`b%kQbgW-W-$W6y$!`Nn5cWYKT{Gw zvlj9FFhTb}RMVCJa=v(^M3lf1xrS#>Z+z70jJ$(5PPuN(+|L4lMuH9rf%WPR(&It3 zh^z`YjgS?y2ar|`W5gruw*0}Jbfx}%3&h}rP9-hP=wIgNrU@d@vuLudywfVi;&;lc}GjA>rY3$@2UN_0|t zmmAb9yuP6B-LJKLY}cU-$m~~0gS7}@Xb`uW73PIwfLWuRd*#j2a@CwxuLmO`lSyIR z!LIM>;Bi_v*OlZ|Fp;vit1v{v+Qe+;=|ZsGqOr)VgIl)7Y}u?^MPS@kDwL@eUvjp# ztb9K>JFmk`YP>+`0Y6qAg z>0mlU94Cwb>>MXt3?Vd%5w_ojC-s*Tzz}BxxqOV&?dGehSm6^C`o%yl%8QoP;9AXo zvvI82L1NR9CsgY&hVmyp*h6^}j_e`4iN|&D-bCHFe3En3GQ8P=d^H+=Rh1QOsZ976 z!%?m!36lcoYBa}zbTt|vpD3qWOqlRJ-lkeMT0000000000CGV>t literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/fonts/fontawesome-webfont.ttf b/Server/www/spiderbasic/dojo/themes/flat/font-awesome-4.5.0/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..26dea7951a73079223b50653c455c5adf46a4648 GIT binary patch literal 142072 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 +|+&Vdls@0SAya!8#E9iVniRwHu0GY;H*n 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�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%0D0!#Bo^>xe$Z4SmykflG_VnkLvLv4@e#4_y4Q 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�>=olG4!T4BYNCc4f{&*Kgc`m= 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 W<|E{8J|f%=QG>(X2)E#Lw>1Df1imT& literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/flat/images/images/progressBarStrips.png b/Server/www/spiderbasic/dojo/themes/flat/images/images/progressBarStrips.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d8c41c799a3cb7b8ca6a66455b0fee3f8e0e9c GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^K0vI-!3HGre$DSr z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}mUbW};_k zVqj@vsiRh+i#(Mch>H3D2mX`VkM*2oZxQ#zd*q`*i_F@Av`lL zCBM8Ftlrnx$}_LHBrz{J)zigR321^|W@d_&tGT(GiKC^tg`=f~p`ojhg^Pikqp^vb zv9qP4rK_tMOs`9Ra%paAUI|QZ3PP_1PQ9R{kXrz>*(J3ovn(~mttdZN0qkX~Ox$iU z#c3W?ZwhX=nBml`4|I$^C}NQ!8YToxJs>7L*#bH6grAxROzlO$WPRF!Z?50=JLDkY`tYTj?k_Gm1GRnsnJXI}d3Q8Dp0MSfqsCq1*vyT zYaRO`s<9-=5Yr4tB4{@7Ky1%{KF+p$Z_i*KR7bSR~ziM(dKDTv| z#dM>GdJ8VH?RGgP7;DwUeIaA@ct$xYx30-EZyjcsUU&z=Sqx85#ueU?kWR}c9 zt2?s=w;Q-=KYPV}Z)V}T{3yfeZpUIB7t5A(_9*Xii4UCR&34DyBuZ>L^Y&J^(~njq z^=vM4m8mzL=X1b!R{ysX4Mm*07M0GbUgZ7E`N@;TnuisO`lFo|>&70uBmJ(tEkpF+ z(jNbno^HX<+;i)I%x*khmn+w<%}#&*kC=WohcTV~I>*p~O; rT}F1smaW<|tZ%8C+?xM7yn&G+ck}X8Mmud!P?6;6>gTe~DWM4foPo~1 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/flat/images/loadingAnimation.gif b/Server/www/spiderbasic/dojo/themes/flat/images/loadingAnimation.gif new file mode 100644 index 0000000000000000000000000000000000000000..d76e4cd7f676dc29fa3b7f170bf7bd4482fd7240 GIT binary patch literal 718 zcmZ?wbhEHb6k!lyI3mEXHjz1{-1jK z|L(j0zyJO(n|omOwf_*nKnhU&&+X?L671|4;A*62z|08LtN4?Jm776;K?h_G$QcZ* zRthS8DVcT}S?iKkZCcKK{AJ9pe&0vGPJEvb@4rI%R*$jDo5YM~4gJkuEL|d2x;BVa zmsITZlq~S!Vni6n#K6J8%)kjWj%R_QoJtbYipA@4q?wQvFaZ^C0Tu8oD62h5($ZMK zw&wA^4VY?JfND4%Cq4wqn+%Z0`LYeSgILCD=4420bcQG>(X2)7V+H!sod W<|E{8J|f%=QG>(X2)E#Lw>1Df1imT& literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/themes/flat/images/progressBarStrips.png b/Server/www/spiderbasic/dojo/themes/flat/images/progressBarStrips.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d8c41c799a3cb7b8ca6a66455b0fee3f8e0e9c GIT binary patch literal 1279 zcmeAS@N?(olHy`uVBq!ia0vp^K0vI-!3HGre$DSr z1<%~X^wgl##FWaylc_cg49rTIArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XP}#GU}mUbW};_k zVqj@vsiRh+i#(Mch>H3D2mX`VkM*2oZxQ#zd*q`*i_F@Av`lL zCBM8Ftlrnx$}_LHBrz{J)zigR321^|W@d_&tGT(GiKC^tg`=f~p`ojhg^Pikqp^vb zv9qP4rK_tMOs`9Ra%paAUI|QZ3PP_1PQ9R{kXrz>*(J3ovn(~mttdZN0qkX~Ox$iU z#c3W?ZwhX=nBml`4|I$^C}NQ!8YToxJs>7L*#bH6grAxROzlO$WPRF!Z?50=JLDkY`tYTj?k_Gm1GRnsnJXI}d3Q8Dp0MSfqsCq1*vyT zYaRO`s<9-=5Yr4tB4{@7Ky1%{KF+p$Z_i*KR7bSR~ziM(dKDTv| z#dM>GdJ8VH?RGgP7;DwUeIaA@ct$xYx30-EZyjcsUU&z=Sqx85#ueU?kWR}c9 zt2?s=w;Q-=KYPV}Z)V}T{3yfeZpUIB7t5A(_9*Xii4UCR&34DyBuZ>L^Y&J^(~njq z^=vM4m8mzL=X1b!R{ysX4Mm*07M0GbUgZ7E`N@;TnuisO`lFo|>&70uBmJ(tEkpF+ z(jNbno^HX<+;i)I%x*khmn+w<%}#&*kC=WohcTV~I>*p~O; rT}F1smaW<|tZ%8C+?xM7yn&G+ck}X8Mmud!P?6;6>gTe~DWM4foPo~1 literal 0 HcmV?d00001 diff --git a/Server/www/spiderbasic/dojo/util/touch.js b/Server/www/spiderbasic/dojo/util/touch.js new file mode 100644 index 0000000..142c2f0 --- /dev/null +++ b/Server/www/spiderbasic/dojo/util/touch.js @@ -0,0 +1,141 @@ +define([ + 'dojo/on', + 'dojo/query' +], function (on, query) { + // This module exposes useful functions for working with touch devices. + + var util = { + // Overridable defaults related to extension events defined below. + tapRadius: 10, + dbltapTime: 250, + + selector: function (selector, eventType, children) { + // summary: + // Reimplementation of on.selector, taking an iOS quirk into account + return function (target, listener) { + var bubble = eventType.bubble; + if (bubble) { + // the event type doesn't naturally bubble, but has a bubbling form, use that + eventType = bubble; + } + else if (children !== false) { + // for normal bubbling events we default to allowing children of the selector + children = true; + } + return on(target, eventType, function (event) { + var eventTarget = event.target; + + // iOS tends to report the text node an event was fired on, rather than + // the top-level element; this may end up causing errors in selector engines + if (eventTarget.nodeType === 3) { + eventTarget = eventTarget.parentNode; + } + + // there is a selector, so make sure it matches + while (!query.matches(eventTarget, selector, target)) { + if (eventTarget === target || !children || !(eventTarget = eventTarget.parentNode)) { + return; + } + } + return listener.call(eventTarget, event); + }); + }; + }, + + countCurrentTouches: function (evt, node) { + // summary: + // Given a touch event and a DOM node, counts how many current touches + // presently lie within that node. Useful in cases where an accurate + // count is needed but tracking changedTouches won't suffice because + // other handlers stop events from bubbling high enough. + + if (!('touches' in evt)) { + // Not a touch event (perhaps called from a mouse event on a + // platform supporting touch events) + return -1; + } + + var i, numTouches, touch; + for (i = 0, numTouches = 0; (touch = evt.touches[i]); ++i) { + if (node.contains(touch.target)) { + ++numTouches; + } + } + return numTouches; + } + }; + + function handleTapStart(target, listener, evt, prevent) { + // Common function for handling tap detection. + // The passed listener will only be fired when and if a touchend is fired + // which confirms the overall gesture resembled a tap. + + if (evt.targetTouches.length > 1) { + return; // ignore multitouch + } + + var start = evt.changedTouches[0], + startX = start.screenX, + startY = start.screenY; + + prevent && evt.preventDefault(); + + var endListener = on(target, 'touchend', function (evt) { + var end = evt.changedTouches[0]; + if (!evt.targetTouches.length) { + // only call listener if this really seems like a tap + if (Math.abs(end.screenX - startX) < util.tapRadius && + Math.abs(end.screenY - startY) < util.tapRadius) { + prevent && evt.preventDefault(); + listener.call(this, evt); + } + endListener.remove(); + } + }); + } + + function tap(target, listener) { + // Function usable by dojo/on as a synthetic tap event. + return on(target, 'touchstart', function (evt) { + handleTapStart(target, listener, evt); + }); + } + + function dbltap(target, listener) { + // Function usable by dojo/on as a synthetic double-tap event. + var first, timeout; + + return on(target, 'touchstart', function (evt) { + if (!first) { + // first potential tap: detect as usual, but with specific logic + handleTapStart(target, function (evt) { + first = evt.changedTouches[0]; + timeout = setTimeout(function () { + first = timeout = null; + }, util.dbltapTime); + }, evt); + } + else { + handleTapStart(target, function (evt) { + // bail out if first was cleared between 2nd touchstart and touchend + if (!first) { + return; + } + var second = evt.changedTouches[0]; + // only call listener if both taps occurred near the same place + if (Math.abs(second.screenX - first.screenX) < util.tapRadius && + Math.abs(second.screenY - first.screenY) < util.tapRadius) { + timeout && clearTimeout(timeout); + first = timeout = null; + listener.call(this, evt); + } + }, evt, true); + } + }); + } + + util.tap = tap; + util.dbltap = dbltap; + + return util; +}); \ No newline at end of file diff --git a/Server/www/spiderbasic/filesaver.min.js b/Server/www/spiderbasic/filesaver.min.js new file mode 100644 index 0000000..fc16a27 --- /dev/null +++ b/Server/www/spiderbasic/filesaver.min.js @@ -0,0 +1,7 @@ +var saveAs=saveAs||function(c){if("undefined"===typeof navigator||!/MSIE [1-9]\./.test(navigator.userAgent)){var n=function(){return c.URL||c.webkitURL||c},m=c.document.createElementNS("http://www.w3.org/1999/xhtml","a"),z="download"in m,u=/Version\/[\d\.]+.*Safari/.test(navigator.userAgent),p=c.webkitRequestFileSystem,v=c.requestFileSystem||p||c.mozRequestFileSystem,A=function(a){(c.setImmediate||c.setTimeout)(function(){throw a;},0)},q=0,r=function(a){var e=function(){"string"===typeof a?n().revokeObjectURL(a): +a.remove()};c.chrome?e():setTimeout(e,500)},s=function(a,e,c){e=[].concat(e);for(var d=e.length;d--;){var b=a["on"+e[d]];if("function"===typeof b)try{b.call(a,c||a)}catch(f){A(f)}}},w=function(a){return/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\ufeff",a],{type:a.type}):a},l=function(a,e,b){b||(a=w(a));var d=this;b=a.type;var l=!1,f,h,t=function(){s(d,["writestart","progress","write","writeend"])},g=function(){if(h&&u&&"undefined"!==typeof FileReader){var b= +new FileReader;b.onloadend=function(){var a=b.result;h.location.href="data:attachment/file"+a.slice(a.search(/[,;]/));d.readyState=d.DONE;t()};b.readAsDataURL(a);d.readyState=d.INIT}else{if(l||!f)f=n().createObjectURL(a);h?h.location.href=f:void 0==c.open(f,"_blank")&&u&&(c.location.href=f);d.readyState=d.DONE;t();r(f)}},k=function(a){return function(){if(d.readyState!==d.DONE)return a.apply(this,arguments)}},x={create:!0,exclusive:!1},y;d.readyState=d.INIT;e||(e="download");if(z)f=n().createObjectURL(a), +setTimeout(function(){m.href=f;m.download=e;var a=new MouseEvent("click");m.dispatchEvent(a);t();r(f);d.readyState=d.DONE});else{c.chrome&&b&&"application/octet-stream"!==b&&(y=a.slice||a.webkitSlice,a=y.call(a,0,a.size,"application/octet-stream"),l=!0);p&&"download"!==e&&(e+=".download");if("application/octet-stream"===b||p)h=c;v?(q+=a.size,v(c.TEMPORARY,q,k(function(b){b.root.getDirectory("saved",x,k(function(b){var c=function(){b.getFile(e,x,k(function(b){b.createWriter(k(function(c){c.onwriteend= +function(a){h.location.href=b.toURL();d.readyState=d.DONE;s(d,"writeend",a);r(b)};c.onerror=function(){var a=c.error;a.code!==a.ABORT_ERR&&g()};["writestart","progress","write","abort"].forEach(function(a){c["on"+a]=d["on"+a]});c.write(a);d.abort=function(){c.abort();d.readyState=d.DONE};d.readyState=d.WRITING}),g)}),g)};b.getFile(e,{create:!1},k(function(a){a.remove();c()}),k(function(a){a.code===a.NOT_FOUND_ERR?c():g()}))}),g)}),g)):g()}},b=l.prototype;if("undefined"!==typeof navigator&&navigator.msSaveOrOpenBlob)return function(a, +b,c){c||(a=w(a));return navigator.msSaveOrOpenBlob(a,b||"download")};b.abort=function(){this.readyState=this.DONE;s(this,"abort")};b.readyState=b.INIT=0;b.WRITING=1;b.DONE=2;b.error=b.onwritestart=b.onprogress=b.onwrite=b.onabort=b.onerror=b.onwriteend=null;return function(a,b,c){return new l(a,b,c)}}}("undefined"!==typeof self&&self||"undefined"!==typeof window&&window||this.content); +"undefined"!==typeof module&&module.exports?module.exports.saveAs=saveAs:"undefined"!==typeof define&&null!==define&&null!=define.amd&&define([],function(){return saveAs}); diff --git a/Server/www/spiderbasic/forge/aes.js b/Server/www/spiderbasic/forge/aes.js new file mode 100644 index 0000000..bd99bc2 --- /dev/null +++ b/Server/www/spiderbasic/forge/aes.js @@ -0,0 +1,967 @@ +/** + * Advanced Encryption Standard (AES) implementation. + * + * This implementation is based on the public domain library 'jscrypto' which + * was written by: + * + * Emily Stark (estark@stanford.edu) + * Mike Hamburg (mhamburg@stanford.edu) + * Dan Boneh (dabo@cs.stanford.edu) + * + * Parts of this code are based on the OpenSSL implementation of AES: + * http://www.openssl.org + * + * @author Dave Longley + * + * Copyright (c) 2010-2014 Digital Bazaar, Inc. + */ +(function() { +/* ########## Begin module implementation ########## */ +function initModule(forge) { + +/* AES API */ +forge.aes = forge.aes || {}; + +var ByteBuffer = forge.util.ByteBuffer; + +/** + * Creates a new AES cipher algorithm object. + * + * @param name the name of the algorithm. + * @param mode the mode factory function. + * + * @return the AES algorithm object. + */ +forge.aes.Algorithm = function(name, mode) { + if(!init) { + initialize(); + } + var self = this; + self.name = name; + self.mode = new mode({ + blockSize: 16, + cipher: { + encrypt: function(inBlock, outBlock) { + return _updateBlock(self._w, inBlock, outBlock, false); + }, + decrypt: function(inBlock, outBlock) { + return _updateBlock(self._w, inBlock, outBlock, true); + } + } + }); + self._init = false; +}; + +/** + * Initializes this AES algorithm by expanding its key. + * + * @param options the options to use. + * key the key, as a ByteBuffer, to use with this algorithm. + * decrypt true if the algorithm should be initialized for decryption, + * false for encryption. + */ +forge.aes.Algorithm.prototype.initialize = function(options) { + if(this._init) { + return; + } + + if(!(options.key instanceof ByteBuffer)) { + throw new TypeError('options.key must be a ByteBuffer.'); + } + + // convert key into 32-bit integer array + var key = []; + + // key lengths of 16, 24, 32 bytes allowed + var len = options.key.length(); + if(len !== 16 && len !== 24 && len !== 32) { + throw new Error( + 'options.key length must be 16 (AES-128), 24 (AES-192), ' + + 'or 32 (AES-256) bytes, got ' + len + ' bytes.'); + } + var buf = options.key.copy(); + len = len >>> 2; + for(var i = 0; i < len; ++i) { + key.push(buf.getInt32()); + } + + // encryption operation is always used for these modes + var mode = this.mode.name; + var encryptOp = (['CFB', 'OFB', 'CTR', 'GCM'].indexOf(mode) !== -1); + + // do key expansion + this._w = _expandKey(key, options.decrypt && !encryptOp); + this._init = true; +}; + +/** + * Expands a key. Typically only used for testing. + * + * @param key the symmetric key to expand, as an array of 32-bit words. + * @param decrypt true to expand for decryption, false for encryption. + * + * @return the expanded key. + */ +forge.aes._expandKey = function(key, decrypt) { + if(!init) { + initialize(); + } + return _expandKey(key, decrypt); +}; + +/** + * Updates a single block. Typically only used for testing. + * + * @param w the expanded key to use. + * @param input an array of block-size 32-bit words. + * @param output an array of block-size 32-bit words. + * @param decrypt true to decrypt, false to encrypt. + */ +forge.aes._updateBlock = _updateBlock; + + +/** Register AES algorithms **/ + +registerAlgorithm('AES-CBC', forge.cipher.modes.cbc); +registerAlgorithm('AES-CFB', forge.cipher.modes.cfb); +registerAlgorithm('AES-OFB', forge.cipher.modes.ofb); +registerAlgorithm('AES-CTR', forge.cipher.modes.ctr); +registerAlgorithm('AES-GCM', forge.cipher.modes.gcm); + +function registerAlgorithm(name, mode) { + var factory = function() { + return new forge.aes.Algorithm(name, mode); + }; + forge.cipher.registerAlgorithm(name, factory); +} + + +/** AES implementation **/ + +var init = false; // not yet initialized +var Nb = 4; // number of words comprising the state (AES = 4) +var sbox; // non-linear substitution table used in key expansion +var isbox; // inversion of sbox +var rcon; // round constant word array +var mix; // mix-columns table +var imix; // inverse mix-columns table + +/** + * Performs initialization, ie: precomputes tables to optimize for speed. + * + * One way to understand how AES works is to imagine that 'addition' and + * 'multiplication' are interfaces that require certain mathematical + * properties to hold true (ie: they are associative) but they might have + * different implementations and produce different kinds of results ... + * provided that their mathematical properties remain true. AES defines + * its own methods of addition and multiplication but keeps some important + * properties the same, ie: associativity and distributivity. The + * explanation below tries to shed some light on how AES defines addition + * and multiplication of bytes and 32-bit words in order to perform its + * encryption and decryption algorithms. + * + * The basics: + * + * The AES algorithm views bytes as binary representations of polynomials + * that have either 1 or 0 as the coefficients. It defines the addition + * or subtraction of two bytes as the XOR operation. It also defines the + * multiplication of two bytes as a finite field referred to as GF(2^8) + * (Note: 'GF' means "Galois Field" which is a field that contains a finite + * number of elements so GF(2^8) has 256 elements). + * + * This means that any two bytes can be represented as binary polynomials; + * when they multiplied together and modularly reduced by an irreducible + * polynomial of the 8th degree, the results are the field GF(2^8). The + * specific irreducible polynomial that AES uses in hexadecimal is 0x11b. + * This multiplication is associative with 0x01 as the identity: + * + * (b * 0x01 = GF(b, 0x01) = b). + * + * The operation GF(b, 0x02) can be performed at the byte level by left + * shifting b once and then XOR'ing it (to perform the modular reduction) + * with 0x11b if b is >= 128. Repeated application of the multiplication + * of 0x02 can be used to implement the multiplication of any two bytes. + * + * For instance, multiplying 0x57 and 0x13, denoted as GF(0x57, 0x13), can + * be performed by factoring 0x13 into 0x01, 0x02, and 0x10. Then these + * factors can each be multiplied by 0x57 and then added together. To do + * the multiplication, values for 0x57 multiplied by each of these 3 factors + * can be precomputed and stored in a table. To add them, the values from + * the table are XOR'd together. + * + * AES also defines addition and multiplication of words, that is 4-byte + * numbers represented as polynomials of 3 degrees where the coefficients + * are the values of the bytes. + * + * The word [a0, a1, a2, a3] is a polynomial a3x^3 + a2x^2 + a1x + a0. + * + * Addition is performed by XOR'ing like powers of x. Multiplication + * is performed in two steps, the first is an algebriac expansion as + * you would do normally (where addition is XOR). But the result is + * a polynomial larger than 3 degrees and thus it cannot fit in a word. So + * next the result is modularly reduced by an AES-specific polynomial of + * degree 4 which will always produce a polynomial of less than 4 degrees + * such that it will fit in a word. In AES, this polynomial is x^4 + 1. + * + * The modular product of two polynomials 'a' and 'b' is thus: + * + * d(x) = d3x^3 + d2x^2 + d1x + d0 + * with + * d0 = GF(a0, b0) ^ GF(a3, b1) ^ GF(a2, b2) ^ GF(a1, b3) + * d1 = GF(a1, b0) ^ GF(a0, b1) ^ GF(a3, b2) ^ GF(a2, b3) + * d2 = GF(a2, b0) ^ GF(a1, b1) ^ GF(a0, b2) ^ GF(a3, b3) + * d3 = GF(a3, b0) ^ GF(a2, b1) ^ GF(a1, b2) ^ GF(a0, b3) + * + * As a matrix: + * + * [d0] = [a0 a3 a2 a1][b0] + * [d1] [a1 a0 a3 a2][b1] + * [d2] [a2 a1 a0 a3][b2] + * [d3] [a3 a2 a1 a0][b3] + * + * Special polynomials defined by AES (0x02 == {02}): + * a(x) = {03}x^3 + {01}x^2 + {01}x + {02} + * a^-1(x) = {0b}x^3 + {0d}x^2 + {09}x + {0e}. + * + * These polynomials are used in the MixColumns() and InverseMixColumns() + * operations, respectively, to cause each element in the state to affect + * the output (referred to as diffusing). + * + * RotWord() uses: a0 = a1 = a2 = {00} and a3 = {01}, which is the + * polynomial x3. + * + * The ShiftRows() method modifies the last 3 rows in the state (where + * the state is 4 words with 4 bytes per word) by shifting bytes cyclically. + * The 1st byte in the second row is moved to the end of the row. The 1st + * and 2nd bytes in the third row are moved to the end of the row. The 1st, + * 2nd, and 3rd bytes are moved in the fourth row. + * + * More details on how AES arithmetic works: + * + * In the polynomial representation of binary numbers, XOR performs addition + * and subtraction and multiplication in GF(2^8) denoted as GF(a, b) + * corresponds with the multiplication of polynomials modulo an irreducible + * polynomial of degree 8. In other words, for AES, GF(a, b) will multiply + * polynomial 'a' with polynomial 'b' and then do a modular reduction by + * an AES-specific irreducible polynomial of degree 8. + * + * A polynomial is irreducible if its only divisors are one and itself. For + * the AES algorithm, this irreducible polynomial is: + * + * m(x) = x^8 + x^4 + x^3 + x + 1, + * + * or {01}{1b} in hexadecimal notation, where each coefficient is a bit: + * 100011011 = 283 = 0x11b. + * + * For example, GF(0x57, 0x83) = 0xc1 because + * + * 0x57 = 87 = 01010111 = x^6 + x^4 + x^2 + x + 1 + * 0x85 = 131 = 10000101 = x^7 + x + 1 + * + * (x^6 + x^4 + x^2 + x + 1) * (x^7 + x + 1) + * = x^13 + x^11 + x^9 + x^8 + x^7 + + * x^7 + x^5 + x^3 + x^2 + x + + * x^6 + x^4 + x^2 + x + 1 + * = x^13 + x^11 + x^9 + x^8 + x^6 + x^5 + x^4 + x^3 + 1 = y + * y modulo (x^8 + x^4 + x^3 + x + 1) + * = x^7 + x^6 + 1. + * + * The modular reduction by m(x) guarantees the result will be a binary + * polynomial of less than degree 8, so that it can fit in a byte. + * + * The operation to multiply a binary polynomial b with x (the polynomial + * x in binary representation is 00000010) is: + * + * b_7x^8 + b_6x^7 + b_5x^6 + b_4x^5 + b_3x^4 + b_2x^3 + b_1x^2 + b_0x^1 + * + * To get GF(b, x) we must reduce that by m(x). If b_7 is 0 (that is the + * most significant bit is 0 in b) then the result is already reduced. If + * it is 1, then we can reduce it by subtracting m(x) via an XOR. + * + * It follows that multiplication by x (00000010 or 0x02) can be implemented + * by performing a left shift followed by a conditional bitwise XOR with + * 0x1b. This operation on bytes is denoted by xtime(). Multiplication by + * higher powers of x can be implemented by repeated application of xtime(). + * + * By adding intermediate results, multiplication by any constant can be + * implemented. For instance: + * + * GF(0x57, 0x13) = 0xfe because: + * + * xtime(b) = (b & 128) ? (b << 1 ^ 0x11b) : (b << 1) + * + * Note: We XOR with 0x11b instead of 0x1b because in javascript our + * datatype for b can be larger than 1 byte, so a left shift will not + * automatically eliminate bits that overflow a byte ... by XOR'ing the + * overflow bit with 1 (the extra one from 0x11b) we zero it out. + * + * GF(0x57, 0x02) = xtime(0x57) = 0xae + * GF(0x57, 0x04) = xtime(0xae) = 0x47 + * GF(0x57, 0x08) = xtime(0x47) = 0x8e + * GF(0x57, 0x10) = xtime(0x8e) = 0x07 + * + * GF(0x57, 0x13) = GF(0x57, (0x01 ^ 0x02 ^ 0x10)) + * + * And by the distributive property (since XOR is addition and GF() is + * multiplication): + * + * = GF(0x57, 0x01) ^ GF(0x57, 0x02) ^ GF(0x57, 0x10) + * = 0x57 ^ 0xae ^ 0x07 + * = 0xfe. + */ +function initialize() { + init = true; + + /* Populate the Rcon table. These are the values given by + [x^(i-1),{00},{00},{00}] where x^(i-1) are powers of x (and x = 0x02) + in the field of GF(2^8), where i starts at 1. + + rcon[0] = [0x00, 0x00, 0x00, 0x00] + rcon[1] = [0x01, 0x00, 0x00, 0x00] 2^(1-1) = 2^0 = 1 + rcon[2] = [0x02, 0x00, 0x00, 0x00] 2^(2-1) = 2^1 = 2 + ... + rcon[9] = [0x1B, 0x00, 0x00, 0x00] 2^(9-1) = 2^8 = 0x1B + rcon[10] = [0x36, 0x00, 0x00, 0x00] 2^(10-1) = 2^9 = 0x36 + + We only store the first byte because it is the only one used. + */ + rcon = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1B, 0x36]; + + // compute xtime table which maps i onto GF(i, 0x02) + var xtime = new Array(256); + for(var i = 0; i < 128; ++i) { + xtime[i] = i << 1; + xtime[i + 128] = (i + 128) << 1 ^ 0x11B; + } + + // compute all other tables + sbox = new Array(256); + isbox = new Array(256); + mix = new Array(4); + imix = new Array(4); + for(var i = 0; i < 4; ++i) { + mix[i] = new Array(256); + imix[i] = new Array(256); + } + var e = 0, ei = 0, e2, e4, e8, sx, sx2, me, ime; + for(var i = 0; i < 256; ++i) { + /* We need to generate the SubBytes() sbox and isbox tables so that + we can perform byte substitutions. This requires us to traverse + all of the elements in GF, find their multiplicative inverses, + and apply to each the following affine transformation: + + bi' = bi ^ b(i + 4) mod 8 ^ b(i + 5) mod 8 ^ b(i + 6) mod 8 ^ + b(i + 7) mod 8 ^ ci + for 0 <= i < 8, where bi is the ith bit of the byte, and ci is the + ith bit of a byte c with the value {63} or {01100011}. + + It is possible to traverse every possible value in a Galois field + using what is referred to as a 'generator'. There are many + generators (128 out of 256): 3,5,6,9,11,82 to name a few. To fully + traverse GF we iterate 255 times, multiplying by our generator + each time. + + On each iteration we can determine the multiplicative inverse for + the current element. + + Suppose there is an element in GF 'e'. For a given generator 'g', + e = g^x. The multiplicative inverse of e is g^(255 - x). It turns + out that if use the inverse of a generator as another generator + it will produce all of the corresponding multiplicative inverses + at the same time. For this reason, we choose 5 as our inverse + generator because it only requires 2 multiplies and 1 add and its + inverse, 82, requires relatively few operations as well. + + In order to apply the affine transformation, the multiplicative + inverse 'ei' of 'e' can be repeatedly XOR'd (4 times) with a + bit-cycling of 'ei'. To do this 'ei' is first stored in 's' and + 'x'. Then 's' is left shifted and the high bit of 's' is made the + low bit. The resulting value is stored in 's'. Then 'x' is XOR'd + with 's' and stored in 'x'. On each subsequent iteration the same + operation is performed. When 4 iterations are complete, 'x' is + XOR'd with 'c' (0x63) and the transformed value is stored in 'x'. + For example: + + s = 01000001 + x = 01000001 + + iteration 1: s = 10000010, x ^= s + iteration 2: s = 00000101, x ^= s + iteration 3: s = 00001010, x ^= s + iteration 4: s = 00010100, x ^= s + x ^= 0x63 + + This can be done with a loop where s = (s << 1) | (s >> 7). However, + it can also be done by using a single 16-bit (in this case 32-bit) + number 'sx'. Since XOR is an associative operation, we can set 'sx' + to 'ei' and then XOR it with 'sx' left-shifted 1,2,3, and 4 times. + The most significant bits will flow into the high 8 bit positions + and be correctly XOR'd with one another. All that remains will be + to cycle the high 8 bits by XOR'ing them all with the lower 8 bits + afterwards. + + At the same time we're populating sbox and isbox we can precompute + the multiplication we'll need to do to do MixColumns() later. + */ + + // apply affine transformation + sx = ei ^ (ei << 1) ^ (ei << 2) ^ (ei << 3) ^ (ei << 4); + sx = (sx >> 8) ^ (sx & 255) ^ 0x63; + + // update tables + sbox[e] = sx; + isbox[sx] = e; + + /* Mixing columns is done using matrix multiplication. The columns + that are to be mixed are each a single word in the current state. + The state has Nb columns (4 columns). Therefore each column is a + 4 byte word. So to mix the columns in a single column 'c' where + its rows are r0, r1, r2, and r3, we use the following matrix + multiplication: + + [2 3 1 1]*[r0,c]=[r'0,c] + [1 2 3 1] [r1,c] [r'1,c] + [1 1 2 3] [r2,c] [r'2,c] + [3 1 1 2] [r3,c] [r'3,c] + + r0, r1, r2, and r3 are each 1 byte of one of the words in the + state (a column). To do matrix multiplication for each mixed + column c' we multiply the corresponding row from the left matrix + with the corresponding column from the right matrix. In total, we + get 4 equations: + + r0,c' = 2*r0,c + 3*r1,c + 1*r2,c + 1*r3,c + r1,c' = 1*r0,c + 2*r1,c + 3*r2,c + 1*r3,c + r2,c' = 1*r0,c + 1*r1,c + 2*r2,c + 3*r3,c + r3,c' = 3*r0,c + 1*r1,c + 1*r2,c + 2*r3,c + + As usual, the multiplication is as previously defined and the + addition is XOR. In order to optimize mixing columns we can store + the multiplication results in tables. If you think of the whole + column as a word (it might help to visualize by mentally rotating + the equations above by counterclockwise 90 degrees) then you can + see that it would be useful to map the multiplications performed on + each byte (r0, r1, r2, r3) onto a word as well. For instance, we + could map 2*r0,1*r0,1*r0,3*r0 onto a word by storing 2*r0 in the + highest 8 bits and 3*r0 in the lowest 8 bits (with the other two + respectively in the middle). This means that a table can be + constructed that uses r0 as an index to the word. We can do the + same with r1, r2, and r3, creating a total of 4 tables. + + To construct a full c', we can just look up each byte of c in + their respective tables and XOR the results together. + + Also, to build each table we only have to calculate the word + for 2,1,1,3 for every byte ... which we can do on each iteration + of this loop since we will iterate over every byte. After we have + calculated 2,1,1,3 we can get the results for the other tables + by cycling the byte at the end to the beginning. For instance + we can take the result of table 2,1,1,3 and produce table 3,2,1,1 + by moving the right most byte to the left most position just like + how you can imagine the 3 moved out of 2,1,1,3 and to the front + to produce 3,2,1,1. + + There is another optimization in that the same multiples of + the current element we need in order to advance our generator + to the next iteration can be reused in performing the 2,1,1,3 + calculation. We also calculate the inverse mix column tables, + with e,9,d,b being the inverse of 2,1,1,3. + + When we're done, and we need to actually mix columns, the first + byte of each state word should be put through mix[0] (2,1,1,3), + the second through mix[1] (3,2,1,1) and so forth. Then they should + be XOR'd together to produce the fully mixed column. + */ + + // calculate mix and imix table values + sx2 = xtime[sx]; + e2 = xtime[e]; + e4 = xtime[e2]; + e8 = xtime[e4]; + me = + (sx2 << 24) ^ // 2 + (sx << 16) ^ // 1 + (sx << 8) ^ // 1 + (sx ^ sx2); // 3 + ime = + (e2 ^ e4 ^ e8) << 24 ^ // E (14) + (e ^ e8) << 16 ^ // 9 + (e ^ e4 ^ e8) << 8 ^ // D (13) + (e ^ e2 ^ e8); // B (11) + // produce each of the mix tables by rotating the 2,1,1,3 value + for(var n = 0; n < 4; ++n) { + mix[n][e] = me; + imix[n][sx] = ime; + // cycle the right most byte to the left most position + // ie: 2,1,1,3 becomes 3,2,1,1 + me = me << 24 | me >>> 8; + ime = ime << 24 | ime >>> 8; + } + + // get next element and inverse + if(e === 0) { + // 1 is the inverse of 1 + e = ei = 1; + } else { + // e = 2e + 2*2*2*(10e)) = multiply e by 82 (chosen generator) + // ei = ei + 2*2*ei = multiply ei by 5 (inverse generator) + e = e2 ^ xtime[xtime[xtime[e2 ^ e8]]]; + ei ^= xtime[xtime[ei]]; + } + } +} + +/** + * Generates a key schedule using the AES key expansion algorithm. + * + * The AES algorithm takes the Cipher Key, K, and performs a Key Expansion + * routine to generate a key schedule. The Key Expansion generates a total + * of Nb*(Nr + 1) words: the algorithm requires an initial set of Nb words, + * and each of the Nr rounds requires Nb words of key data. The resulting + * key schedule consists of a linear array of 4-byte words, denoted [wi ], + * with i in the range 0 ≤ i < Nb(Nr + 1). + * + * KeyExpansion(byte key[4*Nk], word w[Nb*(Nr+1)], Nk) + * AES-128 (Nb=4, Nk=4, Nr=10) + * AES-192 (Nb=4, Nk=6, Nr=12) + * AES-256 (Nb=4, Nk=8, Nr=14) + * Note: Nr=Nk+6. + * + * Nb is the number of columns (32-bit words) comprising the State (or + * number of bytes in a block). For AES, Nb=4. + * + * @param key the key to schedule (as an array of 32-bit words). + * @param decrypt true to modify the key schedule to decrypt, false not to. + * + * @return the generated key schedule. + */ +function _expandKey(key, decrypt) { + // copy the key's words to initialize the key schedule + var w = key.slice(0); + + /* RotWord() will rotate a word, moving the first byte to the last + byte's position (shifting the other bytes left). + + We will be getting the value of Rcon at i / Nk. 'i' will iterate + from Nk to (Nb * Nr+1). Nk = 4 (4 byte key), Nb = 4 (4 words in + a block), Nr = Nk + 6 (10). Therefore 'i' will iterate from + 4 to 44 (exclusive). Each time we iterate 4 times, i / Nk will + increase by 1. We use a counter iNk to keep track of this. + */ + + // go through the rounds expanding the key + var temp, iNk = 1; + var Nk = w.length; + var Nr1 = Nk + 6 + 1; + var end = Nb * Nr1; + for(var i = Nk; i < end; ++i) { + temp = w[i - 1]; + if(i % Nk === 0) { + // temp = SubWord(RotWord(temp)) ^ Rcon[i / Nk] + temp = + sbox[temp >>> 16 & 255] << 24 ^ + sbox[temp >>> 8 & 255] << 16 ^ + sbox[temp & 255] << 8 ^ + sbox[temp >>> 24] ^ (rcon[iNk] << 24); + iNk++; + } else if(Nk > 6 && (i % Nk === 4)) { + // temp = SubWord(temp) + temp = + sbox[temp >>> 24] << 24 ^ + sbox[temp >>> 16 & 255] << 16 ^ + sbox[temp >>> 8 & 255] << 8 ^ + sbox[temp & 255]; + } + w[i] = w[i - Nk] ^ temp; + } + + /* When we are updating a cipher block we always use the code path for + encryption whether we are decrypting or not (to shorten code and + simplify the generation of look up tables). However, because there + are differences in the decryption algorithm, other than just swapping + in different look up tables, we must transform our key schedule to + account for these changes: + + 1. The decryption algorithm gets its key rounds in reverse order. + 2. The decryption algorithm adds the round key before mixing columns + instead of afterwards. + + We don't need to modify our key schedule to handle the first case, + we can just traverse the key schedule in reverse order when decrypting. + + The second case requires a little work. + + The tables we built for performing rounds will take an input and then + perform SubBytes() and MixColumns() or, for the decrypt version, + InvSubBytes() and InvMixColumns(). But the decrypt algorithm requires + us to AddRoundKey() before InvMixColumns(). This means we'll need to + apply some transformations to the round key to inverse-mix its columns + so they'll be correct for moving AddRoundKey() to after the state has + had its columns inverse-mixed. + + To inverse-mix the columns of the state when we're decrypting we use a + lookup table that will apply InvSubBytes() and InvMixColumns() at the + same time. However, the round key's bytes are not inverse-substituted + in the decryption algorithm. To get around this problem, we can first + substitute the bytes in the round key so that when we apply the + transformation via the InvSubBytes()+InvMixColumns() table, it will + undo our substitution leaving us with the original value that we + want -- and then inverse-mix that value. + + This change will correctly alter our key schedule so that we can XOR + each round key with our already transformed decryption state. This + allows us to use the same code path as the encryption algorithm. + + We make one more change to the decryption key. Since the decryption + algorithm runs in reverse from the encryption algorithm, we reverse + the order of the round keys to avoid having to iterate over the key + schedule backwards when running the encryption algorithm later in + decryption mode. In addition to reversing the order of the round keys, + we also swap each round key's 2nd and 4th rows. See the comments + section where rounds are performed for more details about why this is + done. These changes are done inline with the other substitution + described above. + */ + if(decrypt) { + var tmp; + var m0 = imix[0]; + var m1 = imix[1]; + var m2 = imix[2]; + var m3 = imix[3]; + var wnew = w.slice(0); + end = w.length; + for(var i = 0, wi = end - Nb; i < end; i += Nb, wi -= Nb) { + // do not sub the first or last round key (round keys are Nb + // words) as no column mixing is performed before they are added, + // but do change the key order + if(i === 0 || i === (end - Nb)) { + wnew[i] = w[wi]; + wnew[i + 1] = w[wi + 3]; + wnew[i + 2] = w[wi + 2]; + wnew[i + 3] = w[wi + 1]; + } else { + // substitute each round key byte because the inverse-mix + // table will inverse-substitute it (effectively cancel the + // substitution because round key bytes aren't sub'd in + // decryption mode) and swap indexes 3 and 1 + for(var n = 0; n < Nb; ++n) { + tmp = w[wi + n]; + wnew[i + (3&-n)] = + m0[sbox[tmp >>> 24]] ^ + m1[sbox[tmp >>> 16 & 255]] ^ + m2[sbox[tmp >>> 8 & 255]] ^ + m3[sbox[tmp & 255]]; + } + } + } + w = wnew; + } + + return w; +} + +/** + * Updates a single block (16 bytes) using AES. The update will either + * encrypt or decrypt the block. + * + * @param w the key schedule. + * @param input the input block (an array of 32-bit words). + * @param output the updated output block. + * @param decrypt true to decrypt the block, false to encrypt it. + */ +function _updateBlock(w, input, output, decrypt) { + /* + Cipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)]) + begin + byte state[4,Nb] + state = in + AddRoundKey(state, w[0, Nb-1]) + for round = 1 step 1 to Nr–1 + SubBytes(state) + ShiftRows(state) + MixColumns(state) + AddRoundKey(state, w[round*Nb, (round+1)*Nb-1]) + end for + SubBytes(state) + ShiftRows(state) + AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1]) + out = state + end + + InvCipher(byte in[4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)]) + begin + byte state[4,Nb] + state = in + AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1]) + for round = Nr-1 step -1 downto 1 + InvShiftRows(state) + InvSubBytes(state) + AddRoundKey(state, w[round*Nb, (round+1)*Nb-1]) + InvMixColumns(state) + end for + InvShiftRows(state) + InvSubBytes(state) + AddRoundKey(state, w[0, Nb-1]) + out = state + end + */ + + // Encrypt: AddRoundKey(state, w[0, Nb-1]) + // Decrypt: AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1]) + var Nr = w.length / 4 - 1; + var m0, m1, m2, m3, sub; + if(decrypt) { + m0 = imix[0]; + m1 = imix[1]; + m2 = imix[2]; + m3 = imix[3]; + sub = isbox; + } else { + m0 = mix[0]; + m1 = mix[1]; + m2 = mix[2]; + m3 = mix[3]; + sub = sbox; + } + var a, b, c, d, a2, b2, c2; + a = input[0] ^ w[0]; + b = input[decrypt ? 3 : 1] ^ w[1]; + c = input[2] ^ w[2]; + d = input[decrypt ? 1 : 3] ^ w[3]; + var i = 3; + + /* In order to share code we follow the encryption algorithm when both + encrypting and decrypting. To account for the changes required in the + decryption algorithm, we use different lookup tables when decrypting + and use a modified key schedule to account for the difference in the + order of transformations applied when performing rounds. We also get + key rounds in reverse order (relative to encryption). */ + for(var round = 1; round < Nr; ++round) { + /* As described above, we'll be using table lookups to perform the + column mixing. Each column is stored as a word in the state (the + array 'input' has one column as a word at each index). In order to + mix a column, we perform these transformations on each row in c, + which is 1 byte in each word. The new column for c0 is c'0: + + m0 m1 m2 m3 + r0,c'0 = 2*r0,c0 + 3*r1,c0 + 1*r2,c0 + 1*r3,c0 + r1,c'0 = 1*r0,c0 + 2*r1,c0 + 3*r2,c0 + 1*r3,c0 + r2,c'0 = 1*r0,c0 + 1*r1,c0 + 2*r2,c0 + 3*r3,c0 + r3,c'0 = 3*r0,c0 + 1*r1,c0 + 1*r2,c0 + 2*r3,c0 + + So using mix tables where c0 is a word with r0 being its upper + 8 bits and r3 being its lower 8 bits: + + m0[c0 >> 24] will yield this word: [2*r0,1*r0,1*r0,3*r0] + ... + m3[c0 & 255] will yield this word: [1*r3,1*r3,3*r3,2*r3] + + Therefore to mix the columns in each word in the state we + do the following (& 255 omitted for brevity): + c'0,r0 = m0[c0 >> 24] ^ m1[c1 >> 16] ^ m2[c2 >> 8] ^ m3[c3] + c'0,r1 = m0[c0 >> 24] ^ m1[c1 >> 16] ^ m2[c2 >> 8] ^ m3[c3] + c'0,r2 = m0[c0 >> 24] ^ m1[c1 >> 16] ^ m2[c2 >> 8] ^ m3[c3] + c'0,r3 = m0[c0 >> 24] ^ m1[c1 >> 16] ^ m2[c2 >> 8] ^ m3[c3] + + However, before mixing, the algorithm requires us to perform + ShiftRows(). The ShiftRows() transformation cyclically shifts the + last 3 rows of the state over different offsets. The first row + (r = 0) is not shifted. + + s'_r,c = s_r,(c + shift(r, Nb) mod Nb + for 0 < r < 4 and 0 <= c < Nb and + shift(1, 4) = 1 + shift(2, 4) = 2 + shift(3, 4) = 3. + + This causes the first byte in r = 1 to be moved to the end of + the row, the first 2 bytes in r = 2 to be moved to the end of + the row, the first 3 bytes in r = 3 to be moved to the end of + the row: + + r1: [c0 c1 c2 c3] => [c1 c2 c3 c0] + r2: [c0 c1 c2 c3] [c2 c3 c0 c1] + r3: [c0 c1 c2 c3] [c3 c0 c1 c2] + + We can make these substitutions inline with our column mixing to + generate an updated set of equations to produce each word in the + state (note the columns have changed positions): + + c0 c1 c2 c3 => c0 c1 c2 c3 + c0 c1 c2 c3 c1 c2 c3 c0 (cycled 1 byte) + c0 c1 c2 c3 c2 c3 c0 c1 (cycled 2 bytes) + c0 c1 c2 c3 c3 c0 c1 c2 (cycled 3 bytes) + + Therefore: + + c'0 = 2*r0,c0 + 3*r1,c1 + 1*r2,c2 + 1*r3,c3 + c'0 = 1*r0,c0 + 2*r1,c1 + 3*r2,c2 + 1*r3,c3 + c'0 = 1*r0,c0 + 1*r1,c1 + 2*r2,c2 + 3*r3,c3 + c'0 = 3*r0,c0 + 1*r1,c1 + 1*r2,c2 + 2*r3,c3 + + c'1 = 2*r0,c1 + 3*r1,c2 + 1*r2,c3 + 1*r3,c0 + c'1 = 1*r0,c1 + 2*r1,c2 + 3*r2,c3 + 1*r3,c0 + c'1 = 1*r0,c1 + 1*r1,c2 + 2*r2,c3 + 3*r3,c0 + c'1 = 3*r0,c1 + 1*r1,c2 + 1*r2,c3 + 2*r3,c0 + + ... and so forth for c'2 and c'3. The important distinction is + that the columns are cycling, with c0 being used with the m0 + map when calculating c0, but c1 being used with the m0 map when + calculating c1 ... and so forth. + + When performing the inverse we transform the mirror image and + skip the bottom row, instead of the top one, and move upwards: + + c3 c2 c1 c0 => c0 c3 c2 c1 (cycled 3 bytes) *same as encryption + c3 c2 c1 c0 c1 c0 c3 c2 (cycled 2 bytes) + c3 c2 c1 c0 c2 c1 c0 c3 (cycled 1 byte) *same as encryption + c3 c2 c1 c0 c3 c2 c1 c0 + + If you compare the resulting matrices for ShiftRows()+MixColumns() + and for InvShiftRows()+InvMixColumns() the 2nd and 4th columns are + different (in encrypt mode vs. decrypt mode). So in order to use + the same code to handle both encryption and decryption, we will + need to do some mapping. + + If in encryption mode we let a=c0, b=c1, c=c2, d=c3, and r be + a row number in the state, then the resulting matrix in encryption + mode for applying the above transformations would be: + + r1: a b c d + r2: b c d a + r3: c d a b + r4: d a b c + + If we did the same in decryption mode we would get: + + r1: a d c b + r2: b a d c + r3: c b a d + r4: d c b a + + If instead we swap d and b (set b=c3 and d=c1), then we get: + + r1: a b c d + r2: d a b c + r3: c d a b + r4: b c d a + + Now the 1st and 3rd rows are the same as the encryption matrix. All + we need to do then to make the mapping exactly the same is to swap + the 2nd and 4th rows when in decryption mode. To do this without + having to do it on each iteration, we swapped the 2nd and 4th rows + in the decryption key schedule. We also have to do the swap above + when we first pull in the input and when we set the final output. */ + a2 = + m0[a >>> 24] ^ + m1[b >>> 16 & 255] ^ + m2[c >>> 8 & 255] ^ + m3[d & 255] ^ w[++i]; + b2 = + m0[b >>> 24] ^ + m1[c >>> 16 & 255] ^ + m2[d >>> 8 & 255] ^ + m3[a & 255] ^ w[++i]; + c2 = + m0[c >>> 24] ^ + m1[d >>> 16 & 255] ^ + m2[a >>> 8 & 255] ^ + m3[b & 255] ^ w[++i]; + d = + m0[d >>> 24] ^ + m1[a >>> 16 & 255] ^ + m2[b >>> 8 & 255] ^ + m3[c & 255] ^ w[++i]; + a = a2; + b = b2; + c = c2; + } + + /* + Encrypt: + SubBytes(state) + ShiftRows(state) + AddRoundKey(state, w[Nr*Nb, (Nr+1)*Nb-1]) + + Decrypt: + InvShiftRows(state) + InvSubBytes(state) + AddRoundKey(state, w[0, Nb-1]) + */ + // Note: rows are shifted inline + output[0] = + (sub[a >>> 24] << 24) ^ + (sub[b >>> 16 & 255] << 16) ^ + (sub[c >>> 8 & 255] << 8) ^ + (sub[d & 255]) ^ w[++i]; + output[decrypt ? 3 : 1] = + (sub[b >>> 24] << 24) ^ + (sub[c >>> 16 & 255] << 16) ^ + (sub[d >>> 8 & 255] << 8) ^ + (sub[a & 255]) ^ w[++i]; + output[2] = + (sub[c >>> 24] << 24) ^ + (sub[d >>> 16 & 255] << 16) ^ + (sub[a >>> 8 & 255] << 8) ^ + (sub[b & 255]) ^ w[++i]; + output[decrypt ? 1 : 3] = + (sub[d >>> 24] << 24) ^ + (sub[a >>> 16 & 255] << 16) ^ + (sub[b >>> 8 & 255] << 8) ^ + (sub[c & 255]) ^ w[++i]; +} + +} // end module implementation + +/* ########## Begin module wrapper ########## */ +var name = 'aes'; +if(typeof define !== 'function') { + // NodeJS -> AMD + if(typeof module === 'object' && module.exports) { + var nodeJS = true; + define = function(ids, factory) { + factory(require, module); + }; + } else { + // "; + var nW = globalObject.open(); + if (nW !== null) { + nW.document.write(htmlForNewWindow); + } + return nW; + } else { + throw new Error("The option pdfobjectnewwindow just works in a browser-environment."); + } + case "pdfjsnewwindow": + if (Object.prototype.toString.call(globalObject) === "[object Window]") { + var pdfJsUrl = options.pdfJsUrl || "examples/PDF.js/web/viewer.html"; + var htmlForPDFjsNewWindow = "" + "" + '' + ""; + var dataURLNewWindow = globalObject.open(); + if (dataURLNewWindow !== null) { + dataURLNewWindow.document.write(htmlForDataURLNewWindow); + dataURLNewWindow.document.title = options.filename; + } + if (dataURLNewWindow || typeof safari === "undefined") return dataURLNewWindow; + } else { + throw new Error("The option dataurlnewwindow just works in a browser-environment."); + } + break; + case "datauri": + case "dataurl": + return globalObject.document.location.href = this.output("datauristring", options); + default: + return null; + } + }); + + /** + * Used to see if a supplied hotfix was requested when the pdf instance was created. + * @param {string} hotfixName - The name of the hotfix to check. + * @returns {boolean} + */ + var hasHotfix = function hasHotfix(hotfixName) { + return Array.isArray(hotfixes) === true && hotfixes.indexOf(hotfixName) > -1; + }; + switch (unit) { + case "pt": + scaleFactor = 1; + break; + case "mm": + scaleFactor = 72 / 25.4; + break; + case "cm": + scaleFactor = 72 / 2.54; + break; + case "in": + scaleFactor = 72; + break; + case "px": + if (hasHotfix("px_scaling") == true) { + scaleFactor = 72 / 96; + } else { + scaleFactor = 96 / 72; + } + break; + case "pc": + scaleFactor = 12; + break; + case "em": + scaleFactor = 12; + break; + case "ex": + scaleFactor = 6; + break; + default: + if (typeof unit === "number") { + scaleFactor = unit; + } else { + throw new Error("Invalid unit: " + unit); + } + } + var encryption = null; + setCreationDate(); + setFileId(); + var getEncryptor = function getEncryptor(objectId) { + if (encryptionOptions !== null) { + return encryption.encryptor(objectId, 0); + } + return function (data) { + return data; + }; + }; + + //--------------------------------------- + // Public API + + var getPageInfo = API.__private__.getPageInfo = API.getPageInfo = function (pageNumberOneBased) { + if (isNaN(pageNumberOneBased) || pageNumberOneBased % 1 !== 0) { + throw new Error("Invalid argument passed to jsPDF.getPageInfo"); + } + var objId = pagesContext[pageNumberOneBased].objId; + return { + objId: objId, + pageNumber: pageNumberOneBased, + pageContext: pagesContext[pageNumberOneBased] + }; + }; + var getPageInfoByObjId = API.__private__.getPageInfoByObjId = function (objId) { + if (isNaN(objId) || objId % 1 !== 0) { + throw new Error("Invalid argument passed to jsPDF.getPageInfoByObjId"); + } + for (var pageNumber in pagesContext) { + if (pagesContext[pageNumber].objId === objId) { + break; + } + } + return getPageInfo(pageNumber); + }; + var getCurrentPageInfo = API.__private__.getCurrentPageInfo = API.getCurrentPageInfo = function () { + return { + objId: pagesContext[currentPage].objId, + pageNumber: currentPage, + pageContext: pagesContext[currentPage] + }; + }; + + /** + * Adds (and transfers the focus to) new page to the PDF document. + * @param format {String/Array} The format of the new page. Can be: